diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000000..e69de29bb2 diff --git a/404.html b/404.html new file mode 100644 index 0000000000..338a3ed0b0 --- /dev/null +++ b/404.html @@ -0,0 +1,40 @@ + + + + + + + + + + Zotero 中文小组 + + + + + +
跳至主要內容

404

页面不存在

这里什么也没有

+ + + diff --git a/about.html b/about.html new file mode 100644 index 0000000000..fd5a171bbc --- /dev/null +++ b/about.html @@ -0,0 +1,40 @@ + + + + + + + + + + 关于 Zotero 中文小组 | Zotero 中文小组 + + + + + +
跳至主要內容

关于 Zotero 中文小组

Zotero Chinese小于 1 分钟

关于 Zotero 中文小组

提示

待办,关于页面

+ + + diff --git a/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5-BwMCrbwO.png b/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5-BwMCrbwO.png new file mode 100644 index 0000000000..48090a7b5f Binary files /dev/null and b/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5-BwMCrbwO.png differ diff --git a/assets/15e71e5849e591f2252b7e706e8d6707_MD5-fMY57taO.png b/assets/15e71e5849e591f2252b7e706e8d6707_MD5-fMY57taO.png new file mode 100644 index 0000000000..d98a6bfd01 Binary files /dev/null and b/assets/15e71e5849e591f2252b7e706e8d6707_MD5-fMY57taO.png differ diff --git a/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5-CJl7LuXP.png b/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5-CJl7LuXP.png new file mode 100644 index 0000000000..c0681d9874 Binary files /dev/null and b/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5-CJl7LuXP.png differ diff --git a/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5-D5UsfjjK.png b/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5-D5UsfjjK.png new file mode 100644 index 0000000000..e4a485f1fd Binary files /dev/null and b/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5-D5UsfjjK.png differ diff --git a/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5-BbXBRpZV.png b/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5-BbXBRpZV.png new file mode 100644 index 0000000000..3743d55175 Binary files /dev/null and b/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5-BbXBRpZV.png differ diff --git a/assets/28f02608aa879ed189ecfecfcab57d16_MD5-D2dcb1pG.png b/assets/28f02608aa879ed189ecfecfcab57d16_MD5-D2dcb1pG.png new file mode 100644 index 0000000000..7bc52dcea4 Binary files /dev/null and b/assets/28f02608aa879ed189ecfecfcab57d16_MD5-D2dcb1pG.png differ diff --git a/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5-CGKmv4OP.png b/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5-CGKmv4OP.png new file mode 100644 index 0000000000..5bdeae8d3b Binary files /dev/null and b/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5-CGKmv4OP.png differ diff --git a/assets/404.html-CWQLRUMV.js b/assets/404.html-CWQLRUMV.js new file mode 100644 index 0000000000..9803114d06 --- /dev/null +++ b/assets/404.html-CWQLRUMV.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,a as n}from"./app-pLjDz5vt.js";const r={},a=n("p",null,"404 Not Found",-1),c=[a];function p(s,i){return e(),o("div",null,c)}const d=t(r,[["render",p],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/404.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"autoDesc":true,"excerpt":"

404 Not Found

\\n"}');export{d as comp,h as data}; diff --git a/assets/46510f422020d39fa7a495030129abe3_MD5-sPrT8zU_.png b/assets/46510f422020d39fa7a495030129abe3_MD5-sPrT8zU_.png new file mode 100644 index 0000000000..594078adb4 Binary files /dev/null and b/assets/46510f422020d39fa7a495030129abe3_MD5-sPrT8zU_.png differ diff --git a/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5-Bpb4O9qI.png b/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5-Bpb4O9qI.png new file mode 100644 index 0000000000..8a6634317d Binary files /dev/null and b/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5-Bpb4O9qI.png differ diff --git a/assets/4de80b5cd85863024d63689cdf806721_MD5-DRZumBm0.png b/assets/4de80b5cd85863024d63689cdf806721_MD5-DRZumBm0.png new file mode 100644 index 0000000000..1c337fabf9 Binary files /dev/null and b/assets/4de80b5cd85863024d63689cdf806721_MD5-DRZumBm0.png differ diff --git a/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5-DOxwKSaW.png b/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5-DOxwKSaW.png new file mode 100644 index 0000000000..4afb8516f7 Binary files /dev/null and b/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5-DOxwKSaW.png differ diff --git a/assets/56bb224283b259e7ad53bba8c4074d12_MD5-BuPUmLY3.png b/assets/56bb224283b259e7ad53bba8c4074d12_MD5-BuPUmLY3.png new file mode 100644 index 0000000000..f3b80e9b6d Binary files /dev/null and b/assets/56bb224283b259e7ad53bba8c4074d12_MD5-BuPUmLY3.png differ diff --git a/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5-BJM-Cm8_.png b/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5-BJM-Cm8_.png new file mode 100644 index 0000000000..4629bf391d Binary files /dev/null and b/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5-BJM-Cm8_.png differ diff --git a/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5-D7QRkBkR.png b/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5-D7QRkBkR.png new file mode 100644 index 0000000000..6eb678b9d8 Binary files /dev/null and b/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5-D7QRkBkR.png differ diff --git a/assets/67c928f040091835a073775ea418ff4c_MD5-CcGuD3o3.png b/assets/67c928f040091835a073775ea418ff4c_MD5-CcGuD3o3.png new file mode 100644 index 0000000000..80d7fccdf4 Binary files /dev/null and b/assets/67c928f040091835a073775ea418ff4c_MD5-CcGuD3o3.png differ diff --git a/assets/6b8137561c99a0795bdcb48f57fab85e_MD5-fif3pbEu.png b/assets/6b8137561c99a0795bdcb48f57fab85e_MD5-fif3pbEu.png new file mode 100644 index 0000000000..cafdfc8ff5 Binary files /dev/null and b/assets/6b8137561c99a0795bdcb48f57fab85e_MD5-fif3pbEu.png differ diff --git a/assets/6dd98ac109ac059509e72720c885e733_MD5-Db0V9Slt.png b/assets/6dd98ac109ac059509e72720c885e733_MD5-Db0V9Slt.png new file mode 100644 index 0000000000..10c9cd07d1 Binary files /dev/null and b/assets/6dd98ac109ac059509e72720c885e733_MD5-Db0V9Slt.png differ diff --git a/assets/741b873973ac5df93faf93cd1a195db2_MD5-sTOtHUi5.png b/assets/741b873973ac5df93faf93cd1a195db2_MD5-sTOtHUi5.png new file mode 100644 index 0000000000..92c2d9a0f3 Binary files /dev/null and b/assets/741b873973ac5df93faf93cd1a195db2_MD5-sTOtHUi5.png differ diff --git a/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5-BMbSY3HM.png b/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5-BMbSY3HM.png new file mode 100644 index 0000000000..bf551ece54 Binary files /dev/null and b/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5-BMbSY3HM.png differ diff --git a/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5-BfPPi1bZ.png b/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5-BfPPi1bZ.png new file mode 100644 index 0000000000..68b5c256b1 Binary files /dev/null and b/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5-BfPPi1bZ.png differ diff --git a/assets/80cebc82ab653f229fecd246e695ed10_MD5-DLRVngz2.png b/assets/80cebc82ab653f229fecd246e695ed10_MD5-DLRVngz2.png new file mode 100644 index 0000000000..25f7434813 Binary files /dev/null and b/assets/80cebc82ab653f229fecd246e695ed10_MD5-DLRVngz2.png differ diff --git a/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5-BPGpBZk6.png b/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5-BPGpBZk6.png new file mode 100644 index 0000000000..45aa66d27d Binary files /dev/null and b/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5-BPGpBZk6.png differ diff --git a/assets/83ee28582510c7573aceb4284b3c4ac0_MD5-CHpS4E2B.png b/assets/83ee28582510c7573aceb4284b3c4ac0_MD5-CHpS4E2B.png new file mode 100644 index 0000000000..1a1c5d54db Binary files /dev/null and b/assets/83ee28582510c7573aceb4284b3c4ac0_MD5-CHpS4E2B.png differ diff --git a/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5-D7nTAd2O.png b/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5-D7nTAd2O.png new file mode 100644 index 0000000000..9a62f2cada Binary files /dev/null and b/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5-D7nTAd2O.png differ diff --git a/assets/8addbd81b3d85f5501f1a58020ab3191_MD5-D6SjiJf7.png b/assets/8addbd81b3d85f5501f1a58020ab3191_MD5-D6SjiJf7.png new file mode 100644 index 0000000000..c7ec08fe72 Binary files /dev/null and b/assets/8addbd81b3d85f5501f1a58020ab3191_MD5-D6SjiJf7.png differ diff --git a/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5-BCvUkLC5.png b/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5-BCvUkLC5.png new file mode 100644 index 0000000000..62f6bb1029 Binary files /dev/null and b/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5-BCvUkLC5.png differ diff --git "a/assets/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.html-v4V8p5CC.js" "b/assets/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.html-v4V8p5CC.js" new file mode 100644 index 0000000000..8ffc017836 --- /dev/null +++ "b/assets/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.html-v4V8p5CC.js" @@ -0,0 +1 @@ +import{_ as t,a as r}from"./image-zotero-我同意承担风险-Uja8OZxC.js";import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as E,o as n,c as l,a as A,b as e,d as m,e as o}from"./app-pLjDz5vt.js";const c="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAcKCwoLCg8ODAwODxYQERAREBYiFRkVFRkVIh4kHhweJB42KiYmKjY+NDI0PkxERExfWl98fKcBBgYGBgcGBwgIBwoLCgsKDw4MDA4PFhAREBEQFiIVGRUVGRUiHiQeHB4kHjYqJiYqNj40MjQ+TERETF9aX3x8p//CABEIALwAqgMBIQACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAABQcDBAYCAQj/2gAIAQEAAAAA/ToAAA+AAADd8cjnhtjuwAMcLA955qngpmUugADxWFP/AKu8ewAA8evGwhNmSAAEDvSCnrg+gAClu/lwAADPuOWlJUAAc1M45CqLXAACoJayQAAAcVPywAA4KLszLWdl/QADzXkHcLBnMWjJgA+fT8nWF1XUw0RZgAY6u6+a3OF7jjO01+L70AHKVBfu6AAA8xMwAABXM956oAADgOw2M4AAAAAAx09IWqAAAhK9t0AABo7WQAABSdx//8QAGQEBAQEBAQEAAAAAAAAAAAAAAAECAwQF/9oACAECEAAAAAAAAZ0AzrPTIHm9IAABKALQBcADWFAbxKAJQHh9wBn5/wBFQEFAIoFQAz25gGrgAmoAABJoAk0AJQBz/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT/2gAIAQMQAAAAAAAAABWwGmYAABWQBy7ACu8SAz0AGWoAiQB08wA6uUAAAImJBNLAEU0AML6ACtgAAF6AAAFLgC//xAA/EAABAgMGAggEAwUJAQAAAAABAgMEBREAEhMhMTIGIhRAUVKSk9HSBxAVQTBhYhYzQnOyIyRQZHJ1grPBwv/aAAgBAQABPwDq2HFdxrxn22w4q6lQSyQdCFn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+22HFdxrxn22w4ruNeM+2wREnRLJ/5n22w4ruNeM+22HFdxrxn2/JkjokOP0C3EXFUJIoqWsOw0U4Yx8N1aYfdABCjUFtCwpXLssqM4uxlYUmlRZv8AKVzB5KyntKejG0bx4iHmsXCtyWMiIVhDl6NbWw21isZvIq+tsHDGpBtJOL4qaxohzw7MGAQHUPKWxcMOvY6QXAsV+4AJH4ze1X8xf9ZtN5wiWsoAaU/FvEphYRGS3lf/ACkVqtRySLHiWagkOcIzq+N2Ethbdf0KL6Kj5MEdEhx+gW+IMtdiY/h196JiUQzMbRCYUqS9iKacJWLmZICQEAWRIJfHRiMCVydyZtSuKi4mDTCQy8N3HaWiFeSEbyiqO9aeTSUOxjjcZxWiHWxD9KgIDFhYVtooGUM+0+25ddGRBXbgybShc2RCSfi9EQw4AtULELhSVuLTfUlhllLRQUak7fxm9q/5i/6zb4hQ8oxuHImYwsuW0mYOBao4pQxTorpSl1a0kJSV2iZPJHol91ET8PWkLcUpLYmDfIPItjNdj3kuelkPsoShF16iQkCrLnpbFa7HvJc9LYrXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LYzXY95LnpbGa7HvJc9LJeYAAAe3E0wnP4jXstjs0r/AGtP5LnpbpTHde8pfp8+I59B8PSWNmcVeKGE1CE7nFqNEto/Mk2k78xiJbCPx8IiGiXGgt1hKr4bUr+GtBUj79Rl09YmMoXM4dh9TaS8A1dBdUWFKQQACaklOVoSN6TCQ8RhuM4rSF4TrZS4i8K3Vj7KGh+bXDXF0VxVCwk3e6bI5fFOR0LFLKcR5wijTLiRTZb7dRkE/kX7EzGWfVoLp12ajouOjGriunZutwxX9mpH/t0N/wBYsmYMKCKIiOYClWHBuu61TlvGumddDZMwYUEUREcwFKsODdd1qnLeNdM66GyZgwoJoiI5gKVYcG67rVOW8a6Z10NkzBhQTRMRzAUqw4N13Wqct410zrobJmDCgiiIjmApVhwbrutU5bxrpnXQ2TMGFBFERHMBSrDg3Xdapy3jXTOuhsmYMKCKIiOYClWHBuu61TlvGumddDZMwYUEUREcwFKsODdd1qnLeNdM66GyZgwoIoiI5gKVYcG67rVOW8a6Z10NkzBhQRRERzAUqw4N13Wqct410zrobJmDCgiiIjmApVhwbrutU5bxrpnXQ2TMGFBFERHMBSrDg3Xdapy3jXTOuhsmYMKCKIiOYClWHBuu61TlvGumddDZMwYUEUREcwFKsODdd1qnLeNdM66GyZgwoIoiI5gKVYcG67rVOW8a6Z10NkzBhQRRERzAUqw4N13Wqct410zrobJmDCgiiIjmApVhwbrutU5bxrpnXQ2TMGFBFERHMBSrDg3Xdapy3jXTOuhsmYMKCKIiOYClWHBuu61TlvGumddDZMwYUEUREcwFKsODdd1qnLeNdM66GyY9lQQAmI5qUqw4N13Wqct410z7DZpxDjaFhK6KSCLyVJOfaDmD8+LOIUcPyV6MwsZ9S0tQjA1efdNENi0nTMxLoX6mtpUYWwXy0kpQFnMhIJOQ6jJZ81M5MZm8hMM2HHwu84ClIYcU2VFRAoOWtkPNOIS4hwKSoBSVBVQQdCLSuO+oy6GjOiRUNjJvBmJRhOo/JSamh+UBwLNIfiph9+ZdIkkG67FwEK6pTjrUS8KEErrVCMyiw6jJHCvhKOkC4OYtR7wmLaA5AxKW6vOOFJxSi5Qg2k/FMOxKZcy/Kp2h5uFaQ4j6bFG6pKACKhPVTS1fnxhxKuVyQOy64/HRj4hJegUUlUQskCv5IpU2lENGQkuhWIyMXFRCGwHn1AAuL+5oAABXQdRl814lnjAmctMvYgVKPRmn2lrciW0ki+XELAaC/sLqrR3Gcxh42KYS2yQ28tAJSrRJp3rMqcU02pxFxZSCpNa0P3Ffv8pZ8OoSW8VGcMRixBpxXYaXXKNsRD4CHHUHqK0BaSk6EUNpEjiGQQDElMlcjEw1WYWMbeZQypmvJjBagtKgN91CrTHhaePzCMebh+Rx9xaedGilE/PGZxsHETiXb2HUXruladlu35vPNNNuPPOpQhIKlrUQEpA1JJ0FpZPJLNUumXzSDiw3S+GHku0vaVuE06j8aY+aQHG7L8siYhmK+iMpbWwohecTb4bzf4tRuH+0MqYEGR+/f/u0T4EW4m4wZEkcEhiWYmYRUb9OhbhvBESclFXZhjM2kMr+lSmDgTEvRC2kUcfdWVrcWc1KUT2m3GBw2JZEPtlyBYjUuxiCKpuJQq4pf6UOXVE2RHqmHEMmDOG5FMrLjzrTakBEK4yq825Un+O7TtI/EdTebWEkpJSQFJpUfmK5WgZ/O4xEtkvSQJw1HuNTB9KEZMQhBU9dIoMZJT4rPcRJbdcbMsmKrqiLyWTQ0OoztL+n9BhfqGD0vBRj4FcPFpzYd/O5XSufyVw7HH4hI4hvs9FEkMFcqcTExsSulLvyRwPJEcWniVKXRF4RTh1GFfIuF27TfTL5RDKH2HWVpBS4gpUDoQoUtwTwq7w6xHIdwqvP1QEOOvENpySFLdzP4sFI3mOKpxNzg3IuDhWU0/eXmC5eJy0IULRXw24/ciX1icsuXnFG+ZhHNlVTqUoyFoSJU66UroABXLqtRaB/fH/T/wCjqnD0fEucCRkVEPvuOJExq5ikOUbecAos1oQBQG0gddekUpdDrxvwTCquuBxw1QDzqui8rtNpRCzBuZxbr8xxmFstpaYwkpwlJ3KvDNV/Wh06pLuFp7ByyJlX1mBXAvdLFOgrD4ESVr3493Ir7tpVAiAlcvgryV9GhWmb9yl7DSE1s2w22byU0NKan/CXG0OIUhaQpKgQpJFQQfsbSuBiXphD8IPNrMFJovpSlqzDsIDfg2qnWh/otF/EKDYin2fr3D6cN1SKKiDeF09VYlMOzOY6ZpW5jRLDLLgJFwJYKymgpWvOa2c+EsjLiy3O5sygk3WkutXUDuiqD1UxsGIwQfSmuklrEDF8YhRWl+7rSuVbUPVY11bfHLUxTTpA4iYloV/llwWKUeJVbFaqnO3/xAAwEQABAgQEAggHAQAAAAAAAAABAAIDESEwEhMxYRAyBCBAQnGSscEiQUNRUmKRsv/aAAgBAgEBPwDs7a+YpticIfUDeEMked3+U2xEgh5m2K5mw7M2qohLCFRUVFRUVFRUUEDHEOzPdZe6ENZe6y91l7rL3WXusvdZe6y90G4eA71lky53gEUOVlmAMTn1AoNbY+/BtnpscwRD3CK7rbDtF0+FHi5cgivxs1RUKkOv7eqGmJM5n9f4jytmihyf31XyDU3V3XaWso5s0RI2i0OUQSdagkZkWY7rPdRee02iJ7IVieAMR1raCAi6B0pbWwJ1tvJDIfgv/8QALxEAAQIEBAIJBQEAAAAAAAAAAQACAxEhMBITMWEEECAiQEFRgpGxwkJScXKSsv/aAAgBAwEBPwDs5+IR0sYD3CfKJ8G/6R0sNe1mrZ25TtudhVVXEqqqqqqqqqqq4vFJv7OWcPBZw8FnbLO2Wdss7ZZ2yztlnbLOHgor2ulTkQJ2XvDAPyR6cjrZisxADcn1tzt8NBzHRNkF9VnhIwhOiT70LkWrv59kdUdPLLp0BM38jV/p7I6onq+bpgkkkdVAzFouwqGZttR5yEvucoYk22BTsoh9Z0hO3KZJItvBtgDEV//Z",p="/assets/image-zotero-修改font.name-list.emoji-B8w8U35Q.png",s="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAcKCwoLCg8ODAwODxYQERAREBYiFRkVFRkVIh4kHhweJB42KiYmKjY+NDI0PkxERExfWl98fKcBBgYGBgcGBwgIBwoLCgsKDw4MDA4PFhAREBEQFiIVGRUVGRUiHiQeHB4kHjYqJiYqNj40MjQ+TERETF9aX3x8p//CABEIABwAigMBIQACEQEDEQH/xAAcAAACAwEBAQEAAAAAAAAAAAAAAQQFBgIDBwj/2gAIAQEAAAAA/RSBoYMEB55zHza+Vp6GX6zay07eD3TF84sIkqLvvKv44vos2FMBMF2hDQAH/8QAGQEAAgMBAAAAAAAAAAAAAAAAAAECAwQF/9oACAECEAAAAENDQLNnZzquodOvAlVDWoTIibf/xAAaAQABBQEAAAAAAAAAAAAAAAABAAIEBQYD/9oACAEDEAAAAIoJSahSaPrmDouFjm4mqmY6ba17YjmtXQEN/8QANBAAAQIEBQMDAgILAAAAAAAAAQIDAAQFEQYxQUNiEiEiEBMjFGEwUSBSU4GCk5ShwtLw/9oACAEBAAE/ADX6YDb3Hf5DvLjxg4hpY3Hddh3S/HjBxDSxuO67Lml+PGDiGljcd12XNL8eMHEFLG67rsuaX48YOIaUNx3XYd0vx4wcQ0objuuw7pfjxg4hpQ3Hddh3S/HjBxDShf5He17/AAO6X48YNfpgv8jva+w7pfjxg1+li/yO9r7Dml+PGDiCli/yO9r7Lml+PGDX6YL+bva97MOaX48YOIKYL+b3a+w7pfjxg4gpYv5vdr7Dul+PGDiCli93He19h3S/HjBr9MF/N7te9mHTlfjxg4ipQJHuvf07v+vpibFKKWgy8soKm1D+FsRh7EMvWJe4smYbHyt/5DjFYxDMszK2JUhPRYKXbuTqBeKJXnpx4S81YrI8FAZ20MOEIQpaiAkZkxhytP1qVenhLezKqdKZQk3U6lJt7hBAsCchE/PKZV7bZ8tTDDk6hll+Y6fbWqwvYK+xtqIdeaZbU44rpSMzElUzNJacLQbbeUQ0orB6unPtp6A+k3iKeZqDiE9PttuKR0WzsbXJz/RxVhNa1LqEiCpaz8rQ7kn9ZEYSwwKcETc2D9Sck/swYrdGnUTzzjTKnG3FFSegEkE5giMO0iaTMmZfbU2lFwkK7Eki2UYqpGKZmcdlpCYLlNqKEMzQUU3lkg+S28iQtNwRErLMyzLTLKAhtttKEJGQSnKOtcpMrdEul1tabLFrm32hX11SnUvPtlCEkdKSCAB9orsi5NSjyut1RRYoaTkTl31MUWhokEl53yfWB9/bH5Dl+Z/cItEh0e2voZcb8vLrFif7+jlPknJkTCpdsujJRH/d/wAAQPxf/8QAJBEAAQQBAwQDAQAAAAAAAAAAAQACAwQSBRARITFBUhMUUUL/2gAIAQIBAT8AxasR3JWI9lw39XyNXR3nshgOxWTf1Bo9lpsTrFlrFdhmrWpI3FAn2T5HDyuTwrFmeKtM9aRbknr5OKDnLk+y0eyK9rMrVLX2bUjwm7BWIhJBIxUqorQYobckHomdeUNgv6K5JQ2//8QAJxEAAQMDAwMEAwAAAAAAAAAAAgABAwQFERQhMQYyQRATQlFScYH/2gAIAQMBAT8A1cP2tWHDeFqo3b9rUxeXTVcD/NauD75Wqid1qIm5Wrh/JTyvFGRLpOgC6zsz+O5X+1jb64ovvhVZYDZW+KeWUAwqm3BBWQRZ5VzpYqepYGV7tkNLSUMg8mv4qyJzhwuh6obdNmXb3F1NXBV3EjF8iIYR8rp6b2bg08vDGrrcdTcXnbhuxVdRqqgDdVNZPUhEJP2ejtlkRkLth8IZDObBOi5XEbuyDcRT7Psj2c8en//Z",h={},d=o('

Emoji 变成黑白该怎么办

近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。

emoji变成黑白
emoji变成黑白

该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二

一、安装 seguiemj 字体

',5),B={href:"https://chikit.lanzoul.com/is3U51q0deyj",target:"_blank",rel:"noopener noreferrer"},g=A("li",null,[A("p",null,[e("将下载的字体文件(seguiemj.ttf)复制到"),A("code",null,"C:\\Windows\\Fonts"),e(",即可安装完成")])],-1),Q=A("li",null,[A("p",null,"重启 Zotero 即可完成修复。")],-1),u=o('

二、通过修改 Zotero 设置 来解决

具体操作步骤如下:

  1. 在菜单编辑选择“设置”:
    编辑器
  2. 弹出如下图所示的对话框。
    点击“I accept the risk”
    同意承担风险
  3. 在搜索框中输入 emoji,双击搜索到的 font.name-list.emoji,由 Segoe UI Emoji, Twemoji Mozilla 修改为 EmojiOne Mozilla
    修改为"EmojiOne Mozilla"
  4. 然后重新启动 Zotero,Emoji 成功变回彩色,问题解决
    emoji由黑白变成彩色
',3);function w(j,F){const i=E("ExternalLinkIcon");return n(),l("div",null,[d,A("ol",null,[A("li",null,[A("p",null,[e("首先在网盘中下载字体文件:"),A("a",B,[e("https://chikit.lanzoul.com/is3U51q0deyj"),m(i)])])]),g,Q]),u])}const U=a(h,[["render",w],["__file","Emoji变成了黑白该如何解决.html.vue"]]),Y=JSON.parse('{"path":"/user-guide/faqs/Emoji%E5%8F%98%E6%88%90%E4%BA%86%E9%BB%91%E7%99%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3.html","title":"Emoji 变成黑白该如何解决","lang":"zh-CN","frontmatter":{"title":"Emoji 变成黑白该如何解决","date":"2023-10-24T11:07:47.000Z","updated":"2023-10-24T11:07:54.000Z","description":"Emoji 变成黑白该怎么办 近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。 emoji变成黑白emoji变成黑白 该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二 一、安装 seguiemj 字体 首先在网盘中下载字体文...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/Emoji%E5%8F%98%E6%88%90%E4%BA%86%E9%BB%91%E7%99%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Emoji 变成黑白该如何解决"}],["meta",{"property":"og:description","content":"Emoji 变成黑白该怎么办 近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。 emoji变成黑白emoji变成黑白 该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二 一、安装 seguiemj 字体 首先在网盘中下载字体文..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-03-02T08:14:49.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-10-24T11:07:47.000Z"}],["meta",{"property":"article:modified_time","content":"2024-03-02T08:14:49.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Emoji 变成黑白该如何解决\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-10-24T11:07:47.000Z\\",\\"dateModified\\":\\"2024-03-02T08:14:49.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"一、安装 seguiemj 字体","slug":"一、安装-seguiemj-字体","link":"#一、安装-seguiemj-字体","children":[]},{"level":2,"title":"二、通过修改 Zotero 设置 来解决","slug":"二、通过修改-zotero-设置-来解决","link":"#二、通过修改-zotero-设置-来解决","children":[]}],"git":{"createdTime":1698138294000,"updatedTime":1709367289000,"contributors":[{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":2},{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.12,"words":336},"filePathRelative":"user-guide/faqs/Emoji变成了黑白该如何解决.md","localizedDate":"2023年10月24日","autoDesc":true,"excerpt":"\\n

近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。

\\n
emoji变成黑白
\\n

该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二

\\n

一、安装 seguiemj 字体

\\n
    \\n
  1. \\n

    首先在网盘中下载字体文件:https://chikit.lanzoul.com/is3U51q0deyj

    \\n
  2. \\n
  3. \\n

    将下载的字体文件(seguiemj.ttf)复制到C:\\\\Windows\\\\Fonts,即可安装完成

    \\n
  4. \\n
  5. \\n

    重启 Zotero 即可完成修复。

    \\n
  6. \\n
"}');export{U as comp,Y as data}; diff --git a/assets/SearchResult-1DF2kUAh.js b/assets/SearchResult-1DF2kUAh.js new file mode 100644 index 0000000000..d1e3e0c706 --- /dev/null +++ b/assets/SearchResult-1DF2kUAh.js @@ -0,0 +1 @@ +import{u as j,f as $,g as ee,h as I,i as te,j as le,t as se,k as ue,l as C,m as Q,n as re,p as U,q as l,s as _,v as T,R as O,x as ie,y as ae,z as ne,A as oe,O as de,P as ce,B as ve,C as he,D as ge,E as pe,F as me,G as ye,H as fe,I as D}from"./app-pLjDz5vt.js";const Ee=["/","/about.html","/code_of_conduct.html","/contributors.html","/contributing/build.html","/contributing/contributing.html","/contributing/markdown.html","/contributing/vscode-dev.html","/csl-dev-guide/","/csl-dev-guide/glossary.html","/csl-dev-guide/primer.html","/csl-dev-guide/specification.html","/csl-dev-guide/translating-locale-files.html","/csl-dev-guide/xml-basic.html","/plugin-dev-guide/","/user-guide/","/user-guide/add-attachments.html","/user-guide/add-items.html","/user-guide/backup.html","/user-guide/citation-styles.html","/user-guide/create-bibliographies-via-zbib.html","/user-guide/create-bibliographies-within-zotero.html","/user-guide/edit-items.html","/user-guide/feed.html","/user-guide/group.html","/user-guide/import-from-other-software.html","/user-guide/install.html","/user-guide/mobile.html","/user-guide/ms-word-plugin.html","/user-guide/organize-library.html","/user-guide/quick-start.html","/user-guide/sync.html","/user-guide/take-notes.html","/user-guide/why-use-zotero.html","/user-guide/wps-plugin.html","/plugin-dev-guide/development/debug.html","/plugin-dev-guide/development/sideloading.html","/plugin-dev-guide/quick-start/","/plugin-dev-guide/reference/","/plugin-dev-guide/reference/bootstrap.html","/plugin-dev-guide/reference/item.html","/plugin-dev-guide/reference/localization.html","/plugin-dev-guide/reference/manifest.html","/plugin-dev-guide/reference/more.html","/plugin-dev-guide/reference/notify.html","/plugin-dev-guide/reference/preference.html","/plugin-dev-guide/reference/update.html","/plugin-dev-guide/reference/zotero.html","/plugin-dev-guide/use-template/","/user-guide/faqs/Emoji%E5%8F%98%E6%88%90%E4%BA%86%E9%BB%91%E7%99%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3.html","/user-guide/faqs/","/user-guide/faqs/plugins.html","/user-guide/faqs/update-translators.html","/user-guide/faqs/word-addon.html","/user-guide/faqs/%E2%80%9C%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E6%A0%B7%E5%BC%8F%E2%80%9D%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E.html","/user-guide/faqs/%E8%A7%A3%E5%86%B3pdf%E5%9B%BE%E7%89%87%E4%B8%8A%E7%9A%84%E9%BB%91%E8%89%B2%E9%81%AE%E6%8C%A1.html","/user-guide/misc/","/user-guide/misc/link-citation-to-bibliography.html","/user-guide/misc/preference.html","/user-guide/misc/wps-plugin-vba.html","/user-guide/plugins/","/user-guide/plugins/Zotero-scihub.html","/user-guide/plugins/about-plugin.html","/user-guide/plugins/better-notes.html","/user-guide/plugins/easier-citation.html","/user-guide/plugins/jasminum.html","/user-guide/plugins/linter.html","/user-guide/plugins/magic.html","/user-guide/plugins/style.html","/user-guide/plugins/translate.html","/404.html","/contributing/","/plugin-dev-guide/development/"],be="SEARCH_PRO_QUERY_HISTORY",h=j(be,[]),ke=()=>{const{queryHistoryCount:s}=D,u=s>0;return{enabled:u,queryHistory:h,addQueryHistory:r=>{u&&(h.value.length{h.value=[...h.value.slice(0,r),...h.value.slice(r+1)]}}},S=s=>Ee[s.id]+("anchor"in s?`#${s.anchor}`:""),Ae="SEARCH_PRO_RESULT_HISTORY",{resultHistoryCount:x}=D,g=j(Ae,[]),He=()=>{const s=x>0;return{enabled:s,resultHistory:g,addResultHistory:u=>{if(s){const r={link:S(u),display:u.display};"header"in u&&(r.header=u.header),g.value.length{g.value=[...g.value.slice(0,u),...g.value.slice(u+1)]}}},Be=s=>{const u=de(),r=I(),{search:A,terminate:c}=ce(),m=C(!1),y=ve([]);return he(()=>{const p=()=>{y.value=[],m.value=!1},H=fe(f=>{m.value=!0,f?A({type:"search",query:f,locale:r.value,options:u.value}).then(v=>{y.value=v,m.value=!1}).catch(v=>{console.error(v),p()}):p()},D.searchDelay);U([s,r],()=>H(s.value),{immediate:!0}),ge(()=>{c()})}),{searching:m,results:y}};var qe=$({name:"SearchResult",props:{query:{type:String,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(s,{emit:u}){const r=ee(),A=I(),c=te(le),{enabled:m,addQueryHistory:y,queryHistory:p,removeQueryHistory:H}=ke(),{enabled:f,resultHistory:v,addResultHistory:F,removeResultHistory:M}=He(),z=m||f,B=se(s,"query"),{results:E,searching:Y}=Be(B),i=ue({isQuery:!0,index:0}),o=C(0),d=C(0),L=Q(()=>z&&(p.value.length>0||v.value.length>0)),R=Q(()=>E.value.length>0),q=Q(()=>E.value[o.value]||null),G=()=>{const{isQuery:e,index:t}=i;t===0?(i.isQuery=!e,i.index=e?v.value.length-1:p.value.length-1):i.index=t-1},V=()=>{const{isQuery:e,index:t}=i;t===(e?p.value.length-1:v.value.length-1)?(i.isQuery=!e,i.index=0):i.index=t+1},J=()=>{o.value=o.value>0?o.value-1:E.value.length-1,d.value=q.value.contents.length-1},K=()=>{o.value=o.value{d.value{d.value>0?d.value-=1:J()},w=e=>e.map(t=>pe(t)?t:l(t[0],t[1])),Z=e=>{if(e.type==="customField"){const t=me[e.index]||"$content",[a,k=""]=ye(t)?t[A.value].split("$content"):t.split("$content");return e.display.map(n=>l("div",w([a,...n,k])))}return e.display.map(t=>l("div",w(t)))},b=()=>{o.value=0,d.value=0,u("updateQuery",""),u("close")};return re("keydown",e=>{if(s.isFocusing){if(R.value){if(e.key==="ArrowUp")W();else if(e.key==="ArrowDown")N();else if(e.key==="Enter"){const t=q.value.contents[d.value];y(s.query),F(t),r.push(S(t)),b()}}else if(f){if(e.key==="ArrowUp")G();else if(e.key==="ArrowDown")V();else if(e.key==="Enter"){const{index:t}=i;i.isQuery?(u("updateQuery",p.value[t]),e.preventDefault()):(r.push(v.value[t].link),b())}}}}),U([o,d],()=>{var e;(e=document.querySelector(".search-pro-result-list-item.active .search-pro-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>l("div",{class:["search-pro-result-wrapper",{empty:B.value?!R.value:!L.value}],id:"search-pro-results"},B.value===""?z?L.value?[m?l("ul",{class:"search-pro-result-list"},l("li",{class:"search-pro-result-list-item"},[l("div",{class:"search-pro-result-title"},c.value.queryHistory),p.value.map((e,t)=>l("div",{class:["search-pro-result-item",{active:i.isQuery&&i.index===t}],onClick:()=>{u("updateQuery",e)}},[l(_,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},e),l("button",{class:"search-pro-remove-icon",innerHTML:T,onClick:a=>{a.preventDefault(),a.stopPropagation(),H(t)}})]))])):null,f?l("ul",{class:"search-pro-result-list"},l("li",{class:"search-pro-result-list-item"},[l("div",{class:"search-pro-result-title"},c.value.resultHistory),v.value.map((e,t)=>l(O,{to:e.link,class:["search-pro-result-item",{active:!i.isQuery&&i.index===t}],onClick:()=>{b()}},()=>[l(_,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},[e.header?l("div",{class:"content-header"},e.header):null,l("div",e.display.map(a=>w(a)).flat())]),l("button",{class:"search-pro-remove-icon",innerHTML:T,onClick:a=>{a.preventDefault(),a.stopPropagation(),M(t)}})]))])):null]:c.value.emptyHistory:c.value.emptyResult:Y.value?l(ie,{hint:c.value.searching}):R.value?l("ul",{class:"search-pro-result-list"},E.value.map(({title:e,contents:t},a)=>{const k=o.value===a;return l("li",{class:["search-pro-result-list-item",{active:k}]},[l("div",{class:"search-pro-result-title"},e||c.value.defaultTitle),t.map((n,X)=>{const P=k&&d.value===X;return l(O,{to:S(n),class:["search-pro-result-item",{active:P,"aria-selected":P}],onClick:()=>{y(s.query),F(n),b()}},()=>[n.type==="text"?null:l(n.type==="title"?ae:n.type==="heading"?ne:oe,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},[n.type==="text"&&n.header?l("div",{class:"content-header"},n.header):null,l("div",Z(n))])])})])})):c.value.emptyResult)}});export{qe as default}; diff --git a/assets/Tableau10-B-NsZVaP.js b/assets/Tableau10-B-NsZVaP.js new file mode 100644 index 0000000000..4223ec34a3 --- /dev/null +++ b/assets/Tableau10-B-NsZVaP.js @@ -0,0 +1 @@ +function o(e){for(var c=e.length/6|0,n=new Array(c),a=0;a插件使用方法

插件设置

插件设置
插件设置

Automatic PDF Download:勾选后,在添加条目以后会自动为带有 DOI 的条目下载 Pdf 格式的论文。

Scihub URL:这里可自定义 Scihub 镜像的网站的地址。

常见问题

部分用户在使用过程中经常会碰到以下弹窗错误:

插件报错
插件报错

这种情况通常是访问次数过多以后,Sichub 服务器识别到了机器人抓取从而出现了验证码验证,您需要登陆 Scihub 输入出现的验证码信息。

建议在知网抓取文献的时候,建议关闭插件中的 Automatic PDF Download。部分中文文献带有 DOI 字段,在抓取这部分中文文献时,插件会访问 Scihub 进行下载,但由于 Scihub 网站基本上没有收录中文文献,所以插件也不会下载到 Pdf 文件。对 Scihub 网站过于频繁的访问会触发网站的验证机制。

注意

请勿在任何网站上使用批量抓取,严重时可能会使您的 IP 地址遭到封禁。

不使用插件的原始方法

',12),D={class:"hint-container tip"},x=n("p",{class:"hint-container-title"},"提示",-1),H={href:"https://www.zotero.org/support/kb/custom_pdf_resolvers",target:"_blank",rel:"noopener noreferrer"},P=n("p",null,"当被 Scihub 拒绝时,两种方法都无法抓取文献。",-1),w=o('

谨慎使用此方法

此方法涉及修改隐藏首选项,请谨慎使用。

操作步骤

  1. 在 Zotero 依次点击编辑-首选项-高级-常规-高级设置-编辑器

    编辑器
    编辑器
  2. 弹出如下图所示的对话框。 点击I accept the risk

    同意承担风险
    同意承担风险
  3. 在搜索框中输入 extensions.zotero.findPDFs.resolvers,双击搜索到的 extensions.zotero.findPDFs.resolvers

    同意承担风险
    同意承担风险
  4. 将下列代码粘贴进去直接替换原有内容

    [
    +  {
    +    "name": "Sci-Hub",
    +    "method": "GET",
    +    "url": "https://sci-hub.se/{doi}",
    +    "mode": "html",
    +    "selector": "#pdf",
    +    "attribute": "src",
    +    "automatic": true
    +  }
    +]
    +

    其中"url":"https://sci-hub.se/{doi}", 可以替换为其他的 Sci-Hub 镜像地址。
    如果想要从多个 Sci-Hub 地址抓取,按照如下格式添加

    [
    +  {
    +    "name": "Sci-Hub",
    +    "method": "GET",
    +    "url": "https://sci-hub.se/{doi}",
    +    "mode": "html",
    +    "selector": "#pdf",
    +    "attribute": "src",
    +    "automatic": true
    +  },
    +  {
    +    "name": "Sci-Hub",
    +    "method": "GET",
    +    "url": "https://sci-hub.ru/{doi}",
    +    "mode": "html",
    +    "selector": "#pdf",
    +    "attribute": "src",
    +    "automatic": true
    +  }
    +]
    +
  5. 添加上述配置后

    • 对于新增的项目,Zotero 会自动增加 Sci-Hub 的源抓取 PDF。
    • 对于已存在的但缺失 PDF 的项目,可以右键点击查找可用PDF选项尝试重新抓取。
`,3);function F(I,O){const t=c("ExternalLinkIcon");return r(),l("div",null,[k,g,v,q,_,n("ul",null,[n("li",null,[s("Zotero SciHub 插件的 GitHub 地址: "),n("ul",null,[n("li",null,[s("适配 Zotero 6:"),n("a",f,[s("https://github.com/ethanwillis/zotero-scihub"),e(t)])]),n("li",null,[s("适配 Zotero 7:"),n("a",y,[s("https://github.com/syt2/zotero-scipdf"),e(t)])])])]),n("li",null,[s("插件下载:"),n("a",S,[s("Zotero 插件中文镜像"),e(t)])]),Z]),z,n("div",D,[x,n("p",null,[n("a",H,[s("这种方法"),e(t)]),s("在修改 Scihub 地址时较为繁琐,但优点是不会遇到 Scihub 验证码弹窗。")]),P]),w])}const N=p(m,[["render",F],["__file","Zotero-scihub.html.vue"]]),E=JSON.parse('{"path":"/user-guide/plugins/Zotero-scihub.html","title":"Zotero SciHub","lang":"zh-CN","frontmatter":{"description":"Zotero SciHub 插件介绍 这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。 一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/Zotero-scihub.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero SciHub"}],["meta",{"property":"og:description","content":"Zotero SciHub 插件介绍 这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。 一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-01-09T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-01-09T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero SciHub\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-01-09T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"插件介绍","slug":"插件介绍","link":"#插件介绍","children":[]},{"level":2,"title":"插件使用方法","slug":"插件使用方法","link":"#插件使用方法","children":[{"level":3,"title":"插件设置","slug":"插件设置","link":"#插件设置","children":[]},{"level":3,"title":"常见问题","slug":"常见问题","link":"#常见问题","children":[]}]},{"level":2,"title":"不使用插件的原始方法","slug":"不使用插件的原始方法","link":"#不使用插件的原始方法","children":[{"level":3,"title":"操作步骤","slug":"操作步骤","link":"#操作步骤","children":[]}]}],"git":{"createdTime":1702889271000,"updatedTime":1704777081000,"contributors":[{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1},{"name":"Victor","email":"40191996+wakewon@users.noreply.github.com","commits":1},{"name":"syt","email":"dreamcontinue.cd@gmail.com","commits":1}]},"readingTime":{"minutes":2.87,"words":861},"filePathRelative":"user-guide/plugins/Zotero-scihub.md","localizedDate":"2023年12月18日","autoDesc":true,"excerpt":"\\n

插件介绍

\\n

这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。

\\n

一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条目下。

\\n

同时对于您在安装此插件后添加的任何新论文,将会在后台从 SciHub 上自动下载对应的论文,并附加到 Zotero 中对应的条目下。

\\n"}');export{N as comp,E as data}; diff --git a/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5-C9lJGMTL.png b/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5-C9lJGMTL.png new file mode 100644 index 0000000000..2528c414ff Binary files /dev/null and b/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5-C9lJGMTL.png differ diff --git a/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5-CjpQ5_do.png b/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5-CjpQ5_do.png new file mode 100644 index 0000000000..1d03f66d24 Binary files /dev/null and b/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5-CjpQ5_do.png differ diff --git a/assets/a2f3237d76883f049b272f29abdf0c51_MD5-Czyjmezh.png b/assets/a2f3237d76883f049b272f29abdf0c51_MD5-Czyjmezh.png new file mode 100644 index 0000000000..2a02540920 Binary files /dev/null and b/assets/a2f3237d76883f049b272f29abdf0c51_MD5-Czyjmezh.png differ diff --git a/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5-mafm778v.png b/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5-mafm778v.png new file mode 100644 index 0000000000..4344c1f2ca Binary files /dev/null and b/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5-mafm778v.png differ diff --git a/assets/aab13e38e1dbeb28f675129f45f38af8_MD5-Cj_ZIEaA.png b/assets/aab13e38e1dbeb28f675129f45f38af8_MD5-Cj_ZIEaA.png new file mode 100644 index 0000000000..99475db114 Binary files /dev/null and b/assets/aab13e38e1dbeb28f675129f45f38af8_MD5-Cj_ZIEaA.png differ diff --git a/assets/about-plugin.html-xl5bsF3r.js b/assets/about-plugin.html-xl5bsF3r.js new file mode 100644 index 0000000000..286482770c --- /dev/null +++ b/assets/about-plugin.html-xl5bsF3r.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as s,o as a,c as l,a as e,b as o,d as r,e as n}from"./app-pLjDz5vt.js";const c="/assets/image-zotero-plugin-install-_Yu20YEf.png",p="/assets/image-zotero-插件安装失败-BZaJA_AX.png",d="/assets/image-zotero-about-zotero-DzGzl_rf.png",h="/assets/image-目标zotero版本-DjO7QFfQ.png",u="/assets/image-zotero-plugin-update-ClSd5oV6.png",g={},m=n('

关于 Zotero 插件

什么是插件?插件可以做什么?

谈到 Zotero 插件,可能指的有三种东西:

  • 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。
  • (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter,用于从网页上抓取文献元数据并存到 Zotero 里。
  • (不是 Zotero 插件,是 Word 加载项)在 Microsoft Word 中的,正确称呼是 Word 加载项,用来插入引用和参考文献信息。

获取插件

',5),_={href:"https://www.zotero.org/support/plugins",target:"_blank",rel:"noopener noreferrer"},Z={href:"https://plugins.zotero-chinese.com/#/",target:"_blank",rel:"noopener noreferrer"},f=e("div",{class:"hint-container tip"},[e("p",{class:"hint-container-title"},"火狐浏览器用户请选择另存为"),e("p",null,[o("插件的后缀名为 "),e("code",null,".xpi"),o(" , 如果下载到后缀为 "),e("code",null,".xpi"),o(" 的文件,不要解压,解压后会导致插件无法安装。")]),e("p",null,[e("code",null,".xpi"),o(" 也是火狐浏览器的插件后缀,因此火狐浏览器无法直接通过点击链接进行下载,需要右击链接,选择另存为,才可将插件保存至本地。")])],-1),b={class:"hint-container tip"},z=e("p",{class:"hint-container-title"},"Zotero 6 与 Zotero 7 的插件互不兼容",-1),y={href:"https://plugins.zotero-chinese.com/",target:"_blank",rel:"noopener noreferrer"},x=e("p",null,"Zotero 7 目前仍为测试版,使用中可能会遇到一些新问题,相关的解决方案也仍不够完善。对于绝大多数一般用户,建议继续使用 Zotero 6 正式版,并跟随正式版的更新节奏升级。",-1),k=n('

安装插件

依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on),然后将下载的 xpi 文件拖入插件窗口,即可完成安装。

或者点击右上角的齿轮 => Install Add-on From File... => 选择刚刚下载的 xpi 文件,即可安装成功。

安装插件
安装插件

提示

对于部分老版本的插件,可能需要点击 Restart now 或者手动重启 Zotero 才可生效。

',5),w={class:"hint-container details"},v=n('无法安装插件"%S"。它可能无法与该版本的 Zotero 兼容
插件安装失败
插件安装失败

一些同学在安装插件的时候发现插件安装失败,Zotero 提醒不兼容。这种情况是由于下载的插件版本与插件所支持 Zotero 的版本不一致所导致的。

首先需要确定自己 Zotero 的版本,依次点击 帮助 => 关于 Zotero,即可看到自己 Zotero 的版本(如图则是 Zotero 6)

确定自己的版本号
确定自己的版本号
',5),C={href:"https://plugins.zotero-chinese.com/#/",target:"_blank",rel:"noopener noreferrer"},T=e("code",null,"目标 Zotero 版本",-1),N=e("figure",null,[e("img",{src:h,alt:"目标 Zotero 版本",tabindex:"0",loading:"lazy"}),e("figcaption",null,"目标 Zotero 版本")],-1),A=n('

更新插件

升级插件
升级插件

依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on) => 右上角的齿轮 => Check for Updates 后 Zotero 会对插件的版本进行检查,并自动对插件进行更新。

',3),V={class:"hint-container tip"},W=e("p",{class:"hint-container-title"},"提示",-1),B={href:"https://plugins.zotero-chinese.com/#/",target:"_blank",rel:"noopener noreferrer"},D=e("p",null,"下载后,无需卸载原插件,按照安装插件的流程直接覆盖安装即可实现对插件的更新。",-1);function E(L,P){const t=s("ExternalLinkIcon");return a(),l("div",null,[m,e("ul",null,[e("li",null,[o("官方插件收录链接:"),e("a",_,[o("https://www.zotero.org/support/plugins"),r(t)])]),e("li",null,[o("国内镜像:"),e("a",Z,[o("https://plugins.zotero-chinese.com/#/"),r(t)])])]),f,e("div",b,[z,e("p",null,[o("Zotero 6(正式版)和 Zotero 7(测试版)的插件互不兼容,请在下载插件安装包时下载与你 Zotero 版本适配的版本。"),e("a",y,[o("中文插件商店"),r(t)]),o("中有注明兼容的目标 Zotero 版本,下载时请务必注意。")]),x]),k,e("details",w,[v,e("p",null,[o("在"),e("a",C,[o("国内镜像"),r(t)]),o("下载插件时,查看页面中"),T,o("找到适合自己的插件版本,点击后面的下载链接就可以下载到适合自己的插件。")]),N]),A,e("div",V,[W,e("p",null,[o("由于大部分插件的更新页面在 GitHub,国内部分地区可能无法直接访问,从而无法通过以上方式实现对插件的更新。如果无法直接访问插件的更新,可在此处下载最新版:"),e("a",B,[o("https://plugins.zotero-chinese.com/#/"),r(t)])]),D])])}const I=i(g,[["render",E],["__file","about-plugin.html.vue"]]),M=JSON.parse('{"path":"/user-guide/plugins/about-plugin.html","title":"关于 Zotero 插件","lang":"zh-CN","frontmatter":{"title":"关于 Zotero 插件","date":"2023-11-10T11:48:00.000Z","updated":"2023-11-28T15:29:00.000Z","description":"关于 Zotero 插件 什么是插件?插件可以做什么? 谈到 Zotero 插件,可能指的有三种东西: 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。 (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/about-plugin.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"关于 Zotero 插件"}],["meta",{"property":"og:description","content":"关于 Zotero 插件 什么是插件?插件可以做什么? 谈到 Zotero 插件,可能指的有三种东西: 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。 (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-12-18T08:47:51.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-11-10T11:48:00.000Z"}],["meta",{"property":"article:modified_time","content":"2023-12-18T08:47:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"关于 Zotero 插件\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-11-10T11:48:00.000Z\\",\\"dateModified\\":\\"2023-12-18T08:47:51.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"什么是插件?插件可以做什么?","slug":"什么是插件-插件可以做什么","link":"#什么是插件-插件可以做什么","children":[]},{"level":2,"title":"获取插件","slug":"获取插件","link":"#获取插件","children":[]},{"level":2,"title":"安装插件","slug":"安装插件","link":"#安装插件","children":[]},{"level":2,"title":"更新插件","slug":"更新插件","link":"#更新插件","children":[]}],"git":{"createdTime":1699595637000,"updatedTime":1702889271000,"contributors":[{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":2},{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1},{"name":"Victor","email":"40191996+wakewon@users.noreply.github.com","commits":1},{"name":"windingwind","email":"33902321+windingwind@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":3.14,"words":941},"filePathRelative":"user-guide/plugins/about-plugin.md","localizedDate":"2023年11月10日","autoDesc":true,"excerpt":"\\n

什么是插件?插件可以做什么?

\\n

谈到 Zotero 插件,可能指的有三种东西:

\\n
    \\n
  • 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。
  • \\n
  • (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter,用于从网页上抓取文献元数据并存到 Zotero 里。
  • \\n
  • (不是 Zotero 插件,是 Word 加载项)在 Microsoft Word 中的,正确称呼是 Word 加载项,用来插入引用和参考文献信息。
  • \\n
"}');export{I as comp,M as data}; diff --git a/assets/about.html-Du8YLT8W.js b/assets/about.html-Du8YLT8W.js new file mode 100644 index 0000000000..076b086b30 --- /dev/null +++ b/assets/about.html-Du8YLT8W.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as r,a as t}from"./app-pLjDz5vt.js";const n={},a=t("h1",{id:"关于-zotero-中文小组",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#关于-zotero-中文小组"},[t("span",null,"关于 Zotero 中文小组")])],-1),i=t("div",{class:"hint-container tip"},[t("p",{class:"hint-container-title"},"提示"),t("p",null,"待办,关于页面")],-1),c=[a,i];function p(s,l){return o(),r("div",null,c)}const h=e(n,[["render",p],["__file","about.html.vue"]]),u=JSON.parse('{"path":"/about.html","title":"关于 Zotero 中文小组","lang":"zh-CN","frontmatter":{"title":"关于 Zotero 中文小组","icon":"like","description":"关于 Zotero 中文小组 提示 待办,关于页面","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/about.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"关于 Zotero 中文小组"}],["meta",{"property":"og:description","content":"关于 Zotero 中文小组 提示 待办,关于页面"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-09-20T15:14:00.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2023-09-20T15:14:00.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"关于 Zotero 中文小组\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-20T15:14:00.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695222840000,"updatedTime":1695222840000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":0.08,"words":24},"filePathRelative":"about.md","localizedDate":"2023年9月20日","autoDesc":true,"excerpt":"\\n
\\n

提示

\\n

待办,关于页面

\\n
\\n"}');export{h as comp,u as data}; diff --git a/assets/add-attachments.html-CrD7FrXc.js b/assets/add-attachments.html-CrD7FrXc.js new file mode 100644 index 0000000000..d60931c048 --- /dev/null +++ b/assets/add-attachments.html-CrD7FrXc.js @@ -0,0 +1 @@ +import{_ as r}from"./icon-pdf-DRAO5yDD.js";import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c,a as t,b as e,d as n,e as l}from"./app-pLjDz5vt.js";const p="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAWCAMAAAAYXScKAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///////v//+////fz+///8/f//+f/+///8//7//Pj/+f/46v/57f7/9/v/+P3////9+//6+v/2+Pv//fL/9//29f/0+2xwZoOCfrOxsNHOzuLv5f/89v/65f/8/v/y5Pr09//d2v7b0PXy8Lu4uHJwb5eSlVBMTZyZmf3/+vn////96v72//v69vr4++fx7efl43d4c/j29f/q5/xsSP/u6qWgo9puUP6LbqlZUPfy89zb2J+em6qopsO/wJGOjvDs7FdTU2RgYfL//P//8v/z7v/87/f68P/w09VfRP/k165fTa5ZRcxsUqAnEL4wDvvLxOOCcPOBZbcgA9dtXONzWvXi3cbAxeDf26ekpLCxq4qIhdXT0fX//+358e/y8Z5sZtN+ZoR/g7RIJf/w3crOw4kwGaZVSrYsDKQ4GP/k3dGbnOmejP3j2cx0XK1ALZtTTL9nUNx2ZqUlDP+DYc44E/+hhrI2HuFSM9tqSrzAtvHi4r2sqOnl5ouHiP/22xy3KrEAAAGSSURBVBjTXc7XW9pwFMbxl0jSJEDMIDEECCOsIFOUIZs66ta6cbSODkf3cPu390cfb/R7bs7zec7FgeL1DrPPo0UM8fxLZUUgbGVpsgGihExGkgjaUCXV5SpFSpFodH5CAxOgaVvAzOlRZW7p64+lyk3lcivP2wHGthF8c7IyXn27+Xv8z8ral/whLwjCQM8+E63+vV5f3yzlvX4vTzQU/Lg89+3nxsbVr+U19d1AeRui+n5h8VOtVltc+H7Baln/6wOFg8mq86Hz1UgkuhrVtAzRtGJDMeVp9/SEWtq6v5O1SRRyID8oThqUZY05LN/DZC6MAnLkX6ISZXVi7WbK6KR2y7Ew/XSLQn+3s7OfSHTq2+Xy2H91wNHS63o3nnqMJ9utY1DcQEU09oxY0jBavm54O/GkWTT1/Xa31+t1kwmjiCGKKAdqJ57q+xp7etMXa8ThGIbCcR7P7IcRUv+2qBdH6kI6DU4UGYaZ9ZAYkGFgO50ISBJNm+wrkimbsizJIAWDLpJ7UGjG7XGFpqZGR/8Bm7pCsLojXIcAAAAASUVORK5CYII=",h="/assets/image-添加附件-r7jZsZwd.png",d={},g=t("h1",{id:"添加附件",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#添加附件"},[t("span",null,"添加附件")])],-1),f=t("p",null,"除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。",-1),m=t("h2",{id:"子附件和独立附件",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#子附件和独立附件"},[t("span",null,"子附件和独立附件")])],-1),u={class:"hint-container note"},A=t("p",{class:"hint-container-title"},"Todo",-1),_={href:"https://www.zotero.org/support/attaching_files",target:"_blank",rel:"noopener noreferrer"},w=l('

存储的附件和链接的附件

  • 存储的附件icon-pdf.png:默认情况下,存储文件存储在 Zotero 数据目录中,Zotero 会自动管理它们,包括在 Zotero 中删除附件项时删除它们。如果使用文件同步功能,Zotero 会自动在设备之间同步存储的附件,并将它们储存在官方网盘(或 WebDAV 网盘)中。
  • 链接的附件icon-链接的附件.png:对于链接文件,Zotero 只存储指向计算机上原始文件位置的链接。链接文件不会同步,如果附件项在 Zotero 中被删除,链接文件也不会被删除,Zotero 程序也不支持链接文件的同步。(可以简单理解为链接的文件在 Zotero 中作用类似于 Windows 的快捷方式)

为条目添加附件

通过拖放

Todo

通过附件菜单

添加附件
添加附件

附件重命名

',8),v={class:"hint-container note"},Z=t("p",{class:"hint-container-title"},"Todo",-1),x={href:"https://www.zotero.org/support/file_renaming",target:"_blank",rel:"noopener noreferrer"};function b(z,k){const o=i("ExternalLinkIcon");return s(),c("div",null,[g,f,m,t("div",u,[A,t("p",null,[e("参考:"),t("a",_,[e("https://www.zotero.org/support/attaching_files"),n(o)])])]),w,t("div",v,[Z,t("p",null,[e("参考:"),t("a",x,[e("https://www.zotero.org/support/file_renaming"),n(o)])])])])}const T=a(d,[["render",b],["__file","add-attachments.html.vue"]]),P=JSON.parse('{"path":"/user-guide/add-attachments.html","title":"添加附件","lang":"zh-CN","frontmatter":{"icon":"add","description":"添加附件 除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。 子附件和独立附件 Todo 参考:https://www.zotero.org/support/attaching_files 存储的附件和链接的附件 存储的附件icon-pdf.png:默认...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/add-attachments.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"添加附件"}],["meta",{"property":"og:description","content":"添加附件 除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。 子附件和独立附件 Todo 参考:https://www.zotero.org/support/attaching_files 存储的附件和链接的附件 存储的附件icon-pdf.png:默认..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"添加附件\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"子附件和独立附件","slug":"子附件和独立附件","link":"#子附件和独立附件","children":[]},{"level":2,"title":"存储的附件和链接的附件","slug":"存储的附件和链接的附件","link":"#存储的附件和链接的附件","children":[]},{"level":2,"title":"为条目添加附件","slug":"为条目添加附件","link":"#为条目添加附件","children":[{"level":3,"title":"通过拖放","slug":"通过拖放","link":"#通过拖放","children":[]},{"level":3,"title":"通过附件菜单","slug":"通过附件菜单","link":"#通过附件菜单","children":[]}]},{"level":2,"title":"附件重命名","slug":"附件重命名","link":"#附件重命名","children":[]}],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.11,"words":333},"filePathRelative":"user-guide/add-attachments.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。

\\n

子附件和独立附件

\\n"}');export{T as comp,P as data}; diff --git a/assets/add-items.html--U-qM5Fk.js b/assets/add-items.html--U-qM5Fk.js new file mode 100644 index 0000000000..cd11e04c33 --- /dev/null +++ b/assets/add-items.html--U-qM5Fk.js @@ -0,0 +1 @@ +import{_ as d}from"./icon-pdf-DRAO5yDD.js";import{_ as g}from"./image-添加条目后信息窗格-QIW-yYVb.js";import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as p,c as A,a as t,b as e,d as i,w as a,e as n}from"./app-pLjDz5vt.js";const m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfby8u3z+fH1+vX5/Pn7/dHj/EqHxtXl/v///zhvvdDi/Pb5/NPk/fP3+1q4+sXc+EeCxO/1+jBluOzz+UN9wtTl/tLj/cvg+jpxvcPb90mFxfz9/kV/w/r8/UJ7wfH2+vT4+zZsu/j6/Ve2+cne+kaAwzNouT54wDNpuu70+ff6/Mbc+Mvf+vL2+2K8/M7h+zdtvFW1+Vy5+jFmuVO0+DJnuTVru8fd+cne+bTS70iDxEmExb7Y9cbd+EB5wWC7+0R+wj11v2S9/Dtyvuvy+Mzg+9Hj/Vm3+c3g+83h+02Jx0yJx166+0yIxsHa9pzX/5jW/5bV/53X/zx0vl25+qG626zR8brZ9pq02U2Kx5vW/5nW//L3+/f5/EF6wVGz+Fi3+WG8+1+6+8De+EVzv7PV9FGExrzX9L/Z9vr7/T51v5XV//T3+2a+/Z7X/73J4cbi+sTT5rLV87PV82GXzKzQ8WSYzJu12UF5wb/N47HR77nW863R8bvW9Pj7/erx+MJcPI4AAAJCSURBVFjD7dZZV9pQFIZh00RyQgCB0IpAQoBCgAIFKcigzK2VQShQHApibWsdqp3n6a83CbCC4s3mpjd5f8Cz1tnruzgLC2pqampqauPef9mr1hoajc2WzRiNXq/DUbBYns4BfZp2jCOH4+aQ9qo4jtP0IOh2/yEIlrXbEfrB5eBStcbLUlCUCFlC6HOaE75CoVqD50ndovZxKLWxtHKy/vonQh966W/CLhBqaPQ8SeoeKRJCOx976VwRKGk0ej0pS1uh1JokIfRi51UvLXR254HI23e0W8uStI3QO1H6lT4rwyBbX4Yk6f7yXVFC48pWEGSzhfukIoXWliaQFQhlw2FSkR6GUvdWtk/Wf9vtVgoEZTPOCSSefCyJJwdDmYzTSSrSolaUNkSJtVNAyGiagpRpsiwQMhpNJnJaGk/zlKWiMMh7FZpMkziNwiDvdWg8TYKIumCQ4zo0GhRBuGCQYxaSJTfhSsKgQmAGkiS3OwmDCpZAgJxNF3Qn/UAIuwkig0E/DLJYMGx11WAwbB4eejyeWOyB2HA4HIAhDsPq9e7I2lQseuD3gSCOY7B8fn//mVir1XoidX4ei9G0LwGDDhgmErm8bLfbzWZzAno8NJ2AQQc5himVSpHI83w+f6Q8EqcTcSBUYS4uSop1VO92RQvH42YQlBMqFYbBMCwQMEk5neGwXv+G53EzDBKEv1ekW6LUlyUgdCycFYudctlqpSgqGnW5kn6/35eIx83mlyDo+7HodG503qqfPjU1NbX/0z+HjnuMa5t2IAAAAABJRU5ErkJggg==",f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAABJCAMAAABGrfvuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAADnUExURfby8vz8/Pj4+Pv7+/Dw8P7+/v39/f///8K/v/X19fn5+fT09Pr6+vPz8+bm5vb29vf39/Hx8cjExMHBweXl5e7u7sXFxb29vfLy8tzY2MPDw8DAwL+/v8fHx7u7u8LCws3NzczMzMrKysjIyLW1tcbGxufj497a2uvr67a2tu3t7by8vL6+vrq6uri4uMTExO/v76+vr9PT08/Pz7Ozs87OzsnJybm5ucvLy7S0tLe3t9ra2tjY2NbW1q6urtTU1NXV1dHR0bCwsNLS0rGxsdDQ0LKyssnFxerq6sPAwOzs7Nvb262trdl+4tsAAAFfSURBVFjD7dbZcoJAEAVQQWAGAUVUNCguCZq4JOK+JFGzr///PWkEKpWoDzY8WXM/4BTd3K6aRIKFhYWF5TTTeqO7ucRIBqUxUZSSneQ/MNReKU/pGU4SuWSK12VFywqFDiHvKMr/JsmjMrJSAooQ4SqdPp7yJVHiVI/SSlmXEBlFBXsSpaSa0j1KIEQNKIyUqxS71zdtZ/w8WIV7x0k1oKpALYCKJpH/P/AzivTnB3awkm32a+VesTpbthevj4Nvt4CVprZpAdUFygFqJbiRpvO7wOsZZduFSJK3ddXfOlaqN84vmqaVq/SgVktnrGhYaVSfA9W3wobKStTpfi8wuhReIFZaP71M6vOp3YRawd3MeB0rbYZANYAKGqryMUwXXGA8kneBWOn27n4zfBhNoFZwN7myxGGlL6DWQIUNFaWYpoNVxSaR05D2vzC2MY589RykjBZ7E7KwsLCwHM4P8PMyw7f/mewAAAAASUVORK5CYII=",h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAbCAMAAABLAV/qAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf////b29vj4+MvLy/z8/N/f38zMzMnJyf39/f7+/vr6+vv7+8LCwvX19fr5+ePj4+Li4vLy8vf39+/v7/j39Ofn5+np6fTm2Pz7+c3NzezRuPK9f9zLvevXwv338tzc3IyaxMbGxuvr69SqcHqa1bmppMKehWyi49qodHGm5NrY1/D18KyuoOa6VtjQw86sZLKroenj18+5kuvs6demL7TJsO/z8eu0InKvbOu7R4qtcZ6QnOKzVHSm5GeKz/Hz+GOf5aiksOu2NYa2+8raymOx+NHR0budgPHJgffRoIzFdoG2ff/dvpqtgqu93NrBpI7VgdG0kv/dt63ipOzIgt29oNGykJPHha2jnInEeZ3KjmCw/3ec4bGagmuy+JnZg6iZcJd6X5/gjcbDwP7btNy0jYitue7Aj9jPya+naW26+aZxWY2OoGi9/3HL/5u+7riMccrHxWuMeffXtad9ZOvLrZfW/6FsUaV6X/XLoKTL0ff088OVdMami5uy4JrB4s+PD6wAAADqSURBVCjPY2CgCeBnY4cCVg64IBsXCwcY8DEjRNlZGIWYhHgFhTmU4KKc7BxMXEx8gkaWunqMkqxwQW5mRR4DEydzfREOdk6YINBMFv8QTw8bQyRBDrfC5IjQIB93Y2TBjIryxNiwQF8XJMHqkoKa7ISo8GBvU4SgSG1xSmlmUnyAlTKS9pz0ytSiSC8LHSm4oH1dflVafYyfmTYfwkxVx7K83Ghnay15DoSgtJpDVpyrnYYc0P/sUL8zi8uoaNqqK8hKcHBwsUEFBZjZ4YBNgIF2AHscMXGzgAETD1IccfMCgaCwGIsoVBQAaJAkaaUriUEAAAAASUVORK5CYII=",u="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAMAAAAPzWOAAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfby8sXCwmFhYVVVVUJCQjAwMGxsbFtbW0lISGdnZ3JxcfTw8BcXF25tbdTR0VFRUT09PXt6enV1dYCAgDk5OVlZWSgnJ1BPT0xLS9LPz//MVWZlZR0dHBEREDc3N4iIiHh3d4WFhc3JyT8/PzU1NWBgYCgoKDo6Oi8vLxUVFe7q6k9PT9XS0t7a2nBwcOvo6F1dXWppaeHd3cvHxzY1Nefj40ZFRZ6cnG9vb6Gfn8jExJqZmX19fYKCgpGQkCIiIjIyMk1NTLyfWouLi8ypV1ZWVmNjY9+2VVJSUs/MzCsrKxkZGZp3M6ShoZCBXRsbG4NgNqmHSY5sN2NiYvnHU/C/UMecRLOaXpZzP6WCR4lmOZd5Wrudat3TzMaykZeXl/LDVYOBgQUEAuW2TNmsSCMcEcyhRL+XQKB9NbONPKiEOMe0mc26nIJxR597Q767u7OxsYp2Rbmlksm/stClTZN7RKuYhYeBeGVLKnZeM5qGVaOJTvPEVlRFMvTFV1ZUT5JyytkAAAJgSURBVFjD7dXJU9pQHMBxJHkhiYaQDYGsGAiJUgWhiIhASrEIuIJLrRX3rfu+13+9CePYHhO59JDPJZl3+E7mvV/m+Xwej8fjuZf0Ck6S+Ep6iERwHh8fwOeD904QppnB63U8Y5rEvTLROQRFuSITp6g4U+RQFJmLuk5kCwUIKTPKtEVhyghUKGRdZaILPAyPYwqFI7dwSsHGYZhfcJyJdlU1ksRpArOt7uzYD4LGkxFV7TqsLLMsGsgWMb9t9ZFl8ObHitkAyrLLjiL5fL9SzgZsq48tr9TALZ5m5HzeUQSAhX5fpv3Q9yeWd6lUChqwGuXFOACOIhPhcCjJ9OXfPw8PPyUSCXjK1vBPUwTEhsMTzjYlhwqCxDGx2A8WgBBqa2YIBTOBIKA5p8eTi8OGAba3M02IhC1TGYJCGpphwPGci0kpHalip5MyKwxvRpI0QzRDNVE9KrkbWWtjOp12laMqlbqMk3lNhx1vx92sAAAuL6uGUIMohdSFKoCK1tKyq4iuy/L1tRRutQ1RNMaqCZRbWozruqsI3JLlq6sQ20wIorimSShpR1qw48DozGwQ0Uzm4iKVT5KwVEuwqh1RGhrx4OHkqOPIvHR2c34u1f5GluhGS1pxFcl9ORNPT0OpsvUr81gWmaYzalWvp91FDr5tnpyIAtflMT7JmSpYW4tUJtxFPuxvbG1tHR+P3UGZtyUXEZ9vJniw8bHX6339FVC1dltTA9Tcm5EROzLp4oj3n8Zise31zyP/Ks26m9gNO7L+7PlQN9/L17ube+vvh7w/X+zuDfshHo/H4/k//AElLmZ4A6kc+wAAAABJRU5ErkJggg==",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAYAAAAv3j5gAAACPElEQVRIie2WzWrUUBTH/zdNMmWKKLXOINgIUl0MbaGIiooLn6D4Fi5c+hBu9BHEhRvFbRE32o3gwp0gFVQoDurUxXSKbZP76TknUXTRqBkpIiZzOXdu4PzOxz+HqEAX9uGK9gPyb4LivR6sfxjixu3HmGq3sPZ2A4Fv7mbgHZvwbXlncPgAcO/Wtd8HPXr6Cu8GIyz0MnQ7BwVSOkYF9aAfNkfb2C0C3n8aNcvoxZuPBJnF5cVZZEcXBMIUzwC2vszmyKE22pMxLi5fbQb6vF3g/IUeHj5/jeFwh6L3cu6/ZsWWYJtbO8gLXQupBbGjOI1xcv445rrTcA5SLs7EOVoEtrTfzQ3uP1gdD+Scx/rGFtIoQZ7nMBS59eW5xQTiJMXMVEuybA6i5dkhKaooClw5O1eWTYIoA7nzZA1mMsGvzJbajAyBnLEEi3B39SUK2VNGljNSSNIU2pbiGAMEWHKijYEmHYSoBZUk9IqT4hT3ip45ResPgIx1sLmlTMiSQyOlZBskCEqK/seivsYg7pI4LYyApIwE0BWMSxgxSLsxxRDKqI0uQaw27gcrztDe0NkEjUrTDuOVjqPUXLqCS8fOCWIJ4Ck7U71LgfYihp9y6nskzqg0Ujp+QVltNsjizKKgBM53d2a6KYhIUYQz5xYRlBIo98VXNlTTQWsrQS3Nn2oGOt07hpWVZ9Wk/m6+Qcb3D5P80tIJ3Ly+XAtS/78Z/nrQnmLo9/sYDAakNlfroNPpIMsyEmh9zF8AX6bQpM+MfAUAAAAASUVORK5CYII=",y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfby8u2iRP////Dgx/bx8O7Xw/DjyPby8vbw7fXu692ZT/nprP//8/bdbPDdx92ZU/HmzPbec/XZX/vy3O/Zxv30zvTu6uPGbffggvLp2fjjiP7/9vrqpf/86P/twf//7P/21vvPZ/nooPTYWPnomvTWU/jlk///5/TVS/bde96uVvu9Z/HOMu3OdPDiw/73yPXbZv334vjkj+Swdv3//fnFZfvhj9+5WPHVit61Ve/TgOTIdPbge/HXjfTbi+3TmvLRPe2kS/jqxvbJbPPTRN2gVeLBZN2nVvHXlOfOg/nkmP366v712fjPh/fLdPjOfP/x1fvxuf358fLZo/72v//61/rfjPn+/+bKeP/98vThqPXs5vjw4vDf0e3atuGlYO7Ne+nPjP753+rGafjoufbWb9++Wffkne/GE/bPafPclv/75PzzxPLi2OvKo+e7jeWdRvS0YfDMa/PkuuyfPvPGUvHMJfvdYf3ddPnx1Pvx0unDnPXLh+XJgO/JJPvRkyrLIvwAAAJxSURBVFjD7dbZdxlhGMDhRKaCkYQwGGOPWIIohgixFrG1YjdCLIkQsu9Jt3+934iepqftxae9SNv5nTncPed93wtjZv4PNcNADMRADPR/Qsj0EMJ5HvICbwSm+hYMxMEFbIFAwGaDT/Y6jkw9ER5KJPzScf7EYQqfGhJIb+4rnoqHfuQ9fxGMRUdP2ODAQOzDu9JIrVSDx2jU1FNSf63m99dSqVRo76eL/hq6V1ZJiiBJFqtKZtCKJ51OG9J9Rb/T2duFgTZ6I9KuQw8OolEHi8U3GtVgNKORr76SfsShoMsspeiZg8GgN3nw4MhkHKDsI1UV7SfYENDcxlGWQM3BYdB3uW/zJYfDAMhnq1Oao405OEhDoT6vt20D+QLJZMDr9QIoAwttarFCvd2uJfaTV9EH0aTHAlnWbsJCVLRYDHVCggI4diajVCpH3SxFaqAhDUmJHA1Ro0AS3TyqUOj1BrlZ0cXgoMU1bZZkUXyCoJRdDHVuCRdeL6/ErAt2lXsNDnJrqmoMw46P86jOIBs7q+GpoB2yjKKoDiwk2zI/QZOJFmEhTAEuA5wJYzJZPy2XVJZtKGjbskPYdbo+PY9wgWZi4fDtYGUaiF9yOp2y8Zlpxmq1DgamPCQkjtMT6fV6p/yJojeLWW/v7CpLXAwFXUQJjD62Lm0AmMxsFoINV+Vl1QUU1HS1TtdDH96CcrncO9AbkPsmV/wcacGshr93uVy880gkMvus6+vZyDnv7AQCkiyenrlaS7xJS1/j8eIuqF9IRIKfNMWvvksMAl/NXeQ3XpAv4JVN/4vgSn6IK+Fykfm/ezUGYiAGYiAG+nehL3LK/SdDNz+mAAAAAElFTkSuQmCC",v="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAWCAYAAADeiIy1AAABs0lEQVRIie2VvUoDQRDH/3vxI6JioYidPoCgWFj6CIJWSgoLX8FnsPUdxEbsLLSxUhCsBAsRYmGKgBpDQqK397EfzuwlQREv5AIi4sBmJ8uxv5n/zuwKS4Ysdlfq6fOBTBC2HsMTmTPq0byfgPxNUGox2IdTqOYLrI1gVQyraSj2Q/JDIA6gVUD/pfMn1vczgrTC4PzG13UqH8GOaC8AtaPN7BmF9TJGaFdrZLIgGGKcY9sL/OsNw8YyO8gqBRM9knxXgAmdhG42PJNkbkgMTa3BxH4fID4HKLchhdza/COEh88RwUZ9ZKReq4lUnzKRMAxuZQMnK4HUW3aQ0QGC4gVUeA/oyEWugwbys9NJJgzTBKJg+jojLatQjTLGFguMpfMqoXl9SJuzXD7NQZIRB9AFlNqwdBEifr5B7WwH2i8SOYbhs+pAkqyM1V0zSgVxv4wvbyGuV1A/32tBgg7EFYPlgtFJ06ZY+jNBXS9yHkaXtiFvT9C8PEZucgH5mRUS0nJZ8kdgWfm2SLPUZ6JysEr9QdXG1wxJo+QTWARPCLeGKHQV6K4kpTG3+/2L8/8e/X7QO9VBQhp+eNiTAAAAAElFTkSuQmCC",x="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAZCAMAAADt/kXiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///9np/dDl+9zr/np6euXr6/r8/fT4/GWd0dXo/YyMjN3r/oqKiltbW2mf0tDm/Njo/VNTU8Xe+EdHR/n7/V2W0Hd3d8vi+Tw8PJWVlXFxcYiIiKampkSi5LCwsOju7/z8/Wae0fL2+Mvj+32r2f39/bfP6J+65Pn//9Tm+PL5/4Sy2kFBQWOc0fD2+01NTeTw/VlZWXZ2dqSkpEKb43x8fF+Y0TWb6YSEhJeXl9HR0djY2Pf6/Uab4+fz+52dna6urqCgoOzr62Wd0tPn/L3Q64Kq2Dk5Ocrg84Kw263U87rR6Ie254K157XL5avD5Nru/snk+FePy83i99vq+O7z+eXt9oGBgWyW0Xqh1rfX9FBQUMDb9kp+x5GRkd3d3Xuo0lJpin5+flCFy67E5PrlsXGkyTag6cHBwfXIUked47O5wlSMzKi94eDs/rLZ/Y224VqRz6/h/3LH/8zMzFq9+9DQ0GhoaDae6o6OjmJiYl9fX7q6urOzs2xsbERERO9uQPMAAAEKSURBVCjPY2CgA1DT5lPk4FB05lNxVUAWV1FlBwMlD191ESRxPjZlfn4mZSFNLS8fdT2EOIcIpwCnC5OQJntAoKcbqrgAJ5N4cFioql8QkrgNIzMzSCImKsRbFCGua8PNzc3M6MIkLmSghiqezcXDwyMtbWFgaoQQN7NhlraSM+ZNzeRl4QkXQ4iz58XJWMVbZ1TWyEnGGcLFRfXy7csKbLO05VgcpLii4eKFdqXG1rbmFbK1dTLlFvpw8Ry7YvsSE/N0Wccqx+okYbh4skYRj0OCiWyaKa+lIQtCPDIl14hF0lFSjFdKWkxKBy7uHxGbKCgoqC+sIyEh4c7CQEegwQoE8vJKTtAIBgBG+ireYsf44QAAAABJRU5ErkJggg==",z="/assets/image-从浏览器导入条目-DbWOhe5P.png",P="/assets/image-从浏览器添加条目-对话框-D7DUdzJX.png",Z="/assets/image-add-attachment-DvY9qnDl.webp",G="data:image/webp;base64,UklGRvYBAABXRUJQVlA4IOoBAAAwDQCdASp1AC0APpFGnUwlo6KiIWlgsBIJZRwADsjrq8B6pO80L9ZbvWVce4z4dQ74WMh6tZoKKyc5ZD4HJk4ORNdgGOEk8ds1ymeFeA4EjOGa16+/j7e5zp0JfvW2VPAmxP3uwuzumC8NVHa5OTeZYAAA/v4vrZdqc6JfPYgWzOcBdIb164EH3/EQkk3hfTWfaD7A2f7uMziPzpy/7ci+VUfoaootXc1kG8XNIJR48oKky2Q+KMaMYnL5ZPcfR8sdYpWzomFQMR3/96ijgGLUQNd829CGQ7CpcI7g0gvhaRwoupFMKTccQgufu/XbLHSce51m0U3oXB+Yak+xiEv+smp+gc4Kd0bhWRDZDRLhuJVLP2IcURbI7XM6rKy5P3lGTuwTPnHtmSTgc9tGss6tNbuAj1Dozyf9tXsze9rSXxHlgDQ5RGQrjhwMvuZn5wdUu1x1+4LWL7ELGd7332cHIvTUFjIulHOivP/8/7jiclT6P2IH7fj+vQDyaq3nRRaqqkRGXefgh45QAhNDQZFssa15d42EXbrvcEoIMtEtKIVb/ofCVR93aQ9wOr/Skair59byYb3GEu1C7RqK2QRPa+DJAEcMclsXE8qCXSer4ZN/8A2YAIIGQy6BgbNYXjR2QnkZZesdgAAA",B="/assets/image-get-metadata-en2-DT7MLR1z.webp",w="/assets/image-retrieve-metadata-DBN0UULM.jpg",U="/assets/image-retrieve-metadata-finished-B2Kg0-Pn.jpg",C="/assets/image-get-metadata-cn1-BqXBbE70.webp",I="/assets/image-get-metadata-cnki-template-ZVNOaD5x.jpg",D="/assets/image-get-metadata-cnki-error-uA0YxVwY.jpg",R="/assets/image-rename-attachment-DUBHlIY1.png",_="/assets/image-get-metadata-cnki-BXDtRRmK.jpg",k="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAsCAMAAAAdI2svAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfb29tLc4v/zcUZ2KZGntq28xv+kG2ZmZv///25zdmGKSJeuvbPDzp7GeJmvvu7y9KbLgkx6MFB+NliEP+vv8qLJf7jH0fnWo8bT25Oru73Qr0p5LpCntlyGQ0h4LKDIe6HIfVSBOl2IRZO6cv6uNYCkZ4mxal+JR/+qI9qVLcOMOXieX2eSSaTKgff05pzFdvz0ovzCbMKOPpuxwM3Y3+Lo66a4xfn10LfLqJOirW2WU/3zkc7P0IiyZICrX4mzZp3EepvDeGCMRVqHPnGbUpa/cVKBNX2oWvr0u3uAhP7yePzAYMnDsWiRT/ncsf+xKdG9mfvHer6wkbusiIutdMLTtvvNiP7zgay/yq/AzKy8xm9vb77N1rbG0YSLj9nZ2fH09o2SlZatvHKaV32hZYSna/j13fzzmZ+fn8CRSLC3u/v0s/v0qv/PSvn0w7qxl/3Vb3qiXsKsdPfr2v7fZv7GTv/DPNGscuycJOvDU/+8NsSYU9OXOP/fW8mONbu4mReTb1oAAAHBSURBVEjH7dVXU8JAFAXgzQY2a0AxiRHpVbooKirYG/bee++9d/3rbhQdcYDZOD744Hm8M9/czdlkAsB//lyOVYsY6IUAVIHt3sYZaoQG+mG0EfZDCOupwMAFQejFdH53PRII7NBtMQaGARovGq0OBRE6glV0yovGJopKML4J3QZoDRhGbwYbHp5HTqlrOHk3zHgIXUUpTcLa16SY0dDjE4QHVEZrLeC4XQMzWB1E95eHVJVrNcRw3L5iSLxGesP17QXRGOXzfJgCq97oRTGVJqFcszemxmi06bdjOqra/GSPWjNVzvvdtrBZjZnkFSNJ0pYqM+TzeHwdLtcm9dl4/kwuLq6Q27pEMfcJS3VrXzoo54eIwVh2tneKyZyGfAsrC5+98X4f2YOx0+FoEYQ8BuOmz679bg/Zo6SwVbDkMwZmWTP/PnDbPBVp1GyxZzVzutpVxZSt16UnNskny05CCit77GxWZFpkmDgxOv3HJCx1tDkdBFV2p9hIVlRTx5B8McAsubraHWRPd4RlG7KiWpM+05DOXWJnS2tzT4plwzkvqWYpwxAlioJgsbPsRs6rjc+a9N9G5qRiIg3/f89fyysB1z0ZPtq/DAAAAABJRU5ErkJggg==",S="/assets/image-使用标识符导入条目-CmqyxjZP.png",O="/assets/image-importing_standardized_formats_1-BqMK1mhM.webp",V="/assets/image-importing_standardized_formats_2-yFWqjc2R.webp",E="/assets/image-importing_standardized_formats_3-C_nSPGi_.webp",T="/assets/image-importing_standardized_formats_4-DYLJiFQw.webp",F="/assets/image-importing_standardized_formats_5-G_AKQLQM.webp",L="/assets/image-importing_standardized_formats_6-Cs3mSqgL.webp",K="/assets/image-manual-add-item-1-BhQVTbzp.png",M="/assets/image-manual-add-item-2-BqPAL24V.png",Q="/assets/image-manual-add-item-3-Df0l0IWB.png",J="/assets/image-manual-add-item-4-JqhIPPrM.png",N="/assets/image-manual-add-item-5-9cUveSl9.png",q={},X=t("h1",{id:"添加条目",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#添加条目"},[t("span",null,"添加条目")])],-1),Y={id:"条目与附件-初级",tabindex:"-1"},j={class:"header-anchor",href:"#条目与附件-初级"},W=n('

在使用 Zotero 之前,我希望可以引入几个术语:

条目 Item

Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见的条目类别:

图标类型
默认
webpage普通网页
journal期刊文章
会议论文会议论文
thesis学位论文
书籍图书
folder多个项目

附件 Attachments

附件,通常是文件,例如论文的全文 PDF、支持材料等。常见的附件包括:

  • PDF 附件 icon-pdf.png
  • 笔记附件 icon-笔记附件.png
  • 网页快照 icon-网页快照.png

附件既可以作为独立项添加,也可以作为常规 Zotero 条目的子项添加。一般来说,文件当做条目的子项添加。当一篇文献只有附件而没有条目的时候是不能被成功引用的,而一篇文献有条目信息而没有附件时,并不影响正常的引用。

',8),H={id:"通过浏览器添加条目-推荐",tabindex:"-1"},$={class:"header-anchor",href:"#通过浏览器添加条目-推荐"},tt={class:"hint-container tip"},et=t("p",{class:"hint-container-title"},"提示",-1),it=n('

通过浏览器添加条目是最方便的途径之一,也是 Zotero 的特色功能之一。

当所在的网页呈现出不同的内容类型时,Zotero Connector 会显示不同的图标(各种类别的图标见 #条目-item)。例如,如果打开的是一篇期刊文章,那么图标就会变成下图(红框圈出)。

从浏览器导入条目
从浏览器导入条目

点击该图标,将在网页右上角显示如下的对话框,选择保存的合集位置,添加标签,即可将网页对应的文献的元数据录入 Zotero :

从浏览器添加条目-对话框
从浏览器添加条目-对话框

此时打开 Zotero,将会自动定位到保存时选择的合集:

添加条目后信息窗格
添加条目后信息窗格
',7),at={class:"hint-container tip"},nt=t("p",{class:"hint-container-title"},"提示",-1),ot=t("br",null,null,-1),st={href:"https://zotero.yuque.com/staff-gkhviy/zotero/mribmi?view=doc_embed",target:"_blank",rel:"noopener noreferrer"},rt=t("p",null,"如果抓取失败且尝试了上述办法仍然不能解决,请手动下载 PDF 附件并通过附件添加条目。",-1),lt=n('

通过附件添加条目(推荐)

对于已有 PDF 文件的文献,可以通过将 PDF 文件拖拽到 Zotero 中来添加这篇文献的附件。添加附件后,Zotero 会自动通过 PDF 来识别文献 —— 英文文献通常通过识别 PDF 的元数据,中文文献则识别文件名(中文文献文件识别能力由 茉莉花 插件提供)。

小提示

不管是中文文献还是英文文献,都 存在一定的概率无法成功匹配到信息并自动创建条目 。如果遇到问题了,还是 建议回到期刊官网的论文详情页抓取信息并创建条目 ,然后将 PDF 文件以附件的形式添加到该条目上(将附件拖到该条目上即可,但不要拖到条目之间的间隙里)。如果 Zotero 确实不支持抓取你正在使用的网站,你也可以采用后文的进阶方法创建条目。

如果您通过附件添加条目信息,建议您在添加后检查每一个条目的元数据。这一功能自动匹配的元数据可能存在错误,建议人工核对后再使用。

英文文献附件自动识别

很多英文文献的 PDF 附件中带有论文的元数据,而 Zotero 也支持通过 PDF 附件中的元数据自动抓取文献信息并自动创建副条目。具体操作如下:

  1. 从网页上下载好文献的 PDF 附件。

  2. 将 PDF 附件 直接拖入 Zotero 文献列表中的空白区域。

    列表种没有空白区域了怎么办?

    如果页面上没有空白区域了,可以 将附件拖到任意两个条目中间的间隙处 ,此时相邻条目间隙处会出现一个横线,如上图所示。请不要将附件直接拖到条目上,因为拖到条目上是另一个功能:将这一文件作为附件添加到该条目中。

    拖入附件
    拖入附件
  3. 此时,界面右上角同步按钮旁会多显示一个图标,这意味着 Zotero 正在检索并匹配这一条目信息。

    获取元数据
    获取元数据
  4. 匹配完成后,Zotero 会自动使用元数据创建父条目,并将这一 PDF 文件作为附件添加到新生成的条目中。

    获取元数据成功
    获取元数据成功
重新抓取外文 PDF 元数据

如果你 之前添加的外文附件未能自动创建父条目 ,你也可以使用这一功能来重新 手动触发一次检索匹配

  1. 右键点击 不附属于任何条目的 PDF 附件

  2. 点击 检索元数据。

    检索元数据
    检索元数据

    Zotero 会弹出一个元数据检索窗口显示检索进度。如果检索完成后仍有部分文件检索失败,这意味着 Zotero 无法为这一文献自动检索元数据,请使用其他方法获取文献元数据。

    元数据检索窗口
    元数据检索窗口

    提示

    请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里不会出现 检索元数据 按钮。

中文文献附件自动识别

',8),dt={class:"hint-container info"},gt=t("p",{class:"hint-container-title"},"中文 PDF/CAJ 识别依赖茉莉花插件",-1),ct=t("p",null,"中文论文的 PDF/CAJ 附件中通常并没有完善的论文的元数据,Zotero 本身也并不支持为中文文献抓取元数据。",-1),pt=t("p",null,[e("对于中文文献,茉莉花(Jasminum)插件 可以 通过 "),t("strong",null,"文件名"),e(" 自动检索元数据并创建条目。 "),t("strong",null,"添加附件的方式与英文文献相同"),e(" ,文献添加后茉莉花会自动检索文献、创建条目并将附件移动到条目中。")],-1),At=t("figure",null,[t("img",{src:C,alt:"获取元数据成功",tabindex:"0",loading:"lazy"}),t("figcaption",null,"获取元数据成功")],-1),mt={href:"https://plugins.zotero-chinese.com",target:"_blank",rel:"noopener noreferrer"},ft=n('

由于为中文文献抓取知网元数据时需要根据文件名检索文献信息, 这一功能对文件名的要求较高。具体要求请看如下说明:

  1. 文件名的格式完全符合茉莉花插件设置中的格式(中文文件名必须为:应该是 标题_第一作者.pdf标题_第一作者.caj)。不是该命名格式的文件将直接导致识别失败。

    修改文件名识别模板

    文件名的命名格式 (用于匹配导入附件的文件名中的文献信息)可以在 Zotero 设置中茉莉花插件的设置中的 文件名模板设置 进行修改。这里 默认的设置内容和知网上直接下载下来的文件名是一致的。

    文件名格式
    文件名格式
  2. 标题/姓名内容中不含(以下划线为代表的)特殊标点符号(可以尝试将这些符号替换为空格再尝试检索匹配)

  3. 文件名没有被添加额外的内容(如重复文件自动添加的编号或 xx 看图王一类的无关信息)。

    如果文献名称比较特别,或文件名里有标点,或者文件名被编辑过,都很有可能会匹配失败并报错。 如下图所示:

    错误文件名
    错误文件名

如果因附件名称不规范导致抓取失败,建议你去网页上检索这篇文献并抓取文献信息(元数据),再把这一附件拖入刚刚抓好的文献条目里。

你也可以先将文件名更改成符合前面规定的样子,在 Zotero 中先选中 PDF 附件,然后去右边栏中编辑文件名,并 勾选上“重命名相关文件” ,然后再尝试前文提到的手动触发检索匹配:

重命名附件
重命名附件

请不要一次性大批量导入文献

请务必注意,如果一次性导入的文献过多, 自动检索元数据过于频繁依然可能导致被知网风控 。如果需要导入的文献很多,建议分多次进行,每次仅少量导入一小部分文献。

重新抓取中文 PDF/CAJ 元数据

如果你 之前添加的中文附件未能自动创建父条目 ,你也可以使用这一功能来重新 手动触发一次检索匹配

  1. 右键点击 不附属于任何条目的 PDF/CAJ 附件

  2. 点击 知网助手,然后点击 抓取知网元数据。

    抓取知网元数据
    抓取知网元数据

    提示

    请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里只会有 更新知网引用数 的功能。

通过标识符添加条目

如果已知文献的 ISBN、DOI、PMID 或 arXiv ID 等标识符, 则可以通过这些标识符将文献导入到 Zotero 中。

在 Zotero 中,点击通过标识符添加条目图标, 输入标识符,如 DOI: 10.1016/j.cej.2020.125798,然后回车,则对应的文献就会被导入到库中。

如果要一次输入多个标识符,在输入第一个标识符后按 Shift + Enter 会进入多行模式,随后输入其余标识符(每行一个),并通过 Enter 换行。输入完成后,再按 Shift + Enter 即可一次导入所有项目。

使用标识符导入条目
使用标识符导入条目

提示

这一功能对中文文献(论文、书籍等)基本无效。请使用其他方式为中文文献添加条目。

由通用格式的引用信息导入(通用方法)

',14),ht=t("br",null,null,-1),ut={href:"https://www.zotero.org/support/kb/importing_standardized_formats",target:"_blank",rel:"noopener noreferrer"},bt=n('

提示

本方法可以用来从网站/其他软件批量导出/迁移文献信息至 Zotero。

注意

请注意,此方法导入的只有文献信息,是不会包含附件的。

  • 对于 外文 文献:你可以右键点击导入后的条目,然后点击“找到可用的 PDF”按钮,由 Zotero 查找可用的附件。如果你安装有 Sci-Hub 插件,也可以借助该插件来补充附件。
  • 对于 中文 文献:知网以外的中文文献基本没有自动补充附件的可能。

请尽量避免批量为多个条目抓取附件! 批量抓取可能导致你被风控或封禁(特别是知网)。

这里以一篇万方上的学位论文为例简要介绍一下这一方法:

  1. 打开论文的详情页,点击 引用 按钮;

  2. 选择一个 Zotero 支持的通用格式;

    从网站导出通用格式的文献数据
    从网站导出通用格式的文献数据
  3. 下载包含引用信息的文件/复制包含引用信息的文本(具体操作因网站不同而略有区别);

  4. 在 Zotero 文献列表页面点击 文件/File -> 导入/Import从剪贴板导入/Import from Clipboard (根据你的实际情况选择使用哪个功能);

    点击导入
    点击导入
  5. 根据界面提示完成导入(这里以通过文件导入为例演示);

    从文件导入
    从文件导入
    选择导入的文件
    选择导入的文件
    设定从文件导入的选项
    设定从文件导入的选项
  6. 导入完成后,该条目会混入文库中。你可以在左边栏分类列表最下面的 未分类条目/Unfiled Item 中按照年份排序来方便地找到刚刚导入的条目,将其拖入你需要的分类中:

    找到导入的文献
    找到导入的文献
',4),yt={class:"hint-container tip"},vt=t("p",{class:"hint-container-title"},"提示",-1),xt=n("
  • 不同导出格式里的信息可能略有差异,而且可能都不完整甚至有错,你可以后续自己手动编辑右边栏中的 信息/Info 进行调整;

    以万方为例, RefWorks 格式导入的结果中 分类/Type 信息是分类号(TP311.52),而不是学位类型(硕士/博士); EndNote 格式的结果中将导师姓名也写入了作者列表,而且将两个导师的姓名直接写成了第二作者的姓和名; Bibtex 格式的结果中没有摘要,而且分类写为了硕士论文。

  • 你也可以去百度学术这一类的受支持的通用检索网站抓取/导出引用信息。

  • 有条件的话尽量还是直接从网页上抓取,毕竟这么导入有可能出现各种填写不规范的情况,也可能缺少一些信息。

  • ",3),zt=n('

    手动创建条目(万能方法)

    如果你的文献非常特殊,全网也检索不到(比如一些古籍),你依然可以使用纯手动的方法为它创建一个条目。

    1. 新建一个空白条目;
    • 如果你目前还没有这篇文献的文件,可以直接点击菜单栏里的 文件 -> 新建条目 ,然后选择你所需的文献类型(此处以最常见的 期刊文章 为例):

      创建期刊文章条目
      创建期刊文章条目
    • 如果你已经在 Zotero 文库中添加了文献的文件,可以右键点击这个文件,然后点击 创建父条目... ,并在弹出的窗口中点击 手动录入

      为已有的附件创建父条目
      为已有的附件创建父条目
      点击手动录入按钮
      点击手动录入按钮
    1. 在右边栏里完善文献信息。

      创建了条目后,Zotero 会自动选中这一新建的条目,此时你可以在右边栏里修改这个条目的类型,也可以完善这个条目的详细信息(也就是这篇文献的元数据)。为了正确地引用这个条目,不漏掉信息,请尽可能全面地填写右边的信息(当然,如果这是你自己的一篇文档,或者是个 PPT,未来也不会用于再文献里引用,那就无所谓了)。

    • 先将条目修改为正确的文献类型(这里以书籍为例):

      选择正确的文献类型
      选择正确的文献类型
    • 然后手动填写文献的相关信息(如标题、作者、发布日期……)

      手动填写必要的文献信息
      手动填写必要的文献信息

    从其他工具导入

    ',7);function Pt(Zt,Gt){const o=r("RouteLink"),l=r("Badge"),s=r("ExternalLinkIcon");return p(),A("div",null,[X,t("p",null,[e("本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 "),i(o,{to:"/user-guide/add-attachments.html"},{default:a(()=>[e("添加附件")]),_:1}),e(" 页面。")]),t("h2",Y,[t("a",j,[t("span",null,[e("条目与附件 "),i(l,{type:"tip"},{default:a(()=>[e("初级")]),_:1})])])]),W,t("h2",H,[t("a",$,[t("span",null,[e("通过浏览器添加条目 "),i(l,{type:"tip"},{default:a(()=>[e("推荐")]),_:1})])])]),t("div",tt,[et,t("p",null,[e("使用这种方法需要确保以安装浏览器插件 Zotero Connector。如未安装,请参考:"),i(o,{to:"/user-guide/install.html"},{default:a(()=>[e("Zotero 下载与安装")]),_:1}),e(" 。")])]),it,t("div",at,[nt,t("p",null,[e("Connector 抓取中文文献能力依靠中文 Translator 支持,更新 Translator 请参考:"),ot,i(o,{to:"/user-guide/faqs/update-translators.html"},{default:a(()=>[e("如何更新 Translator")]),_:1}),e("。")]),t("p",null,[e("Connector 抓取文献错误解决:"),t("a",st,[e("从浏览器抓取条目时发生错误 / 抓取时不能自动下载 PDF / 无法自动给添加的 PDF 附件创建条目"),i(s)])]),rt]),lt,t("div",dt,[gt,ct,pt,At,t("p",null,[e("如果你没有安装茉莉花,请前往 "),t("a",mt,[e("插件商店"),i(s)]),e(" 下载安装插件。关于什么是插件,请参阅 "),i(o,{to:"/user-guide/plugins/about-plugin.html"},{default:a(()=>[e("关于插件")]),_:1}),e("。")])]),ft,t("p",null,[e("大多数学术网站均提供了将文献信息导出为通用格式的功能。如果 Zotero Connector 无法直接从网页抓取文献信息,可以试试从网站上导出通用格式的引用信息,然后再在 Zotero 直接导入这一引文信息,最后再手动将附件附在导入的条目上。这里有 Zotero 支持导入的格式列表:"),ht,t("a",ut,[e("How do I import BibTeX or other standardized formats?"),i(s)])]),bt,t("div",yt,[vt,t("ol",null,[t("li",null,[t("p",null,[e("这样导入基本意味着无法自动抓取附件(毕竟,对于好抓取附件的网站,也不会这么难导入)。你需要手动下载附件,然后将附件添加到这一条目上。详见"),i(o,{to:"/user-guide/add-attachments.html"},{default:a(()=>[e("添加附件教程")]),_:1}),e(";")])]),xt])]),zt,t("p",null,[e("Zotero 可以将条目从 EndNote、Mendeley、Word 引用 等地方迁移到库中,详情请参阅 "),i(o,{to:"/user-guide/import-from-other-software.html"},{default:a(()=>[e("从其他工具导入条目到 Zotero")]),_:1}),e("。")])])}const It=c(q,[["render",Pt],["__file","add-items.html.vue"]]),Dt=JSON.parse('{"path":"/user-guide/add-items.html","title":"添加条目","lang":"zh-CN","frontmatter":{"icon":"add","date":"2023-06-28T21:14:03.000Z","updated":"2023-07-28T10:38:12.000Z","description":"添加条目 本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 页面。 条目与附件 在使用 Zotero 之前,我希望可以引入几个术语: 条目 Item Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/add-items.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"添加条目"}],["meta",{"property":"og:description","content":"添加条目 本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 页面。 条目与附件 在使用 Zotero 之前,我希望可以引入几个术语: 条目 Item Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:14:03.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"添加条目\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:14:03.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"条目与附件 初级","slug":"条目与附件-初级","link":"#条目与附件-初级","children":[{"level":3,"title":"条目 Item","slug":"条目-item","link":"#条目-item","children":[]},{"level":3,"title":"附件 Attachments","slug":"附件-attachments","link":"#附件-attachments","children":[]}]},{"level":2,"title":"通过浏览器添加条目 推荐","slug":"通过浏览器添加条目-推荐","link":"#通过浏览器添加条目-推荐","children":[]},{"level":2,"title":"通过附件添加条目(推荐)","slug":"通过附件添加条目-推荐","link":"#通过附件添加条目-推荐","children":[{"level":3,"title":"英文文献附件自动识别","slug":"英文文献附件自动识别","link":"#英文文献附件自动识别","children":[]},{"level":3,"title":"中文文献附件自动识别","slug":"中文文献附件自动识别","link":"#中文文献附件自动识别","children":[]}]},{"level":2,"title":"通过标识符添加条目","slug":"通过标识符添加条目","link":"#通过标识符添加条目","children":[]},{"level":2,"title":"由通用格式的引用信息导入(通用方法)","slug":"由通用格式的引用信息导入-通用方法","link":"#由通用格式的引用信息导入-通用方法","children":[]},{"level":2,"title":"手动创建条目(万能方法)","slug":"手动创建条目-万能方法","link":"#手动创建条目-万能方法","children":[]},{"level":2,"title":"从其他工具导入","slug":"从其他工具导入","link":"#从其他工具导入","children":[]}],"git":{"createdTime":1695169095000,"updatedTime":1708597886000,"contributors":[{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":3},{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":3},{"name":"Victor","email":"40191996+wakewon@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":1},{"name":"l0o0","email":"linxzh1989@gmail.com","commits":1}]},"readingTime":{"minutes":14.07,"words":4221},"filePathRelative":"user-guide/add-items.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 添加附件 页面。

    \\n

    条目与附件

    \\n

    在使用 Zotero 之前,我希望可以引入几个术语:

    \\n

    条目 Item

    \\n

    Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见的条目类别:

    \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
    图标类型
    默认
    普通网页
    期刊文章
    会议论文
    学位论文
    图书
    多个项目
    "}');export{It as comp,Dt as data}; diff --git a/assets/app-pLjDz5vt.js b/assets/app-pLjDz5vt.js new file mode 100644 index 0000000000..ffa746944d --- /dev/null +++ b/assets/app-pLjDz5vt.js @@ -0,0 +1,31 @@ +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ll(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ye={},yn=[],rt=()=>{},iu=()=>!1,ur=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),sl=e=>e.startsWith("onUpdate:"),Ae=Object.assign,al=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},cu=Object.prototype.hasOwnProperty,ce=(e,t)=>cu.call(e,t),ne=Array.isArray,zn=e=>Zr(e)==="[object Map]",uu=e=>Zr(e)==="[object Set]",re=e=>typeof e=="function",Me=e=>typeof e=="string",Ur=e=>typeof e=="symbol",Ee=e=>e!==null&&typeof e=="object",ya=e=>(Ee(e)||re(e))&&re(e.then)&&re(e.catch),fu=Object.prototype.toString,Zr=e=>fu.call(e),du=e=>Zr(e).slice(8,-1),pu=e=>Zr(e)==="[object Object]",il=e=>Me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_n=ll(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},hu=/-(\w)/g,st=qr(e=>e.replace(hu,(t,n)=>n?n.toUpperCase():"")),vu=/\B([A-Z])/g,Rn=qr(e=>e.replace(vu,"-$1").toLowerCase()),fr=qr(e=>e.charAt(0).toUpperCase()+e.slice(1)),uo=qr(e=>e?`on${fr(e)}`:""),zt=(e,t)=>!Object.is(e,t),fo=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},mu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},gu=e=>{const t=Me(e)?Number(e):NaN;return isNaN(t)?e:t};let Xl;const _a=()=>Xl||(Xl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function cl(e){if(ne(e)){const t={};for(let n=0;n{if(n){const r=n.split(yu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ul(e){let t="";if(Me(e))t=e;else if(ne(e))for(let n=0;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),un()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ft,n=on;try{return Ft=!0,on=this,this._runnings++,Jl(this),this.fn()}finally{Ql(this),this._runnings--,on=n,Ft=t}}stop(){var t;this.active&&(Jl(this),Ql(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Lu(e){return e.value}function Jl(e){e._trackId++,e._depsLength=0}function Ql(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Br=new WeakMap,ln=Symbol(""),$o=Symbol("");function Ke(e,t,n){if(Ft&&on){let r=Br.get(e);r||Br.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=La(()=>r.delete(n))),ka(on,o)}}function xt(e,t,n,r,o,l){const s=Br.get(e);if(!s)return;let a=[];if(t==="clear")a=[...s.values()];else if(n==="length"&&ne(e)){const i=Number(r);s.forEach((u,f)=>{(f==="length"||!Ur(f)&&f>=i)&&a.push(u)})}else switch(n!==void 0&&a.push(s.get(n)),t){case"add":ne(e)?il(n)&&a.push(s.get("length")):(a.push(s.get(ln)),zn(e)&&a.push(s.get($o)));break;case"delete":ne(e)||(a.push(s.get(ln)),zn(e)&&a.push(s.get($o)));break;case"set":zn(e)&&a.push(s.get(ln));break}dl();for(const i of a)i&&xa(i,4);pl()}function Su(e,t){var n;return(n=Br.get(e))==null?void 0:n.get(t)}const Au=ll("__proto__,__v_isRef,__isVue"),Sa=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ur)),es=Pu();function Pu(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=se(this);for(let l=0,s=this.length;l{e[t]=function(...n){cn(),dl();const r=se(this)[t].apply(this,n);return pl(),un(),r}}),e}function Ru(e){const t=se(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class Aa{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return l;if(n==="__v_raw")return r===(o?l?Wu:Oa:l?Ia:Ra).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=ne(t);if(!o){if(s&&ce(es,n))return Reflect.get(es,n,r);if(n==="hasOwnProperty")return Ru}const a=Reflect.get(t,n,r);return(Ur(n)?Sa.has(n):Au(n))||(o||Ke(t,"get",n),l)?a:De(a)?s&&il(n)?a:a.value:Ee(a)?o?In(a):dr(a):a}}class Pa extends Aa{constructor(t=!1){super(!1,t)}set(t,n,r,o){let l=t[n];if(!this._isShallow){const i=kn(l);if(!Fr(r)&&!kn(r)&&(l=se(l),r=se(r)),!ne(t)&&De(l)&&!De(r))return i?!1:(l.value=r,!0)}const s=ne(t)&&il(n)?Number(n)e,Yr=e=>Reflect.getPrototypeOf(e);function Er(e,t,n=!1,r=!1){e=e.__v_raw;const o=se(e),l=se(t);n||(zt(t,l)&&Ke(o,"get",t),Ke(o,"get",l));const{has:s}=Yr(o),a=r?hl:n?gl:Jn;if(s.call(o,t))return a(e.get(t));if(s.call(o,l))return a(e.get(l));e!==o&&e.get(t)}function Cr(e,t=!1){const n=this.__v_raw,r=se(n),o=se(e);return t||(zt(e,o)&&Ke(r,"has",e),Ke(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Tr(e,t=!1){return e=e.__v_raw,!t&&Ke(se(e),"iterate",ln),Reflect.get(e,"size",e)}function ts(e){e=se(e);const t=se(this);return Yr(t).has.call(t,e)||(t.add(e),xt(t,"add",e,e)),this}function ns(e,t){t=se(t);const n=se(this),{has:r,get:o}=Yr(n);let l=r.call(n,e);l||(e=se(e),l=r.call(n,e));const s=o.call(n,e);return n.set(e,t),l?zt(t,s)&&xt(n,"set",e,t):xt(n,"add",e,t),this}function rs(e){const t=se(this),{has:n,get:r}=Yr(t);let o=n.call(t,e);o||(e=se(e),o=n.call(t,e)),r&&r.call(t,e);const l=t.delete(e);return o&&xt(t,"delete",e,void 0),l}function os(){const e=se(this),t=e.size!==0,n=e.clear();return t&&xt(e,"clear",void 0,void 0),n}function kr(e,t){return function(r,o){const l=this,s=l.__v_raw,a=se(s),i=t?hl:e?gl:Jn;return!e&&Ke(a,"iterate",ln),s.forEach((u,f)=>r.call(o,i(u),i(f),l))}}function xr(e,t,n){return function(...r){const o=this.__v_raw,l=se(o),s=zn(l),a=e==="entries"||e===Symbol.iterator&&s,i=e==="keys"&&s,u=o[e](...r),f=n?hl:t?gl:Jn;return!t&&Ke(l,"iterate",i?$o:ln),{next(){const{value:d,done:p}=u.next();return p?{value:d,done:p}:{value:a?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Pt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Nu(){const e={get(l){return Er(this,l)},get size(){return Tr(this)},has:Cr,add:ts,set:ns,delete:rs,clear:os,forEach:kr(!1,!1)},t={get(l){return Er(this,l,!1,!0)},get size(){return Tr(this)},has:Cr,add:ts,set:ns,delete:rs,clear:os,forEach:kr(!1,!0)},n={get(l){return Er(this,l,!0)},get size(){return Tr(this,!0)},has(l){return Cr.call(this,l,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:kr(!0,!1)},r={get(l){return Er(this,l,!0,!0)},get size(){return Tr(this,!0)},has(l){return Cr.call(this,l,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:kr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=xr(l,!1,!1),n[l]=xr(l,!0,!1),t[l]=xr(l,!1,!0),r[l]=xr(l,!0,!0)}),[e,n,t,r]}const[$u,Hu,Bu,Fu]=Nu();function vl(e,t){const n=t?e?Fu:Bu:e?Hu:$u;return(r,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ce(n,o)&&o in r?n:r,o,l)}const Vu={get:vl(!1,!1)},zu={get:vl(!1,!0)},ju={get:vl(!0,!1)},Ra=new WeakMap,Ia=new WeakMap,Oa=new WeakMap,Wu=new WeakMap;function Gu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ku(e){return e.__v_skip||!Object.isExtensible(e)?0:Gu(du(e))}function dr(e){return kn(e)?e:ml(e,!1,Ou,Vu,Ra)}function Ma(e){return ml(e,!1,Du,zu,Ia)}function In(e){return ml(e,!0,Mu,ju,Oa)}function ml(e,t,n,r,o){if(!Ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const s=Ku(e);if(s===0)return e;const a=new Proxy(e,s===2?r:n);return o.set(e,a),a}function wn(e){return kn(e)?wn(e.__v_raw):!!(e&&e.__v_isReactive)}function kn(e){return!!(e&&e.__v_isReadonly)}function Fr(e){return!!(e&&e.__v_isShallow)}function Da(e){return wn(e)||kn(e)}function se(e){const t=e&&e.__v_raw;return t?se(t):e}function Na(e){return Object.isExtensible(e)&&Hr(e,"__v_skip",!0),e}const Jn=e=>Ee(e)?dr(e):e,gl=e=>Ee(e)?In(e):e;class $a{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new fl(()=>t(this._value),()=>jn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=se(this);return(!t._cacheable||t.effect.dirty)&&zt(t._value,t._value=t.effect.run())&&jn(t,4),bl(t),t.effect._dirtyLevel>=2&&jn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Uu(e,t,n=!1){let r,o;const l=re(e);return l?(r=e,o=rt):(r=e.get,o=e.set),new $a(r,o,l||!o,n)}function bl(e){var t;Ft&&on&&(e=se(e),ka(on,(t=e.dep)!=null?t:e.dep=La(()=>e.dep=void 0,e instanceof $a?e:void 0)))}function jn(e,t=4,n){e=se(e);const r=e.dep;r&&xa(r,t)}function De(e){return!!(e&&e.__v_isRef===!0)}function J(e){return Ha(e,!1)}function $e(e){return Ha(e,!0)}function Ha(e,t){return De(e)?e:new Zu(e,t)}class Zu{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:se(t),this._value=n?t:Jn(t)}get value(){return bl(this),this._value}set value(t){const n=this.__v_isShallow||Fr(t)||kn(t);t=n?t:se(t),zt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Jn(t),jn(this,4))}}function sn(e){return De(e)?e.value:e}const qu={get:(e,t,n)=>sn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return De(o)&&!De(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Ba(e){return wn(e)?e:new Proxy(e,qu)}class Yu{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>bl(this),()=>jn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function yl(e){return new Yu(e)}class Xu{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Su(se(this._object),this._key)}}class Ju{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Xr(e,t,n){return De(e)?e:re(e)?new Ju(e):Ee(e)&&arguments.length>1?Qu(e,t,n):J(e)}function Qu(e,t,n){const r=e[t];return De(r)?r:new Xu(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Vt(e,t,n,r){try{return r?e(...r):e()}catch(o){pr(o,t,n)}}function lt(e,t,n,r){if(re(e)){const l=Vt(e,t,n,r);return l&&ya(l)&&l.catch(s=>{pr(s,t,n)}),l}const o=[];for(let l=0;l>>1,o=Ne[r],l=er(o);lbt&&Ne.splice(t,1)}function rf(e){ne(e)?En.push(...e):(!Dt||!Dt.includes(e,e.allowRecurse?tn+1:tn))&&En.push(e),Va()}function ls(e,t,n=Qn?bt+1:0){for(;ner(n)-er(r));if(En.length=0,Dt){Dt.push(...t);return}for(Dt=t,tn=0;tne.id==null?1/0:e.id,of=(e,t)=>{const n=er(e)-er(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function za(e){Ho=!1,Qn=!0,Ne.sort(of);try{for(bt=0;btMe(h)?h.trim():h)),d&&(o=n.map(mu))}let a,i=r[a=uo(t)]||r[a=uo(st(t))];!i&&l&&(i=r[a=uo(Rn(t))]),i&<(i,e,6,o);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,lt(u,e,6,o)}}function ja(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const l=e.emits;let s={},a=!1;if(!re(e)){const i=u=>{const f=ja(u,t,!0);f&&(a=!0,Ae(s,f))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!l&&!a?(Ee(e)&&r.set(e,null),null):(ne(l)?l.forEach(i=>s[i]=null):Ae(s,l),Ee(e)&&r.set(e,s),s)}function Qr(e,t){return!e||!ur(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Rn(t))||ce(e,t))}let ot=null,Wa=null;function zr(e){const t=ot;return ot=e,Wa=e&&e.type.__scopeId||null,t}function sf(e,t=ot,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&gs(-1);const l=zr(t);let s;try{s=e(...o)}finally{zr(l),r._d&&gs(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function po(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:l,propsOptions:[s],slots:a,attrs:i,emit:u,render:f,renderCache:d,data:p,setupState:h,ctx:g,inheritAttrs:E}=e;let _,y;const k=zr(e);try{if(n.shapeFlag&4){const x=o||r,D=x;_=ct(f.call(D,x,d,l,h,p,g)),y=i}else{const x=t;_=ct(x.length>1?x(l,{attrs:i,slots:a,emit:u}):x(l,null)),y=t.props?i:af(i)}}catch(x){Zn.length=0,pr(x,e,1),_=Pe(yt)}let b=_;if(y&&E!==!1){const x=Object.keys(y),{shapeFlag:D}=b;x.length&&D&7&&(s&&x.some(sl)&&(y=cf(y,s)),b=jt(b,y))}return n.dirs&&(b=jt(b),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&(b.transition=n.transition),_=b,zr(k),_}const af=e=>{let t;for(const n in e)(n==="class"||n==="style"||ur(n))&&((t||(t={}))[n]=e[n]);return t},cf=(e,t)=>{const n={};for(const r in e)(!sl(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function uf(e,t,n){const{props:r,children:o,component:l}=e,{props:s,children:a,patchFlag:i}=t,u=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return r?ss(r,s,u):!!s;if(i&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;function Ka(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):rf(e)}const vf=Symbol.for("v-scx"),mf=()=>Ce(vf);function Ua(e,t){return wl(e,null,t)}const Lr={};function le(e,t,n){return wl(e,t,n)}function wl(e,t,{immediate:n,deep:r,flush:o,once:l,onTrack:s,onTrigger:a}=ye){if(t&&l){const C=t;t=(...G)=>{C(...G),D()}}const i=Oe,u=C=>r===!0?C:mn(C,r===!1?1:void 0);let f,d=!1,p=!1;if(De(e)?(f=()=>e.value,d=Fr(e)):wn(e)?(f=()=>u(e),d=!0):ne(e)?(p=!0,d=e.some(C=>wn(C)||Fr(C)),f=()=>e.map(C=>{if(De(C))return C.value;if(wn(C))return u(C);if(re(C))return Vt(C,i,2)})):re(e)?t?f=()=>Vt(e,i,2):f=()=>(h&&h(),lt(e,i,3,[g])):f=rt,t&&r){const C=f;f=()=>mn(C())}let h,g=C=>{h=b.onStop=()=>{Vt(C,i,4),h=b.onStop=void 0}},E;if(mr)if(g=rt,t?n&<(t,i,3,[f(),p?[]:void 0,g]):f(),o==="sync"){const C=mf();E=C.__watcherHandles||(C.__watcherHandles=[])}else return rt;let _=p?new Array(e.length).fill(Lr):Lr;const y=()=>{if(!(!b.active||!b.dirty))if(t){const C=b.run();(r||d||(p?C.some((G,N)=>zt(G,_[N])):zt(C,_)))&&(h&&h(),lt(t,i,3,[C,_===Lr?void 0:p&&_[0]===Lr?[]:_,g]),_=C)}else b.run()};y.allowRecurse=!!t;let k;o==="sync"?k=y:o==="post"?k=()=>ze(y,i&&i.suspense):(y.pre=!0,i&&(y.id=i.uid),k=()=>Jr(y));const b=new fl(f,rt,k),x=Ea(),D=()=>{b.stop(),x&&al(x.effects,b)};return t?n?y():_=b.run():o==="post"?ze(b.run.bind(b),i&&i.suspense):b.run(),E&&E.push(D),D}function gf(e,t,n){const r=this.proxy,o=Me(e)?e.includes(".")?Za(r,e):()=>r[e]:e.bind(r,r);let l;re(t)?l=t:(l=t.handler,n=t);const s=vr(this),a=wl(o,l.bind(r),n);return s(),a}function Za(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),De(e))mn(e.value,t,n,r);else if(ne(e))for(let o=0;o{mn(o,t,n,r)});else if(pu(e))for(const o in e)mn(e[o],t,n,r);return e}function gt(e,t,n,r){const o=e.dirs,l=t&&t.dirs;for(let s=0;s{e.isMounted=!0}),ti(()=>{e.isUnmounting=!0}),e}const et=[Function,Array],Ya={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},bf={name:"BaseTransition",props:Ya,setup(e,{slots:t}){const n=On(),r=qa();return()=>{const o=t.default&&El(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const p of o)if(p.type!==yt){l=p;break}}const s=se(e),{mode:a}=s;if(r.isLeaving)return ho(l);const i=is(l);if(!i)return ho(l);const u=tr(i,s,r,n);nr(i,u);const f=n.subTree,d=f&&is(f);if(d&&d.type!==yt&&!nn(i,d)){const p=tr(d,s,r,n);if(nr(d,p),a==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},ho(l);a==="in-out"&&i.type!==yt&&(p.delayLeave=(h,g,E)=>{const _=Xa(r,d);_[String(d.key)]=d,h[Nt]=()=>{g(),h[Nt]=void 0,delete u.delayedLeave},u.delayedLeave=E})}return l}}},yf=bf;function Xa(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function tr(e,t,n,r){const{appear:o,mode:l,persisted:s=!1,onBeforeEnter:a,onEnter:i,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:E,onAppear:_,onAfterAppear:y,onAppearCancelled:k}=t,b=String(e.key),x=Xa(n,e),D=(N,q)=>{N&<(N,r,9,q)},C=(N,q)=>{const R=q[1];D(N,q),ne(N)?N.every(j=>j.length<=1)&&R():N.length<=1&&R()},G={mode:l,persisted:s,beforeEnter(N){let q=a;if(!n.isMounted)if(o)q=E||a;else return;N[Nt]&&N[Nt](!0);const R=x[b];R&&nn(e,R)&&R.el[Nt]&&R.el[Nt](),D(q,[N])},enter(N){let q=i,R=u,j=f;if(!n.isMounted)if(o)q=_||i,R=y||u,j=k||f;else return;let I=!1;const Q=N[Sr]=we=>{I||(I=!0,we?D(j,[N]):D(R,[N]),G.delayedLeave&&G.delayedLeave(),N[Sr]=void 0)};q?C(q,[N,Q]):Q()},leave(N,q){const R=String(e.key);if(N[Sr]&&N[Sr](!0),n.isUnmounting)return q();D(d,[N]);let j=!1;const I=N[Nt]=Q=>{j||(j=!0,q(),Q?D(g,[N]):D(h,[N]),N[Nt]=void 0,x[R]===e&&delete x[R])};x[R]=e,p?C(p,[N,I]):I()},clone(N){return tr(N,t,n,r)}};return G}function ho(e){if(hr(e))return e=jt(e),e.children=null,e}function is(e){return hr(e)?e.children?e.children[0]:void 0:e}function nr(e,t){e.shapeFlag&6&&e.component?nr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function El(e,t=!1,n){let r=[],o=0;for(let l=0;l1)for(let l=0;l!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Ja(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:l,suspensible:s=!0,onError:a}=e;let i=null,u,f=0;const d=()=>(f++,i=null,p()),p=()=>{let h;return i||(h=i=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),a)return new Promise((E,_)=>{a(g,()=>E(d()),()=>_(g),f+1)});throw g}).then(g=>h!==i&&i?i:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),u=g,g)))};return Z({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const h=Oe;if(u)return()=>vo(u,h);const g=k=>{i=null,pr(k,h,13,!r)};if(s&&h.suspense||mr)return p().then(k=>()=>vo(k,h)).catch(k=>(g(k),()=>r?Pe(r,{error:k}):null));const E=J(!1),_=J(),y=J(!!o);return o&&setTimeout(()=>{y.value=!1},o),l!=null&&setTimeout(()=>{if(!E.value&&!_.value){const k=new Error(`Async component timed out after ${l}ms.`);g(k),_.value=k}},l),p().then(()=>{E.value=!0,h.parent&&hr(h.parent.vnode)&&(h.parent.effect.dirty=!0,Jr(h.parent.update))}).catch(k=>{g(k),_.value=k}),()=>{if(E.value&&u)return vo(u,h);if(_.value&&r)return Pe(r,{error:_.value});if(n&&!y.value)return Pe(n)}}})}function vo(e,t){const{ref:n,props:r,children:o,ce:l}=t.vnode,s=Pe(e,r,o);return s.ref=n,s.ce=l,delete t.vnode.ce,s}const hr=e=>e.type.__isKeepAlive;function _f(e,t){Qa(e,"a",t)}function wf(e,t){Qa(e,"da",t)}function Qa(e,t,n=Oe){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(eo(t,r,n),n){let o=n.parent;for(;o&&o.parent;)hr(o.parent.vnode)&&Ef(r,t,n,o),o=o.parent}}function Ef(e,t,n,r){const o=eo(t,e,r,!0);fn(()=>{al(r[t],o)},n)}function eo(e,t,n=Oe,r=!1){if(n){const o=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;cn();const a=vr(n),i=lt(t,n,e,s);return a(),un(),i});return r?o.unshift(l):o.push(l),l}}const At=e=>(t,n=Oe)=>(!mr||e==="sp")&&eo(e,(...r)=>t(...r),n),Cf=At("bm"),he=At("m"),Tf=At("bu"),ei=At("u"),ti=At("bum"),fn=At("um"),kf=At("sp"),xf=At("rtg"),Lf=At("rtc");function Sf(e,t=Oe){eo("ec",e,t)}const Bo=e=>e?vi(e)?xl(e)||e.proxy:Bo(e.parent):null,Gn=Ae(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Bo(e.parent),$root:e=>Bo(e.root),$emit:e=>e.emit,$options:e=>Cl(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Jr(e.update)}),$nextTick:e=>e.n||(e.n=Gt.bind(e.proxy)),$watch:e=>gf.bind(e)}),mo=(e,t)=>e!==ye&&!e.__isScriptSetup&&ce(e,t),Af={get({_:e},t){const{ctx:n,setupState:r,data:o,props:l,accessCache:s,type:a,appContext:i}=e;let u;if(t[0]!=="$"){const h=s[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return l[t]}else{if(mo(r,t))return s[t]=1,r[t];if(o!==ye&&ce(o,t))return s[t]=2,o[t];if((u=e.propsOptions[0])&&ce(u,t))return s[t]=3,l[t];if(n!==ye&&ce(n,t))return s[t]=4,n[t];Fo&&(s[t]=0)}}const f=Gn[t];let d,p;if(f)return t==="$attrs"&&Ke(e,"get",t),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==ye&&ce(n,t))return s[t]=4,n[t];if(p=i.config.globalProperties,ce(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:l}=e;return mo(o,t)?(o[t]=n,!0):r!==ye&&ce(r,t)?(r[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:l}},s){let a;return!!n[s]||e!==ye&&ce(e,s)||mo(t,s)||(a=l[0])&&ce(a,s)||ce(r,s)||ce(Gn,s)||ce(o.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cs(e){return ne(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fo=!0;function Pf(e){const t=Cl(e),n=e.proxy,r=e.ctx;Fo=!1,t.beforeCreate&&us(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:s,watch:a,provide:i,inject:u,created:f,beforeMount:d,mounted:p,beforeUpdate:h,updated:g,activated:E,deactivated:_,beforeDestroy:y,beforeUnmount:k,destroyed:b,unmounted:x,render:D,renderTracked:C,renderTriggered:G,errorCaptured:N,serverPrefetch:q,expose:R,inheritAttrs:j,components:I,directives:Q,filters:we}=t;if(u&&Rf(u,r,null),s)for(const ee in s){const K=s[ee];re(K)&&(r[ee]=K.bind(n))}if(o){const ee=o.call(n,n);Ee(ee)&&(e.data=dr(ee))}if(Fo=!0,l)for(const ee in l){const K=l[ee],xe=re(K)?K.bind(n,n):re(K.get)?K.get.bind(n,n):rt,ht=!re(K)&&re(K.set)?K.set.bind(n):rt,Qe=T({get:xe,set:ht});Object.defineProperty(r,ee,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:Re=>Qe.value=Re})}if(a)for(const ee in a)ni(a[ee],r,n,ee);if(i){const ee=re(i)?i.call(n):i;Reflect.ownKeys(ee).forEach(K=>{an(K,ee[K])})}f&&us(f,e,"c");function W(ee,K){ne(K)?K.forEach(xe=>ee(xe.bind(n))):K&&ee(K.bind(n))}if(W(Cf,d),W(he,p),W(Tf,h),W(ei,g),W(_f,E),W(wf,_),W(Sf,N),W(Lf,C),W(xf,G),W(ti,k),W(fn,x),W(kf,q),ne(R))if(R.length){const ee=e.exposed||(e.exposed={});R.forEach(K=>{Object.defineProperty(ee,K,{get:()=>n[K],set:xe=>n[K]=xe})})}else e.exposed||(e.exposed={});D&&e.render===rt&&(e.render=D),j!=null&&(e.inheritAttrs=j),I&&(e.components=I),Q&&(e.directives=Q)}function Rf(e,t,n=rt){ne(e)&&(e=Vo(e));for(const r in e){const o=e[r];let l;Ee(o)?"default"in o?l=Ce(o.from||r,o.default,!0):l=Ce(o.from||r):l=Ce(o),De(l)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[r]=l}}function us(e,t,n){lt(ne(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function ni(e,t,n,r){const o=r.includes(".")?Za(n,r):()=>n[r];if(Me(e)){const l=t[e];re(l)&&le(o,l)}else if(re(e))le(o,e.bind(n));else if(Ee(e))if(ne(e))e.forEach(l=>ni(l,t,n,r));else{const l=re(e.handler)?e.handler.bind(n):t[e.handler];re(l)&&le(o,l,e)}}function Cl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,a=l.get(t);let i;return a?i=a:!o.length&&!n&&!r?i=t:(i={},o.length&&o.forEach(u=>jr(i,u,s,!0)),jr(i,t,s)),Ee(t)&&l.set(t,i),i}function jr(e,t,n,r=!1){const{mixins:o,extends:l}=t;l&&jr(e,l,n,!0),o&&o.forEach(s=>jr(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const a=If[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const If={data:fs,props:ds,emits:ds,methods:Fn,computed:Fn,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:Fn,directives:Fn,watch:Mf,provide:fs,inject:Of};function fs(e,t){return t?e?function(){return Ae(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function Of(e,t){return Fn(Vo(e),Vo(t))}function Vo(e){if(ne(e)){const t={};for(let n=0;n1)return n&&re(t)?t.call(r&&r.proxy):t}}function $f(e,t,n,r=!1){const o={},l={};Hr(l,to,1),e.propsDefaults=Object.create(null),oi(e,t,o,l);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=r?o:Ma(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function Hf(e,t,n,r){const{props:o,attrs:l,vnode:{patchFlag:s}}=e,a=se(o),[i]=e.propsOptions;let u=!1;if((r||s>0)&&!(s&16)){if(s&8){const f=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[p,h]=li(d,t,!0);Ae(s,p),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!l&&!i)return Ee(e)&&r.set(e,yn),yn;if(ne(l))for(let f=0;f-1,h[1]=E<0||g-1||ce(h,"default"))&&a.push(d)}}}const u=[s,a];return Ee(e)&&r.set(e,u),u}function ps(e){return e[0]!=="$"&&!_n(e)}function hs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function vs(e,t){return hs(e)===hs(t)}function ms(e,t){return ne(t)?t.findIndex(n=>vs(n,e)):re(t)&&vs(t,e)?0:-1}const si=e=>e[0]==="_"||e==="$stable",Tl=e=>ne(e)?e.map(ct):[ct(e)],Bf=(e,t,n)=>{if(t._n)return t;const r=sf((...o)=>Tl(t(...o)),n);return r._c=!1,r},ai=(e,t,n)=>{const r=e._ctx;for(const o in e){if(si(o))continue;const l=e[o];if(re(l))t[o]=Bf(o,l,r);else if(l!=null){const s=Tl(l);t[o]=()=>s}}},ii=(e,t)=>{const n=Tl(t);e.slots.default=()=>n},Ff=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=se(t),Hr(t,"_",n)):ai(t,e.slots={})}else e.slots={},t&&ii(e,t);Hr(e.slots,to,1)},Vf=(e,t,n)=>{const{vnode:r,slots:o}=e;let l=!0,s=ye;if(r.shapeFlag&32){const a=t._;a?n&&a===1?l=!1:(Ae(o,t),!n&&a===1&&delete o._):(l=!t.$stable,ai(t,o)),s=t}else t&&(ii(e,t),s={default:1});if(l)for(const a in o)!si(a)&&s[a]==null&&delete o[a]};function Wr(e,t,n,r,o=!1){if(ne(e)){e.forEach((p,h)=>Wr(p,t&&(ne(t)?t[h]:t),n,r,o));return}if(Wn(r)&&!o)return;const l=r.shapeFlag&4?xl(r.component)||r.component.proxy:r.el,s=o?null:l,{i:a,r:i}=e,u=t&&t.r,f=a.refs===ye?a.refs={}:a.refs,d=a.setupState;if(u!=null&&u!==i&&(Me(u)?(f[u]=null,ce(d,u)&&(d[u]=null)):De(u)&&(u.value=null)),re(i))Vt(i,a,12,[s,f]);else{const p=Me(i),h=De(i);if(p||h){const g=()=>{if(e.f){const E=p?ce(d,i)?d[i]:f[i]:i.value;o?ne(E)&&al(E,l):ne(E)?E.includes(l)||E.push(l):p?(f[i]=[l],ce(d,i)&&(d[i]=f[i])):(i.value=[l],e.k&&(f[e.k]=i.value))}else p?(f[i]=s,ce(d,i)&&(d[i]=s)):h&&(i.value=s,e.k&&(f[e.k]=s))};s?(g.id=-1,ze(g,n)):g()}}}let Rt=!1;const zf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",jf=e=>e.namespaceURI.includes("MathML"),Ar=e=>{if(zf(e))return"svg";if(jf(e))return"mathml"},Pr=e=>e.nodeType===8;function Wf(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:l,parentNode:s,remove:a,insert:i,createComment:u}}=e,f=(b,x)=>{if(!x.hasChildNodes()){n(null,b,x),Vr(),x._vnode=b;return}Rt=!1,d(x.firstChild,b,null,null,null),Vr(),x._vnode=b,Rt&&console.error("Hydration completed but contains mismatches.")},d=(b,x,D,C,G,N=!1)=>{const q=Pr(b)&&b.data==="[",R=()=>E(b,x,D,C,G,q),{type:j,ref:I,shapeFlag:Q,patchFlag:we}=x;let ge=b.nodeType;x.el=b,we===-2&&(N=!1,x.dynamicChildren=null);let W=null;switch(j){case xn:ge!==3?x.children===""?(i(x.el=o(""),s(b),b),W=b):W=R():(b.data!==x.children&&(Rt=!0,b.data=x.children),W=l(b));break;case yt:k(b)?(W=l(b),y(x.el=b.content.firstChild,b,D)):ge!==8||q?W=R():W=l(b);break;case Un:if(q&&(b=l(b),ge=b.nodeType),ge===1||ge===3){W=b;const ee=!x.children.length;for(let K=0;K{N=N||!!x.dynamicChildren;const{type:q,props:R,patchFlag:j,shapeFlag:I,dirs:Q,transition:we}=x,ge=q==="input"||q==="option";if(ge||j!==-1){Q&>(x,null,D,"created");let W=!1;if(k(b)){W=ci(C,we)&&D&&D.vnode.props&&D.vnode.props.appear;const K=b.content.firstChild;W&&we.beforeEnter(K),y(K,b,D),x.el=b=K}if(I&16&&!(R&&(R.innerHTML||R.textContent))){let K=h(b.firstChild,x,b,D,C,G,N);for(;K;){Rt=!0;const xe=K;K=K.nextSibling,a(xe)}}else I&8&&b.textContent!==x.children&&(Rt=!0,b.textContent=x.children);if(R)if(ge||!N||j&48)for(const K in R)(ge&&(K.endsWith("value")||K==="indeterminate")||ur(K)&&!_n(K)||K[0]===".")&&r(b,K,null,R[K],void 0,void 0,D);else R.onClick&&r(b,"onClick",null,R.onClick,void 0,void 0,D);let ee;(ee=R&&R.onVnodeBeforeMount)&&tt(ee,D,x),Q&>(x,null,D,"beforeMount"),((ee=R&&R.onVnodeMounted)||Q||W)&&Ka(()=>{ee&&tt(ee,D,x),W&&we.enter(b),Q&>(x,null,D,"mounted")},C)}return b.nextSibling},h=(b,x,D,C,G,N,q)=>{q=q||!!x.dynamicChildren;const R=x.children,j=R.length;for(let I=0;I{const{slotScopeIds:q}=x;q&&(G=G?G.concat(q):q);const R=s(b),j=h(l(b),x,R,D,C,G,N);return j&&Pr(j)&&j.data==="]"?l(x.anchor=j):(Rt=!0,i(x.anchor=u("]"),R,j),j)},E=(b,x,D,C,G,N)=>{if(Rt=!0,x.el=null,N){const j=_(b);for(;;){const I=l(b);if(I&&I!==j)a(I);else break}}const q=l(b),R=s(b);return a(b),n(null,x,R,q,D,C,Ar(R),G),q},_=(b,x="[",D="]")=>{let C=0;for(;b;)if(b=l(b),b&&Pr(b)&&(b.data===x&&C++,b.data===D)){if(C===0)return l(b);C--}return b},y=(b,x,D)=>{const C=x.parentNode;C&&C.replaceChild(b,x);let G=D;for(;G;)G.vnode.el===x&&(G.vnode.el=G.subTree.el=b),G=G.parent},k=b=>b.nodeType===1&&b.tagName.toLowerCase()==="template";return[f,d]}const ze=Ka;function Gf(e){return Kf(e,Wf)}function Kf(e,t){const n=_a();n.__VUE__=!0;const{insert:r,remove:o,patchProp:l,createElement:s,createText:a,createComment:i,setText:u,setElementText:f,parentNode:d,nextSibling:p,setScopeId:h=rt,insertStaticContent:g}=e,E=(v,m,w,A=null,S=null,M=null,F=void 0,O=null,$=!!m.dynamicChildren)=>{if(v===m)return;v&&!nn(v,m)&&(A=L(v),Re(v,S,M,!0),v=null),m.patchFlag===-2&&($=!1,m.dynamicChildren=null);const{type:P,ref:z,shapeFlag:X}=m;switch(P){case xn:_(v,m,w,A);break;case yt:y(v,m,w,A);break;case Un:v==null&&k(m,w,A,F);break;case Ye:I(v,m,w,A,S,M,F,O,$);break;default:X&1?D(v,m,w,A,S,M,F,O,$):X&6?Q(v,m,w,A,S,M,F,O,$):(X&64||X&128)&&P.process(v,m,w,A,S,M,F,O,$,U)}z!=null&&S&&Wr(z,v&&v.ref,M,m||v,!m)},_=(v,m,w,A)=>{if(v==null)r(m.el=a(m.children),w,A);else{const S=m.el=v.el;m.children!==v.children&&u(S,m.children)}},y=(v,m,w,A)=>{v==null?r(m.el=i(m.children||""),w,A):m.el=v.el},k=(v,m,w,A)=>{[v.el,v.anchor]=g(v.children,m,w,A,v.el,v.anchor)},b=({el:v,anchor:m},w,A)=>{let S;for(;v&&v!==m;)S=p(v),r(v,w,A),v=S;r(m,w,A)},x=({el:v,anchor:m})=>{let w;for(;v&&v!==m;)w=p(v),o(v),v=w;o(m)},D=(v,m,w,A,S,M,F,O,$)=>{m.type==="svg"?F="svg":m.type==="math"&&(F="mathml"),v==null?C(m,w,A,S,M,F,O,$):q(v,m,S,M,F,O,$)},C=(v,m,w,A,S,M,F,O)=>{let $,P;const{props:z,shapeFlag:X,transition:Y,dirs:te}=v;if($=v.el=s(v.type,M,z&&z.is,z),X&8?f($,v.children):X&16&&N(v.children,$,null,A,S,go(v,M),F,O),te&>(v,null,A,"created"),G($,v,v.scopeId,F,A),z){for(const fe in z)fe!=="value"&&!_n(fe)&&l($,fe,null,z[fe],M,v.children,A,S,Le);"value"in z&&l($,"value",null,z.value,M),(P=z.onVnodeBeforeMount)&&tt(P,A,v)}te&>(v,null,A,"beforeMount");const oe=ci(S,Y);oe&&Y.beforeEnter($),r($,m,w),((P=z&&z.onVnodeMounted)||oe||te)&&ze(()=>{P&&tt(P,A,v),oe&&Y.enter($),te&>(v,null,A,"mounted")},S)},G=(v,m,w,A,S)=>{if(w&&h(v,w),A)for(let M=0;M{for(let P=$;P{const O=m.el=v.el;let{patchFlag:$,dynamicChildren:P,dirs:z}=m;$|=v.patchFlag&16;const X=v.props||ye,Y=m.props||ye;let te;if(w&&Jt(w,!1),(te=Y.onVnodeBeforeUpdate)&&tt(te,w,m,v),z&>(m,v,w,"beforeUpdate"),w&&Jt(w,!0),P?R(v.dynamicChildren,P,O,w,A,go(m,S),M):F||K(v,m,O,null,w,A,go(m,S),M,!1),$>0){if($&16)j(O,m,X,Y,w,A,S);else if($&2&&X.class!==Y.class&&l(O,"class",null,Y.class,S),$&4&&l(O,"style",X.style,Y.style,S),$&8){const oe=m.dynamicProps;for(let fe=0;fe{te&&tt(te,w,m,v),z&>(m,v,w,"updated")},A)},R=(v,m,w,A,S,M,F)=>{for(let O=0;O{if(w!==A){if(w!==ye)for(const O in w)!_n(O)&&!(O in A)&&l(v,O,w[O],null,F,m.children,S,M,Le);for(const O in A){if(_n(O))continue;const $=A[O],P=w[O];$!==P&&O!=="value"&&l(v,O,P,$,F,m.children,S,M,Le)}"value"in A&&l(v,"value",w.value,A.value,F)}},I=(v,m,w,A,S,M,F,O,$)=>{const P=m.el=v?v.el:a(""),z=m.anchor=v?v.anchor:a("");let{patchFlag:X,dynamicChildren:Y,slotScopeIds:te}=m;te&&(O=O?O.concat(te):te),v==null?(r(P,w,A),r(z,w,A),N(m.children||[],w,z,S,M,F,O,$)):X>0&&X&64&&Y&&v.dynamicChildren?(R(v.dynamicChildren,Y,w,S,M,F,O),(m.key!=null||S&&m===S.subTree)&&ui(v,m,!0)):K(v,m,w,z,S,M,F,O,$)},Q=(v,m,w,A,S,M,F,O,$)=>{m.slotScopeIds=O,v==null?m.shapeFlag&512?S.ctx.activate(m,w,A,F,$):we(m,w,A,S,M,F,$):ge(v,m,$)},we=(v,m,w,A,S,M,F)=>{const O=v.component=nd(v,A,S);if(hr(v)&&(O.ctx.renderer=U),rd(O),O.asyncDep){if(S&&S.registerDep(O,W),!v.el){const $=O.subTree=Pe(yt);y(null,$,m,w)}}else W(O,v,m,w,S,M,F)},ge=(v,m,w)=>{const A=m.component=v.component;if(uf(v,m,w))if(A.asyncDep&&!A.asyncResolved){ee(A,m,w);return}else A.next=m,nf(A.update),A.effect.dirty=!0,A.update();else m.el=v.el,A.vnode=m},W=(v,m,w,A,S,M,F)=>{const O=()=>{if(v.isMounted){let{next:z,bu:X,u:Y,parent:te,vnode:oe}=v;{const pn=fi(v);if(pn){z&&(z.el=oe.el,ee(v,z,F)),pn.asyncDep.then(()=>{v.isUnmounted||O()});return}}let fe=z,be;Jt(v,!1),z?(z.el=oe.el,ee(v,z,F)):z=oe,X&&fo(X),(be=z.props&&z.props.onVnodeBeforeUpdate)&&tt(be,te,z,oe),Jt(v,!0);const Ie=po(v),at=v.subTree;v.subTree=Ie,E(at,Ie,d(at.el),L(at),v,S,M),z.el=Ie.el,fe===null&&ff(v,Ie.el),Y&&ze(Y,S),(be=z.props&&z.props.onVnodeUpdated)&&ze(()=>tt(be,te,z,oe),S)}else{let z;const{el:X,props:Y}=m,{bm:te,m:oe,parent:fe}=v,be=Wn(m);if(Jt(v,!1),te&&fo(te),!be&&(z=Y&&Y.onVnodeBeforeMount)&&tt(z,fe,m),Jt(v,!0),X&&de){const Ie=()=>{v.subTree=po(v),de(X,v.subTree,v,S,null)};be?m.type.__asyncLoader().then(()=>!v.isUnmounted&&Ie()):Ie()}else{const Ie=v.subTree=po(v);E(null,Ie,w,A,v,S,M),m.el=Ie.el}if(oe&&ze(oe,S),!be&&(z=Y&&Y.onVnodeMounted)){const Ie=m;ze(()=>tt(z,fe,Ie),S)}(m.shapeFlag&256||fe&&Wn(fe.vnode)&&fe.vnode.shapeFlag&256)&&v.a&&ze(v.a,S),v.isMounted=!0,m=w=A=null}},$=v.effect=new fl(O,rt,()=>Jr(P),v.scope),P=v.update=()=>{$.dirty&&$.run()};P.id=v.uid,Jt(v,!0),P()},ee=(v,m,w)=>{m.component=v;const A=v.vnode.props;v.vnode=m,v.next=null,Hf(v,m.props,A,w),Vf(v,m.children,w),cn(),ls(v),un()},K=(v,m,w,A,S,M,F,O,$=!1)=>{const P=v&&v.children,z=v?v.shapeFlag:0,X=m.children,{patchFlag:Y,shapeFlag:te}=m;if(Y>0){if(Y&128){ht(P,X,w,A,S,M,F,O,$);return}else if(Y&256){xe(P,X,w,A,S,M,F,O,$);return}}te&8?(z&16&&Le(P,S,M),X!==P&&f(w,X)):z&16?te&16?ht(P,X,w,A,S,M,F,O,$):Le(P,S,M,!0):(z&8&&f(w,""),te&16&&N(X,w,A,S,M,F,O,$))},xe=(v,m,w,A,S,M,F,O,$)=>{v=v||yn,m=m||yn;const P=v.length,z=m.length,X=Math.min(P,z);let Y;for(Y=0;Yz?Le(v,S,M,!0,!1,X):N(m,w,A,S,M,F,O,$,X)},ht=(v,m,w,A,S,M,F,O,$)=>{let P=0;const z=m.length;let X=v.length-1,Y=z-1;for(;P<=X&&P<=Y;){const te=v[P],oe=m[P]=$?$t(m[P]):ct(m[P]);if(nn(te,oe))E(te,oe,w,null,S,M,F,O,$);else break;P++}for(;P<=X&&P<=Y;){const te=v[X],oe=m[Y]=$?$t(m[Y]):ct(m[Y]);if(nn(te,oe))E(te,oe,w,null,S,M,F,O,$);else break;X--,Y--}if(P>X){if(P<=Y){const te=Y+1,oe=teY)for(;P<=X;)Re(v[P],S,M,!0),P++;else{const te=P,oe=P,fe=new Map;for(P=oe;P<=Y;P++){const Ze=m[P]=$?$t(m[P]):ct(m[P]);Ze.key!=null&&fe.set(Ze.key,P)}let be,Ie=0;const at=Y-oe+1;let pn=!1,Zl=0;const Nn=new Array(at);for(P=0;P=at){Re(Ze,S,M,!0);continue}let mt;if(Ze.key!=null)mt=fe.get(Ze.key);else for(be=oe;be<=Y;be++)if(Nn[be-oe]===0&&nn(Ze,m[be])){mt=be;break}mt===void 0?Re(Ze,S,M,!0):(Nn[mt-oe]=P+1,mt>=Zl?Zl=mt:pn=!0,E(Ze,m[mt],w,null,S,M,F,O,$),Ie++)}const ql=pn?Uf(Nn):yn;for(be=ql.length-1,P=at-1;P>=0;P--){const Ze=oe+P,mt=m[Ze],Yl=Ze+1{const{el:M,type:F,transition:O,children:$,shapeFlag:P}=v;if(P&6){Qe(v.component.subTree,m,w,A);return}if(P&128){v.suspense.move(m,w,A);return}if(P&64){F.move(v,m,w,U);return}if(F===Ye){r(M,m,w);for(let X=0;X<$.length;X++)Qe($[X],m,w,A);r(v.anchor,m,w);return}if(F===Un){b(v,m,w);return}if(A!==2&&P&1&&O)if(A===0)O.beforeEnter(M),r(M,m,w),ze(()=>O.enter(M),S);else{const{leave:X,delayLeave:Y,afterLeave:te}=O,oe=()=>r(M,m,w),fe=()=>{X(M,()=>{oe(),te&&te()})};Y?Y(M,oe,fe):fe()}else r(M,m,w)},Re=(v,m,w,A=!1,S=!1)=>{const{type:M,props:F,ref:O,children:$,dynamicChildren:P,shapeFlag:z,patchFlag:X,dirs:Y}=v;if(O!=null&&Wr(O,null,w,v,!0),z&256){m.ctx.deactivate(v);return}const te=z&1&&Y,oe=!Wn(v);let fe;if(oe&&(fe=F&&F.onVnodeBeforeUnmount)&&tt(fe,m,v),z&6)vt(v.component,w,A);else{if(z&128){v.suspense.unmount(w,A);return}te&>(v,null,m,"beforeUnmount"),z&64?v.type.remove(v,m,w,S,U,A):P&&(M!==Ye||X>0&&X&64)?Le(P,m,w,!1,!0):(M===Ye&&X&384||!S&&z&16)&&Le($,m,w),A&&Ue(v)}(oe&&(fe=F&&F.onVnodeUnmounted)||te)&&ze(()=>{fe&&tt(fe,m,v),te&>(v,null,m,"unmounted")},w)},Ue=v=>{const{type:m,el:w,anchor:A,transition:S}=v;if(m===Ye){wt(w,A);return}if(m===Un){x(v);return}const M=()=>{o(w),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(v.shapeFlag&1&&S&&!S.persisted){const{leave:F,delayLeave:O}=S,$=()=>F(w,M);O?O(v.el,M,$):$()}else M()},wt=(v,m)=>{let w;for(;v!==m;)w=p(v),o(v),v=w;o(m)},vt=(v,m,w)=>{const{bum:A,scope:S,update:M,subTree:F,um:O}=v;A&&fo(A),S.stop(),M&&(M.active=!1,Re(F,v,m,w)),O&&ze(O,m),ze(()=>{v.isUnmounted=!0},m),m&&m.pendingBranch&&!m.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===m.pendingId&&(m.deps--,m.deps===0&&m.resolve())},Le=(v,m,w,A=!1,S=!1,M=0)=>{for(let F=M;Fv.shapeFlag&6?L(v.component.subTree):v.shapeFlag&128?v.suspense.next():p(v.anchor||v.el);let V=!1;const B=(v,m,w)=>{v==null?m._vnode&&Re(m._vnode,null,null,!0):E(m._vnode||null,v,m,null,null,null,w),V||(V=!0,ls(),Vr(),V=!1),m._vnode=v},U={p:E,um:Re,m:Qe,r:Ue,mt:we,mc:N,pc:K,pbc:R,n:L,o:e};let ae,de;return t&&([ae,de]=t(U)),{render:B,hydrate:ae,createApp:Nf(B,ae)}}function go({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Jt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ci(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ui(e,t,n=!1){const r=e.children,o=t.children;if(ne(r)&&ne(o))for(let l=0;l>1,e[n[a]]0&&(t[r]=n[l-1]),n[l]=r)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}function fi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:fi(t)}const Zf=e=>e.__isTeleport,Ye=Symbol.for("v-fgt"),xn=Symbol.for("v-txt"),yt=Symbol.for("v-cmt"),Un=Symbol.for("v-stc"),Zn=[];let ut=null;function F0(e=!1){Zn.push(ut=e?null:[])}function qf(){Zn.pop(),ut=Zn[Zn.length-1]||null}let rr=1;function gs(e){rr+=e}function Yf(e){return e.dynamicChildren=rr>0?ut||yn:null,qf(),rr>0&&ut&&ut.push(e),e}function V0(e,t,n,r,o,l){return Yf(pi(e,t,n,r,o,l,!0))}function jo(e){return e?e.__v_isVNode===!0:!1}function nn(e,t){return e.type===t.type&&e.key===t.key}const to="__vInternal",di=({key:e})=>e??null,Nr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Me(e)||De(e)||re(e)?{i:ot,r:e,k:t,f:!!n}:e:null);function pi(e,t=null,n=null,r=0,o=null,l=e===Ye?0:1,s=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&di(t),ref:t&&Nr(t),scopeId:Wa,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ot};return a?(kl(i,n),l&128&&e.normalize(i)):n&&(i.shapeFlag|=Me(n)?8:16),rr>0&&!s&&ut&&(i.patchFlag>0||l&6)&&i.patchFlag!==32&&ut.push(i),i}const Pe=Xf;function Xf(e,t=null,n=null,r=0,o=null,l=!1){if((!e||e===df)&&(e=yt),jo(e)){const a=jt(e,t,!0);return n&&kl(a,n),rr>0&&!l&&ut&&(a.shapeFlag&6?ut[ut.indexOf(e)]=a:ut.push(a)),a.patchFlag|=-2,a}if(id(e)&&(e=e.__vccOpts),t){t=Jf(t);let{class:a,style:i}=t;a&&!Me(a)&&(t.class=ul(a)),Ee(i)&&(Da(i)&&!ne(i)&&(i=Ae({},i)),t.style=cl(i))}const s=Me(e)?1:hf(e)?128:Zf(e)?64:Ee(e)?4:re(e)?2:0;return pi(e,t,n,r,o,s,l,!0)}function Jf(e){return e?Da(e)||to in e?Ae({},e):e:null}function jt(e,t,n=!1){const{props:r,ref:o,patchFlag:l,children:s}=e,a=t?Qf(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&di(a),ref:t&&t.ref?n&&o?ne(o)?o.concat(Nr(t)):[o,Nr(t)]:Nr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&jt(e.ssContent),ssFallback:e.ssFallback&&jt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function hi(e=" ",t=0){return Pe(xn,null,e,t)}function z0(e,t){const n=Pe(Un,null,e);return n.staticCount=t,n}function ct(e){return e==null||typeof e=="boolean"?Pe(yt):ne(e)?Pe(Ye,null,e.slice()):typeof e=="object"?$t(e):Pe(xn,null,String(e))}function $t(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:jt(e)}function kl(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ne(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),kl(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(to in t)?t._ctx=ot:o===3&&ot&&(ot.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:ot},n=32):(t=String(t),r&64?(n=16,t=[hi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Qf(...e){const t={};for(let n=0;nOe||ot;let Gr,Wo;{const e=_a(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),l=>{o.length>1?o.forEach(s=>s(l)):o[0](l)}};Gr=t("__VUE_INSTANCE_SETTERS__",n=>Oe=n),Wo=t("__VUE_SSR_SETTERS__",n=>mr=n)}const vr=e=>{const t=Oe;return Gr(e),e.scope.on(),()=>{e.scope.off(),Gr(t)}},bs=()=>{Oe&&Oe.scope.off(),Gr(null)};function vi(e){return e.vnode.shapeFlag&4}let mr=!1;function rd(e,t=!1){t&&Wo(t);const{props:n,children:r}=e.vnode,o=vi(e);$f(e,n,o,t),Ff(e,r);const l=o?od(e,t):void 0;return t&&Wo(!1),l}function od(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Na(new Proxy(e.ctx,Af));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?sd(e):null,l=vr(e);cn();const s=Vt(r,e,0,[e.props,o]);if(un(),l(),ya(s)){if(s.then(bs,bs),t)return s.then(a=>{ys(e,a,t)}).catch(a=>{pr(a,e,0)});e.asyncDep=s}else ys(e,s,t)}else mi(e,t)}function ys(e,t,n){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ee(t)&&(e.setupState=Ba(t)),mi(e,n)}let _s;function mi(e,t,n){const r=e.type;if(!e.render){if(!t&&_s&&!r.render){const o=r.template||Cl(e).template;if(o){const{isCustomElement:l,compilerOptions:s}=e.appContext.config,{delimiters:a,compilerOptions:i}=r,u=Ae(Ae({isCustomElement:l,delimiters:a},s),i);r.render=_s(o,u)}}e.render=r.render||rt}{const o=vr(e);cn();try{Pf(e)}finally{un(),o()}}}function ld(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ke(e,"get","$attrs"),t[n]}}))}function sd(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return ld(e)},slots:e.slots,emit:e.emit,expose:t}}function xl(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ba(Na(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}}))}function ad(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function id(e){return re(e)&&"__vccOpts"in e}const T=(e,t)=>Uu(e,t,mr);function c(e,t,n){const r=arguments.length;return r===2?Ee(t)&&!ne(t)?jo(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&jo(n)&&(n=[n]),Pe(e,t,n))}const cd="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const ud="http://www.w3.org/2000/svg",fd="http://www.w3.org/1998/Math/MathML",Ht=typeof document<"u"?document:null,ws=Ht&&Ht.createElement("template"),dd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ht.createElementNS(ud,e):t==="mathml"?Ht.createElementNS(fd,e):Ht.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ht.createTextNode(e),createComment:e=>Ht.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ht.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,l){const s=n?n.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===l||!(o=o.nextSibling)););else{ws.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=ws.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",$n="animation",Ln=Symbol("_vtc"),Wt=(e,{slots:t})=>c(yf,bi(e),t);Wt.displayName="Transition";const gi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},pd=Wt.props=Ae({},Ya,gi),Qt=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},Es=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function bi(e){const t={};for(const I in e)I in gi||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=l,appearActiveClass:u=s,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,g=hd(o),E=g&&g[0],_=g&&g[1],{onBeforeEnter:y,onEnter:k,onEnterCancelled:b,onLeave:x,onLeaveCancelled:D,onBeforeAppear:C=y,onAppear:G=k,onAppearCancelled:N=b}=t,q=(I,Q,we)=>{Mt(I,Q?f:a),Mt(I,Q?u:s),we&&we()},R=(I,Q)=>{I._isLeaving=!1,Mt(I,d),Mt(I,h),Mt(I,p),Q&&Q()},j=I=>(Q,we)=>{const ge=I?G:k,W=()=>q(Q,I,we);Qt(ge,[Q,W]),Cs(()=>{Mt(Q,I?i:l),Ct(Q,I?f:a),Es(ge)||Ts(Q,r,E,W)})};return Ae(t,{onBeforeEnter(I){Qt(y,[I]),Ct(I,l),Ct(I,s)},onBeforeAppear(I){Qt(C,[I]),Ct(I,i),Ct(I,u)},onEnter:j(!1),onAppear:j(!0),onLeave(I,Q){I._isLeaving=!0;const we=()=>R(I,Q);Ct(I,d),_i(),Ct(I,p),Cs(()=>{I._isLeaving&&(Mt(I,d),Ct(I,h),Es(x)||Ts(I,r,_,we))}),Qt(x,[I,we])},onEnterCancelled(I){q(I,!1),Qt(b,[I])},onAppearCancelled(I){q(I,!0),Qt(N,[I])},onLeaveCancelled(I){R(I),Qt(D,[I])}})}function hd(e){if(e==null)return null;if(Ee(e))return[bo(e.enter),bo(e.leave)];{const t=bo(e);return[t,t]}}function bo(e){return gu(e)}function Ct(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ln]||(e[Ln]=new Set)).add(t)}function Mt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ln];n&&(n.delete(t),n.size||(e[Ln]=void 0))}function Cs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let vd=0;function Ts(e,t,n,r){const o=e._endId=++vd,l=()=>{o===e._endId&&r()};if(n)return setTimeout(l,n);const{type:s,timeout:a,propCount:i}=yi(e,t);if(!s)return r();const u=s+"end";let f=0;const d=()=>{e.removeEventListener(u,p),l()},p=h=>{h.target===e&&++f>=i&&d()};setTimeout(()=>{f(n[g]||"").split(", "),o=r(`${It}Delay`),l=r(`${It}Duration`),s=ks(o,l),a=r(`${$n}Delay`),i=r(`${$n}Duration`),u=ks(a,i);let f=null,d=0,p=0;t===It?s>0&&(f=It,d=s,p=l.length):t===$n?u>0&&(f=$n,d=u,p=i.length):(d=Math.max(s,u),f=d>0?s>u?It:$n:null,p=f?f===It?l.length:i.length:0);const h=f===It&&/\b(transform|all)(,|$)/.test(r(`${It}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:h}}function ks(e,t){for(;e.lengthxs(n)+xs(e[r])))}function xs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _i(){return document.body.offsetHeight}function md(e,t,n){const r=e[Ln];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ls=Symbol("_vod"),gd=Symbol("_vsh"),bd=Symbol(""),yd=/(^|;)\s*display\s*:/;function _d(e,t,n){const r=e.style,o=Me(n);let l=!1;if(n&&!o){if(t)if(Me(t))for(const s of t.split(";")){const a=s.slice(0,s.indexOf(":")).trim();n[a]==null&&$r(r,a,"")}else for(const s in t)n[s]==null&&$r(r,s,"");for(const s in n)s==="display"&&(l=!0),$r(r,s,n[s])}else if(o){if(t!==n){const s=r[bd];s&&(n+=";"+s),r.cssText=n,l=yd.test(n)}}else t&&e.removeAttribute("style");Ls in e&&(e[Ls]=l?r.display:"",e[gd]&&(r.display="none"))}const Ss=/\s*!important$/;function $r(e,t,n){if(ne(n))n.forEach(r=>$r(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=wd(e,t);Ss.test(n)?e.setProperty(Rn(r),n.replace(Ss,""),"important"):e[r]=n}}const As=["Webkit","Moz","ms"],yo={};function wd(e,t){const n=yo[t];if(n)return n;let r=st(t);if(r!=="filter"&&r in e)return yo[t]=r;r=fr(r);for(let o=0;o_o||(Sd.then(()=>_o=0),_o=Date.now());function Pd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;lt(Rd(r,n.value),t,5,[r])};return n.value=e,n.attached=Ad(),n}function Rd(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Os=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Id=(e,t,n,r,o,l,s,a,i)=>{const u=o==="svg";t==="class"?md(e,r,u):t==="style"?_d(e,n,r):ur(t)?sl(t)||xd(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Od(e,t,r,u))?Cd(e,t,r,l,s,a,i):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Ed(e,t,r,u))};function Od(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Os(t)&&re(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Os(t)&&Me(n)?!1:t in e}const wi=new WeakMap,Ei=new WeakMap,Kr=Symbol("_moveCb"),Ms=Symbol("_enterCb"),Ci={name:"TransitionGroup",props:Ae({},pd,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=On(),r=qa();let o,l;return ei(()=>{if(!o.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!Bd(o[0].el,n.vnode.el,s))return;o.forEach(Nd),o.forEach($d);const a=o.filter(Hd);_i(),a.forEach(i=>{const u=i.el,f=u.style;Ct(u,s),f.transform=f.webkitTransform=f.transitionDuration="";const d=u[Kr]=p=>{p&&p.target!==u||(!p||/transform$/.test(p.propertyName))&&(u.removeEventListener("transitionend",d),u[Kr]=null,Mt(u,s))};u.addEventListener("transitionend",d)})}),()=>{const s=se(e),a=bi(s);let i=s.tag||Ye;o=l,l=t.default?El(t.default()):[];for(let u=0;udelete e.mode;Ci.props;const Dd=Ci;function Nd(e){const t=e.el;t[Kr]&&t[Kr](),t[Ms]&&t[Ms]()}function $d(e){Ei.set(e,e.el.getBoundingClientRect())}function Hd(e){const t=wi.get(e),n=Ei.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${r}px,${o}px)`,l.transitionDuration="0s",e}}function Bd(e,t,n){const r=e.cloneNode(),o=e[Ln];o&&o.forEach(a=>{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(r);const{hasTransform:s}=yi(r);return l.removeChild(r),s}const Fd=Ae({patchProp:Id},dd);let wo,Ds=!1;function Vd(){return wo=Ds?wo:Gf(Fd),Ds=!0,wo}const zd=(...e)=>{const t=Vd().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Wd(r);if(o)return n(o,!0,jd(o))},t};function jd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wd(e){return Me(e)?document.querySelector(e):e}var Gd=["link","meta","script","style","noscript","template"],Kd=["title","base"],Ud=([e,t,n])=>Kd.includes(e)?e:Gd.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Zd=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Ud(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},qd=e=>e[0]==="/"?e:`/${e}`,Ti=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,dn=e=>/^(https?:)?\/\//.test(e),Yd=/.md((\?|#).*)?$/,or=(e,t="/")=>!!(dn(e)||e.startsWith("/")&&!e.startsWith(t)&&!Yd.test(e)),ki=e=>/^[a-z][a-z0-9+.-]*:/.test(e),no=e=>Object.prototype.toString.call(e)==="[object Object]",Xd=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},Ll=e=>e[e.length-1]==="/"?e.slice(0,-1):e,xi=e=>e[0]==="/"?e.slice(1):e,Jd=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const l=o.split("/").length-r.split("/").length;return l!==0?l:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Qd=e=>typeof e=="function",Se=e=>typeof e=="string";const ep="modulepreload",tp=function(e){return"/"+e},Ns={},H=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const l=document.getElementsByTagName("link");o=Promise.all(n.map(s=>{if(s=tp(s),s in Ns)return;Ns[s]=!0;const a=s.endsWith(".css"),i=a?'[rel="stylesheet"]':"";if(!!r)for(let d=l.length-1;d>=0;d--){const p=l[d];if(p.href===s&&(!a||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${i}`))return;const f=document.createElement("link");if(f.rel=a?"stylesheet":ep,a||(f.as="script",f.crossOrigin=""),f.href=s,document.head.appendChild(f),a)return new Promise((d,p)=>{f.addEventListener("load",d),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${s}`)))})}))}return o.then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})},np=JSON.parse("{}"),rp=Object.fromEntries([["/",{loader:()=>H(()=>import("./index.html-O6LnX5VP.js"),__vite__mapDeps([0,1])),meta:{y:"h",t:"Zotero 中文小组",i:"home"}}],["/about.html",{loader:()=>H(()=>import("./about.html-Du8YLT8W.js"),__vite__mapDeps([2,1])),meta:{y:"a",t:"关于 Zotero 中文小组",i:"like"}}],["/code_of_conduct.html",{loader:()=>H(()=>import("./code_of_conduct.html-C1Uxu-VZ.js"),__vite__mapDeps([3,1])),meta:{y:"a",t:"贡献者公约",i:"group"}}],["/contributors.html",{loader:()=>H(()=>import("./contributors.html-BWDnRlMm.js"),__vite__mapDeps([4,1])),meta:{y:"a",t:"贡献者名单",i:"group"}}],["/contributing/build.html",{loader:()=>H(()=>import("./build.html-CdQzzapG.js"),__vite__mapDeps([5,6,1])),meta:{y:"a",t:"构建指南",i:"build"}}],["/contributing/contributing.html",{loader:()=>H(()=>import("./contributing.html-OlXBYjAl.js"),__vite__mapDeps([7,1])),meta:{y:"a",t:"贡献指南",i:"build"}}],["/contributing/markdown.html",{loader:()=>H(()=>import("./markdown.html-CzdJaUa9.js"),__vite__mapDeps([8,1])),meta:{y:"a",t:"文档风格指南",i:"markdown"}}],["/contributing/vscode-dev.html",{loader:()=>H(()=>import("./vscode-dev.html-IaRrsfN0.js"),__vite__mapDeps([9,6,1])),meta:{y:"a",t:"通过 VSCode.dev 网站在线更改本文档",i:"build"}}],["/csl-dev-guide/",{loader:()=>H(()=>import("./index.html-B7VVb1Im.js"),__vite__mapDeps([10,1])),meta:{y:"a",t:"CSL 中文文档"}}],["/csl-dev-guide/glossary.html",{loader:()=>H(()=>import("./glossary.html--k5UVgbl.js"),__vite__mapDeps([11,1])),meta:{y:"a",t:"术语对照表"}}],["/csl-dev-guide/primer.html",{loader:()=>H(()=>import("./primer.html-2dmSloZh.js"),__vite__mapDeps([12,1])),meta:{y:"a",t:"CSL 介绍",O:1}}],["/csl-dev-guide/specification.html",{loader:()=>H(()=>import("./specification.html-Ck0InIxm.js"),__vite__mapDeps([13,1])),meta:{y:"a",t:"CSL 1.0.2 规范",O:2}}],["/csl-dev-guide/translating-locale-files.html",{loader:()=>H(()=>import("./translating-locale-files.html-BHCvxjRg.js"),__vite__mapDeps([14,1])),meta:{y:"a",t:"Locale File"}}],["/csl-dev-guide/xml-basic.html",{loader:()=>H(()=>import("./xml-basic.html-6Ln5cMzE.js"),__vite__mapDeps([15,1])),meta:{y:"a",t:"XML 基础"}}],["/plugin-dev-guide/",{loader:()=>H(()=>import("./index.html-1rMW4W7-.js"),__vite__mapDeps([16,1])),meta:{y:"a",t:"插件开发指南"}}],["/user-guide/",{loader:()=>H(()=>import("./index.html-OkjuflBh.js"),__vite__mapDeps([17,1])),meta:{y:"a",t:"Zotero 百科全书",i:"creative"}}],["/user-guide/add-attachments.html",{loader:()=>H(()=>import("./add-attachments.html-CrD7FrXc.js"),__vite__mapDeps([18,19,1])),meta:{y:"a",t:"添加附件",i:"add"}}],["/user-guide/add-items.html",{loader:()=>H(()=>import("./add-items.html--U-qM5Fk.js"),__vite__mapDeps([20,19,21,1])),meta:{y:"a",t:"添加条目",i:"add"}}],["/user-guide/backup.html",{loader:()=>H(()=>import("./backup.html-CCyXglEI.js"),__vite__mapDeps([22,1])),meta:{y:"a",t:"备份",i:"profile"}}],["/user-guide/citation-styles.html",{loader:()=>H(()=>import("./citation-styles.html-DD-LImZG.js"),__vite__mapDeps([23,1])),meta:{y:"a",t:"引文的样式",i:"format"}}],["/user-guide/create-bibliographies-via-zbib.html",{loader:()=>H(()=>import("./create-bibliographies-via-zbib.html-CDEbUla6.js"),__vite__mapDeps([24,1])),meta:{y:"a",t:"使用 Zotero bib 生成参考文献表"}}],["/user-guide/create-bibliographies-within-zotero.html",{loader:()=>H(()=>import("./create-bibliographies-within-zotero.html-BOXAvOg0.js"),__vite__mapDeps([25,1])),meta:{y:"a",t:"直接生成参考文献表",i:"copy"}}],["/user-guide/edit-items.html",{loader:()=>H(()=>import("./edit-items.html-DvD8sD1N.js"),__vite__mapDeps([26,21,1])),meta:{y:"a",t:"编辑条目",i:"edit"}}],["/user-guide/feed.html",{loader:()=>H(()=>import("./feed.html-z54FZ0rW.js"),__vite__mapDeps([27,1])),meta:{y:"a",t:"Feed",i:"rss"}}],["/user-guide/group.html",{loader:()=>H(()=>import("./group.html-B1m11lwz.js"),__vite__mapDeps([28,1])),meta:{y:"a",t:"群组",i:"group"}}],["/user-guide/import-from-other-software.html",{loader:()=>H(()=>import("./import-from-other-software.html-BqAHq_Q3.js"),__vite__mapDeps([29,1])),meta:{y:"a",t:"从其他软件导入条目",i:"copy"}}],["/user-guide/install.html",{loader:()=>H(()=>import("./install.html-BmRxGxsd.js"),__vite__mapDeps([30,1])),meta:{y:"a",t:"安装",i:"install"}}],["/user-guide/mobile.html",{loader:()=>H(()=>import("./mobile.html-PM2tJI1o.js"),__vite__mapDeps([31,1])),meta:{y:"a",t:"移动端"}}],["/user-guide/ms-word-plugin.html",{loader:()=>H(()=>import("./ms-word-plugin.html-w15huyFS.js"),__vite__mapDeps([32,33,1])),meta:{y:"a",t:"在 Word 中插入参考文献",i:"article"}}],["/user-guide/organize-library.html",{loader:()=>H(()=>import("./organize-library.html-C36m5Udk.js"),__vite__mapDeps([34,1])),meta:{y:"a",t:"组织、管理你的文献库",i:"class"}}],["/user-guide/quick-start.html",{loader:()=>H(()=>import("./quick-start.html-BxzCSvMh.js"),__vite__mapDeps([35,1])),meta:{y:"a",t:"快速开始",i:"selection"}}],["/user-guide/sync.html",{loader:()=>H(()=>import("./sync.html-DGp0SDe2.js"),__vite__mapDeps([36,1])),meta:{y:"a",t:"数据与文件的同步",i:"async"}}],["/user-guide/take-notes.html",{loader:()=>H(()=>import("./take-notes.html-FjQH8up8.js"),__vite__mapDeps([37,1])),meta:{y:"a",t:"阅读文献、添加笔记",i:"note"}}],["/user-guide/why-use-zotero.html",{loader:()=>H(()=>import("./why-use-zotero.html-DlfykGIk.js"),__vite__mapDeps([38,1])),meta:{y:"a",t:"为什么使用 Zotero",i:"like"}}],["/user-guide/wps-plugin.html",{loader:()=>H(()=>import("./wps-plugin.html-qTWLVyqX.js"),__vite__mapDeps([39,1])),meta:{y:"a",t:"在 WPS 中插入参考文献",i:"article"}}],["/plugin-dev-guide/development/debug.html",{loader:()=>H(()=>import("./debug.html-Brz9cVG7.js"),__vite__mapDeps([40,1])),meta:{y:"a",t:"调试代码"}}],["/plugin-dev-guide/development/sideloading.html",{loader:()=>H(()=>import("./sideloading.html-B-1s37Uo.js"),__vite__mapDeps([41,1])),meta:{y:"a",t:"侧载插件"}}],["/plugin-dev-guide/quick-start/",{loader:()=>H(()=>import("./index.html-D6GqrB4Z.js"),__vite__mapDeps([42,1])),meta:{y:"a",t:"快速开始"}}],["/plugin-dev-guide/reference/",{loader:()=>H(()=>import("./index.html-D-nr3wkN.js"),__vite__mapDeps([43,1])),meta:{y:"a",t:"参考"}}],["/plugin-dev-guide/reference/bootstrap.html",{loader:()=>H(()=>import("./bootstrap.html-D0Hx4kFq.js"),__vite__mapDeps([44,1])),meta:{y:"a",t:"引导脚本"}}],["/plugin-dev-guide/reference/item.html",{loader:()=>H(()=>import("./item.html--vPl6iF0.js"),__vite__mapDeps([45,1])),meta:{y:"a",t:"Zotero 条目"}}],["/plugin-dev-guide/reference/localization.html",{loader:()=>H(()=>import("./localization.html-CYmCNS7D.js"),__vite__mapDeps([46,1])),meta:{y:"a",t:"i18n"}}],["/plugin-dev-guide/reference/manifest.html",{loader:()=>H(()=>import("./manifest.html-DUorWwCR.js"),__vite__mapDeps([47,1])),meta:{y:"a",t:"插件清单"}}],["/plugin-dev-guide/reference/more.html",{loader:()=>H(()=>import("./more.html-Dw6tpwuq.js"),__vite__mapDeps([48,1])),meta:{y:"a",t:"更多接口"}}],["/plugin-dev-guide/reference/notify.html",{loader:()=>H(()=>import("./notify.html-DXPxAuGO.js"),__vite__mapDeps([49,1])),meta:{y:"a",t:"Zotero 事件机制"}}],["/plugin-dev-guide/reference/preference.html",{loader:()=>H(()=>import("./preference.html-1Q8E6cRw.js"),__vite__mapDeps([50,1])),meta:{y:"a",t:"Zotero 首选项"}}],["/plugin-dev-guide/reference/update.html",{loader:()=>H(()=>import("./update.html-B_bh-u_c.js"),__vite__mapDeps([51,1])),meta:{y:"a",t:"更新清单"}}],["/plugin-dev-guide/reference/zotero.html",{loader:()=>H(()=>import("./zotero.html-BM1g4JXr.js"),__vite__mapDeps([52,1])),meta:{y:"a",t:"Zotero"}}],["/plugin-dev-guide/use-template/",{loader:()=>H(()=>import("./index.html-CLM7izSq.js"),__vite__mapDeps([53,1])),meta:{y:"a",t:"使用社区模板"}}],["/user-guide/faqs/Emoji%E5%8F%98%E6%88%90%E4%BA%86%E9%BB%91%E7%99%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3.html",{loader:()=>H(()=>import("./Emoji变成了黑白该如何解决.html-v4V8p5CC.js"),__vite__mapDeps([54,55,1])),meta:{y:"a",t:"Emoji 变成黑白该如何解决"}}],["/user-guide/faqs/",{loader:()=>H(()=>import("./index.html-DiMxWasc.js"),__vite__mapDeps([56,1])),meta:{y:"a",t:"常见问题"}}],["/user-guide/faqs/plugins.html",{loader:()=>H(()=>import("./plugins.html-DWTFTM_X.js"),__vite__mapDeps([57,1])),meta:{y:"a",t:"插件安装的常见问题",O:1}}],["/user-guide/faqs/update-translators.html",{loader:()=>H(()=>import("./update-translators.html--mjF3In0.js"),__vite__mapDeps([58,1])),meta:{y:"a",t:"如何更新 Translator"}}],["/user-guide/faqs/word-addon.html",{loader:()=>H(()=>import("./word-addon.html-BG3-tCqR.js"),__vite__mapDeps([59,33,60,1])),meta:{y:"a",t:"关于 Word 引用的各种问题",O:2}}],["/user-guide/faqs/%E2%80%9C%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E6%A0%B7%E5%BC%8F%E2%80%9D%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E.html",{loader:()=>H(()=>import("./“获取更多样式”打不开怎么办.html-CriLXQse.js"),__vite__mapDeps([61,1])),meta:{y:"a",t:"“获取更多样式”打不开怎么办"}}],["/user-guide/faqs/%E8%A7%A3%E5%86%B3pdf%E5%9B%BE%E7%89%87%E4%B8%8A%E7%9A%84%E9%BB%91%E8%89%B2%E9%81%AE%E6%8C%A1.html",{loader:()=>H(()=>import("./解决pdf图片上的黑色遮挡.html-BF2lnf05.js"),__vite__mapDeps([62,55,1])),meta:{y:"a",t:"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题"}}],["/user-guide/misc/",{loader:()=>H(()=>import("./index.html-BgPe0f5l.js"),__vite__mapDeps([63,1])),meta:{y:"a",t:"其他"}}],["/user-guide/misc/link-citation-to-bibliography.html",{loader:()=>H(()=>import("./link-citation-to-bibliography.html-NMTdahL_.js"),__vite__mapDeps([64,1])),meta:{y:"a",t:"在 Word 中把引注链接到参考文献表"}}],["/user-guide/misc/preference.html",{loader:()=>H(()=>import("./preference.html-w9baMq5r.js"),__vite__mapDeps([65,1])),meta:{y:"a",t:"首选项:高级设置"}}],["/user-guide/misc/wps-plugin-vba.html",{loader:()=>H(()=>import("./wps-plugin-vba.html-CeXVpnIN.js"),__vite__mapDeps([66,60,1])),meta:{y:"a",t:"通过 VBA 在 WPS 中使用 Word 插件"}}],["/user-guide/plugins/",{loader:()=>H(()=>import("./index.html-OPOOVwmx.js"),__vite__mapDeps([67,1])),meta:{y:"a",t:"插件"}}],["/user-guide/plugins/Zotero-scihub.html",{loader:()=>H(()=>import("./Zotero-scihub.html-DS34KeFZ.js"),__vite__mapDeps([68,55,1])),meta:{y:"a",t:"Zotero SciHub"}}],["/user-guide/plugins/about-plugin.html",{loader:()=>H(()=>import("./about-plugin.html-xl5bsF3r.js"),__vite__mapDeps([69,1])),meta:{y:"a",t:"关于 Zotero 插件"}}],["/user-guide/plugins/better-notes.html",{loader:()=>H(()=>import("./better-notes.html-B5P5ckaW.js"),__vite__mapDeps([70,1])),meta:{y:"a",t:"Better Notes"}}],["/user-guide/plugins/easier-citation.html",{loader:()=>H(()=>import("./easier-citation.html-CK9NuHE7.js"),__vite__mapDeps([71,1])),meta:{y:"a",t:"Easier Citation for Zotero"}}],["/user-guide/plugins/jasminum.html",{loader:()=>H(()=>import("./jasminum.html-BF7O33Dg.js"),__vite__mapDeps([72,1])),meta:{y:"a",t:"茉莉花"}}],["/user-guide/plugins/linter.html",{loader:()=>H(()=>import("./linter.html-helJW-r0.js"),__vite__mapDeps([73,1])),meta:{y:"a",t:"Linter for Zotero"}}],["/user-guide/plugins/magic.html",{loader:()=>H(()=>import("./magic.html-C_g1dYuG.js"),__vite__mapDeps([74,1])),meta:{y:"a",t:"Magic for Zotero"}}],["/user-guide/plugins/style.html",{loader:()=>H(()=>import("./style.html-DffyQX_V.js"),__vite__mapDeps([75,1])),meta:{y:"a",t:"Style for Zotero"}}],["/user-guide/plugins/translate.html",{loader:()=>H(()=>import("./translate.html-DEAUZenJ.js"),__vite__mapDeps([76,1])),meta:{y:"a",t:"Translate for Zotero"}}],["/404.html",{loader:()=>H(()=>import("./404.html-CWQLRUMV.js"),__vite__mapDeps([77,1])),meta:{y:"p",t:""}}],["/contributing/",{loader:()=>H(()=>import("./index.html-5KeYSbvz.js"),__vite__mapDeps([78,1])),meta:{y:"p",t:"Contributing"}}],["/plugin-dev-guide/development/",{loader:()=>H(()=>import("./index.html-xEzebzUB.js"),__vite__mapDeps([79,1])),meta:{y:"p",t:"Development"}}]]);/*! + * vue-router v4.3.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const vn=typeof document<"u";function op(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ue=Object.assign;function Eo(e,t){const n={};for(const r in t){const o=t[r];n[r]=dt(o)?o.map(e):e(o)}return n}const qn=()=>{},dt=Array.isArray,Li=/#/g,lp=/&/g,sp=/\//g,ap=/=/g,ip=/\?/g,Si=/\+/g,cp=/%5B/g,up=/%5D/g,Ai=/%5E/g,fp=/%60/g,Pi=/%7B/g,dp=/%7C/g,Ri=/%7D/g,pp=/%20/g;function Sl(e){return encodeURI(""+e).replace(dp,"|").replace(cp,"[").replace(up,"]")}function hp(e){return Sl(e).replace(Pi,"{").replace(Ri,"}").replace(Ai,"^")}function Go(e){return Sl(e).replace(Si,"%2B").replace(pp,"+").replace(Li,"%23").replace(lp,"%26").replace(fp,"`").replace(Pi,"{").replace(Ri,"}").replace(Ai,"^")}function vp(e){return Go(e).replace(ap,"%3D")}function mp(e){return Sl(e).replace(Li,"%23").replace(ip,"%3F")}function gp(e){return e==null?"":mp(e).replace(sp,"%2F")}function lr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const bp=/\/$/,yp=e=>e.replace(bp,"");function Co(e,t,n="/"){let r,o={},l="",s="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),l=t.slice(i+1,a>-1?a:t.length),o=e(l)),a>-1&&(r=r||t.slice(0,a),s=t.slice(a,t.length)),r=Cp(r??t,n),{fullPath:r+(l&&"?")+l+s,path:r,query:o,hash:lr(s)}}function _p(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function $s(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function wp(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Sn(t.matched[r],n.matched[o])&&Ii(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Sn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ii(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ep(e[n],t[n]))return!1;return!0}function Ep(e,t){return dt(e)?Hs(e,t):dt(t)?Hs(t,e):e===t}function Hs(e,t){return dt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Cp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let l=n.length-1,s,a;for(s=0;s1&&l--;else break;return n.slice(0,l).join("/")+"/"+r.slice(s).join("/")}var sr;(function(e){e.pop="pop",e.push="push"})(sr||(sr={}));var Yn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Yn||(Yn={}));function Tp(e){if(!e)if(vn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),yp(e)}const kp=/^[^#]+#/;function xp(e,t){return e.replace(kp,"#")+t}function Lp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const ro=()=>({left:window.scrollX,top:window.scrollY});function Sp(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Lp(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Bs(e,t){return(history.state?history.state.position-t:-1)+e}const Ko=new Map;function Ap(e,t){Ko.set(e,t)}function Pp(e){const t=Ko.get(e);return Ko.delete(e),t}let Rp=()=>location.protocol+"//"+location.host;function Oi(e,t){const{pathname:n,search:r,hash:o}=t,l=e.indexOf("#");if(l>-1){let a=o.includes(e.slice(l))?e.slice(l).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),$s(i,"")}return $s(n,e)+r+o}function Ip(e,t,n,r){let o=[],l=[],s=null;const a=({state:p})=>{const h=Oi(e,location),g=n.value,E=t.value;let _=0;if(p){if(n.value=h,t.value=p,s&&s===g){s=null;return}_=E?p.position-E.position:0}else r(h);o.forEach(y=>{y(n.value,g,{delta:_,type:sr.pop,direction:_?_>0?Yn.forward:Yn.back:Yn.unknown})})};function i(){s=n.value}function u(p){o.push(p);const h=()=>{const g=o.indexOf(p);g>-1&&o.splice(g,1)};return l.push(h),h}function f(){const{history:p}=window;p.state&&p.replaceState(ue({},p.state,{scroll:ro()}),"")}function d(){for(const p of l)p();l=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:i,listen:u,destroy:d}}function Fs(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?ro():null}}function Op(e){const{history:t,location:n}=window,r={value:Oi(e,n)},o={value:t.state};o.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,u,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:Rp()+e+i;try{t[f?"replaceState":"pushState"](u,"",p),o.value=u}catch(h){console.error(h),n[f?"replace":"assign"](p)}}function s(i,u){const f=ue({},t.state,Fs(o.value.back,i,o.value.forward,!0),u,{position:o.value.position});l(i,f,!0),r.value=i}function a(i,u){const f=ue({},o.value,t.state,{forward:i,scroll:ro()});l(f.current,f,!0);const d=ue({},Fs(r.value,i,null),{position:f.position+1},u);l(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:s}}function Mp(e){e=Tp(e);const t=Op(e),n=Ip(e,t.state,t.location,t.replace);function r(l,s=!0){s||n.pauseListeners(),history.go(l)}const o=ue({location:"",base:e,go:r,createHref:xp.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Dp(e){return typeof e=="string"||e&&typeof e=="object"}function Mi(e){return typeof e=="string"||typeof e=="symbol"}const Tt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Di=Symbol("");var Vs;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Vs||(Vs={}));function An(e,t){return ue(new Error,{type:e,[Di]:!0},t)}function Et(e,t){return e instanceof Error&&Di in e&&(t==null||!!(e.type&t))}const zs="[^/]+?",Np={sensitive:!1,strict:!1,start:!0,end:!0},$p=/[.+*?^${}()[\]/\\]/g;function Hp(e,t){const n=ue({},Np,t),r=[];let o=n.start?"^":"";const l=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function Fp(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Vp={type:0,value:""},zp=/[a-zA-Z0-9_]/;function jp(e){if(!e)return[[]];if(e==="/")return[[Vp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,r=n;const o=[];let l;function s(){l&&o.push(l),l=[]}let a=0,i,u="",f="";function d(){u&&(n===0?l.push({type:0,value:u}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:u,regexp:f,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=i}for(;a{s(k)}:qn}function s(f){if(Mi(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(s),d.alias.forEach(s))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(s),f.alias.forEach(s))}}function a(){return n}function i(f){let d=0;for(;d=0&&(f.record.path!==n[d].record.path||!Ni(f,n[d]));)d++;n.splice(d,0,f),f.record.name&&!Gs(f)&&r.set(f.record.name,f)}function u(f,d){let p,h={},g,E;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw An(1,{location:f});E=p.record.name,h=ue(Ws(d.params,p.keys.filter(k=>!k.optional).concat(p.parent?p.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),f.params&&Ws(f.params,p.keys.map(k=>k.name))),g=p.stringify(h)}else if(f.path!=null)g=f.path,p=n.find(k=>k.re.test(g)),p&&(h=p.parse(g),E=p.record.name);else{if(p=d.name?r.get(d.name):n.find(k=>k.re.test(d.path)),!p)throw An(1,{location:f,currentLocation:d});E=p.record.name,h=ue({},d.params,f.params),g=p.stringify(h)}const _=[];let y=p;for(;y;)_.unshift(y.record),y=y.parent;return{name:E,path:g,params:h,matched:_,meta:Zp(_)}}return e.forEach(f=>l(f)),{addRoute:l,resolve:u,removeRoute:s,getRoutes:a,getRecordMatcher:o}}function Ws(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Kp(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Up(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Up(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Gs(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zp(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Ks(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Ni(e,t){return t.children.some(n=>n===e||Ni(e,n))}function qp(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Go(l)):[r&&Go(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function Yp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=dt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Xp=Symbol(""),Zs=Symbol(""),oo=Symbol(""),Al=Symbol(""),Uo=Symbol("");function Hn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bt(e,t,n,r,o,l=s=>s()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const u=p=>{p===!1?i(An(4,{from:n,to:t})):p instanceof Error?i(p):Dp(p)?i(An(2,{from:t,to:p})):(s&&r.enterCallbacks[o]===s&&typeof p=="function"&&s.push(p),a())},f=l(()=>e.call(r&&r.instances[o],t,n,u));let d=Promise.resolve(f);e.length<3&&(d=d.then(u)),d.catch(p=>i(p))})}function To(e,t,n,r,o=l=>l()){const l=[];for(const s of e)for(const a in s.components){let i=s.components[a];if(!(t!=="beforeRouteEnter"&&!s.instances[a]))if(Jp(i)){const f=(i.__vccOpts||i)[t];f&&l.push(Bt(f,n,r,s,a,o))}else{let u=i();l.push(()=>u.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${s.path}"`));const d=op(f)?f.default:f;s.components[a]=d;const h=(d.__vccOpts||d)[t];return h&&Bt(h,n,r,s,a,o)()}))}}return l}function Jp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function qs(e){const t=Ce(oo),n=Ce(Al),r=T(()=>t.resolve(sn(e.to))),o=T(()=>{const{matched:i}=r.value,{length:u}=i,f=i[u-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(Sn.bind(null,f));if(p>-1)return p;const h=Ys(i[u-2]);return u>1&&Ys(f)===h&&d[d.length-1].path!==h?d.findIndex(Sn.bind(null,i[u-2])):p}),l=T(()=>o.value>-1&&nh(n.params,r.value.params)),s=T(()=>o.value>-1&&o.value===n.matched.length-1&&Ii(n.params,r.value.params));function a(i={}){return th(i)?t[sn(e.replace)?"replace":"push"](sn(e.to)).catch(qn):Promise.resolve()}return{route:r,href:T(()=>r.value.href),isActive:l,isExactActive:s,navigate:a}}const Qp=Z({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:qs,setup(e,{slots:t}){const n=dr(qs(e)),{options:r}=Ce(oo),o=T(()=>({[Xs(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Xs(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:c("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},l)}}}),eh=Qp;function th(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function nh(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!dt(o)||o.length!==r.length||r.some((l,s)=>l!==o[s]))return!1}return!0}function Ys(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Xs=(e,t,n)=>e??t??n,rh=Z({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(Uo),o=T(()=>e.route||r.value),l=Ce(Zs,0),s=T(()=>{let u=sn(l);const{matched:f}=o.value;let d;for(;(d=f[u])&&!d.components;)u++;return u}),a=T(()=>o.value.matched[s.value]);an(Zs,T(()=>s.value+1)),an(Xp,a),an(Uo,o);const i=J();return le(()=>[i.value,a.value,e.name],([u,f,d],[p,h,g])=>{f&&(f.instances[d]=u,h&&h!==f&&u&&u===p&&(f.leaveGuards.size||(f.leaveGuards=h.leaveGuards),f.updateGuards.size||(f.updateGuards=h.updateGuards))),u&&f&&(!h||!Sn(f,h)||!p)&&(f.enterCallbacks[d]||[]).forEach(E=>E(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,d=a.value,p=d&&d.components[f];if(!p)return Js(n.default,{Component:p,route:u});const h=d.props[f],g=h?h===!0?u.params:typeof h=="function"?h(u):h:null,_=c(p,ue({},g,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(d.instances[f]=null)},ref:i}));return Js(n.default,{Component:_,route:u})||_}}});function Js(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const oh=rh;function lh(e){const t=Gp(e.routes,e),n=e.parseQuery||qp,r=e.stringifyQuery||Us,o=e.history,l=Hn(),s=Hn(),a=Hn(),i=$e(Tt);let u=Tt;vn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Eo.bind(null,L=>""+L),d=Eo.bind(null,gp),p=Eo.bind(null,lr);function h(L,V){let B,U;return Mi(L)?(B=t.getRecordMatcher(L),U=V):U=L,t.addRoute(U,B)}function g(L){const V=t.getRecordMatcher(L);V&&t.removeRoute(V)}function E(){return t.getRoutes().map(L=>L.record)}function _(L){return!!t.getRecordMatcher(L)}function y(L,V){if(V=ue({},V||i.value),typeof L=="string"){const m=Co(n,L,V.path),w=t.resolve({path:m.path},V),A=o.createHref(m.fullPath);return ue(m,w,{params:p(w.params),hash:lr(m.hash),redirectedFrom:void 0,href:A})}let B;if(L.path!=null)B=ue({},L,{path:Co(n,L.path,V.path).path});else{const m=ue({},L.params);for(const w in m)m[w]==null&&delete m[w];B=ue({},L,{params:d(m)}),V.params=d(V.params)}const U=t.resolve(B,V),ae=L.hash||"";U.params=f(p(U.params));const de=_p(r,ue({},L,{hash:hp(ae),path:U.path})),v=o.createHref(de);return ue({fullPath:de,hash:ae,query:r===Us?Yp(L.query):L.query||{}},U,{redirectedFrom:void 0,href:v})}function k(L){return typeof L=="string"?Co(n,L,i.value.path):ue({},L)}function b(L,V){if(u!==L)return An(8,{from:V,to:L})}function x(L){return G(L)}function D(L){return x(ue(k(L),{replace:!0}))}function C(L){const V=L.matched[L.matched.length-1];if(V&&V.redirect){const{redirect:B}=V;let U=typeof B=="function"?B(L):B;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=k(U):{path:U},U.params={}),ue({query:L.query,hash:L.hash,params:U.path!=null?{}:L.params},U)}}function G(L,V){const B=u=y(L),U=i.value,ae=L.state,de=L.force,v=L.replace===!0,m=C(B);if(m)return G(ue(k(m),{state:typeof m=="object"?ue({},ae,m.state):ae,force:de,replace:v}),V||B);const w=B;w.redirectedFrom=V;let A;return!de&&wp(r,U,B)&&(A=An(16,{to:w,from:U}),Qe(U,U,!0,!1)),(A?Promise.resolve(A):R(w,U)).catch(S=>Et(S)?Et(S,2)?S:ht(S):K(S,w,U)).then(S=>{if(S){if(Et(S,2))return G(ue({replace:v},k(S.to),{state:typeof S.to=="object"?ue({},ae,S.to.state):ae,force:de}),V||w)}else S=I(w,U,!0,v,ae);return j(w,U,S),S})}function N(L,V){const B=b(L,V);return B?Promise.reject(B):Promise.resolve()}function q(L){const V=wt.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(L):L()}function R(L,V){let B;const[U,ae,de]=sh(L,V);B=To(U.reverse(),"beforeRouteLeave",L,V);for(const m of U)m.leaveGuards.forEach(w=>{B.push(Bt(w,L,V))});const v=N.bind(null,L,V);return B.push(v),Le(B).then(()=>{B=[];for(const m of l.list())B.push(Bt(m,L,V));return B.push(v),Le(B)}).then(()=>{B=To(ae,"beforeRouteUpdate",L,V);for(const m of ae)m.updateGuards.forEach(w=>{B.push(Bt(w,L,V))});return B.push(v),Le(B)}).then(()=>{B=[];for(const m of de)if(m.beforeEnter)if(dt(m.beforeEnter))for(const w of m.beforeEnter)B.push(Bt(w,L,V));else B.push(Bt(m.beforeEnter,L,V));return B.push(v),Le(B)}).then(()=>(L.matched.forEach(m=>m.enterCallbacks={}),B=To(de,"beforeRouteEnter",L,V,q),B.push(v),Le(B))).then(()=>{B=[];for(const m of s.list())B.push(Bt(m,L,V));return B.push(v),Le(B)}).catch(m=>Et(m,8)?m:Promise.reject(m))}function j(L,V,B){a.list().forEach(U=>q(()=>U(L,V,B)))}function I(L,V,B,U,ae){const de=b(L,V);if(de)return de;const v=V===Tt,m=vn?history.state:{};B&&(U||v?o.replace(L.fullPath,ue({scroll:v&&m&&m.scroll},ae)):o.push(L.fullPath,ae)),i.value=L,Qe(L,V,B,v),ht()}let Q;function we(){Q||(Q=o.listen((L,V,B)=>{if(!vt.listening)return;const U=y(L),ae=C(U);if(ae){G(ue(ae,{replace:!0}),U).catch(qn);return}u=U;const de=i.value;vn&&Ap(Bs(de.fullPath,B.delta),ro()),R(U,de).catch(v=>Et(v,12)?v:Et(v,2)?(G(v.to,U).then(m=>{Et(m,20)&&!B.delta&&B.type===sr.pop&&o.go(-1,!1)}).catch(qn),Promise.reject()):(B.delta&&o.go(-B.delta,!1),K(v,U,de))).then(v=>{v=v||I(U,de,!1),v&&(B.delta&&!Et(v,8)?o.go(-B.delta,!1):B.type===sr.pop&&Et(v,20)&&o.go(-1,!1)),j(U,de,v)}).catch(qn)}))}let ge=Hn(),W=Hn(),ee;function K(L,V,B){ht(L);const U=W.list();return U.length?U.forEach(ae=>ae(L,V,B)):console.error(L),Promise.reject(L)}function xe(){return ee&&i.value!==Tt?Promise.resolve():new Promise((L,V)=>{ge.add([L,V])})}function ht(L){return ee||(ee=!L,we(),ge.list().forEach(([V,B])=>L?B(L):V()),ge.reset()),L}function Qe(L,V,B,U){const{scrollBehavior:ae}=e;if(!vn||!ae)return Promise.resolve();const de=!B&&Pp(Bs(L.fullPath,0))||(U||!B)&&history.state&&history.state.scroll||null;return Gt().then(()=>ae(L,V,de)).then(v=>v&&Sp(v)).catch(v=>K(v,L,V))}const Re=L=>o.go(L);let Ue;const wt=new Set,vt={currentRoute:i,listening:!0,addRoute:h,removeRoute:g,hasRoute:_,getRoutes:E,resolve:y,options:e,push:x,replace:D,go:Re,back:()=>Re(-1),forward:()=>Re(1),beforeEach:l.add,beforeResolve:s.add,afterEach:a.add,onError:W.add,isReady:xe,install(L){const V=this;L.component("RouterLink",eh),L.component("RouterView",oh),L.config.globalProperties.$router=V,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>sn(i)}),vn&&!Ue&&i.value===Tt&&(Ue=!0,x(o.location).catch(ae=>{}));const B={};for(const ae in Tt)Object.defineProperty(B,ae,{get:()=>i.value[ae],enumerable:!0});L.provide(oo,V),L.provide(Al,Ma(B)),L.provide(Uo,i);const U=L.unmount;wt.add(L),L.unmount=function(){wt.delete(L),wt.size<1&&(u=Tt,Q&&Q(),Q=null,i.value=Tt,Ue=!1,ee=!1),U()}}};function Le(L){return L.reduce((V,B)=>V.then(()=>q(B)),Promise.resolve())}return vt}function sh(e,t){const n=[],r=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let s=0;sSn(u,a))?r.push(a):n.push(a));const i=e.matched[s];i&&(t.matched.find(u=>Sn(u,i))||o.push(i))}return[n,r,o]}function Kt(){return Ce(oo)}function Ut(){return Ce(Al)}var Pl=Symbol(""),_t=()=>{const e=Ce(Pl);if(!e)throw new Error("useClientData() is called without provider.");return e},ah=()=>_t().pageComponent,_e=()=>_t().pageData,ke=()=>_t().pageFrontmatter,ih=()=>_t().pageHead,Rl=()=>_t().pageLang,ch=()=>_t().pageLayout,Zt=()=>_t().routeLocale,uh=()=>_t().routes,$i=()=>_t().siteData,lo=()=>_t().siteLocaleData,fh=Symbol(""),Hi=$e(np),ar=$e(rp),Bi=e=>{const t=Xd(e);if(ar.value[t])return t;const n=encodeURI(t);return ar.value[n]?n:Hi.value[t]||t},so=e=>{const t=Bi(e),n=ar.value[t]??{...ar.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},ao=Z({name:"ClientOnly",setup(e,t){const n=J(!1);return he(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),Fi=Z({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=ah(),n=T(()=>{if(!e.path)return t.value;const r=so(e.path);return Ja(()=>r.loader().then(({comp:o})=>o))});return()=>c(n.value)}}),je=e=>dn(e)?e:`/${xi(e)}`,dh=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Xe=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var a;const l=Kt(),s=je(Bi(n));return c("a",{...r,class:["route-link",{[t]:e}],href:s,onClick:(i={})=>{dh(i)?l.push(n).catch():Promise.resolve()}},(a=o.default)==null?void 0:a.call(o))};Xe.displayName="RouteLink";Xe.props={active:Boolean,activeClass:String,to:String};var ph="Layout",hh="en-US",en=dr({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=Se(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Zd(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||hh,resolvePageLayout:(e,t)=>{const n=Se(e.frontmatter.layout)?e.frontmatter.layout:ph;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Jd(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});const vh={};var Je=(e={})=>e;const qt=e=>{const t=Zt();return T(()=>e[t.value]??{})};var Be=Uint8Array,gn=Uint16Array,mh=Int32Array,Vi=new Be([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),zi=new Be([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),gh=new Be([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ji=function(e,t){for(var n=new gn(31),r=0;r<31;++r)n[r]=t+=1<>1|(ve&21845)<<1;Ot=(Ot&52428)>>2|(Ot&13107)<<2,Ot=(Ot&61680)>>4|(Ot&3855)<<4,Zo[ve]=((Ot&65280)>>8|(Ot&255)<<8)>>1}var Xn=function(e,t,n){for(var r=e.length,o=0,l=new gn(t);o>i]=u}else for(a=new gn(r),o=0;o>15-e[o]);return a},gr=new Be(288);for(var ve=0;ve<144;++ve)gr[ve]=8;for(var ve=144;ve<256;++ve)gr[ve]=9;for(var ve=256;ve<280;++ve)gr[ve]=7;for(var ve=280;ve<288;++ve)gr[ve]=8;var Ki=new Be(32);for(var ve=0;ve<32;++ve)Ki[ve]=5;var wh=Xn(gr,9,1),Eh=Xn(Ki,5,1),ko=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},it=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},xo=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},Ch=function(e){return(e+7)/8|0},Il=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new Be(e.subarray(t,n))},Th=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],nt=function(e,t,n){var r=new Error(t||Th[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,nt),!n)throw r;return r},kh=function(e,t,n,r){var o=e.length,l=r?r.length:0;if(!o||t.f&&!t.l)return n||new Be(0);var s=!n,a=s||t.i!=2,i=t.i;s&&(n=new Be(o*3));var u=function(ae){var de=n.length;if(ae>de){var v=new Be(Math.max(de*2,ae));v.set(n),n=v}},f=t.f||0,d=t.p||0,p=t.b||0,h=t.l,g=t.d,E=t.m,_=t.n,y=o*8;do{if(!h){f=it(e,d,1);var k=it(e,d+1,3);if(d+=3,k)if(k==1)h=wh,g=Eh,E=9,_=5;else if(k==2){var C=it(e,d,31)+257,G=it(e,d+10,15)+4,N=C+it(e,d+5,31)+1;d+=14;for(var q=new Be(N),R=new Be(19),j=0;j>4;if(b<16)q[j++]=b;else{var W=0,ee=0;for(b==16?(ee=3+it(e,d,3),d+=2,W=q[j-1]):b==17?(ee=3+it(e,d,7),d+=3):b==18&&(ee=11+it(e,d,127),d+=7);ee--;)q[j++]=W}}var K=q.subarray(0,C),xe=q.subarray(C);E=ko(K),_=ko(xe),h=Xn(K,E,1),g=Xn(xe,_,1)}else nt(1);else{var b=Ch(d)+4,x=e[b-4]|e[b-3]<<8,D=b+x;if(D>o){i&&nt(0);break}a&&u(p+x),n.set(e.subarray(b,D),p),t.b=p+=x,t.p=d=D*8,t.f=f;continue}if(d>y){i&&nt(0);break}}a&&u(p+131072);for(var ht=(1<>4;if(d+=W&15,d>y){i&&nt(0);break}if(W||nt(2),Ue<256)n[p++]=Ue;else if(Ue==256){Re=d,h=null;break}else{var wt=Ue-254;if(Ue>264){var j=Ue-257,vt=Vi[j];wt=it(e,d,(1<>4;Le||nt(3),d+=Le&15;var xe=_h[L];if(L>3){var vt=zi[L];xe+=xo(e,d)&(1<y){i&&nt(0);break}a&&u(p+131072);var V=p+wt;if(p>4>7||(e[0]<<8|e[1])%31)&&nt(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&nt(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function Sh(e,t){return kh(e.subarray(Lh(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}var Qs=typeof TextEncoder<"u"&&new TextEncoder,qo=typeof TextDecoder<"u"&&new TextDecoder,Ah=0;try{qo.decode(xh,{stream:!0}),Ah=1}catch{}var Ph=function(e){for(var t="",n=0;;){var r=e[n++],o=(r>127)+(r>223)+(r>239);if(n+o>e.length)return{s:t,r:Il(e,n-1)};o?o==3?(r=((r&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):o&1?t+=String.fromCharCode((r&31)<<6|e[n++]&63):t+=String.fromCharCode((r&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(r)}};function Rh(e,t){if(t){for(var n=new Be(e.length),r=0;r>1)),s=0,a=function(f){l[s++]=f},r=0;rl.length){var i=new Be(s+8+(o-r<<1));i.set(l),l=i}var u=e.charCodeAt(r);u<128||t?a(u):u<2048?(a(192|u>>6),a(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|e.charCodeAt(++r)&1023,a(240|u>>18),a(128|u>>12&63),a(128|u>>6&63),a(128|u&63)):(a(224|u>>12),a(128|u>>6&63),a(128|u&63))}return Il(l,0,s)}function Ih(e,t){if(t){for(var n="",r=0;r{const t=atob(e);return Ih(Sh(Rh(t,!0)))},Lt=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||On())==null?void 0:r.appContext.components;return n?e in n||st(e)in n||fr(st(e))in n:!1},Ui=e=>new Promise(t=>setTimeout(t,e)),Oh=e=>typeof e<"u",Lo=e=>typeof e=="number",Yo=Array.isArray,Pn=(e,t)=>Se(e)&&e.startsWith(t),Mh=(e,t)=>Se(e)&&e.endsWith(t),Ol=Object.entries,Dh=Object.fromEntries,br=Object.keys,Nh=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},Ml=e=>Pn(e,"/");function Zi(e,t){let n,r,o;const l=J(!0),s=()=>{l.value=!0,o()};le(e,s,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,u=yl((f,d)=>(r=f,o=d,{get(){return l.value&&(n=a(),l.value=!1),r(),n},set(p){i==null||i(p)}}));return Object.isExtensible(u)&&(u.trigger=s),u}function Yt(e){return Ea()?(xu(e),!0):!1}function Fe(e){return typeof e=="function"?e():sn(e)}const yr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const $h=e=>e!=null,Hh=Object.prototype.toString,Bh=e=>Hh.call(e)==="[object Object]",St=()=>{},Xo=Fh();function Fh(){var e,t;return yr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Dl(e,t){function n(...r){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(l)})}return n}const qi=e=>e();function Vh(e,t={}){let n,r,o=St;const l=a=>{clearTimeout(a),o(),o=St};return a=>{const i=Fe(e),u=Fe(t.maxWait);return n&&l(n),i<=0||u!==void 0&&u<=0?(r&&(l(r),r=null),Promise.resolve(a())):new Promise((f,d)=>{o=t.rejectOnCancel?d:f,u&&!r&&(r=setTimeout(()=>{n&&l(n),r=null,f(a())},u)),n=setTimeout(()=>{r&&l(r),r=null,f(a())},i)})}}function zh(...e){let t=0,n,r=!0,o=St,l,s,a,i,u;!De(e[0])&&typeof e[0]=="object"?{delay:s,trailing:a=!0,leading:i=!0,rejectOnCancel:u=!1}=e[0]:[s,a=!0,i=!0,u=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=St)};return p=>{const h=Fe(s),g=Date.now()-t,E=()=>l=p();return f(),h<=0?(t=Date.now(),E()):(g>h&&(i||!r)?(t=Date.now(),E()):a&&(l=new Promise((_,y)=>{o=u?y:_,n=setTimeout(()=>{t=Date.now(),r=!0,_(E()),f()},Math.max(0,h-g))})),!i&&!n&&(n=setTimeout(()=>r=!0,h)),r=!1,l)}}function jh(e=qi){const t=J(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:In(t),pause:n,resume:r,eventFilter:o}}function Wh(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Gh(e){return e||On()}function Kh(...e){if(e.length!==1)return Xr(...e);const t=e[0];return typeof t=="function"?In(yl(()=>({get:t,set:St}))):J(t)}function Yi(e,t=200,n={}){return Dl(Vh(t,n),e)}function Uh(e,t=200,n=!1,r=!0,o=!1){return Dl(zh(t,n,r,o),e)}function Zh(e,t,n={}){const{eventFilter:r=qi,...o}=n;return le(e,Dl(r,t),o)}function qh(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:l,pause:s,resume:a,isActive:i}=jh(r);return{stop:Zh(e,t,{...o,eventFilter:l}),pause:s,resume:a,isActive:i}}function io(e,t=!0,n){Gh()?he(e,n):t?e():Gt(e)}function Yh(e,t,n={}){const{immediate:r=!0}=n,o=J(!1);let l=null;function s(){l&&(clearTimeout(l),l=null)}function a(){o.value=!1,s()}function i(...u){s(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...u)},Fe(t))}return r&&(o.value=!0,yr&&i()),Yt(a),{isPending:In(o),start:i,stop:a}}function Jo(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=De(e),l=J(e);function s(a){if(arguments.length)return l.value=a,l.value;{const i=Fe(n);return l.value=l.value===i?Fe(r):i,l.value}}return o?s:[l,s]}function We(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const pt=yr?window:void 0,Xi=yr?window.document:void 0,Ji=yr?window.navigator:void 0;function Te(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=pt):[t,n,r,o]=e,!t)return St;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const l=[],s=()=>{l.forEach(f=>f()),l.length=0},a=(f,d,p,h)=>(f.addEventListener(d,p,h),()=>f.removeEventListener(d,p,h)),i=le(()=>[We(t),Fe(o)],([f,d])=>{if(s(),!f)return;const p=Bh(d)?{...d}:d;l.push(...n.flatMap(h=>r.map(g=>a(f,h,g,p))))},{immediate:!0,flush:"post"}),u=()=>{i(),s()};return Yt(u),u}let ta=!1;function Xh(e,t,n={}){const{window:r=pt,ignore:o=[],capture:l=!0,detectIframe:s=!1}=n;if(!r)return St;Xo&&!ta&&(ta=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",St)),r.document.documentElement.addEventListener("click",St));let a=!0;const i=p=>o.some(h=>{if(typeof h=="string")return Array.from(r.document.querySelectorAll(h)).some(g=>g===p.target||p.composedPath().includes(g));{const g=We(h);return g&&(p.target===g||p.composedPath().includes(g))}}),f=[Te(r,"click",p=>{const h=We(e);if(!(!h||h===p.target||p.composedPath().includes(h))){if(p.detail===0&&(a=!i(p)),!a){a=!0;return}t(p)}},{passive:!0,capture:l}),Te(r,"pointerdown",p=>{const h=We(e);a=!i(p)&&!!(h&&!p.composedPath().includes(h))},{passive:!0}),s&&Te(r,"blur",p=>{setTimeout(()=>{var h;const g=We(e);((h=r.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(g!=null&&g.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function Jh(){const e=J(!1),t=On();return t&&he(()=>{e.value=!0},t),e}function Mn(e){const t=Jh();return T(()=>(t.value,!!e()))}function Qi(e,t={}){const{window:n=pt}=t,r=Mn(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=J(!1),s=u=>{l.value=u.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},i=Ua(()=>{r.value&&(a(),o=n.matchMedia(Fe(e)),"addEventListener"in o?o.addEventListener("change",s):o.addListener(s),l.value=o.matches)});return Yt(()=>{i(),a(),o=void 0}),l}function na(e,t={}){const{controls:n=!1,navigator:r=Ji}=t,o=Mn(()=>r&&"permissions"in r);let l;const s=typeof e=="string"?{name:e}:e,a=J(),i=()=>{l&&(a.value=l.state)},u=Wh(async()=>{if(o.value){if(!l)try{l=await r.permissions.query(s),Te(l,"change",i),i()}catch{a.value="prompt"}return l}});return u(),n?{state:a,isSupported:o,query:u}:a}function Qh(e={}){const{navigator:t=Ji,read:n=!1,source:r,copiedDuring:o=1500,legacy:l=!1}=e,s=Mn(()=>t&&"clipboard"in t),a=na("clipboard-read"),i=na("clipboard-write"),u=T(()=>s.value||l),f=J(""),d=J(!1),p=Yh(()=>d.value=!1,o);function h(){s.value&&y(a.value)?t.clipboard.readText().then(k=>{f.value=k}):f.value=_()}u.value&&n&&Te(["copy","cut"],h);async function g(k=Fe(r)){u.value&&k!=null&&(s.value&&y(i.value)?await t.clipboard.writeText(k):E(k),f.value=k,d.value=!0,p.start())}function E(k){const b=document.createElement("textarea");b.value=k??"",b.style.position="absolute",b.style.opacity="0",document.body.appendChild(b),b.select(),document.execCommand("copy"),b.remove()}function _(){var k,b,x;return(x=(b=(k=document==null?void 0:document.getSelection)==null?void 0:k.call(document))==null?void 0:b.toString())!=null?x:""}function y(k){return k==="granted"||k==="prompt"}return{isSupported:u,text:f,copied:d,copy:g}}const Rr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ir="__vueuse_ssr_handlers__",e1=t1();function t1(){return Ir in Rr||(Rr[Ir]=Rr[Ir]||{}),Rr[Ir]}function n1(e,t){return e1[e]||t}function r1(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const o1={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ra="vueuse-storage";function Nl(e,t,n,r={}){var o;const{flush:l="pre",deep:s=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:u=!1,shallow:f,window:d=pt,eventFilter:p,onError:h=R=>{console.error(R)},initOnMounted:g}=r,E=(f?$e:J)(typeof t=="function"?t():t);if(!n)try{n=n1("getDefaultStorage",()=>{var R;return(R=pt)==null?void 0:R.localStorage})()}catch(R){h(R)}if(!n)return E;const _=Fe(t),y=r1(_),k=(o=r.serializer)!=null?o:o1[y],{pause:b,resume:x}=qh(E,()=>C(E.value),{flush:l,deep:s,eventFilter:p});d&&a&&io(()=>{Te(d,"storage",N),Te(d,ra,q),g&&N()}),g||N();function D(R,j){d&&d.dispatchEvent(new CustomEvent(ra,{detail:{key:e,oldValue:R,newValue:j,storageArea:n}}))}function C(R){try{const j=n.getItem(e);if(R==null)D(j,null),n.removeItem(e);else{const I=k.write(R);j!==I&&(n.setItem(e,I),D(j,I))}}catch(j){h(j)}}function G(R){const j=R?R.newValue:n.getItem(e);if(j==null)return i&&_!=null&&n.setItem(e,k.write(_)),_;if(!R&&u){const I=k.read(j);return typeof u=="function"?u(I,_):y==="object"&&!Array.isArray(I)?{..._,...I}:I}else return typeof j!="string"?j:k.read(j)}function N(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){E.value=_;return}if(!(R&&R.key!==e)){b();try{(R==null?void 0:R.newValue)!==k.write(E.value)&&(E.value=G(R))}catch(j){h(j)}finally{R?Gt(x):x()}}}}function q(R){N(R.detail)}return E}function l1(e){return Qi("(prefers-color-scheme: dark)",e)}function s1(e,t,n={}){const{window:r=pt,...o}=n;let l;const s=Mn(()=>r&&"MutationObserver"in r),a=()=>{l&&(l.disconnect(),l=void 0)},i=T(()=>{const p=Fe(e),h=(Array.isArray(p)?p:[p]).map(We).filter($h);return new Set(h)}),u=le(()=>i.value,p=>{a(),s.value&&r&&p.size&&(l=new MutationObserver(t),p.forEach(h=>l.observe(h,o)))},{immediate:!0,flush:"post"}),f=()=>l==null?void 0:l.takeRecords(),d=()=>{a(),u()};return Yt(d),{isSupported:s,stop:d,takeRecords:f}}function a1(e,t,n={}){const{window:r=pt,...o}=n;let l;const s=Mn(()=>r&&"ResizeObserver"in r),a=()=>{l&&(l.disconnect(),l=void 0)},i=T(()=>Array.isArray(e)?e.map(d=>We(d)):[We(e)]),u=le(i,d=>{if(a(),s.value&&r){l=new ResizeObserver(t);for(const p of d)p&&l.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{a(),u()};return Yt(f),{isSupported:s,stop:f}}function i1(e,t={width:0,height:0},n={}){const{window:r=pt,box:o="content-box"}=n,l=T(()=>{var d,p;return(p=(d=We(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),s=J(t.width),a=J(t.height),{stop:i}=a1(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&l.value){const h=We(e);if(h){const g=r.getComputedStyle(h);s.value=Number.parseFloat(g.width),a.value=Number.parseFloat(g.height)}}else if(p){const h=Array.isArray(p)?p:[p];s.value=h.reduce((g,{inlineSize:E})=>g+E,0),a.value=h.reduce((g,{blockSize:E})=>g+E,0)}else s.value=d.contentRect.width,a.value=d.contentRect.height},n);io(()=>{const d=We(e);d&&(s.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const u=le(()=>We(e),d=>{s.value=d?t.width:0,a.value=d?t.height:0});function f(){i(),u()}return{width:s,height:a,stop:f}}const oa=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function $l(e,t={}){const{document:n=Xi,autoExit:r=!1}=t,o=T(()=>{var y;return(y=We(e))!=null?y:n==null?void 0:n.querySelector("html")}),l=J(!1),s=T(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),a=T(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),i=T(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||o.value&&y in o.value)),u=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),f=Mn(()=>o.value&&n&&s.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>u?(n==null?void 0:n[u])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const y=o.value;if((y==null?void 0:y[i.value])!=null)return!!y[i.value]}}return!1};async function h(){if(!(!f.value||!l.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const y=o.value;(y==null?void 0:y[a.value])!=null&&await y[a.value]()}l.value=!1}}async function g(){if(!f.value||l.value)return;p()&&await h();const y=o.value;s.value&&(y==null?void 0:y[s.value])!=null&&(await y[s.value](),l.value=!0)}async function E(){await(l.value?h():g())}const _=()=>{const y=p();(!y||y&&d())&&(l.value=y)};return Te(n,oa,_,!1),Te(()=>We(o),oa,_,!1),r&&Yt(h),{isSupported:f,isFullscreen:l,enter:g,exit:h,toggle:E}}function So(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function j0(e,t,n={}){const{window:r=pt}=n;return Nl(e,t,r==null?void 0:r.localStorage,n)}function ec(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Or=new WeakMap;function Hl(e,t=!1){const n=J(t);let r=null;le(Kh(e),s=>{const a=So(Fe(s));if(a){const i=a;Or.get(i)||Or.set(i,i.style.overflow),n.value&&(i.style.overflow="hidden")}},{immediate:!0});const o=()=>{const s=So(Fe(e));!s||n.value||(Xo&&(r=Te(s,"touchmove",a=>{c1(a)},{passive:!1})),s.style.overflow="hidden",n.value=!0)},l=()=>{var s;const a=So(Fe(e));!a||!n.value||(Xo&&(r==null||r()),a.style.overflow=(s=Or.get(a))!=null?s:"",Or.delete(a),n.value=!1)};return Yt(l),T({get(){return n.value},set(s){s?o():l()}})}let u1=0;function f1(e,t={}){const n=J(!1),{document:r=Xi,immediate:o=!0,manual:l=!1,id:s=`vueuse_styletag_${++u1}`}=t,a=J(e);let i=()=>{};const u=()=>{if(!r)return;const d=r.getElementById(s)||r.createElement("style");d.isConnected||(d.id=s,t.media&&(d.media=t.media),r.head.appendChild(d)),!n.value&&(i=le(a,p=>{d.textContent=p},{immediate:!0}),n.value=!0)},f=()=>{!r||!n.value||(i(),r.head.removeChild(r.getElementById(s)),n.value=!1)};return o&&!l&&io(u),l||Yt(f),{id:s,css:a,unload:f,load:u,isLoaded:In(n)}}function d1(e={}){const{window:t=pt,behavior:n="auto"}=e;if(!t)return{x:J(0),y:J(0)};const r=J(t.scrollX),o=J(t.scrollY),l=T({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),s=T({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return Te(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:l,y:s}}function p1(e={}){const{window:t=pt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:l=!0}=e,s=J(n),a=J(r),i=()=>{t&&(l?(s.value=t.innerWidth,a.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),io(i),Te("resize",i,{passive:!0}),o){const u=Qi("(orientation: portrait)");le(u,()=>i())}return{width:s,height:a}}const tc=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var l;return c("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((l=o.default)==null?void 0:l.call(o))||t)};tc.displayName="Badge";var h1=Z({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=T(()=>{const r=["font-icon icon"],o=`iconfont icon-${e.icon}`;return r.push(o),r}),n=T(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),br(r).length?r:null});return()=>e.icon?c("span",{key:e.icon,class:t.value,style:n.value}):null}});const v1=Je({enhance:({app:e})=>{Lt("Badge")||e.component("Badge",tc),Lt("FontIcon")||e.component("FontIcon",h1)},setup:()=>{f1(` @import url("https://at.alicdn.com/t/c/font_2410206_5vb9zlyghj.css"); + `)},rootComponents:[]}),la=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},m1=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=Kt();Te("scroll",Yi(()=>{var g,E;const s=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(s-0)d.some(y=>y.hash===_.hash));for(let _=0;_=(((g=y.parentElement)==null?void 0:g.offsetTop)??0)-r,x=!k||s<(((E=k.parentElement)==null?void 0:E.offsetTop)??0)-r;if(!(b&&x))continue;const C=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(y.hash);if(C===G)return;if(f){for(let N=_+1;NSe(e.title)?{title:e.title}:null;const rc=Symbol(""),E1=e=>{nc=e},C1=()=>Ce(rc),T1=e=>{e.provide(rc,nc)};var k1={"/":{title:"目录",empty:"暂无目录"}};const x1=Z({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=C1(),n=qt(k1),r=_e(),o=uh(),l=$i(),a=$e(Ol(o.value).map(([u,{meta:f}])=>{const d=t(f);if(!d)return null;const p=u.split("/").length;return{level:Mh(u,"/")?p-2:p-1,base:u.replace(/\/[^/]+\/?$/,"/"),path:u,...d}}).filter(u=>no(u)&&Se(u.title))),i=T(()=>{const u=e.base?qd(Ti(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),f=u.split("/").length-2,d=[];return a.value.filter(({level:p,path:h})=>{if(!Pn(h,u)||h===u)return!1;if(u==="/"){const g=br(l.value.locales).filter(E=>E!=="/");if(h==="/404.html"||g.some(E=>Pn(h,E)))return!1}return p-f<=e.level}).sort(({title:p,level:h,order:g},{title:E,level:_,order:y})=>{const k=h-_;return k||(Lo(g)?Lo(y)?g>0?y>0?g-y:-1:y<0?g-y:1:g:Lo(y)?y:p.localeCompare(E))}).forEach(p=>{var E;const{base:h,level:g}=p;switch(g-f){case 1:{d.push(p);break}case 2:{const _=d.find(y=>y.path===h);_&&(_.children??(_.children=[])).push(p);break}default:{const _=d.find(y=>y.path===h.replace(/\/[^/]+\/$/,"/"));if(_){const y=(E=_.children)==null?void 0:E.find(k=>k.path===h);y&&(y.children??(y.children=[])).push(p)}}}}),d});return()=>{const u=i.value.some(f=>f.children);return c("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:c("h2",{class:"vp-catalog-main-title"},n.value.title),i.value.length?c(e.index?"ol":"ul",{class:["vp-catalogs",{deep:u}]},i.value.map(({children:f=[],title:d,path:p,content:h})=>{const g=c(Xe,{class:"vp-catalog-title",to:p},()=>h?c(h):d);return c("li",{class:"vp-catalog"},u?[c("h3",{id:d,class:["vp-catalog-child-title",{"has-children":f.length}]},[c("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),g]),f.length?c(e.index?"ol":"ul",{class:"vp-child-catalogs"},f.map(({children:E=[],content:_,path:y,title:k})=>c("li",{class:"vp-child-catalog"},[c("div",{class:["vp-catalog-sub-title",{"has-children":E.length}]},[c("a",{href:`#${k}`,class:"vp-catalog-header-anchor"},"#"),c(Xe,{class:"vp-catalog-title",to:y},()=>_?c(_):k)]),E.length?c(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},E.map(({content:b,path:x,title:D})=>e.index?c("li",{class:"vp-sub-catalog"},c(Xe,{to:x},()=>b?c(b):D)):c(Xe,{class:"vp-sub-catalog-link",to:x},()=>b?c(b):D))):null]))):null]:c("div",{class:"vp-catalog-child-title"},g))})):c("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),L1=Je({enhance:({app:e})=>{T1(e),Lt("Catalog",e)||e.component("Catalog",x1)}});var S1={"/":{backToTop:"返回顶部"}};const A1=Z({name:"BackToTop",setup(e){const t=ke(),n=qt(S1),r=$e(),{height:o}=i1(r),{height:l}=p1(),{y:s}=d1(),a=T(()=>t.value.backToTop!==!1&&s.value>100),i=T(()=>s.value/(o.value-l.value)*100);return he(()=>{r.value=document.body}),()=>c(Wt,{name:"back-to-top"},()=>a.value?c("button",{type:"button",class:"vp-back-to-top-button","aria-label":n.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[c("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":i.value},c("svg",c("circle",{cx:"50%",cy:"50%",style:{"stroke-dasharray":`calc(${Math.PI*i.value}% - ${4*Math.PI}px) calc(${Math.PI*100}% - ${4*Math.PI}px)`}}))),c("div",{class:"back-to-top-icon"})]):null)}}),P1=Je({rootComponents:[A1]}),R1=c("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[c("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),c("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),oc=Z({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=Zt(),n=T(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>c("span",[R1,c("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var I1={};const O1=I1,M1=Je({enhance({app:e}){e.component("ExternalLinkIcon",c(oc,{locales:O1}))}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const ie={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
    '},status:null,set:e=>{const t=ie.isStarted();e=Ao(e,ie.settings.minimum,1),ie.status=e===1?null:e;const n=ie.render(!t),r=n.querySelector(ie.settings.barSelector),o=ie.settings.speed,l=ie.settings.easing;return n.offsetWidth,D1(s=>{Mr(r,{transform:"translate3d("+sa(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(Mr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Mr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){ie.remove(),s()},o)},o)):setTimeout(()=>s(),o)}),ie},isStarted:()=>typeof ie.status=="number",start:()=>{ie.status||ie.set(0);const e=()=>{setTimeout(()=>{ie.status&&(ie.trickle(),e())},ie.settings.trickleSpeed)};return ie.settings.trickle&&e(),ie},done:e=>!e&&!ie.status?ie:ie.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ie.status;return t?(typeof e!="number"&&(e=(1-t)*Ao(Math.random()*t,.1,.95)),t=Ao(t+e,0,.994),ie.set(t)):ie.start()},trickle:()=>ie.inc(Math.random()*ie.settings.trickleRate),render:e=>{if(ie.isRendered())return document.getElementById("nprogress");aa(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ie.settings.template;const n=t.querySelector(ie.settings.barSelector),r=e?"-100":sa(ie.status||0),o=document.querySelector(ie.settings.parent);return Mr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&aa(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{ia(document.documentElement,"nprogress-busy"),ia(document.querySelector(ie.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&N1(e)},isRendered:()=>!!document.getElementById("nprogress")},Ao=(e,t,n)=>en?n:e,sa=e=>(-1+e)*100,D1=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Mr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(s){return s.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,i){return i.toUpperCase()})}function r(s){const a=document.body.style;if(s in a)return s;let i=e.length;const u=s.charAt(0).toUpperCase()+s.slice(1);let f;for(;i--;)if(f=e[i]+u,f in a)return f;return s}function o(s){return s=n(s),t[s]??(t[s]=r(s))}function l(s,a,i){a=o(a),s.style[a]=i}return function(s,a){for(const i in a){const u=a[i];u!==void 0&&Object.prototype.hasOwnProperty.call(a,i)&&l(s,i,u)}}}(),lc=(e,t)=>(typeof e=="string"?e:Bl(e)).indexOf(" "+t+" ")>=0,aa=(e,t)=>{const n=Bl(e),r=n+t;lc(n,t)||(e.className=r.substring(1))},ia=(e,t)=>{const n=Bl(e);if(!lc(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},Bl=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),N1=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},$1=()=>{he(()=>{const e=Kt(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ie.start()}),e.afterEach(n=>{t.add(n.path),ie.done()})})},H1=Je({setup(){$1()}}),B1=JSON.parse(`{"encrypt":{},"author":{"name":"Zotero Chinese","url":"https://github.com/zotero-chinese"},"logo":"/logo.png","repo":"zotero-chinese/wiki","docsDir":"src","headerDepth":4,"locales":{"/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页","print":"打印"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":[{"text":"首页","icon":"home","link":"/"},{"text":"Zotero 百科全书","icon":"article","link":"/user-guide/"},{"text":"中文插件商店","icon":"config","link":"https://plugins.zotero-chinese.com/"},{"text":"中文 CSL 样式","icon":"format","link":"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/"},{"text":"更多","icon":"more","children":[{"text":"开发手册","icon":"code","children":[{"text":"插件开发手册","icon":"code","link":"/plugin-dev-guide/"},{"text":"CSL 中文文档","icon":"code","link":"/csl-dev-guide/"}]},{"text":"关于","icon":"more","children":[{"text":"贡献指南","icon":"creative","link":"/contributing/"},{"text":"贡献者名单","icon":"creative","link":"/contributors"},{"text":"关于 Zotero 中文小组","icon":"creative","link":"/about"}]}]}],"sidebar":{"/user-guide/":["why-use-zotero","install","quick-start",{"text":"基础使用","icon":"module","collapsible":true,"children":["add-items","edit-items","add-attachments","organize-library","take-notes","feed","import-from-other-software"]},{"text":"创建参考文献","icon":"code","collapsible":true,"children":["citation-styles","ms-word-plugin","wps-plugin","create-bibliographies-within-zotero","create-bibliographies-via-zbib"]},{"text":"同步、协作与备份","icon":"language","collapsible":true,"children":["sync","group","backup"]},{"text":"插件","icon":"plugin","prefix":"plugins","collapsible":true,"children":"structure"},{"text":"常见问题","icon":"question","prefix":"faqs","collapsible":true,"children":"structure"},{"text":"杂项","icon":"advance","prefix":"misc","collapsible":true,"children":"structure"}],"/plugin-dev-guide/":["",{"text":"从 Make It Red 开始","collapsible":true,"children":["quick-start/"]},{"text":"使用社区框架","collapsible":true,"children":["use-template/"]},{"text":"调试代码","collapsible":true,"children":["development/debug","development/sideloading"]},{"text":"参考","collapsible":true,"children":["reference/manifest","reference/bootstrap","reference/localization","reference/update","reference/zotero","reference/preference","reference/notify","reference/item","reference/more"]}],"/csl-dev-guide/":["primer","glossary","xml-basic","specification","translating-locale-files"],"/":["about","code_of_conduct","contributors",{"text":"贡献者指南","icon":"build","prefix":"contributing","collapsible":true,"children":["contributing","markdown","vscode-dev","build"]}]},"footer":"Zotero 中文小组 | 贡献指南 | 参与讨论 | 加入 QQ 群组","displayFooter":true,"copyright":"

    本工作以 CC BY-SA 4.0 协议授权

    "}}}`),F1=J(B1),sc=()=>F1,ac=Symbol(""),V1=()=>{const e=Ce(ac);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},z1=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},j1=Je({enhance({app:e}){const t=sc(),n=e._context.provides[Pl],r=T(()=>z1(t.value,n.routeLocale.value));e.provide(ac,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),me=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return c("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(r=n.default)==null?void 0:r.call(n))};me.displayName="IconBase";const Fl=({size:e=48,stroke:t=4,wrapper:n=!0,height:r=2*e})=>{const o=c("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[c("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),c("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[c("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),c("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?c("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${r}px`},o):o};Fl.displayName="LoadingIcon";const ic=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},cc=()=>c(me,{name:"github"},()=>c("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));cc.displayName="GitHubIcon";const uc=()=>c(me,{name:"gitlab"},()=>c("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));uc.displayName="GitLabIcon";const fc=()=>c(me,{name:"gitee"},()=>c("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));fc.displayName="GiteeIcon";const dc=()=>c(me,{name:"bitbucket"},()=>c("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));dc.displayName="BitbucketIcon";const pc=()=>c(me,{name:"source"},()=>c("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));pc.displayName="SourceIcon";function W1(){const e=J(!1),t=On();return t&&he(()=>{e.value=!0},t),e}function G1(e){return W1(),T(()=>!!e())}const K1=()=>G1(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),U1=()=>{const e=K1();return T(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},Z1=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),q1=e=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(t=>t.test(e)),Y1=e=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(t=>t.test(e)),hc=(e,t)=>{let n=1;for(let r=0;r>6;return n+=n<<3,n^=n>>11,n%t},vc=/#.*$/u,X1=e=>{const t=vc.exec(e);return t?t[0]:""},ca=e=>decodeURI(e).replace(vc,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),mc=(e,t)=>{if(!Oh(t))return!1;const n=ca(e.path),r=ca(t),o=X1(t);return o?o===e.hash&&(!r||n===r):n===r},J1=e=>dn(e)?e:`https://github.com/${e}`,gc=e=>!dn(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null;var Q1=e=>Object.prototype.toString.call(e)==="[object Object]",ir=e=>typeof e=="string";const bc=Array.isArray,ua=e=>Q1(e)&&ir(e.name),fa=(e,t=!1)=>e?bc(e)?e.map(n=>ir(n)?{name:n}:ua(n)?n:null).filter(n=>n!==null):ir(e)?[{name:e}]:ua(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],yc=(e,t)=>{if(e){if(bc(e)&&e.every(ir))return e;if(ir(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},ev=e=>yc(e,"category"),tv=e=>yc(e,"tag");var nv={provider:"Giscus",lightTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.27/templates/giscus/light.css",darkTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.27/templates/giscus/dark.css",repo:"zotero-chinese/wiki",repoId:"R_kgDOJZD4iQ",category:"文档评论区",categoryId:"DIC_kwDOJZD4ic4CbJJB"};const rv=nv;let ov=rv;const _c=Symbol(""),wc=()=>Ce(_c),lv=wc,sv=e=>{e.provide(_c,ov)},da=["ar","ca","de","en","eo","es","fa","fr","he","id","it","ja","ko","nl","pl","pt","ro","ru","th","tr","uk","vi","zh-CN","zh-TW"];var av=Z({name:"GiscusComment",props:{identifier:{type:String,required:!0},darkmode:Boolean},setup(e){const t=lv(),n=Rl(),r=!!(t.repo&&t.repoId&&t.category&&t.categoryId),{repo:o,repoId:l,category:s,categoryId:a}=t,i=J(!1),u=T(()=>{if(da.includes(n.value))return n.value;const d=n.value.split("-")[0];return da.includes(d)?d:"en"}),f=T(()=>({repo:o,repoId:l,category:s,categoryId:a,lang:u.value,theme:e.darkmode?t.darkTheme||"dark":t.lightTheme||"light",mapping:t.mapping||"pathname",term:e.identifier,inputPosition:t.inputPosition||"top",reactionsEnabled:t.reactionsEnabled===!1?"0":"1",strict:t.strict===!1?"0":"1",loading:t.lazyLoading===!1?"eager":"lazy",emitMetadata:"0"}));return he(async()=>{await H(()=>import("./giscus-7BMGhbDA.js"),__vite__mapDeps([])),i.value=!0}),()=>r?c("div",{id:"comment",class:["giscus-wrapper",{"input-top":t.inputPosition!=="bottom"}]},i.value?c("giscus-widget",f.value):c(Fl)):null}}),iv=Z({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=wc(),n=_e(),r=ke(),o=t.comment!==!1,l=T(()=>r.value.comment||o&&r.value.comment!==!1);return()=>c(av,{identifier:r.value.commentID||n.value.path,darkmode:e.darkmode,style:{display:l.value?"block":"none"}})}}),cv=Je({enhance:({app:e})=>{sv(e),e.component("CommentService",iv)}});const uv=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,fv=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&uv.test(navigator.userAgent),dv=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:l,copied:s}=Qh({legacy:!0,copiedDuring:t}),a=qt(n),i=_e(),u=p=>{if(!p.hasAttribute("copy-code-registered")){const h=document.createElement("button");h.type="button",h.classList.add("vp-copy-code-button"),h.innerHTML='
    ',h.setAttribute("aria-label",a.value.copy),h.setAttribute("data-copied",a.value.copied),p.parentElement&&p.parentElement.insertBefore(h,p),p.setAttribute("copy-code-registered","")}},f=()=>{Gt().then(()=>Ui(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(u)})})},d=(p,h,g)=>{let{innerText:E=""}=h;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(E=E.replace(/^ *(\$|>) /gm,"")),l(E).then(()=>{g.classList.add("copied"),le(s,()=>{g.classList.remove("copied"),g.blur()},{once:!0})})};he(()=>{const p=!fv()||o;p&&f(),Te("click",h=>{const g=h.target;if(g.matches('div[class*="language-"] > button.copy')){const E=g.parentElement,_=g.nextElementSibling;_&&d(E,_,g)}else if(g.matches('div[class*="language-"] div.vp-copy-icon')){const E=g.parentElement,_=E.parentElement,y=E.nextElementSibling;y&&d(_,y,E)}}),le(()=>i.value.path,()=>{p&&f()})})};var pv={"/":{copy:"复制代码",copied:"已复制"}},hv=['.theme-hope-content div[class*="language-"] pre'];const vv=500,mv=2e3,gv=pv,bv=hv,yv=!1,_v=Je({setup:()=>{dv({selector:bv,locales:gv,duration:mv,delay:vv,showInMobile:yv})}}),wv=()=>{Te("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})};let Ev={};const Ec=Symbol(""),Cv=()=>Ce(Ec),Tv=e=>{e.provide(Ec,Ev)},pa=()=>{const e=document.documentElement;return e.classList.contains("dark")||e.getAttribute("data-theme")==="dark"},hn={useMaxWidth:!1},kv=e=>({dark:e,background:e?"#1e1e1e":"#fff",primaryColor:e?"#389d70":"#4abf8a",primaryBorderColor:e?"#389d70":"#4abf8a",primaryTextColor:e?"#fff":"#000",secondaryColor:"#ffb500",secondaryBorderColor:e?"#fff":"#000",secondaryTextColor:e?"#ddd":"#333",tertiaryColor:e?"#282828":"#efeef4",tertiaryBorderColor:e?"#bbb":"#242424",tertiaryTextColor:e?"#ddd":"#333",noteBkgColor:e?"#f6d365":"#fff5ad",noteTextColor:"#242424",noteBorderColor:e?"#f6d365":"#333",lineColor:e?"#d3d3d3":"#333",textColor:e?"#fff":"#242424",mainBkg:e?"#389d70":"#4abf8a",errorBkgColor:"#eb4d5d",errorTextColor:"#fff",nodeBorder:e?"#389d70":"#4abf8a",nodeTextColor:e?"#fff":"#242424",signalTextColor:e?"#9e9e9e":"#242424",classText:"#fff",labelColor:"#fff",attributeBackgroundColorEven:e?"#0d1117":"#fff",attributeBackgroundColorOdd:e?"#161b22":"#f8f8f8",fillType0:e?"#cf1322":"#f1636e",fillType1:"#f39c12",fillType2:"#2ecc71",fillType3:"#fa541c",fillType4:"#25a55b",fillType5:"#13c2c2",fillType6:"#096dd9",fillType7:"#aa6fe9"});var xv=Z({name:"Mermaid",props:{id:{type:String,required:!0},code:{type:String,required:!0},title:{type:String,default:""}},setup(e){const{themeVariables:t,...n}=Cv(),r=$e(),o=T(()=>ea(e.code)),l=J(""),s=J(!1);let a=!1;const i=async()=>{const[{default:d}]=await Promise.all([H(()=>import("./mermaid.core-xpSMncQK.js").then(p=>p.b6),__vite__mapDeps([])),a?Promise.resolve():(a=!0,new Promise(p=>setTimeout(p,800)))]);d.initialize({theme:"base",themeVariables:{...kv(s.value),...Qd(t)?t(s.value):t},flowchart:hn,sequence:hn,journey:hn,gantt:hn,er:hn,pie:hn,...n,startOnLoad:!1}),l.value=(await d.render(e.id,o.value)).svg},u=()=>{const{body:d}=document,p=document.createElement("div");p.classList.add("mermaid-preview"),p.innerHTML=l.value,d.appendChild(p),p.addEventListener("click",()=>{d.removeChild(p)})},f=()=>{const d=`data:image/svg+xml;charset=utf8,${l.value.replace(/
    /g,"
    ").replace(/%/g,"%25").replace(/"/g,"%22").replace(/'/g,"%27").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(//g,"%3E")}`,p=document.createElement("a");p.setAttribute("href",d),p.setAttribute("download",`${e.title?ea(e.title):e.id}.svg`),p.click()};return he(()=>{s.value=pa(),i(),s1(document.documentElement,()=>{s.value=pa()},{attributeFilter:["class","data-theme"],attributes:!0}),le(s,()=>i())}),()=>[c("div",{class:"mermaid-actions"},[c("button",{class:"preview-button",onClick:()=>u(),title:"preview",innerHTML:''}),c("button",{class:"download-button",onClick:()=>f(),title:"download",innerHTML:''})]),c("div",{ref:r,class:"mermaid-wrapper"},l.value?c("div",{class:"mermaid-content",innerHTML:l.value}):c(Fl,{class:"mermaid-loading",height:96}))]}});const Po=Nl("VUEPRESS_TAB_STORE",{});var Lv=Z({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=J(e.active),r=$e([]),o=()=>{e.tabId&&(Po.value[e.tabId]=e.data[n.value].id)},l=(u=n.value)=>{n.value=u{n.value=u>0?u-1:r.value.length-1,r.value[n.value].focus()},a=(u,f)=>{u.key===" "||u.key==="Enter"?(u.preventDefault(),n.value=f):u.key==="ArrowRight"?(u.preventDefault(),l()):u.key==="ArrowLeft"&&(u.preventDefault(),s()),o()},i=()=>{if(e.tabId){const u=e.data.findIndex(({id:f})=>Po.value[e.tabId]===f);if(u!==-1)return u}return e.active};return he(()=>{n.value=i(),le(()=>Po.value[e.tabId],(u,f)=>{if(e.tabId&&u!==f){const d=e.data.findIndex(({id:p})=>p===u);d!==-1&&(n.value=d)}})}),()=>e.data.length?c("div",{class:"vp-tabs"},[c("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:u},f)=>{const d=f===n.value;return c("button",{type:"button",ref:p=>{p&&(r.value[f]=p)},class:["vp-tab-nav",{active:d}],role:"tab","aria-controls":`tab-${e.id}-${f}`,"aria-selected":d,onClick:()=>{n.value=f,o()},onKeydown:p=>a(p,f)},t[`title${f}`]({value:u,isActive:d}))})),e.data.map(({id:u},f)=>{const d=f===n.value;return c("div",{class:["vp-tab",{active:d}],id:`tab-${e.id}-${f}`,role:"tabpanel","aria-expanded":d},[c("div",{class:"vp-tab-title"},t[`title${f}`]({value:u,isActive:d})),t[`tab${f}`]({value:u,isActive:d})])})]):null}});const Sv=Je({enhance:({app:e})=>{Tv(e),e.component("Mermaid",xv),e.component("Tabs",Lv)},setup:()=>{wv()}});let Av={};const Cc=Symbol(""),Pv=()=>Ce(Cc),Rv=e=>{e.provide(Cc,Av)},Iv='
    ',Ov=e=>Se(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),Tc=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>t(Tc(e)),e.onerror=r=>n(r))}),Mv=e=>{const{isSupported:t,toggle:n}=$l();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(r,o)=>{r.setAttribute("download",""),r.setAttribute("target","_blank"),r.setAttribute("rel","noopener"),o.on("change",()=>{r.setAttribute("href",o.currSlide.data.src)})}}),e.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(r,o)=>{const l=[];let s=-1;for(let a=0;a{o.goTo(l.indexOf(u.target))},l.push(i),r.appendChild(i)}o.on("change",()=>{s>=0&&l[s].classList.remove("active"),l[o.currIndex].classList.add("active"),s=o.currIndex})}})})},Dv=(e,t,n=!0)=>H(()=>import("./photoswipe.esm-SzV8tJDW.js"),__vite__mapDeps([])).then(({default:r})=>{let o=null;const l=e.map(s=>({html:Iv,element:s,msrc:s.src}));return e.forEach((s,a)=>{const i=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:l,index:a,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),Mv(o),o.addFilter("thumbEl",()=>s),o.addFilter("placeholderSrc",()=>s.src),o.init()};s.getAttribute("photo-swipe")||(s.style.cursor="zoom-in",s.addEventListener("click",()=>{i()}),s.addEventListener("keypress",({key:u})=>{u==="Enter"&&i()}),s.setAttribute("photo-swipe","")),Tc(s).then(u=>{l.splice(a,1,u),o==null||o.refreshSlideContent(a)})}),n?Te("wheel",()=>{o==null||o.close()}):()=>{}}),Nv=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=Pv(),l=qt(t),s=_e(),a=ke();let i=null;const u=()=>{const{photoSwipe:f}=a.value;f!==!1&&Gt().then(()=>Ui(n)).then(async()=>{const d=Se(f)?f:e;i=await Dv(Ov(d),{...o,...l.value},r)})};he(()=>{u(),le(()=>s.value.path,()=>{i==null||i(),u()})}),fn(()=>{i==null||i()})};var $v={"/":{closeTitle:"关闭",downloadTitle:"下载图片",fullscreenTitle:"切换全屏",zoomTitle:"缩放",arrowPrevTitle:"上一个 (左箭头)",arrowNextTitle:"下一个 (右箭头)"}};const Hv=".theme-hope-content :not(a) > img:not([no-view])",Bv=$v,Fv=800,Vv=!0,zv=Je({enhance:({app:e})=>{Rv(e)},setup:()=>{Nv({selector:Hv,delay:Fv,locales:Bv,scrollToClose:Vv})}}),jv=()=>c(me,{name:"heading"},()=>c("path",{d:"M250.4 704.6H64V595.4h202.4l26.2-166.6H94V319.6h214.4L352 64h127.8l-43.6 255.4h211.2L691 64h126.2l-43.6 255.4H960v109.2H756.2l-24.6 166.6H930v109.2H717L672 960H545.8l43.6-255.4H376.6L333 960H206.8l43.6-255.4zm168.4-276L394 595.4h211.2l24.6-166.6h-211z"}));jv.displayName="HeadingIcon";const Wv=()=>c(me,{name:"heart"},()=>c("path",{d:"M1024 358.156C1024 195.698 892.3 64 729.844 64c-86.362 0-164.03 37.218-217.844 96.49C458.186 101.218 380.518 64 294.156 64 131.698 64 0 195.698 0 358.156 0 444.518 37.218 522.186 96.49 576H96l320 320c32 32 64 64 96 64s64-32 96-64l320-320h-.49c59.272-53.814 96.49-131.482 96.49-217.844zM841.468 481.232 517.49 805.49a2981.962 2981.962 0 0 1-5.49 5.48c-1.96-1.95-3.814-3.802-5.49-5.48L182.532 481.234C147.366 449.306 128 405.596 128 358.156 128 266.538 202.538 192 294.156 192c47.44 0 91.15 19.366 123.076 54.532L512 350.912l94.768-104.378C638.696 211.366 682.404 192 729.844 192 821.462 192 896 266.538 896 358.156c0 47.44-19.368 91.15-54.532 123.076z"}));Wv.displayName="HeartIcon";const Gv=()=>c(me,{name:"history"},()=>c("path",{d:"M512 1024a512 512 0 1 1 512-512 512 512 0 0 1-512 512zm0-896a384 384 0 1 0 384 384 384 384 0 0 0-384-384zm192 448H512a64 64 0 0 1-64-64V320a64 64 0 0 1 128 0v128h128a64 64 0 0 1 0 128z"}));Gv.displayName="HistoryIcon";const Kv=()=>c(me,{name:"title"},()=>c("path",{d:"M512 256c70.656 0 134.656 28.672 180.992 75.008A254.933 254.933 0 0 1 768 512c0 83.968-41.024 157.888-103.488 204.48C688.96 748.736 704 788.48 704 832c0 105.984-86.016 192-192 192-106.048 0-192-86.016-192-192h128a64 64 0 1 0 128 0 64 64 0 0 0-64-64 255.19 255.19 0 0 1-181.056-75.008A255.403 255.403 0 0 1 256 512c0-83.968 41.024-157.824 103.488-204.544C335.04 275.264 320 235.584 320 192A192 192 0 0 1 512 0c105.984 0 192 85.952 192 192H576a64.021 64.021 0 0 0-128 0c0 35.328 28.672 64 64 64zM384 512c0 70.656 57.344 128 128 128s128-57.344 128-128-57.344-128-128-128-128 57.344-128 128z"}));Kv.displayName="TitleIcon";const Vl=()=>c(me,{name:"search"},()=>c("path",{d:"M192 480a256 256 0 1 1 512 0 256 256 0 0 1-512 0m631.776 362.496-143.2-143.168A318.464 318.464 0 0 0 768 480c0-176.736-143.264-320-320-320S128 303.264 128 480s143.264 320 320 320a318.016 318.016 0 0 0 184.16-58.592l146.336 146.368c12.512 12.48 32.768 12.48 45.28 0 12.48-12.512 12.48-32.768 0-45.28"}));Vl.displayName="SearchIcon";const kc=()=>c("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[c("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},c("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),c("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},c("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),c("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},c("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]);kc.displayName="LoadingIcon";const xc=({hint:e})=>c("div",{class:"search-pro-result-wrapper loading"},[c(kc),e]);xc.displayName="SearchLoading";const Uv='';var Zv={0:{"/":{0:"分",1:"类",2:":",3:" ",4:"$",5:"c",6:"o",7:"n",8:"t",9:"e",10:"n",11:"t"}},1:{"/":{0:"标",1:"签",2:":",3:" ",4:"$",5:"c",6:"o",7:"n",8:"t",9:"e",10:"n",11:"t"}}},qv={"/":{cancel:"取消",placeholder:"搜索",search:"搜索",searching:"搜索中",defaultTitle:"文档",select:"选择",navigate:"切换",autocomplete:"自动补全",exit:"关闭",queryHistory:"搜索历史",resultHistory:"历史结果",emptyHistory:"无搜索历史",emptyResult:"没有找到结果",loading:"正在加载搜索索引..."}},Yv={searchDelay:150,suggestDelay:0,queryHistoryCount:5,resultHistoryCount:5,hotKeys:[{key:"k",ctrl:!0},{key:"/",ctrl:!0}],worker:"search-pro.worker.js"};const zl=Yv,W0=Zv,Lc=zl.hotKeys,jl=qv;new URL("data:text/javascript;base64,aW1wb3J0e3NlYXJjaCBhcyBPLGdldFN0b3JlZEZpZWxkcyBhcyBDLGF1dG9TdWdnZXN0IGFzIFQsbG9hZEpTT05JbmRleCBhcyAkfWZyb20ic2xpbXNlYXJjaCI7aW1wb3J0IGIgZnJvbSJAdGVtcC9zZWFyY2gtcHJvL2luZGV4LmpzIjtpbXBvcnR7ZW50cmllcyBhcyB3fWZyb20iQHZ1ZXByZXNzL2hlbHBlci9jbGllbnQiO2NvbnN0IFM9KGksZSk9Pntjb25zdCBsPWkudG9Mb3dlckNhc2UoKSxzPWUudG9Mb3dlckNhc2UoKSxuPVtdO2xldCB0PTAsYz0wO2NvbnN0IGE9KG8sZz0hMSk9PntsZXQgdT0iIjtjPT09MD91PW8ubGVuZ3RoPjIwP2DigKYgJHtvLnNsaWNlKC0yMCl9YDpvOmc/dT1vLmxlbmd0aCtjPjEwMD9gJHtvLnNsaWNlKDAsMTAwLWMpfeKApiBgOm86dT1vLmxlbmd0aD4yMD9gJHtvLnNsaWNlKDAsMjApfSDigKYgJHtvLnNsaWNlKC0yMCl9YDpvLHUmJm4ucHVzaCh1KSxjKz11Lmxlbmd0aCxnfHwobi5wdXNoKFsibWFyayIsZV0pLGMrPWUubGVuZ3RoLGM+PTEwMCYmbi5wdXNoKCIg4oCmIikpfTtsZXQgcD1sLmluZGV4T2Yocyx0KTtpZihwPT09LTEpcmV0dXJuIG51bGw7Zm9yKDtwPj0wOyl7Y29uc3Qgbz1wK3MubGVuZ3RoO2lmKGEoaS5zbGljZSh0LHApKSx0PW8sYz4xMDApYnJlYWs7cD1sLmluZGV4T2Yocyx0KX1yZXR1cm4gYzwxMDAmJmEoaS5zbGljZSh0KSwhMCksbn0sRT0oaSxlKT0+ZS5jb250ZW50cy5yZWR1Y2UoKGwsWyxzXSk9PmwrcywwKS1pLmNvbnRlbnRzLnJlZHVjZSgobCxbLHNdKT0+bCtzLDApLEY9KGksZSk9Pk1hdGgubWF4KC4uLmUuY29udGVudHMubWFwKChbLGxdKT0+bCkpLU1hdGgubWF4KC4uLmkuY29udGVudHMubWFwKChbLGxdKT0+bCkpLE09KGksZSxsPXt9KT0+e2NvbnN0IHM9e307cmV0dXJuIE8oZSxpLHtib29zdDp7aDoyLHQ6MSxjOjR9LHByZWZpeDohMCwuLi5sfSkuZm9yRWFjaChuPT57Y29uc3R7aWQ6dCx0ZXJtczpjLHNjb3JlOmF9PW4scD10LmluY2x1ZGVzKCJAIiksbz10LmluY2x1ZGVzKCIjIiksW2csdV09dC5zcGxpdCgvWyNAXS8pLGY9TnVtYmVyKGcpLG09Yy5zb3J0KChoLHIpPT5oLmxlbmd0aC1yLmxlbmd0aCkuZmlsdGVyKChoLHIpPT5jLnNsaWNlKHIrMSkuZXZlcnkoZD0+IWQuaW5jbHVkZXMoaCkpKSx7Y29udGVudHM6eX09c1tmXT8/PXt0aXRsZToiIixjb250ZW50czpbXX07aWYocCl5LnB1c2goW3t0eXBlOiJjdXN0b21GaWVsZCIsaWQ6ZixpbmRleDp1LGRpc3BsYXk6bS5tYXAoaD0+bi5jLm1hcChyPT5TKHIsaCkpKS5mbGF0KCkuZmlsdGVyKGg9PmghPT1udWxsKX0sYV0pO2Vsc2V7Y29uc3QgaD1tLm1hcChyPT5TKG4uaCxyKSkuZmlsdGVyKHI9PnIhPT1udWxsKTtpZihoLmxlbmd0aCYmeS5wdXNoKFt7dHlwZTpvPyJoZWFkaW5nIjoidGl0bGUiLGlkOmYsLi4ubyYme2FuY2hvcjp1fSxkaXNwbGF5Omh9LGFdKSwidCJpbiBuKWZvcihjb25zdCByIG9mIG4udCl7Y29uc3QgZD1tLm1hcCh4PT5TKHIseCkpLmZpbHRlcih4PT54IT09bnVsbCk7ZC5sZW5ndGgmJnkucHVzaChbe3R5cGU6InRleHQiLGlkOmYsLi4ubyYme2FuY2hvcjp1fSxkaXNwbGF5OmR9LGFdKX19fSksdyhzKS5zb3J0KChbLG5dLFssdF0pPT5TRUFSQ0hfUFJPX1NPUlRfU1RSQVRFR1k9PT0idG90YWwiP0Uobix0KTpGKG4sdCkpLm1hcCgoW24se3RpdGxlOnQsY29udGVudHM6Y31dKT0+e2lmKCF0KXtjb25zdCBhPUMoZSxuKTthJiYodD1hLmgpfXJldHVybnt0aXRsZTp0LGNvbnRlbnRzOmMubWFwKChbYV0pPT5hKX19KX0sUj0oaSxlLGw9e30pPT5UKGUsaSx7ZnV6enk6LjIsLi4ubH0pLm1hcCgoe3N1Z2dlc3Rpb246c30pPT5zKTtzZWxmLm9ubWVzc2FnZT1hc3luYyh7ZGF0YTp7dHlwZTppPSJhbGwiLHF1ZXJ5OmUsbG9jYWxlOmwsb3B0aW9uczpzfX0pPT57Y29uc3R7ZGVmYXVsdDpufT1hd2FpdCBiW2xdKCksdD0kKG4se2ZpZWxkczpbImgiLCJ0IiwiYyJdLHN0b3JlRmllbGRzOlsiaCIsInQiLCJjIl19KTtpPT09InN1Z2dlc3QiP3NlbGYucG9zdE1lc3NhZ2UoUihlLHQscykpOmk9PT0ic2VhcmNoIj9zZWxmLnBvc3RNZXNzYWdlKE0oZSx0LHMpKTpzZWxmLnBvc3RNZXNzYWdlKHtzdWdnZXN0aW9uczpSKGUsdCxzKSxyZXN1bHRzOk0oZSx0LHMpfSl9OwovLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAK",import.meta.url);const Xv=()=>{const e=new Worker(`/${zl.worker}`,{}),t=[];return e.addEventListener("message",({data:n})=>{const{resolve:r}=t.shift();r(n)}),{search:n=>new Promise((r,o)=>{e.postMessage(n),t.push({resolve:r,reject:o})}),terminate:()=>{e.terminate(),t.forEach(({reject:n})=>n(new Error("Worker has been terminated.")))}}};let Jv={};const Sc=Symbol(""),Qv=()=>{const e=Zt(),{locales:t={},...n}=Ce(Sc);return T(()=>({...n,...t[e.value]||{}}))},em=e=>{e.provide(Sc,Jv)},tm=(e,t=!1)=>{const n=J(0),r=T(()=>e.value[n.value]),o=()=>{n.value=n.value>0?n.value-1:e.value.length-1},l=()=>{n.value=n.value{t||(n.value=0)}),{index:n,item:r,prev:o,next:l}},nm=e=>e instanceof Element?document.activeElement===e&&(["TEXTAREA","SELECT","INPUT"].includes(e.tagName)||e.hasAttribute("contenteditable")):!1,rm=e=>Lc.some(t=>{const{key:n,ctrl:r=!1,shift:o=!1,alt:l=!1,meta:s=!1}=t;return n===e.key&&r===e.ctrlKey&&o===e.shiftKey&&l===e.altKey&&s===e.metaKey}),om='',lm='',sm='',am='',Wl=Symbol(""),im=()=>{const e=J(!1);an(Wl,e)},cm=e=>{const t=J([]);{const n=Qv(),r=Zt();he(()=>{const o=Yi(a=>{a?l({type:"suggest",query:a,locale:r.value,options:n.value}).then(i=>{t.value=i.length?Pn(i[0],a)&&!i[0].slice(a.length).includes(" ")?i:[a,...i]:[]}).catch(i=>{console.error(i)}):t.value=[]},zl.suggestDelay),{search:l,terminate:s}=Xv();le([e,r],()=>o(e.value),{immediate:!0}),fn(()=>{s()})})}return{suggestions:t}},Ro=Lc[0];var um=Z({name:"SearchBox",setup(){const e=qt(jl),t=Ce(Wl),n=J(!1),r=T(()=>Ro?[(n.value?["⌃","⇧","⌥","⌘"]:["Ctrl","Shift","Alt","Win"]).filter((o,l)=>Ro[["ctrl","shift","alt","meta"][l]]),Ro.key.toUpperCase()]:null);return Te("keydown",o=>{!t.value&&rm(o)&&!nm(o.target)&&(o.preventDefault(),t.value=!0)}),he(()=>{const{userAgent:o}=navigator;n.value=Y1(o)||q1(o)||Z1(o)}),()=>[c("button",{type:"button",class:"search-pro-button","aria-label":e.value.search,onClick:()=>{t.value=!0}},[c(Vl),c("div",{class:"search-pro-placeholder"},e.value.search),r.value?c("div",{class:"search-pro-key-hints"},r.value.map(o=>c("kbd",{class:"search-pro-key"},o))):null])]}});const fm=Ja({loader:()=>H(()=>import("./SearchResult-1DF2kUAh.js"),__vite__mapDeps([])),loadingComponent:()=>{const e=qt(jl);return c(xc,{hint:e.value.loading})}});var dm=Z({name:"SearchModal",setup(){const e=Ce(Wl),t=lo(),n=U1(),r=qt(jl),o=J(""),{suggestions:l}=cm(o),s=J(!1),{index:a,prev:i,next:u}=tm(l),f=$e(),d=$e(),p=(h=a.value)=>{o.value=l.value[h],s.value=!1};return Te("keydown",h=>{s.value?h.key==="ArrowUp"?i():h.key==="ArrowDown"?u():h.key==="Enter"?p():h.key==="Escape"&&(s.value=!1):h.key==="Escape"&&(e.value=!1)}),he(()=>{const h=Hl(document.body);le(e,async g=>{var E;h.value=g,g&&(await Gt(),(E=f.value)==null||E.focus())}),Xh(d,()=>{s.value=!1}),fn(()=>{h.value=!1})}),()=>e.value?c("div",{class:"search-pro-modal-wrapper"},[c("div",{class:"search-pro-mask",onClick:()=>{e.value=!1,o.value=""}}),c("div",{class:"search-pro-modal"},[c("div",{class:"search-pro-box"},[c("form",[c("label",{for:"search-pro","aria-label":r.value.search},c(Vl)),c("input",{ref:f,type:"search",class:"search-pro-input",id:"search-pro",placeholder:r.value.placeholder,spellcheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off",name:`${t.value.title}-search`,value:o.value,"aria-controls":"search-pro-results",onKeydown:h=>{const{key:g}=h;l.value.length&&(g==="Tab"?(p(),h.preventDefault()):(g==="ArrowDown"||g==="ArrowUp"||g==="Escape")&&h.preventDefault())},onInput:({target:h})=>{o.value=h.value,s.value=!0,a.value=0}}),o.value?c("button",{type:"reset",class:"search-pro-clear-button",innerHTML:Uv,onClick:()=>{o.value=""}}):null,s.value&&l.value.length?c("ul",{class:"search-pro-suggestions",ref:d},l.value.map((h,g)=>c("li",{class:["search-pro-suggestion",{active:g===a.value}],onClick:()=>{p(g)}},[c("kbd",{class:"search-pro-auto-complete",title:`Tab ${r.value.autocomplete}`},"Tab"),h]))):null]),c("button",{type:"button",class:"search-pro-close-button",onClick:()=>{e.value=!1,o.value=""}},r.value.cancel)]),c(fm,{query:o.value,isFocusing:!s.value,onClose:()=>{e.value=!1},onUpdateQuery:h=>{o.value=h}}),n.value?null:c("div",{class:"search-pro-hints"},[c("span",{class:"search-pro-hint"},[c("kbd",{innerHTML:om}),r.value.select]),c("span",{class:"search-pro-hint"},[c("kbd",{innerHTML:sm}),c("kbd",{innerHTML:lm}),r.value.navigate]),c("span",{class:"search-pro-hint"},[c("kbd",{innerHTML:am}),r.value.exit])])])]):null}}),pm=Je({enhance({app:e}){em(e),e.component("SearchBox",um)},setup(){im()},rootComponents:[dm]});const Ac=()=>{const e=_e();return T(()=>e.value.readingTime??null)},hm=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:l,time:s}=t;return{time:n<1?o:s.replace("$time",Math.round(n).toString()),words:l.replace("$word",r.toString())}};var ha={"/":{word:"约 $word 字",less1Minute:"小于 1 分钟",time:"大约 $time 分钟"}};const va={words:"",time:""},Qo=typeof ha>"u"?null:ha,vm=()=>Qo?qt(Qo):T(()=>null),mm=()=>{if(typeof Qo>"u")return T(()=>va);const e=Ac(),t=vm();return T(()=>e.value&&t.value?hm(e.value,t.value):va)},Dn=()=>sc(),pe=()=>V1(),_r=()=>{const e=Dn();return T(()=>!!e.value.pure)},Io=()=>null,gm="719px",bm="1440px",ym="false",Gl={mobileBreakPoint:gm,pcBreakPoint:bm,enableThemeColor:ym},Kl={"/user-guide/plugins":["about-plugin","better-notes","easier-citation","jasminum","linter","magic","style","translate","Zotero-scihub"],"/user-guide/faqs":["plugins","word-addon","“获取更多样式”打不开怎么办","Emoji变成了黑白该如何解决","update-translators","解决pdf图片上的黑色遮挡"],"/user-guide/misc":["link-citation-to-bibliography","preference","wps-plugin-vba"]},Pc=e=>{const{icon:t="",color:n,size:r}=e,o=n||r?{}:null;return n&&(o.color=n),r&&(o.height=Number.isNaN(Number(r))?r:`${r}px`),dn(t)?c("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):Ml(t)?c("img",{class:"icon",src:je(t),alt:"","aria-hidden":"","no-view":"",style:o}):c(ft("FontIcon"),e)};Pc.displayName="HopeIcon";var Ve=Pc;const _m=()=>{const e=Kt(),t=Ut();return n=>{if(n)if(Ml(n))t.path!==n&&e.push(n);else if(ki(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${r}/${encodeURI(n)}`)}}},Rc=()=>{const e=pe(),t=ke();return T(()=>{const{author:n}=t.value;return n?fa(n):n===!1?[]:fa(e.value.author,!1)})},wm=()=>{const e=ke();return T(()=>ev(e.value.category).map(t=>({name:t,path:""})))},Em=()=>{const e=ke();return T(()=>tv(e.value.tag).map(t=>({name:t,path:""})))},Cm=()=>{const e=ke(),t=_e();return T(()=>{const n=Nh(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},Tm=()=>{const e=pe(),t=_e(),n=ke(),r=Rc(),o=wm(),l=Em(),s=Cm(),a=Ac(),i=mm(),u=T(()=>({author:r.value,category:o.value,date:s.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:n.value.isOriginal||!1,readingTime:a.value,readingTimeLocale:i.value,pageview:"pageview"in n.value?n.value.pageview:!0})),f=T(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:u,items:f}},{mobileBreakPoint:km,pcBreakPoint:xm}=Gl,ma=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,co=()=>{const e=J(!1),t=J(!1),n=()=>{e.value=window.innerWidth<=(ma(km)??719),t.value=window.innerWidth>=(ma(xm)??1440)};return he(()=>{n(),Te("resize",n,!1),Te("orientationchange",n,!1)}),{isMobile:e,isPC:t}},Ic=Symbol(""),wr=()=>{const e=Ce(Ic);if(!e)throw new Error("useDarkmode() is called without provider.");return e},Lm=e=>{const t=Dn(),n=l1(),r=T(()=>t.value.darkmode||"switch"),o=Nl("vuepress-theme-hope-scheme","auto"),l=T(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),s=T(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(Ic,{canToggle:s,config:r,isDarkmode:l,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},Sm=()=>{const{config:e,isDarkmode:t,status:n}=wr();Ua(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),he(()=>{le(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})};var kt=(e=>(e.type="y",e.title="t",e.shortTitle="s",e.icon="i",e.author="a",e.date="d",e.localizedDate="l",e.category="c",e.tag="g",e.isEncrypted="n",e.isOriginal="o",e.readingTime="r",e.excerpt="e",e.sticky="u",e.cover="v",e.index="I",e.order="O",e))(kt||{}),Am=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(Am||{});const rn=(e="",t="")=>Ml(t)?t:`${Ti(e)}${t}`,Cn=(e,t=!1)=>{const{meta:n,path:r}=so(e);return n?{text:!t&&n[kt.shortTitle]?n[kt.shortTitle]:n[kt.title]||r,link:r,...n[kt.icon]?{icon:n[kt.icon]}:{}}:{text:r,link:r}},el=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const l=Se(r)?Cn(rn(o,r)):r.link?{...r,...or(r.link)?{}:{link:Cn(rn(o,r.link)).link}}:r;if("children"in l){const s=rn(o,l.prefix),a=l.children==="structure"?Kl[s]:l.children;return{type:"group",...l,prefix:s,children:a.map(i=>n(i,s))}}return{type:"page",...l}};return e.map(r=>n(r))},Pm=({config:e,page:t,headerDepth:n})=>{const r=br(e).sort((o,l)=>l.length-o.length);for(const o of r)if(Pn(decodeURI(t.path),o)){const l=e[o];return l?el({config:l==="structure"?Kl[o]:l,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},Rm=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?el({config:Kl[t],page:n,headerDepth:r,prefix:t}):Yo(e)?el({config:e,page:n,headerDepth:r}):no(e)?Pm({config:e,page:n,headerDepth:r}):[],Oc=Symbol(""),Im=()=>{const e=ke(),t=pe(),n=_e(),r=Zt(),o=T(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),l=T(()=>e.value.headerDepth??t.value.headerDepth??2),s=Zi(()=>[o.value,l.value,n.value.path,null],()=>Rm({config:o.value,routeLocale:r.value,page:n.value,headerDepth:l.value}));an(Oc,s)},Ul=()=>{const e=Ce(Oc);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Om=Z({name:"PageFooter",setup(){const e=Dn(),t=pe(),n=ke(),r=Rc(),o=T(()=>{const{copyright:u,footer:f}=n.value;return f!==!1&&!!(u||f||t.value.displayFooter)}),l=T(()=>{const{footer:u}=n.value;return u===!1?!1:Se(u)?u:t.value.footer||""}),s=T(()=>r.value.map(({name:u})=>u).join(", ")),a=u=>`Copyright © ${new Date().getFullYear()} ${s.value} ${u?`${u} Licensed`:""}`,i=T(()=>{const{copyright:u,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return u??(f?a(f):Se(p)?p:s.value||d?a(d):!1)});return()=>o.value?c("footer",{class:"vp-footer-wrapper"},[l.value?c("div",{class:"vp-footer",innerHTML:l.value}):null,i.value?c("div",{class:"vp-copyright",innerHTML:i.value}):null]):null}}),Ge=Z({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],slots:Object,setup(e,{attrs:t,emit:n,slots:r}){const o=Ut(),l=$i(),s=Xr(e,"config"),a=T(()=>dn(s.value.link)),i=T(()=>!a.value&&ki(s.value.link)),u=T(()=>s.value.target||(a.value?"_blank":void 0)),f=T(()=>u.value==="_blank"),d=T(()=>!a.value&&!i.value&&!f.value),p=T(()=>s.value.rel||(f.value?"noopener noreferrer":null)),h=T(()=>s.value.ariaLabel||s.value.text),g=T(()=>{if(e.exact)return!1;const _=br(l.value.locales);return _.length?_.every(y=>y!==s.value.link):s.value.link!=="/"}),E=T(()=>d.value?s.value.activeMatch?new RegExp(s.value.activeMatch,"u").test(o.path):g.value?Pn(o.path,s.value.link):o.path===s.value.link:!1);return()=>{const{before:_,after:y,default:k}=r,{text:b,icon:x,link:D}=s.value;return d.value?c(Xe,{to:D,"aria-label":h.value,...t,class:["nav-link",{active:E.value},t.class],onFocusout:()=>n("focusout")},()=>k?k():[_?_():c(Ve,{icon:x}),b,y==null?void 0:y()]):c("a",{href:D,rel:p.value,target:u.value,"aria-label":h.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},k?k():[_?_():c(Ve,{icon:x}),b,e.noExternalLinkIcon?null:c(oc),y==null?void 0:y()])}}}),Mm=Z({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=_e(),r=Xr(e,"config"),o=T(()=>r.value.ariaLabel||r.value.text),l=J(!1);le(()=>n.value.path,()=>{l.value=!1});const s=a=>{a.detail===0&&(l.value=!l.value)};return()=>{var a;return c("div",{class:["dropdown-wrapper",{open:l.value}]},[c("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:s},[((a=t.title)==null?void 0:a.call(t))||c("span",{class:"title"},[c(Ve,{icon:r.value.icon}),e.config.text]),c("span",{class:"arrow"}),c("ul",{class:"nav-dropdown"},r.value.children.map((i,u)=>{const f=u===r.value.children.length-1;return c("li",{class:"dropdown-item"},"children"in i?[c("h4",{class:"dropdown-subtitle"},i.link?c(Ge,{config:i,onFocusout:()=>{i.children.length===0&&f&&(l.value=!1)}}):c("span",i.text)),c("ul",{class:"dropdown-subitem-wrapper"},i.children.map((d,p)=>c("li",{class:"dropdown-subitem"},c(Ge,{config:d,onFocusout:()=>{p===i.children.length-1&&f&&(l.value=!1)}}))))]:c(Ge,{config:i,onFocusout:()=>{f&&(l.value=!1)}}))}))])])}}});const Mc=(e,t="")=>Se(e)?Cn(rn(t,e)):"children"in e?{...e,...e.link&&!or(e.link)?Cn(rn(t,e.link)):{},children:e.children.map(n=>Mc(n,rn(t,e.prefix)))}:{...e,link:or(e.link)?e.link:Cn(rn(t,e.link)).link},Dc=()=>{const e=pe(),t=()=>(e.value.navbar||[]).map(n=>Mc(n));return Zi(()=>e.value.navbar,()=>t())},Dm=()=>{const e=pe(),t=T(()=>e.value.repo||null),n=T(()=>t.value?J1(t.value):null),r=T(()=>t.value?gc(t.value):null),o=T(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return T(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var Nm=Z({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=_e(),n=Xr(e,"config"),r=T(()=>n.value.ariaLabel||n.value.text),o=J(!1);le(()=>t.value.path,()=>{o.value=!1});const l=(s,a)=>a[a.length-1]===s;return()=>[c("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[c("span",{class:"title"},[c(Ve,{icon:n.value.icon}),e.config.text]),c("span",{class:["arrow",o.value?"down":"end"]})]),c("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(s=>c("li",{class:"dropdown-item"},"children"in s?[c("h4",{class:"dropdown-subtitle"},s.link?c(Ge,{config:s,onFocusout:()=>{l(s,n.value.children)&&s.children.length===0&&(o.value=!1)}}):c("span",s.text)),c("ul",{class:"dropdown-subitem-wrapper"},s.children.map(a=>c("li",{class:"dropdown-subitem"},c(Ge,{config:a,onFocusout:()=>{l(a,s.children)&&l(s,n.value.children)&&(o.value=!1)}}))))]:c(Ge,{config:s,onFocusout:()=>{l(s,n.value.children)&&(o.value=!1)}}))))]}}),$m=Z({name:"NavScreenLinks",setup(){const e=Dc();return()=>e.value.length?c("nav",{class:"nav-screen-links"},e.value.map(t=>c("div",{class:"navbar-links-item"},"children"in t?c(Nm,{config:t}):c(Ge,{config:t})))):null}});const Nc=()=>c(me,{name:"dark"},()=>c("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));Nc.displayName="DarkIcon";const $c=()=>c(me,{name:"light"},()=>c("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));$c.displayName="LightIcon";const Hc=()=>c(me,{name:"auto"},()=>c("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));Hc.displayName="AutoIcon";const Bc=()=>c(me,{name:"enter-fullscreen"},()=>c("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Bc.displayName="EnterFullScreenIcon";const Fc=()=>c(me,{name:"cancel-fullscreen"},()=>c("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));Fc.displayName="CancelFullScreenIcon";const Vc=()=>c(me,{name:"outlook"},()=>[c("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);Vc.displayName="OutlookIcon";var zc=Z({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=wr(),r=_r(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},l=async s=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!s){o();return}const a=s.clientX,i=s.clientY,u=Math.hypot(Math.max(a,innerWidth-a),Math.max(i,innerHeight-i)),f=t.value;await document.startViewTransition(async()=>{o(),await Gt()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${u}px at ${a}px ${i}px)`,`circle(0px at ${a}px ${i}px)`]:[`circle(0px at ${a}px ${i}px)`,`circle(${u}px at ${a}px ${i}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>c("button",{type:"button",id:"appearance-switch",onClick:l},[c(Hc,{style:{display:n.value==="auto"?"block":"none"}}),c(Nc,{style:{display:n.value==="dark"?"block":"none"}}),c($c,{style:{display:n.value==="light"?"block":"none"}})])}}),Hm=Z({name:"AppearanceMode",setup(){const e=pe(),{canToggle:t}=wr(),n=T(()=>e.value.outlookLocales.darkmode);return()=>t.value?c("div",{class:"appearance-wrapper"},[c("label",{class:"appearance-title",for:"appearance-switch"},n.value),c(zc)]):null}});const Oo="VUEPRESS_THEME_COLOR";var Bm=Z({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(n="")=>{const r=document.documentElement.classList,o=br(e.themeColor);if(!n){localStorage.removeItem(Oo),r.remove(...o);return}r.remove(...o.filter(l=>l!==n)),r.add(n),localStorage.setItem(Oo,n)};return he(()=>{const n=localStorage.getItem(Oo);n&&t(n)}),()=>c("ul",{id:"theme-color-picker"},[c("li",c("span",{class:"theme-color",onClick:()=>t()})),Ol(e.themeColor).map(([n,r])=>c("li",c("span",{style:{background:r},onClick:()=>t(n)})))])}});const Tn=Gl.enableThemeColor==="true",Fm=Tn?Dh(Ol(Gl).filter(([e])=>e.startsWith("theme-"))):{};var Vm=Z({name:"ThemeColor",setup(){const e=pe(),t=T(()=>e.value.outlookLocales.themeColor);return()=>Tn?c("div",{class:"theme-color-wrapper"},[c("label",{class:"theme-color-title",for:"theme-color-picker"},t.value),c(Bm,{themeColor:Fm})]):null}}),jc=Z({name:"ToggleFullScreenButton",setup(){const e=pe(),{isSupported:t,isFullscreen:n,toggle:r}=$l(),o=T(()=>e.value.outlookLocales.fullscreen);return()=>t?c("div",{class:"full-screen-wrapper"},[c("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),c("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?c(Fc):c(Bc))]):null}}),Wc=Z({name:"OutlookSettings",setup(){const e=Dn(),t=_r(),n=T(()=>!t.value&&e.value.fullscreen);return()=>c(ao,()=>[Tn?c(Vm):null,c(Hm),n.value?c(jc):null])}}),zm=Z({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=_e(),{isMobile:o}=co(),l=$e(),s=Hl(l);return he(()=>{l.value=document.body,le(o,a=>{!a&&e.show&&(s.value=!1,t("close"))}),le(()=>r.value.path,()=>{s.value=!1,t("close")})}),fn(()=>{s.value=!1}),()=>c(Wt,{name:"fade",onEnter:()=>{s.value=!0},onAfterLeave:()=>{s.value=!1}},()=>{var a,i;return e.show?c("div",{id:"nav-screen"},c("div",{class:"vp-nav-screen-container"},[(a=n.before)==null?void 0:a.call(n),c($m),c("div",{class:"vp-outlook-wrapper"},c(Wc)),(i=n.after)==null?void 0:i.call(n)])):null})}}),jm=Z({name:"NavbarBrand",setup(){const e=Zt(),t=lo(),n=pe(),r=T(()=>n.value.home||e.value),o=T(()=>t.value.title),l=T(()=>n.value.navTitle??o.value),s=T(()=>n.value.logo?je(n.value.logo):null),a=T(()=>n.value.logoDark?je(n.value.logoDark):null);return()=>c(Xe,{to:r.value,class:"vp-brand"},()=>[s.value?c("img",{class:["vp-nav-logo",{light:!!a.value}],src:s.value,alt:""}):null,a.value?c("img",{class:["vp-nav-logo dark"],src:a.value,alt:""}):null,l.value?c("span",{class:["vp-site-name",{"hide-in-pad":s.value&&n.value.hideSiteNameOnMobile!==!1}]},l.value):null])}}),Wm=Z({name:"NavbarLinks",setup(){const e=Dc();return()=>e.value.length?c("nav",{class:"vp-nav-links"},e.value.map(t=>c("div",{class:"nav-item hide-in-mobile"},"children"in t?c(Mm,{config:t}):c(Ge,{config:t})))):null}}),Gm=Z({name:"RepoLink",components:{BitbucketIcon:dc,GiteeIcon:fc,GitHubIcon:cc,GitLabIcon:uc,SourceIcon:pc},setup(){const e=Dm();return()=>e.value?c("div",{class:"nav-item vp-repo"},c("a",{class:"vp-repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},c(ft(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const Gc=({active:e=!1},{emit:t})=>c("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},c("span",[c("span",{class:"vp-top"}),c("span",{class:"vp-middle"}),c("span",{class:"vp-bottom"})]));Gc.displayName="ToggleNavbarButton";var Km=Gc;const tl=(e,{emit:t})=>c("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},c("span",{class:"icon"}));tl.displayName="ToggleSidebarButton",tl.emits=["toggle"];var Um=tl,Zm=Z({name:"OutlookButton",setup(){const{isSupported:e}=$l(),t=Dn(),n=_r(),r=_e(),{canToggle:o}=wr(),l=J(!1),s=T(()=>!n.value&&t.value.fullscreen&&e);return le(()=>r.value.path,()=>{l.value=!1}),()=>o.value||s.value||Tn?c("div",{class:"nav-item hide-in-mobile"},o.value&&!s.value&&!Tn?c(zc):s.value&&!o.value&&!Tn?c(jc):c("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[c(Vc),c("div",{class:"outlook-dropdown"},c(Wc))])):null}}),qm=Z({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=pe(),{isMobile:o}=co(),l=J(!1),s=T(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),a=T(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:jm,Language:Io,Links:Wm,Repo:Gm,Outlook:Zm,Search:Lt("Docsearch")?ft("Docsearch"):Lt("SearchBox")?ft("SearchBox"):Io},u=f=>i[f]??(Lt(f)?ft(f):Io);return()=>{var f,d,p,h,g,E;return[c("header",{id:"navbar",class:["vp-navbar",{"auto-hide":s.value,"hide-icon":r.value.navbarIcon===!1}]},[c("div",{class:"vp-navbar-start"},[c(Um,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(f=n.startBefore)==null?void 0:f.call(n),(a.value.start||[]).map(_=>c(u(_))),(d=n.startAfter)==null?void 0:d.call(n)]),c("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(a.value.center||[]).map(_=>c(u(_))),(h=n.centerAfter)==null?void 0:h.call(n)]),c("div",{class:"vp-navbar-end"},[(g=n.endBefore)==null?void 0:g.call(n),(a.value.end||[]).map(_=>c(u(_))),(E=n.endAfter)==null?void 0:E.call(n),c(Km,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),c(zm,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var _;return(_=n.screenTop)==null?void 0:_.call(n)},after:()=>{var _;return(_=n.screenBottom)==null?void 0:_.call(n)}})]}}});const cr=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):mc(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>cr(e,r)):!1,Kc=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?Kc(e,n):n.type==="page"&&cr(e,n,!0))||"prefix"in t&&mc(e,t.prefix):!1;var Ym=Z({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=Ut();return()=>Se(e.config.link)?c(Ge,{class:["vp-sidebar-link","vp-sidebar-page",{active:cr(t,e.config,!0)}],exact:!0,config:e.config}):c("p",e,[c(Ve,{icon:e.config.icon}),e.config.text])}}),Xm=Z({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=Ut(),r=T(()=>cr(n,e.config)),o=T(()=>cr(n,e.config,!0));return()=>{const{collapsible:l,children:s=[],icon:a,prefix:i,link:u,text:f}=e.config;return c("section",{class:"vp-sidebar-group"},[c(l?"button":"p",{class:["vp-sidebar-header",{clickable:l||u,exact:o.value,active:r.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[c(Ve,{icon:a}),u?c(Ge,{class:"vp-sidebar-title",config:{text:f,link:u},noExternalLinkIcon:!0}):c("span",{class:"vp-sidebar-title"},f),l?c("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!l?c(Uc,{key:i,config:s}):null])}}}),Uc=Z({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=Ut(),n=J(-1),r=o=>{n.value=o===n.value?-1:o};return le(()=>t.path,()=>{const o=e.config.findIndex(l=>Kc(t,l));n.value=o},{immediate:!0,flush:"post"}),()=>c("ul",{class:"vp-sidebar-links"},e.config.map((o,l)=>c("li",o.type==="group"?c(Xm,{config:o,open:l===n.value,onToggle:()=>r(l)}):c(Ym,{config:o}))))}}),Jm=Z({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=Ut(),r=pe(),o=Ul(),l=$e();return he(()=>{le(()=>n.hash,s=>{const a=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${s}"]`);if(!a)return;const{top:i,height:u}=l.value.getBoundingClientRect(),{top:f,height:d}=a.getBoundingClientRect();fi+u&&a.scrollIntoView(!1)},{immediate:!0})}),()=>{var s,a,i;return c("aside",{ref:l,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}]},[(s=t.top)==null?void 0:s.call(t),((a=t.default)==null?void 0:a.call(t))||c(Uc,{config:o.value}),(i=t.bottom)==null?void 0:i.call(t)])}}}),Zc=Z({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=Kt(),r=_e(),o=ke(),l=pe(),{isMobile:s,isPC:a}=co(),[i,u]=Jo(!1),[f,d]=Jo(!1),p=Ul(),h=J(!1),g=T(()=>e.noNavbar||o.value.navbar===!1||l.value.navbar===!1?!1:!!(r.value.title||l.value.logo||l.value.repo||l.value.navbar)),E=T(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),_=T(()=>e.noToc||o.value.home?!1:o.value.toc||l.value.toc!==!1&&o.value.toc!==!1),y={x:0,y:0},k=C=>{y.x=C.changedTouches[0].clientX,y.y=C.changedTouches[0].clientY},b=C=>{const G=C.changedTouches[0].clientX-y.x,N=C.changedTouches[0].clientY-y.y;Math.abs(G)>Math.abs(N)*1.5&&Math.abs(G)>40&&(G>0&&y.x<=80?u(!0):u(!1))},x=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let D=0;return Te("scroll",Uh(()=>{const C=x();C<=58||C{C||u(!1)}),he(()=>{const C=Hl(document.body);le(i,N=>{C.value=N});const G=n.afterEach(()=>{u(!1)});fn(()=>{C.value=!1,G()})}),()=>c(Lt("GlobalEncrypt")?ft("GlobalEncrypt"):ic,()=>c("div",{class:["theme-container",{"no-navbar":!g.value,"no-sidebar":!E.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":_.value,"hide-navbar":h.value,"sidebar-collapsed":!s.value&&!a.value&&f.value,"sidebar-open":s.value&&i.value},e.containerClass,o.value.containerClass||""],onTouchStart:k,onTouchEnd:b},[g.value?c(qm,{onToggleSidebar:()=>u()},{startBefore:()=>{var C;return(C=t.navbarStartBefore)==null?void 0:C.call(t)},startAfter:()=>{var C;return(C=t.navbarStartAfter)==null?void 0:C.call(t)},centerBefore:()=>{var C;return(C=t.navbarCenterBefore)==null?void 0:C.call(t)},centerAfter:()=>{var C;return(C=t.navbarCenterAfter)==null?void 0:C.call(t)},endBefore:()=>{var C;return(C=t.navbarEndBefore)==null?void 0:C.call(t)},endAfter:()=>{var C;return(C=t.navbarEndAfter)==null?void 0:C.call(t)},screenTop:()=>{var C;return(C=t.navScreenTop)==null?void 0:C.call(t)},screenBottom:()=>{var C;return(C=t.navScreenBottom)==null?void 0:C.call(t)}}):null,c(Wt,{name:"fade"},()=>i.value?c("div",{class:"vp-sidebar-mask",onClick:()=>u(!1)}):null),c(Wt,{name:"fade"},()=>s.value?null:c("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},c("span",{class:["arrow",f.value?"end":"start"]}))),c(Jm,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var C;return(C=t.sidebarTop)==null?void 0:C.call(t)},bottom:()=>{var C;return(C=t.sidebarBottom)==null?void 0:C.call(t)}}),t.default(),c(Om)]))}}),bn=Z({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},r=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>c(e.type==="single"?Wt:Dd,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}});const nl=({custom:e})=>c(Fi,{class:["theme-hope-content",{custom:e}]});nl.displayName="MarkdownContent",nl.props={custom:Boolean};var qc=nl;const Yc=()=>c(me,{name:"author"},()=>c("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));Yc.displayName="AuthorIcon";const Xc=()=>c(me,{name:"calendar"},()=>c("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));Xc.displayName="CalendarIcon";const Jc=()=>c(me,{name:"category"},()=>c("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));Jc.displayName="CategoryIcon";const Qc=()=>c(me,{name:"print"},()=>c("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));Qc.displayName="PrintIcon";const eu=()=>c(me,{name:"tag"},()=>c("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));eu.displayName="TagIcon";const tu=()=>c(me,{name:"timer"},()=>c("path",{d:"M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"}));tu.displayName="TimerIcon";const nu=()=>c(me,{name:"word"},()=>[c("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),c("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);nu.displayName="WordIcon";const Xt=()=>{const e=pe();return T(()=>e.value.metaLocales)};var Qm=Z({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Xt();return()=>e.author.length?c("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[c(Yc),c("span",e.author.map(n=>n.url?c("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):c("span",{class:"page-author-item"},n.name))),c("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),e0=Z({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=Kt(),n=_e(),r=Xt(),o=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.category.length?c("span",{class:"page-category-info","aria-label":`${r.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[c(Jc),e.category.map(({name:l,path:s})=>c("span",{class:["page-category-item",{[`category${hc(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:a=>o(a,s)},l)),c("meta",{property:"articleSection",content:e.category.map(({name:l})=>l).join(",")})]):null}}),t0=Z({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=Rl(),n=Xt();return()=>e.date?c("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[c(Xc),c("span",c(ao,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),c("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),n0=Z({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Xt();return()=>e.isOriginal?c("span",{class:"page-original-info"},t.value.origin):null}}),r0=Z({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Xt(),n=T(()=>{if(!e.readingTime)return null;const{minutes:r}=e.readingTime;return r<1?"PT1M":`PT${Math.round(r)}M`});return()=>{var r,o;return(r=e.readingTimeLocale)!=null&&r.time?c("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[c(tu),c("span",(o=e.readingTimeLocale)==null?void 0:o.time),c("meta",{property:"timeRequired",content:n.value})]):null}}}),o0=Z({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=Kt(),n=_e(),r=Xt(),o=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.tag.length?c("span",{class:"page-tag-info","aria-label":`${r.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[c(eu),e.tag.map(({name:l,path:s})=>c("span",{class:["page-tag-item",{[`tag${hc(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:a=>o(a,s)},l)),c("meta",{property:"keywords",content:e.tag.map(({name:l})=>l).join(",")})]):null}}),l0=Z({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Xt();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?c("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[c(nu),c("span",(r=e.readingTimeLocale)==null?void 0:r.words),c("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),s0=Z({name:"PageInfo",components:{AuthorInfo:Qm,CategoryInfo:e0,DateInfo:t0,OriginalInfo:n0,PageViewInfo:()=>null,ReadingTimeInfo:r0,TagInfo:o0,WordInfo:l0},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=_r();return()=>e.items?c("div",{class:"page-info"},e.items.map(n=>c(ft(`${n}Info`),{...e.info,pure:t.value}))):null}}),a0=Z({name:"PrintButton",setup(){const e=Dn(),t=pe();return()=>e.value.print===!1?null:c("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},c(Qc))}});const i0=({title:e,level:t,slug:n})=>c(Xe,{to:`#${n}`,class:["vp-toc-link",`level${t}`]},()=>e),rl=(e,t)=>{const n=Ut();return e.length&&t>0?c("ul",{class:"vp-toc-list"},e.map(r=>{const o=rl(r.children,t-1);return[c("li",{class:["vp-toc-item",{active:n.hash===`#${r.slug}`}]},i0(r)),o?c("li",o):null]})):null};var c0=Z({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=Ut(),r=_e(),o=Xt(),[l,s]=Jo(),a=$e(),i=J("-1.7rem"),u=d=>{var p;(p=a.value)==null||p.scrollTo({top:d,behavior:"smooth"})},f=()=>{if(a.value){const d=document.querySelector(".vp-toc-item.active");d?i.value=`${d.getBoundingClientRect().top-a.value.getBoundingClientRect().top+a.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return he(()=>{le(()=>n.hash,d=>{if(a.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:h,height:g}=a.value.getBoundingClientRect(),{top:E,height:_}=p.getBoundingClientRect();Eh+g&&u(a.value.scrollTop+E+_-h-g)}}),le(()=>n.fullPath,f,{flush:"post",immediate:!0})}),()=>{var p,h;const d=e.items.length?rl(e.items,e.headerDepth):r.value.headers?rl(r.value.headers,e.headerDepth):null;return d?c("div",{class:"vp-toc-placeholder"},[c("aside",{id:"toc"},[(p=t.before)==null?void 0:p.call(t),c("div",{class:"vp-toc-header",onClick:()=>{s()}},[o.value.toc,c(a0),c("div",{class:["arrow",l.value?"down":"end"]})]),c("div",{class:["vp-toc-wrapper",l.value?"open":""],ref:a},[d,c("div",{class:"vp-toc-marker",style:{top:i.value}})]),(h=t.after)==null?void 0:h.call(t)])]):null}}}),ru=Z({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=_e(),n=pe(),r=$e(),o=({target:l})=>{const s=document.querySelector(l.hash);if(s){const a=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",a)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",a),s.focus(),window.scrollTo(0,0)}};return he(()=>{le(()=>t.value.path,()=>r.value.focus())}),()=>[c("span",{ref:r,tabindex:"-1"}),c("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let Mo=null,Bn=null;const u0={wait:()=>Mo,pending:()=>{Mo=new Promise(e=>{Bn=e})},resolve:()=>{Bn==null||Bn(),Mo=null,Bn=null}},ou=()=>u0;var f0=Z({name:"FadeSlideY",slots:Object,setup(e,{slots:t}){const{resolve:n,pending:r}=ou();return()=>c(Wt,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:n,onBeforeLeave:r},()=>{var o;return(o=t.default)==null?void 0:o.call(t)})}});const d0=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=Ll(t);return n.forEach((l,s)=>{s!==n.length-1?(o+=`${l}/`,r.push({link:o,name:l||"Home"})):l!==""&&(o+=l,r.push({link:o,name:l}))}),r},lu=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:a,imageDark:i,header:u,features:f=[]}=e;return c("div",{class:"vp-feature-wrapper"},[n?c("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?c("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,c("div",{class:"vp-feature",style:l?{color:l}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[a?c("img",{class:["vp-feature-image",{light:i}],src:je(a),alt:""}):null,i?c("img",{class:"vp-feature-image dark",src:je(i),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[u?c("h2",{class:"vp-feature-header"},u):null,s?c("p",{class:"vp-feature-description",innerHTML:s}):null],f.length?c("div",{class:"vp-features"},f.map(({icon:h,title:g,details:E,link:_})=>{const y=[c("h3",{class:"vp-feature-title"},[c(Ve,{icon:h}),c("span",{innerHTML:g})]),c("p",{class:"vp-feature-details",innerHTML:E})];return _?or(_)?c("a",{class:"vp-feature-item link",href:_,"aria-label":g,target:"_blank"},y):c(Xe,{class:"vp-feature-item link",to:_,"aria-label":g},()=>y):c("div",{class:"vp-feature-item"},y)})):null])])};lu.displayName="FeaturePanel";var ga=lu,p0=Z({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=ke(),r=lo(),o=T(()=>n.value.heroFullScreen??!1),l=T(()=>{const{heroText:u,tagline:f}=n.value;return{text:u??r.value.title??"Hello",tagline:f??r.value.description??"",isFullScreen:o.value}}),s=T(()=>{const{heroText:u,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:h}=n.value;return{image:f?je(f):null,imageDark:d?je(d):null,heroStyle:h,alt:p||u||"",isFullScreen:o.value}}),a=T(()=>{const{bgImage:u,bgImageDark:f,bgImageStyle:d}=n.value;return{image:Se(u)?je(u):null,imageDark:Se(f)?je(f):null,bgStyle:d,isFullScreen:o.value}}),i=T(()=>n.value.actions??[]);return()=>{var u,f,d;return c("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((u=t.heroBg)==null?void 0:u.call(t,a.value))||[a.value.image?c("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?c("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],c("div",{class:"vp-hero-info"},[((f=t.heroImage)==null?void 0:f.call(t,s.value))||c(bn,{appear:!0,type:"group"},()=>[s.value.image?c("img",{key:"light",class:["vp-hero-image",{light:s.value.imageDark}],style:s.value.heroStyle,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?c("img",{key:"dark",class:"vp-hero-image dark",style:s.value.heroStyle,src:s.value.imageDark,alt:s.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,l.value))??c("div",{class:"vp-hero-infos"},[l.value.text?c(bn,{appear:!0,delay:.04},()=>c("h1",{id:"main-title"},l.value.text)):null,l.value.tagline?c(bn,{appear:!0,delay:.08},()=>c("p",{id:"main-description",innerHTML:l.value.tagline})):null,i.value.length?c(bn,{appear:!0,delay:.12},()=>c("p",{class:"vp-hero-actions"},i.value.map(p=>c(Ge,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>c(Ve,{icon:p.icon})}:{})))):null])])])}}});const su=(e,{slots:t})=>{var p,h,g;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:a,imageDark:i,header:u,highlights:f=[],type:d="un-order"}=e;return c("div",{class:"vp-highlight-wrapper",style:l?{color:l}:{}},[n?c("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?c("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,c("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[a?c("img",{class:["vp-highlight-image",{light:i}],src:je(a),alt:""}):null,i?c("img",{class:"vp-highlight-image dark",src:je(i),alt:""}):null],((h=t.info)==null?void 0:h.call(t,e))||[c("div",{class:"vp-highlight-info-wrapper"},c("div",{class:"vp-highlight-info"},[u?c("h2",{class:"vp-highlight-header",innerHTML:u}):null,s?c("p",{class:"vp-highlight-description",innerHTML:s}):null,((g=t.highlights)==null?void 0:g.call(t,f))||c(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:E,title:_,details:y,link:k})=>{const b=[c(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[E?c(Ve,{class:"vp-highlight-icon",icon:E}):null,c("span",{innerHTML:_})]),y?c(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:y}):null];return c(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:k}]},k?or(k)?c("a",{class:"vp-highlight-item link",href:k,"aria-label":_,target:"_blank"},b):c(Xe,{class:"vp-highlight-item link",to:k,"aria-label":_},()=>b):c("div",{class:"vp-highlight-item"},b))}))]))]])])};su.displayName="HighlightPanel";var h0=su,v0=Z({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=_r(),r=ke(),o=T(()=>{const{features:s}=r.value;return Yo(s)?s:null}),l=T(()=>{const{highlights:s}=r.value;return Yo(s)?s:null});return()=>{var s,a,i,u;return c("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(s=t.top)==null?void 0:s.call(t),c(p0),((a=l.value)==null?void 0:a.map(f=>"features"in f?c(ga,f):c(h0,f)))||(o.value?c(bn,{appear:!0,delay:.24},()=>c(ga,{features:o.value})):null),(i=t.center)==null?void 0:i.call(t),c(bn,{appear:!0,delay:.32},()=>c(qc)),(u=t.bottom)==null?void 0:u.call(t)])}}}),m0=Z({name:"BreadCrumb",setup(){const e=_e(),t=Zt(),n=ke(),r=pe(),o=$e([]),l=T(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),s=T(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),a=()=>{const i=d0(e.value.path,t.value).map(({link:u,name:f})=>{const{path:d,meta:p}=so(u);return p?{title:p[kt.shortTitle]||p[kt.title]||f,icon:p[kt.icon],path:d}:null}).filter(u=>u!==null);i.length>1&&(o.value=i)};return he(()=>{le(()=>e.value.path,a,{immediate:!0})}),()=>c("nav",{class:["vp-breadcrumb",{disable:!l.value}]},l.value?c("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((i,u)=>c("li",{class:{"is-active":o.value.length-1===u},property:"itemListElement",typeof:"ListItem"},[c(Xe,{to:i.path,property:"item",typeof:"WebPage"},()=>[s.value?c(Ve,{icon:i.icon}):null,c("span",{property:"name"},i.title||"Unknown")]),c("meta",{property:"position",content:u+1})]))):[])}});const ba=e=>e===!1||no(e)?e:Se(e)?Cn(e,!0):null,ol=(e,t,n)=>{const r=e.findIndex(o=>o.link===t);if(r!==-1){const o=e[r+n];return o!=null&&o.link?o:null}for(const o of e)if("children"in o){const l=ol(o.children,t,n);if(l)return l}return null};var g0=Z({name:"PageNav",setup(){const e=pe(),t=ke(),n=Ul(),r=_e(),o=_m(),l=T(()=>{const a=ba(t.value.prev);return a===!1?null:a||(e.value.prevLink===!1?null:ol(n.value,r.value.path,-1))}),s=T(()=>{const a=ba(t.value.next);return a===!1?null:a||(e.value.nextLink===!1?null:ol(n.value,r.value.path,1))});return Te("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?s.value&&(o(s.value.link),a.preventDefault()):a.key==="ArrowLeft"&&l.value&&(o(l.value.link),a.preventDefault()))}),()=>l.value||s.value?c("nav",{class:"vp-page-nav"},[l.value?c(Ge,{class:"prev",config:l.value},()=>{var a,i;return[c("div",{class:"hint"},[c("span",{class:"arrow start"}),e.value.metaLocales.prev]),c("div",{class:"link"},[c(Ve,{icon:(a=l.value)==null?void 0:a.icon}),(i=l.value)==null?void 0:i.text])]}):null,s.value?c(Ge,{class:"next",config:s.value},()=>{var a,i;return[c("div",{class:"hint"},[e.value.metaLocales.next,c("span",{class:"arrow end"})]),c("div",{class:"link"},[(a=s.value)==null?void 0:a.text,c(Ve,{icon:(i=s.value)==null?void 0:i.icon})])]}):null]):null}});const b0={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},y0=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const l=gc(e);let s;return o?s=o:l!==null&&(s=b0[l]),s?s.replace(/:repo/u,dn(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,xi(`${Ll(n)}/${r}`)):null},_0=()=>{const e=pe(),t=_e(),n=ke();return T(()=>{const{repo:r,docsRepo:o=r,docsBranch:l="main",docsDir:s="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!o)return null;const u=y0({docsRepo:o,docsBranch:l,docsDir:s,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return u?{text:e.value.metaLocales.editLink,link:u}:null})},w0=()=>{const e=lo(),t=pe(),n=_e(),r=ke();return T(()=>{var o,l;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((l=n.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})},E0=()=>{const e=pe(),t=_e(),n=ke();return T(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})};var C0=Z({name:"PageTitle",setup(){const e=_e(),t=ke(),n=pe(),{info:r,items:o}=Tm();return()=>c("div",{class:"vp-page-title"},[c("h1",[n.value.titleIcon===!1?null:c(Ve,{icon:t.value.icon}),e.value.title]),c(s0,{info:r.value,...o.value===null?{}:{items:o.value}}),c("hr")])}});const au=()=>c(me,{name:"edit"},()=>[c("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),c("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);au.displayName="EditIcon";var T0=Z({name:"PageMeta",setup(){const e=pe(),t=_0(),n=w0(),r=E0();return()=>{const{metaLocales:o}=e.value;return c("footer",{class:"page-meta"},[t.value?c("div",{class:"meta-item edit-link"},c(Ge,{class:"label",config:t.value},{before:()=>c(au)})):null,c("div",{class:"meta-item git-info"},[n.value?c("div",{class:"update-time"},[c("span",{class:"label"},`${o.lastUpdated}: `),c(ao,()=>c("span",{class:"info"},n.value))]):null,r.value&&r.value.length?c("div",{class:"contributors"},[c("span",{class:"label"},`${o.contributors}: `),r.value.map(({email:l,name:s},a)=>[c("span",{class:"contributor",title:`email: ${l}`},s),a!==r.value.length-1?",":""])]):null])])}}}),k0=Z({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=ke(),{isDarkmode:r}=wr(),o=pe(),l=T(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>c("main",{id:"main-content",class:"vp-page"},c(Lt("LocalEncrypt")?ft("LocalEncrypt"):ic,()=>{var s,a,i,u;return[(s=t.top)==null?void 0:s.call(t),n.value.cover?c("div",{class:"page-cover"},c("img",{src:je(n.value.cover),alt:"","no-view":""})):null,c(m0),c(C0),l.value?c(c0,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(a=t.contentBefore)==null?void 0:a.call(t),c(qc),(i=t.contentAfter)==null?void 0:i.call(t),c(T0),c(g0),Lt("CommentService")?c(ft("CommentService"),{darkmode:r.value}):null,(u=t.bottom)==null?void 0:u.call(t)]}))}}),x0=Z({name:"Layout",slots:Object,setup(e,{slots:t}){pe();const n=_e(),r=ke(),{isMobile:o}=co(),l=T(()=>"none");return()=>[c(ru),c(Zc,{},{default:()=>{var s;return((s=t.default)==null?void 0:s.call(t))||(r.value.home?c(v0):c(f0,()=>c(k0,{key:n.value.path},{top:()=>{var a;return(a=t.top)==null?void 0:a.call(t)},bottom:()=>{var a;return(a=t.bottom)==null?void 0:a.call(t)},contentBefore:()=>{var a;return(a=t.contentBefore)==null?void 0:a.call(t)},contentAfter:()=>{var a;return(a=t.contentAfter)==null?void 0:a.call(t)},tocBefore:()=>{var a;return(a=t.tocBefore)==null?void 0:a.call(t)},tocAfter:()=>{var a;return(a=t.tocAfter)==null?void 0:a.call(t)}})))},...l.value==="none"?{}:{navScreenBottom:()=>c(ft("BloggerInfo"))},...!o.value&&l.value==="always"?{sidebar:()=>c(ft("BloggerInfo"))}:{}})]}}),L0=Z({name:"NotFoundHint",setup(){const e=pe(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>c("div",{class:"not-found-hint"},[c("p",{class:"error-code"},"404"),c("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),c("p",{class:"error-hint"},t())])}}),S0=Z({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=Kt(),r=Zt(),o=pe();return()=>[c(ru),c(Zc,{noSidebar:!0},()=>{var l;return c("main",{id:"main-content",class:"vp-page not-found"},((l=t.default)==null?void 0:l.call(t))||[c(L0),c("div",{class:"actions"},[c("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),c("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});E1(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[c(Ve,{icon:r}),t]:null,order:e.O,index:e.I}:null});const A0=Je({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await ou().wait(),n(...r)),Lm(e),e.component("HopeIcon",Ve)},setup:()=>{Sm(),Im()},layouts:{Layout:x0,NotFound:S0}}),Dr=[vh,v1,w1,L1,P1,M1,H1,j1,cv,_v,Sv,zv,pm,A0],P0=JSON.parse('{"base":"/","lang":"en-US","title":"","description":"","head":[["link",{"rel":"alternate","type":"application/rss+xml","href":"https://zotero-chinese.com/rss.xml","title":"Zotero 中文小组 RSS Feed"}]],"locales":{"/":{"lang":"zh-CN","title":"Zotero 中文小组","description":"Zotero 非官方中文维护小组"}}}');var Vn=$e(P0),R0=Mp,I0=()=>{const e=lh({history:R0(Ll("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===Tt){const r=so(t.path);if(r.path!==t.path)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},O0=e=>{e.component("ClientOnly",ao),e.component("Content",Fi),e.component("RouteLink",Xe)},M0=(e,t,n)=>{const r=T(()=>t.currentRoute.value.path),o=yl((_,y)=>({get(){return _(),t.currentRoute.value.meta._pageChunk},set(k){t.currentRoute.value.meta._pageChunk=k,y()}})),l=T(()=>en.resolveLayouts(n)),s=T(()=>en.resolveRouteLocale(Vn.value.locales,r.value)),a=T(()=>en.resolveSiteLocaleData(Vn.value,s.value)),i=T(()=>o.value.comp),u=T(()=>o.value.data),f=T(()=>u.value.frontmatter),d=T(()=>en.resolvePageHeadTitle(u.value,a.value)),p=T(()=>en.resolvePageHead(d.value,f.value,a.value)),h=T(()=>en.resolvePageLang(u.value,a.value)),g=T(()=>en.resolvePageLayout(u.value,l.value)),E={layouts:l,pageData:u,pageComponent:i,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:h,pageLayout:g,redirects:Hi,routeLocale:s,routePath:r,routes:ar,siteData:Vn,siteLocaleData:a};return e.provide(Pl,E),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>h.value},$page:{get:()=>u.value},$routeLocale:{get:()=>s.value},$site:{get:()=>Vn.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>je}}),E},D0=()=>{const e=ih(),t=Rl();let n=[];const r=()=>{e.value.forEach(s=>{const a=N0(s);a&&n.push(a)})},o=()=>{const s=[];return e.value.forEach(a=>{const i=$0(a);i&&s.push(i)}),s},l=()=>{document.documentElement.lang=t.value;const s=o();n.forEach((a,i)=>{const u=s.findIndex(f=>a.isEqualNode(f));u===-1?(a.remove(),delete n[i]):s.splice(u,1)}),s.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...s]};an(fh,l),he(()=>{r(),le(e,l,{immediate:!1})})},N0=([e,t,n=""])=>{const r=Object.entries(t).map(([a,i])=>Se(i)?`[${a}=${JSON.stringify(i)}]`:i===!0?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)||null},$0=([e,t,n])=>{if(!Se(e))return null;const r=document.createElement(e);return no(t)&&Object.entries(t).forEach(([o,l])=>{Se(l)?r.setAttribute(o,l):l===!0&&r.setAttribute(o,"")}),Se(n)&&r.appendChild(document.createTextNode(n)),r},H0=zd,B0=async()=>{var n;const e=H0({name:"Vuepress",setup(){var l;D0();for(const s of Dr)(l=s.setup)==null||l.call(s);const r=Dr.flatMap(({rootComponents:s=[]})=>s.map(a=>c(a))),o=ch();return()=>[c(o.value),r]}}),t=I0();O0(e),M0(e,t,Dr);for(const r of Dr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Vn}));return e.use(t),{app:e,router:t}};B0().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Wv as A,$e as B,he as C,fn as D,Se as E,W0 as F,no as G,Yi as H,zl as I,Qv as O,Xv as P,Xe as R,H as _,pi as a,hi as b,V0 as c,B0 as createVueApp,Pe as d,z0 as e,Z as f,Kt as g,Zt as h,qt as i,jl as j,dr as k,J as l,T as m,Te as n,F0 as o,le as p,c as q,ft as r,Gv as s,Xr as t,j0 as u,Uv as v,sf as w,xc as x,Kv as y,jv as z}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/index.html-O6LnX5VP.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/about.html-Du8YLT8W.js","assets/code_of_conduct.html-C1Uxu-VZ.js","assets/contributors.html-BWDnRlMm.js","assets/build.html-CdQzzapG.js","assets/image-build-pr预览-1-H7NE72PW.js","assets/contributing.html-OlXBYjAl.js","assets/markdown.html-CzdJaUa9.js","assets/vscode-dev.html-IaRrsfN0.js","assets/index.html-B7VVb1Im.js","assets/glossary.html--k5UVgbl.js","assets/primer.html-2dmSloZh.js","assets/specification.html-Ck0InIxm.js","assets/translating-locale-files.html-BHCvxjRg.js","assets/xml-basic.html-6Ln5cMzE.js","assets/index.html-1rMW4W7-.js","assets/index.html-OkjuflBh.js","assets/add-attachments.html-CrD7FrXc.js","assets/icon-pdf-DRAO5yDD.js","assets/add-items.html--U-qM5Fk.js","assets/image-添加条目后信息窗格-QIW-yYVb.js","assets/backup.html-CCyXglEI.js","assets/citation-styles.html-DD-LImZG.js","assets/create-bibliographies-via-zbib.html-CDEbUla6.js","assets/create-bibliographies-within-zotero.html-BOXAvOg0.js","assets/edit-items.html-DvD8sD1N.js","assets/feed.html-z54FZ0rW.js","assets/group.html-B1m11lwz.js","assets/import-from-other-software.html-BqAHq_Q3.js","assets/install.html-BmRxGxsd.js","assets/mobile.html-PM2tJI1o.js","assets/ms-word-plugin.html-w15huyFS.js","assets/image-edit-citation-Cpx4lL-9.js","assets/organize-library.html-C36m5Udk.js","assets/quick-start.html-BxzCSvMh.js","assets/sync.html-DGp0SDe2.js","assets/take-notes.html-FjQH8up8.js","assets/why-use-zotero.html-DlfykGIk.js","assets/wps-plugin.html-qTWLVyqX.js","assets/debug.html-Brz9cVG7.js","assets/sideloading.html-B-1s37Uo.js","assets/index.html-D6GqrB4Z.js","assets/index.html-D-nr3wkN.js","assets/bootstrap.html-D0Hx4kFq.js","assets/item.html--vPl6iF0.js","assets/localization.html-CYmCNS7D.js","assets/manifest.html-DUorWwCR.js","assets/more.html-Dw6tpwuq.js","assets/notify.html-DXPxAuGO.js","assets/preference.html-1Q8E6cRw.js","assets/update.html-B_bh-u_c.js","assets/zotero.html-BM1g4JXr.js","assets/index.html-CLM7izSq.js","assets/Emoji变成了黑白该如何解决.html-v4V8p5CC.js","assets/image-zotero-我同意承担风险-Uja8OZxC.js","assets/index.html-DiMxWasc.js","assets/plugins.html-DWTFTM_X.js","assets/update-translators.html--mjF3In0.js","assets/word-addon.html-BG3-tCqR.js","assets/image-settings-reinstalll-word-plugin-BJoUDq6D.js","assets/“获取更多样式”打不开怎么办.html-CriLXQse.js","assets/解决pdf图片上的黑色遮挡.html-BF2lnf05.js","assets/index.html-BgPe0f5l.js","assets/link-citation-to-bibliography.html-NMTdahL_.js","assets/preference.html-w9baMq5r.js","assets/wps-plugin-vba.html-CeXVpnIN.js","assets/index.html-OPOOVwmx.js","assets/Zotero-scihub.html-DS34KeFZ.js","assets/about-plugin.html-xl5bsF3r.js","assets/better-notes.html-B5P5ckaW.js","assets/easier-citation.html-CK9NuHE7.js","assets/jasminum.html-BF7O33Dg.js","assets/linter.html-helJW-r0.js","assets/magic.html-C_g1dYuG.js","assets/style.html-DffyQX_V.js","assets/translate.html-DEAUZenJ.js","assets/404.html-CWQLRUMV.js","assets/index.html-5KeYSbvz.js","assets/index.html-xEzebzUB.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/arc-DQUeFz1-.js b/assets/arc-DQUeFz1-.js new file mode 100644 index 0000000000..b652f52e85 --- /dev/null +++ b/assets/arc-DQUeFz1-.js @@ -0,0 +1 @@ +import{w as ln,c as U}from"./path-CbwjOpE9.js";import{aO as an,aP as Y,aQ as O,aR as rn,aS as y,aK as on,aT as z,aU as _,aV as un,aW as t,aX as sn,aY as tn,aZ as fn}from"./mermaid.core-xpSMncQK.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,m=a-R,r=m*E-n*i;if(!(r*ru*u+X*X&&(K=w,Q=d),{cx:K,cy:Q,x01:-n,y01:-m,x11:K*(v/T-1),y11:Q*(v/T-1)}}function vn(){var l=cn,h=yn,D=U(0),S=null,v=gn,R=mn,V=pn,a=null,E=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,W=un(c-f),o=c>f;if(a||(a=n=E()),sy))a.moveTo(0,0);else if(W>on-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*Y(c),r*O(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=W,I=W,K=V.apply(this,arguments)/2,Q=K>y&&(S?+S.apply(this,arguments):z(r*r+s*s)),w=_(un(s-r)/2,+D.apply(this,arguments)),d=w,x=w,e,u;if(Q>y){var X=sn(Q/r*O(K)),B=sn(Q/s*O(K));(P-=X*2)>y?(X*=o?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(I=0,p=g=(f+c)/2)}var Z=s*Y(p),j=s*O(p),C=r*Y(T),F=r*O(T);if(w>y){var G=s*Y(g),H=s*O(g),L=r*Y(A),M=r*O(A),q;if(Wy?x>y?(e=J(L,M,Z,j,s,x,o),u=J(G,H,C,F,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(C,F):d>y?(e=J(C,F,G,H,r,-d,o),u=J(Z,j,L,M,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),d备份

    我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。

    在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍若干种备份这些文件的方式。

    概述

    我们将构成 Zotero 正常运行的文件分为三部分:

    • Zotero 程序文件 (Program Files)
    • Zotero 数据文件 (Zotero Data Folder)
    • Zotero 用户配置文件 (Zotero Profile Directory)

    程序文件

    这些文件构成 Zotero 程序的主体,包含了 Zotero 程序的二进制文件(例如 zotero.exe 等) 和相关的库文件,不包括您的数据和个性化设置。

    这些文件由安装包释放,通常无需额外备份。

    数据文件

    这个目录包含了 Zotero 存储的所有数据,包括您的文献条目信息、笔记、附件、标签、文件夹结构、转换器和引文样式等。这是最重要的部分,因为它包含了您的研究资料。备份数据文件可确保您不会失去已收集的所有信息。

    数据文件位置

    除非您在 Zotero 设置的高级窗格中选择了自定义数据目录,否则您的 Zotero 数据将存储在以下与操作系统相关的目录中:

    系统类型默认位置
    macOS/Users/<username>/Zotero
    Windows 7 and higher WindowsC:\\Users\\<User Name>\\Zotero
    Windows XP/2000C:\\Documents and Settings\\<username>\\Zotero
    Linux~/Zotero

    提示

    查找 Zotero 数据的最简单、最可靠的方法是单击 Zotero 设置高级 选项卡中的 显示数据目录 按钮。这将始终显示当前正在使用的数据目录,并且是查找数据目录的推荐方法。

    如果您无法访问 Zotero 设置,搜索文件名zotero.sqlite也可以帮助您找到 Zotero 数据目录。

    数据文件内容

    northword@Yoga-Northword MINGW64 /d/Northword/Documents/Zotero
    +$ tree -L 1
    +.
    +|-- about config.xul
    +|-- cache
    +|-- locate
    +|-- logs
    +|-- storage
    +|-- styles
    +|-- translators
    +|-- zotero.sqlite
    +\`-- zotero.sqlite.bak
    +

    数据目录中最重要的文件是 zotero.sqlite 文件,它是包含大部分数据的数据库:项目元数据、注释、标签等。当 Zotero 启动时,它会读取 zotero.sqlite 文件。

    该目录还包含一个 storage 文件夹,其中包含 8 个字符的子文件夹(例如N7SMB24A),其中包含所有文件附件,例如 PDF、网页快照、音频文件或您导入的任何其他文件。 (链接的文件不会复制到此子文件夹中。)

    您的数据目录可能包含其他几个文件和文件夹。其中可以包括 zotero.sqlite.bakzotero.sqlite 的自动备份,如果现有 zotero.sqlite.bak 文件在过去 12 小时内未更新,则定期更新)和 zotero.sqlite.[number].bak 文件(在某些 Zotero 更新期间创建的 zotero.sqlite 自动备份),以及诸如 locatelogs 等文件夹, pipesstylestranslators 在 Zotero 启动时自动创建。

    注意

    在复制、删除或移动任何这些文件之前,请确保 Zotero 已关闭。如果在移动这些文件之前不这样做可能会损坏您的数据。

    用户配置文件

    用户配置文件包括您的个性化设置、插件及其配置、数据库位置等。备份用户配置文件可确保您可以轻松地还原您的个性化 Zotero 设置和工作环境。

    用户配置文件位置

    系统类型默认位置
    macOS/Users/<username>/Library/Application Support/Zotero/Profiles/<randomstring>
    Windows 7 and higher WindowsC:\\Users\\<用户名>\\AppData\\Roaming\\Zotero\\Zotero\\Profiles\\<8位随机字符>.default
    Windows XP/2000C:\\Documents and Settings\\<username>\\Application Data\\Zotero\\Zotero\\Profiles\\<randomstring>
    Linux~/.zotero/zotero/<randomstring>

    macOS

    默认情况下,/Users/<用户名>/Library 文件夹是隐藏的。要访问它,请单击桌面,按住 Option 键,单击 Finder 的 转到 菜单,然后从菜单中选择 资源库

    Windows

    默认情况下, AppData 是隐藏的,可以在资源管理器搜索栏键入 %appdata%,然后按回车,即可进入 AppData\\Roaming 目录。

    用户配置文件内容

    这个目录包含 Zotero 的配置、插件信息及插件配置等。下面列出了部分目录文件:

    northword@Yoga-Northword MINGW64 ~/AppData/Roaming/Zotero/Zotero/Profiles/1y2hj8ud.default
    +$ tree -L 1
    +.
    +|-- bookmarkbackups
    +|-- browser-extension-data
    +|-- extensions
    +|-- extensions.json
    +|-- prefs.js
    +|-- times.json
    +|-- treePrefs.json
    +|-- webappsstore.sqlite
    +\`-- xulstore.json
    +

    其中 prefs.js 包含 Zotero 的所有设置,extensions/ 目录 和 extensions.json 包含 Zotero 插件的安装包和安装、启用等信息。

    注意

    如无必要,不要修改这个目录里的任何文件,不当的修改可能导致 Zotero 无法正常启动。

    手动备份

    手动备份可以实现数据的无损备份,包括但不仅限于账户、插件、设置、文献等数据。

    首先您需要在新电脑上安装 Zotero,然后将下列表格中旧电脑的数据文件拷贝到新电脑的同一位置。

    旧电脑新电脑
    C:\\Users<用户名>\\AppData\\Roaming\\Zotero\\Zotero\\Profiles\\*.default 中文件C:\\Users<用户名>\\AppData\\Roaming\\Zotero\\Zotero\\Profiles\\*.default
    Zotero-设置-高级-文件和文件夹-数据储存位置中的文件同一路径

    例如:电脑的用户名为zotero-chinese,旧电脑将 Zotero 安装在 D:\\Program Files\\Zotero 目录下,数据储存位置设置为 C:\\Users\\zotero-chinese\\Zotero

    在新电脑中,应该要做的是

    1. 安装 Zotero,并确保 Zotero 处于关闭状态。

    2. 旧电脑 ****.default 中的文件 拷贝至 新电脑 ****.default 中(注意不是复制文件夹本身,而是替换其文件和子文件夹)

    3. 旧电脑 C:\\Users\\zotero-chinese\\Zotero 拷贝至 新电脑 C:\\Users\\zotero-chinese\\Zotero

    4. 打开 Zotero,即可。

    使用插件蒲公英 Tara 进行数据的备份和恢复

    `,40),f={class:"hint-container tip"},k=e("p",{class:"hint-container-title"},"Tara",-1),v={href:"https://github.com/l0o0/tara/blob/master/README_zh-CN.md",target:"_blank",rel:"noopener noreferrer"},x=e("p",null,[o("✅ 备份已安装插件"),e("br"),o(" ✅ 备份 CSL 文件"),e("br"),o(" ✅ 备份转换器 (translators)"),e("br"),o(" ✅ 备份 Locate 文件夹"),e("br"),o(" ✅ 备份 Zotero 配置及插件配置")],-1),q={href:"https://github.com/l0o0/tara",target:"_blank",rel:"noopener noreferrer"},y={href:"https://plugins.zotero-chinese.com",target:"_blank",rel:"noopener noreferrer"},H=r('

    创建备份

    下载安装 Tara 插件后,通过点击 Tara 图标来创建一个备份

    开始备份
    开始备份

    创建成功后,会在 Zotero 中生成一个 Tara_backup 的条目并自动生成一个 ZIP 格式的附件,这个就是备份文件。

    如果你再点一次创建,会再生成个附件,你可以选择不同时间段的备份文件进行恢复。

    备份文件
    备份文件

    恢复备份

    点击恢复

    恢复备份
    恢复备份

    可以根据时间来选择要恢复的备份

    选择要恢复备份
    选择要恢复备份

    等待备份恢复完成,再重启 Zotero

    备份恢复完成
    备份恢复完成

    导出备份文件

    点击导出

    导出备份
    导出备份

    等待完成后,去备份目录查看文件是否生成

    导出备份成功
    导出备份成功

    导出时,会将当成的配置信息和插件导出到一个单独 ZIP 文件中,导出的备份会默认储存在 数据储存文件夹\\backup 下。

    导出的备份文件
    导出的备份文件

    在新电脑上进行数据恢复

    在新电脑上安装了 Zotero,此时 Zotero 上没有任何插件,配置都是默认的。这时,你可以把第三步导出的 2 个文件复制到新电脑上。

    在新电脑 Zotero 上,先安装 Tara.xpi 插件。

    插件安装成功,点击恢复,会出现一个文件选择的窗中,选择第三部中所生成的备份文件,之后 Zotero 会恢复对应的插件及相关配置。

    在不同电脑上同步备份

    当你在多个电脑上同时使用 Zotero 时,可以通过 Zotero 的 同步功能 来实现数据的快速备份和恢复。

    首先在不同电脑上分别配置同步,然后可以在 A 电脑上创建一个备份,备份文件是随条目一起同步的。那 B 电脑 Zotero 应该会自动同步了创建的备份条目 Tara_backup 及对应的附件。

    当你在 B 电脑的 Zotero 上点击恢复,选择 A 电脑上刚创建的备份。这样两台电脑上的 Zotero 配置和插件信息就一起同步了。

    注意修改 Tara 的 “备份 Locate” 设置

    由于不同系统平台或主机上的文件路径可能不一致,tara 在备份时默认过滤掉了 locate 文件夹,可以通过点击 Tara 图标-设置 进行修改。

    ',29);function U(I,R){const t=s("ExternalLinkIcon");return i(),d("div",null,[Z,e("div",f,[k,e("p",null,[e("a",v,[o("Tara"),a(t)]),o(" 是一个用于备份和恢复 Zotero 配置的插件,支持备份:")]),x,e("p",null,[o("下载地址:"),e("a",q,[o("GitHub"),a(t)]),o(" 或 "),e("a",y,[o("中文社区插件合集页"),a(t)])])]),H])}const E=n(b,[["render",U],["__file","backup.html.vue"]]),z=JSON.parse('{"path":"/user-guide/backup.html","title":"备份","lang":"zh-CN","frontmatter":{"title":"备份","icon":"profile","author":[{"name":"Chikit-L","url":"https://github.com/Chikit-L"},{"name":"Northword","url":"https://northword.dev"}],"date":"2023-06-28T21:19:25.000Z","updated":"2023-10-04T18:38:54.000Z","description":"备份 我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。 在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/backup.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"备份"}],["meta",{"property":"og:description","content":"备份 我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。 在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Chikit-L"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:19:25.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"备份\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:19:25.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Chikit-L\\",\\"url\\":\\"https://github.com/Chikit-L\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\",\\"url\\":\\"https://northword.dev\\"}]}"]]},"headers":[{"level":2,"title":"概述","slug":"概述","link":"#概述","children":[{"level":3,"title":"程序文件","slug":"程序文件","link":"#程序文件","children":[]},{"level":3,"title":"数据文件","slug":"数据文件","link":"#数据文件","children":[{"level":4,"title":"数据文件位置","slug":"数据文件位置","link":"#数据文件位置","children":[]},{"level":4,"title":"数据文件内容","slug":"数据文件内容","link":"#数据文件内容","children":[]}]},{"level":3,"title":"用户配置文件","slug":"用户配置文件","link":"#用户配置文件","children":[{"level":4,"title":"用户配置文件位置","slug":"用户配置文件位置","link":"#用户配置文件位置","children":[]},{"level":4,"title":"用户配置文件内容","slug":"用户配置文件内容","link":"#用户配置文件内容","children":[]}]}]},{"level":2,"title":"手动备份","slug":"手动备份","link":"#手动备份","children":[]},{"level":2,"title":"使用插件蒲公英 Tara 进行数据的备份和恢复","slug":"使用插件蒲公英-tara-进行数据的备份和恢复","link":"#使用插件蒲公英-tara-进行数据的备份和恢复","children":[{"level":3,"title":"创建备份","slug":"创建备份","link":"#创建备份","children":[]},{"level":3,"title":"恢复备份","slug":"恢复备份","link":"#恢复备份","children":[]},{"level":3,"title":"导出备份文件","slug":"导出备份文件","link":"#导出备份文件","children":[]},{"level":3,"title":"在新电脑上进行数据恢复","slug":"在新电脑上进行数据恢复","link":"#在新电脑上进行数据恢复","children":[]},{"level":3,"title":"在不同电脑上同步备份","slug":"在不同电脑上同步备份","link":"#在不同电脑上同步备份","children":[]}]}],"git":{"createdTime":1695169095000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":4},{"name":"Northword","email":"northword@outlook.com","commits":2},{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":7.48,"words":2243},"filePathRelative":"user-guide/backup.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。

    \\n

    在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍若干种备份这些文件的方式。

    \\n

    概述

    \\n

    我们将构成 Zotero 正常运行的文件分为三部分:

    \\n
      \\n
    • Zotero 程序文件 (Program Files)
    • \\n
    • Zotero 数据文件 (Zotero Data Folder)
    • \\n
    • Zotero 用户配置文件 (Zotero Profile Directory)
    • \\n
    "}');export{E as comp,z as data}; diff --git a/assets/better-notes.html-B5P5ckaW.js b/assets/better-notes.html-B5P5ckaW.js new file mode 100644 index 0000000000..0cfff0e995 --- /dev/null +++ b/assets/better-notes.html-B5P5ckaW.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c as a,a as e,b as t,d as n}from"./app-pLjDz5vt.js";const l={},c=e("h1",{id:"better-notes",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#better-notes"},[e("span",null,"Better Notes")])],-1),p=e("div",{class:"hint-container tip"},[e("p",{class:"hint-container-title"},"提示"),e("p",null,"深度适配 Zotero 阅读器的笔记插件。")],-1),d={href:"https://github.com/windingwind/zotero-better-notes",target:"_blank",rel:"noopener noreferrer"},h={href:"https://github.com/windingwind/zotero-better-notes",target:"_blank",rel:"noopener noreferrer"},u={href:"https://plugins.zotero-chinese.com/",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,"Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔记插件。它完全开源、免费,支持双链笔记,支持 Markdown 与标记语言,深度集成了文献管理与阅读功能。",-1),g={href:"https://github.com/windingwind/zotero-better-notes",target:"_blank",rel:"noopener noreferrer"};function b(_,w){const o=i("ExternalLinkIcon");return s(),a("div",null,[c,p,e("ul",null,[e("li",null,[t("项目主页:"),e("a",d,[t("https://github.com/windingwind/zotero-better-notes"),n(o)])]),e("li",null,[t("下载地址: "),e("ul",null,[e("li",null,[e("a",h,[t("GitHub Release"),n(o)])]),e("li",null,[e("a",u,[t("国内镜像"),n(o)])])])])]),m,e("p",null,[t("从 "),e("a",g,[t("Better Notes 首页"),n(o)]),t(" 开始了解 Better Notes!")])])}const z=r(l,[["render",b],["__file","better-notes.html.vue"]]),Z=JSON.parse('{"path":"/user-guide/plugins/better-notes.html","title":"Better Notes","lang":"zh-CN","frontmatter":{"description":"Better Notes 提示 深度适配 Zotero 阅读器的笔记插件。 项目主页:https://github.com/windingwind/zotero-better-notes 下载地址: GitHub Release 国内镜像 Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/better-notes.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Better Notes"}],["meta",{"property":"og:description","content":"Better Notes 提示 深度适配 Zotero 阅读器的笔记插件。 项目主页:https://github.com/windingwind/zotero-better-notes 下载地址: GitHub Release 国内镜像 Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Better Notes\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.39,"words":118},"filePathRelative":"user-guide/plugins/better-notes.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    提示

    \\n

    深度适配 Zotero 阅读器的笔记插件。

    \\n
    \\n"}');export{z as comp,Z as data}; diff --git a/assets/blockDiagram-6b2b5046-CCvh0vli.js b/assets/blockDiagram-6b2b5046-CCvh0vli.js new file mode 100644 index 0000000000..b80499ecd3 --- /dev/null +++ b/assets/blockDiagram-6b2b5046-CCvh0vli.js @@ -0,0 +1,118 @@ +import{c as _e,a$ as se,h as H,i as ye,l as S,z as Ee,ae as we,p as De}from"./mermaid.core-xpSMncQK.js";import{c as ve}from"./clone-BD0VJlG_.js";import{i as Ne,c as ke,b as Ie,d as Oe,a as he,p as Te}from"./edges-d417c7a0-5DZNYhL5.js";import{G as ze}from"./graph-BVvHj2M5.js";import{o as Ce}from"./ordinal-Cboi1Yqb.js";import{c as Ae}from"./channel-SX207SsG.js";import{s as Re}from"./Tableau10-B-NsZVaP.js";import"./app-pLjDz5vt.js";import"./createText-423428c9-Bj42WdLJ.js";import"./line-CQCn-Nwe.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./init-Gi6I4Gst.js";var le,oe,ee=function(){var e=function(D,o,s,i){for(s=s||{},i=D.length;i--;s[D[i]]=o);return s},a=[1,7],d=[1,13],c=[1,14],n=[1,15],g=[1,19],l=[1,16],f=[1,17],b=[1,18],p=[8,30],x=[8,21,28,29,30,31,32,40,44,47],y=[1,23],T=[1,24],v=[8,15,16,21,28,29,30,31,32,40,44,47],N=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],L={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,seperator: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:function(o,s,i,u,h,t,m){var r=t.length-1;switch(h){case 4:u.getLogger().debug("Rule: seperator (NL) ");break;case 5:u.getLogger().debug("Rule: seperator (Space) ");break;case 6:u.getLogger().debug("Rule: seperator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[r-1]),u.setHierarchy(t[r-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[r]),typeof t[r].length=="number"?this.$=t[r]:this.$=[t[r]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[r-1]),this.$=[t[r-1]].concat(t[r]);break;case 14:u.getLogger().debug("Rule: link: ",t[r],o),this.$={edgeTypeStr:t[r],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[r-3],t[r-1],t[r]),this.$={edgeTypeStr:t[r],label:t[r-1]};break;case 18:const R=parseInt(t[r]),Y=u.generateId();this.$={id:Y,type:"space",label:"",width:R,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[r-2],t[r-1],t[r]," typestr: ",t[r-1].edgeTypeStr);const F=u.edgeStrToEdgeData(t[r-1].edgeTypeStr);this.$=[{id:t[r-2].id,label:t[r-2].label,type:t[r-2].type,directions:t[r-2].directions},{id:t[r-2].id+"-"+t[r].id,start:t[r-2].id,end:t[r].id,label:t[r-1].label,type:"edge",directions:t[r].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[r-1],t[r]),this.$={id:t[r-1].id,label:t[r-1].label,type:u.typeStr2Type(t[r-1].typeStr),directions:t[r-1].directions,widthInColumns:parseInt(t[r],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[r]),this.$={id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[r]),this.$={type:"column-setting",columns:t[r]==="auto"?-1:parseInt(t[r])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[r-2],t[r-1]),u.generateId(),this.$={...t[r-2],type:"composite",children:t[r-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[r-2],t[r-1],t[r]);const C=u.generateId();this.$={id:C,type:"composite",label:"",children:t[r-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID seperator): ",t[r]),this.$={id:t[r]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel seperator): ",t[r-1],t[r]),this.$={id:t[r-1],label:t[r].label,typeStr:t[r].typeStr,directions:t[r].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[r]),this.$=[t[r]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[r-1],t[r]),this.$=[t[r-1]].concat(t[r]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[r-2],t[r-1],t[r]),this.$={typeStr:t[r-2]+t[r],label:t[r-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[r-3],t[r-2]," #3:",t[r-1],t[r]),this.$={typeStr:t[r-3]+t[r],label:t[r-2],directions:t[r-1]};break;case 35:case 36:this.$={type:"classDef",id:t[r-1].trim(),css:t[r].trim()};break;case 37:this.$={type:"applyClass",id:t[r-1].trim(),styleClass:t[r].trim()};break;case 38:this.$={type:"applyStyles",id:t[r-1].trim(),stylesStr:t[r].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:d,29:c,31:n,32:g,40:l,44:f,47:b}),e(x,[2,16],{14:22,15:y,16:T}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(v,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:g},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(N,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:g},{32:[2,14]},{17:[1,36]},e(v,[2,24]),{11:37,13:4,14:22,15:y,16:T,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(N,[2,30]),{18:[1,43]},{18:[1,44]},e(v,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(x,[2,27]),e(N,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(N,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(o,s){if(s.recoverable)this.trace(o);else{var i=new Error(o);throw i.hash=s,i}},parse:function(o){var s=this,i=[0],u=[],h=[null],t=[],m=this.table,r="",R=0,Y=0,F=2,C=1,Se=t.slice.call(arguments,1),w=Object.create(this.lexer),K={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(K.yy[Z]=this.yy[Z]);w.setInput(o,K.yy),K.yy.lexer=w,K.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var J=w.yylloc;t.push(J);var Le=w.options&&w.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var P;return P=u.pop()||w.lex()||C,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}for(var I,M,z,Q,W={},X,B,ae,G;;){if(M=i[i.length-1],this.defaultActions[M]?z=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=me()),z=m[M]&&m[M][I]),typeof z>"u"||!z.length||!z[0]){var $="";G=[];for(X in m[M])this.terminals_[X]&&X>F&&G.push("'"+this.terminals_[X]+"'");w.showPosition?$="Parse error on line "+(R+1)+`: +`+w.showPosition()+` +Expecting `+G.join(", ")+", got '"+(this.terminals_[I]||I)+"'":$="Parse error on line "+(R+1)+": Unexpected "+(I==C?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError($,{text:w.match,token:this.terminals_[I]||I,line:w.yylineno,loc:J,expected:G})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+I);switch(z[0]){case 1:i.push(I),h.push(w.yytext),t.push(w.yylloc),i.push(z[1]),I=null,Y=w.yyleng,r=w.yytext,R=w.yylineno,J=w.yylloc;break;case 2:if(B=this.productions_[z[1]][1],W.$=h[h.length-B],W._$={first_line:t[t.length-(B||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(B||1)].first_column,last_column:t[t.length-1].last_column},Le&&(W._$.range=[t[t.length-(B||1)].range[0],t[t.length-1].range[1]]),Q=this.performAction.apply(W,[r,Y,R,K.yy,z[1],h,t].concat(Se)),typeof Q<"u")return Q;B&&(i=i.slice(0,-1*B*2),h=h.slice(0,-1*B),t=t.slice(0,-1*B)),i.push(this.productions_[z[1]][0]),h.push(W.$),t.push(W._$),ae=m[i[i.length-2]][i[i.length-1]],i.push(ae);break;case 3:return!0}}return!0}},A=function(){var D={EOF:1,parseError:function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},setInput:function(o,s){return this.yy=s||this.yy||{},this._input=o,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},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var s=o.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var s=o.length,i=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=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 h=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===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),s=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+s+"^"},test_match:function(o,s){var i,u,h;if(this.options.backtrack_lexer&&(h={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&&(h.yylloc.range=this.yylloc.range.slice(0))),u=o[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,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(o[0].length),this.matched+=o[0],i=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var t in h)this[t]=h[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,s,i,u;this._more||(this.yytext="",this.match="");for(var h=this._currentRules(),t=0;ts[0].length)){if(s=i,u=t,this.options.backtrack_lexer){if(o=this.test_match(i,h[t]),o!==!1)return o;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(o=this.test_match(s,h[u]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var s=this.next();return s||this.lex()},begin:function(s){this.conditionStack.push(s)},popState:function(){var s=this.conditionStack.length-1;return s>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},pushState:function(s){this.begin(s)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(s,i,u,h){switch(u){case 0:return 10;case 1:return s.getLogger().debug("Found space-block"),31;case 2:return s.getLogger().debug("Found nl-block"),31;case 3:return s.getLogger().debug("Found space-block"),29;case 4:s.getLogger().debug(".",i.yytext);break;case 5:s.getLogger().debug("_",i.yytext);break;case 6:return 5;case 7:return i.yytext=-1,28;case 8:return i.yytext=i.yytext.replace(/columns\s+/,""),s.getLogger().debug("COLUMNS (LEX)",i.yytext),28;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:s.getLogger().debug("LEX: POPPING STR:",i.yytext),this.popState();break;case 14:return s.getLogger().debug("LEX: STR end:",i.yytext),"STR";case 15:return i.yytext=i.yytext.replace(/space\:/,""),s.getLogger().debug("SPACE NUM (LEX)",i.yytext),21;case 16:return i.yytext="1",s.getLogger().debug("COLUMNS (LEX)",i.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";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(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),s.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),s.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),s.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),s.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),s.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),s.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),s.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),s.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),s.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),s.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),s.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),s.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),s.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return s.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return s.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return s.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return s.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return s.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return s.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return s.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return s.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),s.getLogger().debug("LEX ARR START"),38;case 75:return s.getLogger().debug("Lex: NODE_ID",i.yytext),32;case 76:return s.getLogger().debug("Lex: EOF",i.yytext),8;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:s.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:s.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return s.getLogger().debug("LEX: NODE_DESCR:",i.yytext),"NODE_DESCR";case 84:s.getLogger().debug("LEX POPPING"),this.popState();break;case 85:s.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (right): dir:",i.yytext),"DIR";case 87:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (left):",i.yytext),"DIR";case 88:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (x):",i.yytext),"DIR";case 89:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (y):",i.yytext),"DIR";case 90:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (up):",i.yytext),"DIR";case 91:return i.yytext=i.yytext.replace(/^,\s*/,""),s.getLogger().debug("Lex (down):",i.yytext),"DIR";case 92:return i.yytext="]>",s.getLogger().debug("Lex (ARROW_DIR end):",i.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return s.getLogger().debug("Lex: LINK","#"+i.yytext+"#"),15;case 94:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 95:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 96:return s.getLogger().debug("Lex: LINK",i.yytext),15;case 97:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 98:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 99:return s.getLogger().debug("Lex: START_LINK",i.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return s.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),s.getLogger().debug("Lex: LINK","#"+i.yytext+"#"),15;case 103:return this.popState(),s.getLogger().debug("Lex: LINK",i.yytext),15;case 104:return this.popState(),s.getLogger().debug("Lex: LINK",i.yytext),15;case 105:return s.getLogger().debug("Lex: COLON",i.yytext),i.yytext=i.yytext.slice(1),27}},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 D}();L.lexer=A;function k(){this.yy={}}return k.prototype=L,L.Parser=k,new k}();ee.parser=ee;const Be=ee;let O={},ie=[],V={};const ce="color",ue="fill",Pe="bgFill",ge=",";let j={};const Fe=function(e,a=""){j[e]===void 0&&(j[e]={id:e,styles:[],textStyles:[]});const d=j[e];a!=null&&a.split(ge).forEach(c=>{const n=c.replace(/([^;]*);/,"$1").trim();if(c.match(ce)){const l=n.replace(ue,Pe).replace(ce,ue);d.textStyles.push(l)}d.styles.push(n)})},Ke=function(e,a=""){const d=O[e];a!=null&&(d.styles=a.split(ge))},Me=function(e,a){e.split(",").forEach(function(d){let c=O[d];if(c===void 0){const n=d.trim();O[n]={id:n,type:"na",children:[]},c=O[n]}c.classes||(c.classes=[]),c.classes.push(a)})},pe=(e,a)=>{const d=e.flat(),c=[];for(const n of d){if(n.type==="classDef"){Fe(n.id,n.css);continue}if(n.type==="applyClass"){Me(n.id,(n==null?void 0:n.styleClass)||"");continue}if(n.type==="applyStyles"){n!=null&&n.stylesStr&&Ke(n.id,n==null?void 0:n.stylesStr);continue}if(n.type==="column-setting")a.columns=n.columns||-1;else if(n.type==="edge")V[n.id]?V[n.id]++:V[n.id]=1,n.id=V[n.id]+"-"+n.id,ie.push(n);else{n.label||(n.type==="composite"?n.label="":n.label=n.id);const g=!O[n.id];if(g?O[n.id]=n:(n.type!=="na"&&(O[n.id].type=n.type),n.label!==n.id&&(O[n.id].label=n.label)),n.children&&pe(n.children,n),n.type==="space"){const l=n.width||1;for(let f=0;f{S.debug("Clear called"),Ee(),U={id:"root",type:"composite",children:[],columns:-1},O={root:U},re=[],j={},ie=[],V={}};function We(e){switch(S.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return S.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 Ve(e){switch(S.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}function je(e){switch(e.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let de=0;const Ue=()=>(de++,"id-"+Math.random().toString(36).substr(2,12)+"-"+de),Xe=e=>{U.children=e,pe(e,U),re=U.children},Ge=e=>{const a=O[e];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},He=()=>[...Object.values(O)],qe=()=>re||[],Ze=()=>ie,Je=e=>O[e],Qe=e=>{O[e.id]=e},$e=()=>console,et=function(){return j},tt={getConfig:()=>se().block,typeStr2Type:We,edgeTypeStr2Type:Ve,edgeStrToEdgeData:je,getLogger:$e,getBlocksFlat:He,getBlocks:qe,getEdges:Ze,setHierarchy:Xe,getBlock:Je,setBlock:Qe,getColumns:Ge,getClasses:et,clear:Ye,generateId:Ue},st=tt,q=(e,a)=>{const d=Ae,c=d(e,"r"),n=d(e,"g"),g=d(e,"b");return we(c,n,g,a)},it=e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.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: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${q(e.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${q(e.mainBkg,.5)}; + fill: ${q(e.clusterBkg,.5)}; + stroke: ${q(e.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: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,rt=it;function fe(e,a,d=!1){var c,n,g;const l=e;let f="default";(((c=l==null?void 0:l.classes)==null?void 0:c.length)||0)>0&&(f=((l==null?void 0:l.classes)||[]).join(" ")),f=f+" flowchart-label";let b=0,p="",x;switch(l.type){case"round":b=5,p="rect";break;case"composite":b=0,p="composite",x=0;break;case"square":p="rect";break;case"diamond":p="question";break;case"hexagon":p="hexagon";break;case"block_arrow":p="block_arrow";break;case"odd":p="rect_left_inv_arrow";break;case"lean_right":p="lean_right";break;case"lean_left":p="lean_left";break;case"trapezoid":p="trapezoid";break;case"inv_trapezoid":p="inv_trapezoid";break;case"rect_left_inv_arrow":p="rect_left_inv_arrow";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"stadium":p="stadium";break;case"subroutine":p="subroutine";break;case"cylinder":p="cylinder";break;case"group":p="rect";break;case"doublecircle":p="doublecircle";break;default:p="rect"}const y=De((l==null?void 0:l.styles)||[]),T=l.label,v=l.size||{width:0,height:0,x:0,y:0};return{labelStyle:y.labelStyle,shape:p,labelText:T,rx:b,ry:b,class:f,style:y.style,id:l.id,directions:l.directions,width:v.width,height:v.height,x:v.x,y:v.y,positioned:d,intersect:void 0,type:l.type,padding:x??(((g=(n=se())==null?void 0:n.block)==null?void 0:g.padding)||0)}}async function nt(e,a,d){const c=fe(a,d,!1);if(c.type==="group")return;const n=await he(e,c),g=n.node().getBBox(),l=d.getBlock(c.id);l.size={width:g.width,height:g.height,x:0,y:0,node:n},d.setBlock(l),n.remove()}async function at(e,a,d){const c=fe(a,d,!0);d.getBlock(c.id).type!=="space"&&(await he(e,c),a.intersect=c==null?void 0:c.intersect,Te(c))}async function ne(e,a,d,c){for(const n of a)await c(e,n,d),n.children&&await ne(e,n.children,d,c)}async function lt(e,a,d){await ne(e,a,d,nt)}async function ot(e,a,d){await ne(e,a,d,at)}async function ct(e,a,d,c,n){const g=new ze({multigraph:!0,compound:!0});g.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const l of d)l.size&&g.setNode(l.id,{width:l.size.width,height:l.size.height,intersect:l.intersect});for(const l of a)if(l.start&&l.end){const f=c.getBlock(l.start),b=c.getBlock(l.end);if(f!=null&&f.size&&(b!=null&&b.size)){const p=f.size,x=b.size,y=[{x:p.x,y:p.y},{x:p.x+(x.x-p.x)/2,y:p.y+(x.y-p.y)/2},{x:x.x,y:x.y}];await ke(e,{v:l.start,w:l.end,name:l.id},{...l,arrowTypeEnd:l.arrowTypeEnd,arrowTypeStart:l.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",g,n),l.label&&(await Ie(e,{...l,label:l.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:l.arrowTypeEnd,arrowTypeStart:l.arrowTypeStart,points:y,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await Oe({...l,x:y[1].x,y:y[1].y},{originalPath:y}))}}}const _=((oe=(le=_e())==null?void 0:le.block)==null?void 0:oe.padding)||8;function ut(e,a){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(e<0)return{px:a,py:0};if(e===1)return{px:0,py:a};const d=a%e,c=Math.floor(a/e);return{px:d,py:c}}const dt=e=>{let a=0,d=0;for(const c of e.children){const{width:n,height:g,x:l,y:f}=c.size||{width:0,height:0,x:0,y:0};S.debug("getMaxChildSize abc95 child:",c.id,"width:",n,"height:",g,"x:",l,"y:",f,c.type),c.type!=="space"&&(n>a&&(a=n/(e.widthInColumns||1)),g>d&&(d=g))}return{width:a,height:d}};function te(e,a,d=0,c=0){var n,g,l,f,b,p,x,y,T,v,N;S.debug("setBlockSizes abc95 (start)",e.id,(n=e==null?void 0:e.size)==null?void 0:n.x,"block width =",e==null?void 0:e.size,"sieblingWidth",d),(g=e==null?void 0:e.size)!=null&&g.width||(e.size={width:d,height:c,x:0,y:0});let E=0,L=0;if(((l=e.children)==null?void 0:l.length)>0){for(const h of e.children)te(h,a);const A=dt(e);E=A.width,L=A.height,S.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",E,L);for(const h of e.children)h.size&&(S.debug(`abc95 Setting size of children of ${e.id} id=${h.id} ${E} ${L} ${h.size}`),h.size.width=E*(h.widthInColumns||1)+_*((h.widthInColumns||1)-1),h.size.height=L,h.size.x=0,h.size.y=0,S.debug(`abc95 updating size of ${e.id} children child:${h.id} maxWidth:${E} maxHeight:${L}`));for(const h of e.children)te(h,a,E,L);const k=e.columns||-1;let D=0;for(const h of e.children)D+=h.widthInColumns||1;let o=e.children.length;k>0&&k0?Math.min(e.children.length,k):e.children.length;if(h>0){const t=(i-h*_-_)/h;S.debug("abc95 (growing to fit) width",e.id,i,(x=e.size)==null?void 0:x.width,t);for(const m of e.children)m.size&&(m.size.width=t)}}e.size={width:i,height:u,x:0,y:0}}S.debug("setBlockSizes abc94 (done)",e.id,(y=e==null?void 0:e.size)==null?void 0:y.x,(T=e==null?void 0:e.size)==null?void 0:T.width,(v=e==null?void 0:e.size)==null?void 0:v.y,(N=e==null?void 0:e.size)==null?void 0:N.height)}function be(e,a){var d,c,n,g,l,f,b,p,x,y,T,v,N,E,L,A,k;S.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${(d=e==null?void 0:e.size)==null?void 0:d.x} y: ${(c=e==null?void 0:e.size)==null?void 0:c.y} width: ${(n=e==null?void 0:e.size)==null?void 0:n.width}`);const D=e.columns||-1;if(S.debug("layoutBlocks columns abc95",e.id,"=>",D,e),e.children&&e.children.length>0){const o=((l=(g=e==null?void 0:e.children[0])==null?void 0:g.size)==null?void 0:l.width)||0,s=e.children.length*o+(e.children.length-1)*_;S.debug("widthOfChildren 88",s,"posX");let i=0;S.debug("abc91 block?.size?.x",e.id,(f=e==null?void 0:e.size)==null?void 0:f.x);let u=(b=e==null?void 0:e.size)!=null&&b.x?((p=e==null?void 0:e.size)==null?void 0:p.x)+(-((x=e==null?void 0:e.size)==null?void 0:x.width)/2||0):-_,h=0;for(const t of e.children){const m=e;if(!t.size)continue;const{width:r,height:R}=t.size,{px:Y,py:F}=ut(D,i);if(F!=h&&(h=F,u=(y=e==null?void 0:e.size)!=null&&y.x?((T=e==null?void 0:e.size)==null?void 0:T.x)+(-((v=e==null?void 0:e.size)==null?void 0:v.width)/2||0):-_,S.debug("New row in layout for block",e.id," and child ",t.id,h)),S.debug(`abc89 layout blocks (child) id: ${t.id} Pos: ${i} (px, py) ${Y},${F} (${(N=m==null?void 0:m.size)==null?void 0:N.x},${(E=m==null?void 0:m.size)==null?void 0:E.y}) parent: ${m.id} width: ${r}${_}`),m.size){const C=r/2;t.size.x=u+_+C,S.debug(`abc91 layout blocks (calc) px, pyid:${t.id} startingPos=X${u} new startingPosX${t.size.x} ${C} padding=${_} width=${r} halfWidth=${C} => x:${t.size.x} y:${t.size.y} ${t.widthInColumns} (width * (child?.w || 1)) / 2 ${r*((t==null?void 0:t.widthInColumns)||1)/2}`),u=t.size.x+C,t.size.y=m.size.y-m.size.height/2+F*(R+_)+R/2+_,S.debug(`abc88 layout blocks (calc) px, pyid:${t.id}startingPosX${u}${_}${C}=>x:${t.size.x}y:${t.size.y}${t.widthInColumns}(width * (child?.w || 1)) / 2${r*((t==null?void 0:t.widthInColumns)||1)/2}`)}t.children&&be(t),i+=(t==null?void 0:t.widthInColumns)||1,S.debug("abc88 columnsPos",t,i)}}S.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${(L=e==null?void 0:e.size)==null?void 0:L.x} y: ${(A=e==null?void 0:e.size)==null?void 0:A.y} width: ${(k=e==null?void 0:e.size)==null?void 0:k.width}`)}function xe(e,{minX:a,minY:d,maxX:c,maxY:n}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){const{x:g,y:l,width:f,height:b}=e.size;g-f/2c&&(c=g+f/2),l+b/2>n&&(n=l+b/2)}if(e.children)for(const g of e.children)({minX:a,minY:d,maxX:c,maxY:n}=xe(g,{minX:a,minY:d,maxX:c,maxY:n}));return{minX:a,minY:d,maxX:c,maxY:n}}function ht(e){const a=e.getBlock("root");if(!a)return;te(a,e,0,0),be(a),S.debug("getBlocks",JSON.stringify(a,null,2));const{minX:d,minY:c,maxX:n,maxY:g}=xe(a),l=g-c,f=n-d;return{x:d,y:c,width:f,height:l}}const gt=function(e,a){return a.db.getClasses()},pt=async function(e,a,d,c){const{securityLevel:n,block:g}=se(),l=c.db;let f;n==="sandbox"&&(f=H("#i"+a));const b=n==="sandbox"?H(f.nodes()[0].contentDocument.body):H("body"),p=n==="sandbox"?b.select(`[id="${a}"]`):H(`[id="${a}"]`);Ne(p,["point","circle","cross"],c.type,a);const y=l.getBlocks(),T=l.getBlocksFlat(),v=l.getEdges(),N=p.insert("g").attr("class","block");await lt(N,y,l);const E=ht(l);if(await ot(N,y,l),await ct(N,v,T,l,a),E){const L=E,A=Math.max(1,Math.round(.125*(L.width/L.height))),k=L.height+A+10,D=L.width+10,{useMaxWidth:o}=g;ye(p,k,D,!!o),S.debug("Here Bounds",E,L),p.attr("viewBox",`${L.x-5} ${L.y-5} ${L.width+10} ${L.height+10}`)}Ce(Re)},ft={draw:pt,getClasses:gt},It={parser:Be,db:st,renderer:ft,styles:rt};export{It as diagram}; diff --git a/assets/bootstrap.html-D0Hx4kFq.js b/assets/bootstrap.html-D0Hx4kFq.js new file mode 100644 index 0000000000..c1339c96c6 --- /dev/null +++ b/assets/bootstrap.html-D0Hx4kFq.js @@ -0,0 +1,59 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as c,c as i,a as n,b as a,d as t,e as o}from"./app-pLjDz5vt.js";const l={},u=o(`

    引导脚本

    引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。

    内容

    这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。

    生命周期钩子

    // 插件被安装时调用
    +function install(data, reason) {}
    +
    +// 插件启动时调用
    +function startup(data, reason) {}
    +
    +// 插件被禁用时或 Zotero 被关闭时调用
    +function shutdown(data, reason) {}
    +
    +// 插件被卸载时调用
    +function uninstall(data, reason) {}
    +

    插件生命周期挂钩传递两个参数:

    • 具有以下属性的对象:
      • id ,插件 ID
      • version ,插件版本
      • rootURI ,指向插件文件的字符串 URL。对于 XPI,这将是 jar:file:/// URL。该值始终以斜杠结尾,因此您可以附加相对路径来获取与插件捆绑的文件的 URL(例如 rootURI + 'style.css' )。
    • 表示事件原因的数字,可以根据以下常量进行检查: APP_STARTUPAPP_SHUTDOWNADDON_ENABLEADDON_DISABLEADDON_INSTALLADDON_UNINSTALLADDON_UPGRADEADDON_DOWNGRADE

    任何与特定窗口无关的初始化都应由 startup 触发,删除应由 shutdown 触发。

    窗口钩子

    // Zotero 主窗口加载完毕时调用
    +function onMainWindowLoad({ window }) {}
    +
    +// Zotero 主窗口被关闭时调用
    +function onMainWindowUnload({ window }) {}
    +

    窗口钩子传递一个参数:

    • 具有包含目标窗口的 window 属性的对象

    在某些平台上,主窗口可以在 Zotero 会话期间多次打开和关闭,因此任何与窗口相关的活动,例如修改主 UI、添加菜单或绑定快捷方式都必须由 onMainWindowLoad 执行以便新的主窗口包含您的更改。

    然后,当调用 onMainWindowUnload 时,您必须删除对窗口或其中的对象的所有引用,取消任何计时器等,否则每次关闭窗口时都会有造成内存泄漏的风险。添加到窗口的 DOM 元素会在窗口关闭时自动销毁,因此只需删除 shutdown() 中的元素即可,可以通过循环遍历所有窗口来完成:

    function shutdown() {
    +  var windows = Zotero.getMainWindows();
    +  for (let win of windows) {
    +    win.document.getElementById("make-it-red-stylesheet")?.remove();
    +  }
    +}
    +

    (目前仅支持一个主窗口,但有些用户可能会找到打开多个主窗口的方法,这将在未来版本中正式支持。)

    提示

    通常地,在 startup 中初始化插件地本地化系统、设置、兼容性等,在 onMainWindowLoad 中初始化与 Zotero UI 有关的组件,如菜单、侧边栏、自定义列等。

    样例

    关于 bootstrap.js 的样例,可参考前章提到的插件框架。它将插件的根对象注册到全局变量 Zotero 中,在任何引入了 Zotero 的位置均可使用。 或参考 Zutilo 插件。它将插件的根对象注册为一个全局变量。缺陷是在非主窗口内引入插件代码将较为复杂。

    `,20),d={href:"https://github.com/windingwind/zotero-addon-template/blob/main/addon/bootstrap.js",target:"_blank",rel:"noopener noreferrer"},r={href:"https://github.com/wshanks/Zutilo/blob/master/addon/bootstrap.js",target:"_blank",rel:"noopener noreferrer"},k=o(`

    下面是以官方示例 Make It Redbootstrap.js,它在 startup() 中通过 Services.scriptloader.loadSubScript(rootURI + "make-it-red.js"); 将插件脚本载入,在 make-it-red.js 中,在 Zotero 下定义了一个对象 MakeItRed。在 make-it-red.js 加载完成后,调用 MakeItRed 对象下的方法完成插件初始化。

    var MakeItRed;
    +
    +function log(msg) {
    +  Zotero.debug("Make It Red: " + msg);
    +}
    +
    +function install() {
    +  log("Installed 2.0");
    +}
    +
    +async function startup({ id, version, rootURI }) {
    +  log("Starting 2.0");
    +
    +  Services.scriptloader.loadSubScript(rootURI + "make-it-red.js");
    +  MakeItRed.init({ id, version, rootURI });
    +  MakeItRed.addToAllWindows();
    +  await MakeItRed.main();
    +}
    +
    +function onMainWindowLoad({ window }) {
    +  MakeItRed.addToWindow(window);
    +}
    +
    +function onMainWindowUnload({ window }) {
    +  MakeItRed.removeFromWindow(window);
    +}
    +
    +function shutdown() {
    +  log("Shutting down 2.0");
    +  MakeItRed.removeFromAllWindows();
    +  MakeItRed = undefined;
    +}
    +
    +function uninstall() {
    +  log("Uninstalled 2.0");
    +}
    +

    参考资料

    `,3),m={href:"https://www.zotero.org/support/dev/zotero_7_for_developers",target:"_blank",rel:"noopener noreferrer"},v={href:"https://www.devdoc.net/web/developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Bootstrapped_Extensions.html#Bootstrap_entry_points",target:"_blank",rel:"noopener noreferrer"};function b(h,w){const s=p("ExternalLinkIcon");return c(),i("div",null,[u,n("ul",null,[n("li",null,[n("a",d,[a("Zotero-addon-template/bootstrap.js at bootstrap · windingwind/Zotero-addon-template"),t(s)])]),n("li",null,[n("a",r,[a("Zutilo/bootstrap.js at master · wshanks/Zutilo"),t(s)])])]),k,n("ul",null,[n("li",null,[n("a",m,[a("Zotero 7 for developers"),t(s)])]),n("li",null,[n("a",v,[a("bootstrapped-extension framework"),t(s)])])])])}const _=e(l,[["render",b],["__file","bootstrap.html.vue"]]),y=JSON.parse('{"path":"/plugin-dev-guide/reference/bootstrap.html","title":"引导脚本","lang":"zh-CN","frontmatter":{"author":[{"name":"windingwind","url":"https://github.com/windingwind/"},{"name":"northword","url":"https://github.com/northword/"}],"description":"引导脚本 引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。 内容 这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。 生命周期钩子 插件生命周期挂钩传递两个参数: 具有以下属性的对象: id ,插件 ID version ,插件版本 rootURI ,指向...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/bootstrap.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"引导脚本"}],["meta",{"property":"og:description","content":"引导脚本 引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。 内容 这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。 生命周期钩子 插件生命周期挂钩传递两个参数: 具有以下属性的对象: id ,插件 ID version ,插件版本 rootURI ,指向..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"windingwind"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"引导脚本\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"windingwind\\",\\"url\\":\\"https://github.com/windingwind/\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"northword\\",\\"url\\":\\"https://github.com/northword/\\"}]}"]]},"headers":[{"level":2,"title":"内容","slug":"内容","link":"#内容","children":[{"level":3,"title":"生命周期钩子","slug":"生命周期钩子","link":"#生命周期钩子","children":[]},{"level":3,"title":"窗口钩子","slug":"窗口钩子","link":"#窗口钩子","children":[]}]},{"level":2,"title":"样例","slug":"样例","link":"#样例","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":3,"words":900},"filePathRelative":"plugin-dev-guide/reference/bootstrap.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。

    \\n

    内容

    \\n

    这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。

    \\n

    生命周期钩子

    \\n
    // 插件被安装时调用\\nfunction install(data, reason) {}\\n\\n// 插件启动时调用\\nfunction startup(data, reason) {}\\n\\n// 插件被禁用时或 Zotero 被关闭时调用\\nfunction shutdown(data, reason) {}\\n\\n// 插件被卸载时调用\\nfunction uninstall(data, reason) {}\\n
    "}');export{_ as comp,y as data}; diff --git a/assets/build.html-CdQzzapG.js b/assets/build.html-CdQzzapG.js new file mode 100644 index 0000000000..0a9f484db5 --- /dev/null +++ b/assets/build.html-CdQzzapG.js @@ -0,0 +1,16 @@ +import{_ as p}from"./image-build-pr预览-1-H7NE72PW.js";import{_ as u}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as h,c as g,a as e,b as t,d as n,w as s,e as a}from"./app-pLjDz5vt.js";const m="/assets/image-fork-repo-1-DUhfmMkh.png",b="/assets/image-fork-repo-2-1-BvzjgARi.png",_="/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5-BCvUkLC5.png",f="/assets/741b873973ac5df93faf93cd1a195db2_MD5-sTOtHUi5.png",k="/assets/28f02608aa879ed189ecfecfcab57d16_MD5-D2dcb1pG.png",v="/assets/image-build-安装依赖-1-BkxlRMk2.png",w="/assets/image-build-创建新分支-1-CQHG4gzS.png",x="/assets/image-build-启动开发服务器-1-BRF-0Ma5.png",G="/assets/image-build-dev-server-1-CdV6onpC.png",y="/assets/image-build-提交修改-1-jkHyudWl.png",z="/assets/image-build-推送修改-1-Bs8VsvCa.png",P="/assets/image-build-更新main分支-1-DC6aGTSK.png",H={},M=e("h1",{id:"构建指南",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#构建指南"},[e("span",null,"构建指南")])],-1),V=e("h2",{id:"项目概览",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#项目概览"},[e("span",null,"项目概览")])],-1),R=e("p",null,"本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。",-1),C={href:"https://github.com/zotero-chinese/wiki/",target:"_blank",rel:"noopener noreferrer"},T=a('

    以下介绍了一次完整修改所需的步骤。

    提示

    为了降低操作门槛,本指南所述操作步骤均尽可能使用了图形化界面。对于熟悉 Git 的同学,仍可使用自己喜欢的方式进行操作。

    环境配置

    所需软件安装

    本文的需要 Node.js 和 Git 安装在你的电脑上,后续步骤假定你已经安装这些程序且可以简单使用,若没有安装这些软件请跟随本小节指引完成安装。

    为了方便编辑和提交,我们还推荐安装 VS CodeGitHub Desktop 两个软件。

    ',6),D={class:"hint-container details"},N=e("summary",null,"安装 Git",-1),q=e("p",null,[t("所有文档均使用 "),e("code",null,"Git"),t(" 进行版本控制。以下步骤假定")],-1),A=e("p",null,"用户已安装 git。若未安装,可以使用以下命令安装或更新 git:",-1),L=e("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[e("span",{class:"token function"},"sudo"),t(" dnf "),e("span",{class:"token function"},"install"),t(),e("span",{class:"token function"},"git"),t(` +`)])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"})])],-1),S=e("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[e("span",{class:"token function"},"sudo"),t(),e("span",{class:"token function"},"apt"),t(),e("span",{class:"token function"},"install"),t(),e("span",{class:"token function"},"git"),t(` +`)])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"})])],-1),Z=e("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[t("brew "),e("span",{class:"token function"},"install"),t(),e("span",{class:"token function"},"git"),t(` +`)])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"})])],-1),B={href:"https://git-scm.com/downloads/",target:"_blank",rel:"noopener noreferrer"},E=a(`

    安装完成后,还需设置个人信息。打开终端,运行以下命令

    (将 zotero-user<zotero-user@gmail.com> 替换成个人对应的信息):

    # 设置用户姓名和邮箱
    +$ git config --global user.name "zotero-user"
    +$ git config --global user.email "zotero-user@gmail.com"
    +
    +# 查看 ~/.gitconfig
    +$ cat ~/.gitconfig
    +[user]
    +    name = zotero-user
    +    email = zotero-user@gmail.com
    +
    `,3),U={class:"hint-container details"},j=e("summary",null,"Git 和 GitHub 学习资料",-1),W=e("p",null,"以下修改文档并提交的步骤中使用了 Git 的一些常用选项,可以参考以下资料学习更多用法:",-1),F={href:"http://rogerdudler.github.io/git-guide/index.zh.html",target:"_blank",rel:"noopener noreferrer"},O={href:"http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000",target:"_blank",rel:"noopener noreferrer"},$={href:"http://www.worldhello.net/gotgithub/index.html",target:"_blank",rel:"noopener noreferrer"},I={href:"https://www.freecodecamp.org/news/practical-git-and-git-workflows/amp/",target:"_blank",rel:"noopener noreferrer"},J={href:"https://git-scm.com/book/zh/",target:"_blank",rel:"noopener noreferrer"},K=e("p",null,"GitHub 相关资料:",-1),Q={href:"https://docs.github.com/cn/github",target:"_blank",rel:"noopener noreferrer"},X={href:"https://guides.github.com/introduction/flow/",target:"_blank",rel:"noopener noreferrer"},Y=e("details",{class:"hint-container details"},[e("summary",null,"安装 Node.js"),e("p",null,"安装 Node. js")],-1),ee=e("details",{class:"hint-container details"},[e("summary",null,"安装 VS Code"),e("p",null,"安装")],-1),te={class:"hint-container details"},ne=e("summary",null,"安装 GitHub Desktop",-1),ie={href:"https://desktop.github.com/",target:"_blank",rel:"noopener noreferrer"},se=e("h3",{id:"克隆和复制仓库",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#克隆和复制仓库"},[e("span",null,"克隆和复制仓库")])],-1),ae=e("p",null,"复制 (fork) 仓库至个人 GitHub 帐号",-1),oe={href:"https://github.com/zotero-chinese/wiki/",target:"_blank",rel:"noopener noreferrer"},le=e("figure",null,[e("img",{src:m,alt:"复刻仓库",tabindex:"0",loading:"lazy"}),e("figcaption",null,"复刻仓库")],-1),re=e("figure",null,[e("img",{src:b,alt:"复刻仓库2",tabindex:"0",loading:"lazy"}),e("figcaption",null,"复刻仓库2")],-1),ce={href:"https://github.com/zotero-user/wiki/",target:"_blank",rel:"noopener noreferrer"},de=a('

    克隆个人 GitHub 帐号下的复刻仓库到本地(复刻仓库默认是本地克隆仓库的远程 origin)

    打开 VS Code,点击 欢迎页面克隆 Git 仓库…,在弹出窗口中选中 从 GitHub 克隆,然后选择自己账户下的 fork 仓库,确认,克隆完成后根据提示打开文件夹。

    克隆Git仓库
    克隆Git仓库
    从GitHub克隆
    从GitHub克隆
    选择仓库
    选择仓库
    ',5),pe={class:"hint-container tip"},ue=e("p",{class:"hint-container-title"},"提示",-1),he={href:"https://desktop.github.com/",target:"_blank",rel:"noopener noreferrer"},ge=a(`

    安装依赖

    通过下面的命令安装依赖项。

    npm install -g pnpm
    +pnpm install
    +
    安装依赖
    安装依赖

    相关信息

    上述“环境配置”步骤只需在第一次修改代码时执行一次,一旦复制或克隆某仓库后,就无需再次复制或克隆。

    修改文档

    ',6),me=a('
  • 在本地创建并切换至新分支,假定新分支名为 pr-workflow(分支名需简短、描述性且独特):

    创建新分支
    创建新分支
  • 启动开发服务器
    使用以下命令启动开发服务器,如下图,开发服务器启动后,会给出几个本地链接,访问任一链接(通常为 Local)即可得到预览。

    pnpm run docs:dev
    +
    启动开服务器
    启动开服务器

    开发服务器会监听所有 .md 文件的修改,当有文件发生保存时,服务器会自动更新预览并刷新网页。

    开发服务器
    开发服务器
  • ',2),be=e("p",null,"在新建分支中对文档做修改,修改过程中,可以随时在浏览器中检查修改效果",-1),_e=a('
  • 提交 commit

    在左侧 " 源代码管理 " 选项卡中,输入一个简短的提交描述,点击提交,然后将修改推送到线上。

    提交修改
    提交修改
    推送修改
    推送修改

    提示

    如前所述,提交命令也可以在 GitHub Desktop 中完成。

    注意

    不建议直接在 main 分支中进行修改和提交,这可能会给你自己造成麻烦。

    仓库对 main 分支开启了推送保护,对 main 分支的修改只能通过 Pull Request 进行,无法直接 Push。

  • ',1),fe=e("h2",{id:"pull-request",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#pull-request"},[e("span",null,"Pull Request")])],-1),ke=e("p",null,"提交 PR",-1),ve={href:"https://github.com/%E4%BD%A0%E7%9A%84%E5%90%8D%E5%AD%97/wiki/",target:"_blank",rel:"noopener noreferrer"},we=e("p",null,"一般 GitHub 会自动提示有可提交的 PR,点击 “Compare & pull request”,输入此 PR 的标题和具体描述,",-1),xe=e("p",null,"最后点击 “Create pull request” 即可。",-1),Ge=a('
  • 审核、评论以及修改 PR

    文档维护者收到 PR 后,会对代码进行审核、评论以及修改,并决定是否接受(merge)或结束该 PR。

    PR 发起后,Netlify 机器人会自动部署一个预览版本,可以在这里查看预览。

    netlify预览pr
    netlify预览pr

    提交的 PR 在接收前可能需要读者多次修改。这种情况并不要创建新 PR,只需继续本地 pr-workflow 分支中修改并提交,然后再次推送 pr-workflow 分支至远程 origin 即可,修改将自动添加到已提交的 PR 中。

    推送新的修改后,可以选择在该 PR 中留言,以通知维护者已提交新的修改。

  • PR 被接受并合并至官方 main 分支后,则可以更新 main 分支,并删除 pr-workflow 分支

    更新main分支
    更新main分支
  • ',2),ye=a('

    其他的脚本

    pnpm run docs:build

    构建脚本,用于将 markdown 构建为网页。

    贡献者可以在提交前运行一次,查看是否有报错。

    一般情况下,图片路径错误、链接错误会导致报错。

    pnpm run lint:md

    运行 Markdown Lint。

    ',7);function ze(Pe,He){const i=r("ExternalLinkIcon"),c=r("Tabs"),d=r("RouteLink");return h(),g("div",null,[M,V,R,e("p",null,[t("目前仓库地址为 "),e("a",C,[t("https://github.com/zotero-chinese/wiki/"),n(i)]),t(" ,")]),T,e("details",D,[N,q,A,n(c,{id:"39",data:[{id:"Fedora"},{id:"Ubuntu/Debian"},{id:"macOS"},{id:"Windows"}]},{title0:s(({value:o,isActive:l})=>[t("Fedora")]),title1:s(({value:o,isActive:l})=>[t("Ubuntu/Debian")]),title2:s(({value:o,isActive:l})=>[t("macOS")]),title3:s(({value:o,isActive:l})=>[t("Windows")]),tab0:s(({value:o,isActive:l})=>[L]),tab1:s(({value:o,isActive:l})=>[S]),tab2:s(({value:o,isActive:l})=>[Z]),tab3:s(({value:o,isActive:l})=>[e("p",null,[t("打开 "),e("a",B,[t("https://git-scm.com/downloads/"),n(i)]),t(" ,下载并安装 Git for Windows。")])]),_:1}),E,e("details",U,[j,W,e("ul",null,[e("li",null,[e("a",F,[t("git 简明指南"),n(i)])]),e("li",null,[e("a",O,[t("廖雪峰的 Git 教程"),n(i)])]),e("li",null,[e("a",$,[t("GotGitHub"),n(i)])]),e("li",null,[e("a",I,[t("How to Use Git and Git Workflows – a Practical Guide"),n(i)])]),e("li",null,[e("a",J,[t("Pro Git"),n(i)])])]),K,e("ul",null,[e("li",null,[e("a",Q,[t("GitHub 中文文档"),n(i)])]),e("li",null,[e("a",X,[t("Understanding the GitHub flow"),n(i)])])])])]),Y,ee,e("details",te,[ne,e("p",null,[t("安装 "),e("a",ie,[t("https://desktop.github.com/"),n(i)])])]),se,e("ol",null,[e("li",null,[ae,e("p",null,[t("点击项目主页 "),e("a",oe,[t("https://github.com/zotero-chinese/wiki/"),n(i)]),t(" 右上角的 Fork 按钮,将该项目复刻到个人 GitHub 账户下。")]),le,re,e("p",null,[t("复制完成后,个人 GitHub 帐号下便有了 "),e("a",ce,[t("https://github.com/zotero-user/wiki/"),n(i)]),t(" 仓库。")])]),e("li",null,[de,e("div",pe,[ue,e("p",null,[t("如果你对 Git 或命令行不了解,可以考虑使用 "),e("a",he,[t("GitHub 客户端"),n(i)]),t(" 或 VS Code 提供的图形化版本控制管理器作为命令行的替代。")])])])]),ge,e("ol",null,[me,e("li",null,[be,e("p",null,[t("使用 Markdown 语法编写文档,如果你不清楚本文档所用的 Markdown 语法,请参阅 "),n(d,{to:"/contributing/markdown.html"},{default:s(()=>[t("Markdown 语法")]),_:1}),t("。")])]),_e]),fe,e("ol",null,[e("li",null,[ke,e("p",null,[t("进入个人 GitHub 帐号下的复制仓库(即 "),e("a",ve,[t("https://github.com/你的名字/wiki/"),n(i)]),t(")。")]),we,xe]),Ge]),ye])}const Ce=u(H,[["render",ze],["__file","build.html.vue"]]),Te=JSON.parse('{"path":"/contributing/build.html","title":"构建指南","lang":"zh-CN","frontmatter":{"title":"构建指南","icon":"build","date":"2023-07-21T11:08:04.000Z","updated":"2023-09-22T15:23:36.000Z","description":"构建指南 项目概览 本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。 目前仓库地址为...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/contributing/build.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"构建指南"}],["meta",{"property":"og:description","content":"构建指南 项目概览 本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。 目前仓库地址为..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-07-21T11:08:04.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"构建指南\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-07-21T11:08:04.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"项目概览","slug":"项目概览","link":"#项目概览","children":[]},{"level":2,"title":"环境配置","slug":"环境配置","link":"#环境配置","children":[{"level":3,"title":"所需软件安装","slug":"所需软件安装","link":"#所需软件安装","children":[]},{"level":3,"title":"克隆和复制仓库","slug":"克隆和复制仓库","link":"#克隆和复制仓库","children":[]},{"level":3,"title":"安装依赖","slug":"安装依赖","link":"#安装依赖","children":[]}]},{"level":2,"title":"修改文档","slug":"修改文档","link":"#修改文档","children":[]},{"level":2,"title":"Pull Request","slug":"pull-request","link":"#pull-request","children":[]},{"level":2,"title":"其他的脚本","slug":"其他的脚本","link":"#其他的脚本","children":[{"level":3,"title":"pnpm run docs:build","slug":"pnpm-run-docs-build","link":"#pnpm-run-docs-build","children":[]},{"level":3,"title":"pnpm run lint:md","slug":"pnpm-run-lint-md","link":"#pnpm-run-lint-md","children":[]}]}],"git":{"createdTime":1695222840000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":6}]},"readingTime":{"minutes":5.45,"words":1636},"filePathRelative":"contributing/build.md","localizedDate":"2023年7月21日","autoDesc":true,"excerpt":"\\n

    项目概览

    \\n

    本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。

    \\n

    目前仓库地址为 https://github.com/zotero-chinese/wiki/

    "}');export{Ce as comp,Te as data}; diff --git a/assets/c4Diagram-b947cdbb-BXDdkOoW.js b/assets/c4Diagram-b947cdbb-BXDdkOoW.js new file mode 100644 index 0000000000..8079b08d52 --- /dev/null +++ b/assets/c4Diagram-b947cdbb-BXDdkOoW.js @@ -0,0 +1,10 @@ +import{s as Ce,g as we,a as Oe,b as Te,c as Dt,d as ue,e as Re,f as wt,h as Nt,l as le,i as De,w as Se,j as Kt,k as oe,m as Pe}from"./mermaid.core-xpSMncQK.js";import{d as Me,g as Le}from"./svgDrawCommon-0ee1b4e9-BNVIMZiA.js";import"./app-pLjDz5vt.js";var Yt=function(){var e=function(bt,_,x,m){for(x=x||{},m=bt.length;m--;x[bt[m]]=_);return x},t=[1,24],a=[1,25],o=[1,26],l=[1,27],i=[1,28],s=[1,63],r=[1,64],n=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],E=[1,29],O=[1,30],R=[1,31],S=[1,32],L=[1,33],Y=[1,34],Q=[1,35],H=[1,36],q=[1,37],G=[1,38],K=[1,39],J=[1,40],Z=[1,41],$=[1,42],tt=[1,43],et=[1,44],it=[1,45],nt=[1,46],st=[1,47],at=[1,48],rt=[1,50],lt=[1,51],ot=[1,52],ct=[1,53],ht=[1,54],ut=[1,55],dt=[1,56],ft=[1,57],pt=[1,58],yt=[1,59],gt=[1,60],At=[14,42],Vt=[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],Ot=[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],v=[1,82],k=[1,83],A=[1,84],C=[1,85],w=[12,14,42],ne=[12,14,33,42],Pt=[12,14,33,42,76,77,79,80],mt=[12,33],zt=[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],Xt={trace:function(){},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:function(_,x,m,g,T,u,Tt){var y=u.length-1;switch(T){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(u[y-3]);break;case 19:g.setTitle(u[y].substring(6)),this.$=u[y].substring(6);break;case 20:g.setAccDescription(u[y].substring(15)),this.$=u[y].substring(15);break;case 21:this.$=u[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=u[y].trim(),g.setAccDescription(this.$);break;case 28:case 29:u[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 30:g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 31:u[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...u[y]),this.$=u[y];break;case 32:g.addDeploymentNode("node",...u[y]),this.$=u[y];break;case 33:g.addDeploymentNode("nodeL",...u[y]),this.$=u[y];break;case 34:g.addDeploymentNode("nodeR",...u[y]),this.$=u[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...u[y]),this.$=u[y];break;case 40:g.addPersonOrSystem("external_person",...u[y]),this.$=u[y];break;case 41:g.addPersonOrSystem("system",...u[y]),this.$=u[y];break;case 42:g.addPersonOrSystem("system_db",...u[y]),this.$=u[y];break;case 43:g.addPersonOrSystem("system_queue",...u[y]),this.$=u[y];break;case 44:g.addPersonOrSystem("external_system",...u[y]),this.$=u[y];break;case 45:g.addPersonOrSystem("external_system_db",...u[y]),this.$=u[y];break;case 46:g.addPersonOrSystem("external_system_queue",...u[y]),this.$=u[y];break;case 47:g.addContainer("container",...u[y]),this.$=u[y];break;case 48:g.addContainer("container_db",...u[y]),this.$=u[y];break;case 49:g.addContainer("container_queue",...u[y]),this.$=u[y];break;case 50:g.addContainer("external_container",...u[y]),this.$=u[y];break;case 51:g.addContainer("external_container_db",...u[y]),this.$=u[y];break;case 52:g.addContainer("external_container_queue",...u[y]),this.$=u[y];break;case 53:g.addComponent("component",...u[y]),this.$=u[y];break;case 54:g.addComponent("component_db",...u[y]),this.$=u[y];break;case 55:g.addComponent("component_queue",...u[y]),this.$=u[y];break;case 56:g.addComponent("external_component",...u[y]),this.$=u[y];break;case 57:g.addComponent("external_component_db",...u[y]),this.$=u[y];break;case 58:g.addComponent("external_component_queue",...u[y]),this.$=u[y];break;case 60:g.addRel("rel",...u[y]),this.$=u[y];break;case 61:g.addRel("birel",...u[y]),this.$=u[y];break;case 62:g.addRel("rel_u",...u[y]),this.$=u[y];break;case 63:g.addRel("rel_d",...u[y]),this.$=u[y];break;case 64:g.addRel("rel_l",...u[y]),this.$=u[y];break;case 65:g.addRel("rel_r",...u[y]),this.$=u[y];break;case 66:g.addRel("rel_b",...u[y]),this.$=u[y];break;case 67:u[y].splice(0,1),g.addRel("rel",...u[y]),this.$=u[y];break;case 68:g.updateElStyle("update_el_style",...u[y]),this.$=u[y];break;case 69:g.updateRelStyle("update_rel_style",...u[y]),this.$=u[y];break;case 70:g.updateLayoutConfig("update_layout_config",...u[y]),this.$=u[y];break;case 71:this.$=[u[y]];break;case 72:u[y].unshift(u[y-1]),this.$=u[y];break;case 73:case 75:this.$=u[y].trim();break;case 74:let Et={};Et[u[y-1].trim()]=u[y].trim(),this.$=Et;break;case 76:this.$="";break}},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:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:70,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:71,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:72,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:73,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{14:[1,74]},e(At,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(At,[2,14]),e(Vt,[2,16],{12:[1,76]}),e(At,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:v,77:k,79:A,80:C},{35:86,75:81,76:v,77:k,79:A,80:C},{35:87,75:81,76:v,77:k,79:A,80:C},{35:88,75:81,76:v,77:k,79:A,80:C},{35:89,75:81,76:v,77:k,79:A,80:C},{35:90,75:81,76:v,77:k,79:A,80:C},{35:91,75:81,76:v,77:k,79:A,80:C},{35:92,75:81,76:v,77:k,79:A,80:C},{35:93,75:81,76:v,77:k,79:A,80:C},{35:94,75:81,76:v,77:k,79:A,80:C},{35:95,75:81,76:v,77:k,79:A,80:C},{35:96,75:81,76:v,77:k,79:A,80:C},{35:97,75:81,76:v,77:k,79:A,80:C},{35:98,75:81,76:v,77:k,79:A,80:C},{35:99,75:81,76:v,77:k,79:A,80:C},{35:100,75:81,76:v,77:k,79:A,80:C},{35:101,75:81,76:v,77:k,79:A,80:C},{35:102,75:81,76:v,77:k,79:A,80:C},{35:103,75:81,76:v,77:k,79:A,80:C},{35:104,75:81,76:v,77:k,79:A,80:C},e(w,[2,59]),{35:105,75:81,76:v,77:k,79:A,80:C},{35:106,75:81,76:v,77:k,79:A,80:C},{35:107,75:81,76:v,77:k,79:A,80:C},{35:108,75:81,76:v,77:k,79:A,80:C},{35:109,75:81,76:v,77:k,79:A,80:C},{35:110,75:81,76:v,77:k,79:A,80:C},{35:111,75:81,76:v,77:k,79:A,80:C},{35:112,75:81,76:v,77:k,79:A,80:C},{35:113,75:81,76:v,77:k,79:A,80:C},{35:114,75:81,76:v,77:k,79:A,80:C},{35:115,75:81,76:v,77:k,79:A,80:C},{20:116,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{12:[1,118],33:[1,117]},{35:119,75:81,76:v,77:k,79:A,80:C},{35:120,75:81,76:v,77:k,79:A,80:C},{35:121,75:81,76:v,77:k,79:A,80:C},{35:122,75:81,76:v,77:k,79:A,80:C},{35:123,75:81,76:v,77:k,79:A,80:C},{35:124,75:81,76:v,77:k,79:A,80:C},{35:125,75:81,76:v,77:k,79:A,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(At,[2,15]),e(Vt,[2,17],{21:22,19:130,22:t,23:a,24:o,26:l,28:i}),e(At,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:a,24:o,26:l,28:i,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(Ot,[2,21]),e(Ot,[2,22]),e(w,[2,39]),e(ne,[2,71],{75:81,35:132,76:v,77:k,79:A,80:C}),e(Pt,[2,73]),{78:[1,133]},e(Pt,[2,75]),e(Pt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(mt,[2,28]),e(mt,[2,29]),e(mt,[2,30]),e(mt,[2,31]),e(mt,[2,32]),e(mt,[2,33]),e(mt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Vt,[2,18]),e(At,[2,38]),e(ne,[2,72]),e(Pt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(zt,[2,25]),e(zt,[2,26],{12:[1,138]}),e(zt,[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:function(_,x){if(x.recoverable)this.trace(_);else{var m=new Error(_);throw m.hash=x,m}},parse:function(_){var x=this,m=[0],g=[],T=[null],u=[],Tt=this.table,y="",Et=0,se=0,Ee=2,ae=1,ve=u.slice.call(arguments,1),D=Object.create(this.lexer),vt={yy:{}};for(var Qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qt)&&(vt.yy[Qt]=this.yy[Qt]);D.setInput(_,vt.yy),vt.yy.lexer=D,vt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Ht=D.yylloc;u.push(Ht);var ke=D.options&&D.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(){var X;return X=g.pop()||D.lex()||ae,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,kt,N,qt,Ct={},Mt,z,re,Lt;;){if(kt=m[m.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((M===null||typeof M>"u")&&(M=Ae()),N=Tt[kt]&&Tt[kt][M]),typeof N>"u"||!N.length||!N[0]){var Gt="";Lt=[];for(Mt in Tt[kt])this.terminals_[Mt]&&Mt>Ee&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Gt="Parse error on line "+(Et+1)+`: +`+D.showPosition()+` +Expecting `+Lt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Gt="Parse error on line "+(Et+1)+": Unexpected "+(M==ae?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Gt,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:Ht,expected:Lt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+M);switch(N[0]){case 1:m.push(M),T.push(D.yytext),u.push(D.yylloc),m.push(N[1]),M=null,se=D.yyleng,y=D.yytext,Et=D.yylineno,Ht=D.yylloc;break;case 2:if(z=this.productions_[N[1]][1],Ct.$=T[T.length-z],Ct._$={first_line:u[u.length-(z||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(z||1)].first_column,last_column:u[u.length-1].last_column},ke&&(Ct._$.range=[u[u.length-(z||1)].range[0],u[u.length-1].range[1]]),qt=this.performAction.apply(Ct,[y,se,Et,vt.yy,N[1],T,u].concat(ve)),typeof qt<"u")return qt;z&&(m=m.slice(0,-1*z*2),T=T.slice(0,-1*z),u=u.slice(0,-1*z)),m.push(this.productions_[N[1]][0]),T.push(Ct.$),u.push(Ct._$),re=Tt[m[m.length-2]][m[m.length-1]],m.push(re);break;case 3:return!0}}return!0}},me=function(){var bt={EOF:1,parseError:function(x,m){if(this.yy.parser)this.yy.parser.parseError(x,m);else throw new Error(x)},setInput:function(_,x){return this.yy=x||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},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var x=_.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),_},unput:function(_){var x=_.length,m=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=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),m.length-1&&(this.yylineno-=m.length-1);var T=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:m?(m.length===g.length?this.yylloc.first_column:0)+g[g.length-m.length].length-m[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),x=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+x+"^"},test_match:function(_,x){var m,g,T;if(this.options.backtrack_lexer&&(T={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&&(T.yylloc.range=this.yylloc.range.slice(0))),g=_[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.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],m=this.performAction.call(this,this.yy,this,x,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var u in T)this[u]=T[u];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,x,m,g;this._more||(this.yytext="",this.match="");for(var T=this._currentRules(),u=0;ux[0].length)){if(x=m,g=u,this.options.backtrack_lexer){if(_=this.test_match(m,T[u]),_!==!1)return _;if(this._backtrack){x=!1;continue}else return!1}else if(!this.options.flex)break}return x?(_=this.test_match(x,T[g]),_!==!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})},lex:function(){var x=this.next();return x||this.lex()},begin:function(x){this.conditionStack.push(x)},popState:function(){var x=this.conditionStack.length-1;return x>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(x){return x=this.conditionStack.length-1-Math.abs(x||0),x>=0?this.conditionStack[x]:"INITIAL"},pushState:function(x){this.begin(x)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(x,m,g,T){switch(g){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;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";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;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";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";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}},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 bt}();Xt.lexer=me;function Wt(){this.yy={}}return Wt.prototype=Xt,Xt.Parser=Wt,new Wt}();Yt.parser=Yt;const Ne=Yt;let U=[],_t=[""],P="global",j="",V=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],St=[],te="",ee=!1,It=4,jt=2;var de;const Be=function(){return de},Ye=function(e){de=ue(e,Dt())},Ie=function(e,t,a,o,l,i,s,r,n){if(e==null||t===void 0||t===null||a===void 0||a===null||o===void 0||o===null)return;let h={};const f=St.find(d=>d.from===t&&d.to===a);if(f?h=f:St.push(h),h.type=e,h.from=t,h.to=a,h.label={text:o},l==null)h.techn={text:""};else if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]={text:p}}else h.techn={text:l};if(i==null)h.descr={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.descr={text:i};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof r=="object"){let[d,p]=Object.entries(r)[0];h[d]=p}else h.tags=r;if(typeof n=="object"){let[d,p]=Object.entries(n)[0];h[d]=p}else h.link=n;h.wrap=xt()},je=function(e,t,a,o,l,i,s){if(t===null||a===null)return;let r={};const n=U.find(h=>h.alias===t);if(n&&t===n.alias?r=n:(r.alias=t,U.push(r)),a==null?r.label={text:""}:r.label={text:a},o==null)r.descr={text:""};else if(typeof o=="object"){let[h,f]=Object.entries(o)[0];r[h]={text:f}}else r.descr={text:o};if(typeof l=="object"){let[h,f]=Object.entries(l)[0];r[h]=f}else r.sprite=l;if(typeof i=="object"){let[h,f]=Object.entries(i)[0];r[h]=f}else r.tags=i;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];r[h]=f}else r.link=s;r.typeC4Shape={text:e},r.parentBoundary=P,r.wrap=xt()},Ue=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const h=U.find(f=>f.alias===t);if(h&&t===h.alias?n=h:(n.alias=t,U.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.techn={text:""};else if(typeof o=="object"){let[f,d]=Object.entries(o)[0];n[f]={text:d}}else n.techn={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[f,d]=Object.entries(l)[0];n[f]={text:d}}else n.descr={text:l};if(typeof i=="object"){let[f,d]=Object.entries(i)[0];n[f]=d}else n.sprite=i;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];n[f]=d}else n.tags=s;if(typeof r=="object"){let[f,d]=Object.entries(r)[0];n[f]=d}else n.link=r;n.wrap=xt(),n.typeC4Shape={text:e},n.parentBoundary=P},Fe=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const h=U.find(f=>f.alias===t);if(h&&t===h.alias?n=h:(n.alias=t,U.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.techn={text:""};else if(typeof o=="object"){let[f,d]=Object.entries(o)[0];n[f]={text:d}}else n.techn={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[f,d]=Object.entries(l)[0];n[f]={text:d}}else n.descr={text:l};if(typeof i=="object"){let[f,d]=Object.entries(i)[0];n[f]=d}else n.sprite=i;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];n[f]=d}else n.tags=s;if(typeof r=="object"){let[f,d]=Object.entries(r)[0];n[f]=d}else n.link=r;n.wrap=xt(),n.typeC4Shape={text:e},n.parentBoundary=P},Ve=function(e,t,a,o,l){if(e===null||t===null)return;let i={};const s=V.find(r=>r.alias===e);if(s&&e===s.alias?i=s:(i.alias=e,V.push(i)),t==null?i.label={text:""}:i.label={text:t},a==null)i.type={text:"system"};else if(typeof a=="object"){let[r,n]=Object.entries(a)[0];i[r]={text:n}}else i.type={text:a};if(typeof o=="object"){let[r,n]=Object.entries(o)[0];i[r]=n}else i.tags=o;if(typeof l=="object"){let[r,n]=Object.entries(l)[0];i[r]=n}else i.link=l;i.parentBoundary=P,i.wrap=xt(),j=P,P=e,_t.push(j)},ze=function(e,t,a,o,l){if(e===null||t===null)return;let i={};const s=V.find(r=>r.alias===e);if(s&&e===s.alias?i=s:(i.alias=e,V.push(i)),t==null?i.label={text:""}:i.label={text:t},a==null)i.type={text:"container"};else if(typeof a=="object"){let[r,n]=Object.entries(a)[0];i[r]={text:n}}else i.type={text:a};if(typeof o=="object"){let[r,n]=Object.entries(o)[0];i[r]=n}else i.tags=o;if(typeof l=="object"){let[r,n]=Object.entries(l)[0];i[r]=n}else i.link=l;i.parentBoundary=P,i.wrap=xt(),j=P,P=e,_t.push(j)},Xe=function(e,t,a,o,l,i,s,r){if(t===null||a===null)return;let n={};const h=V.find(f=>f.alias===t);if(h&&t===h.alias?n=h:(n.alias=t,V.push(n)),a==null?n.label={text:""}:n.label={text:a},o==null)n.type={text:"node"};else if(typeof o=="object"){let[f,d]=Object.entries(o)[0];n[f]={text:d}}else n.type={text:o};if(l==null)n.descr={text:""};else if(typeof l=="object"){let[f,d]=Object.entries(l)[0];n[f]={text:d}}else n.descr={text:l};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];n[f]=d}else n.tags=s;if(typeof r=="object"){let[f,d]=Object.entries(r)[0];n[f]=d}else n.link=r;n.nodeType=e,n.parentBoundary=P,n.wrap=xt(),j=P,P=t,_t.push(j)},We=function(){P=j,_t.pop(),j=_t.pop(),_t.push(j)},Qe=function(e,t,a,o,l,i,s,r,n,h,f){let d=U.find(p=>p.alias===t);if(!(d===void 0&&(d=V.find(p=>p.alias===t),d===void 0))){if(a!=null)if(typeof a=="object"){let[p,E]=Object.entries(a)[0];d[p]=E}else d.bgColor=a;if(o!=null)if(typeof o=="object"){let[p,E]=Object.entries(o)[0];d[p]=E}else d.fontColor=o;if(l!=null)if(typeof l=="object"){let[p,E]=Object.entries(l)[0];d[p]=E}else d.borderColor=l;if(i!=null)if(typeof i=="object"){let[p,E]=Object.entries(i)[0];d[p]=E}else d.shadowing=i;if(s!=null)if(typeof s=="object"){let[p,E]=Object.entries(s)[0];d[p]=E}else d.shape=s;if(r!=null)if(typeof r=="object"){let[p,E]=Object.entries(r)[0];d[p]=E}else d.sprite=r;if(n!=null)if(typeof n=="object"){let[p,E]=Object.entries(n)[0];d[p]=E}else d.techn=n;if(h!=null)if(typeof h=="object"){let[p,E]=Object.entries(h)[0];d[p]=E}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,E]=Object.entries(f)[0];d[p]=E}else d.legendSprite=f}},He=function(e,t,a,o,l,i,s){const r=St.find(n=>n.from===t&&n.to===a);if(r!==void 0){if(o!=null)if(typeof o=="object"){let[n,h]=Object.entries(o)[0];r[n]=h}else r.textColor=o;if(l!=null)if(typeof l=="object"){let[n,h]=Object.entries(l)[0];r[n]=h}else r.lineColor=l;if(i!=null)if(typeof i=="object"){let[n,h]=Object.entries(i)[0];r[n]=parseInt(h)}else r.offsetX=parseInt(i);if(s!=null)if(typeof s=="object"){let[n,h]=Object.entries(s)[0];r[n]=parseInt(h)}else r.offsetY=parseInt(s)}},qe=function(e,t,a){let o=It,l=jt;if(typeof t=="object"){const i=Object.values(t)[0];o=parseInt(i)}else o=parseInt(t);if(typeof a=="object"){const i=Object.values(a)[0];l=parseInt(i)}else l=parseInt(a);o>=1&&(It=o),l>=1&&(jt=l)},Ge=function(){return It},Ke=function(){return jt},Je=function(){return P},Ze=function(){return j},fe=function(e){return e==null?U:U.filter(t=>t.parentBoundary===e)},$e=function(e){return U.find(t=>t.alias===e)},t0=function(e){return Object.keys(fe(e))},e0=function(e){return e==null?V:V.filter(t=>t.parentBoundary===e)},i0=function(){return St},n0=function(){return te},s0=function(e){ee=e},xt=function(){return ee},a0=function(){U=[],V=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],j="",P="global",_t=[""],St=[],_t=[""],te="",ee=!1,It=4,jt=2},r0={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},l0={FILLED:0,OPEN:1},o0={LEFTOF:0,RIGHTOF:1,OVER:2},c0=function(e){te=ue(e,Dt())},Jt={addPersonOrSystem:je,addPersonOrSystemBoundary:Ve,addContainer:Ue,addContainerBoundary:ze,addComponent:Fe,addDeploymentNode:Xe,popBoundaryParseStack:We,addRel:Ie,updateElStyle:Qe,updateRelStyle:He,updateLayoutConfig:qe,autoWrap:xt,setWrap:s0,getC4ShapeArray:fe,getC4Shape:$e,getC4ShapeKeys:t0,getBoundarys:e0,getCurrentBoundaryParse:Je,getParentBoundaryParse:Ze,getRels:i0,getTitle:n0,getC4Type:Be,getC4ShapeInRow:Ge,getC4BoundaryInRow:Ke,setAccTitle:Ce,getAccTitle:we,getAccDescription:Oe,setAccDescription:Te,getConfig:()=>Dt().c4,clear:a0,LINETYPE:r0,ARROWTYPE:l0,PLACEMENT:o0,setTitle:c0,setC4Type:Ye},ie=function(e,t){return Me(e,t)},pe=function(e,t,a,o,l,i){const s=e.append("image");s.attr("width",t),s.attr("height",a),s.attr("x",o),s.attr("y",l);let r=i.startsWith("data:image/png;base64")?i:Pe.sanitizeUrl(i);s.attr("xlink:href",r)},h0=(e,t,a)=>{const o=e.append("g");let l=0;for(let i of t){let s=i.textColor?i.textColor:"#444444",r=i.lineColor?i.lineColor:"#444444",n=i.offsetX?parseInt(i.offsetX):0,h=i.offsetY?parseInt(i.offsetY):0,f="";if(l===0){let p=o.append("line");p.attr("x1",i.startPoint.x),p.attr("y1",i.startPoint.y),p.attr("x2",i.endPoint.x),p.attr("y2",i.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",r),p.style("fill","none"),i.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(i.type==="birel"||i.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),l=-1}else{let p=o.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",r).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",i.startPoint.x).replaceAll("starty",i.startPoint.y).replaceAll("controlx",i.startPoint.x+(i.endPoint.x-i.startPoint.x)/2-(i.endPoint.x-i.startPoint.x)/4).replaceAll("controly",i.startPoint.y+(i.endPoint.y-i.startPoint.y)/2).replaceAll("stopx",i.endPoint.x).replaceAll("stopy",i.endPoint.y)),i.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(i.type==="birel"||i.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=a.messageFont();W(a)(i.label.text,o,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+n,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+h,i.label.width,i.label.height,{fill:s},d),i.techn&&i.techn.text!==""&&(d=a.messageFont(),W(a)("["+i.techn.text+"]",o,Math.min(i.startPoint.x,i.endPoint.x)+Math.abs(i.endPoint.x-i.startPoint.x)/2+n,Math.min(i.startPoint.y,i.endPoint.y)+Math.abs(i.endPoint.y-i.startPoint.y)/2+a.messageFontSize+5+h,Math.max(i.label.width,i.techn.width),i.techn.height,{fill:s,"font-style":"italic"},d))}},u0=function(e,t,a){const o=e.append("g");let l=t.bgColor?t.bgColor:"none",i=t.borderColor?t.borderColor:"#444444",s=t.fontColor?t.fontColor:"black",r={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};t.nodeType&&(r={"stroke-width":1});let n={x:t.x,y:t.y,fill:l,stroke:i,width:t.width,height:t.height,rx:2.5,ry:2.5,attrs:r};ie(o,n);let h=a.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,W(a)(t.label.text,o,t.x,t.y+t.label.Y,t.width,t.height,{fill:"#444444"},h),t.type&&t.type.text!==""&&(h=a.boundaryFont(),h.fontColor=s,W(a)(t.type.text,o,t.x,t.y+t.type.Y,t.width,t.height,{fill:"#444444"},h)),t.descr&&t.descr.text!==""&&(h=a.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,W(a)(t.descr.text,o,t.x,t.y+t.descr.Y,t.width,t.height,{fill:"#444444"},h))},d0=function(e,t,a){var o;let l=t.bgColor?t.bgColor:a[t.typeC4Shape.text+"_bg_color"],i=t.borderColor?t.borderColor:a[t.typeC4Shape.text+"_border_color"],s=t.fontColor?t.fontColor:"#FFFFFF",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(t.typeC4Shape.text){case"person":r="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":r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const n=e.append("g");n.attr("class","person-man");const h=Le();switch(t.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":h.x=t.x,h.y=t.y,h.fill=l,h.width=t.width,h.height=t.height,h.stroke=i,h.rx=2.5,h.ry=2.5,h.attrs={"stroke-width":.5},ie(n,h);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":n.append("path").attr("fill",l).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",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2).replaceAll("height",t.height)),n.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",t.x).replaceAll("starty",t.y).replaceAll("half",t.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":n.append("path").attr("fill",l).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",t.x).replaceAll("starty",t.y).replaceAll("width",t.width).replaceAll("half",t.height/2)),n.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",t.x+t.width).replaceAll("starty",t.y).replaceAll("half",t.height/2));break}let f=E0(a,t.typeC4Shape.text);switch(n.append("text").attr("fill",s).attr("font-family",f.fontFamily).attr("font-size",f.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",t.typeC4Shape.width).attr("x",t.x+t.width/2-t.typeC4Shape.width/2).attr("y",t.y+t.typeC4Shape.Y).text("<<"+t.typeC4Shape.text+">>"),t.typeC4Shape.text){case"person":case"external_person":pe(n,48,48,t.x+t.width/2-24,t.y+t.image.Y,r);break}let d=a[t.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=s,W(a)(t.label.text,n,t.x,t.y+t.label.Y,t.width,t.height,{fill:s},d),d=a[t.typeC4Shape.text+"Font"](),d.fontColor=s,t.techn&&((o=t.techn)==null?void 0:o.text)!==""?W(a)(t.techn.text,n,t.x,t.y+t.techn.Y,t.width,t.height,{fill:s,"font-style":"italic"},d):t.type&&t.type.text!==""&&W(a)(t.type.text,n,t.x,t.y+t.type.Y,t.width,t.height,{fill:s,"font-style":"italic"},d),t.descr&&t.descr.text!==""&&(d=a.personFont(),d.fontColor=s,W(a)(t.descr.text,n,t.x,t.y+t.descr.Y,t.width,t.height,{fill:s},d)),t.height},f0=function(e){e.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")},p0=function(e){e.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")},y0=function(e){e.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")},g0=function(e){e.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")},b0=function(e){e.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")},_0=function(e){e.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")},x0=function(e){e.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)},m0=function(e){const a=e.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);a.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"),a.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")},E0=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),W=function(){function e(l,i,s,r,n,h,f){const d=i.append("text").attr("x",s+n/2).attr("y",r+h/2+5).style("text-anchor","middle").text(l);o(d,f)}function t(l,i,s,r,n,h,f,d){const{fontSize:p,fontFamily:E,fontWeight:O}=d,R=l.split(Kt.lineBreakRegex);for(let S=0;S=this.data.widthLimit||o>=this.data.widthLimit||this.nextData.cnt>ye)&&(a=this.nextData.startx+t.margin+b.nextLinePaddingX,l=this.nextData.stopy+t.margin*2,this.nextData.stopx=o=a+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=l+t.height,this.nextData.cnt=1),t.x=a,t.y=l,this.updateVal(this.data,"startx",a,Math.min),this.updateVal(this.data,"starty",l,Math.min),this.updateVal(this.data,"stopx",o,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",a,Math.min),this.updateVal(this.nextData,"starty",l,Math.min),this.updateVal(this.nextData,"stopx",o,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){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},$t(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}const $t=function(e){Re(b,e),e.fontFamily&&(b.personFontFamily=b.systemFontFamily=b.messageFontFamily=e.fontFamily),e.fontSize&&(b.personFontSize=b.systemFontSize=b.messageFontSize=e.fontSize),e.fontWeight&&(b.personFontWeight=b.systemFontWeight=b.messageFontWeight=e.fontWeight)},Rt=(e,t)=>({fontFamily:e[t+"FontFamily"],fontSize:e[t+"FontSize"],fontWeight:e[t+"FontWeight"]}),Bt=e=>({fontFamily:e.boundaryFontFamily,fontSize:e.boundaryFontSize,fontWeight:e.boundaryFontWeight}),v0=e=>({fontFamily:e.messageFontFamily,fontSize:e.messageFontSize,fontWeight:e.messageFontWeight});function I(e,t,a,o,l){if(!t[e].width)if(a)t[e].text=Se(t[e].text,l,o),t[e].textLines=t[e].text.split(Kt.lineBreakRegex).length,t[e].width=l,t[e].height=oe(t[e].text,o);else{let i=t[e].text.split(Kt.lineBreakRegex);t[e].textLines=i.length;let s=0;t[e].height=0,t[e].width=0;for(const r of i)t[e].width=Math.max(wt(r,o),t[e].width),s=oe(r,o),t[e].height=t[e].height+s}}const be=function(e,t,a){t.x=a.data.startx,t.y=a.data.starty,t.width=a.data.stopx-a.data.startx,t.height=a.data.stopy-a.data.starty,t.label.y=b.c4ShapeMargin-35;let o=t.wrap&&b.wrap,l=Bt(b);l.fontSize=l.fontSize+2,l.fontWeight="bold";let i=wt(t.label.text,l);I("label",t,o,l,i),F.drawBoundary(e,t,b)},_e=function(e,t,a,o){let l=0;for(const i of o){l=0;const s=a[i];let r=Rt(b,s.typeC4Shape.text);switch(r.fontSize=r.fontSize-2,s.typeC4Shape.width=wt("«"+s.typeC4Shape.text+"»",r),s.typeC4Shape.height=r.fontSize+2,s.typeC4Shape.Y=b.c4ShapePadding,l=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=l,l=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=l,l=s.image.Y+s.image.height);let n=s.wrap&&b.wrap,h=b.width-b.c4ShapePadding*2,f=Rt(b,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",I("label",s,n,f,h),s.label.Y=l+8,l=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let E=Rt(b,s.typeC4Shape.text);I("type",s,n,E,h),s.type.Y=l+5,l=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let E=Rt(b,s.techn.text);I("techn",s,n,E,h),s.techn.Y=l+5,l=s.techn.Y+s.techn.height}let d=l,p=s.label.width;if(s.descr&&s.descr.text!==""){let E=Rt(b,s.typeC4Shape.text);I("descr",s,n,E,h),s.descr.Y=l+20,l=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=l-s.descr.textLines*5}p=p+b.c4ShapePadding,s.width=Math.max(s.width||b.width,p,b.width),s.height=Math.max(s.height||b.height,d,b.height),s.margin=s.margin||b.c4ShapeMargin,e.insert(s),F.drawC4Shape(t,s,b)}e.bumpLastMargin(b.c4ShapeMargin)};class B{constructor(t,a){this.x=t,this.y=a}}let ce=function(e,t){let a=e.x,o=e.y,l=t.x,i=t.y,s=a+e.width/2,r=o+e.height/2,n=Math.abs(a-l),h=Math.abs(o-i),f=h/n,d=e.height/e.width,p=null;return o==i&&al?p=new B(a,r):a==l&&oi&&(p=new B(s,o)),a>l&&o=f?p=new B(a,r+f*e.width/2):p=new B(s-n/h*e.height/2,o+e.height):a=f?p=new B(a+e.width,r+f*e.width/2):p=new B(s+n/h*e.height/2,o+e.height):ai?d>=f?p=new B(a+e.width,r-f*e.width/2):p=new B(s+e.height/2*n/h,o):a>l&&o>i&&(d>=f?p=new B(a,r-e.width/2*f):p=new B(s-e.height/2*n/h,o)),p},k0=function(e,t){let a={x:0,y:0};a.x=t.x+t.width/2,a.y=t.y+t.height/2;let o=ce(e,a);a.x=e.x+e.width/2,a.y=e.y+e.height/2;let l=ce(t,a);return{startPoint:o,endPoint:l}};const A0=function(e,t,a,o){let l=0;for(let i of t){l=l+1;let s=i.wrap&&b.wrap,r=v0(b);o.db.getC4Type()==="C4Dynamic"&&(i.label.text=l+": "+i.label.text);let h=wt(i.label.text,r);I("label",i,s,r,h),i.techn&&i.techn.text!==""&&(h=wt(i.techn.text,r),I("techn",i,s,r,h)),i.descr&&i.descr.text!==""&&(h=wt(i.descr.text,r),I("descr",i,s,r,h));let f=a(i.from),d=a(i.to),p=k0(f,d);i.startPoint=p.startPoint,i.endPoint=p.endPoint}F.drawRels(e,t,b)};function xe(e,t,a,o,l){let i=new ge(l);i.data.widthLimit=a.data.widthLimit/Math.min(Zt,o.length);for(let[s,r]of o.entries()){let n=0;r.image={width:0,height:0,Y:0},r.sprite&&(r.image.width=48,r.image.height=48,r.image.Y=n,n=r.image.Y+r.image.height);let h=r.wrap&&b.wrap,f=Bt(b);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",I("label",r,h,f,i.data.widthLimit),r.label.Y=n+8,n=r.label.Y+r.label.height,r.type&&r.type.text!==""){r.type.text="["+r.type.text+"]";let O=Bt(b);I("type",r,h,O,i.data.widthLimit),r.type.Y=n+5,n=r.type.Y+r.type.height}if(r.descr&&r.descr.text!==""){let O=Bt(b);O.fontSize=O.fontSize-2,I("descr",r,h,O,i.data.widthLimit),r.descr.Y=n+20,n=r.descr.Y+r.descr.height}if(s==0||s%Zt===0){let O=a.data.startx+b.diagramMarginX,R=a.data.stopy+b.diagramMarginY+n;i.setData(O,O,R,R)}else{let O=i.data.stopx!==i.data.startx?i.data.stopx+b.diagramMarginX:i.data.startx,R=i.data.starty;i.setData(O,O,R,R)}i.name=r.alias;let d=l.db.getC4ShapeArray(r.alias),p=l.db.getC4ShapeKeys(r.alias);p.length>0&&_e(i,e,d,p),t=r.alias;let E=l.db.getBoundarys(t);E.length>0&&xe(e,t,i,E,l),r.alias!=="global"&&be(e,r,i),a.data.stopy=Math.max(i.data.stopy+b.c4ShapeMargin,a.data.stopy),a.data.stopx=Math.max(i.data.stopx+b.c4ShapeMargin,a.data.stopx),Ut=Math.max(Ut,a.data.stopx),Ft=Math.max(Ft,a.data.stopy)}}const C0=function(e,t,a,o){b=Dt().c4;const l=Dt().securityLevel;let i;l==="sandbox"&&(i=Nt("#i"+t));const s=l==="sandbox"?Nt(i.nodes()[0].contentDocument.body):Nt("body");let r=o.db;o.db.setWrap(b.wrap),ye=r.getC4ShapeInRow(),Zt=r.getC4BoundaryInRow(),le.debug(`C:${JSON.stringify(b,null,2)}`);const n=l==="sandbox"?s.select(`[id="${t}"]`):Nt(`[id="${t}"]`);F.insertComputerIcon(n),F.insertDatabaseIcon(n),F.insertClockIcon(n);let h=new ge(o);h.setData(b.diagramMarginX,b.diagramMarginX,b.diagramMarginY,b.diagramMarginY),h.data.widthLimit=screen.availWidth,Ut=b.diagramMarginX,Ft=b.diagramMarginY;const f=o.db.getTitle();let d=o.db.getBoundarys("");xe(n,"",h,d,o),F.insertArrowHead(n),F.insertArrowEnd(n),F.insertArrowCrossHead(n),F.insertArrowFilledHead(n),A0(n,o.db.getRels(),o.db.getC4Shape,o),h.data.stopx=Ut,h.data.stopy=Ft;const p=h.data;let O=p.stopy-p.starty+2*b.diagramMarginY;const S=p.stopx-p.startx+2*b.diagramMarginX;f&&n.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*b.diagramMarginX).attr("y",p.starty+b.diagramMarginY),De(n,O,S,b.useMaxWidth);const L=f?60:0;n.attr("viewBox",p.startx-b.diagramMarginX+" -"+(b.diagramMarginY+L)+" "+S+" "+(O+L)),le.debug("models:",p)},he={drawPersonOrSystemArray:_e,drawBoundary:be,setConf:$t,draw:C0},w0=e=>`.person { + stroke: ${e.personBorder}; + fill: ${e.personBkg}; + } +`,O0=w0,S0={parser:Ne,db:Jt,renderer:he,styles:O0,init:({c4:e,wrap:t})=>{he.setConf(e),Jt.setWrap(t)}};export{S0 as diagram}; diff --git a/assets/cd4a48155186f0307118c55deb327ed4_MD5-Bz7SkGqm.png b/assets/cd4a48155186f0307118c55deb327ed4_MD5-Bz7SkGqm.png new file mode 100644 index 0000000000..aa77f1a948 Binary files /dev/null and b/assets/cd4a48155186f0307118c55deb327ed4_MD5-Bz7SkGqm.png differ diff --git a/assets/channel-SX207SsG.js b/assets/channel-SX207SsG.js new file mode 100644 index 0000000000..cb1761d94c --- /dev/null +++ b/assets/channel-SX207SsG.js @@ -0,0 +1 @@ +import{al as o,am as n}from"./mermaid.core-xpSMncQK.js";const l=(a,r)=>o.lang.round(n.parse(a)[r]);export{l as c}; diff --git a/assets/citation-styles.html-DD-LImZG.js b/assets/citation-styles.html-DD-LImZG.js new file mode 100644 index 0000000000..09d036fdb2 --- /dev/null +++ b/assets/citation-styles.html-DD-LImZG.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as r,c as l,a as e,b as t,d as i,e as s}from"./app-pLjDz5vt.js";const c="/assets/image-zotero-引文格式管理-jiz3z4uy.png",p="/assets/image-zotero-获取更多引文格式-CgEDJ1UB.png",g="/assets/image-zotero-官方引文格式-DYOVe2mf.png",d="/assets/image-github下载引文格式-Fdxb9GLJ.png",h="/assets/image-确认安装引文格式-7rQjf4cA.png",m="/assets/image-安装引文格式-BV9yY2uh.png",u={},f=s('

    引文的样式

    Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用。

    官方引文格式下载

    1. 打开 Zotero 软件,选择“编辑—设置”,在弹出窗口中选择“引用”

      引文格式管理
      引文格式管理
    2. 若样式管理器中无符合的样式,可以通过“获取更多样式”,搜索期刊名,即可导入期刊要求的样式

      获取更多引文格式
      获取更多引文格式
      官方引文格式下载
      官方引文格式下载

    第三方引文格式

    ',5),_={href:"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl#readme",target:"_blank",rel:"noopener noreferrer"},y={href:"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl#readme",target:"_blank",rel:"noopener noreferrer"},C=e("figure",null,[e("img",{src:d,alt:"下载引文",tabindex:"0",loading:"lazy"}),e("figcaption",null,"下载引文")],-1),Z=e("div",{class:"hint-container warning"},[e("p",{class:"hint-container-title"},"注意"),e("p",null,[t("注意需要在 Zotero 处于启动状态时点击,可以直接安装。若 Zotero 没有弹出窗口,则右击 - 另存为,将其保存为 "),e("code",null,".csl"),t(" 文件,然后双击打开 CSL 文件。")])],-1),S={class:"hint-container tip"},b=e("p",{class:"hint-container-title"},"提示",-1),L={href:"https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-csl",target:"_blank",rel:"noopener noreferrer"},T=e("li",null,[e("p",null,"在弹出的窗口中点击“确定”后即可将想要的引文格式添加到 Zotero,供后续引用使用。"),e("figure",null,[e("img",{src:h,alt:"确认安装引文格式",tabindex:"0",loading:"lazy"}),e("figcaption",null,"确认安装引文格式")]),e("figure",null,[e("img",{src:m,alt:"安装引文格式",tabindex:"0",loading:"lazy"}),e("figcaption",null,"安装引文格式")])],-1);function x(z,k){const o=a("ExternalLinkIcon");return r(),l("div",null,[f,e("p",null,[t("如果上述引文格式不符合你的要求,可到"),e("a",_,[t("中文 CSL 样式"),i(o)]),t("下载更多 CSL 引文格式:")]),e("ol",null,[e("li",null,[e("p",null,[t("首先你需要在 "),e("a",y,[t("中文 CSL 样式"),i(o)]),t(" 页面上找到合适的 CSL 样式,并记住其名称,然后将引文格式下载下来:")]),C,Z,e("div",S,[b,e("p",null,[t("如果上面的网站无法打开,可以访问镜像站:"),e("a",L,[t("https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-csl"),i(o)])])])]),T])])}const N=n(u,[["render",x],["__file","citation-styles.html.vue"]]),v=JSON.parse('{"path":"/user-guide/citation-styles.html","title":"引文的样式","lang":"zh-CN","frontmatter":{"title":"引文的样式","icon":"format","date":"2023-06-28T21:17:47.000Z","updated":"2023-09-14T16:51:54.000Z","description":"引文的样式 Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/citation-styles.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"引文的样式"}],["meta",{"property":"og:description","content":"引文的样式 Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:17:47.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"引文的样式\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:17:47.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"官方引文格式下载","slug":"官方引文格式下载","link":"#官方引文格式下载","children":[]},{"level":2,"title":"第三方引文格式","slug":"第三方引文格式","link":"#第三方引文格式","children":[]}],"git":{"createdTime":1695169095000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":2}]},"readingTime":{"minutes":1.68,"words":505},"filePathRelative":"user-guide/citation-styles.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用。

    \\n

    官方引文格式下载

    \\n
      \\n
    1. \\n

      打开 Zotero 软件,选择“编辑—设置”,在弹出窗口中选择“引用”

      \\n
      引文格式管理
      \\n
    2. \\n
    3. \\n

      若样式管理器中无符合的样式,可以通过“获取更多样式”,搜索期刊名,即可导入期刊要求的样式

      \\n
      获取更多引文格式
      \\n
      官方引文格式下载
      \\n
    4. \\n
    "}');export{N as comp,v as data}; diff --git a/assets/classDiagram-35230388-DrjbHtsY.js b/assets/classDiagram-35230388-DrjbHtsY.js new file mode 100644 index 0000000000..c1a73a0122 --- /dev/null +++ b/assets/classDiagram-35230388-DrjbHtsY.js @@ -0,0 +1,2 @@ +import{p as A,d as S,s as G}from"./styles-6860f46c-CPEIQAq_.js";import{c as v,l as y,h as B,i as W,ao as $,y as M,ar as I}from"./mermaid.core-xpSMncQK.js";import{G as O}from"./graph-BVvHj2M5.js";import{l as P}from"./layout-Bq0hvzvr.js";import{l as X}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` +`);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},_=function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},N={getClassTitleString:C,drawClass:J,drawEdge:Y,drawNote:Z};let T={};const E=20,L=function(i){const a=Object.entries(T).find(t=>t[1].label===i);if(a)return a[0]},R=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").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"),i.append("defs").append("marker").attr("id","compositionEnd").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"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").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"),i.append("defs").append("marker").attr("id","aggregationEnd").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"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).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"),i.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 18,7 L9,13 L14,7 L9,1 Z")},F=function(i,a,t,o){const p=v().class;T={},y.info("Rendering diagram "+i);const g=v().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);R(n);const r=new O({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const f=o.db.getClasses(),h=Object.keys(f);for(const e of h){const d=f[e],l=N.drawClass(n,d,p,o);T[l.id]=l,r.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),r.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);const d=N.drawNote(n,e,p,o);T[d.id]=d,r.setNode(d.id,d),e.class&&e.class in f&&r.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),P(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),N.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const u=n.node().getBBox(),m=u.width+E*2,w=u.height+E*2;W(n,w,m,p.useMaxWidth);const k=`${u.x-E} ${u.y-E} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},U={draw:F},et={parser:A,db:S,renderer:U,styles:G,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{et as diagram}; diff --git a/assets/classDiagram-v2-412acd34-CgZ8xNdD.js b/assets/classDiagram-v2-412acd34-CgZ8xNdD.js new file mode 100644 index 0000000000..eb8db555e2 --- /dev/null +++ b/assets/classDiagram-v2-412acd34-CgZ8xNdD.js @@ -0,0 +1,2 @@ +import{p as M,d as _,s as R}from"./styles-6860f46c-CPEIQAq_.js";import{l as d,c,h as w,y as B,t as G,p as D,r as E,o as C,j as A}from"./mermaid.core-xpSMncQK.js";import{G as z}from"./graph-BVvHj2M5.js";import{r as P}from"./index-8fae9850-DHonaQ1z.js";import"./layout-Bq0hvzvr.js";import"./app-pLjDz5vt.js";import"./clone-BD0VJlG_.js";import"./edges-d417c7a0-5DZNYhL5.js";import"./createText-423428c9-Bj42WdLJ.js";import"./line-CQCn-Nwe.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const S=s=>A.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const q=function(s,t,y,a){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),$(l.classes,t,y,a,l.id),d.info("setNode",p)})},$=function(s,t,y,a,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const n=s[o],p=n.cssClasses.join(" "),f=D(n.styles),h=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(h),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,e)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(n.id,b),e&&t.setParent(n.id,e),d.info("setNode",b)})},F=function(s,t,y,a){d.info(s),s.forEach(function(e,i){var o,r;const l=e,n="",p={labelStyle:"",style:""},f=l.text,h=0,m={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:h,ry:h,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in a))return;const b=y+i,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,C)};t.setEdge(l.id,l.class,x,b)})},H=function(s,t){const y=c().flowchart;let a=0;s.forEach(function(e){var i;a++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:`id_${e.id1}_${e.id2}_${a}`,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:N(e.relation.type1),arrowTypeEnd:N(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,C)};if(d.info(o,e),e.style!==void 0){const r=D(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(A.lineBreakRegex,` +`),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,a)})},V=function(s){k={...k,...s}},W=async function(s,t,y,a){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new z({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=a.db.getNamespaces(),p=a.db.getClasses(),f=a.db.getRelations(),h=a.db.getNotes();d.info(f),q(n,l,t,a),$(p,l,t,a),H(f,l),F(h,l,f.length+1,p);let u;i==="sandbox"&&(u=w("#i"+t));const m=i==="sandbox"?w(u.nodes()[0].contentDocument.body):w("body"),b=m.select(`[id="${t}"]`),x=m.select("#"+t+" g");if(await P(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),B.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,a.db.getDiagramTitle()),G(l,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?u.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const g of I){const L=g.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),g.insertBefore(v,g.firstChild)}}};function N(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},se={parser:M,db:_,renderer:J,styles:R,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,_.clear()}};export{se as diagram}; diff --git a/assets/clone-BD0VJlG_.js b/assets/clone-BD0VJlG_.js new file mode 100644 index 0000000000..04c226e5a7 --- /dev/null +++ b/assets/clone-BD0VJlG_.js @@ -0,0 +1 @@ +import{a as r}from"./graph-BVvHj2M5.js";var a=4;function n(o){return r(o,a)}export{n as c}; diff --git a/assets/code_of_conduct.html-C1Uxu-VZ.js b/assets/code_of_conduct.html-C1Uxu-VZ.js new file mode 100644 index 0000000000..c71ad6b2c5 --- /dev/null +++ b/assets/code_of_conduct.html-C1Uxu-VZ.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as l,c as i,a as t,b as e,d as o,e as s}from"./app-pLjDz5vt.js";const c={},p=s('

    贡献者公约

    我们的承诺

    身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。

    我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。

    我们的准则

    有助于为我们的社区创造积极环境的行为例子包括但不限于:

    • 表现出对他人的同情和善意
    • 尊重不同的主张、观点和感受
    • 提出和大方接受建设性意见
    • 承担责任并向受我们错误影响的人道歉
    • 注重社区共同诉求,而非个人得失

    不当行为例子包括:

    • 使用情色化的语言或图像,及性引诱或挑逗
    • 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击
    • 公开或私下的骚扰行为
    • 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址
    • 其他有理由认定为违反职业操守的不当行为

    责任和权力

    社区领袖有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。

    社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。

    适用范围

    本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。

    代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。

    监督

    辱骂、骚扰或其他不可接受的行为可通过 ISSUE 向负责监督的社区领袖报告。
    所有投诉都将得到及时和公平的审查和调查。

    所有社区领袖都有义务尊重任何事件报告者的隐私和安全。

    处理方针

    社区领袖将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式:

    1. 纠正

    社区影响:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。

    处理意见:由社区领袖发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。

    2. 警告

    社区影响:单个或一系列违规行为。

    处理意见:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。

    3. 临时封禁

    社区影响: 严重违反社区准则,包括持续的不当行为。

    处理意见: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。

    4. 永久封禁

    社区影响:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。

    处理意见:永久禁止在社区内进行任何形式的公开互动。

    参见

    ',33),h={href:"https://www.contributor-covenant.org",target:"_blank",rel:"noopener noreferrer"},d={href:"https://www.contributor-covenant.org/version/2/1/code_of_conduct.html",target:"_blank",rel:"noopener noreferrer"},_={href:"https://github.com/mozilla/diversity",target:"_blank",rel:"noopener noreferrer"},u={href:"https://www.contributor-covenant.org/faq",target:"_blank",rel:"noopener noreferrer"},g=t("br",null,null,-1),m={href:"https://www.contributor-covenant.org/translations",target:"_blank",rel:"noopener noreferrer"};function f(b,v){const n=a("ExternalLinkIcon");return l(),i("div",null,[p,t("p",null,[e("本行为准则改编自 "),t("a",h,[e("Contributor Covenant"),o(n)]),e(" 2.1 版, 参见 "),t("a",d,[e("https://www.contributor-covenant.org/version/2/1/code_of_conduct.html"),o(n)]),e("。")]),t("p",null,[e("社区处理方针灵感来源于 "),t("a",_,[e("Mozilla's code of conduct enforcement ladder"),o(n)]),e("。")]),t("p",null,[e("有关本行为准则的常见问题的答案,参见 "),t("a",u,[e("https://www.contributor-covenant.org/faq"),o(n)]),e("。"),g,e(" 其他语言翻译参见 "),t("a",m,[e("https://www.contributor-covenant.org/translations"),o(n)]),e("。")])])}const x=r(c,[["render",f],["__file","code_of_conduct.html.vue"]]),y=JSON.parse('{"path":"/code_of_conduct.html","title":"贡献者公约","lang":"zh-CN","frontmatter":{"icon":"group","description":"贡献者公约 我们的承诺 身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。 我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。 我们的准则 有助于为我们的社区创造...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/code_of_conduct.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"贡献者公约"}],["meta",{"property":"og:description","content":"贡献者公约 我们的承诺 身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。 我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。 我们的准则 有助于为我们的社区创造..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-24T02:57:43.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2023-11-24T02:57:43.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"贡献者公约\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-24T02:57:43.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"我们的承诺","slug":"我们的承诺","link":"#我们的承诺","children":[]},{"level":2,"title":"我们的准则","slug":"我们的准则","link":"#我们的准则","children":[]},{"level":2,"title":"责任和权力","slug":"责任和权力","link":"#责任和权力","children":[]},{"level":2,"title":"适用范围","slug":"适用范围","link":"#适用范围","children":[]},{"level":2,"title":"监督","slug":"监督","link":"#监督","children":[]},{"level":2,"title":"处理方针","slug":"处理方针","link":"#处理方针","children":[{"level":3,"title":"1. 纠正","slug":"_1-纠正","link":"#_1-纠正","children":[]},{"level":3,"title":"2. 警告","slug":"_2-警告","link":"#_2-警告","children":[]},{"level":3,"title":"3. 临时封禁","slug":"_3-临时封禁","link":"#_3-临时封禁","children":[]},{"level":3,"title":"4. 永久封禁","slug":"_4-永久封禁","link":"#_4-永久封禁","children":[]}]},{"level":2,"title":"参见","slug":"参见","link":"#参见","children":[]}],"git":{"createdTime":1700794663000,"updatedTime":1700794663000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":3.72,"words":1115},"filePathRelative":"code_of_conduct.md","localizedDate":"2023年11月24日","autoDesc":true,"excerpt":"\\n

    我们的承诺

    \\n

    身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。

    \\n

    我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。

    \\n

    我们的准则

    \\n

    有助于为我们的社区创造积极环境的行为例子包括但不限于:

    \\n
      \\n
    • 表现出对他人的同情和善意
    • \\n
    • 尊重不同的主张、观点和感受
    • \\n
    • 提出和大方接受建设性意见
    • \\n
    • 承担责任并向受我们错误影响的人道歉
    • \\n
    • 注重社区共同诉求,而非个人得失
    • \\n
    "}');export{x as comp,y as data}; diff --git a/assets/contributing.html-OlXBYjAl.js b/assets/contributing.html-OlXBYjAl.js new file mode 100644 index 0000000000..01acd8fc0c --- /dev/null +++ b/assets/contributing.html-OlXBYjAl.js @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as c,c as h,a as e,b as t,d as n,w as i,e as s}from"./app-pLjDz5vt.js";const u={},p=s('

    贡献指南

    Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。

    文档维护的内容和主要方式

    文档的维护与更新主要包括几个方面:

    • 修正错别字、语句不通等
    • 修正文档中的错误或不清晰的描述
    • 调整章节结构,使文档条理更清晰
    • 增加示例、专题或入门教程

    参与文档的维护的主要方式:

    ',6),d={href:"https://github.com/zotero-chinese/wiki/issues",target:"_blank",rel:"noopener noreferrer"},_={href:"https://github.com/orgs/zotero-chinese/discussions",target:"_blank",rel:"noopener noreferrer"},m=e("li",null,"在网页底部评论区留言",-1),b=e("li",null,"修改文档源码并提交 Pull Request (不熟悉 Pull Request 的读者可以参考 Pull Request 流程)",-1),g=s('

    提交 / 参与议题 / 讨论

    读者可以在前述的几种途径参与讨论。

    读者需要一个 GitHub 账户才能提交发起或参与讨论。

    修改文档

    若只是对文档做简单的微调,比如修改简单的别字、语句不通或不清晰的描述等,可以直接通过 GitHub 在线修改并提交,参阅后文 简单修改

    ',5),f={class:"hint-container note"},k=e("p",{class:"hint-container-title"},"注",-1),v={href:"https://github.com/",target:"_blank",rel:"noopener noreferrer"},E=e("h3",{id:"简单修改",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#简单修改"},[e("span",null,"简单修改")])],-1),x=e("p",null,"在线修改",-1),P=e("p",null,"打开需要修改的文档网页,点击末尾左下角的 “在 GitHub 上编辑此页”,网页会自动跳转到 GitHub 编辑文档源码的页面。",-1),R=e("p",null,"如果提示需要 fork 才能继续则点击即可。",-1),Z=e("li",null,[e("p",null,"提交修改"),e("p",null,"修改完后,在下方的 “Commit changes” 中输入有关此次修改的标题和具体描述。输入一个简短的新分支名字。"),e("p",null,"点击 “Commit changes” 提交修改。")],-1),y=e("li",null,[e("p",null,"提交 PR"),e("p",null,"在 “Open a pull request” 页面中,输入此 PR 的标题和具体描述。点击 “Create pull request” 即可。"),e("p",null,"PR 提交后,CI 工具会自动对提交的 PR 生成一个预览链接并评论在 PR 中,可以在此预览修改的结果。"),e("p",null,"维护者将尽快审核这些修改。")],-1),C=e("h3",{id:"稍微大量修改",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#稍微大量修改"},[e("span",null,"稍微大量修改")])],-1),G=e("p",null,"例如你需要添加一篇文章,上传一些图片等,且对 Git 不甚了解,那么可以使用这种方式在线修改,这可以避免你下载很多软件。",-1),H=e("h3",{id:"大量修改",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#大量修改"},[e("span",null,"大量修改")])],-1),T=e("p",null,"如果你需要做较大量修改,例如增加几篇文章,或长期贡献/维护仓库,可以采用这种方式:完全本地修改,可以在本地预览修改的效果,修改后再推送到 GitHub。",-1),w=e("h3",{id:"注意事项",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#注意事项"},[e("span",null,"注意事项")])],-1),z=e("ul",null,[e("li",null,"Commit 的注释信息应该是描述性的"),e("li",null,"希望读者对审稿人/维护者的评论和意见保持开放的心态,并努力改进代码或文档"),e("li",null,"新的 PR 不一定会及时审核,取决于审稿人/维护者的当时的工作时间")],-1);function A(q,N){const o=r("ExternalLinkIcon"),l=r("RouteLink");return c(),h("div",null,[p,e("ol",null,[e("li",null,[t("在 GitHub 上的文档源码仓库下 "),e("a",d,[t("提交 ISSUE"),n(o)])]),e("li",null,[t("在 GitHub Zotero Chinese 组织的 "),e("a",_,[t("Discussions 上讨论"),n(o)]),t("(也可以直接点击文档网页底部的“参与讨论”)")]),m,b]),g,e("p",null,[t("若需要对文档做大量修改,可在经过讨论后,选择 "),n(l,{to:"/contributing/build.html"},{default:i(()=>[t("线下修改")]),_:1}),t("。")]),e("div",f,[k,e("p",null,[t("文档源码开源托管在 "),e("a",v,[t("GitHub"),n(o)]),t(" 上,因此读者需要一个 GitHub 账户才能提交 PR。")])]),E,e("ol",null,[e("li",null,[x,P,R,e("p",null,[t("编辑需要修改的地方,文档风格和 Markdown 语法请参阅 "),n(l,{to:"/contributing/markdown.html#%E6%96%87%E6%A1%A3%E8%AF%AD%E6%B3%95%E9%A3%8E%E6%A0%BC"},{default:i(()=>[t("文档风格指南 #Markdown 语法")]),_:1}),t("。")])]),Z,y]),C,G,e("p",null,[t("请参考 "),n(l,{to:"/contributing/vscode-dev.html"},{default:i(()=>[t("使用 vscode.dev 指南")]),_:1}),t("。")]),H,T,e("p",null,[t("请参考 "),n(l,{to:"/contributing/build.html"},{default:i(()=>[t("完全构建指南")]),_:1}),t("。")]),w,z])}const S=a(u,[["render",A],["__file","contributing.html.vue"]]),I=JSON.parse('{"path":"/contributing/contributing.html","title":"贡献指南","lang":"zh-CN","frontmatter":{"title":"贡献指南","icon":"build","date":"2023-07-20T23:05:53.000Z","updated":"2023-11-23T22:56:02.000Z","description":"贡献指南 Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。 文档维护的内容和主要方式 文档的维护与更新主要包括几个方面: 修正错别字、语句不通等 修正文档中的错误或不清晰的描述 调整章节结构,使文档条理更清晰 增加示例、专题或入门教程 等 参与文档的维护的主要方式: 在 GitHub 上的文档源码仓库下 ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/contributing/contributing.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"贡献指南"}],["meta",{"property":"og:description","content":"贡献指南 Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。 文档维护的内容和主要方式 文档的维护与更新主要包括几个方面: 修正错别字、语句不通等 修正文档中的错误或不清晰的描述 调整章节结构,使文档条理更清晰 增加示例、专题或入门教程 等 参与文档的维护的主要方式: 在 GitHub 上的文档源码仓库下 ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-24T02:13:03.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-07-20T23:05:53.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-24T02:13:03.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"贡献指南\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-07-20T23:05:53.000Z\\",\\"dateModified\\":\\"2023-11-24T02:13:03.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"文档维护的内容和主要方式","slug":"文档维护的内容和主要方式","link":"#文档维护的内容和主要方式","children":[]},{"level":2,"title":"提交 / 参与议题 / 讨论","slug":"提交-参与议题-讨论","link":"#提交-参与议题-讨论","children":[]},{"level":2,"title":"修改文档","slug":"修改文档","link":"#修改文档","children":[{"level":3,"title":"简单修改","slug":"简单修改","link":"#简单修改","children":[]},{"level":3,"title":"稍微大量修改","slug":"稍微大量修改","link":"#稍微大量修改","children":[]},{"level":3,"title":"大量修改","slug":"大量修改","link":"#大量修改","children":[]},{"level":3,"title":"注意事项","slug":"注意事项","link":"#注意事项","children":[]}]}],"git":{"createdTime":1695222840000,"updatedTime":1700791983000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":5}]},"readingTime":{"minutes":2.91,"words":874},"filePathRelative":"contributing/contributing.md","localizedDate":"2023年7月20日","autoDesc":true,"excerpt":"\\n

    Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。

    \\n

    文档维护的内容和主要方式

    \\n

    文档的维护与更新主要包括几个方面:

    \\n
      \\n
    • 修正错别字、语句不通等
    • \\n
    • 修正文档中的错误或不清晰的描述
    • \\n
    • 调整章节结构,使文档条理更清晰
    • \\n
    • 增加示例、专题或入门教程
    • \\n
    • \\n
    \\n

    参与文档的维护的主要方式:

    \\n
      \\n
    1. 在 GitHub 上的文档源码仓库下 提交 ISSUE
    2. \\n
    3. 在 GitHub Zotero Chinese 组织的 Discussions 上讨论(也可以直接点击文档网页底部的“参与讨论”)
    4. \\n
    5. 在网页底部评论区留言
    6. \\n
    7. 修改文档源码并提交 Pull Request (不熟悉 Pull Request 的读者可以参考 Pull Request 流程)
    8. \\n
    "}');export{S as comp,I as data}; diff --git a/assets/contributors.html-BWDnRlMm.js b/assets/contributors.html-BWDnRlMm.js new file mode 100644 index 0000000000..ba7c30a5d8 --- /dev/null +++ b/assets/contributors.html-BWDnRlMm.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c as a,a as e,b as o,d as r}from"./app-pLjDz5vt.js";const l={},c=e("h1",{id:"贡献者名单",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#贡献者名单"},[e("span",null,"贡献者名单")])],-1),h=e("p",null,"本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。",-1),d=e("h2",{id:"zotero-中文文档贡献者",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-中文文档贡献者"},[e("span",null,"Zotero 中文文档贡献者")])],-1),p={href:"https://github.com/zotero-chinese/wiki",target:"_blank",rel:"noopener noreferrer"},g=e("code",null,"zotero-chinese/wiki",-1),u={href:"https://github.com/zotero-chinese/wiki/graphs/contributors",target:"_blank",rel:"noopener noreferrer"},_=e("img",{src:"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/zotero-chinese_wiki.svg",alt:"Zotero 中文文档贡献者",tabindex:"0",loading:"lazy"},null,-1),m=e("figcaption",null,"Zotero 中文文档贡献者",-1),b=e("h2",{id:"zotero-中文插件商店贡献者",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-中文插件商店贡献者"},[e("span",null,"Zotero 中文插件商店贡献者")])],-1),z={href:"https://github.com/zotero-chinese/zotero-plugins",target:"_blank",rel:"noopener noreferrer"},f=e("code",null,"zotero-chinese/zotero-plugins",-1),Z={href:"https://github.com/zotero-chinese/zotero-plugins/graphs/contributors",target:"_blank",rel:"noopener noreferrer"},k=e("img",{src:"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/zotero-chinese_zotero-plugins.svg",alt:"Zotero 中文插件商店贡献者",tabindex:"0",loading:"lazy"},null,-1),v=e("figcaption",null,"Zotero 中文插件商店贡献者",-1),w=e("h2",{id:"zotero-中文-translator-贡献者",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-中文-translator-贡献者"},[e("span",null,"Zotero 中文 translator 贡献者")])],-1),y={href:"https://github.com/l0o0/translators_CN",target:"_blank",rel:"noopener noreferrer"},C=e("code",null,"l0o0/translators_CN",-1),x={href:"https://github.com/l0o0/translators_CN/graphs/contributors",target:"_blank",rel:"noopener noreferrer"},T=e("img",{src:"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/l0o0_translators_CN.svg",alt:"Zotero 中文 translator 贡献者",tabindex:"0",loading:"lazy"},null,-1),N=e("figcaption",null,"Zotero 中文 translator 贡献者",-1),S=e("h2",{id:"csl-中文仓库贡献者",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#csl-中文仓库贡献者"},[e("span",null,"CSL 中文仓库贡献者")])],-1),j={href:"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl",target:"_blank",rel:"noopener noreferrer"},B=e("code",null,"redleafnew/Chinese-STD-GB-T-7714-related-csl",-1),D={href:"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/graphs/contributors",target:"_blank",rel:"noopener noreferrer"},L=e("img",{src:"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/redleafnew_Chinese-STD-GB-T-7714-related-csl.svg",alt:"CSL 中文仓库贡献者",tabindex:"0",loading:"lazy"},null,-1),G=e("figcaption",null,"CSL 中文仓库贡献者",-1);function E(V,I){const t=i("ExternalLinkIcon");return s(),a("div",null,[c,h,d,e("p",null,[o("以下是 "),e("a",p,[g,r(t)]),o(" 仓库的贡献者们:")]),e("figure",null,[e("a",u,[_,r(t)]),m]),b,e("p",null,[o("以下是 "),e("a",z,[f,r(t)]),o(" 仓库的贡献者们:")]),e("figure",null,[e("a",Z,[k,r(t)]),v]),w,e("p",null,[o("以下是 "),e("a",y,[C,r(t)]),o(" 仓库的贡献者们:")]),e("figure",null,[e("a",x,[T,r(t)]),N]),S,e("p",null,[o("以下是 "),e("a",j,[B,r(t)]),o(" 仓库的贡献者们:")]),e("figure",null,[e("a",D,[L,r(t)]),G])])}const J=n(l,[["render",E],["__file","contributors.html.vue"]]),M=JSON.parse('{"path":"/contributors.html","title":"贡献者名单","lang":"zh-CN","frontmatter":{"icon":"group","description":"贡献者名单 本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。 Zotero 中文文档贡献者 以下是 zotero-chinese/wiki 仓库的贡献者们: Zotero 中文文档贡献者Zotero 中文文档贡献者 Zotero 中文插件商店贡献者 以下是 zotero...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/contributors.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"贡献者名单"}],["meta",{"property":"og:description","content":"贡献者名单 本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。 Zotero 中文文档贡献者 以下是 zotero-chinese/wiki 仓库的贡献者们: Zotero 中文文档贡献者Zotero 中文文档贡献者 Zotero 中文插件商店贡献者 以下是 zotero..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://contrib.rocks/image?repo=zotero-chinese/wiki"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:53:48.000Z"}],["meta",{"name":"twitter:card","content":"summary_large_image"}],["meta",{"name":"twitter:image:alt","content":"贡献者名单"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:53:48.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"贡献者名单\\",\\"image\\":[\\"https://contrib.rocks/image?repo=zotero-chinese/wiki\\",\\"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/zotero-chinese_wiki.svg\\",\\"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/zotero-chinese_zotero-plugins.svg\\",\\"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/l0o0_translators_CN.svg\\",\\"https://cdn.jsdelivr.net/gh/zotero-chinese/.github@main/.github-contributors/redleafnew_Chinese-STD-GB-T-7714-related-csl.svg\\"],\\"dateModified\\":\\"2024-02-02T05:53:48.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"Zotero 中文文档贡献者","slug":"zotero-中文文档贡献者","link":"#zotero-中文文档贡献者","children":[]},{"level":2,"title":"Zotero 中文插件商店贡献者","slug":"zotero-中文插件商店贡献者","link":"#zotero-中文插件商店贡献者","children":[]},{"level":2,"title":"Zotero 中文 translator 贡献者","slug":"zotero-中文-translator-贡献者","link":"#zotero-中文-translator-贡献者","children":[]},{"level":2,"title":"CSL 中文仓库贡献者","slug":"csl-中文仓库贡献者","link":"#csl-中文仓库贡献者","children":[]}],"git":{"createdTime":1695222840000,"updatedTime":1706853228000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":3}]},"readingTime":{"minutes":0.81,"words":242},"filePathRelative":"contributors.md","localizedDate":"2023年9月20日","autoDesc":true,"excerpt":"\\n

    本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。

    \\n

    Zotero 中文文档贡献者

    \\n

    以下是 zotero-chinese/wiki 仓库的贡献者们:

    \\n"}');export{J as comp,M as data}; diff --git a/assets/create-bibliographies-via-zbib.html-CDEbUla6.js b/assets/create-bibliographies-via-zbib.html-CDEbUla6.js new file mode 100644 index 0000000000..0d597227dc --- /dev/null +++ b/assets/create-bibliographies-via-zbib.html-CDEbUla6.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as n,c as p,a as e,b as t,d as i,e as s}from"./app-pLjDz5vt.js";const l="/assets/image-bib-首页-BdhVQVFK.png",b="/assets/image-bib-选择样式-j4dDVv2L.png",c="/assets/image-bib-复制结果-MSRUloWE.png",d={},h=e("h1",{id:"使用-zotero-bib-生成参考文献表",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#使用-zotero-bib-生成参考文献表"},[e("span",null,"使用 Zotero bib 生成参考文献表")])],-1),g=e("p",null,"Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。",-1),m={href:"https://zbib.org/",target:"_blank",rel:"noopener noreferrer"},_=e("div",{class:"hint-container warning"},[e("p",{class:"hint-container-title"},"注意"),e("p",null,"这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想导入这几篇文档到自己的库。")],-1),u=e("p",null,"使用:",-1),Z={href:"https://zbib.org/",target:"_blank",rel:"noopener noreferrer"},f=s('
  • 在下图输入框中输入需要引用的条目链接/识别符等,然后点击“Cite”

    zbib首页
    zbib首页
  • 该条条目将会显示如下引用信息,你可以在下图红框处选择样式。

    zbib选择样式
    zbib选择样式
  • 继续重复第 2 步可以添加多个条目

  • 已添加的条目将会存储在浏览器,下次打开网页仍然可以看到,直到你清除浏览器 Cookie 或手动删除。

  • 点击“Copy to Clipboard”可以将结果复制到粘贴板。

    zbib复制结果
    zbib复制结果
  • ',5);function z(y,v){const o=a("ExternalLinkIcon");return n(),p("div",null,[h,g,e("p",null,[t("地址:"),e("a",m,[t("https://zbib.org/"),i(o)])]),_,u,e("ol",null,[e("li",null,[e("p",null,[t("打开 "),e("a",Z,[t("https://zbib.org/"),i(o)])])]),f])])}const C=r(d,[["render",z],["__file","create-bibliographies-via-zbib.html.vue"]]),k=JSON.parse('{"path":"/user-guide/create-bibliographies-via-zbib.html","title":"使用 Zotero bib 生成参考文献表","lang":"zh-CN","frontmatter":{"title":"使用 Zotero bib 生成参考文献表","date":"2023-06-28T21:14:03.000Z","updated":"2023-10-07T20:08:24.000Z","description":"使用 Zotero bib 生成参考文献表 Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。 地址:https://zbib.org/ 注意 这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/create-bibliographies-via-zbib.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"使用 Zotero bib 生成参考文献表"}],["meta",{"property":"og:description","content":"使用 Zotero bib 生成参考文献表 Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。 地址:https://zbib.org/ 注意 这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-17T08:35:05.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:14:03.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-17T08:35:05.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"使用 Zotero bib 生成参考文献表\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:14:03.000Z\\",\\"dateModified\\":\\"2024-02-17T08:35:05.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1696681692000,"updatedTime":1708158905000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":1.05,"words":316},"filePathRelative":"user-guide/create-bibliographies-via-zbib.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。

    \\n

    地址:https://zbib.org/

    \\n
    \\n

    注意

    \\n

    这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想导入这几篇文档到自己的库。

    \\n
    "}');export{C as comp,k as data}; diff --git a/assets/create-bibliographies-within-zotero.html-BOXAvOg0.js b/assets/create-bibliographies-within-zotero.html-BOXAvOg0.js new file mode 100644 index 0000000000..806ac5feda --- /dev/null +++ b/assets/create-bibliographies-within-zotero.html-BOXAvOg0.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as a,c as s,a as t,b as e,d as o,e as c}from"./app-pLjDz5vt.js";const p="/assets/image-zotero-选择参考文献-CVDXPxnh.png",l="/assets/image-zotero-创建参考文献表-CE1eIAEs.png",g="/assets/image-zotero-选择引文格式及输出方式-CMfTQhd1.png",d="/assets/image-粘贴参考文献表-D9ifj3pL.png",h={},m=c('

    直接生成参考文献表

    除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法:

    什么时候使用这种方法?

    • 分享文献引文
    • 需要在 PowerPoint 中添加参考文献表
    • 只是想用文章快速生成参考文献,不想使用 Word 插件
    1. 先选择需要引用的文献

      选择参考文献
      选择参考文献
    2. 右键,在菜单中选择 用所选条目创建参考文献表

      创建参考文献表
      创建参考文献表
    3. 接着根据自己的需要选择需要的 参考文献格式 以及 输出方式

      选择引文格式及输出方式
      选择引文格式及输出方式
    4. 如果上一步输出方式选择复制到剪贴板中,此时上述文献的参考文献表就已经复制好了,在任意位置粘贴即可看到。

      相关信息

      注意:参考文献表的顺序 与 第一步中选择文献的顺序有关

      粘贴参考文献表
      粘贴参考文献表
    ',4),u={class:"hint-container tip"},f=t("p",{class:"hint-container-title"},"插件推荐",-1),_={href:"https://github.com/wshanks/Zutilo",target:"_blank",rel:"noopener noreferrer"},b=t("br",null,null,-1),y={href:"https://github.com/windingwind/zotero-actions-tags/discussions",target:"_blank",rel:"noopener noreferrer"};function Z(z,w){const i=r("ExternalLinkIcon");return a(),s("div",null,[m,t("div",u,[f,t("p",null,[t("a",_,[e("Zutilo"),o(i)]),e(" 插件(仅适配 Zotero 6,2023.10.7)提供了生成参考文献表的快捷键。"),b,t("a",y,[e("Zotero Actions & Tags"),o(i)]),e(" 插件(仅适配 Zotero 7,2023.10.7)配合自定义脚本也可以添加生成参考文献表的快捷键。")])])])}const T=n(h,[["render",Z],["__file","create-bibliographies-within-zotero.html.vue"]]),P=JSON.parse('{"path":"/user-guide/create-bibliographies-within-zotero.html","title":"直接生成参考文献表","lang":"zh-CN","frontmatter":{"date":"2023-06-28T21:16:47.000Z","icon":"copy","updated":"2023-09-19T21:17:52.000Z","title":"直接生成参考文献表","description":"直接生成参考文献表 除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法: 什么时候使用这种方法? 分享文献引文 需要在 PowerPoint 中添加参考文献表 只是想用文章快速生成参考文献,不想使用 Word 插件 先选择需要引用的文献 选择参考文献选择参考文献 右键,在菜单中选择 用所选条目创建参考文献表 创建参考文献...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/create-bibliographies-within-zotero.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"直接生成参考文献表"}],["meta",{"property":"og:description","content":"直接生成参考文献表 除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法: 什么时候使用这种方法? 分享文献引文 需要在 PowerPoint 中添加参考文献表 只是想用文章快速生成参考文献,不想使用 Word 插件 先选择需要引用的文献 选择参考文献选择参考文献 右键,在菜单中选择 用所选条目创建参考文献表 创建参考文献..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:16:47.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"直接生成参考文献表\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:16:47.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695169095000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":1.31,"words":393},"filePathRelative":"user-guide/create-bibliographies-within-zotero.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法:

    \\n
    \\n

    什么时候使用这种方法?

    \\n
      \\n
    • 分享文献引文
    • \\n
    • 需要在 PowerPoint 中添加参考文献表
    • \\n
    • 只是想用文章快速生成参考文献,不想使用 Word 插件
    • \\n
    \\n
    \\n
      \\n
    1. \\n

      先选择需要引用的文献

      \\n
      选择参考文献
      \\n
    2. \\n
    3. \\n

      右键,在菜单中选择 用所选条目创建参考文献表

      \\n
      创建参考文献表
      \\n
    4. \\n
    5. \\n

      接着根据自己的需要选择需要的 参考文献格式 以及 输出方式

      \\n
      选择引文格式及输出方式
      \\n
    6. \\n
    7. \\n

      如果上一步输出方式选择复制到剪贴板中,此时上述文献的参考文献表就已经复制好了,在任意位置粘贴即可看到。

      \\n
      \\n

      相关信息

      \\n

      注意:参考文献表的顺序 与 第一步中选择文献的顺序有关

      \\n
      \\n
      粘贴参考文献表
      \\n
    8. \\n
    "}');export{T as comp,P as data}; diff --git a/assets/createText-423428c9-Bj42WdLJ.js b/assets/createText-423428c9-Bj42WdLJ.js new file mode 100644 index 0000000000..2ecb7ca9cf --- /dev/null +++ b/assets/createText-423428c9-Bj42WdLJ.js @@ -0,0 +1,7 @@ +import{l as At,an as zt,ap as It}from"./mermaid.core-xpSMncQK.js";const Tt={};function Bt(n,r){const t=r||Tt,e=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,u=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return et(n,e,u)}function et(n,r,t){if(Lt(n)){if("value"in n)return n.type==="html"&&!t?"":n.value;if(r&&"alt"in n&&n.alt)return n.alt;if("children"in n)return Vn(n.children,r,t)}return Array.isArray(n)?Vn(n,r,t):""}function Vn(n,r,t){const e=[];let u=-1;for(;++uu?0:u+r:r=r>u?u:r,t=t>0?t:0,e.length<1e4)l=Array.from(e),l.unshift(r,t),n.splice(...l);else for(t&&n.splice(r,t);i0?(tn(n,n.length,0,r),n):r}const Wn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tl))return;const T=r.events.length;let H=T,N,V;for(;H--;)if(r.events[H][0]==="exit"&&r.events[H][1].type==="chunkFlow"){if(N){V=r.events[H][1].end;break}N=!0}for(b(e),k=T;kF;){const _=t[D];r.containerState=_[1],_[0].exit.call(r,n)}t.length=F}function j(){u.write([null]),i=void 0,u=void 0,r.containerState._closeFlow=void 0}}function Ut(n,r,t){return O(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Un(n){if(n===null||Z(n)||Ht(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let u=-1;for(;++u1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const f=Object.assign({},n[e][1].end),x=Object.assign({},n[t][1].start);$n(f,-m),$n(x,m),l={type:m>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},n[e][1].end)},a={type:m>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:x},i={type:m>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},u={type:m>1?"strong":"emphasis",start:Object.assign({},l.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},l.start),n[t][1].start=Object.assign({},a.end),c=[],n[e][1].end.offset-n[e][1].start.offset&&(c=Y(c,[["enter",n[e][1],r],["exit",n[e][1],r]])),c=Y(c,[["enter",u,r],["enter",l,r],["exit",l,r],["enter",i,r]]),c=Y(c,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),c=Y(c,[["exit",i,r],["enter",a,r],["exit",a,r],["exit",u,r]]),n[t][1].end.offset-n[t][1].start.offset?(p=2,c=Y(c,[["enter",n[t][1],r],["exit",n[t][1],r]])):p=0,tn(n,e-1,t-e+3,c),t=e+c.length-p-2;break}}for(t=-1;++t0&&z(k)?O(n,j,"linePrefix",i+1)(k):j(k)}function j(k){return k===null||C(k)?n.check(Yn,I,D)(k):(n.enter("codeFlowValue"),F(k))}function F(k){return k===null||C(k)?(n.exit("codeFlowValue"),j(k)):(n.consume(k),F)}function D(k){return n.exit("codeFenced"),r(k)}function _(k,T,H){let N=0;return V;function V(w){return k.enter("lineEnding"),k.consume(w),k.exit("lineEnding"),y}function y(w){return k.enter("codeFencedFence"),z(w)?O(k,S,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):S(w)}function S(w){return w===a?(k.enter("codeFencedFenceSequence"),P(w)):H(w)}function P(w){return w===a?(N++,k.consume(w),P):N>=l?(k.exit("codeFencedFenceSequence"),z(w)?O(k,R,"whitespace")(w):R(w)):H(w)}function R(w){return w===null||C(w)?(k.exit("codeFencedFence"),T(w)):H(w)}}}function re(n,r,t){const e=this;return u;function u(l){return l===null?t(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}const Cn={name:"codeIndented",tokenize:ue},ie={tokenize:le,partial:!0};function ue(n,r,t){const e=this;return u;function u(c){return n.enter("codeIndented"),O(n,i,"linePrefix",5)(c)}function i(c){const p=e.events[e.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?l(c):t(c)}function l(c){return c===null?m(c):C(c)?n.attempt(ie,l,m)(c):(n.enter("codeFlowValue"),a(c))}function a(c){return c===null||C(c)?(n.exit("codeFlowValue"),l(c)):(n.consume(c),a)}function m(c){return n.exit("codeIndented"),r(c)}}function le(n,r,t){const e=this;return u;function u(l){return e.parser.lazy[e.now().line]?t(l):C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),u):O(n,i,"linePrefix",5)(l)}function i(l){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(l):C(l)?u(l):t(l)}}const ae={name:"codeText",tokenize:ce,resolve:oe,previous:se};function oe(n){let r=n.length-4,t=3,e,u;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(l):n.interrupt(e.parser.constructs.flow,t,r)(l)}}function at(n,r,t,e,u,i,l,a,m){const c=m||Number.POSITIVE_INFINITY;let p=0;return f;function f(b){return b===60?(n.enter(e),n.enter(u),n.enter(i),n.consume(b),n.exit(i),x):b===null||b===32||b===41||An(b)?t(b):(n.enter(e),n.enter(l),n.enter(a),n.enter("chunkString",{contentType:"string"}),I(b))}function x(b){return b===62?(n.enter(i),n.consume(b),n.exit(i),n.exit(u),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),h(b))}function h(b){return b===62?(n.exit("chunkString"),n.exit(a),x(b)):b===null||b===60||C(b)?t(b):(n.consume(b),b===92?A:h)}function A(b){return b===60||b===62||b===92?(n.consume(b),h):h(b)}function I(b){return!p&&(b===null||b===41||Z(b))?(n.exit("chunkString"),n.exit(a),n.exit(l),n.exit(e),r(b)):p999||h===null||h===91||h===93&&!m||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?t(h):h===93?(n.exit(i),n.enter(u),n.consume(h),n.exit(u),n.exit(e),r):C(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),p):(n.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||C(h)||a++>999?(n.exit("chunkString"),p(h)):(n.consume(h),m||(m=!z(h)),h===92?x:f)}function x(h){return h===91||h===92||h===93?(n.consume(h),a++,f):f(h)}}function st(n,r,t,e,u,i){let l;return a;function a(x){return x===34||x===39||x===40?(n.enter(e),n.enter(u),n.consume(x),n.exit(u),l=x===40?41:x,m):t(x)}function m(x){return x===l?(n.enter(u),n.consume(x),n.exit(u),n.exit(e),r):(n.enter(i),c(x))}function c(x){return x===l?(n.exit(i),m(l)):x===null?t(x):C(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),O(n,c,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===l||x===null||C(x)?(n.exit("chunkString"),c(x)):(n.consume(x),x===92?f:p)}function f(x){return x===l||x===92?(n.consume(x),p):p(x)}}function dn(n,r){let t;return e;function e(u){return C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),t=!0,e):z(u)?O(n,e,t?"linePrefix":"lineSuffix")(u):r(u)}}function xn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ke={name:"definition",tokenize:be},de={tokenize:ye,partial:!0};function be(n,r,t){const e=this;let u;return i;function i(h){return n.enter("definition"),l(h)}function l(h){return ot.call(e,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return u=xn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),h===58?(n.enter("definitionMarker"),n.consume(h),n.exit("definitionMarker"),m):t(h)}function m(h){return Z(h)?dn(n,c)(h):c(h)}function c(h){return at(n,p,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function p(h){return n.attempt(de,f,f)(h)}function f(h){return z(h)?O(n,x,"whitespace")(h):x(h)}function x(h){return h===null||C(h)?(n.exit("definition"),e.parser.defined.push(u),r(h)):t(h)}}function ye(n,r,t){return e;function e(a){return Z(a)?dn(n,u)(a):t(a)}function u(a){return st(n,i,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function i(a){return z(a)?O(n,l,"whitespace")(a):l(a)}function l(a){return a===null||C(a)?r(a):t(a)}}const Se={name:"hardBreakEscape",tokenize:Fe};function Fe(n,r,t){return e;function e(i){return n.enter("hardBreakEscape"),n.consume(i),u}function u(i){return C(i)?(n.exit("hardBreakEscape"),r(i)):t(i)}}const Ee={name:"headingAtx",tokenize:we,resolve:Ce};function Ce(n,r){let t=n.length-2,e=3,u,i;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(u={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},i={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},tn(n,e,t-e+1,[["enter",u,r],["enter",i,r],["exit",i,r],["exit",u,r]])),n}function we(n,r,t){let e=0;return u;function u(p){return n.enter("atxHeading"),i(p)}function i(p){return n.enter("atxHeadingSequence"),l(p)}function l(p){return p===35&&e++<6?(n.consume(p),l):p===null||Z(p)?(n.exit("atxHeadingSequence"),a(p)):t(p)}function a(p){return p===35?(n.enter("atxHeadingSequence"),m(p)):p===null||C(p)?(n.exit("atxHeading"),r(p)):z(p)?O(n,a,"whitespace")(p):(n.enter("atxHeadingText"),c(p))}function m(p){return p===35?(n.consume(p),m):(n.exit("atxHeadingSequence"),a(p))}function c(p){return p===null||p===35||Z(p)?(n.exit("atxHeadingText"),a(p)):(n.consume(p),c)}}const Ae=["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","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Jn=["pre","script","style","textarea"],ze={name:"htmlFlow",tokenize:Le,resolveTo:Be,concrete:!0},Ie={tokenize:De,partial:!0},Te={tokenize:Oe,partial:!0};function Be(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Le(n,r,t){const e=this;let u,i,l,a,m;return c;function c(s){return p(s)}function p(s){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(s),f}function f(s){return s===33?(n.consume(s),x):s===47?(n.consume(s),i=!0,I):s===63?(n.consume(s),u=3,e.interrupt?r:o):nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function x(s){return s===45?(n.consume(s),u=2,h):s===91?(n.consume(s),u=5,a=0,A):nn(s)?(n.consume(s),u=4,e.interrupt?r:o):t(s)}function h(s){return s===45?(n.consume(s),e.interrupt?r:o):t(s)}function A(s){const K="CDATA[";return s===K.charCodeAt(a++)?(n.consume(s),a===K.length?e.interrupt?r:S:A):t(s)}function I(s){return nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function M(s){if(s===null||s===47||s===62||Z(s)){const K=s===47,hn=l.toLowerCase();return!K&&!i&&Jn.includes(hn)?(u=1,e.interrupt?r(s):S(s)):Ae.includes(l.toLowerCase())?(u=6,K?(n.consume(s),b):e.interrupt?r(s):S(s)):(u=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(s):i?j(s):F(s))}return s===45||v(s)?(n.consume(s),l+=String.fromCharCode(s),M):t(s)}function b(s){return s===62?(n.consume(s),e.interrupt?r:S):t(s)}function j(s){return z(s)?(n.consume(s),j):V(s)}function F(s){return s===47?(n.consume(s),V):s===58||s===95||nn(s)?(n.consume(s),D):z(s)?(n.consume(s),F):V(s)}function D(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),D):_(s)}function _(s){return s===61?(n.consume(s),k):z(s)?(n.consume(s),_):F(s)}function k(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),m=s,T):z(s)?(n.consume(s),k):H(s)}function T(s){return s===m?(n.consume(s),m=null,N):s===null||C(s)?t(s):(n.consume(s),T)}function H(s){return s===null||s===34||s===39||s===47||s===60||s===61||s===62||s===96||Z(s)?_(s):(n.consume(s),H)}function N(s){return s===47||s===62||z(s)?F(s):t(s)}function V(s){return s===62?(n.consume(s),y):t(s)}function y(s){return s===null||C(s)?S(s):z(s)?(n.consume(s),y):t(s)}function S(s){return s===45&&u===2?(n.consume(s),U):s===60&&u===1?(n.consume(s),W):s===62&&u===4?(n.consume(s),J):s===63&&u===3?(n.consume(s),o):s===93&&u===5?(n.consume(s),en):C(s)&&(u===6||u===7)?(n.exit("htmlFlowData"),n.check(Ie,rn,P)(s)):s===null||C(s)?(n.exit("htmlFlowData"),P(s)):(n.consume(s),S)}function P(s){return n.check(Te,R,rn)(s)}function R(s){return n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),w}function w(s){return s===null||C(s)?P(s):(n.enter("htmlFlowData"),S(s))}function U(s){return s===45?(n.consume(s),o):S(s)}function W(s){return s===47?(n.consume(s),l="",G):S(s)}function G(s){if(s===62){const K=l.toLowerCase();return Jn.includes(K)?(n.consume(s),J):S(s)}return nn(s)&&l.length<8?(n.consume(s),l+=String.fromCharCode(s),G):S(s)}function en(s){return s===93?(n.consume(s),o):S(s)}function o(s){return s===62?(n.consume(s),J):s===45&&u===2?(n.consume(s),o):S(s)}function J(s){return s===null||C(s)?(n.exit("htmlFlowData"),rn(s)):(n.consume(s),J)}function rn(s){return n.exit("htmlFlow"),r(s)}}function Oe(n,r,t){const e=this;return u;function u(l){return C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i):t(l)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}function De(n,r,t){return e;function e(u){return n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),n.attempt(Sn,r,t)}}const Pe={name:"htmlText",tokenize:_e};function _e(n,r,t){const e=this;let u,i,l;return a;function a(o){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(o),m}function m(o){return o===33?(n.consume(o),c):o===47?(n.consume(o),_):o===63?(n.consume(o),F):nn(o)?(n.consume(o),H):t(o)}function c(o){return o===45?(n.consume(o),p):o===91?(n.consume(o),i=0,A):nn(o)?(n.consume(o),j):t(o)}function p(o){return o===45?(n.consume(o),h):t(o)}function f(o){return o===null?t(o):o===45?(n.consume(o),x):C(o)?(l=f,W(o)):(n.consume(o),f)}function x(o){return o===45?(n.consume(o),h):f(o)}function h(o){return o===62?U(o):o===45?x(o):f(o)}function A(o){const J="CDATA[";return o===J.charCodeAt(i++)?(n.consume(o),i===J.length?I:A):t(o)}function I(o){return o===null?t(o):o===93?(n.consume(o),M):C(o)?(l=I,W(o)):(n.consume(o),I)}function M(o){return o===93?(n.consume(o),b):I(o)}function b(o){return o===62?U(o):o===93?(n.consume(o),b):I(o)}function j(o){return o===null||o===62?U(o):C(o)?(l=j,W(o)):(n.consume(o),j)}function F(o){return o===null?t(o):o===63?(n.consume(o),D):C(o)?(l=F,W(o)):(n.consume(o),F)}function D(o){return o===62?U(o):F(o)}function _(o){return nn(o)?(n.consume(o),k):t(o)}function k(o){return o===45||v(o)?(n.consume(o),k):T(o)}function T(o){return C(o)?(l=T,W(o)):z(o)?(n.consume(o),T):U(o)}function H(o){return o===45||v(o)?(n.consume(o),H):o===47||o===62||Z(o)?N(o):t(o)}function N(o){return o===47?(n.consume(o),U):o===58||o===95||nn(o)?(n.consume(o),V):C(o)?(l=N,W(o)):z(o)?(n.consume(o),N):U(o)}function V(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),V):y(o)}function y(o){return o===61?(n.consume(o),S):C(o)?(l=y,W(o)):z(o)?(n.consume(o),y):N(o)}function S(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),u=o,P):C(o)?(l=S,W(o)):z(o)?(n.consume(o),S):(n.consume(o),R)}function P(o){return o===u?(n.consume(o),u=void 0,w):o===null?t(o):C(o)?(l=P,W(o)):(n.consume(o),P)}function R(o){return o===null||o===34||o===39||o===60||o===61||o===96?t(o):o===47||o===62||Z(o)?N(o):(n.consume(o),R)}function w(o){return o===47||o===62||Z(o)?N(o):t(o)}function U(o){return o===62?(n.consume(o),n.exit("htmlTextData"),n.exit("htmlText"),r):t(o)}function W(o){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),G}function G(o){return z(o)?O(n,en,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):en(o)}function en(o){return n.enter("htmlTextData"),l(o)}}const Dn={name:"labelEnd",tokenize:Ne,resolveTo:He,resolveAll:qe},Me={tokenize:Ve},je={tokenize:We},Re={tokenize:Qe};function qe(n){let r=-1;for(;++r=3&&(c===null||C(c))?(n.exit("thematicBreak"),r(c)):t(c)}function m(c){return c===u?(n.consume(c),e++,m):(n.exit("thematicBreakSequence"),z(c)?O(n,a,"whitespace")(c):a(c))}}const $={name:"list",tokenize:ve,continuation:{tokenize:nr},exit:er},Ke={tokenize:rr,partial:!0},Xe={tokenize:tr,partial:!0};function ve(n,r,t){const e=this,u=e.events[e.events.length-1];let i=u&&u[1].type==="linePrefix"?u[2].sliceSerialize(u[1],!0).length:0,l=0;return a;function a(h){const A=e.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(A==="listUnordered"?!e.containerState.marker||h===e.containerState.marker:zn(h)){if(e.containerState.type||(e.containerState.type=A,n.enter(A,{_container:!0})),A==="listUnordered")return n.enter("listItemPrefix"),h===42||h===45?n.check(bn,t,c)(h):c(h);if(!e.interrupt||h===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),m(h)}return t(h)}function m(h){return zn(h)&&++l<10?(n.consume(h),m):(!e.interrupt||l<2)&&(e.containerState.marker?h===e.containerState.marker:h===41||h===46)?(n.exit("listItemValue"),c(h)):t(h)}function c(h){return n.enter("listItemMarker"),n.consume(h),n.exit("listItemMarker"),e.containerState.marker=e.containerState.marker||h,n.check(Sn,e.interrupt?t:p,n.attempt(Ke,x,f))}function p(h){return e.containerState.initialBlankLine=!0,i++,x(h)}function f(h){return z(h)?(n.enter("listItemPrefixWhitespace"),n.consume(h),n.exit("listItemPrefixWhitespace"),x):t(h)}function x(h){return e.containerState.size=i+e.sliceSerialize(n.exit("listItemPrefix"),!0).length,r(h)}}function nr(n,r,t){const e=this;return e.containerState._closeFlow=void 0,n.check(Sn,u,i);function u(a){return e.containerState.furtherBlankLines=e.containerState.furtherBlankLines||e.containerState.initialBlankLine,O(n,r,"listItemIndent",e.containerState.size+1)(a)}function i(a){return e.containerState.furtherBlankLines||!z(a)?(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,l(a)):(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,n.attempt(Xe,r,l)(a))}function l(a){return e.containerState._closeFlow=!0,e.interrupt=void 0,O(n,n.attempt($,r,t),"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function tr(n,r,t){const e=this;return O(n,u,"listItemIndent",e.containerState.size+1);function u(i){const l=e.events[e.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===e.containerState.size?r(i):t(i)}}function er(n){n.exit(this.containerState.type)}function rr(n,r,t){const e=this;return O(n,u,"listItemPrefixWhitespace",e.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function u(i){const l=e.events[e.events.length-1];return!z(i)&&l&&l[1].type==="listItemPrefixWhitespace"?r(i):t(i)}}const Kn={name:"setextUnderline",tokenize:ur,resolveTo:ir};function ir(n,r){let t=n.length,e,u,i;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){e=t;break}n[t][1].type==="paragraph"&&(u=t)}else n[t][1].type==="content"&&n.splice(t,1),!i&&n[t][1].type==="definition"&&(i=t);const l={type:"setextHeading",start:Object.assign({},n[u][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[u][1].type="setextHeadingText",i?(n.splice(u,0,["enter",l,r]),n.splice(i+1,0,["exit",n[e][1],r]),n[e][1].end=Object.assign({},n[i][1].end)):n[e][1]=l,n.push(["exit",l,r]),n}function ur(n,r,t){const e=this;let u;return i;function i(c){let p=e.events.length,f;for(;p--;)if(e.events[p][1].type!=="lineEnding"&&e.events[p][1].type!=="linePrefix"&&e.events[p][1].type!=="content"){f=e.events[p][1].type==="paragraph";break}return!e.parser.lazy[e.now().line]&&(e.interrupt||f)?(n.enter("setextHeadingLine"),u=c,l(c)):t(c)}function l(c){return n.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===u?(n.consume(c),a):(n.exit("setextHeadingLineSequence"),z(c)?O(n,m,"lineSuffix")(c):m(c))}function m(c){return c===null||C(c)?(n.exit("setextHeadingLine"),r(c)):t(c)}}const lr={tokenize:ar};function ar(n){const r=this,t=n.attempt(Sn,e,n.attempt(this.parser.constructs.flowInitial,u,O(n,n.attempt(this.parser.constructs.flow,u,n.attempt(pe,u)),"linePrefix")));return t;function e(i){if(i===null){n.consume(i);return}return n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),r.currentConstruct=void 0,t}function u(i){if(i===null){n.consume(i);return}return n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),r.currentConstruct=void 0,t}}const or={resolveAll:ht()},sr=ct("string"),cr=ct("text");function ct(n){return{tokenize:r,resolveAll:ht(n==="text"?hr:void 0)};function r(t){const e=this,u=this.parser.constructs[n],i=t.attempt(u,l,a);return l;function l(p){return c(p)?i(p):a(p)}function a(p){if(p===null){t.consume(p);return}return t.enter("data"),t.consume(p),m}function m(p){return c(p)?(t.exit("data"),i(p)):(t.consume(p),m)}function c(p){if(p===null)return!0;const f=u[p];let x=-1;if(f)for(;++x-1){const a=l[0];typeof a=="string"?l[0]=a.slice(e):l.shift()}i>0&&l.push(n[u].slice(0,i))}return l}function mr(n,r){let t=-1;const e=[];let u;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const Ir=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Tr(n){return n.replace(Ir,Br)}function Br(n,r,t){if(r)return r;if(t.charCodeAt(0)===35){const u=t.charCodeAt(1),i=u===120||u===88;return pt(t.slice(i?2:1),i?16:10)}return On(t)||n}function yn(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?vn(n.position):"start"in n||"end"in n?vn(n):"line"in n||"column"in n?Tn(n):""}function Tn(n){return nt(n&&n.line)+":"+nt(n&&n.column)}function vn(n){return Tn(n&&n.start)+"-"+Tn(n&&n.end)}function nt(n){return n&&typeof n=="number"?n:1}const ft={}.hasOwnProperty,mt=function(n,r,t){return typeof r!="string"&&(t=r,r=void 0),Lr(t)(zr(wr(t).document().write(Ar()(n,r,!0))))};function Lr(n){const r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(Hn),autolinkProtocol:y,autolinkEmail:y,atxHeading:a(jn),blockQuote:a(Fn),characterEscape:y,characterReference:y,codeFenced:a(Mn),codeFencedFenceInfo:m,codeFencedFenceMeta:m,codeIndented:a(Mn,m),codeText:a(kt,m),codeTextData:y,data:y,codeFlowValue:y,definition:a(dt),definitionDestinationString:m,definitionLabelString:m,definitionTitleString:m,emphasis:a(bt),hardBreakEscape:a(Rn),hardBreakTrailing:a(Rn),htmlFlow:a(qn,m),htmlFlowData:y,htmlText:a(qn,m),htmlTextData:y,image:a(yt),label:m,link:a(Hn),listItem:a(St),listItemValue:A,listOrdered:a(Nn,h),listUnordered:a(Nn),paragraph:a(Ft),reference:hn,referenceString:m,resourceDestinationString:m,resourceTitleString:m,setextHeading:a(jn),strong:a(Et),thematicBreak:a(wt)},exit:{atxHeading:p(),atxHeadingSequence:T,autolink:p(),autolinkEmail:mn,autolinkProtocol:fn,blockQuote:p(),characterEscapeValue:S,characterReferenceMarkerHexadecimal:pn,characterReferenceMarkerNumeric:pn,characterReferenceValue:an,codeFenced:p(j),codeFencedFence:b,codeFencedFenceInfo:I,codeFencedFenceMeta:M,codeFlowValue:S,codeIndented:p(F),codeText:p(W),codeTextData:S,data:S,definition:p(),definitionDestinationString:k,definitionLabelString:D,definitionTitleString:_,emphasis:p(),hardBreakEscape:p(R),hardBreakTrailing:p(R),htmlFlow:p(w),htmlFlowData:S,htmlText:p(U),htmlTextData:S,image:p(en),label:J,labelText:o,lineEnding:P,link:p(G),listItem:p(),listOrdered:p(),listUnordered:p(),paragraph:p(),referenceString:Q,resourceDestinationString:rn,resourceTitleString:s,resource:K,setextHeading:p(V),setextHeadingLineSequence:N,setextHeadingText:H,strong:p(),thematicBreak:p()}};xt(r,(n||{}).mdastExtensions||[]);const t={};return e;function e(g){let d={type:"root",children:[]};const E={stack:[d],tokenStack:[],config:r,enter:c,exit:f,buffer:m,resume:x,setData:i,getData:l},B=[];let L=-1;for(;++L0){const X=E.tokenStack[E.tokenStack.length-1];(X[1]||tt).call(E,void 0,X[0])}for(d.position={start:sn(g.length>0?g[0][1].start:{line:1,column:1,offset:0}),end:sn(g.length>0?g[g.length-2][1].end:{line:1,column:1,offset:0})},L=-1;++L{p!==0&&(u++,e.push([])),c.split(" ").forEach(f=>{f&&e[u].push({content:f,type:a})})}):(l.type==="strong"||l.type==="emphasis")&&l.children.forEach(m=>{i(m,l.type)})}return t.forEach(l=>{l.type==="paragraph"&&l.children.forEach(a=>{i(a)})}),e}function _r(n){const{children:r}=mt(n);function t(e){return e.type==="text"?e.value.replace(/\n/g,"
    "):e.type==="strong"?`${e.children.map(t).join("")}`:e.type==="emphasis"?`${e.children.map(t).join("")}`:e.type==="paragraph"?`

    ${e.children.map(t).join("")}

    `:`Unsupported markdown: ${e.type}`}return r.map(t).join("")}function Mr(n){return Intl.Segmenter?[...new Intl.Segmenter().segment(n)].map(r=>r.segment):[...n]}function jr(n,r){const t=Mr(r.content);return gt(n,[],t,r.type)}function gt(n,r,t,e){if(t.length===0)return[{content:r.join(""),type:e},{content:"",type:e}];const[u,...i]=t,l=[...r,u];return n([{content:l.join(""),type:e}])?gt(n,l,i,e):(r.length===0&&u&&(r.push(u),t.shift()),[{content:r.join(""),type:e},{content:t.join(""),type:e}])}function Rr(n,r){if(n.some(({content:t})=>t.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bn(n,r)}function Bn(n,r,t=[],e=[]){if(n.length===0)return e.length>0&&t.push(e),t.length>0?t:[];let u="";n[0].content===" "&&(u=" ",n.shift());const i=n.shift()??{content:" ",type:"normal"},l=[...e];if(u!==""&&l.push({content:u,type:"normal"}),l.push(i),r(l))return Bn(n,r,t,l);if(e.length>0)t.push(e),n.unshift(i);else if(i.content){const[a,m]=jr(r,i);t.push([a]),m.content&&n.unshift(m)}return Bn(n,r,t)}function qr(n,r){r&&n.attr("style",r)}function Hr(n,r,t,e,u=!1){const i=n.append("foreignObject"),l=i.append("xhtml:div"),a=r.label,m=r.isNode?"nodeLabel":"edgeLabel";l.html(` + "+a+""),qr(l,r.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("max-width",t+"px"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),u&&l.attr("class","labelBkg");let c=l.node().getBoundingClientRect();return c.width===t&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",t+"px"),c=l.node().getBoundingClientRect()),i.style("width",c.width),i.style("height",c.height),i.node()}function Pn(n,r,t){return n.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",r*t-.1+"em").attr("dy",t+"em")}function Nr(n,r,t){const e=n.append("text"),u=Pn(e,1,r);_n(u,t);const i=u.node().getComputedTextLength();return e.remove(),i}function Qr(n,r,t){var e;const u=n.append("text"),i=Pn(u,1,r);_n(i,[{content:t,type:"normal"}]);const l=(e=i.node())==null?void 0:e.getBoundingClientRect();return l&&u.remove(),l}function Vr(n,r,t,e=!1){const i=r.append("g"),l=i.insert("rect").attr("class","background"),a=i.append("text").attr("y","-10.1");let m=0;for(const c of t){const p=x=>Nr(i,1.1,x)<=n,f=p(c)?[c]:Rr(c,p);for(const x of f){const h=Pn(a,m,1.1);_n(h,x),m++}}if(e){const c=a.node().getBBox(),p=2;return l.attr("x",-p).attr("y",-p).attr("width",c.width+2*p).attr("height",c.height+2*p),i.node()}else return a.node()}function _n(n,r){n.text(""),r.forEach((t,e)=>{const u=n.append("tspan").attr("font-style",t.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",t.type==="strong"?"bold":"normal");e===0?u.text(t.content):u.text(" "+t.content)})}const Ur=(n,r="",{style:t="",isTitle:e=!1,classes:u="",useHtmlLabels:i=!0,isNode:l=!0,width:a=200,addSvgBackground:m=!1}={})=>{if(At.info("createText",r,t,e,u,i,l,m),i){const c=_r(r),p={isNode:l,label:zt(c).replace(/fa[blrs]?:fa-[\w-]+/g,x=>``),labelStyle:t.replace("fill:","color:")};return Hr(n,p,a,u,m)}else{const c=Pr(r);return Vr(a,n,c,m)}};export{Qr as a,Ur as c}; diff --git a/assets/d566856af09a69bd03db196b1e3744cf_MD5-DF5YKksz.png b/assets/d566856af09a69bd03db196b1e3744cf_MD5-DF5YKksz.png new file mode 100644 index 0000000000..0843521755 Binary files /dev/null and b/assets/d566856af09a69bd03db196b1e3744cf_MD5-DF5YKksz.png differ diff --git a/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5-CbWF052w.png b/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5-CbWF052w.png new file mode 100644 index 0000000000..80c5bbdb19 Binary files /dev/null and b/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5-CbWF052w.png differ diff --git a/assets/d755599b6302d243d9938064d33f45a4_MD5-MeptlBbr.png b/assets/d755599b6302d243d9938064d33f45a4_MD5-MeptlBbr.png new file mode 100644 index 0000000000..b6f7728561 Binary files /dev/null and b/assets/d755599b6302d243d9938064d33f45a4_MD5-MeptlBbr.png differ diff --git a/assets/d8772b1c75f067c9322b337c5b6fe717_MD5-DtAnq5q2.png b/assets/d8772b1c75f067c9322b337c5b6fe717_MD5-DtAnq5q2.png new file mode 100644 index 0000000000..aff9f92af1 Binary files /dev/null and b/assets/d8772b1c75f067c9322b337c5b6fe717_MD5-DtAnq5q2.png differ diff --git a/assets/debug.html-Brz9cVG7.js b/assets/debug.html-Brz9cVG7.js new file mode 100644 index 0000000000..d390cab7a5 --- /dev/null +++ b/assets/debug.html-Brz9cVG7.js @@ -0,0 +1 @@ +import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as a,c as i,a as e,b as o,d as r,e as d}from"./app-pLjDz5vt.js";const l={},p=d('

    调试代码

    通过 Run JavaScript 调试

    菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。

    在左侧键入代码,点击运行即可在右侧看到输出。

    如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。

    通过 Zotero.debug 输出日志

    • 使用 Zotero.debug 输出到 菜单栏 -> 帮助 -> 输出日志排错 -> 查看输出文件
    • 使用 Zotero.log 输出到 菜单栏 -> 工具 -> 开发者 -> Error Console

    通过开发者工具

    ',8),s={href:"https://developer.mozilla.org/zh-CN/docs/Learn/Common_questions/What_are_browser_developer_tools",target:"_blank",rel:"noopener noreferrer"},u={class:"hint-container tip"},g=e("p",{class:"hint-container-title"},"远程调试依赖 beta 版本 Zotero",-1),h={href:"https://www.zotero.org/support/beta_builds",target:"_blank",rel:"noopener noreferrer"},m=d('

    截止至最后编辑日期,Zotero 底层基于 Firefox 102 ESR。

    1. 打开 Zotero Beta,打开 菜单栏 -> 编辑 -> 设置 -> 高级 -> 设置编辑器,搜索 debug 并将 devtools.debugger.remote-enabledevtools.debugger.remote-websocket 设置为 true

    2. 使用 --debugger 参数启动 Zotero。
      也可以将启动参数写入快捷方式。

    3. 在 FireFox 102 ESR 中,找到设置 -> 更多工具 -> 远程调试(或者浏览器中输入:about:debugging#/setup),找到网络位置,输入 localhost:6000,点击确定添加即可。

      提示

      端口与第一步打开的高级编辑器中 devtools.debugger.remote-port 一致。

    4. 选择 localhost:6000,然后点击进程中的多线程工具箱进行检查,可进入控制台、无障碍环境等进行调试

    ',2),b={class:"hint-container tip"},_=e("p",{class:"hint-container-title"},"Zotero 正在包含此功能",-1),v={href:"https://github.com/zotero/zotero/pull/3387",target:"_blank",rel:"noopener noreferrer"},f=e("div",{class:"hint-container tip"},[e("p",{class:"hint-container-title"},"模板用户无需手动配置"),e("p",null,[o("模板的启动脚本中已经进行了相关配置,部分实现了上述 PR 的功能,因此你无需再手动执行以上步骤,也不需要安装 Firefox,"),e("code",null,"npm start"),o(" 后即可打开开发者工具。")])],-1);function w(Z,y){const t=n("ExternalLinkIcon");return a(),i("div",null,[p,e("p",null,[o("如果你不熟悉开发者工具,可参看"),e("a",s,[o("什么是浏览器开发者工具? - 学习 Web 开发 | MDN"),r(t)])]),e("div",u,[g,e("p",null,[o("远程调试需要 "),e("a",h,[o("Zotero beta builds"),r(t)]),o(" 。Windows 开发者可下载 zip 版本,解压缩后即可使用,不会将正式版覆盖。")])]),m,e("div",b,[_,e("p",null,[o("Zotero 团队正在将开发者工具嵌入 Zotero,见 "),e("a",v,[o("PR #3387"),r(t)]),o(",此 PR 合并后即可直接从菜单呼出开发者工具,而无需安装 FireFox。")])]),f])}const R=c(l,[["render",w],["__file","debug.html.vue"]]),z=JSON.parse('{"path":"/plugin-dev-guide/development/debug.html","title":"调试代码","lang":"zh-CN","frontmatter":{"author":[{"name":"windingwind","url":"https://github.com/windingwind/"},{"name":"ShareStuff"},{"name":"northword","url":"https://github.com/northword/"}],"description":"调试代码 通过 Run JavaScript 调试 从 菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。 在左侧键入代码,点击运行即可在右侧看到输出。 如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。 通过 Zotero.debug 输出日志 使用 Zotero.debug 输出到 菜单栏...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/development/debug.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"调试代码"}],["meta",{"property":"og:description","content":"调试代码 通过 Run JavaScript 调试 从 菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。 在左侧键入代码,点击运行即可在右侧看到输出。 如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。 通过 Zotero.debug 输出日志 使用 Zotero.debug 输出到 菜单栏..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"windingwind"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"调试代码\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"windingwind\\",\\"url\\":\\"https://github.com/windingwind/\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"ShareStuff\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"northword\\",\\"url\\":\\"https://github.com/northword/\\"}]}"]]},"headers":[{"level":2,"title":"通过 Run JavaScript 调试","slug":"通过-run-javascript-调试","link":"#通过-run-javascript-调试","children":[]},{"level":2,"title":"通过 Zotero.debug 输出日志","slug":"通过-zotero-debug-输出日志","link":"#通过-zotero-debug-输出日志","children":[]},{"level":2,"title":"通过开发者工具","slug":"通过开发者工具","link":"#通过开发者工具","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":3}]},"readingTime":{"minutes":1.75,"words":524},"filePathRelative":"plugin-dev-guide/development/debug.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    通过 Run JavaScript 调试

    \\n

    菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。

    \\n

    在左侧键入代码,点击运行即可在右侧看到输出。

    \\n

    如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。

    \\n

    通过 Zotero.debug 输出日志

    \\n
      \\n
    • 使用 Zotero.debug 输出到 菜单栏 -> 帮助 -> 输出日志排错 -> 查看输出文件
    • \\n
    • 使用 Zotero.log 输出到 菜单栏 -> 工具 -> 开发者 -> Error Console
    • \\n
    "}');export{R as comp,z as data}; diff --git a/assets/df5d7f252fb711f5362abd06c293f8fd_MD5-C0KrQf79.png b/assets/df5d7f252fb711f5362abd06c293f8fd_MD5-C0KrQf79.png new file mode 100644 index 0000000000..d1693fcab1 Binary files /dev/null and b/assets/df5d7f252fb711f5362abd06c293f8fd_MD5-C0KrQf79.png differ diff --git a/assets/e05c956235f0b444099562d95e36a500_MD5-D-IH559B.png b/assets/e05c956235f0b444099562d95e36a500_MD5-D-IH559B.png new file mode 100644 index 0000000000..e004bb85b3 Binary files /dev/null and b/assets/e05c956235f0b444099562d95e36a500_MD5-D-IH559B.png differ diff --git a/assets/e2f9f84e616a8113ce86de71f95e6764_MD5-BLaiRj5Q.png b/assets/e2f9f84e616a8113ce86de71f95e6764_MD5-BLaiRj5Q.png new file mode 100644 index 0000000000..faea222744 Binary files /dev/null and b/assets/e2f9f84e616a8113ce86de71f95e6764_MD5-BLaiRj5Q.png differ diff --git a/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5-DcRS1rb9.png b/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5-DcRS1rb9.png new file mode 100644 index 0000000000..e39200874d Binary files /dev/null and b/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5-DcRS1rb9.png differ diff --git a/assets/easier-citation.html-CK9NuHE7.js b/assets/easier-citation.html-CK9NuHE7.js new file mode 100644 index 0000000000..7d41509a24 --- /dev/null +++ b/assets/easier-citation.html-CK9NuHE7.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as i,a as t}from"./app-pLjDz5vt.js";const r={},a=t("h1",{id:"easier-citation-for-zotero",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#easier-citation-for-zotero"},[t("span",null,"Easier Citation for Zotero")])],-1),n=t("div",{class:"hint-container note"},[t("p",{class:"hint-container-title"},"Todo")],-1),s=[a,n];function c(p,d){return o(),i("div",null,s)}const h=e(r,[["render",c],["__file","easier-citation.html.vue"]]),u=JSON.parse('{"path":"/user-guide/plugins/easier-citation.html","title":"Easier Citation for Zotero","lang":"zh-CN","frontmatter":{"description":"Easier Citation for Zotero Todo","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/easier-citation.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Easier Citation for Zotero"}],["meta",{"property":"og:description","content":"Easier Citation for Zotero Todo"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Easier Citation for Zotero\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.02,"words":6},"filePathRelative":"user-guide/plugins/easier-citation.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    Todo

    \\n
    \\n"}');export{h as comp,u as data}; diff --git a/assets/edges-d417c7a0-5DZNYhL5.js b/assets/edges-d417c7a0-5DZNYhL5.js new file mode 100644 index 0000000000..997d6a2a9d --- /dev/null +++ b/assets/edges-d417c7a0-5DZNYhL5.js @@ -0,0 +1,4 @@ +import{q as H,c as b,d as V,an as q,h as E,l as g,y as j,ao as lt}from"./mermaid.core-xpSMncQK.js";import{c as st}from"./createText-423428c9-Bj42WdLJ.js";import{l as ct}from"./line-CQCn-Nwe.js";const ht=(e,t,a,i)=>{t.forEach(l=>{wt[l](e,a,i)})},ot=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).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")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).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")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).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")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).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")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).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),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).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)},dt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).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"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).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")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).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"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).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")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).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"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).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")},bt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-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")},wt={extension:ot,composition:yt,aggregation:pt,dependency:ft,lollipop:xt,point:dt,circle:gt,cross:ut,barb:bt},hr=ht;function mt(e,t){t&&e.attr("style",t)}function kt(e){const t=E(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('"+i+""),mt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const vt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"
    "),g.debug("vertexText"+l);const r={isNode:i,label:q(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return kt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=vt,M=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=st(n,V(q(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(V(q(c),b()),t.labelStyle,!1,i));let y=h.getBBox();const f=t.padding/2;if(H(b().flowchart.htmlLabels)){const p=h.children[0],d=E(h),k=p.getElementsByTagName("img");if(k){const x=c.replace(/]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function B(){if(u.style.display="flex",u.style.flexDirection="column",x){const C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,D=parseInt(C,10)*5+"px";u.style.minWidth=D,u.style.maxWidth=D}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&B()}),u.addEventListener("error",B),u.addEventListener("load",B)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function Lt(e,t){return e.intersect(t)}function it(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x0}function Tt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),B=k.x-a.x,C=k.y-a.y,X=Math.sqrt(B*B+C*C);return S{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Et=Bt,w={node:Lt,circle:St,ellipse:it,polygon:Tt,rect:Et},Ct=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},$t=Ct,_t=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Rt=(e,t,a)=>{const i=_t(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},K=e=>e?" "+e:"",_=(e,t)=>`${t||"node default"}${K(e.classes)} ${K(e.class)}`,P=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");const c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},Ht=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Rt(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){const y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},Ut=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{const{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(Q(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function Q(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Gt=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");const o=s.node().appendChild(R(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(b().flowchart.htmlLabels)){const k=o.children[0],x=E(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);const y=n.slice(1,n.length);let f=o.getBBox();const p=s.node().appendChild(R(y.join?y.join("
    "):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){const k=p.children[0],x=E(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const d=t.padding/2;return E(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),E(o).attr("transform","translate( "+(h.width{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},Qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},Vt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Jt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},tt=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Kt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},Pt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,y=i;const f=s.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0));let u=x.getBBox();if(H(b().flowchart.htmlLabels)){const v=x.children[0],L=E(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");const B=f.node().appendChild(R(S,t.labelStyle,!0,!0));E(B).attr("class","classTitle");let C=B.getBBox();if(H(b().flowchart.htmlLabels)){const v=B.children[0],L=E(B);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,X.push(N)}),y+=l;const D=[];if(t.classData.methods.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,D.push(N)}),y+=l,d){let v=(h-u.width)/2;E(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let nt=(h-C.width)/2;return E(B).attr("transform","translate( "+(-1*h/2+nt)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,X.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,D.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},rt={rhombus:P,composite:zt,question:P,rect:Ut,labelRect:Zt,rectWithTitle:Gt,choice:Ht,circle:qt,doublecircle:Qt,stadium:Ft,hexagon:It,block_arrow:Nt,rect_left_inv_arrow:Ot,lean_right:Wt,lean_left:Xt,trapezoid:Yt,inv_trapezoid:Dt,rect_right_inv_arrow:At,cylinder:jt,start:Jt,end:Kt,note:$t,subroutine:Vt,fork:tt,join:tt,class_box:Pt};let Y={};const or=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await rt[t.shape](i,t,a)}else l=await rt[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),Y[t.id]=i,t.haveCallback&&Y[t.id].attr("class",Y[t.id].attr("class")+" clickable"),i},yr=(e,t)=>{Y[t.id]=e},pr=()=>{Y={}},fr=e=>{const t=Y[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},tr=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function U(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=Z(e),t=Z(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const Z=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,rr=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaX:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaX:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return Z(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaY:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaY:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return Z(t).y+l}}),ar=(e,t,a,i,l)=>{t.arrowTypeStart&&at(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&at(e,"end",t.arrowTypeEnd,a,i,l)},er={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},at=(e,t,a,i,l,r)=>{const s=er[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let G={},T={};const xr=()=>{G={},T={}},dr=(e,t)=>{const a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?st(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],o=E(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),G[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startLeft=o,z(n,t.startLabelLeft)}if(t.startLabelRight){const c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startRight=o,z(n,t.startLabelRight)}if(t.endLabelLeft){const c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endLeft=o,z(n,t.endLabelLeft)}if(t.endLabelRight){const c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endRight=o,z(n,t.endLabelRight)}return i};function z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const gr=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,G[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=b(),{subGraphTitleTotalMargin:l}=tr(i);if(e.label){const r=G[e.id];let s=e.x,n=e.y;if(a){const c=j.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=T[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=T[e.id].startRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=T[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=T[e.id].endRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},sr=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},ir=(e,t,a)=>{g.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(t)} + insidePoint : ${JSON.stringify(a)} + node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,l=e.y,r=Math.abs(i-a.x),s=e.width/2;let n=a.xMath.abs(i-t.x)*c){let y=a.y{g.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(r=>{if(!sr(t,r)&&!l){const s=ir(t,i,r);let n=!1;a.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),a.some(c=>c.x===s.x&&c.y===s.y)||a.push(s),l=!0}else i=r,l||a.push(r)}),a},ur=function(e,t,a,i,l,r,s){let n=a.points;g.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const o=r.node(t.v);var h=r.node(t.w);h!=null&&h.intersect&&(o!=null&&o.intersect)&&(n=n.slice(1,a.points.length-1),n.unshift(o.intersect(n[0])),n.push(h.intersect(n[n.length-1]))),a.toCluster&&(g.debug("to cluster abc88",i[a.toCluster]),n=et(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(g.debug("from cluster abc88",i[a.fromCluster]),n=et(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);const y=n.filter(C=>!Number.isNaN(C.y));let f=lt;a.curve&&(l==="graph"||l==="flowchart")&&(f=a.curve);const{x:p,y:d}=rr(a),k=ct().x(p).y(d).curve(f);let x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}const u=e.append("path").attr("d",k(y)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style);let S="";(b().flowchart.arrowMarkerAbsolute||b().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),ar(u,a,S,s,l);let B={};return c&&(B.updatedPath=n),B.originalPath=a.points,B};export{or as a,dr as b,ur as c,gr as d,pr as e,xr as f,tr as g,R as h,hr as i,Et as j,rr as k,M as l,ar as m,fr as p,yr as s,m as u}; diff --git a/assets/edit-items.html-DvD8sD1N.js b/assets/edit-items.html-DvD8sD1N.js new file mode 100644 index 0000000000..deea6c1550 --- /dev/null +++ b/assets/edit-items.html-DvD8sD1N.js @@ -0,0 +1,7 @@ +import{_ as l}from"./image-添加条目后信息窗格-QIW-yYVb.js";import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as d,c as h,a as t,d as n,w as s,b as e,e as i}from"./app-pLjDz5vt.js";const u={},g=t("h1",{id:"编辑条目",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#编辑条目"},[t("span",null,"编辑条目")])],-1),m=t("div",{class:"hint-container tip"},[t("p",{class:"hint-container-title"},"始终及时校准条目"),t("p",null,"使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。"),t("p",null,"Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。"),t("p",null,"我们应始终意识到这个问题,养成导入后随手校正的习惯。")],-1),_={id:"重复条目-中级",tabindex:"-1"},f={class:"header-anchor",href:"#重复条目-中级"},k={class:"hint-container note"},b=t("p",{class:"hint-container-title"},"Todo:待完善",-1),v={href:"https://www.zotero.org/support/duplicate_detection",target:"_blank",rel:"noopener noreferrer"},w=t("p",null,"由于各种原因,您可能会导入一些重复的项目。例如,您可能从同一网页保存同一项目多次,或者以前看的文献没印象了又新导入了一次。当你写论文插入参考文献时,重复条目会严重影响正确性,例如,你可能在不同地方引入同一文献的不同副本,而 Zotero 会认为它们是两个不同的文献。幸运的是,Zotero 可以帮助您识别可能的重复项并允许您合并它们。",-1),x={class:"hint-container tip"},Z=t("p",{class:"hint-container-title"},"插件推荐",-1),y={href:"https://github.com/northword/zotero-format-metadata",target:"_blank",rel:"noopener noreferrer"},z={href:"https://github.com/ChenglongMa/zoplicate",target:"_blank",rel:"noopener noreferrer"},E=i('

    条目字段

    从以上方法导入的数据并不一定是完全正确的,最好养成导入条目后随手校正的习惯。

    如下图所示,在中心窗格中选择一个条目后,右侧(标准视图)或下侧(堆栈视图)会显示该条目的书目信息。多数条目都可以直接单击进行编辑,更改自动保存。

    添加条目后信息窗格
    添加条目后信息窗格

    以下是一些比较特殊的字段,拿出来单独介绍:

    条目类型

    请尤其注意这一个选项,这直接决定在引用时,该条目以什么方式出现。且该项在通过浏览器导入时非常容易出错。

    最典型的错误就是将“期刊文章/学位论文”等识别为“网页”。这会导致部分引文格式后出现 [EB/OL] 等文献标识符。

    这时我们应该重新导入或手动更正。

    期刊缩写

    部分期刊要求使用“期刊标题的缩写”进行引用,Zotero 将“期刊名全称”和“期刊名缩写”分别保存在“期刊”和“期刊缩写”两个字段中。

    抓取时不一定能准确获得期刊缩写,写论文引用前最好校正一下。

    通常期刊缩写的差别多数在于加不加 .,例如“Applied Surface Science”可以缩写为“Appl Surf Sci”或“Appl. Surf. Sci.”。我们建议总是存储为加 . 的格式。因为去掉 . 总是比加上 . 更方便,在引用时,对于需要不加 . 的期刊就可以通过 CSL 直接去掉 .

    ',13),S={class:"hint-container tip"},C=t("p",{class:"hint-container-title"},"插件推荐",-1),B={href:"https://github.com/northword/zotero-format-metadata",target:"_blank",rel:"noopener noreferrer"},L={href:"https://plugins.zotero-chinese.com",target:"_blank",rel:"noopener noreferrer"},T=i(`

    标题

    标题中的上下标

    <sub>下标内容</sub>
    +<sup>上标内容</sup>
    +<i>斜体</i>
    +<b>粗体</b>
    +
    `,3),A={class:"hint-container tip"},N=t("p",{class:"hint-container-title"},"插件推荐",-1),M={href:"https://github.com/northword/zotero-format-metadata",target:"_blank",rel:"noopener noreferrer"},O={href:"https://plugins.zotero-chinese.com",target:"_blank",rel:"noopener noreferrer"},R=i(`

    标题的大小写

    我们建议您始终将标题以“句子大小写”的形式存储在 Zotero 库中,这有利于 CSL 进行格式转换。

    什么是“句子大小写”?

    - 标题大小写:Mechanism of Ce-Modified Birnessite-MnO<sub>2</sub> in Promoting SO<sub>2</sub> Poisoning Resistance for Low-Temperature NH<sub>3</sub>-SCR
    +- 句子大小写:Mechanism of Ce-Modified Birnessite-MnO<sub>2</sub> in promoting SO<sub>2</sub> poisoning resistance for low-temperature NH<sub>3</sub>-SCR
    +

    其他 extra

    所有其他自定义字段均应保存在“其他(extra)”字段,保存在该字段的数据应为若干个键值对,每行一个。CSL 引用时可以通过键来调用值。

    `,6);function D(I,P){const r=o("Badge"),a=o("ExternalLinkIcon"),p=o("RouteLink");return d(),h("div",null,[g,t("p",null,[n(r,{type:"tip"},{default:s(()=>[e("中级")]),_:1})]),m,t("h2",_,[t("a",f,[t("span",null,[e("重复条目 "),n(r,{type:"tip"},{default:s(()=>[e("中级")]),_:1})])])]),t("div",k,[b,t("p",null,[e("参考:"),t("a",v,[e("https://www.zotero.org/support/duplicate_detection"),n(a)])])]),w,t("div",x,[Z,t("p",null,[e("插件 "),t("a",y,[e("Linter for Zotero"),n(a)]),e(" 和 "),t("a",z,[e("Zopliacte"),n(a)]),e(" 提供了对新增条目提醒重复的功能。")])]),E,t("div",S,[C,t("p",null,[e("插件 "),t("a",B,[e("Linter for Zotero"),n(a)]),e(" 提供了自动获取期刊的 ISO 4 缩写的功能,可前往 "),t("a",L,[e("插件商店"),n(a)]),e("下载安装。")])]),T,t("p",null,[e("详细请参阅:"),n(p,{to:"/user-guide/faqs/word-addon.html#%E8%AE%BE%E7%BD%AE%E6%96%9C%E4%BD%93%E5%8F%8A%E4%B8%8A%E4%B8%8B%E6%A0%87%E7%AD%89"},{default:s(()=>[e("在 Word 参考文献表中实现斜体及上下标效果")]),_:1}),e("。")]),t("div",A,[N,t("p",null,[e("插件 "),t("a",M,[e("Linter for Zotero"),n(a)]),e(" 提供了辅助输入这些富文本标签的功能,可前往 "),t("a",O,[e("插件商店"),n(a)]),e("下载安装。")])]),R])}const q=c(u,[["render",D],["__file","edit-items.html.vue"]]),F=JSON.parse('{"path":"/user-guide/edit-items.html","title":"编辑条目","lang":"zh-CN","frontmatter":{"icon":"edit","description":"编辑条目 始终及时校准条目 使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。 Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。 我们应始终意识到这个问题,养成导入后随手校正的习惯。 重复条目 Todo:待完善 参考:https://www...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/edit-items.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"编辑条目"}],["meta",{"property":"og:description","content":"编辑条目 始终及时校准条目 使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。 Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。 我们应始终意识到这个问题,养成导入后随手校正的习惯。 重复条目 Todo:待完善 参考:https://www..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"编辑条目\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"重复条目 中级","slug":"重复条目-中级","link":"#重复条目-中级","children":[]},{"level":2,"title":"条目字段","slug":"条目字段","link":"#条目字段","children":[{"level":3,"title":"条目类型","slug":"条目类型","link":"#条目类型","children":[]},{"level":3,"title":"期刊缩写","slug":"期刊缩写","link":"#期刊缩写","children":[]},{"level":3,"title":"标题","slug":"标题","link":"#标题","children":[{"level":4,"title":"标题中的上下标","slug":"标题中的上下标","link":"#标题中的上下标","children":[]},{"level":4,"title":"标题的大小写","slug":"标题的大小写","link":"#标题的大小写","children":[]}]},{"level":3,"title":"其他 extra","slug":"其他-extra","link":"#其他-extra","children":[]}]}],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":3.5,"words":1050},"filePathRelative":"user-guide/edit-items.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    \\n
    \\n

    始终及时校准条目

    \\n

    使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。

    \\n

    Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。

    \\n

    我们应始终意识到这个问题,养成导入后随手校正的习惯。

    \\n
    \\n

    重复条目

    \\n
    \\n

    Todo:待完善

    \\n

    参考:https://www.zotero.org/support/duplicate_detection

    \\n
    "}');export{q as comp,F as data}; diff --git a/assets/endnote-export-CYOaIhel.png b/assets/endnote-export-CYOaIhel.png new file mode 100644 index 0000000000..4c5c1f94f2 Binary files /dev/null and b/assets/endnote-export-CYOaIhel.png differ diff --git a/assets/endnote-menu-DNMrSFIs.png b/assets/endnote-menu-DNMrSFIs.png new file mode 100644 index 0000000000..0b38432118 Binary files /dev/null and b/assets/endnote-menu-DNMrSFIs.png differ diff --git a/assets/endnote-save-cKJm0jOn.png b/assets/endnote-save-cKJm0jOn.png new file mode 100644 index 0000000000..a86d58e38e Binary files /dev/null and b/assets/endnote-save-cKJm0jOn.png differ diff --git a/assets/endnote-toxml-OaSRAr9l.png b/assets/endnote-toxml-OaSRAr9l.png new file mode 100644 index 0000000000..53334e6622 Binary files /dev/null and b/assets/endnote-toxml-OaSRAr9l.png differ diff --git a/assets/endnote-xml-Bs8i-ouG.png b/assets/endnote-xml-Bs8i-ouG.png new file mode 100644 index 0000000000..820be33afe Binary files /dev/null and b/assets/endnote-xml-Bs8i-ouG.png differ diff --git a/assets/endnote-xml-open-BriKrTCB.png b/assets/endnote-xml-open-BriKrTCB.png new file mode 100644 index 0000000000..ef7ec8eca5 Binary files /dev/null and b/assets/endnote-xml-open-BriKrTCB.png differ diff --git a/assets/endnote-zotero-caution-CC4zYjTY.png b/assets/endnote-zotero-caution-CC4zYjTY.png new file mode 100644 index 0000000000..b69ee3265a Binary files /dev/null and b/assets/endnote-zotero-caution-CC4zYjTY.png differ diff --git a/assets/endnote-zotero-import-B8aMWOUS.png b/assets/endnote-zotero-import-B8aMWOUS.png new file mode 100644 index 0000000000..f2971a7cbf Binary files /dev/null and b/assets/endnote-zotero-import-B8aMWOUS.png differ diff --git a/assets/endnote-zotero-import-option-ChllamkQ.png b/assets/endnote-zotero-import-option-ChllamkQ.png new file mode 100644 index 0000000000..d7db130d62 Binary files /dev/null and b/assets/endnote-zotero-import-option-ChllamkQ.png differ diff --git a/assets/endnote-zotero-import-option2-CMI_wI2H.png b/assets/endnote-zotero-import-option2-CMI_wI2H.png new file mode 100644 index 0000000000..43fd79620f Binary files /dev/null and b/assets/endnote-zotero-import-option2-CMI_wI2H.png differ diff --git a/assets/endnote-zotero-succ-DY__eD2b.png b/assets/endnote-zotero-succ-DY__eD2b.png new file mode 100644 index 0000000000..26cc6ee97a Binary files /dev/null and b/assets/endnote-zotero-succ-DY__eD2b.png differ diff --git a/assets/erDiagram-0ea73325-Cx9x3r7v.js b/assets/erDiagram-0ea73325-Cx9x3r7v.js new file mode 100644 index 0000000000..842cbdb5ab --- /dev/null +++ b/assets/erDiagram-0ea73325-Cx9x3r7v.js @@ -0,0 +1,51 @@ +import{c as Z,s as Et,g as mt,b as gt,a as kt,v as xt,x as Rt,l as V,z as Ot,h as rt,y as bt,i as Nt,ao as Tt,ar as At}from"./mermaid.core-xpSMncQK.js";import{G as Mt}from"./graph-BVvHj2M5.js";import{l as St}from"./layout-Bq0hvzvr.js";import{l as wt}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const It=/^(?:[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 Dt(t){return typeof t=="string"&&It.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function vt(t,e=0){return A[t[e+0]]+A[t[e+1]]+A[t[e+2]]+A[t[e+3]]+"-"+A[t[e+4]]+A[t[e+5]]+"-"+A[t[e+6]]+A[t[e+7]]+"-"+A[t[e+8]]+A[t[e+9]]+"-"+A[t[e+10]]+A[t[e+11]]+A[t[e+12]]+A[t[e+13]]+A[t[e+14]]+A[t[e+15]]}function Lt(t){if(!Dt(t))throw TypeError("Invalid UUID");let e;const 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}function Bt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ft(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=g,g=m,m=it(_,30)>>>0,_=h,h=I}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+g>>>0,r[4]=r[4]+x>>>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]}const Wt=Yt("v5",80,Ft);var at=function(){var t=function(S,a,n,c){for(n=n||{},c=S.length;c--;n[S[c]]=a);return n},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],g=[1,24],x=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],N=[1,34],I=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],C=[1,54],T=[1,53],M=[17,34,36,38],R={trace:function(){},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:function(a,n,c,d,E,i,K){var s=i.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},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:u,24:l,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:g,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:N},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[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:N},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:g,45:x},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:C,38:T}),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(W,[2,24],{33:56,36:[1,57],38:T}),t(W,[2,25]),t(M,[2,29]),t(W,[2,32]),t(M,[2,31]),{16:58,17:[1,59],29:32,30:33,34:N},t(W,[2,26]),{35:60,37:C},{17:[1,61]},t(e,[2,13]),t(M,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(a,n){if(n.recoverable)this.trace(a);else{var c=new Error(a);throw c.hash=n,c}},parse:function(a){var n=this,c=[0],d=[],E=[null],i=[],K=this.table,s="",Q=0,st=0,ft=2,ot=1,yt=i.slice.call(arguments,1),b=Object.create(this.lexer),z={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(z.yy[J]=this.yy[J]);b.setInput(a,z.yy),z.yy.lexer=b,z.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var $=b.yylloc;i.push($);var pt=b.options&&b.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var Y;return Y=d.pop()||b.lex()||ot,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=n.symbols_[Y]||Y),Y}for(var w,H,D,tt,G={},j,P,lt,q;;){if(H=c[c.length-1],this.defaultActions[H]?D=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=_t()),D=K[H]&&K[H][w]),typeof D>"u"||!D.length||!D[0]){var et="";q=[];for(j in K[H])this.terminals_[j]&&j>ft&&q.push("'"+this.terminals_[j]+"'");b.showPosition?et="Parse error on line "+(Q+1)+`: +`+b.showPosition()+` +Expecting `+q.join(", ")+", got '"+(this.terminals_[w]||w)+"'":et="Parse error on line "+(Q+1)+": Unexpected "+(w==ot?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(et,{text:b.match,token:this.terminals_[w]||w,line:b.yylineno,loc:$,expected:q})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+w);switch(D[0]){case 1:c.push(w),E.push(b.yytext),i.push(b.yylloc),c.push(D[1]),w=null,st=b.yyleng,s=b.yytext,Q=b.yylineno,$=b.yylloc;break;case 2:if(P=this.productions_[D[1]][1],G.$=E[E.length-P],G._$={first_line:i[i.length-(P||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(P||1)].first_column,last_column:i[i.length-1].last_column},pt&&(G._$.range=[i[i.length-(P||1)].range[0],i[i.length-1].range[1]]),tt=this.performAction.apply(G,[s,st,Q,z.yy,D[1],E,i].concat(yt)),typeof tt<"u")return tt;P&&(c=c.slice(0,-1*P*2),E=E.slice(0,-1*P),i=i.slice(0,-1*P)),c.push(this.productions_[D[1]][0]),E.push(G.$),i.push(G._$),lt=K[c[c.length-2]][c[c.length-1]],c.push(lt);break;case 3:return!0}}return!0}},O=function(){var S={EOF:1,parseError:function(n,c){if(this.yy.parser)this.yy.parser.parseError(n,c);else throw new Error(n)},setInput:function(a,n){return this.yy=n||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},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var n=a.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var n=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),c.length-1&&(this.yylineno-=c.length-1);var E=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:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var a=this.pastInput(),n=new Array(a.length+1).join("-");return a+this.upcomingInput()+` +`+n+"^"},test_match:function(a,n){var c,d,E;if(this.options.backtrack_lexer&&(E={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&&(E.yylloc.range=this.yylloc.range.slice(0))),d=a[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+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],c=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var i in E)this[i]=E[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,n,c,d;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),i=0;in[0].length)){if(n=c,d=i,this.options.backtrack_lexer){if(a=this.test_match(c,E[i]),a!==!1)return a;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(a=this.test_match(n,E[d]),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})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,c,d,E){switch(d){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";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;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;case 22:return c.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 c.yytext[0];case 55:return 6}},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 S}();R.lexer=O;function v(){this.yy={}}return v.prototype=R,R.Parser=v,new v}();at.parser=at;const Ut=at;let U={},nt=[];const zt={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"},Ht={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},dt=function(t,e=void 0){return U[t]===void 0?(U[t]={attributes:[],alias:e},V.info("Added new entity :",t)):U[t]&&!U[t].alias&&e&&(U[t].alias=e,V.info(`Add alias '${e}' to entity '${t}'`)),U[t]},Gt=()=>U,Kt=function(t,e){let r=dt(t),u;for(u=e.length-1;u>=0;u--)r.attributes.push(e[u]),V.debug("Added attribute ",e[u].attributeName)},Vt=function(t,e,r,u){let l={entityA:t,roleA:e,entityB:r,relSpec:u};nt.push(l),V.debug("Added new relationship :",l)},Xt=()=>nt,Qt=function(){U={},nt=[],Ot()},jt={Cardinality:zt,Identification:Ht,getConfig:()=>Z().er,addEntity:dt,addAttributes:Kt,getEntities:Gt,addRelationship:Vt,getRelationships:Xt,clear:Qt,setAccTitle:Et,getAccTitle:mt,setAccDescription:gt,getAccDescription:kt,setDiagramTitle:xt,getDiagramTitle:Rt},L={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"},qt=function(t,e){let r;t.append("defs").append("marker").attr("id",L.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",L.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",L.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",L.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",L.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",L.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",L.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",L.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",L.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",L.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")},B={ERMarkers:L,insertMarkers:qt},Jt=/[^\dA-Za-z](\W)*/g;let k={},X=new Map;const $t=function(t){const e=Object.keys(t);for(const r of e)k[r]=t[r]},te=(t,e,r)=>{const u=k.entityPadding/3,l=k.entityPadding/3,p=k.fontSize*.85,f=e.node().getBBox(),o=[];let h=!1,_=!1,m=0,g=0,x=0,y=0,N=f.height+u*2,I=1;r.forEach(T=>{T.attributeKeyTypeList!==void 0&&T.attributeKeyTypeList.length>0&&(h=!0),T.attributeComment!==void 0&&(_=!0)}),r.forEach(T=>{const M=`${e.node().id}-attr-${I}`;let R=0;const O=At(T.attributeType),v=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(O),S=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(T.attributeName),a={};a.tn=v,a.nn=S;const n=v.node().getBBox(),c=S.node().getBBox();if(m=Math.max(m,n.width),g=Math.max(g,c.width),R=Math.max(n.height,c.height),h){const d=T.attributeKeyTypeList!==void 0?T.attributeKeyTypeList.join(","):"",E=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(d);a.kn=E;const i=E.node().getBBox();x=Math.max(x,i.width),R=Math.max(R,i.height)}if(_){const d=t.append("text").classed("er entityLabel",!0).attr("id",`${M}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Z().fontFamily).style("font-size",p+"px").text(T.attributeComment||"");a.cn=d;const E=d.node().getBBox();y=Math.max(y,E.width),R=Math.max(R,E.height)}a.height=R,o.push(a),N+=R+u*2,I+=1});let F=4;h&&(F+=2),_&&(F+=2);const W=m+g+x+y,C={width:Math.max(k.minEntityWidth,Math.max(f.width+k.entityPadding*2,W+l*F)),height:r.length>0?N:Math.max(k.minEntityHeight,f.height+k.entityPadding*2)};if(r.length>0){const T=Math.max(0,(C.width-W-l*F)/(F/2));e.attr("transform","translate("+C.width/2+","+(u+f.height/2)+")");let M=f.height+u*2,R="attributeBoxOdd";o.forEach(O=>{const v=M+u+O.height/2;O.tn.attr("transform","translate("+l+","+v+")");const S=t.insert("rect","#"+O.tn.node().id).classed(`er ${R}`,!0).attr("x",0).attr("y",M).attr("width",m+l*2+T).attr("height",O.height+u*2),a=parseFloat(S.attr("x"))+parseFloat(S.attr("width"));O.nn.attr("transform","translate("+(a+l)+","+v+")");const n=t.insert("rect","#"+O.nn.node().id).classed(`er ${R}`,!0).attr("x",a).attr("y",M).attr("width",g+l*2+T).attr("height",O.height+u*2);let c=parseFloat(n.attr("x"))+parseFloat(n.attr("width"));if(h){O.kn.attr("transform","translate("+(c+l)+","+v+")");const d=t.insert("rect","#"+O.kn.node().id).classed(`er ${R}`,!0).attr("x",c).attr("y",M).attr("width",x+l*2+T).attr("height",O.height+u*2);c=parseFloat(d.attr("x"))+parseFloat(d.attr("width"))}_&&(O.cn.attr("transform","translate("+(c+l)+","+v+")"),t.insert("rect","#"+O.cn.node().id).classed(`er ${R}`,"true").attr("x",c).attr("y",M).attr("width",y+l*2+T).attr("height",O.height+u*2)),M+=O.height+u*2,R=R==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else C.height=Math.max(k.minEntityHeight,N),e.attr("transform","translate("+C.width/2+","+C.height/2+")");return C},ee=function(t,e,r){const u=Object.keys(e);let l;return u.forEach(function(p){const f=oe(p,"entity");X.set(p,f);const o=t.append("g").attr("id",f);l=l===void 0?f:l;const h="text-"+f,_=o.append("text").classed("er entityLabel",!0).attr("id",h).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Z().fontFamily).style("font-size",k.fontSize+"px").text(e[p].alias??p),{width:m,height:g}=te(o,_,e[p].attributes),y=o.insert("rect","#"+h).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",m).attr("height",g).node().getBBox();r.setNode(f,{width:y.width,height:y.height,shape:"rect",id:f})}),l},re=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)+" )")})},ut=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},ie=function(t,e){return t.forEach(function(r){e.setEdge(X.get(r.entityA),X.get(r.entityB),{relationship:r},ut(r))}),t};let ct=0;const ae=function(t,e,r,u,l){ct++;const p=r.edge(X.get(e.entityA),X.get(e.entityB),ut(e)),f=wt().x(function(N){return N.x}).y(function(N){return N.y}).curve(Tt),o=t.insert("path","#"+u).classed("er relationshipLine",!0).attr("d",f(p.points)).style("stroke",k.stroke).style("fill","none");e.relSpec.relType===l.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let h="";switch(k.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case l.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ZERO_OR_ONE_END+")");break;case l.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ZERO_OR_MORE_END+")");break;case l.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ONE_OR_MORE_END+")");break;case l.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+h+"#"+B.ERMarkers.ONLY_ONE_END+")");break;case l.db.Cardinality.MD_PARENT:o.attr("marker-end","url("+h+"#"+B.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case l.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ZERO_OR_ONE_START+")");break;case l.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ZERO_OR_MORE_START+")");break;case l.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ONE_OR_MORE_START+")");break;case l.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+h+"#"+B.ERMarkers.ONLY_ONE_START+")");break;case l.db.Cardinality.MD_PARENT:o.attr("marker-start","url("+h+"#"+B.ERMarkers.MD_PARENT_START+")");break}const _=o.node().getTotalLength(),m=o.node().getPointAtLength(_*.5),g="rel"+ct,y=t.append("text").classed("er relationshipLabel",!0).attr("id",g).attr("x",m.x).attr("y",m.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Z().fontFamily).style("font-size",k.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+g).classed("er relationshipLabelBox",!0).attr("x",m.x-y.width/2).attr("y",m.y-y.height/2).attr("width",y.width).attr("height",y.height)},ne=function(t,e,r,u){k=Z().er,V.info("Drawing ER diagram");const l=Z().securityLevel;let p;l==="sandbox"&&(p=rt("#i"+e));const o=(l==="sandbox"?rt(p.nodes()[0].contentDocument.body):rt("body")).select(`[id='${e}']`);B.insertMarkers(o,k);let h;h=new Mt({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:k.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=ee(o,u.db.getEntities(),h),m=ie(u.db.getRelationships(),h);St(h),re(o,h),m.forEach(function(I){ae(o,I,h,_,u)});const g=k.diagramPadding;bt.insertTitle(o,"entityTitleText",k.titleTopMargin,u.db.getDiagramTitle());const x=o.node().getBBox(),y=x.width+g*2,N=x.height+g*2;Nt(o,N,y,k.useMaxWidth),o.attr("viewBox",`${x.x-g} ${x.y-g} ${y} ${N}`)},se="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function oe(t="",e=""){const r=t.replace(Jt,"");return`${ht(e)}${ht(r)}${Wt(t,se)}`}function ht(t=""){return t.length>0?`${t}-`:""}const le={setConf:$t,draw:ne},ce=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; + } + +`,he=ce,me={parser:Ut,db:jt,renderer:le,styles:he};export{me as diagram}; diff --git a/assets/f12861c197d522f4d27795857b2eb167_MD5-L9t2-Zas.png b/assets/f12861c197d522f4d27795857b2eb167_MD5-L9t2-Zas.png new file mode 100644 index 0000000000..4863e5a574 Binary files /dev/null and b/assets/f12861c197d522f4d27795857b2eb167_MD5-L9t2-Zas.png differ diff --git a/assets/f30e9f8627698b66e84c9bdc9a595663_MD5-Ddfparek.png b/assets/f30e9f8627698b66e84c9bdc9a595663_MD5-Ddfparek.png new file mode 100644 index 0000000000..9db6c0f17e Binary files /dev/null and b/assets/f30e9f8627698b66e84c9bdc9a595663_MD5-Ddfparek.png differ diff --git a/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5-CxfB4xl6.png b/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5-CxfB4xl6.png new file mode 100644 index 0000000000..c24f0bc065 Binary files /dev/null and b/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5-CxfB4xl6.png differ diff --git a/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5-BWkTyt4v.png b/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5-BWkTyt4v.png new file mode 100644 index 0000000000..a6b423c30e Binary files /dev/null and b/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5-BWkTyt4v.png differ diff --git a/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5-Bqb7IHF8.png b/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5-Bqb7IHF8.png new file mode 100644 index 0000000000..c072d70a4c Binary files /dev/null and b/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5-Bqb7IHF8.png differ diff --git a/assets/fec738499e295fe7967677534303846a_MD5-CvcNXf8Z.png b/assets/fec738499e295fe7967677534303846a_MD5-CvcNXf8Z.png new file mode 100644 index 0000000000..d66cd3cbdf Binary files /dev/null and b/assets/fec738499e295fe7967677534303846a_MD5-CvcNXf8Z.png differ diff --git a/assets/feed.html-z54FZ0rW.js b/assets/feed.html-z54FZ0rW.js new file mode 100644 index 0000000000..f0fc46cbae --- /dev/null +++ b/assets/feed.html-z54FZ0rW.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as A,c as g,a as t,d as a,w as d,b as e,e as i}from"./app-pLjDz5vt.js";const p="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAoCAMAAAA2TQ8LAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAFiUAABYlAUlSJPAAAABsZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQACoAIABAAAAAEAAABgoAMABAAAAAEAAAAoAAAAAKuapcAAAAGAUExURfX09ff29fj3+P////b19fz7+/7+/v////Hx8Pv7+vHx8fr5+v78/vDw8PLz8v78/PL09PHx8fz+/+/v7/Px8vj6+v7//PT18vn3939MGPn5/PL08vP29vXy9fTy8vPy9f3+/Pn3+nxJFvb29/v9+812N/f49vP19fv7/XhIFXRGFHFDFG5BE/r692pAE/f5+M97OtaIQbe2uLSztdF/O9SEPqqAULq4u+CrcuKxddeNQ9yVSKh+UMlwNOW2d1FRUd6cTNyib9mRRIhTG5nEckhISOa6elN6ONuebdqaakxMTN2mcIm6YIS0XkVwLUt3M9WWaJJlMIlfMD1qJZPAbF1dXVhYWMfFyODh4DllIMVpMFqGPsHAwurq6t3c3uKkTzViHI69Zei/fKJ/U3SlUZmZmWVlZdXU1bGvs7uefbKYepC/aWmVS4l4O2N4OXlRJqemqLyihZtqNse3pqy+oU1RGD9dHaB3OVtPGbOZebieflxSIY+qgImlfEdMQK18SxYgResAAAXjSURBVEjHnVcJW9tGEF2M5c+SjPBn5AqqYtmWsLDjI5GSGgjQkrYxNPERDLEJR6HhagLkTtPrv3dmVrJlm/ZLeEjatd68N7O7OhDTmMFsdtBRxn1Exv8fn8WnOgc20xhsdpwx1u0IER+JSCQWi0TSkUQMf44nIuORID6TlztdgxFSzJjakwJ8OsF7Md5MRmKJAf1n8ureFPNxcOZrYlz1lS+aTPfK+mL+7ACq1xjMkNbZT0+mOaxJKx1LxxLYh3OxtAWd2ORN+P1ObwRVC0MBiXQPiTSpJmNI3Iyv8kXQDFZNT1oUwMNilleQf4zdjK9qTIMLCSapKs6LACstWLIoWOK8MG8J6XnRmueEeDO+anszZFdFEU5BlCygRBBxAwjYCKIl3oyHKYIB2HGNVeetNBQgeMF+xJsZRBaRz8OGKLzp8xBrzcMoBOF6fTWu2YxyVGVRlpN4IIiCLEL/t55/PsvtC/lCofCHz/N4qFpMXquXq4wZ3hQJwAseLyRlAaLJ/8m3HpaXl+mwCRlecB49RbKFIVyjF+Vq3IYF1nCK4BSnRV6XGPBH7+UeIMOtFzwYTATeiNfogaj27gOHwmhHUvza93/7g48ZjifPNwu3IEPACcsf1SPv0CJrcCtXZTlDZIX2Sin5J5otvw1Y88XIbz7fvAUZ0KtEwaUkOQ/piYcR6HgbaMzJJOXSNAWVMlQH+T/pW+MKA8CbMhRltKyQb7IkJ0f0xDveIsMalCqZJGQtVeA0xpc8f141dwbbYrlYLkOGYtGflQwfyYjeX4NZhrvt5CqlUG66UjEr02YJjubMzK+Ah4BVxCJggfAIsFYshiqhaYifPv0pgNO+nngnzt82ceaYiFDGDIVC0ObMXDY76N63XwMUi2aoVMHY/dOfezjd7+uJd+htE7fjthMyM5A2B2lNs1IJmdPZ7MOHvwC+B9y/f//Bg6WlO3fu3bt39+7t2+vrkCAXMsfMaTPUffqdh6fdgJ54h1+j8EqGEYRzoTHIDrlhy4V5ggH7O9x+bm59vVwGPYaGc+bZNvffPgvqiXeY4T3uHHMsDGR4LAd7GFRmNr+6el31c4CNjXIZjUKoGTP3nhL2BvTEwxrAFOF738HfGAwb/kGCLCbw7Jf61c/NraxgAiyINFjoNsAZ1BPv4PrSZeSEocEdDzb8sXx2dXFkclYur2q1q8tWq1y2KTZMovDJ9vbJkJ54B29khqvs4FmTeRGoy+cXF4cn5/dardZsNhvN5+UyD/0GDmE7bJ+cDOup69AKaPYsc8NhrwJO2pTgARbvVc/9L+pbW/XdRuNTGfy8+DBph/XEu4ZGQ5m1Xbyl4ZEBq27gs4lpkGBhKWg/t1KrHf8I2Nq6aLfL/mMyTnp7RE+kS7xNPZ3Ha0TN2kY+v7AwuLSXtQuwHx/fenm02/6AcTqz7RTjF+KwnngXeabA7ez61diGV1W+sLAQtF9ZuarVKcHLo6Pj9kcWN7jEVvjjYEhPvIs8nNSYm1JURVEMyVB0VdONlIoJAvbPnj2rNdEe8bi+s6MrqbguKYYiKdiM6Il3aUyz8M+dqyt6CsJScN5QVfhRKDx6FLTHBFuBBOAkpQxJBzPdUJQRPfGuhi99HISbMnTDwBogtQ6tAgnwqbaO2NjYaLVaV024hF6C/ePHxzsf0UiHcDSH+kf0xLtxw8AxGDhFCgwWhok1QDF6obDGE2xw+1brsrEL64sJ6s3DDxCjxNFLQll8RE+82/s+cCVJVSRVQqi0v+KvGHrLwHsG0WhcHB1B/fXdw8NXkhLlsb5uSE/8ee/74JwoCYrAJgrHd6/69ty//KnR2D2u14+bh4d/vSMXilajko+Anni391+Fq0pefklVoeeJFFWNRnmduL1vtNs7OzuH7ffX8yN6t/d9cD7hIUobQPJa3ki83/17t93e/af7X/yw/rw/goOJqMTp6EQfUdq5+gb8gdv7PujsRQdriQaqof5N+L1O7/tg/3V3CjAxMdVDoNs/90V89/U+3mb/AuV5l9G2TxatAAAAAElFTkSuQmCC",c="/assets/image-feed-2-CSJ0k3rv.png",f="/assets/image-feed-3-IACR4eSQ.png",u="/assets/image-feed-5-DkfmYWzE.png",h="/assets/image-feed-6-D9XgxdaV.png",m="/assets/image-feed-7-Drn0ieVE.png",b="/assets/image-feed-8-CN5Oscf_.png",S="/assets/image-feed-9-yQfC9JUL.png",R="/assets/image-feed-10-DkwY-AMX.png",x="/assets/image-feed-11-GOeHq3NY.png",q="/assets/image-feed-12-Di7pOHrC.png",N="/assets/image-feed-13-BpGcgGDV.png",y="/assets/image-feed-14-BP9c0FuJ.png",v="/assets/image-feed-15-C8PogPv-.png",P="/assets/image-feed-16-B1e2DcNG.png",k="/assets/image-feed-17-BzhxLk9R.png",Z="/assets/image-feed-18-C_jhcfGJ.png",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAFiUAABYlAUlSJPAAAABsZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQACoAIABAAAAAEAAAAqoAMABAAAAAEAAAAqAAAAAL4wTA0AAAGAUExURVNTU1NUU1NTVPHx8/Hz8VNSU/Px8fHx8VNTUlJTU1RTU/Dx8fHw8fHx8FRTUlNSU1JTUnZ2dvLy8fHw8VRTVPPx81JSUlRUU/Px8MfHx1JUU1NSUvDz8vHz8lJTVFNUUnd3dvDx81NUVPPw8Z2dnfHw81JSVIWFhVZWVvDw8FhZWXV2doODg9TU1HBwcObm5ltaW+/u7WhnaF5eXsXFxWlpaGVlZfHz8JSUk3R1dXh5eaKjo+vr62NjY8bIyGBgYOrq6uLj4rKxstfX18fGyMbIxvPw85qamlxcXNPS0b+/v1VUU2FhYZmZmKanpZCRkGVlZZydm21ubba3to6OjszLzaCfn4uLjGZmZuTi4tra2oeHh+Xk4qurq1VVVcvNzHNzdLm6uoGCgu7u7np6esvLy8jHxsvLyvDx8K+vsPLz8IiIiJmcm5GRkJSUlM/Pz3Jycrm3uq2trd7c3n58e7OzsfDz8L6+vd3f37Gzs2tra62trH5+gN3f3Nzc3MXFyHgNTQAAAARxSURBVDjLfVX3e1JLEJ0t387uLSzwQSAgJIF0STPJF41GE401ltijz44vvt57/dffGYLmp+eFe7ns2Z2dcs4ssTOWJzh1hq+wY/mmzJnL5bXFfIyTLTNbh2ELMM1SmcutNG8ZO5G73BzjVE55IrOA2eQYM1be67CLh2tZPsYph23LC2dnxkulk6Wje/A8eimdnDm7MJjJVM3Lpj8565X2pMnXvCYdNCVEvu2jihVfm53sm9wakiC+BhaJCrEzjQX4+EhjJFcYfP0dA4eIu7xWSago44VQoDZePO6i9jCgCPY17a3BIFnOezCpYalzZIaiLpJqJh4Lg1bkmxR7hnNKu3ZdUSEkkZqYVZBtYUs3NQUfyIeolKL11GXIa1ZLQvC09finexc6pJWmQiMkqlFpkkqalESfhA7bOkkWdMXrWGKeypfu95ZV0IhR9ggSLC7gJkMGqlxEyJSU2KYZqrJy4zuYwrSgokoCVUhw45iQMaIKooFVyzb7pcr8+kBH+BsTFb32SnCA5DLWYYRUeOWyfCOdwnyu9s/OUkEPAkS4gltGWPBVakP0Ymtx5uclLJ3C2NoqUYMaR74CB8EQ1hQSNIIcwqdALzZvCPtc/vQPzECBUW7BTZ0JxNGD6lTwHJNKjT90fIJ5ezGoQV2D4PCKQEdxx9P687uPD5CeUEtO9zMQ8u8LUfukRgN3JawJwwF/oyrlqPPC3Wvi29ulKv58OttRNA3DwLNWRp+VnYBeI1mu25paOj1LxbC+k7sWXxTHaoPA8mpOXGbhiIrjbFLRQvrwZoX8mb6dc/YVylUbcMhmZRIixgqCv3f9mTUut+x+W/RUeQBv83eVBNQV3KQbJDygguRax/1vdiBcO/dky4+p190Nk75R1CgIDgtkrKmEQDo2hHur96HibGNhPsZTfVt1l/bANMGnMouEpX5AoAZFSMH3nqWQ/20w5E/4dmIR2wvOzg5uJA6TwSKpzyY0nK3sE21NuDI/EvUAF64a4avYpOLm7a9uwsgPDrr/HRPecZYuiECBC1XQTgBTjPoWOLm0Ts35f9A6tmc93XJs3IFkNVKWXRkkC1eNrs2lbPj7Do31MMZ/1cIpzqvZmyNyfcEp5bYqKg1qkdG0+Dr56flzNuPnSXuvj5jvKOE9TVhQOzXKQ4W0fE5KdRHxqjX0q1/ROX4EdR8FEhy6gmAYlEwSNfLliuWnF9qdWLvI1nyLWF5im8+l3ejE2Tmhd4Omi+LRqQe9eRFEeDs5OXkaKfgEv71ECz7sr8uqgBkKTgRUAUmkDjxqq3YRbaCBGqrC8rC/nhF5ktBbJVrJe0HyI0UKsrId1Zlhf72qguyPJuKhf5FkDAqzRLKJLFDh6rC/bu/D4kf6Kyi3/b6/vlv9eH9dffm+vxp+MjP///11fmbH8bC/5liSXjrcPT96OCrXv7uXRw93D0fPY2j38qU5wYf9FYdKHf2TcfJkdTkgcPiYLiiHSufHuPTX3KUpdMNli32gCldv4dSx1a5rQWsf8P8AoZxwsphlEikAAAAASUVORK5CYII=",C="/assets/image-feed-20-BMv-3H02.png",_="/assets/image-feed-21-Bz1UsISw.png",F="/assets/image-feed-22-xzHsx3Tm.png",z="/assets/image-feed-23-Cg7vCewK.png",J="/assets/image-feed-24-yjAoDdaU.png",U="/assets/image-feed-25-w0RtEpIr.png",w="/assets/image-feed-26-Mi3QTe9W.png",E={},M=t("h1",{id:"feed-rss",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#feed-rss"},[t("span",null,"Feed RSS")])],-1),V=i('

    Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。

    • 追踪期刊目录更新
    • 追踪数据库中某些【关键词】相关的文献更新情况
    • 订阅任意网站的内容更新,例如 b 站 up 主的视频更新...

    Zotero 订阅设置

    在 Zotero 主界面,左上角工具栏选择 群组icon - 新建订阅 - 从网址...

    新建订阅
    新建订阅

    之后会弹出以下窗口

    输入网址
    输入网址

    在网址栏填入订阅网址(如何获取请往下拉),Zotero 识别成功之后会自动填入标题(可以自己手动更改,Zotero 不会根据期刊订阅先后给订阅的期刊排序,可以手动在期刊名前面加上 1234 或者字母来排序)并且进行高级选项设置,保存之后即可在主界面左侧订阅处看到订阅的内容及更新。

    订阅条目列表
    订阅条目列表

    订阅来源

    从网址订阅:"从网址订阅"是最直接、最方便的添加 RSS 订阅的方式,只需要提供订阅源的链接即可,是我们用 Zotero 追踪期刊更新时最常用的方式,以下涉及的实例也将基于此方式进行。

    OPML 订阅:"来自 OPML"主要用于之前有使用其它 RSS 阅读器,从其它阅读器中导入已经订阅的内容至 Zotero 中,一般用户很少涉及此方式,故不过多介绍。

    高级选项

    高级选项
    高级选项

    【更新订阅每 N 小时】:即设定订阅间隔,每 N 个小时从订阅 URL 爬取期刊目录,加载在该【订阅】界面。如果 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,如果有内容更新,就会加载出现在 Zotero 订阅界面。

    【删除已读提要题目于之后 N 天】:即点击了该条目查看右侧的条目详细信息(Zotero 会自动设置为"已读"状态)N 天后在期刊订阅界面删除该条目,如果不想删除已读条目,则将 N 设置为一个较大的数值,例如 1000000。

    【删除未读提要条目于之后 N 天】:即该条目一直处于未点击查看该条目的具体信息,N 天后在期刊订阅界面删除该条目。如果不想删除未读条目,则将 N 设置为一个较大的数值,例如 1000000。

    以上三项订阅参数的默认设置入口(Zotero7):

    Win:编辑 - 设置 - 高级 - 订阅

    Mac:Zotero - 设置 - 高级 - 订阅

    在此设置页面中,可以设置对订阅的条目按"最早条目在先" / "最新条目在先"的排序。

    订阅设置
    订阅设置

    从"订阅"添加文献条目到"我的文库"/"群组文库"

    Zotero 的订阅内容并不会保存在个人文库中,也不可以直接引用"订阅"中的条目,因此需要引用则需要将其添加到"我的文库"(也可以共享到群组文库)

    添加到文库
    添加到文库

    点开 Zotero 某一期刊/RSS 订阅内容,点击具体条目,看到右侧信息栏,点击添加到文库icon 中的 ▽ 倒三角图标,选择你想要保存到的本地文库文件夹 📂/在线群组文件夹 📂,再点击"添加到 XXXX",即可从订阅中添加到自己的文献库/某个群组文库中(可以同时添加到若干个文库)。

    订阅界面右键功能介绍

    在订阅界面点击某个具体的订阅期刊,右键即可出现以下菜单选项

    订阅右键菜单
    订阅右键菜单

    更新订阅:除了 Zotero 自动按照订阅某期刊时"高级选项"的更新选项去更新订阅外,手动更新订阅,如有最新内容则自动加载到右侧具体条目面板中

    标记订阅为已读:Zotero 订阅界面中未读的期刊/具体文献条目将会加粗显示,点击该选项将会设置该期刊所有内容为已读状态,取消加粗显示。

    编辑订阅:回到"2、高级选项"中的设置界面,可以更改某一个期刊的高级选项,便于进行个性化订阅设置。

    退订订阅:即从订阅面板删除该订阅期刊,会有确认取消窗口避免误删,请慎重选择!

    订阅网址(RSS 链接)获取

    中文期刊订阅------以知网、万方数据库为例

    知网

    ',33),B={href:"https://navi.cnki.net/knavi/journals/index?uniplatform=NZKPT",target:"_blank",rel:"noopener noreferrer"},H=i('
    知网搜索期刊
    知网搜索期刊

    在搜索结果界面,点击进入期刊页面

    知网搜索期刊
    知网搜索期刊

    在期刊主页左上角找到并点击【RSS 订阅】

    知网创建rss
    知网创建rss

    复制浏览器地址栏中的网址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。

    知网复制地址
    知网复制地址

    万方数据库

    ',8),L={href:"https://c.wanfangdata.com.cn/periodical",target:"_blank",rel:"noopener noreferrer"},T={href:"https://c.wanfangdata.com.cn/periodical",target:"_blank",rel:"noopener noreferrer"},O=i('
    万方搜期刊
    万方搜期刊

    进入搜索结果界面点击期刊名称

    万方
    万方

    进入期刊主页后,找到页面中部的【feed 订阅】选项,点击【rss 订阅】

    万方
    万方

    跳转如下页面后,浏览器地址栏的网址即 RSS 订阅链接,复制浏览器地址栏中的网址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。

    万方
    万方

    英文期刊订阅

    一般而言英文期刊/数据库都在期刊页面提供了 RSS 订阅选项,只需要找 RSS 图标RSS图标 ,即可获取订阅网址(RSS 地址)

    打开 Annual Review of Psychology 网页,找到右上角的 RSS feed RSS图标
    符号,点击打开

    Annual Review of Psychology
    Annual Review of Psychology

    打开之后如下图示,复制浏览器地址栏的网址,即 RSS 地址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。

    复制链接
    复制链接

    关键词订阅(PubMed 为例)

    ',14),I={href:"https://pubmed.ncbi.nlm.nih.gov/",target:"_blank",rel:"noopener noreferrer"},G=i('
    PubMed
    PubMed

    如下图示,点击搜索框下面的"Create RSS",进入该关键词订阅的设置界面

    PubMed订阅
    PubMed订阅

    在设置界面,修改为合适"Number of items displayed"(追踪的文献条目数量),点击"Create RSS",生成"RSS Feed link"后点击 copy,将其按照"一、Zotero 订阅设置"的方法填入 Zotero,即可订阅追踪该关键词的相关文献进展。

    PubMed 修改数量
    PubMed 修改数量

    配合 RSSHub Radar 订阅任意网站内容

    ',6),D={href:"https://www.appinn.com/rssbud-with-rsshub-for-ios/",target:"_blank",rel:"noopener noreferrer"},Q=t("br",null,null,-1),X=t("br",null,null,-1),Y=t("strong",null,"Zotero",-1),K={href:"https://www.appinn.com/tiny-tiny-rss/",target:"_blank",rel:"noopener noreferrer"},j=i('

    主要功能:

    • 快速发现和订阅当前页面自带的 RSS
    • 快速发现和订阅当前页面支持的 RSSHub
    • 快速发现当前网站支持的 RSSHub
    • 支持一键订阅 RSS 到 Tiny Tiny

    RSS、Miniflux、FreshRSS、Feedly、Inoreader、Feedbin、The Old Reader、Feeds.Pub、本地阅读器一旦检测出 RSS 地址,RSSHub Radar 就会在角标上显示出数量。

    RSSHub Radar 浏览器插件下载与安装(含教程):GitHub 主页、Gitee 镜像主页、RSSHub Radar 与 Zotero 联动。

    bili为例
    bili为例

    打开你想关注的 UP 主(以 sharestuff 为例),点击浏览器右上角的 RSSHub
    Radar 插件图标

    RSSHUB订阅bili
    RSSHUB订阅bili

    选择所需要订阅的内容,点击"复制",进入 Zotero 进行 URL 订阅即可。

    订阅功能常见问题及解决方法(更新中)

    1、填入网址后不能自动识别与保存的解决方法:检查或更换网络,重启 Zotero 后第一时间进入订阅填入网址,能够自动识别并填充标题即可成功订阅;部分网址需要在科学网络的情况下才能识别成功,如遇外网期刊订阅无法保存时,需要保证自己的网络足够科学。

    2、订阅间隔设置不当导致的条目重复问题:在 Zotero6 中该问题较为常见,尚未完美的解决方案,只能根据期刊更新周期设定订阅间隔。例如《社会学研究》为双月刊,建议从其发刊日时添加订阅,N 设定为 2X30X24 小时。某些 Zotero 版本,如果高级选项的【更新订阅每 N 小时】中 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,导致期刊【订阅】界面出现重复文献条目。

    ',11);function W($,ee){const s=n("Badge"),o=n("ExternalLinkIcon");return A(),g("div",null,[M,t("p",null,[a(s,{type:"tip"},{default:d(()=>[e("高级")]),_:1})]),V,t("p",null,[e("进入 "),t("a",B,[e("知网期刊导航界面"),a(o)]),e(",在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【出版来源检索】>")]),H,t("p",null,[e("进入"),t("a",L,[e("万方智搜"),a(o)]),e("("),t("a",T,[e("https://c.wanfangdata.com.cn/periodical"),a(o)]),e(")界面,在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【搜期刊】")]),O,t("p",null,[e("打开 "),t("a",I,[e("PubMed"),a(o)]),e(' 官网,在搜索栏输入你想追踪的文献关键词,例如"heat wave",点击搜索')]),G,t("p",null,[e("RSSHub Radar 是 "),t("a",D,[e("RSSHub"),a(o)]),Q,e(" 的衍生项目,用来快速发现当前网页的 RSS 地址,如果支持 RSSHub 则显示"),X,e(" RSSHub 地址,支持包括"),Y,e("、 "),t("a",K,[e("Tiny Tiny RSS"),a(o)]),e("、FreshRSS、Feedly、Inoreader 在内的 11 款阅读器一键订阅。")]),j])}const oe=l(E,[["render",W],["__file","feed.html.vue"]]),ie=JSON.parse('{"path":"/user-guide/feed.html","title":"Feed","lang":"zh-CN","frontmatter":{"title":"Feed","icon":"rss","author":[{"name":"阿狸"}],"description":"Feed RSS Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。 追踪期刊目录更新 追踪数据库中某些【关键词】相关的文献更新情况 订阅任意网站的内容更新,例...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/feed.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Feed"}],["meta",{"property":"og:description","content":"Feed RSS Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。 追踪期刊目录更新 追踪数据库中某些【关键词】相关的文献更新情况 订阅任意网站的内容更新,例..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"阿狸"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Feed\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"阿狸\\"}]}"]]},"headers":[{"level":2,"title":"Zotero 订阅设置","slug":"zotero-订阅设置","link":"#zotero-订阅设置","children":[{"level":3,"title":"订阅来源","slug":"订阅来源","link":"#订阅来源","children":[]},{"level":3,"title":"高级选项","slug":"高级选项","link":"#高级选项","children":[]},{"level":3,"title":"从\\"订阅\\"添加文献条目到\\"我的文库\\"/\\"群组文库\\"","slug":"从-订阅-添加文献条目到-我的文库-群组文库","link":"#从-订阅-添加文献条目到-我的文库-群组文库","children":[]},{"level":3,"title":"订阅界面右键功能介绍","slug":"订阅界面右键功能介绍","link":"#订阅界面右键功能介绍","children":[]}]},{"level":2,"title":"订阅网址(RSS 链接)获取","slug":"订阅网址-rss-链接-获取","link":"#订阅网址-rss-链接-获取","children":[{"level":3,"title":"中文期刊订阅------以知网、万方数据库为例","slug":"中文期刊订阅-以知网、万方数据库为例","link":"#中文期刊订阅-以知网、万方数据库为例","children":[{"level":4,"title":"知网","slug":"知网","link":"#知网","children":[]},{"level":4,"title":"万方数据库","slug":"万方数据库","link":"#万方数据库","children":[]}]},{"level":3,"title":"英文期刊订阅","slug":"英文期刊订阅","link":"#英文期刊订阅","children":[]},{"level":3,"title":"关键词订阅(PubMed 为例)","slug":"关键词订阅-pubmed-为例","link":"#关键词订阅-pubmed-为例","children":[]},{"level":3,"title":"配合 RSSHub Radar 订阅任意网站内容","slug":"配合-rsshub-radar-订阅任意网站内容","link":"#配合-rsshub-radar-订阅任意网站内容","children":[]}]},{"level":2,"title":"订阅功能常见问题及解决方法(更新中)","slug":"订阅功能常见问题及解决方法-更新中","link":"#订阅功能常见问题及解决方法-更新中","children":[]}],"git":{"createdTime":1700046022000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":4}]},"readingTime":{"minutes":8,"words":2399},"filePathRelative":"user-guide/feed.md","localizedDate":"2023年11月15日","autoDesc":true,"excerpt":"\\n

    \\n

    Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。

    \\n
      \\n
    • 追踪期刊目录更新
    • \\n
    • 追踪数据库中某些【关键词】相关的文献更新情况
    • \\n
    • 订阅任意网站的内容更新,例如 b 站 up 主的视频更新...
    • \\n
    \\n

    Zotero 订阅设置

    \\n

    在 Zotero 主界面,左上角工具栏选择 - 新建订阅 - 从网址...

    "}');export{oe as comp,ie as data}; diff --git a/assets/flowDb-d35e309a-CT2VbFvz.js b/assets/flowDb-d35e309a-CT2VbFvz.js new file mode 100644 index 0000000000..31e0e2f919 --- /dev/null +++ b/assets/flowDb-d35e309a-CT2VbFvz.js @@ -0,0 +1,10 @@ +import{c as et,u as me,s as ye,g as ve,a as Ve,b as Le,v as Ie,x as Re,l as J1,y as dt,z as Ne,j as we,h as w1}from"./mermaid.core-xpSMncQK.js";var pt=function(){var e=function(f1,a,o,f){for(o=o||{},f=f1.length;f--;o[f1[f]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],w=[1,16],X=[1,23],o1=[1,25],p1=[1,26],A1=[1,27],C=[1,49],k=[1,48],l1=[1,29],U1=[1,30],G1=[1,31],M1=[1,32],K1=[1,33],x=[1,44],B=[1,46],m=[1,42],y=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],Y1=[1,34],j1=[1,35],z1=[1,36],X1=[1,37],I1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],q=[1,61],Q=[1,60],Z=[1,62],H1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],S1=[1,87],C1=[1,94],_1=[1,90],x1=[1,95],B1=[1,86],W1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],R1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],St=[1,145],Ct=[1,130],_t=[1,132],xt=[1,136],Bt=[1,137],mt=[1,138],yt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],wt=[1,134],Ot=[1,129],Pt=[1,133],Ut=[1,131],nt=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],p=[1,169],O=[1,165],P=[1,166],A=[1,170],d=[1,167],E=[1,168],m1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],h1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],J=[1,235],$=[1,233],t1=[1,237],e1=[1,231],s1=[1,232],u1=[1,234],i1=[1,236],r1=[1,238],y1=[1,255],Kt=[8,9,11,103],W=[8,9,10,11,58,81,102,103,106,107,108,109],at={trace:function(){},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,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement: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,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$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",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"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],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,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],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,f,r,S,t,N1){var s=t.length-1;switch(S){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 44:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var Y=r.destructLink(t[s],t[s-2]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var Y=r.destructLink(t[s]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:I1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:q,9:Q,11:Z,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:q,9:Q,11:Z,21:66},{8:q,9:Q,11:Z,21:67},{8:q,9:Q,11:Z,21:68},{8:q,9:Q,11:Z,21:69},{8:q,9:Q,11:Z,21:70},{8:q,9:Q,10:[1,71],11:Z,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(H1,[2,46],{18:75,10:I1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(W1,[2,47]),e(W1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:C,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:I1}),e(b,[2,27]),{40:112,41:38,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(R1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:St,42:Ct,58:_t,73:xt,77:[1,124],78:[1,125],80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(nt,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(H1,[2,45],{42:Gt}),{42:C,45:150,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:C,45:154,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{42:C,45:155,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:C,45:162,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:171,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:174,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:175,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:176,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:181,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:182,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:183,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(H1,[2,43],{18:184,10:I1}),e(R1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(m1,[2,73]),e(m1,[2,75]),e(m1,[2,76]),e(m1,[2,161]),e(m1,[2,162]),{8:q,9:Q,10:gt,11:Z,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:St,42:Ct,58:_t,73:xt,80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,193],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:I1,18:194},{10:[1,195],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(W1,[2,50],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:p,79:208,113:A,114:d,115:E},e(h1,[2,79]),e(h1,[2,81]),e(h1,[2,82]),e(h1,[2,146]),e(h1,[2,147]),e(h1,[2,148]),e(h1,[2,149]),{47:[1,209],65:p,79:208,113:A,114:d,115:E},{30:210,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{49:[1,211],65:p,79:208,113:A,114:d,115:E},{51:[1,212],65:p,79:208,113:A,114:d,115:E},{53:[1,213],65:p,79:208,113:A,114:d,115:E},{55:[1,214],65:p,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:p,79:208,113:A,114:d,115:E},{64:[1,217],65:p,79:208,113:A,114:d,115:E},{30:218,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{31:[1,219],65:p,79:208,113:A,114:d,115:E},{65:p,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:p,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(H1,[2,44],{42:Gt}),e(R1,[2,70]),e(R1,[2,69]),{60:[1,224],65:p,79:208,113:A,114:d,115:E},e(R1,[2,72]),e(m1,[2,74]),{30:225,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(nt,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{10:J,58:$,81:t1,89:228,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:239,101:[1,240],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:241,101:[1,242],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{102:[1,243]},{10:J,58:$,81:t1,89:244,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{42:C,45:245,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(h1,[2,80]),e(N,[2,52]),{49:[1,250],65:p,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:p,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,254],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(W1,[2,48]),e(T,[2,114],{103:y1}),e(Kt,[2,123],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(W,[2,125]),e(W,[2,127]),e(W,[2,128]),e(W,[2,129]),e(W,[2,130]),e(W,[2,131]),e(W,[2,132]),e(W,[2,133]),e(W,[2,134]),e(T,[2,115],{103:y1}),{10:[1,257]},e(T,[2,116],{103:y1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:y1}),e(T,[2,99],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:q,9:Q,11:Z,21:264},e(b,[2,34]),{10:J,58:$,81:t1,102:e1,104:265,105:230,106:s1,107:u1,108:i1,109:r1},e(W,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(N,[2,61]),e(nt,l,{5:270}),e(Kt,[2,124],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,107]),{31:[1,273],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,274],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:J,58:$,81:t1,89:275,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:276,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:y1}),e(T,[2,118],{103:y1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var f=new Error(a);throw f.hash=o,f}},parse:function(a){var o=this,f=[0],r=[],S=[null],t=[],N1=this.table,s="",Y=0,Yt=0,Ce=2,jt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ot)&&(d1.yy[ot]=this.yy[ot]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var lt=_.yylloc;t.push(lt);var xe=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var a1;return a1=r.pop()||_.lex()||jt,typeof a1!="number"&&(a1 instanceof Array&&(r=a1,a1=r.pop()),a1=o.symbols_[a1]||a1),a1}for(var G,E1,j,ht,v1={},q1,n1,zt,Q1;;){if(E1=f[f.length-1],this.defaultActions[E1]?j=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=Be()),j=N1[E1]&&N1[E1][G]),typeof j>"u"||!j.length||!j[0]){var ft="";Q1=[];for(q1 in N1[E1])this.terminals_[q1]&&q1>Ce&&Q1.push("'"+this.terminals_[q1]+"'");_.showPosition?ft="Parse error on line "+(Y+1)+`: +`+_.showPosition()+` +Expecting `+Q1.join(", ")+", got '"+(this.terminals_[G]||G)+"'":ft="Parse error on line "+(Y+1)+": Unexpected "+(G==jt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(ft,{text:_.match,token:this.terminals_[G]||G,line:_.yylineno,loc:lt,expected:Q1})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E1+", token: "+G);switch(j[0]){case 1:f.push(G),S.push(_.yytext),t.push(_.yylloc),f.push(j[1]),G=null,Yt=_.yyleng,s=_.yytext,Y=_.yylineno,lt=_.yylloc;break;case 2:if(n1=this.productions_[j[1]][1],v1.$=S[S.length-n1],v1._$={first_line:t[t.length-(n1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(n1||1)].first_column,last_column:t[t.length-1].last_column},xe&&(v1._$.range=[t[t.length-(n1||1)].range[0],t[t.length-1].range[1]]),ht=this.performAction.apply(v1,[s,Yt,Y,d1.yy,j[1],S,t].concat(_e)),typeof ht<"u")return ht;n1&&(f=f.slice(0,-1*n1*2),S=S.slice(0,-1*n1),t=t.slice(0,-1*n1)),f.push(this.productions_[j[1]][0]),S.push(v1.$),t.push(v1._$),zt=N1[f[f.length-2]][f[f.length-1]],f.push(zt);break;case 3:return!0}}return!0}},Se=function(){var f1={EOF:1,parseError:function(o,f){if(this.yy.parser)this.yy.parser.parseError(o,f);else throw new Error(o)},setInput:function(a,o){return this.yy=o||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},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.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),a},unput:function(a){var o=a.length,f=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var r=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 S=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===r.length?this.yylloc.first_column:0)+r[r.length-f.length].length-f[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` +`+o+"^"},test_match:function(a,o){var f,r,S;if(this.options.backtrack_lexer&&(S={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&&(S.yylloc.range=this.yylloc.range.slice(0))),r=a[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],f=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var t in S)this[t]=S[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,o,f,r;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),t=0;to[0].length)){if(o=f,r=t,this.options.backtrack_lexer){if(a=this.test_match(f,S[t]),a!==!1)return a;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(a=this.test_match(o,S[r]),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})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(o,f,r,S){switch(r){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return o.lex.firstGraph()&&this.begin("dir"),12;case 30:return o.lex.firstGraph()&&this.begin("dir"),12;case 31:return o.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},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:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return f1}();at.lexer=Se;function ct(){this.yy={}}return ct.prototype=at,at.Parser=ct,new ct}();pt.parser=pt;const Xe=pt,Oe="flowchart-";let Xt=0,L1=et(),D={},H=[],V1={},c1=[],$1={},tt={},Z1=0,At=!0,z,st,ut=[];const it=e=>we.sanitizeText(e,L1),P1=function(e){const u=Object.keys(D);for(const i of u)if(D[i].id===e)return D[i].domId;return e},Ht=function(e,u,i,n,c,l,h={}){let U,F=e;F!==void 0&&F.trim().length!==0&&(D[F]===void 0&&(D[F]={id:F,labelType:"text",domId:Oe+F+"-"+Xt,styles:[],classes:[]}),Xt++,u!==void 0?(L1=et(),U=it(u.text.trim()),D[F].labelType=u.type,U[0]==='"'&&U[U.length-1]==='"'&&(U=U.substring(1,U.length-1)),D[F].text=U):D[F].text===void 0&&(D[F].text=e),i!==void 0&&(D[F].type=i),n!=null&&n.forEach(function(w){D[F].styles.push(w)}),c!=null&&c.forEach(function(w){D[F].classes.push(w)}),l!==void 0&&(D[F].dir=l),D[F].props===void 0?D[F].props=h:h!==void 0&&Object.assign(D[F].props,h))},Wt=function(e,u,i){const l={start:e,end:u,type:void 0,text:"",labelType:"text"};J1.info("abc78 Got edge...",l);const h=i.text;if(h!==void 0&&(l.text=it(h.text.trim()),l.text[0]==='"'&&l.text[l.text.length-1]==='"'&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=h.type),i!==void 0&&(l.type=i.type,l.stroke=i.stroke,l.length=i.length),(l==null?void 0:l.length)>10&&(l.length=10),H.length<(L1.maxEdges??500))J1.info("abc78 pushing edge..."),H.push(l);else throw new Error(`Edge limit exceeded. ${H.length} edges found, but the limit is ${L1.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.`)},qt=function(e,u,i){J1.info("addLink (abc78)",e,u,i);let n,c;for(n=0;n=H.length)throw new Error(`The index ${i} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${H.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);i==="default"?H.defaultStyle=u:(dt.isSubstringInArray("fill",u)===-1&&u.push("fill:none"),H[i].style=u)})},Jt=function(e,u){e.split(",").forEach(function(i){V1[i]===void 0&&(V1[i]={id:i,styles:[],textStyles:[]}),u!=null&&u.forEach(function(n){if(n.match("color")){const c=n.replace("fill","bgFill").replace("color","fill");V1[i].textStyles.push(c)}V1[i].styles.push(n)})})},$t=function(e){z=e,z.match(/.*/)&&(z="LR"),z.match(/.*v/)&&(z="TB"),z==="TD"&&(z="TB")},rt=function(e,u){e.split(",").forEach(function(i){let n=i;D[n]!==void 0&&D[n].classes.push(u),$1[n]!==void 0&&$1[n].classes.push(u)})},Pe=function(e,u){e.split(",").forEach(function(i){u!==void 0&&(tt[st==="gen-1"?P1(i):i]=it(u))})},Ue=function(e,u,i){let n=P1(e);if(et().securityLevel!=="loose"||u===void 0)return;let c=[];if(typeof i=="string"){c=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l")),c.classed("hover",!0)}).on("mouseout",function(){u.transition().duration(500).style("opacity",0),w1(this).classed("hover",!1)})};ut.push(ce);const oe=function(e="gen-1"){D={},V1={},H=[],ut=[ce],c1=[],$1={},Z1=0,tt={},At=!0,st=e,L1=et(),Ne()},le=e=>{st=e||"gen-2"},he=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},fe=function(e,u,i){let n=e.text.trim(),c=i.text;e===i&&i.text.match(/\s/)&&(n=void 0);function l(X){const o1={boolean:{},number:{},string:{}},p1=[];let A1;return{nodeList:X.filter(function(k){const l1=typeof k;return k.stmt&&k.stmt==="dir"?(A1=k.value,!1):k.trim()===""?!1:l1 in o1?o1[l1].hasOwnProperty(k)?!1:o1[l1][k]=!0:p1.includes(k)?!1:p1.push(k)}),dir:A1}}let h=[];const{nodeList:U,dir:F}=l(h.concat.apply(h,u));if(h=U,st==="gen-1")for(let X=0;X2e3)return;if(pe[O1]=u,c1[u].id===e)return{result:!0,count:0};let n=0,c=1;for(;n=0){const h=Ae(e,l);if(h.result)return{result:!0,count:c+h.count};c=c+h.count}n=n+1}return{result:!1,count:c}},de=function(e){return pe[e]},Ee=function(){O1=-1,c1.length>0&&Ae("none",c1.length-1)},ke=function(){return c1},be=()=>At?(At=!1,!0):!1,Me=e=>{let u=e.trim(),i="arrow_open";switch(u[0]){case"<":i="arrow_point",u=u.slice(1);break;case"x":i="arrow_cross",u=u.slice(1);break;case"o":i="arrow_circle",u=u.slice(1);break}let n="normal";return u.includes("=")&&(n="thick"),u.includes(".")&&(n="dotted"),{type:i,stroke:n}},Ke=(e,u)=>{const i=u.length;let n=0;for(let c=0;c{const u=e.trim();let i=u.slice(0,-1),n="arrow_open";switch(u.slice(-1)){case"x":n="arrow_cross",u[0]==="x"&&(n="double_"+n,i=i.slice(1));break;case">":n="arrow_point",u[0]==="<"&&(n="double_"+n,i=i.slice(1));break;case"o":n="arrow_circle",u[0]==="o"&&(n="double_"+n,i=i.slice(1));break}let c="normal",l=i.length-1;i[0]==="="&&(c="thick"),i[0]==="~"&&(c="invisible");let h=Ke(".",i);return h&&(c="dotted",l=h),{type:n,stroke:c,length:l}},ge=(e,u)=>{const i=Ye(e);let n;if(u){if(n=Me(u),n.stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=i.type;else{if(n.type!==i.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=i.length,n}return i},De=(e,u)=>{let i=!1;return e.forEach(n=>{n.nodes.indexOf(u)>=0&&(i=!0)}),i},Fe=(e,u)=>{const i=[];return e.nodes.forEach((n,c)=>{De(u,n)||i.push(e.nodes[c])}),{nodes:i}},Te={firstGraph:be},je={defaultConfig:()=>me.flowchart,setAccTitle:ye,getAccTitle:ve,getAccDescription:Ve,setAccDescription:Le,addVertex:Ht,lookUpDomId:P1,addLink:qt,updateLinkInterpolate:Qt,updateLink:Zt,addClass:Jt,setDirection:$t,setClass:rt,setTooltip:Pe,getTooltip:ee,setClickEvent:se,setLink:te,bindFunctions:ue,getDirection:ie,getVertices:re,getEdges:ne,getClasses:ae,clear:oe,setGen:le,defaultStyle:he,addSubGraph:fe,getDepthFirstPos:de,indexNodes:Ee,getSubGraphs:ke,destructLink:ge,lex:Te,exists:De,makeUniq:Fe,setDiagramTitle:Ie,getDiagramTitle:Re},He=Object.freeze(Object.defineProperty({__proto__:null,addClass:Jt,addLink:qt,addSingleLink:Wt,addSubGraph:fe,addVertex:Ht,bindFunctions:ue,clear:oe,default:je,defaultStyle:he,destructLink:ge,firstGraph:be,getClasses:ae,getDepthFirstPos:de,getDirection:ie,getEdges:ne,getSubGraphs:ke,getTooltip:ee,getVertices:re,indexNodes:Ee,lex:Te,lookUpDomId:P1,setClass:rt,setClickEvent:se,setDirection:$t,setGen:le,setLink:te,updateLink:Zt,updateLinkInterpolate:Qt},Symbol.toStringTag,{value:"Module"}));export{He as d,je as f,Xe as p}; diff --git a/assets/flowDiagram-d949d7c1-B7RiBCpu.js b/assets/flowDiagram-d949d7c1-B7RiBCpu.js new file mode 100644 index 0000000000..e411b226f5 --- /dev/null +++ b/assets/flowDiagram-d949d7c1-B7RiBCpu.js @@ -0,0 +1,4 @@ +import{p as St,f as W}from"./flowDb-d35e309a-CT2VbFvz.js";import{h as S,f as tt,G as Lt}from"./graph-BVvHj2M5.js";import{h as x,o as P,p as z,q as et,c as J,j as rt,l as R,r as V,t as Et}from"./mermaid.core-xpSMncQK.js";import{u as _t,r as Tt,p as Nt,l as At,d as M}from"./layout-Bq0hvzvr.js";import{a as N,b as at,i as nt,c as _,e as st,d as it,f as Ct,g as It,s as Bt}from"./styles-7383a064-XIOPFsuO.js";import{l as Mt}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./index-8fae9850-DHonaQ1z.js";import"./clone-BD0VJlG_.js";import"./edges-d417c7a0-5DZNYhL5.js";import"./createText-423428c9-Bj42WdLJ.js";import"./channel-SX207SsG.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Dt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Rt(r,e){return fetch(r,e).then(Dt)}function Gt(r){return(e,t)=>Rt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Pt=Gt("image/svg+xml"),Y={normal:$t,vee:Wt,undirected:Vt};function Ut(r){Y=r}function $t(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Yt(r,e){for(var t=r.append("text"),n=Ht(e.label).split(` +`),a=0;a0}function T(r,e,t){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(p){i=Math.min(i,p.x),o=Math.min(o,p.y)});for(var c=n-r.width/2-i,d=a-r.height/2-o,l=0;l1&&s.sort(function(p,g){var f=p.x-t.x,y=p.y-t.y,k=Math.sqrt(f*f+y*y),I=g.x-t.x,E=g.y-t.y,U=Math.sqrt(I*I+E*E);return kMath.abs(a)*o?(s<0&&(o=-o),c=s===0?0:o*a/s,d=o):(a<0&&(i=-i),c=i,d=a===0?0:i*s/a),{x:t+c,y:n+d}}var Q={rect:ie,ellipse:oe,circle:le,diamond:ce};function se(r){Q=r}function ie(r,e,t){var n=r.insert("rect",":first-child").attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return t.intersect=function(a){return Z(t,a)},n}function oe(r,e,t){var n=e.width/2,a=e.height/2,s=r.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",a);return t.intersect=function(i){return lt(t,n,a,i)},s}function le(r,e,t){var n=Math.max(e.width,e.height)/2,a=r.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return t.intersect=function(s){return ae(t,n,s)},a}function ce(r,e,t){var n=e.width*Math.SQRT2/2,a=e.height*Math.SQRT2/2,s=[{x:0,y:-a},{x:-n,y:0},{x:0,y:a},{x:n,y:0}],i=r.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return t.intersect=function(o){return T(t,s,o)},i}function de(){var r=function(e,t){fe(t);var n=D(e,"output"),a=D(n,"clusters"),s=D(n,"edgePaths"),i=X(D(n,"edgeLabels"),t),o=q(D(n,"nodes"),t,Q);At(t),re(o,t),ee(i,t),F(s,t,Y);var c=H(a,t);te(c,t),pe(t)};return r.createNodes=function(e){return arguments.length?(jt(e),r):q},r.createClusters=function(e){return arguments.length?(Xt(e),r):H},r.createEdgeLabels=function(e){return arguments.length?(Ft(e),r):X},r.createEdgePaths=function(e){return arguments.length?(qt(e),r):F},r.shapes=function(e){return arguments.length?(se(e),r):Q},r.arrows=function(e){return arguments.length?(Ut(e),r):Y},r}var he={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},ue={arrowhead:"normal",curve:P};function fe(r){r.nodes().forEach(function(e){var t=r.node(e);!S(t,"label")&&!r.children(e).length&&(t.label=e),S(t,"paddingX")&&M(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&M(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&M(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),M(t,he),tt(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(n){t[n]=Number(t[n])}),S(t,"width")&&(t._prevWidth=t.width),S(t,"height")&&(t._prevHeight=t.height)}),r.edges().forEach(function(e){var t=r.edge(e);S(t,"label")||(t.label=""),M(t,ue)})}function pe(r){tt(r.nodes(),function(e){var t=r.node(e);S(t,"_prevWidth")?t.width=t._prevWidth:delete t.width,S(t,"_prevHeight")?t.height=t._prevHeight:delete t.height,delete t._prevWidth,delete t._prevHeight})}function D(r,e){var t=r.select("g."+e);return t.empty()&&(t=r.append("g").attr("class",e)),t}function ct(r,e,t){const n=e.width,a=e.height,s=(n+a)*.9,i=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=A(r,s,s,i);return t.intersect=function(c){return T(t,i,c)},o}function dt(r,e,t){const a=e.height,s=a/4,i=e.width+2*s,o=[{x:s,y:0},{x:i-s,y:0},{x:i,y:-a/2},{x:i-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],c=A(r,i,a,o);return t.intersect=function(d){return T(t,o,d)},c}function ht(r,e,t){const n=e.width,a=e.height,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ut(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ft(r,e,t){const n=e.width,a=e.height,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function pt(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function vt(r,e,t){const n=e.width,a=e.height,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function yt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function gt(r,e,t){const n=e.height,a=e.width+n/4,s=r.insert("rect",":first-child").attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return t.intersect=function(i){return Z(t,i)},s}function mt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function wt(r,e,t){const n=e.width,a=n/2,s=a/(2.5+n/50),i=e.height+s,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-i,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-n/2+","+-(i/2+s)+")");return t.intersect=function(d){const l=Z(t,d),v=l.x-t.x;if(a!=0&&(Math.abs(v)t.height/2-s)){let h=s*s*(1-v*v/(a*a));h!=0&&(h=Math.sqrt(h)),h=s-h,d.y-t.y>0&&(h=-h),l.y+=h}return l},c}function ve(r){r.shapes().question=ct,r.shapes().hexagon=dt,r.shapes().stadium=gt,r.shapes().subroutine=mt,r.shapes().cylinder=wt,r.shapes().rect_left_inv_arrow=ht,r.shapes().lean_right=ut,r.shapes().lean_left=ft,r.shapes().trapezoid=pt,r.shapes().inv_trapezoid=vt,r.shapes().rect_right_inv_arrow=yt}function ye(r){r({question:ct}),r({hexagon:dt}),r({stadium:gt}),r({subroutine:mt}),r({cylinder:wt}),r({rect_left_inv_arrow:ht}),r({lean_right:ut}),r({lean_left:ft}),r({trapezoid:pt}),r({inv_trapezoid:vt}),r({rect_right_inv_arrow:yt})}function A(r,e,t,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+-e/2+","+t/2+")")}const ge={addToRender:ve,addToRenderV2:ye},xt={},me=function(r){const e=Object.keys(r);for(const t of e)xt[t]=r[t]},bt=function(r,e,t,n,a,s){const i=n?n.select(`[id="${t}"]`):x(`[id="${t}"]`),o=a||document;Object.keys(r).forEach(function(d){const l=r[d];let v="default";l.classes.length>0&&(v=l.classes.join(" "));const h=z(l.styles);let u=l.text!==void 0?l.text:l.id,p;if(et(J().flowchart.htmlLabels)){const y={label:u.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};p=at(i,y).node(),p.parentNode.removeChild(p)}else{const y=o.createElementNS("http://www.w3.org/2000/svg","text");y.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=u.split(rt.lineBreakRegex);for(const I of k){const E=o.createElementNS("http://www.w3.org/2000/svg","tspan");E.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),E.setAttribute("dy","1em"),E.setAttribute("x","1"),E.textContent=I,y.appendChild(E)}p=y}let g=0,f="";switch(l.type){case"round":g=5,f="rect";break;case"square":f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"odd_right":f="rect_left_inv_arrow";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"group":f="rect";break;default:f="rect"}R.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:g,ry:g,class:v,style:h.style,id:s.db.lookUpDomId(l.id)})})},kt=function(r,e,t){let n=0,a,s;if(r.defaultStyle!==void 0){const i=z(r.defaultStyle);a=i.style,s=i.labelStyle}r.forEach(function(i){n++;const o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end,l={};i.type==="arrow_open"?l.arrowhead="none":l.arrowhead="normal";let v="",h="";if(i.style!==void 0){const u=z(i.style);v=u.style,h=u.labelStyle}else switch(i.stroke){case"normal":v="fill:none",a!==void 0&&(v=a),s!==void 0&&(h=s);break;case"dotted":v="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v=" stroke-width: 3.5px;fill:none";break}l.style=v,l.labelStyle=h,i.interpolate!==void 0?l.curve=V(i.interpolate,P):r.defaultInterpolate!==void 0?l.curve=V(r.defaultInterpolate,P):l.curve=V(xt.curve,P),i.text===void 0?i.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",et(J().flowchart.htmlLabels)?(l.labelType="html",l.label=`${i.text.replace(/fa[blrs]?:fa-[\w-]+/g,u=>``)}`):(l.labelType="text",l.label=i.text.replace(rt.lineBreakRegex,` +`),i.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=o,l.class=c+" "+d,l.minlen=i.length||1,e.setEdge(t.db.lookUpDomId(i.start),t.db.lookUpDomId(i.end),l,n)})},we=function(r,e){return R.info("Extracting classes"),e.db.getClasses()},xe=function(r,e,t,n){R.info("Drawing flowchart");const{securityLevel:a,flowchart:s}=J();let i;a==="sandbox"&&(i=x("#i"+e));const o=a==="sandbox"?x(i.nodes()[0].contentDocument.body):x("body"),c=a==="sandbox"?i.nodes()[0].contentDocument:document;let d=n.db.getDirection();d===void 0&&(d="TD");const l=s.nodeSpacing||50,v=s.rankSpacing||50,h=new Lt({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:l,ranksep:v,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let u;const p=n.db.getSubGraphs();for(let m=p.length-1;m>=0;m--)u=p[m],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const g=n.db.getVertices();R.warn("Get vertices",g);const f=n.db.getEdges();let y=0;for(y=p.length-1;y>=0;y--){u=p[y],Bt("cluster").append("text");for(let m=0;m{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,be.setConf(r.flowchart),W.clear(),W.setGen("gen-1")}};export{Ge as diagram}; diff --git a/assets/flowDiagram-v2-49332944-RlTTmQKc.js b/assets/flowDiagram-v2-49332944-RlTTmQKc.js new file mode 100644 index 0000000000..16f37c1296 --- /dev/null +++ b/assets/flowDiagram-v2-49332944-RlTTmQKc.js @@ -0,0 +1 @@ +import{p as e,f as o}from"./flowDb-d35e309a-CT2VbFvz.js";import{f as t,g as a}from"./styles-7383a064-XIOPFsuO.js";import{aq as i}from"./mermaid.core-xpSMncQK.js";import"./graph-BVvHj2M5.js";import"./layout-Bq0hvzvr.js";import"./index-8fae9850-DHonaQ1z.js";import"./clone-BD0VJlG_.js";import"./edges-d417c7a0-5DZNYhL5.js";import"./createText-423428c9-Bj42WdLJ.js";import"./line-CQCn-Nwe.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-SX207SsG.js";import"./app-pLjDz5vt.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/assets/flowchart-elk-definition-27cc417a-DWg7WXio.js b/assets/flowchart-elk-definition-27cc417a-DWg7WXio.js new file mode 100644 index 0000000000..9a0998f190 --- /dev/null +++ b/assets/flowchart-elk-definition-27cc417a-DWg7WXio.js @@ -0,0 +1,139 @@ +import{d as xNe,p as FNe}from"./flowDb-d35e309a-CT2VbFvz.js";import{aB as Nse,aC as BNe,l as Ra,h as IO,a$ as xU,t as RNe,p as E0n,r as j0n,o as $U,j as KNe}from"./mermaid.core-xpSMncQK.js";import{i as _Ne,a as HNe,l as qNe,b as UNe,k as GNe,m as zNe}from"./edges-d417c7a0-5DZNYhL5.js";import{l as XNe}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./createText-423428c9-Bj42WdLJ.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function NU(ct){throw new Error('Could not dynamically require "'+ct+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bse={exports:{}};(function(ct,_t){(function(Xt){ct.exports=Xt()})(function(){return function(){function Xt(gt,Sr,Di){function y(Ht,Jt){if(!Sr[Ht]){if(!gt[Ht]){var Xe=typeof NU=="function"&&NU;if(!Jt&&Xe)return Xe(Ht,!0);if(Wt)return Wt(Ht,!0);var Yi=new Error("Cannot find module '"+Ht+"'");throw Yi.code="MODULE_NOT_FOUND",Yi}var Ri=Sr[Ht]={exports:{}};gt[Ht][0].call(Ri.exports,function(En){var hu=gt[Ht][1][En];return y(hu||En)},Ri,Ri.exports,Xt,gt,Sr,Di)}return Sr[Ht].exports}for(var Wt=typeof NU=="function"&&NU,Bu=0;Bu0&&arguments[0]!==void 0?arguments[0]:{},Yi=Xe.defaultLayoutOptions,Ri=Yi===void 0?{}:Yi,En=Xe.algorithms,hu=En===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:En,Qc=Xe.workerFactory,Ru=Xe.workerUrl;if(y(this,Ht),this.defaultLayoutOptions=Ri,this.initialized=!1,typeof Ru>"u"&&typeof Qc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Pr=Qc;typeof Ru<"u"&&typeof Qc>"u"&&(Pr=function(N1){return new Worker(N1)});var Mf=Pr(Ru);if(typeof Mf.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new Bu(Mf),this.worker.postMessage({cmd:"register",algorithms:hu}).then(function(L1){return Jt.initialized=!0}).catch(console.err)}return Di(Ht,[{key:"layout",value:function(Xe){var Yi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ri=Yi.layoutOptions,En=Ri===void 0?this.defaultLayoutOptions:Ri,hu=Yi.logging,Qc=hu===void 0?!1:hu,Ru=Yi.measureExecutionTime,Pr=Ru===void 0?!1:Ru;return Xe?this.worker.postMessage({cmd:"layout",graph:Xe,layoutOptions:En,options:{logging:Qc,measureExecutionTime:Pr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),Ht}();Sr.default=Wt;var Bu=function(){function Ht(Jt){var Xe=this;if(y(this,Ht),Jt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=Jt,this.worker.onmessage=function(Yi){setTimeout(function(){Xe.receive(Xe,Yi)},0)}}return Di(Ht,[{key:"postMessage",value:function(Xe){var Yi=this.id||0;this.id=Yi+1,Xe.id=Yi;var Ri=this;return new Promise(function(En,hu){Ri.resolvers[Yi]=function(Qc,Ru){Qc?(Ri.convertGwtStyleError(Qc),hu(Qc)):En(Ru)},Ri.worker.postMessage(Xe)})}},{key:"receive",value:function(Xe,Yi){var Ri=Yi.data,En=Xe.resolvers[Ri.id];En&&(delete Xe.resolvers[Ri.id],Ri.error?En(Ri.error):En(null,Ri.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Xe){if(Xe){var Yi=Xe.__java$exception;Yi&&(Yi.cause&&Yi.cause.backingJsObject&&(Xe.cause=Yi.cause.backingJsObject,this.convertGwtStyleError(Xe.cause)),delete Xe.__java$exception)}}}]),Ht}()},{}],2:[function(Xt,gt,Sr){(function(Di){(function(){var y;typeof window<"u"?y=window:typeof Di<"u"?y=Di:typeof self<"u"&&(y=self);var Wt;function Bu(){}function Ht(){}function Jt(){}function Xe(){}function Yi(){}function Ri(){}function En(){}function hu(){}function Qc(){}function Ru(){}function Pr(){}function Mf(){}function L1(){}function N1(){}function og(){}function V3(){}function $1(){}function ul(){}function C0n(){}function M0n(){}function Q2(){}function F(){}function T0n(){}function mE(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function FU(){}function D0n(){}function L0n(){}function N0n(){}function OO(){}function $0n(){}function x0n(){}function F0n(){}function DO(){}function B0n(){}function R0n(){}function BU(){}function K0n(){}function _0n(){}function yu(){}function ju(){}function Y2(){}function Z2(){}function H0n(){}function q0n(){}function U0n(){}function G0n(){}function RU(){}function Eu(){}function np(){}function ep(){}function z0n(){}function X0n(){}function LO(){}function V0n(){}function W0n(){}function J0n(){}function Q0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function obn(){}function sbn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function mbn(){}function vbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Mbn(){}function Tbn(){}function KU(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function NO(){}function $O(){}function vE(){}function Obn(){}function Dbn(){}function xO(){}function Lbn(){}function Nbn(){}function $bn(){}function kE(){}function xbn(){}function Fbn(){}function Bbn(){}function Rbn(){}function Kbn(){}function _bn(){}function Hbn(){}function qbn(){}function Ubn(){}function _U(){}function Gbn(){}function zbn(){}function HU(){}function Xbn(){}function Vbn(){}function Wbn(){}function Jbn(){}function Qbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function FO(){}function uwn(){}function own(){}function swn(){}function fwn(){}function hwn(){}function lwn(){}function awn(){}function dwn(){}function bwn(){}function qU(){}function UU(){}function wwn(){}function gwn(){}function pwn(){}function mwn(){}function vwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Mwn(){}function Twn(){}function Awn(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function Lwn(){}function Nwn(){}function $wn(){}function xwn(){}function Fwn(){}function Bwn(){}function Rwn(){}function Kwn(){}function _wn(){}function Hwn(){}function qwn(){}function Uwn(){}function Gwn(){}function zwn(){}function Xwn(){}function Vwn(){}function Wwn(){}function Jwn(){}function Qwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function ogn(){}function sgn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function mgn(){}function vgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Mgn(){}function Tgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function Lgn(){}function Ngn(){}function $gn(){}function xgn(){}function Fgn(){}function Bgn(){}function Rgn(){}function Kgn(){}function _gn(){}function Hgn(){}function qgn(){}function Ugn(){}function Ggn(){}function zgn(){}function Xgn(){}function Vgn(){}function Wgn(){}function Jgn(){}function Qgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function t2n(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function GU(){}function o2n(){}function s2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function m2n(){}function v2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function C2n(){}function M2n(){}function T2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function L2n(){}function N2n(){}function $2n(){}function x2n(){}function F2n(){}function B2n(){}function R2n(){}function K2n(){}function _2n(){}function H2n(){}function q2n(){}function U2n(){}function G2n(){}function z2n(){}function X2n(){}function V2n(){}function W2n(){}function J2n(){}function Q2n(){}function Y2n(){}function Z2n(){}function npn(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function opn(){}function spn(){}function fpn(){}function hpn(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function mpn(){}function vpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Mpn(){}function zU(){}function Tpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function Lpn(){}function Npn(){}function $pn(){}function XU(){}function xpn(){}function Fpn(){}function Bpn(){}function Rpn(){}function Kpn(){}function _pn(){}function VU(){}function WU(){}function Hpn(){}function JU(){}function QU(){}function qpn(){}function Upn(){}function Gpn(){}function zpn(){}function Xpn(){}function Vpn(){}function Wpn(){}function Jpn(){}function Qpn(){}function Ypn(){}function Zpn(){}function YU(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function o3n(){}function s3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function m3n(){}function v3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function M3n(){}function T3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function L3n(){}function N3n(){}function $3n(){}function x3n(){}function F3n(){}function B3n(){}function R3n(){}function K3n(){}function _3n(){}function H3n(){}function q3n(){}function U3n(){}function G3n(){}function z3n(){}function X3n(){}function V3n(){}function W3n(){}function J3n(){}function Q3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function r4n(){}function c4n(){}function u4n(){}function o4n(){}function s4n(){}function f4n(){}function h4n(){}function l4n(){}function a4n(){}function d4n(){}function b4n(){}function w4n(){}function g4n(){}function p4n(){}function m4n(){}function v4n(){}function k4n(){}function y4n(){}function j4n(){}function E4n(){}function C4n(){}function M4n(){}function T4n(){}function A4n(){}function S4n(){}function P4n(){}function I4n(){}function O4n(){}function _se(){}function D4n(){}function L4n(){}function N4n(){}function $4n(){}function x4n(){}function F4n(){}function B4n(){}function R4n(){}function K4n(){}function _4n(){}function H4n(){}function q4n(){}function U4n(){}function G4n(){}function z4n(){}function X4n(){}function V4n(){}function W4n(){}function J4n(){}function Q4n(){}function Y4n(){}function Z4n(){}function nmn(){}function emn(){}function tmn(){}function imn(){}function rmn(){}function BO(){}function RO(){}function cmn(){}function KO(){}function umn(){}function omn(){}function smn(){}function fmn(){}function hmn(){}function lmn(){}function amn(){}function dmn(){}function bmn(){}function wmn(){}function ZU(){}function gmn(){}function pmn(){}function mmn(){}function Hse(){}function vmn(){}function kmn(){}function ymn(){}function jmn(){}function Emn(){}function Cmn(){}function Mmn(){}function Ka(){}function Tmn(){}function tp(){}function nG(){}function Amn(){}function Smn(){}function Pmn(){}function Imn(){}function Omn(){}function Dmn(){}function Lmn(){}function Nmn(){}function $mn(){}function xmn(){}function Fmn(){}function Bmn(){}function Rmn(){}function Kmn(){}function _mn(){}function Hmn(){}function qmn(){}function Umn(){}function Gmn(){}function hn(){}function zmn(){}function Xmn(){}function Vmn(){}function Wmn(){}function Jmn(){}function Qmn(){}function Ymn(){}function Zmn(){}function nvn(){}function evn(){}function tvn(){}function ivn(){}function rvn(){}function _O(){}function cvn(){}function uvn(){}function ovn(){}function yE(){}function svn(){}function HO(){}function jE(){}function fvn(){}function eG(){}function hvn(){}function lvn(){}function avn(){}function dvn(){}function bvn(){}function wvn(){}function EE(){}function gvn(){}function pvn(){}function CE(){}function mvn(){}function ME(){}function vvn(){}function tG(){}function kvn(){}function qO(){}function iG(){}function yvn(){}function jvn(){}function Evn(){}function Cvn(){}function qse(){}function Mvn(){}function Tvn(){}function Avn(){}function Svn(){}function Pvn(){}function Ivn(){}function Ovn(){}function Dvn(){}function Lvn(){}function Nvn(){}function W3(){}function UO(){}function $vn(){}function xvn(){}function Fvn(){}function Bvn(){}function Rvn(){}function Kvn(){}function _vn(){}function Hvn(){}function qvn(){}function Uvn(){}function Gvn(){}function zvn(){}function Xvn(){}function Vvn(){}function Wvn(){}function Jvn(){}function Qvn(){}function Yvn(){}function Zvn(){}function n6n(){}function e6n(){}function t6n(){}function i6n(){}function r6n(){}function c6n(){}function u6n(){}function o6n(){}function s6n(){}function f6n(){}function h6n(){}function l6n(){}function a6n(){}function d6n(){}function b6n(){}function w6n(){}function g6n(){}function p6n(){}function m6n(){}function v6n(){}function k6n(){}function y6n(){}function j6n(){}function E6n(){}function C6n(){}function M6n(){}function T6n(){}function A6n(){}function S6n(){}function P6n(){}function I6n(){}function O6n(){}function D6n(){}function L6n(){}function N6n(){}function $6n(){}function x6n(){}function F6n(){}function B6n(){}function R6n(){}function K6n(){}function _6n(){}function H6n(){}function q6n(){}function U6n(){}function G6n(){}function z6n(){}function X6n(){}function V6n(){}function W6n(){}function J6n(){}function Q6n(){}function Y6n(){}function Z6n(){}function n5n(){}function e5n(){}function t5n(){}function i5n(){}function r5n(){}function c5n(){}function u5n(){}function o5n(){}function s5n(){}function f5n(){}function h5n(){}function l5n(){}function a5n(){}function d5n(){}function b5n(){}function w5n(){}function g5n(){}function p5n(){}function m5n(){}function v5n(){}function k5n(){}function y5n(){}function j5n(){}function E5n(){}function C5n(){}function M5n(){}function T5n(){}function A5n(){}function rG(){}function S5n(){}function P5n(){}function GO(){Zv()}function I5n(){r7()}function O5n(){aA()}function D5n(){Q$()}function L5n(){C5()}function N5n(){ann()}function $5n(){Us()}function x5n(){jZ()}function F5n(){Uk()}function B5n(){c7()}function R5n(){L7()}function K5n(){aCn()}function _5n(){Hp()}function H5n(){KLn()}function q5n(){yQ()}function U5n(){SOn()}function G5n(){jQ()}function z5n(){pNn()}function X5n(){AOn()}function V5n(){cm()}function W5n(){nxn()}function J5n(){Z$n()}function Q5n(){EDn()}function Y5n(){exn()}function Z5n(){ua()}function n8n(){ZE()}function e8n(){ltn()}function t8n(){cn()}function i8n(){txn()}function r8n(){Pxn()}function c8n(){POn()}function u8n(){nKn()}function o8n(){IOn()}function s8n(){bUn()}function f8n(){qnn()}function h8n(){kl()}function l8n(){wBn()}function a8n(){lc()}function d8n(){ROn()}function b8n(){_p()}function w8n(){Men()}function g8n(){oa()}function p8n(){Ten()}function m8n(){Rf()}function v8n(){Wk()}function k8n(){EF()}function y8n(){Dx()}function uf(){wSn()}function j8n(){YM()}function E8n(){mA()}function cG(){He()}function C8n(){NT()}function M8n(){YY()}function uG(){D$()}function oG(){KA()}function T8n(){Fen()}function sG(n){Jn(n)}function A8n(n){this.a=n}function TE(n){this.a=n}function S8n(n){this.a=n}function P8n(n){this.a=n}function I8n(n){this.a=n}function O8n(n){this.a=n}function D8n(n){this.a=n}function L8n(n){this.a=n}function fG(n){this.a=n}function hG(n){this.a=n}function N8n(n){this.a=n}function $8n(n){this.a=n}function zO(n){this.a=n}function x8n(n){this.a=n}function F8n(n){this.a=n}function XO(n){this.a=n}function VO(n){this.a=n}function B8n(n){this.a=n}function WO(n){this.a=n}function R8n(n){this.a=n}function K8n(n){this.a=n}function _8n(n){this.a=n}function lG(n){this.b=n}function H8n(n){this.c=n}function q8n(n){this.a=n}function U8n(n){this.a=n}function G8n(n){this.a=n}function z8n(n){this.a=n}function X8n(n){this.a=n}function V8n(n){this.a=n}function W8n(n){this.a=n}function J8n(n){this.a=n}function Q8n(n){this.a=n}function Y8n(n){this.a=n}function Z8n(n){this.a=n}function n9n(n){this.a=n}function e9n(n){this.a=n}function aG(n){this.a=n}function dG(n){this.a=n}function AE(n){this.a=n}function U9(n){this.a=n}function _a(){this.a=[]}function t9n(n,e){n.a=e}function Use(n,e){n.a=e}function Gse(n,e){n.b=e}function zse(n,e){n.b=e}function Xse(n,e){n.b=e}function bG(n,e){n.j=e}function Vse(n,e){n.g=e}function Wse(n,e){n.i=e}function Jse(n,e){n.c=e}function Qse(n,e){n.c=e}function Yse(n,e){n.d=e}function Zse(n,e){n.d=e}function Ha(n,e){n.k=e}function nfe(n,e){n.c=e}function wG(n,e){n.c=e}function gG(n,e){n.a=e}function efe(n,e){n.a=e}function tfe(n,e){n.f=e}function ife(n,e){n.a=e}function rfe(n,e){n.b=e}function JO(n,e){n.d=e}function SE(n,e){n.i=e}function pG(n,e){n.o=e}function cfe(n,e){n.r=e}function ufe(n,e){n.a=e}function ofe(n,e){n.b=e}function i9n(n,e){n.e=e}function sfe(n,e){n.f=e}function mG(n,e){n.g=e}function ffe(n,e){n.e=e}function hfe(n,e){n.f=e}function lfe(n,e){n.f=e}function QO(n,e){n.a=e}function YO(n,e){n.b=e}function afe(n,e){n.n=e}function dfe(n,e){n.a=e}function bfe(n,e){n.c=e}function wfe(n,e){n.c=e}function gfe(n,e){n.c=e}function pfe(n,e){n.a=e}function mfe(n,e){n.a=e}function vfe(n,e){n.d=e}function kfe(n,e){n.d=e}function yfe(n,e){n.e=e}function jfe(n,e){n.e=e}function Efe(n,e){n.g=e}function Cfe(n,e){n.f=e}function Mfe(n,e){n.j=e}function Tfe(n,e){n.a=e}function Afe(n,e){n.a=e}function Sfe(n,e){n.b=e}function r9n(n){n.b=n.a}function c9n(n){n.c=n.d.d}function vG(n){this.a=n}function kG(n){this.a=n}function yG(n){this.a=n}function qa(n){this.a=n}function Ua(n){this.a=n}function G9(n){this.a=n}function u9n(n){this.a=n}function jG(n){this.a=n}function z9(n){this.a=n}function PE(n){this.a=n}function ol(n){this.a=n}function Sb(n){this.a=n}function o9n(n){this.a=n}function s9n(n){this.a=n}function ZO(n){this.b=n}function J3(n){this.b=n}function Q3(n){this.b=n}function nD(n){this.a=n}function f9n(n){this.a=n}function eD(n){this.c=n}function C(n){this.c=n}function h9n(n){this.c=n}function zv(n){this.d=n}function EG(n){this.a=n}function Te(n){this.a=n}function l9n(n){this.a=n}function CG(n){this.a=n}function MG(n){this.a=n}function TG(n){this.a=n}function AG(n){this.a=n}function SG(n){this.a=n}function PG(n){this.a=n}function Y3(n){this.a=n}function a9n(n){this.a=n}function d9n(n){this.a=n}function Z3(n){this.a=n}function b9n(n){this.a=n}function w9n(n){this.a=n}function g9n(n){this.a=n}function p9n(n){this.a=n}function m9n(n){this.a=n}function v9n(n){this.a=n}function k9n(n){this.a=n}function y9n(n){this.a=n}function j9n(n){this.a=n}function E9n(n){this.a=n}function C9n(n){this.a=n}function M9n(n){this.a=n}function T9n(n){this.a=n}function A9n(n){this.a=n}function S9n(n){this.a=n}function Xv(n){this.a=n}function P9n(n){this.a=n}function I9n(n){this.a=n}function O9n(n){this.a=n}function D9n(n){this.a=n}function IE(n){this.a=n}function L9n(n){this.a=n}function N9n(n){this.a=n}function n4(n){this.a=n}function IG(n){this.a=n}function $9n(n){this.a=n}function x9n(n){this.a=n}function F9n(n){this.a=n}function B9n(n){this.a=n}function R9n(n){this.a=n}function K9n(n){this.a=n}function OG(n){this.a=n}function DG(n){this.a=n}function LG(n){this.a=n}function Vv(n){this.a=n}function OE(n){this.e=n}function e4(n){this.a=n}function _9n(n){this.a=n}function ip(n){this.a=n}function NG(n){this.a=n}function H9n(n){this.a=n}function q9n(n){this.a=n}function U9n(n){this.a=n}function G9n(n){this.a=n}function z9n(n){this.a=n}function X9n(n){this.a=n}function V9n(n){this.a=n}function W9n(n){this.a=n}function J9n(n){this.a=n}function Q9n(n){this.a=n}function Y9n(n){this.a=n}function $G(n){this.a=n}function Z9n(n){this.a=n}function n7n(n){this.a=n}function e7n(n){this.a=n}function t7n(n){this.a=n}function i7n(n){this.a=n}function r7n(n){this.a=n}function c7n(n){this.a=n}function u7n(n){this.a=n}function o7n(n){this.a=n}function s7n(n){this.a=n}function f7n(n){this.a=n}function h7n(n){this.a=n}function l7n(n){this.a=n}function a7n(n){this.a=n}function d7n(n){this.a=n}function b7n(n){this.a=n}function w7n(n){this.a=n}function g7n(n){this.a=n}function p7n(n){this.a=n}function m7n(n){this.a=n}function v7n(n){this.a=n}function k7n(n){this.a=n}function y7n(n){this.a=n}function j7n(n){this.a=n}function E7n(n){this.a=n}function C7n(n){this.a=n}function M7n(n){this.a=n}function T7n(n){this.a=n}function A7n(n){this.a=n}function S7n(n){this.a=n}function P7n(n){this.a=n}function I7n(n){this.a=n}function O7n(n){this.a=n}function D7n(n){this.a=n}function L7n(n){this.a=n}function N7n(n){this.a=n}function $7n(n){this.a=n}function x7n(n){this.a=n}function F7n(n){this.c=n}function B7n(n){this.b=n}function R7n(n){this.a=n}function K7n(n){this.a=n}function _7n(n){this.a=n}function H7n(n){this.a=n}function q7n(n){this.a=n}function U7n(n){this.a=n}function G7n(n){this.a=n}function z7n(n){this.a=n}function X7n(n){this.a=n}function V7n(n){this.a=n}function W7n(n){this.a=n}function J7n(n){this.a=n}function Q7n(n){this.a=n}function Y7n(n){this.a=n}function Z7n(n){this.a=n}function nkn(n){this.a=n}function ekn(n){this.a=n}function tkn(n){this.a=n}function ikn(n){this.a=n}function rkn(n){this.a=n}function ckn(n){this.a=n}function ukn(n){this.a=n}function okn(n){this.a=n}function skn(n){this.a=n}function fkn(n){this.a=n}function hkn(n){this.a=n}function lkn(n){this.a=n}function sl(n){this.a=n}function sg(n){this.a=n}function akn(n){this.a=n}function dkn(n){this.a=n}function bkn(n){this.a=n}function wkn(n){this.a=n}function gkn(n){this.a=n}function pkn(n){this.a=n}function mkn(n){this.a=n}function vkn(n){this.a=n}function kkn(n){this.a=n}function ykn(n){this.a=n}function jkn(n){this.a=n}function Ekn(n){this.a=n}function Ckn(n){this.a=n}function Mkn(n){this.a=n}function Tkn(n){this.a=n}function Akn(n){this.a=n}function Skn(n){this.a=n}function Pkn(n){this.a=n}function Ikn(n){this.a=n}function Okn(n){this.a=n}function Dkn(n){this.a=n}function Lkn(n){this.a=n}function Nkn(n){this.a=n}function $kn(n){this.a=n}function xkn(n){this.a=n}function Fkn(n){this.a=n}function DE(n){this.a=n}function Bkn(n){this.f=n}function Rkn(n){this.a=n}function Kkn(n){this.a=n}function _kn(n){this.a=n}function Hkn(n){this.a=n}function qkn(n){this.a=n}function Ukn(n){this.a=n}function Gkn(n){this.a=n}function zkn(n){this.a=n}function Xkn(n){this.a=n}function Vkn(n){this.a=n}function Wkn(n){this.a=n}function Jkn(n){this.a=n}function Qkn(n){this.a=n}function Ykn(n){this.a=n}function Zkn(n){this.a=n}function nyn(n){this.a=n}function eyn(n){this.a=n}function tyn(n){this.a=n}function iyn(n){this.a=n}function ryn(n){this.a=n}function cyn(n){this.a=n}function uyn(n){this.a=n}function oyn(n){this.a=n}function syn(n){this.a=n}function fyn(n){this.a=n}function hyn(n){this.a=n}function lyn(n){this.a=n}function ayn(n){this.a=n}function tD(n){this.a=n}function xG(n){this.a=n}function lt(n){this.b=n}function dyn(n){this.a=n}function byn(n){this.a=n}function wyn(n){this.a=n}function gyn(n){this.a=n}function pyn(n){this.a=n}function myn(n){this.a=n}function vyn(n){this.a=n}function kyn(n){this.b=n}function yyn(n){this.a=n}function X9(n){this.a=n}function jyn(n){this.a=n}function Eyn(n){this.a=n}function FG(n){this.c=n}function LE(n){this.e=n}function NE(n){this.a=n}function $E(n){this.a=n}function iD(n){this.a=n}function Cyn(n){this.d=n}function Myn(n){this.a=n}function BG(n){this.a=n}function RG(n){this.a=n}function Wd(n){this.e=n}function Pfe(){this.a=0}function de(){Hu(this)}function Z(){pL(this)}function rD(){sIn(this)}function Tyn(){}function Jd(){this.c=Gdn}function Ayn(n,e){n.b+=e}function Ife(n,e){e.Wb(n)}function Ofe(n){return n.a}function Dfe(n){return n.a}function Lfe(n){return n.a}function Nfe(n){return n.a}function $fe(n){return n.a}function M(n){return n.e}function xfe(){return null}function Ffe(){return null}function Bfe(){Cz(),pLe()}function Rfe(n){n.b.Of(n.e)}function Syn(n){n.b=new CD}function Wv(n,e){n.b=e-n.b}function Jv(n,e){n.a=e-n.a}function Kn(n,e){n.push(e)}function Pyn(n,e){n.sort(e)}function Iyn(n,e){e.jd(n.a)}function Kfe(n,e){gi(e,n)}function _fe(n,e,t){n.Yd(t,e)}function V9(n,e){n.e=e,e.b=n}function KG(n){oh(),this.a=n}function Oyn(n){oh(),this.a=n}function Dyn(n){oh(),this.a=n}function cD(n){m0(),this.a=n}function Lyn(n){O4(),VK.le(n)}function _G(){_G=F,new de}function Ga(){YTn.call(this)}function HG(){YTn.call(this)}function qG(){Ga.call(this)}function uD(){Ga.call(this)}function Nyn(){Ga.call(this)}function W9(){Ga.call(this)}function Cu(){Ga.call(this)}function rp(){Ga.call(this)}function Pe(){Ga.call(this)}function Bo(){Ga.call(this)}function $yn(){Ga.call(this)}function nc(){Ga.call(this)}function xyn(){Ga.call(this)}function Fyn(){this.a=this}function xE(){this.Bb|=256}function Byn(){this.b=new GMn}function Pb(n,e){n.length=e}function FE(n,e){nn(n.a,e)}function Hfe(n,e){bnn(n.c,e)}function qfe(n,e){fi(n.b,e)}function Ufe(n,e){uA(n.a,e)}function Gfe(n,e){cx(n.a,e)}function t4(n,e){it(n.e,e)}function cp(n){jA(n.c,n.b)}function zfe(n,e){n.kc().Nb(e)}function UG(n){this.a=B5e(n)}function ni(){this.a=new de}function Ryn(){this.a=new de}function GG(){this.a=new rCn}function BE(){this.a=new Z}function oD(){this.a=new Z}function zG(){this.a=new Z}function hs(){this.a=new cbn}function za(){this.a=new NLn}function XG(){this.a=new _U}function VG(){this.a=new TOn}function WG(){this.a=new BAn}function Kyn(){this.a=new Z}function _yn(){this.a=new Z}function Hyn(){this.a=new Z}function JG(){this.a=new Z}function qyn(){this.d=new Z}function Uyn(){this.a=new zOn}function Gyn(){this.a=new ni}function zyn(){this.a=new de}function Xyn(){this.b=new de}function Vyn(){this.b=new Z}function QG(){this.e=new Z}function Wyn(){this.a=new Z5n}function Jyn(){this.d=new Z}function Qyn(){QIn.call(this)}function Yyn(){QIn.call(this)}function Zyn(){Z.call(this)}function YG(){qG.call(this)}function ZG(){BE.call(this)}function njn(){qC.call(this)}function ejn(){JG.call(this)}function Qv(){Tyn.call(this)}function sD(){Qv.call(this)}function up(){Tyn.call(this)}function nz(){up.call(this)}function tjn(){rz.call(this)}function ijn(){rz.call(this)}function rjn(){rz.call(this)}function cjn(){cz.call(this)}function Yv(){svn.call(this)}function ez(){svn.call(this)}function Mu(){Ct.call(this)}function ujn(){yjn.call(this)}function ojn(){yjn.call(this)}function sjn(){de.call(this)}function fjn(){de.call(this)}function hjn(){de.call(this)}function fD(){cxn.call(this)}function ljn(){ni.call(this)}function ajn(){xE.call(this)}function hD(){BX.call(this)}function tz(){de.call(this)}function lD(){BX.call(this)}function aD(){de.call(this)}function djn(){de.call(this)}function iz(){ME.call(this)}function bjn(){iz.call(this)}function wjn(){ME.call(this)}function gjn(){rG.call(this)}function rz(){this.a=new ni}function pjn(){this.a=new de}function mjn(){this.a=new Z}function cz(){this.a=new de}function op(){this.a=new Ct}function vjn(){this.j=new Z}function kjn(){this.a=new mEn}function yjn(){this.a=new mvn}function uz(){this.a=new Z4n}function Zv(){Zv=F,KK=new Ht}function dD(){dD=F,_K=new Ejn}function bD(){bD=F,HK=new jjn}function jjn(){XO.call(this,"")}function Ejn(){XO.call(this,"")}function Cjn(n){S$n.call(this,n)}function Mjn(n){S$n.call(this,n)}function oz(n){fG.call(this,n)}function sz(n){XEn.call(this,n)}function Xfe(n){XEn.call(this,n)}function Vfe(n){sz.call(this,n)}function Wfe(n){sz.call(this,n)}function Jfe(n){sz.call(this,n)}function Tjn(n){zN.call(this,n)}function Ajn(n){zN.call(this,n)}function Sjn(n){uSn.call(this,n)}function Pjn(n){Oz.call(this,n)}function n6(n){WE.call(this,n)}function fz(n){WE.call(this,n)}function Ijn(n){WE.call(this,n)}function hz(n){mje.call(this,n)}function lz(n){hz.call(this,n)}function ec(n){APn.call(this,n)}function Ojn(n){ec.call(this,n)}function sp(){U9.call(this,{})}function Djn(){Djn=F,dQn=new M0n}function RE(){RE=F,GK=new STn}function Ljn(){Ljn=F,oun=new Bu}function az(){az=F,sun=new N1}function KE(){KE=F,T8=new $1}function wD(n){b4(),this.a=n}function gD(n){RQ(),this.a=n}function Qd(n){nN(),this.f=n}function pD(n){nN(),this.f=n}function Njn(n){bSn(),this.a=n}function $jn(n){n.b=null,n.c=0}function Qfe(n,e){n.e=e,bqn(n,e)}function Yfe(n,e){n.a=e,cEe(n)}function mD(n,e,t){n.a[e.g]=t}function Zfe(n,e,t){kke(t,n,e)}function nhe(n,e){Wae(e.i,n.n)}function xjn(n,e){v6e(n).Cd(e)}function ehe(n,e){n.a.ec().Mc(e)}function Fjn(n,e){return n.g-e.g}function the(n,e){return n*n/e}function on(n){return Jn(n),n}function $(n){return Jn(n),n}function J9(n){return Jn(n),n}function ihe(n){return new AE(n)}function rhe(n){return new qb(n)}function dz(n){return Jn(n),n}function che(n){return Jn(n),n}function _E(n){ec.call(this,n)}function Ir(n){ec.call(this,n)}function Bjn(n){ec.call(this,n)}function vD(n){APn.call(this,n)}function i4(n){ec.call(this,n)}function Gn(n){ec.call(this,n)}function Or(n){ec.call(this,n)}function Rjn(n){ec.call(this,n)}function fp(n){ec.call(this,n)}function Kl(n){ec.call(this,n)}function _l(n){ec.call(this,n)}function hp(n){ec.call(this,n)}function eh(n){ec.call(this,n)}function kD(n){ec.call(this,n)}function Le(n){ec.call(this,n)}function Ku(n){Jn(n),this.a=n}function bz(n){return ld(n),n}function e6(n){TW(n,n.length)}function t6(n){return n.b==n.c}function Ib(n){return!!n&&n.b}function uhe(n){return!!n&&n.k}function ohe(n){return!!n&&n.j}function she(n,e,t){n.c.Ef(e,t)}function Kjn(n,e){n.be(e),e.ae(n)}function lp(n){oh(),this.a=Se(n)}function yD(){this.a=Oe(Se(ur))}function _jn(){throw M(new Pe)}function fhe(){throw M(new Pe)}function wz(){throw M(new Pe)}function Hjn(){throw M(new Pe)}function hhe(){throw M(new Pe)}function lhe(){throw M(new Pe)}function HE(){HE=F,O4()}function Hl(){G9.call(this,"")}function i6(){G9.call(this,"")}function x1(){G9.call(this,"")}function fg(){G9.call(this,"")}function gz(n){Ir.call(this,n)}function pz(n){Ir.call(this,n)}function th(n){Gn.call(this,n)}function r4(n){Q3.call(this,n)}function qjn(n){r4.call(this,n)}function jD(n){BC.call(this,n)}function ED(n){JX.call(this,n,0)}function CD(){sJ.call(this,12,3)}function T(n,e){return kOn(n,e)}function qE(n,e){return o$(n,e)}function ahe(n,e){return n.a-e.a}function dhe(n,e){return n.a-e.a}function bhe(n,e){return n.a-e.a}function whe(n,e){return e in n.a}function Ujn(n){return n.a?n.b:0}function ghe(n){return n.a?n.b:0}function phe(n,e,t){e.Cd(n.a[t])}function mhe(n,e,t){e.Pe(n.a[t])}function vhe(n,e){n.b=new rr(e)}function khe(n,e){return n.b=e,n}function Gjn(n,e){return n.c=e,n}function zjn(n,e){return n.f=e,n}function yhe(n,e){return n.g=e,n}function mz(n,e){return n.a=e,n}function vz(n,e){return n.f=e,n}function jhe(n,e){return n.k=e,n}function kz(n,e){return n.a=e,n}function Ehe(n,e){return n.e=e,n}function yz(n,e){return n.e=e,n}function Che(n,e){return n.f=e,n}function Mhe(n,e){n.b=!0,n.d=e}function The(n,e){return n.b-e.b}function Ahe(n,e){return n.g-e.g}function She(n,e){return n?0:e-1}function Xjn(n,e){return n?0:e-1}function Phe(n,e){return n?e-1:0}function Ihe(n,e){return n.s-e.s}function Ohe(n,e){return e.rg(n)}function Yd(n,e){return n.b=e,n}function UE(n,e){return n.a=e,n}function Zd(n,e){return n.c=e,n}function n0(n,e){return n.d=e,n}function e0(n,e){return n.e=e,n}function jz(n,e){return n.f=e,n}function r6(n,e){return n.a=e,n}function c4(n,e){return n.b=e,n}function u4(n,e){return n.c=e,n}function an(n,e){return n.c=e,n}function Sn(n,e){return n.b=e,n}function dn(n,e){return n.d=e,n}function bn(n,e){return n.e=e,n}function Dhe(n,e){return n.f=e,n}function wn(n,e){return n.g=e,n}function gn(n,e){return n.a=e,n}function pn(n,e){return n.i=e,n}function mn(n,e){return n.j=e,n}function Lhe(n,e){ua(),ic(e,n)}function Nhe(n,e,t){Jbe(n.a,e,t)}function GE(n){$L.call(this,n)}function Vjn(n){Z5e.call(this,n)}function Wjn(n){SIn.call(this,n)}function Ez(n){SIn.call(this,n)}function F1(n){S0.call(this,n)}function Jjn(n){CN.call(this,n)}function Qjn(n){CN.call(this,n)}function Yjn(){DX.call(this,"")}function Li(){this.a=0,this.b=0}function Zjn(){this.b=0,this.a=0}function nEn(n,e){n.b=0,Zb(n,e)}function eEn(n,e){return n.k=e,n}function $he(n,e){return n.j=e,n}function xhe(n,e){n.c=e,n.b=!0}function tEn(){tEn=F,TQn=Xke()}function B1(){B1=F,voe=rke()}function iEn(){iEn=F,Ti=gye()}function Cz(){Cz=F,Da=z4()}function o4(){o4=F,Udn=cke()}function rEn(){rEn=F,ise=uke()}function Mz(){Mz=F,yc=tEe()}function of(n){return n.e&&n.e()}function cEn(n){return n.l|n.m<<22}function uEn(n,e){return n.c._b(e)}function oEn(n,e){return rBn(n.b,e)}function MD(n){return n?n.d:null}function Fhe(n){return n?n.g:null}function Bhe(n){return n?n.i:null}function Xa(n){return ll(n),n.o}function hg(n,e){return n.a+=e,n}function TD(n,e){return n.a+=e,n}function ql(n,e){return n.a+=e,n}function t0(n,e){return n.a+=e,n}function Tz(n,e){for(;n.Bd(e););}function zE(n){this.a=new ap(n)}function sEn(){throw M(new Pe)}function fEn(){throw M(new Pe)}function hEn(){throw M(new Pe)}function lEn(){throw M(new Pe)}function aEn(){throw M(new Pe)}function dEn(){throw M(new Pe)}function Ul(n){this.a=new iN(n)}function bEn(){this.a=new F5(Rln)}function wEn(){this.b=new F5(rln)}function gEn(){this.a=new F5(f1n)}function pEn(){this.b=new F5(Fq)}function mEn(){this.b=new F5(Fq)}function XE(n){this.a=0,this.b=n}function Az(n){zGn(),ILe(this,n)}function s4(n){return X1(n),n.a}function Q9(n){return n.b!=n.d.c}function Sz(n,e){return n.d[e.p]}function vEn(n,e){return XTe(n,e)}function Pz(n,e,t){n.splice(e,t)}function lg(n,e){for(;n.Re(e););}function kEn(n){n.c?Dqn(n):Lqn(n)}function yEn(){throw M(new Pe)}function jEn(){throw M(new Pe)}function EEn(){throw M(new Pe)}function CEn(){throw M(new Pe)}function MEn(){throw M(new Pe)}function TEn(){throw M(new Pe)}function AEn(){throw M(new Pe)}function SEn(){throw M(new Pe)}function PEn(){throw M(new Pe)}function IEn(){throw M(new Pe)}function Rhe(){throw M(new nc)}function Khe(){throw M(new nc)}function Y9(n){this.a=new OEn(n)}function OEn(n){Ume(this,n,jje())}function Z9(n){return!n||oIn(n)}function n7(n){return nh[n]!=-1}function _he(){cP!=0&&(cP=0),uP=-1}function DEn(){RK==null&&(RK=[])}function e7(n,e){Mg.call(this,n,e)}function f4(n,e){e7.call(this,n,e)}function LEn(n,e){this.a=n,this.b=e}function NEn(n,e){this.a=n,this.b=e}function $En(n,e){this.a=n,this.b=e}function xEn(n,e){this.a=n,this.b=e}function FEn(n,e){this.a=n,this.b=e}function BEn(n,e){this.a=n,this.b=e}function REn(n,e){this.a=n,this.b=e}function h4(n,e){this.e=n,this.d=e}function Iz(n,e){this.b=n,this.c=e}function KEn(n,e){this.b=n,this.a=e}function _En(n,e){this.b=n,this.a=e}function HEn(n,e){this.b=n,this.a=e}function qEn(n,e){this.b=n,this.a=e}function UEn(n,e){this.a=n,this.b=e}function AD(n,e){this.a=n,this.b=e}function GEn(n,e){this.a=n,this.f=e}function i0(n,e){this.g=n,this.i=e}function je(n,e){this.f=n,this.g=e}function zEn(n,e){this.b=n,this.c=e}function XEn(n){KX(n.dc()),this.c=n}function Hhe(n,e){this.a=n,this.b=e}function VEn(n,e){this.a=n,this.b=e}function WEn(n){this.a=u(Se(n),15)}function Oz(n){this.a=u(Se(n),15)}function JEn(n){this.a=u(Se(n),85)}function VE(n){this.b=u(Se(n),85)}function WE(n){this.b=u(Se(n),51)}function JE(){this.q=new y.Date}function SD(n,e){this.a=n,this.b=e}function QEn(n,e){return Zc(n.b,e)}function t7(n,e){return n.b.Hc(e)}function YEn(n,e){return n.b.Ic(e)}function ZEn(n,e){return n.b.Qc(e)}function nCn(n,e){return n.b.Hc(e)}function eCn(n,e){return n.c.uc(e)}function tCn(n,e){return rt(n.c,e)}function sf(n,e){return n.a._b(e)}function iCn(n,e){return n>e&&e0}function ND(n,e){return Ec(n,e)<0}function vCn(n,e){return JL(n.a,e)}function ole(n,e){yOn.call(this,n,e)}function Bz(n){wN(),uSn.call(this,n)}function Rz(n,e){bPn(n,n.length,e)}function u7(n,e){HPn(n,n.length,e)}function a6(n,e){return n.a.get(e)}function kCn(n,e){return Zc(n.e,e)}function Kz(n){return Jn(n),!1}function _z(n){this.a=u(Se(n),229)}function cC(n){In.call(this,n,21)}function uC(n,e){je.call(this,n,e)}function $D(n,e){je.call(this,n,e)}function yCn(n,e){this.b=n,this.a=e}function oC(n,e){this.d=n,this.e=e}function jCn(n,e){this.a=n,this.b=e}function ECn(n,e){this.a=n,this.b=e}function CCn(n,e){this.a=n,this.b=e}function MCn(n,e){this.a=n,this.b=e}function bp(n,e){this.a=n,this.b=e}function TCn(n,e){this.b=n,this.a=e}function Hz(n,e){this.b=n,this.a=e}function qz(n,e){je.call(this,n,e)}function Uz(n,e){je.call(this,n,e)}function ag(n,e){je.call(this,n,e)}function xD(n,e){je.call(this,n,e)}function FD(n,e){je.call(this,n,e)}function BD(n,e){je.call(this,n,e)}function sC(n,e){je.call(this,n,e)}function Gz(n,e){this.b=n,this.a=e}function fC(n,e){je.call(this,n,e)}function zz(n,e){this.b=n,this.a=e}function hC(n,e){je.call(this,n,e)}function ACn(n,e){this.b=n,this.a=e}function Xz(n,e){je.call(this,n,e)}function RD(n,e){je.call(this,n,e)}function o7(n,e){je.call(this,n,e)}function d6(n,e,t){n.splice(e,0,t)}function sle(n,e,t){n.Mb(t)&&e.Cd(t)}function fle(n,e,t){e.Pe(n.a.Ye(t))}function hle(n,e,t){e.Dd(n.a.Ze(t))}function lle(n,e,t){e.Cd(n.a.Kb(t))}function ale(n,e){return Au(n.c,e)}function dle(n,e){return Au(n.e,e)}function lC(n,e){je.call(this,n,e)}function aC(n,e){je.call(this,n,e)}function b6(n,e){je.call(this,n,e)}function Vz(n,e){je.call(this,n,e)}function ei(n,e){je.call(this,n,e)}function dC(n,e){je.call(this,n,e)}function SCn(n,e){this.a=n,this.b=e}function PCn(n,e){this.a=n,this.b=e}function ICn(n,e){this.a=n,this.b=e}function OCn(n,e){this.a=n,this.b=e}function DCn(n,e){this.a=n,this.b=e}function LCn(n,e){this.a=n,this.b=e}function NCn(n,e){this.b=n,this.a=e}function $Cn(n,e){this.b=n,this.a=e}function Wz(n,e){this.b=n,this.a=e}function d4(n,e){this.c=n,this.d=e}function xCn(n,e){this.e=n,this.d=e}function FCn(n,e){this.a=n,this.b=e}function BCn(n,e){this.a=n,this.b=e}function RCn(n,e){this.a=n,this.b=e}function KCn(n,e){this.b=n,this.a=e}function _Cn(n,e){this.b=e,this.c=n}function bC(n,e){je.call(this,n,e)}function s7(n,e){je.call(this,n,e)}function KD(n,e){je.call(this,n,e)}function Jz(n,e){je.call(this,n,e)}function w6(n,e){je.call(this,n,e)}function _D(n,e){je.call(this,n,e)}function HD(n,e){je.call(this,n,e)}function f7(n,e){je.call(this,n,e)}function Qz(n,e){je.call(this,n,e)}function qD(n,e){je.call(this,n,e)}function g6(n,e){je.call(this,n,e)}function Yz(n,e){je.call(this,n,e)}function p6(n,e){je.call(this,n,e)}function m6(n,e){je.call(this,n,e)}function Db(n,e){je.call(this,n,e)}function UD(n,e){je.call(this,n,e)}function GD(n,e){je.call(this,n,e)}function Zz(n,e){je.call(this,n,e)}function h7(n,e){je.call(this,n,e)}function dg(n,e){je.call(this,n,e)}function zD(n,e){je.call(this,n,e)}function wC(n,e){je.call(this,n,e)}function l7(n,e){je.call(this,n,e)}function Lb(n,e){je.call(this,n,e)}function gC(n,e){je.call(this,n,e)}function nX(n,e){je.call(this,n,e)}function XD(n,e){je.call(this,n,e)}function VD(n,e){je.call(this,n,e)}function WD(n,e){je.call(this,n,e)}function JD(n,e){je.call(this,n,e)}function QD(n,e){je.call(this,n,e)}function YD(n,e){je.call(this,n,e)}function ZD(n,e){je.call(this,n,e)}function HCn(n,e){this.b=n,this.a=e}function eX(n,e){je.call(this,n,e)}function qCn(n,e){this.a=n,this.b=e}function UCn(n,e){this.a=n,this.b=e}function GCn(n,e){this.a=n,this.b=e}function tX(n,e){je.call(this,n,e)}function iX(n,e){je.call(this,n,e)}function zCn(n,e){this.a=n,this.b=e}function ble(n,e){return k4(),e!=n}function a7(n){return oe(n.a),n.b}function nL(n){return yCe(n,n.c),n}function XCn(){return tEn(),new TQn}function VCn(){VC(),this.a=new kV}function WCn(){OA(),this.a=new ni}function JCn(){NN(),this.b=new ni}function QCn(n,e){this.b=n,this.d=e}function YCn(n,e){this.a=n,this.b=e}function ZCn(n,e){this.a=n,this.b=e}function nMn(n,e){this.a=n,this.b=e}function eMn(n,e){this.b=n,this.a=e}function rX(n,e){je.call(this,n,e)}function cX(n,e){je.call(this,n,e)}function pC(n,e){je.call(this,n,e)}function u0(n,e){je.call(this,n,e)}function eL(n,e){je.call(this,n,e)}function mC(n,e){je.call(this,n,e)}function uX(n,e){je.call(this,n,e)}function oX(n,e){je.call(this,n,e)}function d7(n,e){je.call(this,n,e)}function sX(n,e){je.call(this,n,e)}function tL(n,e){je.call(this,n,e)}function vC(n,e){je.call(this,n,e)}function iL(n,e){je.call(this,n,e)}function rL(n,e){je.call(this,n,e)}function cL(n,e){je.call(this,n,e)}function uL(n,e){je.call(this,n,e)}function fX(n,e){je.call(this,n,e)}function oL(n,e){je.call(this,n,e)}function hX(n,e){je.call(this,n,e)}function b7(n,e){je.call(this,n,e)}function sL(n,e){je.call(this,n,e)}function lX(n,e){je.call(this,n,e)}function w7(n,e){je.call(this,n,e)}function aX(n,e){je.call(this,n,e)}function tMn(n,e){this.b=n,this.a=e}function iMn(n,e){this.b=n,this.a=e}function rMn(n,e){this.b=n,this.a=e}function cMn(n,e){this.b=n,this.a=e}function dX(n,e){this.a=n,this.b=e}function uMn(n,e){this.a=n,this.b=e}function oMn(n,e){this.a=n,this.b=e}function V(n,e){this.a=n,this.b=e}function v6(n,e){je.call(this,n,e)}function g7(n,e){je.call(this,n,e)}function wp(n,e){je.call(this,n,e)}function k6(n,e){je.call(this,n,e)}function p7(n,e){je.call(this,n,e)}function fL(n,e){je.call(this,n,e)}function kC(n,e){je.call(this,n,e)}function y6(n,e){je.call(this,n,e)}function hL(n,e){je.call(this,n,e)}function yC(n,e){je.call(this,n,e)}function bg(n,e){je.call(this,n,e)}function m7(n,e){je.call(this,n,e)}function j6(n,e){je.call(this,n,e)}function E6(n,e){je.call(this,n,e)}function v7(n,e){je.call(this,n,e)}function jC(n,e){je.call(this,n,e)}function wg(n,e){je.call(this,n,e)}function lL(n,e){je.call(this,n,e)}function sMn(n,e){je.call(this,n,e)}function EC(n,e){je.call(this,n,e)}function fMn(n,e){this.a=n,this.b=e}function hMn(n,e){this.a=n,this.b=e}function lMn(n,e){this.a=n,this.b=e}function aMn(n,e){this.a=n,this.b=e}function dMn(n,e){this.a=n,this.b=e}function bMn(n,e){this.a=n,this.b=e}function bi(n,e){this.a=n,this.b=e}function wMn(n,e){this.a=n,this.b=e}function gMn(n,e){this.a=n,this.b=e}function pMn(n,e){this.a=n,this.b=e}function mMn(n,e){this.a=n,this.b=e}function vMn(n,e){this.a=n,this.b=e}function kMn(n,e){this.a=n,this.b=e}function yMn(n,e){this.b=n,this.a=e}function jMn(n,e){this.b=n,this.a=e}function EMn(n,e){this.b=n,this.a=e}function CMn(n,e){this.b=n,this.a=e}function MMn(n,e){this.a=n,this.b=e}function TMn(n,e){this.a=n,this.b=e}function CC(n,e){je.call(this,n,e)}function AMn(n,e){this.a=n,this.b=e}function SMn(n,e){this.a=n,this.b=e}function gp(n,e){je.call(this,n,e)}function PMn(n,e){this.f=n,this.c=e}function bX(n,e){return Au(n.g,e)}function wle(n,e){return Au(e.b,n)}function IMn(n,e){return wx(n.a,e)}function gle(n,e){return-n.b.af(e)}function ple(n,e){n&&Ve(hE,n,e)}function wX(n,e){n.i=null,kT(n,e)}function mle(n,e,t){yKn(e,oF(n,t))}function vle(n,e,t){yKn(e,oF(n,t))}function kle(n,e){VMe(n.a,u(e,58))}function OMn(n,e){U4e(n.a,u(e,12))}function MC(n,e){this.a=n,this.b=e}function DMn(n,e){this.a=n,this.b=e}function LMn(n,e){this.a=n,this.b=e}function NMn(n,e){this.a=n,this.b=e}function $Mn(n,e){this.a=n,this.b=e}function xMn(n,e){this.d=n,this.b=e}function FMn(n,e){this.e=n,this.a=e}function k7(n,e){this.b=n,this.c=e}function gX(n,e){this.i=n,this.g=e}function pX(n,e){this.d=n,this.e=e}function yle(n,e){cme(new ne(n),e)}function TC(n){return Fk(n.c,n.b)}function Kr(n){return n?n.md():null}function x(n){return n??null}function Ai(n){return typeof n===nB}function Nb(n){return typeof n===i3}function $b(n){return typeof n===dtn}function o0(n,e){return Ec(n,e)==0}function AC(n,e){return Ec(n,e)>=0}function C6(n,e){return Ec(n,e)!=0}function SC(n,e){return jve(n.Kc(),e)}function _1(n,e){return n.Rd().Xb(e)}function BMn(n){return eo(n),n.d.gc()}function PC(n){return x6(n==null),n}function M6(n,e){return n.a+=""+e,n}function Er(n,e){return n.a+=""+e,n}function T6(n,e){return n.a+=""+e,n}function Dc(n,e){return n.a+=""+e,n}function Re(n,e){return n.a+=""+e,n}function mX(n,e){return n.a+=""+e,n}function jle(n){return""+(Jn(n),n)}function RMn(n){Hu(this),s5(this,n)}function KMn(){oJ(),dW.call(this)}function _Mn(n,e){mW.call(this,n,e)}function HMn(n,e){mW.call(this,n,e)}function IC(n,e){mW.call(this,n,e)}function ir(n,e){xt(n,e,n.c.b,n.c)}function gg(n,e){xt(n,e,n.a,n.a.a)}function vX(n){return Ln(n,0),null}function qMn(){this.b=0,this.a=!1}function UMn(){this.b=0,this.a=!1}function GMn(){this.b=new ap(Qb(12))}function zMn(){zMn=F,kYn=Ce(jx())}function XMn(){XMn=F,HZn=Ce(iqn())}function VMn(){VMn=F,lre=Ce(xxn())}function kX(){kX=F,_G(),fun=new de}function ff(n){return n.a=0,n.b=0,n}function WMn(n,e){return n.a=e.g+1,n}function aL(n,e){Kb.call(this,n,e)}function Mn(n,e){Dt.call(this,n,e)}function pg(n,e){gX.call(this,n,e)}function JMn(n,e){C7.call(this,n,e)}function dL(n,e){Y4.call(this,n,e)}function Ge(n,e){iC(),Ve(yO,n,e)}function QMn(n,e){n.q.setTime(id(e))}function Ele(n){y.clearTimeout(n)}function Cle(n){return Se(n),new A6(n)}function YMn(n,e){return x(n)===x(e)}function ZMn(n,e){return n.a.a.a.cc(e)}function bL(n,e){return qo(n.a,0,e)}function yX(n){return Awe(u(n,74))}function pp(n){return wi((Jn(n),n))}function Mle(n){return wi((Jn(n),n))}function nTn(n){return Yc(n.l,n.m,n.h)}function jX(n,e){return jc(n.a,e.a)}function Tle(n,e){return KPn(n.a,e.a)}function Ale(n,e){return bt(n.a,e.a)}function ih(n,e){return n.indexOf(e)}function Sle(n,e){return n.j[e.p]==2}function s0(n,e){return n==e?0:n?1:-1}function OC(n){return n<10?"0"+n:""+n}function Vr(n){return typeof n===dtn}function Ple(n){return n==rb||n==Iw}function Ile(n){return n==rb||n==Pw}function eTn(n,e){return jc(n.g,e.g)}function EX(n){return qr(n.b.b,n,0)}function tTn(){rM.call(this,0,0,0,0)}function rh(){CG.call(this,new Ql)}function CX(n,e){F4(n,0,n.length,e)}function Ole(n,e){return nn(n.a,e),e}function Dle(n,e){return Fs(),e.a+=n}function Lle(n,e){return Fs(),e.a+=n}function Nle(n,e){return Fs(),e.c+=n}function $le(n,e){return nn(n.c,e),n}function MX(n,e){return Mo(n.a,e),n}function iTn(n){this.a=XCn(),this.b=n}function rTn(n){this.a=XCn(),this.b=n}function rr(n){this.a=n.a,this.b=n.b}function A6(n){this.a=n,GO.call(this)}function cTn(n){this.a=n,GO.call(this)}function mp(){Ho.call(this,0,0,0,0)}function DC(n){return Mo(new ii,n)}function uTn(n){return jM(u(n,123))}function fo(n){return n.vh()&&n.wh()}function mg(n){return n!=Qf&&n!=Pa}function hl(n){return n==Br||n==Xr}function vg(n){return n==us||n==Wf}function oTn(n){return n==P2||n==S2}function xle(n,e){return jc(n.g,e.g)}function sTn(n,e){return new Y4(e,n)}function Fle(n,e){return new Y4(e,n)}function TX(n){return rbe(n.b.Kc(),n.a)}function wL(n,e){um(n,e),G4(n,n.D)}function gL(n,e,t){aT(n,e),lT(n,t)}function kg(n,e,t){I0(n,e),P0(n,t)}function Ro(n,e,t){eu(n,e),tu(n,t)}function y7(n,e,t){_4(n,e),q4(n,t)}function j7(n,e,t){H4(n,e),U4(n,t)}function fTn(n,e,t){sV.call(this,n,e,t)}function AX(n){PMn.call(this,n,!0)}function hTn(){uC.call(this,"Tail",3)}function lTn(){uC.call(this,"Head",1)}function H1(n){dh(),mve.call(this,n)}function f0(n){rM.call(this,n,n,n,n)}function pL(n){n.c=K(ki,Bn,1,0,5,1)}function SX(n){return n.b&&xF(n),n.a}function PX(n){return n.b&&xF(n),n.c}function Ble(n,e){Uf||(n.b=e)}function Rle(n,e){return n[n.length]=e}function Kle(n,e){return n[n.length]=e}function _le(n,e){return Yb(e,Sf(n))}function Hle(n,e){return Yb(e,Sf(n))}function qle(n,e){return pT(dN(n.d),e)}function Ule(n,e){return pT(dN(n.g),e)}function Gle(n,e){return pT(dN(n.j),e)}function Ni(n,e){Dt.call(this,n.b,e)}function zle(n,e){ve(Sc(n.a),DOn(e))}function Xle(n,e){ve(no(n.a),LOn(e))}function Vle(n,e,t){Ro(t,t.i+n,t.j+e)}function aTn(n,e,t){$t(n.c[e.g],e.g,t)}function Wle(n,e,t){u(n.c,71).Gi(e,t)}function mL(n,e,t){return $t(n,e,t),t}function dTn(n){nu(n.Sf(),new D9n(n))}function yg(n){return n!=null?mt(n):0}function Jle(n){return n==null?0:mt(n)}function S6(n){nt(),Wd.call(this,n)}function bTn(n){this.a=n,qV.call(this,n)}function Tf(){Tf=F,y.Math.log(2)}function Ko(){Ko=F,rl=(pCn(),Moe)}function wTn(){wTn=F,YH=new y5(aU)}function Ie(){Ie=F,new gTn,new Z}function gTn(){new de,new de,new de}function Qle(){throw M(new Kl(QJn))}function Yle(){throw M(new Kl(QJn))}function Zle(){throw M(new Kl(YJn))}function n1e(){throw M(new Kl(YJn))}function vL(n){this.a=n,VE.call(this,n)}function kL(n){this.a=n,VE.call(this,n)}function pTn(n,e){m0(),this.a=n,this.b=e}function e1e(n,e){Se(e),Ag(n).Jc(new Ru)}function Yt(n,e){QL(n.c,n.c.length,e)}function tc(n){return n.ae?1:0}function OX(n,e){return Ec(n,e)>0?n:e}function Yc(n,e,t){return{l:n,m:e,h:t}}function t1e(n,e){n.a!=null&&OMn(e,n.a)}function i1e(n){Zi(n,null),Ii(n,null)}function r1e(n,e,t){return Ve(n.g,t,e)}function jg(n,e,t){return nZ(e,t,n.c)}function c1e(n,e,t){return Ve(n.k,t,e)}function u1e(n,e,t){return GOe(n,e,t),t}function o1e(n,e){return ko(),e.n.b+=n}function vTn(n){nJ.call(this),this.b=n}function DX(n){vV.call(this),this.a=n}function kTn(){uC.call(this,"Range",2)}function LC(n){this.b=n,this.a=new Z}function yTn(n){this.b=new $bn,this.a=n}function jTn(n){n.a=new OO,n.c=new OO}function ETn(n){n.a=new de,n.d=new de}function CTn(n){$N(n,null),xN(n,null)}function MTn(n,e){return XOe(n.a,e,null)}function s1e(n,e){return Ve(n.a,e.a,e)}function Ki(n){return new V(n.a,n.b)}function LX(n){return new V(n.c,n.d)}function f1e(n){return new V(n.c,n.d)}function P6(n,e){return cOe(n.c,n.b,e)}function D(n,e){return n!=null&&Tx(n,e)}function yL(n,e){return Yve(n.Kc(),e)!=-1}function NC(n){return n.Ob()?n.Pb():null}function h1e(n){this.b=(Dn(),new eD(n))}function NX(n){this.a=n,de.call(this)}function TTn(){C7.call(this,null,null)}function ATn(){_C.call(this,null,null)}function STn(){je.call(this,"INSTANCE",0)}function PTn(){LZ(),this.a=new F5(Ion)}function ITn(n){return ws(n,0,n.length)}function l1e(n,e){return new VTn(n.Kc(),e)}function $X(n,e){return n.a.Bc(e)!=null}function OTn(n,e){me(n),n.Gc(u(e,15))}function a1e(n,e,t){n.c.bd(e,u(t,136))}function d1e(n,e,t){n.c.Ui(e,u(t,136))}function DTn(n,e){n.c&&(tW(e),rOn(e))}function b1e(n,e){n.q.setHours(e),H5(n,e)}function w1e(n,e){a0(e,n.a.a.a,n.a.a.b)}function g1e(n,e,t,i){$t(n.a[e.g],t.g,i)}function jL(n,e,t){return n.a[e.g][t.g]}function p1e(n,e){return n.e[e.c.p][e.p]}function m1e(n,e){return n.c[e.c.p][e.p]}function Af(n,e){return n.a[e.c.p][e.p]}function v1e(n,e){return n.j[e.p]=IMe(e)}function EL(n,e){return n.a.Bc(e)!=null}function k1e(n,e){return $(R(e.a))<=n}function y1e(n,e){return $(R(e.a))>=n}function j1e(n,e){return RJ(n.f,e.Pg())}function vp(n,e){return n.a*e.a+n.b*e.b}function E1e(n,e){return n.a0?e/(n*n):e*100}function V1e(n,e){return n>0?e*e/n:e*e*100}function xb(n,e){return u(Nf(n.a,e),34)}function W1e(n,e){return ua(),Pn(n,e.e,e)}function J1e(n,e,t){return nC(),t.Mg(n,e)}function Q1e(n){return kl(),n.e.a+n.f.a/2}function Y1e(n,e,t){return kl(),t.e.a-n*e}function Z1e(n){return kl(),n.e.b+n.f.b/2}function nae(n,e,t){return kl(),t.e.b-n*e}function sAn(n){n.d=new cAn(n),n.e=new de}function fAn(){this.a=new C0,this.b=new C0}function hAn(n){this.c=n,this.a=1,this.b=1}function lAn(n){YF(),Syn(this),this.Ff(n)}function eae(n,e,t){YM(),n.pf(e)&&t.Cd(n)}function tae(n,e,t){return nn(e,jBn(n,t))}function a0(n,e,t){return n.a+=e,n.b+=t,n}function iae(n,e,t){return n.a*=e,n.b*=t,n}function ZX(n,e){return n.a=e.a,n.b=e.b,n}function HC(n){return n.a=-n.a,n.b=-n.b,n}function L6(n,e,t){return n.a-=e,n.b-=t,n}function aAn(n){Ct.call(this),r5(this,n)}function dAn(){je.call(this,"GROW_TREE",0)}function bAn(){je.call(this,"POLYOMINO",0)}function lo(n,e,t){Iu.call(this,n,e,t,2)}function rae(n,e,t){v5(Sc(n.a),e,DOn(t))}function wAn(n,e){l6(),C7.call(this,n,e)}function nV(n,e){Gl(),_C.call(this,n,e)}function gAn(n,e){Gl(),nV.call(this,n,e)}function pAn(n,e){Gl(),_C.call(this,n,e)}function cae(n,e){return n.c.Fc(u(e,136))}function uae(n,e,t){v5(no(n.a),e,LOn(t))}function mAn(n){this.c=n,eu(n,0),tu(n,0)}function PL(n,e){Ko(),oM.call(this,n,e)}function vAn(n,e){Ko(),PL.call(this,n,e)}function eV(n,e){Ko(),PL.call(this,n,e)}function tV(n,e){Ko(),oM.call(this,n,e)}function kAn(n,e){Ko(),eV.call(this,n,e)}function yAn(n,e){Ko(),tV.call(this,n,e)}function jAn(n,e){Ko(),oM.call(this,n,e)}function oae(n,e,t){return e.zl(n.e,n.c,t)}function sae(n,e,t){return e.Al(n.e,n.c,t)}function iV(n,e,t){return qA(hk(n,e),t)}function IL(n,e){return ea(n.e,u(e,54))}function fae(n){return n==null?null:NDe(n)}function hae(n){return n==null?null:Aje(n)}function lae(n){return n==null?null:Jr(n)}function aae(n){return n==null?null:Jr(n)}function un(n){return x6(n==null||Nb(n)),n}function R(n){return x6(n==null||$b(n)),n}function Oe(n){return x6(n==null||Ai(n)),n}function ll(n){n.o==null&&cMe(n)}function rV(n){if(!n)throw M(new W9)}function dae(n){if(!n)throw M(new uD)}function oe(n){if(!n)throw M(new nc)}function Fb(n){if(!n)throw M(new Cu)}function EAn(n){if(!n)throw M(new Bo)}function m4(){m4=F,aE=new ujn,new ojn}function Tg(){Tg=F,D2=new lt("root")}function cV(){cxn.call(this),this.Bb|=hr}function bae(n,e){this.d=n,c9n(this),this.b=e}function uV(n,e){i$.call(this,n),this.a=e}function oV(n,e){i$.call(this,n),this.a=e}function sV(n,e,t){VM.call(this,n,e,t,null)}function CAn(n,e,t){VM.call(this,n,e,t,null)}function A7(n,e){this.c=n,h4.call(this,n,e)}function N6(n,e){this.a=n,A7.call(this,n,e)}function fV(n){this.q=new y.Date(id(n))}function MAn(n){return n>8?0:n+1}function TAn(n,e){Uf||nn(n.a,e)}function wae(n,e){return c7(),Q4(e.d.i,n)}function gae(n,e){return Hp(),new tUn(e,n)}function pae(n,e,t){return n.Ne(e,t)<=0?t:e}function mae(n,e,t){return n.Ne(e,t)<=0?e:t}function vae(n,e){return u(Nf(n.b,e),143)}function kae(n,e){return u(Nf(n.c,e),233)}function OL(n){return u(sn(n.a,n.b),294)}function AAn(n){return new V(n.c,n.d+n.a)}function SAn(n){return Jn(n),n?1231:1237}function PAn(n){return ko(),oTn(u(n,203))}function Bb(){Bb=F,ron=jn((go(),Gd))}function yae(n,e){e.a?MCe(n,e):EL(n.a,e.b)}function S7(n,e,t){++n.j,n.tj(),t$(n,e,t)}function IAn(n,e,t){++n.j,n.qj(e,n.Zi(e,t))}function OAn(n,e,t){var i;i=n.fd(e),i.Rb(t)}function hV(n,e,t){return t=So(n,e,6,t),t}function lV(n,e,t){return t=So(n,e,3,t),t}function aV(n,e,t){return t=So(n,e,9,t),t}function uh(n,e){return G7(e,xtn),n.f=e,n}function dV(n,e){return(e&et)%n.d.length}function DAn(n,e,t){return zen(n.c,n.b,e,t)}function LAn(n,e){this.c=n,S0.call(this,e)}function NAn(n,e){this.a=n,kyn.call(this,e)}function P7(n,e){this.a=n,kyn.call(this,e)}function Dt(n,e){lt.call(this,n),this.a=e}function bV(n,e){FG.call(this,n),this.a=e}function DL(n,e){FG.call(this,n),this.a=e}function jae(n){VY.call(this,0,0),this.f=n}function $An(n,e,t){return n.a+=ws(e,0,t),n}function I7(n){return!n.a&&(n.a=new C0n),n.a}function wV(n,e){var t;return t=n.e,n.e=e,t}function gV(n,e){var t;return t=e,!!n.Fe(t)}function Eae(n,e){return _n(),n==e?0:n?1:-1}function Rb(n,e){n.a.bd(n.b,e),++n.b,n.c=-1}function O7(n){n.b?O7(n.b):n.f.c.zc(n.e,n.d)}function xAn(n){Hu(n.e),n.d.b=n.d,n.d.a=n.d}function Cae(n,e,t){Va(),t9n(n,e.Ve(n.a,t))}function pV(n,e,t){return Pp(n,u(e,22),t)}function xs(n,e){return qE(new Array(e),n)}function Mae(n){return Ae(U1(n,32))^Ae(n)}function LL(n){return String.fromCharCode(n)}function Tae(n){return n==null?null:n.message}function Aae(n,e,t){return n.apply(e,t)}function Sae(n,e){var t;t=n[DB],t.call(n,e)}function Pae(n,e){var t;t=n[DB],t.call(n,e)}function Iae(n,e){return c7(),!Q4(e.d.i,n)}function mV(n,e,t,i){rM.call(this,n,e,t,i)}function FAn(){qC.call(this),this.a=new Li}function vV(){this.n=new Li,this.o=new Li}function BAn(){this.b=new Li,this.c=new Z}function RAn(){this.a=new Z,this.b=new Z}function KAn(){this.a=new _U,this.b=new Byn}function kV(){this.b=new Ql,this.a=new Ql}function _An(){this.b=new ni,this.a=new ni}function HAn(){this.b=new de,this.a=new de}function qAn(){this.b=new wEn,this.a=new H3n}function UAn(){this.a=new n8n,this.b=new Lpn}function GAn(){this.a=new Z,this.d=new Z}function qC(){this.n=new up,this.i=new mp}function zAn(n){this.a=(Co(n,mw),new Gc(n))}function XAn(n){this.a=(Co(n,mw),new Gc(n))}function Oae(n){return n<100?null:new F1(n)}function Dae(n,e){return n.n.a=(Jn(e),e+10)}function Lae(n,e){return n.n.a=(Jn(e),e+10)}function Nae(n,e){return e==n||km(TA(e),n)}function VAn(n,e){return Ve(n.a,e,"")==null}function $ae(n,e){var t;return t=e.qi(n.a),t}function tt(n,e){return n.a+=e.a,n.b+=e.b,n}function mi(n,e){return n.a-=e.a,n.b-=e.b,n}function xae(n){return Pb(n.j.c,0),n.a=-1,n}function yV(n,e,t){return t=So(n,e,11,t),t}function Fae(n,e,t){t!=null&&mT(e,Fx(n,t))}function Bae(n,e,t){t!=null&&vT(e,Fx(n,t))}function jp(n,e,t,i){q.call(this,n,e,t,i)}function jV(n,e,t,i){q.call(this,n,e,t,i)}function WAn(n,e,t,i){jV.call(this,n,e,t,i)}function JAn(n,e,t,i){bM.call(this,n,e,t,i)}function NL(n,e,t,i){bM.call(this,n,e,t,i)}function EV(n,e,t,i){bM.call(this,n,e,t,i)}function QAn(n,e,t,i){NL.call(this,n,e,t,i)}function CV(n,e,t,i){NL.call(this,n,e,t,i)}function Nn(n,e,t,i){EV.call(this,n,e,t,i)}function YAn(n,e,t,i){CV.call(this,n,e,t,i)}function ZAn(n,e,t,i){jW.call(this,n,e,t,i)}function Kb(n,e){Ir.call(this,p8+n+Td+e)}function MV(n,e){return n.jk().wi().ri(n,e)}function TV(n,e){return n.jk().wi().ti(n,e)}function nSn(n,e){return Jn(n),x(n)===x(e)}function An(n,e){return Jn(n),x(n)===x(e)}function Rae(n,e){return n.b.Bd(new ECn(n,e))}function Kae(n,e){return n.b.Bd(new CCn(n,e))}function eSn(n,e){return n.b.Bd(new MCn(n,e))}function _ae(n,e){return n.e=u(n.d.Kb(e),159)}function AV(n,e,t){return n.lastIndexOf(e,t)}function Hae(n,e,t){return bt(n[e.a],n[t.a])}function qae(n,e){return U(e,(cn(),Cj),n)}function Uae(n,e){return jc(e.a.d.p,n.a.d.p)}function Gae(n,e){return jc(n.a.d.p,e.a.d.p)}function zae(n,e){return bt(n.c-n.s,e.c-e.s)}function Xae(n,e){return bt(n.b.e.a,e.b.e.a)}function Vae(n,e){return bt(n.c.e.a,e.c.e.a)}function tSn(n){return n.c?qr(n.c.a,n,0):-1}function Ep(n){return n==Ud||n==tl||n==qc}function SV(n,e){this.c=n,oN.call(this,n,e)}function iSn(n,e,t){this.a=n,JX.call(this,e,t)}function rSn(n){this.c=n,IC.call(this,Ey,0)}function cSn(n,e,t){this.c=e,this.b=t,this.a=n}function D7(n){k4(),this.d=n,this.a=new Cg}function uSn(n){oh(),this.a=(Dn(),new r4(n))}function Wae(n,e){hl(n.f)?QCe(n,e):Sye(n,e)}function oSn(n,e){sbe.call(this,n,n.length,e)}function Jae(n,e){Uf||e&&(n.d=e)}function sSn(n,e){return D(e,15)&&xqn(n.c,e)}function Qae(n,e,t){return u(n.c,71).Wk(e,t)}function UC(n,e,t){return u(n.c,71).Xk(e,t)}function Yae(n,e,t){return oae(n,u(e,343),t)}function PV(n,e,t){return sae(n,u(e,343),t)}function Zae(n,e,t){return PKn(n,u(e,343),t)}function fSn(n,e,t){return _ye(n,u(e,343),t)}function $6(n,e){return e==null?null:tw(n.b,e)}function IV(n){return $b(n)?(Jn(n),n):n.ue()}function GC(n){return!isNaN(n)&&!isFinite(n)}function $L(n){jTn(this),vo(this),Bi(this,n)}function _u(n){pL(this),zV(this.c,0,n.Pc())}function _o(n,e,t){this.a=n,this.b=e,this.c=t}function hSn(n,e,t){this.a=n,this.b=e,this.c=t}function lSn(n,e,t){this.d=n,this.b=t,this.a=e}function aSn(n){this.a=n,fl(),vc(Date.now())}function dSn(n){bo(n.a),GJ(n.c,n.b),n.b=null}function xL(){xL=F,Oun=new $0n,AQn=new x0n}function bSn(){bSn=F,Ioe=K(ki,Bn,1,0,5,1)}function wSn(){wSn=F,Voe=K(ki,Bn,1,0,5,1)}function OV(){OV=F,Woe=K(ki,Bn,1,0,5,1)}function oh(){oh=F,new KG((Dn(),Dn(),sr))}function nde(n){return B4(),Ee((yNn(),IQn),n)}function ede(n){return Gu(),Ee((lNn(),xQn),n)}function tde(n){return YT(),Ee((JDn(),HQn),n)}function ide(n){return cT(),Ee((QDn(),qQn),n)}function rde(n){return NA(),Ee((Jxn(),UQn),n)}function cde(n){return wf(),Ee((fNn(),XQn),n)}function ude(n){return Uu(),Ee((sNn(),WQn),n)}function ode(n){return bu(),Ee((hNn(),QQn),n)}function sde(n){return VA(),Ee((zMn(),kYn),n)}function fde(n){return N0(),Ee((ENn(),jYn),n)}function hde(n){return Vp(),Ee((MNn(),CYn),n)}function lde(n){return T5(),Ee((CNn(),AYn),n)}function ade(n){return YE(),Ee((jDn(),SYn),n)}function dde(n){return uT(),Ee((YDn(),GYn),n)}function bde(n){return t5(),Ee((aNn(),pZn),n)}function wde(n){return Vi(),Ee((u$n(),yZn),n)}function gde(n){return nm(),Ee((ANn(),TZn),n)}function pde(n){return dd(),Ee((TNn(),DZn),n)}function DV(n,e){if(!n)throw M(new Gn(e))}function v4(n){if(!n)throw M(new Or(btn))}function FL(n,e){if(n!=e)throw M(new Bo)}function gSn(n,e,t){this.a=n,this.b=e,this.c=t}function LV(n,e,t){this.a=n,this.b=e,this.c=t}function pSn(n,e,t){this.a=n,this.b=e,this.c=t}function zC(n,e,t){this.b=n,this.a=e,this.c=t}function NV(n,e,t){this.b=n,this.c=e,this.a=t}function $V(n,e,t){this.a=n,this.b=e,this.c=t}function XC(n,e,t){this.e=e,this.b=n,this.d=t}function mSn(n,e,t){this.b=n,this.a=e,this.c=t}function mde(n,e,t){return Va(),n.a.Yd(e,t),e}function BL(n){var e;return e=new ubn,e.e=n,e}function xV(n){var e;return e=new qyn,e.b=n,e}function L7(){L7=F,CP=new sgn,MP=new fgn}function VC(){VC=F,XZn=new xgn,zZn=new Fgn}function Fs(){Fs=F,YZn=new G2n,ZZn=new z2n}function vde(n){return D0(),Ee((qLn(),fne),n)}function kde(n){return tr(),Ee((XMn(),HZn),n)}function yde(n){return OT(),Ee((PNn(),GZn),n)}function jde(n){return xf(),Ee((SNn(),tne),n)}function Ede(n){return ow(),Ee((o$n(),rne),n)}function Cde(n){return DA(),Ee(($xn(),hne),n)}function Mde(n){return Yp(),Ee((D$n(),lne),n)}function Tde(n){return QM(),Ee((cLn(),ane),n)}function Ade(n){return c5(),Ee((_Ln(),dne),n)}function Sde(n){return bT(),Ee((HLn(),bne),n)}function Pde(n){return o1(),Ee((s$n(),wne),n)}function Ide(n){return wk(),Ee((eLn(),gne),n)}function Ode(n){return jm(),Ee(($$n(),jne),n)}function Dde(n){return pr(),Ee((aFn(),Ene),n)}function Lde(n){return Z4(),Ee((GLn(),Cne),n)}function Nde(n){return vl(),Ee((zLn(),Tne),n)}function $de(n){return KM(),Ee((nLn(),Ane),n)}function xde(n){return Vk(),Ee((N$n(),yne),n)}function Fde(n){return hd(),Ee((ULn(),mne),n)}function Bde(n){return vA(),Ee((L$n(),vne),n)}function Rde(n){return sk(),Ee((tLn(),kne),n)}function Kde(n){return Yo(),Ee((h$n(),Sne),n)}function _de(n){return a1(),Ee((Xxn(),Yte),n)}function Hde(n){return w5(),Ee((XLn(),Zte),n)}function qde(n){return cw(),Ee((INn(),nie),n)}function Ude(n){return M5(),Ee((f$n(),eie),n)}function Gde(n){return ps(),Ee((dFn(),tie),n)}function zde(n){return lh(),Ee((ONn(),iie),n)}function Xde(n){return dk(),Ee((iLn(),rie),n)}function Vde(n){return gr(),Ee((JLn(),uie),n)}function Wde(n){return ST(),Ee((VLn(),oie),n)}function Jde(n){return a5(),Ee((WLn(),sie),n)}function Qde(n){return om(),Ee((QLn(),fie),n)}function Yde(n){return dT(),Ee((YLn(),hie),n)}function Zde(n){return DT(),Ee((ZLn(),lie),n)}function n0e(n){return O0(),Ee((oNn(),Aie),n)}function e0e(n){return Z6(),Ee((rLn(),Die),n)}function t0e(n){return fh(),Ee((sLn(),Rie),n)}function i0e(n){return Pf(),Ee((fLn(),_ie),n)}function r0e(n){return af(),Ee((hLn(),tre),n)}function c0e(n){return M0(),Ee((lLn(),fre),n)}function u0e(n){return Qp(),Ee((BNn(),hre),n)}function o0e(n){return K5(),Ee((VMn(),lre),n)}function s0e(n){return d5(),Ee((nNn(),are),n)}function f0e(n){return b5(),Ee((FNn(),$re),n)}function h0e(n){return FM(),Ee((uLn(),xre),n)}function l0e(n){return yT(),Ee((oLn(),_re),n)}function a0e(n){return wA(),Ee((l$n(),qre),n)}function d0e(n){return Pk(),Ee((eNn(),Gre),n)}function b0e(n){return ZM(),Ee((aLn(),Ure),n)}function w0e(n){return sA(),Ee((xNn(),lce),n)}function g0e(n){return AT(),Ee((tNn(),ace),n)}function p0e(n){return XT(),Ee((iNn(),dce),n)}function m0e(n){return rA(),Ee((rNn(),wce),n)}function v0e(n){return _T(),Ee((cNn(),mce),n)}function k0e(n){return GM(),Ee((dLn(),Rce),n)}function y0e(n){return V4(),Ee((ZDn(),_Zn),n)}function j0e(n){return Vn(),Ee((x$n(),xZn),n)}function E0e(n){return nT(),Ee((uNn(),Kce),n)}function C0e(n){return N$(),Ee((bLn(),_ce),n)}function M0e(n){return x5(),Ee((a$n(),qce),n)}function T0e(n){return eC(),Ee((IDn(),Gce),n)}function A0e(n){return $k(),Ee((bNn(),Uce),n)}function S0e(n){return tC(),Ee((ODn(),Xce),n)}function P0e(n){return ik(),Ee((wLn(),Vce),n)}function I0e(n){return Jk(),Ee((d$n(),Wce),n)}function O0e(n){return s6(),Ee((DDn(),lue),n)}function D0e(n){return Mk(),Ee((gLn(),aue),n)}function L0e(n){return pf(),Ee((w$n(),mue),n)}function N0e(n){return l1(),Ee((Lxn(),kue),n)}function $0e(n){return Rh(),Ee((F$n(),yue),n)}function x0e(n){return wd(),Ee((B$n(),Aue),n)}function F0e(n){return ci(),Ee((b$n(),zue),n)}function B0e(n){return $f(),Ee((wNn(),Xue),n)}function R0e(n){return El(),Ee((RNn(),Vue),n)}function K0e(n){return pA(),Ee((R$n(),Wue),n)}function _0e(n){return jl(),Ee((dNn(),Que),n)}function H0e(n){return To(),Ee((KNn(),Zue),n)}function q0e(n){return lw(),Ee((Wxn(),noe),n)}function U0e(n){return Bg(),Ee((g$n(),eoe),n)}function G0e(n){return Oi(),Ee((K$n(),toe),n)}function z0e(n){return zu(),Ee((_$n(),ioe),n)}function X0e(n){return en(),Ee((p$n(),roe),n)}function V0e(n){return go(),Ee((_Nn(),foe),n)}function W0e(n){return io(),Ee((Vxn(),hoe),n)}function J0e(n){return Gp(),Ee((gNn(),loe),n)}function Q0e(n,e){return Jn(n),n+(Jn(e),e)}function Y0e(n){return RL(),Ee((pLn(),aoe),n)}function Z0e(n){return qT(),Ee((HNn(),doe),n)}function nbe(n){return LT(),Ee((qNn(),goe),n)}function k4(){k4=F,tln=(en(),Wn),II=Zn}function RL(){RL=F,vdn=new VSn,kdn=new LPn}function ebe(n){return!n.e&&(n.e=new Z),n.e}function KL(n,e){this.c=n,this.a=e,this.b=e-n}function vSn(n,e,t){this.a=n,this.b=e,this.c=t}function _L(n,e,t){this.a=n,this.b=e,this.c=t}function FV(n,e,t){this.a=n,this.b=e,this.c=t}function BV(n,e,t){this.a=n,this.b=e,this.c=t}function kSn(n,e,t){this.a=n,this.b=e,this.c=t}function ySn(n,e,t){this.a=n,this.b=e,this.c=t}function Xl(n,e,t){this.e=n,this.a=e,this.c=t}function jSn(n,e,t){Ko(),tJ.call(this,n,e,t)}function HL(n,e,t){Ko(),RW.call(this,n,e,t)}function RV(n,e,t){Ko(),RW.call(this,n,e,t)}function KV(n,e,t){Ko(),RW.call(this,n,e,t)}function ESn(n,e,t){Ko(),HL.call(this,n,e,t)}function _V(n,e,t){Ko(),HL.call(this,n,e,t)}function CSn(n,e,t){Ko(),_V.call(this,n,e,t)}function MSn(n,e,t){Ko(),RV.call(this,n,e,t)}function TSn(n,e,t){Ko(),KV.call(this,n,e,t)}function qL(n){rM.call(this,n.d,n.c,n.a,n.b)}function HV(n){rM.call(this,n.d,n.c,n.a,n.b)}function qV(n){this.d=n,c9n(this),this.b=nwe(n.d)}function tbe(n){return Cm(),Ee((Nxn(),Poe),n)}function N7(n,e){return Se(n),Se(e),new NEn(n,e)}function Cp(n,e){return Se(n),Se(e),new RSn(n,e)}function ibe(n,e){return Se(n),Se(e),new KSn(n,e)}function rbe(n,e){return Se(n),Se(e),new qEn(n,e)}function UL(n){return oe(n.b!=0),Xo(n,n.a.a)}function cbe(n){return oe(n.b!=0),Xo(n,n.c.b)}function ube(n){return!n.c&&(n.c=new W3),n.c}function y4(n){var e;return e=new Z,b$(e,n),e}function obe(n){var e;return e=new ni,b$(e,n),e}function ASn(n){var e;return e=new GG,A$(e,n),e}function $7(n){var e;return e=new Ct,A$(e,n),e}function u(n,e){return x6(n==null||Tx(n,e)),n}function sbe(n,e,t){TPn.call(this,e,t),this.a=n}function SSn(n,e){this.c=n,this.b=e,this.a=!1}function PSn(){this.a=";,;",this.b="",this.c=""}function ISn(n,e,t){this.b=n,_Mn.call(this,e,t)}function UV(n,e,t){this.c=n,oC.call(this,e,t)}function GV(n,e,t){d4.call(this,n,e),this.b=t}function zV(n,e,t){Bnn(t,0,n,e,t.length,!1)}function Lh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function XV(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function fbe(n,e){e&&(n.b=e,n.a=(X1(e),e.a))}function x7(n,e){if(!n)throw M(new Gn(e))}function Mp(n,e){if(!n)throw M(new Or(e))}function VV(n,e){if(!n)throw M(new Bjn(e))}function hbe(n,e){return ZE(),jc(n.d.p,e.d.p)}function lbe(n,e){return kl(),bt(n.e.b,e.e.b)}function abe(n,e){return kl(),bt(n.e.a,e.e.a)}function dbe(n,e){return jc(GSn(n.d),GSn(e.d))}function WC(n,e){return e&&vM(n,e.d)?e:null}function bbe(n,e){return e==(en(),Wn)?n.c:n.d}function WV(n){return Y1(dwe(Vr(n)?ds(n):n))}function wbe(n){return new V(n.c+n.b,n.d+n.a)}function OSn(n){return n!=null&&!lx(n,D9,L9)}function gbe(n,e){return(fBn(n)<<4|fBn(e))&ui}function DSn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function JV(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function QV(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function pbe(n,e){var t;return t=n.c,PQ(n,e),t}function YV(n,e){return e<0?n.g=-1:n.g=e,n}function JC(n,e){return Mme(n),n.a*=e,n.b*=e,n}function LSn(n,e,t){A$n.call(this,e,t),this.d=n}function F7(n,e,t){pX.call(this,n,e),this.c=t}function QC(n,e,t){pX.call(this,n,e),this.c=t}function ZV(n){OV(),ME.call(this),this.ci(n)}function NSn(){$4(),Bwe.call(this,(R1(),Ps))}function $Sn(n){return nt(),new Nh(0,n)}function xSn(){xSn=F,AU=(Dn(),new nD(IK))}function YC(){YC=F,new hZ((bD(),HK),(dD(),_K))}function FSn(){FSn=F,pun=K(Gi,J,17,256,0,1)}function BSn(){this.b=$(R(rn((Us(),y_))))}function GL(n){this.b=n,this.a=Ja(this.b.a).Od()}function RSn(n,e){this.b=n,this.a=e,GO.call(this)}function KSn(n,e){this.a=n,this.b=e,GO.call(this)}function _Sn(n,e,t){this.a=n,pg.call(this,e,t)}function HSn(n,e,t){this.a=n,pg.call(this,e,t)}function j4(n,e,t){var i;i=new qb(t),bf(n,e,i)}function nW(n,e,t){var i;return i=n[e],n[e]=t,i}function ZC(n){var e;return e=n.slice(),o$(e,n)}function nM(n){var e;return e=n.n,n.a.b+e.d+e.a}function qSn(n){var e;return e=n.n,n.e.b+e.d+e.a}function eW(n){var e;return e=n.n,n.e.a+e.b+e.c}function tW(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function Fe(n,e){return xt(n,e,n.c.b,n.c),!0}function mbe(n){return n.a?n.a:vN(n)}function vbe(n){return Lp(),Kh(n)==At(ra(n))}function kbe(n){return Lp(),ra(n)==At(Kh(n))}function d0(n,e){return I5(n,new d4(e.a,e.b))}function ybe(n,e){return yM(),Nx(n,e),new lIn(n,e)}function jbe(n,e){return n.c=e)throw M(new YG)}function _b(n,e){return Lk(n,(Jn(e),new a9n(e)))}function Ap(n,e){return Lk(n,(Jn(e),new d9n(e)))}function SPn(n,e,t){return VLe(n,u(e,12),u(t,12))}function PPn(n){return Ou(),u(n,12).g.c.length!=0}function IPn(n){return Ou(),u(n,12).e.c.length!=0}function uwe(n,e){return Hp(),bt(e.a.o.a,n.a.o.a)}function owe(n,e){e.Bb&kc&&!n.a.o&&(n.a.o=e)}function swe(n,e){e.Ug("General 'Rotator",1),jDe(n)}function fwe(n,e,t){e.qf(t,$(R(ee(n.b,t)))*n.a)}function OPn(n,e,t){return Vg(),W4(n,e)&&W4(n,t)}function K6(n){return zu(),!n.Hc(Fl)&&!n.Hc(Ia)}function hwe(n){return n.e?qJ(n.e):null}function _6(n){return Vr(n)?""+n:$qn(n)}function yW(n){var e;for(e=n;e.f;)e=e.f;return e}function lwe(n,e,t){return $t(e,0,oW(e[0],t[0])),e}function Vl(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function q(n,e,t,i){ti.call(this,n,e,t),this.b=i}function Ci(n,e,t,i,r){c$.call(this,n,e,t,i,r,-1)}function H6(n,e,t,i,r){ck.call(this,n,e,t,i,r,-1)}function bM(n,e,t,i){F7.call(this,n,e,t),this.b=i}function DPn(n){PMn.call(this,n,!1),this.a=!1}function LPn(){sMn.call(this,"LOOKAHEAD_LAYOUT",1)}function NPn(n){this.b=n,kp.call(this,n),RTn(this)}function $Pn(n){this.b=n,M7.call(this,n),KTn(this)}function Hb(n,e,t){this.a=n,jp.call(this,e,t,5,6)}function jW(n,e,t,i){this.b=n,ti.call(this,e,t,i)}function xPn(n,e){this.b=n,H8n.call(this,n.b),this.a=e}function FPn(n){this.a=kRn(n.a),this.b=new _u(n.b)}function EW(n,e){m0(),Hhe.call(this,n,FT(new Ku(e)))}function wM(n,e){return nt(),new BW(n,e,0)}function rN(n,e){return nt(),new BW(6,n,e)}function _i(n,e){for(Jn(e);n.Ob();)e.Cd(n.Pb())}function Zc(n,e){return Ai(e)?AN(n,e):!!wr(n.f,e)}function cN(n,e){return e.Vh()?ea(n.b,u(e,54)):e}function awe(n,e){return An(n.substr(0,e.length),e)}function $h(n){return new ie(new UX(n.a.length,n.a))}function gM(n){return new V(n.c+n.b/2,n.d+n.a/2)}function dwe(n){return Yc(~n.l&ro,~n.m&ro,~n.h&Il)}function uN(n){return typeof n===vy||typeof n===eB}function Hu(n){n.f=new iTn(n),n.i=new rTn(n),++n.g}function BPn(n){if(!n)throw M(new nc);return n.d}function Sp(n){var e;return e=l5(n),oe(e!=null),e}function bwe(n){var e;return e=I5e(n),oe(e!=null),e}function C4(n,e){var t;return t=n.a.gc(),BJ(e,t),t-e}function fi(n,e){var t;return t=n.a.zc(e,n),t==null}function R7(n,e){return n.a.zc(e,(_n(),ga))==null}function CW(n){return new Tn(null,vwe(n,n.length))}function MW(n,e,t){return cGn(n,u(e,42),u(t,176))}function Pp(n,e,t){return _s(n.a,e),nW(n.b,e.g,t)}function wwe(n,e,t){E4(t,n.a.c.length),Go(n.a,t,e)}function B(n,e,t,i){xFn(e,t,n.length),gwe(n,e,t,i)}function gwe(n,e,t,i){var r;for(r=e;r0?y.Math.log(n/e):-100}function KPn(n,e){return Ec(n,e)<0?-1:Ec(n,e)>0?1:0}function K7(n,e){OTn(n,D(e,160)?e:u(e,2036).Rl())}function PW(n,e){if(n==null)throw M(new fp(e))}function vwe(n,e){return yme(e,n.length),new XSn(n,e)}function IW(n,e){return e?Bi(n,e):!1}function kwe(){return RE(),A(T(uQn,1),G,549,0,[GK])}function U6(n){return n.e==0?n:new Ya(-n.e,n.d,n.a)}function ywe(n,e){return bt(n.c.c+n.c.b,e.c.c+e.c.b)}function _7(n,e){xt(n.d,e,n.b.b,n.b),++n.a,n.c=null}function _Pn(n,e){return n.c?_Pn(n.c,e):nn(n.b,e),n}function jwe(n,e,t){var i;return i=Jb(n,e),qN(n,e,t),i}function HPn(n,e,t){var i;for(i=0;i=n.g}function $t(n,e,t){return dae(t==null||sPe(n,t)),n[e]=t}function $W(n,e){return zn(e,n.length+1),n.substr(e)}function gN(n,e){for(Jn(e);n.c=n?new Dz:Gme(n-1)}function Hi(n){return!n.a&&n.c?n.c.b:n.a}function KW(n){return D(n,616)?n:new oOn(n)}function X1(n){n.c?X1(n.c):(ta(n),n.d=!0)}function X6(n){n.c?n.c.$e():(n.d=!0,fTe(n))}function sIn(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function fIn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function _we(n,e){var t;t=n.Ih(e),t>=0?n.ki(t):Pnn(n,e)}function hIn(n,e){n.c<0||n.b.b0;)n=n<<1|(n<0?1:0);return n}function mIn(n,e){var t;return t=new Lc(n),Kn(e.c,t),t}function vIn(n,e){n.u.Hc((zu(),Fl))&&zEe(n,e),h4e(n,e)}function mc(n,e){return x(n)===x(e)||n!=null&&rt(n,e)}function Cr(n,e){return JL(n.a,e)?n.b[u(e,22).g]:null}function nge(){return YE(),A(T(oon,1),G,489,0,[b_])}function ege(){return eC(),A(T($1n,1),G,490,0,[Bq])}function tge(){return tC(),A(T(zce,1),G,558,0,[Rq])}function ige(){return s6(),A(T(tan,1),G,539,0,[Hj])}function jM(n){return!n.n&&(n.n=new q(Ar,n,1,7)),n.n}function mN(n){return!n.c&&(n.c=new q(Qu,n,9,9)),n.c}function UW(n){return!n.c&&(n.c=new Nn(he,n,5,8)),n.c}function rge(n){return!n.b&&(n.b=new Nn(he,n,4,7)),n.b}function H7(n){return n.j.c.length=0,zW(n.c),xae(n.a),n}function P4(n){return n.e==rv&&jfe(n,Y8e(n.g,n.b)),n.e}function q7(n){return n.f==rv&&Cfe(n,q7e(n.g,n.b)),n.f}function We(n,e,t,i){return Hxn(n,e,t,!1),BT(n,i),n}function kIn(n,e){this.b=n,oN.call(this,n,e),RTn(this)}function yIn(n,e){this.b=n,SV.call(this,n,e),KTn(this)}function V6(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function GW(n,e){this.b=n,this.c=e,this.a=new dp(this.b)}function Xi(n,e){return zn(e,n.length),n.charCodeAt(e)}function cge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function uge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function ut(n,e){return ta(n),new Tn(n,new tQ(e,n.a))}function _r(n,e){return ta(n),new Tn(n,new _J(e,n.a))}function Ub(n,e){return ta(n),new uV(n,new ILn(e,n.a))}function EM(n,e){return ta(n),new oV(n,new OLn(e,n.a))}function oge(n,e){return new GIn(u(Se(n),50),u(Se(e),50))}function sge(n,e){return bt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function jIn(n,e,t){t.a?tu(n,e.b-n.f/2):eu(n,e.a-n.g/2)}function fge(n,e){return bt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function hge(n,e){return $z(),bt((Jn(n),n),(Jn(e),e))}function lge(n){return n!=null&&t7(jO,n.toLowerCase())}function zW(n){var e;for(e=n.Kc();e.Ob();)e.Pb(),e.Qb()}function Ag(n){var e;return e=n.b,!e&&(n.b=e=new N8n(n)),e}function vN(n){var e;return e=Wme(n),e||null}function EIn(n,e){var t,i;return t=n/e,i=wi(t),t>i&&++i,i}function age(n,e,t){var i;i=u(n.d.Kb(t),159),i&&i.Nb(e)}function dge(n,e,t){wIe(n.a,t),zve(t),xCe(n.b,t),xIe(e,t)}function CM(n,e,t,i){this.a=n,this.c=e,this.b=t,this.d=i}function XW(n,e,t,i){this.c=n,this.b=e,this.a=t,this.d=i}function CIn(n,e,t,i){this.c=n,this.b=e,this.d=t,this.a=i}function Ho(n,e,t,i){this.c=n,this.d=e,this.b=t,this.a=i}function MIn(n,e,t,i){this.a=n,this.d=e,this.c=t,this.b=i}function kN(n,e,t,i){this.a=n,this.e=e,this.d=t,this.c=i}function TIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function yN(n,e,t){this.a=ktn,this.d=n,this.b=e,this.c=t}function Op(n,e,t,i){je.call(this,n,e),this.a=t,this.b=i}function AIn(n,e){this.d=(Jn(n),n),this.a=16449,this.c=e}function SIn(n){this.a=new Z,this.e=K(ye,J,53,n,0,2)}function bge(n){n.Ug("No crossing minimization",1),n.Vg()}function PIn(){ec.call(this,"There is no more element.")}function IIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function OIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function Za(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function DIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function LIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function NIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function jN(n,e,t){var i,r;return i=utn(n),r=e.ti(t,i),r}function al(n){var e,t;return t=(e=new Jd,e),K4(t,n),t}function EN(n){var e,t;return t=(e=new Jd,e),fnn(t,n),t}function wge(n,e){var t;return t=ee(n.f,e),HQ(e,t),null}function $In(n){return!n.b&&(n.b=new q(Vt,n,12,3)),n.b}function xIn(n){return x6(n==null||uN(n)&&n.Tm!==Q2),n}function MM(n){return n.n&&(n.e!==Fzn&&n.je(),n.j=null),n}function I4(n){if(eo(n.d),n.d.d!=n.c)throw M(new Bo)}function VW(n){return oe(n.b0&&bKn(this)}function FIn(n,e){this.a=n,bae.call(this,n,u(n.d,15).fd(e))}function gge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function pge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function mge(n){return _0(n)&&on(un(z(n,(cn(),Nd))))}function vge(n,e){return Pn(n,u(v(e,(cn(),Cv)),17),e)}function kge(n,e){return u(v(n,(W(),T3)),15).Fc(e),e}function WW(n,e){return n.b=e.b,n.c=e.c,n.d=e.d,n.a=e.a,n}function BIn(n,e,t,i){this.b=n,this.c=i,IC.call(this,e,t)}function yge(n,e,t){n.i=0,n.e=0,e!=t&&yFn(n,e,t)}function jge(n,e,t){n.i=0,n.e=0,e!=t&&jFn(n,e,t)}function Ege(n,e,t){return o6(),J5e(u(ee(n.e,e),529),t)}function Dp(n){var e;return e=n.f,e||(n.f=new h4(n,n.c))}function RIn(n,e){return Fg(n.j,e.s,e.c)+Fg(e.e,n.s,n.c)}function KIn(n,e){n.e&&!n.e.a&&(Ayn(n.e,e),KIn(n.e,e))}function _In(n,e){n.d&&!n.d.a&&(Ayn(n.d,e),_In(n.d,e))}function Cge(n,e){return-bt(Su(n)*ao(n),Su(e)*ao(e))}function Mge(n){return u(n.ld(),149).Pg()+":"+Jr(n.md())}function HIn(){tF(this,new oG),this.wb=(G1(),Hn),o4()}function qIn(n){this.b=new Z,hi(this.b,this.b),this.a=n}function JW(n,e){new Ct,this.a=new Mu,this.b=n,this.c=e}function j0(){j0=F,Pun=new FU,ZK=new FU,Iun=new D0n}function Dn(){Dn=F,sr=new A0n,Wh=new P0n,hP=new I0n}function QW(){QW=F,RQn=new nbn,_Qn=new aW,KQn=new ebn}function Lp(){Lp=F,mP=new Z,m_=new de,p_=new Z}function TM(n,e){if(n==null)throw M(new fp(e));return n}function AM(n){return!n.a&&(n.a=new q(Ye,n,10,11)),n.a}function ft(n){return!n.q&&(n.q=new q(Ss,n,11,10)),n.q}function H(n){return!n.s&&(n.s=new q(ku,n,21,17)),n.s}function Tge(n){return Se(n),IRn(new ie(ce(n.a.Kc(),new En)))}function Age(n,e){return wo(n),wo(e),Fjn(u(n,22),u(e,22))}function nd(n,e,t){var i,r;i=IV(t),r=new AE(i),bf(n,e,r)}function MN(n,e,t,i,r,c){ck.call(this,n,e,t,i,r,c?-2:-1)}function UIn(n,e,t,i){pX.call(this,e,t),this.b=n,this.a=i}function GIn(n,e){Vfe.call(this,new iN(n)),this.a=n,this.b=e}function YW(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function Sge(n){Fs();var e;e=u(n.g,10),e.n.a=n.d.c+e.d.b}function O4(){O4=F;var n,e;e=!$8e(),n=new V3,VK=e?new og:n}function TN(n){return Dn(),D(n,59)?new jD(n):new BC(n)}function SM(n){return D(n,16)?new F6(u(n,16)):obe(n.Kc())}function Pge(n){return new HTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function Ige(n){return new qTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function ZW(n){return n&&n.hashCode?n.hashCode():l0(n)}function AN(n,e){return e==null?!!wr(n.f,null):zbe(n.i,e)}function Oge(n,e){var t;return t=$X(n.a,e),t&&(e.d=null),t}function zIn(n,e,t){return n.f?n.f.ef(e,t):!1}function U7(n,e,t,i){$t(n.c[e.g],t.g,i),$t(n.c[t.g],e.g,i)}function SN(n,e,t,i){$t(n.c[e.g],e.g,t),$t(n.b[e.g],e.g,i)}function Dge(n,e,t){return $(R(t.a))<=n&&$(R(t.b))>=e}function XIn(n,e){this.g=n,this.d=A(T(Qh,1),b1,10,0,[e])}function VIn(n){this.c=n,this.b=new Ul(u(Se(new tbn),50))}function WIn(n){this.c=n,this.b=new Ul(u(Se(new ewn),50))}function JIn(n){this.b=n,this.a=new Ul(u(Se(new Nbn),50))}function QIn(){this.b=new ni,this.d=new Ct,this.e=new ZG}function nJ(){this.c=new Li,this.d=new Li,this.e=new Li}function E0(){this.a=new Mu,this.b=(Co(3,mw),new Gc(3))}function Wl(n,e){this.e=n,this.a=ki,this.b=Qqn(e),this.c=e}function PM(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function YIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function ZIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function V1(n,e,t,i,r,c,s){return new GN(n.e,e,t,i,r,c,s)}function Lge(n,e,t){return t>=0&&An(n.substr(t,e.length),e)}function nOn(n,e){return D(e,149)&&An(n.b,u(e,149).Pg())}function Nge(n,e){return n.a?e.Gh().Kc():u(e.Gh(),71).Ii()}function eOn(n,e){var t;return t=n.b.Qc(e),WDn(t,n.b.gc()),t}function G7(n,e){if(n==null)throw M(new fp(e));return n}function Hr(n){return n.u||(Zu(n),n.u=new NAn(n,n)),n.u}function PN(n){this.a=(Dn(),D(n,59)?new jD(n):new BC(n))}function au(n){var e;return e=u(Un(n,16),29),e||n.ii()}function IM(n,e){var t;return t=Xa(n.Rm),e==null?t:t+": "+e}function qo(n,e,t){return Fi(e,t,n.length),n.substr(e,t-e)}function tOn(n,e){qC.call(this),lQ(this),this.a=n,this.c=e}function $ge(n){n&&IM(n,n.ie())}function xge(n){HE(),y.setTimeout(function(){throw n},0)}function Fge(){return YT(),A(T(Bun,1),G,436,0,[o_,Fun])}function Bge(){return cT(),A(T(Kun,1),G,435,0,[Run,s_])}function Rge(){return uT(),A(T(bon,1),G,432,0,[v_,vP])}function Kge(){return V4(),A(T(KZn,1),G,517,0,[dj,L_])}function _ge(){return KM(),A(T(Qsn,1),G,429,0,[fH,Jsn])}function Hge(){return wk(),A(T($sn,1),G,428,0,[WP,Nsn])}function qge(){return QM(),A(T(Asn,1),G,431,0,[Tsn,V_])}function Uge(){return dk(),A(T(qhn,1),G,430,0,[UH,GH])}function Gge(){return Z6(),A(T(Oie,1),G,531,0,[e9,n9])}function zge(){return yT(),A(T(Rln,1),G,501,0,[RI,L2])}function Xge(){return fh(),A(T(Bie,1),G,523,0,[mb,y1])}function Vge(){return Pf(),A(T(Kie,1),G,522,0,[Rd,Xf])}function Wge(){return af(),A(T(ere,1),G,528,0,[zw,Ea])}function Jge(){return sk(),A(T(Bsn,1),G,488,0,[Fsn,QP])}function Qge(){return GM(),A(T(S1n,1),G,491,0,[$q,A1n])}function Yge(){return N$(),A(T(N1n,1),G,492,0,[D1n,L1n])}function Zge(){return FM(),A(T(Bln,1),G,433,0,[dq,Fln])}function n2e(){return ZM(),A(T(_ln,1),G,434,0,[Kln,vq])}function e2e(){return M0(),A(T(sre,1),G,465,0,[Ca,I2])}function t2e(){return ik(),A(T(x1n,1),G,438,0,[Kq,JI])}function i2e(){return Mk(),A(T(ran,1),G,437,0,[YI,ian])}function r2e(){return RL(),A(T(dO,1),G,347,0,[vdn,kdn])}function OM(n,e,t,i){return t>=0?n.Uh(e,t,i):n.Ch(null,t,i)}function z7(n){return n.b.b==0?n.a.sf():UL(n.b)}function c2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.f)}function u2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.k)}function eJ(n){return x(n.a)===x((D$(),CU))&&rOe(n),n.a}function o2e(n,e){n.b=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function s2e(n,e){n.c=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function iOn(n,e){ufe(this,new V(n.a,n.b)),ofe(this,$7(e))}function C0(){Wfe.call(this,new ap(Qb(12))),KX(!0),this.a=2}function IN(n,e,t){nt(),Wd.call(this,n),this.b=e,this.a=t}function tJ(n,e,t){Ko(),LE.call(this,e),this.a=n,this.b=t}function rOn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function f2e(n){return n.b==0?null:(oe(n.b!=0),Xo(n,n.a.a))}function Nc(n,e){return e==null?Kr(wr(n.f,null)):a6(n.i,e)}function cOn(n,e,t,i,r){return new rF(n,(B4(),i_),e,t,i,r)}function DM(n,e){return zDn(e),Lme(n,K(ye,_e,28,e,15,1),e)}function LM(n,e){return TM(n,"set1"),TM(e,"set2"),new VEn(n,e)}function h2e(n,e){var t=XK[n.charCodeAt(0)];return t??n}function uOn(n,e){var t,i;return t=e,i=new DO,LGn(n,t,i),i.d}function ON(n,e,t,i){var r;r=new FAn,e.a[t.g]=r,Pp(n.b,i,r)}function l2e(n,e){var t;return t=Ime(n.f,e),tt(HC(t),n.f.d)}function X7(n){var e;_me(n.a),dTn(n.a),e=new IE(n.a),HY(e)}function a2e(n,e){_qn(n,!0),nu(n.e.Rf(),new NV(n,!0,e))}function d2e(n,e){return Lp(),n==At(Kh(e))||n==At(ra(e))}function b2e(n,e){return kl(),u(v(e,(lc(),Sh)),17).a==n}function wi(n){return Math.max(Math.min(n,et),-2147483648)|0}function oOn(n){this.a=u(Se(n),277),this.b=(Dn(),new XX(n))}function sOn(n,e,t){this.i=new Z,this.b=n,this.g=e,this.a=t}function iJ(n,e,t){this.a=new Z,this.e=n,this.f=e,this.c=t}function NM(n,e,t){this.c=new Z,this.e=n,this.f=e,this.b=t}function fOn(n){qC.call(this),lQ(this),this.a=n,this.c=!0}function w2e(n){function e(){}return e.prototype=n||{},new e}function g2e(n){if(n.Ae())return null;var e=n.n;return rP[e]}function V7(n){return n.Db>>16!=3?null:u(n.Cb,27)}function Sf(n){return n.Db>>16!=9?null:u(n.Cb,27)}function hOn(n){return n.Db>>16!=6?null:u(n.Cb,74)}function M0(){M0=F,Ca=new cX(s3,0),I2=new cX(f3,1)}function fh(){fh=F,mb=new tX(f3,0),y1=new tX(s3,1)}function Pf(){Pf=F,Rd=new iX(_B,0),Xf=new iX("UP",1)}function lOn(){lOn=F,oQn=Ce((RE(),A(T(uQn,1),G,549,0,[GK])))}function aOn(n){var e;return e=new zE(Qb(n.length)),eY(e,n),e}function dOn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function p2e(n,e){return Zxn(n,e)?(W$n(n),!0):!1}function dl(n,e){if(e==null)throw M(new rp);return F8e(n,e)}function W7(n,e){var t;t=n.q.getHours(),n.q.setDate(e),H5(n,t)}function rJ(n,e,t){var i;i=n.Ih(e),i>=0?n.bi(i,t):ten(n,e,t)}function bOn(n,e){var t;return t=n.Ih(e),t>=0?n.Wh(t):hF(n,e)}function wOn(n,e){var t;for(Se(e),t=n.a;t;t=t.c)e.Yd(t.g,t.i)}function DN(n,e,t){var i;i=vFn(n,e,t),n.b=new ET(i.c.length)}function Sg(n,e,t){$M(),n&&Ve(yU,n,e),n&&Ve(hE,n,t)}function m2e(n,e){return VC(),_n(),u(e.a,17).a0}function cJ(n){var e;return e=n.d,e=n.bj(n.f),ve(n,e),e.Ob()}function gOn(n,e){var t;return t=new fW(e),_Kn(t,n),new _u(t)}function y2e(n){if(n.p!=0)throw M(new Cu);return C6(n.f,0)}function j2e(n){if(n.p!=0)throw M(new Cu);return C6(n.k,0)}function pOn(n){return n.Db>>16!=7?null:u(n.Cb,241)}function D4(n){return n.Db>>16!=6?null:u(n.Cb,241)}function mOn(n){return n.Db>>16!=7?null:u(n.Cb,167)}function At(n){return n.Db>>16!=11?null:u(n.Cb,27)}function Gb(n){return n.Db>>16!=17?null:u(n.Cb,29)}function vOn(n){return n.Db>>16!=3?null:u(n.Cb,155)}function uJ(n){var e;return ta(n),e=new ni,ut(n,new M9n(e))}function kOn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.ve(e))}function E2e(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),H5(n,t)}function yOn(n,e){xC(this),this.f=e,this.g=n,MM(this),this.je()}function jOn(n,e){this.a=n,this.c=Ki(this.a),this.b=new PM(e)}function EOn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function COn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function MOn(n){this.a=n,this.b=K(Sie,J,2043,n.e.length,0,2)}function TOn(){this.a=new rh,this.e=new ni,this.g=0,this.i=0}function $M(){$M=F,yU=new de,hE=new de,ple(MQn,new wvn)}function AOn(){AOn=F,aie=Pu(new ii,(Vi(),zr),(tr(),bj))}function oJ(){oJ=F,die=Pu(new ii,(Vi(),zr),(tr(),bj))}function SOn(){SOn=F,wie=Pu(new ii,(Vi(),zr),(tr(),bj))}function POn(){POn=F,Lie=Ke(new ii,(Vi(),zr),(tr(),L8))}function ko(){ko=F,xie=Ke(new ii,(Vi(),zr),(tr(),L8))}function IOn(){IOn=F,Fie=Ke(new ii,(Vi(),zr),(tr(),L8))}function NN(){NN=F,Hie=Ke(new ii,(Vi(),zr),(tr(),L8))}function W6(n,e,t,i,r,c){return new ml(n.e,e,n.Lj(),t,i,r,c)}function Dr(n,e,t){return e==null?Vc(n.f,null,t):$0(n.i,e,t)}function Zi(n,e){n.c&&du(n.c.g,n),n.c=e,n.c&&nn(n.c.g,n)}function $i(n,e){n.c&&du(n.c.a,n),n.c=e,n.c&&nn(n.c.a,n)}function ic(n,e){n.i&&du(n.i.j,n),n.i=e,n.i&&nn(n.i.j,n)}function Ii(n,e){n.d&&du(n.d.e,n),n.d=e,n.d&&nn(n.d.e,n)}function $N(n,e){n.a&&du(n.a.k,n),n.a=e,n.a&&nn(n.a.k,n)}function xN(n,e){n.b&&du(n.b.f,n),n.b=e,n.b&&nn(n.b.f,n)}function OOn(n,e){$we(n,n.b,n.c),u(n.b.b,68),e&&u(e.b,68).b}function C2e(n,e){return bt(u(n.c,65).c.e.b,u(e.c,65).c.e.b)}function M2e(n,e){return bt(u(n.c,65).c.e.a,u(e.c,65).c.e.a)}function T2e(n){return Y$(),_n(),u(n.a,86).d.e!=0}function xM(n,e){D(n.Cb,184)&&(u(n.Cb,184).tb=null),zc(n,e)}function FN(n,e){D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),4),zc(n,e)}function A2e(n,e){LY(n,e),D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),2)}function S2e(n,e){var t,i;t=e.c,i=t!=null,i&&Ip(n,new qb(e.c))}function DOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function LOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function NOn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function P2e(n,e,t){return nn(n.a,(yM(),Nx(e,t),new i0(e,t))),n}function $c(n,e){return dr(),a$(e)?new eM(e,n):new k7(e,n)}function J7(n){return dh(),Ec(n,0)>=0?ia(n):U6(ia(n1(n)))}function I2e(n){var e;return e=u(ZC(n.b),9),new _o(n.a,e,n.c)}function $On(n,e){var t;return t=u(tw(Dp(n.a),e),16),t?t.gc():0}function xOn(n,e,t){var i;oBn(e,t,n.c.length),i=t-e,Pz(n.c,e,i)}function Jl(n,e,t){oBn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function Np(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function BN(n){this.a=y.Math.cos(n),this.b=y.Math.sin(n)}function ed(n,e,t,i){this.c=n,this.d=i,$N(this,e),xN(this,t)}function sJ(n,e){Xfe.call(this,new ap(Qb(n))),Co(e,Ozn),this.a=e}function FOn(n,e,t){return new rF(n,(B4(),t_),null,!1,e,t)}function BOn(n,e,t){return new rF(n,(B4(),r_),e,t,null,!1)}function O2e(){return Gu(),A(T(xr,1),G,108,0,[xun,Yr,Aw])}function D2e(){return bu(),A(T(JQn,1),G,472,0,[kf,ma,Xs])}function L2e(){return Uu(),A(T(VQn,1),G,471,0,[Mh,pa,zs])}function N2e(){return wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])}function $2e(){return t5(),A(T(Pon,1),G,391,0,[E_,j_,C_])}function x2e(){return D0(),A(T(R_,1),G,372,0,[ub,va,cb])}function F2e(){return c5(),A(T(Psn,1),G,322,0,[$8,pj,Ssn])}function B2e(){return bT(),A(T(Osn,1),G,351,0,[Isn,VP,W_])}function R2e(){return hd(),A(T(pne,1),G,460,0,[Y_,mv,m2])}function K2e(){return Z4(),A(T(sH,1),G,299,0,[uH,oH,mj])}function _2e(){return vl(),A(T(Mne,1),G,311,0,[vj,k2,E3])}function H2e(){return w5(),A(T(Lhn,1),G,390,0,[FH,Dhn,MI])}function q2e(){return gr(),A(T(cie,1),G,463,0,[Q8,Vu,Jc])}function U2e(){return ST(),A(T(zhn,1),G,387,0,[Uhn,zH,Ghn])}function G2e(){return a5(),A(T(Xhn,1),G,349,0,[VH,XH,Ij])}function z2e(){return om(),A(T(Whn,1),G,350,0,[WH,Vhn,Y8])}function X2e(){return dT(),A(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])}function V2e(){return DT(),A(T(Zhn,1),G,388,0,[QH,Ov,Gw])}function W2e(){return O0(),A(T(Tie,1),G,464,0,[Oj,Z8,PI])}function If(n){return cc(A(T(Ei,1),J,8,0,[n.i.n,n.n,n.a]))}function J2e(){return d5(),A(T(gln,1),G,392,0,[wln,nq,Lj])}function ROn(){ROn=F,Fre=Pu(new ii,(Qp(),i9),(K5(),uln))}function FM(){FM=F,dq=new uX("DFS",0),Fln=new uX("BFS",1)}function KOn(n,e,t){var i;i=new E3n,i.b=e,i.a=t,++e.b,nn(n.d,i)}function Q2e(n,e,t){var i;i=new rr(t.d),tt(i,n),DY(e,i.a,i.b)}function Y2e(n,e){LTn(n,Ae(vi(w0(e,24),YA)),Ae(vi(e,YA)))}function zb(n,e){if(n<0||n>e)throw M(new Ir(Ptn+n+Itn+e))}function Ln(n,e){if(n<0||n>=e)throw M(new Ir(Ptn+n+Itn+e))}function zn(n,e){if(n<0||n>=e)throw M(new gz(Ptn+n+Itn+e))}function In(n,e){this.b=(Jn(n),n),this.a=e&vw?e:e|64|wh}function fJ(n){var e;return ta(n),e=(j0(),j0(),ZK),fT(n,e)}function Z2e(n,e,t){var i;return i=G5(n,e,!1),i.b<=e&&i.a<=t}function npe(){return nT(),A(T(O1n,1),G,439,0,[xq,I1n,P1n])}function epe(){return _T(),A(T(a1n,1),G,394,0,[l1n,Oq,h1n])}function tpe(){return XT(),A(T(f1n,1),G,445,0,[Bj,qI,Mq])}function ipe(){return rA(),A(T(bce,1),G,456,0,[Tq,Sq,Aq])}function rpe(){return Pk(),A(T(Uln,1),G,393,0,[KI,Hln,qln])}function cpe(){return AT(),A(T(s1n,1),G,300,0,[Cq,o1n,u1n])}function upe(){return jl(),A(T(ldn,1),G,346,0,[uO,M1,E9])}function ope(){return $k(),A(T(Fq,1),G,444,0,[XI,VI,WI])}function spe(){return $f(),A(T(Zan,1),G,278,0,[Fv,Jw,Bv])}function fpe(){return Gp(),A(T(mdn,1),G,280,0,[pdn,Yw,aO])}function T0(n){return Se(n),D(n,16)?new _u(u(n,16)):y4(n.Kc())}function hJ(n,e){return n&&n.equals?n.equals(e):x(n)===x(e)}function vi(n,e){return Y1(ewe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function lf(n,e){return Y1(twe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function RN(n,e){return Y1(iwe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function hpe(n,e){var t;return t=(Jn(n),n).g,rV(!!t),Jn(e),t(e)}function _On(n,e){var t,i;return i=C4(n,e),t=n.a.fd(i),new zEn(n,t)}function lpe(n){return n.Db>>16!=6?null:u(dF(n),241)}function ape(n){if(n.p!=2)throw M(new Cu);return Ae(n.f)&ui}function dpe(n){if(n.p!=2)throw M(new Cu);return Ae(n.k)&ui}function E(n){return oe(n.ai?1:0}function GOn(n,e){var t,i;return t=s$(e),i=t,u(ee(n.c,i),17).a}function KN(n,e,t){var i;i=n.d[e.p],n.d[e.p]=n.d[t.p],n.d[t.p]=i}function Cpe(n,e,t){var i;n.n&&e&&t&&(i=new uvn,nn(n.e,i))}function _N(n,e){if(fi(n.a,e),e.d)throw M(new ec(nXn));e.d=n}function dJ(n,e){this.a=new Z,this.d=new Z,this.f=n,this.c=e}function zOn(){this.c=new PTn,this.a=new $Ln,this.b=new Xyn,lCn()}function XOn(){qp(),this.b=new de,this.a=new de,this.c=new Z}function VOn(n,e,t){this.d=n,this.j=e,this.e=t,this.o=-1,this.p=3}function WOn(n,e,t){this.d=n,this.k=e,this.f=t,this.o=-1,this.p=5}function JOn(n,e,t,i,r,c){dQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function QOn(n,e,t,i,r,c){bQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function YOn(n,e,t,i,r,c){OJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function ZOn(n,e,t,i,r,c){pQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function nDn(n,e,t,i,r,c){DJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function eDn(n,e,t,i,r,c){wQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function tDn(n,e,t,i,r,c){gQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function iDn(n,e,t,i,r,c){LJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function rDn(n,e,t,i){LE.call(this,t),this.b=n,this.c=e,this.d=i}function cDn(n,e){this.f=n,this.a=($4(),MO),this.c=MO,this.b=e}function uDn(n,e){this.g=n,this.d=($4(),TO),this.a=TO,this.b=e}function bJ(n,e){!n.c&&(n.c=new Rt(n,0)),HA(n.c,(at(),$9),e)}function Mpe(n,e){return oMe(n,e,D(e,102)&&(u(e,19).Bb&hr)!=0)}function Tpe(n,e){return KPn(vc(n.q.getTime()),vc(e.q.getTime()))}function oDn(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),16,new O8n(n))}function Ape(n){return!!n.u&&Sc(n.u.a).i!=0&&!(n.n&&Ix(n.n))}function Spe(n){return!!n.a&&no(n.a.a).i!=0&&!(n.b&&Ox(n.b))}function wJ(n,e){return e==0?!!n.o&&n.o.f!=0:Cx(n,e)}function Ppe(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Hc(t)}function sDn(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Mc(t)}function fDn(n,e){var t;return t=1-e,n.a[t]=jT(n.a[t],t),jT(n,e)}function hDn(n,e){var t,i;return i=vi(n,mr),t=Bs(e,32),lf(t,i)}function lDn(n,e,t){var i;i=(Se(n),new _u(n)),O7e(new EOn(i,e,t))}function Q7(n,e,t){var i;i=(Se(n),new _u(n)),D7e(new COn(i,e,t))}function fc(n,e,t,i,r,c){return Hxn(n,e,t,c),CY(n,i),MY(n,r),n}function aDn(n,e,t,i){return n.a+=""+qo(e==null?gu:Jr(e),t,i),n}function xi(n,e){this.a=n,zv.call(this,n),zb(e,n.gc()),this.b=e}function dDn(n){this.a=K(ki,Bn,1,QQ(y.Math.max(8,n))<<1,5,1)}function Y7(n){return u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199)}function hh(n){return u(Ff(n,K(O_,rR,18,n.c.length,0,1)),483)}function bDn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function J6(n){for(;n.d>0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function wDn(n){return oe(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function Ipe(n,e,t){n.a=e,n.c=t,n.b.a.$b(),vo(n.d),Pb(n.e.a.c,0)}function gDn(n,e){var t;n.e=new uz,t=aw(e),Yt(t,n.c),Iqn(n,t,0)}function ri(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,Fe(n.a,r)}function Q(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,Fe(n.b,r)}function pDn(n,e,t){if(n<0||et)throw M(new Ir(qje(n,e,t)))}function Z7(n,e){if(n<0||n>=e)throw M(new Ir(kEe(n,e)));return n}function Ope(n){if(!("stack"in n))try{throw n}catch{}return n}function Pg(n){return o6(),D(n.g,10)?u(n.g,10):null}function Dpe(n){return Ag(n).dc()?!1:(e1e(n,new Pr),!0)}function id(n){var e;return Vr(n)?(e=n,e==-0?0:e):X4e(n)}function mDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function vDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function kDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function gJ(n){var e;return X1(n),e=new L0n,lg(n.a,new j9n(e)),e}function pJ(){var n,e,t;return e=(t=(n=new Jd,n),t),nn(n0n,e),e}function BM(n){var e;return X1(n),e=new N0n,lg(n.a,new E9n(e)),e}function Lpe(n,e){return n.a<=n.b?(e.Dd(n.a++),!0):!1}function yDn(n){P$.call(this,n,(B4(),e_),null,!1,null,!1)}function jDn(){jDn=F,SYn=Ce((YE(),A(T(oon,1),G,489,0,[b_])))}function EDn(){EDn=F,eln=wIn(Y(1),Y(4)),nln=wIn(Y(1),Y(2))}function Npe(n,e){return new _L(e,L6(Ki(e.e),n,n),(_n(),!0))}function RM(n){return new Gc((Co(n,cB),oT(nr(nr(5,n),n/10|0))))}function $pe(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),273,new I8n(n))}function CDn(n){return u(Ff(n,K(FZn,DXn,12,n.c.length,0,1)),2042)}function xpe(n){return ko(),!fr(n)&&!(!fr(n)&&n.c.i.c==n.d.i.c)}function Fpe(n,e){return _p(),u(v(e,(lc(),O2)),17).a>=n.gc()}function Q6(n,e){vLe(e,n),JV(n.d),JV(u(v(n,(cn(),mI)),214))}function HN(n,e){kLe(e,n),QV(n.d),QV(u(v(n,(cn(),mI)),214))}function Bpe(n,e,t){n.d&&du(n.d.e,n),n.d=e,n.d&&b0(n.d.e,t,n)}function Rpe(n,e,t){return t.f.c.length>0?MW(n.a,e,t):MW(n.b,e,t)}function Kpe(n,e,t){var i;i=i9e();try{return Aae(n,e,t)}finally{D3e(i)}}function A0(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.pe()),i}function Y6(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.se()),i}function L4(n,e){var t,i;return t=Jb(n,e),i=null,t&&(i=t.se()),i}function bl(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=gnn(t)),i}function _pe(n,e,t){var i;return i=wm(t),FA(n.g,i,e),FA(n.i,e,t),e}function mJ(n,e,t){this.d=new $7n(this),this.e=n,this.i=e,this.f=t}function MDn(n,e,t,i){this.e=null,this.c=n,this.d=e,this.a=t,this.b=i}function TDn(n,e,t,i){ETn(this),this.c=n,this.e=e,this.f=t,this.b=i}function vJ(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function ADn(n,e,t,i){return D(t,59)?new iAn(n,e,t,i):new vW(n,e,t,i)}function N4(n){return D(n,16)?u(n,16).dc():!n.Kc().Ob()}function SDn(n){if(n.e.g!=n.b)throw M(new Bo);return!!n.c&&n.d>0}function be(n){return oe(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function kJ(n,e){Jn(e),$t(n.a,n.c,e),n.c=n.c+1&n.a.length-1,JRn(n)}function W1(n,e){Jn(e),n.b=n.b-1&n.a.length-1,$t(n.a,n.b,e),JRn(n)}function PDn(n){var e;e=n.Gh(),this.a=D(e,71)?u(e,71).Ii():e.Kc()}function Hpe(n){return new In(Ame(u(n.a.md(),16).gc(),n.a.ld()),16)}function IDn(){IDn=F,Gce=Ce((eC(),A(T($1n,1),G,490,0,[Bq])))}function ODn(){ODn=F,Xce=Ce((tC(),A(T(zce,1),G,558,0,[Rq])))}function DDn(){DDn=F,lue=Ce((s6(),A(T(tan,1),G,539,0,[Hj])))}function qpe(){return dd(),A(T(Lon,1),G,389,0,[Ow,Don,P_,I_])}function Upe(){return B4(),A(T(lP,1),G,304,0,[e_,t_,i_,r_])}function Gpe(){return Vp(),A(T(EYn,1),G,332,0,[uj,cj,oj,sj])}function zpe(){return T5(),A(T(TYn,1),G,406,0,[fj,wP,gP,hj])}function Xpe(){return N0(),A(T(yYn,1),G,417,0,[rj,ij,a_,d_])}function Vpe(){return nm(),A(T(MZn,1),G,416,0,[rb,Iw,Pw,d2])}function Wpe(){return xf(),A(T(ene,1),G,421,0,[j3,lv,av,B_])}function Jpe(){return OT(),A(T(UZn,1),G,371,0,[F_,HP,qP,wj])}function Qpe(){return cw(),A(T(RH,1),G,203,0,[TI,BH,P2,S2])}function Ype(){return lh(),A(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])}function Zpe(n){var e;return n.j==(en(),ae)&&(e=mHn(n),Au(e,Zn))}function n3e(n,e){var t;t=e.a,Zi(t,e.c.d),Ii(t,e.d.d),nw(t.a,n.n)}function yJ(n,e){var t;return t=u(Nf(n.b,e),67),!t&&(t=new Ct),t}function xp(n){return o6(),D(n.g,154)?u(n.g,154):null}function e3e(n){n.a=null,n.e=null,Pb(n.b.c,0),Pb(n.f.c,0),n.c=null}function KM(){KM=F,fH=new Zz(qm,0),Jsn=new Zz("TOP_LEFT",1)}function Z6(){Z6=F,e9=new eX("UPPER",0),n9=new eX("LOWER",1)}function t3e(n,e){return vp(new V(e.e.a+e.f.a/2,e.e.b+e.f.b/2),n)}function LDn(n,e){return u(ho(_b(u(ot(n.k,e),15).Oc(),w2)),113)}function NDn(n,e){return u(ho(Ap(u(ot(n.k,e),15).Oc(),w2)),113)}function i3e(){return Qp(),A(T(rln,1),G,405,0,[LI,t9,i9,r9])}function r3e(){return b5(),A(T(xln,1),G,353,0,[aq,BI,lq,hq])}function c3e(){return sA(),A(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])}function u3e(){return go(),A(T(S9,1),G,386,0,[rE,Gd,iE,Qw])}function o3e(){return To(),A(T(Yue,1),G,291,0,[nE,nl,Aa,Zj])}function s3e(){return El(),A(T(aU,1),G,223,0,[lU,Yj,Rv,F3])}function f3e(){return qT(),A(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])}function h3e(){return LT(),A(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])}function l3e(n){return $M(),Zc(yU,n)?u(ee(yU,n),341).Qg():null}function Uo(n,e,t){return e<0?hF(n,t):u(t,69).wk().Bk(n,n.hi(),e)}function a3e(n,e,t){var i;return i=wm(t),FA(n.j,i,e),Ve(n.k,e,t),e}function d3e(n,e,t){var i;return i=wm(t),FA(n.d,i,e),Ve(n.e,e,t),e}function $Dn(n){var e,t;return e=(B1(),t=new HO,t),n&&AA(e,n),e}function jJ(n){var e;return e=n.aj(n.i),n.i>0&&Ic(n.g,0,e,0,n.i),e}function xDn(n,e){var t;for(t=n.j.c.length;t>24}function w3e(n){if(n.p!=1)throw M(new Cu);return Ae(n.k)<<24>>24}function g3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.k)<<16>>16}function p3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.f)<<16>>16}function Ig(n,e){return e.e==0||n.e==0?S8:(Am(),vF(n,e))}function RDn(n,e){return x(e)===x(n)?"(this Map)":e==null?gu:Jr(e)}function m3e(n,e,t){return tN(R(Kr(wr(n.f,e))),R(Kr(wr(n.f,t))))}function v3e(n,e,t){var i;i=u(ee(n.g,t),60),nn(n.a.c,new bi(e,i))}function KDn(n,e,t){n.i=0,n.e=0,e!=t&&(jFn(n,e,t),yFn(n,e,t))}function k3e(n,e,t,i,r){var c;c=yMe(r,t,i),nn(e,dEe(r,c)),rje(n,r,e)}function EJ(n,e,t,i,r){this.i=n,this.a=e,this.e=t,this.j=i,this.f=r}function _Dn(n,e){nJ.call(this),this.a=n,this.b=e,nn(this.a.b,this)}function HDn(n){this.b=new de,this.c=new de,this.d=new de,this.a=n}function qDn(n,e){var t;return t=new fg,n.Gd(t),t.a+="..",e.Hd(t),t.a}function UDn(n,e){var t;for(t=e;t;)a0(n,t.i,t.j),t=At(t);return n}function GDn(n,e,t){var i;return i=wm(t),Ve(n.b,i,e),Ve(n.c,e,t),e}function wl(n){var e;for(e=0;n.Ob();)n.Pb(),e=nr(e,1);return oT(e)}function Fh(n,e){dr();var t;return t=u(n,69).vk(),kje(t,e),t.xl(e)}function y3e(n,e,t){if(t){var i=t.oe();n.a[e]=i(t)}else delete n.a[e]}function CJ(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+ha),H5(n,t)}function j3e(n,e){return u(e==null?Kr(wr(n.f,null)):a6(n.i,e),288)}function MJ(n,e){return n==(Vn(),zt)&&e==zt?4:n==zt||e==zt?8:32}function _M(n,e,t){return RA(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function E3e(n,e,t){return Om(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function C3e(n,e,t){return bMe(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function TJ(n){n.b!=n.c&&(n.a=K(ki,Bn,1,8,5,1),n.b=0,n.c=0)}function n5(n){return oe(n.a=0&&n.a[t]===e[t];t--);return t<0}function HM(n){var e;return n?new fW(n):(e=new rh,A$(e,n),e)}function O3e(n,e){var t,i;i=!1;do t=lFn(n,e),i=i|t;while(t);return i}function D3e(n){n&&rme((az(),sun)),--cP,n&&uP!=-1&&(Ele(uP),uP=-1)}function qM(n){nnn(),LTn(this,Ae(vi(w0(n,24),YA)),Ae(vi(n,YA)))}function JDn(){JDn=F,HQn=Ce((YT(),A(T(Bun,1),G,436,0,[o_,Fun])))}function QDn(){QDn=F,qQn=Ce((cT(),A(T(Kun,1),G,435,0,[Run,s_])))}function YDn(){YDn=F,GYn=Ce((uT(),A(T(bon,1),G,432,0,[v_,vP])))}function ZDn(){ZDn=F,_Zn=Ce((V4(),A(T(KZn,1),G,517,0,[dj,L_])))}function nLn(){nLn=F,Ane=Ce((KM(),A(T(Qsn,1),G,429,0,[fH,Jsn])))}function eLn(){eLn=F,gne=Ce((wk(),A(T($sn,1),G,428,0,[WP,Nsn])))}function tLn(){tLn=F,kne=Ce((sk(),A(T(Bsn,1),G,488,0,[Fsn,QP])))}function iLn(){iLn=F,rie=Ce((dk(),A(T(qhn,1),G,430,0,[UH,GH])))}function rLn(){rLn=F,Die=Ce((Z6(),A(T(Oie,1),G,531,0,[e9,n9])))}function cLn(){cLn=F,ane=Ce((QM(),A(T(Asn,1),G,431,0,[Tsn,V_])))}function uLn(){uLn=F,xre=Ce((FM(),A(T(Bln,1),G,433,0,[dq,Fln])))}function oLn(){oLn=F,_re=Ce((yT(),A(T(Rln,1),G,501,0,[RI,L2])))}function sLn(){sLn=F,Rie=Ce((fh(),A(T(Bie,1),G,523,0,[mb,y1])))}function fLn(){fLn=F,_ie=Ce((Pf(),A(T(Kie,1),G,522,0,[Rd,Xf])))}function hLn(){hLn=F,tre=Ce((af(),A(T(ere,1),G,528,0,[zw,Ea])))}function lLn(){lLn=F,fre=Ce((M0(),A(T(sre,1),G,465,0,[Ca,I2])))}function aLn(){aLn=F,Ure=Ce((ZM(),A(T(_ln,1),G,434,0,[Kln,vq])))}function dLn(){dLn=F,Rce=Ce((GM(),A(T(S1n,1),G,491,0,[$q,A1n])))}function bLn(){bLn=F,_ce=Ce((N$(),A(T(N1n,1),G,492,0,[D1n,L1n])))}function wLn(){wLn=F,Vce=Ce((ik(),A(T(x1n,1),G,438,0,[Kq,JI])))}function gLn(){gLn=F,aue=Ce((Mk(),A(T(ran,1),G,437,0,[YI,ian])))}function pLn(){pLn=F,aoe=Ce((RL(),A(T(dO,1),G,347,0,[vdn,kdn])))}function L3e(){return ci(),A(T(y9,1),G,88,0,[Jf,Xr,Br,Wf,us])}function N3e(){return en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])}function $3e(n,e,t){return u(e==null?Vc(n.f,null,t):$0(n.i,e,t),288)}function x3e(n){return(n.k==(Vn(),zt)||n.k==Zt)&&kt(n,(W(),R8))}function XN(n){return n.c&&n.d?aJ(n.c)+"->"+aJ(n.d):"e_"+l0(n)}function qi(n,e){var t,i;for(Jn(e),i=n.Kc();i.Ob();)t=i.Pb(),e.Cd(t)}function F3e(n,e){var t;t=new sp,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function B3e(n,e){var t;t=new sp,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function mLn(n,e){var t;for(t=e;t;)a0(n,-t.i,-t.j),t=At(t);return n}function SJ(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function Go(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function PJ(n,e,t){n.a.c.length=0,fOe(n,e,t),n.a.c.length==0||FSe(n,e)}function nk(n){n.i=0,u7(n.b,null),u7(n.c,null),n.a=null,n.e=null,++n.g}function UM(){UM=F,Uf=!0,DQn=!1,LQn=!1,$Qn=!1,NQn=!1}function VN(n){UM(),!Uf&&(this.c=n,this.e=!0,this.a=new Z)}function vLn(n,e){this.c=0,this.b=e,HMn.call(this,n,17493),this.a=this.c}function kLn(n){jzn(),Syn(this),this.a=new Ct,sY(this,n),Fe(this.a,n)}function yLn(){pL(this),this.b=new V(St,St),this.a=new V(li,li)}function GM(){GM=F,$q=new fX(cin,0),A1n=new fX("TARGET_WIDTH",1)}function Og(n,e){return(ta(n),s4(new Tn(n,new tQ(e,n.a)))).Bd(v3)}function R3e(){return Vi(),A(T(Ion,1),G,367,0,[Vs,Jh,Oc,Kc,zr])}function K3e(){return ow(),A(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])}function _3e(){return o1(),A(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])}function H3e(){return M5(),A(T($hn,1),G,323,0,[Nhn,KH,_H,W8,J8])}function q3e(){return Yo(),A(T(hfn,1),G,171,0,[Ej,_8,ya,H8,xw])}function U3e(){return wA(),A(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])}function G3e(){return x5(),A(T(Hce,1),G,373,0,[N2,D3,d9,a9,_j])}function z3e(){return Jk(),A(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])}function X3e(){return pf(),A(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])}function V3e(){return Bg(),A(T(M9,1),G,256,0,[Sa,eE,adn,C9,ddn])}function W3e(n){return HE(),function(){return Kpe(n,this,arguments)}}function fr(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function IJ(n,e){return D(e,143)?An(n.c,u(e,143).c):!1}function Zu(n){return n.t||(n.t=new myn(n),v5(new Njn(n),0,n.t)),n.t}function jLn(n){this.b=n,ne.call(this,n),this.a=u(Un(this.b.a,4),129)}function ELn(n){this.b=n,yp.call(this,n),this.a=u(Un(this.b.a,4),129)}function Rs(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.b=t}function OJ(n,e,t,i,r){VOn.call(this,e,i,r),this.c=n,this.a=t}function DJ(n,e,t,i,r){WOn.call(this,e,i,r),this.c=n,this.a=t}function LJ(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.a=t}function WN(n,e){var t;return t=u(Nf(n.d,e),23),t||u(Nf(n.e,e),23)}function CLn(n,e){var t,i;return t=e.ld(),i=n.Fe(t),!!i&&mc(i.e,e.md())}function MLn(n,e){var t;return t=e.ld(),new i0(t,n.e.pc(t,u(e.md(),16)))}function J3e(n,e){var t;return t=n.a.get(e),t??K(ki,Bn,1,0,5,1)}function TLn(n){var e;return e=n.length,An(Yn.substr(Yn.length-e,e),n)}function fe(n){if(pe(n))return n.c=n.a,n.a.Pb();throw M(new nc)}function NJ(n,e){return e==0||n.e==0?n:e>0?wqn(n,e):RBn(n,-e)}function Fp(n,e){return e==0||n.e==0?n:e>0?RBn(n,e):wqn(n,-e)}function $J(n){ole.call(this,n==null?gu:Jr(n),D(n,82)?u(n,82):null)}function ALn(n){var e;return n.c||(e=n.r,D(e,90)&&(n.c=u(e,29))),n.c}function JN(n){var e;return e=new E0,Ur(e,n),U(e,(cn(),Fr),null),e}function SLn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Vn(),Zt)&&t.k==Zt}function QN(n){var e,t,i;return e=n&ro,t=n>>22&ro,i=n<0?Il:0,Yc(e,t,i)}function Q3e(n){var e,t,i,r;for(t=n,i=0,r=t.length;i=0?n.Lh(i,t,!0):H0(n,e,t)}function Z3e(n,e,t){return bt(vp(pm(n),Ki(e.b)),vp(pm(n),Ki(t.b)))}function n4e(n,e,t){return bt(vp(pm(n),Ki(e.e)),vp(pm(n),Ki(t.e)))}function e4e(n,e){return y.Math.min(J1(e.a,n.d.d.c),J1(e.b,n.d.d.c))}function ek(n,e){n._i(n.i+1),I6(n,n.i,n.Zi(n.i,e)),n.Mi(n.i++,e),n.Ni()}function e5(n){var e,t;++n.j,e=n.g,t=n.i,n.g=null,n.i=0,n.Oi(t,e),n.Ni()}function PLn(n,e,t){var i;i=new NX(n.a),s5(i,n.a.a),Vc(i.f,e,t),n.a.a=i}function xJ(n,e,t,i){var r;for(r=0;re)throw M(new Ir(Mnn(n,e,"index")));return n}function Yl(n,e){var t;return t=(Ln(e,n.c.length),n.c[e]),Pz(n.c,e,1),t}function RJ(n,e){var t,i;return t=(Jn(n),n),i=(Jn(e),e),t==i?0:te.p?-1:0}function FLn(n){var e;return n.a||(e=n.r,D(e,156)&&(n.a=u(e,156))),n.a}function o4e(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].gd(t),136),i.md()}function s4e(n){var e,t;return e=n.ld(),t=u(n.md(),16),N7(t.Nc(),new L8n(e))}function BLn(n,e){return Zc(n.a,e)?(Bp(n.a,e),!0):!1}function Rp(n,e,t){return Z7(e,n.e.Rd().gc()),Z7(t,n.c.Rd().gc()),n.a[e][t]}function XM(n,e,t){this.a=n,this.b=e,this.c=t,nn(n.t,this),nn(e.i,this)}function VM(n,e,t,i){this.f=n,this.e=e,this.d=t,this.b=i,this.c=i?i.d:null}function tk(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function $4(){$4=F;var n,e;MO=(o4(),e=new xE,e),TO=(n=new fD,n)}function f4e(n){var e;return ta(n),e=new ISn(n,n.a.e,n.a.d|4),new uV(n,e)}function RLn(n){var e;for(X1(n),e=0;n.a.Bd(new W0n);)e=nr(e,1);return e}function WM(n,e){return Jn(e),n.c=0,"Initial capacity must not be negative")}function JM(){JM=F,b9=new lt("org.eclipse.elk.labels.labelManager")}function KLn(){KLn=F,ysn=new Dt("separateLayerConnections",(OT(),F_))}function af(){af=F,zw=new rX("REGULAR",0),Ea=new rX("CRITICAL",1)}function ik(){ik=F,Kq=new lX("FIXED",0),JI=new lX("CENTER_NODE",1)}function QM(){QM=F,Tsn=new Jz("QUADRATIC",0),V_=new Jz("SCANLINE",1)}function _Ln(){_Ln=F,dne=Ce((c5(),A(T(Psn,1),G,322,0,[$8,pj,Ssn])))}function HLn(){HLn=F,bne=Ce((bT(),A(T(Osn,1),G,351,0,[Isn,VP,W_])))}function qLn(){qLn=F,fne=Ce((D0(),A(T(R_,1),G,372,0,[ub,va,cb])))}function ULn(){ULn=F,mne=Ce((hd(),A(T(pne,1),G,460,0,[Y_,mv,m2])))}function GLn(){GLn=F,Cne=Ce((Z4(),A(T(sH,1),G,299,0,[uH,oH,mj])))}function zLn(){zLn=F,Tne=Ce((vl(),A(T(Mne,1),G,311,0,[vj,k2,E3])))}function XLn(){XLn=F,Zte=Ce((w5(),A(T(Lhn,1),G,390,0,[FH,Dhn,MI])))}function VLn(){VLn=F,oie=Ce((ST(),A(T(zhn,1),G,387,0,[Uhn,zH,Ghn])))}function WLn(){WLn=F,sie=Ce((a5(),A(T(Xhn,1),G,349,0,[VH,XH,Ij])))}function JLn(){JLn=F,uie=Ce((gr(),A(T(cie,1),G,463,0,[Q8,Vu,Jc])))}function QLn(){QLn=F,fie=Ce((om(),A(T(Whn,1),G,350,0,[WH,Vhn,Y8])))}function YLn(){YLn=F,hie=Ce((dT(),A(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])))}function ZLn(){ZLn=F,lie=Ce((DT(),A(T(Zhn,1),G,388,0,[QH,Ov,Gw])))}function nNn(){nNn=F,are=Ce((d5(),A(T(gln,1),G,392,0,[wln,nq,Lj])))}function eNn(){eNn=F,Gre=Ce((Pk(),A(T(Uln,1),G,393,0,[KI,Hln,qln])))}function tNn(){tNn=F,ace=Ce((AT(),A(T(s1n,1),G,300,0,[Cq,o1n,u1n])))}function iNn(){iNn=F,dce=Ce((XT(),A(T(f1n,1),G,445,0,[Bj,qI,Mq])))}function rNn(){rNn=F,wce=Ce((rA(),A(T(bce,1),G,456,0,[Tq,Sq,Aq])))}function cNn(){cNn=F,mce=Ce((_T(),A(T(a1n,1),G,394,0,[l1n,Oq,h1n])))}function uNn(){uNn=F,Kce=Ce((nT(),A(T(O1n,1),G,439,0,[xq,I1n,P1n])))}function oNn(){oNn=F,Aie=Ce((O0(),A(T(Tie,1),G,464,0,[Oj,Z8,PI])))}function sNn(){sNn=F,WQn=Ce((Uu(),A(T(VQn,1),G,471,0,[Mh,pa,zs])))}function fNn(){fNn=F,XQn=Ce((wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])))}function hNn(){hNn=F,QQn=Ce((bu(),A(T(JQn,1),G,472,0,[kf,ma,Xs])))}function lNn(){lNn=F,xQn=Ce((Gu(),A(T(xr,1),G,108,0,[xun,Yr,Aw])))}function aNn(){aNn=F,pZn=Ce((t5(),A(T(Pon,1),G,391,0,[E_,j_,C_])))}function dNn(){dNn=F,Que=Ce((jl(),A(T(ldn,1),G,346,0,[uO,M1,E9])))}function bNn(){bNn=F,Uce=Ce(($k(),A(T(Fq,1),G,444,0,[XI,VI,WI])))}function wNn(){wNn=F,Xue=Ce(($f(),A(T(Zan,1),G,278,0,[Fv,Jw,Bv])))}function gNn(){gNn=F,loe=Ce((Gp(),A(T(mdn,1),G,280,0,[pdn,Yw,aO])))}function Lf(n,e){return!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),wx(n.o,e)}function h4e(n,e){var t;n.C&&(t=u(Cr(n.b,e),127).n,t.d=n.C.d,t.a=n.C.a)}function UJ(n){var e,t,i,r;r=n.d,e=n.a,t=n.b,i=n.c,n.d=t,n.a=i,n.b=r,n.c=e}function l4e(n){return!n.g&&(n.g=new CE),!n.g.b&&(n.g.b=new byn(n)),n.g.b}function rk(n){return!n.g&&(n.g=new CE),!n.g.c&&(n.g.c=new pyn(n)),n.g.c}function a4e(n){return!n.g&&(n.g=new CE),!n.g.d&&(n.g.d=new wyn(n)),n.g.d}function d4e(n){return!n.g&&(n.g=new CE),!n.g.a&&(n.g.a=new gyn(n)),n.g.a}function b4e(n,e,t,i){return t&&(i=t.Rh(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function w4e(n,e,t,i){return t&&(i=t.Th(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function e$(n,e,t,i){var r;return r=K(ye,_e,28,e+1,15,1),vPe(r,n,e,t,i),r}function K(n,e,t,i,r,c){var s;return s=_Rn(r,i),r!=10&&A(T(n,c),e,t,r,s),s}function g4e(n,e,t){var i,r;for(r=new Y4(e,n),i=0;it||e=0?n.Lh(t,!0,!0):H0(n,e,!0)}function L4e(n,e,t){var i;return i=vFn(n,e,t),n.b=new ET(i.c.length),den(n,i)}function N4e(n){if(n.b<=0)throw M(new nc);return--n.b,n.a-=n.c.c,Y(n.a)}function $4e(n){var e;if(!n.a)throw M(new PIn);return e=n.a,n.a=At(n.a),e}function x4e(n){for(;!n.a;)if(!eSn(n.c,new C9n(n)))return!1;return!0}function Kp(n){var e;return Se(n),D(n,204)?(e=u(n,204),e):new _8n(n)}function F4e(n){YM(),u(n.of((He(),Ww)),181).Fc((zu(),tE)),n.qf(sU,null)}function YM(){YM=F,wue=new Emn,pue=new Cmn,gue=M6e((He(),sU),wue,Ta,pue)}function ZM(){ZM=F,Kln=new sX("LEAF_NUMBER",0),vq=new sX("NODE_SIZE",1)}function u$(n){n.a=K(ye,_e,28,n.b+1,15,1),n.c=K(ye,_e,28,n.b,15,1),n.d=0}function B4e(n,e){n.a.Ne(e.d,n.b)>0&&(nn(n.c,new GV(e.c,e.d,n.d)),n.b=e.d)}function nQ(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.g[e]}function kNn(n,e,t){if(rm(n,t),t!=null&&!n.fk(t))throw M(new uD);return t}function o$(n,e){return bk(e)!=10&&A(wo(e),e.Sm,e.__elementTypeId$,bk(e),n),n}function F4(n,e,t,i){var r;i=(j0(),i||Pun),r=n.slice(e,t),Tnn(r,n,e,t,-e,i)}function zo(n,e,t,i,r){return e<0?H0(n,t,i):u(t,69).wk().yk(n,n.hi(),e,i,r)}function R4e(n,e){return bt($(R(v(n,(W(),fb)))),$(R(v(e,fb))))}function yNn(){yNn=F,IQn=Ce((B4(),A(T(lP,1),G,304,0,[e_,t_,i_,r_])))}function B4(){B4=F,e_=new uC("All",0),t_=new lTn,i_=new kTn,r_=new hTn}function Uu(){Uu=F,Mh=new FD(s3,0),pa=new FD(qm,1),zs=new FD(f3,2)}function jNn(){jNn=F,KA(),s0n=St,mse=li,f0n=new z9(St),vse=new z9(li)}function ENn(){ENn=F,jYn=Ce((N0(),A(T(yYn,1),G,417,0,[rj,ij,a_,d_])))}function CNn(){CNn=F,AYn=Ce((T5(),A(T(TYn,1),G,406,0,[fj,wP,gP,hj])))}function MNn(){MNn=F,CYn=Ce((Vp(),A(T(EYn,1),G,332,0,[uj,cj,oj,sj])))}function TNn(){TNn=F,DZn=Ce((dd(),A(T(Lon,1),G,389,0,[Ow,Don,P_,I_])))}function ANn(){ANn=F,TZn=Ce((nm(),A(T(MZn,1),G,416,0,[rb,Iw,Pw,d2])))}function SNn(){SNn=F,tne=Ce((xf(),A(T(ene,1),G,421,0,[j3,lv,av,B_])))}function PNn(){PNn=F,GZn=Ce((OT(),A(T(UZn,1),G,371,0,[F_,HP,qP,wj])))}function INn(){INn=F,nie=Ce((cw(),A(T(RH,1),G,203,0,[TI,BH,P2,S2])))}function ONn(){ONn=F,iie=Ce((lh(),A(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])))}function sk(){sk=F,Fsn=new Yz(kh,0),QP=new Yz("IMPROVE_STRAIGHTNESS",1)}function DNn(n,e){var t,i;return i=e/n.c.Rd().gc()|0,t=e%n.c.Rd().gc(),Rp(n,i,t)}function LNn(n){var e;if(n.nl())for(e=n.i-1;e>=0;--e)L(n,e);return jJ(n)}function eQ(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function NNn(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[1];)t=e;return t}function K4e(n){return D(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function _4e(n){return D(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function $Nn(n,e){if(e.a)throw M(new ec(nXn));fi(n.a,e),e.a=n,!n.j&&(n.j=e)}function tQ(n,e){IC.call(this,e.zd(),e.yd()&-16449),Jn(n),this.a=n,this.c=e}function H4e(n,e){return new _L(e,a0(Ki(e.e),e.f.a+n,e.f.b+n),(_n(),!1))}function q4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function U4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function xNn(){xNn=F,lce=Ce((sA(),A(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])))}function FNn(){FNn=F,$re=Ce((b5(),A(T(xln,1),G,353,0,[aq,BI,lq,hq])))}function BNn(){BNn=F,hre=Ce((Qp(),A(T(rln,1),G,405,0,[LI,t9,i9,r9])))}function RNn(){RNn=F,Vue=Ce((El(),A(T(aU,1),G,223,0,[lU,Yj,Rv,F3])))}function KNn(){KNn=F,Zue=Ce((To(),A(T(Yue,1),G,291,0,[nE,nl,Aa,Zj])))}function _Nn(){_Nn=F,foe=Ce((go(),A(T(S9,1),G,386,0,[rE,Gd,iE,Qw])))}function HNn(){HNn=F,doe=Ce((qT(),A(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])))}function qNn(){qNn=F,goe=Ce((LT(),A(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])))}function nT(){nT=F,xq=new oL(mVn,0),I1n=new oL(Crn,1),P1n=new oL(kh,2)}function Wb(n,e,t,i,r){return Jn(n),Jn(e),Jn(t),Jn(i),Jn(r),new AW(n,e,i)}function UNn(n,e){var t;return t=u(Bp(n.e,e),400),t?(tW(t),t.e):null}function du(n,e){var t;return t=qr(n,e,0),t==-1?!1:(Yl(n,t),!0)}function GNn(n,e,t){var i;return X1(n),i=new LO,i.a=e,n.a.Nb(new TCn(i,t)),i.a}function G4e(n){var e;return X1(n),e=K(Pi,Tr,28,0,15,1),lg(n.a,new y9n(e)),e}function iQ(n){var e;if(!E$(n))throw M(new nc);return n.e=1,e=n.d,n.d=null,e}function n1(n){var e;return Vr(n)&&(e=0-n,!isNaN(e))?e:Y1(tm(n))}function qr(n,e,t){for(;t=0?tA(n,t,!0,!0):H0(n,e,!0)}function cQ(n){var e;return e=cd(Un(n,32)),e==null&&(iu(n),e=cd(Un(n,32))),e}function uQ(n){var e;return n.Oh()||(e=se(n.Dh())-n.ji(),n.$h().Mk(e)),n.zh()}function QNn(n,e){con=new kE,MYn=e,I8=n,u(I8.b,68),XJ(I8,con,null),aGn(I8)}function t5(){t5=F,E_=new RD("XY",0),j_=new RD("X",1),C_=new RD("Y",2)}function bu(){bu=F,kf=new BD("TOP",0),ma=new BD(qm,1),Xs=new BD(Ftn,2)}function vl(){vl=F,vj=new GD(kh,0),k2=new GD("TOP",1),E3=new GD(Ftn,2)}function dk(){dk=F,UH=new nX("INPUT_ORDER",0),GH=new nX("PORT_DEGREE",1)}function R4(){R4=F,hun=Yc(ro,ro,524287),bQn=Yc(0,0,Ty),lun=QN(1),QN(2),aun=QN(0)}function a$(n){var e;return n.d!=n.r&&(e=gs(n),n.e=!!e&&e.lk()==bJn,n.d=e),n.e}function d$(n,e,t){var i;return i=n.g[e],I6(n,e,n.Zi(e,t)),n.Ri(e,t,i),n.Ni(),i}function rT(n,e){var t;return t=n.dd(e),t>=0?(n.gd(t),!0):!1}function b$(n,e){var t;for(Se(n),Se(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function Nf(n,e){var t;return t=u(ee(n.e,e),400),t?(DTn(n,t),t.e):null}function YNn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function Jb(n,e){var t=n.a[e],i=(K$(),WK)[typeof t];return i?i(t):wY(typeof t)}function rc(n,e){var t,i;return ta(n),i=new _J(e,n.a),t=new rSn(i),new Tn(n,t)}function w$(n){var e;return e=n.b.c.length==0?null:sn(n.b,0),e!=null&&M$(n,0),e}function W4e(n,e){var t,i,r;r=e.c.i,t=u(ee(n.f,r),60),i=t.d.c-t.e.c,BQ(e.a,i,0)}function oQ(n,e){var t;for(++n.d,++n.c[e],t=e+1;t=0;)++e[0]}function J4e(n,e){eu(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Q4e(n,e){tu(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Y4e(n,e){I0(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Z4e(n,e){P0(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function nme(n,e,t){return vp(new V(t.e.a+t.f.a/2,t.e.b+t.f.b/2),n)==(Jn(e),e)}function eme(n,e){return D(e,102)&&u(e,19).Bb&hr?new dL(e,n):new Y4(e,n)}function tme(n,e){return D(e,102)&&u(e,19).Bb&hr?new dL(e,n):new Y4(e,n)}function bk(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function e$n(n,e){return e==(xL(),xL(),AQn)?n.toLocaleLowerCase():n.toLowerCase()}function t$n(n){if(!n.e)throw M(new nc);return n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function sQ(n){if(!n.c)throw M(new nc);return n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function i$n(n){var e;for(++n.a,e=n.c.a.length;n.an.a[i]&&(i=t);return i}function r$n(n){var e;return e=u(v(n,(W(),ob)),313),e?e.a==n:!1}function c$n(n){var e;return e=u(v(n,(W(),ob)),313),e?e.i==n:!1}function u$n(){u$n=F,yZn=Ce((Vi(),A(T(Ion,1),G,367,0,[Vs,Jh,Oc,Kc,zr])))}function o$n(){o$n=F,rne=Ce((ow(),A(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])))}function s$n(){s$n=F,wne=Ce((o1(),A(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])))}function f$n(){f$n=F,eie=Ce((M5(),A(T($hn,1),G,323,0,[Nhn,KH,_H,W8,J8])))}function h$n(){h$n=F,Sne=Ce((Yo(),A(T(hfn,1),G,171,0,[Ej,_8,ya,H8,xw])))}function l$n(){l$n=F,qre=Ce((wA(),A(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])))}function a$n(){a$n=F,qce=Ce((x5(),A(T(Hce,1),G,373,0,[N2,D3,d9,a9,_j])))}function d$n(){d$n=F,Wce=Ce((Jk(),A(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])))}function b$n(){b$n=F,zue=Ce((ci(),A(T(y9,1),G,88,0,[Jf,Xr,Br,Wf,us])))}function w$n(){w$n=F,mue=Ce((pf(),A(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])))}function g$n(){g$n=F,eoe=Ce((Bg(),A(T(M9,1),G,256,0,[Sa,eE,adn,C9,ddn])))}function p$n(){p$n=F,roe=Ce((en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])))}function cT(){cT=F,Run=new Uz("BY_SIZE",0),s_=new Uz("BY_SIZE_AND_SHAPE",1)}function uT(){uT=F,v_=new Xz("EADES",0),vP=new Xz("FRUCHTERMAN_REINGOLD",1)}function wk(){wk=F,WP=new Qz("READING_DIRECTION",0),Nsn=new Qz("ROTATION",1)}function i5(){i5=F,PZn=new rwn,IZn=new own,AZn=new swn,SZn=new uwn,OZn=new fwn}function m$n(n){this.b=new Z,this.a=new Z,this.c=new Z,this.d=new Z,this.e=n}function v$n(n){this.g=n,this.f=new Z,this.a=y.Math.min(this.g.c.c,this.g.d.c)}function k$n(n,e,t){qC.call(this),lQ(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function sme(n,e,t){var i,r;for(r=new C(t);r.a=0&&e0?e-1:e,eEn($he(U$n(YV(new op,t),n.n),n.j),n.k)}function Nr(n){var e,t;t=(e=new hD,e),ve((!n.q&&(n.q=new q(Ss,n,11,10)),n.q),t)}function fQ(n){return(n.i&2?"interface ":n.i&1?"":"class ")+(ll(n),n.o)}function oT(n){return Ec(n,et)>0?et:Ec(n,Wi)<0?Wi:Ae(n)}function Qb(n){return n<3?(Co(n,$zn),n+1):n=-.01&&n.a<=_f&&(n.a=0),n.b>=-.01&&n.b<=_f&&(n.b=0),n}function Dg(n){Vg();var e,t;for(t=Arn,e=0;et&&(t=n[e]);return t}function C$n(n,e){var t;if(t=oy(n.Dh(),e),!t)throw M(new Gn(ba+e+sK));return t}function Yb(n,e){var t;for(t=n;At(t);)if(t=At(t),t==e)return!0;return!1}function vme(n,e){var t,i,r;for(i=e.a.ld(),t=u(e.a.md(),16).gc(),r=0;rn||n>e)throw M(new pz("fromIndex: 0, toIndex: "+n+Mtn+e))}function S0(n){if(n<0)throw M(new Gn("Illegal Capacity: "+n));this.g=this.aj(n)}function hQ(n,e){return Tf(),Ks(fa),y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)}function m$(n,e){var t,i,r,c;for(i=n.d,r=0,c=i.length;r0&&(n.a/=e,n.b/=e),n}function jo(n){var e;return n.w?n.w:(e=lpe(n),e&&!e.Vh()&&(n.w=e),e)}function K4(n,e){var t,i;i=n.a,t=w5e(n,e,null),i!=e&&!n.e&&(t=Nm(n,e,t)),t&&t.oj()}function P$n(n,e,t){var i,r;i=e;do r=$(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function I$n(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function Tme(n){var e;return n==null?null:(e=u(n,195),Bye(e,e.length))}function L(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.Wi(e,n.g[e])}function Ame(n,e){Dn();var t,i;for(i=new Z,t=0;t=14&&e<=16))),n}function Ee(n,e){var t;return Jn(e),t=n[":"+e],x7(!!t,"Enum constant undefined: "+e),t}function we(n,e,t,i,r,c){var s;return s=bN(n,e),G$n(t,s),s.i=r?8:0,s.f=i,s.e=r,s.g=c,s}function dQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=t}function bQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=t}function wQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=t}function gQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=t}function pQ(n,e,t,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=t}function z$n(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;r=0))throw M(new Gn("tolerance ("+n+") must be >= 0"));return n}function V$n(n,e){var t;return D(e,44)?n.c.Mc(e):(t=wx(n,e),VT(n,e),t)}function Mr(n,e,t){return ad(n,e),zc(n,t),e1(n,0),Zb(n,1),u1(n,!0),c1(n,!0),n}function pk(n,e){var t;if(t=n.gc(),e<0||e>t)throw M(new Kb(e,t));return new SV(n,e)}function wT(n,e){n.b=y.Math.max(n.b,e.d),n.e+=e.r+(n.a.c.length==0?0:n.c),nn(n.a,e)}function W$n(n){Fb(n.c>=0),_8e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function gT(n){var e,t;for(t=n.c.Cc().Kc();t.Ob();)e=u(t.Pb(),16),e.$b();n.c.$b(),n.d=0}function Fme(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;i=0}function CQ(n,e){n.r>0&&n.c0&&n.g!=0&&CQ(n.i,e/n.r*n.i.d))}function MQ(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.c))}function y$(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,4,t,n.c))}function X4(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,2,t,n.k))}function j$(n,e){var t;t=n.D,n.D=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,2,t,n.D))}function mT(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,8,t,n.f))}function vT(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,7,t,n.i))}function TQ(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,8,t,n.a))}function AQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,t,n.b))}function SQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,t,n.b))}function PQ(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.c))}function IQ(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.d))}function Ume(n,e,t){var i;n.b=e,n.a=t,i=(n.a&512)==512?new gjn:new rG,n.c=rAe(i,n.b,n.a)}function oxn(n,e){return Sl(n.e,e)?(dr(),a$(e)?new eM(e,n):new k7(e,n)):new $Mn(e,n)}function Gme(n){var e,t;return 0>n?new Dz:(e=n+1,t=new vLn(e,n),new oV(null,t))}function zme(n,e){Dn();var t;return t=new ap(1),Ai(n)?Dr(t,n,e):Vc(t.f,n,e),new eD(t)}function Xme(n,e){var t,i;return t=n.c,i=e.e[n.p],i>0?u(sn(t.a,i-1),10):null}function Vme(n,e){var t,i;return t=n.o+n.p,i=e.o+e.p,te?(e<<=1,e>0?e:W5):e}function E$(n){switch(_X(n.e!=3),n.e){case 2:return!1;case 0:return!0}return i4e(n)}function fxn(n,e){var t;return D(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function Jme(n,e){var t;t=new kE,u(e.b,68),u(e.b,68),u(e.b,68),nu(e.a,new BV(n,t,e))}function hxn(n,e){var t,i;for(i=e.vc().Kc();i.Ob();)t=u(i.Pb(),44),zk(n,t.ld(),t.md())}function OQ(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,11,t,n.d))}function kT(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,13,t,n.j))}function DQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,21,t,n.b))}function Qme(n,e){(UM(),Uf?null:e.c).length==0&&TAn(e,new BU),Dr(n.a,Uf?null:e.c,e)}function Yme(n,e){e.Ug("Hierarchical port constraint processing",1),g9e(n),xLe(n),e.Vg()}function D0(){D0=F,ub=new KD("START",0),va=new KD("MIDDLE",1),cb=new KD("END",2)}function yT(){yT=F,RI=new oX("P1_NODE_PLACEMENT",0),L2=new oX("P2_EDGE_ROUTING",1)}function Q1(){Q1=F,y3=new lt(Jtn),jP=new lt(MXn),D8=new lt(TXn),lj=new lt(AXn)}function L0(n){var e;return FL(n.f.g,n.d),oe(n.b),n.c=n.a,e=u(n.a.Pb(),44),n.b=GQ(n),e}function LQ(n){var e;return n.b==null?(Gl(),Gl(),dE):(e=n.ul()?n.tl():n.sl(),e)}function lxn(n,e){var t;return t=e==null?-1:qr(n.b,e,0),t<0?!1:(M$(n,t),!0)}function _s(n,e){var t;return Jn(e),t=e.g,n.b[t]?!1:($t(n.b,t,e),++n.c,!0)}function jT(n,e){var t,i;return t=1-e,i=n.a[t],n.a[t]=i.a[e],i.a[e]=n,n.b=!0,i.b=!1,i}function Zme(n,e){var t,i;for(i=e.Kc();i.Ob();)t=u(i.Pb(),272),n.b=!0,fi(n.e,t),t.b=n}function nve(n,e){var t,i;return t=u(v(n,(cn(),Hw)),8),i=u(v(e,Hw),8),bt(t.b,i.b)}function C$(n,e,t){var i,r,c;return c=e>>5,r=e&31,i=vi(U1(n.n[t][c],Ae(Bs(r,1))),3),i}function axn(n,e,t){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i0?1:0:(!n.c&&(n.c=J7(vc(n.f))),n.c).e}function yxn(n,e){e?n.B==null&&(n.B=n.D,n.D=null):n.B!=null&&(n.D=n.B,n.B=null)}function rve(n,e){return nm(),n==rb&&e==Iw||n==Iw&&e==rb||n==d2&&e==Pw||n==Pw&&e==d2}function cve(n,e){return nm(),n==rb&&e==Pw||n==rb&&e==d2||n==Iw&&e==d2||n==Iw&&e==Pw}function jxn(n,e){return Tf(),Ks(_f),y.Math.abs(0-e)<=_f||e==0||isNaN(0)&&isNaN(e)?0:n/e}function Exn(n,e){return $(R(ho(Lk(_r(new Tn(null,new In(n.c.b,16)),new I7n(n)),e))))}function FQ(n,e){return $(R(ho(Lk(_r(new Tn(null,new In(n.c.b,16)),new P7n(n)),e))))}function uve(){return pr(),A(T(cH,1),G,259,0,[ZP,cs,F8,nI,yv,v2,B8,vv,kv,eI])}function ove(){return ps(),A(T(Khn,1),G,243,0,[AI,Sj,Pj,Fhn,Bhn,xhn,Rhn,SI,pb,Uw])}function sve(n,e){var t;e.Ug("General Compactor",1),t=d8e(u(z(n,(oa(),yq)),393)),t.Cg(n)}function fve(n,e){var t,i;return t=u(z(n,(oa(),_I)),17),i=u(z(e,_I),17),jc(t.a,i.a)}function BQ(n,e,t){var i,r;for(r=ge(n,0);r.b!=r.d.c;)i=u(be(r),8),i.a+=e,i.b+=t;return n}function u5(n,e,t){var i;for(i=n.b[t&n.f];i;i=i.b)if(t==i.a&&sh(e,i.g))return i;return null}function o5(n,e,t){var i;for(i=n.c[t&n.f];i;i=i.d)if(t==i.f&&sh(e,i.i))return i;return null}function hve(n,e,t){var i,r,c;for(i=0,r=0;r>>31;i!=0&&(n[t]=i)}function P$(n,e,t,i,r,c){var s;this.c=n,s=new Z,pZ(n,s,e,n.b,t,i,r,c),this.a=new xi(s,0)}function Cxn(){this.c=new XE(0),this.b=new XE(Trn),this.d=new XE(lVn),this.a=new XE(QB)}function Vo(n,e,t,i,r,c,s){je.call(this,n,e),this.d=t,this.e=i,this.c=r,this.b=c,this.a=Of(s)}function Ut(n,e,t,i,r,c,s,f,h,l,a,d,g){return P_n(n,e,t,i,r,c,s,f,h,l,a,d,g),sx(n,!1),n}function lve(n){return n.b.c.i.k==(Vn(),Zt)?u(v(n.b.c.i,(W(),st)),12):n.b.c}function Mxn(n){return n.b.d.i.k==(Vn(),Zt)?u(v(n.b.d.i,(W(),st)),12):n.b.d}function ave(n){var e;return e=BM(n),o0(e.a,0)?(QE(),QE(),SQn):(QE(),new uAn(e.b))}function I$(n){var e;return e=gJ(n),o0(e.a,0)?(Ob(),Ob(),n_):(Ob(),new AL(e.b))}function O$(n){var e;return e=gJ(n),o0(e.a,0)?(Ob(),Ob(),n_):(Ob(),new AL(e.c))}function Txn(n){switch(n.g){case 2:return en(),Wn;case 4:return en(),Zn;default:return n}}function Axn(n){switch(n.g){case 1:return en(),ae;case 3:return en(),Xn;default:return n}}function Sxn(n){switch(n.g){case 0:return new hmn;case 1:return new lmn;default:return null}}function Hp(){Hp=F,x_=new Dt("edgelabelcenterednessanalysis.includelabel",(_n(),ga))}function RQ(){RQ=F,Mie=ah(WMn(Ke(Ke(new ii,(Vi(),Oc),(tr(),NP)),Kc,PP),zr),LP)}function Pxn(){Pxn=F,Pie=ah(WMn(Ke(Ke(new ii,(Vi(),Oc),(tr(),NP)),Kc,PP),zr),LP)}function D$(){D$=F,N9=new ljn,CU=A(T(ku,1),f2,179,0,[]),Joe=A(T(Ss,1),Gcn,62,0,[])}function V4(){V4=F,dj=new Vz("TO_INTERNAL_LTR",0),L_=new Vz("TO_INPUT_DIRECTION",1)}function Ou(){Ou=F,Ron=new wwn,Fon=new gwn,Bon=new pwn,xon=new mwn,Kon=new vwn,_on=new kwn}function dve(n,e){e.Ug(HXn,1),HY(Qhe(new IE((u6(),new kN(n,!1,!1,new qU))))),e.Vg()}function bve(n,e,t){t.Ug("DFS Treeifying phase",1),O8e(n,e),PTe(n,e),n.a=null,n.b=null,t.Vg()}function mk(n,e){return _n(),Ai(n)?RJ(n,Oe(e)):$b(n)?tN(n,R(e)):Nb(n)?rwe(n,un(e)):n.Fd(e)}function s5(n,e){var t,i;for(Jn(e),i=e.vc().Kc();i.Ob();)t=u(i.Pb(),44),n.zc(t.ld(),t.md())}function wve(n,e,t){var i;for(i=t.Kc();i.Ob();)if(!_M(n,e,i.Pb()))return!1;return!0}function gve(n,e,t,i,r){var c;return t&&(c=Ot(e.Dh(),n.c),r=t.Rh(e,-1-(c==-1?i:c),null,r)),r}function pve(n,e,t,i,r){var c;return t&&(c=Ot(e.Dh(),n.c),r=t.Th(e,-1-(c==-1?i:c),null,r)),r}function Ixn(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function mve(n){if(Jn(n),n.length==0)throw M(new th("Zero length BigInteger"));CSe(this,n)}function KQ(n){this.i=n.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),n.Qc(this.g))}function Oxn(n,e,t){this.g=n,this.d=e,this.e=t,this.a=new Z,IEe(this),Dn(),Yt(this.a,null)}function _Q(n,e){e.q=n,n.d=y.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),nn(n.a,e)}function W4(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.br?t=r:zn(e,t+1),n.a=qo(n.a,0,e)+(""+i)+$W(n.a,t)}function Kxn(n,e){n.a=nr(n.a,1),n.c=y.Math.min(n.c,e),n.b=y.Math.max(n.b,e),n.d=nr(n.d,e)}function Mve(n,e){return e1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw M(new nc)}function Uxn(n){switch(n.a.g){case 1:return new WCn;case 3:return new WRn;default:return new s8n}}function qQ(n,e){switch(e){case 1:return!!n.n&&n.n.i!=0;case 2:return n.k!=null}return wJ(n,e)}function vc(n){return Ay>22),r=n.h+e.h+(i>>22),Yc(t&ro,i&ro,r&Il)}function Yxn(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),Yc(t&ro,i&ro,r&Il)}function zve(n){var e,t;for(RDe(n),t=new C(n.d);t.ai)throw M(new Kb(e,i));return n.Si()&&(t=gOn(n,t)),n.Ei(e,t)}function em(n,e,t,i,r){var c,s;for(s=t;s<=r;s++)for(c=e;c<=i;c++)Kg(n,c,s)||xA(n,c,s,!0,!1)}function u6e(n){Vg();var e,t,i;for(t=K(Ei,J,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=Z9e(i,n);return t}function tm(n){var e,t,i;return e=~n.l+1&ro,t=~n.m+(e==0?1:0)&ro,i=~n.h+(e==0&&t==0?1:0)&Il,Yc(e,t,i)}function QQ(n){var e;if(n<0)return Wi;if(n==0)return 0;for(e=W5;!(e&n);e>>=1);return e}function R$(n,e,t){return n>=128?!1:n<64?C6(vi(Bs(1,n),t),0):C6(vi(Bs(1,n-64),e),0)}function Ak(n,e,t){return t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Ve(n.q,e,t)),n}function U(n,e,t){return t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Ve(n.q,e,t)),n}function fFn(n){var e,t;return t=new zM,Ur(t,n),U(t,(Q1(),y3),n),e=new de,$Pe(n,t,e),fDe(n,t,e),t}function hFn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function lFn(n,e){var t,i,r,c;for(t=!1,i=n.a[e].length,c=0;c=0,"Negative initial capacity"),x7(e>=0,"Non-positive load factor"),Hu(this)}function s6e(n,e,t,i,r){var c,s;if(s=n.length,c=t.length,e<0||i<0||r<0||e+r>s||i+r>c)throw M(new qG)}function eY(n,e){Dn();var t,i,r,c,s;for(s=!1,i=e,r=0,c=i.length;r1||e>=0&&n.b<3)}function H$(n){var e,t,i;e=~n.l+1&ro,t=~n.m+(e==0?1:0)&ro,i=~n.h+(e==0&&t==0?1:0)&Il,n.l=e,n.m=t,n.h=i}function rY(n){Dn();var e,t,i;for(i=1,t=n.Kc();t.Ob();)e=t.Pb(),i=31*i+(e!=null?mt(e):0),i=i|0;return i}function d6e(n,e,t,i,r){var c;return c=Xnn(n,e),t&&H$(c),r&&(n=u7e(n,e),i?wa=tm(n):wa=Yc(n.l,n.m,n.h)),c}function yFn(n,e,t){n.g=uF(n,e,(en(),Zn),n.b),n.d=uF(n,t,Zn,n.b),!(n.g.c==0||n.d.c==0)&&YKn(n)}function jFn(n,e,t){n.g=uF(n,e,(en(),Wn),n.j),n.d=uF(n,t,Wn,n.j),!(n.g.c==0||n.d.c==0)&&YKn(n)}function cY(n,e){switch(e){case 7:return!!n.e&&n.e.i!=0;case 8:return!!n.d&&n.d.i!=0}return qY(n,e)}function b6e(n,e){switch(e.g){case 0:D(n.b,641)||(n.b=new Rxn);break;case 1:D(n.b,642)||(n.b=new BSn)}}function EFn(n){switch(n.g){case 0:return new gmn;default:throw M(new Gn(xS+(n.f!=null?n.f:""+n.g)))}}function CFn(n){switch(n.g){case 0:return new wmn;default:throw M(new Gn(xS+(n.f!=null?n.f:""+n.g)))}}function w6e(n,e,t){return!s4(ut(new Tn(null,new In(n.c,16)),new Z3(new hMn(e,t)))).Bd((Va(),v3))}function MFn(n,e){return vp(pm(u(v(e,(lc(),vb)),88)),new V(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))<=0}function g6e(n,e){for(;n.g==null&&!n.c?cJ(n):n.g==null||n.i!=0&&u(n.g[n.i-1],51).Ob();)kle(e,CA(n))}function ld(n){var e,t;for(t=new C(n.a.b);t.ai?1:0}function v6e(n){return nn(n.c,(qp(),bue)),hQ(n.a,$(R(rn((bx(),EI)))))?new tvn:new $kn(n)}function k6e(n){for(;!n.d||!n.d.Ob();)if(n.b&&!t6(n.b))n.d=u(Sp(n.b),51);else return null;return n.d}function oY(n){switch(n.g){case 1:return lVn;default:case 2:return 0;case 3:return QB;case 4:return Trn}}function y6e(){nt();var n;return IU||(n=_1e(sa("M",!0)),n=uM(sa("M",!1),n),IU=n,IU)}function LT(){LT=F,gU=new CC("ELK",0),Tdn=new CC("JSON",1),Mdn=new CC("DOT",2),Adn=new CC("SVG",3)}function a5(){a5=F,VH=new WD("STACKED",0),XH=new WD("REVERSE_STACKED",1),Ij=new WD("SEQUENCED",2)}function d5(){d5=F,wln=new eL(kh,0),nq=new eL("MIDDLE_TO_MIDDLE",1),Lj=new eL("AVOID_OVERLAP",2)}function cm(){cm=F,Esn=new Ygn,Csn=new Zgn,JZn=new Jgn,WZn=new n2n,VZn=new Qgn,jsn=(Jn(VZn),new O0n)}function NT(){NT=F,hdn=new f0(15),Jue=new Ni((He(),C1),hdn),j9=N3,udn=Pue,odn=Hd,fdn=_2,sdn=Vw}function Ng(n,e){var t,i,r,c,s;for(i=e,r=0,c=i.length;r=n.b.c.length||(fY(n,2*e+1),t=2*e+2,t0&&(e.Cd(t),t.i&&E5e(t))}function hY(n,e,t){var i;for(i=t-1;i>=0&&n[i]===e[i];i--);return i<0?0:ND(vi(n[i],mr),vi(e[i],mr))?-1:1}function SFn(n,e,t){var i,r;this.g=n,this.c=e,this.a=this,this.d=this,r=sxn(t),i=K(sQn,Cy,227,r,0,1),this.b=i}function X$(n,e,t,i,r){var c,s;for(s=t;s<=r;s++)for(c=e;c<=i;c++)if(Kg(n,c,s))return!0;return!1}function A6e(n,e){var t,i;for(i=n.Zb().Cc().Kc();i.Ob();)if(t=u(i.Pb(),16),t.Hc(e))return!0;return!1}function PFn(n,e,t){var i,r,c,s;for(Jn(t),s=!1,c=n.fd(e),r=t.Kc();r.Ob();)i=r.Pb(),c.Rb(i),s=!0;return s}function V$(n,e){var t,i;return i=u(Un(n.a,4),129),t=K(jU,MK,424,e,0,1),i!=null&&Ic(i,0,t,0,i.length),t}function IFn(n,e){var t;return t=new jF((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function S6e(n,e){var t;return n===e?!0:D(e,85)?(t=u(e,85),dnn(Ja(n),t.vc())):!1}function OFn(n,e,t){var i,r;for(r=t.Kc();r.Ob();)if(i=u(r.Pb(),44),n.Be(e,i.md()))return!0;return!1}function DFn(n,e,t){return n.d[e.p][t.p]||(O9e(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function P6e(n,e){var t;return!n||n==e||!kt(e,(W(),sb))?!1:(t=u(v(e,(W(),sb)),10),t!=n)}function W$(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.$l()}}function LFn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n._l()}}function NFn(n){yOn.call(this,"The given string does not match the expected format for individual spacings.",n)}function I6e(n,e){var t;e.Ug("Min Size Preprocessing",1),t=jnn(n),ht(n,(_h(),f9),t.a),ht(n,UI,t.b),e.Vg()}function O6e(n){var e,t,i;for(e=0,i=K(Ei,J,8,n.b,0,1),t=ge(n,0);t.b!=t.d.c;)i[e++]=u(be(t),8);return i}function J$(n,e,t){var i,r,c;for(i=new Ct,c=ge(t,0);c.b!=c.d.c;)r=u(be(c),8),Fe(i,new rr(r));PFn(n,e,i)}function D6e(n,e){var t;return t=nr(n,e),ND(RN(n,e),0)|AC(RN(n,t),0)?t:nr(Ey,RN(U1(t,63),1))}function L6e(n,e){var t,i;return t=u(n.d.Bc(e),16),t?(i=n.e.hc(),i.Gc(t),n.e.d-=t.gc(),t.$b(),i):null}function $Fn(n){var e;if(e=n.a.c.length,e>0)return E4(e-1,n.a.c.length),Yl(n.a,e-1);throw M(new $yn)}function xFn(n,e,t){if(n>e)throw M(new Gn(ZA+n+Qzn+e));if(n<0||e>t)throw M(new pz(ZA+n+Stn+e+Mtn+t))}function um(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),j$(n,e==null?null:(Jn(e),e)),n.C&&n.hl(null)}function N6e(n,e){var t;t=rn((bx(),EI))!=null&&e.Sg()!=null?$(R(e.Sg()))/$(R(rn(EI))):1,Ve(n.b,e,t)}function lY(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;tPS?n-t>PS:t-n>PS}function XFn(n,e){var t;for(t=0;tr&&(EKn(e.q,r),i=t!=e.q.d)),i}function VFn(n,e){var t,i,r,c,s,f,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,s=h-r,f=l-c,t=y.Math.sqrt(s*s+f*f),t}function pY(n,e){var t,i;return i=WT(n),i||(t=(UF(),$Hn(e)),i=new Cyn(t),ve(i.El(),n)),i}function Ok(n,e){var t,i;return t=u(n.c.Bc(e),16),t?(i=n.hc(),i.Gc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function G6e(n,e){var t,i;for(i=to(n.d,1)!=0,t=!0;t;)t=!1,t=e.c.mg(e.e,i),t=t|sy(n,e,i,!1),i=!i;$Q(n)}function WFn(n,e,t,i){var r,c;n.a=e,c=i?0:1,n.f=(r=new s_n(n.c,n.a,t,c),new Kqn(t,n.a,r,n.e,n.b,n.c==(O0(),Z8)))}function xT(n){var e;return oe(n.a!=n.b),e=n.d.a[n.a],EAn(n.b==n.d.c&&e!=null),n.c=n.a,n.a=n.a+1&n.d.a.length-1,e}function JFn(n){var e;if(n.c!=0)return n.c;for(e=0;e=n.c.b:n.a<=n.c.b))throw M(new nc);return e=n.a,n.a+=n.c.c,++n.b,Y(e)}function ex(n){var e;return e=new DX(n.a),Ur(e,n),U(e,(W(),st),n),e.o.a=n.g,e.o.b=n.f,e.n.a=n.i,e.n.b=n.j,e}function tx(n){return(en(),mu).Hc(n.j)?$(R(v(n,(W(),jv)))):cc(A(T(Ei,1),J,8,0,[n.i.n,n.n,n.a])).b}function X6e(n){var e;return e=DC(Cie),u(v(n,(W(),Hc)),21).Hc((pr(),yv))&&Ke(e,(Vi(),Oc),(tr(),FP)),e}function V6e(n){var e,t,i,r;for(r=new ni,i=new C(n);i.a=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function Z6e(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function ea(n,e){var t,i,r,c;return c=(r=n?WT(n):null,O_n((i=e,r&&r.Gl(),i))),c==e&&(t=WT(n),t&&t.Gl()),c}function QFn(n,e,t){var i,r;return r=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,0,r,e),t?t.nj(i):t=i),t}function YFn(n,e,t){var i,r;return r=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,3,r,e),t?t.nj(i):t=i),t}function vY(n,e,t){var i,r;return r=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,1,r,e),t?t.nj(i):t=i),t}function ZFn(n){var e,t;if(n!=null)for(t=0;t=i||e-129&&n<128?(FSn(),e=n+128,t=pun[e],!t&&(t=pun[e]=new vG(n)),t):new vG(n)}function sm(n){var e,t;return n>-129&&n<128?(nPn(),e=n+128,t=yun[e],!t&&(t=yun[e]=new yG(n)),t):new yG(n)}function tBn(n,e){var t;n.a.c.length>0&&(t=u(sn(n.a,n.a.c.length-1),579),sY(t,e))||nn(n.a,new kLn(e))}function c5e(n){Fs();var e,t;e=n.d.c-n.e.c,t=u(n.g,154),nu(t.b,new p7n(e)),nu(t.c,new m7n(e)),qi(t.i,new v7n(e))}function iBn(n){var e;return e=new x1,e.a+="VerticalSegment ",Dc(e,n.e),e.a+=" ",Re(e,RX(new yD,new C(n.k))),e.a}function ix(n,e){var t,i,r;for(t=0,r=uc(n,e).Kc();r.Ob();)i=u(r.Pb(),12),t+=v(i,(W(),Xu))!=null?1:0;return t}function Fg(n,e,t){var i,r,c;for(i=0,c=ge(n,0);c.b!=c.d.c&&(r=$(R(be(c))),!(r>t));)r>=e&&++i;return i}function rBn(n,e){Se(n);try{return n._b(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return!1;throw M(t)}}function yY(n,e){Se(n);try{return n.Hc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return!1;throw M(t)}}function u5e(n,e){Se(n);try{return n.Mc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return!1;throw M(t)}}function tw(n,e){Se(n);try{return n.xc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return null;throw M(t)}}function o5e(n,e){Se(n);try{return n.Bc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return null;throw M(t)}}function g5(n,e){switch(e.g){case 2:case 1:return uc(n,e);case 3:case 4:return Qo(uc(n,e))}return Dn(),Dn(),sr}function p5(n){var e;return n.Db&64?Hs(n):(e=new ls(Hs(n)),e.a+=" (name: ",Er(e,n.zb),e.a+=")",e.a)}function s5e(n){var e;return e=u(Nf(n.c.c,""),233),e||(e=new Np(u4(c4(new tp,""),"Other")),s1(n.c.c,"",e)),e}function jY(n,e,t){var i,r;return r=n.sb,n.sb=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,4,r,e),t?t.nj(i):t=i),t}function EY(n,e,t){var i,r;return r=n.r,n.r=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,8,r,n.r),t?t.nj(i):t=i),t}function f5e(n,e,t){var i,r;return i=new ml(n.e,4,13,(r=e.c,r||(On(),Zf)),null,f1(n,e),!1),t?t.nj(i):t=i,t}function h5e(n,e,t){var i,r;return i=new ml(n.e,3,13,null,(r=e.c,r||(On(),Zf)),f1(n,e),!1),t?t.nj(i):t=i,t}function r1(n,e){var t,i;return t=u(e,691),i=t.el(),!i&&t.fl(i=D(e,90)?new xMn(n,u(e,29)):new cDn(n,u(e,156))),i}function Dk(n,e,t){var i;n._i(n.i+1),i=n.Zi(e,t),e!=n.i&&Ic(n.g,e,n.g,e+1,n.i-e),$t(n.g,e,i),++n.i,n.Mi(e,t),n.Ni()}function l5e(n,e){var t;return e.a&&(t=e.a.a.length,n.a?Re(n.a,n.b):n.a=new mo(n.d),aDn(n.a,e.a,e.d.length,t)),n}function a5e(n,e){var t;n.c=e,n.a=p8e(e),n.a<54&&(n.f=(t=e.d>1?hDn(e.a[0],e.a[1]):hDn(e.a[0],0),id(e.e>0?t:n1(t))))}function Lk(n,e){var t;return t=new LO,n.a.Bd(t)?(b4(),new wD(Jn(GNn(n,t.a,e)))):(X1(n),b4(),b4(),Dun)}function cBn(n,e){var t;n.c.length!=0&&(t=u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199),CX(t,new rgn),Y_n(t,e))}function uBn(n,e){var t;n.c.length!=0&&(t=u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199),CX(t,new cgn),Y_n(t,e))}function rt(n,e){return Ai(n)?An(n,e):$b(n)?nSn(n,e):Nb(n)?(Jn(n),x(n)===x(e)):pW(n)?n.Fb(e):hW(n)?YMn(n,e):hJ(n,e)}function Wo(n,e,t){if(e<0)Pnn(n,t);else{if(!t.rk())throw M(new Gn(ba+t.xe()+b8));u(t,69).wk().Ek(n,n.hi(),e)}}function oBn(n,e,t){if(n<0||e>t)throw M(new Ir(ZA+n+Stn+e+", size: "+t));if(n>e)throw M(new Gn(ZA+n+Qzn+e))}function sBn(n){var e;return n.Db&64?Hs(n):(e=new ls(Hs(n)),e.a+=" (source: ",Er(e,n.d),e.a+=")",e.a)}function fBn(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function d5e(n){VA();var e,t,i,r;for(t=jx(),i=0,r=t.length;i=0?ia(n):U6(ia(n1(n))))}function aBn(n,e,t,i,r,c){this.e=new Z,this.f=(gr(),Q8),nn(this.e,n),this.d=e,this.a=t,this.b=i,this.f=r,this.c=c}function g5e(n,e,t){n.n=Wa(Fa,[J,SB],[376,28],14,[t,wi(y.Math.ceil(e/32))],2),n.o=e,n.p=t,n.j=e-1>>1,n.k=t-1>>1}function dBn(n){return n-=n>>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function bBn(n,e){var t,i;for(i=new ne(n);i.e!=i.i.gc();)if(t=u(ue(i),142),x(e)===x(t))return!0;return!1}function p5e(n,e,t){var i,r,c;return c=(r=Mm(n.b,e),r),c&&(i=u(qA(hk(n,c),""),29),i)?Qnn(n,i,e,t):null}function rx(n,e,t){var i,r,c;return c=(r=Mm(n.b,e),r),c&&(i=u(qA(hk(n,c),""),29),i)?Ynn(n,i,e,t):null}function m5e(n,e){var t;if(t=Lg(n.i,e),t==null)throw M(new eh("Node did not exist in input."));return HQ(e,t),null}function v5e(n,e){var t;if(t=oy(n,e),D(t,331))return u(t,35);throw M(new Gn(ba+e+"' is not a valid attribute"))}function v5(n,e,t){var i;if(i=n.gc(),e>i)throw M(new Kb(e,i));if(n.Si()&&n.Hc(t))throw M(new Gn(Vy));n.Gi(e,t)}function k5e(n,e){e.Ug("Sort end labels",1),qt(ut(rc(new Tn(null,new In(n.b,16)),new Hwn),new qwn),new Uwn),e.Vg()}function ci(){ci=F,Jf=new p7(n8,0),Xr=new p7(f3,1),Br=new p7(s3,2),Wf=new p7(_B,3),us=new p7("UP",4)}function $k(){$k=F,XI=new sL("P1_STRUCTURE",0),VI=new sL("P2_PROCESSING_ORDER",1),WI=new sL("P3_EXECUTION",2)}function wBn(){wBn=F,Rre=ah(ah(h6(ah(ah(h6(Ke(new ii,(Qp(),t9),(K5(),ZH)),i9),lln),dln),r9),oln),bln)}function y5e(n){switch(u(v(n,(W(),Od)),311).g){case 1:U(n,Od,(vl(),E3));break;case 2:U(n,Od,(vl(),k2))}}function j5e(n){switch(n){case 0:return new rjn;case 1:return new tjn;case 2:return new ijn;default:throw M(new W9)}}function gBn(n){switch(n.g){case 2:return Xr;case 1:return Br;case 4:return Wf;case 3:return us;default:return Jf}}function AY(n,e){switch(n.b.g){case 0:case 1:return e;case 2:case 3:return new Ho(e.d,0,e.a,e.b);default:return null}}function SY(n){switch(n.g){case 1:return Wn;case 2:return Xn;case 3:return Zn;case 4:return ae;default:return sc}}function xk(n){switch(n.g){case 1:return ae;case 2:return Wn;case 3:return Xn;case 4:return Zn;default:return sc}}function RT(n){switch(n.g){case 1:return Zn;case 2:return ae;case 3:return Wn;case 4:return Xn;default:return sc}}function PY(n,e,t,i){switch(e){case 1:return!n.n&&(n.n=new q(Ar,n,1,7)),n.n;case 2:return n.k}return yZ(n,e,t,i)}function k5(n,e,t){var i,r;return n.Pj()?(r=n.Qj(),i=lF(n,e,t),n.Jj(n.Ij(7,Y(t),i,e,r)),i):lF(n,e,t)}function cx(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.ld(),t=e.Bi(),i=(t&et)%n.d.length,o4e(n,i,RHn(n,i,t,r)))}function fm(n,e){var t;t=(n.Bb&Gs)!=0,e?n.Bb|=Gs:n.Bb&=-1025,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,10,t,e))}function hm(n,e){var t;t=(n.Bb&vw)!=0,e?n.Bb|=vw:n.Bb&=-4097,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,12,t,e))}function lm(n,e){var t;t=(n.Bb&$u)!=0,e?n.Bb|=$u:n.Bb&=-8193,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,15,t,e))}function am(n,e){var t;t=(n.Bb&Tw)!=0,e?n.Bb|=Tw:n.Bb&=-2049,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,11,t,e))}function E5e(n){var e;n.g&&(e=n.c.kg()?n.f:n.a,len(e.a,n.o,!0),len(e.a,n.o,!1),U(n.o,(cn(),Kt),(Oi(),Ud)))}function C5e(n){var e;if(!n.a)throw M(new Or("Cannot offset an unassigned cut."));e=n.c-n.b,n.b+=e,_In(n,e),KIn(n,e)}function M5e(n,e){var t;if(t=ee(n.k,e),t==null)throw M(new eh("Port did not exist in input."));return HQ(e,t),null}function T5e(n){var e,t;for(t=xHn(jo(n)).Kc();t.Ob();)if(e=Oe(t.Pb()),_5(n,e))return A3e((mCn(),Boe),e);return null}function pBn(n){var e,t;for(t=n.p.a.ec().Kc();t.Ob();)if(e=u(t.Pb(),218),e.f&&n.b[e.c]<-1e-10)return e;return null}function A5e(n){var e,t;for(t=z1(new x1,91),e=!0;n.Ob();)e||(t.a+=ur),e=!1,Dc(t,n.Pb());return(t.a+="]",t).a}function S5e(n){var e,t,i;for(e=new Z,i=new C(n.b);i.ae?1:n==e?n==0?bt(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function I5e(n){var e;return e=n.a[n.c-1&n.a.length-1],e==null?null:(n.c=n.c-1&n.a.length-1,$t(n.a,n.c,null),e)}function O5e(n){var e,t,i;for(i=0,t=n.length,e=0;e=1?Xr:Wf):t}function $5e(n){switch(u(v(n,(cn(),$l)),223).g){case 1:return new Ppn;case 3:return new Npn;default:return new Spn}}function ta(n){if(n.c)ta(n.c);else if(n.d)throw M(new Or("Stream already terminated, can't be modified or used"))}function $0(n,e,t){var i;return i=n.a.get(e),n.a.set(e,t===void 0?null:t),i===void 0?(++n.c,++n.b.g):++n.d,i}function x5e(n,e,t){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),10),Ek(t,u(sn(e,i.p),16)))return i;return null}function OY(n,e,t){var i;return i=0,e&&(vg(n.a)?i+=e.f.a/2:i+=e.f.b/2),t&&(vg(n.a)?i+=t.f.a/2:i+=t.f.b/2),i}function F5e(n,e,t){var i;i=t,!i&&(i=YV(new op,0)),i.Ug(PXn,2),jRn(n.b,e,i.eh(1)),YIe(n,e,i.eh(1)),eLe(e,i.eh(1)),i.Vg()}function DY(n,e,t){var i,r;return i=(B1(),r=new yE,r),aT(i,e),lT(i,t),n&&ve((!n.a&&(n.a=new ti(xo,n,5)),n.a),i),i}function ox(n){var e;return n.Db&64?Hs(n):(e=new ls(Hs(n)),e.a+=" (identifier: ",Er(e,n.k),e.a+=")",e.a)}function sx(n,e){var t;t=(n.Bb&kc)!=0,e?n.Bb|=kc:n.Bb&=-32769,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,18,t,e))}function LY(n,e){var t;t=(n.Bb&kc)!=0,e?n.Bb|=kc:n.Bb&=-32769,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,18,t,e))}function dm(n,e){var t;t=(n.Bb&wh)!=0,e?n.Bb|=wh:n.Bb&=-16385,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,16,t,e))}function NY(n,e){var t;t=(n.Bb&hr)!=0,e?n.Bb|=hr:n.Bb&=-65537,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,20,t,e))}function $Y(n){var e;return e=K(fs,gh,28,2,15,1),n-=hr,e[0]=(n>>10)+Sy&ui,e[1]=(n&1023)+56320&ui,ws(e,0,e.length)}function B5e(n){var e;return e=sw(n),e>34028234663852886e22?St:e<-34028234663852886e22?li:e}function nr(n,e){var t;return Vr(n)&&Vr(e)&&(t=n+e,Ay"+td(e.c):"e_"+mt(e),n.b&&n.c?td(n.b)+"->"+td(n.c):"e_"+mt(n))}function _5e(n,e){return An(e.b&&e.c?td(e.b)+"->"+td(e.c):"e_"+mt(e),n.b&&n.c?td(n.b)+"->"+td(n.c):"e_"+mt(n))}function x0(n,e){return Tf(),Ks(fa),y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e))}function El(){El=F,lU=new kC(n8,0),Yj=new kC("POLYLINE",1),Rv=new kC("ORTHOGONAL",2),F3=new kC("SPLINES",3)}function _T(){_T=F,l1n=new uL("ASPECT_RATIO_DRIVEN",0),Oq=new uL("MAX_SCALE_DRIVEN",1),h1n=new uL("AREA_DRIVEN",2)}function H5e(n,e,t){var i;try{l6e(n,e,t)}catch(r){throw r=It(r),D(r,606)?(i=r,M(new $J(i))):M(r)}return e}function q5e(n){var e,t,i;for(t=0,i=n.length;te&&i.Ne(n[c-1],n[c])>0;--c)s=n[c],$t(n,c,n[c-1]),$t(n,c-1,s)}function vn(n,e){var t,i,r,c,s;if(t=e.f,s1(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,s=r.length;ce){wDn(t);break}}_7(t,e)}function X5e(n,e){var t,i,r;i=Pg(e),r=$(R(rw(i,(cn(),Ws)))),t=y.Math.max(0,r/2-.5),P5(e,t,1),nn(n,new NCn(e,t))}function V5e(n,e,t){var i;t.Ug("Straight Line Edge Routing",1),t.dh(e,xrn),i=u(z(e,(Tg(),D2)),27),iGn(n,i),t.dh(e,DS)}function xY(n,e){n.n.c.length==0&&nn(n.n,new NM(n.s,n.t,n.i)),nn(n.b,e),gZ(u(sn(n.n,n.n.c.length-1),209),e),RUn(n,e)}function y5(n){var e;this.a=(e=u(n.e&&n.e(),9),new _o(e,u(xs(e,e.length),9),0)),this.b=K(ki,Bn,1,this.a.a.length,5,1)}function Jr(n){var e;return Array.isArray(n)&&n.Tm===Q2?Xa(wo(n))+"@"+(e=mt(n)>>>0,e.toString(16)):n.toString()}function W5e(n,e){return n.h==Ty&&n.m==0&&n.l==0?(e&&(wa=Yc(0,0,0)),nTn((R4(),lun))):(e&&(wa=Yc(n.l,n.m,n.h)),Yc(0,0,0))}function J5e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function yBn(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function FY(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return PY(n,e,t,i)}function HT(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw M(new Gn("Node "+e+" not part of edge "+n))}function Q5e(n,e){var t;if(t=oy(n.Dh(),e),D(t,102))return u(t,19);throw M(new Gn(ba+e+"' is not a valid reference"))}function Jo(n,e,t,i){if(e<0)ten(n,t,i);else{if(!t.rk())throw M(new Gn(ba+t.xe()+b8));u(t,69).wk().Ck(n,n.hi(),e,i)}}function eo(n){var e;if(n.b){if(eo(n.b),n.b.d!=n.c)throw M(new Bo)}else n.d.dc()&&(e=u(n.f.c.xc(n.e),16),e&&(n.d=e))}function Y5e(n){Bb();var e,t,i,r;for(e=n.o.b,i=u(u(ot(n.r,(en(),ae)),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r=t.e,r.b+=e}function Z5e(n){var e,t,i;for(this.a=new rh,i=new C(n);i.a=r)return e.c+t;return e.c+e.b.gc()}function e8e(n,e){m4();var t,i,r,c;for(i=LNn(n),r=e,F4(i,0,i.length,r),t=0;t0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function i8e(n){var e,t,i,r,c;return c=enn(n),t=Z9(n.c),i=!t,i&&(r=new _a,bf(c,"knownLayouters",r),e=new lyn(r),qi(n.c,e)),c}function KY(n){var e,t,i;for(i=new Hl,i.a+="[",e=0,t=n.gc();e0&&(zn(e-1,n.length),n.charCodeAt(e-1)==58)&&!lx(n,D9,L9))}function _Y(n,e){var t;return x(n)===x(e)?!0:D(e,92)?(t=u(e,92),n.e==t.e&&n.d==t.d&&I3e(n,t.a)):!1}function zp(n){switch(en(),n.g){case 4:return Xn;case 1:return Zn;case 3:return ae;case 2:return Wn;default:return sc}}function o8e(n){var e,t;if(n.b)return n.b;for(t=Uf?null:n.d;t;){if(e=Uf?null:t.b,e)return e;t=Uf?null:t.d}return a4(),$un}function HY(n){var e,t,i;for(i=$(R(n.a.of((He(),iO)))),t=new C(n.a.Sf());t.a>5,e=n&31,i=K(ye,_e,28,t+1,15,1),i[t]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function Ot(n,e){var t,i,r;if(t=(n.i==null&&bh(n),n.i),i=e.Lj(),i!=-1){for(r=t.length;i=0;--i)for(e=t[i],r=0;r>1,this.k=e-1>>1}function j8e(n){YM(),u(n.of((He(),Ta)),181).Hc((io(),hO))&&(u(n.of(Ww),181).Fc((zu(),B3)),u(n.of(Ta),181).Mc(hO))}function SBn(n){var e,t;e=n.d==(Yp(),dv),t=GZ(n),e&&!t||!e&&t?U(n.a,(cn(),Th),(Rh(),Uj)):U(n.a,(cn(),Th),(Rh(),qj))}function bx(){bx=F,nC(),EI=(cn(),gb),Qte=Of(A(T(Xq,1),Ern,149,0,[Tj,Ws,T2,wb,qw,IH,Av,Sv,OH,X8,M2,Bd,A2]))}function E8e(n,e){var t;return t=u(Wr(n,qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),t.Qc(WSn(t.gc()))}function PBn(n,e){var t,i;if(i=new Y3(n.a.ad(e,!0)),i.a.gc()<=1)throw M(new rp);return t=i.a.ec().Kc(),t.Pb(),u(t.Pb(),40)}function C8e(n,e,t){var i,r;return i=$(n.p[e.i.p])+$(n.d[e.i.p])+e.n.b+e.a.b,r=$(n.p[t.i.p])+$(n.d[t.i.p])+t.n.b+t.a.b,r-i}function WY(n,e){var t;return n.i>0&&(e.lengthn.i&&$t(e,n.i,null),e}function UT(n){var e;return n.Db&64?p5(n):(e=new ls(p5(n)),e.a+=" (instanceClassName: ",Er(e,n.D),e.a+=")",e.a)}function GT(n){var e,t,i,r;for(r=0,t=0,i=n.length;t0?(n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=RHn(n,r,i,e),t!=-1):!1}function IBn(n,e){var t,i;n.a=nr(n.a,1),n.c=y.Math.min(n.c,e),n.b=y.Math.max(n.b,e),n.d+=e,t=e-n.f,i=n.e+t,n.f=i-n.e-t,n.e=i}function JY(n,e){switch(e){case 3:P0(n,0);return;case 4:I0(n,0);return;case 5:eu(n,0);return;case 6:tu(n,0);return}kY(n,e)}function F0(n,e){switch(e.g){case 1:return Cp(n.j,(Ou(),Fon));case 2:return Cp(n.j,(Ou(),Ron));default:return Dn(),Dn(),sr}}function QY(n){m0();var e;switch(e=n.Pc(),e.length){case 0:return qK;case 1:return new VL(Se(e[0]));default:return new PN(q5e(e))}}function OBn(n,e){n.Xj();try{n.d.bd(n.e++,e),n.f=n.d.j,n.g=-1}catch(t){throw t=It(t),D(t,77)?M(new Bo):M(t)}}function gx(){gx=F,TU=new Tvn,zdn=new Avn,Xdn=new Svn,Vdn=new Pvn,Wdn=new Ivn,Jdn=new Ovn,Qdn=new Dvn,Ydn=new Lvn,Zdn=new Nvn}function zT(n,e){kX();var t,i;return t=I7((KE(),KE(),T8)),i=null,e==t&&(i=u(Nc(fun,n),624)),i||(i=new JPn(n),e==t&&Dr(fun,n,i)),i}function DBn(n){cw();var e;return(n.q?n.q:(Dn(),Dn(),Wh))._b((cn(),db))?e=u(v(n,db),203):e=u(v(Hi(n),z8),203),e}function rw(n,e){var t,i;return i=null,kt(n,(cn(),yI))&&(t=u(v(n,yI),96),t.pf(e)&&(i=t.of(e))),i==null&&(i=v(Hi(n),e)),i}function LBn(n,e){var t,i,r;return D(e,44)?(t=u(e,44),i=t.ld(),r=tw(n.Rc(),i),sh(r,t.md())&&(r!=null||n.Rc()._b(i))):!1}function gf(n,e){var t,i,r;return n.f>0&&(n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=xnn(n,r,i,e),t)?t.md():null}function Xc(n,e,t){var i,r,c;return n.Pj()?(i=n.i,c=n.Qj(),Dk(n,i,e),r=n.Ij(3,null,e,i,c),t?t.nj(r):t=r):Dk(n,n.i,e),t}function T8e(n,e,t){var i,r;return i=new ml(n.e,4,10,(r=e.c,D(r,90)?u(r,29):(On(),Is)),null,f1(n,e),!1),t?t.nj(i):t=i,t}function A8e(n,e,t){var i,r;return i=new ml(n.e,3,10,null,(r=e.c,D(r,90)?u(r,29):(On(),Is)),f1(n,e),!1),t?t.nj(i):t=i,t}function NBn(n){Bb();var e;return e=new rr(u(n.e.of((He(),_2)),8)),n.B.Hc((io(),_v))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function ia(n){dh();var e,t;return t=Ae(n),e=Ae(U1(n,32)),e!=0?new HOn(t,e):t>10||t<0?new gl(1,t):kQn[t]}function Bk(n,e){var t;return Vr(n)&&Vr(e)&&(t=n%e,Ay=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function Kk(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.Ne(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function L8e(n,e,t,i){var r,c,s;return r=!1,xOe(n.f,t,i)&&(e9e(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],s=c[i],c[i]=c[t],c[t]=s,r=!0),r}function BBn(n,e,t){var i,r,c,s;for(r=u(ee(n.b,t),183),i=0,s=new C(e.j);s.a>5,e&=31,r=n.d+t+(e==0?0:1),i=K(ye,_e,28,r,15,1),Oye(i,n.a,t,e),c=new Ya(n.e,r,i),J6(c),c}function N8e(n,e){var t,i,r;for(i=new ie(ce(Qt(n).a.Kc(),new En));pe(i);)if(t=u(fe(i),18),r=t.d.i,r.c==e)return!1;return!0}function nZ(n,e,t){var i,r,c,s,f;return s=n.k,f=e.k,i=t[s.g][f.g],r=R(rw(n,i)),c=R(rw(e,i)),y.Math.max((Jn(r),r),(Jn(c),c))}function $8e(){return Error.stackTraceLimit>0?(y.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function x8e(n,e){return Tf(),Tf(),Ks(fa),(y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))>0}function eZ(n,e){return Tf(),Tf(),Ks(fa),(y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))<0}function KBn(n,e){return Tf(),Tf(),Ks(fa),(y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))<=0}function mx(n,e){for(var t=0;!e[t]||e[t]=="";)t++;for(var i=e[t++];t0&&this.b>0&&(this.g=cM(this.c,this.b,this.a))}function F8e(n,e){var t=n.a,i;e=String(e),t.hasOwnProperty(e)&&(i=t[e]);var r=(K$(),WK)[typeof i],c=r?r(i):wY(typeof i);return c}function wm(n){var e,t,i;if(i=null,e=Eh in n.a,t=!e,t)throw M(new eh("Every element must have an id."));return i=Zp(dl(n,Eh)),i}function B0(n){var e,t;for(t=a_n(n),e=null;n.c==2;)Ze(n),e||(e=(nt(),nt(),new S6(2)),pd(e,t),t=e),t.Jm(a_n(n));return t}function VT(n,e){var t,i,r;return n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=xnn(n,r,i,e),t?(V$n(n,t),t.md()):null}function XBn(n,e){return n.e>e.e?1:n.ee.d?n.e:n.d=48&&n<48+y.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function B8e(n,e){if(e.c==n)return e.d;if(e.d==n)return e.c;throw M(new Gn("Input edge is not connected to the input port."))}function R8e(n){if(JT(nv,n))return _n(),ov;if(JT(cK,n))return _n(),ga;throw M(new Gn("Expecting true or false"))}function rZ(n){switch(typeof n){case nB:return t1(n);case dtn:return pp(n);case i3:return SAn(n);default:return n==null?0:l0(n)}}function ah(n,e){if(n.a<0)throw M(new Or("Did not call before(...) or after(...) before calling add(...)."));return YX(n,n.a,e),n}function cZ(n){return $M(),D(n,162)?u(ee(hE,MQn),295).Rg(n):Zc(hE,wo(n))?u(ee(hE,wo(n)),295).Rg(n):null}function iu(n){var e,t;return n.Db&32||(t=(e=u(Un(n,16),29),se(e||n.ii())-se(n.ii())),t!=0&&Xp(n,32,K(ki,Bn,1,t,5,1))),n}function Xp(n,e,t){var i;n.Db&e?t==null?jCe(n,e):(i=Rx(n,e),i==-1?n.Eb=t:$t(cd(n.Eb),i,t)):t!=null&>e(n,e,t)}function K8e(n,e,t,i){var r,c;e.c.length!=0&&(r=$Me(t,i),c=xEe(e),qt(fT(new Tn(null,new In(c,1)),new L3n),new MIn(n,t,r,i)))}function _8e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,EAn(t=c?(R6e(n,e),-1):(B6e(n,e),1)}function WT(n){var e,t,i;if(i=n.Jh(),!i)for(e=0,t=n.Ph();t;t=t.Ph()){if(++e>PB)return t.Qh();if(i=t.Jh(),i||t==n)break}return i}function WBn(n,e){var t;return x(e)===x(n)?!0:!D(e,21)||(t=u(e,21),t.gc()!=n.gc())?!1:n.Ic(t)}function H8e(n,e){return n.ee.e?1:n.fe.f?1:mt(n)-mt(e)}function JT(n,e){return Jn(n),e==null?!1:An(n,e)?!0:n.length==e.length&&An(n.toLowerCase(),e.toLowerCase())}function Ml(n){var e,t;return Ec(n,-129)>0&&Ec(n,128)<0?(ZSn(),e=Ae(n)+128,t=mun[e],!t&&(t=mun[e]=new kG(n)),t):new kG(n)}function dd(){dd=F,Ow=new aC(kh,0),Don=new aC("INSIDE_PORT_SIDE_GROUPS",1),P_=new aC("GROUP_MODEL_ORDER",2),I_=new aC(tin,3)}function q8e(n){var e;return n.b||xhe(n,(e=$ae(n.e,n.a),!e||!An(cK,gf((!e.b&&(e.b=new lo((On(),ar),pc,e)),e.b),"qualified")))),n.c}function U8e(n,e){var t,i;for(t=(zn(e,n.length),n.charCodeAt(e)),i=e+1;i2e3&&(hQn=n,uP=y.setTimeout(_he,10))),cP++==0?(ime((az(),sun)),!0):!1}function r9e(n,e,t){var i;(DQn?(o8e(n),!0):LQn||$Qn?(a4(),!0):NQn&&(a4(),!1))&&(i=new aSn(e),i.b=t,aje(n,i))}function kx(n,e){var t;t=!n.A.Hc((go(),Gd))||n.q==(Oi(),qc),n.u.Hc((zu(),Fl))?t?XDe(n,e):UGn(n,e):n.u.Hc(Ia)&&(t?dDe(n,e):czn(n,e))}function eRn(n){var e;x(z(n,(He(),R2)))===x((jl(),uO))&&(At(n)?(e=u(z(At(n),R2),346),ht(n,R2,e)):ht(n,R2,E9))}function c9e(n){var e,t;return kt(n.d.i,(cn(),Cv))?(e=u(v(n.c.i,Cv),17),t=u(v(n.d.i,Cv),17),jc(e.a,t.a)>0):!1}function tRn(n,e,t){return new Ho(y.Math.min(n.a,e.a)-t/2,y.Math.min(n.b,e.b)-t/2,y.Math.abs(n.a-e.a)+t,y.Math.abs(n.b-e.b)+t)}function iRn(n){var e;this.d=new Z,this.j=new Li,this.g=new Li,e=n.g.b,this.f=u(v(Hi(e),(cn(),Do)),88),this.e=$(R(nA(e,qw)))}function rRn(n){this.d=new Z,this.e=new Ql,this.c=K(ye,_e,28,(en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,15,1),this.b=n}function sZ(n,e,t){var i;switch(i=t[n.g][e],n.g){case 1:case 3:return new V(0,i);case 2:case 4:return new V(i,0);default:return null}}function cRn(n,e,t){var i,r;r=u(z7(e.f),205);try{r.rf(n,t),hIn(e.f,r)}catch(c){throw c=It(c),D(c,103)?(i=c,M(i)):M(c)}}function uRn(n,e,t){var i,r,c,s,f,h;return i=null,f=Zen(z4(),e),c=null,f&&(r=null,h=Qen(f,t),s=null,h!=null&&(s=n.qf(f,h)),r=s,c=r),i=c,i}function yx(n,e,t,i){var r;if(r=n.length,e>=r)return r;for(e=e>0?e:0;ei&&$t(e,i,null),e}function oRn(n,e){var t,i;for(i=n.a.length,e.lengthi&&$t(e,i,null),e}function gm(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,D(i,99)?u(i,99).th():null),hCe(e,t))){Xp(n.a,4,t);return}Xp(n.a,4,u(e,129))}function u9e(n){var e;if(n==null)return null;if(e=lMe(Fc(n,!0)),e==null)throw M(new kD("Invalid hexBinary value: '"+n+"'"));return e}function QT(n,e,t){var i;e.a.length>0&&(nn(n.b,new SSn(e.a,t)),i=e.a.length,0i&&(e.a+=ITn(K(fs,gh,28,-i,15,1))))}function sRn(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new C(xg(e));r.a=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=0?n.Wh(r):hF(n,i)):t<0?hF(n,i):u(i,69).wk().Bk(n,n.hi(),t)}function aRn(n){var e,t,i;for(i=(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),n.o),t=i.c.Kc();t.e!=t.i.gc();)e=u(t.Yj(),44),e.md();return rk(i)}function rn(n){var e;if(D(n.a,4)){if(e=cZ(n.a),e==null)throw M(new Or(NVn+n.b+"'. "+LVn+(ll(lE),lE.k)+bcn));return e}else return n.a}function b9e(n,e){var t,i;if(n.j.length!=e.j.length)return!1;for(t=0,i=n.j.length;t=64&&e<128&&(r=lf(r,Bs(1,e-64)));return r}function nA(n,e){var t,i;return i=null,kt(n,(He(),$3))&&(t=u(v(n,$3),96),t.pf(e)&&(i=t.of(e))),i==null&&Hi(n)&&(i=v(Hi(n),e)),i}function w9e(n,e){var t;return t=u(v(n,(cn(),Fr)),75),yL(e,LZn)?t?vo(t):(t=new Mu,U(n,Fr,t)):t&&U(n,Fr,null),t}function C5(){C5=F,aon=(He(),qan),g_=Ean,DYn=x2,lon=C1,xYn=(aA(),Uun),$Yn=Hun,FYn=zun,NYn=_un,LYn=(Q$(),son),w_=PYn,hon=IYn,pP=OYn}function eA(n){switch($z(),this.c=new Z,this.d=n,n.g){case 0:case 2:this.a=qW(Oon),this.b=St;break;case 3:case 1:this.a=Oon,this.b=li}}function g9e(n){var e;Ep(u(v(n,(cn(),Kt)),101))&&(e=n.b,nHn((Ln(0,e.c.length),u(e.c[0],30))),nHn(u(sn(e,e.c.length-1),30)))}function p9e(n,e){e.Ug("Self-Loop post-processing",1),qt(ut(ut(rc(new Tn(null,new In(n.b,16)),new s2n),new f2n),new h2n),new l2n),e.Vg()}function dRn(n,e,t){var i,r;if(n.c)eu(n.c,n.c.i+e),tu(n.c,n.c.j+t);else for(r=new C(n.b);r.a=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function M5(){M5=F,Nhn=new l7(Crn,0),KH=new l7(sR,1),_H=new l7("LINEAR_SEGMENTS",2),W8=new l7("BRANDES_KOEPF",3),J8=new l7(sVn,4)}function T5(){T5=F,fj=new hC(eS,0),wP=new hC(HB,1),gP=new hC(qB,2),hj=new hC(UB,3),fj.a=!1,wP.a=!0,gP.a=!1,hj.a=!0}function Vp(){Vp=F,uj=new fC(eS,0),cj=new fC(HB,1),oj=new fC(qB,2),sj=new fC(UB,3),uj.a=!1,cj.a=!0,oj.a=!1,sj.a=!0}function Wp(n,e,t,i){var r;return t>=0?n.Sh(e,t,i):(n.Ph()&&(i=(r=n.Fh(),r>=0?n.Ah(i):n.Ph().Th(n,-1-r,null,i))),n.Ch(e,t,i))}function fZ(n,e){switch(e){case 7:!n.e&&(n.e=new Nn(Vt,n,7,4)),me(n.e);return;case 8:!n.d&&(n.d=new Nn(Vt,n,8,5)),me(n.d);return}JY(n,e)}function ht(n,e,t){return t==null?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),VT(n.o,e)):(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),zk(n.o,e,t)),n}function pRn(n,e){Dn();var t,i,r,c;for(t=n,c=e,D(n,21)&&!D(e,21)&&(t=e,c=n),r=t.Kc();r.Ob();)if(i=r.Pb(),c.Hc(i))return!1;return!0}function j9e(n,e,t,i){if(e.at.b)return!0}return!1}function Tx(n,e){return Ai(n)?!!iQn[e]:n.Sm?!!n.Sm[e]:$b(n)?!!tQn[e]:Nb(n)?!!eQn[e]:!1}function E9e(n){var e;e=n.a;do e=u(fe(new ie(ce(ji(e).a.Kc(),new En))),18).c.i,e.k==(Vn(),Mi)&&n.b.Fc(e);while(e.k==(Vn(),Mi));n.b=Qo(n.b)}function mRn(n,e){var t,i,r;for(r=n,i=new ie(ce(ji(e).a.Kc(),new En));pe(i);)t=u(fe(i),18),t.c.i.c&&(r=y.Math.max(r,t.c.i.c.p));return r}function C9e(n,e){var t,i,r;for(r=0,i=u(u(ot(n.r,e),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r+=t.d.d+t.b.Mf().b+t.d.a,i.Ob()&&(r+=n.w);return r}function M9e(n,e){var t,i,r;for(r=0,i=u(u(ot(n.r,e),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r+=t.d.b+t.b.Mf().a+t.d.c,i.Ob()&&(r+=n.w);return r}function vRn(n){var e,t,i,r;if(i=0,r=aw(n),r.c.length==0)return 1;for(t=new C(r);t.a=0?n.Lh(s,t,!0):H0(n,c,t)):u(c,69).wk().yk(n,n.hi(),r,t,i)}function P9e(n,e,t,i){var r,c;c=e.pf((He(),K2))?u(e.of(K2),21):n.j,r=d5e(c),r!=(VA(),l_)&&(t&&!tZ(r)||bnn(aMe(n,r,i),e))}function I9e(n){switch(n.g){case 1:return N0(),rj;case 3:return N0(),ij;case 2:return N0(),d_;case 4:return N0(),a_;default:return null}}function O9e(n,e,t){if(n.e)switch(n.b){case 1:yge(n.c,e,t);break;case 0:jge(n.c,e,t)}else KDn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function kRn(n){var e,t;if(n==null)return null;for(t=K(Qh,J,199,n.length,0,2),e=0;e=0)return r;if(n.ol()){for(i=0;i=r)throw M(new Kb(e,r));if(n.Si()&&(i=n.dd(t),i>=0&&i!=e))throw M(new Gn(Vy));return n.Xi(e,t)}function hZ(n,e){if(this.a=u(Se(n),253),this.b=u(Se(e),253),n.Ed(e)>0||n==(dD(),_K)||e==(bD(),HK))throw M(new Gn("Invalid range: "+qDn(n,e)))}function yRn(n){var e,t;for(this.b=new Z,this.c=n,this.a=!1,t=new C(n.a);t.a0),(e&-e)==e)return wi(e*to(n,31)*4656612873077393e-25);do t=to(n,31),i=t%e;while(t-i+(e-1)<0);return wi(i)}function F9e(n,e,t){switch(t.g){case 1:n.a=e.a/2,n.b=0;break;case 2:n.a=e.a,n.b=e.b/2;break;case 3:n.a=e.a/2,n.b=e.b;break;case 4:n.a=0,n.b=e.b/2}}function _k(n,e,t,i){var r,c;for(r=e;r1&&(c=L9e(n,e)),c}function CRn(n){var e;return e=$(R(z(n,(He(),Qj))))*y.Math.sqrt((!n.a&&(n.a=new q(Ye,n,10,11)),n.a).i),new V(e,e/$(R(z(n,rO))))}function Sx(n){var e;return n.f&&n.f.Vh()&&(e=u(n.f,54),n.f=u(ea(n,e),84),n.f!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,8,e,n.f))),n.f}function Px(n){var e;return n.i&&n.i.Vh()&&(e=u(n.i,54),n.i=u(ea(n,e),84),n.i!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,7,e,n.i))),n.i}function br(n){var e;return n.b&&n.b.Db&64&&(e=n.b,n.b=u(ea(n,e),19),n.b!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,21,e,n.b))),n.b}function uA(n,e){var t,i,r;n.d==null?(++n.e,++n.f):(i=e.Bi(),uTe(n,n.f+1),r=(i&et)%n.d.length,t=n.d[r],!t&&(t=n.d[r]=n.dk()),t.Fc(e),++n.f)}function dZ(n,e,t){var i;return e.tk()?!1:e.Ik()!=-2?(i=e.ik(),i==null?t==null:rt(i,t)):e.qk()==n.e.Dh()&&t==null}function oA(){var n;Co(16,$zn),n=sxn(16),this.b=K(UK,Cy,303,n,0,1),this.c=K(UK,Cy,303,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function Tl(n){vV.call(this),this.k=(Vn(),zt),this.j=(Co(6,mw),new Gc(6)),this.b=(Co(2,mw),new Gc(2)),this.d=new sD,this.f=new nz,this.a=n}function R9e(n){var e,t;n.c.length<=1||(e=Sqn(n,(en(),ae)),w_n(n,u(e.a,17).a,u(e.b,17).a),t=Sqn(n,Wn),w_n(n,u(t.a,17).a,u(t.b,17).a))}function K9e(n,e,t){var i,r;for(r=n.a.b,i=r.c.length;i102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function Nx(n,e){if(n==null)throw M(new fp("null key in entry: null="+e));if(e==null)throw M(new fp("null value in entry: "+n+"=null"))}function q9e(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(x(t)===x(i)||t!=null&&rt(t,i))))return!1;return!e.Ob()}function ARn(n,e){var t;return t=A(T(Pi,1),Tr,28,15,[Z$(n.a[0],e),Z$(n.a[1],e),Z$(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function SRn(n,e){var t;return t=A(T(Pi,1),Tr,28,15,[$T(n.a[0],e),$T(n.a[1],e),$T(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function wZ(n,e,t){Ep(u(v(e,(cn(),Kt)),101))||(PJ(n,e,h1(e,t)),PJ(n,e,h1(e,(en(),ae))),PJ(n,e,h1(e,Xn)),Dn(),Yt(e.j,new N7n(n)))}function PRn(n){var e,t;for(n.c||sOe(n),t=new Mu,e=new C(n.a),E(e);e.a0&&(zn(0,e.length),e.charCodeAt(0)==43)?(zn(1,e.length+1),e.substr(1)):e))}function i7e(n){var e;return n==null?null:new H1((e=Fc(n,!0),e.length>0&&(zn(0,e.length),e.charCodeAt(0)==43)?(zn(1,e.length+1),e.substr(1)):e))}function pZ(n,e,t,i,r,c,s,f){var h,l;i&&(h=i.a[0],h&&pZ(n,e,t,h,r,c,s,f),qx(n,t,i.d,r,c,s,f)&&e.Fc(i),l=i.a[1],l&&pZ(n,e,t,l,r,c,s,f))}function Kg(n,e,t){try{return o0(C$(n,e,t),1)}catch(i){throw i=It(i),D(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function NRn(n,e,t){try{return o0(C$(n,e,t),0)}catch(i){throw i=It(i),D(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function $Rn(n,e,t){try{return o0(C$(n,e,t),2)}catch(i){throw i=It(i),D(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function xRn(n,e){if(n.g==-1)throw M(new Cu);n.Xj();try{n.d.hd(n.g,e),n.f=n.d.j}catch(t){throw t=It(t),D(t,77)?M(new Bo):M(t)}}function r7e(n){var e,t,i,r,c;for(i=new C(n.b);i.ac&&$t(e,c,null),e}function c7e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=s,s+=f*(h+i)}function BRn(n){var e,t,i;for(i=n.f,n.n=K(Pi,Tr,28,i,15,1),n.d=K(Pi,Tr,28,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function qRn(n,e){var t;return t=A(T(Pi,1),Tr,28,15,[aZ(n,(wf(),bc),e),aZ(n,Wc,e),aZ(n,wc,e)]),n.f&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function d7e(n,e,t){var i;try{xA(n,e+n.j,t+n.k,!1,!0)}catch(r){throw r=It(r),D(r,77)?(i=r,M(new Ir(i.g+iS+e+ur+t+")."))):M(r)}}function b7e(n,e,t){var i;try{xA(n,e+n.j,t+n.k,!0,!1)}catch(r){throw r=It(r),D(r,77)?(i=r,M(new Ir(i.g+iS+e+ur+t+")."))):M(r)}}function URn(n){var e;kt(n,(cn(),ab))&&(e=u(v(n,ab),21),e.Hc((lw(),Qs))?(e.Mc(Qs),e.Fc(Ys)):e.Hc(Ys)&&(e.Mc(Ys),e.Fc(Qs)))}function GRn(n){var e;kt(n,(cn(),ab))&&(e=u(v(n,ab),21),e.Hc((lw(),nf))?(e.Mc(nf),e.Fc(Ms)):e.Hc(Ms)&&(e.Mc(Ms),e.Fc(nf)))}function Kx(n,e,t,i){var r,c,s,f;return n.a==null&&gje(n,e),s=e.b.j.c.length,c=t.d.p,f=i.d.p,r=f-1,r<0&&(r=s-1),c<=r?n.a[r]-n.a[c]:n.a[s-1]-n.a[c]+n.a[r]}function w7e(n){var e,t;if(!n.b)for(n.b=RM(u(n.f,27).kh().i),t=new ne(u(n.f,27).kh());t.e!=t.i.gc();)e=u(ue(t),135),nn(n.b,new pD(e));return n.b}function g7e(n){var e,t;if(!n.e)for(n.e=RM(mN(u(n.f,27)).i),t=new ne(mN(u(n.f,27)));t.e!=t.i.gc();)e=u(ue(t),123),nn(n.e,new Bkn(e));return n.e}function zRn(n){var e,t;if(!n.a)for(n.a=RM(AM(u(n.f,27)).i),t=new ne(AM(u(n.f,27)));t.e!=t.i.gc();)e=u(ue(t),27),nn(n.a,new ML(n,e));return n.a}function K0(n){var e;if(!n.C&&(n.D!=null||n.B!=null))if(e=iDe(n),e)n.hl(e);else try{n.hl(null)}catch(t){if(t=It(t),!D(t,63))throw M(t)}return n.C}function p7e(n){switch(n.q.g){case 5:gKn(n,(en(),Xn)),gKn(n,ae);break;case 4:mGn(n,(en(),Xn)),mGn(n,ae);break;default:y_n(n,(en(),Xn)),y_n(n,ae)}}function m7e(n){switch(n.q.g){case 5:pKn(n,(en(),Zn)),pKn(n,Wn);break;case 4:vGn(n,(en(),Zn)),vGn(n,Wn);break;default:j_n(n,(en(),Zn)),j_n(n,Wn)}}function _g(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),36),Sm(t,r.a,0),r.a+=t.f.a+e,r.b=y.Math.max(r.b,t.f.b);return r.b>0&&(r.b+=e),r}function hA(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),36),Sm(t,0,r.b),r.b+=t.f.b+e,r.a=y.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function XRn(n){var e,t,i;for(i=et,t=new C(n.a);t.a>16==6?n.Cb.Th(n,5,Ef,e):(i=br(u($n((t=u(Un(n,16),29),t||n.ii()),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function v7e(n){O4();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+` +`;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(` +`)}return[]}function k7e(n){var e;return e=(Q$n(),wQn),e[n>>>28]|e[n>>24&15]<<4|e[n>>20&15]<<8|e[n>>16&15]<<12|e[n>>12&15]<<16|e[n>>8&15]<<20|e[n>>4&15]<<24|e[n&15]<<28}function JRn(n){var e,t,i;n.b==n.c&&(i=n.a.length,t=QQ(y.Math.max(8,i))<<1,n.b!=0?(e=xs(n.a,t),axn(n,e,i),n.a=e,n.b=0):Pb(n.a,t),n.c=i)}function y7e(n,e){var t;return t=n.b,t.pf((He(),oo))?t.ag()==(en(),Wn)?-t.Mf().a-$(R(t.of(oo))):e+$(R(t.of(oo))):t.ag()==(en(),Wn)?-t.Mf().a:e}function qk(n){var e;return n.b.c.length!=0&&u(sn(n.b,0),72).a?u(sn(n.b,0),72).a:(e=vN(n),e??""+(n.c?qr(n.c.a,n,0):-1))}function lA(n){var e;return n.f.c.length!=0&&u(sn(n.f,0),72).a?u(sn(n.f,0),72).a:(e=vN(n),e??""+(n.i?qr(n.i.j,n,0):-1))}function j7e(n,e){var t,i;if(e<0||e>=n.gc())return null;for(t=e;t0?n.c:0),r=y.Math.max(r,e.d),++i;n.e=c,n.b=r}function C7e(n){var e,t;if(!n.b)for(n.b=RM(u(n.f,123).kh().i),t=new ne(u(n.f,123).kh());t.e!=t.i.gc();)e=u(ue(t),135),nn(n.b,new pD(e));return n.b}function M7e(n,e){var t,i,r;if(e.dc())return m4(),m4(),aE;for(t=new LAn(n,e.gc()),r=new ne(n);r.e!=r.i.gc();)i=ue(r),e.Hc(i)&&ve(t,i);return t}function yZ(n,e,t,i){return e==0?i?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),n.o):(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),rk(n.o)):tA(n,e,t,i)}function Hx(n){var e,t;if(n.rb)for(e=0,t=n.rb.i;e>22),r+=i>>22,r<0)?!1:(n.l=t&ro,n.m=i&ro,n.h=r&Il,!0)}function qx(n,e,t,i,r,c,s){var f,h;return!(e.Te()&&(h=n.a.Ne(t,i),h<0||!r&&h==0)||e.Ue()&&(f=n.a.Ne(t,c),f>0||!s&&f==0))}function P7e(n,e){cm();var t;if(t=n.j.g-e.j.g,t!=0)return 0;switch(n.j.g){case 2:return fx(e,Csn)-fx(n,Csn);case 4:return fx(n,Esn)-fx(e,Esn)}return 0}function I7e(n){switch(n.g){case 0:return Z_;case 1:return nH;case 2:return eH;case 3:return tH;case 4:return JP;case 5:return iH;default:return null}}function $r(n,e,t){var i,r;return i=(r=new lD,ad(r,e),zc(r,t),ve((!n.c&&(n.c=new q(yb,n,12,10)),n.c),r),r),e1(i,0),Zb(i,1),u1(i,!0),c1(i,!0),i}function Jp(n,e){var t,i;if(e>=n.i)throw M(new aL(e,n.i));return++n.j,t=n.g[e],i=n.i-e-1,i>0&&Ic(n.g,e+1,n.g,e,i),$t(n.g,--n.i,null),n.Qi(e,t),n.Ni(),t}function QRn(n,e){var t,i;return n.Db>>16==17?n.Cb.Th(n,21,As,e):(i=br(u($n((t=u(Un(n,16),29),t||n.ii()),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function O7e(n){var e,t,i,r;for(Dn(),Yt(n.c,n.a),r=new C(n.c);r.at.a.c.length))throw M(new Gn("index must be >= 0 and <= layer node count"));n.c&&du(n.c.a,n),n.c=t,t&&b0(t.a,e,n)}function tKn(n,e){var t,i,r;for(i=new ie(ce(Cl(n).a.Kc(),new En));pe(i);)return t=u(fe(i),18),r=u(e.Kb(t),10),new TE(Se(r.n.b+r.o.b/2));return Zv(),Zv(),KK}function iKn(n,e){this.c=new de,this.a=n,this.b=e,this.d=u(v(n,(W(),E2)),312),x(v(n,(cn(),shn)))===x((sk(),QP))?this.e=new Yyn:this.e=new Qyn}function S5(n,e){var t,i;return i=null,n.pf((He(),$3))&&(t=u(n.of($3),96),t.pf(e)&&(i=t.of(e))),i==null&&n.Tf()&&(i=n.Tf().of(e)),i==null&&(i=rn(e)),i}function Ux(n,e){var t,i;t=n.fd(e);try{return i=t.Pb(),t.Qb(),i}catch(r){throw r=It(r),D(r,112)?M(new Ir("Can't remove element "+e)):M(r)}}function R7e(n,e){var t,i,r;if(i=new JE,r=new nY(i.q.getFullYear()-ha,i.q.getMonth(),i.q.getDate()),t=JPe(n,e,r),t==0||t0?e:0),++t;return new V(i,r)}function TZ(n,e){var t,i;return n.Db>>16==6?n.Cb.Th(n,6,Vt,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),bO)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function AZ(n,e){var t,i;return n.Db>>16==7?n.Cb.Th(n,1,oE,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Pdn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function SZ(n,e){var t,i;return n.Db>>16==9?n.Cb.Th(n,9,Ye,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Odn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function uKn(n,e){var t,i;return n.Db>>16==5?n.Cb.Th(n,9,EO,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),S1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function oKn(n,e){var t,i;return n.Db>>16==7?n.Cb.Th(n,6,Ef,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),I1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function PZ(n,e){var t,i;return n.Db>>16==3?n.Cb.Th(n,0,fE,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),A1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function sKn(){this.a=new dvn,this.g=new oA,this.j=new oA,this.b=new de,this.d=new oA,this.i=new oA,this.k=new de,this.c=new de,this.e=new de,this.f=new de}function H7e(n,e,t){var i,r,c;for(t<0&&(t=0),c=n.i,r=t;rPB)return mm(n,i);if(i==n)return!0}}return!1}function U7e(n){switch(KC(),n.q.g){case 5:U_n(n,(en(),Xn)),U_n(n,ae);break;case 4:GHn(n,(en(),Xn)),GHn(n,ae);break;default:VGn(n,(en(),Xn)),VGn(n,ae)}}function G7e(n){switch(KC(),n.q.g){case 5:fHn(n,(en(),Zn)),fHn(n,Wn);break;case 4:bRn(n,(en(),Zn)),bRn(n,Wn);break;default:WGn(n,(en(),Zn)),WGn(n,Wn)}}function z7e(n){var e,t;e=u(v(n,(Us(),nZn)),17),e?(t=e.a,t==0?U(n,(Q1(),jP),new dx):U(n,(Q1(),jP),new qM(t))):U(n,(Q1(),jP),new qM(1))}function X7e(n,e){var t;switch(t=n.i,e.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-t.o.a;case 3:return n.n.b-t.o.b;case 4:return-(n.n.a+n.o.a)}return 0}function V7e(n,e){switch(n.g){case 0:return e==(Yo(),ya)?HP:qP;case 1:return e==(Yo(),ya)?HP:wj;case 2:return e==(Yo(),ya)?wj:qP;default:return wj}}function Gk(n,e){var t,i,r;for(du(n.a,e),n.e-=e.r+(n.a.c.length==0?0:n.c),r=Frn,i=new C(n.a);i.a>16==3?n.Cb.Th(n,12,Ye,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Sdn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function OZ(n,e){var t,i;return n.Db>>16==11?n.Cb.Th(n,10,Ye,e):(i=br(u($n((t=u(Un(n,16),29),t||(Cc(),Idn)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function fKn(n,e){var t,i;return n.Db>>16==10?n.Cb.Th(n,11,As,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),P1)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function hKn(n,e){var t,i;return n.Db>>16==10?n.Cb.Th(n,12,Ss,e):(i=br(u($n((t=u(Un(n,16),29),t||(On(),ig)),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function gs(n){var e;return!(n.Bb&1)&&n.r&&n.r.Vh()&&(e=u(n.r,54),n.r=u(ea(n,e),142),n.r!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,8,e,n.r))),n.r}function Gx(n,e,t){var i;return i=A(T(Pi,1),Tr,28,15,[inn(n,(wf(),bc),e,t),inn(n,Wc,e,t),inn(n,wc,e,t)]),n.f&&(i[0]=y.Math.max(i[0],i[2]),i[2]=i[0]),i}function W7e(n,e){var t,i,r;if(r=v9e(n,e),r.c.length!=0)for(Yt(r,new Pgn),t=r.c.length,i=0;i>19,l=e.h>>19,h!=l?l-h:(r=n.h,f=e.h,r!=f?r-f:(i=n.m,s=e.m,i!=s?i-s:(t=n.l,c=e.l,t-c)))}function aA(){aA=F,Xun=(NA(),f_),zun=new Mn(Otn,Xun),Gun=(cT(),s_),Uun=new Mn(Dtn,Gun),qun=(YT(),o_),Hun=new Mn(Ltn,qun),_un=new Mn(Ntn,(_n(),!0))}function P5(n,e,t){var i,r;i=e*t,D(n.g,154)?(r=xp(n),r.f.d?r.f.a||(n.d.a+=i+_f):(n.d.d-=i+_f,n.d.a+=i+_f)):D(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function lKn(n,e,t){var i,r,c,s,f;for(r=n[t.g],f=new C(e.d);f.a0?n.b:0),++t;e.b=i,e.e=r}function aKn(n){var e,t,i;if(i=n.b,iCn(n.i,i.length)){for(t=i.length*2,n.b=K(UK,Cy,303,t,0,1),n.c=K(UK,Cy,303,t,0,1),n.f=t-1,n.i=0,e=n.a;e;e=e.c)ny(n,e,e);++n.g}}function tke(n,e,t,i){var r,c,s,f;for(r=0;rs&&(f=s/i),r>c&&(h=c/r),ch(n,y.Math.min(f,h)),n}function rke(){KA();var n,e;try{if(e=u(HZ((R1(),Ps),tv),2113),e)return e}catch(t){if(t=It(t),D(t,103))n=t,OW((Ie(),n));else throw M(t)}return new fvn}function cke(){KA();var n,e;try{if(e=u(HZ((R1(),Ps),ks),2040),e)return e}catch(t){if(t=It(t),D(t,103))n=t,OW((Ie(),n));else throw M(t)}return new $vn}function uke(){jNn();var n,e;try{if(e=u(HZ((R1(),Ps),Sd),2122),e)return e}catch(t){if(t=It(t),D(t,103))n=t,OW((Ie(),n));else throw M(t)}return new S6n}function oke(n,e,t){var i,r;return r=n.e,n.e=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,4,r,e),t?t.nj(i):t=i),r!=e&&(e?t=Nm(n,MA(n,e),t):t=Nm(n,n.a,t)),t}function dKn(){JE.call(this),this.e=-1,this.a=!1,this.p=Wi,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=Wi}function ske(n,e){var t,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=e.b.d.d,e.a||(r+=e.b.d.a),t=bt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function fke(n,e){var t,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=e.b.b.d,e.a||(r+=e.b.b.a),t=bt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function hke(n,e){var t,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),t=bt(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function LZ(){LZ=F,mZn=Pu(Ke(Ke(Ke(new ii,(Vi(),Kc),(tr(),fsn)),Kc,hsn),zr,lsn),zr,Yon),kZn=Ke(Ke(new ii,Kc,Gon),Kc,Zon),vZn=Pu(new ii,zr,esn)}function lke(n){var e,t,i,r,c;for(e=u(v(n,(W(),R8)),85),c=n.n,i=e.Cc().Kc();i.Ob();)t=u(i.Pb(),314),r=t.i,r.c+=c.a,r.d+=c.b,t.c?Dqn(t):Lqn(t);U(n,R8,null)}function ake(n,e,t){var i,r;switch(r=n.b,i=r.d,e.g){case 1:return-i.d-t;case 2:return r.o.a+i.c+t;case 3:return r.o.b+i.a+t;case 4:return-i.b-t;default:return-1}}function dke(n,e,t){var i,r;for(t.Ug("Interactive node placement",1),n.a=u(v(e,(W(),E2)),312),r=new C(e.b);r.a0&&(s=(c&et)%n.d.length,r=xnn(n,s,c,e),r)?(f=r.nd(t),f):(i=n.ck(c,e,t),n.c.Fc(i),null)}function xZ(n,e){var t,i,r,c;switch(r1(n,e).Kl()){case 3:case 2:{for(t=Jg(e),r=0,c=t.i;r=0;i--)if(An(n[i].d,e)||An(n[i].d,t)){n.length>=i+1&&n.splice(0,i+1);break}return n}function Xk(n,e){var t;return Vr(n)&&Vr(e)&&(t=n/e,Ay0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=y.Math.min(i,r))}function kKn(n){var e;e=u(v(u(Zo(n.b,0),40),(lc(),Iln)),107),U(n,(pt(),Dv),new V(0,0)),lUn(new tk,n,e.b+e.c-$(R(v(n,rq))),e.d+e.a-$(R(v(n,cq))))}function yKn(n,e){var t,i;if(i=!1,Ai(e)&&(i=!0,Ip(n,new qb(Oe(e)))),i||D(e,242)&&(i=!0,Ip(n,(t=IV(u(e,242)),new AE(t)))),!i)throw M(new vD(Lcn))}function Ike(n,e,t,i){var r,c,s;return r=new ml(n.e,1,10,(s=e.c,D(s,90)?u(s,29):(On(),Is)),(c=t.c,D(c,90)?u(c,29):(On(),Is)),f1(n,e),!1),i?i.nj(r):i=r,i}function RZ(n){var e,t;switch(u(v(Hi(n),(cn(),ehn)),429).g){case 0:return e=n.n,t=n.o,new V(e.a+t.a/2,e.b+t.b/2);case 1:return new rr(n.n);default:return null}}function Vk(){Vk=F,YP=new p6(kh,0),Ksn=new p6("LEFTUP",1),Hsn=new p6("RIGHTUP",2),Rsn=new p6("LEFTDOWN",3),_sn=new p6("RIGHTDOWN",4),rH=new p6("BALANCED",5)}function Oke(n,e,t){var i,r,c;if(i=bt(n.a[e.p],n.a[t.p]),i==0){if(r=u(v(e,(W(),T3)),15),c=u(v(t,T3),15),r.Hc(t))return-1;if(c.Hc(e))return 1}return i}function Dke(n){switch(n.g){case 1:return new U4n;case 2:return new G4n;case 3:return new q4n;case 0:return null;default:throw M(new Gn(GR+(n.f!=null?n.f:""+n.g)))}}function KZ(n,e,t){switch(e){case 1:!n.n&&(n.n=new q(Ar,n,1,7)),me(n.n),!n.n&&(n.n=new q(Ar,n,1,7)),Bt(n.n,u(t,16));return;case 2:X4(n,Oe(t));return}uY(n,e,t)}function _Z(n,e,t){switch(e){case 3:P0(n,$(R(t)));return;case 4:I0(n,$(R(t)));return;case 5:eu(n,$(R(t)));return;case 6:tu(n,$(R(t)));return}KZ(n,e,t)}function dA(n,e,t){var i,r,c;c=(i=new lD,i),r=Bf(c,e,null),r&&r.oj(),zc(c,t),ve((!n.c&&(n.c=new q(yb,n,12,10)),n.c),c),e1(c,0),Zb(c,1),u1(c,!0),c1(c,!0)}function HZ(n,e){var t,i,r;return t=a6(n.i,e),D(t,241)?(r=u(t,241),r.zi()==null,r.wi()):D(t,507)?(i=u(t,2037),r=i.b,r):null}function Lke(n,e,t,i){var r,c;return Se(e),Se(t),c=u($6(n.d,e),17),VNn(!!c,"Row %s not in %s",e,n.e),r=u($6(n.b,t),17),VNn(!!r,"Column %s not in %s",t,n.c),cFn(n,c.a,r.a,i)}function jKn(n,e,t,i,r,c,s){var f,h,l,a,d;if(a=r[c],l=c==s-1,f=l?i:0,d=_Rn(f,a),i!=10&&A(T(n,s-c),e[c],t[c],f,d),!l)for(++c,h=0;h1||f==-1?(c=u(h,15),r.Wb(g8e(n,c))):r.Wb(IF(n,u(h,58)))))}function Kke(n,e,t,i){DEn();var r=RK;function c(){for(var s=0;s0)return!1;return!0}function qke(n){var e,t,i,r,c;for(i=new sd(new Ua(n.b).a);i.b;)t=L0(i),e=u(t.ld(),10),c=u(u(t.md(),42).a,10),r=u(u(t.md(),42).b,8),tt(ff(e.n),tt(Ki(c.n),r))}function Uke(n){switch(u(v(n.b,(cn(),Vfn)),387).g){case 1:qt(_r(rc(new Tn(null,new In(n.d,16)),new ypn),new jpn),new Epn);break;case 2:RAe(n);break;case 0:pEe(n)}}function Gke(n,e,t){var i,r,c;for(i=t,!i&&(i=new op),i.Ug("Layout",n.a.c.length),c=new C(n.a);c.a_R)return t;r>-1e-6&&++t}return t}function UZ(n,e){var t;e!=n.b?(t=null,n.b&&(t=OM(n.b,n,-4,t)),e&&(t=Wp(e,n,-4,t)),t=YFn(n,e,t),t&&t.oj()):n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,e,e))}function MKn(n,e){var t;e!=n.f?(t=null,n.f&&(t=OM(n.f,n,-1,t)),e&&(t=Wp(e,n,-1,t)),t=QFn(n,e,t),t&&t.oj()):n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,e,e))}function Wke(n,e,t,i){var r,c,s,f;return fo(n.e)&&(r=e.Lk(),f=e.md(),c=t.md(),s=V1(n,1,r,f,c,r.Jk()?Om(n,r,c,D(r,102)&&(u(r,19).Bb&hr)!=0):-1,!0),i?i.nj(s):i=s),i}function TKn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new Hl,e=t.Kc();e.Ob();)Er(i,(at(),Oe(e.Pb()))),i.a+=" ";return bL(i,i.a.length-1)}function AKn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new Hl,e=t.Kc();e.Ob();)Er(i,(at(),Oe(e.Pb()))),i.a+=" ";return bL(i,i.a.length-1)}function Jke(n,e,t){var i,r;return i=n.c[e.c.p][e.p],r=n.c[t.c.p][t.p],i.a!=null&&r.a!=null?tN(i.a,r.a):i.a!=null?-1:r.a!=null?1:0}function Qke(n,e,t){return t.Ug("Tree layout",1),H7(n.b),hf(n.b,(Qp(),LI),LI),hf(n.b,t9,t9),hf(n.b,i9,i9),hf(n.b,r9,r9),n.a=gy(n.b,e),Gke(n,e,t.eh(1)),t.Vg(),e}function Yke(n,e){var t,i,r,c,s,f;if(e)for(c=e.a.length,t=new Qa(c),f=(t.b-t.a)*t.c<0?(K1(),xa):new q1(t);f.Ob();)s=u(f.Pb(),17),r=L4(e,s.a),i=new Vkn(n),uge(i.a,r)}function Zke(n,e){var t,i,r,c,s,f;if(e)for(c=e.a.length,t=new Qa(c),f=(t.b-t.a)*t.c<0?(K1(),xa):new q1(t);f.Ob();)s=u(f.Pb(),17),r=L4(e,s.a),i=new Rkn(n),cge(i.a,r)}function nye(n){var e;if(n!=null&&n.length>0&&Xi(n,n.length-1)==33)try{return e=$Hn(qo(n,0,n.length-1)),e.e==null}catch(t){if(t=It(t),!D(t,33))throw M(t)}return!1}function eye(n,e,t){var i,r,c;switch(i=Hi(e),r=KT(i),c=new Pc,ic(c,e),t.g){case 1:gi(c,xk(zp(r)));break;case 2:gi(c,zp(r))}return U(c,(cn(),Kw),R(v(n,Kw))),c}function GZ(n){var e,t;return e=u(fe(new ie(ce(ji(n.a).a.Kc(),new En))),18),t=u(fe(new ie(ce(Qt(n.a).a.Kc(),new En))),18),on(un(v(e,(W(),zf))))||on(un(v(t,zf)))}function ow(){ow=F,gj=new s7("ONE_SIDE",0),zP=new s7("TWO_SIDES_CORNER",1),XP=new s7("TWO_SIDES_OPPOSING",2),GP=new s7("THREE_SIDES",3),UP=new s7("FOUR_SIDES",4)}function SKn(n,e){var t,i,r,c;for(c=new Z,r=0,i=e.Kc();i.Ob();){for(t=Y(u(i.Pb(),17).a+r);t.a=n.f)break;Kn(c.c,t)}return c}function tye(n,e){var t,i,r,c,s;for(c=new C(e.a);c.a0&&YRn(this,this.c-1,(en(),Zn)),this.c0&&n[0].length>0&&(this.c=on(un(v(Hi(n[0][0]),(W(),ifn))))),this.a=K(jie,J,2117,n.length,0,2),this.b=K(Eie,J,2118,n.length,0,2),this.d=new zFn}function oye(n){return n.c.length==0?!1:(Ln(0,n.c.length),u(n.c[0],18)).c.i.k==(Vn(),Mi)?!0:Og(_r(new Tn(null,new In(n,16)),new t3n),new i3n)}function OKn(n,e){var t,i,r,c,s,f,h;for(f=aw(e),c=e.f,h=e.g,s=y.Math.sqrt(c*c+h*h),r=0,i=new C(f);i.a=0?(t=Xk(n,QA),i=Bk(n,QA)):(e=U1(n,1),t=Xk(e,5e8),i=Bk(e,5e8),i=nr(Bs(i,1),vi(n,1))),lf(Bs(i,32),vi(t,mr))}function NKn(n,e,t){var i,r;switch(i=(oe(e.b!=0),u(Xo(e,e.a.a),8)),t.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return r=ge(e,0),_7(r,i),e}function $Kn(n,e,t,i){var r,c,s,f,h;switch(h=n.b,c=e.d,s=c.j,f=sZ(s,h.d[s.g],t),r=tt(Ki(c.n),c.a),c.j.g){case 1:case 3:f.a+=r.a;break;case 2:case 4:f.b+=r.b}xt(i,f,i.c.b,i.c)}function vye(n,e,t){var i,r,c,s;for(s=qr(n.e,e,0),c=new QG,c.b=t,i=new xi(n.e,s);i.b1;e>>=1)e&1&&(i=Ig(i,t)),t.d==1?t=Ig(t,t):t=new QBn(pUn(t.a,t.d,K(ye,_e,28,t.d<<1,15,1)));return i=Ig(i,t),i}function nnn(){nnn=F;var n,e,t,i;for(Lun=K(Pi,Tr,28,25,15,1),Nun=K(Pi,Tr,28,33,15,1),i=152587890625e-16,e=32;e>=0;e--)Nun[e]=i,i*=.5;for(t=1,n=24;n>=0;n--)Lun[n]=t,t*=.5}function Mye(n){var e,t;if(on(un(z(n,(cn(),Rw))))){for(t=new ie(ce(Al(n).a.Kc(),new En));pe(t);)if(e=u(fe(t),74),_0(e)&&on(un(z(e,Nd))))return!0}return!1}function xKn(n,e){var t,i,r;fi(n.f,e)&&(e.b=n,i=e.c,qr(n.j,i,0)!=-1||nn(n.j,i),r=e.d,qr(n.j,r,0)!=-1||nn(n.j,r),t=e.a.b,t.c.length!=0&&(!n.i&&(n.i=new iRn(n)),Ive(n.i,t)))}function Tye(n){var e,t,i,r,c;return t=n.c.d,i=t.j,r=n.d.d,c=r.j,i==c?t.p=0&&An(n.substr(e,3),"GMT")||e>=0&&An(n.substr(e,3),"UTC"))&&(t[0]=e+3),Len(n,t,i)}function Sye(n,e){var t,i,r,c,s;for(c=n.g.a,s=n.g.b,i=new C(n.d);i.at;c--)n[c]|=e[c-t-1]>>>s,n[c-1]=e[c-t-1]<0&&Ic(n.g,e,n.g,e+i,f),s=t.Kc(),n.i+=i,r=0;r>4&15,c=n[i]&15,s[r++]=Ddn[t],s[r++]=Ddn[c];return ws(s,0,s.length)}function wu(n){var e,t;return n>=hr?(e=Sy+(n-hr>>10&1023)&ui,t=56320+(n-hr&1023)&ui,String.fromCharCode(e)+(""+String.fromCharCode(t))):String.fromCharCode(n&ui)}function Rye(n,e){Bb();var t,i,r,c;return r=u(u(ot(n.r,e),21),87),r.gc()>=2?(i=u(r.Kc().Pb(),117),t=n.u.Hc((zu(),A9)),c=n.u.Hc(B3),!i.a&&!t&&(r.gc()==2||c)):!1}function RKn(n,e,t,i,r){var c,s,f;for(c=Cqn(n,e,t,i,r),f=!1;!c;)EA(n,r,!0),f=!0,c=Cqn(n,e,t,i,r);f&&EA(n,r,!1),s=B$(r),s.c.length!=0&&(n.d&&n.d.Gg(s),RKn(n,r,t,i,s))}function pA(){pA=F,dU=new y6(kh,0),tdn=new y6("DIRECTED",1),rdn=new y6("UNDIRECTED",2),ndn=new y6("ASSOCIATION",3),idn=new y6("GENERALIZATION",4),edn=new y6("DEPENDENCY",5)}function Kye(n,e){var t;if(!Sf(n))throw M(new Or(eWn));switch(t=Sf(n),e.g){case 1:return-(n.j+n.f);case 2:return n.i-t.g;case 3:return n.j-t.f;case 4:return-(n.i+n.g)}return 0}function _ye(n,e,t){var i,r,c;return i=e.Lk(),c=e.md(),r=i.Jk()?V1(n,4,i,c,null,Om(n,i,c,D(i,102)&&(u(i,19).Bb&hr)!=0),!0):V1(n,i.tk()?2:1,i,c,i.ik(),-1,!0),t?t.nj(r):t=r,t}function ym(n,e){var t,i;for(Jn(e),i=n.b.c.length,nn(n.b,e);i>0;){if(t=i,i=(i-1)/2|0,n.a.Ne(sn(n.b,i),e)<=0)return Go(n.b,t,e),!0;Go(n.b,t,sn(n.b,i))}return Go(n.b,i,e),!0}function inn(n,e,t,i){var r,c;if(r=0,t)r=$T(n.a[t.g][e.g],i);else for(c=0;c=f)}function KKn(n){switch(n.g){case 0:return new cmn;case 1:return new umn;default:throw M(new Gn("No implementation is available for the width approximator "+(n.f!=null?n.f:""+n.g)))}}function rnn(n,e,t,i){var r;if(r=!1,Ai(i)&&(r=!0,j4(e,t,Oe(i))),r||Nb(i)&&(r=!0,rnn(n,e,t,i)),r||D(i,242)&&(r=!0,nd(e,t,u(i,242))),!r)throw M(new vD(Lcn))}function qye(n,e){var t,i,r;if(t=e.qi(n.a),t&&(r=gf((!t.b&&(t.b=new lo((On(),ar),pc,t)),t.b),vs),r!=null)){for(i=1;i<(Du(),t0n).length;++i)if(An(t0n[i],r))return i}return 0}function Uye(n,e){var t,i,r;if(t=e.qi(n.a),t&&(r=gf((!t.b&&(t.b=new lo((On(),ar),pc,t)),t.b),vs),r!=null)){for(i=1;i<(Du(),i0n).length;++i)if(An(i0n[i],r))return i}return 0}function _Kn(n,e){var t,i,r,c;if(Jn(e),c=n.a.gc(),c0?1:0;c.a[r]!=t;)c=c.a[r],r=n.a.Ne(t.d,c.d)>0?1:0;c.a[r]=i,i.b=t.b,i.a[0]=t.a[0],i.a[1]=t.a[1],t.a[0]=null,t.a[1]=null}function Xye(n){var e,t,i,r;for(e=new Z,t=K(so,Xh,28,n.a.c.length,16,1),TW(t,t.length),r=new C(n.a);r.a0&&dUn((Ln(0,t.c.length),u(t.c[0],30)),n),t.c.length>1&&dUn(u(sn(t,t.c.length-1),30),n),e.Vg()}function Wye(n){zu();var e,t;return e=yt(Fl,A(T(oO,1),G,279,0,[Ia])),!(kk(LM(e,n))>1||(t=yt(A9,A(T(oO,1),G,279,0,[T9,B3])),kk(LM(t,n))>1))}function unn(n,e){var t;t=Nc((R1(),Ps),n),D(t,507)?Dr(Ps,n,new LMn(this,e)):Dr(Ps,n,this),tF(this,e),e==(o4(),Udn)?(this.wb=u(this,2038),u(e,2040)):this.wb=(G1(),Hn)}function Jye(n){var e,t,i;if(n==null)return null;for(e=null,t=0;t=d1?"error":i>=900?"warn":i>=800?"info":"log"),nIn(t,n.a),n.b&&sen(e,t,n.b,"Exception: ",!0))}function v(n,e){var t,i;return i=(!n.q&&(n.q=new de),ee(n.q,e)),i??(t=e.Sg(),D(t,4)&&(t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Ve(n.q,e,t))),t)}function Vi(){Vi=F,Vs=new o7("P1_CYCLE_BREAKING",0),Jh=new o7("P2_LAYERING",1),Oc=new o7("P3_NODE_ORDERING",2),Kc=new o7("P4_NODE_PLACEMENT",3),zr=new o7("P5_EDGE_ROUTING",4)}function Qye(n,e){i5();var t;if(n.c==e.c){if(n.b==e.b||rve(n.b,e.b)){if(t=Ple(n.b)?1:-1,n.a&&!e.a)return t;if(!n.a&&e.a)return-t}return jc(n.b.g,e.b.g)}else return bt(n.c,e.c)}function zKn(n,e){var t,i,r;if(snn(n,e))return!0;for(i=new C(e);i.a=r||e<0)throw M(new Ir(vK+e+Td+r));if(t>=r||t<0)throw M(new Ir(kK+t+Td+r));return e!=t?i=(c=n.Cj(t),n.qj(e,c),c):i=n.xj(t),i}function WKn(n){var e,t,i;if(i=n,n)for(e=0,t=n.Eh();t;t=t.Eh()){if(++e>PB)return WKn(t);if(i=t,t==n)throw M(new Or("There is a cycle in the containment hierarchy of "+n))}return i}function ca(n){var e,t,i;for(i=new fd(ur,"[","]"),t=n.Kc();t.Ob();)e=t.Pb(),pl(i,x(e)===x(n)?"(this Collection)":e==null?gu:Jr(e));return i.a?i.e.length==0?i.a.a:i.a.a+(""+i.e):i.c}function snn(n,e){var t,i;if(i=!1,e.gc()<2)return!1;for(t=0;t1&&(n.j.b+=n.e)):(n.j.a+=t.a,n.j.b=y.Math.max(n.j.b,t.b),n.d.c.length>1&&(n.j.a+=n.e))}function ua(){ua=F,une=A(T(lr,1),Mc,64,0,[(en(),Xn),Zn,ae]),cne=A(T(lr,1),Mc,64,0,[Zn,ae,Wn]),one=A(T(lr,1),Mc,64,0,[ae,Wn,Xn]),sne=A(T(lr,1),Mc,64,0,[Wn,Xn,Zn])}function Zye(n,e,t,i){var r,c,s,f,h,l,a;if(s=n.c.d,f=n.d.d,s.j!=f.j)for(a=n.b,r=s.j,h=null;r!=f.j;)h=e==0?RT(r):SY(r),c=sZ(r,a.d[r.g],t),l=sZ(h,a.d[h.g],t),Fe(i,tt(c,l)),r=h}function nje(n,e,t,i){var r,c,s,f,h;return s=ZRn(n.a,e,t),f=u(s.a,17).a,c=u(s.b,17).a,i&&(h=u(v(e,(W(),Xu)),10),r=u(v(t,Xu),10),h&&r&&(KDn(n.b,h,r),f+=n.b.i,c+=n.b.e)),f>c}function QKn(n){var e,t,i,r,c,s,f,h,l;for(this.a=kRn(n),this.b=new Z,t=n,i=0,r=t.length;iOL(n.d).c?(n.i+=n.g.c,px(n.d)):OL(n.d).c>OL(n.g).c?(n.e+=n.d.c,px(n.g)):(n.i+=sPn(n.g),n.e+=sPn(n.d),px(n.g),px(n.d))}function rje(n,e,t){var i,r,c,s;for(c=e.q,s=e.r,new ed((af(),Ea),e,c,1),new ed(Ea,c,s,1),r=new C(t);r.af&&(h=f/i),r>c&&(l=c/r),s=y.Math.min(h,l),n.a+=s*(e.a-n.a),n.b+=s*(e.b-n.b)}function sje(n,e,t,i,r){var c,s;for(s=!1,c=u(sn(t.b,0),27);FPe(n,e,c,i,r)&&(s=!0,Bke(t,c),t.b.c.length!=0);)c=u(sn(t.b,0),27);return t.b.c.length==0&&Gk(t.j,t),s&&fA(e.q),s}function fje(n,e){Vg();var t,i,r,c;if(e.b<2)return!1;for(c=ge(e,0),t=u(be(c),8),i=t;c.b!=c.d.c;){if(r=u(be(c),8),mF(n,i,r))return!0;i=r}return!!mF(n,i,t)}function hnn(n,e,t,i){var r,c;return t==0?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),UC(n.o,e,i)):(c=u($n((r=u(Un(n,16),29),r||n.ii()),t),69),c.wk().Ak(n,iu(n),t-se(n.ii()),e,i))}function tF(n,e){var t;e!=n.sb?(t=null,n.sb&&(t=u(n.sb,54).Th(n,1,I9,t)),e&&(t=u(e,54).Rh(n,1,I9,t)),t=jY(n,e,t),t&&t.oj()):n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,4,e,e))}function hje(n,e){var t,i,r,c;if(e)r=yl(e,"x"),t=new Gkn(n),_4(t.a,(Jn(r),r)),c=yl(e,"y"),i=new zkn(n),q4(i.a,(Jn(c),c));else throw M(new eh("All edge sections need an end point."))}function lje(n,e){var t,i,r,c;if(e)r=yl(e,"x"),t=new Hkn(n),H4(t.a,(Jn(r),r)),c=yl(e,"y"),i=new qkn(n),U4(i.a,(Jn(c),c));else throw M(new eh("All edge sections need a start point."))}function aje(n,e){var t,i,r,c,s,f,h;for(i=AFn(n),c=0,f=i.length;c>22-e,r=n.h<>22-e):e<44?(t=0,i=n.l<>44-e):(t=0,i=0,r=n.l<n)throw M(new Gn("k must be smaller than n"));return e==0||e==n?1:n==0?0:FZ(n)/(FZ(e)*FZ(n-e))}function lnn(n,e){var t,i,r,c;for(t=new AX(n);t.g==null&&!t.c?cJ(t):t.g==null||t.i!=0&&u(t.g[t.i-1],51).Ob();)if(c=u(CA(t),58),D(c,167))for(i=u(c,167),r=0;r>4],e[t*2+1]=SO[c&15];return ws(e,0,e.length)}function Sje(n){yM();var e,t,i;switch(i=n.c.length,i){case 0:return rQn;case 1:return e=u(B_n(new C(n)),44),ybe(e.ld(),e.md());default:return t=u(Ff(n,K(Pd,WA,44,n.c.length,0,1)),173),new hz(t)}}function Pje(n){var e,t,i,r,c,s;for(e=new Cg,t=new Cg,W1(e,n),W1(t,n);t.b!=t.c;)for(r=u(Sp(t),36),s=new C(r.a);s.a0&&hy(n,t,e),r):pCe(n,e,t)}function oa(){oa=F,fce=(He(),N3),hce=qd,cce=Hd,uce=_2,oce=Ta,rce=K2,Jln=Wj,sce=Ww,kq=(Men(),Xre),yq=Vre,Yln=Yre,jq=ece,Zln=Zre,n1n=nce,Qln=Wre,_I=Jre,HI=Qre,Fj=tce,e1n=ice,Wln=zre}function c_n(n,e){var t,i,r,c,s;if(n.e<=e||Z2e(n,n.g,e))return n.g;for(c=n.r,i=n.g,s=n.r,r=(c-i)/2+i;i+11&&(n.e.b+=n.a)):(n.e.a+=t.a,n.e.b=y.Math.max(n.e.b,t.b),n.d.c.length>1&&(n.e.a+=n.a))}function Nje(n){var e,t,i,r;switch(r=n.i,e=r.b,i=r.j,t=r.g,r.a.g){case 0:t.a=(n.g.b.o.a-i.a)/2;break;case 1:t.a=e.d.n.a+e.d.a.a;break;case 2:t.a=e.d.n.a+e.d.a.a-i.a;break;case 3:t.b=e.d.n.b+e.d.a.b}}function $je(n,e,t){var i,r,c;for(r=new ie(ce(Cl(t).a.Kc(),new En));pe(r);)i=u(fe(r),18),!fr(i)&&!(!fr(i)&&i.c.i.c==i.d.i.c)&&(c=WHn(n,i,t,new Zyn),c.c.length>1&&Kn(e.c,c))}function o_n(n,e,t,i,r){if(ii&&(n.a=i),n.br&&(n.b=r),n}function xje(n){if(D(n,143))return dTe(u(n,143));if(D(n,233))return i8e(u(n,233));if(D(n,23))return bje(u(n,23));throw M(new Gn(Ncn+ca(new Ku(A(T(ki,1),Bn,1,5,[n])))))}function Fje(n,e,t,i,r){var c,s,f;for(c=!0,s=0;s>>r|t[s+i+1]<>>r,++s}return c}function wnn(n,e,t,i){var r,c,s;if(e.k==(Vn(),Mi)){for(c=new ie(ce(ji(e).a.Kc(),new En));pe(c);)if(r=u(fe(c),18),s=r.c.i.k,s==Mi&&n.c.a[r.c.i.c.p]==i&&n.c.a[e.c.p]==t)return!0}return!1}function Bje(n,e){var t,i,r,c;return e&=63,t=n.h&Il,e<22?(c=t>>>e,r=n.m>>e|t<<22-e,i=n.l>>e|n.m<<22-e):e<44?(c=0,r=t>>>e-22,i=n.m>>e-22|n.h<<44-e):(c=0,r=0,i=t>>>e-44),Yc(i&ro,r&ro,c&Il)}function s_n(n,e,t,i){var r;this.b=i,this.e=n==(O0(),Z8),r=e[t],this.d=Wa(so,[J,Xh],[183,28],16,[r.length,r.length],2),this.a=Wa(ye,[J,_e],[53,28],15,[r.length,r.length],2),this.c=new JZ(e,t)}function Rje(n){var e,t,i;for(n.k=new sJ((en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,n.j.c.length),i=new C(n.j);i.a=t)return Em(n,e,i.p),!0;return!1}function Ug(n,e,t,i){var r,c,s,f,h,l;for(s=t.length,c=0,r=-1,l=e$n((zn(e,n.length+1),n.substr(e)),(xL(),Oun)),f=0;fc&&awe(l,e$n(t[f],Oun))&&(r=f,c=h);return r>=0&&(i[0]=e+c),r}function h_n(n){var e;return n.Db&64?iF(n):(e=new mo(Ecn),!n.a||Re(Re((e.a+=' "',e),n.a),'"'),Re(t0(Re(t0(Re(t0(Re(t0((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function l_n(n,e,t){var i,r,c,s,f;for(f=ru(n.e.Dh(),e),r=u(n.g,124),i=0,s=0;st?Mnn(n,t,"start index"):e<0||e>t?Mnn(e,t,"end index"):R5("end index (%s) must not be less than start index (%s)",A(T(ki,1),Bn,1,5,[Y(e),Y(n)]))}function d_n(n,e){var t,i,r,c;for(i=0,r=n.length;i0&&b_n(n,c,t));e.p=0}function ln(n){var e;this.c=new Ct,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=(e=u(of(Zh),9),new _o(e,u(xs(e,e.length),9),0)),this.g=n.f}function Gje(n){var e,t,i,r;for(e=z1(Re(new mo("Predicates."),"and"),40),t=!0,r=new zv(n);r.b0?f[s-1]:K(Qh,b1,10,0,0,1),r=f[s],l=s=0?n.ki(r):Pnn(n,i);else throw M(new Gn(ba+i.xe()+b8));else throw M(new Gn(aWn+e+dWn));else Wo(n,t,i)}function gnn(n){var e,t;if(t=null,e=!1,D(n,211)&&(e=!0,t=u(n,211).a),e||D(n,263)&&(e=!0,t=""+u(n,263).a),e||D(n,493)&&(e=!0,t=""+u(n,493).a),!e)throw M(new vD(Lcn));return t}function pnn(n,e,t){var i,r,c,s,f,h;for(h=ru(n.e.Dh(),e),i=0,f=n.i,r=u(n.g,124),s=0;s=n.d.b.c.length&&(e=new Lc(n.d),e.p=i.p-1,nn(n.d.b,e),t=new Lc(n.d),t.p=i.p,nn(n.d.b,t)),$i(i,u(sn(n.d.b,i.p),30))}function knn(n,e,t){var i,r,c;if(!n.b[e.g]){for(n.b[e.g]=!0,i=t,!i&&(i=new tk),Fe(i.b,e),c=n.a[e.g].Kc();c.Ob();)r=u(c.Pb(),65),r.b!=e&&knn(n,r.b,i),r.c!=e&&knn(n,r.c,i),Fe(i.a,r);return i}return null}function Wje(n){switch(n.g){case 0:case 1:case 2:return en(),Xn;case 3:case 4:case 5:return en(),ae;case 6:case 7:case 8:return en(),Wn;case 9:case 10:case 11:return en(),Zn;default:return en(),sc}}function Jje(n,e){var t;return n.c.length==0?!1:(t=DBn((Ln(0,n.c.length),u(n.c[0],18)).c.i),ko(),t==(cw(),P2)||t==S2?!0:Og(_r(new Tn(null,new In(n,16)),new r3n),new Y7n(e)))}function oF(n,e){if(D(e,207))return Ule(n,u(e,27));if(D(e,193))return Gle(n,u(e,123));if(D(e,452))return qle(n,u(e,166));throw M(new Gn(Ncn+ca(new Ku(A(T(ki,1),Bn,1,5,[e])))))}function k_n(n,e,t){var i,r;if(this.f=n,i=u(ee(n.b,e),260),r=i?i.a:0,BJ(t,r),t>=(r/2|0))for(this.e=i?i.c:null,this.d=r;t++0;)sQ(this);this.b=e,this.a=null}function Qje(n,e){var t,i;e.a?OTe(n,e):(t=u(ID(n.b,e.b),60),t&&t==n.a[e.b.f]&&t.a&&t.a!=e.b.a&&t.c.Fc(e.b),i=u(PD(n.b,e.b),60),i&&n.a[i.f]==e.b&&i.a&&i.a!=e.b.a&&e.b.c.Fc(i),EL(n.b,e.b))}function y_n(n,e){var t,i;if(t=u(Cr(n.b,e),127),u(u(ot(n.r,e),21),87).dc()){t.n.b=0,t.n.c=0;return}t.n.b=n.C.b,t.n.c=n.C.c,n.A.Hc((go(),Gd))&&Xqn(n,e),i=M9e(n,e),kF(n,e)==(Bg(),Sa)&&(i+=2*n.w),t.a.a=i}function j_n(n,e){var t,i;if(t=u(Cr(n.b,e),127),u(u(ot(n.r,e),21),87).dc()){t.n.d=0,t.n.a=0;return}t.n.d=n.C.d,t.n.a=n.C.a,n.A.Hc((go(),Gd))&&Vqn(n,e),i=C9e(n,e),kF(n,e)==(Bg(),Sa)&&(i+=2*n.w),t.a.b=i}function Yje(n,e){var t,i,r,c;for(c=new Z,i=new C(e);i.ai&&(zn(e-1,n.length),n.charCodeAt(e-1)<=32);)--e;return i>0||et.a&&(i.Hc((wd(),w9))?r=(e.a-t.a)/2:i.Hc(g9)&&(r=e.a-t.a)),e.b>t.b&&(i.Hc((wd(),m9))?c=(e.b-t.b)/2:i.Hc(p9)&&(c=e.b-t.b)),cnn(n,r,c)}function P_n(n,e,t,i,r,c,s,f,h,l,a,d,g){D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),4),zc(n,t),n.f=s,hm(n,f),am(n,h),fm(n,l),lm(n,a),u1(n,d),dm(n,g),c1(n,!0),e1(n,r),n.Zk(c),ad(n,e),i!=null&&(n.i=null,kT(n,i))}function Mnn(n,e,t){if(n<0)return R5(Tzn,A(T(ki,1),Bn,1,5,[t,Y(n)]));if(e<0)throw M(new Gn(Azn+e));return R5("%s (%s) must not be greater than size (%s)",A(T(ki,1),Bn,1,5,[t,Y(n),Y(e)]))}function Tnn(n,e,t,i,r,c){var s,f,h,l;if(s=i-t,s<7){z5e(e,t,i,c);return}if(h=t+r,f=i+r,l=h+(f-h>>1),Tnn(e,n,h,l,-r,c),Tnn(e,n,l,f,-r,c),c.Ne(n[l-1],n[l])<=0){for(;t=0?n.bi(c,t):ten(n,r,t);else throw M(new Gn(ba+r.xe()+b8));else throw M(new Gn(aWn+e+dWn));else Jo(n,i,r,t)}function I_n(n){var e,t;if(n.f){for(;n.n>0;){if(e=u(n.k.Xb(n.n-1),76),t=e.Lk(),D(t,102)&&u(t,19).Bb&kc&&(!n.e||t.pk()!=Hv||t.Lj()!=0)&&e.md()!=null)return!0;--n.n}return!1}else return n.n>0}function O_n(n){var e,t,i,r;if(t=u(n,54)._h(),t)try{if(i=null,e=Mm((R1(),Ps),gUn(r8e(t))),e&&(r=e.ai(),r&&(i=r.Fl(che(t.e)))),i&&i!=n)return O_n(i)}catch(c){if(c=It(c),!D(c,63))throw M(c)}return n}function bEe(n,e,t){var i,r,c;t.Ug("Remove overlaps",1),t.dh(e,xrn),i=u(z(e,(Tg(),D2)),27),n.f=i,n.a=Ax(u(z(e,(oa(),Fj)),300)),r=R(z(e,(He(),qd))),mG(n,(Jn(r),r)),c=aw(i),BGn(n,e,c,t),t.dh(e,DS)}function wEe(n){var e,t,i;if(on(un(z(n,(He(),Xj))))){for(i=new Z,t=new ie(ce(Al(n).a.Kc(),new En));pe(t);)e=u(fe(t),74),_0(e)&&on(un(z(e,eU)))&&Kn(i.c,e);return i}else return Dn(),Dn(),sr}function D_n(n){if(!n)return Djn(),dQn;var e=n.valueOf?n.valueOf():n;if(e!==n){var t=WK[typeof e];return t?t(e):wY(typeof e)}else return n instanceof Array||n instanceof y.Array?new aG(n):new U9(n)}function L_n(n,e,t){var i,r,c;switch(c=n.o,i=u(Cr(n.p,t),252),r=i.i,r.b=ty(i),r.a=ey(i),r.b=y.Math.max(r.b,c.a),r.b>c.a&&!e&&(r.b=c.a),r.c=-(r.b-c.a)/2,t.g){case 1:r.d=-r.a;break;case 3:r.d=c.b}LF(i),NF(i)}function N_n(n,e,t){var i,r,c;switch(c=n.o,i=u(Cr(n.p,t),252),r=i.i,r.b=ty(i),r.a=ey(i),r.a=y.Math.max(r.a,c.b),r.a>c.b&&!e&&(r.a=c.b),r.d=-(r.a-c.b)/2,t.g){case 4:r.c=-r.b;break;case 2:r.c=c.a}LF(i),NF(i)}function gEe(n,e){var t,i,r,c,s;if(!e.dc()){if(r=u(e.Xb(0),131),e.gc()==1){lqn(n,r,r,1,0,e);return}for(t=1;t0)try{r=Ao(e,Wi,et)}catch(c){throw c=It(c),D(c,130)?(i=c,M(new eT(i))):M(c)}return t=(!n.a&&(n.a=new iD(n)),n.a),r=0?u(L(t,r),58):null}function kEe(n,e){if(n<0)return R5(Tzn,A(T(ki,1),Bn,1,5,["index",Y(n)]));if(e<0)throw M(new Gn(Azn+e));return R5("%s (%s) must be less than size (%s)",A(T(ki,1),Bn,1,5,["index",Y(n),Y(e)]))}function yEe(n){var e,t,i,r,c;if(n==null)return gu;for(c=new fd(ur,"[","]"),t=n,i=0,r=t.length;i=0?n.Lh(t,!0,!0):H0(n,r,!0),160)),u(i,220).Zl(e);else throw M(new Gn(ba+e.xe()+b8))}function Inn(n){var e,t;return n>-0x800000000000&&n<0x800000000000?n==0?0:(e=n<0,e&&(n=-n),t=wi(y.Math.floor(y.Math.log(n)/.6931471805599453)),(!e||n!=y.Math.pow(2,t))&&++t,t):Qxn(vc(n))}function xEe(n){var e,t,i,r,c,s,f;for(c=new rh,t=new C(n);t.a2&&f.e.b+f.j.b<=2&&(r=f,i=s),c.a.zc(r,c),r.q=i);return c}function FEe(n,e,t){t.Ug("Eades radial",1),t.dh(e,DS),n.d=u(z(e,(Tg(),D2)),27),n.c=$(R(z(e,(oa(),HI)))),n.e=Ax(u(z(e,Fj),300)),n.a=a8e(u(z(e,e1n),434)),n.b=Dke(u(z(e,Qln),354)),bke(n),t.dh(e,DS)}function BEe(n,e){if(e.Ug("Target Width Setter",1),Lf(n,(Rf(),Nq)))ht(n,(_h(),Xw),R(z(n,Nq)));else throw M(new _l("A target width has to be set if the TargetWidthWidthApproximator should be used."));e.Vg()}function R_n(n,e){var t,i,r;return i=new Tl(n),Ur(i,e),U(i,(W(),cI),e),U(i,(cn(),Kt),(Oi(),qc)),U(i,Th,(Rh(),nO)),Ha(i,(Vn(),Zt)),t=new Pc,ic(t,i),gi(t,(en(),Wn)),r=new Pc,ic(r,i),gi(r,Zn),i}function K_n(n){switch(n.g){case 0:return new gD((O0(),Oj));case 1:return new i8n;case 2:return new r8n;default:throw M(new Gn("No implementation is available for the crossing minimizer "+(n.f!=null?n.f:""+n.g)))}}function __n(n,e){var t,i,r,c,s;for(n.c[e.p]=!0,nn(n.a,e),s=new C(e.j);s.a=c)s.$b();else for(r=s.Kc(),i=0;i0?wz():s<0&&G_n(n,e,-s),!0):!1}function ey(n){var e,t,i,r,c,s,f;if(f=0,n.b==0){for(s=ARn(n,!0),e=0,i=s,r=0,c=i.length;r0&&(f+=t,++e);e>1&&(f+=n.c*(e-1))}else f=Ujn(I$(Ub(ut(CW(n.a),new fbn),new hbn)));return f>0?f+n.n.d+n.n.a:0}function ty(n){var e,t,i,r,c,s,f;if(f=0,n.b==0)f=Ujn(I$(Ub(ut(CW(n.a),new obn),new sbn)));else{for(s=SRn(n,!0),e=0,i=s,r=0,c=i.length;r0&&(f+=t,++e);e>1&&(f+=n.c*(e-1))}return f>0?f+n.n.b+n.n.c:0}function GEe(n){var e,t;if(n.c.length!=2)throw M(new Or("Order only allowed for two paths."));e=(Ln(0,n.c.length),u(n.c[0],18)),t=(Ln(1,n.c.length),u(n.c[1],18)),e.d.i!=t.c.i&&(n.c.length=0,Kn(n.c,t),Kn(n.c,e))}function z_n(n,e,t){var i;for(kg(t,e.g,e.f),Ro(t,e.i,e.j),i=0;i<(!e.a&&(e.a=new q(Ye,e,10,11)),e.a).i;i++)z_n(n,u(L((!e.a&&(e.a=new q(Ye,e,10,11)),e.a),i),27),u(L((!t.a&&(t.a=new q(Ye,t,10,11)),t.a),i),27))}function zEe(n,e){var t,i,r,c;for(c=u(Cr(n.b,e),127),t=c.a,r=u(u(ot(n.r,e),21),87).Kc();r.Ob();)i=u(r.Pb(),117),i.c&&(t.a=y.Math.max(t.a,eW(i.c)));if(t.a>0)switch(e.g){case 2:c.n.c=n.s;break;case 4:c.n.b=n.s}}function XEe(n,e){var t,i,r;return t=u(v(e,(Us(),k3)),17).a-u(v(n,k3),17).a,t==0?(i=mi(Ki(u(v(n,(Q1(),lj)),8)),u(v(n,D8),8)),r=mi(Ki(u(v(e,lj),8)),u(v(e,D8),8)),bt(i.a*i.b,r.a*r.b)):t}function VEe(n,e){var t,i,r;return t=u(v(e,(lc(),FI)),17).a-u(v(n,FI),17).a,t==0?(i=mi(Ki(u(v(n,(pt(),Nj)),8)),u(v(n,Dv),8)),r=mi(Ki(u(v(e,Nj),8)),u(v(e,Dv),8)),bt(i.a*i.b,r.a*r.b)):t}function X_n(n){var e,t;return t=new x1,t.a+="e_",e=_ve(n),e!=null&&(t.a+=""+e),n.c&&n.d&&(Re((t.a+=" ",t),lA(n.c)),Re(Dc((t.a+="[",t),n.c.i),"]"),Re((t.a+=iR,t),lA(n.d)),Re(Dc((t.a+="[",t),n.d.i),"]")),t.a}function V_n(n){switch(n.g){case 0:return new d8n;case 1:return new b8n;case 2:return new l8n;case 3:return new h8n;default:throw M(new Gn("No implementation is available for the layout phase "+(n.f!=null?n.f:""+n.g)))}}function Lnn(n,e,t,i,r){var c;switch(c=0,r.g){case 1:c=y.Math.max(0,e.b+n.b-(t.b+i));break;case 3:c=y.Math.max(0,-n.b-i);break;case 2:c=y.Math.max(0,-n.a-i);break;case 4:c=y.Math.max(0,e.a+n.a-(t.a+i))}return c}function WEe(n,e,t){var i,r,c,s,f;if(t)for(r=t.a.length,i=new Qa(r),f=(i.b-i.a)*i.c<0?(K1(),xa):new q1(i);f.Ob();)s=u(f.Pb(),17),c=L4(t,s.a),Acn in c.a||pK in c.a?fSe(n,c,e):SLe(n,c,e),A1e(u(ee(n.b,wm(c)),74))}function Nnn(n){var e,t;switch(n.b){case-1:return!0;case 0:return t=n.t,t>1||t==-1?(n.b=-1,!0):(e=gs(n),e&&(dr(),e.lk()==bJn)?(n.b=-1,!0):(n.b=1,!1));default:case 1:return!1}}function $nn(n,e){var t,i,r,c;if(Ze(n),n.c!=0||n.a!=123)throw M(new Le($e((Ie(),xWn))));if(c=e==112,i=n.d,t=w4(n.i,125,i),t<0)throw M(new Le($e((Ie(),FWn))));return r=qo(n.i,i,t),n.d=t+1,mNn(r,c,(n.e&512)==512)}function W_n(n){var e,t,i,r,c,s,f;if(i=n.a.c.length,i>0)for(s=n.c.d,f=n.d.d,r=ch(mi(new V(f.a,f.b),s),1/(i+1)),c=new V(s.a,s.b),t=new C(n.a);t.a=0&&i=0?n.Lh(t,!0,!0):H0(n,r,!0),160)),u(i,220).Wl(e);throw M(new Gn(ba+e.xe()+sK))}function ZEe(){Fz();var n;return Yoe?u(Mm((R1(),Ps),ks),2038):(Ge(Pd,new k6n),VOe(),n=u(D(Nc((R1(),Ps),ks),560)?Nc(Ps,ks):new aIn,560),Yoe=!0,WLe(n),tNe(n),Ve((xz(),qdn),n,new xvn),Dr(Ps,ks,n),n)}function nCe(n,e){var t,i,r,c;n.j=-1,fo(n.e)?(t=n.i,c=n.i!=0,ek(n,e),i=new ml(n.e,3,n.c,null,e,t,c),r=e.zl(n.e,n.c,null),r=PKn(n,e,r),r?(r.nj(i),r.oj()):it(n.e,i)):(ek(n,e),r=e.zl(n.e,n.c,null),r&&r.oj())}function yA(n,e){var t,i,r;if(r=0,i=e[0],i>=n.length)return-1;for(t=(zn(i,n.length),n.charCodeAt(i));t>=48&&t<=57&&(r=r*10+(t-48),++i,!(i>=n.length));)t=(zn(i,n.length),n.charCodeAt(i));return i>e[0]?e[0]=i:r=-1,r}function eCe(n){var e,t,i,r,c;return r=u(n.a,17).a,c=u(n.b,17).a,t=r,i=c,e=y.Math.max(y.Math.abs(r),y.Math.abs(c)),r<=0&&r==c?(t=0,i=c-1):r==-e&&c!=e?(t=c,i=r,c>=0&&++t):(t=-c,i=r),new bi(Y(t),Y(i))}function tCe(n,e,t,i){var r,c,s,f,h,l;for(r=0;r=0&&l>=0&&h=n.i)throw M(new Ir(vK+e+Td+n.i));if(t>=n.i)throw M(new Ir(kK+t+Td+n.i));return i=n.g[t],e!=t&&(e>16),e=i>>16&16,t=16-e,n=n>>e,i=n-256,e=i>>16&8,t+=e,n<<=e,i=n-vw,e=i>>16&4,t+=e,n<<=e,i=n-wh,e=i>>16&2,t+=e,n<<=e,i=n>>14,e=i&~(i>>1),t+2-e)}function rCe(n){Lp();var e,t,i,r;for(mP=new Z,m_=new de,p_=new Z,e=(!n.a&&(n.a=new q(Ye,n,10,11)),n.a),VDe(e),r=new ne(e);r.e!=r.i.gc();)i=u(ue(r),27),qr(mP,i,0)==-1&&(t=new Z,nn(p_,t),ZBn(i,t));return p_}function cCe(n,e,t){var i,r,c,s;n.a=t.b.d,D(e,326)?(r=Xg(u(e,74),!1,!1),c=Qk(r),i=new F9n(n),qi(c,i),dy(c,r),e.of((He(),kb))!=null&&qi(u(e.of(kb),75),i)):(s=u(e,422),s.rh(s.nh()+n.a.a),s.sh(s.oh()+n.a.b))}function uCe(n,e){var t,i,r;for(r=new Z,i=ge(e.a,0);i.b!=i.d.c;)t=u(be(i),65),t.c.g==n.g&&x(v(t.b,(lc(),Sh)))!==x(v(t.c,Sh))&&!Og(new Tn(null,new In(r,16)),new hkn(t))&&Kn(r.c,t);return Yt(r,new U3n),r}function Q_n(n,e,t){var i,r,c,s;return D(e,153)&&D(t,153)?(c=u(e,153),s=u(t,153),n.a[c.a][s.a]+n.a[s.a][c.a]):D(e,250)&&D(t,250)&&(i=u(e,250),r=u(t,250),i.a==r.a)?u(v(r.a,(Us(),k3)),17).a:0}function Y_n(n,e){var t,i,r,c,s,f,h,l;for(l=$(R(v(e,(cn(),X8)))),h=n[0].n.a+n[0].o.a+n[0].d.c+l,f=1;f=0?t:(f=z6(mi(new V(s.c+s.b/2,s.d+s.a/2),new V(c.c+c.b/2,c.d+c.a/2))),-(CUn(c,s)-1)*f)}function sCe(n,e,t){var i;qt(new Tn(null,(!t.a&&(t.a=new q(Mt,t,6,6)),new In(t.a,16))),new dMn(n,e)),qt(new Tn(null,(!t.n&&(t.n=new q(Ar,t,1,7)),new In(t.n,16))),new bMn(n,e)),i=u(z(t,(He(),kb)),75),i&&BQ(i,n,e)}function H0(n,e,t){var i,r,c;if(c=Qg((Du(),zi),n.Dh(),e),c)return dr(),u(c,69).xk()||(c=$p(Lr(zi,c))),r=(i=n.Ih(c),u(i>=0?n.Lh(i,!0,!0):H0(n,c,!0),160)),u(r,220).Sl(e,t);throw M(new Gn(ba+e.xe()+sK))}function xnn(n,e,t,i){var r,c,s,f,h;if(r=n.d[e],r){if(c=r.g,h=r.i,i!=null){for(f=0;f=t&&(i=e,l=(h.c+h.a)/2,s=l-t,h.c<=l-t&&(r=new KL(h.c,s),b0(n,i++,r)),f=l+t,f<=h.a&&(c=new KL(f,h.a),zb(i,n.c.length),d6(n.c,i,c)))}function eHn(n,e,t){var i,r,c,s,f,h;if(!e.dc()){for(r=new Ct,h=e.Kc();h.Ob();)for(f=u(h.Pb(),40),Ve(n.a,Y(f.g),Y(t)),s=(i=ge(new sl(f).a.d,0),new sg(i));Q9(s.a);)c=u(be(s.a),65).c,xt(r,c,r.c.b,r.c);eHn(n,r,t+1)}}function Fnn(n){var e;if(!n.c&&n.g==null)n.d=n.bj(n.f),ve(n,n.d),e=n.d;else{if(n.g==null)return!0;if(n.i==0)return!1;e=u(n.g[n.i-1],51)}return e==n.b&&null.Vm>=null.Um()?(CA(n),Fnn(n)):e.Ob()}function tHn(n){if(this.a=n,n.c.i.k==(Vn(),Zt))this.c=n.c,this.d=u(v(n.c.i,(W(),gc)),64);else if(n.d.i.k==Zt)this.c=n.d,this.d=u(v(n.d.i,(W(),gc)),64);else throw M(new Gn("Edge "+n+" is not an external edge."))}function iHn(n,e){var t,i,r;r=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,r,n.b)),e?e!=n&&(zc(n,e.zb),v$(n,e.d),t=(i=e.c,i??e.zb),y$(n,t==null||An(t,e.zb)?null:t)):(zc(n,null),v$(n,0),y$(n,null))}function rHn(n,e){var t;this.e=(m0(),Se(n),m0(),QY(n)),this.c=(Se(e),QY(e)),KX(this.e.Rd().dc()==this.c.Rd().dc()),this.d=vBn(this.e),this.b=vBn(this.c),t=Wa(ki,[J,Bn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=t,Fme(this)}function cHn(n){!XK&&(XK=uLe());var e=n.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(t){return h2e(t)});return'"'+e+'"'}function Bnn(n,e,t,i,r,c){var s,f,h,l,a;if(r!=0)for(x(n)===x(t)&&(n=n.slice(e,e+r),e=0),h=t,f=e,l=e+r;f=s)throw M(new Kb(e,s));return r=t[e],s==1?i=null:(i=K(jU,MK,424,s-1,0,1),Ic(t,0,i,0,e),c=s-e-1,c>0&&Ic(t,e+1,i,e,c)),gm(n,i),S_n(n,e,r),r}function oHn(n){var e,t;if(n.f){for(;n.n0?c=zp(t):c=xk(zp(t))),ht(e,Mv,c)}function wCe(n,e){var t;e.Ug("Partition preprocessing",1),t=u(Wr(ut(rc(ut(new Tn(null,new In(n.a,16)),new zgn),new Xgn),new Vgn),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),qt(t.Oc(),new Wgn),e.Vg()}function gCe(n,e){var t,i,r,c,s;for(s=n.j,e.a!=e.b&&Yt(s,new Mpn),r=s.c.length/2|0,i=0;i0&&hy(n,t,e),c):i.a!=null?(hy(n,e,t),-1):r.a!=null?(hy(n,t,e),1):0}function mCe(n,e){var t,i,r,c,s;for(r=e.b.b,n.a=K(rs,kw,15,r,0,1),n.b=K(so,Xh,28,r,16,1),s=ge(e.b,0);s.b!=s.d.c;)c=u(be(s),40),n.a[c.g]=new Ct;for(i=ge(e.a,0);i.b!=i.d.c;)t=u(be(i),65),n.a[t.b.g].Fc(t),n.a[t.c.g].Fc(t)}function lHn(n,e){var t,i,r,c;n.Pj()?(t=n.Ej(),c=n.Qj(),++n.j,n.qj(t,n.Zi(t,e)),i=n.Ij(3,null,e,t,c),n.Mj()?(r=n.Nj(e,null),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(eIn(n,e),n.Mj()&&(r=n.Nj(e,null),r&&r.oj()))}function Rnn(n,e,t){var i,r,c;n.Pj()?(c=n.Qj(),Dk(n,e,t),i=n.Ij(3,null,t,e,c),n.Mj()?(r=n.Nj(t,null),n.Tj()&&(r=n.Uj(t,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(Dk(n,e,t),n.Mj()&&(r=n.Nj(t,null),r&&r.oj()))}function jA(n,e){var t,i,r,c,s;for(s=ru(n.e.Dh(),e),r=new EE,t=u(n.g,124),c=n.i;--c>=0;)i=t[c],s.am(i.Lk())&&ve(r,i);!uzn(n,r)&&fo(n.e)&&t4(n,e.Jk()?V1(n,6,e,(Dn(),sr),null,-1,!1):V1(n,e.tk()?2:1,e,null,null,-1,!1))}function vCe(n,e){var t,i,r,c,s;return n.a==(jm(),x8)?!0:(c=e.a.c,t=e.a.c+e.a.b,!(e.j&&(i=e.A,s=i.c.c.a-i.o.a/2,r=c-(i.n.a+i.o.a),r>s)||e.q&&(i=e.C,s=i.c.c.a-i.o.a/2,r=i.n.a-t,r>s)))}function aHn(n){NN();var e,t,i,r,c,s,f;for(t=new Ql,r=new C(n.e.b);r.a1?n.e*=$(n.a):n.f/=$(n.a),_6e(n),X8e(n),UAe(n),U(n.b,(C5(),pP),n.g)}function gHn(n,e,t){var i,r,c,s,f,h;for(i=0,h=t,e||(i=t*(n.c.length-1),h*=-1),c=new C(n);c.a=0?n.Ah(null):n.Ph().Th(n,-1-e,null,null)),n.Bh(u(r,54),t),i&&i.oj(),n.vh()&&n.wh()&&t>-1&&it(n,new Ci(n,9,t,c,r)),r):c}function Hnn(n,e){var t,i,r,c,s;for(c=n.b.Ce(e),i=(t=n.a.get(c),t??K(ki,Bn,1,0,5,1)),s=0;s>5,r>=n.d)return n.e<0;if(t=n.a[r],e=1<<(e&31),n.e<0){if(i=Ixn(n),r>16)),15).dd(c),f0&&(!(hl(n.a.c)&&e.n.d)&&!(vg(n.a.c)&&e.n.b)&&(e.g.d+=y.Math.max(0,i/2-.5)),!(hl(n.a.c)&&e.n.a)&&!(vg(n.a.c)&&e.n.c)&&(e.g.a-=i-1))}function MHn(n){var e,t,i,r,c;if(r=new Z,c=kUn(n,r),e=u(v(n,(W(),Xu)),10),e)for(i=new C(e.j);i.a>e,c=n.m>>e|t<<22-e,r=n.l>>e|n.m<<22-e):e<44?(s=i?Il:0,c=t>>e-22,r=n.m>>e-22|t<<44-e):(s=i?Il:0,c=i?ro:0,r=t>>e-44),Yc(r&ro,c&ro,s&Il)}function bF(n){var e,t,i,r,c,s;for(this.c=new Z,this.d=n,i=St,r=St,e=li,t=li,s=ge(n,0);s.b!=s.d.c;)c=u(be(s),8),i=y.Math.min(i,c.a),r=y.Math.min(r,c.b),e=y.Math.max(e,c.a),t=y.Math.max(t,c.b);this.a=new Ho(i,r,e-i,t-r)}function AHn(n,e){var t,i,r,c,s,f;for(c=new C(n.b);c.a0&&D(e,44)&&(n.a._j(),l=u(e,44),h=l.ld(),c=h==null?0:mt(h),s=dV(n.a,c),t=n.a.d[s],t)){for(i=u(t.g,379),a=t.i,f=0;f=2)for(t=r.Kc(),e=R(t.Pb());t.Ob();)c=e,e=R(t.Pb()),i=y.Math.min(i,(Jn(e),e-(Jn(c),c)));return i}function _Ce(n,e){var t,i,r;for(r=new Z,i=ge(e.a,0);i.b!=i.d.c;)t=u(be(i),65),t.b.g==n.g&&!An(t.b.c,IS)&&x(v(t.b,(lc(),Sh)))!==x(v(t.c,Sh))&&!Og(new Tn(null,new In(r,16)),new lkn(t))&&Kn(r.c,t);return Yt(r,new V3n),r}function HCe(n,e){var t,i,r;if(x(e)===x(Se(n)))return!0;if(!D(e,15)||(i=u(e,15),r=n.gc(),r!=i.gc()))return!1;if(D(i,59)){for(t=0;t0&&(r=t),s=new C(n.f.e);s.a0?(e-=1,t-=1):i>=0&&r<0?(e+=1,t+=1):i>0&&r>=0?(e-=1,t+=1):(e+=1,t-=1),new bi(Y(e),Y(t))}function tMe(n,e){return n.ce.c?1:n.be.b?1:n.a!=e.a?mt(n.a)-mt(e.a):n.d==(Z6(),e9)&&e.d==n9?-1:n.d==n9&&e.d==e9?1:0}function NHn(n,e){var t,i,r,c,s;return c=e.a,c.c.i==e.b?s=c.d:s=c.c,c.c.i==e.b?i=c.c:i=c.d,r=C8e(n.a,s,i),r>0&&r0):r<0&&-r0):!1}function iMe(n,e,t,i){var r,c,s,f,h,l,a,d;for(r=(e-n.d)/n.c.c.length,c=0,n.a+=t,n.d=e,d=new C(n.c);d.a>24;return s}function cMe(n){if(n.ze()){var e=n.c;e.Ae()?n.o="["+e.n:e.ze()?n.o="["+e.xe():n.o="[L"+e.xe()+";",n.b=e.we()+"[]",n.k=e.ye()+"[]";return}var t=n.j,i=n.d;i=i.split("/"),n.o=mx(".",[t,mx("$",i)]),n.b=mx(".",[t,mx(".",i)]),n.k=i[i.length-1]}function uMe(n,e){var t,i,r,c,s;for(s=null,c=new C(n.e.a);c.a=0;e-=2)for(t=0;t<=e;t+=2)(n.b[t]>n.b[t+2]||n.b[t]===n.b[t+2]&&n.b[t+1]>n.b[t+3])&&(i=n.b[t+2],n.b[t+2]=n.b[t],n.b[t]=i,i=n.b[t+3],n.b[t+3]=n.b[t+1],n.b[t+1]=i);n.c=!0}}function fMe(n,e){var t,i,r,c,s,f,h,l,a;for(l=-1,a=0,s=n,f=0,h=s.length;f0&&++a;++l}return a}function Hs(n){var e,t;return t=new mo(Xa(n.Rm)),t.a+="@",Re(t,(e=mt(n)>>>0,e.toString(16))),n.Vh()?(t.a+=" (eProxyURI: ",Dc(t,n._h()),n.Kh()&&(t.a+=" eClass: ",Dc(t,n.Kh())),t.a+=")"):n.Kh()&&(t.a+=" (eClass: ",Dc(t,n.Kh()),t.a+=")"),t.a}function $5(n){var e,t,i,r;if(n.e)throw M(new Or((ll(u_),FB+u_.k+BB)));for(n.d==(ci(),Jf)&&UA(n,Br),t=new C(n.a.a);t.a>24}return t}function aMe(n,e,t){var i,r,c;if(r=u(Cr(n.i,e),314),!r)if(r=new k$n(n.d,e,t),Pp(n.i,e,r),tZ(e))g1e(n.a,e.c,e.b,r);else switch(c=Wje(e),i=u(Cr(n.p,c),252),c.g){case 1:case 3:r.j=!0,mD(i,e.b,r);break;case 4:case 2:r.k=!0,mD(i,e.c,r)}return r}function dMe(n,e){var t,i,r,c,s,f,h,l,a;for(h=Dh(n.c-n.b&n.a.length-1),l=null,a=null,c=new V6(n);c.a!=c.b;)r=u(xT(c),10),t=(f=u(v(r,(W(),yf)),12),f?f.i:null),i=(s=u(v(r,Es),12),s?s.i:null),(l!=t||a!=i)&&(pHn(h,e),l=t,a=i),Kn(h.c,r);pHn(h,e)}function bMe(n,e,t,i){var r,c,s,f,h,l;if(f=new EE,h=ru(n.e.Dh(),e),r=u(n.g,124),dr(),u(e,69).xk())for(s=0;s=0)return r;for(c=1,f=new C(e.j);f.a=0)return r;for(c=1,f=new C(e.j);f.a0&&e.Ne((Ln(r-1,n.c.length),u(n.c[r-1],10)),c)>0;)Go(n,r,(Ln(r-1,n.c.length),u(n.c[r-1],10))),--r;Ln(r,n.c.length),n.c[r]=c}t.a=new de,t.b=new de}function wMe(n,e,t){var i,r,c,s,f,h,l,a;for(a=(i=u(e.e&&e.e(),9),new _o(i,u(xs(i,i.length),9),0)),h=ww(t,"[\\[\\]\\s,]+"),c=h,s=0,f=c.length;s=0?(e||(e=new i6,i>0&&Er(e,(Fi(0,i,n.length),n.substr(0,i)))),e.a+="\\",T4(e,t&ui)):e&&T4(e,t&ui);return e?e.a:n}function pMe(n){var e,t,i;for(t=new C(n.a.a.b);t.a0&&(!(hl(n.a.c)&&e.n.d)&&!(vg(n.a.c)&&e.n.b)&&(e.g.d-=y.Math.max(0,i/2-.5)),!(hl(n.a.c)&&e.n.a)&&!(vg(n.a.c)&&e.n.c)&&(e.g.a+=y.Math.max(0,i-1)))}function qHn(n,e,t){var i,r;if((n.c-n.b&n.a.length-1)==2)e==(en(),Xn)||e==Zn?(sT(u(l5(n),15),(To(),nl)),sT(u(l5(n),15),Aa)):(sT(u(l5(n),15),(To(),Aa)),sT(u(l5(n),15),nl));else for(r=new V6(n);r.a!=r.b;)i=u(xT(r),15),sT(i,t)}function mMe(n,e){var t,i,r,c,s,f,h;for(r=y4(new xG(n)),f=new xi(r,r.c.length),c=y4(new xG(e)),h=new xi(c,c.c.length),s=null;f.b>0&&h.b>0&&(t=(oe(f.b>0),u(f.a.Xb(f.c=--f.b),27)),i=(oe(h.b>0),u(h.a.Xb(h.c=--h.b),27)),t==i);)s=t;return s}function UHn(n,e,t){var i,r,c,s;GOn(n,e)>GOn(n,t)?(i=uc(t,(en(),Zn)),n.d=i.dc()?0:zL(u(i.Xb(0),12)),s=uc(e,Wn),n.b=s.dc()?0:zL(u(s.Xb(0),12))):(r=uc(t,(en(),Wn)),n.d=r.dc()?0:zL(u(r.Xb(0),12)),c=uc(e,Zn),n.b=c.dc()?0:zL(u(c.Xb(0),12)))}function GHn(n,e){var t,i,r,c;for(t=n.o.a,c=u(u(ot(n.r,e),21),87).Kc();c.Ob();)r=u(c.Pb(),117),r.e.a=t*$(R(r.b.of(bP))),r.e.b=(i=r.b,i.pf((He(),oo))?i.ag()==(en(),Xn)?-i.Mf().b-$(R(i.of(oo))):$(R(i.of(oo))):i.ag()==(en(),Xn)?-i.Mf().b:0)}function vMe(n,e){var t,i,r,c;for(e.Ug("Self-Loop pre-processing",1),i=new C(n.a);i.an.c));s++)r.a>=n.s&&(c<0&&(c=s),f=s);return h=(n.s+n.c)/2,c>=0&&(i=oSe(n,e,c,f),h=cle((Ln(i,e.c.length),u(e.c[i],339))),aCe(e,i,t)),h}function Me(n,e,t){var i,r,c,s,f,h,l;for(s=(c=new tG,c),IQ(s,(Jn(e),e)),l=(!s.b&&(s.b=new lo((On(),ar),pc,s)),s.b),h=1;h0&&iOe(this,r)}function Znn(n,e,t,i,r,c){var s,f,h;if(!r[e.a]){for(r[e.a]=!0,s=i,!s&&(s=new zM),nn(s.e,e),h=c[e.a].Kc();h.Ob();)f=u(h.Pb(),290),!(f.d==t||f.c==t)&&(f.c!=e&&Znn(n,f.c,e,s,r,c),f.d!=e&&Znn(n,f.d,e,s,r,c),nn(s.c,f),hi(s.d,f.b));return s}return null}function jMe(n){var e,t,i,r,c,s,f;for(e=0,r=new C(n.e);r.a=2}function EMe(n,e,t,i,r){var c,s,f,h,l,a;for(c=n.c.d.j,s=u(Zo(t,0),8),a=1;a1||(e=yt(Qs,A(T(yr,1),G,95,0,[xl,Ys])),kk(LM(e,n))>1)||(i=yt(nf,A(T(yr,1),G,95,0,[el,Ms])),kk(LM(i,n))>1))}function nen(n,e,t){var i,r,c;for(c=new C(n.t);c.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&Fe(e,i.b));for(r=new C(n.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&Fe(t,i.a))}function CA(n){var e,t,i,r,c;if(n.g==null&&(n.d=n.bj(n.f),ve(n,n.d),n.c))return c=n.f,c;if(e=u(n.g[n.i-1],51),r=e.Pb(),n.e=e,t=n.bj(r),t.Ob())n.d=t,ve(n,t);else for(n.d=null;!e.Ob()&&($t(n.g,--n.i,null),n.i!=0);)i=u(n.g[n.i-1],51),e=i;return r}function MMe(n,e){var t,i,r,c,s,f;if(i=e,r=i.Lk(),Sl(n.e,r)){if(r.Si()&&_M(n,r,i.md()))return!1}else for(f=ru(n.e.Dh(),r),t=u(n.g,124),c=0;c1||t>1)return 2;return e+t==1?2:0}function to(n,e){var t,i,r,c,s,f;return c=n.a*LB+n.b*1502,f=n.b*LB+11,t=y.Math.floor(f*Iy),c+=t,f-=t*Ctn,c%=Ctn,n.a=c,n.b=f,e<=24?y.Math.floor(n.a*Lun[e]):(r=n.a*(1<=2147483648&&(i-=4294967296),i)}function JHn(n,e,t){var i,r,c,s,f,h,l;for(c=new Z,l=new Ct,s=new Ct,XPe(n,l,s,e),MOe(n,l,s,e,t),h=new C(n);h.ai.b.g&&Kn(c.c,i);return c}function OMe(n,e,t){var i,r,c,s,f,h;for(f=n.c,s=(t.q?t.q:(Dn(),Dn(),Wh)).vc().Kc();s.Ob();)c=u(s.Pb(),44),i=!s4(ut(new Tn(null,new In(f,16)),new Z3(new uMn(e,c)))).Bd((Va(),v3)),i&&(h=c.md(),D(h,4)&&(r=cZ(h),r!=null&&(h=r)),e.qf(u(c.ld(),149),h))}function DMe(n,e,t){var i,r;if(H7(n.b),hf(n.b,($k(),XI),(s6(),Hj)),hf(n.b,VI,e.g),hf(n.b,WI,e.a),n.a=gy(n.b,e),t.Ug("Compaction by shrinking a tree",n.a.c.length),e.i.c.length>1)for(r=new C(n.a);r.a=0?n.Lh(i,!0,!0):H0(n,c,!0),160)),u(r,220).Xl(e,t)}else throw M(new Gn(ba+e.xe()+b8))}function MA(n,e){var t,i,r,c,s;if(e){for(c=D(n.Cb,90)||D(n.Cb,102),s=!c&&D(n.Cb,331),i=new ne((!e.a&&(e.a=new B6(e,jr,e)),e.a));i.e!=i.i.gc();)if(t=u(ue(i),89),r=BA(t),c?D(r,90):s?D(r,156):r)return r;return c?(On(),Is):(On(),Zf)}else return null}function LMe(n,e){var t,i,r,c;for(e.Ug("Resize child graph to fit parent.",1),i=new C(n.b);i.a=2*e&&nn(t,new KL(s[i-1]+e,s[i]-e));return t}function xMe(n,e,t){var i,r,c,s,f,h,l,a;if(t)for(c=t.a.length,i=new Qa(c),f=(i.b-i.a)*i.c<0?(K1(),xa):new q1(i);f.Ob();)s=u(f.Pb(),17),r=L4(t,s.a),r&&(h=a3e(n,(l=(B1(),a=new ez,a),e&&ien(l,e),l),r),X4(h,bl(r,Eh)),gA(r,h),Ann(r,h),_$(n,r,h))}function TA(n){var e,t,i,r,c,s;if(!n.j){if(s=new Cvn,e=N9,c=e.a.zc(n,e),c==null){for(i=new ne(Hr(n));i.e!=i.i.gc();)t=u(ue(i),29),r=TA(t),Bt(s,r),ve(s,t);e.a.Bc(n)!=null}ew(s),n.j=new pg((u(L(H((G1(),Hn).o),11),19),s.i),s.g),Zu(n).b&=-33}return n.j}function FMe(n){var e,t,i,r;if(n==null)return null;if(i=Fc(n,!0),r=nj.length,An(i.substr(i.length-r,r),nj)){if(t=i.length,t==4){if(e=(zn(0,i.length),i.charCodeAt(0)),e==43)return f0n;if(e==45)return vse}else if(t==3)return f0n}return new UG(i)}function BMe(n){var e,t,i;return t=n.l,t&t-1||(i=n.m,i&i-1)||(e=n.h,e&e-1)||e==0&&i==0&&t==0?-1:e==0&&i==0&&t!=0?kQ(t):e==0&&i!=0&&t==0?kQ(i)+22:e!=0&&i==0&&t==0?kQ(e)+44:-1}function zg(n,e){var t,i,r,c,s;for(r=e.a&n.f,c=null,i=n.b[r];;i=i.b){if(i==e){c?c.b=e.b:n.b[r]=e.b;break}c=i}for(s=e.f&n.f,c=null,t=n.c[s];;t=t.d){if(t==e){c?c.d=e.d:n.c[s]=e.d;break}c=t}e.e?e.e.c=e.c:n.a=e.c,e.c?e.c.e=e.e:n.e=e.e,--n.i,++n.g}function RMe(n,e){var t;e.d?e.d.b=e.b:n.a=e.b,e.b?e.b.d=e.d:n.e=e.d,!e.e&&!e.c?(t=u(as(u(Bp(n.b,e.a),260)),260),t.a=0,++n.c):(t=u(as(u(ee(n.b,e.a),260)),260),--t.a,e.e?e.e.c=e.c:t.b=u(as(e.c),511),e.c?e.c.e=e.e:t.c=u(as(e.e),511)),--n.d}function KMe(n){var e,t,i,r,c,s,f,h,l,a;for(t=n.o,e=n.p,s=et,r=Wi,f=et,c=Wi,l=0;l0),c.a.Xb(c.c=--c.b),Rb(c,r),oe(c.b3&&Bh(n,0,e-3))}function HMe(n){var e,t,i,r;return x(v(n,(cn(),Bw)))===x((jl(),M1))?!n.e&&x(v(n,Cj))!==x((Z4(),mj)):(i=u(v(n,yH),299),r=on(un(v(n,jH)))||x(v(n,U8))===x((c5(),pj)),e=u(v(n,Hfn),17).a,t=n.a.c.length,!r&&i!=(Z4(),mj)&&(e==0||e>t))}function qMe(n){var e,t;for(t=0;t0);t++);if(t>0&&t0);e++);return e>0&&t>16!=6&&e){if(mm(n,e))throw M(new Gn(w8+dHn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?TZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,6,i)),i=hV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,6,e,e))}function AA(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(mm(n,e))throw M(new Gn(w8+nGn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?IZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,12,i)),i=lV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,e,e))}function ien(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=9&&e){if(mm(n,e))throw M(new Gn(w8+Yqn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?SZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,9,i)),i=aV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,9,e,e))}function Tm(n){var e,t,i,r,c;if(i=gs(n),c=n.j,c==null&&i)return n.Jk()?null:i.ik();if(D(i,156)){if(t=i.jk(),t&&(r=t.wi(),r!=n.i)){if(e=u(i,156),e.nk())try{n.g=r.ti(e,c)}catch(s){if(s=It(s),D(s,82))n.g=null;else throw M(s)}n.i=r}return n.g}return null}function nqn(n){var e;return e=new Z,nn(e,new bp(new V(n.c,n.d),new V(n.c+n.b,n.d))),nn(e,new bp(new V(n.c,n.d),new V(n.c,n.d+n.a))),nn(e,new bp(new V(n.c+n.b,n.d+n.a),new V(n.c+n.b,n.d))),nn(e,new bp(new V(n.c+n.b,n.d+n.a),new V(n.c,n.d+n.a))),e}function UMe(n){var e,t,i;if(n==null)return gu;try{return Jr(n)}catch(r){if(r=It(r),D(r,103))return e=r,i=Xa(wo(n))+"@"+(t=(fl(),rZ(n)>>>0),t.toString(16)),r9e(qve(),(a4(),"Exception during lenientFormat for "+i),e),"<"+i+" threw "+Xa(e.Rm)+">";throw M(r)}}function GMe(n,e,t){var i,r,c;for(c=e.a.ec().Kc();c.Ob();)r=u(c.Pb(),74),i=u(ee(n.b,r),272),!i&&(At(Kh(r))==At(ra(r))?DTe(n,r,t):Kh(r)==At(ra(r))?ee(n.c,r)==null&&ee(n.b,ra(r))!=null&&DGn(n,r,t,!1):ee(n.d,r)==null&&ee(n.b,Kh(r))!=null&&DGn(n,r,t,!0))}function zMe(n,e){var t,i,r,c,s,f,h;for(r=n.Kc();r.Ob();)for(i=u(r.Pb(),10),f=new Pc,ic(f,i),gi(f,(en(),Zn)),U(f,(W(),uI),(_n(),!0)),s=e.Kc();s.Ob();)c=u(s.Pb(),10),h=new Pc,ic(h,c),gi(h,Wn),U(h,uI,!0),t=new E0,U(t,uI,!0),Zi(t,f),Ii(t,h)}function XMe(n,e,t,i){var r,c,s,f;r=BBn(n,e,t),c=BBn(n,t,e),s=u(ee(n.c,e),118),f=u(ee(n.c,t),118),r1)for(e=h0((t=new za,++n.b,t),n.d),f=ge(c,0);f.b!=f.d.c;)s=u(be(f),125),qs(Ls(Ds(Ns(Os(new hs,1),0),e),s))}function JMe(n,e,t){var i,r,c,s,f;for(t.Ug("Breaking Point Removing",1),n.a=u(v(e,(cn(),$l)),223),c=new C(e.b);c.a>16!=11&&e){if(mm(n,e))throw M(new Gn(w8+Een(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?OZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=Wp(e,n,10,i)),i=yV(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,11,e,e))}function QMe(n){var e,t,i,r;for(i=new sd(new Ua(n.b).a);i.b;)t=L0(i),r=u(t.ld(),12),e=u(t.md(),10),U(e,(W(),st),r),U(r,Xu,e),U(r,yj,(_n(),!0)),gi(r,u(v(e,gc),64)),v(e,gc),U(r.i,(cn(),Kt),(Oi(),Kv)),u(v(Hi(r.i),Hc),21).Fc((pr(),yv))}function YMe(n,e,t){var i,r,c,s,f,h;if(c=0,s=0,n.c)for(h=new C(n.d.i.j);h.ac.a?-1:r.ah){for(a=n.d,n.d=K(Ndn,qcn,66,2*h+4,0,1),c=0;c=9223372036854776e3?(R4(),hun):(r=!1,n<0&&(r=!0,n=-n),i=0,n>=vd&&(i=wi(n/vd),n-=i*vd),t=0,n>=o3&&(t=wi(n/o3),n-=t*o3),e=wi(n),c=Yc(e,t,i),r&&H$(c),c)}function fTe(n){var e,t,i,r,c;if(c=new Z,nu(n.b,new S9n(c)),n.b.c.length=0,c.c.length!=0){for(e=(Ln(0,c.c.length),u(c.c[0],82)),t=1,i=c.c.length;t=-e&&i==e?new bi(Y(t-1),Y(i)):new bi(Y(t),Y(i-1))}function iqn(){return tr(),A(T(yNe,1),G,81,0,[Qon,Von,b2,N_,gsn,IP,KP,Lw,bsn,csn,asn,Dw,wsn,tsn,psn,Hon,NP,$_,SP,FP,vsn,xP,qon,dsn,ksn,BP,msn,PP,Zon,hsn,fsn,_P,zon,AP,DP,Gon,hv,osn,isn,lsn,L8,Won,Xon,ssn,rsn,LP,RP,Uon,$P,usn,OP,nsn,Yon,bj,TP,esn,Jon])}function aTe(n,e,t){n.d=0,n.b=0,e.k==(Vn(),_c)&&t.k==_c&&u(v(e,(W(),st)),10)==u(v(t,st),10)&&(s$(e).j==(en(),Xn)?UHn(n,e,t):UHn(n,t,e)),e.k==_c&&t.k==Mi?s$(e).j==(en(),Xn)?n.d=1:n.b=1:t.k==_c&&e.k==Mi&&(s$(t).j==(en(),Xn)?n.b=1:n.d=1),J9e(n,e,t)}function dTe(n){var e,t,i,r,c,s,f,h,l,a,d;return d=enn(n),e=n.a,h=e!=null,h&&j4(d,"category",n.a),r=Z9(new qa(n.d)),s=!r,s&&(l=new _a,bf(d,"knownOptions",l),t=new fyn(l),qi(new qa(n.d),t)),c=Z9(n.g),f=!c,f&&(a=new _a,bf(d,"supportedFeatures",a),i=new hyn(a),qi(n.g,i)),d}function bTe(n){var e,t,i,r,c,s,f,h,l;for(i=!1,e=336,t=0,c=new zAn(n.length),f=n,h=0,l=f.length;h>16!=7&&e){if(mm(n,e))throw M(new Gn(w8+h_n(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?AZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=u(e,54).Rh(n,1,oE,i)),i=bW(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,7,e,e))}function rqn(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(mm(n,e))throw M(new Gn(w8+sBn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?PZ(n,i):n.Cb.Th(n,-1-t,null,i))),e&&(i=u(e,54).Rh(n,0,fE,i)),i=wW(n,e,i),i&&i.oj()}else n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,3,e,e))}function vF(n,e){Am();var t,i,r,c,s,f,h,l,a;return e.d>n.d&&(f=n,n=e,e=f),e.d<63?tAe(n,e):(s=(n.d&-2)<<4,l=NJ(n,s),a=NJ(e,s),i=RF(n,Fp(l,s)),r=RF(e,Fp(a,s)),h=vF(l,a),t=vF(i,r),c=vF(RF(l,i),RF(r,a)),c=zF(zF(c,h),t),c=Fp(c,s),h=Fp(h,s<<1),zF(zF(h,c),t))}function a1(){a1=F,xH=new dg(sVn,0),Shn=new dg("LONGEST_PATH",1),Phn=new dg("LONGEST_PATH_SOURCE",2),$H=new dg("COFFMAN_GRAHAM",3),Ahn=new dg(sR,4),Ihn=new dg("STRETCH_WIDTH",5),CI=new dg("MIN_WIDTH",6),Pv=new dg("BF_MODEL_ORDER",7),Iv=new dg("DF_MODEL_ORDER",8)}function gTe(n,e,t){var i,r,c,s,f;for(s=g5(n,t),f=K(Qh,b1,10,e.length,0,1),i=0,c=s.Kc();c.Ob();)r=u(c.Pb(),12),on(un(v(r,(W(),yj))))&&(f[i++]=u(v(r,Xu),10));if(i=0;c+=t?1:-1)s=s|e.c.lg(h,c,t,i&&!on(un(v(e.j,(W(),ka))))&&!on(un(v(e.j,(W(),j2))))),s=s|e.q.ug(h,c,t),s=s|Gqn(n,h[c],t,i);return fi(n.c,e),s}function IA(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(a=CDn(n.j),d=0,g=a.length;d1&&(n.a=!0),Wbe(u(t.b,68),tt(Ki(u(e.b,68).c),ch(mi(Ki(u(t.b,68).a),u(e.b,68).a),r))),OOn(n,e),cqn(n,t)}function uqn(n){var e,t,i,r,c,s,f;for(c=new C(n.a.a);c.a0&&c>0?s.p=e++:i>0?s.p=t++:c>0?s.p=r++:s.p=t++}Dn(),Yt(n.j,new _gn)}function yTe(n){var e,t;t=null,e=u(sn(n.g,0),18);do{if(t=e.d.i,kt(t,(W(),Es)))return u(v(t,Es),12).i;if(t.k!=(Vn(),zt)&&pe(new ie(ce(Qt(t).a.Kc(),new En))))e=u(fe(new ie(ce(Qt(t).a.Kc(),new En))),18);else if(t.k!=zt)return null}while(t&&t.k!=(Vn(),zt));return t}function jTe(n,e){var t,i,r,c,s,f,h,l,a;for(f=e.j,s=e.g,h=u(sn(f,f.c.length-1),113),a=(Ln(0,f.c.length),u(f.c[0],113)),l=Kx(n,s,h,a),c=1;cl&&(h=t,a=r,l=i);e.a=a,e.c=h}function ETe(n,e,t){var i,r,c,s,f,h,l;for(l=new Ul(new X7n(n)),s=A(T(FZn,1),DXn,12,0,[e,t]),f=0,h=s.length;fh-n.b&&fh-n.a&&f0?c.a?(f=c.b.Mf().a,t>f&&(r=(t-f)/2,c.d.b=r,c.d.c=r)):c.d.c=n.s+t:K6(n.u)&&(i=tnn(c.b),i.c<0&&(c.d.b=-i.c),i.c+i.b>c.b.Mf().a&&(c.d.c=i.c+i.b-c.b.Mf().a))}function KTe(n,e){var t,i,r,c,s;s=new Z,t=e;do c=u(ee(n.b,t),131),c.B=t.c,c.D=t.d,Kn(s.c,c),t=u(ee(n.k,t),18);while(t);return i=(Ln(0,s.c.length),u(s.c[0],131)),i.j=!0,i.A=u(i.d.a.ec().Kc().Pb(),18).c.i,r=u(sn(s,s.c.length-1),131),r.q=!0,r.C=u(r.d.a.ec().Kc().Pb(),18).d.i,s}function _Te(n){var e,t;if(e=u(n.a,17).a,t=u(n.b,17).a,e>=0){if(e==t)return new bi(Y(-e-1),Y(-e-1));if(e==-t)return new bi(Y(-e),Y(t+1))}return y.Math.abs(e)>y.Math.abs(t)?e<0?new bi(Y(-e),Y(t)):new bi(Y(-e),Y(t+1)):new bi(Y(e+1),Y(t))}function HTe(n){var e,t;t=u(v(n,(cn(),ou)),171),e=u(v(n,(W(),Od)),311),t==(Yo(),ya)?(U(n,ou,Ej),U(n,Od,(vl(),k2))):t==xw?(U(n,ou,Ej),U(n,Od,(vl(),E3))):e==(vl(),k2)?(U(n,ou,ya),U(n,Od,vj)):e==E3&&(U(n,ou,xw),U(n,Od,vj))}function OA(){OA=F,Dj=new A3n,Jie=Ke(new ii,(Vi(),Oc),(tr(),SP)),Zie=Pu(Ke(new ii,Oc,xP),zr,$P),nre=ah(ah(h6(Pu(Ke(new ii,Vs,KP),zr,RP),Kc),BP),_P),Qie=Pu(Ke(Ke(Ke(new ii,Jh,IP),Kc,DP),Kc,hv),zr,OP),Yie=Pu(Ke(Ke(new ii,Kc,hv),Kc,AP),zr,TP)}function B5(){B5=F,ire=Ke(Pu(new ii,(Vi(),zr),(tr(),nsn)),Oc,SP),ore=ah(ah(h6(Pu(Ke(new ii,Vs,KP),zr,RP),Kc),BP),_P),rre=Pu(Ke(Ke(Ke(new ii,Jh,IP),Kc,DP),Kc,hv),zr,OP),ure=Ke(Ke(new ii,Oc,xP),zr,$P),cre=Pu(Ke(Ke(new ii,Kc,hv),Kc,AP),zr,TP)}function qTe(n,e,t,i,r){var c,s;(!fr(e)&&e.c.i.c==e.d.i.c||!fxn(cc(A(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])),t))&&!fr(e)&&(e.c==r?g4(e.a,0,new rr(t)):Fe(e.a,new rr(t)),i&&!sf(n.a,t)&&(s=u(v(e,(cn(),Fr)),75),s||(s=new Mu,U(e,Fr,s)),c=new rr(t),xt(s,c,s.c.b,s.c),fi(n.a,c)))}function fqn(n,e){var t,i,r,c;for(c=Ae(er(Uh,xh(Ae(er(e==null?0:mt(e),Gh)),15))),t=c&n.b.length-1,r=null,i=n.b[t];i;r=i,i=i.a)if(i.d==c&&sh(i.i,e))return r?r.a=i.a:n.b[t]=i.a,Kjn(u(as(i.c),604),u(as(i.f),604)),V9(u(as(i.b),227),u(as(i.e),227)),--n.f,++n.e,!0;return!1}function UTe(n){var e,t;for(t=new ie(ce(ji(n).a.Kc(),new En));pe(t);)if(e=u(fe(t),18),e.c.i.k!=(Vn(),Ac))throw M(new _l(oR+qk(n)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function GTe(n,e,t){var i,r,c,s,f,h,l;if(r=dBn(n.Db&254),r==0)n.Eb=t;else{if(r==1)f=K(ki,Bn,1,2,5,1),c=Rx(n,e),c==0?(f[0]=t,f[1]=n.Eb):(f[0]=n.Eb,f[1]=t);else for(f=K(ki,Bn,1,r+1,5,1),s=cd(n.Eb),i=2,h=0,l=0;i<=128;i<<=1)i==e?f[l++]=t:n.Db&i&&(f[l++]=s[h++]);n.Eb=f}n.Db|=e}function hqn(n,e,t){var i,r,c,s;for(this.b=new Z,r=0,i=0,s=new C(n);s.a0&&(c=u(sn(this.b,0),176),r+=c.o,i+=c.p),r*=2,i*=2,e>1?r=wi(y.Math.ceil(r*e)):i=wi(y.Math.ceil(i/e)),this.a=new VY(r,i)}function lqn(n,e,t,i,r,c){var s,f,h,l,a,d,g,p,m,k,j,S;for(a=i,e.j&&e.o?(p=u(ee(n.f,e.A),60),k=p.d.c+p.d.b,--a):k=e.a.c+e.a.b,d=r,t.q&&t.o?(p=u(ee(n.f,t.C),60),l=p.d.c,++d):l=t.a.c,j=l-k,h=y.Math.max(2,d-a),f=j/h,m=k+f,g=a;g=0;s+=r?1:-1){for(f=e[s],h=i==(en(),Zn)?r?uc(f,i):Qo(uc(f,i)):r?Qo(uc(f,i)):uc(f,i),c&&(n.c[f.p]=h.gc()),d=h.Kc();d.Ob();)a=u(d.Pb(),12),n.d[a.p]=l++;hi(t,h)}}function dqn(n,e,t){var i,r,c,s,f,h,l,a;for(c=$(R(n.b.Kc().Pb())),l=$(R(Hve(e.b))),i=ch(Ki(n.a),l-t),r=ch(Ki(e.a),t-c),a=tt(i,r),ch(a,1/(l-c)),this.a=a,this.b=new Z,f=!0,s=n.b.Kc(),s.Pb();s.Ob();)h=$(R(s.Pb())),f&&h-t>_R&&(this.b.Fc(t),f=!1),this.b.Fc(h);f&&this.b.Fc(t)}function zTe(n){var e,t,i,r;if(hSe(n,n.n),n.d.c.length>0){for(e6(n.c);Gnn(n,u(E(new C(n.e.a)),125))>5,e&=31,i>=n.d)return n.e<0?(dh(),vQn):(dh(),S8);if(c=n.d-i,r=K(ye,_e,28,c+1,15,1),Fje(r,c,n.a,i,e),n.e<0){for(t=0;t0&&n.a[t]<<32-e){for(t=0;t=0?!1:(t=Qg((Du(),zi),r,e),t?(i=t.Ik(),(i>1||i==-1)&&y0(Lr(zi,t))!=3):!0)):!1}function JTe(n,e,t,i){var r,c,s,f,h;return f=Gr(u(L((!e.b&&(e.b=new Nn(he,e,4,7)),e.b),0),84)),h=Gr(u(L((!e.c&&(e.c=new Nn(he,e,5,8)),e.c),0),84)),At(f)==At(h)||Yb(h,f)?null:(s=V7(e),s==t?i:(c=u(ee(n.a,s),10),c&&(r=c.e,r)?r:null))}function QTe(n,e,t){var i,r,c,s,f;for(t.Ug("Longest path to source layering",1),n.a=e,f=n.a.a,n.b=K(ye,_e,28,f.c.length,15,1),i=0,s=new C(f);s.a0&&(t[0]+=n.d,s-=t[0]),t[2]>0&&(t[2]+=n.d,s-=t[2]),c=y.Math.max(0,s),t[1]=y.Math.max(t[1],s),xJ(n,Wc,r.c+i.b+t[0]-(t[1]-s)/2,t),e==Wc&&(n.c.b=c,n.c.c=r.c+i.b+(c-s)/2)}function Eqn(){this.c=K(Pi,Tr,28,(en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,15,1),this.b=K(Pi,Tr,28,A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn]).length,15,1),this.a=K(Pi,Tr,28,A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn]).length,15,1),Rz(this.c,St),Rz(this.b,li),Rz(this.a,li)}function xc(n,e,t){var i,r,c,s;if(e<=t?(r=e,c=t):(r=t,c=e),i=0,n.b==null)n.b=K(ye,_e,28,2,15,1),n.b[0]=r,n.b[1]=c,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=c;return}s=K(ye,_e,28,i+2,15,1),Ic(n.b,0,s,0,i),n.b=s,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=c,n.c||Gg(n)}}function iAe(n,e,t){var i,r,c,s,f,h,l;for(l=e.d,n.a=new Gc(l.c.length),n.c=new de,f=new C(l);f.a=0?n.Lh(l,!1,!0):H0(n,t,!1),61));n:for(c=d.Kc();c.Ob();){for(r=u(c.Pb(),58),a=0;a1;)dw(r,r.i-1);return i}function Mqn(n,e){var t,i,r,c,s,f,h;for(t=new Cg,c=new C(n.b);c.an.d[s.p]&&(t+=SJ(n.b,c),W1(n.a,Y(c)));for(;!t6(n.a);)oQ(n.b,u(Sp(n.a),17).a)}return t}function fAe(n){var e,t,i,r,c,s,f,h,l;for(n.a=new kV,l=0,r=0,i=new C(n.i.b);i.af.d&&(a=f.d+f.a+l));t.c.d=a,e.a.zc(t,e),h=y.Math.max(h,t.c.d+t.c.a)}return h}function pr(){pr=F,ZP=new Db("COMMENTS",0),cs=new Db("EXTERNAL_PORTS",1),F8=new Db("HYPEREDGES",2),nI=new Db("HYPERNODES",3),yv=new Db("NON_FREE_PORTS",4),v2=new Db("NORTH_SOUTH_PORTS",5),B8=new Db(JXn,6),vv=new Db("CENTER_LABELS",7),kv=new Db("END_LABELS",8),eI=new Db("PARTITIONS",9)}function lAe(n,e,t,i,r){return i<0?(i=Ug(n,r,A(T(fn,1),J,2,6,[sB,fB,hB,lB,c3,aB,dB,bB,wB,gB,pB,mB]),e),i<0&&(i=Ug(n,r,A(T(fn,1),J,2,6,["Jan","Feb","Mar","Apr",c3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function aAe(n,e,t,i,r){return i<0?(i=Ug(n,r,A(T(fn,1),J,2,6,[sB,fB,hB,lB,c3,aB,dB,bB,wB,gB,pB,mB]),e),i<0&&(i=Ug(n,r,A(T(fn,1),J,2,6,["Jan","Feb","Mar","Apr",c3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function dAe(n,e,t,i,r,c){var s,f,h,l;if(f=32,i<0){if(e[0]>=n.length||(f=Xi(n,e[0]),f!=43&&f!=45)||(++e[0],i=yA(n,e),i<0))return!1;f==45&&(i=-i)}return f==32&&e[0]-t==2&&r.b==2&&(h=new JE,l=h.q.getFullYear()-ha+ha-80,s=l%100,c.a=i==s,i+=(l/100|0)*100+(i=0?ia(n):U6(ia(n1(n)))),P8[e]=AC(Bs(n,e),0)?ia(Bs(n,e)):U6(ia(n1(Bs(n,e)))),n=er(n,5);for(;e=l&&(h=i);h&&(a=y.Math.max(a,h.a.o.a)),a>g&&(d=l,g=a)}return d}function vAe(n){var e,t,i,r,c,s,f;for(c=new Ul(u(Se(new kbn),50)),f=li,t=new C(n.d);t.ajVn?Yt(h,n.b):i<=jVn&&i>EVn?Yt(h,n.d):i<=EVn&&i>CVn?Yt(h,n.c):i<=CVn&&Yt(h,n.a),c=Iqn(n,h,c);return r}function Oqn(n,e,t,i){var r,c,s,f,h,l;for(r=(i.c+i.a)/2,vo(e.j),Fe(e.j,r),vo(t.e),Fe(t.e,r),l=new Zjn,f=new C(n.f);f.a1,f&&(i=new V(r,t.b),Fe(e.a,i)),r5(e.a,A(T(Ei,1),J,8,0,[g,d]))}function ben(n,e,t){var i,r;for(e=48;t--)B9[t]=t-48<<24>>24;for(i=70;i>=65;i--)B9[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)B9[r]=r-97+10<<24>>24;for(c=0;c<10;c++)SO[c]=48+c&ui;for(n=10;n<=15;n++)SO[n]=65+n-10&ui}function EAe(n,e){e.Ug("Process graph bounds",1),U(n,(pt(),rq),a7(O$(Ub(new Tn(null,new In(n.b,16)),new r4n)))),U(n,cq,a7(O$(Ub(new Tn(null,new In(n.b,16)),new c4n)))),U(n,vln,a7(I$(Ub(new Tn(null,new In(n.b,16)),new u4n)))),U(n,kln,a7(I$(Ub(new Tn(null,new In(n.b,16)),new o4n)))),e.Vg()}function CAe(n){var e,t,i,r,c;r=u(v(n,(cn(),xd)),21),c=u(v(n,kI),21),t=new V(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),e=new rr(t),r.Hc((go(),Qw))&&(i=u(v(n,Ev),8),c.Hc((io(),_v))&&(i.a<=0&&(i.a=20),i.b<=0&&(i.b=20)),e.a=y.Math.max(t.a,i.a),e.b=y.Math.max(t.b,i.b)),on(un(v(n,SH)))||nIe(n,t,e)}function MAe(n,e){var t,i,r,c;for(c=uc(e,(en(),ae)).Kc();c.Ob();)i=u(c.Pb(),12),t=u(v(i,(W(),Xu)),10),t&&qs(Ls(Ds(Ns(Os(new hs,0),.1),n.i[e.p].d),n.i[t.p].a));for(r=uc(e,Xn).Kc();r.Ob();)i=u(r.Pb(),12),t=u(v(i,(W(),Xu)),10),t&&qs(Ls(Ds(Ns(Os(new hs,0),.1),n.i[t.p].d),n.i[e.p].a))}function yF(n){var e,t,i,r,c,s;if(!n.c){if(s=new kvn,e=N9,c=e.a.zc(n,e),c==null){for(i=new ne(Sc(n));i.e!=i.i.gc();)t=u(ue(i),89),r=BA(t),D(r,90)&&Bt(s,yF(u(r,29))),ve(s,t);e.a.Bc(n)!=null,e.a.gc()==0}k8e(s),ew(s),n.c=new pg((u(L(H((G1(),Hn).o),15),19),s.i),s.g),Zu(n).b&=-33}return n.c}function gen(n){var e;if(n.c!=10)throw M(new Le($e((Ie(),qS))));switch(e=n.a,e){case 110:e=10;break;case 114:e=13;break;case 116:e=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw M(new Le($e((Ie(),is))))}return e}function $qn(n){var e,t,i,r,c;if(n.l==0&&n.m==0&&n.h==0)return"0";if(n.h==Ty&&n.m==0&&n.l==0)return"-9223372036854775808";if(n.h>>19)return"-"+$qn(tm(n));for(t=n,i="";!(t.l==0&&t.m==0&&t.h==0);){if(r=QN(QA),t=Jen(t,r,!0),e=""+cEn(wa),!(t.l==0&&t.m==0&&t.h==0))for(c=9-e.length;c>0;c--)e="0"+e;i=e+i}return i}function TAe(n){var e,t,i,r,c,s,f;for(e=!1,t=0,r=new C(n.d.b);r.a=n.a||!YZ(e,t))return-1;if(N4(u(i.Kb(e),20)))return 1;for(r=0,s=u(i.Kb(e),20).Kc();s.Ob();)if(c=u(s.Pb(),18),h=c.c.i==e?c.d.i:c.c.i,f=pen(n,h,t,i),f==-1||(r=y.Math.max(r,f),r>n.c-1))return-1;return r+1}function xqn(n,e){var t,i,r,c,s,f;if(x(e)===x(n))return!0;if(!D(e,15)||(i=u(e,15),f=n.gc(),i.gc()!=f))return!1;if(s=i.Kc(),n.Yi()){for(t=0;t0){if(n._j(),e!=null){for(c=0;c>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw M(new th("Invalid hexadecimal"))}}function NA(){NA=F,eon=new ag("SPIRAL",0),Qun=new ag("LINE_BY_LINE",1),Yun=new ag("MANHATTAN",2),Jun=new ag("JITTER",3),f_=new ag("QUADRANTS_LINE_BY_LINE",4),non=new ag("QUADRANTS_MANHATTAN",5),Zun=new ag("QUADRANTS_JITTER",6),Wun=new ag("COMBINE_LINE_BY_LINE_MANHATTAN",7),Vun=new ag("COMBINE_JITTER_MANHATTAN",8)}function Bqn(n,e,t,i){var r,c,s,f,h,l;for(h=zx(n,t),l=zx(e,t),r=!1;h&&l&&(i||E7e(h,l,t));)s=zx(h,t),f=zx(l,t),fk(e),fk(n),c=h.c,XF(h,!1),XF(l,!1),t?(uw(e,l.p,c),e.p=l.p,uw(n,h.p+1,c),n.p=h.p):(uw(n,h.p,c),n.p=h.p,uw(e,l.p+1,c),e.p=l.p),$i(h,null),$i(l,null),h=s,l=f,r=!0;return r}function Rqn(n){switch(n.g){case 0:return new Y5n;case 1:return new J5n;case 3:return new dCn;case 4:return new Xpn;case 5:return new _An;case 6:return new Q5n;case 2:return new W5n;case 7:return new q5n;case 8:return new G5n;default:throw M(new Gn("No implementation is available for the layerer "+(n.f!=null?n.f:""+n.g)))}}function DAe(n,e,t,i){var r,c,s,f,h;for(r=!1,c=!1,f=new C(i.j);f.a=e.length)throw M(new Ir("Greedy SwitchDecider: Free layer not in graph."));this.c=e[n],this.e=new D7(i),T$(this.e,this.c,(en(),Wn)),this.i=new D7(i),T$(this.i,this.c,Zn),this.f=new rPn(this.c),this.a=!c&&r.i&&!r.s&&this.c[0].k==(Vn(),Zt),this.a&&zje(this,n,e.length)}function _qn(n,e){var t,i,r,c,s,f;c=!n.B.Hc((io(),cE)),s=n.B.Hc(bU),n.a=new ABn(s,c,n.c),n.n&&WW(n.a.n,n.n),mD(n.g,(wf(),Wc),n.a),e||(i=new E5(1,c,n.c),i.n.a=n.k,Pp(n.p,(en(),Xn),i),r=new E5(1,c,n.c),r.n.d=n.k,Pp(n.p,ae,r),f=new E5(0,c,n.c),f.n.c=n.k,Pp(n.p,Wn,f),t=new E5(0,c,n.c),t.n.b=n.k,Pp(n.p,Zn,t))}function NAe(n){var e,t,i;switch(e=u(v(n.d,(cn(),$l)),223),e.g){case 2:t=jLe(n);break;case 3:t=(i=new Z,qt(ut(_r(rc(rc(new Tn(null,new In(n.d.b,16)),new ipn),new rpn),new cpn),new U2n),new E7n(i)),i);break;default:throw M(new Or("Compaction not supported for "+e+" edges."))}UIe(n,t),qi(new qa(n.g),new y7n(n))}function $Ae(n,e){var t,i,r,c,s,f,h;if(e.Ug("Process directions",1),t=u(v(n,(lc(),vb)),88),t!=(ci(),Wf))for(r=ge(n.b,0);r.b!=r.d.c;){switch(i=u(be(r),40),f=u(v(i,(pt(),$j)),17).a,h=u(v(i,xj),17).a,t.g){case 4:h*=-1;break;case 1:c=f,f=h,h=c;break;case 2:s=f,f=-h,h=s}U(i,$j,Y(f)),U(i,xj,Y(h))}e.Vg()}function xAe(n,e){var t;return t=new xO,e&&Ur(t,u(ee(n.a,oE),96)),D(e,422)&&Ur(t,u(ee(n.a,sE),96)),D(e,366)?(Ur(t,u(ee(n.a,Ar),96)),t):(D(e,84)&&Ur(t,u(ee(n.a,he),96)),D(e,207)?(Ur(t,u(ee(n.a,Ye),96)),t):D(e,193)?(Ur(t,u(ee(n.a,Qu),96)),t):(D(e,326)&&Ur(t,u(ee(n.a,Vt),96)),t))}function FAe(n){var e,t,i,r,c,s,f,h;for(h=new yLn,f=new C(n.a);f.a0&&e=0)return!1;if(e.p=t.b,nn(t.e,e),r==(Vn(),Mi)||r==_c){for(s=new C(e.j);s.an.d[f.p]&&(t+=SJ(n.b,c),W1(n.a,Y(c)))):++s;for(t+=n.b.d*s;!t6(n.a);)oQ(n.b,u(Sp(n.a),17).a)}return t}function Qqn(n){var e,t,i,r,c,s;return c=0,e=gs(n),e.kk()&&(c|=4),n.Bb&$u&&(c|=2),D(n,102)?(t=u(n,19),r=br(t),t.Bb&kc&&(c|=32),r&&(se(Gb(r)),c|=8,s=r.t,(s>1||s==-1)&&(c|=16),r.Bb&kc&&(c|=64)),t.Bb&hr&&(c|=Tw),c|=Gs):D(e,469)?c|=512:(i=e.kk(),i&&i.i&1&&(c|=256)),n.Bb&512&&(c|=128),c}function WAe(n,e){var t;return n.f==AU?(t=y0(Lr((Du(),zi),e)),n.e?t==4&&e!=(n3(),_3)&&e!=(n3(),K3)&&e!=(n3(),SU)&&e!=(n3(),PU):t==2):n.d&&(n.d.Hc(e)||n.d.Hc($p(Lr((Du(),zi),e)))||n.d.Hc(Qg((Du(),zi),n.b,e)))?!0:n.f&&ren((Du(),n.f),q7(Lr(zi,e)))?(t=y0(Lr(zi,e)),n.e?t==4:t==2):!1}function JAe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p;for(g=-1,p=0,l=n,a=0,d=l.length;a0&&++p;++g}return p}function QAe(n,e,t,i){var r,c,s,f,h,l,a,d;return s=u(z(t,(He(),N3)),8),h=s.a,a=s.b+n,r=y.Math.atan2(a,h),r<0&&(r+=Cd),r+=e,r>Cd&&(r-=Cd),f=u(z(i,N3),8),l=f.a,d=f.b+n,c=y.Math.atan2(d,l),c<0&&(c+=Cd),c+=e,c>Cd&&(c-=Cd),Tf(),Ks(1e-10),y.Math.abs(r-c)<=1e-10||r==c||isNaN(r)&&isNaN(c)?0:rc?1:s0(isNaN(r),isNaN(c))}function CF(n){var e,t,i,r,c,s,f;for(f=new de,i=new C(n.a.b);i.a=n.o)throw M(new YG);f=e>>5,s=e&31,c=Bs(1,Ae(Bs(s,1))),r?n.n[t][f]=lf(n.n[t][f],c):n.n[t][f]=vi(n.n[t][f],WV(c)),c=Bs(c,1),i?n.n[t][f]=lf(n.n[t][f],c):n.n[t][f]=vi(n.n[t][f],WV(c))}catch(h){throw h=It(h),D(h,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(h)}}function nSe(n,e,t,i){var r,c,s,f,h,l,a,d,g;for(g=new Ul(new z7n(n)),f=A(T(Qh,1),b1,10,0,[e,t]),h=0,l=f.length;h0&&(i=(!n.n&&(n.n=new q(Ar,n,1,7)),u(L(n.n,0),135)).a,!i||Re(Re((e.a+=' "',e),i),'"'))),Re(t0(Re(t0(Re(t0(Re(t0((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function Yqn(n){var e,t,i;return n.Db&64?iF(n):(e=new mo(Mcn),t=n.k,t?Re(Re((e.a+=' "',e),t),'"'):(!n.n&&(n.n=new q(Ar,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new q(Ar,n,1,7)),u(L(n.n,0),135)).a,!i||Re(Re((e.a+=' "',e),i),'"'))),Re(t0(Re(t0(Re(t0(Re(t0((e.a+=" (",e),n.i),","),n.j)," | "),n.g),","),n.f),")"),e.a)}function iSe(n,e){var t,i,r,c,s;for(e==(a5(),XH)&&Yk(u(ot(n.a,(ow(),gj)),15)),r=u(ot(n.a,(ow(),gj)),15).Kc();r.Ob();)switch(i=u(r.Pb(),105),t=u(sn(i.j,0),113).d.j,c=new _u(i.j),Yt(c,new apn),e.g){case 2:Qx(n,c,t,(D0(),va),1);break;case 1:case 0:s=qMe(c),Qx(n,new Jl(c,0,s),t,(D0(),va),0),Qx(n,new Jl(c,s,c.c.length),t,va,1)}}function TF(n,e){var t,i,r,c,s,f,h;if(e==null||e.length==0)return null;if(r=u(Nc(n.a,e),143),!r){for(i=(f=new ol(n.b).a.vc().Kc(),new Sb(f));i.a.Ob();)if(t=(c=u(i.a.Pb(),44),u(c.md(),143)),s=t.c,h=e.length,An(s.substr(s.length-h,h),e)&&(e.length==s.length||Xi(s,s.length-e.length-1)==46)){if(r)return null;r=t}r&&Dr(n.a,e,r)}return r}function rSe(n,e){var t,i,r,c;return t=new Tbn,i=u(Wr(_r(new Tn(null,new In(n.f,16)),t),Wb(new Y2,new Z2,new np,new ep,A(T(xr,1),G,108,0,[(Gu(),Aw),Yr]))),21),r=i.gc(),i=u(Wr(_r(new Tn(null,new In(e.f,16)),t),Wb(new Y2,new Z2,new np,new ep,A(T(xr,1),G,108,0,[Aw,Yr]))),21),c=i.gc(),rr.p?(gi(c,ae),c.d&&(f=c.o.b,e=c.a.b,c.a.b=f-e)):c.j==ae&&r.p>n.p&&(gi(c,Xn),c.d&&(f=c.o.b,e=c.a.b,c.a.b=-(f-e)));break}return r}function fy(n,e,t,i,r){var c,s,f,h,l,a,d;if(!(D(e,207)||D(e,366)||D(e,193)))throw M(new Gn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return s=n.a/2,h=e.i+i-s,a=e.j+r-s,l=h+e.g+n.a,d=a+e.f+n.a,c=new Mu,Fe(c,new V(h,a)),Fe(c,new V(h,d)),Fe(c,new V(l,d)),Fe(c,new V(l,a)),f=new bF(c),Ur(f,e),t&&Ve(n.b,e,f),f}function Sm(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(c=new V(e,t),a=new C(n.a);a.a1,f&&(i=new V(r,t.b),Fe(e.a,i)),r5(e.a,A(T(Ei,1),J,8,0,[g,d]))}function ps(){ps=F,AI=new Lb(kh,0),Sj=new Lb("NIKOLOV",1),Pj=new Lb("NIKOLOV_PIXEL",2),Fhn=new Lb("NIKOLOV_IMPROVED",3),Bhn=new Lb("NIKOLOV_IMPROVED_PIXEL",4),xhn=new Lb("DUMMYNODE_PERCENTAGE",5),Rhn=new Lb("NODECOUNT_PERCENTAGE",6),SI=new Lb("NO_BOUNDARY",7),pb=new Lb("MODEL_ORDER_LEFT_TO_RIGHT",8),Uw=new Lb("MODEL_ORDER_RIGHT_TO_LEFT",9)}function bSe(n){var e,t,i,r,c;for(i=n.length,e=new i6,c=0;c=40,s&&wPe(n),CIe(n),zTe(n),t=pBn(n),i=0;t&&i0&&Fe(n.f,c)):(n.c[s]-=l+1,n.c[s]<=0&&n.a[s]>0&&Fe(n.e,c))))}function lUn(n,e,t,i){var r,c,s,f,h,l,a;for(h=new V(t,i),mi(h,u(v(e,(pt(),Dv)),8)),a=ge(e.b,0);a.b!=a.d.c;)l=u(be(a),40),tt(l.e,h),Fe(n.b,l);for(f=u(Wr(uJ(new Tn(null,new In(e.a,16))),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15).Kc();f.Ob();){for(s=u(f.Pb(),65),c=ge(s.a,0);c.b!=c.d.c;)r=u(be(c),8),r.a+=h.a,r.b+=h.b;Fe(n.a,s)}}function Den(n,e){var t,i,r,c;if(0<(D(n,16)?u(n,16).gc():wl(n.Kc()))){if(r=e,1=0&&hc*2?(a=new hT(d),l=Su(s)/ao(s),h=QF(a,e,new up,t,i,r,l),tt(ff(a.e),h),d.c.length=0,c=0,Kn(d.c,a),Kn(d.c,s),c=Su(a)*ao(a)+Su(s)*ao(s)):(Kn(d.c,s),c+=Su(s)*ao(s));return d}function dUn(n,e){var t,i,r,c,s,f;if(f=u(v(e,(cn(),Kt)),101),f==(Oi(),tl)||f==qc)for(r=new V(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a).b,s=new C(n.a);s.at?e:t;l<=d;++l)l==t?f=i++:(c=r[l],a=m.am(c.Lk()),l==e&&(h=l==d&&!a?i-1:i),a&&++i);return g=u(k5(n,e,t),76),f!=h&&t4(n,new ck(n.e,7,s,Y(f),p.md(),h)),g}}else return u(lF(n,e,t),76);return u(k5(n,e,t),76)}function NSe(n,e){var t,i,r,c,s,f,h;for(e.Ug("Port order processing",1),h=u(v(n,(cn(),whn)),430),i=new C(n.b);i.a=0&&(f=S7e(n,s),!(f&&(l<22?h.l|=1<>>1,s.m=a>>>1|(d&1)<<21,s.l=g>>>1|(a&1)<<21,--l;return t&&H$(h),c&&(i?(wa=tm(n),r&&(wa=Yxn(wa,(R4(),lun)))):wa=Yc(n.l,n.m,n.h)),h}function FSe(n,e){var t,i,r,c,s,f,h,l,a,d;for(l=n.e[e.c.p][e.p]+1,h=e.c.a.c.length+1,f=new C(n.a);f.a0&&(zn(0,n.length),n.charCodeAt(0)==45||(zn(0,n.length),n.charCodeAt(0)==43))?1:0,i=s;it)throw M(new th(V0+n+'"'));return f}function BSe(n){var e,t,i,r,c,s,f;for(s=new Ct,c=new C(n.a);c.a1)&&e==1&&u(n.a[n.b],10).k==(Vn(),Ac)?t3(u(n.a[n.b],10),(To(),nl)):i&&(!t||(n.c-n.b&n.a.length-1)>1)&&e==1&&u(n.a[n.c-1&n.a.length-1],10).k==(Vn(),Ac)?t3(u(n.a[n.c-1&n.a.length-1],10),(To(),Aa)):(n.c-n.b&n.a.length-1)==2?(t3(u(l5(n),10),(To(),nl)),t3(u(l5(n),10),Aa)):dMe(n,r),TJ(n)}function _Se(n,e,t){var i,r,c,s,f;for(c=0,r=new ne((!n.a&&(n.a=new q(Ye,n,10,11)),n.a));r.e!=r.i.gc();)i=u(ue(r),27),s="",(!i.n&&(i.n=new q(Ar,i,1,7)),i.n).i==0||(s=u(L((!i.n&&(i.n=new q(Ar,i,1,7)),i.n),0),135).a),f=new q$(c++,e,s),Ur(f,i),U(f,(pt(),u9),i),f.e.b=i.j+i.f/2,f.f.a=y.Math.max(i.g,1),f.e.a=i.i+i.g/2,f.f.b=y.Math.max(i.f,1),Fe(e.b,f),Vc(t.f,i,f)}function HSe(n){var e,t,i,r,c;i=u(v(n,(W(),st)),27),c=u(z(i,(cn(),xd)),181).Hc((go(),Gd)),n.e||(r=u(v(n,Hc),21),e=new V(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),r.Hc((pr(),cs))?(ht(i,Kt,(Oi(),qc)),G0(i,e.a,e.b,!1,!0)):on(un(z(i,SH)))||G0(i,e.a,e.b,!0,!0)),c?ht(i,xd,jn(Gd)):ht(i,xd,(t=u(of(S9),9),new _o(t,u(xs(t,t.length),9),0)))}function Len(n,e,t){var i,r,c,s;if(e[0]>=n.length)return t.o=0,!0;switch(Xi(n,e[0])){case 43:r=1;break;case 45:r=-1;break;default:return t.o=0,!0}if(++e[0],c=e[0],s=yA(n,e),s==0&&e[0]==c)return!1;if(e[0]f&&(f=r,a.c.length=0),r==f&&nn(a,new bi(t.c.i,t)));Dn(),Yt(a,n.c),b0(n.b,h.p,a)}}function zSe(n,e){var t,i,r,c,s,f,h,l,a;for(s=new C(e.b);s.af&&(f=r,a.c.length=0),r==f&&nn(a,new bi(t.d.i,t)));Dn(),Yt(a,n.c),b0(n.f,h.p,a)}}function XSe(n,e){var t,i,r,c,s,f,h,l;if(l=un(v(e,(lc(),Ire))),l==null||(Jn(l),l)){for(mCe(n,e),r=new Z,h=ge(e.b,0);h.b!=h.d.c;)s=u(be(h),40),t=knn(n,s,null),t&&(Ur(t,e),Kn(r.c,t));if(n.a=null,n.b=null,r.c.length>1)for(i=new C(r);i.a=0&&f!=t&&(c=new Ci(n,1,f,s,null),i?i.nj(c):i=c),t>=0&&(c=new Ci(n,1,t,f==t?s:null,e),i?i.nj(c):i=c)),i}function gUn(n){var e,t,i;if(n.b==null){if(i=new Hl,n.i!=null&&(Er(i,n.i),i.a+=":"),n.f&256){for(n.f&256&&n.a!=null&&(lge(n.i)||(i.a+="//"),Er(i,n.a)),n.d!=null&&(i.a+="/",Er(i,n.d)),n.f&16&&(i.a+="/"),e=0,t=n.j.length;eg?!1:(d=(h=G5(i,g,!1),h.a),a+f+d<=e.b&&(uk(t,c-t.s),t.c=!0,uk(i,c-t.s),Hk(i,t.s,t.t+t.d+f),i.k=!0,_Q(t.q,i),p=!0,r&&(wT(e,i),i.j=e,n.c.length>s&&(Gk((Ln(s,n.c.length),u(n.c[s],186)),i),(Ln(s,n.c.length),u(n.c[s],186)).a.c.length==0&&Yl(n,s)))),p)}function nPe(n,e){var t,i,r,c,s,f;if(e.Ug("Partition midprocessing",1),r=new C0,qt(ut(new Tn(null,new In(n.a,16)),new qgn),new h7n(r)),r.d!=0){for(f=u(Wr(fJ((c=r.i,new Tn(null,(c||(r.i=new Mg(r,r.c))).Nc()))),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),i=f.Kc(),t=u(i.Pb(),17);i.Ob();)s=u(i.Pb(),17),zMe(u(ot(r,t),21),u(ot(r,s),21)),t=s;e.Vg()}}function vUn(n,e,t){var i,r,c,s,f,h,l,a;if(e.p==0){for(e.p=1,s=t,s||(r=new Z,c=(i=u(of(lr),9),new _o(i,u(xs(i,i.length),9),0)),s=new bi(r,c)),u(s.a,15).Fc(e),e.k==(Vn(),Zt)&&u(s.b,21).Fc(u(v(e,(W(),gc)),64)),h=new C(e.j);h.a0){if(r=u(n.Ab.g,2033),e==null){for(c=0;ct.s&&fs)return en(),Zn;break;case 4:case 3:if(a<0)return en(),Xn;if(a+t>c)return en(),ae}return h=(l+f/2)/s,i=(a+t/2)/c,h+i<=1&&h-i<=0?(en(),Wn):h+i>=1&&h-i>=0?(en(),Zn):i<.5?(en(),Xn):(en(),ae)}function cPe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(t=!1,a=$(R(v(e,(cn(),gb)))),m=fa*a,r=new C(e.b);r.ah+m&&(k=d.g+g.g,g.a=(g.g*g.a+d.g*d.a)/k,g.g=k,d.f=g,t=!0)),c=f,d=g;return t}function EUn(n,e,t,i,r,c,s){var f,h,l,a,d,g;for(g=new mp,l=e.Kc();l.Ob();)for(f=u(l.Pb(),853),d=new C(f.Rf());d.a0?f.a?(l=f.b.Mf().b,r>l&&(n.v||f.c.d.c.length==1?(s=(r-l)/2,f.d.d=s,f.d.a=s):(t=u(sn(f.c.d,0),187).Mf().b,i=(t-l)/2,f.d.d=y.Math.max(0,i),f.d.a=r-i-l))):f.d.a=n.t+r:K6(n.u)&&(c=tnn(f.b),c.d<0&&(f.d.d=-c.d),c.d+c.a>f.b.Mf().b&&(f.d.a=c.d+c.a-f.b.Mf().b))}function Us(){Us=F,k3=new Ni((He(),Jj),Y(1)),yP=new Ni(qd,80),tZn=new Ni(Uan,5),zYn=new Ni(x2,Gm),nZn=new Ni(fU,Y(1)),eZn=new Ni(hU,(_n(),!0)),mon=new f0(50),YYn=new Ni(C1,mon),won=Vj,von=v9,XYn=new Ni(Zq,!1),pon=Wj,JYn=Vw,QYn=Ta,WYn=Hd,VYn=K2,ZYn=Ww,gon=(ann(),RYn),y_=qYn,kP=BYn,k_=KYn,kon=HYn,cZn=k9,uZn=cO,rZn=Qj,iZn=rO,yon=(Gp(),Yw),new Ni(x3,yon)}function sPe(n,e){var t;switch(bk(n)){case 6:return Ai(e);case 7:return $b(e);case 8:return Nb(e);case 3:return Array.isArray(e)&&(t=bk(e),!(t>=14&&t<=16));case 11:return e!=null&&typeof e===eB;case 12:return e!=null&&(typeof e===vy||typeof e==eB);case 0:return Tx(e,n.__elementTypeId$);case 2:return uN(e)&&e.Tm!==Q2;case 1:return uN(e)&&e.Tm!==Q2||Tx(e,n.__elementTypeId$);default:return!0}}function CUn(n,e){var t,i,r,c;return i=y.Math.min(y.Math.abs(n.c-(e.c+e.b)),y.Math.abs(n.c+n.b-e.c)),c=y.Math.min(y.Math.abs(n.d-(e.d+e.a)),y.Math.abs(n.d+n.a-e.d)),t=y.Math.abs(n.c+n.b/2-(e.c+e.b/2)),t>n.b/2+e.b/2||(r=y.Math.abs(n.d+n.a/2-(e.d+e.a/2)),r>n.a/2+e.a/2)?1:t==0&&r==0?0:t==0?c/r+1:r==0?i/t+1:y.Math.min(i/t,c/r)+1}function fPe(n,e){var t,i,r,c,s,f,h;for(c=0,f=0,h=0,r=new C(n.f.e);r.a0&&n.d!=(t5(),C_)&&(f+=s*(i.d.a+n.a[e.a][i.a]*(e.d.a-i.d.a)/t)),t>0&&n.d!=(t5(),j_)&&(h+=s*(i.d.b+n.a[e.a][i.a]*(e.d.b-i.d.b)/t)));switch(n.d.g){case 1:return new V(f/c,e.d.b);case 2:return new V(e.d.a,h/c);default:return new V(f/c,h/c)}}function MUn(n){var e,t,i,r,c,s;for(t=(!n.a&&(n.a=new ti(xo,n,5)),n.a).i+2,s=new Gc(t),nn(s,new V(n.j,n.k)),qt(new Tn(null,(!n.a&&(n.a=new ti(xo,n,5)),new In(n.a,16))),new xkn(s)),nn(s,new V(n.b,n.c)),e=1;e0&&(Tk(h,!1,(ci(),Br)),Tk(h,!0,Xr)),nu(e.g,new RCn(n,t)),Ve(n.g,e,t)}function SUn(){SUn=F;var n;for(vun=A(T(ye,1),_e,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),JK=K(ye,_e,28,37,15,1),gQn=A(T(ye,1),_e,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),kun=K(Fa,SB,28,37,14,1),n=2;n<=36;n++)JK[n]=wi(y.Math.pow(n,vun[n])),kun[n]=Xk(Ey,JK[n])}function hPe(n){var e;if((!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i!=1)throw M(new Gn(tWn+(!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i));return e=new Mu,Ck(u(L((!n.b&&(n.b=new Nn(he,n,4,7)),n.b),0),84))&&Bi(e,gzn(n,Ck(u(L((!n.b&&(n.b=new Nn(he,n,4,7)),n.b),0),84)),!1)),Ck(u(L((!n.c&&(n.c=new Nn(he,n,5,8)),n.c),0),84))&&Bi(e,gzn(n,Ck(u(L((!n.c&&(n.c=new Nn(he,n,5,8)),n.c),0),84)),!0)),e}function PUn(n,e){var t,i,r,c,s;for(e.d?r=n.a.c==(fh(),mb)?ji(e.b):Qt(e.b):r=n.a.c==(fh(),y1)?ji(e.b):Qt(e.b),c=!1,i=new ie(ce(r.a.Kc(),new En));pe(i);)if(t=u(fe(i),18),s=on(n.a.f[n.a.g[e.b.p].p]),!(!s&&!fr(t)&&t.c.i.c==t.d.i.c)&&!(on(n.a.n[n.a.g[e.b.p].p])||on(n.a.n[n.a.g[e.b.p].p]))&&(c=!0,sf(n.b,n.a.g[h7e(t,e.b).p])))return e.c=!0,e.a=t,e;return e.c=c,e.a=null,e}function $en(n,e,t){var i,r,c,s,f,h,l;if(i=t.gc(),i==0)return!1;if(n.Pj())if(h=n.Qj(),UY(n,e,t),s=i==1?n.Ij(3,null,t.Kc().Pb(),e,h):n.Ij(5,null,t,e,h),n.Mj()){for(f=i<100?null:new F1(i),c=e+i,r=e;r0){for(s=0;s>16==-15&&n.Cb.Yh()&&h$(new c$(n.Cb,9,13,t,n.c,f1(no(u(n.Cb,62)),n))):D(n.Cb,90)&&n.Db>>16==-23&&n.Cb.Yh()&&(e=n.c,D(e,90)||(e=(On(),Is)),D(t,90)||(t=(On(),Is)),h$(new c$(n.Cb,9,10,t,e,f1(Sc(u(n.Cb,29)),n)))))),n.c}function dPe(n,e,t){var i,r,c,s,f,h,l,a,d;for(t.Ug("Hyperedge merging",1),FCe(n,e),h=new xi(e.b,0);h.b0,f=HT(e,c),VX(t?f.b:f.g,e),xg(f).c.length==1&&xt(i,f,i.c.b,i.c),r=new bi(c,e),W1(n.o,r),du(n.e.a,c))}function xUn(n,e){var t,i,r,c,s,f,h;return i=y.Math.abs(gM(n.b).a-gM(e.b).a),f=y.Math.abs(gM(n.b).b-gM(e.b).b),r=0,h=0,t=1,s=1,i>n.b.b/2+e.b.b/2&&(r=y.Math.min(y.Math.abs(n.b.c-(e.b.c+e.b.b)),y.Math.abs(n.b.c+n.b.b-e.b.c)),t=1-r/i),f>n.b.a/2+e.b.a/2&&(h=y.Math.min(y.Math.abs(n.b.d-(e.b.d+e.b.a)),y.Math.abs(n.b.d+n.b.a-e.b.d)),s=1-h/f),c=y.Math.min(t,s),(1-c)*y.Math.sqrt(i*i+f*f)}function gPe(n){var e,t,i,r;for(JF(n,n.e,n.f,(M0(),Ca),!0,n.c,n.i),JF(n,n.e,n.f,Ca,!1,n.c,n.i),JF(n,n.e,n.f,I2,!0,n.c,n.i),JF(n,n.e,n.f,I2,!1,n.c,n.i),aPe(n,n.c,n.e,n.f,n.i),i=new xi(n.i,0);i.b=65;t--)nh[t]=t-65<<24>>24;for(i=122;i>=97;i--)nh[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)nh[r]=r-48+52<<24>>24;for(nh[43]=62,nh[47]=63,c=0;c<=25;c++)O1[c]=65+c&ui;for(s=26,h=0;s<=51;++s,h++)O1[s]=97+h&ui;for(n=52,f=0;n<=61;++n,f++)O1[n]=48+f&ui;O1[62]=43,O1[63]=47}function FUn(n,e){var t,i,r,c,s,f;return r=xQ(n),f=xQ(e),r==f?n.e==e.e&&n.a<54&&e.a<54?n.fe.f?1:0:(i=n.e-e.e,t=(n.d>0?n.d:y.Math.floor((n.a-1)*Uzn)+1)-(e.d>0?e.d:y.Math.floor((e.a-1)*Uzn)+1),t>i+1?r:t0&&(s=Ig(s,VUn(i))),XBn(c,s))):rl&&(g=0,p+=h+e,h=0),Sm(s,g,p),t=y.Math.max(t,g+a.a),h=y.Math.max(h,a.b),g+=a.a+e;return new V(t+e,p+h+e)}function Ren(n,e){var t,i,r,c,s,f,h;if(!Sf(n))throw M(new Or(eWn));if(i=Sf(n),c=i.g,r=i.f,c<=0&&r<=0)return en(),sc;switch(f=n.i,h=n.j,e.g){case 2:case 1:if(f<0)return en(),Wn;if(f+n.g>c)return en(),Zn;break;case 4:case 3:if(h<0)return en(),Xn;if(h+n.f>r)return en(),ae}return s=(f+n.g/2)/c,t=(h+n.f/2)/r,s+t<=1&&s-t<=0?(en(),Wn):s+t>=1&&s-t>=0?(en(),Zn):t<.5?(en(),Xn):(en(),ae)}function vPe(n,e,t,i,r){var c,s;if(c=nr(vi(e[0],mr),vi(i[0],mr)),n[0]=Ae(c),c=w0(c,32),t>=r){for(s=1;s0&&(r.b[s++]=0,r.b[s++]=c.b[0]-1),e=1;e0&&(JO(h,h.d-r.d),r.c==(af(),Ea)&&ife(h,h.a-r.d),h.d<=0&&h.i>0&&xt(e,h,e.c.b,e.c)));for(c=new C(n.f);c.a0&&(SE(f,f.i-r.d),r.c==(af(),Ea)&&rfe(f,f.b-r.d),f.i<=0&&f.d>0&&xt(t,f,t.c.b,t.c)))}function jPe(n,e,t,i,r){var c,s,f,h,l,a,d,g,p;for(Dn(),Yt(n,new Jmn),s=$7(n),p=new Z,g=new Z,f=null,h=0;s.b!=0;)c=u(s.b==0?null:(oe(s.b!=0),Xo(s,s.a.a)),163),!f||Su(f)*ao(f)/21&&(h>Su(f)*ao(f)/2||s.b==0)&&(d=new hT(g),a=Su(f)/ao(f),l=QF(d,e,new up,t,i,r,a),tt(ff(d.e),l),f=d,Kn(p.c,d),h=0,g.c.length=0));return hi(p,g),p}function Ic(n,e,t,i,r){fl();var c,s,f,h,l,a,d;if(PW(n,"src"),PW(t,"dest"),d=wo(n),h=wo(t),VV((d.i&4)!=0,"srcType is not an array"),VV((h.i&4)!=0,"destType is not an array"),a=d.c,s=h.c,VV(a.i&1?a==s:(s.i&1)==0,"Array types don't match"),s6e(n,e,t,i,r),!(a.i&1)&&d!=h)if(l=cd(n),c=cd(t),x(n)===x(t)&&ei;)$t(c,f,l[--e]);else for(f=i+r;i0),i.a.Xb(i.c=--i.b),d>g+h&&bo(i);for(s=new C(p);s.a0),i.a.Xb(i.c=--i.b)}}function CPe(){nt();var n,e,t,i,r,c;if(OU)return OU;for(n=new yo(4),gw(n,sa(FK,!0)),V5(n,sa("M",!0)),V5(n,sa("C",!0)),c=new yo(4),i=0;i<11;i++)xc(c,i,i);return e=new yo(4),gw(e,sa("M",!0)),xc(e,4448,4607),xc(e,65438,65439),r=new S6(2),pd(r,n),pd(r,K9),t=new S6(2),t.Jm(uM(c,sa("L",!0))),t.Jm(e),t=new Xb(3,t),t=new SW(r,t),OU=t,OU}function ww(n,e){var t,i,r,c,s,f,h,l;for(t=new RegExp(e,"g"),h=K(fn,J,2,0,6,1),i=0,l=n,c=null;;)if(f=t.exec(l),f==null||l==""){h[i]=l;break}else s=f.index,h[i]=(Fi(0,s,l.length),l.substr(0,s)),l=qo(l,s+f[0].length,l.length),t.lastIndex=0,c==l&&(h[i]=(Fi(0,1,l.length),l.substr(0,1)),l=(zn(1,l.length+1),l.substr(1))),c=l,++i;if(n.length>0){for(r=h.length;r>0&&h[r-1]=="";)--r;r0&&(d-=i[0]+n.c,i[0]+=n.c),i[2]>0&&(d-=i[2]+n.c),i[1]=y.Math.max(i[1],d),hM(n.a[1],t.c+e.b+i[0]-(i[1]-d)/2,i[1]);for(c=n.a,f=0,l=c.length;f0?(n.n.c.length-1)*n.i:0,i=new C(n.n);i.a1)for(i=ge(r,0);i.b!=i.d.c;)for(t=u(be(i),235),c=0,h=new C(t.e);h.a0&&(e[0]+=n.c,d-=e[0]),e[2]>0&&(d-=e[2]+n.c),e[1]=y.Math.max(e[1],d),lM(n.a[1],i.d+t.d+e[0]-(e[1]-d)/2,e[1]);else for(m=i.d+t.d,p=i.a-t.d-t.a,s=n.a,h=0,a=s.length;h0||x0(r.b.d,n.b.d+n.b.a)==0&&i.b<0||x0(r.b.d+r.b.a,n.b.d)==0&&i.b>0){f=0;break}}else f=y.Math.min(f,x_n(n,r,i));f=y.Math.min(f,_Un(n,c,f,i))}return f}function dy(n,e){var t,i,r,c,s,f,h;if(n.b<2)throw M(new Gn("The vector chain must contain at least a source and a target point."));for(r=(oe(n.b!=0),u(n.a.a.c,8)),j7(e,r.a,r.b),h=new kp((!e.a&&(e.a=new ti(xo,e,5)),e.a)),s=ge(n,1);s.a=0&&c!=t))throw M(new Gn(Vy));for(r=0,h=0;h$(Af(s.g,s.d[0]).a)?(oe(h.b>0),h.a.Xb(h.c=--h.b),Rb(h,s),r=!0):f.e&&f.e.gc()>0&&(c=(!f.e&&(f.e=new Z),f.e).Mc(e),l=(!f.e&&(f.e=new Z),f.e).Mc(t),(c||l)&&((!f.e&&(f.e=new Z),f.e).Fc(s),++s.c));r||Kn(i.c,s)}function OPe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S;return d=n.a.i+n.a.g/2,g=n.a.i+n.a.g/2,m=e.i+e.g/2,j=e.j+e.f/2,f=new V(m,j),l=u(z(e,(He(),N3)),8),l.a=l.a+d,l.b=l.b+g,c=(f.b-l.b)/(f.a-l.a),i=f.b-c*f.a,k=t.i+t.g/2,S=t.j+t.f/2,h=new V(k,S),a=u(z(t,N3),8),a.a=a.a+d,a.b=a.b+g,s=(h.b-a.b)/(h.a-a.a),r=h.b-s*h.a,p=(i-r)/(s-c),l.a>>0,"0"+e.toString(16)),i="\\x"+qo(t,t.length-2,t.length)):n>=hr?(t=(e=n>>>0,"0"+e.toString(16)),i="\\v"+qo(t,t.length-6,t.length)):i=""+String.fromCharCode(n&ui)}return i}function GUn(n){var e,t,i;if(mg(u(v(n,(cn(),Kt)),101)))for(t=new C(n.j);t.a=e.o&&t.f<=e.f||e.a*.5<=t.f&&e.a*1.5>=t.f){if(s=u(sn(e.n,e.n.c.length-1),209),s.e+s.d+t.g+r<=i&&(c=u(sn(e.n,e.n.c.length-1),209),c.f-n.f+t.f<=n.b||n.a.c.length==1))return xY(e,t),!0;if(e.s+t.g<=i&&(e.t+e.d+t.f+r<=n.b||n.a.c.length==1))return nn(e.b,t),f=u(sn(e.n,e.n.c.length-1),209),nn(e.n,new NM(e.s,f.f+f.a+e.i,e.i)),gZ(u(sn(e.n,e.n.c.length-1),209),t),RUn(e,t),!0}return!1}function XUn(n,e,t){var i,r,c,s;return n.Pj()?(r=null,c=n.Qj(),i=n.Ij(1,s=d$(n,e,t),t,e,c),n.Mj()&&!(n.Yi()&&s!=null?rt(s,t):x(s)===x(t))?(s!=null&&(r=n.Oj(s,r)),r=n.Nj(t,r),n.Tj()&&(r=n.Wj(s,t,r)),r?(r.nj(i),r.oj()):n.Jj(i)):(n.Tj()&&(r=n.Wj(s,t,r)),r?(r.nj(i),r.oj()):n.Jj(i)),s):(s=d$(n,e,t),n.Mj()&&!(n.Yi()&&s!=null?rt(s,t):x(s)===x(t))&&(r=null,s!=null&&(r=n.Oj(s,null)),r=n.Nj(t,r),r&&r.oj()),s)}function BPe(n,e){var t,i,r,c,s;if(e.Ug("Path-Like Graph Wrapping",1),n.b.c.length==0){e.Vg();return}if(r=new znn(n),s=(r.i==null&&(r.i=FQ(r,new VU)),$(r.i)*r.f),t=s/(r.i==null&&(r.i=FQ(r,new VU)),$(r.i)),r.b>t){e.Vg();return}switch(u(v(n,(cn(),LH)),351).g){case 2:c=new JU;break;case 0:c=new XU;break;default:c=new QU}if(i=c.og(n,r),!c.pg())switch(u(v(n,jI),352).g){case 2:i=F_n(r,i);break;case 1:i=SKn(r,i)}NIe(n,r,i),e.Vg()}function H5(n,e){var t,i,r,c,s,f,h,l;e%=24,n.q.getHours()!=e&&(i=new y.Date(n.q.getTime()),i.setDate(i.getDate()+1),f=n.q.getTimezoneOffset()-i.getTimezoneOffset(),f>0&&(h=f/60|0,l=f%60,r=n.q.getDate(),t=n.q.getHours(),t+h>=24&&++r,c=new y.Date(n.q.getFullYear(),n.q.getMonth(),r,e+h,n.q.getMinutes()+l,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(c.getTime()))),s=n.q.getTime(),n.q.setTime(s+36e5),n.q.getHours()!=e&&n.q.setTime(s)}function RPe(n,e){var t,i,r,c;if(Y2e(n.d,n.e),n.c.a.$b(),$(R(v(e.j,(cn(),hI))))!=0||$(R(v(e.j,hI)))!=0)for(t=i2,x(v(e.j,Yh))!==x((lh(),k1))&&U(e.j,(W(),ka),(_n(),!0)),c=u(v(e.j,V8),17).a,r=0;rr&&++l,nn(s,(Ln(f+l,e.c.length),u(e.c[f+l],17))),h+=(Ln(f+l,e.c.length),u(e.c[f+l],17)).a-i,++t;t=j&&n.e[h.p]>m*n.b||O>=t*j)&&(Kn(g.c,f),f=new Z,Bi(s,c),c.a.$b(),l-=a,p=y.Math.max(p,l*n.b+k),l+=O,I=O,O=0,a=0,k=0);return new bi(p,g)}function $F(n){var e,t,i,r,c,s,f;if(!n.d){if(f=new jvn,e=N9,c=e.a.zc(n,e),c==null){for(i=new ne(Hr(n));i.e!=i.i.gc();)t=u(ue(i),29),Bt(f,$F(t));e.a.Bc(n)!=null,e.a.gc()==0}for(s=f.i,r=(!n.q&&(n.q=new q(Ss,n,11,10)),new ne(n.q));r.e!=r.i.gc();++s)u(ue(r),411);Bt(f,(!n.q&&(n.q=new q(Ss,n,11,10)),n.q)),ew(f),n.d=new pg((u(L(H((G1(),Hn).o),9),19),f.i),f.g),n.e=u(f.g,688),n.e==null&&(n.e=Joe),Zu(n).b&=-17}return n.d}function Om(n,e,t,i){var r,c,s,f,h,l;if(l=ru(n.e.Dh(),e),h=0,r=u(n.g,124),dr(),u(e,69).xk()){for(s=0;s1||m==-1)if(d=u(k,71),g=u(a,71),d.dc())g.$b();else for(s=!!br(e),c=0,f=n.a?d.Kc():d.Ii();f.Ob();)l=u(f.Pb(),58),r=u(Nf(n,l),58),r?(s?(h=g.dd(r),h==-1?g.Gi(c,r):c!=h&&g.Ui(c,r)):g.Gi(c,r),++c):n.b&&!s&&(g.Gi(c,l),++c);else k==null?a.Wb(null):(r=Nf(n,k),r==null?n.b&&!br(e)&&a.Wb(k):a.Wb(r))}function UPe(n,e){var t,i,r,c,s,f,h,l;for(t=new ogn,r=new ie(ce(ji(e).a.Kc(),new En));pe(r);)if(i=u(fe(r),18),!fr(i)&&(f=i.c.i,YZ(f,MP))){if(l=pen(n,f,MP,CP),l==-1)continue;t.b=y.Math.max(t.b,l),!t.a&&(t.a=new Z),nn(t.a,f)}for(s=new ie(ce(Qt(e).a.Kc(),new En));pe(s);)if(c=u(fe(s),18),!fr(c)&&(h=c.d.i,YZ(h,CP))){if(l=pen(n,h,CP,MP),l==-1)continue;t.d=y.Math.max(t.d,l),!t.c&&(t.c=new Z),nn(t.c,h)}return t}function GPe(n,e,t,i){var r,c,s,f,h,l,a;if(t.d.i!=e.i){for(r=new Tl(n),Ha(r,(Vn(),Mi)),U(r,(W(),st),t),U(r,(cn(),Kt),(Oi(),qc)),Kn(i.c,r),s=new Pc,ic(s,r),gi(s,(en(),Wn)),f=new Pc,ic(f,r),gi(f,Zn),a=t.d,Ii(t,s),c=new E0,Ur(c,t),U(c,Fr,null),Zi(c,f),Ii(c,a),l=new xi(t.b,0);l.b1e6)throw M(new _E("power of ten too big"));if(n<=et)return Fp(ry(m3[1],e),e);for(i=ry(m3[1],et),r=i,t=vc(n-et),e=wi(n%et);Ec(t,et)>0;)r=Ig(r,i),t=bs(t,et);for(r=Ig(r,ry(m3[1],e)),r=Fp(r,et),t=vc(n-et);Ec(t,et)>0;)r=Fp(r,et),t=bs(t,et);return r=Fp(r,e),r}function WUn(n){var e,t,i,r,c,s,f,h,l,a;for(h=new C(n.a);h.al&&i>l)a=f,l=$(e.p[f.p])+$(e.d[f.p])+f.o.b+f.d.a;else{r=!1,t._g()&&t.bh("bk node placement breaks on "+f+" which should have been after "+a);break}if(!r)break}return t._g()&&t.bh(e+" is feasible: "+r),r}function qen(n,e,t,i){var r,c,s,f,h,l,a,d,g;if(c=new Tl(n),Ha(c,(Vn(),_c)),U(c,(cn(),Kt),(Oi(),qc)),r=0,e){for(s=new Pc,U(s,(W(),st),e),U(c,st,e.i),gi(s,(en(),Wn)),ic(s,c),g=hh(e.e),l=g,a=0,d=l.length;a0){if(r<0&&a.a&&(r=h,c=l[0],i=0),r>=0){if(f=a.b,h==r&&(f-=i++,f==0))return 0;if(!ZGn(e,l,a,f,s)){h=r-1,l[0]=c;continue}}else if(r=-1,!ZGn(e,l,a,0,s))return 0}else{if(r=-1,Xi(a.c,0)==32){if(d=l[0],n$n(e,l),l[0]>d)continue}else if(Lge(e,a.c,l[0])){l[0]+=a.c.length;continue}return 0}return $De(s,t)?l[0]:0}function QPe(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(a=new dM(new B9n(t)),f=K(so,Xh,28,n.f.e.c.length,16,1),TW(f,f.length),t[e.a]=0,l=new C(n.f.e);l.a=0&&!Kg(n,a,d);)--d;r[a]=d}for(p=0;p=0&&!Kg(n,f,m);)--f;c[m]=f}for(h=0;he[g]&&gi[h]&&xA(n,h,g,!1,!0)}function Uen(n){var e,t,i,r,c,s,f,h;t=on(un(v(n,(Us(),XYn)))),c=n.a.c.d,f=n.a.d.d,t?(s=ch(mi(new V(f.a,f.b),c),.5),h=ch(Ki(n.e),.5),e=mi(tt(new V(c.a,c.b),s),h),ZX(n.d,e)):(r=$(R(v(n.a,tZn))),i=n.d,c.a>=f.a?c.b>=f.b?(i.a=f.a+(c.a-f.a)/2+r,i.b=f.b+(c.b-f.b)/2-r-n.e.b):(i.a=f.a+(c.a-f.a)/2+r,i.b=c.b+(f.b-c.b)/2+r):c.b>=f.b?(i.a=c.a+(f.a-c.a)/2+r,i.b=f.b+(c.b-f.b)/2+r):(i.a=c.a+(f.a-c.a)/2+r,i.b=c.b+(f.b-c.b)/2-r-n.e.b))}function U5(n){var e,t,i,r,c,s,f,h;if(!n.f){if(h=new iG,f=new iG,e=N9,s=e.a.zc(n,e),s==null){for(c=new ne(Hr(n));c.e!=c.i.gc();)r=u(ue(c),29),Bt(h,U5(r));e.a.Bc(n)!=null,e.a.gc()==0}for(i=(!n.s&&(n.s=new q(ku,n,21,17)),new ne(n.s));i.e!=i.i.gc();)t=u(ue(i),179),D(t,102)&&ve(f,u(t,19));ew(f),n.r=new _Sn(n,(u(L(H((G1(),Hn).o),6),19),f.i),f.g),Bt(h,n.r),ew(h),n.f=new pg((u(L(H(Hn.o),5),19),h.i),h.g),Zu(n).b&=-3}return n.f}function QUn(n){r0(n,new gd(e0(Yd(n0(Zd(new Ka,jd),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new Bbn))),Q(n,jd,WB,rn(aon)),Q(n,jd,JB,rn(g_)),Q(n,jd,l3,rn(DYn)),Q(n,jd,W0,rn(lon)),Q(n,jd,Dtn,rn(xYn)),Q(n,jd,Ltn,rn($Yn)),Q(n,jd,Otn,rn(FYn)),Q(n,jd,Ntn,rn(NYn)),Q(n,jd,_tn,rn(LYn)),Q(n,jd,Htn,rn(w_)),Q(n,jd,qtn,rn(hon)),Q(n,jd,Utn,rn(pP))}function KA(){KA=F,Ddn=A(T(fs,1),gh,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),Toe=new RegExp(`[ +\r\f]+`);try{O9=A(T(LNe,1),Bn,2114,0,[new X9((kX(),zT("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",I7((KE(),KE(),T8))))),new X9(zT("yyyy-MM-dd'T'HH:mm:ss'.'SSS",I7(T8))),new X9(zT("yyyy-MM-dd'T'HH:mm:ss",I7(T8))),new X9(zT("yyyy-MM-dd'T'HH:mm",I7(T8))),new X9(zT("yyyy-MM-dd",I7(T8)))])}catch(n){if(n=It(n),!D(n,82))throw M(n)}}function ZPe(n,e){var t,i,r,c;if(r=to(n.d,1)!=0,i=Cen(n,e),i==0&&on(un(v(e.j,(W(),ka)))))return 0;!on(un(v(e.j,(W(),ka))))&&!on(un(v(e.j,j2)))||x(v(e.j,(cn(),Yh)))===x((lh(),k1))?e.c.mg(e.e,r):r=on(un(v(e.j,ka))),sy(n,e,r,!0),on(un(v(e.j,j2)))&&U(e.j,j2,(_n(),!1)),on(un(v(e.j,ka)))&&(U(e.j,ka,(_n(),!1)),U(e.j,j2,!0)),t=Cen(n,e);do{if($Q(n),t==0)return 0;r=!r,c=t,sy(n,e,r,!1),t=Cen(n,e)}while(c>t);return c}function YUn(n,e){var t,i,r,c;if(r=to(n.d,1)!=0,i=kA(n,e),i==0&&on(un(v(e.j,(W(),ka)))))return 0;!on(un(v(e.j,(W(),ka))))&&!on(un(v(e.j,j2)))||x(v(e.j,(cn(),Yh)))===x((lh(),k1))?e.c.mg(e.e,r):r=on(un(v(e.j,ka))),sy(n,e,r,!0),on(un(v(e.j,j2)))&&U(e.j,j2,(_n(),!1)),on(un(v(e.j,ka)))&&(U(e.j,ka,(_n(),!1)),U(e.j,j2,!0)),t=kA(n,e);do{if($Q(n),t==0)return 0;r=!r,c=t,sy(n,e,r,!1),t=kA(n,e)}while(c>t);return c}function Gen(n,e,t,i){var r,c,s,f,h,l,a,d,g;return h=mi(new V(t.a,t.b),n),l=h.a*e.b-h.b*e.a,a=e.a*i.b-e.b*i.a,d=(h.a*i.b-h.b*i.a)/a,g=l/a,a==0?l==0?(r=tt(new V(t.a,t.b),ch(new V(i.a,i.b),.5)),c=J1(n,r),s=J1(tt(new V(n.a,n.b),e),r),f=y.Math.sqrt(i.a*i.a+i.b*i.b)*.5,c=0&&d<=1&&g>=0&&g<=1?tt(new V(n.a,n.b),ch(new V(e.a,e.b),d)):null}function nIe(n,e,t){var i,r,c,s,f;if(i=u(v(n,(cn(),kH)),21),t.a>e.a&&(i.Hc((wd(),w9))?n.c.a+=(t.a-e.a)/2:i.Hc(g9)&&(n.c.a+=t.a-e.a)),t.b>e.b&&(i.Hc((wd(),m9))?n.c.b+=(t.b-e.b)/2:i.Hc(p9)&&(n.c.b+=t.b-e.b)),u(v(n,(W(),Hc)),21).Hc((pr(),cs))&&(t.a>e.a||t.b>e.b))for(f=new C(n.a);f.ae.a&&(i.Hc((wd(),w9))?n.c.a+=(t.a-e.a)/2:i.Hc(g9)&&(n.c.a+=t.a-e.a)),t.b>e.b&&(i.Hc((wd(),m9))?n.c.b+=(t.b-e.b)/2:i.Hc(p9)&&(n.c.b+=t.b-e.b)),u(v(n,(W(),Hc)),21).Hc((pr(),cs))&&(t.a>e.a||t.b>e.b))for(s=new C(n.a);s.a0?n.i:0)>e&&h>0&&(c=0,s+=h+n.i,r=y.Math.max(r,g),i+=h+n.i,h=0,g=0,t&&(++d,nn(n.n,new NM(n.s,s,n.i))),f=0),g+=l.g+(f>0?n.i:0),h=y.Math.max(h,l.f),t&&gZ(u(sn(n.n,d),209),l),c+=l.g+(f>0?n.i:0),++f;return r=y.Math.max(r,g),i+=h,t&&(n.r=r,n.d=i,kZ(n.j)),new Ho(n.s,n.t,r,i)}function xF(n){var e,t,i,r,c,s,f,h,l,a,d,g;for(n.b=!1,d=St,h=li,g=St,l=li,i=n.e.a.ec().Kc();i.Ob();)for(t=u(i.Pb(),272),r=t.a,d=y.Math.min(d,r.c),h=y.Math.max(h,r.c+r.b),g=y.Math.min(g,r.d),l=y.Math.max(l,r.d+r.a),s=new C(t.c);s.an.o.a&&(a=(h-n.o.a)/2,f.b=y.Math.max(f.b,a),f.c=y.Math.max(f.c,a))}}function rIe(n){var e,t,i,r,c,s,f,h;for(c=new XOn,$le(c,(qp(),due)),i=(r=S$(n,K(fn,J,2,0,6,1)),new zv(new Ku(new SD(n,r).b)));i.bf?1:-1:hY(n.a,e.a,c),r==-1)d=-h,a=s==h?ZN(e.a,f,n.a,c):e$(e.a,f,n.a,c);else if(d=s,s==h){if(r==0)return dh(),S8;a=ZN(n.a,c,e.a,f)}else a=e$(n.a,c,e.a,f);return l=new Ya(d,a.length,a),J6(l),l}function cIe(n,e){var t,i,r,c;if(c=$Un(e),!e.c&&(e.c=new q(Qu,e,9,9)),qt(new Tn(null,(!e.c&&(e.c=new q(Qu,e,9,9)),new In(e.c,16))),new H9n(c)),r=u(v(c,(W(),Hc)),21),QOe(e,r),r.Hc((pr(),cs)))for(i=new ne((!e.c&&(e.c=new q(Qu,e,9,9)),e.c));i.e!=i.i.gc();)t=u(ue(i),123),TDe(n,e,c,t);return u(z(e,(cn(),xd)),181).gc()!=0&&Aqn(e,c),on(un(v(c,ahn)))&&r.Fc(eI),kt(c,Mj)&&xjn(new XY($(R(v(c,Mj)))),c),x(z(e,Bw))===x((jl(),M1))?JLe(n,e,c):NLe(n,e,c),c}function uIe(n){var e,t,i,r,c,s,f,h;for(r=new C(n.b);r.a0?qo(t.a,0,c-1):""):(Fi(0,c-1,n.length),n.substr(0,c-1)):t?t.a:n}function oIe(n,e){var t,i,r,c,s,f,h;for(e.Ug("Sort By Input Model "+v(n,(cn(),Yh)),1),r=0,i=new C(n.b);i.a=n.b.length?(c[r++]=s.b[i++],c[r++]=s.b[i++]):i>=s.b.length?(c[r++]=n.b[t++],c[r++]=n.b[t++]):s.b[i]0?n.i:0)),++e;for(IY(n.n,h),n.d=t,n.r=i,n.g=0,n.f=0,n.e=0,n.o=St,n.p=St,c=new C(n.b);c.a0&&(r=(!n.n&&(n.n=new q(Ar,n,1,7)),u(L(n.n,0),135)).a,!r||Re(Re((e.a+=' "',e),r),'"'))),t=(!n.b&&(n.b=new Nn(he,n,4,7)),!(n.b.i<=1&&(!n.c&&(n.c=new Nn(he,n,5,8)),n.c.i<=1))),t?e.a+=" [":e.a+=" ",Re(e,RX(new yD,new ne(n.b))),t&&(e.a+="]"),e.a+=iR,t&&(e.a+="["),Re(e,RX(new yD,new ne(n.c))),t&&(e.a+="]"),e.a)}function fIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn;for(_=n.c,X=e.c,t=qr(_.a,n,0),i=qr(X.a,e,0),O=u(F0(n,(gr(),Vu)).Kc().Pb(),12),kn=u(F0(n,Jc).Kc().Pb(),12),N=u(F0(e,Vu).Kc().Pb(),12),Fn=u(F0(e,Jc).Kc().Pb(),12),S=hh(O.e),tn=hh(kn.g),I=hh(N.e),yn=hh(Fn.g),uw(n,i,X),s=I,a=0,m=s.length;aa?new ed((af(),zw),t,e,l-a):l>0&&a>0&&(new ed((af(),zw),e,t,0),new ed(zw,t,e,0))),s)}function aIe(n,e,t){var i,r,c;for(n.a=new Z,c=ge(e.b,0);c.b!=c.d.c;){for(r=u(be(c),40);u(v(r,(lc(),Sh)),17).a>n.a.c.length-1;)nn(n.a,new bi(i2,Arn));i=u(v(r,Sh),17).a,t==(ci(),Br)||t==Xr?(r.e.a<$(R(u(sn(n.a,i),42).a))&&QO(u(sn(n.a,i),42),r.e.a),r.e.a+r.f.a>$(R(u(sn(n.a,i),42).b))&&YO(u(sn(n.a,i),42),r.e.a+r.f.a)):(r.e.b<$(R(u(sn(n.a,i),42).a))&&QO(u(sn(n.a,i),42),r.e.b),r.e.b+r.f.b>$(R(u(sn(n.a,i),42).b))&&YO(u(sn(n.a,i),42),r.e.b+r.f.b))}}function eGn(n,e,t,i){var r,c,s,f,h,l,a;if(c=KT(i),f=on(un(v(i,(cn(),uhn)))),(f||on(un(v(n,wI))))&&!mg(u(v(n,Kt),101)))r=zp(c),h=Nen(n,t,t==(gr(),Jc)?r:xk(r));else switch(h=new Pc,ic(h,n),e?(a=h.n,a.a=e.a-n.n.a,a.b=e.b-n.n.b,o_n(a,0,0,n.o.a,n.o.b),gi(h,jUn(h,c))):(r=zp(c),gi(h,t==(gr(),Jc)?r:xk(r))),s=u(v(i,(W(),Hc)),21),l=h.j,c.g){case 2:case 1:(l==(en(),Xn)||l==ae)&&s.Fc((pr(),v2));break;case 4:case 3:(l==(en(),Zn)||l==Wn)&&s.Fc((pr(),v2))}return h}function tGn(n,e){var t,i,r,c,s,f;for(s=new sd(new Ua(n.f.b).a);s.b;){if(c=L0(s),r=u(c.ld(),602),e==1){if(r.Af()!=(ci(),us)&&r.Af()!=Wf)continue}else if(r.Af()!=(ci(),Br)&&r.Af()!=Xr)continue;switch(i=u(u(c.md(),42).b,86),f=u(u(c.md(),42).a,194),t=f.c,r.Af().g){case 2:i.g.c=n.e.a,i.g.b=y.Math.max(1,i.g.b+t);break;case 1:i.g.c=i.g.c+t,i.g.b=y.Math.max(1,i.g.b-t);break;case 4:i.g.d=n.e.b,i.g.a=y.Math.max(1,i.g.a+t);break;case 3:i.g.d=i.g.d+t,i.g.a=y.Math.max(1,i.g.a-t)}}}function dIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(f=K(ye,_e,28,e.b.c.length,15,1),l=K(D_,G,273,e.b.c.length,0,1),h=K(Qh,b1,10,e.b.c.length,0,1),d=n.a,g=0,p=d.length;g0&&h[i]&&(m=jg(n.b,h[i],r)),k=y.Math.max(k,r.c.c.b+m);for(c=new C(a.e);c.a1)throw M(new Gn(Zy));h||(c=Fh(e,i.Kc().Pb()),s.Fc(c))}return JQ(n,pnn(n,e,t),s)}function HA(n,e,t){var i,r,c,s,f,h,l,a;if(Sl(n.e,e))h=(dr(),u(e,69).xk()?new eM(e,n):new k7(e,n)),jA(h.c,h.b),P6(h,u(t,16));else{for(a=ru(n.e.Dh(),e),i=u(n.g,124),s=0;s"}h!=null&&(e.a+=""+h)}else n.e?(f=n.e.zb,f!=null&&(e.a+=""+f)):(e.a+="?",n.b?(e.a+=" super ",_F(n.b,e)):n.f&&(e.a+=" extends ",_F(n.f,e)))}function vIe(n){n.b=null,n.a=null,n.o=null,n.q=null,n.v=null,n.w=null,n.B=null,n.p=null,n.Q=null,n.R=null,n.S=null,n.T=null,n.U=null,n.V=null,n.W=null,n.bb=null,n.eb=null,n.ab=null,n.H=null,n.db=null,n.c=null,n.d=null,n.f=null,n.n=null,n.r=null,n.s=null,n.u=null,n.G=null,n.J=null,n.e=null,n.j=null,n.i=null,n.g=null,n.k=null,n.t=null,n.F=null,n.I=null,n.L=null,n.M=null,n.O=null,n.P=null,n.$=null,n.N=null,n.Z=null,n.cb=null,n.K=null,n.D=null,n.A=null,n.C=null,n._=null,n.fb=null,n.X=null,n.Y=null,n.gb=!1,n.hb=!1}function kIe(n){var e,t,i,r;if(i=ZF((!n.c&&(n.c=J7(vc(n.f))),n.c),0),n.e==0||n.a==0&&n.f!=-1&&n.e<0)return i;if(e=xQ(n)<0?1:0,t=n.e,r=(i.length+1+y.Math.abs(wi(n.e)),new fg),e==1&&(r.a+="-"),n.e>0)if(t-=i.length-e,t>=0){for(r.a+="0.";t>Id.length;t-=Id.length)QSn(r,Id);$An(r,Id,wi(t)),Re(r,(zn(e,i.length+1),i.substr(e)))}else t=e-t,Re(r,qo(i,e,wi(t))),r.a+=".",Re(r,$W(i,wi(t)));else{for(Re(r,(zn(e,i.length+1),i.substr(e)));t<-Id.length;t+=Id.length)QSn(r,Id);$An(r,Id,wi(-t))}return r.a}function HF(n){var e,t,i,r,c,s,f,h,l;return!(n.k!=(Vn(),zt)||n.j.c.length<=1||(c=u(v(n,(cn(),Kt)),101),c==(Oi(),qc))||(r=(cw(),(n.q?n.q:(Dn(),Dn(),Wh))._b(db)?i=u(v(n,db),203):i=u(v(Hi(n),z8),203),i),r==TI)||!(r==P2||r==S2)&&(s=$(R(rw(n,X8))),e=u(v(n,Aj),140),!e&&(e=new mV(s,s,s,s)),l=uc(n,(en(),Wn)),h=e.d+e.a+(l.gc()-1)*s,h>n.o.b||(t=uc(n,Zn),f=e.d+e.a+(t.gc()-1)*s,f>n.o.b)))}function yIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;e.Ug("Orthogonal edge routing",1),l=$(R(v(n,(cn(),A2)))),t=$(R(v(n,M2))),i=$(R(v(n,Bd))),g=new lN(0,t),j=0,s=new xi(n.b,0),f=null,a=null,h=null,d=null;do a=s.b0?(p=(m-1)*t,f&&(p+=i),a&&(p+=i),pe||on(un(z(h,(Rf(),Kj)))))&&(r=0,c+=a.b+t,Kn(d.c,a),a=new dJ(c,t),i=new U$(0,a.f,a,t),wT(a,i),r=0),i.b.c.length==0||!on(un(z(At(h),(Rf(),Lq))))&&(h.f>=i.o&&h.f<=i.f||i.a*.5<=h.f&&i.a*1.5>=h.f)?xY(i,h):(s=new U$(i.s+i.r+t,a.f,a,t),wT(a,s),xY(s,h)),r=h.i+h.g;return Kn(d.c,a),d}function z5(n){var e,t,i,r;if(!(n.b==null||n.b.length<=2)&&!n.a){for(e=0,r=0;r=n.b[r+1])r+=2;else if(t0)for(i=new _u(u(ot(n.a,c),21)),Dn(),Yt(i,new LG(e)),r=new xi(c.b,0);r.b0&&i>=-6?i>=0?E7(c,t-wi(n.e),"."):(L$(c,e-1,e-1,"0."),E7(c,e+1,ws(Id,0,-wi(i)-1))):(t-e>=1&&(E7(c,e,"."),++t),E7(c,t,"E"),i>0&&E7(c,++t,"+"),E7(c,++t,""+_6(vc(i)))),n.g=c.a,n.g))}function OIe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn;i=$(R(v(e,(cn(),fhn)))),_=u(v(e,V8),17).a,g=4,r=3,X=20/_,p=!1,h=0,s=et;do{for(c=h!=1,d=h!=0,tn=0,j=n.a,I=0,N=j.length;I_)?(h=2,s=et):h==0?(h=1,s=tn):(h=0,s=tn)):(p=tn>=s||s-tn0?1:s0(isNaN(i),isNaN(0)))>=0^(Ks(jh),(y.Math.abs(f)<=jh||f==0||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:s0(isNaN(f),isNaN(0)))>=0)?y.Math.max(f,i):(Ks(jh),(y.Math.abs(i)<=jh||i==0||isNaN(i)&&isNaN(0)?0:i<0?-1:i>0?1:s0(isNaN(i),isNaN(0)))>0?y.Math.sqrt(f*f+i*i):-y.Math.sqrt(f*f+i*i))}function pd(n,e){var t,i,r,c,s,f;if(e){if(!n.a&&(n.a=new BE),n.e==2){FE(n.a,e);return}if(e.e==1){for(r=0;r=hr?Er(t,$Y(i)):T4(t,i&ui),s=new IN(10,null,0),wwe(n.a,s,f-1)):(t=(s.Mm().length+c,new i6),Er(t,s.Mm())),e.e==0?(i=e.Km(),i>=hr?Er(t,$Y(i)):T4(t,i&ui)):Er(t,e.Mm()),u(s,530).b=t.a}}function NIe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(!t.dc()){for(f=0,g=0,i=t.Kc(),m=u(i.Pb(),17).a;f1&&(h=l.Hg(h,n.a,f));return h.c.length==1?u(sn(h,h.c.length-1),238):h.c.length==2?EIe((Ln(0,h.c.length),u(h.c[0],238)),(Ln(1,h.c.length),u(h.c[1],238)),s,c):null}function BIe(n,e,t){var i,r,c,s,f,h,l;for(t.Ug("Find roots",1),n.a.c.length=0,r=ge(e.b,0);r.b!=r.d.c;)i=u(be(r),40),i.b.b==0&&(U(i,(pt(),Ma),(_n(),!0)),nn(n.a,i));switch(n.a.c.length){case 0:c=new q$(0,e,"DUMMY_ROOT"),U(c,(pt(),Ma),(_n(),!0)),U(c,tq,!0),Fe(e.b,c);break;case 1:break;default:for(s=new q$(0,e,IS),h=new C(n.a);h.a=y.Math.abs(i.b)?(i.b=0,c.d+c.a>s.d&&c.ds.c&&c.c0){if(e=new gX(n.i,n.g),t=n.i,c=t<100?null:new F1(t),n.Tj())for(i=0;i0){for(f=n.g,l=n.i,e5(n),c=l<100?null:new F1(l),i=0;i>13|(n.m&15)<<9,r=n.m>>4&8191,c=n.m>>17|(n.h&255)<<5,s=(n.h&1048320)>>8,f=e.l&8191,h=e.l>>13|(e.m&15)<<9,l=e.m>>4&8191,a=e.m>>17|(e.h&255)<<5,d=(e.h&1048320)>>8,yn=t*f,kn=i*f,Fn=r*f,Rn=c*f,te=s*f,h!=0&&(kn+=t*h,Fn+=i*h,Rn+=r*h,te+=c*h),l!=0&&(Fn+=t*l,Rn+=i*l,te+=r*l),a!=0&&(Rn+=t*a,te+=i*a),d!=0&&(te+=t*d),p=yn&ro,m=(kn&511)<<13,g=p+m,j=yn>>22,S=kn>>9,I=(Fn&262143)<<4,O=(Rn&31)<<17,k=j+S+I+O,_=Fn>>18,X=Rn>>5,tn=(te&4095)<<8,N=_+X+tn,k+=g>>22,g&=ro,N+=k>>22,k&=ro,N&=Il,Yc(g,k,N)}function dGn(n){var e,t,i,r,c,s,f;if(f=u(sn(n.j,0),12),f.g.c.length!=0&&f.e.c.length!=0)throw M(new Or("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(f.g.c.length!=0){for(c=St,t=new C(f.g);t.a4)if(n.fk(e)){if(n.al()){if(r=u(e,54),i=r.Eh(),h=i==n.e&&(n.ml()?r.yh(r.Fh(),n.il())==n.jl():-1-r.Fh()==n.Lj()),n.nl()&&!h&&!i&&r.Jh()){for(c=0;c0&&b_n(n,f,d);for(r=new C(d);r.an.d[s.p]&&(t+=SJ(n.b,c)*u(h.b,17).a,W1(n.a,Y(c)));for(;!t6(n.a);)oQ(n.b,u(Sp(n.a),17).a)}return t}function qIe(n,e){var t,i,r,c,s,f,h,l,a,d;if(a=u(v(n,(W(),gc)),64),i=u(sn(n.j,0),12),a==(en(),Xn)?gi(i,ae):a==ae&&gi(i,Xn),u(v(e,(cn(),xd)),181).Hc((go(),Gd))){if(h=$(R(v(n,Av))),l=$(R(v(n,Sv))),s=$(R(v(n,qw))),f=u(v(e,_w),21),f.Hc((zu(),Fl)))for(t=l,d=n.o.a/2-i.n.a,c=new C(i.f);c.a0&&(l=n.n.a/c);break;case 2:case 4:r=n.i.o.b,r>0&&(l=n.n.b/r)}U(n,(W(),fb),l)}if(h=n.o,s=n.a,i)s.a=i.a,s.b=i.b,n.d=!0;else if(e!=Qf&&e!=Pa&&f!=sc)switch(f.g){case 1:s.a=h.a/2;break;case 2:s.a=h.a,s.b=h.b/2;break;case 3:s.a=h.a/2,s.b=h.b;break;case 4:s.b=h.b/2}else s.a=h.a/2,s.b=h.b/2}function X5(n){var e,t,i,r,c,s,f,h,l,a;if(n.Pj())if(a=n.Ej(),h=n.Qj(),a>0)if(e=new KQ(n.pj()),t=a,c=t<100?null:new F1(t),S7(n,t,e.g),r=t==1?n.Ij(4,L(e,0),null,0,h):n.Ij(6,e,null,-1,h),n.Mj()){for(i=new ne(e);i.e!=i.i.gc();)c=n.Oj(ue(i),c);c?(c.nj(r),c.oj()):n.Jj(r)}else c?(c.nj(r),c.oj()):n.Jj(r);else S7(n,n.Ej(),n.Fj()),n.Jj(n.Ij(6,(Dn(),sr),null,-1,h));else if(n.Mj())if(a=n.Ej(),a>0){for(f=n.Fj(),l=a,S7(n,a,f),c=l<100?null:new F1(l),i=0;i1&&Su(s)*ao(s)/2>f[0]){for(c=0;cf[c];)++c;m=new Jl(k,0,c+1),d=new hT(m),a=Su(s)/ao(s),h=QF(d,e,new up,t,i,r,a),tt(ff(d.e),h),Mp(ym(g,d),_m),p=new Jl(k,c+1,k.c.length),CZ(g,p),k.c.length=0,l=0,bPn(f,f.length,0)}else j=g.b.c.length==0?null:sn(g.b,0),j!=null&&M$(g,0),l>0&&(f[l]=f[l-1]),f[l]+=Su(s)*ao(s),++l,Kn(k.c,s);return k}function WIe(n,e){var t,i,r,c;t=e.b,c=new _u(t.j),r=0,i=t.j,i.c.length=0,g0(u(od(n.b,(en(),Xn),(D0(),ub)),15),t),r=_k(c,r,new bpn,i),g0(u(od(n.b,Xn,va),15),t),r=_k(c,r,new opn,i),g0(u(od(n.b,Xn,cb),15),t),g0(u(od(n.b,Zn,ub),15),t),g0(u(od(n.b,Zn,va),15),t),r=_k(c,r,new wpn,i),g0(u(od(n.b,Zn,cb),15),t),g0(u(od(n.b,ae,ub),15),t),r=_k(c,r,new gpn,i),g0(u(od(n.b,ae,va),15),t),r=_k(c,r,new ppn,i),g0(u(od(n.b,ae,cb),15),t),g0(u(od(n.b,Wn,ub),15),t),r=_k(c,r,new hpn,i),g0(u(od(n.b,Wn,va),15),t),g0(u(od(n.b,Wn,cb),15),t)}function JIe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p;for(f=new C(e);f.a.5?S-=s*2*(m-.5):m<.5&&(S+=c*2*(.5-m)),r=f.d.b,Sj.a-k-a&&(S=j.a-k-a),f.n.a=e+S}}function nOe(n){var e,t,i,r,c;if(i=u(v(n,(cn(),ou)),171),i==(Yo(),ya)){for(t=new ie(ce(ji(n).a.Kc(),new En));pe(t);)if(e=u(fe(t),18),!SLn(e))throw M(new _l(oR+qk(n)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(i==xw){for(c=new ie(ce(Qt(n).a.Kc(),new En));pe(c);)if(r=u(fe(c),18),!SLn(r))throw M(new _l(oR+qk(n)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function gy(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m;if(n.e&&n.c.c>19&&(e=tm(e),h=!h),s=BMe(e),c=!1,r=!1,i=!1,n.h==Ty&&n.m==0&&n.l==0)if(r=!0,c=!0,s==-1)n=nTn((R4(),hun)),i=!0,h=!h;else return f=Xnn(n,s),h&&H$(f),t&&(wa=Yc(0,0,0)),f;else n.h>>19&&(c=!0,n=tm(n),i=!0,h=!h);return s!=-1?d6e(n,s,h,c,t):DZ(n,e)<0?(t&&(c?wa=tm(n):wa=Yc(n.l,n.m,n.h)),Yc(0,0,0)):xSe(i?n:Yc(n.l,n.m,n.h),e,h,c,r,t)}function zF(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m;if(s=n.e,h=e.e,s==0)return e;if(h==0)return n;if(c=n.d,f=e.d,c+f==2)return t=vi(n.a[0],mr),i=vi(e.a[0],mr),s==h?(a=nr(t,i),m=Ae(a),p=Ae(U1(a,32)),p==0?new gl(s,m):new Ya(s,2,A(T(ye,1),_e,28,15,[m,p]))):(dh(),AC(s<0?bs(i,t):bs(t,i),0)?ia(s<0?bs(i,t):bs(t,i)):U6(ia(n1(s<0?bs(i,t):bs(t,i)))));if(s==h)g=s,d=c>=f?e$(n.a,c,e.a,f):e$(e.a,f,n.a,c);else{if(r=c!=f?c>f?1:-1:hY(n.a,e.a,c),r==0)return dh(),S8;r==1?(g=s,d=ZN(n.a,c,e.a,f)):(g=h,d=ZN(e.a,f,n.a,c))}return l=new Ya(g,d.length,d),J6(l),l}function tOe(n,e){var t,i,r,c,s,f,h;if(!(n.g>e.f||e.g>n.f)){for(t=0,i=0,s=n.w.a.ec().Kc();s.Ob();)r=u(s.Pb(),12),nx(cc(A(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&++t;for(f=n.r.a.ec().Kc();f.Ob();)r=u(f.Pb(),12),nx(cc(A(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&--t;for(h=e.w.a.ec().Kc();h.Ob();)r=u(h.Pb(),12),nx(cc(A(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(c=e.r.a.ec().Kc();c.Ob();)r=u(c.Pb(),12),nx(cc(A(T(Ei,1),J,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;t=0)return t;switch(y0(Lr(n,t))){case 2:{if(An("",r1(n,t.qk()).xe())){if(h=q7(Lr(n,t)),f=P4(Lr(n,t)),a=Qnn(n,e,h,f),a)return a;for(r=Aen(n,e),s=0,d=r.gc();s1)throw M(new Gn(Zy));for(a=ru(n.e.Dh(),e),i=u(n.g,124),s=0;s1,l=new Df(g.b);tc(l.a)||tc(l.b);)h=u(tc(l.a)?E(l.a):E(l.b),18),d=h.c==g?h.d:h.c,y.Math.abs(cc(A(T(Ei,1),J,8,0,[d.i.n,d.n,d.a])).b-s.b)>1&&qTe(n,h,s,c,g)}}function sOe(n){var e,t,i,r,c,s;if(r=new xi(n.e,0),i=new xi(n.a,0),n.d)for(t=0;t_R;){for(c=e,s=0;y.Math.abs(e-c)<_R;)++s,e=$((oe(r.b0),r.a.Xb(r.c=--r.b),EPe(n,n.b-s,c,i,r),oe(r.b0),i.a.Xb(i.c=--i.b)}if(!n.d)for(t=0;t0?(n.f[a.p]=p/(a.e.c.length+a.g.c.length),n.c=y.Math.min(n.c,n.f[a.p]),n.b=y.Math.max(n.b,n.f[a.p])):f&&(n.f[a.p]=p)}}function hOe(n){n.b=null,n.bb=null,n.fb=null,n.qb=null,n.a=null,n.c=null,n.d=null,n.e=null,n.f=null,n.n=null,n.M=null,n.L=null,n.Q=null,n.R=null,n.K=null,n.db=null,n.eb=null,n.g=null,n.i=null,n.j=null,n.k=null,n.gb=null,n.o=null,n.p=null,n.q=null,n.r=null,n.$=null,n.ib=null,n.S=null,n.T=null,n.t=null,n.s=null,n.u=null,n.v=null,n.w=null,n.B=null,n.A=null,n.C=null,n.D=null,n.F=null,n.G=null,n.H=null,n.I=null,n.J=null,n.P=null,n.Z=null,n.U=null,n.V=null,n.W=null,n.X=null,n.Y=null,n._=null,n.ab=null,n.cb=null,n.hb=null,n.nb=null,n.lb=null,n.mb=null,n.ob=null,n.pb=null,n.jb=null,n.kb=null,n.N=!1,n.O=!1}function lOe(n,e,t){var i,r,c,s;for(t.Ug("Graph transformation ("+n.a+")",1),s=T0(e.a),c=new C(e.b);c.a=f.b.c)&&(f.b=e),(!f.c||e.c<=f.c.c)&&(f.d=f.c,f.c=e),(!f.e||e.d>=f.e.d)&&(f.e=e),(!f.f||e.d<=f.f.d)&&(f.f=e);return i=new eA((nm(),rb)),Q7(n,IZn,new Ku(A(T(aj,1),Bn,382,0,[i]))),s=new eA(Iw),Q7(n,PZn,new Ku(A(T(aj,1),Bn,382,0,[s]))),r=new eA(Pw),Q7(n,SZn,new Ku(A(T(aj,1),Bn,382,0,[r]))),c=new eA(d2),Q7(n,AZn,new Ku(A(T(aj,1),Bn,382,0,[c]))),pF(i.c,rb),pF(r.c,Pw),pF(c.c,d2),pF(s.c,Iw),f.a.c.length=0,hi(f.a,i.c),hi(f.a,Qo(r.c)),hi(f.a,c.c),hi(f.a,Qo(s.c)),f}function bOe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m;for(e.Ug(SVn,1),p=$(R(z(n,(_h(),Xw)))),s=$(R(z(n,(Rf(),l9)))),f=u(z(n,h9),107),NQ((!n.a&&(n.a=new q(Ye,n,10,11)),n.a)),a=fGn((!n.a&&(n.a=new q(Ye,n,10,11)),n.a),p,s),!n.a&&(n.a=new q(Ye,n,10,11)),l=new C(a);l.a0&&(n.a=h+(p-1)*c,e.c.b+=n.a,e.f.b+=n.a)),m.a.gc()!=0&&(g=new lN(1,c),p=ntn(g,e,m,k,e.f.b+h-e.c.b),p>0&&(e.f.b+=h+(p-1)*c))}function gGn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;for(a=$(R(v(n,(cn(),wb)))),i=$(R(v(n,vhn))),g=new _O,U(g,wb,a+i),l=e,S=l.d,k=l.c.i,I=l.d.i,j=EX(k.c),O=EX(I.c),r=new Z,d=j;d<=O;d++)f=new Tl(n),Ha(f,(Vn(),Mi)),U(f,(W(),st),l),U(f,Kt,(Oi(),qc)),U(f,yI,g),p=u(sn(n.b,d),30),d==j?uw(f,p.a.c.length-t,p):$i(f,p),N=$(R(v(l,m1))),N<0&&(N=0,U(l,m1,N)),f.o.b=N,m=y.Math.floor(N/2),s=new Pc,gi(s,(en(),Wn)),ic(s,f),s.n.b=m,h=new Pc,gi(h,Zn),ic(h,f),h.n.b=m,Ii(l,s),c=new E0,Ur(c,l),U(c,Fr,null),Zi(c,h),Ii(c,S),ike(f,l,c),Kn(r.c,c),l=c;return r}function XF(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O;for(h=u(h1(n,(en(),Wn)).Kc().Pb(),12).e,p=u(h1(n,Zn).Kc().Pb(),12).g,f=h.c.length,O=If(u(sn(n.j,0),12));f-- >0;){for(k=(Ln(0,h.c.length),u(h.c[0],18)),r=(Ln(0,p.c.length),u(p.c[0],18)),I=r.d.e,c=qr(I,r,0),Bpe(k,r.d,c),Zi(r,null),Ii(r,null),m=k.a,e&&Fe(m,new rr(O)),i=ge(r.a,0);i.b!=i.d.c;)t=u(be(i),8),Fe(m,new rr(t));for(S=k.b,g=new C(r.b);g.as)&&fi(n.b,u(j.b,18));++f}c=s}}}function Qen(n,e){var t;if(e==null||An(e,gu)||e.length==0&&n.k!=(l1(),L3))return null;switch(n.k.g){case 1:return JT(e,nv)?(_n(),ov):JT(e,cK)?(_n(),ga):null;case 2:try{return Y(Ao(e,Wi,et))}catch(i){if(i=It(i),D(i,130))return null;throw M(i)}case 4:try{return sw(e)}catch(i){if(i=It(i),D(i,130))return null;throw M(i)}case 3:return e;case 5:return FFn(n),J_n(n,e);case 6:return FFn(n),wMe(n,n.a,e);case 7:try{return t=TCe(n),t.cg(e),t}catch(i){if(i=It(i),D(i,33))return null;throw M(i)}default:throw M(new Or("Invalid type set for this layout option."))}}function Yen(n){var e;switch(n.d){case 1:{if(n.Sj())return n.o!=-2;break}case 2:{if(n.Sj())return n.o==-2;break}case 3:case 5:case 4:case 6:case 7:return n.o>-2;default:return!1}switch(e=n.Rj(),n.p){case 0:return e!=null&&on(un(e))!=C6(n.k,0);case 1:return e!=null&&u(e,222).a!=Ae(n.k)<<24>>24;case 2:return e!=null&&u(e,180).a!=(Ae(n.k)&ui);case 6:return e!=null&&C6(u(e,168).a,n.k);case 5:return e!=null&&u(e,17).a!=Ae(n.k);case 7:return e!=null&&u(e,191).a!=Ae(n.k)<<16>>16;case 3:return e!=null&&$(R(e))!=n.j;case 4:return e!=null&&u(e,161).a!=n.j;default:return e==null?n.n!=null:!rt(e,n.n)}}function py(n,e,t){var i,r,c,s;return n.ol()&&n.nl()&&(s=cN(n,u(t,58)),x(s)!==x(t))?(n.xj(e),n.Dj(e,kNn(n,e,s)),n.al()&&(c=(r=u(t,54),n.ml()?n.kl()?r.Th(n.b,br(u($n(au(n.b),n.Lj()),19)).n,u($n(au(n.b),n.Lj()).Hk(),29).kk(),null):r.Th(n.b,Ot(r.Dh(),br(u($n(au(n.b),n.Lj()),19))),null,null):r.Th(n.b,-1-n.Lj(),null,null)),!u(s,54).Ph()&&(c=(i=u(s,54),n.ml()?n.kl()?i.Rh(n.b,br(u($n(au(n.b),n.Lj()),19)).n,u($n(au(n.b),n.Lj()).Hk(),29).kk(),c):i.Rh(n.b,Ot(i.Dh(),br(u($n(au(n.b),n.Lj()),19))),null,c):i.Rh(n.b,-1-n.Lj(),null,c))),c&&c.oj()),fo(n.b)&&n.Jj(n.Ij(9,t,s,e,!1)),s):t}function pGn(n){var e,t,i,r,c,s,f,h,l,a;for(i=new Z,s=new C(n.e.a);s.a0&&(s=y.Math.max(s,jxn(n.C.b+i.d.b,r))),a=i,d=r,g=c;n.C&&n.C.c>0&&(p=g+n.C.c,l&&(p+=a.d.c),s=y.Math.max(s,(Tf(),Ks(_f),y.Math.abs(d-1)<=_f||d==1||isNaN(d)&&isNaN(1)?0:p/(1-d)))),t.n.b=0,t.a.a=s}function vGn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p;if(t=u(Cr(n.b,e),127),h=u(u(ot(n.r,e),21),87),h.dc()){t.n.d=0,t.n.a=0;return}for(l=n.u.Hc((zu(),Fl)),s=0,n.A.Hc((go(),Gd))&&Vqn(n,e),f=h.Kc(),a=null,g=0,d=0;f.Ob();)i=u(f.Pb(),117),c=$(R(i.b.of((KC(),bP)))),r=i.b.Mf().b,a?(p=d+a.d.a+n.w+i.d.d,s=y.Math.max(s,(Tf(),Ks(_f),y.Math.abs(g-c)<=_f||g==c||isNaN(g)&&isNaN(c)?0:p/(c-g)))):n.C&&n.C.d>0&&(s=y.Math.max(s,jxn(n.C.d+i.d.d,c))),a=i,g=c,d=r;n.C&&n.C.a>0&&(p=d+n.C.a,l&&(p+=a.d.a),s=y.Math.max(s,(Tf(),Ks(_f),y.Math.abs(g-1)<=_f||g==1||isNaN(g)&&isNaN(1)?0:p/(1-g)))),t.n.d=0,t.a.b=s}function pOe(n,e,t,i,r,c,s,f){var h,l,a,d,g,p,m,k,j,S;if(m=!1,l=cen(t.q,e.f+e.b-t.q.f),p=i.f>e.b&&f,S=r-(t.q.e+l-s),d=(h=G5(i,S,!1),h.a),p&&d>i.f)return!1;if(p){for(g=0,j=new C(e.d);j.a=(Ln(c,n.c.length),u(n.c[c],186)).e,!p&&d>e.b&&!a)?!1:((a||p||d<=e.b)&&(a&&d>e.b?(t.d=d,uk(t,c_n(t,d))):(EKn(t.q,l),t.c=!0),uk(i,r-(t.s+t.r)),Hk(i,t.q.e+t.q.d,e.f),wT(e,i),n.c.length>c&&(Gk((Ln(c,n.c.length),u(n.c[c],186)),i),(Ln(c,n.c.length),u(n.c[c],186)).a.c.length==0&&Yl(n,c)),m=!0),m)}function kGn(n,e,t){var i,r,c,s,f,h;for(this.g=n,f=e.d.length,h=t.d.length,this.d=K(Qh,b1,10,f+h,0,1),s=0;s0?m$(this,this.f/this.a):Af(e.g,e.d[0]).a!=null&&Af(t.g,t.d[0]).a!=null?m$(this,($(Af(e.g,e.d[0]).a)+$(Af(t.g,t.d[0]).a))/2):Af(e.g,e.d[0]).a!=null?m$(this,Af(e.g,e.d[0]).a):Af(t.g,t.d[0]).a!=null&&m$(this,Af(t.g,t.d[0]).a)}function mOe(n,e){var t,i,r,c,s,f,h,l,a,d;for(n.a=new ZPn(n6e(y9)),i=new C(e.a);i.a=1&&(j-s>0&&d>=0?(h.n.a+=k,h.n.b+=c*s):j-s<0&&a>=0&&(h.n.a+=k*j,h.n.b+=c));n.o.a=e.a,n.o.b=e.b,U(n,(cn(),xd),(go(),i=u(of(S9),9),new _o(i,u(xs(i,i.length),9),0)))}function yOe(n,e,t,i,r,c){var s;if(!(e==null||!lx(e,Kdn,_dn)))throw M(new Gn("invalid scheme: "+e));if(!n&&!(t!=null&&ih(t,wu(35))==-1&&t.length>0&&(zn(0,t.length),t.charCodeAt(0)!=47)))throw M(new Gn("invalid opaquePart: "+t));if(n&&!(e!=null&&t7(jO,e.toLowerCase()))&&!(t==null||!lx(t,D9,L9)))throw M(new Gn(tJn+t));if(n&&e!=null&&t7(jO,e.toLowerCase())&&!nye(t))throw M(new Gn(tJn+t));if(!u8e(i))throw M(new Gn("invalid device: "+i));if(!U6e(r))throw s=r==null?"invalid segments: null":"invalid segment: "+K6e(r),M(new Gn(s));if(!(c==null||ih(c,wu(35))==-1))throw M(new Gn("invalid query: "+c))}function jOe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S;if(t.Ug("Network simplex layering",1),n.b=e,S=u(v(e,(cn(),V8)),17).a*4,j=n.b.a,j.c.length<1){t.Vg();return}for(c=kSe(n,j),k=null,r=ge(c,0);r.b!=r.d.c;){for(i=u(be(r),15),f=S*wi(y.Math.sqrt(i.gc())),s=$Se(i),PF(mz(jhe(vz(BL(s),f),k),!0),t.eh(1)),g=n.b.b,m=new C(s.a);m.a1)for(k=K(ye,_e,28,n.b.b.c.length,15,1),d=0,l=new C(n.b.b);l.a0){QT(n,t,0),t.a+=String.fromCharCode(i),r=U8e(e,c),QT(n,t,r),c+=r-1;continue}i==39?c+10&&m.a<=0){h.c.length=0,Kn(h.c,m);break}p=m.i-m.d,p>=f&&(p>f&&(h.c.length=0,f=p),Kn(h.c,m))}h.c.length!=0&&(s=u(sn(h,cA(r,h.c.length)),118),O.a.Bc(s)!=null,s.g=a++,Ken(s,e,t,i),h.c.length=0)}for(j=n.c.length+1,g=new C(n);g.ali||e.o==Rd&&a=f&&r<=h)f<=r&&c<=h?(t[a++]=r,t[a++]=c,i+=2):f<=r?(t[a++]=r,t[a++]=h,n.b[i]=h+1,s+=2):c<=h?(t[a++]=f,t[a++]=c,i+=2):(t[a++]=f,t[a++]=h,n.b[i]=h+1);else if(hfa)&&f<10);yz(n.c,new Ybn),CGn(n),pwe(n.c),aOe(n.f)}function OOe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(t=u(v(n,(cn(),Kt)),101),s=n.f,c=n.d,f=s.a+c.b+c.c,h=0-c.d-n.c.b,a=s.b+c.d+c.a-n.c.b,l=new Z,d=new Z,r=new C(e);r.a=2){for(h=ge(t,0),s=u(be(h),8),f=u(be(h),8);f.a0&&Tk(l,!0,(ci(),Xr)),f.k==(Vn(),Zt)&&sIn(l),Ve(n.f,f,e)}}function NOe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;for(r=u(v(n,(pt(),u9)),27),l=et,a=et,f=Wi,h=Wi,O=ge(n.b,0);O.b!=O.d.c;)S=u(be(O),40),p=S.e,m=S.f,l=y.Math.min(l,p.a-m.a/2),a=y.Math.min(a,p.b-m.b/2),f=y.Math.max(f,p.a+m.a/2),h=y.Math.max(h,p.b+m.b/2);for(g=u(z(r,(lc(),Iln)),107),I=ge(n.b,0);I.b!=I.d.c;)S=u(be(I),40),d=v(S,u9),D(d,207)&&(c=u(d,27),Ro(c,S.e.a,S.e.b),uy(c,S));for(j=ge(n.a,0);j.b!=j.d.c;)k=u(be(j),65),i=u(v(k,u9),74),i&&(e=k.a,t=Xg(i,!0,!0),dy(e,t));N=f-l+(g.b+g.c),s=h-a+(g.d+g.a),on(un(z(r,(He(),Vw))))||G0(r,N,s,!1,!1),ht(r,B2,N-(g.b+g.c)),ht(r,F2,s-(g.d+g.a))}function TGn(n,e){var t,i,r,c,s,f,h,l,a,d;for(h=!0,r=0,l=n.g[e.p],a=e.o.b+n.o,t=n.d[e.p][2],Go(n.b,l,Y(u(sn(n.b,l),17).a-1+t)),Go(n.c,l,$(R(sn(n.c,l)))-a+t*n.f),++l,l>=n.j?(++n.j,nn(n.b,Y(1)),nn(n.c,a)):(i=n.d[e.p][1],Go(n.b,l,Y(u(sn(n.b,l),17).a+1-i)),Go(n.c,l,$(R(sn(n.c,l)))+a-i*n.f)),(n.r==(ps(),Sj)&&(u(sn(n.b,l),17).a>n.k||u(sn(n.b,l-1),17).a>n.k)||n.r==Pj&&($(R(sn(n.c,l)))>n.n||$(R(sn(n.c,l-1)))>n.n))&&(h=!1),s=new ie(ce(ji(e).a.Kc(),new En));pe(s);)c=u(fe(s),18),f=c.c.i,n.g[f.p]==l&&(d=TGn(n,f),r=r+u(d.a,17).a,h=h&&on(un(d.b)));return n.g[e.p]=l,r=r+n.d[e.p][0],new bi(Y(r),(_n(),!!h))}function AGn(n,e){var t,i,r,c,s;t=$(R(v(e,(cn(),Ws)))),t<2&&U(e,Ws,2),i=u(v(e,Do),88),i==(ci(),Jf)&&U(e,Do,KT(e)),r=u(v(e,Ute),17),r.a==0?U(e,(W(),S3),new dx):U(e,(W(),S3),new qM(r.a)),c=un(v(e,G8)),c==null&&U(e,G8,(_n(),x(v(e,$l))===x((El(),Rv)))),qt(new Tn(null,new In(e.a,16)),new OG(n)),qt(rc(new Tn(null,new In(e.b,16)),new HU),new DG(n)),s=new yGn(e),U(e,(W(),E2),s),H7(n.a),hf(n.a,(Vi(),Vs),u(v(e,Ld),188)),hf(n.a,Jh,u(v(e,$d),188)),hf(n.a,Oc,u(v(e,U8),188)),hf(n.a,Kc,u(v(e,vI),188)),hf(n.a,zr,Nve(u(v(e,$l),223))),MX(n.a,PLe(e)),U(e,wH,gy(n.a,e))}function ntn(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,S;for(d=new de,s=new Z,T_n(n,t,n.d.Ag(),s,d),T_n(n,i,n.d.Bg(),s,d),n.b=.2*(k=OHn(rc(new Tn(null,new In(s,16)),new F3n)),j=OHn(rc(new Tn(null,new In(s,16)),new B3n)),y.Math.min(k,j)),c=0,f=0;f=2&&(S=JHn(s,!0,g),!n.e&&(n.e=new okn(n)),K8e(n.e,S,s,n.b)),LKn(s,g),KOe(s),p=-1,a=new C(s);a.af)}function SGn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I;for(l=St,a=St,f=li,h=li,g=new C(e.i);g.a-1){for(r=ge(f,0);r.b!=r.d.c;)i=u(be(r),131),i.v=s;for(;f.b!=0;)for(i=u(Ux(f,0),131),t=new C(i.i);t.a-1){for(c=new C(f);c.a0)&&(pG(h,y.Math.min(h.o,r.o-1)),SE(h,h.i-1),h.i==0&&Kn(f.c,h))}}function IGn(n,e,t,i,r){var c,s,f,h;return h=St,s=!1,f=Gen(n,mi(new V(e.a,e.b),n),tt(new V(t.a,t.b),r),mi(new V(i.a,i.b),t)),c=!!f&&!(y.Math.abs(f.a-n.a)<=Y0&&y.Math.abs(f.b-n.b)<=Y0||y.Math.abs(f.a-e.a)<=Y0&&y.Math.abs(f.b-e.b)<=Y0),f=Gen(n,mi(new V(e.a,e.b),n),t,r),f&&((y.Math.abs(f.a-n.a)<=Y0&&y.Math.abs(f.b-n.b)<=Y0)==(y.Math.abs(f.a-e.a)<=Y0&&y.Math.abs(f.b-e.b)<=Y0)||c?h=y.Math.min(h,z6(mi(f,t))):s=!0),f=Gen(n,mi(new V(e.a,e.b),n),i,r),f&&(s||(y.Math.abs(f.a-n.a)<=Y0&&y.Math.abs(f.b-n.b)<=Y0)==(y.Math.abs(f.a-e.a)<=Y0&&y.Math.abs(f.b-e.b)<=Y0)||c)&&(h=y.Math.min(h,z6(mi(f,i)))),h}function OGn(n){r0(n,new gd(UE(e0(Yd(n0(Zd(new Ka,la),SXn),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new Xbn),cu))),Q(n,la,i8,rn(Ton)),Q(n,la,oS,(_n(),!0)),Q(n,la,r2,rn(dZn)),Q(n,la,d3,rn(bZn)),Q(n,la,a3,rn(wZn)),Q(n,la,Xm,rn(aZn)),Q(n,la,r8,rn(Son)),Q(n,la,Vm,rn(gZn)),Q(n,la,Qtn,rn(Mon)),Q(n,la,Ztn,rn(Eon)),Q(n,la,nin,rn(Con)),Q(n,la,ein,rn(Aon)),Q(n,la,Ytn,rn(EP))}function _Oe(n){var e,t,i,r,c,s,f,h;for(e=null,i=new C(n);i.a0&&t.c==0&&(!e&&(e=new Z),Kn(e.c,t));if(e)for(;e.c.length!=0;){if(t=u(Yl(e,0),239),t.b&&t.b.c.length>0){for(c=(!t.b&&(t.b=new Z),new C(t.b));c.aqr(n,t,0))return new bi(r,t)}else if($(Af(r.g,r.d[0]).a)>$(Af(t.g,t.d[0]).a))return new bi(r,t)}for(f=(!t.e&&(t.e=new Z),t.e).Kc();f.Ob();)s=u(f.Pb(),239),h=(!s.b&&(s.b=new Z),s.b),zb(0,h.c.length),d6(h.c,0,t),s.c==h.c.length&&Kn(e.c,s)}return null}function HOe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S;for(e.Ug("Interactive crossing minimization",1),s=0,c=new C(n.b);c.a0&&(t+=h.n.a+h.o.a/2,++d),m=new C(h.j);m.a0&&(t/=d),S=K(Pi,Tr,28,i.a.c.length,15,1),f=0,l=new C(i.a);l.a=f&&r<=h)f<=r&&c<=h?i+=2:f<=r?(n.b[i]=h+1,s+=2):c<=h?(t[a++]=r,t[a++]=f-1,i+=2):(t[a++]=r,t[a++]=f-1,n.b[i]=h+1,s+=2);else if(h2?(a=new Z,hi(a,new Jl(S,1,S.b)),c=mzn(a,O+n.a),I=new bF(c),Ur(I,e),Kn(t.c,I)):i?I=u(ee(n.b,Kh(e)),272):I=u(ee(n.b,ra(e)),272),h=Kh(e),i&&(h=ra(e)),s=_je(j,h),l=O+n.a,s.a?(l+=y.Math.abs(j.b-d.b),k=new V(d.a,(d.b+j.b)/2)):(l+=y.Math.abs(j.a-d.a),k=new V((d.a+j.a)/2,d.b)),i?Ve(n.d,e,new mZ(I,s,k,l)):Ve(n.c,e,new mZ(I,s,k,l)),Ve(n.b,e,I),m=(!e.n&&(e.n=new q(Ar,e,1,7)),e.n),p=new ne(m);p.e!=p.i.gc();)g=u(ue(p),135),r=fy(n,g,!0,0,0),Kn(t.c,r)}function qOe(n){var e,t,i,r,c,s,f;if(!n.A.dc()){if(n.A.Hc((go(),rE))&&(u(Cr(n.b,(en(),Xn)),127).k=!0,u(Cr(n.b,ae),127).k=!0,e=n.q!=(Oi(),tl)&&n.q!=qc,bG(u(Cr(n.b,Zn),127),e),bG(u(Cr(n.b,Wn),127),e),bG(n.g,e),n.A.Hc(Gd)&&(u(Cr(n.b,Xn),127).j=!0,u(Cr(n.b,ae),127).j=!0,u(Cr(n.b,Zn),127).k=!0,u(Cr(n.b,Wn),127).k=!0,n.g.k=!0)),n.A.Hc(iE))for(n.a.j=!0,n.a.k=!0,n.g.j=!0,n.g.k=!0,f=n.B.Hc((io(),P9)),r=jx(),c=0,s=r.length;c0),u(a.a.Xb(a.c=--a.b),18));c!=i&&a.b>0;)n.a[c.p]=!0,n.a[i.p]=!0,c=(oe(a.b>0),u(a.a.Xb(a.c=--a.b),18));a.b>0&&bo(a)}}function LGn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p;if(!n.b)return!1;for(s=null,g=null,h=new r$(null,null),r=1,h.a[1]=n.b,d=h;d.a[r];)l=r,f=g,g=d,d=d.a[r],i=n.a.Ne(e,d.d),r=i<0?0:1,i==0&&(!t.c||mc(d.e,t.d))&&(s=d),!(d&&d.b)&&!Ib(d.a[r])&&(Ib(d.a[1-r])?g=g.a[l]=jT(d,r):Ib(d.a[1-r])||(p=g.a[1-l],p&&(!Ib(p.a[1-l])&&!Ib(p.a[l])?(g.b=!1,p.b=!0,d.b=!0):(c=f.a[1]==g?1:0,Ib(p.a[l])?f.a[c]=fDn(g,l):Ib(p.a[1-l])&&(f.a[c]=jT(g,l)),d.b=f.a[c].b=!0,f.a[c].a[0].b=!1,f.a[c].a[1].b=!1))));return s&&(t.b=!0,t.d=s.e,d!=s&&(a=new r$(d.d,d.e),zye(n,h,s,a),g==s&&(g=a)),g.a[g.a[1]==d?1:0]=d.a[d.a[0]?0:1],--n.c),n.b=h.a[1],n.b&&(n.b.b=!1),t.b}function zOe(n){var e,t,i,r,c,s,f,h,l,a,d,g;for(r=new C(n.a.a.b);r.a0?r-=864e5:r+=864e5,h=new fV(nr(vc(e.q.getTime()),r))),a=new fg,l=n.a.length,c=0;c=97&&i<=122||i>=65&&i<=90){for(s=c+1;s=l)throw M(new Gn("Missing trailing '"));s+1=14&&a<=16))?e.a._b(i)?(t.a?Re(t.a,t.b):t.a=new mo(t.d),T6(t.a,"[...]")):(f=cd(i),l=new F6(e),pl(t,$Gn(f,l))):D(i,183)?pl(t,CEe(u(i,183))):D(i,195)?pl(t,fye(u(i,195))):D(i,201)?pl(t,vje(u(i,201))):D(i,2111)?pl(t,hye(u(i,2111))):D(i,53)?pl(t,EEe(u(i,53))):D(i,376)?pl(t,_Ee(u(i,376))):D(i,846)?pl(t,jEe(u(i,846))):D(i,109)&&pl(t,yEe(u(i,109))):pl(t,i==null?gu:Jr(i));return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function Lm(n,e){var t,i,r,c;c=n.F,e==null?(n.F=null,um(n,null)):(n.F=(Jn(e),e),i=ih(e,wu(60)),i!=-1?(r=(Fi(0,i,e.length),e.substr(0,i)),ih(e,wu(46))==-1&&!An(r,i3)&&!An(r,m8)&&!An(r,GS)&&!An(r,v8)&&!An(r,k8)&&!An(r,y8)&&!An(r,j8)&&!An(r,E8)&&(r=wJn),t=FC(e,wu(62)),t!=-1&&(r+=""+(zn(t+1,e.length+1),e.substr(t+1))),um(n,r)):(r=e,ih(e,wu(46))==-1&&(i=ih(e,wu(91)),i!=-1&&(r=(Fi(0,i,e.length),e.substr(0,i))),!An(r,i3)&&!An(r,m8)&&!An(r,GS)&&!An(r,v8)&&!An(r,k8)&&!An(r,y8)&&!An(r,j8)&&!An(r,E8)?(r=wJn,i!=-1&&(r+=""+(zn(i,e.length+1),e.substr(i)))):r=e),um(n,r),r==e&&(n.F=n.D))),n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,5,c,e))}function xGn(n,e){var t,i,r,c,s,f,h,l,a,d;if(h=e.length-1,f=(zn(h,e.length),e.charCodeAt(h)),f==93){if(s=ih(e,wu(91)),s>=0)return r=Q5e(n,(Fi(1,s,e.length),e.substr(1,s-1))),a=(Fi(s+1,h,e.length),e.substr(s+1,h-(s+1))),ELe(n,a,r)}else{if(t=-1,wun==null&&(wun=new RegExp("\\d")),wun.test(String.fromCharCode(f))&&(t=AV(e,wu(46),h-1),t>=0)){i=u(YN(n,C$n(n,(Fi(1,t,e.length),e.substr(1,t-1))),!1),61),l=0;try{l=Ao((zn(t+1,e.length+1),e.substr(t+1)),Wi,et)}catch(g){throw g=It(g),D(g,130)?(c=g,M(new eT(c))):M(g)}if(l>16==-10?t=u(n.Cb,292).Yk(e,t):n.Db>>16==-15&&(!e&&(e=(On(),Zf)),!l&&(l=(On(),Zf)),n.Cb.Yh()&&(h=new ml(n.Cb,1,13,l,e,f1(no(u(n.Cb,62)),n),!1),t?t.nj(h):t=h));else if(D(n.Cb,90))n.Db>>16==-23&&(D(e,90)||(e=(On(),Is)),D(l,90)||(l=(On(),Is)),n.Cb.Yh()&&(h=new ml(n.Cb,1,10,l,e,f1(Sc(u(n.Cb,29)),n),!1),t?t.nj(h):t=h));else if(D(n.Cb,457))for(f=u(n.Cb,850),s=(!f.b&&(f.b=new NE(new aD)),f.b),c=(i=new sd(new Ua(s.a).a),new $E(i));c.a.b;)r=u(L0(c.a).ld(),89),t=Nm(r,MA(r,f),t)}return t}function QOe(n,e){var t,i,r,c,s,f,h,l,a,d,g;for(s=on(un(z(n,(cn(),Rw)))),g=u(z(n,_w),21),h=!1,l=!1,d=new ne((!n.c&&(n.c=new q(Qu,n,9,9)),n.c));d.e!=d.i.gc()&&(!h||!l);){for(c=u(ue(d),123),f=0,r=$h(Eo(A(T(Oo,1),Bn,20,0,[(!c.d&&(c.d=new Nn(Vt,c,8,5)),c.d),(!c.e&&(c.e=new Nn(Vt,c,7,4)),c.e)])));pe(r)&&(i=u(fe(r),74),a=s&&_0(i)&&on(un(z(i,Nd))),t=bGn((!i.b&&(i.b=new Nn(he,i,4,7)),i.b),c)?n==At(Gr(u(L((!i.c&&(i.c=new Nn(he,i,5,8)),i.c),0),84))):n==At(Gr(u(L((!i.b&&(i.b=new Nn(he,i,4,7)),i.b),0),84))),!((a||t)&&(++f,f>1))););(f>0||g.Hc((zu(),Fl))&&(!c.n&&(c.n=new q(Ar,c,1,7)),c.n).i>0)&&(h=!0),f>1&&(l=!0)}h&&e.Fc((pr(),cs)),l&&e.Fc((pr(),F8))}function FGn(n){var e,t,i,r,c,s,f,h,l,a,d,g;if(g=u(z(n,(He(),Hd)),21),g.dc())return null;if(f=0,s=0,g.Hc((go(),rE))){for(a=u(z(n,v9),101),i=2,t=2,r=2,c=2,e=At(n)?u(z(At(n),_d),88):u(z(n,_d),88),l=new ne((!n.c&&(n.c=new q(Qu,n,9,9)),n.c));l.e!=l.i.gc();)if(h=u(ue(l),123),d=u(z(h,H2),64),d==(en(),sc)&&(d=Ren(h,e),ht(h,H2,d)),a==(Oi(),qc))switch(d.g){case 1:i=y.Math.max(i,h.i+h.g);break;case 2:t=y.Math.max(t,h.j+h.f);break;case 3:r=y.Math.max(r,h.i+h.g);break;case 4:c=y.Math.max(c,h.j+h.f)}else switch(d.g){case 1:i+=h.g+2;break;case 2:t+=h.f+2;break;case 3:r+=h.g+2;break;case 4:c+=h.f+2}f=y.Math.max(i,r),s=y.Math.max(t,c)}return G0(n,f,s,!0,!0)}function VF(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;for(I=u(Wr(fT(ut(new Tn(null,new In(e.d,16)),new A7n(t)),new S7n(t)),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),d=et,a=Wi,h=new C(e.b.j);h.a0,l?l&&(g=S.p,s?++g:--g,d=u(sn(S.c.a,g),10),i=oFn(d),p=!(mF(i,X,t[0])||OPn(i,X,t[0]))):p=!0),m=!1,_=e.D.i,_&&_.c&&f.e&&(a=s&&_.p>0||!s&&_.p<_.c.a.c.length-1,a?(g=_.p,s?--g:++g,d=u(sn(_.c.a,g),10),i=oFn(d),m=!(mF(i,t[0],yn)||OPn(i,t[0],yn))):m=!0),p&&m&&Fe(n.a,tn),p||r5(n.a,A(T(Ei,1),J,8,0,[k,j])),m||r5(n.a,A(T(Ei,1),J,8,0,[N,O]))}function eDe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j,S,I;for(p=e.c.length,g=0,d=new C(n.b);d.a=0){for(h=null,f=new xi(a.a,l+1);f.bs?1:s0(isNaN(0),isNaN(s)))<0&&(Ks(jh),(y.Math.abs(s-1)<=jh||s==1||isNaN(s)&&isNaN(1)?0:s<1?-1:s>1?1:s0(isNaN(s),isNaN(1)))<0)&&(Ks(jh),(y.Math.abs(0-f)<=jh||f==0||isNaN(0)&&isNaN(f)?0:0f?1:s0(isNaN(0),isNaN(f)))<0)&&(Ks(jh),(y.Math.abs(f-1)<=jh||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:s0(isNaN(f),isNaN(1)))<0)),c)}function iDe(n){var e,t,i,r;if(t=n.D!=null?n.D:n.B,e=ih(t,wu(91)),e!=-1){i=(Fi(0,e,t.length),t.substr(0,e)),r=new Hl;do r.a+="[";while((e=w4(t,91,++e))!=-1);An(i,i3)?r.a+="Z":An(i,m8)?r.a+="B":An(i,GS)?r.a+="C":An(i,v8)?r.a+="D":An(i,k8)?r.a+="F":An(i,y8)?r.a+="I":An(i,j8)?r.a+="J":An(i,E8)?r.a+="S":(r.a+="L",r.a+=""+i,r.a+=";");try{return null}catch(c){if(c=It(c),!D(c,63))throw M(c)}}else if(ih(t,wu(46))==-1){if(An(t,i3))return so;if(An(t,m8))return Fu;if(An(t,GS))return fs;if(An(t,v8))return Pi;if(An(t,k8))return cg;if(An(t,y8))return ye;if(An(t,j8))return Fa;if(An(t,E8))return V2}return null}function rDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn;for(n.e=e,f=rCe(e),X=new Z,i=new C(f);i.a=0&&k=l.c.c.length?a=MJ((Vn(),zt),Mi):a=MJ((Vn(),Mi),Mi),a*=2,c=t.a.g,t.a.g=y.Math.max(c,c+(a-c)),s=t.b.g,t.b.g=y.Math.max(s,s+(a-s)),r=e}}function sDe(n){var e,t,i,r;for(qt(ut(new Tn(null,new In(n.a.b,16)),new X2n),new V2n),qke(n),qt(ut(new Tn(null,new In(n.a.b,16)),new W2n),new J2n),n.c==(El(),F3)&&(qt(ut(rc(new Tn(null,new In(new qa(n.f),1)),new Q2n),new Y2n),new k7n(n)),qt(ut(_r(rc(rc(new Tn(null,new In(n.d.b,16)),new Z2n),new npn),new epn),new tpn),new j7n(n))),r=new V(St,St),e=new V(li,li),i=new C(n.a.b);i.a0&&(e.a+=ur),GA(u(ue(f),167),e);for(e.a+=iR,h=new kp((!i.c&&(i.c=new Nn(he,i,5,8)),i.c));h.e!=h.i.gc();)h.e>0&&(e.a+=ur),GA(u(ue(h),167),e);e.a+=")"}}function fDe(n,e,t){var i,r,c,s,f,h,l,a;for(h=new ne((!n.a&&(n.a=new q(Ye,n,10,11)),n.a));h.e!=h.i.gc();)for(f=u(ue(h),27),r=new ie(ce(Al(f).a.Kc(),new En));pe(r);){if(i=u(fe(r),74),!i.b&&(i.b=new Nn(he,i,4,7)),!(i.b.i<=1&&(!i.c&&(i.c=new Nn(he,i,5,8)),i.c.i<=1)))throw M(new hp("Graph must not contain hyperedges."));if(!N5(i)&&f!=Gr(u(L((!i.c&&(i.c=new Nn(he,i,5,8)),i.c),0),84)))for(l=new RAn,Ur(l,i),U(l,(Q1(),y3),i),Jse(l,u(Kr(wr(t.f,f)),153)),Zse(l,u(ee(t,Gr(u(L((!i.c&&(i.c=new Nn(he,i,5,8)),i.c),0),84))),153)),nn(e.c,l),s=new ne((!i.n&&(i.n=new q(Ar,i,1,7)),i.n));s.e!=s.i.gc();)c=u(ue(s),135),a=new _Dn(l,c.a),Ur(a,c),U(a,y3,c),a.e.a=y.Math.max(c.g,1),a.e.b=y.Math.max(c.f,1),Uen(a),nn(e.d,a)}}function hDe(n,e,t){var i,r,c,s,f,h,l,a,d,g;switch(t.Ug("Node promotion heuristic",1),n.i=e,n.r=u(v(e,(cn(),ja)),243),n.r!=(ps(),pb)&&n.r!=Uw?FDe(n):fAe(n),a=u(v(n.i,chn),17).a,c=new Bgn,n.r.g){case 2:case 1:Dm(n,c);break;case 3:for(n.r=SI,Dm(n,c),h=0,f=new C(n.b);f.an.k&&(n.r=Sj,Dm(n,c));break;case 4:for(n.r=SI,Dm(n,c),l=0,r=new C(n.c);r.an.n&&(n.r=Pj,Dm(n,c));break;case 6:g=wi(y.Math.ceil(n.g.length*a/100)),Dm(n,new s7n(g));break;case 5:d=wi(y.Math.ceil(n.e*a/100)),Dm(n,new f7n(d));break;case 8:yzn(n,!0);break;case 9:yzn(n,!1);break;default:Dm(n,c)}n.r!=pb&&n.r!=Uw?LTe(n,e):ZAe(n,e),t.Vg()}function lDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O;for(d=n.b,a=new xi(d,0),Rb(a,new Lc(n)),I=!1,s=1;a.b0&&(g.d+=a.n.d,g.d+=a.d),g.a>0&&(g.a+=a.n.a,g.a+=a.d),g.b>0&&(g.b+=a.n.b,g.b+=a.d),g.c>0&&(g.c+=a.n.c,g.c+=a.d),g}function RGn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m;for(g=t.d,d=t.c,c=new V(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),s=c.b,l=new C(n.a);l.a0&&(n.c[e.c.p][e.p].d+=to(n.i,24)*Iy*.07000000029802322-.03500000014901161,n.c[e.c.p][e.p].a=n.c[e.c.p][e.p].d/n.c[e.c.p][e.p].b)}}function bDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;for(m=new C(n);m.ai.d,i.d=y.Math.max(i.d,e),f&&t&&(i.d=y.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:t=e>i.a,i.a=y.Math.max(i.a,e),f&&t&&(i.a=y.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:t=e>i.c,i.c=y.Math.max(i.c,e),f&&t&&(i.c=y.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:t=e>i.b,i.b=y.Math.max(i.b,e),f&&t&&(i.b=y.Math.max(i.b,i.c),i.c=i.b+r)}}}function _Gn(n,e){var t,i,r,c,s,f,h,l,a;return l="",e.length==0?n.ne(ktn,uB,-1,-1):(a=fw(e),An(a.substr(0,3),"at ")&&(a=(zn(3,a.length+1),a.substr(3))),a=a.replace(/\[.*?\]/g,""),s=a.indexOf("("),s==-1?(s=a.indexOf("@"),s==-1?(l=a,a=""):(l=fw((zn(s+1,a.length+1),a.substr(s+1))),a=fw((Fi(0,s,a.length),a.substr(0,s))))):(t=a.indexOf(")",s),l=(Fi(s+1,t,a.length),a.substr(s+1,t-(s+1))),a=fw((Fi(0,s,a.length),a.substr(0,s)))),s=ih(a,wu(46)),s!=-1&&(a=(zn(s+1,a.length+1),a.substr(s+1))),(a.length==0||An(a,"Anonymous function"))&&(a=uB),f=FC(l,wu(58)),r=AV(l,wu(58),f-1),h=-1,i=-1,c=ktn,f!=-1&&r!=-1&&(c=(Fi(0,r,l.length),l.substr(0,r)),h=rAn((Fi(r+1,f,l.length),l.substr(r+1,f-(r+1)))),i=rAn((zn(f+1,l.length+1),l.substr(f+1)))),n.ne(c,a,h,i))}function pDe(n){var e,t,i,r,c,s,f,h,l,a,d;for(l=new C(n);l.a0||a.j==Wn&&a.e.c.length-a.g.c.length<0)){e=!1;break}for(r=new C(a.g);r.a=l&&_>=j&&(g+=m.n.b+k.n.b+k.a.b-N,++f));if(t)for(s=new C(I.e);s.a=l&&_>=j&&(g+=m.n.b+k.n.b+k.a.b-N,++f))}f>0&&(X+=g/f,++p)}p>0?(e.a=r*X/p,e.g=p):(e.a=0,e.g=0)}function vDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn;for(c=n.f.b,g=c.a,a=c.b,m=n.e.g,p=n.e.f,kg(n.e,c.a,c.b),X=g/m,tn=a/p,l=new ne(jM(n.e));l.e!=l.i.gc();)h=u(ue(l),135),eu(h,h.i*X),tu(h,h.j*tn);for(I=new ne(mN(n.e));I.e!=I.i.gc();)S=u(ue(I),123),N=S.i,_=S.j,N>0&&eu(S,N*X),_>0&&tu(S,_*tn);for(f5(n.b,new Ubn),e=new Z,f=new sd(new Ua(n.c).a);f.b;)s=L0(f),i=u(s.ld(),74),t=u(s.md(),407).a,r=Xg(i,!1,!1),d=NKn(Kh(i),Qk(r),t),dy(d,r),O=XKn(i),O&&qr(e,O,0)==-1&&(Kn(e.c,O),jIn(O,(oe(d.b!=0),u(d.a.a.c,8)),t));for(j=new sd(new Ua(n.d).a);j.b;)k=L0(j),i=u(k.ld(),74),t=u(k.md(),407).a,r=Xg(i,!1,!1),d=NKn(ra(i),Sk(Qk(r)),t),d=Sk(d),dy(d,r),O=VKn(i),O&&qr(e,O,0)==-1&&(Kn(e.c,O),jIn(O,(oe(d.b!=0),u(d.c.b.c,8)),t))}function HGn(n,e,t,i){var r,c,s,f,h;return f=new itn(e),hTe(f,i),r=!0,n&&n.pf((He(),_d))&&(c=u(n.of((He(),_d)),88),r=c==(ci(),Jf)||c==Br||c==Xr),_qn(f,!1),nu(f.e.Rf(),new NV(f,!1,r)),ON(f,f.f,(wf(),bc),(en(),Xn)),ON(f,f.f,wc,ae),ON(f,f.g,bc,Wn),ON(f,f.g,wc,Zn),gRn(f,Xn),gRn(f,ae),vIn(f,Zn),vIn(f,Wn),Bb(),s=f.A.Hc((go(),Qw))&&f.B.Hc((io(),uE))?NBn(f):null,s&&vhe(f.a,s),gDe(f),p7e(f),m7e(f),qOe(f),pSe(f),U7e(f),kx(f,Xn),kx(f,ae),VAe(f),pIe(f),t&&(Y5e(f),G7e(f),kx(f,Zn),kx(f,Wn),h=f.B.Hc((io(),P9)),L_n(f,h,Xn),L_n(f,h,ae),N_n(f,h,Zn),N_n(f,h,Wn),qt(new Tn(null,new In(new ol(f.i),0)),new dbn),qt(ut(new Tn(null,DW(f.r).a.oc()),new bbn),new wbn),cye(f),f.e.Pf(f.o),qt(new Tn(null,DW(f.r).a.oc()),new gbn)),f.o}function kDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(l=St,i=new C(n.a.b);i.a1)for(p=new Ven(m,O,i),qi(O,new YCn(n,p)),Kn(s.c,p),d=O.a.ec().Kc();d.Ob();)a=u(d.Pb(),42),du(c,a.b);if(f.a.gc()>1)for(p=new Ven(m,f,i),qi(f,new ZCn(n,p)),Kn(s.c,p),d=f.a.ec().Kc();d.Ob();)a=u(d.Pb(),42),du(c,a.b)}}function CDe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S;if(k=n.n,j=n.o,g=n.d,d=$(R(rw(n,(cn(),PH)))),e){for(a=d*(e.gc()-1),p=0,h=e.Kc();h.Ob();)s=u(h.Pb(),10),a+=s.o.a,p=y.Math.max(p,s.o.b);for(S=k.a-(a-j.a)/2,c=k.b-g.d+p,i=j.a/(e.gc()+1),r=i,f=e.Kc();f.Ob();)s=u(f.Pb(),10),s.n.a=S,s.n.b=c-s.o.b,S+=s.o.a+d,l=QHn(s),l.n.a=s.o.a/2-l.a.a,l.n.b=s.o.b,m=u(v(s,(W(),tI)),12),m.e.c.length+m.g.c.length==1&&(m.n.a=r-m.a.a,m.n.b=0,ic(m,n)),r+=i}if(t){for(a=d*(t.gc()-1),p=0,h=t.Kc();h.Ob();)s=u(h.Pb(),10),a+=s.o.a,p=y.Math.max(p,s.o.b);for(S=k.a-(a-j.a)/2,c=k.b+j.b+g.a-p,i=j.a/(t.gc()+1),r=i,f=t.Kc();f.Ob();)s=u(f.Pb(),10),s.n.a=S,s.n.b=c,S+=s.o.a+d,l=QHn(s),l.n.a=s.o.a/2-l.a.a,l.n.b=0,m=u(v(s,(W(),tI)),12),m.e.c.length+m.g.c.length==1&&(m.n.a=r-m.a.a,m.n.b=j.b,ic(m,n)),r+=i}}function MDe(n,e){var t,i,r,c,s,f;if(u(v(e,(W(),Hc)),21).Hc((pr(),cs))){for(f=new C(e.a);f.a=0&&s0&&(u(Cr(n.b,e),127).a.b=t)}function IDe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k;if(g=$(R(v(n,(cn(),Av)))),p=$(R(v(n,Sv))),d=$(R(v(n,qw))),f=n.o,c=u(sn(n.j,0),12),s=c.n,k=Xje(c,d),!!k){if(e.Hc((zu(),Fl)))switch(u(v(n,(W(),gc)),64).g){case 1:k.c=(f.a-k.b)/2-s.a,k.d=p;break;case 3:k.c=(f.a-k.b)/2-s.a,k.d=-p-k.a;break;case 2:t&&c.e.c.length==0&&c.g.c.length==0?(a=i?k.a:u(sn(c.f,0),72).o.b,k.d=(f.b-a)/2-s.b):k.d=f.b+p-s.b,k.c=-g-k.b;break;case 4:t&&c.e.c.length==0&&c.g.c.length==0?(a=i?k.a:u(sn(c.f,0),72).o.b,k.d=(f.b-a)/2-s.b):k.d=f.b+p-s.b,k.c=g}else if(e.Hc(Ia))switch(u(v(n,(W(),gc)),64).g){case 1:case 3:k.c=s.a+g;break;case 2:case 4:t&&!c.c?(a=i?k.a:u(sn(c.f,0),72).o.b,k.d=(f.b-a)/2-s.b):k.d=s.b+p}for(r=k.d,l=new C(c.f);l.a=e.length)return{done:!0};var r=e[i++];return{value:[r,t.get(r)],done:!1}}}},AAe()||(n.prototype.createObject=function(){return{}},n.prototype.get=function(e){return this.obj[":"+e]},n.prototype.set=function(e,t){this.obj[":"+e]=t},n.prototype[DB]=function(e){delete this.obj[":"+e]},n.prototype.keys=function(){var e=[];for(var t in this.obj)t.charCodeAt(0)==58&&e.push(t.substring(1));return e}),n}function pt(){pt=F,u9=new lt(Jtn),new Dt("DEPTH",Y(0)),iq=new Dt("FAN",Y(0)),mln=new Dt(bVn,Y(0)),Ma=new Dt("ROOT",(_n(),!1)),uq=new Dt("LEFTNEIGHBOR",null),dre=new Dt("RIGHTNEIGHBOR",null),$I=new Dt("LEFTSIBLING",null),oq=new Dt("RIGHTSIBLING",null),tq=new Dt("DUMMY",!1),new Dt("LEVEL",Y(0)),yln=new Dt("REMOVABLE_EDGES",new Ct),$j=new Dt("XCOOR",Y(0)),xj=new Dt("YCOOR",Y(0)),xI=new Dt("LEVELHEIGHT",0),jf=new Dt("LEVELMIN",0),Js=new Dt("LEVELMAX",0),rq=new Dt("GRAPH_XMIN",0),cq=new Dt("GRAPH_YMIN",0),vln=new Dt("GRAPH_XMAX",0),kln=new Dt("GRAPH_YMAX",0),pln=new Dt("COMPACT_LEVEL_ASCENSION",!1),eq=new Dt("COMPACT_CONSTRAINTS",new Z),c9=new Dt("ID",""),o9=new Dt("POSITION",Y(0)),j1=new Dt("PRELIM",0),Lv=new Dt("MODIFIER",0),Dv=new lt(TXn),Nj=new lt(AXn)}function NDe(n){Ben();var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(n==null)return null;if(d=n.length*8,d==0)return"";for(f=d%24,p=d/24|0,g=f!=0?p+1:p,c=null,c=K(fs,gh,28,g*4,15,1),l=0,a=0,e=0,t=0,i=0,s=0,r=0,h=0;h>24,l=(e&3)<<24>>24,m=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,k=t&-128?(t>>4^240)<<24>>24:t>>4<<24>>24,j=i&-128?(i>>6^252)<<24>>24:i>>6<<24>>24,c[s++]=O1[m],c[s++]=O1[k|l<<4],c[s++]=O1[a<<2|j],c[s++]=O1[i&63];return f==8?(e=n[r],l=(e&3)<<24>>24,m=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,c[s++]=O1[m],c[s++]=O1[l<<4],c[s++]=61,c[s++]=61):f==16&&(e=n[r],t=n[r+1],a=(t&15)<<24>>24,l=(e&3)<<24>>24,m=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,k=t&-128?(t>>4^240)<<24>>24:t>>4<<24>>24,c[s++]=O1[m],c[s++]=O1[k|l<<4],c[s++]=O1[a<<2],c[s++]=61),ws(c,0,c.length)}function $De(n,e){var t,i,r,c,s,f,h;if(n.e==0&&n.p>0&&(n.p=-(n.p-1)),n.p>Wi&&CJ(e,n.p-ha),s=e.q.getDate(),W7(e,1),n.k>=0&&E2e(e,n.k),n.c>=0?W7(e,n.c):n.k>=0?(h=new nY(e.q.getFullYear()-ha,e.q.getMonth(),35),i=35-h.q.getDate(),W7(e,y.Math.min(i,s))):W7(e,s),n.f<0&&(n.f=e.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),b1e(e,n.f==24&&n.g?0:n.f),n.j>=0&&c4e(e,n.j),n.n>=0&&p4e(e,n.n),n.i>=0&&QMn(e,nr(er(Xk(vc(e.q.getTime()),d1),d1),n.i)),n.a&&(r=new JE,CJ(r,r.q.getFullYear()-ha-80),ND(vc(e.q.getTime()),vc(r.q.getTime()))&&CJ(e,r.q.getFullYear()-ha+100)),n.d>=0){if(n.c==-1)t=(7+n.d-e.q.getDay())%7,t>3&&(t-=7),f=e.q.getMonth(),W7(e,e.q.getDate()+t),e.q.getMonth()!=f&&W7(e,e.q.getDate()+(t>0?-7:7));else if(e.q.getDay()!=n.d)return!1}return n.o>Wi&&(c=e.q.getTimezoneOffset(),QMn(e,nr(vc(e.q.getTime()),(n.o-c)*60*d1))),!0}function XGn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;if(r=v(e,(W(),st)),!!D(r,207)){for(m=u(r,27),k=e.e,g=new rr(e.c),c=e.d,g.a+=c.b,g.b+=c.d,N=u(z(m,(cn(),kI)),181),Au(N,(io(),sO))&&(p=u(z(m,hhn),107),Use(p,c.a),Yse(p,c.d),Gse(p,c.b),Qse(p,c.c)),t=new Z,a=new C(e.a);a.ai.c.length-1;)nn(i,new bi(i2,Arn));t=u(v(r,Sh),17).a,hl(u(v(n,vb),88))?(r.e.a<$(R((Ln(t,i.c.length),u(i.c[t],42)).a))&&QO((Ln(t,i.c.length),u(i.c[t],42)),r.e.a),r.e.a+r.f.a>$(R((Ln(t,i.c.length),u(i.c[t],42)).b))&&YO((Ln(t,i.c.length),u(i.c[t],42)),r.e.a+r.f.a)):(r.e.b<$(R((Ln(t,i.c.length),u(i.c[t],42)).a))&&QO((Ln(t,i.c.length),u(i.c[t],42)),r.e.b),r.e.b+r.f.b>$(R((Ln(t,i.c.length),u(i.c[t],42)).b))&&YO((Ln(t,i.c.length),u(i.c[t],42)),r.e.b+r.f.b))}for(c=ge(n.b,0);c.b!=c.d.c;)r=u(be(c),40),t=u(v(r,(lc(),Sh)),17).a,U(r,(pt(),jf),R((Ln(t,i.c.length),u(i.c[t],42)).a)),U(r,Js,R((Ln(t,i.c.length),u(i.c[t],42)).b));e.Vg()}function FDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k;for(n.o=$(R(v(n.i,(cn(),gb)))),n.f=$(R(v(n.i,Bd))),n.j=n.i.b.c.length,f=n.j-1,g=0,n.k=0,n.n=0,n.b=Of(K(Gi,J,17,n.j,0,1)),n.c=Of(K(si,J,345,n.j,7,1)),s=new C(n.i.b);s.a0&&nn(n.q,a),nn(n.p,a);e-=i,p=h+e,l+=e*n.f,Go(n.b,f,Y(p)),Go(n.c,f,l),n.k=y.Math.max(n.k,p),n.n=y.Math.max(n.n,l),n.e+=e,e+=k}}function en(){en=F;var n;sc=new v7(n8,0),Xn=new v7(eS,1),Zn=new v7(HB,2),ae=new v7(qB,3),Wn=new v7(UB,4),Yf=(Dn(),new r4((n=u(of(lr),9),new _o(n,u(xs(n,n.length),9),0)))),ef=i1(yt(Xn,A(T(lr,1),Mc,64,0,[]))),os=i1(yt(Zn,A(T(lr,1),Mc,64,0,[]))),No=i1(yt(ae,A(T(lr,1),Mc,64,0,[]))),Ts=i1(yt(Wn,A(T(lr,1),Mc,64,0,[]))),mu=i1(yt(Xn,A(T(lr,1),Mc,64,0,[ae]))),su=i1(yt(Zn,A(T(lr,1),Mc,64,0,[Wn]))),tf=i1(yt(Xn,A(T(lr,1),Mc,64,0,[Wn]))),Wu=i1(yt(Xn,A(T(lr,1),Mc,64,0,[Zn]))),$o=i1(yt(ae,A(T(lr,1),Mc,64,0,[Wn]))),ss=i1(yt(Zn,A(T(lr,1),Mc,64,0,[ae]))),Ju=i1(yt(Xn,A(T(lr,1),Mc,64,0,[Zn,Wn]))),pu=i1(yt(Zn,A(T(lr,1),Mc,64,0,[ae,Wn]))),vu=i1(yt(Xn,A(T(lr,1),Mc,64,0,[ae,Wn]))),xu=i1(yt(Xn,A(T(lr,1),Mc,64,0,[Zn,ae]))),Uc=i1(yt(Xn,A(T(lr,1),Mc,64,0,[Zn,ae,Wn])))}function BDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn;for(e.Ug(XXn,1),k=new Z,X=new Z,l=new C(n.b);l.a0&&(O-=p),Wen(s,O),a=0,g=new C(s.a);g.a0),f.a.Xb(f.c=--f.b)),h=.4*i*a,!c&&f.b0&&(h=(zn(0,e.length),e.charCodeAt(0)),h!=64)){if(h==37&&(d=e.lastIndexOf("%"),l=!1,d!=0&&(d==g-1||(l=(zn(d+1,e.length),e.charCodeAt(d+1)==46))))){if(s=(Fi(1,d,e.length),e.substr(1,d-1)),O=An("%",s)?null:utn(s),i=0,l)try{i=Ao((zn(d+2,e.length+1),e.substr(d+2)),Wi,et)}catch(N){throw N=It(N),D(N,130)?(f=N,M(new eT(f))):M(N)}for(j=LQ(n.Gh());j.Ob();)if(m=PT(j),D(m,519)&&(r=u(m,598),I=r.d,(O==null?I==null:An(O,I))&&i--==0))return r;return null}if(a=e.lastIndexOf("."),p=a==-1?e:(Fi(0,a,e.length),e.substr(0,a)),t=0,a!=-1)try{t=Ao((zn(a+1,e.length+1),e.substr(a+1)),Wi,et)}catch(N){if(N=It(N),D(N,130))p=e;else throw M(N)}for(p=An("%",p)?null:utn(p),k=LQ(n.Gh());k.Ob();)if(m=PT(k),D(m,197)&&(c=u(m,197),S=c.xe(),(p==null?S==null:An(p,S))&&t--==0))return c;return null}return xGn(n,e)}function zDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I;for(a=new de,h=new C0,i=new C(n.a.a.b);i.ae.d.c){if(p=n.c[e.a.d],j=n.c[d.a.d],p==j)continue;qs(Ls(Ds(Ns(Os(new hs,1),100),p),j))}}}}}function XDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X;if(g=u(u(ot(n.r,e),21),87),e==(en(),Zn)||e==Wn){UGn(n,e);return}for(c=e==Xn?(N0(),ij):(N0(),rj),N=e==Xn?(bu(),kf):(bu(),Xs),t=u(Cr(n.b,e),127),i=t.i,r=i.c+Dg(A(T(Pi,1),Tr,28,15,[t.n.b,n.C.b,n.k])),S=i.c+i.b-Dg(A(T(Pi,1),Tr,28,15,[t.n.c,n.C.c,n.k])),s=kz(xV(c),n.t),I=e==Xn?li:St,d=g.Kc();d.Ob();)l=u(d.Pb(),117),!(!l.c||l.c.d.c.length<=0)&&(j=l.b.Mf(),k=l.e,p=l.c,m=p.i,m.b=(h=p.n,p.e.a+h.b+h.c),m.a=(f=p.n,p.e.b+f.d+f.a),G7(N,xtn),p.f=N,df(p,(Uu(),zs)),m.c=k.a-(m.b-j.a)/2,_=y.Math.min(r,k.a),X=y.Math.max(S,k.a+j.a),m.c<_?m.c=_:m.c+m.b>X&&(m.c=X-m.b),nn(s.d,new ZL(m,AY(s,m))),I=e==Xn?y.Math.max(I,k.b+l.b.Mf().b):y.Math.min(I,k.b));for(I+=e==Xn?n.t:-n.t,O=zY((s.e=I,s)),O>0&&(u(Cr(n.b,e),127).a.b=O),a=g.Kc();a.Ob();)l=u(a.Pb(),117),!(!l.c||l.c.d.c.length<=0)&&(m=l.c.i,m.c-=l.e.a,m.d-=l.e.b)}function VDe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p;for(e=new de,h=new ne(n);h.e!=h.i.gc();){for(f=u(ue(h),27),t=new ni,Ve(m_,f,t),p=new Rbn,r=u(Wr(new Tn(null,new p0(new ie(ce(cy(f).a.Kc(),new En)))),dPn(p,qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)])))),85),X$n(t,u(r.xc((_n(),!0)),16),new Kbn),i=u(Wr(ut(u(r.xc(!1),15).Lc(),new _bn),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr]))),15),s=i.Kc();s.Ob();)c=u(s.Pb(),74),g=XKn(c),g&&(l=u(Kr(wr(e.f,g)),21),l||(l=gqn(g),Vc(e.f,g,l)),Bi(t,l));for(r=u(Wr(new Tn(null,new p0(new ie(ce(Al(f).a.Kc(),new En)))),dPn(p,qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr])))),85),X$n(t,u(r.xc(!0),16),new Hbn),i=u(Wr(ut(u(r.xc(!1),15).Lc(),new qbn),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr]))),15),d=i.Kc();d.Ob();)a=u(d.Pb(),74),g=VKn(a),g&&(l=u(Kr(wr(e.f,g)),21),l||(l=gqn(g),Vc(e.f,g,l)),Bi(t,l))}}function WDe(n,e){BF();var t,i,r,c,s,f,h,l,a,d,g,p,m,k;if(h=Ec(n,0)<0,h&&(n=n1(n)),Ec(n,0)==0)switch(e){case 0:return"0";case 1:return Km;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return p=new x1,e<0?p.a+="0E+":p.a+="0E",p.a+=e==Wi?"2147483648":""+-e,p.a}a=18,d=K(fs,gh,28,a+1,15,1),t=a,k=n;do l=k,k=Xk(k,10),d[--t]=Ae(nr(48,bs(l,er(k,10))))&ui;while(Ec(k,0)!=0);if(r=bs(bs(bs(a,t),e),1),e==0)return h&&(d[--t]=45),ws(d,t,a-t);if(e>0&&Ec(r,-6)>=0){if(Ec(r,0)>=0){for(c=t+Ae(r),f=a-1;f>=c;f--)d[f+1]=d[f];return d[++c]=46,h&&(d[--t]=45),ws(d,t,a-t+1)}for(s=2;ND(s,nr(n1(r),1));s++)d[--t]=48;return d[--t]=46,d[--t]=48,h&&(d[--t]=45),ws(d,t,a-t)}return m=t+1,i=a,g=new fg,h&&(g.a+="-"),i-m>=1?(z1(g,d[t]),g.a+=".",g.a+=ws(d,t+1,a-t-1)):g.a+=ws(d,t,a-t),g.a+="E",Ec(r,0)>0&&(g.a+="+"),g.a+=""+_6(r),g.a}function G0(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X;if(j=new V(n.g,n.f),k=jnn(n),k.a=y.Math.max(k.a,e),k.b=y.Math.max(k.b,t),X=k.a/j.a,a=k.b/j.b,N=k.a-j.a,h=k.b-j.b,i)for(s=At(n)?u(z(At(n),(He(),_d)),88):u(z(n,(He(),_d)),88),f=x(z(n,(He(),v9)))===x((Oi(),qc)),I=new ne((!n.c&&(n.c=new q(Qu,n,9,9)),n.c));I.e!=I.i.gc();)switch(S=u(ue(I),123),O=u(z(S,H2),64),O==(en(),sc)&&(O=Ren(S,s),ht(S,H2,O)),O.g){case 1:f||eu(S,S.i*X);break;case 2:eu(S,S.i+N),f||tu(S,S.j*a);break;case 3:f||eu(S,S.i*X),tu(S,S.j+h);break;case 4:f||tu(S,S.j*a)}if(kg(n,k.a,k.b),r)for(g=new ne((!n.n&&(n.n=new q(Ar,n,1,7)),n.n));g.e!=g.i.gc();)d=u(ue(g),135),p=d.i+d.g/2,m=d.j+d.f/2,_=p/j.a,l=m/j.b,_+l>=1&&(_-l>0&&m>=0?(eu(d,d.i+N),tu(d,d.j+h*l)):_-l<0&&p>=0&&(eu(d,d.i+N*_),tu(d,d.j+h)));return ht(n,(He(),Hd),(go(),c=u(of(S9),9),new _o(c,u(xs(c,c.length),9),0))),new V(X,a)}function QGn(n){r0(n,new gd(UE(e0(Yd(n0(Zd(new Ka,es),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new V4n),es))),Q(n,es,TS,rn(fce)),Q(n,es,yw,rn(hce)),Q(n,es,r2,rn(cce)),Q(n,es,d3,rn(uce)),Q(n,es,a3,rn(oce)),Q(n,es,Xm,rn(rce)),Q(n,es,r8,rn(Jln)),Q(n,es,Vm,rn(sce)),Q(n,es,XR,rn(kq)),Q(n,es,zR,rn(yq)),Q(n,es,LS,rn(Yln)),Q(n,es,VR,rn(jq)),Q(n,es,WR,rn(Zln)),Q(n,es,zrn,rn(n1n)),Q(n,es,Grn,rn(Qln)),Q(n,es,_rn,rn(_I)),Q(n,es,Hrn,rn(HI)),Q(n,es,qrn,rn(Fj)),Q(n,es,Urn,rn(e1n)),Q(n,es,Krn,rn(Wln))}function zA(n){var e,t,i,r,c,s,f,h,l,a,d;if(n==null)throw M(new th(gu));if(l=n,c=n.length,h=!1,c>0&&(e=(zn(0,n.length),n.charCodeAt(0)),(e==45||e==43)&&(n=(zn(1,n.length+1),n.substr(1)),--c,h=e==45)),c==0)throw M(new th(V0+l+'"'));for(;n.length>0&&(zn(0,n.length),n.charCodeAt(0)==48);)n=(zn(1,n.length+1),n.substr(1)),--c;if(c>(SUn(),gQn)[10])throw M(new th(V0+l+'"'));for(r=0;r0&&(d=-parseInt((Fi(0,i,n.length),n.substr(0,i)),10),n=(zn(i,n.length+1),n.substr(i)),c-=i,t=!1);c>=s;){if(i=parseInt((Fi(0,s,n.length),n.substr(0,s)),10),n=(zn(s,n.length+1),n.substr(s)),c-=s,t)t=!1;else{if(Ec(d,f)<0)throw M(new th(V0+l+'"'));d=er(d,a)}d=bs(d,i)}if(Ec(d,0)>0)throw M(new th(V0+l+'"'));if(!h&&(d=n1(d),Ec(d,0)<0))throw M(new th(V0+l+'"'));return d}function utn(n){UF();var e,t,i,r,c,s,f,h;if(n==null)return null;if(r=ih(n,wu(37)),r<0)return n;for(h=new mo((Fi(0,r,n.length),n.substr(0,r))),e=K(Fu,s2,28,4,15,1),f=0,i=0,s=n.length;rr+2&&R$((zn(r+1,n.length),n.charCodeAt(r+1)),Bdn,Rdn)&&R$((zn(r+2,n.length),n.charCodeAt(r+2)),Bdn,Rdn))if(t=gbe((zn(r+1,n.length),n.charCodeAt(r+1)),(zn(r+2,n.length),n.charCodeAt(r+2))),r+=2,i>0?(t&192)==128?e[f++]=t<<24>>24:i=0:t>=128&&((t&224)==192?(e[f++]=t<<24>>24,i=2):(t&240)==224?(e[f++]=t<<24>>24,i=3):(t&248)==240&&(e[f++]=t<<24>>24,i=4)),i>0){if(f==i){switch(f){case 2:{z1(h,((e[0]&31)<<6|e[1]&63)&ui);break}case 3:{z1(h,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&ui);break}}f=0,i=0}}else{for(c=0;c=2){if((!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i==0)t=(B1(),r=new jE,r),ve((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),t);else if((!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i>1)for(g=new kp((!n.a&&(n.a=new q(Mt,n,6,6)),n.a));g.e!=g.i.gc();)O5(g);dy(e,u(L((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),0),166))}if(d)for(i=new ne((!n.a&&(n.a=new q(Mt,n,6,6)),n.a));i.e!=i.i.gc();)for(t=u(ue(i),166),l=new ne((!t.a&&(t.a=new ti(xo,t,5)),t.a));l.e!=l.i.gc();)h=u(ue(l),377),f.a=y.Math.max(f.a,h.a),f.b=y.Math.max(f.b,h.b);for(s=new ne((!n.n&&(n.n=new q(Ar,n,1,7)),n.n));s.e!=s.i.gc();)c=u(ue(s),135),a=u(z(c,j9),8),a&&Ro(c,a.a,a.b),d&&(f.a=y.Math.max(f.a,c.i+c.g),f.b=y.Math.max(f.b,c.j+c.f));return f}function ZGn(n,e,t,i,r){var c,s,f;if(n$n(n,e),s=e[0],c=Xi(t.c,0),f=-1,iY(t))if(i>0){if(s+i>n.length)return!1;f=yA((Fi(0,s+i,n.length),n.substr(0,s+i)),e)}else f=yA(n,e);switch(c){case 71:return f=Ug(n,s,A(T(fn,1),J,2,6,[Bzn,Rzn]),e),r.e=f,!0;case 77:return lAe(n,e,r,f,s);case 76:return aAe(n,e,r,f,s);case 69:return iEe(n,e,s,r);case 99:return rEe(n,e,s,r);case 97:return f=Ug(n,s,A(T(fn,1),J,2,6,["AM","PM"]),e),r.b=f,!0;case 121:return dAe(n,e,s,f,t,r);case 100:return f<=0?!1:(r.c=f,!0);case 83:return f<0?!1:v8e(f,s,e[0],r);case 104:f==12&&(f=0);case 75:case 72:return f<0?!1:(r.f=f,r.g=!1,!0);case 107:return f<0?!1:(r.f=f,r.g=!0,!0);case 109:return f<0?!1:(r.j=f,!0);case 115:return f<0?!1:(r.n=f,!0);case 90:if(syn[h]&&(j=h),d=new C(n.a.b);d.a1;){if(r=rTe(e),d=c.g,m=u(z(e,h9),107),k=$(R(z(e,zI))),(!e.a&&(e.a=new q(Ye,e,10,11)),e.a).i>1&&$(R(z(e,(_h(),Iq))))!=St&&(c.c+(m.b+m.c))/(c.b+(m.d+m.a))1&&$(R(z(e,(_h(),Pq))))!=St&&(c.c+(m.b+m.c))/(c.b+(m.d+m.a))>k&&ht(r,(_h(),Xw),y.Math.max($(R(z(e,f9))),$(R(z(r,Xw)))-$(R(z(e,Pq))))),p=new dX(i,a),h=vzn(p,r,g),l=h.g,l>=d&&l==l){for(s=0;s<(!r.a&&(r.a=new q(Ye,r,10,11)),r.a).i;s++)z_n(n,u(L((!r.a&&(r.a=new q(Ye,r,10,11)),r.a),s),27),u(L((!e.a&&(e.a=new q(Ye,e,10,11)),e.a),s),27));T$n(e,p),s2e(c,h.c),o2e(c,h.b)}--f}ht(e,(_h(),Nv),c.b),ht(e,O3,c.c),t.Vg()}function ZDe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I;for(e.Ug("Interactive node layering",1),t=new Z,g=new C(n.a);g.a=f){oe(I.b>0),I.a.Xb(I.c=--I.b);break}else j.a>h&&(i?(hi(i.b,j.b),i.a=y.Math.max(i.a,j.a),bo(I)):(nn(j.b,a),j.c=y.Math.min(j.c,h),j.a=y.Math.max(j.a,f),i=j));i||(i=new Vyn,i.c=h,i.a=f,Rb(I,i),nn(i.b,a))}for(s=n.b,l=0,S=new C(t);S.ap&&(c&&(ir(X,g),ir(yn,Y(l.b-1))),xe=t.b,Lt+=g+e,g=0,a=y.Math.max(a,t.b+t.c+te)),eu(f,xe),tu(f,Lt),a=y.Math.max(a,xe+te+t.c),g=y.Math.max(g,d),xe+=te+e;if(a=y.Math.max(a,i),Rn=Lt+g+t.a,Rnvh,kn=y.Math.abs(g.b-m.b)>vh,(!t&&yn&&kn||t&&(yn||kn))&&Fe(j.a,N)),Bi(j.a,i),i.b==0?g=N:g=(oe(i.b!=0),u(i.c.b.c,8)),Rve(p,d,k),Mxn(r)==tn&&(Hi(tn.i)!=r.a&&(k=new Li,mnn(k,Hi(tn.i),I)),U(j,pH,k)),yje(p,j,I),a.a.zc(p,a);Zi(j,_),Ii(j,tn)}for(l=a.a.ec().Kc();l.Ob();)h=u(l.Pb(),18),Zi(h,null),Ii(h,null);e.Vg()}function tLe(n,e){var t,i,r,c,s,f,h,l,a,d,g;for(r=u(v(n,(lc(),vb)),88),a=r==(ci(),Br)||r==Xr?Wf:Xr,t=u(Wr(ut(new Tn(null,new In(n.b,16)),new n4n),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),h=u(Wr(_r(t.Oc(),new wkn(e)),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr]))),15),h.Gc(u(Wr(_r(t.Oc(),new gkn(e)),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr]))),16)),h.jd(new pkn(a)),g=new Ul(new mkn(r)),i=new de,f=h.Kc();f.Ob();)s=u(f.Pb(),240),l=u(s.a,40),on(un(s.c))?(g.a.zc(l,(_n(),ga))==null,new Y3(g.a.Zc(l,!1)).a.gc()>0&&Ve(i,l,u(new Y3(g.a.Zc(l,!1)).a.Vc(),40)),new Y3(g.a.ad(l,!0)).a.gc()>1&&Ve(i,PBn(g,l),l)):(new Y3(g.a.Zc(l,!1)).a.gc()>0&&(c=u(new Y3(g.a.Zc(l,!1)).a.Vc(),40),x(c)===x(Kr(wr(i.f,l)))&&u(v(l,(pt(),eq)),15).Fc(c)),new Y3(g.a.ad(l,!0)).a.gc()>1&&(d=PBn(g,l),x(Kr(wr(i.f,d)))===x(l)&&u(v(d,(pt(),eq)),15).Fc(l)),g.a.Bc(l)!=null)}function nzn(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;if(n.gc()==1)return u(n.Xb(0),235);if(n.gc()<=0)return new zM;for(r=n.Kc();r.Ob();){for(t=u(r.Pb(),235),m=0,a=et,d=et,h=Wi,l=Wi,p=new C(t.e);p.af&&(O=0,N+=s+S,s=0),PSe(k,t,O,N),e=y.Math.max(e,O+j.a),s=y.Math.max(s,j.b),O+=j.a+S;return k}function iLe(n){Ben();var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(n==null||(c=iT(n),m=O5e(c),m%4!=0))return null;if(k=m/4|0,k==0)return K(Fu,s2,28,0,15,1);for(d=null,e=0,t=0,i=0,r=0,s=0,f=0,h=0,l=0,p=0,g=0,a=0,d=K(Fu,s2,28,k*3,15,1);p>4)<<24>>24,d[g++]=((t&15)<<4|i>>2&15)<<24>>24,d[g++]=(i<<6|r)<<24>>24}return!n7(s=c[a++])||!n7(f=c[a++])?null:(e=nh[s],t=nh[f],h=c[a++],l=c[a++],nh[h]==-1||nh[l]==-1?h==61&&l==61?t&15?null:(j=K(Fu,s2,28,p*3+1,15,1),Ic(d,0,j,0,p*3),j[g]=(e<<2|t>>4)<<24>>24,j):h!=61&&l==61?(i=nh[h],i&3?null:(j=K(Fu,s2,28,p*3+2,15,1),Ic(d,0,j,0,p*3),j[g++]=(e<<2|t>>4)<<24>>24,j[g]=((t&15)<<4|i>>2&15)<<24>>24,j)):null:(i=nh[h],r=nh[l],d[g++]=(e<<2|t>>4)<<24>>24,d[g++]=((t&15)<<4|i>>2&15)<<24>>24,d[g++]=(i<<6|r)<<24>>24,d))}function rLe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_;for(e.Ug(XXn,1),m=u(v(n,(cn(),$l)),223),r=new C(n.b);r.a=2){for(k=!0,g=new C(c.j),t=u(E(g),12),p=null;g.a0)if(i=d.gc(),l=wi(y.Math.floor((i+1)/2))-1,r=wi(y.Math.ceil((i+1)/2))-1,e.o==Xf)for(a=r;a>=l;a--)e.a[N.p]==N&&(k=u(d.Xb(a),42),m=u(k.a,10),!sf(t,k.b)&&p>n.b.e[m.p]&&(e.a[m.p]=N,e.g[N.p]=e.g[m.p],e.a[N.p]=e.g[N.p],e.f[e.g[N.p].p]=(_n(),!!(on(e.f[e.g[N.p].p])&N.k==(Vn(),Mi))),p=n.b.e[m.p]));else for(a=l;a<=r;a++)e.a[N.p]==N&&(S=u(d.Xb(a),42),j=u(S.a,10),!sf(t,S.b)&&p0&&(r=u(sn(j.c.a,X-1),10),s=n.i[r.p],yn=y.Math.ceil(jg(n.n,r,j)),c=_.a.e-j.d.d-(s.a.e+r.o.b+r.d.a)-yn),l=St,X0&&tn.a.e.e-tn.a.a-(tn.b.e.e-tn.b.a)<0,m=O.a.e.e-O.a.a-(O.b.e.e-O.b.a)<0&&tn.a.e.e-tn.a.a-(tn.b.e.e-tn.b.a)>0,p=O.a.e.e+O.b.atn.b.e.e+tn.a.a,N=0,!k&&!m&&(g?c+d>0?N=d:l-i>0&&(N=i):p&&(c+f>0?N=f:l-I>0&&(N=I))),_.a.e+=N,_.b&&(_.d.e+=N),!1))}function tzn(n,e,t){var i,r,c,s,f,h,l,a,d,g;if(i=new Ho(e.Lf().a,e.Lf().b,e.Mf().a,e.Mf().b),r=new mp,n.c)for(s=new C(e.Rf());s.al&&(i.a+=ITn(K(fs,gh,28,-l,15,1))),i.a+="Is",ih(h,wu(32))>=0)for(r=0;r=i.o.b/2}else I=!d;I?(S=u(v(i,(W(),P3)),15),S?g?c=S:(r=u(v(i,C3),15),r?S.gc()<=r.gc()?c=S:c=r:(c=new Z,U(i,C3,c))):(c=new Z,U(i,P3,c))):(r=u(v(i,(W(),C3)),15),r?d?c=r:(S=u(v(i,P3),15),S?r.gc()<=S.gc()?c=r:c=S:(c=new Z,U(i,P3,c))):(c=new Z,U(i,C3,c))),c.Fc(n),U(n,(W(),tI),t),e.d==t?(Ii(e,null),t.e.c.length+t.g.c.length==0&&ic(t,null),j6e(t)):(Zi(e,null),t.e.c.length+t.g.c.length==0&&ic(t,null)),vo(e.a)}function sLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te,xe,Lt;for(t.Ug("MinWidth layering",1),p=e.b,tn=e.a,Lt=u(v(e,(cn(),ihn)),17).a,f=u(v(e,rhn),17).a,n.b=$(R(v(e,Ws))),n.d=St,N=new C(tn);N.a0?(l=0,j&&(l+=f),l+=(kn-1)*s,O&&(l+=f),yn&&O&&(l=y.Math.max(l,STe(O,s,I,tn))),l=n.a&&(i=UPe(n,I),a=y.Math.max(a,i.b),N=y.Math.max(N,i.d),nn(f,new bi(I,i)));for(yn=new Z,l=0;l0),j.a.Xb(j.c=--j.b),kn=new Lc(n.b),Rb(j,kn),oe(j.b0){for(g=a<100?null:new F1(a),l=new KQ(e),m=l.g,S=K(ye,_e,28,a,15,1),i=0,N=new S0(a),r=0;r=0;)if(p!=null?rt(p,m[h]):x(p)===x(m[h])){S.length<=i&&(j=S,S=K(ye,_e,28,2*S.length,15,1),Ic(j,0,S,0,i)),S[i++]=r,ve(N,m[h]);break n}if(p=p,x(p)===x(f))break}}if(l=N,m=N.g,a=i,i>S.length&&(j=S,S=K(ye,_e,28,i,15,1),Ic(j,0,S,0,i)),i>0){for(O=!0,c=0;c=0;)Jp(n,S[s]);if(i!=a){for(r=a;--r>=i;)Jp(l,r);j=S,S=K(ye,_e,28,i,15,1),Ic(j,0,S,0,i)}e=l}}}else for(e=M7e(n,e),r=n.i;--r>=0;)e.Hc(n.g[r])&&(Jp(n,r),O=!0);if(O){if(S!=null){for(t=e.gc(),d=t==1?W6(n,4,e.Kc().Pb(),null,S[0],k):W6(n,6,e,S,S[0],k),g=t<100?null:new F1(t),r=e.Kc();r.Ob();)p=r.Pb(),g=PV(n,u(p,76),g);g?(g.nj(d),g.oj()):it(n.e,d)}else{for(g=Oae(e.gc()),r=e.Kc();r.Ob();)p=r.Pb(),g=PV(n,u(p,76),g);g&&g.oj()}return!0}else return!1}function lLe(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O;for(t=new yRn(e),t.a||KSe(e),l=FAe(e),h=new C0,j=new Eqn,k=new C(e.a);k.a0||t.o==Xf&&r=t}function dLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te;for(O=e,I=new C0,N=new C0,a=A0(O,Scn),i=new IIn(n,t,I,N),Lje(i.a,i.b,i.c,i.d,a),h=(tn=I.i,tn||(I.i=new Mg(I,I.c))),kn=h.Kc();kn.Ob();)for(yn=u(kn.Pb(),166),r=u(ot(I,yn),21),k=r.Kc();k.Ob();)if(m=k.Pb(),_=u(Lg(n.d,m),166),_)f=(!yn.e&&(yn.e=new Nn(Mt,yn,10,9)),yn.e),ve(f,_);else throw s=bl(O,Eh),g=kWn+m+yWn+s,p=g+iv,M(new eh(p));for(l=(X=N.i,X||(N.i=new Mg(N,N.c))),Rn=l.Kc();Rn.Ob();)for(Fn=u(Rn.Pb(),166),c=u(ot(N,Fn),21),S=c.Kc();S.Ob();)if(j=S.Pb(),_=u(Lg(n.d,j),166),_)d=(!Fn.g&&(Fn.g=new Nn(Mt,Fn,9,10)),Fn.g),ve(d,_);else throw s=bl(O,Eh),g=kWn+j+yWn+s,p=g+iv,M(new eh(p));!t.b&&(t.b=new Nn(he,t,4,7)),t.b.i!=0&&(!t.c&&(t.c=new Nn(he,t,5,8)),t.c.i!=0)&&(!t.b&&(t.b=new Nn(he,t,4,7)),t.b.i<=1&&(!t.c&&(t.c=new Nn(he,t,5,8)),t.c.i<=1))&&(!t.a&&(t.a=new q(Mt,t,6,6)),t.a).i==1&&(te=u(L((!t.a&&(t.a=new q(Mt,t,6,6)),t.a),0),166),!Sx(te)&&!Px(te)&&(mT(te,u(L((!t.b&&(t.b=new Nn(he,t,4,7)),t.b),0),84)),vT(te,u(L((!t.c&&(t.c=new Nn(he,t,5,8)),t.c),0),84))))}function bLe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn;for(O=n.a,N=0,_=O.length;N<_;++N){for(I=O[N],l=et,a=et,m=new C(I.e);m.a0?(d=u(sn(g.c.a,s-1),10),yn=jg(n.b,g,d),j=g.n.b-g.d.d-(d.n.b+d.o.b+d.d.a+yn)):j=g.n.b-g.d.d,l=y.Math.min(j,l),s1&&(s=y.Math.min(s,y.Math.abs(u(Zo(f.a,1),8).b-a.b)))));else for(k=new C(e.j);k.ar&&(c=g.a-r,s=et,i.c.length=0,r=g.a),g.a>=r&&(Kn(i.c,f),f.a.b>1&&(s=y.Math.min(s,y.Math.abs(u(Zo(f.a,f.a.b-2),8).b-g.b)))));if(i.c.length!=0&&c>e.o.a/2&&s>e.o.b/2){for(p=new Pc,ic(p,e),gi(p,(en(),Xn)),p.n.a=e.o.a/2,S=new Pc,ic(S,e),gi(S,ae),S.n.a=e.o.a/2,S.n.b=e.o.b,h=new C(i);h.a=l.b?Zi(f,S):Zi(f,p)):(l=u(cbe(f.a),8),j=f.a.b==0?If(f.c):u($s(f.a),8),j.b>=l.b?Ii(f,S):Ii(f,p)),d=u(v(f,(cn(),Fr)),75),d&&iw(d,l,!0);e.n.a=r-e.o.a/2}}function gLe(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(f=ge(n.b,0);f.b!=f.d.c;)if(s=u(be(f),40),!An(s.c,IS))for(l=_Ce(s,n),e==(ci(),Br)||e==Xr?Yt(l,new M4n):Yt(l,new T4n),h=l.c.length,i=0;i=0?p=zp(f):p=xk(zp(f)),n.qf(Mv,p)),l=new Li,g=!1,n.pf(bb)?(ZX(l,u(n.of(bb),8)),g=!0):T1e(l,s.a/2,s.b/2),p.g){case 4:U(a,ou,(Yo(),ya)),U(a,rI,(hd(),m2)),a.o.b=s.b,k<0&&(a.o.a=-k),gi(d,(en(),Zn)),g||(l.a=s.a),l.a-=s.a;break;case 2:U(a,ou,(Yo(),xw)),U(a,rI,(hd(),mv)),a.o.b=s.b,k<0&&(a.o.a=-k),gi(d,(en(),Wn)),g||(l.a=0);break;case 1:U(a,Od,(vl(),k2)),a.o.a=s.a,k<0&&(a.o.b=-k),gi(d,(en(),ae)),g||(l.b=s.b),l.b-=s.b;break;case 3:U(a,Od,(vl(),E3)),a.o.a=s.a,k<0&&(a.o.b=-k),gi(d,(en(),Xn)),g||(l.b=0)}if(ZX(d.n,l),U(a,bb,l),e==Ud||e==tl||e==qc){if(m=0,e==Ud&&n.pf(v1))switch(p.g){case 1:case 2:m=u(n.of(v1),17).a;break;case 3:case 4:m=-u(n.of(v1),17).a}else switch(p.g){case 4:case 2:m=c.b,e==tl&&(m/=r.b);break;case 1:case 3:m=c.a,e==tl&&(m/=r.a)}U(a,fb,m)}return U(a,gc,p),a}function pLe(){Cz();function n(i){var r=this;this.dispatch=function(c){var s=c.data;switch(s.cmd){case"algorithms":var f=GY((Dn(),new Q3(new ol(Da.b))));i.postMessage({id:s.id,data:f});break;case"categories":var h=GY((Dn(),new Q3(new ol(Da.c))));i.postMessage({id:s.id,data:h});break;case"options":var l=GY((Dn(),new Q3(new ol(Da.d))));i.postMessage({id:s.id,data:l});break;case"register":kOe(s.algorithms),i.postMessage({id:s.id});break;case"layout":WPe(s.graph,s.layoutOptions||{},s.options||{}),i.postMessage({id:s.id,data:s.graph});break}},this.saveDispatch=function(c){try{r.dispatch(c)}catch(s){i.postMessage({id:c.data.id,error:s})}}}function e(i){var r=this;this.dispatcher=new n({postMessage:function(c){r.onmessage({data:c})}}),this.postMessage=function(c){setTimeout(function(){r.dispatcher.saveDispatch({data:c})},0)}}if(typeof document===xB&&typeof self!==xB){var t=new n(self);self.onmessage=t.saveDispatch}else typeof gt!==xB&>.exports&&(Object.defineProperty(Sr,"__esModule",{value:!0}),gt.exports={default:e,Worker:e})}function szn(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(a=new Tl(t),Ur(a,e),U(a,(W(),st),e),a.o.a=e.g,a.o.b=e.f,a.n.a=e.i,a.n.b=e.j,nn(t.a,a),Ve(n.a,e,a),((!e.a&&(e.a=new q(Ye,e,10,11)),e.a).i!=0||on(un(z(e,(cn(),Rw)))))&&U(a,Zsn,(_n(),!0)),l=u(v(t,Hc),21),d=u(v(a,(cn(),Kt)),101),d==(Oi(),Pa)?U(a,Kt,Qf):d!=Qf&&l.Fc((pr(),yv)),g=0,i=u(v(t,Do),88),h=new ne((!e.c&&(e.c=new q(Qu,e,9,9)),e.c));h.e!=h.i.gc();)f=u(ue(h),123),r=At(e),(x(z(r,Yh))!==x((lh(),k1))||x(z(r,Ld))===x((o1(),pv))||x(z(r,Ld))===x((o1(),gv))||on(un(z(r,lb)))||x(z(r,Fw))!==x((dd(),Ow))||x(z(r,ja))===x((ps(),pb))||x(z(r,ja))===x((ps(),Uw))||x(z(r,$d))===x((a1(),Pv))||x(z(r,$d))===x((a1(),Iv)))&&!on(un(z(e,lI)))&&ht(f,dt,Y(g++)),on(un(z(f,Fd)))||ADe(n,f,a,l,i,d);for(s=new ne((!e.n&&(e.n=new q(Ar,e,1,7)),e.n));s.e!=s.i.gc();)c=u(ue(s),135),!on(un(z(c,Fd)))&&c.a&&nn(a.b,ex(c));return on(un(v(a,q8)))&&l.Fc((pr(),ZP)),on(un(v(a,wI)))&&(l.Fc((pr(),nI)),l.Fc(F8),U(a,Kt,Qf)),a}function QF(n,e,t,i,r,c,s){var f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te,xe,Lt;for(k=0,Fn=0,l=new C(n.b);l.ak&&(c&&(ir(X,p),ir(yn,Y(a.b-1)),nn(n.d,m),f.c.length=0),xe=t.b,Lt+=p+e,p=0,d=y.Math.max(d,t.b+t.c+te)),Kn(f.c,h),dRn(h,xe,Lt),d=y.Math.max(d,xe+te+t.c),p=y.Math.max(p,g),xe+=te+e,m=h;if(hi(n.a,f),nn(n.d,u(sn(f,f.c.length-1),163)),d=y.Math.max(d,i),Rn=Lt+p+t.a,Rnr.d.d+r.d.a?a.f.d=!0:(a.f.d=!0,a.f.a=!0))),i.b!=i.d.c&&(e=t);a&&(c=u(ee(n.f,s.d.i),60),e.bc.d.d+c.d.a?a.f.d=!0:(a.f.d=!0,a.f.a=!0))}for(f=new ie(ce(ji(p).a.Kc(),new En));pe(f);)s=u(fe(f),18),s.a.b!=0&&(e=u($s(s.a),8),s.d.j==(en(),Xn)&&(j=new q5(e,new V(e.a,r.d.d),r,s),j.f.a=!0,j.a=s.d,Kn(k.c,j)),s.d.j==ae&&(j=new q5(e,new V(e.a,r.d.d+r.d.a),r,s),j.f.d=!0,j.a=s.d,Kn(k.c,j)))}return k}function ELe(n,e,t){var i,r,c,s,f,h,l,a,d,g;for(h=new Z,d=e.length,s=tY(t),l=0;l=m&&(I>m&&(p.c.length=0,m=I),Kn(p.c,s));p.c.length!=0&&(g=u(sn(p,cA(e,p.c.length)),131),Rn.a.Bc(g)!=null,g.s=k++,nen(g,kn,X),p.c.length=0)}for(N=n.c.length+1,f=new C(n);f.aFn.s&&(bo(t),du(Fn.i,i),i.c>0&&(i.a=Fn,nn(Fn.t,i),i.b=tn,nn(tn.i,i)))}function fzn(n,e,t,i,r){var c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn;for(k=new Gc(e.b),N=new Gc(e.b),g=new Gc(e.b),yn=new Gc(e.b),j=new Gc(e.b),tn=ge(e,0);tn.b!=tn.d.c;)for(_=u(be(tn),12),f=new C(_.g);f.a0,S=_.g.c.length>0,l&&S?Kn(g.c,_):l?Kn(k.c,_):S&&Kn(N.c,_);for(m=new C(k);m.aI.nh()-l.b&&(g=I.nh()-l.b),p>I.oh()-l.d&&(p=I.oh()-l.d),a0){for(O=ge(n.f,0);O.b!=O.d.c;)I=u(be(O),10),I.p+=g-n.e;vnn(n),vo(n.f),ben(n,i,p)}else{for(Fe(n.f,p),p.p=i,n.e=y.Math.max(n.e,i),c=new ie(ce(ji(p).a.Kc(),new En));pe(c);)r=u(fe(c),18),!r.c.i.c&&r.c.i.k==(Vn(),Ac)&&(Fe(n.f,r.c.i),r.c.i.p=i-1);n.c=i}else vnn(n),vo(n.f),i=0,pe(new ie(ce(ji(p).a.Kc(),new En)))?(g=0,g=mRn(g,p),i=g+2,ben(n,i,p)):(Fe(n.f,p),p.p=0,n.e=y.Math.max(n.e,0),n.b=u(sn(n.d.b,0),30),n.c=0);for(n.f.b==0||vnn(n),n.d.a.c.length=0,S=new Z,l=new C(n.d.b);l.a=48&&e<=57){for(i=e-48;r=48&&e<=57;)if(i=i*10+e-48,i<0)throw M(new Le($e((Ie(),_cn))))}else throw M(new Le($e((Ie(),XWn))));if(t=i,e==44){if(r>=n.j)throw M(new Le($e((Ie(),WWn))));if((e=Xi(n.i,r++))>=48&&e<=57){for(t=e-48;r=48&&e<=57;)if(t=t*10+e-48,t<0)throw M(new Le($e((Ie(),_cn))));if(i>t)throw M(new Le($e((Ie(),JWn))))}else t=-1}if(e!=125)throw M(new Le($e((Ie(),VWn))));n.bm(r)?(c=(nt(),nt(),new Xb(9,c)),n.d=r+1):(c=(nt(),nt(),new Xb(3,c)),n.d=r),c.Om(i),c.Nm(t),Ze(n)}}return c}function PLe(n){var e,t,i,r,c;switch(t=u(v(n,(W(),Hc)),21),e=DC(mZn),r=u(v(n,(cn(),Bw)),346),r==(jl(),M1)&&Mo(e,vZn),on(un(v(n,TH)))?Ke(e,(Vi(),Vs),(tr(),$_)):Ke(e,(Vi(),Oc),(tr(),$_)),v(n,(JM(),b9))!=null&&Mo(e,kZn),(on(un(v(n,nhn)))||on(un(v(n,Jfn))))&&Pu(e,(Vi(),zr),(tr(),Won)),u(v(n,Do),88).g){case 2:case 3:case 4:Pu(Ke(e,(Vi(),Vs),(tr(),Qon)),zr,Jon)}switch(t.Hc((pr(),ZP))&&Pu(Ke(Ke(e,(Vi(),Vs),(tr(),Von)),Kc,zon),zr,Xon),x(v(n,ja))!==x((ps(),AI))&&Ke(e,(Vi(),Oc),(tr(),asn)),t.Hc(eI)&&(Ke(e,(Vi(),Vs),(tr(),gsn)),Ke(e,Jh,bsn),Ke(e,Oc,wsn)),x(v(n,fI))!==x((jm(),x8))&&x(v(n,$l))!==x((El(),Yj))&&Pu(e,(Vi(),zr),(tr(),usn)),on(un(v(n,Yfn)))&&Ke(e,(Vi(),Oc),(tr(),csn)),on(un(v(n,jH)))&&Ke(e,(Vi(),Oc),(tr(),psn)),HMe(n)&&(x(v(n,Bw))===x(M1)?i=u(v(n,Cj),299):i=u(v(n,yH),299),c=i==(Z4(),uH)?(tr(),dsn):(tr(),ksn),Ke(e,(Vi(),Kc),c)),u(v(n,Thn),388).g){case 1:Ke(e,(Vi(),Kc),(tr(),msn));break;case 2:Pu(Ke(Ke(e,(Vi(),Oc),(tr(),Hon)),Kc,qon),zr,Uon)}return x(v(n,Yh))!==x((lh(),k1))&&Ke(e,(Vi(),Oc),(tr(),vsn)),e}function dzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O;if(Zc(n.a,e)){if(sf(u(ee(n.a,e),49),t))return 1}else Ve(n.a,e,new ni);if(Zc(n.a,t)){if(sf(u(ee(n.a,t),49),e))return-1}else Ve(n.a,t,new ni);if(Zc(n.e,e)){if(sf(u(ee(n.e,e),49),t))return-1}else Ve(n.e,e,new ni);if(Zc(n.e,t)){if(sf(u(ee(n.a,t),49),e))return 1}else Ve(n.e,t,new ni);if(n.c==(lh(),HH)||!kt(e,(W(),dt))||!kt(t,(W(),dt))){for(d=null,l=new C(e.j);l.as?Pm(n,e,t):Pm(n,t,e),rs?1:0}return i=u(v(e,(W(),dt)),17).a,c=u(v(t,dt),17).a,i>c?Pm(n,e,t):Pm(n,t,e),ic?1:0}function z0(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(t==null)return null;if(n.a!=e.jk())throw M(new Gn(ev+e.xe()+nb));if(D(e,469)){if(j=kAe(u(e,685),t),!j)throw M(new Gn(fK+t+"' is not a valid enumerator of '"+e.xe()+"'"));return j}switch(r1((Du(),zi),e).Nl()){case 2:{t=Fc(t,!1);break}case 3:{t=Fc(t,!0);break}}if(i=r1(zi,e).Jl(),i)return i.jk().wi().ti(i,t);if(g=r1(zi,e).Ll(),g){for(j=new Z,l=z$(t),a=0,d=l.length;a1)for(m=new kp((!n.a&&(n.a=new q(Mt,n,6,6)),n.a));m.e!=m.i.gc();)O5(m);for(s=u(L((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),0),166),j=xe,xe>_+N?j=_+N:xe<_-N&&(j=_-N),S=Lt,Lt>X+k?S=X+k:Lt_-N&&j<_+N&&S>X-k&&Sxe+te?yn=xe+te:_Lt+tn?kn=Lt+tn:Xxe-te&&ynLt-tn&&knt&&(g=t-1),p=D1+to(e,24)*Iy*d-d/2,p<0?p=1:p>i&&(p=i-1),r=(B1(),h=new yE,h),aT(r,g),lT(r,p),ve((!s.a&&(s.a=new ti(xo,s,5)),s.a),r)}function bzn(n){r0(n,new gd(e0(Yd(n0(Zd(new Ka,co),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new rmn))),Q(n,co,l3,1.3),Q(n,co,zm,(_n(),!1)),Q(n,co,W0,k1n),Q(n,co,yw,15),Q(n,co,MS,rn(Oce)),Q(n,co,r2,rn(Nce)),Q(n,co,d3,rn(xce)),Q(n,co,a3,rn(Fce)),Q(n,co,Xm,rn(Lce)),Q(n,co,r8,rn(Dq)),Q(n,co,Vm,rn(Bce)),Q(n,co,ecn,rn(C1n)),Q(n,co,tcn,rn(E1n)),Q(n,co,ncn,rn(Nq)),Q(n,co,Zrn,rn(M1n)),Q(n,co,icn,rn(v1n)),Q(n,co,rcn,rn(Lq)),Q(n,co,ccn,rn(m1n)),Q(n,co,ucn,rn(j1n)),Q(n,co,i8,rn(p1n)),Q(n,co,AS,rn(Dce)),Q(n,co,Qrn,rn(Rj)),Q(n,co,Jrn,rn(g1n)),Q(n,co,Yrn,rn(Kj)),Q(n,co,Wrn,rn(y1n))}function ZF(n,e){BF();var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te,xe;if(yn=n.e,m=n.d,r=n.a,yn==0)switch(e){case 0:return"0";case 1:return Km;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return X=new x1,e<0?X.a+="0E+":X.a+="0E",X.a+=-e,X.a}if(O=m*10+1+7,N=K(fs,gh,28,O+1,15,1),t=O,m==1)if(f=r[0],f<0){xe=vi(f,mr);do k=xe,xe=Xk(xe,10),N[--t]=48+Ae(bs(k,er(xe,10)))&ui;while(Ec(xe,0)!=0)}else{xe=f;do k=xe,xe=xe/10|0,N[--t]=48+(k-xe*10)&ui;while(xe!=0)}else{Fn=K(ye,_e,28,m,15,1),te=m,Ic(r,0,Fn,0,te);n:for(;;){for(tn=0,l=te-1;l>=0;l--)Rn=nr(Bs(tn,32),vi(Fn[l],mr)),S=mye(Rn),Fn[l]=Ae(S),tn=Ae(w0(S,32));I=Ae(tn),j=t;do N[--t]=48+I%10&ui;while((I=I/10|0)!=0&&t!=0);for(i=9-j+t,h=0;h0;h++)N[--t]=48;for(d=te-1;Fn[d]==0;d--)if(d==0)break n;te=d+1}for(;N[t]==48;)++t}if(p=yn<0,s=O-t-e-1,e==0)return p&&(N[--t]=45),ws(N,t,O-t);if(e>0&&s>=-6){if(s>=0){for(a=t+s,g=O-1;g>=a;g--)N[g+1]=N[g];return N[++a]=46,p&&(N[--t]=45),ws(N,t,O-t+1)}for(d=2;d<-s+1;d++)N[--t]=48;return N[--t]=46,N[--t]=48,p&&(N[--t]=45),ws(N,t,O-t)}return kn=t+1,c=O,_=new fg,p&&(_.a+="-"),c-kn>=1?(z1(_,N[t]),_.a+=".",_.a+=ws(N,t+1,O-t-1)):_.a+=ws(N,t,O-t),_.a+="E",s>0&&(_.a+="+"),_.a+=""+s,_.a}function wzn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X;switch(n.c=e,n.g=new de,t=(c0(),new Qd(n.c)),i=new IE(t),HY(i),O=Oe(z(n.c,(Wk(),U1n))),h=u(z(n.c,Uq),324),_=u(z(n.c,Gq),437),s=u(z(n.c,_1n),490),N=u(z(n.c,qq),438),n.j=$(R(z(n.c,Yce))),f=n.a,h.g){case 0:f=n.a;break;case 1:f=n.b;break;case 2:f=n.i;break;case 3:f=n.e;break;case 4:f=n.f;break;default:throw M(new Gn(xS+(h.f!=null?h.f:""+h.g)))}if(n.d=new sOn(f,_,s),U(n.d,(J4(),O8),un(z(n.c,Jce))),n.d.c=on(un(z(n.c,H1n))),AM(n.c).i==0)return n.d;for(d=new ne(AM(n.c));d.e!=d.i.gc();){for(a=u(ue(d),27),p=a.g/2,g=a.f/2,X=new V(a.i+p,a.j+g);Zc(n.g,X);)a0(X,(y.Math.random()-.5)*vh,(y.Math.random()-.5)*vh);k=u(z(a,(He(),xv)),140),j=new jOn(X,new Ho(X.a-p-n.j/2-k.b,X.b-g-n.j/2-k.d,a.g+n.j+(k.b+k.c),a.f+n.j+(k.d+k.a))),nn(n.d.i,j),Ve(n.g,X,new bi(j,a))}switch(N.g){case 0:if(O==null)n.d.d=u(sn(n.d.i,0),68);else for(I=new C(n.d.i);I.a0?te+1:1);for(s=new C(X.g);s.a0?te+1:1)}n.c[l]==0?Fe(n.e,k):n.a[l]==0&&Fe(n.f,k),++l}for(m=-1,p=1,d=new Z,n.d=u(v(e,(W(),S3)),234);Fo>0;){for(;n.e.b!=0;)Lt=u(UL(n.e),10),n.b[Lt.p]=m--,Oen(n,Lt),--Fo;for(;n.f.b!=0;)Yu=u(UL(n.f),10),n.b[Yu.p]=p++,Oen(n,Yu),--Fo;if(Fo>0){for(g=Wi,I=new C(O);I.a=g&&(N>g&&(d.c.length=0,g=N),Kn(d.c,k)));a=n.sg(d),n.b[a.p]=p++,Oen(n,a),--Fo}}for(xe=O.c.length+1,l=0;ln.b[Rr]&&(U0(i,!0),U(e,kj,(_n(),!0)));n.a=null,n.c=null,n.b=null,vo(n.f),vo(n.e),t.Vg()}function gzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X;for(_=u(L((!n.a&&(n.a=new q(Mt,n,6,6)),n.a),0),166),a=new Mu,N=new de,X=MUn(_),Vc(N.f,_,X),g=new de,i=new Ct,m=$h(Eo(A(T(Oo,1),Bn,20,0,[(!e.d&&(e.d=new Nn(Vt,e,8,5)),e.d),(!e.e&&(e.e=new Nn(Vt,e,7,4)),e.e)])));pe(m);){if(p=u(fe(m),74),(!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i!=1)throw M(new Gn(tWn+(!n.a&&(n.a=new q(Mt,n,6,6)),n.a).i));p!=n&&(j=u(L((!p.a&&(p.a=new q(Mt,p,6,6)),p.a),0),166),xt(i,j,i.c.b,i.c),k=u(Kr(wr(N.f,j)),13),k||(k=MUn(j),Vc(N.f,j,k)),d=t?mi(new rr(u(sn(X,X.c.length-1),8)),u(sn(k,k.c.length-1),8)):mi(new rr((Ln(0,X.c.length),u(X.c[0],8))),(Ln(0,k.c.length),u(k.c[0],8))),Vc(g.f,j,d))}if(i.b!=0)for(S=u(sn(X,t?X.c.length-1:0),8),l=1;l1&&xt(a,S,a.c.b,a.c),p$(r)));S=I}return a}function pzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn;for(t.Ug(pVn,1),Fn=u(Wr(ut(new Tn(null,new In(e,16)),new L4n),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),a=u(Wr(ut(new Tn(null,new In(e,16)),new kkn(e)),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr]))),15),m=u(Wr(ut(new Tn(null,new In(e,16)),new vkn(e)),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[Yr]))),15),k=K(NI,OS,40,e.gc(),0,1),s=0;s=0&&kn=0&&!k[p]){k[p]=r,a.gd(f),--f;break}if(p=kn-g,p=0&&!k[p]){k[p]=r,a.gd(f),--f;break}}for(m.jd(new N4n),h=k.length-1;h>=0;h--)!k[h]&&!m.dc()&&(k[h]=u(m.Xb(0),40),m.gd(0));for(l=0;l=0;h--)Fe(t,(Ln(h,s.c.length),u(s.c[h],8)));return t}function vzn(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;for(O=$(R(z(e,(_h(),Xw)))),p=$(R(z(e,f9))),g=$(R(z(e,UI))),NQ((!e.a&&(e.a=new q(Ye,e,10,11)),e.a)),S=fGn((!e.a&&(e.a=new q(Ye,e,10,11)),e.a),O,n.b),j=0;jg&&Gk((Ln(g,e.c.length),u(e.c[g],186)),a),a=null;e.c.length>g&&(Ln(g,e.c.length),u(e.c[g],186)).a.c.length==0;)du(e,(Ln(g,e.c.length),e.c[g]));if(!a){--s;continue}if(!on(un(u(sn(a.b,0),27).of((Rf(),Kj))))&&ZSe(e,m,c,a,j,t,g,i)){k=!0;continue}if(j){if(p=m.b,d=a.f,!on(un(u(sn(a.b,0),27).of(Kj)))&&pOe(e,m,c,a,t,g,i,r)){if(k=!0,p=n.j){n.a=-1,n.c=1;return}if(e=Xi(n.i,n.d++),n.a=e,n.b==1){switch(e){case 92:if(i=10,n.d>=n.j)throw M(new Le($e((Ie(),qS))));n.a=Xi(n.i,n.d++);break;case 45:(n.e&512)==512&&n.d=n.j||Xi(n.i,n.d)!=63)break;if(++n.d>=n.j)throw M(new Le($e((Ie(),jK))));switch(e=Xi(n.i,n.d++),e){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw M(new Le($e((Ie(),jK))));if(e=Xi(n.i,n.d++),e==61)i=16;else if(e==33)i=17;else throw M(new Le($e((Ie(),PWn))));break;case 35:for(;n.d=n.j)throw M(new Le($e((Ie(),qS))));n.a=Xi(n.i,n.d++);break;default:i=0}n.c=i}function RLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j;if(t.Ug("Process compaction",1),!!on(un(v(e,(lc(),Mln))))){for(r=u(v(e,vb),88),p=$(R(v(e,fq))),aIe(n,e,r),tLe(e,p/2/2),m=e.b,ud(m,new akn(r)),l=ge(m,0);l.b!=l.d.c;)if(h=u(be(l),40),!on(un(v(h,(pt(),Ma))))){if(i=BAe(h,r),k=LPe(h,e),d=0,g=0,i)switch(j=i.e,r.g){case 2:d=j.a-p-h.f.a,k.e.a-p-h.f.ad&&(d=k.e.a+k.f.a+p),g=d+h.f.a;break;case 4:d=j.b-p-h.f.b,k.e.b-p-h.f.bd&&(d=k.e.b+k.f.b+p),g=d+h.f.b}else if(k)switch(r.g){case 2:d=k.e.a-p-h.f.a,g=d+h.f.a;break;case 1:d=k.e.a+k.f.a+p,g=d+h.f.a;break;case 4:d=k.e.b-p-h.f.b,g=d+h.f.b;break;case 3:d=k.e.b+k.f.b+p,g=d+h.f.b}x(v(e,sq))===x((d5(),Lj))?(c=d,s=g,f=im(ut(new Tn(null,new In(n.a,16)),new eMn(c,s))),f.a!=null?r==(ci(),Br)||r==Xr?h.e.a=d:h.e.b=d:(r==(ci(),Br)||r==us?f=im(ut(O$n(new Tn(null,new In(n.a,16))),new dkn(c))):f=im(ut(O$n(new Tn(null,new In(n.a,16))),new bkn(c))),f.a!=null&&(r==Br||r==Xr?h.e.a=$(R((oe(f.a!=null),u(f.a,42)).a)):h.e.b=$(R((oe(f.a!=null),u(f.a,42)).a)))),f.a!=null&&(a=qr(n.a,(oe(f.a!=null),f.a),0),a>0&&a!=u(v(h,Sh),17).a&&(U(h,pln,(_n(),!0)),U(h,Sh,Y(a))))):r==(ci(),Br)||r==Xr?h.e.a=d:h.e.b=d}t.Vg()}}function kzn(n){var e,t,i,r,c,s,f,h,l;for(n.b=1,Ze(n),e=null,n.c==0&&n.a==94?(Ze(n),e=(nt(),nt(),new yo(4)),xc(e,0,cv),f=new yo(4)):f=(nt(),nt(),new yo(4)),r=!0;(l=n.c)!=1;){if(l==0&&n.a==93&&!r){e&&(V5(e,f),f=e);break}if(t=n.a,i=!1,l==10)switch(t){case 100:case 68:case 119:case 87:case 115:case 83:gw(f,Im(t)),i=!0;break;case 105:case 73:case 99:case 67:t=(gw(f,Im(t)),-1),t<0&&(i=!0);break;case 112:case 80:if(h=$nn(n,t),!h)throw M(new Le($e((Ie(),EK))));gw(f,h),i=!0;break;default:t=gen(n)}else if(l==24&&!r){if(e&&(V5(e,f),f=e),c=kzn(n),V5(f,c),n.c!=0||n.a!=93)throw M(new Le($e((Ie(),RWn))));break}if(Ze(n),!i){if(l==0){if(t==91)throw M(new Le($e((Ie(),Rcn))));if(t==93)throw M(new Le($e((Ie(),Kcn))));if(t==45&&!r&&n.a!=93)throw M(new Le($e((Ie(),CK))))}if(n.c!=0||n.a!=45||t==45&&r)xc(f,t,t);else{if(Ze(n),(l=n.c)==1)throw M(new Le($e((Ie(),US))));if(l==0&&n.a==93)xc(f,t,t),xc(f,45,45);else{if(l==0&&n.a==93||l==24)throw M(new Le($e((Ie(),CK))));if(s=n.a,l==0){if(s==91)throw M(new Le($e((Ie(),Rcn))));if(s==93)throw M(new Le($e((Ie(),Kcn))));if(s==45)throw M(new Le($e((Ie(),CK))))}else l==10&&(s=gen(n));if(Ze(n),t>s)throw M(new Le($e((Ie(),HWn))));xc(f,t,s)}}}r=!1}if(n.c==1)throw M(new Le($e((Ie(),US))));return Gg(f),z5(f),n.b=0,Ze(n),f}function KLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_;if(t.Ug("Coffman-Graham Layering",1),e.a.c.length==0){t.Vg();return}for(_=u(v(e,(cn(),thn)),17).a,h=0,s=0,g=new C(e.a);g.a=_||!N8e(S,i))&&(i=mIn(e,a)),$i(S,i),c=new ie(ce(ji(S).a.Kc(),new En));pe(c);)r=u(fe(c),18),!n.a[r.p]&&(k=r.c.i,--n.e[k.p],n.e[k.p]==0&&Mp(ym(p,k),_m));for(l=a.c.length-1;l>=0;--l)nn(e.b,(Ln(l,a.c.length),u(a.c[l],30)));e.a.c.length=0,t.Vg()}function yzn(n,e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N;N=!1;do for(N=!1,c=e?new qa(n.a.b).a.gc()-2:1;e?c>=0:cu(v(j,dt),17).a)&&(O=!1);if(O){for(h=e?c+1:c-1,f=yJ(n.a,Y(h)),s=!1,I=!0,i=!1,a=ge(f,0);a.b!=a.d.c;)l=u(be(a),10),kt(l,dt)?l.p!=d.p&&(s=s|(e?u(v(l,dt),17).au(v(d,dt),17).a),I=!1):!s&&I&&l.k==(Vn(),Ac)&&(i=!0,e?g=u(fe(new ie(ce(ji(l).a.Kc(),new En))),18).c.i:g=u(fe(new ie(ce(Qt(l).a.Kc(),new En))),18).d.i,g==d&&(e?t=u(fe(new ie(ce(Qt(l).a.Kc(),new En))),18).d.i:t=u(fe(new ie(ce(ji(l).a.Kc(),new En))),18).c.i,(e?u(xb(n.a,t),17).a-u(xb(n.a,g),17).a:u(xb(n.a,g),17).a-u(xb(n.a,t),17).a)<=2&&(I=!1)));if(i&&I&&(e?t=u(fe(new ie(ce(Qt(d).a.Kc(),new En))),18).d.i:t=u(fe(new ie(ce(ji(d).a.Kc(),new En))),18).c.i,(e?u(xb(n.a,t),17).a-u(xb(n.a,d),17).a:u(xb(n.a,d),17).a-u(xb(n.a,t),17).a)<=2&&t.k==(Vn(),zt)&&(I=!1)),s||I){for(k=YHn(n,d,e);k.a.gc()!=0;)m=u(k.a.ec().Kc().Pb(),10),k.a.Bc(m)!=null,Bi(k,YHn(n,m,e));--p,N=!0}}}while(N)}function _Le(n){Me(n.c,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#decimal"])),Me(n.d,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#integer"])),Me(n.e,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#boolean"])),Me(n.f,Be,A(T(fn,1),J,2,6,[Ji,"EBoolean",Qe,"EBoolean:Object"])),Me(n.i,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#byte"])),Me(n.g,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Me(n.j,Be,A(T(fn,1),J,2,6,[Ji,"EByte",Qe,"EByte:Object"])),Me(n.n,Be,A(T(fn,1),J,2,6,[Ji,"EChar",Qe,"EChar:Object"])),Me(n.t,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#double"])),Me(n.u,Be,A(T(fn,1),J,2,6,[Ji,"EDouble",Qe,"EDouble:Object"])),Me(n.F,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#float"])),Me(n.G,Be,A(T(fn,1),J,2,6,[Ji,"EFloat",Qe,"EFloat:Object"])),Me(n.I,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#int"])),Me(n.J,Be,A(T(fn,1),J,2,6,[Ji,"EInt",Qe,"EInt:Object"])),Me(n.N,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#long"])),Me(n.O,Be,A(T(fn,1),J,2,6,[Ji,"ELong",Qe,"ELong:Object"])),Me(n.Z,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#short"])),Me(n.$,Be,A(T(fn,1),J,2,6,[Ji,"EShort",Qe,"EShort:Object"])),Me(n._,Be,A(T(fn,1),J,2,6,[Ji,"http://www.w3.org/2001/XMLSchema#string"]))}function HLe(n,e,t,i,r,c,s){var f,h,l,a,d,g,p,m;return g=u(i.a,17).a,p=u(i.b,17).a,d=n.b,m=n.c,f=0,a=0,e==(ci(),Br)||e==Xr?(a=a7(lBn(Ub(_r(new Tn(null,new In(t.b,16)),new x4n),new m4n))),d.e.b+d.f.b/2>a?(l=++p,f=$(R(ho(_b(_r(new Tn(null,new In(t.b,16)),new rMn(r,l)),new v4n))))):(h=++g,f=$(R(ho(Ap(_r(new Tn(null,new In(t.b,16)),new cMn(r,h)),new k4n)))))):(a=a7(lBn(Ub(_r(new Tn(null,new In(t.b,16)),new C4n),new p4n))),d.e.a+d.f.a/2>a?(l=++p,f=$(R(ho(_b(_r(new Tn(null,new In(t.b,16)),new tMn(r,l)),new y4n))))):(h=++g,f=$(R(ho(Ap(_r(new Tn(null,new In(t.b,16)),new iMn(r,h)),new j4n)))))),e==Br?(ir(n.a,new V($(R(v(d,(pt(),jf))))-r,f)),ir(n.a,new V(m.e.a+m.f.a+r+c,f)),ir(n.a,new V(m.e.a+m.f.a+r+c,m.e.b+m.f.b/2)),ir(n.a,new V(m.e.a+m.f.a,m.e.b+m.f.b/2))):e==Xr?(ir(n.a,new V($(R(v(d,(pt(),Js))))+r,d.e.b+d.f.b/2)),ir(n.a,new V(d.e.a+d.f.a+r,f)),ir(n.a,new V(m.e.a-r-c,f)),ir(n.a,new V(m.e.a-r-c,m.e.b+m.f.b/2)),ir(n.a,new V(m.e.a,m.e.b+m.f.b/2))):e==us?(ir(n.a,new V(f,$(R(v(d,(pt(),jf))))-r)),ir(n.a,new V(f,m.e.b+m.f.b+r+c)),ir(n.a,new V(m.e.a+m.f.a/2,m.e.b+m.f.b+r+c)),ir(n.a,new V(m.e.a+m.f.a/2,m.e.b+m.f.b+r))):(n.a.b==0||(u($s(n.a),8).b=$(R(v(d,(pt(),Js))))+r*u(s.b,17).a),ir(n.a,new V(f,$(R(v(d,(pt(),Js))))+r*u(s.b,17).a)),ir(n.a,new V(f,m.e.b-r*u(s.a,17).a-c))),new bi(Y(g),Y(p))}function qLe(n){var e,t,i,r,c,s,f,h,l,a,d,g,p;if(s=!0,d=null,i=null,r=null,e=!1,p=$oe,l=null,c=null,f=0,h=yx(n,f,Kdn,_dn),h=0&&An(n.substr(f,2),"//")?(f+=2,h=yx(n,f,D9,L9),i=(Fi(f,h,n.length),n.substr(f,h-f)),f=h):d!=null&&(f==n.length||(zn(f,n.length),n.charCodeAt(f)!=47))&&(s=!1,h=GX(n,wu(35),f),h==-1&&(h=n.length),i=(Fi(f,h,n.length),n.substr(f,h-f)),f=h);if(!t&&f0&&Xi(a,a.length-1)==58&&(r=a,f=h)),fgF(c))&&(d=c);for(!d&&(d=(Ln(0,j.c.length),u(j.c[0],185))),k=new C(e.b);k.ad&&(Rn=0,te+=a+tn,a=0),lUn(_,s,Rn,te),e=y.Math.max(e,Rn+X.a),a=y.Math.max(a,X.b),Rn+=X.a+tn;for(N=new de,t=new de,kn=new C(n);kn.a=-1900?1:0,t>=4?Re(n,A(T(fn,1),J,2,6,[Bzn,Rzn])[f]):Re(n,A(T(fn,1),J,2,6,["BC","AD"])[f]);break;case 121:f9e(n,t,i);break;case 77:SSe(n,t,i);break;case 107:h=r.q.getHours(),h==0?Bh(n,24,t):Bh(n,h,t);break;case 83:_Me(n,t,r);break;case 69:a=i.q.getDay(),t==5?Re(n,A(T(fn,1),J,2,6,["S","M","T","W","T","F","S"])[a]):t==4?Re(n,A(T(fn,1),J,2,6,[vB,kB,yB,jB,EB,CB,MB])[a]):Re(n,A(T(fn,1),J,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[a]);break;case 97:r.q.getHours()>=12&&r.q.getHours()<24?Re(n,A(T(fn,1),J,2,6,["AM","PM"])[1]):Re(n,A(T(fn,1),J,2,6,["AM","PM"])[0]);break;case 104:d=r.q.getHours()%12,d==0?Bh(n,12,t):Bh(n,d,t);break;case 75:g=r.q.getHours()%12,Bh(n,g,t);break;case 72:p=r.q.getHours(),Bh(n,p,t);break;case 99:m=i.q.getDay(),t==5?Re(n,A(T(fn,1),J,2,6,["S","M","T","W","T","F","S"])[m]):t==4?Re(n,A(T(fn,1),J,2,6,[vB,kB,yB,jB,EB,CB,MB])[m]):t==3?Re(n,A(T(fn,1),J,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[m]):Bh(n,m,1);break;case 76:k=i.q.getMonth(),t==5?Re(n,A(T(fn,1),J,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[k]):t==4?Re(n,A(T(fn,1),J,2,6,[sB,fB,hB,lB,c3,aB,dB,bB,wB,gB,pB,mB])[k]):t==3?Re(n,A(T(fn,1),J,2,6,["Jan","Feb","Mar","Apr",c3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[k]):Bh(n,k+1,t);break;case 81:j=i.q.getMonth()/3|0,t<4?Re(n,A(T(fn,1),J,2,6,["Q1","Q2","Q3","Q4"])[j]):Re(n,A(T(fn,1),J,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[j]);break;case 100:S=i.q.getDate(),Bh(n,S,t);break;case 109:l=r.q.getMinutes(),Bh(n,l,t);break;case 115:s=r.q.getSeconds(),Bh(n,s,t);break;case 122:t<4?Re(n,c.c[0]):Re(n,c.c[1]);break;case 118:Re(n,c.b);break;case 90:t<3?Re(n,NEe(c)):t==3?Re(n,REe(c)):Re(n,KEe(c.a));break;default:return!1}return!0}function htn(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te,xe;if(nUn(e),h=u(L((!e.b&&(e.b=new Nn(he,e,4,7)),e.b),0),84),a=u(L((!e.c&&(e.c=new Nn(he,e,5,8)),e.c),0),84),f=Gr(h),l=Gr(a),s=(!e.a&&(e.a=new q(Mt,e,6,6)),e.a).i==0?null:u(L((!e.a&&(e.a=new q(Mt,e,6,6)),e.a),0),166),tn=u(ee(n.a,f),10),Rn=u(ee(n.a,l),10),yn=null,te=null,D(h,193)&&(X=u(ee(n.a,h),305),D(X,12)?yn=u(X,12):D(X,10)&&(tn=u(X,10),yn=u(sn(tn.j,0),12))),D(a,193)&&(Fn=u(ee(n.a,a),305),D(Fn,12)?te=u(Fn,12):D(Fn,10)&&(Rn=u(Fn,10),te=u(sn(Rn.j,0),12))),!tn||!Rn)throw M(new hp("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(k=new E0,Ur(k,e),U(k,(W(),st),e),U(k,(cn(),Fr),null),p=u(v(i,Hc),21),tn==Rn&&p.Fc((pr(),B8)),yn||(_=(gr(),Jc),kn=null,s&&mg(u(v(tn,Kt),101))&&(kn=new V(s.j,s.k),UDn(kn,V7(e)),mLn(kn,t),Yb(l,f)&&(_=Vu,tt(kn,tn.n))),yn=eGn(tn,kn,_,i)),te||(_=(gr(),Vu),xe=null,s&&mg(u(v(Rn,Kt),101))&&(xe=new V(s.b,s.c),UDn(xe,V7(e)),mLn(xe,t)),te=eGn(Rn,xe,_,Hi(Rn))),Zi(k,yn),Ii(k,te),(yn.e.c.length>1||yn.g.c.length>1||te.e.c.length>1||te.g.c.length>1)&&p.Fc((pr(),F8)),g=new ne((!e.n&&(e.n=new q(Ar,e,1,7)),e.n));g.e!=g.i.gc();)if(d=u(ue(g),135),!on(un(z(d,Fd)))&&d.a)switch(j=ex(d),nn(k.b,j),u(v(j,Ah),278).g){case 1:case 2:p.Fc((pr(),kv));break;case 0:p.Fc((pr(),vv)),U(j,Ah,($f(),Fv))}if(c=u(v(i,U8),322),S=u(v(i,vI),323),r=c==(c5(),pj)||S==(M5(),KH),s&&(!s.a&&(s.a=new ti(xo,s,5)),s.a).i!=0&&r){for(I=Qk(s),m=new Mu,N=ge(I,0);N.b!=N.d.c;)O=u(be(N),8),Fe(m,new rr(O));U(k,rfn,m)}return k}function XLe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te,xe,Lt;for(kn=0,Fn=0,tn=new de,_=u(ho(_b(_r(new Tn(null,new In(n.b,16)),new E4n),new O4n)),17).a+1,yn=K(ye,_e,28,_,15,1),j=K(ye,_e,28,_,15,1),k=0;k<_;k++)yn[k]=0,j[k]=0;for(h=u(Wr(uJ(new Tn(null,new In(n.a,16))),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),a=h.Kc();a.Ob();)if(l=u(a.Pb(),65),te=u(v(l.b,(lc(),Sh)),17).a,Lt=u(v(l.c,Sh),17).a,N=Lt-te,N>1)for(f=te+1;fl.b.e.b*(1-S)+l.c.e.b*S));m++);if(X.gc()>0&&(xe=l.a.b==0?Ki(l.b.e):u($s(l.a),8),O=tt(Ki(u(X.Xb(X.gc()-1),40).e),u(X.Xb(X.gc()-1),40).f),g=tt(Ki(u(X.Xb(0),40).e),u(X.Xb(0),40).f),m>=X.gc()-1&&xe.b>O.b&&l.c.e.b>O.b||m<=0&&xe.bl.b.e.a*(1-S)+l.c.e.a*S));m++);if(X.gc()>0&&(xe=l.a.b==0?Ki(l.b.e):u($s(l.a),8),O=tt(Ki(u(X.Xb(X.gc()-1),40).e),u(X.Xb(X.gc()-1),40).f),g=tt(Ki(u(X.Xb(0),40).e),u(X.Xb(0),40).f),m>=X.gc()-1&&xe.a>O.a&&l.c.e.a>O.a||m<=0&&xe.a=$(R(v(n,(pt(),kln))))&&++Fn):(p.f&&p.d.e.a<=$(R(v(n,(pt(),rq))))&&++kn,p.g&&p.c.e.a+p.c.f.a>=$(R(v(n,(pt(),vln))))&&++Fn)}else N==0?Dnn(l):N<0&&(++yn[te],++j[Lt],Rn=HLe(l,e,n,new bi(Y(kn),Y(Fn)),t,i,new bi(Y(j[Lt]),Y(yn[te]))),kn=u(Rn.a,17).a,Fn=u(Rn.b,17).a)}function VLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I;if(i=e,h=t,n.b&&i.j==(en(),Wn)&&h.j==(en(),Wn)&&(I=i,i=h,h=I),Zc(n.a,i)){if(sf(u(ee(n.a,i),49),h))return 1}else Ve(n.a,i,new ni);if(Zc(n.a,h)){if(sf(u(ee(n.a,h),49),i))return-1}else Ve(n.a,h,new ni);if(Zc(n.d,i)){if(sf(u(ee(n.d,i),49),h))return-1}else Ve(n.d,i,new ni);if(Zc(n.d,h)){if(sf(u(ee(n.a,h),49),i))return 1}else Ve(n.d,h,new ni);if(i.j!=h.j)return S=xle(i.j,h.j),S==-1?ns(n,h,i):ns(n,i,h),S;if(i.e.c.length!=0&&h.e.c.length!=0){if(n.b&&(S=RFn(i,h),S!=0))return S==-1?ns(n,h,i):S==1&&ns(n,i,h),S;if(c=u(sn(i.e,0),18).c.i,a=u(sn(h.e,0),18).c.i,c==a)return r=u(v(u(sn(i.e,0),18),(W(),dt)),17).a,l=u(v(u(sn(h.e,0),18),dt),17).a,r>l?ns(n,i,h):ns(n,h,i),rl?1:0;for(m=n.c,k=0,j=m.length;kl?ns(n,i,h):ns(n,h,i),rl?1:0):n.b&&(S=RFn(i,h),S!=0)?(S==-1?ns(n,h,i):S==1&&ns(n,i,h),S):(s=0,d=0,kt(u(sn(i.g,0),18),dt)&&(s=u(v(u(sn(i.g,0),18),dt),17).a),kt(u(sn(h.g,0),18),dt)&&(d=u(v(u(sn(i.g,0),18),dt),17).a),f&&f==g?on(un(v(u(sn(i.g,0),18),zf)))&&!on(un(v(u(sn(h.g,0),18),zf)))?(ns(n,i,h),1):!on(un(v(u(sn(i.g,0),18),zf)))&&on(un(v(u(sn(h.g,0),18),zf)))?(ns(n,h,i),-1):(s>d?ns(n,i,h):ns(n,h,i),sd?1:0):(n.f&&(n.f._b(f)&&(s=u(n.f.xc(f),17).a),n.f._b(g)&&(d=u(n.f.xc(g),17).a)),s>d?ns(n,i,h):ns(n,h,i),sd?1:0))):i.e.c.length!=0&&h.g.c.length!=0?(ns(n,i,h),1):i.g.c.length!=0&&h.e.c.length!=0?(ns(n,h,i),-1):kt(i,(W(),dt))&&kt(h,dt)?(r=u(v(i,dt),17).a,l=u(v(h,dt),17).a,r>l?ns(n,i,h):ns(n,h,i),rl?1:0):(ns(n,h,i),-1)}function WLe(n){n.gb||(n.gb=!0,n.b=hc(n,0),Ft(n.b,18),jt(n.b,19),n.a=hc(n,1),Ft(n.a,1),jt(n.a,2),jt(n.a,3),jt(n.a,4),jt(n.a,5),n.o=hc(n,2),Ft(n.o,8),Ft(n.o,9),jt(n.o,10),jt(n.o,11),jt(n.o,12),jt(n.o,13),jt(n.o,14),jt(n.o,15),jt(n.o,16),jt(n.o,17),jt(n.o,18),jt(n.o,19),jt(n.o,20),jt(n.o,21),jt(n.o,22),jt(n.o,23),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),Nr(n.o),n.p=hc(n,3),Ft(n.p,2),Ft(n.p,3),Ft(n.p,4),Ft(n.p,5),jt(n.p,6),jt(n.p,7),Nr(n.p),Nr(n.p),n.q=hc(n,4),Ft(n.q,8),n.v=hc(n,5),jt(n.v,9),Nr(n.v),Nr(n.v),Nr(n.v),n.w=hc(n,6),Ft(n.w,2),Ft(n.w,3),Ft(n.w,4),jt(n.w,5),n.B=hc(n,7),jt(n.B,1),Nr(n.B),Nr(n.B),Nr(n.B),n.Q=hc(n,8),jt(n.Q,0),Nr(n.Q),n.R=hc(n,9),Ft(n.R,1),n.S=hc(n,10),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),Nr(n.S),n.T=hc(n,11),jt(n.T,10),jt(n.T,11),jt(n.T,12),jt(n.T,13),jt(n.T,14),Nr(n.T),Nr(n.T),n.U=hc(n,12),Ft(n.U,2),Ft(n.U,3),jt(n.U,4),jt(n.U,5),jt(n.U,6),jt(n.U,7),Nr(n.U),n.V=hc(n,13),jt(n.V,10),n.W=hc(n,14),Ft(n.W,18),Ft(n.W,19),Ft(n.W,20),jt(n.W,21),jt(n.W,22),jt(n.W,23),n.bb=hc(n,15),Ft(n.bb,10),Ft(n.bb,11),Ft(n.bb,12),Ft(n.bb,13),Ft(n.bb,14),Ft(n.bb,15),Ft(n.bb,16),jt(n.bb,17),Nr(n.bb),Nr(n.bb),n.eb=hc(n,16),Ft(n.eb,2),Ft(n.eb,3),Ft(n.eb,4),Ft(n.eb,5),Ft(n.eb,6),Ft(n.eb,7),jt(n.eb,8),jt(n.eb,9),n.ab=hc(n,17),Ft(n.ab,0),Ft(n.ab,1),n.H=hc(n,18),jt(n.H,0),jt(n.H,1),jt(n.H,2),jt(n.H,3),jt(n.H,4),jt(n.H,5),Nr(n.H),n.db=hc(n,19),jt(n.db,2),n.c=Je(n,20),n.d=Je(n,21),n.e=Je(n,22),n.f=Je(n,23),n.i=Je(n,24),n.g=Je(n,25),n.j=Je(n,26),n.k=Je(n,27),n.n=Je(n,28),n.r=Je(n,29),n.s=Je(n,30),n.t=Je(n,31),n.u=Je(n,32),n.fb=Je(n,33),n.A=Je(n,34),n.C=Je(n,35),n.D=Je(n,36),n.F=Je(n,37),n.G=Je(n,38),n.I=Je(n,39),n.J=Je(n,40),n.L=Je(n,41),n.M=Je(n,42),n.N=Je(n,43),n.O=Je(n,44),n.P=Je(n,45),n.X=Je(n,46),n.Y=Je(n,47),n.Z=Je(n,48),n.$=Je(n,49),n._=Je(n,50),n.cb=Je(n,51),n.K=Je(n,52))}function JLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te;for(s=new Ct,X=u(v(t,(cn(),Do)),88),k=0,Bi(s,(!e.a&&(e.a=new q(Ye,e,10,11)),e.a));s.b!=0;)a=u(s.b==0?null:(oe(s.b!=0),Xo(s,s.a.a)),27),l=At(a),(x(z(l,Yh))!==x((lh(),k1))||x(z(l,Ld))===x((o1(),pv))||x(z(l,Ld))===x((o1(),gv))||on(un(z(l,lb)))||x(z(l,Fw))!==x((dd(),Ow))||x(z(l,ja))===x((ps(),pb))||x(z(l,ja))===x((ps(),Uw))||x(z(l,$d))===x((a1(),Pv))||x(z(l,$d))===x((a1(),Iv)))&&!on(un(z(a,lI)))&&ht(a,(W(),dt),Y(k++)),S=!on(un(z(a,Fd))),S&&(g=(!a.a&&(a.a=new q(Ye,a,10,11)),a.a).i!=0,m=Mye(a),p=x(z(a,Bw))===x((jl(),M1)),te=!Lf(a,(He(),$v))||TLn(Oe(z(a,$v))),N=null,te&&p&&(g||m)&&(N=$Un(a),U(N,Do,X),kt(N,Mj)&&xjn(new XY($(R(v(N,Mj)))),N),u(z(a,xd),181).gc()!=0&&(d=N,qt(new Tn(null,(!a.c&&(a.c=new q(Qu,a,9,9)),new In(a.c,16))),new q9n(d)),Aqn(a,N))),tn=t,yn=u(ee(n.a,At(a)),10),yn&&(tn=yn.e),O=szn(n,a,tn),N&&(O.e=N,N.e=O,Bi(s,(!a.a&&(a.a=new q(Ye,a,10,11)),a.a))));for(k=0,xt(s,e,s.c.b,s.c);s.b!=0;){for(c=u(s.b==0?null:(oe(s.b!=0),Xo(s,s.a.a)),27),h=new ne((!c.b&&(c.b=new q(Vt,c,12,3)),c.b));h.e!=h.i.gc();)f=u(ue(h),74),nUn(f),(x(z(e,Yh))!==x((lh(),k1))||x(z(e,Ld))===x((o1(),pv))||x(z(e,Ld))===x((o1(),gv))||on(un(z(e,lb)))||x(z(e,Fw))!==x((dd(),Ow))||x(z(e,ja))===x((ps(),pb))||x(z(e,ja))===x((ps(),Uw))||x(z(e,$d))===x((a1(),Pv))||x(z(e,$d))===x((a1(),Iv)))&&ht(f,(W(),dt),Y(k++)),Fn=Gr(u(L((!f.b&&(f.b=new Nn(he,f,4,7)),f.b),0),84)),Rn=Gr(u(L((!f.c&&(f.c=new Nn(he,f,5,8)),f.c),0),84)),!(on(un(z(f,Fd)))||on(un(z(Fn,Fd)))||on(un(z(Rn,Fd))))&&(j=_0(f)&&on(un(z(Fn,Rw)))&&on(un(z(f,Nd))),_=c,j||Yb(Rn,Fn)?_=Fn:Yb(Fn,Rn)&&(_=Rn),tn=t,yn=u(ee(n.a,_),10),yn&&(tn=yn.e),I=htn(n,f,_,tn),U(I,(W(),nfn),JTe(n,f,e,t)));if(p=x(z(c,Bw))===x((jl(),M1)),p)for(r=new ne((!c.a&&(c.a=new q(Ye,c,10,11)),c.a));r.e!=r.i.gc();)i=u(ue(r),27),te=!Lf(i,(He(),$v))||TLn(Oe(z(i,$v))),kn=x(z(i,Bw))===x(M1),te&&kn&&xt(s,i,s.c.b,s.c)}}function W(){W=F;var n,e;st=new lt(Jtn),nfn=new lt("coordinateOrigin"),wH=new lt("processors"),Zsn=new Dt("compoundNode",(_n(),!1)),yj=new Dt("insideConnections",!1),rfn=new lt("originalBendpoints"),cfn=new lt("originalDummyNodePosition"),ufn=new lt("originalLabelEdge"),K8=new lt("representedLabels"),R8=new lt("endLabels"),M3=new lt("endLabel.origin"),A3=new Dt("labelSide",(To(),nE)),y2=new Dt("maxEdgeThickness",0),zf=new Dt("reversed",!1),S3=new lt(MXn),yf=new Dt("longEdgeSource",null),Es=new Dt("longEdgeTarget",null),$w=new Dt("longEdgeHasLabelDummies",!1),jj=new Dt("longEdgeBeforeLabelDummy",!1),rI=new Dt("edgeConstraint",(hd(),Y_)),sb=new lt("inLayerLayoutUnit"),Od=new Dt("inLayerConstraint",(vl(),vj)),T3=new Dt("inLayerSuccessorConstraint",new Z),ifn=new Dt("inLayerSuccessorConstraintBetweenNonDummies",!1),Xu=new lt("portDummy"),iI=new Dt("crossingHint",Y(0)),Hc=new Dt("graphProperties",(e=u(of(cH),9),new _o(e,u(xs(e,e.length),9),0))),gc=new Dt("externalPortSide",(en(),sc)),tfn=new Dt("externalPortSize",new Li),hH=new lt("externalPortReplacedDummies"),cI=new lt("externalPortReplacedDummy"),Nl=new Dt("externalPortConnections",(n=u(of(lr),9),new _o(n,u(xs(n,n.length),9),0))),fb=new Dt(gXn,0),Ysn=new lt("barycenterAssociates"),P3=new lt("TopSideComments"),C3=new lt("BottomSideComments"),tI=new lt("CommentConnectionPort"),aH=new Dt("inputCollect",!1),bH=new Dt("outputCollect",!1),kj=new Dt("cyclic",!1),efn=new lt("crossHierarchyMap"),pH=new lt("targetOffset"),new Dt("splineLabelSize",new Li),E2=new lt("spacings"),uI=new Dt("partitionConstraint",!1),ob=new lt("breakingPoint.info"),ffn=new lt("splines.survivingEdge"),Dd=new lt("splines.route.start"),C2=new lt("splines.edgeChain"),sfn=new lt("originalPortConstraints"),hb=new lt("selfLoopHolder"),jv=new lt("splines.nsPortY"),dt=new lt("modelOrder"),dH=new lt("longEdgeTargetNode"),ka=new Dt(QXn,!1),j2=new Dt(QXn,!1),lH=new lt("layerConstraints.hiddenNodes"),ofn=new lt("layerConstraints.opposidePort"),gH=new lt("targetNode.modelOrder")}function QLe(n,e,t,i){var r,c,s,f,h,l,a,d,g,p,m;for(d=ge(n.b,0);d.b!=d.d.c;)if(a=u(be(d),40),!An(a.c,IS))for(c=u(Wr(new Tn(null,new In(uCe(a,n),16)),qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),e==(ci(),Br)||e==Xr?c.jd(new A4n):c.jd(new S4n),m=c.gc(),r=0;r0&&(f=u($s(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u($s(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(h-p)/(y.Math.abs(f-g)/40)>50&&(p>h?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a+i/5.3,a.e.b+a.f.b*s-i/2)):ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a+i/5.3,a.e.b+a.f.b*s+i/2)))),ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a,a.e.b+a.f.b*s))):e==Xr?(l=$(R(v(a,(pt(),jf)))),a.e.a-i>l?ir(u(c.Xb(r),65).a,new V(l-t,a.e.b+a.f.b*s)):u(c.Xb(r),65).a.b>0&&(f=u($s(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u($s(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(h-p)/(y.Math.abs(f-g)/40)>50&&(p>h?ir(u(c.Xb(r),65).a,new V(a.e.a-i/5.3,a.e.b+a.f.b*s-i/2)):ir(u(c.Xb(r),65).a,new V(a.e.a-i/5.3,a.e.b+a.f.b*s+i/2)))),ir(u(c.Xb(r),65).a,new V(a.e.a,a.e.b+a.f.b*s))):e==us?(l=$(R(v(a,(pt(),Js)))),a.e.b+a.f.b+i0&&(f=u($s(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u($s(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(f-g)/(y.Math.abs(h-p)/40)>50&&(g>f?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s-i/2,a.e.b+i/5.3+a.f.b)):ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s+i/2,a.e.b+i/5.3+a.f.b)))),ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,a.e.b+a.f.b))):(l=$(R(v(a,(pt(),jf)))),MFn(u(c.Xb(r),65),n)?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,u($s(u(c.Xb(r),65).a),8).b)):a.e.b-i>l?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,l-t)):u(c.Xb(r),65).a.b>0&&(f=u($s(u(c.Xb(r),65).a),8).a,g=a.e.a+a.f.a/2,h=u($s(u(c.Xb(r),65).a),8).b,p=a.e.b+a.f.b/2,i>0&&y.Math.abs(f-g)/(y.Math.abs(h-p)/40)>50&&(g>f?ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s-i/2,a.e.b-i/5.3)):ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s+i/2,a.e.b-i/5.3)))),ir(u(c.Xb(r),65).a,new V(a.e.a+a.f.a*s,a.e.b)))}function He(){He=F;var n,e;$v=new lt(xVn),q2=new lt(FVn),gan=(Rh(),Vq),Sue=new Mn(rrn,gan),x2=new Mn(l3,null),Pue=new lt(pcn),man=(wd(),yt(Qq,A(T(Yq,1),G,298,0,[Jq]))),Gj=new Mn(MS,man),zj=new Mn(Uy,(_n(),!1)),van=(ci(),Jf),_d=new Mn(xR,van),jan=(El(),lU),yan=new Mn(qy,jan),Due=new Mn(wcn,!1),Man=(jl(),uO),R2=new Mn(CS,Man),Nan=new f0(12),C1=new Mn(W0,Nan),Vj=new Mn(i8,!1),tU=new Mn(AS,!1),Wj=new Mn(r8,!1),Ran=(Oi(),Pa),v9=new Mn(tR,Ran),N3=new lt(TS),Jj=new lt(Ny),fU=new lt(uS),hU=new lt(t8),Tan=new Mu,kb=new Mn(wrn,Tan),Oue=new Mn(mrn,!1),Lue=new Mn(vrn,!1),Aan=new Qv,xv=new Mn(yrn,Aan),tO=new Mn(trn,!1),Fue=new Mn(BVn,1),B2=new lt(RVn),F2=new lt(KVn),k9=new Mn($y,!1),new Mn(_Vn,!0),Y(0),new Mn(HVn,Y(100)),new Mn(qVn,!1),Y(0),new Mn(UVn,Y(4e3)),Y(0),new Mn(GVn,Y(400)),new Mn(zVn,!1),new Mn(XVn,!1),new Mn(VVn,!0),new Mn(WVn,!1),pan=(qT(),wU),Iue=new Mn(gcn,pan),Bue=new Mn(Gin,10),Rue=new Mn(zin,10),qan=new Mn(WB,20),Kue=new Mn(Xin,10),Uan=new Mn(eR,2),Gan=new Mn($R,10),zan=new Mn(Vin,0),iO=new Mn(Qin,5),Xan=new Mn(Win,1),Van=new Mn(Jin,1),qd=new Mn(yw,20),_ue=new Mn(Yin,10),Qan=new Mn(Zin,10),$3=new lt(nrn),Jan=new tTn,Wan=new Mn(jrn,Jan),$ue=new lt(BR),$an=!1,Nue=new Mn(FR,$an),Pan=new f0(5),San=new Mn(orn,Pan),Ian=(lw(),e=u(of(yr),9),new _o(e,u(xs(e,e.length),9),0)),K2=new Mn(Xm,Ian),Fan=(Bg(),Sa),xan=new Mn(hrn,Fan),rU=new lt(lrn),cU=new lt(arn),uU=new lt(drn),iU=new lt(brn),Oan=(n=u(of(S9),9),new _o(n,u(xs(n,n.length),9),0)),Hd=new Mn(r2,Oan),Lan=jn((io(),_v)),Ta=new Mn(a3,Lan),Dan=new V(0,0),_2=new Mn(d3,Dan),Vw=new Mn(zm,!1),kan=($f(),Fv),nU=new Mn(grn,kan),Zq=new Mn(oS,!1),Y(1),new Mn(JVn,null),Ban=new lt(krn),oU=new lt(prn),Han=(en(),sc),H2=new Mn(irn,Han),oo=new lt(ern),Kan=(zu(),jn(Ia)),Ww=new Mn(Vm,Kan),sU=new Mn(srn,!1),_an=new Mn(frn,!0),cO=new Mn(xy,1),Yan=new Mn(mcn,null),Qj=new Mn(Fy,150),rO=new Mn(By,1.414),x3=new Mn(J0,null),Hue=new Mn(vcn,1),Xj=new Mn(crn,!1),eU=new Mn(urn,!1),Ean=new Mn(JB,1),Can=(pA(),dU),new Mn(QVn,Can),xue=!0,Uue=(Gp(),Yw),Gue=Yw,que=Yw}function tr(){tr=F,Qon=new ei("DIRECTION_PREPROCESSOR",0),Von=new ei("COMMENT_PREPROCESSOR",1),b2=new ei("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),N_=new ei("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),gsn=new ei("PARTITION_PREPROCESSOR",4),IP=new ei("LABEL_DUMMY_INSERTER",5),KP=new ei("SELF_LOOP_PREPROCESSOR",6),Lw=new ei("LAYER_CONSTRAINT_PREPROCESSOR",7),bsn=new ei("PARTITION_MIDPROCESSOR",8),csn=new ei("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),asn=new ei("NODE_PROMOTION",10),Dw=new ei("LAYER_CONSTRAINT_POSTPROCESSOR",11),wsn=new ei("PARTITION_POSTPROCESSOR",12),tsn=new ei("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),psn=new ei("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),Hon=new ei("BREAKING_POINT_INSERTER",15),NP=new ei("LONG_EDGE_SPLITTER",16),$_=new ei("PORT_SIDE_PROCESSOR",17),SP=new ei("INVERTED_PORT_PROCESSOR",18),FP=new ei("PORT_LIST_SORTER",19),vsn=new ei("SORT_BY_INPUT_ORDER_OF_MODEL",20),xP=new ei("NORTH_SOUTH_PORT_PREPROCESSOR",21),qon=new ei("BREAKING_POINT_PROCESSOR",22),dsn=new ei(qXn,23),ksn=new ei(UXn,24),BP=new ei("SELF_LOOP_PORT_RESTORER",25),msn=new ei("SINGLE_EDGE_GRAPH_WRAPPER",26),PP=new ei("IN_LAYER_CONSTRAINT_PROCESSOR",27),Zon=new ei("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),hsn=new ei("LABEL_AND_NODE_SIZE_PROCESSOR",29),fsn=new ei("INNERMOST_NODE_MARGIN_CALCULATOR",30),_P=new ei("SELF_LOOP_ROUTER",31),zon=new ei("COMMENT_NODE_MARGIN_CALCULATOR",32),AP=new ei("END_LABEL_PREPROCESSOR",33),DP=new ei("LABEL_DUMMY_SWITCHER",34),Gon=new ei("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),hv=new ei("LABEL_SIDE_SELECTOR",36),osn=new ei("HYPEREDGE_DUMMY_MERGER",37),isn=new ei("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),lsn=new ei("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),L8=new ei("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),Won=new ei("CONSTRAINTS_POSTPROCESSOR",41),Xon=new ei("COMMENT_POSTPROCESSOR",42),ssn=new ei("HYPERNODE_PROCESSOR",43),rsn=new ei("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),LP=new ei("LONG_EDGE_JOINER",45),RP=new ei("SELF_LOOP_POSTPROCESSOR",46),Uon=new ei("BREAKING_POINT_REMOVER",47),$P=new ei("NORTH_SOUTH_PORT_POSTPROCESSOR",48),usn=new ei("HORIZONTAL_COMPACTOR",49),OP=new ei("LABEL_DUMMY_REMOVER",50),nsn=new ei("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),Yon=new ei("END_LABEL_SORTER",52),bj=new ei("REVERSED_EDGE_RESTORER",53),TP=new ei("END_LABEL_POSTPROCESSOR",54),esn=new ei("HIERARCHICAL_NODE_RESIZER",55),Jon=new ei("DIRECTION_POSTPROCESSOR",56)}function ltn(){ltn=F,kfn=(wk(),WP),iee=new Mn(uin,kfn),wee=new Mn(oin,(_n(),!1)),Tfn=(KM(),fH),kee=new Mn(lS,Tfn),$ee=new Mn(sin,!1),xee=new Mn(fin,!0),Pne=new Mn(hin,!1),Nfn=(dk(),UH),Qee=new Mn(lin,Nfn),Y(1),cte=new Mn(ain,Y(7)),ute=new Mn(din,!1),gee=new Mn(bin,!1),vfn=(o1(),J_),tee=new Mn(fR,vfn),Pfn=(a1(),xH),Nee=new Mn(Hy,Pfn),Afn=(Yo(),Ej),Tee=new Mn(win,Afn),Y(-1),Mee=new Mn(gin,null),Y(-1),Aee=new Mn(pin,Y(-1)),Y(-1),See=new Mn(hR,Y(4)),Y(-1),Iee=new Mn(lR,Y(2)),Sfn=(ps(),AI),Lee=new Mn(aR,Sfn),Y(0),Dee=new Mn(dR,Y(0)),Eee=new Mn(bR,Y(et)),mfn=(c5(),$8),eee=new Mn(o8,mfn),Kne=new Mn(min,!1),Xne=new Mn(wR,.1),Zne=new Mn(gR,!1),Wne=new Mn(vin,null),Jne=new Mn(kin,null),Y(-1),Qne=new Mn(yin,null),Y(-1),Yne=new Mn(jin,Y(-1)),Y(0),_ne=new Mn(Ein,Y(40)),pfn=(Z4(),oH),Gne=new Mn(pR,pfn),gfn=mj,Hne=new Mn(aS,gfn),Lfn=(M5(),W8),Jee=new Mn(c2,Lfn),_ee=new lt(dS),Ifn=(sk(),QP),Fee=new Mn(mR,Ifn),Ofn=(Vk(),YP),Ree=new Mn(vR,Ofn),Uee=new Mn(kR,.3),zee=new lt(yR),Dfn=(cw(),TI),Xee=new Mn(jR,Dfn),Efn=(ST(),zH),see=new Mn(Cin,Efn),Cfn=(a5(),VH),fee=new Mn(Min,Cfn),Mfn=(om(),Y8),hee=new Mn(bS,Mfn),aee=new Mn(wS,.2),uee=new Mn(ER,2),ete=new Mn(Tin,null),ite=new Mn(Ain,10),tte=new Mn(Sin,10),rte=new Mn(Pin,20),Y(0),Yee=new Mn(Iin,Y(0)),Y(0),Zee=new Mn(Oin,Y(0)),Y(0),nte=new Mn(Din,Y(0)),Ine=new Mn(CR,!1),afn=(jm(),x8),Dne=new Mn(Lin,afn),lfn=(QM(),V_),One=new Mn(Nin,lfn),mee=new Mn(gS,!1),Y(0),pee=new Mn(MR,Y(16)),Y(0),vee=new Mn(TR,Y(5)),Ffn=(DT(),QH),Tte=new Mn(Ol,Ffn),ote=new Mn(pS,10),hte=new Mn(mS,1),xfn=(bT(),VP),pte=new Mn(s8,xfn),dte=new lt(AR),$fn=Y(1),Y(0),wte=new Mn(SR,$fn),Bfn=(dT(),JH),Ite=new Mn(vS,Bfn),Ate=new lt(kS),jte=new Mn(yS,!0),kte=new Mn(jS,2),Cte=new Mn(PR,!0),jfn=(vA(),JP),cee=new Mn($in,jfn),yfn=(Yp(),bv),ree=new Mn(xin,yfn),wfn=(lh(),k1),Rne=new Mn(ES,wfn),Bne=new Mn(Fin,!1),Fne=new Mn(Bin,!1),dfn=(dd(),Ow),Lne=new Mn(IR,dfn),bfn=(w5(),FH),xne=new Mn(Rin,bfn),Nne=new Mn(OR,0),$ne=new Mn(DR,0),jee=Q_,yee=pj,Pee=CI,Oee=CI,Cee=$H,Vne=(jl(),M1),nee=$8,zne=$8,qne=$8,Une=M1,Hee=J8,qee=W8,Bee=W8,Kee=W8,Gee=_H,Wee=J8,Vee=J8,lee=(El(),F3),dee=F3,bee=Y8,oee=Yj,ste=Ov,fte=Gw,lte=Ov,ate=Gw,mte=Ov,vte=Gw,bte=W_,gte=VP,Ote=Ov,Dte=Gw,Ste=Ov,Pte=Gw,Ete=Gw,yte=Gw,Mte=Gw}function YLe(n,e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn,Rn,te,xe,Lt,Yu,Rr,Fo,W2,D1,rf,cf,Xd,q3,Ba,U3,Ih,cl,Mb,G3,J2,Oh,Vd,Rl,Dse,y0n,Tb,_9,DU,z3,H9,ug,q9,LU,Lse;for(y0n=0,xe=e,Rr=0,D1=xe.length;Rr0&&(n.a[Ih.p]=y0n++)}for(H9=0,Lt=t,Fo=0,rf=Lt.length;Fo0;){for(Ih=(oe(J2.b>0),u(J2.a.Xb(J2.c=--J2.b),12)),G3=0,f=new C(Ih.e);f.a0&&(Ih.j==(en(),Xn)?(n.a[Ih.p]=H9,++H9):(n.a[Ih.p]=H9+cf+q3,++q3))}H9+=q3}for(Mb=new de,m=new rh,te=e,Yu=0,W2=te.length;Yul.b&&(l.b=Oh)):Ih.i.c==Dse&&(Ohl.c&&(l.c=Oh));for(F4(k,0,k.length,null),z3=K(ye,_e,28,k.length,15,1),i=K(ye,_e,28,H9+1,15,1),S=0;S0;)tn%2>0&&(r+=LU[tn+1]),tn=(tn-1)/2|0,++LU[tn];for(kn=K(Iie,Bn,374,k.length*2,0,1),N=0;N0&&z7(Yu.f),z(S,Yan)!=null&&(f=u(z(S,Yan),347),Mb=f.Tg(S),kg(S,y.Math.max(S.g,Mb.a),y.Math.max(S.f,Mb.b)));if(rf=u(z(e,C1),107),p=e.g-(rf.b+rf.c),g=e.f-(rf.d+rf.a),Oh.bh("Available Child Area: ("+p+"|"+g+")"),ht(e,x2,p/g),cRn(e,r,i.eh(W2)),u(z(e,x3),280)==aO&&(otn(e),kg(e,rf.b+$(R(z(e,B2)))+rf.c,rf.d+$(R(z(e,F2)))+rf.a)),Oh.bh("Executed layout algorithm: "+Oe(z(e,$v))+" on node "+e.k),u(z(e,x3),280)==Yw){if(p<0||g<0)throw M(new _l("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k));for(Lf(e,B2)||Lf(e,F2)||otn(e),k=$(R(z(e,B2))),m=$(R(z(e,F2))),Oh.bh("Desired Child Area: ("+k+"|"+m+")"),Xd=p/k,q3=g/m,cf=y.Math.min(Xd,y.Math.min(q3,$(R(z(e,Hue))))),ht(e,cO,cf),Oh.bh(e.k+" -- Local Scale Factor (X|Y): ("+Xd+"|"+q3+")"),N=u(z(e,Gj),21),c=0,s=0,cf'?":An(PWn,n)?"'(?<' or '(? toIndex: ",Stn=", toIndex: ",Ptn="Index: ",Itn=", Size: ",Hm="org.eclipse.elk.alg.common",Ne={50:1},Yzn="org.eclipse.elk.alg.common.compaction",Zzn="Scanline/EventHandler",zh="org.eclipse.elk.alg.common.compaction.oned",nXn="CNode belongs to another CGroup.",eXn="ISpacingsHandler/1",FB="The ",BB=" instance has been finished already.",tXn="The direction ",iXn=" is not supported by the CGraph instance.",rXn="OneDimensionalCompactor",cXn="OneDimensionalCompactor/lambda$0$Type",uXn="Quadruplet",oXn="ScanlineConstraintCalculator",sXn="ScanlineConstraintCalculator/ConstraintsScanlineHandler",fXn="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",hXn="ScanlineConstraintCalculator/Timestamp",lXn="ScanlineConstraintCalculator/lambda$0$Type",ph={178:1,46:1},RB="org.eclipse.elk.alg.common.compaction.options",oc="org.eclipse.elk.core.data",Otn="org.eclipse.elk.polyomino.traversalStrategy",Dtn="org.eclipse.elk.polyomino.lowLevelSort",Ltn="org.eclipse.elk.polyomino.highLevelSort",Ntn="org.eclipse.elk.polyomino.fill",ms={134:1},KB="polyomino",Z5="org.eclipse.elk.alg.common.networksimplex",Xh={183:1,3:1,4:1},aXn="org.eclipse.elk.alg.common.nodespacing",kd="org.eclipse.elk.alg.common.nodespacing.cellsystem",qm="CENTER",dXn={217:1,336:1},$tn={3:1,4:1,5:1,603:1},s3="LEFT",f3="RIGHT",xtn="Vertical alignment cannot be null",Ftn="BOTTOM",nS="org.eclipse.elk.alg.common.nodespacing.internal",n8="UNDEFINED",_f=.01,Oy="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",bXn="LabelPlacer/lambda$0$Type",wXn="LabelPlacer/lambda$1$Type",gXn="portRatioOrPosition",Um="org.eclipse.elk.alg.common.overlaps",_B="DOWN",mh="org.eclipse.elk.alg.common.polyomino",eS="NORTH",HB="EAST",qB="SOUTH",UB="WEST",tS="org.eclipse.elk.alg.common.polyomino.structures",Btn="Direction",GB="Grid is only of size ",zB=". Requested point (",XB=") is out of bounds.",iS=" Given center based coordinates were (",Dy="org.eclipse.elk.graph.properties",pXn="IPropertyHolder",Rtn={3:1,96:1,137:1},h3="org.eclipse.elk.alg.common.spore",mXn="org.eclipse.elk.alg.common.utils",yd={205:1},e2="org.eclipse.elk.core",vXn="Connected Components Compaction",kXn="org.eclipse.elk.alg.disco",rS="org.eclipse.elk.alg.disco.graph",VB="org.eclipse.elk.alg.disco.options",Ktn="CompactionStrategy",_tn="org.eclipse.elk.disco.componentCompaction.strategy",Htn="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",qtn="org.eclipse.elk.disco.debug.discoGraph",Utn="org.eclipse.elk.disco.debug.discoPolys",yXn="componentCompaction",jd="org.eclipse.elk.disco",WB="org.eclipse.elk.spacing.componentComponent",JB="org.eclipse.elk.edge.thickness",l3="org.eclipse.elk.aspectRatio",W0="org.eclipse.elk.padding",t2="org.eclipse.elk.alg.disco.transform",QB=1.5707963267948966,i2=17976931348623157e292,kw={3:1,4:1,5:1,198:1},jXn={3:1,6:1,4:1,5:1,100:1,115:1},YB="org.eclipse.elk.alg.force",Gtn="ComponentsProcessor",EXn="ComponentsProcessor/1",ztn="ElkGraphImporter/lambda$0$Type",Ly="org.eclipse.elk.alg.force.graph",CXn="Component Layout",Xtn="org.eclipse.elk.alg.force.model",cS="org.eclipse.elk.force.model",Vtn="org.eclipse.elk.force.iterations",Wtn="org.eclipse.elk.force.repulsivePower",ZB="org.eclipse.elk.force.temperature",vh=.001,nR="org.eclipse.elk.force.repulsion",e8="org.eclipse.elk.alg.force.options",Gm=1.600000023841858,cu="org.eclipse.elk.force",Ny="org.eclipse.elk.priority",yw="org.eclipse.elk.spacing.nodeNode",eR="org.eclipse.elk.spacing.edgeLabel",uS="org.eclipse.elk.randomSeed",t8="org.eclipse.elk.separateConnectedComponents",i8="org.eclipse.elk.interactive",tR="org.eclipse.elk.portConstraints",oS="org.eclipse.elk.edgeLabels.inline",r8="org.eclipse.elk.omitNodeMicroLayout",zm="org.eclipse.elk.nodeSize.fixedGraphSize",a3="org.eclipse.elk.nodeSize.options",r2="org.eclipse.elk.nodeSize.constraints",Xm="org.eclipse.elk.nodeLabels.placement",Vm="org.eclipse.elk.portLabels.placement",$y="org.eclipse.elk.topdownLayout",xy="org.eclipse.elk.topdown.scaleFactor",Fy="org.eclipse.elk.topdown.hierarchicalNodeWidth",By="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",J0="org.eclipse.elk.topdown.nodeType",Jtn="origin",MXn="random",TXn="boundingBox.upLeft",AXn="boundingBox.lowRight",Qtn="org.eclipse.elk.stress.fixed",Ytn="org.eclipse.elk.stress.desiredEdgeLength",Ztn="org.eclipse.elk.stress.dimension",nin="org.eclipse.elk.stress.epsilon",ein="org.eclipse.elk.stress.iterationLimit",la="org.eclipse.elk.stress",SXn="ELK Stress",d3="org.eclipse.elk.nodeSize.minimum",sS="org.eclipse.elk.alg.force.stress",PXn="Layered layout",b3="org.eclipse.elk.alg.layered",Ry="org.eclipse.elk.alg.layered.compaction.components",c8="org.eclipse.elk.alg.layered.compaction.oned",fS="org.eclipse.elk.alg.layered.compaction.oned.algs",Ed="org.eclipse.elk.alg.layered.compaction.recthull",Hf="org.eclipse.elk.alg.layered.components",kh="NONE",tin="MODEL_ORDER",Mc={3:1,6:1,4:1,9:1,5:1,126:1},IXn={3:1,6:1,4:1,5:1,150:1,100:1,115:1},hS="org.eclipse.elk.alg.layered.compound",vt={47:1},Bc="org.eclipse.elk.alg.layered.graph",iR=" -> ",OXn="Not supported by LGraph",iin="Port side is undefined",rR={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},b1={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},DXn={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},LXn=`([{"' \r +`,NXn=`)]}"' \r +`,$Xn="The given string contains parts that cannot be parsed as numbers.",Ky="org.eclipse.elk.core.math",xXn={3:1,4:1,140:1,214:1,423:1},FXn={3:1,4:1,107:1,214:1,423:1},w1="org.eclipse.elk.alg.layered.graph.transform",BXn="ElkGraphImporter",RXn="ElkGraphImporter/lambda$1$Type",KXn="ElkGraphImporter/lambda$2$Type",_Xn="ElkGraphImporter/lambda$4$Type",Qn="org.eclipse.elk.alg.layered.intermediate",HXn="Node margin calculation",qXn="ONE_SIDED_GREEDY_SWITCH",UXn="TWO_SIDED_GREEDY_SWITCH",cR="No implementation is available for the layout processor ",uR="IntermediateProcessorStrategy",oR="Node '",GXn="FIRST_SEPARATE",zXn="LAST_SEPARATE",XXn="Odd port side processing",di="org.eclipse.elk.alg.layered.intermediate.compaction",u8="org.eclipse.elk.alg.layered.intermediate.greedyswitch",Vh="org.eclipse.elk.alg.layered.p3order.counting",_y={230:1},w3="org.eclipse.elk.alg.layered.intermediate.loops",Io="org.eclipse.elk.alg.layered.intermediate.loops.ordering",aa="org.eclipse.elk.alg.layered.intermediate.loops.routing",rin="org.eclipse.elk.alg.layered.intermediate.preserveorder",yh="org.eclipse.elk.alg.layered.intermediate.wrapping",Tc="org.eclipse.elk.alg.layered.options",sR="INTERACTIVE",cin="GREEDY",VXn="DEPTH_FIRST",WXn="EDGE_LENGTH",JXn="SELF_LOOPS",QXn="firstTryWithInitialOrder",uin="org.eclipse.elk.layered.directionCongruency",oin="org.eclipse.elk.layered.feedbackEdges",lS="org.eclipse.elk.layered.interactiveReferencePoint",sin="org.eclipse.elk.layered.mergeEdges",fin="org.eclipse.elk.layered.mergeHierarchyEdges",hin="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",lin="org.eclipse.elk.layered.portSortingStrategy",ain="org.eclipse.elk.layered.thoroughness",din="org.eclipse.elk.layered.unnecessaryBendpoints",bin="org.eclipse.elk.layered.generatePositionAndLayerIds",fR="org.eclipse.elk.layered.cycleBreaking.strategy",Hy="org.eclipse.elk.layered.layering.strategy",win="org.eclipse.elk.layered.layering.layerConstraint",gin="org.eclipse.elk.layered.layering.layerChoiceConstraint",pin="org.eclipse.elk.layered.layering.layerId",hR="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",lR="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",aR="org.eclipse.elk.layered.layering.nodePromotion.strategy",dR="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",bR="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",o8="org.eclipse.elk.layered.crossingMinimization.strategy",min="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",wR="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",gR="org.eclipse.elk.layered.crossingMinimization.semiInteractive",vin="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",kin="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",yin="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",jin="org.eclipse.elk.layered.crossingMinimization.positionId",Ein="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",pR="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",aS="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",c2="org.eclipse.elk.layered.nodePlacement.strategy",dS="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",mR="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",vR="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",kR="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",yR="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",jR="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",Cin="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",Min="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",bS="org.eclipse.elk.layered.edgeRouting.splines.mode",wS="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",ER="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",Tin="org.eclipse.elk.layered.spacing.baseValue",Ain="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",Sin="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",Pin="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",Iin="org.eclipse.elk.layered.priority.direction",Oin="org.eclipse.elk.layered.priority.shortness",Din="org.eclipse.elk.layered.priority.straightness",CR="org.eclipse.elk.layered.compaction.connectedComponents",Lin="org.eclipse.elk.layered.compaction.postCompaction.strategy",Nin="org.eclipse.elk.layered.compaction.postCompaction.constraints",gS="org.eclipse.elk.layered.highDegreeNodes.treatment",MR="org.eclipse.elk.layered.highDegreeNodes.threshold",TR="org.eclipse.elk.layered.highDegreeNodes.treeHeight",Ol="org.eclipse.elk.layered.wrapping.strategy",pS="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",mS="org.eclipse.elk.layered.wrapping.correctionFactor",s8="org.eclipse.elk.layered.wrapping.cutting.strategy",AR="org.eclipse.elk.layered.wrapping.cutting.cuts",SR="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",vS="org.eclipse.elk.layered.wrapping.validify.strategy",kS="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",yS="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",jS="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",PR="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",$in="org.eclipse.elk.layered.edgeLabels.sideSelection",xin="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",ES="org.eclipse.elk.layered.considerModelOrder.strategy",Fin="org.eclipse.elk.layered.considerModelOrder.portModelOrder",Bin="org.eclipse.elk.layered.considerModelOrder.noModelOrder",IR="org.eclipse.elk.layered.considerModelOrder.components",Rin="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",OR="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",DR="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",LR="layering",YXn="layering.minWidth",ZXn="layering.nodePromotion",Wm="crossingMinimization",CS="org.eclipse.elk.hierarchyHandling",nVn="crossingMinimization.greedySwitch",eVn="nodePlacement",tVn="nodePlacement.bk",iVn="edgeRouting",qy="org.eclipse.elk.edgeRouting",qf="spacing",Kin="priority",_in="compaction",rVn="compaction.postCompaction",cVn="Specifies whether and how post-process compaction is applied.",Hin="highDegreeNodes",qin="wrapping",uVn="wrapping.cutting",oVn="wrapping.validify",Uin="wrapping.multiEdge",NR="edgeLabels",f8="considerModelOrder",Gin="org.eclipse.elk.spacing.commentComment",zin="org.eclipse.elk.spacing.commentNode",Xin="org.eclipse.elk.spacing.edgeEdge",$R="org.eclipse.elk.spacing.edgeNode",Vin="org.eclipse.elk.spacing.labelLabel",Win="org.eclipse.elk.spacing.labelPortHorizontal",Jin="org.eclipse.elk.spacing.labelPortVertical",Qin="org.eclipse.elk.spacing.labelNode",Yin="org.eclipse.elk.spacing.nodeSelfLoop",Zin="org.eclipse.elk.spacing.portPort",nrn="org.eclipse.elk.spacing.individual",ern="org.eclipse.elk.port.borderOffset",trn="org.eclipse.elk.noLayout",irn="org.eclipse.elk.port.side",Uy="org.eclipse.elk.debugMode",rrn="org.eclipse.elk.alignment",crn="org.eclipse.elk.insideSelfLoops.activate",urn="org.eclipse.elk.insideSelfLoops.yo",xR="org.eclipse.elk.direction",orn="org.eclipse.elk.nodeLabels.padding",srn="org.eclipse.elk.portLabels.nextToPortIfPossible",frn="org.eclipse.elk.portLabels.treatAsGroup",hrn="org.eclipse.elk.portAlignment.default",lrn="org.eclipse.elk.portAlignment.north",arn="org.eclipse.elk.portAlignment.south",drn="org.eclipse.elk.portAlignment.west",brn="org.eclipse.elk.portAlignment.east",MS="org.eclipse.elk.contentAlignment",wrn="org.eclipse.elk.junctionPoints",grn="org.eclipse.elk.edgeLabels.placement",prn="org.eclipse.elk.port.index",mrn="org.eclipse.elk.commentBox",vrn="org.eclipse.elk.hypernode",krn="org.eclipse.elk.port.anchor",FR="org.eclipse.elk.partitioning.activate",BR="org.eclipse.elk.partitioning.partition",TS="org.eclipse.elk.position",yrn="org.eclipse.elk.margins",jrn="org.eclipse.elk.spacing.portsSurrounding",AS="org.eclipse.elk.interactiveLayout",dc="org.eclipse.elk.core.util",Ern={3:1,4:1,5:1,601:1},sVn="NETWORK_SIMPLEX",Crn="SIMPLE",vr={106:1,47:1},SS="org.eclipse.elk.alg.layered.p1cycles",Dl="org.eclipse.elk.alg.layered.p2layers",Mrn={413:1,230:1},fVn={846:1,3:1,4:1},Nu="org.eclipse.elk.alg.layered.p3order",kr="org.eclipse.elk.alg.layered.p4nodes",hVn={3:1,4:1,5:1,854:1},jh=1e-5,da="org.eclipse.elk.alg.layered.p4nodes.bk",RR="org.eclipse.elk.alg.layered.p5edges",mf="org.eclipse.elk.alg.layered.p5edges.orthogonal",KR="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",_R=1e-6,jw="org.eclipse.elk.alg.layered.p5edges.splines",HR=.09999999999999998,PS=1e-8,lVn=4.71238898038469,Trn=3.141592653589793,Ll="org.eclipse.elk.alg.mrtree",qR=.10000000149011612,IS="SUPER_ROOT",h8="org.eclipse.elk.alg.mrtree.graph",Arn=-17976931348623157e292,Rc="org.eclipse.elk.alg.mrtree.intermediate",aVn="Processor compute fanout",OS={3:1,6:1,4:1,5:1,534:1,100:1,115:1},dVn="Set neighbors in level",Gy="org.eclipse.elk.alg.mrtree.options",bVn="DESCENDANTS",Srn="org.eclipse.elk.mrtree.compaction",Prn="org.eclipse.elk.mrtree.edgeEndTextureLength",Irn="org.eclipse.elk.mrtree.treeLevel",Orn="org.eclipse.elk.mrtree.positionConstraint",Drn="org.eclipse.elk.mrtree.weighting",Lrn="org.eclipse.elk.mrtree.edgeRoutingMode",Nrn="org.eclipse.elk.mrtree.searchOrder",wVn="Position Constraint",uu="org.eclipse.elk.mrtree",gVn="org.eclipse.elk.tree",pVn="Processor arrange level",Jm="org.eclipse.elk.alg.mrtree.p2order",po="org.eclipse.elk.alg.mrtree.p4route",$rn="org.eclipse.elk.alg.radial",Cd=6.283185307179586,xrn="Before",Frn=5e-324,DS="After",Brn="org.eclipse.elk.alg.radial.intermediate",mVn="COMPACTION",UR="org.eclipse.elk.alg.radial.intermediate.compaction",vVn={3:1,4:1,5:1,100:1},Rrn="org.eclipse.elk.alg.radial.intermediate.optimization",GR="No implementation is available for the layout option ",l8="org.eclipse.elk.alg.radial.options",Krn="org.eclipse.elk.radial.centerOnRoot",_rn="org.eclipse.elk.radial.orderId",Hrn="org.eclipse.elk.radial.radius",LS="org.eclipse.elk.radial.rotate",zR="org.eclipse.elk.radial.compactor",XR="org.eclipse.elk.radial.compactionStepSize",qrn="org.eclipse.elk.radial.sorter",Urn="org.eclipse.elk.radial.wedgeCriteria",Grn="org.eclipse.elk.radial.optimizationCriteria",VR="org.eclipse.elk.radial.rotation.targetAngle",WR="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",zrn="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",kVn="Compaction",Xrn="rotation",es="org.eclipse.elk.radial",yVn="org.eclipse.elk.alg.radial.p1position.wedge",Vrn="org.eclipse.elk.alg.radial.sorting",jVn=5.497787143782138,EVn=3.9269908169872414,CVn=2.356194490192345,MVn="org.eclipse.elk.alg.rectpacking",NS="org.eclipse.elk.alg.rectpacking.intermediate",JR="org.eclipse.elk.alg.rectpacking.options",Wrn="org.eclipse.elk.rectpacking.trybox",Jrn="org.eclipse.elk.rectpacking.currentPosition",Qrn="org.eclipse.elk.rectpacking.desiredPosition",Yrn="org.eclipse.elk.rectpacking.inNewRow",Zrn="org.eclipse.elk.rectpacking.widthApproximation.strategy",ncn="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",ecn="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",tcn="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",icn="org.eclipse.elk.rectpacking.packing.strategy",rcn="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",ccn="org.eclipse.elk.rectpacking.packing.compaction.iterations",ucn="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",QR="widthApproximation",TVn="Compaction Strategy",AVn="packing.compaction",co="org.eclipse.elk.rectpacking",Qm="org.eclipse.elk.alg.rectpacking.p1widthapproximation",$S="org.eclipse.elk.alg.rectpacking.p2packing",SVn="No Compaction",ocn="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",zy="org.eclipse.elk.alg.rectpacking.util",xS="No implementation available for ",Ew="org.eclipse.elk.alg.spore",Cw="org.eclipse.elk.alg.spore.options",Q0="org.eclipse.elk.sporeCompaction",YR="org.eclipse.elk.underlyingLayoutAlgorithm",scn="org.eclipse.elk.processingOrder.treeConstruction",fcn="org.eclipse.elk.processingOrder.spanningTreeCostFunction",ZR="org.eclipse.elk.processingOrder.preferredRoot",nK="org.eclipse.elk.processingOrder.rootSelection",eK="org.eclipse.elk.structure.structureExtractionStrategy",hcn="org.eclipse.elk.compaction.compactionStrategy",lcn="org.eclipse.elk.compaction.orthogonal",acn="org.eclipse.elk.overlapRemoval.maxIterations",dcn="org.eclipse.elk.overlapRemoval.runScanline",tK="processingOrder",PVn="overlapRemoval",Ym="org.eclipse.elk.sporeOverlap",IVn="org.eclipse.elk.alg.spore.p1structure",iK="org.eclipse.elk.alg.spore.p2processingorder",rK="org.eclipse.elk.alg.spore.p3execution",OVn="Topdown Layout",DVn="Invalid index: ",Zm="org.eclipse.elk.core.alg",u2={341:1},Mw={295:1},LVn="Make sure its type is registered with the ",bcn=" utility class.",nv="true",cK="false",NVn="Couldn't clone property '",Y0=.05,uo="org.eclipse.elk.core.options",$Vn=1.2999999523162842,Z0="org.eclipse.elk.box",wcn="org.eclipse.elk.expandNodes",gcn="org.eclipse.elk.box.packingMode",xVn="org.eclipse.elk.algorithm",FVn="org.eclipse.elk.resolvedAlgorithm",pcn="org.eclipse.elk.bendPoints",iNe="org.eclipse.elk.labelManager",BVn="org.eclipse.elk.scaleFactor",RVn="org.eclipse.elk.childAreaWidth",KVn="org.eclipse.elk.childAreaHeight",_Vn="org.eclipse.elk.animate",HVn="org.eclipse.elk.animTimeFactor",qVn="org.eclipse.elk.layoutAncestors",UVn="org.eclipse.elk.maxAnimTime",GVn="org.eclipse.elk.minAnimTime",zVn="org.eclipse.elk.progressBar",XVn="org.eclipse.elk.validateGraph",VVn="org.eclipse.elk.validateOptions",WVn="org.eclipse.elk.zoomToFit",rNe="org.eclipse.elk.font.name",JVn="org.eclipse.elk.font.size",mcn="org.eclipse.elk.topdown.sizeApproximator",vcn="org.eclipse.elk.topdown.scaleCap",QVn="org.eclipse.elk.edge.type",YVn="partitioning",ZVn="nodeLabels",FS="portAlignment",uK="nodeSize",oK="port",kcn="portLabels",Xy="topdown",nWn="insideSelfLoops",a8="org.eclipse.elk.fixed",BS="org.eclipse.elk.random",ycn={3:1,34:1,22:1,347:1},eWn="port must have a parent node to calculate the port side",tWn="The edge needs to have exactly one edge section. Found: ",d8="org.eclipse.elk.core.util.adapters",ts="org.eclipse.emf.ecore",o2="org.eclipse.elk.graph",iWn="EMapPropertyHolder",rWn="ElkBendPoint",cWn="ElkGraphElement",uWn="ElkConnectableShape",jcn="ElkEdge",oWn="ElkEdgeSection",sWn="EModelElement",fWn="ENamedElement",Ecn="ElkLabel",Ccn="ElkNode",Mcn="ElkPort",hWn={94:1,93:1},g3="org.eclipse.emf.common.notify.impl",ba="The feature '",b8="' is not a valid changeable feature",lWn="Expecting null",sK="' is not a valid feature",aWn="The feature ID",dWn=" is not a valid feature ID",kc=32768,bWn={110:1,94:1,93:1,58:1,54:1,99:1},qn="org.eclipse.emf.ecore.impl",Md="org.eclipse.elk.graph.impl",w8="Recursive containment not allowed for ",ev="The datatype '",nb="' is not a valid classifier",fK="The value '",s2={195:1,3:1,4:1},hK="The class '",tv="http://www.eclipse.org/elk/ElkGraph",Tcn="property",g8="value",lK="source",wWn="properties",gWn="identifier",aK="height",dK="width",bK="parent",wK="text",gK="children",pWn="hierarchical",Acn="sources",pK="targets",Scn="sections",RS="bendPoints",Pcn="outgoingShape",Icn="incomingShape",Ocn="outgoingSections",Dcn="incomingSections",or="org.eclipse.emf.common.util",Lcn="Severe implementation error in the Json to ElkGraph importer.",Eh="id",Ui="org.eclipse.elk.graph.json",Ncn="Unhandled parameter types: ",mWn="startPoint",vWn="An edge must have at least one source and one target (edge id: '",iv="').",kWn="Referenced edge section does not exist: ",yWn=" (edge id: '",$cn="target",jWn="sourcePoint",EWn="targetPoint",KS="group",Qe="name",CWn="connectableShape cannot be null",MWn="edge cannot be null",mK="Passed edge is not 'simple'.",_S="org.eclipse.elk.graph.util",Vy="The 'no duplicates' constraint is violated",vK="targetIndex=",Td=", size=",kK="sourceIndex=",Ch={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},yK={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},HS="logging",TWn="measureExecutionTime",AWn="parser.parse.1",SWn="parser.parse.2",qS="parser.next.1",jK="parser.next.2",PWn="parser.next.3",IWn="parser.next.4",Ad="parser.factor.1",xcn="parser.factor.2",OWn="parser.factor.3",DWn="parser.factor.4",LWn="parser.factor.5",NWn="parser.factor.6",$Wn="parser.atom.1",xWn="parser.atom.2",FWn="parser.atom.3",Fcn="parser.atom.4",EK="parser.atom.5",Bcn="parser.cc.1",US="parser.cc.2",BWn="parser.cc.3",RWn="parser.cc.5",Rcn="parser.cc.6",Kcn="parser.cc.7",CK="parser.cc.8",KWn="parser.ope.1",_Wn="parser.ope.2",HWn="parser.ope.3",g1="parser.descape.1",qWn="parser.descape.2",UWn="parser.descape.3",GWn="parser.descape.4",zWn="parser.descape.5",is="parser.process.1",XWn="parser.quantifier.1",VWn="parser.quantifier.2",WWn="parser.quantifier.3",JWn="parser.quantifier.4",_cn="parser.quantifier.5",QWn="org.eclipse.emf.common.notify",Hcn={424:1,686:1},YWn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},Wy={378:1,152:1},p8="index=",MK={3:1,4:1,5:1,129:1},ZWn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},qcn={3:1,6:1,4:1,5:1,198:1},nJn={3:1,4:1,5:1,173:1,379:1},eJn=";/?:@&=+$,",tJn="invalid authority: ",iJn="EAnnotation",rJn="ETypedElement",cJn="EStructuralFeature",uJn="EAttribute",oJn="EClassifier",sJn="EEnumLiteral",fJn="EGenericType",hJn="EOperation",lJn="EParameter",aJn="EReference",dJn="ETypeParameter",Tt="org.eclipse.emf.ecore.util",TK={79:1},Ucn={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},bJn="org.eclipse.emf.ecore.util.FeatureMap$Entry",$u=8192,Tw=2048,m8="byte",GS="char",v8="double",k8="float",y8="int",j8="long",E8="short",wJn="java.lang.Object",f2={3:1,4:1,5:1,254:1},Gcn={3:1,4:1,5:1,688:1},gJn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},Qr={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},Jy="mixed",Be="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",vs="kind",pJn={3:1,4:1,5:1,689:1},zcn={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},zS={20:1,31:1,56:1,16:1,15:1,61:1,71:1},XS={51:1,128:1,287:1},VS={76:1,343:1},WS="The value of type '",JS="' must be of type '",h2=1352,ks="http://www.eclipse.org/emf/2002/Ecore",QS=-32768,eb="constraints",Ji="baseType",mJn="getEStructuralFeature",vJn="getFeatureID",C8="feature",kJn="getOperationID",Xcn="operation",yJn="defaultValue",jJn="eTypeParameters",EJn="isInstance",CJn="getEEnumLiteral",MJn="eContainingClass",ze={57:1},TJn={3:1,4:1,5:1,124:1},AJn="org.eclipse.emf.ecore.resource",SJn={94:1,93:1,599:1,2034:1},AK="org.eclipse.emf.ecore.resource.impl",Vcn="unspecified",Qy="simple",YS="attribute",PJn="attributeWildcard",ZS="element",SK="elementWildcard",vf="collapse",PK="itemType",nP="namespace",Yy="##targetNamespace",ys="whiteSpace",Wcn="wildcards",Sd="http://www.eclipse.org/emf/2003/XMLType",IK="##any",rv="uninitialized",Zy="The multiplicity constraint is violated",eP="org.eclipse.emf.ecore.xml.type",IJn="ProcessingInstruction",OJn="SimpleAnyType",DJn="XMLTypeDocumentRoot",oi="org.eclipse.emf.ecore.xml.type.impl",nj="INF",LJn="processing",NJn="ENTITIES_._base",Jcn="minLength",Qcn="ENTITY",tP="NCName",$Jn="IDREFS_._base",Ycn="integer",OK="token",DK="pattern",xJn="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",Zcn="\\i\\c*",FJn="[\\i-[:]][\\c-[:]]*",BJn="nonPositiveInteger",ej="maxInclusive",nun="NMTOKEN",RJn="NMTOKENS_._base",eun="nonNegativeInteger",tj="minInclusive",KJn="normalizedString",_Jn="unsignedByte",HJn="unsignedInt",qJn="18446744073709551615",UJn="unsignedShort",GJn="processingInstruction",p1="org.eclipse.emf.ecore.xml.type.internal",cv=1114111,zJn="Internal Error: shorthands: \\u",M8="xml:isDigit",LK="xml:isWord",NK="xml:isSpace",$K="xml:isNameChar",xK="xml:isInitialNameChar",XJn="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",VJn="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",WJn="Private Use",FK="ASSIGNED",BK="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",tun="UNASSIGNED",uv={3:1,122:1},JJn="org.eclipse.emf.ecore.xml.type.util",iP={3:1,4:1,5:1,381:1},iun="org.eclipse.xtext.xbase.lib",QJn="Cannot add elements to a Range",YJn="Cannot set elements in a Range",ZJn="Cannot remove elements from a Range",nQn="user.agent",o,rP,RK;y.goog=y.goog||{},y.goog.global=y.goog.global||y,rP={},b(1,null,{},Bu),o.Fb=function(e){return YMn(this,e)},o.Gb=function(){return this.Rm},o.Hb=function(){return l0(this)},o.Ib=function(){var e;return Xa(wo(this))+"@"+(e=mt(this)>>>0,e.toString(16))},o.equals=function(n){return this.Fb(n)},o.hashCode=function(){return this.Hb()},o.toString=function(){return this.Ib()};var eQn,tQn,iQn;b(297,1,{297:1,2124:1},YQ),o.ve=function(e){var t;return t=new YQ,t.i=4,e>1?t.c=kOn(this,e-1):t.c=this,t},o.we=function(){return ll(this),this.b},o.xe=function(){return Xa(this)},o.ye=function(){return ll(this),this.k},o.ze=function(){return(this.i&4)!=0},o.Ae=function(){return(this.i&1)!=0},o.Ib=function(){return fQ(this)},o.i=0;var ki=w(ac,"Object",1),run=w(ac,"Class",297);b(2096,1,ky),w(yy,"Optional",2096),b(1191,2096,ky,Ht),o.Fb=function(e){return e===this},o.Hb=function(){return 2040732332},o.Ib=function(){return"Optional.absent()"},o.Jb=function(e){return Se(e),Zv(),KK};var KK;w(yy,"Absent",1191),b(636,1,{},yD),w(yy,"Joiner",636);var cNe=Nt(yy,"Predicate");b(589,1,{178:1,589:1,3:1,46:1},A8n),o.Mb=function(e){return kFn(this,e)},o.Lb=function(e){return kFn(this,e)},o.Fb=function(e){var t;return D(e,589)?(t=u(e,589),Wnn(this.a,t.a)):!1},o.Hb=function(){return rY(this.a)+306654252},o.Ib=function(){return Gje(this.a)},w(yy,"Predicates/AndPredicate",589),b(419,2096,{419:1,3:1},TE),o.Fb=function(e){var t;return D(e,419)?(t=u(e,419),rt(this.a,t.a)):!1},o.Hb=function(){return 1502476572+mt(this.a)},o.Ib=function(){return Szn+this.a+")"},o.Jb=function(e){return new TE(TM(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},w(yy,"Present",419),b(204,1,$m),o.Nb=function(e){_i(this,e)},o.Qb=function(){_jn()},w(Cn,"UnmodifiableIterator",204),b(2076,204,xm),o.Qb=function(){_jn()},o.Rb=function(e){throw M(new Pe)},o.Wb=function(e){throw M(new Pe)},w(Cn,"UnmodifiableListIterator",2076),b(399,2076,xm),o.Ob=function(){return this.c0},o.Pb=function(){if(this.c>=this.d)throw M(new nc);return this.Xb(this.c++)},o.Tb=function(){return this.c},o.Ub=function(){if(this.c<=0)throw M(new nc);return this.Xb(--this.c)},o.Vb=function(){return this.c-1},o.c=0,o.d=0,w(Cn,"AbstractIndexedListIterator",399),b(713,204,$m),o.Ob=function(){return E$(this)},o.Pb=function(){return iQ(this)},o.e=1,w(Cn,"AbstractIterator",713),b(2084,1,{229:1}),o.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},o.Fb=function(e){return G$(this,e)},o.Hb=function(){return mt(this.Zb())},o.dc=function(){return this.gc()==0},o.ec=function(){return Tp(this)},o.Ib=function(){return Jr(this.Zb())},w(Cn,"AbstractMultimap",2084),b(742,2084,md),o.$b=function(){gT(this)},o._b=function(e){return uEn(this,e)},o.ac=function(){return new h4(this,this.c)},o.ic=function(e){return this.hc()},o.bc=function(){return new Mg(this,this.c)},o.jc=function(){return this.mc(this.hc())},o.kc=function(){return new Mjn(this)},o.lc=function(){return nF(this.c.vc().Nc(),new Xe,64,this.d)},o.cc=function(e){return ot(this,e)},o.fc=function(e){return Ok(this,e)},o.gc=function(){return this.d},o.mc=function(e){return Dn(),new Q3(e)},o.nc=function(){return new Cjn(this)},o.oc=function(){return nF(this.c.Cc().Nc(),new Jt,64,this.d)},o.pc=function(e,t){return new VM(this,e,t,null)},o.d=0,w(Cn,"AbstractMapBasedMultimap",742),b(1696,742,md),o.hc=function(){return new Gc(this.a)},o.jc=function(){return Dn(),Dn(),sr},o.cc=function(e){return u(ot(this,e),15)},o.fc=function(e){return u(Ok(this,e),15)},o.Zb=function(){return Dp(this)},o.Fb=function(e){return G$(this,e)},o.qc=function(e){return u(ot(this,e),15)},o.rc=function(e){return u(Ok(this,e),15)},o.mc=function(e){return TN(u(e,15))},o.pc=function(e,t){return ADn(this,e,u(t,15),null)},w(Cn,"AbstractListMultimap",1696),b(748,1,Si),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.c.Ob()||this.e.Ob()},o.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),44),this.b=e.ld(),this.a=u(e.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},o.Qb=function(){this.e.Qb(),u(as(this.a),16).dc()&&this.c.Qb(),--this.d.d},w(Cn,"AbstractMapBasedMultimap/Itr",748),b(1129,748,Si,Cjn),o.sc=function(e,t){return t},w(Cn,"AbstractMapBasedMultimap/1",1129),b(1130,1,{},Jt),o.Kb=function(e){return u(e,16).Nc()},w(Cn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),b(1131,748,Si,Mjn),o.sc=function(e,t){return new i0(e,t)},w(Cn,"AbstractMapBasedMultimap/2",1131);var cun=Nt(le,"Map");b(2065,1,X0),o.wc=function(e){f5(this,e)},o.yc=function(e,t,i){return hx(this,e,t,i)},o.$b=function(){this.vc().$b()},o.tc=function(e){return xx(this,e)},o._b=function(e){return!!XZ(this,e,!1)},o.uc=function(e){var t,i,r;for(i=this.vc().Kc();i.Ob();)if(t=u(i.Pb(),44),r=t.md(),x(e)===x(r)||e!=null&&rt(e,r))return!0;return!1},o.Fb=function(e){var t,i,r;if(e===this)return!0;if(!D(e,85)||(r=u(e,85),this.gc()!=r.gc()))return!1;for(i=r.vc().Kc();i.Ob();)if(t=u(i.Pb(),44),!this.tc(t))return!1;return!0},o.xc=function(e){return Kr(XZ(this,e,!1))},o.Hb=function(){return VQ(this.vc())},o.dc=function(){return this.gc()==0},o.ec=function(){return new qa(this)},o.zc=function(e,t){throw M(new Kl("Put not supported on this map"))},o.Ac=function(e){s5(this,e)},o.Bc=function(e){return Kr(XZ(this,e,!0))},o.gc=function(){return this.vc().gc()},o.Ib=function(){return DKn(this)},o.Cc=function(){return new ol(this)},w(le,"AbstractMap",2065),b(2085,2065,X0),o.bc=function(){return new VE(this)},o.vc=function(){return EPn(this)},o.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},o.Cc=function(){var e;return e=this.i,e||(this.i=new JEn(this))},w(Cn,"Maps/ViewCachingAbstractMap",2085),b(402,2085,X0,h4),o.xc=function(e){return hme(this,e)},o.Bc=function(e){return L6e(this,e)},o.$b=function(){this.d==this.e.c?this.e.$b():iM(new uW(this))},o._b=function(e){return rBn(this.d,e)},o.Ec=function(){return new S8n(this)},o.Dc=function(){return this.Ec()},o.Fb=function(e){return this===e||rt(this.d,e)},o.Hb=function(){return mt(this.d)},o.ec=function(){return this.e.ec()},o.gc=function(){return this.d.gc()},o.Ib=function(){return Jr(this.d)},w(Cn,"AbstractMapBasedMultimap/AsMap",402);var Oo=Nt(ac,"Iterable");b(31,1,pw),o.Jc=function(e){qi(this,e)},o.Lc=function(){return this.Oc()},o.Nc=function(){return new In(this,0)},o.Oc=function(){return new Tn(null,this.Nc())},o.Fc=function(e){throw M(new Kl("Add not supported on this collection"))},o.Gc=function(e){return Bi(this,e)},o.$b=function(){zW(this)},o.Hc=function(e){return iw(this,e,!1)},o.Ic=function(e){return Ek(this,e)},o.dc=function(){return this.gc()==0},o.Mc=function(e){return iw(this,e,!0)},o.Pc=function(){return gW(this)},o.Qc=function(e){return A5(this,e)},o.Ib=function(){return ca(this)},w(le,"AbstractCollection",31);var js=Nt(le,"Set");b(Kf,31,Lu),o.Nc=function(){return new In(this,1)},o.Fb=function(e){return WBn(this,e)},o.Hb=function(){return VQ(this)},w(le,"AbstractSet",Kf),b(2068,Kf,Lu),w(Cn,"Sets/ImprovedAbstractSet",2068),b(2069,2068,Lu),o.$b=function(){this.Rc().$b()},o.Hc=function(e){return LBn(this,e)},o.dc=function(){return this.Rc().dc()},o.Mc=function(e){var t;return this.Hc(e)&&D(e,44)?(t=u(e,44),this.Rc().ec().Mc(t.ld())):!1},o.gc=function(){return this.Rc().gc()},w(Cn,"Maps/EntrySet",2069),b(1127,2069,Lu,S8n),o.Hc=function(e){return yY(this.a.d.vc(),e)},o.Kc=function(){return new uW(this.a)},o.Rc=function(){return this.a},o.Mc=function(e){var t;return yY(this.a.d.vc(),e)?(t=u(as(u(e,44)),44),Y3e(this.a.e,t.ld()),!0):!1},o.Nc=function(){return N7(this.a.d.vc().Nc(),new P8n(this.a))},w(Cn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),b(1128,1,{},P8n),o.Kb=function(e){return MLn(this.a,u(e,44))},w(Cn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),b(746,1,Si,uW),o.Nb=function(e){_i(this,e)},o.Pb=function(){var e;return e=u(this.b.Pb(),44),this.a=u(e.md(),16),MLn(this.c,e)},o.Ob=function(){return this.b.Ob()},o.Qb=function(){v4(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},w(Cn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),b(542,2068,Lu,VE),o.$b=function(){this.b.$b()},o.Hc=function(e){return this.b._b(e)},o.Jc=function(e){Se(e),this.b.wc(new z8n(e))},o.dc=function(){return this.b.dc()},o.Kc=function(){return new n6(this.b.vc().Kc())},o.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},o.gc=function(){return this.b.gc()},w(Cn,"Maps/KeySet",542),b(327,542,Lu,Mg),o.$b=function(){var e;iM((e=this.b.vc().Kc(),new Iz(this,e)))},o.Ic=function(e){return this.b.ec().Ic(e)},o.Fb=function(e){return this===e||rt(this.b.ec(),e)},o.Hb=function(){return mt(this.b.ec())},o.Kc=function(){var e;return e=this.b.vc().Kc(),new Iz(this,e)},o.Mc=function(e){var t,i;return i=0,t=u(this.b.Bc(e),16),t&&(i=t.gc(),t.$b(),this.a.d-=i),i>0},o.Nc=function(){return this.b.ec().Nc()},w(Cn,"AbstractMapBasedMultimap/KeySet",327),b(747,1,Si,Iz),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.c.Ob()},o.Pb=function(){return this.a=u(this.c.Pb(),44),this.a.ld()},o.Qb=function(){var e;v4(!!this.a),e=u(this.a.md(),16),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},w(Cn,"AbstractMapBasedMultimap/KeySet/1",747),b(503,402,{85:1,133:1},A7),o.bc=function(){return this.Sc()},o.ec=function(){return this.Uc()},o.Sc=function(){return new e7(this.c,this.Wc())},o.Tc=function(){return this.Wc().Tc()},o.Uc=function(){var e;return e=this.b,e||(this.b=this.Sc())},o.Vc=function(){return this.Wc().Vc()},o.Wc=function(){return u(this.d,133)},w(Cn,"AbstractMapBasedMultimap/SortedAsMap",503),b(446,503,wtn,N6),o.bc=function(){return new f4(this.a,u(u(this.d,133),139))},o.Sc=function(){return new f4(this.a,u(u(this.d,133),139))},o.ec=function(){var e;return e=this.b,u(e||(this.b=new f4(this.a,u(u(this.d,133),139))),277)},o.Uc=function(){var e;return e=this.b,u(e||(this.b=new f4(this.a,u(u(this.d,133),139))),277)},o.Wc=function(){return u(u(this.d,133),139)},o.Xc=function(e){return u(u(this.d,133),139).Xc(e)},o.Yc=function(e){return u(u(this.d,133),139).Yc(e)},o.Zc=function(e,t){return new N6(this.a,u(u(this.d,133),139).Zc(e,t))},o.$c=function(e){return u(u(this.d,133),139).$c(e)},o._c=function(e){return u(u(this.d,133),139)._c(e)},o.ad=function(e,t){return new N6(this.a,u(u(this.d,133),139).ad(e,t))},w(Cn,"AbstractMapBasedMultimap/NavigableAsMap",446),b(502,327,Pzn,e7),o.Nc=function(){return this.b.ec().Nc()},w(Cn,"AbstractMapBasedMultimap/SortedKeySet",502),b(401,502,gtn,f4),w(Cn,"AbstractMapBasedMultimap/NavigableKeySet",401),b(551,31,pw,VM),o.Fc=function(e){var t,i;return eo(this),i=this.d.dc(),t=this.d.Fc(e),t&&(++this.f.d,i&&O7(this)),t},o.Gc=function(e){var t,i,r;return e.dc()?!1:(r=(eo(this),this.d.gc()),t=this.d.Gc(e),t&&(i=this.d.gc(),this.f.d+=i-r,r==0&&O7(this)),t)},o.$b=function(){var e;e=(eo(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,fM(this))},o.Hc=function(e){return eo(this),this.d.Hc(e)},o.Ic=function(e){return eo(this),this.d.Ic(e)},o.Fb=function(e){return e===this?!0:(eo(this),rt(this.d,e))},o.Hb=function(){return eo(this),mt(this.d)},o.Kc=function(){return eo(this),new qV(this)},o.Mc=function(e){var t;return eo(this),t=this.d.Mc(e),t&&(--this.f.d,fM(this)),t},o.gc=function(){return BMn(this)},o.Nc=function(){return eo(this),this.d.Nc()},o.Ib=function(){return eo(this),Jr(this.d)},w(Cn,"AbstractMapBasedMultimap/WrappedCollection",551);var rs=Nt(le,"List");b(744,551,{20:1,31:1,16:1,15:1},vW),o.jd=function(e){ud(this,e)},o.Nc=function(){return eo(this),this.d.Nc()},o.bd=function(e,t){var i;eo(this),i=this.d.dc(),u(this.d,15).bd(e,t),++this.a.d,i&&O7(this)},o.cd=function(e,t){var i,r,c;return t.dc()?!1:(c=(eo(this),this.d.gc()),i=u(this.d,15).cd(e,t),i&&(r=this.d.gc(),this.a.d+=r-c,c==0&&O7(this)),i)},o.Xb=function(e){return eo(this),u(this.d,15).Xb(e)},o.dd=function(e){return eo(this),u(this.d,15).dd(e)},o.ed=function(){return eo(this),new bTn(this)},o.fd=function(e){return eo(this),new FIn(this,e)},o.gd=function(e){var t;return eo(this),t=u(this.d,15).gd(e),--this.a.d,fM(this),t},o.hd=function(e,t){return eo(this),u(this.d,15).hd(e,t)},o.kd=function(e,t){return eo(this),ADn(this.a,this.e,u(this.d,15).kd(e,t),this.b?this.b:this)},w(Cn,"AbstractMapBasedMultimap/WrappedList",744),b(1126,744,{20:1,31:1,16:1,15:1,59:1},iAn),w(Cn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),b(628,1,Si,qV),o.Nb=function(e){_i(this,e)},o.Ob=function(){return I4(this),this.b.Ob()},o.Pb=function(){return I4(this),this.b.Pb()},o.Qb=function(){_Tn(this)},w(Cn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),b(745,628,Hh,bTn,FIn),o.Qb=function(){_Tn(this)},o.Rb=function(e){var t;t=BMn(this.a)==0,(I4(this),u(this.b,128)).Rb(e),++this.a.a.d,t&&O7(this.a)},o.Sb=function(){return(I4(this),u(this.b,128)).Sb()},o.Tb=function(){return(I4(this),u(this.b,128)).Tb()},o.Ub=function(){return(I4(this),u(this.b,128)).Ub()},o.Vb=function(){return(I4(this),u(this.b,128)).Vb()},o.Wb=function(e){(I4(this),u(this.b,128)).Wb(e)},w(Cn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),b(743,551,Pzn,sV),o.Nc=function(){return eo(this),this.d.Nc()},w(Cn,"AbstractMapBasedMultimap/WrappedSortedSet",743),b(1125,743,gtn,fTn),w(Cn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),b(1124,551,Lu,CAn),o.Nc=function(){return eo(this),this.d.Nc()},w(Cn,"AbstractMapBasedMultimap/WrappedSet",1124),b(1133,1,{},Xe),o.Kb=function(e){return s4e(u(e,44))},w(Cn,"AbstractMapBasedMultimap/lambda$1$Type",1133),b(1132,1,{},L8n),o.Kb=function(e){return new i0(this.a,e)},w(Cn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var Pd=Nt(le,"Map/Entry");b(358,1,tB),o.Fb=function(e){var t;return D(e,44)?(t=u(e,44),sh(this.ld(),t.ld())&&sh(this.md(),t.md())):!1},o.Hb=function(){var e,t;return e=this.ld(),t=this.md(),(e==null?0:mt(e))^(t==null?0:mt(t))},o.nd=function(e){throw M(new Pe)},o.Ib=function(){return this.ld()+"="+this.md()},w(Cn,Izn,358),b(2086,31,pw),o.$b=function(){this.od().$b()},o.Hc=function(e){var t;return D(e,44)?(t=u(e,44),Ppe(this.od(),t.ld(),t.md())):!1},o.Mc=function(e){var t;return D(e,44)?(t=u(e,44),sDn(this.od(),t.ld(),t.md())):!1},o.gc=function(){return this.od().d},w(Cn,"Multimaps/Entries",2086),b(749,2086,pw,fG),o.Kc=function(){return this.a.kc()},o.od=function(){return this.a},o.Nc=function(){return this.a.lc()},w(Cn,"AbstractMultimap/Entries",749),b(750,749,Lu,oz),o.Nc=function(){return this.a.lc()},o.Fb=function(e){return dnn(this,e)},o.Hb=function(){return vxn(this)},w(Cn,"AbstractMultimap/EntrySet",750),b(751,31,pw,hG),o.$b=function(){this.a.$b()},o.Hc=function(e){return A6e(this.a,e)},o.Kc=function(){return this.a.nc()},o.gc=function(){return this.a.d},o.Nc=function(){return this.a.oc()},w(Cn,"AbstractMultimap/Values",751),b(2087,31,{849:1,20:1,31:1,16:1}),o.Jc=function(e){Se(e),Ag(this).Jc(new Y8n(e))},o.Nc=function(){var e;return e=Ag(this).Nc(),nF(e,new Mf,64|e.yd()&1296,this.a.d)},o.Fc=function(e){return wz(),!0},o.Gc=function(e){return Se(this),Se(e),D(e,552)?Dpe(u(e,849)):!e.dc()&&b$(this,e.Kc())},o.Hc=function(e){var t;return t=u(tw(Dp(this.a),e),16),(t?t.gc():0)>0},o.Fb=function(e){return nMe(this,e)},o.Hb=function(){return mt(Ag(this))},o.dc=function(){return Ag(this).dc()},o.Mc=function(e){return G_n(this,e,1)>0},o.Ib=function(){return Jr(Ag(this))},w(Cn,"AbstractMultiset",2087),b(2089,2068,Lu),o.$b=function(){gT(this.a.a)},o.Hc=function(e){var t,i;return D(e,504)?(i=u(e,425),u(i.a.md(),16).gc()<=0?!1:(t=$On(this.a,i.a.ld()),t==u(i.a.md(),16).gc())):!1},o.Mc=function(e){var t,i,r,c;return D(e,504)&&(i=u(e,425),t=i.a.ld(),r=u(i.a.md(),16).gc(),r!=0)?(c=this.a,UEe(c,t,r)):!1},w(Cn,"Multisets/EntrySet",2089),b(1139,2089,Lu,N8n),o.Kc=function(){return new Ijn(EPn(Dp(this.a.a)).Kc())},o.gc=function(){return Dp(this.a.a).gc()},w(Cn,"AbstractMultiset/EntrySet",1139),b(627,742,md),o.hc=function(){return this.pd()},o.jc=function(){return this.qd()},o.cc=function(e){return this.rd(e)},o.fc=function(e){return this.sd(e)},o.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},o.qd=function(){return Dn(),Dn(),hP},o.Fb=function(e){return G$(this,e)},o.rd=function(e){return u(ot(this,e),21)},o.sd=function(e){return u(Ok(this,e),21)},o.mc=function(e){return Dn(),new r4(u(e,21))},o.pc=function(e,t){return new CAn(this,e,u(t,21))},w(Cn,"AbstractSetMultimap",627),b(1723,627,md),o.hc=function(){return new Ul(this.b)},o.pd=function(){return new Ul(this.b)},o.jc=function(){return KW(new Ul(this.b))},o.qd=function(){return KW(new Ul(this.b))},o.cc=function(e){return u(u(ot(this,e),21),87)},o.rd=function(e){return u(u(ot(this,e),21),87)},o.fc=function(e){return u(u(Ok(this,e),21),87)},o.sd=function(e){return u(u(Ok(this,e),21),87)},o.mc=function(e){return D(e,277)?KW(u(e,277)):(Dn(),new XX(u(e,87)))},o.Zb=function(){var e;return e=this.f,e||(this.f=D(this.c,139)?new N6(this,u(this.c,139)):D(this.c,133)?new A7(this,u(this.c,133)):new h4(this,this.c))},o.pc=function(e,t){return D(t,277)?new fTn(this,e,u(t,277)):new sV(this,e,u(t,87))},w(Cn,"AbstractSortedSetMultimap",1723),b(1724,1723,md),o.Zb=function(){var e;return e=this.f,u(u(e||(this.f=D(this.c,139)?new N6(this,u(this.c,139)):D(this.c,133)?new A7(this,u(this.c,133)):new h4(this,this.c)),133),139)},o.ec=function(){var e;return e=this.i,u(u(e||(this.i=D(this.c,139)?new f4(this,u(this.c,139)):D(this.c,133)?new e7(this,u(this.c,133)):new Mg(this,this.c)),87),277)},o.bc=function(){return D(this.c,139)?new f4(this,u(this.c,139)):D(this.c,133)?new e7(this,u(this.c,133)):new Mg(this,this.c)},w(Cn,"AbstractSortedKeySortedSetMultimap",1724),b(2109,1,{2046:1}),o.Fb=function(e){return Mke(this,e)},o.Hb=function(){var e;return VQ((e=this.g,e||(this.g=new zO(this))))},o.Ib=function(){var e;return DKn((e=this.f,e||(this.f=new qX(this))))},w(Cn,"AbstractTable",2109),b(679,Kf,Lu,zO),o.$b=function(){Hjn()},o.Hc=function(e){var t,i;return D(e,479)?(t=u(e,697),i=u(tw(XPn(this.a),_1(t.c.e,t.b)),85),!!i&&yY(i.vc(),new i0(_1(t.c.c,t.a),Rp(t.c,t.b,t.a)))):!1},o.Kc=function(){return Pge(this.a)},o.Mc=function(e){var t,i;return D(e,479)?(t=u(e,697),i=u(tw(XPn(this.a),_1(t.c.e,t.b)),85),!!i&&u5e(i.vc(),new i0(_1(t.c.c,t.a),Rp(t.c,t.b,t.a)))):!1},o.gc=function(){return JSn(this.a)},o.Nc=function(){return $pe(this.a)},w(Cn,"AbstractTable/CellSet",679),b(2025,31,pw,x8n),o.$b=function(){Hjn()},o.Hc=function(e){return pye(this.a,e)},o.Kc=function(){return Ige(this.a)},o.gc=function(){return JSn(this.a)},o.Nc=function(){return oDn(this.a)},w(Cn,"AbstractTable/Values",2025),b(1697,1696,md),w(Cn,"ArrayListMultimapGwtSerializationDependencies",1697),b(520,1697,md,CD,sJ),o.hc=function(){return new Gc(this.a)},o.a=0,w(Cn,"ArrayListMultimap",520),b(678,2109,{678:1,2046:1,3:1},rHn),w(Cn,"ArrayTable",678),b(2021,399,xm,HTn),o.Xb=function(e){return new ZQ(this.a,e)},w(Cn,"ArrayTable/1",2021),b(2022,1,{},I8n),o.td=function(e){return new ZQ(this.a,e)},w(Cn,"ArrayTable/1methodref$getCell$Type",2022),b(2110,1,{697:1}),o.Fb=function(e){var t;return e===this?!0:D(e,479)?(t=u(e,697),sh(_1(this.c.e,this.b),_1(t.c.e,t.b))&&sh(_1(this.c.c,this.a),_1(t.c.c,t.a))&&sh(Rp(this.c,this.b,this.a),Rp(t.c,t.b,t.a))):!1},o.Hb=function(){return Ik(A(T(ki,1),Bn,1,5,[_1(this.c.e,this.b),_1(this.c.c,this.a),Rp(this.c,this.b,this.a)]))},o.Ib=function(){return"("+_1(this.c.e,this.b)+","+_1(this.c.c,this.a)+")="+Rp(this.c,this.b,this.a)},w(Cn,"Tables/AbstractCell",2110),b(479,2110,{479:1,697:1},ZQ),o.a=0,o.b=0,o.d=0,w(Cn,"ArrayTable/2",479),b(2024,1,{},O8n),o.td=function(e){return DNn(this.a,e)},w(Cn,"ArrayTable/2methodref$getValue$Type",2024),b(2023,399,xm,qTn),o.Xb=function(e){return DNn(this.a,e)},w(Cn,"ArrayTable/3",2023),b(2077,2065,X0),o.$b=function(){iM(this.kc())},o.vc=function(){return new G8n(this)},o.lc=function(){return new AIn(this.kc(),this.gc())},w(Cn,"Maps/IteratorBasedAbstractMap",2077),b(842,2077,X0),o.$b=function(){throw M(new Pe)},o._b=function(e){return oEn(this.c,e)},o.kc=function(){return new UTn(this,this.c.b.c.gc())},o.lc=function(){return XL(this.c.b.c.gc(),16,new D8n(this))},o.xc=function(e){var t;return t=u($6(this.c,e),17),t?this.vd(t.a):null},o.dc=function(){return this.c.b.c.dc()},o.ec=function(){return eN(this.c)},o.zc=function(e,t){var i;if(i=u($6(this.c,e),17),!i)throw M(new Gn(this.ud()+" "+e+" not in "+eN(this.c)));return this.wd(i.a,t)},o.Bc=function(e){throw M(new Pe)},o.gc=function(){return this.c.b.c.gc()},w(Cn,"ArrayTable/ArrayMap",842),b(2020,1,{},D8n),o.td=function(e){return WPn(this.a,e)},w(Cn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),b(2018,358,tB,LEn),o.ld=function(){return q1e(this.a,this.b)},o.md=function(){return this.a.vd(this.b)},o.nd=function(e){return this.a.wd(this.b,e)},o.b=0,w(Cn,"ArrayTable/ArrayMap/1",2018),b(2019,399,xm,UTn),o.Xb=function(e){return WPn(this.a,e)},w(Cn,"ArrayTable/ArrayMap/2",2019),b(2017,842,X0,xPn),o.ud=function(){return"Column"},o.vd=function(e){return Rp(this.b,this.a,e)},o.wd=function(e,t){return cFn(this.b,this.a,e,t)},o.a=0,w(Cn,"ArrayTable/Row",2017),b(843,842,X0,qX),o.vd=function(e){return new xPn(this.a,e)},o.zc=function(e,t){return u(t,85),hhe()},o.wd=function(e,t){return u(t,85),lhe()},o.ud=function(){return"Row"},w(Cn,"ArrayTable/RowMap",843),b(1157,1,Po,NEn),o.Ad=function(e){return(this.a.yd()&-262&e)!=0},o.yd=function(){return this.a.yd()&-262},o.zd=function(){return this.a.zd()},o.Nb=function(e){this.a.Nb(new xEn(e,this.b))},o.Bd=function(e){return this.a.Bd(new $En(e,this.b))},w(Cn,"CollectSpliterators/1",1157),b(1158,1,re,$En),o.Cd=function(e){this.a.Cd(this.b.Kb(e))},w(Cn,"CollectSpliterators/1/lambda$0$Type",1158),b(1159,1,re,xEn),o.Cd=function(e){this.a.Cd(this.b.Kb(e))},w(Cn,"CollectSpliterators/1/lambda$1$Type",1159),b(1154,1,Po,cSn),o.Ad=function(e){return((16464|this.b)&e)!=0},o.yd=function(){return 16464|this.b},o.zd=function(){return this.a.zd()},o.Nb=function(e){this.a.Qe(new BEn(e,this.c))},o.Bd=function(e){return this.a.Re(new FEn(e,this.c))},o.b=0,w(Cn,"CollectSpliterators/1WithCharacteristics",1154),b(1155,1,jy,FEn),o.Dd=function(e){this.a.Cd(this.b.td(e))},w(Cn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),b(1156,1,jy,BEn),o.Dd=function(e){this.a.Cd(this.b.td(e))},w(Cn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),b(1150,1,Po),o.Ad=function(e){return(this.a&e)!=0},o.yd=function(){return this.a},o.zd=function(){return this.e&&(this.b=OX(this.b,this.e.zd())),OX(this.b,0)},o.Nb=function(e){this.e&&(this.e.Nb(e),this.e=null),this.c.Nb(new REn(this,e)),this.b=0},o.Bd=function(e){for(;;){if(this.e&&this.e.Bd(e))return C6(this.b,Ey)&&(this.b=bs(this.b,1)),!0;if(this.e=null,!this.c.Bd(new F8n(this)))return!1}},o.a=0,o.b=0,w(Cn,"CollectSpliterators/FlatMapSpliterator",1150),b(1152,1,re,F8n),o.Cd=function(e){_ae(this.a,e)},w(Cn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),b(1153,1,re,REn),o.Cd=function(e){age(this.a,this.b,e)},w(Cn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),b(1151,1150,Po,MDn),w(Cn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),b(253,1,iB),o.Fd=function(e){return this.Ed(u(e,253))},o.Ed=function(e){var t;return e==(bD(),HK)?1:e==(dD(),_K)?-1:(t=(YC(),mk(this.a,e.a)),t!=0?t:D(this,526)==D(e,526)?0:D(this,526)?1:-1)},o.Id=function(){return this.a},o.Fb=function(e){return vZ(this,e)},w(Cn,"Cut",253),b(1823,253,iB,Ejn),o.Ed=function(e){return e==this?0:1},o.Gd=function(e){throw M(new HG)},o.Hd=function(e){e.a+="+∞)"},o.Id=function(){throw M(new Or(Dzn))},o.Hb=function(){return fl(),rZ(this)},o.Jd=function(e){return!1},o.Ib=function(){return"+∞"};var _K;w(Cn,"Cut/AboveAll",1823),b(526,253,{253:1,526:1,3:1,34:1},JTn),o.Gd=function(e){Dc((e.a+="(",e),this.a)},o.Hd=function(e){z1(Dc(e,this.a),93)},o.Hb=function(){return~mt(this.a)},o.Jd=function(e){return YC(),mk(this.a,e)<0},o.Ib=function(){return"/"+this.a+"\\"},w(Cn,"Cut/AboveValue",526),b(1822,253,iB,jjn),o.Ed=function(e){return e==this?0:-1},o.Gd=function(e){e.a+="(-∞"},o.Hd=function(e){throw M(new HG)},o.Id=function(){throw M(new Or(Dzn))},o.Hb=function(){return fl(),rZ(this)},o.Jd=function(e){return!0},o.Ib=function(){return"-∞"};var HK;w(Cn,"Cut/BelowAll",1822),b(1824,253,iB,QTn),o.Gd=function(e){Dc((e.a+="[",e),this.a)},o.Hd=function(e){z1(Dc(e,this.a),41)},o.Hb=function(){return mt(this.a)},o.Jd=function(e){return YC(),mk(this.a,e)<=0},o.Ib=function(){return"\\"+this.a+"/"},w(Cn,"Cut/BelowValue",1824),b(547,1,qh),o.Jc=function(e){qi(this,e)},o.Ib=function(){return A5e(u(TM(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},w(Cn,"FluentIterable",547),b(442,547,qh,A6),o.Kc=function(){return new ie(ce(this.a.Kc(),new En))},w(Cn,"FluentIterable/2",442),b(1059,547,qh,cTn),o.Kc=function(){return $h(this)},w(Cn,"FluentIterable/3",1059),b(724,399,xm,UX),o.Xb=function(e){return this.a[e].Kc()},w(Cn,"FluentIterable/3/1",724),b(2070,1,{}),o.Ib=function(){return Jr(this.Kd().b)},w(Cn,"ForwardingObject",2070),b(2071,2070,Lzn),o.Kd=function(){return this.Ld()},o.Jc=function(e){qi(this,e)},o.Lc=function(){return this.Oc()},o.Nc=function(){return new In(this,0)},o.Oc=function(){return new Tn(null,this.Nc())},o.Fc=function(e){return this.Ld(),fEn()},o.Gc=function(e){return this.Ld(),hEn()},o.$b=function(){this.Ld(),lEn()},o.Hc=function(e){return this.Ld().Hc(e)},o.Ic=function(e){return this.Ld().Ic(e)},o.dc=function(){return this.Ld().b.dc()},o.Kc=function(){return this.Ld().Kc()},o.Mc=function(e){return this.Ld(),aEn()},o.gc=function(){return this.Ld().b.gc()},o.Pc=function(){return this.Ld().Pc()},o.Qc=function(e){return this.Ld().Qc(e)},w(Cn,"ForwardingCollection",2071),b(2078,31,ptn),o.Kc=function(){return this.Od()},o.Fc=function(e){throw M(new Pe)},o.Gc=function(e){throw M(new Pe)},o.Md=function(){var e;return e=this.c,e||(this.c=this.Nd())},o.$b=function(){throw M(new Pe)},o.Hc=function(e){return e!=null&&iw(this,e,!1)},o.Nd=function(){switch(this.gc()){case 0:return m0(),m0(),qK;case 1:return m0(),new VL(Se(this.Od().Pb()));default:return new EW(this,this.Pc())}},o.Mc=function(e){throw M(new Pe)},w(Cn,"ImmutableCollection",2078),b(727,2078,ptn,KG),o.Kc=function(){return Kp(this.a.Kc())},o.Hc=function(e){return e!=null&&this.a.Hc(e)},o.Ic=function(e){return this.a.Ic(e)},o.dc=function(){return this.a.dc()},o.Od=function(){return Kp(this.a.Kc())},o.gc=function(){return this.a.gc()},o.Pc=function(){return this.a.Pc()},o.Qc=function(e){return this.a.Qc(e)},o.Ib=function(){return Jr(this.a)},w(Cn,"ForwardingImmutableCollection",727),b(307,2078,Fm),o.Kc=function(){return this.Od()},o.ed=function(){return this.Pd(0)},o.fd=function(e){return this.Pd(e)},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.kd=function(e,t){return this.Qd(e,t)},o.bd=function(e,t){throw M(new Pe)},o.cd=function(e,t){throw M(new Pe)},o.Md=function(){return this},o.Fb=function(e){return HCe(this,e)},o.Hb=function(){return xve(this)},o.dd=function(e){return e==null?-1:c7e(this,e)},o.Od=function(){return this.Pd(0)},o.Pd=function(e){return TL(this,e)},o.gd=function(e){throw M(new Pe)},o.hd=function(e,t){throw M(new Pe)},o.Qd=function(e,t){var i;return FT((i=new WEn(this),new Jl(i,e,t)))};var qK;w(Cn,"ImmutableList",307),b(2105,307,Fm),o.Kc=function(){return Kp(this.Rd().Kc())},o.kd=function(e,t){return FT(this.Rd().kd(e,t))},o.Hc=function(e){return e!=null&&this.Rd().Hc(e)},o.Ic=function(e){return this.Rd().Ic(e)},o.Fb=function(e){return rt(this.Rd(),e)},o.Xb=function(e){return _1(this,e)},o.Hb=function(){return mt(this.Rd())},o.dd=function(e){return this.Rd().dd(e)},o.dc=function(){return this.Rd().dc()},o.Od=function(){return Kp(this.Rd().Kc())},o.gc=function(){return this.Rd().gc()},o.Qd=function(e,t){return FT(this.Rd().kd(e,t))},o.Pc=function(){return this.Rd().Qc(K(ki,Bn,1,this.Rd().gc(),5,1))},o.Qc=function(e){return this.Rd().Qc(e)},o.Ib=function(){return Jr(this.Rd())},w(Cn,"ForwardingImmutableList",2105),b(729,1,Bm),o.vc=function(){return Ja(this)},o.wc=function(e){f5(this,e)},o.ec=function(){return eN(this)},o.yc=function(e,t,i){return hx(this,e,t,i)},o.Cc=function(){return this.Vd()},o.$b=function(){throw M(new Pe)},o._b=function(e){return this.xc(e)!=null},o.uc=function(e){return this.Vd().Hc(e)},o.Td=function(){return new Oyn(this)},o.Ud=function(){return new Dyn(this)},o.Fb=function(e){return S6e(this,e)},o.Hb=function(){return Ja(this).Hb()},o.dc=function(){return this.gc()==0},o.zc=function(e,t){return fhe()},o.Bc=function(e){throw M(new Pe)},o.Ib=function(){return wje(this)},o.Vd=function(){return this.e?this.e:this.e=this.Ud()},o.c=null,o.d=null,o.e=null;var rQn;w(Cn,"ImmutableMap",729),b(730,729,Bm),o._b=function(e){return oEn(this,e)},o.uc=function(e){return eCn(this.b,e)},o.Sd=function(){return eBn(new $8n(this))},o.Td=function(){return eBn(pIn(this.b))},o.Ud=function(){return oh(),new KG(gIn(this.b))},o.Fb=function(e){return tCn(this.b,e)},o.xc=function(e){return $6(this,e)},o.Hb=function(){return mt(this.b.c)},o.dc=function(){return this.b.c.dc()},o.gc=function(){return this.b.c.gc()},o.Ib=function(){return Jr(this.b.c)},w(Cn,"ForwardingImmutableMap",730),b(2072,2071,rB),o.Kd=function(){return this.Wd()},o.Ld=function(){return this.Wd()},o.Nc=function(){return new In(this,1)},o.Fb=function(e){return e===this||this.Wd().Fb(e)},o.Hb=function(){return this.Wd().Hb()},w(Cn,"ForwardingSet",2072),b(1085,2072,rB,$8n),o.Kd=function(){return S4(this.a.b)},o.Ld=function(){return S4(this.a.b)},o.Hc=function(e){if(D(e,44)&&u(e,44).ld()==null)return!1;try{return nCn(S4(this.a.b),e)}catch(t){if(t=It(t),D(t,212))return!1;throw M(t)}},o.Wd=function(){return S4(this.a.b)},o.Qc=function(e){var t;return t=eOn(S4(this.a.b),e),S4(this.a.b).b.gc()=0?"+":"")+(i/60|0),t=OC(y.Math.abs(i)%60),(UKn(),EQn)[this.q.getDay()]+" "+CQn[this.q.getMonth()]+" "+OC(this.q.getDate())+" "+OC(this.q.getHours())+":"+OC(this.q.getMinutes())+":"+OC(this.q.getSeconds())+" GMT"+e+t+" "+this.q.getFullYear()};var oP=w(le,"Date",206);b(2015,206,Hzn,dKn),o.a=!1,o.b=0,o.c=0,o.d=0,o.e=0,o.f=0,o.g=!1,o.i=0,o.j=0,o.k=0,o.n=0,o.o=0,o.p=0,w("com.google.gwt.i18n.shared.impl","DateRecord",2015),b(2064,1,{}),o.pe=function(){return null},o.qe=function(){return null},o.re=function(){return null},o.se=function(){return null},o.te=function(){return null},w(u3,"JSONValue",2064),b(221,2064,{221:1},_a,aG),o.Fb=function(e){return D(e,221)?hJ(this.a,u(e,221).a):!1},o.oe=function(){return Nfe},o.Hb=function(){return ZW(this.a)},o.pe=function(){return this},o.Ib=function(){var e,t,i;for(i=new mo("["),t=0,e=this.a.length;t0&&(i.a+=","),Dc(i,Jb(this,t));return i.a+="]",i.a},w(u3,"JSONArray",221),b(493,2064,{493:1},dG),o.oe=function(){return $fe},o.qe=function(){return this},o.Ib=function(){return _n(),""+this.a},o.a=!1;var lQn,aQn;w(u3,"JSONBoolean",493),b(997,63,Pl,Ojn),w(u3,"JSONException",997),b(1036,2064,{},M0n),o.oe=function(){return xfe},o.Ib=function(){return gu};var dQn;w(u3,"JSONNull",1036),b(263,2064,{263:1},AE),o.Fb=function(e){return D(e,263)?this.a==u(e,263).a:!1},o.oe=function(){return Dfe},o.Hb=function(){return pp(this.a)},o.re=function(){return this},o.Ib=function(){return this.a+""},o.a=0,w(u3,"JSONNumber",263),b(190,2064,{190:1},sp,U9),o.Fb=function(e){return D(e,190)?hJ(this.a,u(e,190).a):!1},o.oe=function(){return Lfe},o.Hb=function(){return ZW(this.a)},o.se=function(){return this},o.Ib=function(){var e,t,i,r,c,s,f;for(f=new mo("{"),e=!0,s=S$(this,K(fn,J,2,0,6,1)),i=s,r=0,c=i.length;r=0?":"+this.c:"")+")"},o.c=0;var jun=w(ac,"StackTraceElement",319);iQn={3:1,484:1,34:1,2:1};var fn=w(ac,mtn,2);b(111,427,{484:1},Hl,i6,ls),w(ac,"StringBuffer",111),b(104,427,{484:1},x1,fg,mo),w(ac,"StringBuilder",104),b(702,77,AB,gz),w(ac,"StringIndexOutOfBoundsException",702),b(2145,1,{});var pQn;b(48,63,{3:1,103:1,63:1,82:1,48:1},Pe,Kl),w(ac,"UnsupportedOperationException",48),b(247,242,{3:1,34:1,242:1,247:1},Nk,Az),o.Fd=function(e){return FUn(this,u(e,247))},o.ue=function(){return sw(lGn(this))},o.Fb=function(e){var t;return this===e?!0:D(e,247)?(t=u(e,247),this.e==t.e&&FUn(this,t)==0):!1},o.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=vc(this.f),this.b=Ae(vi(e,-1)),this.b=33*this.b+Ae(vi(w0(e,32),-1)),this.b=17*this.b+wi(this.e),this.b):(this.b=17*JFn(this.c)+wi(this.e),this.b)},o.Ib=function(){return lGn(this)},o.a=0,o.b=0,o.d=0,o.e=0,o.f=0;var mQn,Id,Eun,Cun,Mun,Tun,Aun,Sun,QK=w("java.math","BigDecimal",247);b(92,242,{3:1,34:1,242:1,92:1},gl,HOn,Ya,QBn,H1),o.Fd=function(e){return XBn(this,u(e,92))},o.ue=function(){return sw(ZF(this,0))},o.Fb=function(e){return _Y(this,e)},o.Hb=function(){return JFn(this)},o.Ib=function(){return ZF(this,0)},o.b=-2,o.c=0,o.d=0,o.e=0;var vQn,sP,kQn,YK,fP,S8,l2=w("java.math","BigInteger",92),yQn,jQn,m3,P8;b(498,2065,X0),o.$b=function(){Hu(this)},o._b=function(e){return Zc(this,e)},o.uc=function(e){return OFn(this,e,this.i)||OFn(this,e,this.f)},o.vc=function(){return new Ua(this)},o.xc=function(e){return ee(this,e)},o.zc=function(e,t){return Ve(this,e,t)},o.Bc=function(e){return Bp(this,e)},o.gc=function(){return c6(this)},o.g=0,w(le,"AbstractHashMap",498),b(267,Kf,Lu,Ua),o.$b=function(){this.a.$b()},o.Hc=function(e){return mDn(this,e)},o.Kc=function(){return new sd(this.a)},o.Mc=function(e){var t;return mDn(this,e)?(t=u(e,44).ld(),this.a.Bc(t),!0):!1},o.gc=function(){return this.a.gc()},w(le,"AbstractHashMap/EntrySet",267),b(268,1,Si,sd),o.Nb=function(e){_i(this,e)},o.Pb=function(){return L0(this)},o.Ob=function(){return this.b},o.Qb=function(){XNn(this)},o.b=!1,o.d=0,w(le,"AbstractHashMap/EntrySetIterator",268),b(426,1,Si,zv),o.Nb=function(e){_i(this,e)},o.Ob=function(){return DD(this)},o.Pb=function(){return VW(this)},o.Qb=function(){bo(this)},o.b=0,o.c=-1,w(le,"AbstractList/IteratorImpl",426),b(98,426,Hh,xi),o.Qb=function(){bo(this)},o.Rb=function(e){Rb(this,e)},o.Sb=function(){return this.b>0},o.Tb=function(){return this.b},o.Ub=function(){return oe(this.b>0),this.a.Xb(this.c=--this.b)},o.Vb=function(){return this.b-1},o.Wb=function(e){Fb(this.c!=-1),this.a.hd(this.c,e)},w(le,"AbstractList/ListIteratorImpl",98),b(244,56,Rm,Jl),o.bd=function(e,t){zb(e,this.b),this.c.bd(this.a+e,t),++this.b},o.Xb=function(e){return Ln(e,this.b),this.c.Xb(this.a+e)},o.gd=function(e){var t;return Ln(e,this.b),t=this.c.gd(this.a+e),--this.b,t},o.hd=function(e,t){return Ln(e,this.b),this.c.hd(this.a+e,t)},o.gc=function(){return this.b},o.a=0,o.b=0,w(le,"AbstractList/SubList",244),b(266,Kf,Lu,qa),o.$b=function(){this.a.$b()},o.Hc=function(e){return this.a._b(e)},o.Kc=function(){var e;return e=this.a.vc().Kc(),new PE(e)},o.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},o.gc=function(){return this.a.gc()},w(le,"AbstractMap/1",266),b(541,1,Si,PE),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.a.Ob()},o.Pb=function(){var e;return e=u(this.a.Pb(),44),e.ld()},o.Qb=function(){this.a.Qb()},w(le,"AbstractMap/1/1",541),b(231,31,pw,ol),o.$b=function(){this.a.$b()},o.Hc=function(e){return this.a.uc(e)},o.Kc=function(){var e;return e=this.a.vc().Kc(),new Sb(e)},o.gc=function(){return this.a.gc()},w(le,"AbstractMap/2",231),b(301,1,Si,Sb),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.a.Ob()},o.Pb=function(){var e;return e=u(this.a.Pb(),44),e.md()},o.Qb=function(){this.a.Qb()},w(le,"AbstractMap/2/1",301),b(494,1,{494:1,44:1}),o.Fb=function(e){var t;return D(e,44)?(t=u(e,44),mc(this.d,t.ld())&&mc(this.e,t.md())):!1},o.ld=function(){return this.d},o.md=function(){return this.e},o.Hb=function(){return yg(this.d)^yg(this.e)},o.nd=function(e){return wV(this,e)},o.Ib=function(){return this.d+"="+this.e},w(le,"AbstractMap/AbstractEntry",494),b(397,494,{494:1,397:1,44:1},oC),w(le,"AbstractMap/SimpleEntry",397),b(2082,1,IB),o.Fb=function(e){var t;return D(e,44)?(t=u(e,44),mc(this.ld(),t.ld())&&mc(this.md(),t.md())):!1},o.Hb=function(){return yg(this.ld())^yg(this.md())},o.Ib=function(){return this.ld()+"="+this.md()},w(le,Izn,2082),b(2090,2065,wtn),o.Xc=function(e){return MD(this.Ee(e))},o.tc=function(e){return CLn(this,e)},o._b=function(e){return gV(this,e)},o.vc=function(){return new ZO(this)},o.Tc=function(){return BPn(this.Ge())},o.Yc=function(e){return MD(this.He(e))},o.xc=function(e){var t;return t=e,Kr(this.Fe(t))},o.$c=function(e){return MD(this.Ie(e))},o.ec=function(){return new o9n(this)},o.Vc=function(){return BPn(this.Je())},o._c=function(e){return MD(this.Ke(e))},w(le,"AbstractNavigableMap",2090),b(629,Kf,Lu,ZO),o.Hc=function(e){return D(e,44)&&CLn(this.b,u(e,44))},o.Kc=function(){return this.b.De()},o.Mc=function(e){var t;return D(e,44)?(t=u(e,44),this.b.Le(t)):!1},o.gc=function(){return this.b.gc()},w(le,"AbstractNavigableMap/EntrySet",629),b(1146,Kf,gtn,o9n),o.Nc=function(){return new cC(this)},o.$b=function(){this.a.$b()},o.Hc=function(e){return gV(this.a,e)},o.Kc=function(){var e;return e=this.a.vc().b.De(),new s9n(e)},o.Mc=function(e){return gV(this.a,e)?(this.a.Bc(e),!0):!1},o.gc=function(){return this.a.gc()},w(le,"AbstractNavigableMap/NavigableKeySet",1146),b(1147,1,Si,s9n),o.Nb=function(e){_i(this,e)},o.Ob=function(){return DD(this.a.a)},o.Pb=function(){var e;return e=oAn(this.a),e.ld()},o.Qb=function(){dSn(this.a)},w(le,"AbstractNavigableMap/NavigableKeySet/1",1147),b(2103,31,pw),o.Fc=function(e){return Mp(ym(this,e),_m),!0},o.Gc=function(e){return Jn(e),x7(e!=this,"Can't add a queue to itself"),Bi(this,e)},o.$b=function(){for(;w$(this)!=null;);},w(le,"AbstractQueue",2103),b(310,31,{4:1,20:1,31:1,16:1},Cg,dDn),o.Fc=function(e){return kJ(this,e),!0},o.$b=function(){TJ(this)},o.Hc=function(e){return Zxn(new V6(this),e)},o.dc=function(){return t6(this)},o.Kc=function(){return new V6(this)},o.Mc=function(e){return p2e(new V6(this),e)},o.gc=function(){return this.c-this.b&this.a.length-1},o.Nc=function(){return new In(this,272)},o.Qc=function(e){var t;return t=this.c-this.b&this.a.length-1,e.lengtht&&$t(e,t,null),e},o.b=0,o.c=0,w(le,"ArrayDeque",310),b(459,1,Si,V6),o.Nb=function(e){_i(this,e)},o.Ob=function(){return this.a!=this.b},o.Pb=function(){return xT(this)},o.Qb=function(){W$n(this)},o.a=0,o.b=0,o.c=-1,w(le,"ArrayDeque/IteratorImpl",459),b(13,56,Gzn,Z,Gc,_u),o.bd=function(e,t){b0(this,e,t)},o.Fc=function(e){return nn(this,e)},o.cd=function(e,t){return dY(this,e,t)},o.Gc=function(e){return hi(this,e)},o.$b=function(){Pb(this.c,0)},o.Hc=function(e){return qr(this,e,0)!=-1},o.Jc=function(e){nu(this,e)},o.Xb=function(e){return sn(this,e)},o.dd=function(e){return qr(this,e,0)},o.dc=function(){return this.c.length==0},o.Kc=function(){return new C(this)},o.gd=function(e){return Yl(this,e)},o.Mc=function(e){return du(this,e)},o.ce=function(e,t){xOn(this,e,t)},o.hd=function(e,t){return Go(this,e,t)},o.gc=function(){return this.c.length},o.jd=function(e){Yt(this,e)},o.Pc=function(){return ZC(this.c)},o.Qc=function(e){return Ff(this,e)};var uNe=w(le,"ArrayList",13);b(7,1,Si,C),o.Nb=function(e){_i(this,e)},o.Ob=function(){return tc(this)},o.Pb=function(){return E(this)},o.Qb=function(){q6(this)},o.a=0,o.b=-1,w(le,"ArrayList/1",7),b(2112,y.Function,{},mE),o.Me=function(e,t){return bt(e,t)},b(151,56,zzn,Ku),o.Hc=function(e){return J$n(this,e)!=-1},o.Jc=function(e){var t,i,r,c;for(Jn(e),i=this.a,r=0,c=i.length;r0)throw M(new Gn(Ttn+e+" greater than "+this.e));return this.f.Te()?cOn(this.c,this.b,this.a,e,t):FOn(this.c,e,t)},o.zc=function(e,t){if(!qx(this.c,this.f,e,this.b,this.a,this.e,this.d))throw M(new Gn(e+" outside the range "+this.b+" to "+this.e));return gFn(this.c,e,t)},o.Bc=function(e){var t;return t=e,qx(this.c,this.f,t,this.b,this.a,this.e,this.d)?uOn(this.c,t):null},o.Le=function(e){return vM(this,e.ld())&&GJ(this.c,e)},o.gc=function(){var e,t,i;if(this.f.Te()?this.a?t=bm(this.c,this.b,!0):t=bm(this.c,this.b,!1):t=eQ(this.c),!(t&&vM(this,t.d)&&t))return 0;for(e=0,i=new P$(this.c,this.f,this.b,this.a,this.e,this.d);DD(i.a);i.b=u(VW(i.a),44))++e;return e},o.ad=function(e,t){if(this.f.Te()&&this.c.a.Ne(e,this.b)<0)throw M(new Gn(Ttn+e+Wzn+this.b));return this.f.Ue()?cOn(this.c,e,t,this.e,this.d):BOn(this.c,e,t)},o.a=!1,o.d=!1,w(le,"TreeMap/SubMap",631),b(304,22,NB,uC),o.Te=function(){return!1},o.Ue=function(){return!1};var e_,t_,i_,r_,lP=we(le,"TreeMap/SubMapType",304,ke,Upe,nde);b(1143,304,NB,lTn),o.Ue=function(){return!0},we(le,"TreeMap/SubMapType/1",1143,lP,null,null),b(1144,304,NB,kTn),o.Te=function(){return!0},o.Ue=function(){return!0},we(le,"TreeMap/SubMapType/2",1144,lP,null,null),b(1145,304,NB,hTn),o.Te=function(){return!0},we(le,"TreeMap/SubMapType/3",1145,lP,null,null);var IQn;b(157,Kf,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},GG,Ul,Y3),o.Nc=function(){return new cC(this)},o.Fc=function(e){return R7(this,e)},o.$b=function(){this.a.$b()},o.Hc=function(e){return this.a._b(e)},o.Kc=function(){return this.a.ec().Kc()},o.Mc=function(e){return EL(this,e)},o.gc=function(){return this.a.gc()};var aNe=w(le,"TreeSet",157);b(1082,1,{},a9n),o.Ve=function(e,t){return pae(this.a,e,t)},w($B,"BinaryOperator/lambda$0$Type",1082),b(1083,1,{},d9n),o.Ve=function(e,t){return mae(this.a,e,t)},w($B,"BinaryOperator/lambda$1$Type",1083),b(952,1,{},B0n),o.Kb=function(e){return e},w($B,"Function/lambda$0$Type",952),b(395,1,De,Z3),o.Mb=function(e){return!this.a.Mb(e)},w($B,"Predicate/lambda$2$Type",395),b(581,1,{581:1});var OQn=w(Y5,"Handler",581);b(2107,1,ky),o.xe=function(){return"DUMMY"},o.Ib=function(){return this.xe()};var $un;w(Y5,"Level",2107),b(1706,2107,ky,R0n),o.xe=function(){return"INFO"},w(Y5,"Level/LevelInfo",1706),b(1843,1,{},Ryn);var c_;w(Y5,"LogManager",1843),b(1896,1,ky,aSn),o.b=null,w(Y5,"LogRecord",1896),b(525,1,{525:1},VN),o.e=!1;var DQn=!1,LQn=!1,Uf=!1,NQn=!1,$Qn=!1;w(Y5,"Logger",525),b(835,581,{581:1},BU),w(Y5,"SimpleConsoleLogHandler",835),b(108,22,{3:1,34:1,22:1,108:1},$D);var xun,Yr,Aw,xr=we(ai,"Collector/Characteristics",108,ke,O2e,ede),xQn;b(758,1,{},AW),w(ai,"CollectorImpl",758),b(1074,1,{},K0n),o.Ve=function(e,t){return l5e(u(e,213),u(t,213))},w(ai,"Collectors/10methodref$merge$Type",1074),b(1075,1,{},_0n),o.Kb=function(e){return bDn(u(e,213))},w(ai,"Collectors/11methodref$toString$Type",1075),b(1076,1,{},b9n),o.Kb=function(e){return _n(),!!yX(e)},w(ai,"Collectors/12methodref$test$Type",1076),b(144,1,{},yu),o.Yd=function(e,t){u(e,16).Fc(t)},w(ai,"Collectors/20methodref$add$Type",144),b(146,1,{},ju),o.Xe=function(){return new Z},w(ai,"Collectors/21methodref$ctor$Type",146),b(359,1,{},Y2),o.Xe=function(){return new ni},w(ai,"Collectors/23methodref$ctor$Type",359),b(360,1,{},Z2),o.Yd=function(e,t){fi(u(e,49),t)},w(ai,"Collectors/24methodref$add$Type",360),b(1069,1,{},H0n),o.Ve=function(e,t){return cCn(u(e,15),u(t,16))},w(ai,"Collectors/4methodref$addAll$Type",1069),b(1073,1,{},q0n),o.Yd=function(e,t){pl(u(e,213),u(t,484))},w(ai,"Collectors/9methodref$add$Type",1073),b(1072,1,{},PSn),o.Xe=function(){return new fd(this.a,this.b,this.c)},w(ai,"Collectors/lambda$15$Type",1072),b(1077,1,{},U0n),o.Xe=function(){var e;return e=new Ql,s1(e,(_n(),!1),new Z),s1(e,!0,new Z),e},w(ai,"Collectors/lambda$22$Type",1077),b(1078,1,{},w9n),o.Xe=function(){return A(T(ki,1),Bn,1,5,[this.a])},w(ai,"Collectors/lambda$25$Type",1078),b(1079,1,{},g9n),o.Yd=function(e,t){Fbe(this.a,cd(e))},w(ai,"Collectors/lambda$26$Type",1079),b(1080,1,{},p9n),o.Ve=function(e,t){return lwe(this.a,cd(e),cd(t))},w(ai,"Collectors/lambda$27$Type",1080),b(1081,1,{},G0n),o.Kb=function(e){return cd(e)[0]},w(ai,"Collectors/lambda$28$Type",1081),b(728,1,{},RU),o.Ve=function(e,t){return oW(e,t)},w(ai,"Collectors/lambda$4$Type",728),b(145,1,{},Eu),o.Ve=function(e,t){return zhe(u(e,16),u(t,16))},w(ai,"Collectors/lambda$42$Type",145),b(361,1,{},np),o.Ve=function(e,t){return Xhe(u(e,49),u(t,49))},w(ai,"Collectors/lambda$50$Type",361),b(362,1,{},ep),o.Kb=function(e){return u(e,49)},w(ai,"Collectors/lambda$51$Type",362),b(1068,1,{},m9n),o.Yd=function(e,t){p6e(this.a,u(e,85),t)},w(ai,"Collectors/lambda$7$Type",1068),b(1070,1,{},z0n),o.Ve=function(e,t){return Xve(u(e,85),u(t,85),new H0n)},w(ai,"Collectors/lambda$8$Type",1070),b(1071,1,{},v9n),o.Kb=function(e){return U5e(this.a,u(e,85))},w(ai,"Collectors/lambda$9$Type",1071),b(550,1,{}),o.$e=function(){X6(this)},o.d=!1,w(ai,"TerminatableStream",550),b(827,550,Atn,uV),o.$e=function(){X6(this)},w(ai,"DoubleStreamImpl",827),b(1847,736,Po,ISn),o.Re=function(e){return X9e(this,u(e,189))},o.a=null,w(ai,"DoubleStreamImpl/2",1847),b(1848,1,Py,k9n),o.Pe=function(e){Kle(this.a,e)},w(ai,"DoubleStreamImpl/2/lambda$0$Type",1848),b(1845,1,Py,y9n),o.Pe=function(e){Rle(this.a,e)},w(ai,"DoubleStreamImpl/lambda$0$Type",1845),b(1846,1,Py,j9n),o.Pe=function(e){IBn(this.a,e)},w(ai,"DoubleStreamImpl/lambda$2$Type",1846),b(1397,735,Po,vLn),o.Re=function(e){return Lpe(this,u(e,202))},o.a=0,o.b=0,o.c=0,w(ai,"IntStream/5",1397),b(806,550,Atn,oV),o.$e=function(){X6(this)},o._e=function(){return X1(this),this.a},w(ai,"IntStreamImpl",806),b(807,550,Atn,Dz),o.$e=function(){X6(this)},o._e=function(){return X1(this),HX(),PQn},w(ai,"IntStreamImpl/Empty",807),b(1687,1,jy,E9n),o.Dd=function(e){Kxn(this.a,e)},w(ai,"IntStreamImpl/lambda$4$Type",1687);var dNe=Nt(ai,"Stream");b(26,550,{533:1,687:1,848:1},Tn),o.$e=function(){X6(this)};var v3;w(ai,"StreamImpl",26),b(1102,500,Po,rSn),o.Bd=function(e){for(;x4e(this);){if(this.a.Bd(e))return!0;X6(this.b),this.b=null,this.a=null}return!1},w(ai,"StreamImpl/1",1102),b(1103,1,re,C9n),o.Cd=function(e){fbe(this.a,u(e,848))},w(ai,"StreamImpl/1/lambda$0$Type",1103),b(1104,1,De,M9n),o.Mb=function(e){return fi(this.a,e)},w(ai,"StreamImpl/1methodref$add$Type",1104),b(1105,500,Po,BIn),o.Bd=function(e){var t;return this.a||(t=new Z,this.b.a.Nb(new T9n(t)),Dn(),Yt(t,this.c),this.a=new In(t,16)),y$n(this.a,e)},o.a=null,w(ai,"StreamImpl/5",1105),b(1106,1,re,T9n),o.Cd=function(e){nn(this.a,e)},w(ai,"StreamImpl/5/2methodref$add$Type",1106),b(737,500,Po,tQ),o.Bd=function(e){for(this.b=!1;!this.b&&this.c.Bd(new jCn(this,e)););return this.b},o.b=!1,w(ai,"StreamImpl/FilterSpliterator",737),b(1096,1,re,jCn),o.Cd=function(e){cwe(this.a,this.b,e)},w(ai,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),b(1091,736,Po,ILn),o.Re=function(e){return Rae(this,u(e,189))},w(ai,"StreamImpl/MapToDoubleSpliterator",1091),b(1095,1,re,ECn),o.Cd=function(e){fle(this.a,this.b,e)},w(ai,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),b(1090,735,Po,OLn),o.Re=function(e){return Kae(this,u(e,202))},w(ai,"StreamImpl/MapToIntSpliterator",1090),b(1094,1,re,CCn),o.Cd=function(e){hle(this.a,this.b,e)},w(ai,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),b(734,500,Po,_J),o.Bd=function(e){return eSn(this,e)},w(ai,"StreamImpl/MapToObjSpliterator",734),b(1093,1,re,MCn),o.Cd=function(e){lle(this.a,this.b,e)},w(ai,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),b(1092,500,Po,uxn),o.Bd=function(e){for(;LD(this.b,0);){if(!this.a.Bd(new X0n))return!1;this.b=bs(this.b,1)}return this.a.Bd(e)},o.b=0,w(ai,"StreamImpl/SkipSpliterator",1092),b(1097,1,re,X0n),o.Cd=function(e){},w(ai,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),b(626,1,re,LO),o.Cd=function(e){t9n(this,e)},w(ai,"StreamImpl/ValueConsumer",626),b(1098,1,re,V0n),o.Cd=function(e){Va()},w(ai,"StreamImpl/lambda$0$Type",1098),b(1099,1,re,W0n),o.Cd=function(e){Va()},w(ai,"StreamImpl/lambda$1$Type",1099),b(1100,1,{},A9n),o.Ve=function(e,t){return mde(this.a,e,t)},w(ai,"StreamImpl/lambda$4$Type",1100),b(1101,1,re,TCn),o.Cd=function(e){Cae(this.b,this.a,e)},w(ai,"StreamImpl/lambda$5$Type",1101),b(1107,1,re,S9n),o.Cd=function(e){$ve(this.a,u(e,380))},w(ai,"TerminatableStream/lambda$0$Type",1107),b(2142,1,{}),b(2014,1,{},J0n),w("javaemul.internal","ConsoleLogger",2014);var bNe=0;b(2134,1,{}),b(1830,1,re,Q0n),o.Cd=function(e){u(e,317)},w(Hm,"BowyerWatsonTriangulation/lambda$0$Type",1830),b(1831,1,re,P9n),o.Cd=function(e){Bi(this.a,u(e,317).e)},w(Hm,"BowyerWatsonTriangulation/lambda$1$Type",1831),b(1832,1,re,Y0n),o.Cd=function(e){u(e,177)},w(Hm,"BowyerWatsonTriangulation/lambda$2$Type",1832),b(1827,1,Ne,I9n),o.Ne=function(e,t){return m3e(this.a,u(e,177),u(t,177))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Hm,"NaiveMinST/lambda$0$Type",1827),b(449,1,{},Xv),w(Hm,"NodeMicroLayout",449),b(177,1,{177:1},bp),o.Fb=function(e){var t;return D(e,177)?(t=u(e,177),mc(this.a,t.a)&&mc(this.b,t.b)||mc(this.a,t.b)&&mc(this.b,t.a)):!1},o.Hb=function(){return yg(this.a)+yg(this.b)};var wNe=w(Hm,"TEdge",177);b(317,1,{317:1},_en),o.Fb=function(e){var t;return D(e,317)?(t=u(e,317),tT(this,t.a)&&tT(this,t.b)&&tT(this,t.c)):!1},o.Hb=function(){return yg(this.a)+yg(this.b)+yg(this.c)},w(Hm,"TTriangle",317),b(225,1,{225:1},LC),w(Hm,"Tree",225),b(1218,1,{},EOn),w(Yzn,"Scanline",1218);var FQn=Nt(Yzn,Zzn);b(1758,1,{},m$n),w(zh,"CGraph",1758),b(316,1,{316:1},TOn),o.b=0,o.c=0,o.d=0,o.g=0,o.i=0,o.k=li,w(zh,"CGroup",316),b(830,1,{},VG),w(zh,"CGroup/CGroupBuilder",830),b(60,1,{60:1},BAn),o.Ib=function(){var e;return this.j?Oe(this.j.Kb(this)):(ll(aP),aP.o+"@"+(e=l0(this)>>>0,e.toString(16)))},o.f=0,o.i=li;var aP=w(zh,"CNode",60);b(829,1,{},WG),w(zh,"CNode/CNodeBuilder",829);var BQn;b(1590,1,{},Z0n),o.ff=function(e,t){return 0},o.gf=function(e,t){return 0},w(zh,eXn,1590),b(1853,1,{},nbn),o.cf=function(e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j;for(a=St,r=new C(e.a.b);r.ar.d.c||r.d.c==s.d.c&&r.d.b0?e+this.n.d+this.n.a:0},o.kf=function(){var e,t,i,r,c;if(c=0,this.e)this.b?c=this.b.a:this.a[1][1]&&(c=this.a[1][1].kf());else if(this.g)c=RY(this,Gx(this,null,!0));else for(t=(wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])),i=0,r=t.length;i0?c+this.n.b+this.n.c:0},o.lf=function(){var e,t,i,r,c;if(this.g)for(e=Gx(this,null,!1),i=(wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])),r=0,c=i.length;r0&&(r[0]+=this.d,i-=r[0]),r[2]>0&&(r[2]+=this.d,i-=r[2]),this.c.a=y.Math.max(0,i),this.c.d=t.d+e.d+(this.c.a-i)/2,r[1]=y.Math.max(r[1],i),FJ(this,Wc,t.d+e.d+r[0]-(r[1]-i)/2,r)},o.b=null,o.d=0,o.e=!1,o.f=!1,o.g=!1;var h_=0,dP=0;w(kd,"GridContainerCell",1538),b(471,22,{3:1,34:1,22:1,471:1},FD);var pa,Mh,zs,VQn=we(kd,"HorizontalLabelAlignment",471,ke,L2e,ude),WQn;b(314,217,{217:1,314:1},fOn,k$n,tOn),o.jf=function(){return qSn(this)},o.kf=function(){return eW(this)},o.a=0,o.c=!1;var gNe=w(kd,"LabelCell",314);b(252,336,{217:1,336:1,252:1},E5),o.jf=function(){return ey(this)},o.kf=function(){return ty(this)},o.lf=function(){LF(this)},o.mf=function(){NF(this)},o.b=0,o.c=0,o.d=!1,w(kd,"StripContainerCell",252),b(1691,1,De,obn),o.Mb=function(e){return uhe(u(e,217))},w(kd,"StripContainerCell/lambda$0$Type",1691),b(1692,1,{},sbn),o.Ye=function(e){return u(e,217).kf()},w(kd,"StripContainerCell/lambda$1$Type",1692),b(1693,1,De,fbn),o.Mb=function(e){return ohe(u(e,217))},w(kd,"StripContainerCell/lambda$2$Type",1693),b(1694,1,{},hbn),o.Ye=function(e){return u(e,217).jf()},w(kd,"StripContainerCell/lambda$3$Type",1694),b(472,22,{3:1,34:1,22:1,472:1},BD);var Xs,ma,kf,JQn=we(kd,"VerticalLabelAlignment",472,ke,D2e,ode),QQn;b(800,1,{},itn),o.c=0,o.d=0,o.k=0,o.s=0,o.t=0,o.v=!1,o.w=0,o.D=!1,w(nS,"NodeContext",800),b(1536,1,Ne,lbn),o.Ne=function(e,t){return eTn(u(e,64),u(t,64))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(nS,"NodeContext/0methodref$comparePortSides$Type",1536),b(1537,1,Ne,abn),o.Ne=function(e,t){return xye(u(e,117),u(t,117))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(nS,"NodeContext/1methodref$comparePortContexts$Type",1537),b(164,22,{3:1,34:1,22:1,164:1},Vo);var YQn,ZQn,nYn,eYn,tYn,iYn,rYn,cYn,uYn,oYn,sYn,fYn,hYn,lYn,aYn,dYn,bYn,wYn,gYn,pYn,mYn,l_,vYn=we(nS,"NodeLabelLocation",164,ke,jx,sde),kYn;b(117,1,{117:1},sHn),o.a=!1,w(nS,"PortContext",117),b(1541,1,re,dbn),o.Cd=function(e){kEn(u(e,314))},w(Oy,bXn,1541),b(1542,1,De,bbn),o.Mb=function(e){return!!u(e,117).c},w(Oy,wXn,1542),b(1543,1,re,wbn),o.Cd=function(e){kEn(u(e,117).c)},w(Oy,"LabelPlacer/lambda$2$Type",1543);var ron;b(1540,1,re,gbn),o.Cd=function(e){Bb(),Rfe(u(e,117))},w(Oy,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),b(801,1,re,NV),o.Cd=function(e){Zhe(this.b,this.c,this.a,u(e,187))},o.a=!1,o.c=!1,w(Oy,"NodeLabelCellCreator/lambda$0$Type",801),b(1539,1,re,L9n),o.Cd=function(e){Hfe(this.a,u(e,187))},w(Oy,"PortContextCreator/lambda$0$Type",1539);var bP;b(1902,1,{},pbn),w(Um,"GreedyRectangleStripOverlapRemover",1902),b(1903,1,Ne,mbn),o.Ne=function(e,t){return O1e(u(e,226),u(t,226))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Um,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),b(1849,1,{},qyn),o.a=5,o.e=0,w(Um,"RectangleStripOverlapRemover",1849),b(1850,1,Ne,vbn),o.Ne=function(e,t){return D1e(u(e,226),u(t,226))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Um,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),b(1852,1,Ne,kbn),o.Ne=function(e,t){return ywe(u(e,226),u(t,226))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Um,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),b(417,22,{3:1,34:1,22:1,417:1},sC);var ij,a_,d_,rj,yYn=we(Um,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,ke,Xpe,fde),jYn;b(226,1,{226:1},ZL),w(Um,"RectangleStripOverlapRemover/RectangleNode",226),b(1851,1,re,N9n),o.Cd=function(e){s7e(this.a,u(e,226))},w(Um,"RectangleStripOverlapRemover/lambda$1$Type",1851),b(1323,1,Ne,ybn),o.Ne=function(e,t){return SIe(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),b(1326,1,{},jbn),o.Kb=function(e){return u(e,334).a},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),b(1327,1,De,Ebn),o.Mb=function(e){return u(e,332).a},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),b(1328,1,De,Cbn),o.Mb=function(e){return u(e,332).a},w(mh,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),b(1321,1,Ne,Mbn),o.Ne=function(e,t){return rSe(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),b(1324,1,{},Tbn),o.Kb=function(e){return u(e,334).a},w(mh,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),b(781,1,Ne,KU),o.Ne=function(e,t){return Kve(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinNumOfExtensionsComparator",781),b(1319,1,Ne,Abn),o.Ne=function(e,t){return Vme(u(e,330),u(t,330))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinPerimeterComparator",1319),b(1320,1,Ne,Sbn),o.Ne=function(e,t){return D9e(u(e,330),u(t,330))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),b(1322,1,Ne,Pbn),o.Ne=function(e,t){return MSe(u(e,176),u(t,176))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mh,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),b(1325,1,{},Ibn),o.Kb=function(e){return u(e,334).a},w(mh,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),b(782,1,{},Gz),o.Ve=function(e,t){return Rpe(this,u(e,42),u(t,176))},w(mh,"SuccessorCombination",782),b(649,1,{},NO),o.Ve=function(e,t){var i;return eCe((i=u(e,42),u(t,176),i))},w(mh,"SuccessorJitter",649),b(648,1,{},$O),o.Ve=function(e,t){var i;return _Te((i=u(e,42),u(t,176),i))},w(mh,"SuccessorLineByLine",648),b(573,1,{},vE),o.Ve=function(e,t){var i;return eMe((i=u(e,42),u(t,176),i))},w(mh,"SuccessorManhattan",573),b(1344,1,{},Obn),o.Ve=function(e,t){var i;return lTe((i=u(e,42),u(t,176),i))},w(mh,"SuccessorMaxNormWindingInMathPosSense",1344),b(409,1,{},n4),o.Ve=function(e,t){return MW(this,e,t)},o.c=!1,o.d=!1,o.e=!1,o.f=!1,w(mh,"SuccessorQuadrantsGeneric",409),b(1345,1,{},Dbn),o.Kb=function(e){return u(e,334).a},w(mh,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),b(332,22,{3:1,34:1,22:1,332:1},fC),o.a=!1;var cj,uj,oj,sj,EYn=we(tS,Btn,332,ke,Gpe,hde),CYn;b(1317,1,{}),o.Ib=function(){var e,t,i,r,c,s;for(i=" ",e=Y(0),c=0;c=0?"b"+e+"["+XN(this.a)+"]":"b["+XN(this.a)+"]"):"b_"+l0(this)},w(Ly,"FBendpoint",250),b(290,137,{3:1,290:1,96:1,137:1},RAn),o.Ib=function(){return XN(this)},w(Ly,"FEdge",290),b(235,137,{3:1,235:1,96:1,137:1},zM);var mNe=w(Ly,"FGraph",235);b(454,309,{3:1,454:1,309:1,96:1,137:1},_Dn),o.Ib=function(){return this.b==null||this.b.length==0?"l["+XN(this.a)+"]":"l_"+this.b},w(Ly,"FLabel",454),b(153,309,{3:1,153:1,309:1,96:1,137:1},vTn),o.Ib=function(){return aJ(this)},o.a=0,w(Ly,"FNode",153),b(2100,1,{}),o.vf=function(e){xen(this,e)},o.wf=function(){HRn(this)},o.d=0,w(Xtn,"AbstractForceModel",2100),b(641,2100,{641:1},Rxn),o.uf=function(e,t){var i,r,c,s,f;return wGn(this.f,e,t),c=mi(Ki(t.d),e.d),f=y.Math.sqrt(c.a*c.a+c.b*c.b),r=y.Math.max(0,f-z6(e.e)/2-z6(t.e)/2),i=Q_n(this.e,e,t),i>0?s=-mwe(r,this.c)*i:s=X1e(r,this.b)*u(v(e,(Us(),k3)),17).a,ch(c,s/f),c},o.vf=function(e){xen(this,e),this.a=u(v(e,(Us(),kP)),17).a,this.c=$(R(v(e,yP))),this.b=$(R(v(e,k_)))},o.xf=function(e){return e0&&(s-=the(r,this.a)*i),ch(c,s*this.b/f),c},o.vf=function(e){var t,i,r,c,s,f,h;for(xen(this,e),this.b=$(R(v(e,(Us(),y_)))),this.c=this.b/u(v(e,kP),17).a,r=e.e.c.length,s=0,c=0,h=new C(e.e);h.a0},o.a=0,o.b=0,o.c=0,w(Xtn,"FruchtermanReingoldModel",642),b(860,1,ms,N5n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,cS),""),"Force Model"),"Determines the model for force calculation."),don),(l1(),Pt)),bon),jn((pf(),xn))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Vtn),""),"Iterations"),"The number of iterations on the force model."),Y(300)),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Wtn),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),Y(0)),Zr),Gi),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ZB),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),vh),Qi),si),jn(xn)))),ri(e,ZB,cS,UYn),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,nR),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Qi),si),jn(xn)))),ri(e,nR,cS,_Yn),izn((new $5n,e))};var BYn,RYn,don,KYn,_Yn,HYn,qYn,UYn;w(e8,"ForceMetaDataProvider",860),b(432,22,{3:1,34:1,22:1,432:1},Xz);var v_,vP,bon=we(e8,"ForceModelStrategy",432,ke,Rge,dde),GYn;b(d1,1,ms,$5n),o.hf=function(e){izn(e)};var zYn,XYn,won,kP,gon,VYn,WYn,JYn,QYn,pon,YYn,mon,von,ZYn,k3,nZn,k_,kon,eZn,tZn,yP,y_,iZn,rZn,cZn,yon,uZn;w(e8,"ForceOptions",d1),b(1001,1,{},Wbn),o.sf=function(){var e;return e=new XG,e},o.tf=function(e){},w(e8,"ForceOptions/ForceFactory",1001);var lj,D8,y3,jP;b(861,1,ms,x5n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Qtn),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(_n(),!1)),(l1(),yi)),Gt),jn((pf(),pi))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ytn),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Qi),si),yt(xn,A(T(Zh,1),G,170,0,[Ph]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ztn),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),jon),Pt),Pon),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,nin),""),"Stress Epsilon"),"Termination criterion for the iterative process."),vh),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ein),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),Y(et)),Zr),Gi),jn(xn)))),OGn((new F5n,e))};var oZn,sZn,jon,fZn,hZn,lZn;w(e8,"StressMetaDataProvider",861),b(1004,1,ms,F5n),o.hf=function(e){OGn(e)};var EP,Eon,Con,Mon,Ton,Aon,aZn,dZn,bZn,wZn,Son,gZn;w(e8,"StressOptions",1004),b(1005,1,{},Xbn),o.sf=function(){var e;return e=new KAn,e},o.tf=function(e){},w(e8,"StressOptions/StressFactory",1005),b(1110,205,yd,KAn),o.rf=function(e,t){var i,r,c,s,f;for(t.Ug(SXn,1),on(un(z(e,(Uk(),Ton))))?on(un(z(e,Son)))||X7((i=new Xv((c0(),new Qd(e))),i)):VHn(new XG,e,t.eh(1)),c=fFn(e),r=KUn(this.a,c),f=r.Kc();f.Ob();)s=u(f.Pb(),235),!(s.e.c.length<=1)&&(MIe(this.b,s),JCe(this.b),nu(s.d,new Vbn));c=nzn(r),hzn(c),t.Vg()},w(sS,"StressLayoutProvider",1110),b(1111,1,re,Vbn),o.Cd=function(e){Uen(u(e,454))},w(sS,"StressLayoutProvider/lambda$0$Type",1111),b(1002,1,{},Byn),o.c=0,o.e=0,o.g=0,w(sS,"StressMajorization",1002),b(391,22,{3:1,34:1,22:1,391:1},RD);var j_,E_,C_,Pon=we(sS,"StressMajorization/Dimension",391,ke,$2e,bde),pZn;b(1003,1,Ne,B9n),o.Ne=function(e,t){return Hae(this.a,u(e,153),u(t,153))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(sS,"StressMajorization/lambda$0$Type",1003),b(1192,1,{},zOn),w(b3,"ElkLayered",1192),b(1193,1,re,R9n),o.Cd=function(e){MEe(this.a,u(e,36))},w(b3,"ElkLayered/lambda$0$Type",1193),b(1194,1,re,K9n),o.Cd=function(e){qae(this.a,u(e,36))},w(b3,"ElkLayered/lambda$1$Type",1194),b(1281,1,{},PTn);var mZn,vZn,kZn;w(b3,"GraphConfigurator",1281),b(770,1,re,OG),o.Cd=function(e){e_n(this.a,u(e,10))},w(b3,"GraphConfigurator/lambda$0$Type",770),b(771,1,{},HU),o.Kb=function(e){return LZ(),new Tn(null,new In(u(e,30).a,16))},w(b3,"GraphConfigurator/lambda$1$Type",771),b(772,1,re,DG),o.Cd=function(e){e_n(this.a,u(e,10))},w(b3,"GraphConfigurator/lambda$2$Type",772),b(1109,205,yd,Uyn),o.rf=function(e,t){var i;i=cIe(new zyn,e),x(z(e,(cn(),Bw)))===x((jl(),M1))?F5e(this.a,i,t):zCe(this.a,i,t),t.$g()||XGn(new B5n,i)},w(b3,"LayeredLayoutProvider",1109),b(367,22,{3:1,34:1,22:1,367:1},o7);var Vs,Jh,Oc,Kc,zr,Ion=we(b3,"LayeredPhases",367,ke,R3e,wde),yZn;b(1717,1,{},ixn),o.i=0;var jZn;w(Ry,"ComponentsToCGraphTransformer",1717);var EZn;b(1718,1,{},zbn),o.yf=function(e,t){return y.Math.min(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},o.zf=function(e,t){return y.Math.min(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},w(Ry,"ComponentsToCGraphTransformer/1",1718),b(86,1,{86:1}),o.i=0,o.k=!0,o.o=li;var M_=w(c8,"CNode",86);b(470,86,{470:1,86:1},QX,oZ),o.Ib=function(){return""},w(Ry,"ComponentsToCGraphTransformer/CRectNode",470),b(1688,1,{},Jbn);var T_,A_;w(Ry,"OneDimensionalComponentsCompaction",1688),b(1689,1,{},Qbn),o.Kb=function(e){return T2e(u(e,42))},o.Fb=function(e){return this===e},w(Ry,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),b(1690,1,{},Ybn),o.Kb=function(e){return R5e(u(e,42))},o.Fb=function(e){return this===e},w(Ry,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),b(1720,1,{},ZPn),w(c8,"CGraph",1720),b(194,1,{194:1},vx),o.b=0,o.c=0,o.e=0,o.g=!0,o.i=li,w(c8,"CGroup",194),b(1719,1,{},Zbn),o.yf=function(e,t){return y.Math.max(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},o.zf=function(e,t){return y.Math.max(e.a!=null?$(e.a):e.c.i,t.a!=null?$(t.a):t.c.i)},w(c8,eXn,1719),b(1721,1,{},Z_n),o.d=!1;var CZn,S_=w(c8,rXn,1721);b(1722,1,{},nwn),o.Kb=function(e){return Nz(),_n(),u(u(e,42).a,86).d.e!=0},o.Fb=function(e){return this===e},w(c8,cXn,1722),b(833,1,{},sW),o.a=!1,o.b=!1,o.c=!1,o.d=!1,w(c8,uXn,833),b(1898,1,{},wPn),w(fS,oXn,1898);var aj=Nt(Ed,Zzn);b(1899,1,{382:1},WIn),o.bf=function(e){nAe(this,u(e,476))},w(fS,sXn,1899),b(ha,1,Ne,ewn),o.Ne=function(e,t){return fge(u(e,86),u(t,86))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(fS,fXn,ha),b(476,1,{476:1},Wz),o.a=!1,w(fS,hXn,476),b(1901,1,Ne,twn),o.Ne=function(e,t){return hke(u(e,476),u(t,476))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(fS,lXn,1901),b(148,1,{148:1},d4,GV),o.Fb=function(e){var t;return e==null||vNe!=wo(e)?!1:(t=u(e,148),mc(this.c,t.c)&&mc(this.d,t.d))},o.Hb=function(){return Ik(A(T(ki,1),Bn,1,5,[this.c,this.d]))},o.Ib=function(){return"("+this.c+ur+this.d+(this.a?"cx":"")+this.b+")"},o.a=!0,o.c=0,o.d=0;var vNe=w(Ed,"Point",148);b(416,22,{3:1,34:1,22:1,416:1},lC);var rb,Pw,d2,Iw,MZn=we(Ed,"Point/Quadrant",416,ke,Vpe,gde),TZn;b(1708,1,{},Hyn),o.b=null,o.c=null,o.d=null,o.e=null,o.f=null;var AZn,SZn,PZn,IZn,OZn;w(Ed,"RectilinearConvexHull",1708),b(583,1,{382:1},eA),o.bf=function(e){B4e(this,u(e,148))},o.b=0;var Oon;w(Ed,"RectilinearConvexHull/MaximalElementsEventHandler",583),b(1710,1,Ne,iwn),o.Ne=function(e,t){return hge(R(e),R(t))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),b(1709,1,{382:1},v$n),o.bf=function(e){wTe(this,u(e,148))},o.a=0,o.b=null,o.c=null,o.d=null,o.e=null,w(Ed,"RectilinearConvexHull/RectangleEventHandler",1709),b(1711,1,Ne,rwn),o.Ne=function(e,t){return mpe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$0$Type",1711),b(1712,1,Ne,own),o.Ne=function(e,t){return vpe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$1$Type",1712),b(1713,1,Ne,swn),o.Ne=function(e,t){return ppe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$2$Type",1713),b(1714,1,Ne,uwn),o.Ne=function(e,t){return kpe(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$3$Type",1714),b(1715,1,Ne,fwn),o.Ne=function(e,t){return Qye(u(e,148),u(t,148))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ed,"RectilinearConvexHull/lambda$4$Type",1715),b(1716,1,{},COn),w(Ed,"Scanline",1716),b(2104,1,{}),w(Hf,"AbstractGraphPlacer",2104),b(335,1,{335:1},lAn),o.Ff=function(e){return this.Gf(e)?(Pn(this.b,u(v(e,(W(),Nl)),21),e),!0):!1},o.Gf=function(e){var t,i,r,c;for(t=u(v(e,(W(),Nl)),21),c=u(ot(wt,t),21),r=c.Kc();r.Ob();)if(i=u(r.Pb(),21),!u(ot(this.b,i),15).dc())return!1;return!0};var wt;w(Hf,"ComponentGroup",335),b(779,2104,{},JG),o.Hf=function(e){var t,i;for(i=new C(this.a);i.ai&&(d=0,g+=h+r,h=0),l=s.c,Sm(s,d+l.a,g+l.b),ff(l),c=y.Math.max(c,d+a.a),h=y.Math.max(h,a.b),d+=a.a+r;t.f.a=c,t.f.b=g+h},o.Jf=function(e,t){var i,r,c,s,f;if(x(v(t,(cn(),Fw)))===x((dd(),Ow))){for(r=e.Kc();r.Ob();){for(i=u(r.Pb(),36),f=0,s=new C(i.a);s.ai&&!u(v(s,(W(),Nl)),21).Hc((en(),Xn))||l&&u(v(l,(W(),Nl)),21).Hc((en(),Zn))||u(v(s,(W(),Nl)),21).Hc((en(),Wn)))&&(p=g,m+=h+r,h=0),a=s.c,u(v(s,(W(),Nl)),21).Hc((en(),Xn))&&(p=c+r),Sm(s,p+a.a,m+a.b),c=y.Math.max(c,p+d.a),u(v(s,Nl),21).Hc(ae)&&(g=y.Math.max(g,p+d.a+r)),ff(a),h=y.Math.max(h,d.b),p+=d.a+r,l=s;t.f.a=c,t.f.b=m+h},o.Jf=function(e,t){},w(Hf,"ModelOrderRowGraphPlacer",1313),b(1311,1,Ne,awn),o.Ne=function(e,t){return Fve(u(e,36),u(t,36))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Hf,"SimpleRowGraphPlacer/1",1311);var LZn;b(1280,1,ph,dwn),o.Lb=function(e){var t;return t=u(v(u(e,249).b,(cn(),Fr)),75),!!t&&t.b!=0},o.Fb=function(e){return this===e},o.Mb=function(e){var t;return t=u(v(u(e,249).b,(cn(),Fr)),75),!!t&&t.b!=0},w(hS,"CompoundGraphPostprocessor/1",1280),b(1279,1,vt,Xyn),o.Kf=function(e,t){jRn(this,u(e,36),t)},w(hS,"CompoundGraphPreprocessor",1279),b(453,1,{453:1},aBn),o.c=!1,w(hS,"CompoundGraphPreprocessor/ExternalPort",453),b(249,1,{249:1},zC),o.Ib=function(){return SL(this.c)+":"+X_n(this.b)},w(hS,"CrossHierarchyEdge",249),b(777,1,Ne,LG),o.Ne=function(e,t){return B7e(this,u(e,249),u(t,249))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(hS,"CrossHierarchyEdgeComparator",777),b(305,137,{3:1,305:1,96:1,137:1}),o.p=0,w(Bc,"LGraphElement",305),b(18,305,{3:1,18:1,305:1,96:1,137:1},E0),o.Ib=function(){return X_n(this)};var O_=w(Bc,"LEdge",18);b(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},EQ),o.Jc=function(e){qi(this,e)},o.Kc=function(){return new C(this.b)},o.Ib=function(){return this.b.c.length==0?"G-unlayered"+ca(this.a):this.a.c.length==0?"G-layered"+ca(this.b):"G[layerless"+ca(this.a)+", layers"+ca(this.b)+"]"};var NZn=w(Bc,"LGraph",36),$Zn;b(666,1,{}),o.Lf=function(){return this.e.n},o.of=function(e){return v(this.e,e)},o.Mf=function(){return this.e.o},o.Nf=function(){return this.e.p},o.pf=function(e){return kt(this.e,e)},o.Of=function(e){this.e.n.a=e.a,this.e.n.b=e.b},o.Pf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},o.Qf=function(e){this.e.p=e},w(Bc,"LGraphAdapters/AbstractLShapeAdapter",666),b(474,1,{853:1},Vv),o.Rf=function(){var e,t;if(!this.b)for(this.b=Dh(this.a.b.c.length),t=new C(this.a.b);t.a0&&qFn((zn(t-1,e.length),e.charCodeAt(t-1)),NXn);)--t;if(s> ",e),lA(i)),Re(Dc((e.a+="[",e),i.i),"]")),e.a},o.c=!0,o.d=!1;var xon,Fon,Bon,Ron,Kon,_on,FZn=w(Bc,"LPort",12);b(408,1,qh,e4),o.Jc=function(e){qi(this,e)},o.Kc=function(){var e;return e=new C(this.a.e),new _9n(e)},w(Bc,"LPort/1",408),b(1309,1,Si,_9n),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(E(this.a),18).c},o.Ob=function(){return tc(this.a)},o.Qb=function(){q6(this.a)},w(Bc,"LPort/1/1",1309),b(369,1,qh,ip),o.Jc=function(e){qi(this,e)},o.Kc=function(){var e;return e=new C(this.a.g),new NG(e)},w(Bc,"LPort/2",369),b(776,1,Si,NG),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(E(this.a),18).d},o.Ob=function(){return tc(this.a)},o.Qb=function(){q6(this.a)},w(Bc,"LPort/2/1",776),b(1302,1,qh,ICn),o.Jc=function(e){qi(this,e)},o.Kc=function(){return new Df(this)},w(Bc,"LPort/CombineIter",1302),b(208,1,Si,Df),o.Nb=function(e){_i(this,e)},o.Qb=function(){sEn()},o.Ob=function(){return D6(this)},o.Pb=function(){return tc(this.a)?E(this.a):E(this.b)},w(Bc,"LPort/CombineIter/1",208),b(1303,1,ph,wwn),o.Lb=function(e){return PPn(e)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).g.c.length!=0},w(Bc,"LPort/lambda$0$Type",1303),b(1304,1,ph,gwn),o.Lb=function(e){return IPn(e)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).e.c.length!=0},w(Bc,"LPort/lambda$1$Type",1304),b(1305,1,ph,pwn),o.Lb=function(e){return Ou(),u(e,12).j==(en(),Xn)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(en(),Xn)},w(Bc,"LPort/lambda$2$Type",1305),b(1306,1,ph,mwn),o.Lb=function(e){return Ou(),u(e,12).j==(en(),Zn)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(en(),Zn)},w(Bc,"LPort/lambda$3$Type",1306),b(1307,1,ph,vwn),o.Lb=function(e){return Ou(),u(e,12).j==(en(),ae)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(en(),ae)},w(Bc,"LPort/lambda$4$Type",1307),b(1308,1,ph,kwn),o.Lb=function(e){return Ou(),u(e,12).j==(en(),Wn)},o.Fb=function(e){return this===e},o.Mb=function(e){return Ou(),u(e,12).j==(en(),Wn)},w(Bc,"LPort/lambda$5$Type",1308),b(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},Lc),o.Jc=function(e){qi(this,e)},o.Kc=function(){return new C(this.a)},o.Ib=function(){return"L_"+qr(this.b.b,this,0)+ca(this.a)},w(Bc,"Layer",30),b(1330,1,{},zyn),w(w1,BXn,1330),b(1334,1,{},ywn),o.Kb=function(e){return Gr(u(e,84))},w(w1,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),b(1337,1,{},jwn),o.Kb=function(e){return Gr(u(e,84))},w(w1,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),b(1331,1,re,H9n),o.Cd=function(e){hHn(this.a,u(e,123))},w(w1,ztn,1331),b(1332,1,re,q9n),o.Cd=function(e){hHn(this.a,u(e,123))},w(w1,RXn,1332),b(1333,1,{},Ewn),o.Kb=function(e){return new Tn(null,new In(UW(u(e,74)),16))},w(w1,KXn,1333),b(1335,1,De,U9n),o.Mb=function(e){return _le(this.a,u(e,27))},w(w1,_Xn,1335),b(1336,1,{},Cwn),o.Kb=function(e){return new Tn(null,new In(rge(u(e,74)),16))},w(w1,"ElkGraphImporter/lambda$5$Type",1336),b(1338,1,De,G9n),o.Mb=function(e){return Hle(this.a,u(e,27))},w(w1,"ElkGraphImporter/lambda$7$Type",1338),b(1339,1,De,Mwn),o.Mb=function(e){return mge(u(e,74))},w(w1,"ElkGraphImporter/lambda$8$Type",1339),b(1297,1,{},B5n);var BZn;w(w1,"ElkGraphLayoutTransferrer",1297),b(1298,1,De,z9n),o.Mb=function(e){return Iae(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),b(1299,1,re,X9n),o.Cd=function(e){c7(),nn(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),b(1300,1,De,V9n),o.Mb=function(e){return wae(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),b(1301,1,re,W9n),o.Cd=function(e){c7(),nn(this.a,u(e,18))},w(w1,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),b(819,1,{},kV),w(Qn,"BiLinkedHashMultiMap",819),b(1550,1,vt,Twn),o.Kf=function(e,t){ive(u(e,36),t)},w(Qn,"CommentNodeMarginCalculator",1550),b(1551,1,{},Awn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"CommentNodeMarginCalculator/lambda$0$Type",1551),b(1552,1,re,Swn),o.Cd=function(e){iIe(u(e,10))},w(Qn,"CommentNodeMarginCalculator/lambda$1$Type",1552),b(1553,1,vt,Pwn),o.Kf=function(e,t){oAe(u(e,36),t)},w(Qn,"CommentPostprocessor",1553),b(1554,1,vt,Iwn),o.Kf=function(e,t){PDe(u(e,36),t)},w(Qn,"CommentPreprocessor",1554),b(1555,1,vt,Own),o.Kf=function(e,t){CTe(u(e,36),t)},w(Qn,"ConstraintsPostprocessor",1555),b(1556,1,vt,Dwn),o.Kf=function(e,t){Ove(u(e,36),t)},w(Qn,"EdgeAndLayerConstraintEdgeReverser",1556),b(1557,1,vt,Lwn),o.Kf=function(e,t){y8e(u(e,36),t)},w(Qn,"EndLabelPostprocessor",1557),b(1558,1,{},Nwn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"EndLabelPostprocessor/lambda$0$Type",1558),b(1559,1,De,$wn),o.Mb=function(e){return x3e(u(e,10))},w(Qn,"EndLabelPostprocessor/lambda$1$Type",1559),b(1560,1,re,xwn),o.Cd=function(e){lke(u(e,10))},w(Qn,"EndLabelPostprocessor/lambda$2$Type",1560),b(1561,1,vt,Fwn),o.Kf=function(e,t){Zje(u(e,36),t)},w(Qn,"EndLabelPreprocessor",1561),b(1562,1,{},Bwn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"EndLabelPreprocessor/lambda$0$Type",1562),b(1563,1,re,pSn),o.Cd=function(e){nle(this.a,this.b,this.c,u(e,10))},o.a=0,o.b=0,o.c=!1,w(Qn,"EndLabelPreprocessor/lambda$1$Type",1563),b(1564,1,De,Rwn),o.Mb=function(e){return x(v(u(e,72),(cn(),Ah)))===x(($f(),Bv))},w(Qn,"EndLabelPreprocessor/lambda$2$Type",1564),b(1565,1,re,J9n),o.Cd=function(e){Fe(this.a,u(e,72))},w(Qn,"EndLabelPreprocessor/lambda$3$Type",1565),b(1566,1,De,Kwn),o.Mb=function(e){return x(v(u(e,72),(cn(),Ah)))===x(($f(),Jw))},w(Qn,"EndLabelPreprocessor/lambda$4$Type",1566),b(1567,1,re,Q9n),o.Cd=function(e){Fe(this.a,u(e,72))},w(Qn,"EndLabelPreprocessor/lambda$5$Type",1567),b(1615,1,vt,I5n),o.Kf=function(e,t){k5e(u(e,36),t)};var RZn;w(Qn,"EndLabelSorter",1615),b(1616,1,Ne,_wn),o.Ne=function(e,t){return Z8e(u(e,466),u(t,466))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"EndLabelSorter/1",1616),b(466,1,{466:1},qIn),w(Qn,"EndLabelSorter/LabelGroup",466),b(1617,1,{},Hwn),o.Kb=function(e){return r7(),new Tn(null,new In(u(e,30).a,16))},w(Qn,"EndLabelSorter/lambda$0$Type",1617),b(1618,1,De,qwn),o.Mb=function(e){return r7(),u(e,10).k==(Vn(),zt)},w(Qn,"EndLabelSorter/lambda$1$Type",1618),b(1619,1,re,Uwn),o.Cd=function(e){dje(u(e,10))},w(Qn,"EndLabelSorter/lambda$2$Type",1619),b(1620,1,De,Gwn),o.Mb=function(e){return r7(),x(v(u(e,72),(cn(),Ah)))===x(($f(),Jw))},w(Qn,"EndLabelSorter/lambda$3$Type",1620),b(1621,1,De,zwn),o.Mb=function(e){return r7(),x(v(u(e,72),(cn(),Ah)))===x(($f(),Bv))},w(Qn,"EndLabelSorter/lambda$4$Type",1621),b(1568,1,vt,Xwn),o.Kf=function(e,t){mIe(this,u(e,36))},o.b=0,o.c=0,w(Qn,"FinalSplineBendpointsCalculator",1568),b(1569,1,{},Vwn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),b(1570,1,{},Wwn),o.Kb=function(e){return new Tn(null,new p0(new ie(ce(Qt(u(e,10)).a.Kc(),new En))))},w(Qn,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),b(1571,1,De,Jwn),o.Mb=function(e){return!fr(u(e,18))},w(Qn,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),b(1572,1,De,Qwn),o.Mb=function(e){return kt(u(e,18),(W(),Dd))},w(Qn,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),b(1573,1,re,Y9n),o.Cd=function(e){ASe(this.a,u(e,131))},w(Qn,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),b(1574,1,re,Ywn),o.Cd=function(e){Yk(u(e,18).a)},w(Qn,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),b(803,1,vt,$G),o.Kf=function(e,t){lOe(this,u(e,36),t)},w(Qn,"GraphTransformer",803),b(517,22,{3:1,34:1,22:1,517:1},Vz);var L_,dj,KZn=we(Qn,"GraphTransformer/Mode",517,ke,Kge,y0e),_Zn;b(1575,1,vt,Zwn),o.Kf=function(e,t){LMe(u(e,36),t)},w(Qn,"HierarchicalNodeResizingProcessor",1575),b(1576,1,vt,ngn),o.Kf=function(e,t){Yme(u(e,36),t)},w(Qn,"HierarchicalPortConstraintProcessor",1576),b(1577,1,Ne,egn),o.Ne=function(e,t){return k9e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"HierarchicalPortConstraintProcessor/NodeComparator",1577),b(1578,1,vt,tgn),o.Kf=function(e,t){yPe(u(e,36),t)},w(Qn,"HierarchicalPortDummySizeProcessor",1578),b(1579,1,vt,ign),o.Kf=function(e,t){OAe(this,u(e,36),t)},o.a=0,w(Qn,"HierarchicalPortOrthogonalEdgeRouter",1579),b(1580,1,Ne,rgn),o.Ne=function(e,t){return L1e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"HierarchicalPortOrthogonalEdgeRouter/1",1580),b(1581,1,Ne,cgn),o.Ne=function(e,t){return R4e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"HierarchicalPortOrthogonalEdgeRouter/2",1581),b(1582,1,vt,ugn),o.Kf=function(e,t){Vye(u(e,36),t)},w(Qn,"HierarchicalPortPositionProcessor",1582),b(1583,1,vt,R5n),o.Kf=function(e,t){hLe(this,u(e,36))},o.a=0,o.c=0;var CP,MP;w(Qn,"HighDegreeNodeLayeringProcessor",1583),b(580,1,{580:1},ogn),o.b=-1,o.d=-1,w(Qn,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),b(1584,1,{},sgn),o.Kb=function(e){return L7(),ji(u(e,10))},o.Fb=function(e){return this===e},w(Qn,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),b(1585,1,{},fgn),o.Kb=function(e){return L7(),Qt(u(e,10))},o.Fb=function(e){return this===e},w(Qn,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),b(1591,1,vt,hgn),o.Kf=function(e,t){dPe(this,u(e,36),t)},w(Qn,"HyperedgeDummyMerger",1591),b(804,1,{},$V),o.a=!1,o.b=!1,o.c=!1,w(Qn,"HyperedgeDummyMerger/MergeState",804),b(1592,1,{},lgn),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"HyperedgeDummyMerger/lambda$0$Type",1592),b(1593,1,{},agn),o.Kb=function(e){return new Tn(null,new In(u(e,10).j,16))},w(Qn,"HyperedgeDummyMerger/lambda$1$Type",1593),b(1594,1,re,dgn),o.Cd=function(e){u(e,12).p=-1},w(Qn,"HyperedgeDummyMerger/lambda$2$Type",1594),b(1595,1,vt,bgn),o.Kf=function(e,t){lPe(u(e,36),t)},w(Qn,"HypernodesProcessor",1595),b(1596,1,vt,wgn),o.Kf=function(e,t){kPe(u(e,36),t)},w(Qn,"InLayerConstraintProcessor",1596),b(1597,1,vt,ggn),o.Kf=function(e,t){dve(u(e,36),t)},w(Qn,"InnermostNodeMarginCalculator",1597),b(1598,1,vt,pgn),o.Kf=function(e,t){MDe(this,u(e,36))},o.a=li,o.b=li,o.c=St,o.d=St;var kNe=w(Qn,"InteractiveExternalPortPositioner",1598);b(1599,1,{},mgn),o.Kb=function(e){return u(e,18).d.i},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$0$Type",1599),b(1600,1,{},Z9n),o.Kb=function(e){return N1e(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$1$Type",1600),b(1601,1,{},vgn),o.Kb=function(e){return u(e,18).c.i},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$2$Type",1601),b(1602,1,{},n7n),o.Kb=function(e){return $1e(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$3$Type",1602),b(1603,1,{},e7n),o.Kb=function(e){return Dae(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$4$Type",1603),b(1604,1,{},t7n),o.Kb=function(e){return Lae(this.a,R(e))},o.Fb=function(e){return this===e},w(Qn,"InteractiveExternalPortPositioner/lambda$5$Type",1604),b(81,22,{3:1,34:1,22:1,81:1,196:1},ei),o.dg=function(){switch(this.g){case 15:return new xpn;case 22:return new Fpn;case 47:return new Kpn;case 28:case 35:return new Ign;case 32:return new Twn;case 42:return new Pwn;case 1:return new Iwn;case 41:return new Own;case 56:return new $G((V4(),dj));case 0:return new $G((V4(),L_));case 2:return new Dwn;case 54:return new Lwn;case 33:return new Fwn;case 51:return new Xwn;case 55:return new Zwn;case 13:return new ngn;case 38:return new tgn;case 44:return new ign;case 40:return new ugn;case 9:return new R5n;case 49:return new tAn;case 37:return new hgn;case 43:return new bgn;case 27:return new wgn;case 30:return new ggn;case 3:return new pgn;case 18:return new ygn;case 29:return new jgn;case 5:return new K5n;case 50:return new kgn;case 34:return new _5n;case 36:return new Ogn;case 52:return new I5n;case 11:return new Dgn;case 7:return new H5n;case 39:return new Lgn;case 45:return new Ngn;case 16:return new $gn;case 10:return new VCn;case 48:return new Rgn;case 21:return new Kgn;case 23:return new gD((O0(),Z8));case 8:return new Hgn;case 12:return new Ugn;case 4:return new Ggn;case 19:return new V5n;case 17:return new e2n;case 53:return new t2n;case 6:return new b2n;case 25:return new Wyn;case 46:return new o2n;case 31:return new UAn;case 14:return new j2n;case 26:return new qpn;case 20:return new A2n;case 24:return new gD((O0(),PI));default:throw M(new Gn(cR+(this.f!=null?this.f:""+this.g)))}};var Hon,qon,Uon,Gon,zon,Xon,Von,Won,Jon,Qon,b2,TP,AP,Yon,Zon,nsn,esn,tsn,isn,rsn,L8,csn,usn,osn,ssn,fsn,N_,SP,PP,hsn,IP,OP,DP,hv,Dw,Lw,lsn,LP,NP,asn,$P,xP,dsn,bsn,wsn,gsn,FP,$_,bj,BP,RP,KP,_P,psn,msn,vsn,ksn,yNe=we(Qn,uR,81,ke,iqn,kde),HZn;b(1605,1,vt,ygn),o.Kf=function(e,t){EDe(u(e,36),t)},w(Qn,"InvertedPortProcessor",1605),b(1606,1,vt,jgn),o.Kf=function(e,t){vSe(u(e,36),t)},w(Qn,"LabelAndNodeSizeProcessor",1606),b(1607,1,De,Egn),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),b(1608,1,De,Cgn),o.Mb=function(e){return u(e,10).k==(Vn(),Zt)},w(Qn,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),b(1609,1,re,mSn),o.Cd=function(e){ele(this.b,this.a,this.c,u(e,10))},o.a=!1,o.c=!1,w(Qn,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),b(1610,1,vt,K5n),o.Kf=function(e,t){WOe(u(e,36),t)};var qZn;w(Qn,"LabelDummyInserter",1610),b(1611,1,ph,Mgn),o.Lb=function(e){return x(v(u(e,72),(cn(),Ah)))===x(($f(),Fv))},o.Fb=function(e){return this===e},o.Mb=function(e){return x(v(u(e,72),(cn(),Ah)))===x(($f(),Fv))},w(Qn,"LabelDummyInserter/1",1611),b(1612,1,vt,kgn),o.Kf=function(e,t){FOe(u(e,36),t)},w(Qn,"LabelDummyRemover",1612),b(1613,1,De,Tgn),o.Mb=function(e){return on(un(v(u(e,72),(cn(),EH))))},w(Qn,"LabelDummyRemover/lambda$0$Type",1613),b(1378,1,vt,_5n),o.Kf=function(e,t){POe(this,u(e,36),t)},o.a=null;var x_;w(Qn,"LabelDummySwitcher",1378),b(293,1,{293:1},tUn),o.c=0,o.d=null,o.f=0,w(Qn,"LabelDummySwitcher/LabelDummyInfo",293),b(1379,1,{},Agn),o.Kb=function(e){return Hp(),new Tn(null,new In(u(e,30).a,16))},w(Qn,"LabelDummySwitcher/lambda$0$Type",1379),b(1380,1,De,Sgn),o.Mb=function(e){return Hp(),u(e,10).k==(Vn(),Ac)},w(Qn,"LabelDummySwitcher/lambda$1$Type",1380),b(1381,1,{},i7n),o.Kb=function(e){return gae(this.a,u(e,10))},w(Qn,"LabelDummySwitcher/lambda$2$Type",1381),b(1382,1,re,r7n),o.Cd=function(e){xwe(this.a,u(e,293))},w(Qn,"LabelDummySwitcher/lambda$3$Type",1382),b(1383,1,Ne,Pgn),o.Ne=function(e,t){return uwe(u(e,293),u(t,293))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"LabelDummySwitcher/lambda$4$Type",1383),b(802,1,vt,Ign),o.Kf=function(e,t){m4e(u(e,36),t)},w(Qn,"LabelManagementProcessor",802),b(1614,1,vt,Ogn),o.Kf=function(e,t){WTe(u(e,36),t)},w(Qn,"LabelSideSelector",1614),b(1622,1,vt,Dgn),o.Kf=function(e,t){xPe(u(e,36),t)},w(Qn,"LayerConstraintPostprocessor",1622),b(1623,1,vt,H5n),o.Kf=function(e,t){OCe(u(e,36),t)};var ysn;w(Qn,"LayerConstraintPreprocessor",1623),b(371,22,{3:1,34:1,22:1,371:1},dC);var wj,HP,qP,F_,UZn=we(Qn,"LayerConstraintPreprocessor/HiddenNodeConnections",371,ke,Jpe,yde),GZn;b(1624,1,vt,Lgn),o.Kf=function(e,t){ZIe(u(e,36),t)},w(Qn,"LayerSizeAndGraphHeightCalculator",1624),b(1625,1,vt,Ngn),o.Kf=function(e,t){NMe(u(e,36),t)},w(Qn,"LongEdgeJoiner",1625),b(1626,1,vt,$gn),o.Kf=function(e,t){PIe(u(e,36),t)},w(Qn,"LongEdgeSplitter",1626),b(1627,1,vt,VCn),o.Kf=function(e,t){hDe(this,u(e,36),t)},o.e=0,o.f=0,o.j=0,o.k=0,o.n=0,o.o=0;var zZn,XZn;w(Qn,"NodePromotion",1627),b(1628,1,Ne,xgn),o.Ne=function(e,t){return E6e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"NodePromotion/1",1628),b(1629,1,Ne,Fgn),o.Ne=function(e,t){return C6e(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"NodePromotion/2",1629),b(1630,1,{},Bgn),o.Kb=function(e){return u(e,42),VC(),_n(),!0},o.Fb=function(e){return this===e},w(Qn,"NodePromotion/lambda$0$Type",1630),b(1631,1,{},s7n),o.Kb=function(e){return v2e(this.a,u(e,42))},o.Fb=function(e){return this===e},o.a=0,w(Qn,"NodePromotion/lambda$1$Type",1631),b(1632,1,{},f7n),o.Kb=function(e){return m2e(this.a,u(e,42))},o.Fb=function(e){return this===e},o.a=0,w(Qn,"NodePromotion/lambda$2$Type",1632),b(1633,1,vt,Rgn),o.Kf=function(e,t){rLe(u(e,36),t)},w(Qn,"NorthSouthPortPostprocessor",1633),b(1634,1,vt,Kgn),o.Kf=function(e,t){BDe(u(e,36),t)},w(Qn,"NorthSouthPortPreprocessor",1634),b(1635,1,Ne,_gn),o.Ne=function(e,t){return Bve(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"NorthSouthPortPreprocessor/lambda$0$Type",1635),b(1636,1,vt,Hgn),o.Kf=function(e,t){nPe(u(e,36),t)},w(Qn,"PartitionMidprocessor",1636),b(1637,1,De,qgn),o.Mb=function(e){return kt(u(e,10),(cn(),Cv))},w(Qn,"PartitionMidprocessor/lambda$0$Type",1637),b(1638,1,re,h7n),o.Cd=function(e){vge(this.a,u(e,10))},w(Qn,"PartitionMidprocessor/lambda$1$Type",1638),b(1639,1,vt,Ugn),o.Kf=function(e,t){eTe(u(e,36),t)},w(Qn,"PartitionPostprocessor",1639),b(1640,1,vt,Ggn),o.Kf=function(e,t){wCe(u(e,36),t)},w(Qn,"PartitionPreprocessor",1640),b(1641,1,De,zgn),o.Mb=function(e){return kt(u(e,10),(cn(),Cv))},w(Qn,"PartitionPreprocessor/lambda$0$Type",1641),b(1642,1,{},Xgn),o.Kb=function(e){return new Tn(null,new p0(new ie(ce(Qt(u(e,10)).a.Kc(),new En))))},w(Qn,"PartitionPreprocessor/lambda$1$Type",1642),b(1643,1,De,Vgn),o.Mb=function(e){return c9e(u(e,18))},w(Qn,"PartitionPreprocessor/lambda$2$Type",1643),b(1644,1,re,Wgn),o.Cd=function(e){e6e(u(e,18))},w(Qn,"PartitionPreprocessor/lambda$3$Type",1644),b(1645,1,vt,V5n),o.Kf=function(e,t){NSe(u(e,36),t)};var jsn,VZn,WZn,JZn,Esn,Csn;w(Qn,"PortListSorter",1645),b(1648,1,Ne,Jgn),o.Ne=function(e,t){return XDn(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"PortListSorter/lambda$0$Type",1648),b(1650,1,Ne,Qgn),o.Ne=function(e,t){return TUn(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"PortListSorter/lambda$1$Type",1650),b(1646,1,{},Ygn),o.Kb=function(e){return cm(),u(e,12).e},w(Qn,"PortListSorter/lambda$2$Type",1646),b(1647,1,{},Zgn),o.Kb=function(e){return cm(),u(e,12).g},w(Qn,"PortListSorter/lambda$3$Type",1647),b(1649,1,Ne,n2n),o.Ne=function(e,t){return P7e(u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"PortListSorter/lambda$4$Type",1649),b(1651,1,vt,e2n),o.Kf=function(e,t){UCe(u(e,36),t)},w(Qn,"PortSideProcessor",1651),b(1652,1,vt,t2n),o.Kf=function(e,t){GAe(u(e,36),t)},w(Qn,"ReversedEdgeRestorer",1652),b(1657,1,vt,Wyn),o.Kf=function(e,t){l7e(this,u(e,36),t)},w(Qn,"SelfLoopPortRestorer",1657),b(1658,1,{},i2n),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"SelfLoopPortRestorer/lambda$0$Type",1658),b(1659,1,De,r2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SelfLoopPortRestorer/lambda$1$Type",1659),b(1660,1,De,c2n),o.Mb=function(e){return kt(u(e,10),(W(),hb))},w(Qn,"SelfLoopPortRestorer/lambda$2$Type",1660),b(1661,1,{},u2n),o.Kb=function(e){return u(v(u(e,10),(W(),hb)),337)},w(Qn,"SelfLoopPortRestorer/lambda$3$Type",1661),b(1662,1,re,u7n),o.Cd=function(e){Tje(this.a,u(e,337))},w(Qn,"SelfLoopPortRestorer/lambda$4$Type",1662),b(805,1,re,GU),o.Cd=function(e){Rje(u(e,105))},w(Qn,"SelfLoopPortRestorer/lambda$5$Type",805),b(1663,1,vt,o2n),o.Kf=function(e,t){p9e(u(e,36),t)},w(Qn,"SelfLoopPostProcessor",1663),b(1664,1,{},s2n),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"SelfLoopPostProcessor/lambda$0$Type",1664),b(1665,1,De,f2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SelfLoopPostProcessor/lambda$1$Type",1665),b(1666,1,De,h2n),o.Mb=function(e){return kt(u(e,10),(W(),hb))},w(Qn,"SelfLoopPostProcessor/lambda$2$Type",1666),b(1667,1,re,l2n),o.Cd=function(e){Ske(u(e,10))},w(Qn,"SelfLoopPostProcessor/lambda$3$Type",1667),b(1668,1,{},a2n),o.Kb=function(e){return new Tn(null,new In(u(e,105).f,1))},w(Qn,"SelfLoopPostProcessor/lambda$4$Type",1668),b(1669,1,re,c7n),o.Cd=function(e){n3e(this.a,u(e,340))},w(Qn,"SelfLoopPostProcessor/lambda$5$Type",1669),b(1670,1,De,d2n),o.Mb=function(e){return!!u(e,105).i},w(Qn,"SelfLoopPostProcessor/lambda$6$Type",1670),b(1671,1,re,o7n),o.Cd=function(e){nhe(this.a,u(e,105))},w(Qn,"SelfLoopPostProcessor/lambda$7$Type",1671),b(1653,1,vt,b2n),o.Kf=function(e,t){vMe(u(e,36),t)},w(Qn,"SelfLoopPreProcessor",1653),b(1654,1,{},w2n),o.Kb=function(e){return new Tn(null,new In(u(e,105).f,1))},w(Qn,"SelfLoopPreProcessor/lambda$0$Type",1654),b(1655,1,{},g2n),o.Kb=function(e){return u(e,340).a},w(Qn,"SelfLoopPreProcessor/lambda$1$Type",1655),b(1656,1,re,p2n),o.Cd=function(e){i1e(u(e,18))},w(Qn,"SelfLoopPreProcessor/lambda$2$Type",1656),b(1672,1,vt,UAn),o.Kf=function(e,t){oje(this,u(e,36),t)},w(Qn,"SelfLoopRouter",1672),b(1673,1,{},m2n),o.Kb=function(e){return new Tn(null,new In(u(e,30).a,16))},w(Qn,"SelfLoopRouter/lambda$0$Type",1673),b(1674,1,De,v2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SelfLoopRouter/lambda$1$Type",1674),b(1675,1,De,k2n),o.Mb=function(e){return kt(u(e,10),(W(),hb))},w(Qn,"SelfLoopRouter/lambda$2$Type",1675),b(1676,1,{},y2n),o.Kb=function(e){return u(v(u(e,10),(W(),hb)),337)},w(Qn,"SelfLoopRouter/lambda$3$Type",1676),b(1677,1,re,SCn),o.Cd=function(e){dge(this.a,this.b,u(e,337))},w(Qn,"SelfLoopRouter/lambda$4$Type",1677),b(1678,1,vt,j2n),o.Kf=function(e,t){FTe(u(e,36),t)},w(Qn,"SemiInteractiveCrossMinProcessor",1678),b(1679,1,De,E2n),o.Mb=function(e){return u(e,10).k==(Vn(),zt)},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),b(1680,1,De,C2n),o.Mb=function(e){return oPn(u(e,10))._b((cn(),Hw))},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),b(1681,1,Ne,M2n),o.Ne=function(e,t){return nve(u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),b(1682,1,{},T2n),o.Ve=function(e,t){return kge(u(e,10),u(t,10))},w(Qn,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),b(1684,1,vt,A2n),o.Kf=function(e,t){oIe(u(e,36),t)},w(Qn,"SortByInputModelProcessor",1684),b(1685,1,De,S2n),o.Mb=function(e){return u(e,12).g.c.length!=0},w(Qn,"SortByInputModelProcessor/lambda$0$Type",1685),b(1686,1,re,l7n),o.Cd=function(e){Uje(this.a,u(e,12))},w(Qn,"SortByInputModelProcessor/lambda$1$Type",1686),b(1759,817,{},pxn),o.df=function(e){var t,i,r,c;switch(this.c=e,this.a.g){case 2:t=new Z,qt(ut(new Tn(null,new In(this.c.a.b,16)),new H2n),new FCn(this,t)),Zk(this,new I2n),nu(t,new O2n),t.c.length=0,qt(ut(new Tn(null,new In(this.c.a.b,16)),new D2n),new d7n(t)),Zk(this,new L2n),nu(t,new N2n),t.c.length=0,i=mTn(O$(Ub(new Tn(null,new In(this.c.a.b,16)),new b7n(this))),new $2n),qt(new Tn(null,new In(this.c.a.a,16)),new OCn(i,t)),Zk(this,new F2n),nu(t,new B2n),t.c.length=0;break;case 3:r=new Z,Zk(this,new P2n),c=mTn(O$(Ub(new Tn(null,new In(this.c.a.b,16)),new a7n(this))),new x2n),qt(ut(new Tn(null,new In(this.c.a.b,16)),new R2n),new LCn(c,r)),Zk(this,new K2n),nu(r,new _2n),r.c.length=0;break;default:throw M(new xyn)}},o.b=0,w(di,"EdgeAwareScanlineConstraintCalculation",1759),b(1760,1,ph,P2n),o.Lb=function(e){return D(u(e,60).g,154)},o.Fb=function(e){return this===e},o.Mb=function(e){return D(u(e,60).g,154)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),b(1761,1,{},a7n),o.Ye=function(e){return AEe(this.a,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),b(1769,1,JA,PCn),o.de=function(){P5(this.a,this.b,-1)},o.b=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),b(1771,1,ph,I2n),o.Lb=function(e){return D(u(e,60).g,154)},o.Fb=function(e){return this===e},o.Mb=function(e){return D(u(e,60).g,154)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),b(1772,1,re,O2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),b(1773,1,De,D2n),o.Mb=function(e){return D(u(e,60).g,10)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),b(1775,1,re,d7n),o.Cd=function(e){X5e(this.a,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),b(1774,1,JA,NCn),o.de=function(){P5(this.b,this.a,-1)},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),b(1776,1,ph,L2n),o.Lb=function(e){return D(u(e,60).g,10)},o.Fb=function(e){return this===e},o.Mb=function(e){return D(u(e,60).g,10)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),b(1777,1,re,N2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),b(1778,1,{},b7n),o.Ye=function(e){return SEe(this.a,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),b(1779,1,{},$2n),o.We=function(){return 0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),b(1762,1,{},x2n),o.We=function(){return 0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),b(1781,1,re,OCn),o.Cd=function(e){Ybe(this.a,this.b,u(e,316))},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),b(1780,1,JA,DCn),o.de=function(){DHn(this.a,this.b,-1)},o.b=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),b(1782,1,ph,F2n),o.Lb=function(e){return u(e,60),!0},o.Fb=function(e){return this===e},o.Mb=function(e){return u(e,60),!0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),b(1783,1,re,B2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),b(1763,1,De,R2n),o.Mb=function(e){return D(u(e,60).g,10)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),b(1765,1,re,LCn),o.Cd=function(e){Zbe(this.a,this.b,u(e,60))},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),b(1764,1,JA,$Cn),o.de=function(){P5(this.b,this.a,-1)},o.a=0,w(di,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),b(1766,1,ph,K2n),o.Lb=function(e){return u(e,60),!0},o.Fb=function(e){return this===e},o.Mb=function(e){return u(e,60),!0},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),b(1767,1,re,_2n),o.Cd=function(e){u(e,380).de()},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),b(1768,1,De,H2n),o.Mb=function(e){return D(u(e,60).g,154)},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),b(1770,1,re,FCn),o.Cd=function(e){pme(this.a,this.b,u(e,60))},w(di,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),b(1586,1,vt,tAn),o.Kf=function(e,t){$Ie(this,u(e,36),t)};var QZn;w(di,"HorizontalGraphCompactor",1586),b(1587,1,{},w7n),o.ff=function(e,t){var i,r,c;return rQ(e,t)||(i=Pg(e),r=Pg(t),i&&i.k==(Vn(),Zt)||r&&r.k==(Vn(),Zt))?0:(c=u(v(this.a.a,(W(),E2)),312),R1e(c,i?i.k:(Vn(),Mi),r?r.k:(Vn(),Mi)))},o.gf=function(e,t){var i,r,c;return rQ(e,t)?1:(i=Pg(e),r=Pg(t),c=u(v(this.a.a,(W(),E2)),312),WX(c,i?i.k:(Vn(),Mi),r?r.k:(Vn(),Mi)))},w(di,"HorizontalGraphCompactor/1",1587),b(1588,1,{},q2n),o.ef=function(e,t){return o6(),e.a.i==0},w(di,"HorizontalGraphCompactor/lambda$0$Type",1588),b(1589,1,{},g7n),o.ef=function(e,t){return Ege(this.a,e,t)},w(di,"HorizontalGraphCompactor/lambda$1$Type",1589),b(1730,1,{},zNn);var YZn,ZZn;w(di,"LGraphToCGraphTransformer",1730),b(1738,1,De,U2n),o.Mb=function(e){return e!=null},w(di,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),b(1731,1,{},G2n),o.Kb=function(e){return Fs(),Jr(v(u(u(e,60).g,10),(W(),st)))},w(di,"LGraphToCGraphTransformer/lambda$0$Type",1731),b(1732,1,{},z2n),o.Kb=function(e){return Fs(),iBn(u(u(e,60).g,154))},w(di,"LGraphToCGraphTransformer/lambda$1$Type",1732),b(1741,1,De,X2n),o.Mb=function(e){return Fs(),D(u(e,60).g,10)},w(di,"LGraphToCGraphTransformer/lambda$10$Type",1741),b(1742,1,re,V2n),o.Cd=function(e){Sge(u(e,60))},w(di,"LGraphToCGraphTransformer/lambda$11$Type",1742),b(1743,1,De,W2n),o.Mb=function(e){return Fs(),D(u(e,60).g,154)},w(di,"LGraphToCGraphTransformer/lambda$12$Type",1743),b(1747,1,re,J2n),o.Cd=function(e){c5e(u(e,60))},w(di,"LGraphToCGraphTransformer/lambda$13$Type",1747),b(1744,1,re,p7n),o.Cd=function(e){Dle(this.a,u(e,8))},o.a=0,w(di,"LGraphToCGraphTransformer/lambda$14$Type",1744),b(1745,1,re,m7n),o.Cd=function(e){Nle(this.a,u(e,116))},o.a=0,w(di,"LGraphToCGraphTransformer/lambda$15$Type",1745),b(1746,1,re,v7n),o.Cd=function(e){Lle(this.a,u(e,8))},o.a=0,w(di,"LGraphToCGraphTransformer/lambda$16$Type",1746),b(1748,1,{},Q2n),o.Kb=function(e){return Fs(),new Tn(null,new p0(new ie(ce(Qt(u(e,10)).a.Kc(),new En))))},w(di,"LGraphToCGraphTransformer/lambda$17$Type",1748),b(1749,1,De,Y2n),o.Mb=function(e){return Fs(),fr(u(e,18))},w(di,"LGraphToCGraphTransformer/lambda$18$Type",1749),b(1750,1,re,k7n),o.Cd=function(e){W4e(this.a,u(e,18))},w(di,"LGraphToCGraphTransformer/lambda$19$Type",1750),b(1734,1,re,y7n),o.Cd=function(e){jpe(this.a,u(e,154))},w(di,"LGraphToCGraphTransformer/lambda$2$Type",1734),b(1751,1,{},Z2n),o.Kb=function(e){return Fs(),new Tn(null,new In(u(e,30).a,16))},w(di,"LGraphToCGraphTransformer/lambda$20$Type",1751),b(1752,1,{},npn),o.Kb=function(e){return Fs(),new Tn(null,new p0(new ie(ce(Qt(u(e,10)).a.Kc(),new En))))},w(di,"LGraphToCGraphTransformer/lambda$21$Type",1752),b(1753,1,{},epn),o.Kb=function(e){return Fs(),u(v(u(e,18),(W(),Dd)),15)},w(di,"LGraphToCGraphTransformer/lambda$22$Type",1753),b(1754,1,De,tpn),o.Mb=function(e){return K1e(u(e,15))},w(di,"LGraphToCGraphTransformer/lambda$23$Type",1754),b(1755,1,re,j7n),o.Cd=function(e){gEe(this.a,u(e,15))},w(di,"LGraphToCGraphTransformer/lambda$24$Type",1755),b(1733,1,re,BCn),o.Cd=function(e){v3e(this.a,this.b,u(e,154))},w(di,"LGraphToCGraphTransformer/lambda$3$Type",1733),b(1735,1,{},ipn),o.Kb=function(e){return Fs(),new Tn(null,new In(u(e,30).a,16))},w(di,"LGraphToCGraphTransformer/lambda$4$Type",1735),b(1736,1,{},rpn),o.Kb=function(e){return Fs(),new Tn(null,new p0(new ie(ce(Qt(u(e,10)).a.Kc(),new En))))},w(di,"LGraphToCGraphTransformer/lambda$5$Type",1736),b(1737,1,{},cpn),o.Kb=function(e){return Fs(),u(v(u(e,18),(W(),Dd)),15)},w(di,"LGraphToCGraphTransformer/lambda$6$Type",1737),b(1739,1,re,E7n),o.Cd=function(e){PEe(this.a,u(e,15))},w(di,"LGraphToCGraphTransformer/lambda$8$Type",1739),b(1740,1,re,RCn),o.Cd=function(e){r1e(this.a,this.b,u(e,154))},w(di,"LGraphToCGraphTransformer/lambda$9$Type",1740),b(1729,1,{},upn),o.cf=function(e){var t,i,r,c,s;for(this.a=e,this.d=new oD,this.c=K(ion,Bn,125,this.a.a.a.c.length,0,1),this.b=0,i=new C(this.a.a.a);i.a=j&&(nn(s,Y(d)),O=y.Math.max(O,N[d-1]-g),h+=k,S+=N[d-1]-S,g=N[d-1],k=l[d]),k=y.Math.max(k,l[d]),++d;h+=k}m=y.Math.min(1/O,1/t.b/h),m>r&&(r=m,i=s)}return i},o.pg=function(){return!1},w(yh,"MSDCutIndexHeuristic",816),b(1683,1,vt,qpn),o.Kf=function(e,t){BPe(u(e,36),t)},w(yh,"SingleEdgeGraphWrapper",1683),b(232,22,{3:1,34:1,22:1,232:1},w6);var g2,dv,bv,Nw,N8,p2,wv=we(Tc,"CenterEdgeLabelPlacementStrategy",232,ke,E4e,Mde),lne;b(431,22,{3:1,34:1,22:1,431:1},Jz);var Tsn,V_,Asn=we(Tc,"ConstraintCalculationStrategy",431,ke,qge,Tde),ane;b(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},_D),o.dg=function(){return K_n(this)},o.qg=function(){return K_n(this)};var pj,$8,Ssn,Psn=we(Tc,"CrossingMinimizationStrategy",322,ke,F2e,Ade),dne;b(351,22,{3:1,34:1,22:1,351:1},HD);var Isn,W_,VP,Osn=we(Tc,"CuttingStrategy",351,ke,B2e,Sde),bne;b(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},f7),o.dg=function(){return IHn(this)},o.qg=function(){return IHn(this)};var Dsn,J_,gv,Q_,pv,Lsn=we(Tc,"CycleBreakingStrategy",348,ke,_3e,Pde),wne;b(428,22,{3:1,34:1,22:1,428:1},Qz);var WP,Nsn,$sn=we(Tc,"DirectionCongruency",428,ke,Hge,Ide),gne;b(460,22,{3:1,34:1,22:1,460:1},qD);var mv,Y_,m2,pne=we(Tc,"EdgeConstraint",460,ke,R2e,Fde),mne;b(283,22,{3:1,34:1,22:1,283:1},g6);var Z_,nH,eH,tH,JP,iH,xsn=we(Tc,"EdgeLabelSideSelection",283,ke,k4e,Bde),vne;b(488,22,{3:1,34:1,22:1,488:1},Yz);var QP,Fsn,Bsn=we(Tc,"EdgeStraighteningStrategy",488,ke,Jge,Rde),kne;b(281,22,{3:1,34:1,22:1,281:1},p6);var rH,Rsn,Ksn,YP,_sn,Hsn,qsn=we(Tc,"FixedAlignment",281,ke,y4e,xde),yne;b(282,22,{3:1,34:1,22:1,282:1},m6);var Usn,Gsn,zsn,Xsn,x8,Vsn,Wsn=we(Tc,"GraphCompactionStrategy",282,ke,j4e,Ode),jne;b(259,22,{3:1,34:1,22:1,259:1},Db);var vv,ZP,kv,cs,F8,nI,yv,v2,eI,B8,cH=we(Tc,"GraphProperties",259,ke,uve,Dde),Ene;b(299,22,{3:1,34:1,22:1,299:1},UD);var mj,uH,oH,sH=we(Tc,"GreedySwitchType",299,ke,K2e,Lde),Cne;b(311,22,{3:1,34:1,22:1,311:1},GD);var E3,vj,k2,Mne=we(Tc,"InLayerConstraint",311,ke,_2e,Nde),Tne;b(429,22,{3:1,34:1,22:1,429:1},Zz);var fH,Jsn,Qsn=we(Tc,"InteractiveReferencePoint",429,ke,_ge,$de),Ane,Ysn,C3,ob,tI,Zsn,nfn,iI,efn,kj,rI,R8,M3,Nl,hH,cI,gc,tfn,ka,Hc,lH,aH,yj,Od,sb,T3,ifn,A3,jj,$w,yf,Es,dH,y2,dt,st,rfn,cfn,ufn,ofn,sfn,bH,uI,Xu,fb,wH,S3,K8,zf,j2,hb,E2,C2,jv,Dd,ffn,gH,pH,P3;b(171,22,{3:1,34:1,22:1,171:1},h7);var _8,ya,H8,xw,Ej,hfn=we(Tc,"LayerConstraint",171,ke,q3e,Kde),Sne;b(859,1,ms,e8n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,uin),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),kfn),(l1(),Pt)),$sn),jn((pf(),xn))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,oin),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(_n(),!1)),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,lS),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),Tfn),Pt),Qsn),jn(xn)))),ri(e,lS,fR,jee),ri(e,lS,o8,yee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,sin),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,fin),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),yi),Gt),jn(xn)))),vn(e,new ln(Dhe(pn(gn(mn(Sn(an(wn(dn(bn(new hn,hin),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),yi),Gt),jn(Kd)),A(T(fn,1),J,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,lin),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),Nfn),Pt),qhn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ain),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),Y(7)),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,din),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,bin),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,fR),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),vfn),Pt),Lsn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Hy),LR),"Node Layering Strategy"),"Strategy for node layering."),Pfn),Pt),Ohn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,win),LR),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),Afn),Pt),hfn),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gin),LR),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Zr),Gi),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,pin),LR),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Y(-1)),Zr),Gi),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,hR),YXn),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),Y(4)),Zr),Gi),jn(xn)))),ri(e,hR,Hy,Pee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,lR),YXn),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),Y(2)),Zr),Gi),jn(xn)))),ri(e,lR,Hy,Oee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,aR),ZXn),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),Sfn),Pt),Khn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,dR),ZXn),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),Y(0)),Zr),Gi),jn(xn)))),ri(e,dR,aR,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,bR),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),Y(et)),Zr),Gi),jn(xn)))),ri(e,bR,Hy,Cee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,o8),Wm),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),mfn),Pt),Psn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,min),Wm),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wR),Wm),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Qi),si),jn(xn)))),ri(e,wR,CS,Vne),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gR),Wm),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),yi),Gt),jn(xn)))),ri(e,gR,o8,nee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vin),Wm),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),$2),fn),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,kin),Wm),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),$2),fn),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yin),Wm),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Zr),Gi),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jin),Wm),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Y(-1)),Zr),Gi),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ein),nVn),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),Y(40)),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,pR),nVn),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),pfn),Pt),sH),jn(xn)))),ri(e,pR,o8,zne),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,aS),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),gfn),Pt),sH),jn(xn)))),ri(e,aS,o8,qne),ri(e,aS,CS,Une),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,c2),eVn),"Node Placement Strategy"),"Strategy for node placement."),Lfn),Pt),$hn),jn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,dS),eVn),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),yi),Gt),jn(xn)))),ri(e,dS,c2,Hee),ri(e,dS,c2,qee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mR),tVn),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),Ifn),Pt),Bsn),jn(xn)))),ri(e,mR,c2,Bee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vR),tVn),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),Ofn),Pt),qsn),jn(xn)))),ri(e,vR,c2,Kee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,kR),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Qi),si),jn(xn)))),ri(e,kR,c2,Gee),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,yR),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),Pt),RH),jn(pi)))),ri(e,yR,c2,Wee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jR),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),Dfn),Pt),RH),jn(xn)))),ri(e,jR,c2,Vee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Cin),iVn),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),Efn),Pt),zhn),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Min),iVn),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),Cfn),Pt),Xhn),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,bS),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),Mfn),Pt),Whn),jn(xn)))),ri(e,bS,qy,lee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wS),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Qi),si),jn(xn)))),ri(e,wS,qy,dee),ri(e,wS,bS,bee),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ER),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Qi),si),jn(xn)))),ri(e,ER,qy,oee),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,Tin),qf),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ain),qf),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Sin),qf),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Pin),qf),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Iin),Kin),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),Y(0)),Zr),Gi),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Oin),Kin),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),Y(0)),Zr),Gi),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Din),Kin),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),Y(0)),Zr),Gi),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,CR),_in),vXn),"Tries to further compact components (disconnected sub-graphs)."),!1),yi),Gt),jn(xn)))),ri(e,CR,t8,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Lin),rVn),"Post Compaction Strategy"),cVn),afn),Pt),Wsn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Nin),rVn),"Post Compaction Constraint Calculation"),cVn),lfn),Pt),Asn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gS),Hin),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,MR),Hin),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),Y(16)),Zr),Gi),jn(xn)))),ri(e,MR,gS,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,TR),Hin),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),Y(5)),Zr),Gi),jn(xn)))),ri(e,TR,gS,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Ol),qin),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),Ffn),Pt),Zhn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,pS),qin),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Qi),si),jn(xn)))),ri(e,pS,Ol,ste),ri(e,pS,Ol,fte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mS),qin),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Qi),si),jn(xn)))),ri(e,mS,Ol,lte),ri(e,mS,Ol,ate),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,s8),uVn),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),xfn),Pt),Osn),jn(xn)))),ri(e,s8,Ol,mte),ri(e,s8,Ol,vte),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,AR),uVn),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),Vf),rs),jn(xn)))),ri(e,AR,s8,bte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,SR),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),$fn),Zr),Gi),jn(xn)))),ri(e,SR,s8,gte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vS),oVn),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),Bfn),Pt),Yhn),jn(xn)))),ri(e,vS,Ol,Ote),ri(e,vS,Ol,Dte),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,kS),oVn),"Valid Indices for Wrapping"),null),Vf),rs),jn(xn)))),ri(e,kS,Ol,Ste),ri(e,kS,Ol,Pte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yS),Uin),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),yi),Gt),jn(xn)))),ri(e,yS,Ol,Ete),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jS),Uin),"Distance Penalty When Improving Cuts"),null),2),Qi),si),jn(xn)))),ri(e,jS,Ol,yte),ri(e,jS,yS,!0),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,PR),Uin),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),yi),Gt),jn(xn)))),ri(e,PR,Ol,Mte),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,$in),NR),"Edge Label Side Selection"),"Method to decide on edge label sides."),jfn),Pt),xsn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,xin),NR),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),yfn),Pt),wv),yt(xn,A(T(Zh,1),G,170,0,[E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,ES),f8),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),wfn),Pt),Hhn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Fin),f8),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Bin),f8),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),yi),Gt),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,IR),f8),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),dfn),Pt),Lon),jn(xn)))),ri(e,IR,t8,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Rin),f8),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),bfn),Pt),Lhn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,OR),f8),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Qi),si),jn(xn)))),ri(e,OR,ES,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,DR),f8),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Qi),si),jn(xn)))),ri(e,DR,ES,null),Czn((new t8n,e))};var Pne,Ine,One,lfn,Dne,afn,Lne,dfn,Nne,$ne,xne,bfn,Fne,Bne,Rne,wfn,Kne,_ne,Hne,gfn,qne,Une,Gne,pfn,zne,Xne,Vne,Wne,Jne,Qne,Yne,Zne,nee,eee,mfn,tee,vfn,iee,kfn,ree,yfn,cee,jfn,uee,oee,see,Efn,fee,Cfn,hee,Mfn,lee,aee,dee,bee,wee,gee,pee,mee,vee,kee,Tfn,yee,jee,Eee,Cee,Mee,Tee,Afn,Aee,See,Pee,Iee,Oee,Dee,Lee,Sfn,Nee,Pfn,$ee,xee,Fee,Ifn,Bee,Ree,Ofn,Kee,_ee,Hee,qee,Uee,Gee,zee,Xee,Dfn,Vee,Wee,Jee,Lfn,Qee,Nfn,Yee,Zee,nte,ete,tte,ite,rte,cte,ute,ote,ste,fte,hte,lte,ate,dte,bte,wte,$fn,gte,pte,xfn,mte,vte,kte,yte,jte,Ete,Cte,Mte,Tte,Ffn,Ate,Ste,Pte,Ite,Bfn,Ote,Dte;w(Tc,"LayeredMetaDataProvider",859),b(998,1,ms,t8n),o.hf=function(e){Czn(e)};var Th,mH,oI,q8,sI,Rfn,fI,Fw,hI,Kfn,_fn,lI,vH,Yh,kH,lb,Hfn,Cj,yH,qfn,Lte,Nte,$te,aI,jH,U8,Ld,xte,Do,Ufn,Gfn,dI,EH,Ah,bI,$l,zfn,Xfn,Vfn,CH,MH,Wfn,m1,TH,Jfn,Bw,Qfn,Yfn,Zfn,wI,Rw,Nd,nhn,ehn,Fr,thn,Fte,ou,gI,ihn,rhn,chn,ja,$d,pI,uhn,ohn,mI,ab,shn,AH,G8,fhn,db,z8,vI,xd,SH,Ev,kI,Fd,hhn,lhn,ahn,Cv,dhn,Bte,Rte,Kte,_te,bb,Kw,Kt,v1,Hte,_w,bhn,Mv,whn,Hw,qte,Tv,ghn,I3,Ute,Gte,Mj,PH,phn,Tj,Ws,M2,T2,wb,Bd,yI,qw,IH,Av,Sv,gb,A2,OH,Aj,X8,V8,zte,Xte,Vte,mhn,Wte,DH,vhn,khn,yhn,jhn,LH,Ehn,Chn,Mhn,Thn,NH,jI;w(Tc,"LayeredOptions",998),b(999,1,{},Upn),o.sf=function(){var e;return e=new Uyn,e},o.tf=function(e){},w(Tc,"LayeredOptions/LayeredFactory",999),b(1391,1,{}),o.a=0;var Jte;w(dc,"ElkSpacings/AbstractSpacingsBuilder",1391),b(792,1391,{},XY);var EI,Qte;w(Tc,"LayeredSpacings/LayeredSpacingsBuilder",792),b(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},dg),o.dg=function(){return Rqn(this)},o.qg=function(){return Rqn(this)};var Pv,$H,Iv,Ahn,Shn,Phn,CI,xH,Ihn,Ohn=we(Tc,"LayeringStrategy",265,ke,xme,_de),Yte;b(390,22,{3:1,34:1,22:1,390:1},zD);var FH,Dhn,MI,Lhn=we(Tc,"LongEdgeOrderingStrategy",390,ke,H2e,Hde),Zte;b(203,22,{3:1,34:1,22:1,203:1},wC);var S2,P2,TI,BH,RH=we(Tc,"NodeFlexibility",203,ke,Qpe,qde),nie;b(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},l7),o.dg=function(){return PHn(this)},o.qg=function(){return PHn(this)};var W8,KH,_H,J8,Nhn,$hn=we(Tc,"NodePlacementStrategy",323,ke,H3e,Ude),eie;b(243,22,{3:1,34:1,22:1,243:1},Lb);var xhn,pb,Uw,Sj,Fhn,Bhn,Pj,Rhn,AI,SI,Khn=we(Tc,"NodePromotionStrategy",243,ke,ove,Gde),tie;b(284,22,{3:1,34:1,22:1,284:1},gC);var _hn,k1,HH,qH,Hhn=we(Tc,"OrderingStrategy",284,ke,Ype,zde),iie;b(430,22,{3:1,34:1,22:1,430:1},nX);var UH,GH,qhn=we(Tc,"PortSortingStrategy",430,ke,Uge,Xde),rie;b(463,22,{3:1,34:1,22:1,463:1},XD);var Vu,Jc,Q8,cie=we(Tc,"PortType",463,ke,q2e,Vde),uie;b(387,22,{3:1,34:1,22:1,387:1},VD);var Uhn,zH,Ghn,zhn=we(Tc,"SelfLoopDistributionStrategy",387,ke,U2e,Wde),oie;b(349,22,{3:1,34:1,22:1,349:1},WD);var XH,Ij,VH,Xhn=we(Tc,"SelfLoopOrderingStrategy",349,ke,G2e,Jde),sie;b(312,1,{312:1},yGn),w(Tc,"Spacings",312),b(350,22,{3:1,34:1,22:1,350:1},JD);var WH,Vhn,Y8,Whn=we(Tc,"SplineRoutingMode",350,ke,z2e,Qde),fie;b(352,22,{3:1,34:1,22:1,352:1},QD);var JH,Jhn,Qhn,Yhn=we(Tc,"ValidifyStrategy",352,ke,X2e,Yde),hie;b(388,22,{3:1,34:1,22:1,388:1},YD);var Gw,QH,Ov,Zhn=we(Tc,"WrappingStrategy",388,ke,V2e,Zde),lie;b(1398,1,vr,X5n),o.rg=function(e){return u(e,36),aie},o.Kf=function(e,t){DIe(this,u(e,36),t)};var aie;w(SS,"DepthFirstCycleBreaker",1398),b(793,1,vr,dW),o.rg=function(e){return u(e,36),die},o.Kf=function(e,t){$Le(this,u(e,36),t)},o.sg=function(e){return u(sn(e,cA(this.d,e.c.length)),10)};var die;w(SS,"GreedyCycleBreaker",793),b(1401,793,vr,KMn),o.sg=function(e){var t,i,r,c;for(c=null,t=et,r=new C(e);r.a1&&(on(un(v(Hi((Ln(0,e.c.length),u(e.c[0],10))),(cn(),lb))))?HHn(e,this.d,u(this,669)):(Dn(),Yt(e,this.d)),qxn(this.e,e))},o.lg=function(e,t,i,r){var c,s,f,h,l,a,d;for(t!=uPn(i,e.length)&&(s=e[t-(i?1:-1)],HJ(this.f,s,i?(gr(),Jc):(gr(),Vu))),c=e[t][0],d=!r||c.k==(Vn(),Zt),a=Of(e[t]),this.vg(a,d,!1,i),f=0,l=new C(a);l.a"),e0?DN(this.a,e[t-1],e[t]):!i&&t1&&(on(un(v(Hi((Ln(0,e.c.length),u(e.c[0],10))),(cn(),lb))))?HHn(e,this.d,this):(Dn(),Yt(e,this.d)),on(un(v(Hi((Ln(0,e.c.length),u(e.c[0],10))),lb)))||qxn(this.e,e))},w(Nu,"ModelOrderBarycenterHeuristic",669),b(1866,1,Ne,q7n),o.Ne=function(e,t){return Oje(this.a,u(e,10),u(t,10))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Nu,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),b(1423,1,vr,r8n),o.rg=function(e){var t;return u(e,36),t=DC(Pie),Ke(t,(Vi(),Oc),(tr(),FP)),t},o.Kf=function(e,t){bge((u(e,36),t))};var Pie;w(Nu,"NoCrossingMinimizer",1423),b(809,413,Mrn,Ez),o.tg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m;switch(g=this.g,i.g){case 1:{for(c=0,s=0,d=new C(e.j);d.a1&&(c.j==(en(),Zn)?this.b[e]=!0:c.j==Wn&&e>0&&(this.b[e-1]=!0))},o.f=0,w(Vh,"AllCrossingsCounter",1861),b(595,1,{},ET),o.b=0,o.d=0,w(Vh,"BinaryIndexedTree",595),b(532,1,{},D7);var tln,II;w(Vh,"CrossingsCounter",532),b(1950,1,Ne,U7n),o.Ne=function(e,t){return Kbe(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$0$Type",1950),b(1951,1,Ne,G7n),o.Ne=function(e,t){return _be(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$1$Type",1951),b(1952,1,Ne,z7n),o.Ne=function(e,t){return Hbe(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$2$Type",1952),b(1953,1,Ne,X7n),o.Ne=function(e,t){return qbe(this.a,u(e,12),u(t,12))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Vh,"CrossingsCounter/lambda$3$Type",1953),b(1954,1,re,V7n),o.Cd=function(e){q4e(this.a,u(e,12))},w(Vh,"CrossingsCounter/lambda$4$Type",1954),b(1955,1,De,W7n),o.Mb=function(e){return ble(this.a,u(e,12))},w(Vh,"CrossingsCounter/lambda$5$Type",1955),b(1956,1,re,J7n),o.Cd=function(e){OMn(this,e)},w(Vh,"CrossingsCounter/lambda$6$Type",1956),b(1957,1,re,HCn),o.Cd=function(e){var t;k4(),W1(this.b,(t=this.a,u(e,12),t))},w(Vh,"CrossingsCounter/lambda$7$Type",1957),b(839,1,ph,YU),o.Lb=function(e){return k4(),kt(u(e,12),(W(),Xu))},o.Fb=function(e){return this===e},o.Mb=function(e){return k4(),kt(u(e,12),(W(),Xu))},w(Vh,"CrossingsCounter/lambda$8$Type",839),b(1949,1,{},Q7n),w(Vh,"HyperedgeCrossingsCounter",1949),b(478,1,{34:1,478:1},GAn),o.Fd=function(e){return H8e(this,u(e,478))},o.b=0,o.c=0,o.e=0,o.f=0;var jNe=w(Vh,"HyperedgeCrossingsCounter/Hyperedge",478);b(374,1,{34:1,374:1},CM),o.Fd=function(e){return tMe(this,u(e,374))},o.b=0,o.c=0;var Iie=w(Vh,"HyperedgeCrossingsCounter/HyperedgeCorner",374);b(531,22,{3:1,34:1,22:1,531:1},eX);var n9,e9,Oie=we(Vh,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,ke,Gge,e0e),Die;b(1425,1,vr,c8n),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Lie:null},o.Kf=function(e,t){dke(this,u(e,36),t)};var Lie;w(kr,"InteractiveNodePlacer",1425),b(1426,1,vr,u8n),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Nie:null},o.Kf=function(e,t){Q9e(this,u(e,36),t)};var Nie,OI,DI;w(kr,"LinearSegmentsNodePlacer",1426),b(261,1,{34:1,261:1},QG),o.Fd=function(e){return The(this,u(e,261))},o.Fb=function(e){var t;return D(e,261)?(t=u(e,261),this.b==t.b):!1},o.Hb=function(){return this.b},o.Ib=function(){return"ls"+ca(this.e)},o.a=0,o.b=0,o.c=-1,o.d=-1,o.g=0;var $ie=w(kr,"LinearSegmentsNodePlacer/LinearSegment",261);b(1428,1,vr,gPn),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?xie:null},o.Kf=function(e,t){TLe(this,u(e,36),t)},o.b=0,o.g=0;var xie;w(kr,"NetworkSimplexPlacer",1428),b(1447,1,Ne,n3n),o.Ne=function(e,t){return jc(u(e,17).a,u(t,17).a)},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(kr,"NetworkSimplexPlacer/0methodref$compare$Type",1447),b(1449,1,Ne,e3n),o.Ne=function(e,t){return jc(u(e,17).a,u(t,17).a)},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(kr,"NetworkSimplexPlacer/1methodref$compare$Type",1449),b(655,1,{655:1},qCn);var ENe=w(kr,"NetworkSimplexPlacer/EdgeRep",655);b(412,1,{412:1},XW),o.b=!1;var CNe=w(kr,"NetworkSimplexPlacer/NodeRep",412);b(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},Zyn),w(kr,"NetworkSimplexPlacer/Path",515),b(1429,1,{},t3n),o.Kb=function(e){return u(e,18).d.i.k},w(kr,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),b(1430,1,De,i3n),o.Mb=function(e){return u(e,273)==(Vn(),Mi)},w(kr,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),b(1431,1,{},r3n),o.Kb=function(e){return u(e,18).d.i},w(kr,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),b(1432,1,De,Y7n),o.Mb=function(e){return PAn(DBn(u(e,10)))},w(kr,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),b(1433,1,De,c3n),o.Mb=function(e){return Cbe(u(e,12))},w(kr,"NetworkSimplexPlacer/lambda$0$Type",1433),b(1434,1,re,UCn),o.Cd=function(e){c1e(this.a,this.b,u(e,12))},w(kr,"NetworkSimplexPlacer/lambda$1$Type",1434),b(1443,1,re,Z7n),o.Cd=function(e){OEe(this.a,u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$10$Type",1443),b(1444,1,{},u3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$11$Type",1444),b(1445,1,re,nkn),o.Cd=function(e){MAe(this.a,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$12$Type",1445),b(1446,1,{},o3n),o.Kb=function(e){return ko(),Y(u(e,125).e)},w(kr,"NetworkSimplexPlacer/lambda$13$Type",1446),b(1448,1,{},s3n),o.Kb=function(e){return ko(),Y(u(e,125).e)},w(kr,"NetworkSimplexPlacer/lambda$15$Type",1448),b(1450,1,De,f3n),o.Mb=function(e){return ko(),u(e,412).c.k==(Vn(),zt)},w(kr,"NetworkSimplexPlacer/lambda$17$Type",1450),b(1451,1,De,h3n),o.Mb=function(e){return ko(),u(e,412).c.j.c.length>1},w(kr,"NetworkSimplexPlacer/lambda$18$Type",1451),b(1452,1,re,CIn),o.Cd=function(e){h8e(this.c,this.b,this.d,this.a,u(e,412))},o.c=0,o.d=0,w(kr,"NetworkSimplexPlacer/lambda$19$Type",1452),b(1435,1,{},l3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$2$Type",1435),b(1453,1,re,ekn),o.Cd=function(e){o1e(this.a,u(e,12))},o.a=0,w(kr,"NetworkSimplexPlacer/lambda$20$Type",1453),b(1454,1,{},a3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$21$Type",1454),b(1455,1,re,tkn),o.Cd=function(e){v1e(this.a,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$22$Type",1455),b(1456,1,De,d3n),o.Mb=function(e){return PAn(e)},w(kr,"NetworkSimplexPlacer/lambda$23$Type",1456),b(1457,1,{},b3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$24$Type",1457),b(1458,1,De,ikn),o.Mb=function(e){return Sle(this.a,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$25$Type",1458),b(1459,1,re,GCn),o.Cd=function(e){$je(this.a,this.b,u(e,10))},w(kr,"NetworkSimplexPlacer/lambda$26$Type",1459),b(1460,1,De,w3n),o.Mb=function(e){return ko(),!fr(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$27$Type",1460),b(1461,1,De,g3n),o.Mb=function(e){return ko(),!fr(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$28$Type",1461),b(1462,1,{},rkn),o.Ve=function(e,t){return u1e(this.a,u(e,30),u(t,30))},w(kr,"NetworkSimplexPlacer/lambda$29$Type",1462),b(1436,1,{},p3n),o.Kb=function(e){return ko(),new Tn(null,new p0(new ie(ce(Qt(u(e,10)).a.Kc(),new En))))},w(kr,"NetworkSimplexPlacer/lambda$3$Type",1436),b(1437,1,De,m3n),o.Mb=function(e){return ko(),xpe(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$4$Type",1437),b(1438,1,re,ckn),o.Cd=function(e){NPe(this.a,u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$5$Type",1438),b(1439,1,{},v3n),o.Kb=function(e){return ko(),new Tn(null,new In(u(e,30).a,16))},w(kr,"NetworkSimplexPlacer/lambda$6$Type",1439),b(1440,1,De,k3n),o.Mb=function(e){return ko(),u(e,10).k==(Vn(),zt)},w(kr,"NetworkSimplexPlacer/lambda$7$Type",1440),b(1441,1,{},y3n),o.Kb=function(e){return ko(),new Tn(null,new p0(new ie(ce(Cl(u(e,10)).a.Kc(),new En))))},w(kr,"NetworkSimplexPlacer/lambda$8$Type",1441),b(1442,1,De,j3n),o.Mb=function(e){return ko(),Ebe(u(e,18))},w(kr,"NetworkSimplexPlacer/lambda$9$Type",1442),b(1424,1,vr,o8n),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Fie:null},o.Kf=function(e,t){bIe(u(e,36),t)};var Fie;w(kr,"SimpleNodePlacer",1424),b(185,1,{185:1},Wg),o.Ib=function(){var e;return e="",this.c==(fh(),mb)?e+=f3:this.c==y1&&(e+=s3),this.o==(Pf(),Rd)?e+=_B:this.o==Xf?e+="UP":e+="BALANCED",e},w(da,"BKAlignedLayout",185),b(523,22,{3:1,34:1,22:1,523:1},tX);var y1,mb,Bie=we(da,"BKAlignedLayout/HDirection",523,ke,Xge,t0e),Rie;b(522,22,{3:1,34:1,22:1,522:1},iX);var Rd,Xf,Kie=we(da,"BKAlignedLayout/VDirection",522,ke,Vge,i0e),_ie;b(1699,1,{},zCn),w(da,"BKAligner",1699),b(1702,1,{},iKn),w(da,"BKCompactor",1702),b(663,1,{663:1},E3n),o.a=0,w(da,"BKCompactor/ClassEdge",663),b(467,1,{467:1},Jyn),o.a=null,o.b=0,w(da,"BKCompactor/ClassNode",467),b(1427,1,vr,JCn),o.rg=function(e){return u(v(u(e,36),(W(),Hc)),21).Hc((pr(),cs))?Hie:null},o.Kf=function(e,t){ULe(this,u(e,36),t)},o.d=!1;var Hie;w(da,"BKNodePlacer",1427),b(1700,1,{},C3n),o.d=0,w(da,"NeighborhoodInformation",1700),b(1701,1,Ne,ukn),o.Ne=function(e,t){return mme(this,u(e,42),u(t,42))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(da,"NeighborhoodInformation/NeighborComparator",1701),b(823,1,{}),w(da,"ThresholdStrategy",823),b(1825,823,{},Qyn),o.wg=function(e,t,i){return this.a.o==(Pf(),Xf)?St:li},o.xg=function(){},w(da,"ThresholdStrategy/NullThresholdStrategy",1825),b(587,1,{587:1},QCn),o.c=!1,o.d=!1,w(da,"ThresholdStrategy/Postprocessable",587),b(1826,823,{},Yyn),o.wg=function(e,t,i){var r,c,s;return c=t==i,r=this.a.a[i.p]==t,c||r?(s=e,this.a.c==(fh(),mb)?(c&&(s=KF(this,t,!0)),!isNaN(s)&&!isFinite(s)&&r&&(s=KF(this,i,!1))):(c&&(s=KF(this,t,!0)),!isNaN(s)&&!isFinite(s)&&r&&(s=KF(this,i,!1))),s):e},o.xg=function(){for(var e,t,i,r,c;this.d.b!=0;)c=u(f2e(this.d),587),r=PUn(this,c),r.a&&(e=r.a,i=on(this.a.f[this.a.g[c.b.p].p]),!(!i&&!fr(e)&&e.c.i.c==e.d.i.c)&&(t=NHn(this,c),t||Ole(this.e,c)));for(;this.e.a.c.length!=0;)NHn(this,u($Fn(this.e),587))},w(da,"ThresholdStrategy/SimpleThresholdStrategy",1826),b(645,1,{645:1,188:1,196:1},M3n),o.dg=function(){return Uxn(this)},o.qg=function(){return Uxn(this)};var YH;w(RR,"EdgeRouterFactory",645),b(1485,1,vr,s8n),o.rg=function(e){return eAe(u(e,36))},o.Kf=function(e,t){yIe(u(e,36),t)};var qie,Uie,Gie,zie,Xie,iln,Vie,Wie;w(RR,"OrthogonalEdgeRouter",1485),b(1478,1,vr,WCn),o.rg=function(e){return Eke(u(e,36))},o.Kf=function(e,t){UDe(this,u(e,36),t)};var Jie,Qie,Yie,Zie,Dj,nre;w(RR,"PolylineEdgeRouter",1478),b(1479,1,ph,A3n),o.Lb=function(e){return UQ(u(e,10))},o.Fb=function(e){return this===e},o.Mb=function(e){return UQ(u(e,10))},w(RR,"PolylineEdgeRouter/1",1479),b(1872,1,De,S3n),o.Mb=function(e){return u(e,132).c==(af(),Ea)},w(mf,"HyperEdgeCycleDetector/lambda$0$Type",1872),b(1873,1,{},P3n),o.Ze=function(e){return u(e,132).d},w(mf,"HyperEdgeCycleDetector/lambda$1$Type",1873),b(1874,1,De,I3n),o.Mb=function(e){return u(e,132).c==(af(),Ea)},w(mf,"HyperEdgeCycleDetector/lambda$2$Type",1874),b(1875,1,{},O3n),o.Ze=function(e){return u(e,132).d},w(mf,"HyperEdgeCycleDetector/lambda$3$Type",1875),b(1876,1,{},D3n),o.Ze=function(e){return u(e,132).d},w(mf,"HyperEdgeCycleDetector/lambda$4$Type",1876),b(1877,1,{},T3n),o.Ze=function(e){return u(e,132).d},w(mf,"HyperEdgeCycleDetector/lambda$5$Type",1877),b(118,1,{34:1,118:1},yk),o.Fd=function(e){return Ahe(this,u(e,118))},o.Fb=function(e){var t;return D(e,118)?(t=u(e,118),this.g==t.g):!1},o.Hb=function(){return this.g},o.Ib=function(){var e,t,i,r;for(e=new mo("{"),r=new C(this.n);r.a"+this.b+" ("+z1e(this.c)+")"},o.d=0,w(mf,"HyperEdgeSegmentDependency",132),b(528,22,{3:1,34:1,22:1,528:1},rX);var Ea,zw,ere=we(mf,"HyperEdgeSegmentDependency/DependencyType",528,ke,Wge,r0e),tre;b(1878,1,{},okn),w(mf,"HyperEdgeSegmentSplitter",1878),b(1879,1,{},Zjn),o.a=0,o.b=0,w(mf,"HyperEdgeSegmentSplitter/AreaRating",1879),b(339,1,{339:1},KL),o.a=0,o.b=0,o.c=0,w(mf,"HyperEdgeSegmentSplitter/FreeArea",339),b(1880,1,Ne,L3n),o.Ne=function(e,t){return zae(u(e,118),u(t,118))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(mf,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),b(1881,1,re,MIn),o.Cd=function(e){k3e(this.a,this.d,this.c,this.b,u(e,118))},o.b=0,w(mf,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),b(1882,1,{},N3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).e,16))},w(mf,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),b(1883,1,{},$3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).j,16))},w(mf,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),b(1884,1,{},x3n),o.Ye=function(e){return $(R(e))},w(mf,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),b(664,1,{},lN),o.a=0,o.b=0,o.c=0,w(mf,"OrthogonalRoutingGenerator",664),b(1703,1,{},F3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).e,16))},w(mf,"OrthogonalRoutingGenerator/lambda$0$Type",1703),b(1704,1,{},B3n),o.Kb=function(e){return new Tn(null,new In(u(e,118).j,16))},w(mf,"OrthogonalRoutingGenerator/lambda$1$Type",1704),b(670,1,{}),w(KR,"BaseRoutingDirectionStrategy",670),b(1870,670,{},tjn),o.yg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j;if(!(e.r&&!e.q))for(d=t+e.o*i,a=new C(e.n);a.avh&&(s=d,c=e,r=new V(g,s),Fe(f.a,r),q0(this,f,c,r,!1),p=e.r,p&&(m=$(R(Zo(p.e,0))),r=new V(m,s),Fe(f.a,r),q0(this,f,c,r,!1),s=t+p.o*i,c=p,r=new V(m,s),Fe(f.a,r),q0(this,f,c,r,!1)),r=new V(j,s),Fe(f.a,r),q0(this,f,c,r,!1)))},o.zg=function(e){return e.i.n.a+e.n.a+e.a.a},o.Ag=function(){return en(),ae},o.Bg=function(){return en(),Xn},w(KR,"NorthToSouthRoutingStrategy",1870),b(1871,670,{},ijn),o.yg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j;if(!(e.r&&!e.q))for(d=t-e.o*i,a=new C(e.n);a.avh&&(s=d,c=e,r=new V(g,s),Fe(f.a,r),q0(this,f,c,r,!1),p=e.r,p&&(m=$(R(Zo(p.e,0))),r=new V(m,s),Fe(f.a,r),q0(this,f,c,r,!1),s=t-p.o*i,c=p,r=new V(m,s),Fe(f.a,r),q0(this,f,c,r,!1)),r=new V(j,s),Fe(f.a,r),q0(this,f,c,r,!1)))},o.zg=function(e){return e.i.n.a+e.n.a+e.a.a},o.Ag=function(){return en(),Xn},o.Bg=function(){return en(),ae},w(KR,"SouthToNorthRoutingStrategy",1871),b(1869,670,{},rjn),o.yg=function(e,t,i){var r,c,s,f,h,l,a,d,g,p,m,k,j;if(!(e.r&&!e.q))for(d=t+e.o*i,a=new C(e.n);a.avh&&(s=d,c=e,r=new V(s,g),Fe(f.a,r),q0(this,f,c,r,!0),p=e.r,p&&(m=$(R(Zo(p.e,0))),r=new V(s,m),Fe(f.a,r),q0(this,f,c,r,!0),s=t+p.o*i,c=p,r=new V(s,m),Fe(f.a,r),q0(this,f,c,r,!0)),r=new V(s,j),Fe(f.a,r),q0(this,f,c,r,!0)))},o.zg=function(e){return e.i.n.b+e.n.b+e.a.b},o.Ag=function(){return en(),Zn},o.Bg=function(){return en(),Wn},w(KR,"WestToEastRoutingStrategy",1869),b(828,1,{},Hen),o.Ib=function(){return ca(this.a)},o.b=0,o.c=!1,o.d=!1,o.f=0,w(jw,"NubSpline",828),b(418,1,{418:1},dqn,iOn),w(jw,"NubSpline/PolarCP",418),b(1480,1,vr,WRn),o.rg=function(e){return aye(u(e,36))},o.Kf=function(e,t){fLe(this,u(e,36),t)};var ire,rre,cre,ure,ore;w(jw,"SplineEdgeRouter",1480),b(274,1,{274:1},XM),o.Ib=function(){return this.a+" ->("+this.c+") "+this.b},o.c=0,w(jw,"SplineEdgeRouter/Dependency",274),b(465,22,{3:1,34:1,22:1,465:1},cX);var Ca,I2,sre=we(jw,"SplineEdgeRouter/SideToProcess",465,ke,e2e,c0e),fre;b(1481,1,De,R3n),o.Mb=function(e){return B5(),!u(e,131).o},w(jw,"SplineEdgeRouter/lambda$0$Type",1481),b(1482,1,{},K3n),o.Ze=function(e){return B5(),u(e,131).v+1},w(jw,"SplineEdgeRouter/lambda$1$Type",1482),b(1483,1,re,YCn),o.Cd=function(e){Abe(this.a,this.b,u(e,42))},w(jw,"SplineEdgeRouter/lambda$2$Type",1483),b(1484,1,re,ZCn),o.Cd=function(e){Sbe(this.a,this.b,u(e,42))},w(jw,"SplineEdgeRouter/lambda$3$Type",1484),b(131,1,{34:1,131:1},A_n,Ven),o.Fd=function(e){return Ihe(this,u(e,131))},o.b=0,o.e=!1,o.f=0,o.g=0,o.j=!1,o.k=!1,o.n=0,o.o=!1,o.p=!1,o.q=!1,o.s=0,o.u=0,o.v=0,o.F=0,w(jw,"SplineSegment",131),b(468,1,{468:1},_3n),o.a=0,o.b=!1,o.c=!1,o.d=!1,o.e=!1,o.f=0,w(jw,"SplineSegment/EdgeInformation",468),b(1198,1,{},H3n),w(Ll,Gtn,1198),b(1199,1,Ne,q3n),o.Ne=function(e,t){return VEe(u(e,121),u(t,121))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Ll,EXn,1199),b(1197,1,{},wEn),w(Ll,"MrTree",1197),b(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},pC),o.dg=function(){return V_n(this)},o.qg=function(){return V_n(this)};var LI,t9,i9,r9,rln=we(Ll,"TreeLayoutPhases",405,ke,i3e,u0e),hre;b(1112,205,yd,qAn),o.rf=function(e,t){var i,r,c,s,f,h,l,a;for(on(un(z(e,(lc(),Pln))))||X7((i=new Xv((c0(),new Qd(e))),i)),f=t.eh(qR),f.Ug("build tGraph",1),h=(l=new tk,Ur(l,e),U(l,(pt(),u9),e),a=new de,_Se(e,l,a),uPe(e,l,a),l),f.Vg(),f=t.eh(qR),f.Ug("Split graph",1),s=XSe(this.a,h),f.Vg(),c=new C(s);c.a"+td(this.c):"e_"+mt(this)},w(h8,"TEdge",65),b(121,137,{3:1,121:1,96:1,137:1},tk),o.Ib=function(){var e,t,i,r,c;for(c=null,r=ge(this.b,0);r.b!=r.d.c;)i=u(be(r),40),c+=(i.c==null||i.c.length==0?"n_"+i.g:"n_"+i.c)+` +`;for(t=ge(this.a,0);t.b!=t.d.c;)e=u(be(t),65),c+=(e.b&&e.c?td(e.b)+"->"+td(e.c):"e_"+mt(e))+` +`;return c};var MNe=w(h8,"TGraph",121);b(643,508,{3:1,508:1,643:1,96:1,137:1}),w(h8,"TShape",643),b(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},q$),o.Ib=function(){return td(this)};var NI=w(h8,"TNode",40);b(236,1,qh,sl),o.Jc=function(e){qi(this,e)},o.Kc=function(){var e;return e=ge(this.a.d,0),new sg(e)},w(h8,"TNode/2",236),b(329,1,Si,sg),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(be(this.a),65).c},o.Ob=function(){return Q9(this.a)},o.Qb=function(){p$(this.a)},w(h8,"TNode/2/1",329),b(1923,1,vt,J3n),o.Kf=function(e,t){RLe(this,u(e,121),t)},w(Rc,"CompactionProcessor",1923),b(1924,1,Ne,akn),o.Ne=function(e,t){return Tve(this.a,u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$0$Type",1924),b(1925,1,De,eMn),o.Mb=function(e){return Dge(this.b,this.a,u(e,42))},o.a=0,o.b=0,w(Rc,"CompactionProcessor/lambda$1$Type",1925),b(1934,1,Ne,Q3n),o.Ne=function(e,t){return Ewe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$10$Type",1934),b(1935,1,Ne,Y3n),o.Ne=function(e,t){return F1e(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$11$Type",1935),b(1936,1,Ne,Z3n),o.Ne=function(e,t){return Cwe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$12$Type",1936),b(1926,1,De,dkn),o.Mb=function(e){return k1e(this.a,u(e,42))},o.a=0,w(Rc,"CompactionProcessor/lambda$2$Type",1926),b(1927,1,De,bkn),o.Mb=function(e){return y1e(this.a,u(e,42))},o.a=0,w(Rc,"CompactionProcessor/lambda$3$Type",1927),b(1928,1,De,n4n),o.Mb=function(e){return u(e,40).c.indexOf(IS)==-1},w(Rc,"CompactionProcessor/lambda$4$Type",1928),b(1929,1,{},wkn),o.Kb=function(e){return Npe(this.a,u(e,40))},o.a=0,w(Rc,"CompactionProcessor/lambda$5$Type",1929),b(1930,1,{},gkn),o.Kb=function(e){return H4e(this.a,u(e,40))},o.a=0,w(Rc,"CompactionProcessor/lambda$6$Type",1930),b(1931,1,Ne,pkn),o.Ne=function(e,t){return Z3e(this.a,u(e,240),u(t,240))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$7$Type",1931),b(1932,1,Ne,mkn),o.Ne=function(e,t){return n4e(this.a,u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$8$Type",1932),b(1933,1,Ne,e4n),o.Ne=function(e,t){return B1e(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Rc,"CompactionProcessor/lambda$9$Type",1933),b(1921,1,vt,t4n),o.Kf=function(e,t){$Ae(u(e,121),t)},w(Rc,"DirectionProcessor",1921),b(1913,1,vt,HAn),o.Kf=function(e,t){rPe(this,u(e,121),t)},w(Rc,"FanProcessor",1913),b(1937,1,vt,i4n),o.Kf=function(e,t){EAe(u(e,121),t)},w(Rc,"GraphBoundsProcessor",1937),b(1938,1,{},r4n),o.Ye=function(e){return u(e,40).e.a},w(Rc,"GraphBoundsProcessor/lambda$0$Type",1938),b(1939,1,{},c4n),o.Ye=function(e){return u(e,40).e.b},w(Rc,"GraphBoundsProcessor/lambda$1$Type",1939),b(1940,1,{},u4n),o.Ye=function(e){return ile(u(e,40))},w(Rc,"GraphBoundsProcessor/lambda$2$Type",1940),b(1941,1,{},o4n),o.Ye=function(e){return tle(u(e,40))},w(Rc,"GraphBoundsProcessor/lambda$3$Type",1941),b(262,22,{3:1,34:1,22:1,262:1,196:1},u0),o.dg=function(){switch(this.g){case 0:return new mjn;case 1:return new HAn;case 2:return new pjn;case 3:return new a4n;case 4:return new f4n;case 8:return new s4n;case 5:return new t4n;case 6:return new b4n;case 7:return new J3n;case 9:return new i4n;case 10:return new w4n;default:throw M(new Gn(cR+(this.f!=null?this.f:""+this.g)))}};var cln,uln,oln,sln,fln,hln,lln,aln,dln,bln,ZH,TNe=we(Rc,uR,262,ke,xxn,o0e),lre;b(1920,1,vt,s4n),o.Kf=function(e,t){xDe(u(e,121),t)},w(Rc,"LevelCoordinatesProcessor",1920),b(1918,1,vt,f4n),o.Kf=function(e,t){iTe(this,u(e,121),t)},o.a=0,w(Rc,"LevelHeightProcessor",1918),b(1919,1,qh,h4n),o.Jc=function(e){qi(this,e)},o.Kc=function(){return Dn(),l4(),fv},w(Rc,"LevelHeightProcessor/1",1919),b(1914,1,vt,pjn),o.Kf=function(e,t){pAe(this,u(e,121),t)},w(Rc,"LevelProcessor",1914),b(1915,1,De,l4n),o.Mb=function(e){return on(un(v(u(e,40),(pt(),Ma))))},w(Rc,"LevelProcessor/lambda$0$Type",1915),b(1916,1,vt,a4n),o.Kf=function(e,t){nEe(this,u(e,121),t)},o.a=0,w(Rc,"NeighborsProcessor",1916),b(1917,1,qh,d4n),o.Jc=function(e){qi(this,e)},o.Kc=function(){return Dn(),l4(),fv},w(Rc,"NeighborsProcessor/1",1917),b(1922,1,vt,b4n),o.Kf=function(e,t){iPe(this,u(e,121),t)},o.a=0,w(Rc,"NodePositionProcessor",1922),b(1912,1,vt,mjn),o.Kf=function(e,t){BIe(this,u(e,121),t)},w(Rc,"RootProcessor",1912),b(1942,1,vt,w4n),o.Kf=function(e,t){N9e(u(e,121),t)},w(Rc,"Untreeifyer",1942),b(392,22,{3:1,34:1,22:1,392:1},eL);var Lj,nq,wln,gln=we(Gy,"EdgeRoutingMode",392,ke,J2e,s0e),are,Nj,Dv,eq,pln,mln,tq,iq,vln,rq,kln,cq,c9,uq,$I,xI,Js,jf,Lv,u9,o9,j1,yln,dre,oq,Ma,$j,xj;b(862,1,ms,f8n),o.hf=function(e){vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Srn),""),wVn),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(_n(),!1)),(l1(),yi)),Gt),jn((pf(),xn))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Prn),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Irn),""),"Tree Level"),"The index for the tree level the node is in"),Y(0)),Zr),Gi),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Orn),""),wVn),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),Y(-1)),Zr),Gi),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Drn),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),Cln),Pt),xln),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Lrn),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),jln),Pt),gln),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Nrn),""),"Search Order"),"Which search order to use when computing a spanning tree."),Eln),Pt),Bln),jn(xn)))),rzn((new a8n,e))};var bre,wre,gre,jln,pre,mre,Eln,vre,kre,Cln;w(Gy,"MrTreeMetaDataProvider",862),b(1006,1,ms,a8n),o.hf=function(e){rzn(e)};var yre,Mln,Tln,vb,Aln,Sln,sq,jre,Ere,Cre,Mre,Tre,Are,Sre,Pln,Iln,Oln,Pre,O2,FI,Dln,Ire,Lln,fq,Ore,Dre,Lre,Nln,Nre,Sh,$ln;w(Gy,"MrTreeOptions",1006),b(1007,1,{},g4n),o.sf=function(){var e;return e=new qAn,e},o.tf=function(e){},w(Gy,"MrTreeOptions/MrtreeFactory",1007),b(353,22,{3:1,34:1,22:1,353:1},mC);var hq,BI,lq,aq,xln=we(Gy,"OrderWeighting",353,ke,r3e,f0e),$re;b(433,22,{3:1,34:1,22:1,433:1},uX);var Fln,dq,Bln=we(Gy,"TreeifyingOrder",433,ke,Zge,h0e),xre;b(1486,1,vr,d8n),o.rg=function(e){return u(e,121),Fre},o.Kf=function(e,t){bve(this,u(e,121),t)};var Fre;w("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),b(1487,1,vr,b8n),o.rg=function(e){return u(e,121),Bre},o.Kf=function(e,t){yAe(this,u(e,121),t)};var Bre;w(Jm,"NodeOrderer",1487),b(1494,1,{},_se),o.td=function(e){return WSn(e)},w(Jm,"NodeOrderer/0methodref$lambda$6$Type",1494),b(1488,1,De,D4n),o.Mb=function(e){return _p(),on(un(v(u(e,40),(pt(),Ma))))},w(Jm,"NodeOrderer/lambda$0$Type",1488),b(1489,1,De,L4n),o.Mb=function(e){return _p(),u(v(u(e,40),(lc(),O2)),17).a<0},w(Jm,"NodeOrderer/lambda$1$Type",1489),b(1490,1,De,kkn),o.Mb=function(e){return qme(this.a,u(e,40))},w(Jm,"NodeOrderer/lambda$2$Type",1490),b(1491,1,De,vkn),o.Mb=function(e){return Fpe(this.a,u(e,40))},w(Jm,"NodeOrderer/lambda$3$Type",1491),b(1492,1,Ne,N4n),o.Ne=function(e,t){return ame(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Jm,"NodeOrderer/lambda$4$Type",1492),b(1493,1,De,$4n),o.Mb=function(e){return _p(),u(v(u(e,40),(pt(),iq)),17).a!=0},w(Jm,"NodeOrderer/lambda$5$Type",1493),b(1495,1,vr,l8n),o.rg=function(e){return u(e,121),Rre},o.Kf=function(e,t){ISe(this,u(e,121),t)},o.b=0;var Rre;w("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),b(1496,1,vr,h8n),o.rg=function(e){return u(e,121),Kre},o.Kf=function(e,t){lSe(u(e,121),t)};var Kre,ANe=w(po,"EdgeRouter",1496);b(1498,1,Ne,O4n),o.Ne=function(e,t){return jc(u(e,17).a,u(t,17).a)},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/0methodref$compare$Type",1498),b(1503,1,{},m4n),o.Ye=function(e){return $(R(e))},w(po,"EdgeRouter/1methodref$doubleValue$Type",1503),b(1505,1,Ne,v4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/2methodref$compare$Type",1505),b(1507,1,Ne,k4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/3methodref$compare$Type",1507),b(1509,1,{},p4n),o.Ye=function(e){return $(R(e))},w(po,"EdgeRouter/4methodref$doubleValue$Type",1509),b(1511,1,Ne,y4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/5methodref$compare$Type",1511),b(1513,1,Ne,j4n),o.Ne=function(e,t){return bt($(R(e)),$(R(t)))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/6methodref$compare$Type",1513),b(1497,1,{},E4n),o.Kb=function(e){return kl(),u(v(u(e,40),(lc(),Sh)),17)},w(po,"EdgeRouter/lambda$0$Type",1497),b(1508,1,{},C4n),o.Kb=function(e){return Q1e(u(e,40))},w(po,"EdgeRouter/lambda$11$Type",1508),b(1510,1,{},tMn),o.Kb=function(e){return Mbe(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$13$Type",1510),b(1512,1,{},iMn),o.Kb=function(e){return Y1e(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$15$Type",1512),b(1514,1,Ne,M4n),o.Ne=function(e,t){return h9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$17$Type",1514),b(1515,1,Ne,T4n),o.Ne=function(e,t){return l9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$18$Type",1515),b(1516,1,Ne,A4n),o.Ne=function(e,t){return d9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$19$Type",1516),b(1499,1,De,ykn),o.Mb=function(e){return b2e(this.a,u(e,40))},o.a=0,w(po,"EdgeRouter/lambda$2$Type",1499),b(1517,1,Ne,S4n),o.Ne=function(e,t){return a9e(u(e,65),u(t,65))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$20$Type",1517),b(1500,1,Ne,P4n),o.Ne=function(e,t){return lbe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$3$Type",1500),b(1501,1,Ne,I4n),o.Ne=function(e,t){return abe(u(e,40),u(t,40))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"EdgeRouter/lambda$4$Type",1501),b(1502,1,{},x4n),o.Kb=function(e){return Z1e(u(e,40))},w(po,"EdgeRouter/lambda$5$Type",1502),b(1504,1,{},rMn),o.Kb=function(e){return Tbe(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$7$Type",1504),b(1506,1,{},cMn),o.Kb=function(e){return nae(this.b,this.a,u(e,40))},o.a=0,o.b=0,w(po,"EdgeRouter/lambda$9$Type",1506),b(675,1,{675:1},FRn),o.e=0,o.f=!1,o.g=!1,w(po,"MultiLevelEdgeNodeNodeGap",675),b(1943,1,Ne,F4n),o.Ne=function(e,t){return C2e(u(e,240),u(t,240))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),b(1944,1,Ne,B4n),o.Ne=function(e,t){return M2e(u(e,240),u(t,240))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(po,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var D2;b(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},oX),o.dg=function(){return EBn(this)},o.qg=function(){return EBn(this)};var RI,L2,Rln=we($rn,"RadialLayoutPhases",501,ke,zge,l0e),_re;b(1113,205,yd,bEn),o.rf=function(e,t){var i,r,c,s,f,h;if(i=sqn(this,e),t.Ug("Radial layout",i.c.length),on(un(z(e,(oa(),Jln))))||X7((r=new Xv((c0(),new Qd(e))),r)),h=wye(e),ht(e,(Tg(),D2),h),!h)throw M(new Gn("The given graph is not a tree!"));for(c=$(R(z(e,HI))),c==0&&(c=H_n(e)),ht(e,HI,c),f=new C(sqn(this,e));f.a=3)for(X=u(L(N,0),27),tn=u(L(N,1),27),s=0;s+2=X.f+tn.f+d||tn.f>=_.f+X.f+d){yn=!0;break}else++s;else yn=!0;if(!yn){for(p=N.i,h=new ne(N);h.e!=h.i.gc();)f=u(ue(h),27),ht(f,(He(),Jj),Y(p)),--p;BUn(e,new op),t.Vg();return}for(i=(H7(this.a),hf(this.a,(XT(),Bj),u(z(e,M1n),188)),hf(this.a,qI,u(z(e,v1n),188)),hf(this.a,Mq,u(z(e,j1n),188)),MX(this.a,(Fn=new ii,Ke(Fn,Bj,(rA(),Sq)),Ke(Fn,qI,Aq),on(un(z(e,p1n)))&&Ke(Fn,Bj,Tq),Fn)),gy(this.a,e)),a=1/i.c.length,k=new C(i);k.a0&&XFn((zn(t-1,e.length),e.charCodeAt(t-1)),NXn);)--t;if(r>=t)throw M(new Gn("The given string does not contain any numbers."));if(c=ww((Fi(r,t,e.length),e.substr(r,t-r)),`,|;|\r| +`),c.length!=2)throw M(new Gn("Exactly two numbers are expected, "+c.length+" were found."));try{this.a=sw(fw(c[0])),this.b=sw(fw(c[1]))}catch(s){throw s=It(s),D(s,130)?(i=s,M(new Gn($Xn+i))):M(s)}},o.Ib=function(){return"("+this.a+","+this.b+")"},o.a=0,o.b=0;var Ei=w(Ky,"KVector",8);b(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},Mu,GE,aAn),o.Pc=function(){return O6e(this)},o.cg=function(e){var t,i,r,c,s,f;r=ww(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),vo(this);try{for(i=0,s=0,c=0,f=0;i0&&(s%2==0?c=sw(r[i]):f=sw(r[i]),s>0&&s%2!=0&&Fe(this,new V(c,f)),++s),++i}catch(h){throw h=It(h),D(h,130)?(t=h,M(new Gn("The given string does not match the expected format for vectors."+t))):M(h)}},o.Ib=function(){var e,t,i;for(e=new mo("("),t=ge(this,0);t.b!=t.d.c;)i=u(be(t),8),Re(e,i.a+","+i.b),t.b!=t.d.c&&(e.a+="; ");return(e.a+=")",e).a};var san=w(Ky,"KVectorChain",75);b(255,22,{3:1,34:1,22:1,255:1},v6);var Vq,ZI,nO,qj,Uj,eO,fan=we(uo,"Alignment",255,ke,S4e,$0e),yue;b(991,1,ms,E8n),o.hf=function(e){yUn(e)};var han,Wq,jue,lan,aan,Eue,dan,Cue,Mue,ban,wan,Tue;w(uo,"BoxLayouterOptions",991),b(992,1,{},zmn),o.sf=function(){var e;return e=new Wmn,e},o.tf=function(e){},w(uo,"BoxLayouterOptions/BoxFactory",992),b(298,22,{3:1,34:1,22:1,298:1},k6);var w9,Jq,g9,p9,m9,Qq,Yq=we(uo,"ContentAlignment",298,ke,P4e,x0e),Aue;b(699,1,ms,cG),o.hf=function(e){vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,xVn),""),"Layout Algorithm"),"Select a specific layout algorithm."),(l1(),$2)),fn),jn((pf(),xn))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,FVn),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),Vf),INe),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,rrn),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),gan),Pt),fan),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,l3),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,pcn),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),Vf),san),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,MS),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),man),L3),Yq),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Uy),""),"Debug Mode"),"Whether additional debug information shall be generated."),(_n(),!1)),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,xR),""),Btn),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),van),Pt),y9),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,qy),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),jan),Pt),aU),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wcn),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,CS),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),Man),Pt),ldn),yt(xn,A(T(Zh,1),G,170,0,[pi]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,W0),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),Nan),Vf),$on),yt(xn,A(T(Zh,1),G,170,0,[pi]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,i8),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,AS),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,r8),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,tR),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),Ran),Pt),bdn),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,TS),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),Vf),Ei),yt(pi,A(T(Zh,1),G,170,0,[Kd,E1]))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,Ny),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Zr),Gi),yt(pi,A(T(Zh,1),G,170,0,[Ph]))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,uS),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,t8),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,wrn),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),Tan),Vf),san),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mrn),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),yi),Gt),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vrn),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),yi),Gt),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,iNe),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),Vf),$Ne),yt(xn,A(T(Zh,1),G,170,0,[E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yrn),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),Aan),Vf),Non),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,trn),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),yi),Gt),yt(pi,A(T(Zh,1),G,170,0,[Ph,Kd,E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,BVn),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Qi),si),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,RVn),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,KVn),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,$y),""),OVn),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),yi),Gt),jn(xn)))),ri(e,$y,J0,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,_Vn),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,HVn),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),Y(100)),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,qVn),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,UVn),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),Y(4e3)),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,GVn),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),Y(400)),Zr),Gi),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,zVn),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,XVn),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,VVn),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,WVn),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,gcn),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),pan),Pt),Cdn),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Gin),qf),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,zin),qf),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,WB),qf),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Xin),qf),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,eR),qf),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,$R),qf),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Vin),qf),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Qin),qf),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Win),qf),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Jin),qf),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,yw),qf),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Yin),qf),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Qi),si),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Zin),qf),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Qi),si),yt(xn,A(T(Zh,1),G,170,0,[pi]))))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,nrn),qf),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),Vf),boe),yt(pi,A(T(Zh,1),G,170,0,[Ph,Kd,E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,jrn),qf),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),Jan),Vf),Non),jn(xn)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,BR),YVn),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),Zr),Gi),yt(xn,A(T(Zh,1),G,170,0,[pi]))))),ri(e,BR,FR,xue),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,FR),YVn),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),$an),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,orn),ZVn),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),Pan),Vf),$on),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Xm),ZVn),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),Ian),L3),yr),yt(pi,A(T(Zh,1),G,170,0,[E1]))))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,hrn),FS),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),Fan),Pt),M9),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,lrn),FS),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),Pt),M9),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,arn),FS),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),Pt),M9),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,drn),FS),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),Pt),M9),jn(pi)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,brn),FS),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),Pt),M9),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,r2),uK),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),Oan),L3),S9),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,a3),uK),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),Lan),L3),gdn),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,d3),uK),"Node Size Minimum"),"The minimal size to which a node can be reduced."),Dan),Vf),Ei),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,zm),uK),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),yi),Gt),jn(xn)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,grn),NR),"Edge Label Placement"),"Gives a hint on where to put edge labels."),kan),Pt),Zan),jn(E1)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,oS),NR),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),yi),Gt),jn(E1)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,rNe),"font"),"Font Name"),"Font name used for a label."),$2),fn),jn(E1)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,JVn),"font"),"Font Size"),"Font size used for a label."),Zr),Gi),jn(E1)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,krn),oK),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),Vf),Ei),jn(Kd)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,prn),oK),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),Zr),Gi),jn(Kd)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,irn),oK),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),Han),Pt),lr),jn(Kd)))),vn(e,new ln(pn(gn(mn(an(wn(dn(bn(new hn,ern),oK),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Qi),si),jn(Kd)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Vm),kcn),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),Kan),L3),oO),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,srn),kcn),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),yi),Gt),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,frn),kcn),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),yi),Gt),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,xy),Xy),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),Qi),si),jn(xn)))),ri(e,xy,J0,Uue),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,mcn),Xy),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),Pt),dO),jn(pi)))),ri(e,mcn,J0,Gue),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,Fy),Xy),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),Qi),si),yt(xn,A(T(Zh,1),G,170,0,[pi]))))),ri(e,Fy,J0,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,By),Xy),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),Qi),si),yt(xn,A(T(Zh,1),G,170,0,[pi]))))),ri(e,By,J0,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,J0),Xy),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),Pt),mdn),jn(pi)))),ri(e,J0,zm,null),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,vcn),Xy),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),Qi),si),jn(xn)))),ri(e,vcn,J0,que),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,crn),nWn),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),yi),Gt),jn(pi)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,urn),nWn),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),yi),Gt),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,JB),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Qi),si),jn(Ph)))),vn(e,new ln(pn(gn(mn(Sn(an(wn(dn(bn(new hn,QVn),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),Can),Pt),cdn),jn(Ph)))),f6(e,new Np(r6(u4(c4(new tp,Yn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),f6(e,new Np(r6(u4(c4(new tp,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),f6(e,new Np(r6(u4(c4(new tp,cu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),f6(e,new Np(r6(u4(c4(new tp,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),f6(e,new Np(r6(u4(c4(new tp,gVn),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),f6(e,new Np(r6(u4(c4(new tp,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),f6(e,new Np(r6(u4(c4(new tp,es),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),uUn((new C8n,e)),yUn((new E8n,e)),Nqn((new M8n,e))};var $v,Sue,gan,x2,Pue,Iue,pan,F2,B2,Oue,Gj,man,zj,_d,van,Zq,nU,kan,yan,jan,Ean,Can,Due,R2,Man,Lue,Xj,eU,Vj,tU,kb,Tan,xv,Aan,San,Pan,K2,Ian,Hd,Oan,Vw,_2,Dan,Ta,Lan,tO,Wj,C1,Nan,Nue,$an,$ue,xue,xan,Fan,iU,rU,cU,uU,Ban,oo,v9,Ran,oU,sU,Ww,Kan,_an,H2,Han,N3,Jj,fU,q2,Fue,hU,Bue,Rue,qan,Kue,Uan,Gan,$3,zan,iO,Xan,Van,qd,_ue,Wan,Jan,Qan,rO,Qj,k9,x3,Hue,que,cO,Uue,Yan,Gue;w(uo,"CoreOptions",699),b(88,22,{3:1,34:1,22:1,88:1},p7);var Wf,Br,Xr,Jf,us,y9=we(uo,Btn,88,ke,L3e,F0e),zue;b(278,22,{3:1,34:1,22:1,278:1},fL);var Fv,Jw,Bv,Zan=we(uo,"EdgeLabelPlacement",278,ke,spe,B0e),Xue;b(223,22,{3:1,34:1,22:1,223:1},kC);var Rv,Yj,F3,lU,aU=we(uo,"EdgeRouting",223,ke,s3e,R0e),Vue;b(321,22,{3:1,34:1,22:1,321:1},y6);var ndn,edn,tdn,idn,dU,rdn,cdn=we(uo,"EdgeType",321,ke,A4e,K0e),Wue;b(989,1,ms,C8n),o.hf=function(e){uUn(e)};var udn,odn,sdn,fdn,Jue,hdn,j9;w(uo,"FixedLayouterOptions",989),b(990,1,{},Xmn),o.sf=function(){var e;return e=new rvn,e},o.tf=function(e){},w(uo,"FixedLayouterOptions/FixedFactory",990),b(346,22,{3:1,34:1,22:1,346:1},hL);var M1,uO,E9,ldn=we(uo,"HierarchyHandling",346,ke,upe,_0e),Que;b(291,22,{3:1,34:1,22:1,291:1},yC);var nl,Aa,Zj,nE,Yue=we(uo,"LabelSide",291,ke,o3e,H0e),Zue;b(95,22,{3:1,34:1,22:1,95:1},bg);var xl,Qs,Cs,Ys,Lo,Zs,Ms,el,nf,yr=we(uo,"NodeLabelPlacement",95,ke,Sme,q0e),noe;b(256,22,{3:1,34:1,22:1,256:1},m7);var adn,C9,Sa,ddn,eE,M9=we(uo,"PortAlignment",256,ke,V3e,U0e),eoe;b(101,22,{3:1,34:1,22:1,101:1},j6);var Ud,qc,tl,Kv,Qf,Pa,bdn=we(uo,"PortConstraints",101,ke,T4e,G0e),toe;b(279,22,{3:1,34:1,22:1,279:1},E6);var T9,A9,Fl,tE,Ia,B3,oO=we(uo,"PortLabelPlacement",279,ke,M4e,z0e),ioe;b(64,22,{3:1,34:1,22:1,64:1},v7);var Zn,Xn,os,ss,pu,su,Yf,ef,Wu,xu,Uc,Ju,mu,vu,tf,No,$o,Ts,ae,sc,Wn,lr=we(uo,"PortSide",64,ke,N3e,X0e),roe;b(993,1,ms,M8n),o.hf=function(e){Nqn(e)};var coe,uoe,wdn,ooe,soe;w(uo,"RandomLayouterOptions",993),b(994,1,{},Vmn),o.sf=function(){var e;return e=new evn,e},o.tf=function(e){},w(uo,"RandomLayouterOptions/RandomFactory",994),b(386,22,{3:1,34:1,22:1,386:1},jC);var Qw,iE,rE,Gd,S9=we(uo,"SizeConstraint",386,ke,u3e,V0e),foe;b(264,22,{3:1,34:1,22:1,264:1},wg);var cE,sO,_v,bU,uE,P9,fO,hO,lO,gdn=we(uo,"SizeOptions",264,ke,Kme,W0e),hoe;b(280,22,{3:1,34:1,22:1,280:1},lL);var Yw,pdn,aO,mdn=we(uo,"TopdownNodeTypes",280,ke,fpe,J0e),loe;b(347,22,ycn);var vdn,kdn,dO=we(uo,"TopdownSizeApproximator",347,ke,r2e,Y0e);b(987,347,ycn,VSn),o.Tg=function(e){return CRn(e)},we(uo,"TopdownSizeApproximator/1",987,dO,null,null),b(988,347,ycn,LPn),o.Tg=function(e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn,Fn;for(t=u(z(e,(He(),q2)),143),tn=(B1(),m=new Yv,m),uy(tn,e),yn=new de,s=new ne((!e.a&&(e.a=new q(Ye,e,10,11)),e.a));s.e!=s.i.gc();)r=u(ue(s),27),O=(p=new Yv,p),SA(O,tn),uy(O,r),Fn=CRn(r),kg(O,y.Math.max(r.g,Fn.a),y.Math.max(r.f,Fn.b)),Vc(yn.f,r,O);for(c=new ne((!e.a&&(e.a=new q(Ye,e,10,11)),e.a));c.e!=c.i.gc();)for(r=u(ue(c),27),d=new ne((!r.e&&(r.e=new Nn(Vt,r,7,4)),r.e));d.e!=d.i.gc();)a=u(ue(d),74),_=u(Kr(wr(yn.f,r)),27),X=u(ee(yn,L((!a.c&&(a.c=new Nn(he,a,5,8)),a.c),0)),27),N=(g=new HO,g),ve((!N.b&&(N.b=new Nn(he,N,4,7)),N.b),_),ve((!N.c&&(N.c=new Nn(he,N,5,8)),N.c),X),AA(N,At(_)),uy(N,a);j=u(z7(t.f),205);try{j.rf(tn,new ovn),hIn(t.f,j)}catch(Rn){throw Rn=It(Rn),D(Rn,103)?(k=Rn,M(k)):M(Rn)}return Lf(tn,B2)||Lf(tn,F2)||otn(tn),l=$(R(z(tn,B2))),h=$(R(z(tn,F2))),f=l/h,i=$(R(z(tn,Qj)))*y.Math.sqrt((!tn.a&&(tn.a=new q(Ye,tn,10,11)),tn.a).i),kn=u(z(tn,C1),107),I=kn.b+kn.c+1,S=kn.d+kn.a+1,new V(y.Math.max(I,i),y.Math.max(S,i/f))},we(uo,"TopdownSizeApproximator/2",988,dO,null,null);var aoe;b(344,1,{871:1},op),o.Ug=function(e,t){return FKn(this,e,t)},o.Vg=function(){u_n(this)},o.Wg=function(){return this.q},o.Xg=function(){return this.f?TN(this.f):null},o.Yg=function(){return TN(this.a)},o.Zg=function(){return this.p},o.$g=function(){return!1},o._g=function(){return this.n},o.ah=function(){return this.p!=null&&!this.b},o.bh=function(e){var t;this.n&&(t=e,nn(this.f,t))},o.dh=function(e,t){var i,r;this.n&&e&&Cpe(this,(i=new GPn,r=IF(i,e),cDe(i),r),(LT(),gU))},o.eh=function(e){var t;return this.b?null:(t=fme(this,this.g),Fe(this.a,t),t.i=this,this.d=e,t)},o.fh=function(e){e>0&&!this.b&&CQ(this,e)},o.b=!1,o.c=0,o.d=-1,o.e=null,o.f=null,o.g=-1,o.j=!1,o.k=!1,o.n=!1,o.o=0,o.q=0,o.r=0,w(dc,"BasicProgressMonitor",344),b(717,205,yd,Wmn),o.rf=function(e,t){BUn(e,t)},w(dc,"BoxLayoutProvider",717),b(983,1,Ne,Lkn),o.Ne=function(e,t){return cTe(this,u(e,27),u(t,27))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},o.a=!1,w(dc,"BoxLayoutProvider/1",983),b(163,1,{163:1},hT,mAn),o.Ib=function(){return this.c?Een(this.c):ca(this.b)},w(dc,"BoxLayoutProvider/Group",163),b(320,22,{3:1,34:1,22:1,320:1},EC);var ydn,jdn,Edn,wU,Cdn=we(dc,"BoxLayoutProvider/PackingMode",320,ke,f3e,Z0e),doe;b(984,1,Ne,Jmn),o.Ne=function(e,t){return Cge(u(e,163),u(t,163))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(dc,"BoxLayoutProvider/lambda$0$Type",984),b(985,1,Ne,Qmn),o.Ne=function(e,t){return gge(u(e,163),u(t,163))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(dc,"BoxLayoutProvider/lambda$1$Type",985),b(986,1,Ne,Ymn),o.Ne=function(e,t){return pge(u(e,163),u(t,163))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(dc,"BoxLayoutProvider/lambda$2$Type",986),b(1384,1,{845:1},Zmn),o.Mg=function(e,t){return nC(),!D(t,167)||vEn((qp(),u(e,167)),t)},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),b(1385,1,re,Nkn),o.Cd=function(e){N6e(this.a,u(e,149))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),b(1386,1,re,tvn),o.Cd=function(e){u(e,96),nC()},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),b(1390,1,re,$kn),o.Cd=function(e){tve(this.a,u(e,96))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),b(1388,1,De,fMn),o.Mb=function(e){return w6e(this.a,this.b,u(e,149))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),b(1387,1,De,hMn),o.Mb=function(e){return J1e(this.a,this.b,u(e,845))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),b(1389,1,re,lMn),o.Cd=function(e){fwe(this.a,this.b,u(e,149))},w(dc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),b(947,1,{},ivn),o.Kb=function(e){return uTn(e)},o.Fb=function(e){return this===e},w(dc,"ElkUtil/lambda$0$Type",947),b(948,1,re,aMn),o.Cd=function(e){sCe(this.a,this.b,u(e,74))},o.a=0,o.b=0,w(dc,"ElkUtil/lambda$1$Type",948),b(949,1,re,dMn),o.Cd=function(e){Zfe(this.a,this.b,u(e,166))},o.a=0,o.b=0,w(dc,"ElkUtil/lambda$2$Type",949),b(950,1,re,bMn),o.Cd=function(e){Vle(this.a,this.b,u(e,135))},o.a=0,o.b=0,w(dc,"ElkUtil/lambda$3$Type",950),b(951,1,re,xkn),o.Cd=function(e){Ibe(this.a,u(e,377))},w(dc,"ElkUtil/lambda$4$Type",951),b(325,1,{34:1,325:1},Pfe),o.Fd=function(e){return E1e(this,u(e,242))},o.Fb=function(e){var t;return D(e,325)?(t=u(e,325),this.a==t.a):!1},o.Hb=function(){return wi(this.a)},o.Ib=function(){return this.a+" (exclusive)"},o.a=0,w(dc,"ExclusiveBounds/ExclusiveLowerBound",325),b(1119,205,yd,rvn),o.rf=function(e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I,O,N,_,X,tn,yn,kn;for(t.Ug("Fixed Layout",1),s=u(z(e,(He(),yan)),223),g=0,p=0,O=new ne((!e.a&&(e.a=new q(Ye,e,10,11)),e.a));O.e!=O.i.gc();){for(S=u(ue(O),27),kn=u(z(S,(NT(),j9)),8),kn&&(Ro(S,kn.a,kn.b),u(z(S,odn),181).Hc((go(),Qw))&&(m=u(z(S,fdn),8),m.a>0&&m.b>0&&G0(S,m.a,m.b,!0,!0))),g=y.Math.max(g,S.i+S.g),p=y.Math.max(p,S.j+S.f),a=new ne((!S.n&&(S.n=new q(Ar,S,1,7)),S.n));a.e!=a.i.gc();)h=u(ue(a),135),kn=u(z(h,j9),8),kn&&Ro(h,kn.a,kn.b),g=y.Math.max(g,S.i+h.i+h.g),p=y.Math.max(p,S.j+h.j+h.f);for(X=new ne((!S.c&&(S.c=new q(Qu,S,9,9)),S.c));X.e!=X.i.gc();)for(_=u(ue(X),123),kn=u(z(_,j9),8),kn&&Ro(_,kn.a,kn.b),tn=S.i+_.i,yn=S.j+_.j,g=y.Math.max(g,tn+_.g),p=y.Math.max(p,yn+_.f),l=new ne((!_.n&&(_.n=new q(Ar,_,1,7)),_.n));l.e!=l.i.gc();)h=u(ue(l),135),kn=u(z(h,j9),8),kn&&Ro(h,kn.a,kn.b),g=y.Math.max(g,tn+h.i+h.g),p=y.Math.max(p,yn+h.j+h.f);for(c=new ie(ce(Al(S).a.Kc(),new En));pe(c);)i=u(fe(c),74),d=YGn(i),g=y.Math.max(g,d.a),p=y.Math.max(p,d.b);for(r=new ie(ce(cy(S).a.Kc(),new En));pe(r);)i=u(fe(r),74),At(Kh(i))!=e&&(d=YGn(i),g=y.Math.max(g,d.a),p=y.Math.max(p,d.b))}if(s==(El(),Rv))for(I=new ne((!e.a&&(e.a=new q(Ye,e,10,11)),e.a));I.e!=I.i.gc();)for(S=u(ue(I),27),r=new ie(ce(Al(S).a.Kc(),new En));pe(r);)i=u(fe(r),74),f=hPe(i),f.b==0?ht(i,kb,null):ht(i,kb,f);on(un(z(e,(NT(),sdn))))||(N=u(z(e,Jue),107),j=g+N.b+N.c,k=p+N.d+N.a,G0(e,j,k,!0,!0)),t.Vg()},w(dc,"FixedLayoutProvider",1119),b(385,137,{3:1,423:1,385:1,96:1,137:1},_O,JNn),o.cg=function(e){var t,i,r,c,s,f,h,l,a;if(e)try{for(l=ww(e,";,;"),s=l,f=0,h=s.length;f>16&ui|t^r<<16},o.Kc=function(){return new Fkn(this)},o.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+Jr(this.b)+")":this.b==null?"pair("+Jr(this.a)+",null)":"pair("+Jr(this.a)+","+Jr(this.b)+")"},w(dc,"Pair",42),b(995,1,Si,Fkn),o.Nb=function(e){_i(this,e)},o.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},o.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw M(new nc)},o.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),M(new Cu)},o.b=!1,o.c=!1,w(dc,"Pair/1",995),b(455,1,{455:1},TIn),o.Fb=function(e){return mc(this.a,u(e,455).a)&&mc(this.c,u(e,455).c)&&mc(this.d,u(e,455).d)&&mc(this.b,u(e,455).b)},o.Hb=function(){return Ik(A(T(ki,1),Bn,1,5,[this.a,this.c,this.d,this.b]))},o.Ib=function(){return"("+this.a+ur+this.c+ur+this.d+ur+this.b+")"},w(dc,"Quadruple",455),b(1108,205,yd,evn),o.rf=function(e,t){var i,r,c,s,f;if(t.Ug("Random Layout",1),(!e.a&&(e.a=new q(Ye,e,10,11)),e.a).i==0){t.Vg();return}s=u(z(e,(YY(),ooe)),17),s&&s.a!=0?c=new qM(s.a):c=new dx,i=J9(R(z(e,coe))),f=J9(R(z(e,soe))),r=u(z(e,uoe),107),SDe(e,c,i,f,r),t.Vg()},w(dc,"RandomLayoutProvider",1108),b(240,1,{240:1},_L),o.Fb=function(e){return mc(this.a,u(e,240).a)&&mc(this.b,u(e,240).b)&&mc(this.c,u(e,240).c)},o.Hb=function(){return Ik(A(T(ki,1),Bn,1,5,[this.a,this.b,this.c]))},o.Ib=function(){return"("+this.a+ur+this.b+ur+this.c+")"},w(dc,"Triple",240);var poe;b(562,1,{}),o.Lf=function(){return new V(this.f.i,this.f.j)},o.of=function(e){return nOn(e,(He(),oo))?z(this.f,moe):z(this.f,e)},o.Mf=function(){return new V(this.f.g,this.f.f)},o.Nf=function(){return this.g},o.pf=function(e){return Lf(this.f,e)},o.Of=function(e){eu(this.f,e.a),tu(this.f,e.b)},o.Pf=function(e){I0(this.f,e.a),P0(this.f,e.b)},o.Qf=function(e){this.g=e},o.g=0;var moe;w(d8,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),b(563,1,{853:1},DE),o.Rf=function(){var e,t;if(!this.b)for(this.b=RM(jM(this.a).i),t=new ne(jM(this.a));t.e!=t.i.gc();)e=u(ue(t),135),nn(this.b,new pD(e));return this.b},o.b=null,w(d8,"ElkGraphAdapters/ElkEdgeAdapter",563),b(289,562,{},Qd),o.Sf=function(){return zRn(this)},o.a=null,w(d8,"ElkGraphAdapters/ElkGraphAdapter",289),b(640,562,{187:1},pD),w(d8,"ElkGraphAdapters/ElkLabelAdapter",640),b(639,562,{695:1},ML),o.Rf=function(){return w7e(this)},o.Vf=function(){var e;return e=u(z(this.f,(He(),xv)),140),!e&&(e=new Qv),e},o.Xf=function(){return g7e(this)},o.Zf=function(e){var t;t=new qL(e),ht(this.f,(He(),xv),t)},o.$f=function(e){ht(this.f,(He(),C1),new HV(e))},o.Tf=function(){return this.d},o.Uf=function(){var e,t;if(!this.a)for(this.a=new Z,t=new ie(ce(cy(u(this.f,27)).a.Kc(),new En));pe(t);)e=u(fe(t),74),nn(this.a,new DE(e));return this.a},o.Wf=function(){var e,t;if(!this.c)for(this.c=new Z,t=new ie(ce(Al(u(this.f,27)).a.Kc(),new En));pe(t);)e=u(fe(t),74),nn(this.c,new DE(e));return this.c},o.Yf=function(){return AM(u(this.f,27)).i!=0||on(un(u(this.f,27).of((He(),Xj))))},o._f=function(){V4e(this,(c0(),poe))},o.a=null,o.b=null,o.c=null,o.d=null,o.e=null,w(d8,"ElkGraphAdapters/ElkNodeAdapter",639),b(1284,562,{852:1},Bkn),o.Rf=function(){return C7e(this)},o.Uf=function(){var e,t;if(!this.a)for(this.a=Dh(u(this.f,123).hh().i),t=new ne(u(this.f,123).hh());t.e!=t.i.gc();)e=u(ue(t),74),nn(this.a,new DE(e));return this.a},o.Wf=function(){var e,t;if(!this.c)for(this.c=Dh(u(this.f,123).ih().i),t=new ne(u(this.f,123).ih());t.e!=t.i.gc();)e=u(ue(t),74),nn(this.c,new DE(e));return this.c},o.ag=function(){return u(u(this.f,123).of((He(),H2)),64)},o.bg=function(){var e,t,i,r,c,s,f,h;for(r=Sf(u(this.f,123)),i=new ne(u(this.f,123).ih());i.e!=i.i.gc();)for(e=u(ue(i),74),h=new ne((!e.c&&(e.c=new Nn(he,e,5,8)),e.c));h.e!=h.i.gc();){if(f=u(ue(h),84),Yb(Gr(f),r))return!0;if(Gr(f)==r&&on(un(z(e,(He(),eU)))))return!0}for(t=new ne(u(this.f,123).hh());t.e!=t.i.gc();)for(e=u(ue(t),74),s=new ne((!e.b&&(e.b=new Nn(he,e,4,7)),e.b));s.e!=s.i.gc();)if(c=u(ue(s),84),Yb(Gr(c),r))return!0;return!1},o.a=null,o.b=null,o.c=null,w(d8,"ElkGraphAdapters/ElkPortAdapter",1284),b(1285,1,Ne,nvn),o.Ne=function(e,t){return tSe(u(e,123),u(t,123))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(d8,"ElkGraphAdapters/PortComparator",1285);var Oa=Nt(ts,"EObject"),Hv=Nt(o2,iWn),xo=Nt(o2,rWn),oE=Nt(o2,cWn),sE=Nt(o2,"ElkShape"),he=Nt(o2,uWn),Vt=Nt(o2,jcn),Mt=Nt(o2,oWn),fE=Nt(ts,sWn),I9=Nt(ts,"EFactory"),voe,pU=Nt(ts,fWn),Ef=Nt(ts,"EPackage"),Ti,koe,yoe,Sdn,bO,joe,Pdn,Idn,Odn,il,Eoe,Coe,Ar=Nt(o2,Ecn),Ye=Nt(o2,Ccn),Qu=Nt(o2,Mcn);b(93,1,hWn),o.th=function(){return this.uh(),null},o.uh=function(){return null},o.vh=function(){return this.uh(),!1},o.wh=function(){return!1},o.xh=function(e){it(this,e)},w(g3,"BasicNotifierImpl",93),b(99,93,bWn),o.Yh=function(){return fo(this)},o.yh=function(e,t){return e},o.zh=function(){throw M(new Pe)},o.Ah=function(e){var t;return t=br(u($n(this.Dh(),this.Fh()),19)),this.Ph().Th(this,t.n,t.f,e)},o.Bh=function(e,t){throw M(new Pe)},o.Ch=function(e,t,i){return So(this,e,t,i)},o.Dh=function(){var e;return this.zh()&&(e=this.zh().Nk(),e)?e:this.ii()},o.Eh=function(){return dF(this)},o.Fh=function(){throw M(new Pe)},o.Gh=function(){var e,t;return t=this.$h().Ok(),!t&&this.zh().Tk(t=(l6(),e=eJ(bh(this.Dh())),e==null?MU:new C7(this,e))),t},o.Hh=function(e,t){return e},o.Ih=function(e){var t;return t=e.pk(),t?e.Lj():Ot(this.Dh(),e)},o.Jh=function(){var e;return e=this.zh(),e?e.Qk():null},o.Kh=function(){return this.zh()?this.zh().Nk():null},o.Lh=function(e,t,i){return tA(this,e,t,i)},o.Mh=function(e){return x4(this,e)},o.Nh=function(e,t){return YN(this,e,t)},o.Oh=function(){var e;return e=this.zh(),!!e&&e.Rk()},o.Ph=function(){throw M(new Pe)},o.Qh=function(){return WT(this)},o.Rh=function(e,t,i,r){return Wp(this,e,t,r)},o.Sh=function(e,t,i){var r;return r=u($n(this.Dh(),t),69),r.wk().zk(this,this.hi(),t-this.ji(),e,i)},o.Th=function(e,t,i,r){return OM(this,e,t,r)},o.Uh=function(e,t,i){var r;return r=u($n(this.Dh(),t),69),r.wk().Ak(this,this.hi(),t-this.ji(),e,i)},o.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},o.Wh=function(e){return Cx(this,e)},o.Xh=function(e){return bOn(this,e)},o.Zh=function(e){return xGn(this,e)},o.$h=function(){throw M(new Pe)},o._h=function(){return this.zh()?this.zh().Pk():null},o.ai=function(){return WT(this)},o.bi=function(e,t){sF(this,e,t)},o.ci=function(e){this.$h().Sk(e)},o.di=function(e){this.$h().Vk(e)},o.ei=function(e){this.$h().Uk(e)},o.fi=function(e,t){var i,r,c,s;return s=this.Jh(),s&&e&&(t=cr(s.El(),this,t),s.Il(this)),r=this.Ph(),r&&(AF(this,this.Ph(),this.Fh()).Bb&hr?(c=r.Qh(),c&&(e?!s&&c.Il(this):c.Hl(this))):(t=(i=this.Fh(),i>=0?this.Ah(t):this.Ph().Th(this,-1-i,null,t)),t=this.Ch(null,-1,t))),this.di(e),t},o.gi=function(e){var t,i,r,c,s,f,h,l;if(i=this.Dh(),s=Ot(i,e),t=this.ji(),s>=t)return u(e,69).wk().Dk(this,this.hi(),s-t);if(s<=-1)if(f=Qg((Du(),zi),i,e),f){if(dr(),u(f,69).xk()||(f=$p(Lr(zi,f))),c=(r=this.Ih(f),u(r>=0?this.Lh(r,!0,!0):H0(this,f,!0),160)),l=f.Ik(),l>1||l==-1)return u(u(c,220).Sl(e,!1),79)}else throw M(new Gn(ba+e.xe()+sK));else if(e.Jk())return r=this.Ih(e),u(r>=0?this.Lh(r,!1,!0):H0(this,e,!1),79);return h=new DMn(this,e),h},o.hi=function(){return uQ(this)},o.ii=function(){return(G1(),Hn).S},o.ji=function(){return se(this.ii())},o.ki=function(e){cF(this,e)},o.Ib=function(){return Hs(this)},w(qn,"BasicEObjectImpl",99);var Moe;b(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),o.li=function(e){var t;return t=cQ(this),t[e]},o.mi=function(e,t){var i;i=cQ(this),$t(i,e,t)},o.ni=function(e){var t;t=cQ(this),$t(t,e,null)},o.th=function(){return u(Un(this,4),129)},o.uh=function(){throw M(new Pe)},o.vh=function(){return(this.Db&4)!=0},o.zh=function(){throw M(new Pe)},o.oi=function(e){Xp(this,2,e)},o.Bh=function(e,t){this.Db=t<<16|this.Db&255,this.oi(e)},o.Dh=function(){return au(this)},o.Fh=function(){return this.Db>>16},o.Gh=function(){var e,t;return l6(),t=eJ(bh((e=u(Un(this,16),29),e||this.ii()))),t==null?MU:new C7(this,t)},o.wh=function(){return(this.Db&1)==0},o.Jh=function(){return u(Un(this,128),2034)},o.Kh=function(){return u(Un(this,16),29)},o.Oh=function(){return(this.Db&32)!=0},o.Ph=function(){return u(Un(this,2),54)},o.Vh=function(){return(this.Db&64)!=0},o.$h=function(){throw M(new Pe)},o._h=function(){return u(Un(this,64),288)},o.ci=function(e){Xp(this,16,e)},o.di=function(e){Xp(this,128,e)},o.ei=function(e){Xp(this,64,e)},o.hi=function(){return iu(this)},o.Db=0,w(qn,"MinimalEObjectImpl",119),b(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.oi=function(e){this.Cb=e},o.Ph=function(){return this.Cb},w(qn,"MinimalEObjectImpl/Container",120),b(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return yZ(this,e,t,i)},o.Uh=function(e,t,i){return hnn(this,e,t,i)},o.Wh=function(e){return wJ(this,e)},o.bi=function(e,t){uY(this,e,t)},o.ii=function(){return Cc(),Coe},o.ki=function(e){WQ(this,e)},o.nf=function(){return aRn(this)},o.gh=function(){return!this.o&&(this.o=new Iu((Cc(),il),T1,this,0)),this.o},o.of=function(e){return z(this,e)},o.pf=function(e){return Lf(this,e)},o.qf=function(e,t){return ht(this,e,t)},w(Md,"EMapPropertyHolderImpl",2083),b(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},yE),o.Lh=function(e,t,i){switch(e){case 0:return this.a;case 1:return this.b}return tA(this,e,t,i)},o.Wh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return Cx(this,e)},o.bi=function(e,t){switch(e){case 0:aT(this,$(R(t)));return;case 1:lT(this,$(R(t)));return}sF(this,e,t)},o.ii=function(){return Cc(),koe},o.ki=function(e){switch(e){case 0:aT(this,0);return;case 1:lT(this,0);return}cF(this,e)},o.Ib=function(){var e;return this.Db&64?Hs(this):(e=new ls(Hs(this)),e.a+=" (x: ",hg(e,this.a),e.a+=", y: ",hg(e,this.b),e.a+=")",e.a)},o.a=0,o.b=0,w(Md,"ElkBendPointImpl",572),b(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return PY(this,e,t,i)},o.Sh=function(e,t,i){return Yx(this,e,t,i)},o.Uh=function(e,t,i){return $$(this,e,t,i)},o.Wh=function(e){return qQ(this,e)},o.bi=function(e,t){KZ(this,e,t)},o.ii=function(){return Cc(),joe},o.ki=function(e){kY(this,e)},o.jh=function(){return this.k},o.kh=function(){return jM(this)},o.Ib=function(){return ox(this)},o.k=null,w(Md,"ElkGraphElementImpl",739),b(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return FY(this,e,t,i)},o.Wh=function(e){return qY(this,e)},o.bi=function(e,t){_Z(this,e,t)},o.ii=function(){return Cc(),Eoe},o.ki=function(e){JY(this,e)},o.lh=function(){return this.f},o.mh=function(){return this.g},o.nh=function(){return this.i},o.oh=function(){return this.j},o.ph=function(e,t){kg(this,e,t)},o.qh=function(e,t){Ro(this,e,t)},o.rh=function(e){eu(this,e)},o.sh=function(e){tu(this,e)},o.Ib=function(){return iF(this)},o.f=0,o.g=0,o.i=0,o.j=0,w(Md,"ElkShapeImpl",740),b(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),o.Lh=function(e,t,i){return bZ(this,e,t,i)},o.Sh=function(e,t,i){return NZ(this,e,t,i)},o.Uh=function(e,t,i){return $Z(this,e,t,i)},o.Wh=function(e){return cY(this,e)},o.bi=function(e,t){Vnn(this,e,t)},o.ii=function(){return Cc(),yoe},o.ki=function(e){fZ(this,e)},o.hh=function(){return!this.d&&(this.d=new Nn(Vt,this,8,5)),this.d},o.ih=function(){return!this.e&&(this.e=new Nn(Vt,this,7,4)),this.e},w(Md,"ElkConnectableShapeImpl",741),b(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},HO),o.Ah=function(e){return IZ(this,e)},o.Lh=function(e,t,i){switch(e){case 3:return V7(this);case 4:return!this.b&&(this.b=new Nn(he,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Nn(he,this,5,8)),this.c;case 6:return!this.a&&(this.a=new q(Mt,this,6,6)),this.a;case 7:return _n(),!this.b&&(this.b=new Nn(he,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i<=1));case 8:return _n(),!!N5(this);case 9:return _n(),!!_0(this);case 10:return _n(),!this.b&&(this.b=new Nn(he,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i!=0)}return PY(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 3:return this.Cb&&(i=(r=this.Db>>16,r>=0?IZ(this,i):this.Cb.Th(this,-1-r,null,i))),lV(this,u(e,27),i);case 4:return!this.b&&(this.b=new Nn(he,this,4,7)),Xc(this.b,e,i);case 5:return!this.c&&(this.c=new Nn(he,this,5,8)),Xc(this.c,e,i);case 6:return!this.a&&(this.a=new q(Mt,this,6,6)),Xc(this.a,e,i)}return Yx(this,e,t,i)},o.Uh=function(e,t,i){switch(t){case 3:return lV(this,null,i);case 4:return!this.b&&(this.b=new Nn(he,this,4,7)),cr(this.b,e,i);case 5:return!this.c&&(this.c=new Nn(he,this,5,8)),cr(this.c,e,i);case 6:return!this.a&&(this.a=new q(Mt,this,6,6)),cr(this.a,e,i)}return $$(this,e,t,i)},o.Wh=function(e){switch(e){case 3:return!!V7(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Nn(he,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i<=1));case 8:return N5(this);case 9:return _0(this);case 10:return!this.b&&(this.b=new Nn(he,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Nn(he,this,5,8)),this.c.i!=0)}return qQ(this,e)},o.bi=function(e,t){switch(e){case 3:AA(this,u(t,27));return;case 4:!this.b&&(this.b=new Nn(he,this,4,7)),me(this.b),!this.b&&(this.b=new Nn(he,this,4,7)),Bt(this.b,u(t,16));return;case 5:!this.c&&(this.c=new Nn(he,this,5,8)),me(this.c),!this.c&&(this.c=new Nn(he,this,5,8)),Bt(this.c,u(t,16));return;case 6:!this.a&&(this.a=new q(Mt,this,6,6)),me(this.a),!this.a&&(this.a=new q(Mt,this,6,6)),Bt(this.a,u(t,16));return}KZ(this,e,t)},o.ii=function(){return Cc(),Sdn},o.ki=function(e){switch(e){case 3:AA(this,null);return;case 4:!this.b&&(this.b=new Nn(he,this,4,7)),me(this.b);return;case 5:!this.c&&(this.c=new Nn(he,this,5,8)),me(this.c);return;case 6:!this.a&&(this.a=new q(Mt,this,6,6)),me(this.a);return}kY(this,e)},o.Ib=function(){return nGn(this)},w(Md,"ElkEdgeImpl",326),b(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},jE),o.Ah=function(e){return TZ(this,e)},o.Lh=function(e,t,i){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new ti(xo,this,5)),this.a;case 6:return hOn(this);case 7:return t?Px(this):this.i;case 8:return t?Sx(this):this.f;case 9:return!this.g&&(this.g=new Nn(Mt,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Nn(Mt,this,10,9)),this.e;case 11:return this.d}return yZ(this,e,t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?TZ(this,i):this.Cb.Th(this,-1-c,null,i))),hV(this,u(e,74),i);case 9:return!this.g&&(this.g=new Nn(Mt,this,9,10)),Xc(this.g,e,i);case 10:return!this.e&&(this.e=new Nn(Mt,this,10,9)),Xc(this.e,e,i)}return s=u($n((r=u(Un(this,16),29),r||(Cc(),bO)),t),69),s.wk().zk(this,iu(this),t-se((Cc(),bO)),e,i)},o.Uh=function(e,t,i){switch(t){case 5:return!this.a&&(this.a=new ti(xo,this,5)),cr(this.a,e,i);case 6:return hV(this,null,i);case 9:return!this.g&&(this.g=new Nn(Mt,this,9,10)),cr(this.g,e,i);case 10:return!this.e&&(this.e=new Nn(Mt,this,10,9)),cr(this.e,e,i)}return hnn(this,e,t,i)},o.Wh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!hOn(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return wJ(this,e)},o.bi=function(e,t){switch(e){case 1:H4(this,$(R(t)));return;case 2:U4(this,$(R(t)));return;case 3:_4(this,$(R(t)));return;case 4:q4(this,$(R(t)));return;case 5:!this.a&&(this.a=new ti(xo,this,5)),me(this.a),!this.a&&(this.a=new ti(xo,this,5)),Bt(this.a,u(t,16));return;case 6:ZHn(this,u(t,74));return;case 7:vT(this,u(t,84));return;case 8:mT(this,u(t,84));return;case 9:!this.g&&(this.g=new Nn(Mt,this,9,10)),me(this.g),!this.g&&(this.g=new Nn(Mt,this,9,10)),Bt(this.g,u(t,16));return;case 10:!this.e&&(this.e=new Nn(Mt,this,10,9)),me(this.e),!this.e&&(this.e=new Nn(Mt,this,10,9)),Bt(this.e,u(t,16));return;case 11:OQ(this,Oe(t));return}uY(this,e,t)},o.ii=function(){return Cc(),bO},o.ki=function(e){switch(e){case 1:H4(this,0);return;case 2:U4(this,0);return;case 3:_4(this,0);return;case 4:q4(this,0);return;case 5:!this.a&&(this.a=new ti(xo,this,5)),me(this.a);return;case 6:ZHn(this,null);return;case 7:vT(this,null);return;case 8:mT(this,null);return;case 9:!this.g&&(this.g=new Nn(Mt,this,9,10)),me(this.g);return;case 10:!this.e&&(this.e=new Nn(Mt,this,10,9)),me(this.e);return;case 11:OQ(this,null);return}WQ(this,e)},o.Ib=function(){return dHn(this)},o.b=0,o.c=0,o.d=null,o.j=0,o.k=0,w(Md,"ElkEdgeSectionImpl",452),b(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),o.Lh=function(e,t,i){var r;return e==0?(!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab):zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Sh=function(e,t,i){var r,c;return t==0?(!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i)):(c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().zk(this,iu(this),t-se(this.ii()),e,i))},o.Uh=function(e,t,i){var r,c;return t==0?(!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i)):(c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i))},o.Wh=function(e){var t;return e==0?!!this.Ab&&this.Ab.i!=0:Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.Zh=function(e){return ctn(this,e)},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.di=function(e){Xp(this,128,e)},o.ii=function(){return On(),qoe},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.pi=function(){this.Bb|=1},o.qi=function(e){return _5(this,e)},o.Bb=0,w(qn,"EModelElementImpl",158),b(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},oG),o.ri=function(e,t){return PGn(this,e,t)},o.si=function(e){var t,i,r,c,s;if(this.a!=jo(e)||e.Bb&256)throw M(new Gn(hK+e.zb+nb));for(r=Hr(e);Sc(r.a).i!=0;){if(i=u(py(r,0,(t=u(L(Sc(r.a),0),89),s=t.c,D(s,90)?u(s,29):(On(),Is))),29),K0(i))return c=jo(i).wi().si(i),u(c,54).ci(e),c;r=Hr(i)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new zSn(e):new ZV(e)},o.ti=function(e,t){return z0(this,e,t)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.a}return zo(this,e-se((On(),$a)),$n((r=u(Un(this,16),29),r||$a),e),t,i)},o.Sh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 1:return this.a&&(i=u(this.a,54).Th(this,4,Ef,i)),vY(this,u(e,241),i)}return c=u($n((r=u(Un(this,16),29),r||(On(),$a)),t),69),c.wk().zk(this,iu(this),t-se((On(),$a)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 1:return vY(this,null,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),$a)),t),69),c.wk().Ak(this,iu(this),t-se((On(),$a)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return Uo(this,e-se((On(),$a)),$n((t=u(Un(this,16),29),t||$a),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:JKn(this,u(t,241));return}Jo(this,e-se((On(),$a)),$n((i=u(Un(this,16),29),i||$a),e),t)},o.ii=function(){return On(),$a},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:JKn(this,null);return}Wo(this,e-se((On(),$a)),$n((t=u(Un(this,16),29),t||$a),e))};var O9,Ddn,Toe;w(qn,"EFactoryImpl",720),b(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},fvn),o.ri=function(e,t){switch(e.hk()){case 12:return u(t,149).Pg();case 13:return Jr(t);default:throw M(new Gn(ev+e.xe()+nb))}},o.si=function(e){var t,i,r,c,s,f,h,l;switch(e.G==-1&&(e.G=(t=jo(e),t?f1(t.vi(),e):-1)),e.G){case 4:return s=new eG,s;case 6:return f=new Yv,f;case 7:return h=new ez,h;case 8:return r=new HO,r;case 9:return i=new yE,i;case 10:return c=new jE,c;case 11:return l=new hvn,l;default:throw M(new Gn(hK+e.zb+nb))}},o.ti=function(e,t){switch(e.hk()){case 13:case 12:return null;default:throw M(new Gn(ev+e.xe()+nb))}},w(Md,"ElkGraphFactoryImpl",1037),b(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),o.Gh=function(){var e,t;return t=(e=u(Un(this,16),29),eJ(bh(e||this.ii()))),t==null?(l6(),l6(),MU):new wAn(this,t)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.xe()}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:this.ui(Oe(t));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),Uoe},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:this.ui(null);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.xe=function(){return this.zb},o.ui=function(e){zc(this,e)},o.Ib=function(){return p5(this)},o.zb=null,w(qn,"ENamedElementImpl",448),b(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},HIn),o.Ah=function(e){return oKn(this,e)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Hb(this,Cf,this)),this.rb;case 6:return!this.vb&&(this.vb=new jp(Ef,this,6,7)),this.vb;case 7:return t?this.Db>>16==7?u(this.Cb,241):null:pOn(this)}return zo(this,e-se((On(),I1)),$n((r=u(Un(this,16),29),r||I1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 4:return this.sb&&(i=u(this.sb,54).Th(this,1,I9,i)),jY(this,u(e,480),i);case 5:return!this.rb&&(this.rb=new Hb(this,Cf,this)),Xc(this.rb,e,i);case 6:return!this.vb&&(this.vb=new jp(Ef,this,6,7)),Xc(this.vb,e,i);case 7:return this.Cb&&(i=(c=this.Db>>16,c>=0?oKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,7,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),I1)),t),69),s.wk().zk(this,iu(this),t-se((On(),I1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 4:return jY(this,null,i);case 5:return!this.rb&&(this.rb=new Hb(this,Cf,this)),cr(this.rb,e,i);case 6:return!this.vb&&(this.vb=new jp(Ef,this,6,7)),cr(this.vb,e,i);case 7:return So(this,null,7,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),I1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),I1)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!pOn(this)}return Uo(this,e-se((On(),I1)),$n((t=u(Un(this,16),29),t||I1),e))},o.Zh=function(e){var t;return t=pTe(this,e),t||ctn(this,e)},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:MT(this,Oe(t));return;case 3:CT(this,Oe(t));return;case 4:tF(this,u(t,480));return;case 5:!this.rb&&(this.rb=new Hb(this,Cf,this)),me(this.rb),!this.rb&&(this.rb=new Hb(this,Cf,this)),Bt(this.rb,u(t,16));return;case 6:!this.vb&&(this.vb=new jp(Ef,this,6,7)),me(this.vb),!this.vb&&(this.vb=new jp(Ef,this,6,7)),Bt(this.vb,u(t,16));return}Jo(this,e-se((On(),I1)),$n((i=u(Un(this,16),29),i||I1),e),t)},o.ei=function(e){var t,i;if(e&&this.rb)for(i=new ne(this.rb);i.e!=i.i.gc();)t=ue(i),D(t,364)&&(u(t,364).w=null);Xp(this,64,e)},o.ii=function(){return On(),I1},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:MT(this,null);return;case 3:CT(this,null);return;case 4:tF(this,null);return;case 5:!this.rb&&(this.rb=new Hb(this,Cf,this)),me(this.rb);return;case 6:!this.vb&&(this.vb=new jp(Ef,this,6,7)),me(this.vb);return}Wo(this,e-se((On(),I1)),$n((t=u(Un(this,16),29),t||I1),e))},o.pi=function(){Hx(this)},o.vi=function(){return!this.rb&&(this.rb=new Hb(this,Cf,this)),this.rb},o.wi=function(){return this.sb},o.xi=function(){return this.ub},o.yi=function(){return this.xb},o.zi=function(){return this.yb},o.Ai=function(e){this.ub=e},o.Ib=function(){var e;return this.Db&64?p5(this):(e=new ls(p5(this)),e.a+=" (nsURI: ",Er(e,this.yb),e.a+=", nsPrefix: ",Er(e,this.xb),e.a+=")",e.a)},o.xb=null,o.yb=null,w(qn,"EPackageImpl",184),b(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},jHn),o.q=!1,o.r=!1;var Aoe=!1;w(Md,"ElkGraphPackageImpl",569),b(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},eG),o.Ah=function(e){return AZ(this,e)},o.Lh=function(e,t,i){switch(e){case 7:return mOn(this);case 8:return this.a}return FY(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 7:return this.Cb&&(i=(r=this.Db>>16,r>=0?AZ(this,i):this.Cb.Th(this,-1-r,null,i))),bW(this,u(e,167),i)}return Yx(this,e,t,i)},o.Uh=function(e,t,i){return t==7?bW(this,null,i):$$(this,e,t,i)},o.Wh=function(e){switch(e){case 7:return!!mOn(this);case 8:return!An("",this.a)}return qY(this,e)},o.bi=function(e,t){switch(e){case 7:oen(this,u(t,167));return;case 8:TQ(this,Oe(t));return}_Z(this,e,t)},o.ii=function(){return Cc(),Pdn},o.ki=function(e){switch(e){case 7:oen(this,null);return;case 8:TQ(this,"");return}JY(this,e)},o.Ib=function(){return h_n(this)},o.a="",w(Md,"ElkLabelImpl",366),b(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},Yv),o.Ah=function(e){return OZ(this,e)},o.Lh=function(e,t,i){switch(e){case 9:return!this.c&&(this.c=new q(Qu,this,9,9)),this.c;case 10:return!this.a&&(this.a=new q(Ye,this,10,11)),this.a;case 11:return At(this);case 12:return!this.b&&(this.b=new q(Vt,this,12,3)),this.b;case 13:return _n(),!this.a&&(this.a=new q(Ye,this,10,11)),this.a.i>0}return bZ(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 9:return!this.c&&(this.c=new q(Qu,this,9,9)),Xc(this.c,e,i);case 10:return!this.a&&(this.a=new q(Ye,this,10,11)),Xc(this.a,e,i);case 11:return this.Cb&&(i=(r=this.Db>>16,r>=0?OZ(this,i):this.Cb.Th(this,-1-r,null,i))),yV(this,u(e,27),i);case 12:return!this.b&&(this.b=new q(Vt,this,12,3)),Xc(this.b,e,i)}return NZ(this,e,t,i)},o.Uh=function(e,t,i){switch(t){case 9:return!this.c&&(this.c=new q(Qu,this,9,9)),cr(this.c,e,i);case 10:return!this.a&&(this.a=new q(Ye,this,10,11)),cr(this.a,e,i);case 11:return yV(this,null,i);case 12:return!this.b&&(this.b=new q(Vt,this,12,3)),cr(this.b,e,i)}return $Z(this,e,t,i)},o.Wh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!At(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new q(Ye,this,10,11)),this.a.i>0}return cY(this,e)},o.bi=function(e,t){switch(e){case 9:!this.c&&(this.c=new q(Qu,this,9,9)),me(this.c),!this.c&&(this.c=new q(Qu,this,9,9)),Bt(this.c,u(t,16));return;case 10:!this.a&&(this.a=new q(Ye,this,10,11)),me(this.a),!this.a&&(this.a=new q(Ye,this,10,11)),Bt(this.a,u(t,16));return;case 11:SA(this,u(t,27));return;case 12:!this.b&&(this.b=new q(Vt,this,12,3)),me(this.b),!this.b&&(this.b=new q(Vt,this,12,3)),Bt(this.b,u(t,16));return}Vnn(this,e,t)},o.ii=function(){return Cc(),Idn},o.ki=function(e){switch(e){case 9:!this.c&&(this.c=new q(Qu,this,9,9)),me(this.c);return;case 10:!this.a&&(this.a=new q(Ye,this,10,11)),me(this.a);return;case 11:SA(this,null);return;case 12:!this.b&&(this.b=new q(Vt,this,12,3)),me(this.b);return}fZ(this,e)},o.Ib=function(){return Een(this)},w(Md,"ElkNodeImpl",207),b(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},ez),o.Ah=function(e){return SZ(this,e)},o.Lh=function(e,t,i){return e==9?Sf(this):bZ(this,e,t,i)},o.Sh=function(e,t,i){var r;switch(t){case 9:return this.Cb&&(i=(r=this.Db>>16,r>=0?SZ(this,i):this.Cb.Th(this,-1-r,null,i))),aV(this,u(e,27),i)}return NZ(this,e,t,i)},o.Uh=function(e,t,i){return t==9?aV(this,null,i):$Z(this,e,t,i)},o.Wh=function(e){return e==9?!!Sf(this):cY(this,e)},o.bi=function(e,t){switch(e){case 9:ien(this,u(t,27));return}Vnn(this,e,t)},o.ii=function(){return Cc(),Odn},o.ki=function(e){switch(e){case 9:ien(this,null);return}fZ(this,e)},o.Ib=function(){return Yqn(this)},w(Md,"ElkPortImpl",193);var Soe=Nt(or,"BasicEMap/Entry");b(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},hvn),o.Fb=function(e){return this===e},o.ld=function(){return this.b},o.Hb=function(){return l0(this)},o.Di=function(e){AQ(this,u(e,149))},o.Lh=function(e,t,i){switch(e){case 0:return this.b;case 1:return this.c}return tA(this,e,t,i)},o.Wh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return Cx(this,e)},o.bi=function(e,t){switch(e){case 0:AQ(this,u(t,149));return;case 1:MQ(this,t);return}sF(this,e,t)},o.ii=function(){return Cc(),il},o.ki=function(e){switch(e){case 0:AQ(this,null);return;case 1:MQ(this,null);return}cF(this,e)},o.Bi=function(){var e;return this.a==-1&&(e=this.b,this.a=e?mt(e):0),this.a},o.md=function(){return this.c},o.Ci=function(e){this.a=e},o.nd=function(e){var t;return t=this.c,MQ(this,e),t},o.Ib=function(){var e;return this.Db&64?Hs(this):(e=new x1,Re(Re(Re(e,this.b?this.b.Pg():gu),iR),O6(this.c)),e.a)},o.a=-1,o.c=null;var T1=w(Md,"ElkPropertyToValueMapEntryImpl",1122);b(996,1,{},dvn),w(Ui,"JsonAdapter",996),b(216,63,Pl,eh),w(Ui,"JsonImportException",216),b(868,1,{},sKn),w(Ui,"JsonImporter",868),b(903,1,{},wMn),w(Ui,"JsonImporter/lambda$0$Type",903),b(904,1,{},gMn),w(Ui,"JsonImporter/lambda$1$Type",904),b(912,1,{},Rkn),w(Ui,"JsonImporter/lambda$10$Type",912),b(914,1,{},pMn),w(Ui,"JsonImporter/lambda$11$Type",914),b(915,1,{},mMn),w(Ui,"JsonImporter/lambda$12$Type",915),b(921,1,{},IIn),w(Ui,"JsonImporter/lambda$13$Type",921),b(920,1,{},OIn),w(Ui,"JsonImporter/lambda$14$Type",920),b(916,1,{},vMn),w(Ui,"JsonImporter/lambda$15$Type",916),b(917,1,{},kMn),w(Ui,"JsonImporter/lambda$16$Type",917),b(918,1,{},yMn),w(Ui,"JsonImporter/lambda$17$Type",918),b(919,1,{},jMn),w(Ui,"JsonImporter/lambda$18$Type",919),b(924,1,{},Kkn),w(Ui,"JsonImporter/lambda$19$Type",924),b(905,1,{},_kn),w(Ui,"JsonImporter/lambda$2$Type",905),b(922,1,{},Hkn),w(Ui,"JsonImporter/lambda$20$Type",922),b(923,1,{},qkn),w(Ui,"JsonImporter/lambda$21$Type",923),b(927,1,{},Ukn),w(Ui,"JsonImporter/lambda$22$Type",927),b(925,1,{},Gkn),w(Ui,"JsonImporter/lambda$23$Type",925),b(926,1,{},zkn),w(Ui,"JsonImporter/lambda$24$Type",926),b(929,1,{},Xkn),w(Ui,"JsonImporter/lambda$25$Type",929),b(928,1,{},Vkn),w(Ui,"JsonImporter/lambda$26$Type",928),b(930,1,re,EMn),o.Cd=function(e){O4e(this.b,this.a,Oe(e))},w(Ui,"JsonImporter/lambda$27$Type",930),b(931,1,re,CMn),o.Cd=function(e){D4e(this.b,this.a,Oe(e))},w(Ui,"JsonImporter/lambda$28$Type",931),b(932,1,{},MMn),w(Ui,"JsonImporter/lambda$29$Type",932),b(908,1,{},Wkn),w(Ui,"JsonImporter/lambda$3$Type",908),b(933,1,{},TMn),w(Ui,"JsonImporter/lambda$30$Type",933),b(934,1,{},Jkn),w(Ui,"JsonImporter/lambda$31$Type",934),b(935,1,{},Qkn),w(Ui,"JsonImporter/lambda$32$Type",935),b(936,1,{},Ykn),w(Ui,"JsonImporter/lambda$33$Type",936),b(937,1,{},Zkn),w(Ui,"JsonImporter/lambda$34$Type",937),b(870,1,{},nyn),w(Ui,"JsonImporter/lambda$35$Type",870),b(941,1,{},kSn),w(Ui,"JsonImporter/lambda$36$Type",941),b(938,1,re,eyn),o.Cd=function(e){F3e(this.a,u(e,377))},w(Ui,"JsonImporter/lambda$37$Type",938),b(939,1,re,AMn),o.Cd=function(e){mle(this.a,this.b,u(e,166))},w(Ui,"JsonImporter/lambda$38$Type",939),b(940,1,re,SMn),o.Cd=function(e){vle(this.a,this.b,u(e,166))},w(Ui,"JsonImporter/lambda$39$Type",940),b(906,1,{},tyn),w(Ui,"JsonImporter/lambda$4$Type",906),b(942,1,re,iyn),o.Cd=function(e){B3e(this.a,u(e,8))},w(Ui,"JsonImporter/lambda$40$Type",942),b(907,1,{},ryn),w(Ui,"JsonImporter/lambda$5$Type",907),b(911,1,{},cyn),w(Ui,"JsonImporter/lambda$6$Type",911),b(909,1,{},uyn),w(Ui,"JsonImporter/lambda$7$Type",909),b(910,1,{},oyn),w(Ui,"JsonImporter/lambda$8$Type",910),b(913,1,{},syn),w(Ui,"JsonImporter/lambda$9$Type",913),b(961,1,re,fyn),o.Cd=function(e){Ip(this.a,new qb(Oe(e)))},w(Ui,"JsonMetaDataConverter/lambda$0$Type",961),b(962,1,re,hyn),o.Cd=function(e){Pwe(this.a,u(e,245))},w(Ui,"JsonMetaDataConverter/lambda$1$Type",962),b(963,1,re,lyn),o.Cd=function(e){S2e(this.a,u(e,143))},w(Ui,"JsonMetaDataConverter/lambda$2$Type",963),b(964,1,re,ayn),o.Cd=function(e){Iwe(this.a,u(e,170))},w(Ui,"JsonMetaDataConverter/lambda$3$Type",964),b(245,22,{3:1,34:1,22:1,245:1},gp);var wO,gO,mU,pO,mO,vO,vU,kU,kO=we(Dy,"GraphFeature",245,ke,dme,tbe),Poe;b(11,1,{34:1,149:1},lt,Dt,Mn,Ni),o.Fd=function(e){return C1e(this,u(e,149))},o.Fb=function(e){return nOn(this,e)},o.Sg=function(){return rn(this)},o.Pg=function(){return this.b},o.Hb=function(){return t1(this.b)},o.Ib=function(){return this.b},w(Dy,"Property",11),b(671,1,Ne,tD),o.Ne=function(e,t){return N5e(this,u(e,96),u(t,96))},o.Fb=function(e){return this===e},o.Oe=function(){return new Te(this)},w(Dy,"PropertyHolderComparator",671),b(709,1,Si,xG),o.Nb=function(e){_i(this,e)},o.Pb=function(){return $4e(this)},o.Qb=function(){sEn()},o.Ob=function(){return!!this.a},w(_S,"ElkGraphUtil/AncestorIterator",709);var Ldn=Nt(or,"EList");b(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),o.bd=function(e,t){v5(this,e,t)},o.Fc=function(e){return ve(this,e)},o.cd=function(e,t){return JQ(this,e,t)},o.Gc=function(e){return Bt(this,e)},o.Ii=function(){return new yp(this)},o.Ji=function(){return new M7(this)},o.Ki=function(e){return pk(this,e)},o.Li=function(){return!0},o.Mi=function(e,t){},o.Ni=function(){},o.Oi=function(e,t){t$(this,e,t)},o.Pi=function(e,t,i){},o.Qi=function(e,t){},o.Ri=function(e,t,i){},o.Fb=function(e){return xqn(this,e)},o.Hb=function(){return zQ(this)},o.Si=function(){return!1},o.Kc=function(){return new ne(this)},o.ed=function(){return new kp(this)},o.fd=function(e){var t;if(t=this.gc(),e<0||e>t)throw M(new Kb(e,t));return new oN(this,e)},o.Ui=function(e,t){this.Ti(e,this.dd(t))},o.Mc=function(e){return rT(this,e)},o.Wi=function(e,t){return t},o.hd=function(e,t){return Rg(this,e,t)},o.Ib=function(){return KY(this)},o.Yi=function(){return!0},o.Zi=function(e,t){return rm(this,t)},w(or,"AbstractEList",70),b(66,70,Ch,EE,S0,KQ),o.Ei=function(e,t){return Zx(this,e,t)},o.Fi=function(e){return LRn(this,e)},o.Gi=function(e,t){Dk(this,e,t)},o.Hi=function(e){ek(this,e)},o.$i=function(e){return nQ(this,e)},o.$b=function(){e5(this)},o.Hc=function(e){return km(this,e)},o.Xb=function(e){return L(this,e)},o._i=function(e){var t,i,r;++this.j,i=this.g==null?0:this.g.length,e>i&&(r=this.g,t=i+(i/2|0)+4,t=0?(this.gd(t),!0):!1},o.Xi=function(e,t){return this.Dj(e,this.Zi(e,t))},o.gc=function(){return this.Ej()},o.Pc=function(){return this.Fj()},o.Qc=function(e){return this.Gj(e)},o.Ib=function(){return this.Hj()},w(or,"DelegatingEList",2093),b(2094,2093,YWn),o.Ei=function(e,t){return $en(this,e,t)},o.Fi=function(e){return this.Ei(this.Ej(),e)},o.Gi=function(e,t){EHn(this,e,t)},o.Hi=function(e){lHn(this,e)},o.Li=function(){return!this.Mj()},o.$b=function(){X5(this)},o.Ij=function(e,t,i,r,c){return new ZIn(this,e,t,i,r,c)},o.Jj=function(e){it(this.jj(),e)},o.Kj=function(){return null},o.Lj=function(){return-1},o.jj=function(){return null},o.Mj=function(){return!1},o.Nj=function(e,t){return t},o.Oj=function(e,t){return t},o.Pj=function(){return!1},o.Qj=function(){return!this.Aj()},o.Ti=function(e,t){var i,r;return this.Pj()?(r=this.Qj(),i=onn(this,e,t),this.Jj(this.Ij(7,Y(t),i,e,r)),i):onn(this,e,t)},o.gd=function(e){var t,i,r,c;return this.Pj()?(i=null,r=this.Qj(),t=this.Ij(4,c=tM(this,e),null,e,r),this.Mj()&&c?(i=this.Oj(c,i),i?(i.nj(t),i.oj()):this.Jj(t)):i?(i.nj(t),i.oj()):this.Jj(t),c):(c=tM(this,e),this.Mj()&&c&&(i=this.Oj(c,null),i&&i.oj()),c)},o.Xi=function(e,t){return IUn(this,e,t)},w(g3,"DelegatingNotifyingListImpl",2094),b(152,1,Wy),o.nj=function(e){return zZ(this,e)},o.oj=function(){h$(this)},o.gj=function(){return this.d},o.Kj=function(){return null},o.Rj=function(){return null},o.hj=function(e){return-1},o.ij=function(){return pqn(this)},o.jj=function(){return null},o.kj=function(){return aen(this)},o.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},o.Sj=function(){return!1},o.mj=function(e){var t,i,r,c,s,f,h,l,a,d,g;switch(this.d){case 1:case 2:switch(c=e.gj(),c){case 1:case 2:if(s=e.jj(),x(s)===x(this.jj())&&this.hj(null)==e.hj(null))return this.g=e.ij(),e.gj()==1&&(this.d=1),!0}case 4:{switch(c=e.gj(),c){case 4:{if(s=e.jj(),x(s)===x(this.jj())&&this.hj(null)==e.hj(null))return a=Yen(this),l=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,f=e.lj(),this.d=6,g=new S0(2),l<=f?(ve(g,this.n),ve(g,e.kj()),this.g=A(T(ye,1),_e,28,15,[this.o=l,f+1])):(ve(g,e.kj()),ve(g,this.n),this.g=A(T(ye,1),_e,28,15,[this.o=f,l])),this.n=g,a||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(c=e.gj(),c){case 4:{if(s=e.jj(),x(s)===x(this.jj())&&this.hj(null)==e.hj(null)){for(a=Yen(this),f=e.lj(),d=u(this.g,53),r=K(ye,_e,28,d.length+1,15,1),t=0;t>>0,t.toString(16))),r.a+=" (eventType: ",this.d){case 1:{r.a+="SET";break}case 2:{r.a+="UNSET";break}case 3:{r.a+="ADD";break}case 5:{r.a+="ADD_MANY";break}case 4:{r.a+="REMOVE";break}case 6:{r.a+="REMOVE_MANY";break}case 7:{r.a+="MOVE";break}case 8:{r.a+="REMOVING_ADAPTER";break}case 9:{r.a+="RESOLVE";break}default:{TD(r,this.d);break}}if(rUn(this)&&(r.a+=", touch: true"),r.a+=", position: ",TD(r,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),r.a+=", notifier: ",M6(r,this.jj()),r.a+=", feature: ",M6(r,this.Kj()),r.a+=", oldValue: ",M6(r,aen(this)),r.a+=", newValue: ",this.d==6&&D(this.g,53)){for(i=u(this.g,53),r.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new F6(this),this.a=this.j),sf(this.b,e)):km(this,e)},o.Yi=function(){return!0},o.a=0,w(or,"AbstractEList/1",966),b(302,77,AB,Kb),w(or,"AbstractEList/BasicIndexOutOfBoundsException",302),b(37,1,Si,ne),o.Nb=function(e){_i(this,e)},o.Xj=function(){if(this.i.j!=this.f)throw M(new Bo)},o.Yj=function(){return ue(this)},o.Ob=function(){return this.e!=this.i.gc()},o.Pb=function(){return this.Yj()},o.Qb=function(){O5(this)},o.e=0,o.f=0,o.g=-1,w(or,"AbstractEList/EIterator",37),b(286,37,Hh,kp,oN),o.Qb=function(){O5(this)},o.Rb=function(e){OBn(this,e)},o.Zj=function(){var e;try{return e=this.d.Xb(--this.e),this.Xj(),this.g=this.e,e}catch(t){throw t=It(t),D(t,77)?(this.Xj(),M(new nc)):M(t)}},o.$j=function(e){xRn(this,e)},o.Sb=function(){return this.e!=0},o.Tb=function(){return this.e},o.Ub=function(){return this.Zj()},o.Vb=function(){return this.e-1},o.Wb=function(e){this.$j(e)},w(or,"AbstractEList/EListIterator",286),b(355,37,Si,yp),o.Yj=function(){return Mx(this)},o.Qb=function(){throw M(new Pe)},w(or,"AbstractEList/NonResolvingEIterator",355),b(398,286,Hh,M7,SV),o.Rb=function(e){throw M(new Pe)},o.Yj=function(){var e;try{return e=this.c.Vi(this.e),this.Xj(),this.g=this.e++,e}catch(t){throw t=It(t),D(t,77)?(this.Xj(),M(new nc)):M(t)}},o.Zj=function(){var e;try{return e=this.c.Vi(--this.e),this.Xj(),this.g=this.e,e}catch(t){throw t=It(t),D(t,77)?(this.Xj(),M(new nc)):M(t)}},o.Qb=function(){throw M(new Pe)},o.Wb=function(e){throw M(new Pe)},w(or,"AbstractEList/NonResolvingEListIterator",398),b(2080,70,ZWn),o.Ei=function(e,t){var i,r,c,s,f,h,l,a,d,g,p;if(c=t.gc(),c!=0){for(a=u(Un(this.a,4),129),d=a==null?0:a.length,p=d+c,r=V$(this,p),g=d-e,g>0&&Ic(a,e,r,e+c,g),l=t.Kc(),f=0;fi)throw M(new Kb(e,i));return new yIn(this,e)},o.$b=function(){var e,t;++this.j,e=u(Un(this.a,4),129),t=e==null?0:e.length,gm(this,null),t$(this,t,e)},o.Hc=function(e){var t,i,r,c,s;if(t=u(Un(this.a,4),129),t!=null){if(e!=null){for(r=t,c=0,s=r.length;c=i)throw M(new Kb(e,i));return t[e]},o.dd=function(e){var t,i,r;if(t=u(Un(this.a,4),129),t!=null){if(e!=null){for(i=0,r=t.length;ii)throw M(new Kb(e,i));return new kIn(this,e)},o.Ti=function(e,t){var i,r,c;if(i=_Bn(this),c=i==null?0:i.length,e>=c)throw M(new Ir(vK+e+Td+c));if(t>=c)throw M(new Ir(kK+t+Td+c));return r=i[t],e!=t&&(e0&&Ic(e,0,t,0,i),t},o.Qc=function(e){var t,i,r;return t=u(Un(this.a,4),129),r=t==null?0:t.length,r>0&&(e.lengthr&&$t(e,r,null),e};var Ioe;w(or,"ArrayDelegatingEList",2080),b(1051,37,Si,jLn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},o.Qb=function(){O5(this),this.a=u(Un(this.b.a,4),129)},w(or,"ArrayDelegatingEList/EIterator",1051),b(722,286,Hh,NPn,kIn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},o.$j=function(e){xRn(this,e),this.a=u(Un(this.b.a,4),129)},o.Qb=function(){O5(this),this.a=u(Un(this.b.a,4),129)},w(or,"ArrayDelegatingEList/EListIterator",722),b(1052,355,Si,ELn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},w(or,"ArrayDelegatingEList/NonResolvingEIterator",1052),b(723,398,Hh,$Pn,yIn),o.Xj=function(){if(this.b.j!=this.f||x(u(Un(this.b.a,4),129))!==x(this.a))throw M(new Bo)},w(or,"ArrayDelegatingEList/NonResolvingEListIterator",723),b(615,302,AB,aL),w(or,"BasicEList/BasicIndexOutOfBoundsException",615),b(710,66,Ch,gX),o.bd=function(e,t){throw M(new Pe)},o.Fc=function(e){throw M(new Pe)},o.cd=function(e,t){throw M(new Pe)},o.Gc=function(e){throw M(new Pe)},o.$b=function(){throw M(new Pe)},o._i=function(e){throw M(new Pe)},o.Kc=function(){return this.Ii()},o.ed=function(){return this.Ji()},o.fd=function(e){return this.Ki(e)},o.Ti=function(e,t){throw M(new Pe)},o.Ui=function(e,t){throw M(new Pe)},o.gd=function(e){throw M(new Pe)},o.Mc=function(e){throw M(new Pe)},o.hd=function(e,t){throw M(new Pe)},w(or,"BasicEList/UnmodifiableEList",710),b(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),o.bd=function(e,t){a1e(this,e,u(t,44))},o.Fc=function(e){return cae(this,u(e,44))},o.Jc=function(e){qi(this,e)},o.Xb=function(e){return u(L(this.c,e),136)},o.Ti=function(e,t){return u(this.c.Ti(e,t),44)},o.Ui=function(e,t){d1e(this,e,u(t,44))},o.Lc=function(){return new Tn(null,new In(this,16))},o.gd=function(e){return u(this.c.gd(e),44)},o.hd=function(e,t){return Swe(this,e,u(t,44))},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.Oc=function(){return new Tn(null,new In(this,16))},o.cd=function(e,t){return this.c.cd(e,t)},o.Gc=function(e){return this.c.Gc(e)},o.$b=function(){this.c.$b()},o.Hc=function(e){return this.c.Hc(e)},o.Ic=function(e){return Ek(this.c,e)},o._j=function(){var e,t,i;if(this.d==null){for(this.d=K(Ndn,qcn,66,2*this.f+1,0,1),i=this.e,this.f=0,t=this.c.Kc();t.e!=t.i.gc();)e=u(t.Yj(),136),uA(this,e);this.e=i}},o.Fb=function(e){return sSn(this,e)},o.Hb=function(){return zQ(this.c)},o.dd=function(e){return this.c.dd(e)},o.ak=function(){this.c=new dyn(this)},o.dc=function(){return this.f==0},o.Kc=function(){return this.c.Kc()},o.ed=function(){return this.c.ed()},o.fd=function(e){return this.c.fd(e)},o.bk=function(){return rk(this)},o.ck=function(e,t,i){return new ySn(e,t,i)},o.dk=function(){return new pvn},o.Mc=function(e){return V$n(this,e)},o.gc=function(){return this.f},o.kd=function(e,t){return new Jl(this.c,e,t)},o.Pc=function(){return this.c.Pc()},o.Qc=function(e){return this.c.Qc(e)},o.Ib=function(){return KY(this.c)},o.e=0,o.f=0,w(or,"BasicEMap",721),b(1046,66,Ch,dyn),o.Mi=function(e,t){Ufe(this,u(t,136))},o.Pi=function(e,t,i){var r;++(r=this,u(t,136),r).a.e},o.Qi=function(e,t){Gfe(this,u(t,136))},o.Ri=function(e,t,i){U1e(this,u(t,136),u(i,136))},o.Oi=function(e,t){_xn(this.a)},w(or,"BasicEMap/1",1046),b(1047,66,Ch,pvn),o.aj=function(e){return K(DNe,nJn,621,e,0,1)},w(or,"BasicEMap/2",1047),b(1048,Kf,Lu,byn),o.$b=function(){this.a.c.$b()},o.Hc=function(e){return wx(this.a,e)},o.Kc=function(){return this.a.f==0?(m4(),aE.a):new Jjn(this.a)},o.Mc=function(e){var t;return t=this.a.f,VT(this.a,e),this.a.f!=t},o.gc=function(){return this.a.f},w(or,"BasicEMap/3",1048),b(1049,31,pw,wyn),o.$b=function(){this.a.c.$b()},o.Hc=function(e){return Fqn(this.a,e)},o.Kc=function(){return this.a.f==0?(m4(),aE.a):new Qjn(this.a)},o.gc=function(){return this.a.f},w(or,"BasicEMap/4",1049),b(1050,Kf,Lu,gyn),o.$b=function(){this.a.c.$b()},o.Hc=function(e){var t,i,r,c,s,f,h,l,a;if(this.a.f>0&&D(e,44)&&(this.a._j(),l=u(e,44),h=l.ld(),c=h==null?0:mt(h),s=dV(this.a,c),t=this.a.d[s],t)){for(i=u(t.g,379),a=t.i,f=0;f"+this.c},o.a=0;var DNe=w(or,"BasicEMap/EntryImpl",621);b(546,1,{},CE),w(or,"BasicEMap/View",546);var aE;b(783,1,{}),o.Fb=function(e){return Wnn((Dn(),sr),e)},o.Hb=function(){return rY((Dn(),sr))},o.Ib=function(){return ca((Dn(),sr))},w(or,"ECollections/BasicEmptyUnmodifiableEList",783),b(1348,1,Hh,mvn),o.Nb=function(e){_i(this,e)},o.Rb=function(e){throw M(new Pe)},o.Ob=function(){return!1},o.Sb=function(){return!1},o.Pb=function(){throw M(new nc)},o.Tb=function(){return 0},o.Ub=function(){throw M(new nc)},o.Vb=function(){return-1},o.Qb=function(){throw M(new Pe)},o.Wb=function(e){throw M(new Pe)},w(or,"ECollections/BasicEmptyUnmodifiableEList/1",1348),b(1346,783,{20:1,16:1,15:1,61:1},ujn),o.bd=function(e,t){yEn()},o.Fc=function(e){return jEn()},o.cd=function(e,t){return EEn()},o.Gc=function(e){return CEn()},o.$b=function(){MEn()},o.Hc=function(e){return!1},o.Ic=function(e){return!1},o.Jc=function(e){qi(this,e)},o.Xb=function(e){return vX((Dn(),e)),null},o.dd=function(e){return-1},o.dc=function(){return!0},o.Kc=function(){return this.a},o.ed=function(){return this.a},o.fd=function(e){return this.a},o.Ti=function(e,t){return TEn()},o.Ui=function(e,t){AEn()},o.Lc=function(){return new Tn(null,new In(this,16))},o.gd=function(e){return SEn()},o.Mc=function(e){return PEn()},o.hd=function(e,t){return IEn()},o.gc=function(){return 0},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.Oc=function(){return new Tn(null,new In(this,16))},o.kd=function(e,t){return Dn(),new Jl(sr,e,t)},o.Pc=function(){return gW((Dn(),sr))},o.Qc=function(e){return Dn(),A5(sr,e)},w(or,"ECollections/EmptyUnmodifiableEList",1346),b(1347,783,{20:1,16:1,15:1,61:1,597:1},ojn),o.bd=function(e,t){yEn()},o.Fc=function(e){return jEn()},o.cd=function(e,t){return EEn()},o.Gc=function(e){return CEn()},o.$b=function(){MEn()},o.Hc=function(e){return!1},o.Ic=function(e){return!1},o.Jc=function(e){qi(this,e)},o.Xb=function(e){return vX((Dn(),e)),null},o.dd=function(e){return-1},o.dc=function(){return!0},o.Kc=function(){return this.a},o.ed=function(){return this.a},o.fd=function(e){return this.a},o.Ti=function(e,t){return TEn()},o.Ui=function(e,t){AEn()},o.Lc=function(){return new Tn(null,new In(this,16))},o.gd=function(e){return SEn()},o.Mc=function(e){return PEn()},o.hd=function(e,t){return IEn()},o.gc=function(){return 0},o.jd=function(e){ud(this,e)},o.Nc=function(){return new In(this,16)},o.Oc=function(){return new Tn(null,new In(this,16))},o.kd=function(e,t){return Dn(),new Jl(sr,e,t)},o.Pc=function(){return gW((Dn(),sr))},o.Qc=function(e){return Dn(),A5(sr,e)},o.bk=function(){return Dn(),Dn(),Wh},w(or,"ECollections/EmptyUnmodifiableEMap",1347);var xdn=Nt(or,"Enumerator"),yO;b(288,1,{288:1},jF),o.Fb=function(e){var t;return this===e?!0:D(e,288)?(t=u(e,288),this.f==t.f&&Ube(this.i,t.i)&&WL(this.a,this.f&256?t.f&256?t.a:null:t.f&256?null:t.a)&&WL(this.d,t.d)&&WL(this.g,t.g)&&WL(this.e,t.e)&&b9e(this,t)):!1},o.Hb=function(){return this.f},o.Ib=function(){return gUn(this)},o.f=0;var Ooe=0,Doe=0,Loe=0,Noe=0,Fdn=0,Bdn=0,Rdn=0,Kdn=0,_dn=0,$oe,D9=0,L9=0,xoe=0,Foe=0,jO,Hdn;w(or,"URI",288),b(1121,45,n2,sjn),o.zc=function(e,t){return u(Dr(this,Oe(e),u(t,288)),288)},w(or,"URI/URICache",1121),b(506,66,Ch,avn,sM),o.Si=function(){return!0},w(or,"UniqueEList",506),b(590,63,Pl,eT),w(or,"WrappedException",590);var Ue=Nt(ts,iJn),Zw=Nt(ts,rJn),ku=Nt(ts,cJn),ng=Nt(ts,uJn),Cf=Nt(ts,oJn),As=Nt(ts,"EClass"),EU=Nt(ts,"EDataType"),Boe;b(1233,45,n2,fjn),o.xc=function(e){return Ai(e)?Nc(this,e):Kr(wr(this.f,e))},w(ts,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var EO=Nt(ts,"EEnum"),Bl=Nt(ts,sJn),jr=Nt(ts,fJn),Ss=Nt(ts,hJn),Ps,yb=Nt(ts,lJn),eg=Nt(ts,aJn);b(1042,1,{},lvn),o.Ib=function(){return"NIL"},w(ts,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var Roe;b(1041,45,n2,hjn),o.xc=function(e){return Ai(e)?Nc(this,e):Kr(wr(this.f,e))},w(ts,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var fu=Nt(ts,dJn),R3=Nt(ts,"EValidator/PatternMatcher"),qdn,Udn,Hn,A1,tg,La,Koe,_oe,Hoe,Na,S1,$a,jb,Zf,qoe,Uoe,Is,P1,Goe,I1,ig,U2,ar,zoe,Xoe,Eb,CO=Nt(Tt,"FeatureMap/Entry");b(545,1,{76:1},MC),o.Lk=function(){return this.a},o.md=function(){return this.b},w(qn,"BasicEObjectImpl/1",545),b(1040,1,TK,DMn),o.Fk=function(e){return YN(this.a,this.b,e)},o.Qj=function(){return bOn(this.a,this.b)},o.Wb=function(e){rJ(this.a,this.b,e)},o.Gk=function(){_we(this.a,this.b)},w(qn,"BasicEObjectImpl/4",1040),b(2081,1,{114:1}),o.Mk=function(e){this.e=e==0?Voe:K(ki,Bn,1,e,5,1)},o.li=function(e){return this.e[e]},o.mi=function(e,t){this.e[e]=t},o.ni=function(e){this.e[e]=null},o.Nk=function(){return this.c},o.Ok=function(){throw M(new Pe)},o.Pk=function(){throw M(new Pe)},o.Qk=function(){return this.d},o.Rk=function(){return this.e!=null},o.Sk=function(e){this.c=e},o.Tk=function(e){throw M(new Pe)},o.Uk=function(e){throw M(new Pe)},o.Vk=function(e){this.d=e};var Voe;w(qn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),b(192,2081,{114:1},uf),o.Ok=function(){return this.a},o.Pk=function(){return this.b},o.Tk=function(e){this.a=e},o.Uk=function(e){this.b=e},w(qn,"BasicEObjectImpl/EPropertiesHolderImpl",192),b(516,99,bWn,ME),o.uh=function(){return this.f},o.zh=function(){return this.k},o.Bh=function(e,t){this.g=e,this.i=t},o.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},o.Fh=function(){return this.i},o.wh=function(){return(this.j&1)!=0},o.Ph=function(){return this.g},o.Vh=function(){return(this.j&4)!=0},o.$h=function(){return!this.k&&(this.k=new uf),this.k},o.ci=function(e){this.$h().Sk(e),e?this.j|=2:this.j&=-3},o.ei=function(e){this.$h().Uk(e),e?this.j|=4:this.j&=-5},o.ii=function(){return(G1(),Hn).S},o.i=0,o.j=1,w(qn,"EObjectImpl",516),b(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},ZV),o.li=function(e){return this.e[e]},o.mi=function(e,t){this.e[e]=t},o.ni=function(e){this.e[e]=null},o.Dh=function(){return this.d},o.Ih=function(e){return Ot(this.d,e)},o.Kh=function(){return this.d},o.Oh=function(){return this.e!=null},o.$h=function(){return!this.k&&(this.k=new vvn),this.k},o.ci=function(e){this.d=e},o.hi=function(){var e;return this.e==null&&(e=se(this.d),this.e=e==0?Woe:K(ki,Bn,1,e,5,1)),this},o.ji=function(){return 0};var Woe;w(qn,"DynamicEObjectImpl",798),b(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},zSn),o.Fb=function(e){return this===e},o.Hb=function(){return l0(this)},o.ci=function(e){this.d=e,this.b=oy(e,"key"),this.c=oy(e,g8)},o.Bi=function(){var e;return this.a==-1&&(e=l$(this,this.b),this.a=e==null?0:mt(e)),this.a},o.ld=function(){return l$(this,this.b)},o.md=function(){return l$(this,this.c)},o.Ci=function(e){this.a=e},o.Di=function(e){rJ(this,this.b,e)},o.nd=function(e){var t;return t=l$(this,this.c),rJ(this,this.c,e),t},o.a=0,w(qn,"DynamicEObjectImpl/BasicEMapEntry",1522),b(1523,1,{114:1},vvn),o.Mk=function(e){throw M(new Pe)},o.li=function(e){throw M(new Pe)},o.mi=function(e,t){throw M(new Pe)},o.ni=function(e){throw M(new Pe)},o.Nk=function(){throw M(new Pe)},o.Ok=function(){return this.a},o.Pk=function(){return this.b},o.Qk=function(){return this.c},o.Rk=function(){throw M(new Pe)},o.Sk=function(e){throw M(new Pe)},o.Tk=function(e){this.a=e},o.Uk=function(e){this.b=e},o.Vk=function(e){this.c=e},w(qn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),b(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},tG),o.Ah=function(e){return PZ(this,e)},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.d;case 2:return i?(!this.b&&(this.b=new lo((On(),ar),pc,this)),this.b):(!this.b&&(this.b=new lo((On(),ar),pc,this)),rk(this.b));case 3:return vOn(this);case 4:return!this.a&&(this.a=new ti(Oa,this,4)),this.a;case 5:return!this.c&&(this.c=new Eg(Oa,this,5)),this.c}return zo(this,e-se((On(),A1)),$n((r=u(Un(this,16),29),r||A1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 3:return this.Cb&&(i=(c=this.Db>>16,c>=0?PZ(this,i):this.Cb.Th(this,-1-c,null,i))),wW(this,u(e,155),i)}return s=u($n((r=u(Un(this,16),29),r||(On(),A1)),t),69),s.wk().zk(this,iu(this),t-se((On(),A1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 2:return!this.b&&(this.b=new lo((On(),ar),pc,this)),UC(this.b,e,i);case 3:return wW(this,null,i);case 4:return!this.a&&(this.a=new ti(Oa,this,4)),cr(this.a,e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),A1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),A1)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!vOn(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return Uo(this,e-se((On(),A1)),$n((t=u(Un(this,16),29),t||A1),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:Obe(this,Oe(t));return;case 2:!this.b&&(this.b=new lo((On(),ar),pc,this)),TT(this.b,t);return;case 3:rqn(this,u(t,155));return;case 4:!this.a&&(this.a=new ti(Oa,this,4)),me(this.a),!this.a&&(this.a=new ti(Oa,this,4)),Bt(this.a,u(t,16));return;case 5:!this.c&&(this.c=new Eg(Oa,this,5)),me(this.c),!this.c&&(this.c=new Eg(Oa,this,5)),Bt(this.c,u(t,16));return}Jo(this,e-se((On(),A1)),$n((i=u(Un(this,16),29),i||A1),e),t)},o.ii=function(){return On(),A1},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:IQ(this,null);return;case 2:!this.b&&(this.b=new lo((On(),ar),pc,this)),this.b.c.$b();return;case 3:rqn(this,null);return;case 4:!this.a&&(this.a=new ti(Oa,this,4)),me(this.a);return;case 5:!this.c&&(this.c=new Eg(Oa,this,5)),me(this.c);return}Wo(this,e-se((On(),A1)),$n((t=u(Un(this,16),29),t||A1),e))},o.Ib=function(){return sBn(this)},o.d=null,w(qn,"EAnnotationImpl",519),b(141,721,Ucn,Iu),o.Gi=function(e,t){Wle(this,e,u(t,44))},o.Wk=function(e,t){return Qae(this,u(e,44),t)},o.$i=function(e){return u(u(this.c,71).$i(e),136)},o.Ii=function(){return u(this.c,71).Ii()},o.Ji=function(){return u(this.c,71).Ji()},o.Ki=function(e){return u(this.c,71).Ki(e)},o.Xk=function(e,t){return UC(this,e,t)},o.Fk=function(e){return u(this.c,79).Fk(e)},o.ak=function(){},o.Qj=function(){return u(this.c,79).Qj()},o.ck=function(e,t,i){var r;return r=u(jo(this.b).wi().si(this.b),136),r.Ci(e),r.Di(t),r.nd(i),r},o.dk=function(){return new BG(this)},o.Wb=function(e){TT(this,e)},o.Gk=function(){u(this.c,79).Gk()},w(Tt,"EcoreEMap",141),b(165,141,Ucn,lo),o._j=function(){var e,t,i,r,c,s;if(this.d==null){for(s=K(Ndn,qcn,66,2*this.f+1,0,1),i=this.c.Kc();i.e!=i.i.gc();)t=u(i.Yj(),136),r=t.Bi(),c=(r&et)%s.length,e=s[c],!e&&(e=s[c]=new BG(this)),e.Fc(t);this.d=s}},w(qn,"EAnnotationImpl/1",165),b(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),o.Lh=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),!!this.Jk();case 7:return _n(),c=this.s,c>=1;case 8:return t?gs(this):this.r;case 9:return this.q}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i)}return c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i)},o.Wh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0)}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:this.ui(Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:this.Zk(u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Bf(this,u(t,89),null),r&&r.oj();return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),Xoe},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:this.ui(null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:this.Zk(1);return;case 8:ad(this,null);return;case 9:i=Bf(this,null,null),i&&i.oj();return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.pi=function(){gs(this),this.Bb|=1},o.Hk=function(){return gs(this)},o.Ik=function(){return this.t},o.Jk=function(){var e;return e=this.t,e>1||e==-1},o.Si=function(){return(this.Bb&512)!=0},o.Yk=function(e,t){return EY(this,e,t)},o.Zk=function(e){Zb(this,e)},o.Ib=function(){return Knn(this)},o.s=0,o.t=1,w(qn,"ETypedElementImpl",292),b(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),o.Ah=function(e){return QRn(this,e)},o.Lh=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),!!this.Jk();case 7:return _n(),c=this.s,c>=1;case 8:return t?gs(this):this.r;case 9:return this.q;case 10:return _n(),!!(this.Bb&Gs);case 11:return _n(),!!(this.Bb&Tw);case 12:return _n(),!!(this.Bb&vw);case 13:return this.j;case 14:return Tm(this);case 15:return _n(),!!(this.Bb&$u);case 16:return _n(),!!(this.Bb&wh);case 17:return Gb(this)}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 17:return this.Cb&&(i=(c=this.Db>>16,c>=0?QRn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,17,i)}return s=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),s.wk().zk(this,iu(this),t-se(this.ii()),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i);case 17:return So(this,null,17,i)}return c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i)},o.Wh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return(this.Bb&Gs)==0;case 11:return(this.Bb&Tw)!=0;case 12:return(this.Bb&vw)!=0;case 13:return this.j!=null;case 14:return Tm(this)!=null;case 15:return(this.Bb&$u)!=0;case 16:return(this.Bb&wh)!=0;case 17:return!!Gb(this)}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:FN(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:this.Zk(u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Bf(this,u(t,89),null),r&&r.oj();return;case 10:fm(this,on(un(t)));return;case 11:am(this,on(un(t)));return;case 12:hm(this,on(un(t)));return;case 13:wX(this,Oe(t));return;case 15:lm(this,on(un(t)));return;case 16:dm(this,on(un(t)));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),zoe},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:D(this.Cb,90)&&hw(Zu(u(this.Cb,90)),4),zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:this.Zk(1);return;case 8:ad(this,null);return;case 9:i=Bf(this,null,null),i&&i.oj();return;case 10:fm(this,!0);return;case 11:am(this,!1);return;case 12:hm(this,!1);return;case 13:this.i=null,kT(this,null);return;case 15:lm(this,!1);return;case 16:dm(this,!1);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.pi=function(){P4(Lr((Du(),zi),this)),gs(this),this.Bb|=1},o.pk=function(){return this.f},o.ik=function(){return Tm(this)},o.qk=function(){return Gb(this)},o.uk=function(){return null},o.$k=function(){return this.k},o.Lj=function(){return this.n},o.vk=function(){return bA(this)},o.wk=function(){var e,t,i,r,c,s,f,h,l;return this.p||(i=Gb(this),(i.i==null&&bh(i),i.i).length,r=this.uk(),r&&se(Gb(r)),c=gs(this),f=c.kk(),e=f?f.i&1?f==so?Gt:f==ye?Gi:f==cg?sv:f==Pi?si:f==Fa?tb:f==V2?ib:f==Fu?p3:A8:f:null,t=Tm(this),h=c.ik(),G5e(this),this.Bb&wh&&((s=xZ((Du(),zi),i))&&s!=this||(s=$p(Lr(zi,this))))?this.p=new NMn(this,s):this.Jk()?this.al()?r?this.Bb&$u?e?this.bl()?this.p=new Za(47,e,this,r):this.p=new Za(5,e,this,r):this.bl()?this.p=new rd(46,this,r):this.p=new rd(4,this,r):e?this.bl()?this.p=new Za(49,e,this,r):this.p=new Za(7,e,this,r):this.bl()?this.p=new rd(48,this,r):this.p=new rd(6,this,r):this.Bb&$u?e?e==Pd?this.p=new Xl(50,Soe,this):this.bl()?this.p=new Xl(43,e,this):this.p=new Xl(1,e,this):this.bl()?this.p=new Wl(42,this):this.p=new Wl(0,this):e?e==Pd?this.p=new Xl(41,Soe,this):this.bl()?this.p=new Xl(45,e,this):this.p=new Xl(3,e,this):this.bl()?this.p=new Wl(44,this):this.p=new Wl(2,this):D(c,156)?e==CO?this.p=new Wl(40,this):this.Bb&512?this.Bb&$u?e?this.p=new Xl(9,e,this):this.p=new Wl(8,this):e?this.p=new Xl(11,e,this):this.p=new Wl(10,this):this.Bb&$u?e?this.p=new Xl(13,e,this):this.p=new Wl(12,this):e?this.p=new Xl(15,e,this):this.p=new Wl(14,this):r?(l=r.t,l>1||l==-1?this.bl()?this.Bb&$u?e?this.p=new Za(25,e,this,r):this.p=new rd(24,this,r):e?this.p=new Za(27,e,this,r):this.p=new rd(26,this,r):this.Bb&$u?e?this.p=new Za(29,e,this,r):this.p=new rd(28,this,r):e?this.p=new Za(31,e,this,r):this.p=new rd(30,this,r):this.bl()?this.Bb&$u?e?this.p=new Za(33,e,this,r):this.p=new rd(32,this,r):e?this.p=new Za(35,e,this,r):this.p=new rd(34,this,r):this.Bb&$u?e?this.p=new Za(37,e,this,r):this.p=new rd(36,this,r):e?this.p=new Za(39,e,this,r):this.p=new rd(38,this,r)):this.bl()?this.Bb&$u?e?this.p=new Xl(17,e,this):this.p=new Wl(16,this):e?this.p=new Xl(19,e,this):this.p=new Wl(18,this):this.Bb&$u?e?this.p=new Xl(21,e,this):this.p=new Wl(20,this):e?this.p=new Xl(23,e,this):this.p=new Wl(22,this):this._k()?this.bl()?this.p=new jSn(u(c,29),this,r):this.p=new tJ(u(c,29),this,r):D(c,156)?e==CO?this.p=new Wl(40,this):this.Bb&$u?e?this.p=new yPn(t,h,this,(gx(),f==ye?Qdn:f==so?zdn:f==Fa?Ydn:f==cg?Jdn:f==Pi?Wdn:f==V2?Zdn:f==Fu?Xdn:f==fs?Vdn:TU)):this.p=new NIn(u(c,156),t,h,this):e?this.p=new kPn(t,h,this,(gx(),f==ye?Qdn:f==so?zdn:f==Fa?Ydn:f==cg?Jdn:f==Pi?Wdn:f==V2?Zdn:f==Fu?Xdn:f==fs?Vdn:TU)):this.p=new LIn(u(c,156),t,h,this):this.al()?r?this.Bb&$u?this.bl()?this.p=new CSn(u(c,29),this,r):this.p=new _V(u(c,29),this,r):this.bl()?this.p=new ESn(u(c,29),this,r):this.p=new HL(u(c,29),this,r):this.Bb&$u?this.bl()?this.p=new kAn(u(c,29),this):this.p=new eV(u(c,29),this):this.bl()?this.p=new vAn(u(c,29),this):this.p=new PL(u(c,29),this):this.bl()?r?this.Bb&$u?this.p=new MSn(u(c,29),this,r):this.p=new RV(u(c,29),this,r):this.Bb&$u?this.p=new yAn(u(c,29),this):this.p=new tV(u(c,29),this):r?this.Bb&$u?this.p=new TSn(u(c,29),this,r):this.p=new KV(u(c,29),this,r):this.Bb&$u?this.p=new jAn(u(c,29),this):this.p=new oM(u(c,29),this)),this.p},o.rk=function(){return(this.Bb&Gs)!=0},o._k=function(){return!1},o.al=function(){return!1},o.sk=function(){return(this.Bb&wh)!=0},o.xk=function(){return a$(this)},o.bl=function(){return!1},o.tk=function(){return(this.Bb&$u)!=0},o.cl=function(e){this.k=e},o.ui=function(e){FN(this,e)},o.Ib=function(){return $A(this)},o.e=!1,o.n=0,w(qn,"EStructuralFeatureImpl",462),b(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},fD),o.Lh=function(e,t,i){var r,c;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),!!Nnn(this);case 7:return _n(),c=this.s,c>=1;case 8:return t?gs(this):this.r;case 9:return this.q;case 10:return _n(),!!(this.Bb&Gs);case 11:return _n(),!!(this.Bb&Tw);case 12:return _n(),!!(this.Bb&vw);case 13:return this.j;case 14:return Tm(this);case 15:return _n(),!!(this.Bb&$u);case 16:return _n(),!!(this.Bb&wh);case 17:return Gb(this);case 18:return _n(),!!(this.Bb&kc);case 19:return t?x$(this):FLn(this)}return zo(this,e-se((On(),tg)),$n((r=u(Un(this,16),29),r||tg),e),t,i)},o.Wh=function(e){var t,i;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return Nnn(this);case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return(this.Bb&Gs)==0;case 11:return(this.Bb&Tw)!=0;case 12:return(this.Bb&vw)!=0;case 13:return this.j!=null;case 14:return Tm(this)!=null;case 15:return(this.Bb&$u)!=0;case 16:return(this.Bb&wh)!=0;case 17:return!!Gb(this);case 18:return(this.Bb&kc)!=0;case 19:return!!FLn(this)}return Uo(this,e-se((On(),tg)),$n((t=u(Un(this,16),29),t||tg),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:FN(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:nEn(this,u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Bf(this,u(t,89),null),r&&r.oj();return;case 10:fm(this,on(un(t)));return;case 11:am(this,on(un(t)));return;case 12:hm(this,on(un(t)));return;case 13:wX(this,Oe(t));return;case 15:lm(this,on(un(t)));return;case 16:dm(this,on(un(t)));return;case 18:sx(this,on(un(t)));return}Jo(this,e-se((On(),tg)),$n((i=u(Un(this,16),29),i||tg),e),t)},o.ii=function(){return On(),tg},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:D(this.Cb,90)&&hw(Zu(u(this.Cb,90)),4),zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:this.b=0,Zb(this,1);return;case 8:ad(this,null);return;case 9:i=Bf(this,null,null),i&&i.oj();return;case 10:fm(this,!0);return;case 11:am(this,!1);return;case 12:hm(this,!1);return;case 13:this.i=null,kT(this,null);return;case 15:lm(this,!1);return;case 16:dm(this,!1);return;case 18:sx(this,!1);return}Wo(this,e-se((On(),tg)),$n((t=u(Un(this,16),29),t||tg),e))},o.pi=function(){x$(this),P4(Lr((Du(),zi),this)),gs(this),this.Bb|=1},o.Jk=function(){return Nnn(this)},o.Yk=function(e,t){return this.b=0,this.a=null,EY(this,e,t)},o.Zk=function(e){nEn(this,e)},o.Ib=function(){var e;return this.Db&64?$A(this):(e=new ls($A(this)),e.a+=" (iD: ",ql(e,(this.Bb&kc)!=0),e.a+=")",e.a)},o.b=0,w(qn,"EAttributeImpl",331),b(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),o.dl=function(e){return e.Dh()==this},o.Ah=function(e){return _x(this,e)},o.Bh=function(e,t){this.w=null,this.Db=t<<16|this.Db&255,this.Cb=e},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return K0(this);case 4:return this.ik();case 5:return this.F;case 6:return t?jo(this):D4(this);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),this.A}return zo(this,e-se(this.ii()),$n((r=u(Un(this,16),29),r||this.ii()),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?_x(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,6,i)}return s=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),s.wk().zk(this,iu(this),t-se(this.ii()),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 6:return So(this,null,6,i);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),cr(this.A,e,i)}return c=u($n((r=u(Un(this,16),29),r||this.ii()),t),69),c.wk().Ak(this,iu(this),t-se(this.ii()),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!K0(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!D4(this);case 7:return!!this.A&&this.A.i!=0}return Uo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:xM(this,Oe(t));return;case 2:wL(this,Oe(t));return;case 5:Lm(this,Oe(t));return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A),!this.A&&(this.A=new Tu(fu,this,7)),Bt(this.A,u(t,16));return}Jo(this,e-se(this.ii()),$n((i=u(Un(this,16),29),i||this.ii()),e),t)},o.ii=function(){return On(),Koe},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:D(this.Cb,184)&&(u(this.Cb,184).tb=null),zc(this,null);return;case 2:um(this,null),G4(this,this.D);return;case 5:Lm(this,null);return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A);return}Wo(this,e-se(this.ii()),$n((t=u(Un(this,16),29),t||this.ii()),e))},o.hk=function(){var e;return this.G==-1&&(this.G=(e=jo(this),e?f1(e.vi(),this):-1)),this.G},o.ik=function(){return null},o.jk=function(){return jo(this)},o.el=function(){return this.v},o.kk=function(){return K0(this)},o.lk=function(){return this.D!=null?this.D:this.B},o.mk=function(){return this.F},o.fk=function(e){return OF(this,e)},o.fl=function(e){this.v=e},o.gl=function(e){yxn(this,e)},o.hl=function(e){this.C=e},o.ui=function(e){xM(this,e)},o.Ib=function(){return UT(this)},o.C=null,o.D=null,o.G=-1,w(qn,"EClassifierImpl",364),b(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},uG),o.dl=function(e){return Nae(this,e.Dh())},o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return K0(this);case 4:return null;case 5:return this.F;case 6:return t?jo(this):D4(this);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),this.A;case 8:return _n(),!!(this.Bb&256);case 9:return _n(),!!(this.Bb&512);case 10:return Hr(this);case 11:return!this.q&&(this.q=new q(Ss,this,11,10)),this.q;case 12:return Jg(this);case 13:return U5(this);case 14:return U5(this),this.r;case 15:return Jg(this),this.k;case 16:return Enn(this);case 17:return $F(this);case 18:return bh(this);case 19:return TA(this);case 20:return Jg(this),this.o;case 21:return!this.s&&(this.s=new q(ku,this,21,17)),this.s;case 22:return Sc(this);case 23:return yF(this)}return zo(this,e-se((On(),La)),$n((r=u(Un(this,16),29),r||La),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 6:return this.Cb&&(i=(c=this.Db>>16,c>=0?_x(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,6,i);case 11:return!this.q&&(this.q=new q(Ss,this,11,10)),Xc(this.q,e,i);case 21:return!this.s&&(this.s=new q(ku,this,21,17)),Xc(this.s,e,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),La)),t),69),s.wk().zk(this,iu(this),t-se((On(),La)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 6:return So(this,null,6,i);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),cr(this.A,e,i);case 11:return!this.q&&(this.q=new q(Ss,this,11,10)),cr(this.q,e,i);case 21:return!this.s&&(this.s=new q(ku,this,21,17)),cr(this.s,e,i);case 22:return cr(Sc(this),e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),La)),t),69),c.wk().Ak(this,iu(this),t-se((On(),La)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!K0(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!D4(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Sc(this.u.a).i!=0&&!(this.n&&Ix(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return Jg(this).i!=0;case 13:return U5(this).i!=0;case 14:return U5(this),this.r.i!=0;case 15:return Jg(this),this.k.i!=0;case 16:return Enn(this).i!=0;case 17:return $F(this).i!=0;case 18:return bh(this).i!=0;case 19:return TA(this).i!=0;case 20:return Jg(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&Ix(this.n);case 23:return yF(this).i!=0}return Uo(this,e-se((On(),La)),$n((t=u(Un(this,16),29),t||La),e))},o.Zh=function(e){var t;return t=this.i==null||this.q&&this.q.i!=0?null:oy(this,e),t||ctn(this,e)},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:xM(this,Oe(t));return;case 2:wL(this,Oe(t));return;case 5:Lm(this,Oe(t));return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A),!this.A&&(this.A=new Tu(fu,this,7)),Bt(this.A,u(t,16));return;case 8:CY(this,on(un(t)));return;case 9:MY(this,on(un(t)));return;case 10:X5(Hr(this)),Bt(Hr(this),u(t,16));return;case 11:!this.q&&(this.q=new q(Ss,this,11,10)),me(this.q),!this.q&&(this.q=new q(Ss,this,11,10)),Bt(this.q,u(t,16));return;case 21:!this.s&&(this.s=new q(ku,this,21,17)),me(this.s),!this.s&&(this.s=new q(ku,this,21,17)),Bt(this.s,u(t,16));return;case 22:me(Sc(this)),Bt(Sc(this),u(t,16));return}Jo(this,e-se((On(),La)),$n((i=u(Un(this,16),29),i||La),e),t)},o.ii=function(){return On(),La},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:D(this.Cb,184)&&(u(this.Cb,184).tb=null),zc(this,null);return;case 2:um(this,null),G4(this,this.D);return;case 5:Lm(this,null);return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A);return;case 8:CY(this,!1);return;case 9:MY(this,!1);return;case 10:this.u&&X5(this.u);return;case 11:!this.q&&(this.q=new q(Ss,this,11,10)),me(this.q);return;case 21:!this.s&&(this.s=new q(ku,this,21,17)),me(this.s);return;case 22:this.n&&me(this.n);return}Wo(this,e-se((On(),La)),$n((t=u(Un(this,16),29),t||La),e))},o.pi=function(){var e,t;if(Jg(this),U5(this),Enn(this),$F(this),bh(this),TA(this),yF(this),e5(ube(Zu(this))),this.s)for(e=0,t=this.s.i;e=0;--t)L(this,t);return WY(this,e)},o.Gk=function(){me(this)},o.Zi=function(e,t){return q$n(this,e,t)},w(Tt,"EcoreEList",632),b(505,632,Qr,F7),o.Li=function(){return!1},o.Lj=function(){return this.c},o.Mj=function(){return!1},o.ol=function(){return!0},o.Si=function(){return!0},o.Wi=function(e,t){return t},o.Yi=function(){return!1},o.c=0,w(Tt,"EObjectEList",505),b(83,505,Qr,ti),o.Mj=function(){return!0},o.ml=function(){return!1},o.al=function(){return!0},w(Tt,"EObjectContainmentEList",83),b(555,83,Qr,$C),o.Ni=function(){this.b=!0},o.Qj=function(){return this.b},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.b,this.b=!1,it(this.e,new Rs(this.e,2,this.c,e,!1))):this.b=!1},o.b=!1,w(Tt,"EObjectContainmentEList/Unsettable",555),b(1161,555,Qr,mPn),o.Ti=function(e,t){var i,r;return i=u(k5(this,e,t),89),fo(this.e)&&t4(this,new ck(this.a,7,(On(),_oe),Y(t),(r=i.c,D(r,90)?u(r,29):Is),e)),i},o.Uj=function(e,t){return A8e(this,u(e,89),t)},o.Vj=function(e,t){return T8e(this,u(e,89),t)},o.Wj=function(e,t,i){return Ike(this,u(e,89),u(t,89),i)},o.Ij=function(e,t,i,r,c){switch(e){case 3:return W6(this,e,t,i,r,this.i>1);case 5:return W6(this,e,t,i,r,this.i-u(i,15).gc()>0);default:return new ml(this.e,e,this.c,t,i,r,!0)}},o.Tj=function(){return!0},o.Qj=function(){return Ix(this)},o.Gk=function(){me(this)},w(qn,"EClassImpl/1",1161),b(1175,1174,Hcn),o.dj=function(e){var t,i,r,c,s,f,h;if(i=e.gj(),i!=8){if(r=s9e(e),r==0)switch(i){case 1:case 9:{h=e.kj(),h!=null&&(t=Zu(u(h,482)),!t.c&&(t.c=new W3),rT(t.c,e.jj())),f=e.ij(),f!=null&&(c=u(f,482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),ve(t.c,u(e.jj(),29))));break}case 3:{f=e.ij(),f!=null&&(c=u(f,482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),ve(t.c,u(e.jj(),29))));break}case 5:{if(f=e.ij(),f!=null)for(s=u(f,16).Kc();s.Ob();)c=u(s.Pb(),482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),ve(t.c,u(e.jj(),29)));break}case 4:{h=e.kj(),h!=null&&(c=u(h,482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),rT(t.c,e.jj())));break}case 6:{if(h=e.kj(),h!=null)for(s=u(h,16).Kc();s.Ob();)c=u(s.Pb(),482),c.Bb&1||(t=Zu(c),!t.c&&(t.c=new W3),rT(t.c,e.jj()));break}}this.ql(r)}},o.ql=function(e){Uqn(this,e)},o.b=63,w(qn,"ESuperAdapter",1175),b(1176,1175,Hcn,myn),o.ql=function(e){hw(this,e)},w(qn,"EClassImpl/10",1176),b(1165,710,Qr),o.Ei=function(e,t){return Zx(this,e,t)},o.Fi=function(e){return LRn(this,e)},o.Gi=function(e,t){Dk(this,e,t)},o.Hi=function(e){ek(this,e)},o.$i=function(e){return nQ(this,e)},o.Xi=function(e,t){return d$(this,e,t)},o.Wk=function(e,t){throw M(new Pe)},o.Ii=function(){return new yp(this)},o.Ji=function(){return new M7(this)},o.Ki=function(e){return pk(this,e)},o.Xk=function(e,t){throw M(new Pe)},o.Fk=function(e){return this},o.Qj=function(){return this.i!=0},o.Wb=function(e){throw M(new Pe)},o.Gk=function(){throw M(new Pe)},w(Tt,"EcoreEList/UnmodifiableEList",1165),b(328,1165,Qr,pg),o.Yi=function(){return!1},w(Tt,"EcoreEList/UnmodifiableEList/FastCompare",328),b(1168,328,Qr,bFn),o.dd=function(e){var t,i,r;if(D(e,179)&&(t=u(e,179),i=t.Lj(),i!=-1)){for(r=this.i;i4)if(this.fk(e)){if(this.al()){if(r=u(e,54),i=r.Eh(),h=i==this.b&&(this.ml()?r.yh(r.Fh(),u($n(au(this.b),this.Lj()).Hk(),29).kk())==br(u($n(au(this.b),this.Lj()),19)).n:-1-r.Fh()==this.Lj()),this.nl()&&!h&&!i&&r.Jh()){for(c=0;c1||r==-1)):!1},o.ml=function(){var e,t,i;return t=$n(au(this.b),this.Lj()),D(t,102)?(e=u(t,19),i=br(e),!!i):!1},o.nl=function(){var e,t;return t=$n(au(this.b),this.Lj()),D(t,102)?(e=u(t,19),(e.Bb&hr)!=0):!1},o.dd=function(e){var t,i,r,c;if(r=this.zj(e),r>=0)return r;if(this.ol()){for(i=0,c=this.Ej();i=0;--e)py(this,e,this.xj(e));return this.Fj()},o.Qc=function(e){var t;if(this.nl())for(t=this.Ej()-1;t>=0;--t)py(this,t,this.xj(t));return this.Gj(e)},o.Gk=function(){X5(this)},o.Zi=function(e,t){return kNn(this,e,t)},w(Tt,"DelegatingEcoreEList",756),b(1171,756,zcn,NAn),o.qj=function(e,t){rae(this,e,u(t,29))},o.rj=function(e){zle(this,u(e,29))},o.xj=function(e){var t,i;return t=u(L(Sc(this.a),e),89),i=t.c,D(i,90)?u(i,29):(On(),Is)},o.Cj=function(e){var t,i;return t=u(dw(Sc(this.a),e),89),i=t.c,D(i,90)?u(i,29):(On(),Is)},o.Dj=function(e,t){return e7e(this,e,u(t,29))},o.Li=function(){return!1},o.Ij=function(e,t,i,r,c){return null},o.sj=function(){return new yyn(this)},o.tj=function(){me(Sc(this.a))},o.uj=function(e){return hBn(this,e)},o.vj=function(e){var t,i;for(i=e.Kc();i.Ob();)if(t=i.Pb(),!hBn(this,t))return!1;return!0},o.wj=function(e){var t,i,r;if(D(e,15)&&(r=u(e,15),r.gc()==Sc(this.a).i)){for(t=r.Kc(),i=new ne(this);t.Ob();)if(x(t.Pb())!==x(ue(i)))return!1;return!0}return!1},o.yj=function(){var e,t,i,r,c;for(i=1,t=new ne(Sc(this.a));t.e!=t.i.gc();)e=u(ue(t),89),r=(c=e.c,D(c,90)?u(c,29):(On(),Is)),i=31*i+(r?l0(r):0);return i},o.zj=function(e){var t,i,r,c;for(r=0,i=new ne(Sc(this.a));i.e!=i.i.gc();){if(t=u(ue(i),89),x(e)===x((c=t.c,D(c,90)?u(c,29):(On(),Is))))return r;++r}return-1},o.Aj=function(){return Sc(this.a).i==0},o.Bj=function(){return null},o.Ej=function(){return Sc(this.a).i},o.Fj=function(){var e,t,i,r,c,s;for(s=Sc(this.a).i,c=K(ki,Bn,1,s,5,1),i=0,t=new ne(Sc(this.a));t.e!=t.i.gc();)e=u(ue(t),89),c[i++]=(r=e.c,D(r,90)?u(r,29):(On(),Is));return c},o.Gj=function(e){var t,i,r,c,s,f,h;for(h=Sc(this.a).i,e.lengthh&&$t(e,h,null),r=0,i=new ne(Sc(this.a));i.e!=i.i.gc();)t=u(ue(i),89),s=(f=t.c,D(f,90)?u(f,29):(On(),Is)),$t(e,r++,s);return e},o.Hj=function(){var e,t,i,r,c;for(c=new Hl,c.a+="[",e=Sc(this.a),t=0,r=Sc(this.a).i;t>16,c>=0?_x(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,6,i);case 9:return!this.a&&(this.a=new q(Bl,this,9,5)),Xc(this.a,e,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),Na)),t),69),s.wk().zk(this,iu(this),t-se((On(),Na)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 6:return So(this,null,6,i);case 7:return!this.A&&(this.A=new Tu(fu,this,7)),cr(this.A,e,i);case 9:return!this.a&&(this.a=new q(Bl,this,9,5)),cr(this.a,e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),Na)),t),69),c.wk().Ak(this,iu(this),t-se((On(),Na)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!K0(this);case 4:return!!aY(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!D4(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return Uo(this,e-se((On(),Na)),$n((t=u(Un(this,16),29),t||Na),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:xM(this,Oe(t));return;case 2:wL(this,Oe(t));return;case 5:Lm(this,Oe(t));return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A),!this.A&&(this.A=new Tu(fu,this,7)),Bt(this.A,u(t,16));return;case 8:BT(this,on(un(t)));return;case 9:!this.a&&(this.a=new q(Bl,this,9,5)),me(this.a),!this.a&&(this.a=new q(Bl,this,9,5)),Bt(this.a,u(t,16));return}Jo(this,e-se((On(),Na)),$n((i=u(Un(this,16),29),i||Na),e),t)},o.ii=function(){return On(),Na},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:D(this.Cb,184)&&(u(this.Cb,184).tb=null),zc(this,null);return;case 2:um(this,null),G4(this,this.D);return;case 5:Lm(this,null);return;case 7:!this.A&&(this.A=new Tu(fu,this,7)),me(this.A);return;case 8:BT(this,!0);return;case 9:!this.a&&(this.a=new q(Bl,this,9,5)),me(this.a);return}Wo(this,e-se((On(),Na)),$n((t=u(Un(this,16),29),t||Na),e))},o.pi=function(){var e,t;if(this.a)for(e=0,t=this.a.i;e>16==5?u(this.Cb,685):null}return zo(this,e-se((On(),S1)),$n((r=u(Un(this,16),29),r||S1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 5:return this.Cb&&(i=(c=this.Db>>16,c>=0?uKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,5,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),S1)),t),69),s.wk().zk(this,iu(this),t-se((On(),S1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 5:return So(this,null,5,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),S1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),S1)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,685))}return Uo(this,e-se((On(),S1)),$n((t=u(Un(this,16),29),t||S1),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:v$(this,u(t,17).a);return;case 3:iHn(this,u(t,2039));return;case 4:y$(this,Oe(t));return}Jo(this,e-se((On(),S1)),$n((i=u(Un(this,16),29),i||S1),e),t)},o.ii=function(){return On(),S1},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:v$(this,0);return;case 3:iHn(this,null);return;case 4:y$(this,null);return}Wo(this,e-se((On(),S1)),$n((t=u(Un(this,16),29),t||S1),e))},o.Ib=function(){var e;return e=this.c,e??this.zb},o.b=null,o.c=null,o.d=0,w(qn,"EEnumLiteralImpl",582);var LNe=Nt(qn,"EFactoryImpl/InternalEDateTimeFormat");b(499,1,{2114:1},X9),w(qn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),b(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},Jd),o.Ch=function(e,t,i){var r;return i=So(this,e,t,i),this.e&&D(e,179)&&(r=MA(this,this.e),r!=this.c&&(i=Nm(this,r,i))),i},o.Lh=function(e,t,i){var r;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new ti(jr,this,1)),this.d;case 2:return t?BA(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return t?Lx(this):this.a}return zo(this,e-se((On(),jb)),$n((r=u(Un(this,16),29),r||jb),e),t,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return QFn(this,null,i);case 1:return!this.d&&(this.d=new ti(jr,this,1)),cr(this.d,e,i);case 3:return YFn(this,null,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),jb)),t),69),c.wk().Ak(this,iu(this),t-se((On(),jb)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return Uo(this,e-se((On(),jb)),$n((t=u(Un(this,16),29),t||jb),e))},o.bi=function(e,t){var i;switch(e){case 0:MKn(this,u(t,89));return;case 1:!this.d&&(this.d=new ti(jr,this,1)),me(this.d),!this.d&&(this.d=new ti(jr,this,1)),Bt(this.d,u(t,16));return;case 3:UZ(this,u(t,89));return;case 4:fnn(this,u(t,850));return;case 5:K4(this,u(t,142));return}Jo(this,e-se((On(),jb)),$n((i=u(Un(this,16),29),i||jb),e),t)},o.ii=function(){return On(),jb},o.ki=function(e){var t;switch(e){case 0:MKn(this,null);return;case 1:!this.d&&(this.d=new ti(jr,this,1)),me(this.d);return;case 3:UZ(this,null);return;case 4:fnn(this,null);return;case 5:K4(this,null);return}Wo(this,e-se((On(),jb)),$n((t=u(Un(this,16),29),t||jb),e))},o.Ib=function(){var e;return e=new mo(Hs(this)),e.a+=" (expression: ",_F(this,e),e.a+=")",e.a};var Gdn;w(qn,"EGenericTypeImpl",248),b(2067,2062,zS),o.Gi=function(e,t){OAn(this,e,t)},o.Wk=function(e,t){return OAn(this,this.gc(),e),t},o.$i=function(e){return Zo(this.pj(),e)},o.Ii=function(){return this.Ji()},o.pj=function(){return new Myn(this)},o.Ji=function(){return this.Ki(0)},o.Ki=function(e){return this.pj().fd(e)},o.Xk=function(e,t){return iw(this,e,!0),t},o.Ti=function(e,t){var i,r;return r=Ux(this,t),i=this.fd(e),i.Rb(r),r},o.Ui=function(e,t){var i;iw(this,t,!0),i=this.fd(e),i.Rb(t)},w(Tt,"AbstractSequentialInternalEList",2067),b(496,2067,zS,C7),o.$i=function(e){return Zo(this.pj(),e)},o.Ii=function(){return this.b==null?(Gl(),Gl(),dE):this.sl()},o.pj=function(){return new JMn(this.a,this.b)},o.Ji=function(){return this.b==null?(Gl(),Gl(),dE):this.sl()},o.Ki=function(e){var t,i;if(this.b==null){if(e<0||e>1)throw M(new Ir(p8+e+", size=0"));return Gl(),Gl(),dE}for(i=this.sl(),t=0;t0;)if(t=this.c[--this.d],(!this.e||t.pk()!=Hv||t.Lj()!=0)&&(!this.vl()||this.b.Xh(t))){if(s=this.b.Nh(t,this.ul()),this.f=(dr(),u(t,69).xk()),this.f||t.Jk()){if(this.ul()?(r=u(s,15),this.k=r):(r=u(s,71),this.k=this.j=r),D(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?v_n(this,this.p):I_n(this))return c=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(e=u(c,76),e.Lk(),i=e.md(),this.i=i):(i=c,this.i=i),this.g=-3,!0}else if(s!=null)return this.k=null,this.p=null,i=s,this.i=i,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return c=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(e=u(c,76),e.Lk(),i=e.md(),this.i=i):(i=c,this.i=i),this.g=-3,!0}},o.Pb=function(){return PT(this)},o.Tb=function(){return this.a},o.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw M(new nc)},o.Vb=function(){return this.a-1},o.Qb=function(){throw M(new Pe)},o.ul=function(){return!1},o.Wb=function(e){throw M(new Pe)},o.vl=function(){return!0},o.a=0,o.d=0,o.f=!1,o.g=0,o.n=0,o.o=0;var dE;w(Tt,"EContentsEList/FeatureIteratorImpl",287),b(711,287,XS,nV),o.ul=function(){return!0},w(Tt,"EContentsEList/ResolvingFeatureIteratorImpl",711),b(1178,711,XS,gAn),o.vl=function(){return!1},w(qn,"ENamedElementImpl/1/1",1178),b(1179,287,XS,pAn),o.vl=function(){return!1},w(qn,"ENamedElementImpl/1/2",1179),b(39,152,Wy,Vb,UN,Ci,c$,ml,Rs,dQ,JOn,bQ,QOn,OJ,YOn,pQ,ZOn,DJ,nDn,wQ,eDn,H6,ck,MN,gQ,tDn,LJ,iDn),o.Kj=function(){return JJ(this)},o.Rj=function(){var e;return e=JJ(this),e?e.ik():null},o.hj=function(e){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,e)},o.jj=function(){return this.c},o.Sj=function(){var e;return e=JJ(this),e?e.tk():!1},o.b=-1,w(qn,"ENotificationImpl",39),b(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},hD),o.Ah=function(e){return fKn(this,e)},o.Lh=function(e,t,i){var r,c,s;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),s=this.t,s>1||s==-1;case 7:return _n(),c=this.s,c>=1;case 8:return t?gs(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,29):null;case 11:return!this.d&&(this.d=new Tu(fu,this,11)),this.d;case 12:return!this.c&&(this.c=new q(yb,this,12,10)),this.c;case 13:return!this.a&&(this.a=new P7(this,this)),this.a;case 14:return no(this)}return zo(this,e-se((On(),P1)),$n((r=u(Un(this,16),29),r||P1),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 10:return this.Cb&&(i=(c=this.Db>>16,c>=0?fKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,10,i);case 12:return!this.c&&(this.c=new q(yb,this,12,10)),Xc(this.c,e,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),P1)),t),69),s.wk().zk(this,iu(this),t-se((On(),P1)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i);case 10:return So(this,null,10,i);case 11:return!this.d&&(this.d=new Tu(fu,this,11)),cr(this.d,e,i);case 12:return!this.c&&(this.c=new q(yb,this,12,10)),cr(this.c,e,i);case 14:return cr(no(this),e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),P1)),t),69),c.wk().Ak(this,iu(this),t-se((On(),P1)),e,i)},o.Wh=function(e){var t,i,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&no(this.a.a).i!=0&&!(this.b&&Ox(this.b));case 14:return!!this.b&&Ox(this.b)}return Uo(this,e-se((On(),P1)),$n((t=u(Un(this,16),29),t||P1),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:Zb(this,u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Bf(this,u(t,89),null),r&&r.oj();return;case 11:!this.d&&(this.d=new Tu(fu,this,11)),me(this.d),!this.d&&(this.d=new Tu(fu,this,11)),Bt(this.d,u(t,16));return;case 12:!this.c&&(this.c=new q(yb,this,12,10)),me(this.c),!this.c&&(this.c=new q(yb,this,12,10)),Bt(this.c,u(t,16));return;case 13:!this.a&&(this.a=new P7(this,this)),X5(this.a),!this.a&&(this.a=new P7(this,this)),Bt(this.a,u(t,16));return;case 14:me(no(this)),Bt(no(this),u(t,16));return}Jo(this,e-se((On(),P1)),$n((i=u(Un(this,16),29),i||P1),e),t)},o.ii=function(){return On(),P1},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:Zb(this,1);return;case 8:ad(this,null);return;case 9:i=Bf(this,null,null),i&&i.oj();return;case 11:!this.d&&(this.d=new Tu(fu,this,11)),me(this.d);return;case 12:!this.c&&(this.c=new q(yb,this,12,10)),me(this.c);return;case 13:this.a&&X5(this.a);return;case 14:this.b&&me(this.b);return}Wo(this,e-se((On(),P1)),$n((t=u(Un(this,16),29),t||P1),e))},o.pi=function(){var e,t;if(this.c)for(e=0,t=this.c.i;eh&&$t(e,h,null),r=0,i=new ne(no(this.a));i.e!=i.i.gc();)t=u(ue(i),89),s=(f=t.c,f||(On(),Zf)),$t(e,r++,s);return e},o.Hj=function(){var e,t,i,r,c;for(c=new Hl,c.a+="[",e=no(this.a),t=0,r=no(this.a).i;t1);case 5:return W6(this,e,t,i,r,this.i-u(i,15).gc()>0);default:return new ml(this.e,e,this.c,t,i,r,!0)}},o.Tj=function(){return!0},o.Qj=function(){return Ox(this)},o.Gk=function(){me(this)},w(qn,"EOperationImpl/2",1377),b(507,1,{2037:1,507:1},LMn),w(qn,"EPackageImpl/1",507),b(14,83,Qr,q),o.il=function(){return this.d},o.jl=function(){return this.b},o.ml=function(){return!0},o.b=0,w(Tt,"EObjectContainmentWithInverseEList",14),b(365,14,Qr,jp),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentWithInverseEList/Resolving",365),b(308,365,Qr,Hb),o.Ni=function(){this.a.tb=null},w(qn,"EPackageImpl/2",308),b(1278,1,{},qse),w(qn,"EPackageImpl/3",1278),b(733,45,n2,tz),o._b=function(e){return Ai(e)?AN(this,e):!!wr(this.f,e)},w(qn,"EPackageRegistryImpl",733),b(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},lD),o.Ah=function(e){return hKn(this,e)},o.Lh=function(e,t,i){var r,c,s;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),s=this.t,s>1||s==-1;case 7:return _n(),c=this.s,c>=1;case 8:return t?gs(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,62):null}return zo(this,e-se((On(),ig)),$n((r=u(Un(this,16),29),r||ig),e),t,i)},o.Sh=function(e,t,i){var r,c,s;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Xc(this.Ab,e,i);case 10:return this.Cb&&(i=(c=this.Db>>16,c>=0?hKn(this,i):this.Cb.Th(this,-1-c,null,i))),So(this,e,10,i)}return s=u($n((r=u(Un(this,16),29),r||(On(),ig)),t),69),s.wk().zk(this,iu(this),t-se((On(),ig)),e,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 9:return hN(this,i);case 10:return So(this,null,10,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),ig)),t),69),c.wk().Ak(this,iu(this),t-se((On(),ig)),e,i)},o.Wh=function(e){var t,i,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return r=this.t,r>1||r==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,62))}return Uo(this,e-se((On(),ig)),$n((t=u(Un(this,16),29),t||ig),e))},o.ii=function(){return On(),ig},w(qn,"EParameterImpl",518),b(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},cV),o.Lh=function(e,t,i){var r,c,s,f;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return _n(),!!(this.Bb&256);case 3:return _n(),!!(this.Bb&512);case 4:return Y(this.s);case 5:return Y(this.t);case 6:return _n(),f=this.t,f>1||f==-1;case 7:return _n(),c=this.s,c>=1;case 8:return t?gs(this):this.r;case 9:return this.q;case 10:return _n(),!!(this.Bb&Gs);case 11:return _n(),!!(this.Bb&Tw);case 12:return _n(),!!(this.Bb&vw);case 13:return this.j;case 14:return Tm(this);case 15:return _n(),!!(this.Bb&$u);case 16:return _n(),!!(this.Bb&wh);case 17:return Gb(this);case 18:return _n(),!!(this.Bb&kc);case 19:return _n(),s=br(this),!!(s&&s.Bb&kc);case 20:return _n(),!!(this.Bb&hr);case 21:return t?br(this):this.b;case 22:return t?tY(this):ALn(this);case 23:return!this.a&&(this.a=new Eg(ng,this,23)),this.a}return zo(this,e-se((On(),U2)),$n((r=u(Un(this,16),29),r||U2),e),t,i)},o.Wh=function(e){var t,i,r,c;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return c=this.t,c>1||c==-1;case 7:return i=this.s,i>=1;case 8:return!!this.r&&!this.q.e&&v0(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&v0(this.q).i==0);case 10:return(this.Bb&Gs)==0;case 11:return(this.Bb&Tw)!=0;case 12:return(this.Bb&vw)!=0;case 13:return this.j!=null;case 14:return Tm(this)!=null;case 15:return(this.Bb&$u)!=0;case 16:return(this.Bb&wh)!=0;case 17:return!!Gb(this);case 18:return(this.Bb&kc)!=0;case 19:return r=br(this),!!r&&(r.Bb&kc)!=0;case 20:return(this.Bb&hr)==0;case 21:return!!this.b;case 22:return!!ALn(this);case 23:return!!this.a&&this.a.i!=0}return Uo(this,e-se((On(),U2)),$n((t=u(Un(this,16),29),t||U2),e))},o.bi=function(e,t){var i,r;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:FN(this,Oe(t));return;case 2:c1(this,on(un(t)));return;case 3:u1(this,on(un(t)));return;case 4:e1(this,u(t,17).a);return;case 5:Zb(this,u(t,17).a);return;case 8:ad(this,u(t,142));return;case 9:r=Bf(this,u(t,89),null),r&&r.oj();return;case 10:fm(this,on(un(t)));return;case 11:am(this,on(un(t)));return;case 12:hm(this,on(un(t)));return;case 13:wX(this,Oe(t));return;case 15:lm(this,on(un(t)));return;case 16:dm(this,on(un(t)));return;case 18:A2e(this,on(un(t)));return;case 20:NY(this,on(un(t)));return;case 21:DQ(this,u(t,19));return;case 23:!this.a&&(this.a=new Eg(ng,this,23)),me(this.a),!this.a&&(this.a=new Eg(ng,this,23)),Bt(this.a,u(t,16));return}Jo(this,e-se((On(),U2)),$n((i=u(Un(this,16),29),i||U2),e),t)},o.ii=function(){return On(),U2},o.ki=function(e){var t,i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:D(this.Cb,90)&&hw(Zu(u(this.Cb,90)),4),zc(this,null);return;case 2:c1(this,!0);return;case 3:u1(this,!0);return;case 4:e1(this,0);return;case 5:Zb(this,1);return;case 8:ad(this,null);return;case 9:i=Bf(this,null,null),i&&i.oj();return;case 10:fm(this,!0);return;case 11:am(this,!1);return;case 12:hm(this,!1);return;case 13:this.i=null,kT(this,null);return;case 15:lm(this,!1);return;case 16:dm(this,!1);return;case 18:LY(this,!1),D(this.Cb,90)&&hw(Zu(u(this.Cb,90)),2);return;case 20:NY(this,!0);return;case 21:DQ(this,null);return;case 23:!this.a&&(this.a=new Eg(ng,this,23)),me(this.a);return}Wo(this,e-se((On(),U2)),$n((t=u(Un(this,16),29),t||U2),e))},o.pi=function(){tY(this),P4(Lr((Du(),zi),this)),gs(this),this.Bb|=1},o.uk=function(){return br(this)},o._k=function(){var e;return e=br(this),!!e&&(e.Bb&kc)!=0},o.al=function(){return(this.Bb&kc)!=0},o.bl=function(){return(this.Bb&hr)!=0},o.Yk=function(e,t){return this.c=null,EY(this,e,t)},o.Ib=function(){var e;return this.Db&64?$A(this):(e=new ls($A(this)),e.a+=" (containment: ",ql(e,(this.Bb&kc)!=0),e.a+=", resolveProxies: ",ql(e,(this.Bb&hr)!=0),e.a+=")",e.a)},w(qn,"EReferenceImpl",102),b(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},Mvn),o.Fb=function(e){return this===e},o.ld=function(){return this.b},o.md=function(){return this.c},o.Hb=function(){return l0(this)},o.Di=function(e){Dbe(this,Oe(e))},o.nd=function(e){return pbe(this,Oe(e))},o.Lh=function(e,t,i){var r;switch(e){case 0:return this.b;case 1:return this.c}return zo(this,e-se((On(),ar)),$n((r=u(Un(this,16),29),r||ar),e),t,i)},o.Wh=function(e){var t;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return Uo(this,e-se((On(),ar)),$n((t=u(Un(this,16),29),t||ar),e))},o.bi=function(e,t){var i;switch(e){case 0:Lbe(this,Oe(t));return;case 1:PQ(this,Oe(t));return}Jo(this,e-se((On(),ar)),$n((i=u(Un(this,16),29),i||ar),e),t)},o.ii=function(){return On(),ar},o.ki=function(e){var t;switch(e){case 0:SQ(this,null);return;case 1:PQ(this,null);return}Wo(this,e-se((On(),ar)),$n((t=u(Un(this,16),29),t||ar),e))},o.Bi=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:t1(e)),this.a},o.Ci=function(e){this.a=e},o.Ib=function(){var e;return this.Db&64?Hs(this):(e=new ls(Hs(this)),e.a+=" (key: ",Er(e,this.b),e.a+=", value: ",Er(e,this.c),e.a+=")",e.a)},o.a=-1,o.b=null,o.c=null;var pc=w(qn,"EStringToStringMapEntryImpl",561),Qoe=Nt(Tt,"FeatureMap/Entry/Internal");b(576,1,VS),o.xl=function(e){return this.yl(u(e,54))},o.yl=function(e){return this.xl(e)},o.Fb=function(e){var t,i;return this===e?!0:D(e,76)?(t=u(e,76),t.Lk()==this.c?(i=this.md(),i==null?t.md()==null:rt(i,t.md())):!1):!1},o.Lk=function(){return this.c},o.Hb=function(){var e;return e=this.md(),mt(this.c)^(e==null?0:mt(e))},o.Ib=function(){var e,t;return e=this.c,t=jo(e.qk()).yi(),e.xe(),(t!=null&&t.length!=0?t+":"+e.xe():e.xe())+"="+this.md()},w(qn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),b(791,576,VS,bV),o.yl=function(e){return new bV(this.c,e)},o.md=function(){return this.a},o.zl=function(e,t,i){return gve(this,e,this.a,t,i)},o.Al=function(e,t,i){return pve(this,e,this.a,t,i)},w(qn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),b(1350,1,{},NMn),o.yk=function(e,t,i,r,c){var s;return s=u(x4(e,this.b),220),s.Yl(this.a).Fk(r)},o.zk=function(e,t,i,r,c){var s;return s=u(x4(e,this.b),220),s.Pl(this.a,r,c)},o.Ak=function(e,t,i,r,c){var s;return s=u(x4(e,this.b),220),s.Ql(this.a,r,c)},o.Bk=function(e,t,i){var r;return r=u(x4(e,this.b),220),r.Yl(this.a).Qj()},o.Ck=function(e,t,i,r){var c;c=u(x4(e,this.b),220),c.Yl(this.a).Wb(r)},o.Dk=function(e,t,i){return u(x4(e,this.b),220).Yl(this.a)},o.Ek=function(e,t,i){var r;r=u(x4(e,this.b),220),r.Yl(this.a).Gk()},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),b(91,1,{},Xl,Za,Wl,rd),o.yk=function(e,t,i,r,c){var s;if(s=t.li(i),s==null&&t.mi(i,s=XA(this,e)),!c)switch(this.e){case 50:case 41:return u(s,597).bk();case 40:return u(s,220).Vl()}return s},o.zk=function(e,t,i,r,c){var s,f;return f=t.li(i),f==null&&t.mi(i,f=XA(this,e)),s=u(f,71).Wk(r,c),s},o.Ak=function(e,t,i,r,c){var s;return s=t.li(i),s!=null&&(c=u(s,71).Xk(r,c)),c},o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null&&u(r,79).Qj()},o.Ck=function(e,t,i,r){var c;c=u(t.li(i),79),!c&&t.mi(i,c=XA(this,e)),c.Wb(r)},o.Dk=function(e,t,i){var r,c;return c=t.li(i),c==null&&t.mi(i,c=XA(this,e)),D(c,79)?u(c,79):(r=u(t.li(i),15),new Eyn(r))},o.Ek=function(e,t,i){var r;r=u(t.li(i),79),!r&&t.mi(i,r=XA(this,e)),r.Gk()},o.b=0,o.e=0,w(qn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),b(512,1,{}),o.zk=function(e,t,i,r,c){throw M(new Pe)},o.Ak=function(e,t,i,r,c){throw M(new Pe)},o.Dk=function(e,t,i){return new DIn(this,e,t,i)};var rl;w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),b(1367,1,TK,DIn),o.Fk=function(e){return this.a.yk(this.c,this.d,this.b,e,!0)},o.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},o.Wb=function(e){this.a.Ck(this.c,this.d,this.b,e)},o.Gk=function(){this.a.Ek(this.c,this.d,this.b)},o.b=0,w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),b(784,512,{},tJ),o.yk=function(e,t,i,r,c){return AF(e,e.Ph(),e.Fh())==this.b?this.bl()&&r?dF(e):e.Ph():null},o.zk=function(e,t,i,r,c){var s,f;return e.Ph()&&(c=(s=e.Fh(),s>=0?e.Ah(c):e.Ph().Th(e,-1-s,null,c))),f=Ot(e.Dh(),this.e),e.Ch(r,f,c)},o.Ak=function(e,t,i,r,c){var s;return s=Ot(e.Dh(),this.e),e.Ch(null,s,c)},o.Bk=function(e,t,i){var r;return r=Ot(e.Dh(),this.e),!!e.Ph()&&e.Fh()==r},o.Ck=function(e,t,i,r){var c,s,f,h,l;if(r!=null&&!OF(this.a,r))throw M(new i4(WS+(D(r,58)?qZ(u(r,58).Dh()):fQ(wo(r)))+JS+this.a+"'"));if(c=e.Ph(),f=Ot(e.Dh(),this.e),x(r)!==x(c)||e.Fh()!=f&&r!=null){if(mm(e,u(r,58)))throw M(new Gn(w8+e.Ib()));l=null,c&&(l=(s=e.Fh(),s>=0?e.Ah(l):e.Ph().Th(e,-1-s,null,l))),h=u(r,54),h&&(l=h.Rh(e,Ot(h.Dh(),this.b),null,l)),l=e.Ch(h,f,l),l&&l.oj()}else e.vh()&&e.wh()&&it(e,new Ci(e,1,f,r,r))},o.Ek=function(e,t,i){var r,c,s,f;r=e.Ph(),r?(f=(c=e.Fh(),c>=0?e.Ah(null):e.Ph().Th(e,-1-c,null,null)),s=Ot(e.Dh(),this.e),f=e.Ch(null,s,f),f&&f.oj()):e.vh()&&e.wh()&&it(e,new H6(e,1,this.e,null,null))},o.bl=function(){return!1},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),b(1351,784,{},jSn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),b(574,512,{}),o.yk=function(e,t,i,r,c){var s;return s=t.li(i),s==null?this.b:x(s)===x(rl)?null:s},o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null&&(x(r)===x(rl)||!rt(r,this.b))},o.Ck=function(e,t,i,r){var c,s;e.vh()&&e.wh()?(c=(s=t.li(i),s==null?this.b:x(s)===x(rl)?null:s),r==null?this.c!=null?(t.mi(i,null),r=this.b):this.b!=null?t.mi(i,rl):t.mi(i,null):(this.Bl(r),t.mi(i,r)),it(e,this.d.Cl(e,1,this.e,c,r))):r==null?this.c!=null?t.mi(i,null):this.b!=null?t.mi(i,rl):t.mi(i,null):(this.Bl(r),t.mi(i,r))},o.Ek=function(e,t,i){var r,c;e.vh()&&e.wh()?(r=(c=t.li(i),c==null?this.b:x(c)===x(rl)?null:c),t.ni(i),it(e,this.d.Cl(e,1,this.e,r,this.b))):t.ni(i)},o.Bl=function(e){throw M(new Nyn)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),b(h2,1,{},Tvn),o.Cl=function(e,t,i,r,c){return new H6(e,t,i,r,c)},o.Dl=function(e,t,i,r,c,s){return new MN(e,t,i,r,c,s)};var zdn,Xdn,Vdn,Wdn,Jdn,Qdn,Ydn,TU,Zdn;w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",h2),b(1368,h2,{},Avn),o.Cl=function(e,t,i,r,c){return new LJ(e,t,i,on(un(r)),on(un(c)))},o.Dl=function(e,t,i,r,c,s){return new iDn(e,t,i,on(un(r)),on(un(c)),s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),b(1369,h2,{},Svn),o.Cl=function(e,t,i,r,c){return new dQ(e,t,i,u(r,222).a,u(c,222).a)},o.Dl=function(e,t,i,r,c,s){return new JOn(e,t,i,u(r,222).a,u(c,222).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),b(1370,h2,{},Pvn),o.Cl=function(e,t,i,r,c){return new bQ(e,t,i,u(r,180).a,u(c,180).a)},o.Dl=function(e,t,i,r,c,s){return new QOn(e,t,i,u(r,180).a,u(c,180).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),b(1371,h2,{},Ivn),o.Cl=function(e,t,i,r,c){return new OJ(e,t,i,$(R(r)),$(R(c)))},o.Dl=function(e,t,i,r,c,s){return new YOn(e,t,i,$(R(r)),$(R(c)),s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),b(1372,h2,{},Ovn),o.Cl=function(e,t,i,r,c){return new pQ(e,t,i,u(r,161).a,u(c,161).a)},o.Dl=function(e,t,i,r,c,s){return new ZOn(e,t,i,u(r,161).a,u(c,161).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),b(1373,h2,{},Dvn),o.Cl=function(e,t,i,r,c){return new DJ(e,t,i,u(r,17).a,u(c,17).a)},o.Dl=function(e,t,i,r,c,s){return new nDn(e,t,i,u(r,17).a,u(c,17).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),b(1374,h2,{},Lvn),o.Cl=function(e,t,i,r,c){return new wQ(e,t,i,u(r,168).a,u(c,168).a)},o.Dl=function(e,t,i,r,c,s){return new eDn(e,t,i,u(r,168).a,u(c,168).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),b(1375,h2,{},Nvn),o.Cl=function(e,t,i,r,c){return new gQ(e,t,i,u(r,191).a,u(c,191).a)},o.Dl=function(e,t,i,r,c,s){return new tDn(e,t,i,u(r,191).a,u(c,191).a,s)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),b(1353,574,{},LIn),o.Bl=function(e){if(!this.a.fk(e))throw M(new i4(WS+wo(e)+JS+this.a+"'"))},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),b(1354,574,{},kPn),o.Bl=function(e){},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),b(785,574,{}),o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null},o.Ck=function(e,t,i,r){var c,s;e.vh()&&e.wh()?(c=!0,s=t.li(i),s==null?(c=!1,s=this.b):x(s)===x(rl)&&(s=null),r==null?this.c!=null?(t.mi(i,null),r=this.b):t.mi(i,rl):(this.Bl(r),t.mi(i,r)),it(e,this.d.Dl(e,1,this.e,s,r,!c))):r==null?this.c!=null?t.mi(i,null):t.mi(i,rl):(this.Bl(r),t.mi(i,r))},o.Ek=function(e,t,i){var r,c;e.vh()&&e.wh()?(r=!0,c=t.li(i),c==null?(r=!1,c=this.b):x(c)===x(rl)&&(c=null),t.ni(i),it(e,this.d.Dl(e,2,this.e,c,this.b,r))):t.ni(i)},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),b(1355,785,{},NIn),o.Bl=function(e){if(!this.a.fk(e))throw M(new i4(WS+wo(e)+JS+this.a+"'"))},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),b(1356,785,{},yPn),o.Bl=function(e){},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),b(410,512,{},oM),o.yk=function(e,t,i,r,c){var s,f,h,l,a;if(a=t.li(i),this.tk()&&x(a)===x(rl))return null;if(this.bl()&&r&&a!=null){if(h=u(a,54),h.Vh()&&(l=ea(e,h),h!=l)){if(!OF(this.a,l))throw M(new i4(WS+wo(l)+JS+this.a+"'"));t.mi(i,a=l),this.al()&&(s=u(l,54),f=h.Th(e,this.b?Ot(h.Dh(),this.b):-1-Ot(e.Dh(),this.e),null,null),!s.Ph()&&(f=s.Rh(e,this.b?Ot(s.Dh(),this.b):-1-Ot(e.Dh(),this.e),null,f)),f&&f.oj()),e.vh()&&e.wh()&&it(e,new H6(e,9,this.e,h,l))}return a}else return a},o.zk=function(e,t,i,r,c){var s,f;return f=t.li(i),x(f)===x(rl)&&(f=null),t.mi(i,r),this.Mj()?x(f)!==x(r)&&f!=null&&(s=u(f,54),c=s.Th(e,Ot(s.Dh(),this.b),null,c)):this.al()&&f!=null&&(c=u(f,54).Th(e,-1-Ot(e.Dh(),this.e),null,c)),e.vh()&&e.wh()&&(!c&&(c=new F1(4)),c.nj(new H6(e,1,this.e,f,r))),c},o.Ak=function(e,t,i,r,c){var s;return s=t.li(i),x(s)===x(rl)&&(s=null),t.ni(i),e.vh()&&e.wh()&&(!c&&(c=new F1(4)),this.tk()?c.nj(new H6(e,2,this.e,s,null)):c.nj(new H6(e,1,this.e,s,null))),c},o.Bk=function(e,t,i){var r;return r=t.li(i),r!=null},o.Ck=function(e,t,i,r){var c,s,f,h,l;if(r!=null&&!OF(this.a,r))throw M(new i4(WS+(D(r,58)?qZ(u(r,58).Dh()):fQ(wo(r)))+JS+this.a+"'"));l=t.li(i),h=l!=null,this.tk()&&x(l)===x(rl)&&(l=null),f=null,this.Mj()?x(l)!==x(r)&&(l!=null&&(c=u(l,54),f=c.Th(e,Ot(c.Dh(),this.b),null,f)),r!=null&&(c=u(r,54),f=c.Rh(e,Ot(c.Dh(),this.b),null,f))):this.al()&&x(l)!==x(r)&&(l!=null&&(f=u(l,54).Th(e,-1-Ot(e.Dh(),this.e),null,f)),r!=null&&(f=u(r,54).Rh(e,-1-Ot(e.Dh(),this.e),null,f))),r==null&&this.tk()?t.mi(i,rl):t.mi(i,r),e.vh()&&e.wh()?(s=new MN(e,1,this.e,l,r,this.tk()&&!h),f?(f.nj(s),f.oj()):it(e,s)):f&&f.oj()},o.Ek=function(e,t,i){var r,c,s,f,h;h=t.li(i),f=h!=null,this.tk()&&x(h)===x(rl)&&(h=null),s=null,h!=null&&(this.Mj()?(r=u(h,54),s=r.Th(e,Ot(r.Dh(),this.b),null,s)):this.al()&&(s=u(h,54).Th(e,-1-Ot(e.Dh(),this.e),null,s))),t.ni(i),e.vh()&&e.wh()?(c=new MN(e,this.tk()?2:1,this.e,h,null,f),s?(s.nj(c),s.oj()):it(e,c)):s&&s.oj()},o.Mj=function(){return!1},o.al=function(){return!1},o.bl=function(){return!1},o.tk=function(){return!1},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),b(575,410,{},PL),o.al=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),b(1359,575,{},vAn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),b(787,575,{},eV),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),b(1361,787,{},kAn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),b(650,575,{},HL),o.Mj=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),b(1360,650,{},ESn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),b(788,650,{},_V),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),b(1362,788,{},CSn),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),b(651,410,{},tV),o.bl=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),b(1363,651,{},yAn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),b(789,651,{},RV),o.Mj=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),b(1364,789,{},MSn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),b(1357,410,{},jAn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),b(786,410,{},KV),o.Mj=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),b(1358,786,{},TSn),o.tk=function(){return!0},w(qn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),b(790,576,VS,FW),o.yl=function(e){return new FW(this.a,this.c,e)},o.md=function(){return this.b},o.zl=function(e,t,i){return b4e(this,e,this.b,i)},o.Al=function(e,t,i){return w4e(this,e,this.b,i)},w(qn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),b(1365,1,TK,Eyn),o.Fk=function(e){return this.a},o.Qj=function(){return D(this.a,97)?u(this.a,97).Qj():!this.a.dc()},o.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},o.Gk=function(){D(this.a,97)?u(this.a,97).Gk():this.a.$b()},w(qn,"EStructuralFeatureImpl/SettingMany",1365),b(1366,576,VS,VDn),o.xl=function(e){return new DL((at(),F9),this.b.ri(this.a,e))},o.md=function(){return null},o.zl=function(e,t,i){return i},o.Al=function(e,t,i){return i},w(qn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),b(652,576,VS,DL),o.xl=function(e){return new DL(this.c,e)},o.md=function(){return this.a},o.zl=function(e,t,i){return i},o.Al=function(e,t,i){return i},w(qn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),b(403,506,Ch,W3),o.aj=function(e){return K(As,Bn,29,e,0,1)},o.Yi=function(){return!1},w(qn,"ESuperAdapter/1",403),b(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},UO),o.Lh=function(e,t,i){var r;switch(e){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new B6(this,jr,this)),this.a}return zo(this,e-se((On(),Eb)),$n((r=u(Un(this,16),29),r||Eb),e),t,i)},o.Uh=function(e,t,i){var r,c;switch(t){case 0:return!this.Ab&&(this.Ab=new q(Ue,this,0,3)),cr(this.Ab,e,i);case 2:return!this.a&&(this.a=new B6(this,jr,this)),cr(this.a,e,i)}return c=u($n((r=u(Un(this,16),29),r||(On(),Eb)),t),69),c.wk().Ak(this,iu(this),t-se((On(),Eb)),e,i)},o.Wh=function(e){var t;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return Uo(this,e-se((On(),Eb)),$n((t=u(Un(this,16),29),t||Eb),e))},o.bi=function(e,t){var i;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab),!this.Ab&&(this.Ab=new q(Ue,this,0,3)),Bt(this.Ab,u(t,16));return;case 1:zc(this,Oe(t));return;case 2:!this.a&&(this.a=new B6(this,jr,this)),me(this.a),!this.a&&(this.a=new B6(this,jr,this)),Bt(this.a,u(t,16));return}Jo(this,e-se((On(),Eb)),$n((i=u(Un(this,16),29),i||Eb),e),t)},o.ii=function(){return On(),Eb},o.ki=function(e){var t;switch(e){case 0:!this.Ab&&(this.Ab=new q(Ue,this,0,3)),me(this.Ab);return;case 1:zc(this,null);return;case 2:!this.a&&(this.a=new B6(this,jr,this)),me(this.a);return}Wo(this,e-se((On(),Eb)),$n((t=u(Un(this,16),29),t||Eb),e))},w(qn,"ETypeParameterImpl",457),b(458,83,Qr,B6),o.Nj=function(e,t){return Pye(this,u(e,89),t)},o.Oj=function(e,t){return Iye(this,u(e,89),t)},w(qn,"ETypeParameterImpl/1",458),b(647,45,n2,aD),o.ec=function(){return new NE(this)},w(qn,"ETypeParameterImpl/2",647),b(570,Kf,Lu,NE),o.Fc=function(e){return VAn(this,u(e,89))},o.Gc=function(e){var t,i,r;for(r=!1,i=e.Kc();i.Ob();)t=u(i.Pb(),89),Ve(this.a,t,"")==null&&(r=!0);return r},o.$b=function(){Hu(this.a)},o.Hc=function(e){return Zc(this.a,e)},o.Kc=function(){var e;return e=new sd(new Ua(this.a).a),new $E(e)},o.Mc=function(e){return BLn(this,e)},o.gc=function(){return c6(this.a)},w(qn,"ETypeParameterImpl/2/1",570),b(571,1,Si,$E),o.Nb=function(e){_i(this,e)},o.Pb=function(){return u(L0(this.a).ld(),89)},o.Ob=function(){return this.a.b},o.Qb=function(){XNn(this.a)},w(qn,"ETypeParameterImpl/2/1/1",571),b(1329,45,n2,djn),o._b=function(e){return Ai(e)?AN(this,e):!!wr(this.f,e)},o.xc=function(e){var t,i;return t=Ai(e)?Nc(this,e):Kr(wr(this.f,e)),D(t,851)?(i=u(t,851),t=i.Kk(),Ve(this,u(e,241),t),t):t??(e==null?(OD(),Zoe):null)},w(qn,"EValidatorRegistryImpl",1329),b(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},$vn),o.ri=function(e,t){switch(e.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return t==null?null:Jr(t);case 25:return Tme(t);case 27:return K4e(t);case 28:return _4e(t);case 29:return t==null?null:MTn(O9[0],u(t,206));case 41:return t==null?"":Xa(u(t,297));case 42:return Jr(t);case 50:return Oe(t);default:throw M(new Gn(ev+e.xe()+nb))}},o.si=function(e){var t,i,r,c,s,f,h,l,a,d,g,p,m,k,j,S;switch(e.G==-1&&(e.G=(p=jo(e),p?f1(p.vi(),e):-1)),e.G){case 0:return i=new fD,i;case 1:return t=new tG,t;case 2:return r=new uG,r;case 4:return c=new xE,c;case 5:return s=new ajn,s;case 6:return f=new Fyn,f;case 7:return h=new oG,h;case 10:return a=new ME,a;case 11:return d=new hD,d;case 12:return g=new HIn,g;case 13:return m=new lD,m;case 14:return k=new cV,k;case 17:return j=new Mvn,j;case 18:return l=new Jd,l;case 19:return S=new UO,S;default:throw M(new Gn(hK+e.zb+nb))}},o.ti=function(e,t){switch(e.hk()){case 20:return t==null?null:new Az(t);case 21:return t==null?null:new H1(t);case 23:case 22:return t==null?null:R8e(t);case 26:case 24:return t==null?null:ak(Ao(t,-128,127)<<24>>24);case 25:return rMe(t);case 27:return T7e(t);case 28:return A7e(t);case 29:return Jye(t);case 32:case 31:return t==null?null:sw(t);case 38:case 37:return t==null?null:new UG(t);case 40:case 39:return t==null?null:Y(Ao(t,Wi,et));case 41:return null;case 42:return t==null,null;case 44:case 43:return t==null?null:Ml(zA(t));case 49:case 48:return t==null?null:sm(Ao(t,QS,32767)<<16>>16);case 50:return t;default:throw M(new Gn(ev+e.xe()+nb))}},w(qn,"EcoreFactoryImpl",1349),b(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},aIn),o.gb=!1,o.hb=!1;var n0n,Yoe=!1;w(qn,"EcorePackageImpl",560),b(1234,1,{851:1},xvn),o.Kk=function(){return BTn(),nse},w(qn,"EcorePackageImpl/1",1234),b(1243,1,ze,Fvn),o.fk=function(e){return D(e,155)},o.gk=function(e){return K(fE,Bn,155,e,0,1)},w(qn,"EcorePackageImpl/10",1243),b(1244,1,ze,Bvn),o.fk=function(e){return D(e,197)},o.gk=function(e){return K(pU,Bn,197,e,0,1)},w(qn,"EcorePackageImpl/11",1244),b(1245,1,ze,Rvn),o.fk=function(e){return D(e,58)},o.gk=function(e){return K(Oa,Bn,58,e,0,1)},w(qn,"EcorePackageImpl/12",1245),b(1246,1,ze,Kvn),o.fk=function(e){return D(e,411)},o.gk=function(e){return K(Ss,Gcn,62,e,0,1)},w(qn,"EcorePackageImpl/13",1246),b(1247,1,ze,_vn),o.fk=function(e){return D(e,241)},o.gk=function(e){return K(Ef,Bn,241,e,0,1)},w(qn,"EcorePackageImpl/14",1247),b(1248,1,ze,Hvn),o.fk=function(e){return D(e,518)},o.gk=function(e){return K(yb,Bn,2116,e,0,1)},w(qn,"EcorePackageImpl/15",1248),b(1249,1,ze,qvn),o.fk=function(e){return D(e,102)},o.gk=function(e){return K(eg,f2,19,e,0,1)},w(qn,"EcorePackageImpl/16",1249),b(1250,1,ze,Uvn),o.fk=function(e){return D(e,179)},o.gk=function(e){return K(ku,f2,179,e,0,1)},w(qn,"EcorePackageImpl/17",1250),b(1251,1,ze,Gvn),o.fk=function(e){return D(e,481)},o.gk=function(e){return K(Zw,Bn,481,e,0,1)},w(qn,"EcorePackageImpl/18",1251),b(1252,1,ze,zvn),o.fk=function(e){return D(e,561)},o.gk=function(e){return K(pc,nJn,561,e,0,1)},w(qn,"EcorePackageImpl/19",1252),b(1235,1,ze,Xvn),o.fk=function(e){return D(e,331)},o.gk=function(e){return K(ng,f2,35,e,0,1)},w(qn,"EcorePackageImpl/2",1235),b(1253,1,ze,Vvn),o.fk=function(e){return D(e,248)},o.gk=function(e){return K(jr,pJn,89,e,0,1)},w(qn,"EcorePackageImpl/20",1253),b(1254,1,ze,Wvn),o.fk=function(e){return D(e,457)},o.gk=function(e){return K(fu,Bn,850,e,0,1)},w(qn,"EcorePackageImpl/21",1254),b(1255,1,ze,Jvn),o.fk=function(e){return Nb(e)},o.gk=function(e){return K(Gt,J,485,e,8,1)},w(qn,"EcorePackageImpl/22",1255),b(1256,1,ze,Qvn),o.fk=function(e){return D(e,195)},o.gk=function(e){return K(Fu,J,195,e,0,2)},w(qn,"EcorePackageImpl/23",1256),b(1257,1,ze,Yvn),o.fk=function(e){return D(e,222)},o.gk=function(e){return K(p3,J,222,e,0,1)},w(qn,"EcorePackageImpl/24",1257),b(1258,1,ze,Zvn),o.fk=function(e){return D(e,180)},o.gk=function(e){return K(A8,J,180,e,0,1)},w(qn,"EcorePackageImpl/25",1258),b(1259,1,ze,n6n),o.fk=function(e){return D(e,206)},o.gk=function(e){return K(oP,J,206,e,0,1)},w(qn,"EcorePackageImpl/26",1259),b(1260,1,ze,e6n),o.fk=function(e){return!1},o.gk=function(e){return K(m0n,Bn,2215,e,0,1)},w(qn,"EcorePackageImpl/27",1260),b(1261,1,ze,t6n),o.fk=function(e){return $b(e)},o.gk=function(e){return K(si,J,345,e,7,1)},w(qn,"EcorePackageImpl/28",1261),b(1262,1,ze,i6n),o.fk=function(e){return D(e,61)},o.gk=function(e){return K(Ldn,kw,61,e,0,1)},w(qn,"EcorePackageImpl/29",1262),b(1236,1,ze,r6n),o.fk=function(e){return D(e,519)},o.gk=function(e){return K(Ue,{3:1,4:1,5:1,2033:1},598,e,0,1)},w(qn,"EcorePackageImpl/3",1236),b(1263,1,ze,c6n),o.fk=function(e){return D(e,582)},o.gk=function(e){return K(xdn,Bn,2039,e,0,1)},w(qn,"EcorePackageImpl/30",1263),b(1264,1,ze,u6n),o.fk=function(e){return D(e,160)},o.gk=function(e){return K(c0n,kw,160,e,0,1)},w(qn,"EcorePackageImpl/31",1264),b(1265,1,ze,o6n),o.fk=function(e){return D(e,76)},o.gk=function(e){return K(CO,TJn,76,e,0,1)},w(qn,"EcorePackageImpl/32",1265),b(1266,1,ze,s6n),o.fk=function(e){return D(e,161)},o.gk=function(e){return K(sv,J,161,e,0,1)},w(qn,"EcorePackageImpl/33",1266),b(1267,1,ze,f6n),o.fk=function(e){return D(e,17)},o.gk=function(e){return K(Gi,J,17,e,0,1)},w(qn,"EcorePackageImpl/34",1267),b(1268,1,ze,h6n),o.fk=function(e){return D(e,297)},o.gk=function(e){return K(run,Bn,297,e,0,1)},w(qn,"EcorePackageImpl/35",1268),b(1269,1,ze,l6n),o.fk=function(e){return D(e,168)},o.gk=function(e){return K(tb,J,168,e,0,1)},w(qn,"EcorePackageImpl/36",1269),b(1270,1,ze,a6n),o.fk=function(e){return D(e,85)},o.gk=function(e){return K(cun,Bn,85,e,0,1)},w(qn,"EcorePackageImpl/37",1270),b(1271,1,ze,d6n),o.fk=function(e){return D(e,599)},o.gk=function(e){return K(e0n,Bn,599,e,0,1)},w(qn,"EcorePackageImpl/38",1271),b(1272,1,ze,b6n),o.fk=function(e){return!1},o.gk=function(e){return K(v0n,Bn,2216,e,0,1)},w(qn,"EcorePackageImpl/39",1272),b(1237,1,ze,w6n),o.fk=function(e){return D(e,90)},o.gk=function(e){return K(As,Bn,29,e,0,1)},w(qn,"EcorePackageImpl/4",1237),b(1273,1,ze,g6n),o.fk=function(e){return D(e,191)},o.gk=function(e){return K(ib,J,191,e,0,1)},w(qn,"EcorePackageImpl/40",1273),b(1274,1,ze,p6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(qn,"EcorePackageImpl/41",1274),b(1275,1,ze,m6n),o.fk=function(e){return D(e,596)},o.gk=function(e){return K($dn,Bn,596,e,0,1)},w(qn,"EcorePackageImpl/42",1275),b(1276,1,ze,v6n),o.fk=function(e){return!1},o.gk=function(e){return K(k0n,J,2217,e,0,1)},w(qn,"EcorePackageImpl/43",1276),b(1277,1,ze,k6n),o.fk=function(e){return D(e,44)},o.gk=function(e){return K(Pd,WA,44,e,0,1)},w(qn,"EcorePackageImpl/44",1277),b(1238,1,ze,y6n),o.fk=function(e){return D(e,142)},o.gk=function(e){return K(Cf,Bn,142,e,0,1)},w(qn,"EcorePackageImpl/5",1238),b(1239,1,ze,j6n),o.fk=function(e){return D(e,156)},o.gk=function(e){return K(EU,Bn,156,e,0,1)},w(qn,"EcorePackageImpl/6",1239),b(1240,1,ze,E6n),o.fk=function(e){return D(e,469)},o.gk=function(e){return K(EO,Bn,685,e,0,1)},w(qn,"EcorePackageImpl/7",1240),b(1241,1,ze,C6n),o.fk=function(e){return D(e,582)},o.gk=function(e){return K(Bl,Bn,694,e,0,1)},w(qn,"EcorePackageImpl/8",1241),b(1242,1,ze,M6n),o.fk=function(e){return D(e,480)},o.gk=function(e){return K(I9,Bn,480,e,0,1)},w(qn,"EcorePackageImpl/9",1242),b(1038,2080,ZWn,Njn),o.Mi=function(e,t){b5e(this,u(t,424))},o.Qi=function(e,t){S_n(this,e,u(t,424))},w(qn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),b(1039,152,Wy,tIn),o.jj=function(){return this.a.a},w(qn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),b(1067,1066,{},gTn),w("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var e0n=Nt(AJn,"Resource");b(799,1524,SJn),o.Hl=function(e){},o.Il=function(e){},o.El=function(){return!this.a&&(this.a=new iD(this)),this.a},o.Fl=function(e){var t,i,r,c,s;if(r=e.length,r>0)if(zn(0,e.length),e.charCodeAt(0)==47){for(s=new Gc(4),c=1,t=1;t0&&(e=(Fi(0,i,e.length),e.substr(0,i))));return qEe(this,e)},o.Gl=function(){return this.c},o.Ib=function(){var e;return Xa(this.Rm)+"@"+(e=mt(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},o.b=!1,w(AK,"ResourceImpl",799),b(1525,799,SJn,Cyn),w(AK,"BinaryResourceImpl",1525),b(1190,708,yK),o.bj=function(e){return D(e,58)?Nge(this,u(e,58)):D(e,599)?new ne(u(e,599).El()):x(e)===x(this.f)?u(e,16).Kc():(m4(),aE.a)},o.Ob=function(){return Fnn(this)},o.a=!1,w(Tt,"EcoreUtil/ContentTreeIterator",1190),b(1526,1190,yK,DPn),o.bj=function(e){return x(e)===x(this.f)?u(e,15).Kc():new PDn(u(e,58))},w(AK,"ResourceImpl/5",1526),b(658,2092,gJn,iD),o.Hc=function(e){return this.i<=4?km(this,e):D(e,54)&&u(e,54).Jh()==this.a},o.Mi=function(e,t){e==this.i-1&&(this.a.b||(this.a.b=!0))},o.Oi=function(e,t){e==0?this.a.b||(this.a.b=!0):t$(this,e,t)},o.Qi=function(e,t){},o.Ri=function(e,t,i){},o.Lj=function(){return 2},o.jj=function(){return this.a},o.Mj=function(){return!0},o.Nj=function(e,t){var i;return i=u(e,54),t=i.fi(this.a,t),t},o.Oj=function(e,t){var i;return i=u(e,54),i.fi(null,t)},o.Pj=function(){return!1},o.Si=function(){return!0},o.aj=function(e){return K(Oa,Bn,58,e,0,1)},o.Yi=function(){return!1},w(AK,"ResourceImpl/ContentsEList",658),b(970,2062,Rm,Myn),o.fd=function(e){return this.a.Ki(e)},o.gc=function(){return this.a.gc()},w(Tt,"AbstractSequentialInternalEList/1",970);var t0n,i0n,zi,r0n;b(634,1,{},NSn);var MO,TO;w(Tt,"BasicExtendedMetaData",634),b(1181,1,{},xMn),o.Jl=function(){return null},o.Kl=function(){return this.a==-2&&dfe(this,qye(this.d,this.b)),this.a},o.Ll=function(){return null},o.Ml=function(){return Dn(),Dn(),sr},o.xe=function(){return this.c==rv&&bfe(this,YBn(this.d,this.b)),this.c},o.Nl=function(){return 0},o.a=-2,o.c=rv,w(Tt,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),b(1182,1,{},cDn),o.Jl=function(){return this.a==($4(),MO)&&pfe(this,HAe(this.f,this.b)),this.a},o.Kl=function(){return 0},o.Ll=function(){return this.c==($4(),MO)&&wfe(this,qAe(this.f,this.b)),this.c},o.Ml=function(){return!this.d&&vfe(this,APe(this.f,this.b)),this.d},o.xe=function(){return this.e==rv&&yfe(this,YBn(this.f,this.b)),this.e},o.Nl=function(){return this.g==-2&&Efe(this,sye(this.f,this.b)),this.g},o.e=rv,o.g=-2,w(Tt,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),b(1180,1,{},FMn),o.b=!1,o.c=!1,w(Tt,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),b(1183,1,{},uDn),o.c=-2,o.e=rv,o.f=rv,w(Tt,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),b(593,632,Qr,QC),o.Lj=function(){return this.c},o.ol=function(){return!1},o.Wi=function(e,t){return t},o.c=0,w(Tt,"EDataTypeEList",593);var c0n=Nt(Tt,"FeatureMap");b(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Rt),o.bd=function(e,t){oTe(this,e,u(t,76))},o.Fc=function(e){return MMe(this,u(e,76))},o.Hi=function(e){Owe(this,u(e,76))},o.Nj=function(e,t){return Yae(this,u(e,76),t)},o.Oj=function(e,t){return PV(this,u(e,76),t)},o.Ti=function(e,t){return LSe(this,e,t)},o.Wi=function(e,t){return vOe(this,e,u(t,76))},o.hd=function(e,t){return VTe(this,e,u(t,76))},o.Uj=function(e,t){return Zae(this,u(e,76),t)},o.Vj=function(e,t){return fSn(this,u(e,76),t)},o.Wj=function(e,t,i){return Wke(this,u(e,76),u(t,76),i)},o.Zi=function(e,t){return Jx(this,e,u(t,76))},o.Ol=function(e,t){return Sen(this,e,t)},o.cd=function(e,t){var i,r,c,s,f,h,l,a,d;for(a=new S0(t.gc()),c=t.Kc();c.Ob();)if(r=u(c.Pb(),76),s=r.Lk(),Sl(this.e,s))(!s.Si()||!_M(this,s,r.md())&&!km(a,r))&&ve(a,r);else{for(d=ru(this.e.Dh(),s),i=u(this.g,124),f=!0,h=0;h=0;)if(t=e[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},w(Tt,"BasicFeatureMap/FeatureEIterator",420),b(676,420,Hh,dL),o.ul=function(){return!0},w(Tt,"BasicFeatureMap/ResolvingFeatureEIterator",676),b(968,496,zS,TTn),o.pj=function(){return this},w(Tt,"EContentsEList/1",968),b(969,496,zS,JMn),o.ul=function(){return!1},w(Tt,"EContentsEList/2",969),b(967,287,XS,ATn),o.wl=function(e){},o.Ob=function(){return!1},o.Sb=function(){return!1},w(Tt,"EContentsEList/FeatureIteratorImpl/1",967),b(840,593,Qr,xX),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Rs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EDataTypeEList/Unsettable",840),b(1958,593,Qr,NTn),o.Si=function(){return!0},w(Tt,"EDataTypeUniqueEList",1958),b(1959,840,Qr,$Tn),o.Si=function(){return!0},w(Tt,"EDataTypeUniqueEList/Unsettable",1959),b(147,83,Qr,Tu),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentEList/Resolving",147),b(1184,555,Qr,xTn),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentEList/Unsettable/Resolving",1184),b(766,14,Qr,jV),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Rs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EObjectContainmentWithInverseEList/Unsettable",766),b(1222,766,Qr,WAn),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),b(757,505,Qr,FX),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Rs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EObjectEList/Unsettable",757),b(338,505,Qr,Eg),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectResolvingEList",338),b(1844,757,Qr,FTn),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectResolvingEList/Unsettable",1844),b(1527,1,{},T6n);var Zoe;w(Tt,"EObjectValidator",1527),b(559,505,Qr,bM),o.il=function(){return this.d},o.jl=function(){return this.b},o.Mj=function(){return!0},o.ml=function(){return!0},o.b=0,w(Tt,"EObjectWithInverseEList",559),b(1225,559,Qr,JAn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseEList/ManyInverse",1225),b(635,559,Qr,NL),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Rs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EObjectWithInverseEList/Unsettable",635),b(1224,635,Qr,QAn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),b(767,559,Qr,EV),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectWithInverseResolvingEList",767),b(32,767,Qr,Nn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseResolvingEList/ManyInverse",32),b(768,635,Qr,CV),o.nl=function(){return!0},o.Wi=function(e,t){return e3(this,e,u(t,58))},w(Tt,"EObjectWithInverseResolvingEList/Unsettable",768),b(1223,768,Qr,YAn),o.ll=function(){return!0},w(Tt,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),b(1185,632,Qr),o.Li=function(){return(this.b&1792)==0},o.Ni=function(){this.b|=1},o.kl=function(){return(this.b&4)!=0},o.Mj=function(){return(this.b&40)!=0},o.ll=function(){return(this.b&16)!=0},o.ml=function(){return(this.b&8)!=0},o.nl=function(){return(this.b&Tw)!=0},o.al=function(){return(this.b&32)!=0},o.ol=function(){return(this.b&Gs)!=0},o.fk=function(e){return this.d?BDn(this.d,e):this.Lk().Hk().fk(e)},o.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},o.Si=function(){return(this.b&128)!=0},o.Gk=function(){var e;me(this),this.b&2&&(fo(this.e)?(e=(this.b&1)!=0,this.b&=-2,t4(this,new Rs(this.e,2,Ot(this.e.Dh(),this.Lk()),e,!1))):this.b&=-2)},o.Yi=function(){return(this.b&1536)==0},o.b=0,w(Tt,"EcoreEList/Generic",1185),b(1186,1185,Qr,UIn),o.Lk=function(){return this.a},w(Tt,"EcoreEList/Dynamic",1186),b(765,66,Ch,BG),o.aj=function(e){return gk(this.a.a,e)},w(Tt,"EcoreEMap/1",765),b(764,83,Qr,jW),o.Mi=function(e,t){uA(this.b,u(t,136))},o.Oi=function(e,t){_xn(this.b)},o.Pi=function(e,t,i){var r;++(r=this.b,u(t,136),r).e},o.Qi=function(e,t){cx(this.b,u(t,136))},o.Ri=function(e,t,i){cx(this.b,u(i,136)),x(i)===x(t)&&u(i,136).Ci(Jle(u(t,136).ld())),uA(this.b,u(t,136))},w(Tt,"EcoreEMap/DelegateEObjectContainmentEList",764),b(1220,141,Ucn,rxn),w(Tt,"EcoreEMap/Unsettable",1220),b(1221,764,Qr,ZAn),o.Ni=function(){this.a=!0},o.Qj=function(){return this.a},o.Gk=function(){var e;me(this),fo(this.e)?(e=this.a,this.a=!1,it(this.e,new Rs(this.e,2,this.c,e,!1))):this.a=!1},o.a=!1,w(Tt,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),b(1189,215,n2,GPn),o.a=!1,o.b=!1,w(Tt,"EcoreUtil/Copier",1189),b(759,1,Si,PDn),o.Nb=function(e){_i(this,e)},o.Ob=function(){return FBn(this)},o.Pb=function(){var e;return FBn(this),e=this.b,this.b=null,e},o.Qb=function(){this.a.Qb()},w(Tt,"EcoreUtil/ProperContentIterator",759),b(1528,1527,{},T8n);var nse;w(Tt,"EcoreValidator",1528);var ese;Nt(Tt,"FeatureMapUtil/Validator"),b(1295,1,{2041:1},A6n),o.am=function(e){return!0},w(Tt,"FeatureMapUtil/1",1295),b(773,1,{2041:1},rtn),o.am=function(e){var t;return this.c==e?!0:(t=un(ee(this.a,e)),t==null?WAe(this,e)?(PLn(this.a,e,(_n(),ov)),!0):(PLn(this.a,e,(_n(),ga)),!1):t==(_n(),ov))},o.e=!1;var AU;w(Tt,"FeatureMapUtil/BasicValidator",773),b(774,45,n2,NX),w(Tt,"FeatureMapUtil/BasicValidator/Cache",774),b(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},k7),o.bd=function(e,t){mqn(this.c,this.b,e,t)},o.Fc=function(e){return Sen(this.c,this.b,e)},o.cd=function(e,t){return gIe(this.c,this.b,e,t)},o.Gc=function(e){return P6(this,e)},o.Gi=function(e,t){lme(this.c,this.b,e,t)},o.Wk=function(e,t){return ken(this.c,this.b,e,t)},o.$i=function(e){return _A(this.c,this.b,e,!1)},o.Ii=function(){return sTn(this.c,this.b)},o.Ji=function(){return Fle(this.c,this.b)},o.Ki=function(e){return g4e(this.c,this.b,e)},o.Xk=function(e,t){return DAn(this,e,t)},o.$b=function(){cp(this)},o.Hc=function(e){return _M(this.c,this.b,e)},o.Ic=function(e){return wve(this.c,this.b,e)},o.Xb=function(e){return _A(this.c,this.b,e,!0)},o.Fk=function(e){return this},o.dd=function(e){return E3e(this.c,this.b,e)},o.dc=function(){return TC(this)},o.Qj=function(){return!Fk(this.c,this.b)},o.Kc=function(){return eme(this.c,this.b)},o.ed=function(){return tme(this.c,this.b)},o.fd=function(e){return L5e(this.c,this.b,e)},o.Ti=function(e,t){return LUn(this.c,this.b,e,t)},o.Ui=function(e,t){v4e(this.c,this.b,e,t)},o.gd=function(e){return l_n(this.c,this.b,e)},o.Mc=function(e){return mSe(this.c,this.b,e)},o.hd=function(e,t){return HUn(this.c,this.b,e,t)},o.Wb=function(e){jA(this.c,this.b),P6(this,u(e,15))},o.gc=function(){return D5e(this.c,this.b)},o.Pc=function(){return Mpe(this.c,this.b)},o.Qc=function(e){return C3e(this.c,this.b,e)},o.Ib=function(){var e,t;for(t=new Hl,t.a+="[",e=sTn(this.c,this.b);W$(e);)Er(t,O6(iA(e))),W$(e)&&(t.a+=ur);return t.a+="]",t.a},o.Gk=function(){jA(this.c,this.b)},w(Tt,"FeatureMapUtil/FeatureEList",509),b(644,39,Wy,GN),o.hj=function(e){return m5(this,e)},o.mj=function(e){var t,i,r,c,s,f,h;switch(this.d){case 1:case 2:{if(s=e.jj(),x(s)===x(this.c)&&m5(this,null)==e.hj(null))return this.g=e.ij(),e.gj()==1&&(this.d=1),!0;break}case 3:{switch(c=e.gj(),c){case 3:{if(s=e.jj(),x(s)===x(this.c)&&m5(this,null)==e.hj(null))return this.d=5,t=new S0(2),ve(t,this.g),ve(t,e.ij()),this.g=t,!0;break}}break}case 5:{switch(c=e.gj(),c){case 3:{if(s=e.jj(),x(s)===x(this.c)&&m5(this,null)==e.hj(null))return i=u(this.g,16),i.Fc(e.ij()),!0;break}}break}case 4:{switch(c=e.gj(),c){case 3:{if(s=e.jj(),x(s)===x(this.c)&&m5(this,null)==e.hj(null))return this.d=1,this.g=e.ij(),!0;break}case 4:{if(s=e.jj(),x(s)===x(this.c)&&m5(this,null)==e.hj(null))return this.d=6,h=new S0(2),ve(h,this.n),ve(h,e.kj()),this.n=h,f=A(T(ye,1),_e,28,15,[this.o,e.lj()]),this.g=f,!0;break}}break}case 6:{switch(c=e.gj(),c){case 4:{if(s=e.jj(),x(s)===x(this.c)&&m5(this,null)==e.hj(null))return i=u(this.n,16),i.Fc(e.kj()),f=u(this.g,53),r=K(ye,_e,28,f.length+1,15,1),Ic(f,0,r,0,f.length),r[f.length]=e.lj(),this.g=r,!0;break}}break}}return!1},w(Tt,"FeatureMapUtil/FeatureENotificationImpl",644),b(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},eM),o.Ol=function(e,t){return Sen(this.c,e,t)},o.Pl=function(e,t,i){return ken(this.c,e,t,i)},o.Ql=function(e,t,i){return zen(this.c,e,t,i)},o.Rl=function(){return this},o.Sl=function(e,t){return wy(this.c,e,t)},o.Tl=function(e){return u(_A(this.c,this.b,e,!1),76).Lk()},o.Ul=function(e){return u(_A(this.c,this.b,e,!1),76).md()},o.Vl=function(){return this.a},o.Wl=function(e){return!Fk(this.c,e)},o.Xl=function(e,t){HA(this.c,e,t)},o.Yl=function(e){return oxn(this.c,e)},o.Zl=function(e){RRn(this.c,e)},w(Tt,"FeatureMapUtil/FeatureFeatureMap",564),b(1294,1,TK,$Mn),o.Fk=function(e){return _A(this.b,this.a,-1,e)},o.Qj=function(){return!Fk(this.b,this.a)},o.Wb=function(e){HA(this.b,this.a,e)},o.Gk=function(){jA(this.b,this.a)},w(Tt,"FeatureMapUtil/FeatureValue",1294);var K3,SU,PU,_3,tse,bE=Nt(eP,"AnyType");b(680,63,Pl,kD),w(eP,"InvalidDatatypeValueException",680);var AO=Nt(eP,IJn),wE=Nt(eP,OJn),u0n=Nt(eP,DJn),ise,yc,o0n,zd,rse,cse,use,ose,sse,fse,hse,lse,ase,dse,bse,G2,wse,z2,$9,gse,Cb,gE,pE,pse,x9,F9;b(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},iz),o.Lh=function(e,t,i){switch(e){case 0:return i?(!this.c&&(this.c=new Rt(this,0)),this.c):(!this.c&&(this.c=new Rt(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)):(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Vl();case 2:return i?(!this.b&&(this.b=new Rt(this,2)),this.b):(!this.b&&(this.b=new Rt(this,2)),this.b.b)}return zo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():this.ii(),e),t,i)},o.Uh=function(e,t,i){var r;switch(t){case 0:return!this.c&&(this.c=new Rt(this,0)),ly(this.c,e,i);case 1:return(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),71)).Xk(e,i);case 2:return!this.b&&(this.b=new Rt(this,2)),ly(this.b,e,i)}return r=u($n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():this.ii(),t),69),r.wk().Ak(this,uQ(this),t-se(this.ii()),e,i)},o.Wh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return Uo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():this.ii(),e))},o.bi=function(e,t){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),K7(this.c,t);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Wb(t);return;case 2:!this.b&&(this.b=new Rt(this,2)),K7(this.b,t);return}Jo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():this.ii(),e),t)},o.ii=function(){return at(),o0n},o.ki=function(e){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),me(this.c);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).$b();return;case 2:!this.b&&(this.b=new Rt(this,2)),me(this.b);return}Wo(this,e-se(this.ii()),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():this.ii(),e))},o.Ib=function(){var e;return this.j&4?Hs(this):(e=new ls(Hs(this)),e.a+=" (mixed: ",M6(e,this.c),e.a+=", anyAttribute: ",M6(e,this.b),e.a+=")",e.a)},w(oi,"AnyTypeImpl",844),b(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},B6n),o.Lh=function(e,t,i){switch(e){case 0:return this.a;case 1:return this.b}return zo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():G2,e),t,i)},o.Wh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return Uo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():G2,e))},o.bi=function(e,t){switch(e){case 0:Tfe(this,Oe(t));return;case 1:Sfe(this,Oe(t));return}Jo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():G2,e),t)},o.ii=function(){return at(),G2},o.ki=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}Wo(this,e-se((at(),G2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():G2,e))},o.Ib=function(){var e;return this.j&4?Hs(this):(e=new ls(Hs(this)),e.a+=" (data: ",Er(e,this.a),e.a+=", target: ",Er(e,this.b),e.a+=")",e.a)},o.a=null,o.b=null,w(oi,"ProcessingInstructionImpl",681),b(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},bjn),o.Lh=function(e,t,i){switch(e){case 0:return i?(!this.c&&(this.c=new Rt(this,0)),this.c):(!this.c&&(this.c=new Rt(this,0)),this.c.b);case 1:return i?(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)):(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Vl();case 2:return i?(!this.b&&(this.b=new Rt(this,2)),this.b):(!this.b&&(this.b=new Rt(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),$9),!0));case 4:return TV(this.a,(!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),$9),!0))));case 5:return this.a}return zo(this,e-se((at(),z2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():z2,e),t,i)},o.Wh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),$9),!0))!=null;case 4:return TV(this.a,(!this.c&&(this.c=new Rt(this,0)),Oe(wy(this.c,(at(),$9),!0))))!=null;case 5:return!!this.a}return Uo(this,e-se((at(),z2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():z2,e))},o.bi=function(e,t){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),K7(this.c,t);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u(u($c(this.c,(at(),zd)),160),220)).Wb(t);return;case 2:!this.b&&(this.b=new Rt(this,2)),K7(this.b,t);return;case 3:bJ(this,Oe(t));return;case 4:bJ(this,MV(this.a,t));return;case 5:Afe(this,u(t,156));return}Jo(this,e-se((at(),z2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():z2,e),t)},o.ii=function(){return at(),z2},o.ki=function(e){switch(e){case 0:!this.c&&(this.c=new Rt(this,0)),me(this.c);return;case 1:(!this.c&&(this.c=new Rt(this,0)),u($c(this.c,(at(),zd)),160)).$b();return;case 2:!this.b&&(this.b=new Rt(this,2)),me(this.b);return;case 3:!this.c&&(this.c=new Rt(this,0)),HA(this.c,(at(),$9),null);return;case 4:bJ(this,MV(this.a,null));return;case 5:this.a=null;return}Wo(this,e-se((at(),z2)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():z2,e))},w(oi,"SimpleAnyTypeImpl",682),b(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},wjn),o.Lh=function(e,t,i){switch(e){case 0:return i?(!this.a&&(this.a=new Rt(this,0)),this.a):(!this.a&&(this.a=new Rt(this,0)),this.a.b);case 1:return i?(!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),this.b):(!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),rk(this.b));case 2:return i?(!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),this.c):(!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),rk(this.c));case 3:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),gE));case 4:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),pE));case 5:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),x9));case 6:return!this.a&&(this.a=new Rt(this,0)),$c(this.a,(at(),F9))}return zo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():Cb,e),t,i)},o.Uh=function(e,t,i){var r;switch(t){case 0:return!this.a&&(this.a=new Rt(this,0)),ly(this.a,e,i);case 1:return!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),UC(this.b,e,i);case 2:return!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),UC(this.c,e,i);case 5:return!this.a&&(this.a=new Rt(this,0)),DAn($c(this.a,(at(),x9)),e,i)}return r=u($n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():(at(),Cb),t),69),r.wk().Ak(this,uQ(this),t-se((at(),Cb)),e,i)},o.Wh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),gE)));case 4:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),pE)));case 5:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),x9)));case 6:return!this.a&&(this.a=new Rt(this,0)),!TC($c(this.a,(at(),F9)))}return Uo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():Cb,e))},o.bi=function(e,t){switch(e){case 0:!this.a&&(this.a=new Rt(this,0)),K7(this.a,t);return;case 1:!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),TT(this.b,t);return;case 2:!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),TT(this.c,t);return;case 3:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),gE))),!this.a&&(this.a=new Rt(this,0)),P6($c(this.a,gE),u(t,16));return;case 4:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),pE))),!this.a&&(this.a=new Rt(this,0)),P6($c(this.a,pE),u(t,16));return;case 5:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),x9))),!this.a&&(this.a=new Rt(this,0)),P6($c(this.a,x9),u(t,16));return;case 6:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),F9))),!this.a&&(this.a=new Rt(this,0)),P6($c(this.a,F9),u(t,16));return}Jo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():Cb,e),t)},o.ii=function(){return at(),Cb},o.ki=function(e){switch(e){case 0:!this.a&&(this.a=new Rt(this,0)),me(this.a);return;case 1:!this.b&&(this.b=new Iu((On(),ar),pc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new Iu((On(),ar),pc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),gE)));return;case 4:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),pE)));return;case 5:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),x9)));return;case 6:!this.a&&(this.a=new Rt(this,0)),cp($c(this.a,(at(),F9)));return}Wo(this,e-se((at(),Cb)),$n(this.j&2?(!this.k&&(this.k=new uf),this.k).Nk():Cb,e))},o.Ib=function(){var e;return this.j&4?Hs(this):(e=new ls(Hs(this)),e.a+=" (mixed: ",M6(e,this.a),e.a+=")",e.a)},w(oi,"XMLTypeDocumentRootImpl",683),b(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},S6n),o.ri=function(e,t){switch(e.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return t==null?null:Jr(t);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Oe(t);case 6:return fae(u(t,195));case 12:case 47:case 49:case 11:return PGn(this,e,t);case 13:return t==null?null:kIe(u(t,247));case 15:case 14:return t==null?null:Mwe($(R(t)));case 17:return TKn((at(),t));case 18:return TKn(t);case 21:case 20:return t==null?null:Twe(u(t,161).a);case 27:return hae(u(t,195));case 30:return KRn((at(),u(t,15)));case 31:return KRn(u(t,15));case 40:return aae((at(),t));case 42:return AKn((at(),t));case 43:return AKn(t);case 59:case 48:return lae((at(),t));default:throw M(new Gn(ev+e.xe()+nb))}},o.si=function(e){var t,i,r,c,s;switch(e.G==-1&&(e.G=(i=jo(e),i?f1(i.vi(),e):-1)),e.G){case 0:return t=new iz,t;case 1:return r=new B6n,r;case 2:return c=new bjn,c;case 3:return s=new wjn,s;default:throw M(new Gn(hK+e.zb+nb))}},o.ti=function(e,t){var i,r,c,s,f,h,l,a,d,g,p,m,k,j,S,I;switch(e.hk()){case 5:case 52:case 4:return t;case 6:return m9e(t);case 8:case 7:return t==null?null:rye(t);case 9:return t==null?null:ak(Ao((r=Fc(t,!0),r.length>0&&(zn(0,r.length),r.charCodeAt(0)==43)?(zn(1,r.length+1),r.substr(1)):r),-128,127)<<24>>24);case 10:return t==null?null:ak(Ao((c=Fc(t,!0),c.length>0&&(zn(0,c.length),c.charCodeAt(0)==43)?(zn(1,c.length+1),c.substr(1)):c),-128,127)<<24>>24);case 11:return Oe(z0(this,(at(),use),t));case 12:return Oe(z0(this,(at(),ose),t));case 13:return t==null?null:new Az(Fc(t,!0));case 15:case 14:return AMe(t);case 16:return Oe(z0(this,(at(),sse),t));case 17:return HBn((at(),t));case 18:return HBn(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return Fc(t,!0);case 21:case 20:return FMe(t);case 22:return Oe(z0(this,(at(),fse),t));case 23:return Oe(z0(this,(at(),hse),t));case 24:return Oe(z0(this,(at(),lse),t));case 25:return Oe(z0(this,(at(),ase),t));case 26:return Oe(z0(this,(at(),dse),t));case 27:return u9e(t);case 30:return qBn((at(),t));case 31:return qBn(t);case 32:return t==null?null:Y(Ao((d=Fc(t,!0),d.length>0&&(zn(0,d.length),d.charCodeAt(0)==43)?(zn(1,d.length+1),d.substr(1)):d),Wi,et));case 33:return t==null?null:new H1((g=Fc(t,!0),g.length>0&&(zn(0,g.length),g.charCodeAt(0)==43)?(zn(1,g.length+1),g.substr(1)):g));case 34:return t==null?null:Y(Ao((p=Fc(t,!0),p.length>0&&(zn(0,p.length),p.charCodeAt(0)==43)?(zn(1,p.length+1),p.substr(1)):p),Wi,et));case 36:return t==null?null:Ml(zA((m=Fc(t,!0),m.length>0&&(zn(0,m.length),m.charCodeAt(0)==43)?(zn(1,m.length+1),m.substr(1)):m)));case 37:return t==null?null:Ml(zA((k=Fc(t,!0),k.length>0&&(zn(0,k.length),k.charCodeAt(0)==43)?(zn(1,k.length+1),k.substr(1)):k)));case 40:return i7e((at(),t));case 42:return UBn((at(),t));case 43:return UBn(t);case 44:return t==null?null:new H1((j=Fc(t,!0),j.length>0&&(zn(0,j.length),j.charCodeAt(0)==43)?(zn(1,j.length+1),j.substr(1)):j));case 45:return t==null?null:new H1((S=Fc(t,!0),S.length>0&&(zn(0,S.length),S.charCodeAt(0)==43)?(zn(1,S.length+1),S.substr(1)):S));case 46:return Fc(t,!1);case 47:return Oe(z0(this,(at(),bse),t));case 59:case 48:return t7e((at(),t));case 49:return Oe(z0(this,(at(),wse),t));case 50:return t==null?null:sm(Ao((I=Fc(t,!0),I.length>0&&(zn(0,I.length),I.charCodeAt(0)==43)?(zn(1,I.length+1),I.substr(1)):I),QS,32767)<<16>>16);case 51:return t==null?null:sm(Ao((s=Fc(t,!0),s.length>0&&(zn(0,s.length),s.charCodeAt(0)==43)?(zn(1,s.length+1),s.substr(1)):s),QS,32767)<<16>>16);case 53:return Oe(z0(this,(at(),gse),t));case 55:return t==null?null:sm(Ao((f=Fc(t,!0),f.length>0&&(zn(0,f.length),f.charCodeAt(0)==43)?(zn(1,f.length+1),f.substr(1)):f),QS,32767)<<16>>16);case 56:return t==null?null:sm(Ao((h=Fc(t,!0),h.length>0&&(zn(0,h.length),h.charCodeAt(0)==43)?(zn(1,h.length+1),h.substr(1)):h),QS,32767)<<16>>16);case 57:return t==null?null:Ml(zA((l=Fc(t,!0),l.length>0&&(zn(0,l.length),l.charCodeAt(0)==43)?(zn(1,l.length+1),l.substr(1)):l)));case 58:return t==null?null:Ml(zA((a=Fc(t,!0),a.length>0&&(zn(0,a.length),a.charCodeAt(0)==43)?(zn(1,a.length+1),a.substr(1)):a)));case 60:return t==null?null:Y(Ao((i=Fc(t,!0),i.length>0&&(zn(0,i.length),i.charCodeAt(0)==43)?(zn(1,i.length+1),i.substr(1)):i),Wi,et));case 61:return t==null?null:Y(Ao(Fc(t,!0),Wi,et));default:throw M(new Gn(ev+e.xe()+nb))}};var mse,s0n,vse,f0n;w(oi,"XMLTypeFactoryImpl",2028),b(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},dIn),o.N=!1,o.O=!1;var kse=!1;w(oi,"XMLTypePackageImpl",594),b(1961,1,{851:1},P6n),o.Kk=function(){return Fen(),Pse},w(oi,"XMLTypePackageImpl/1",1961),b(1970,1,ze,I6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/10",1970),b(1971,1,ze,O6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/11",1971),b(1972,1,ze,D6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/12",1972),b(1973,1,ze,L6n),o.fk=function(e){return $b(e)},o.gk=function(e){return K(si,J,345,e,7,1)},w(oi,"XMLTypePackageImpl/13",1973),b(1974,1,ze,N6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/14",1974),b(1975,1,ze,$6n),o.fk=function(e){return D(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/15",1975),b(1976,1,ze,x6n),o.fk=function(e){return D(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/16",1976),b(1977,1,ze,F6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/17",1977),b(1978,1,ze,R6n),o.fk=function(e){return D(e,161)},o.gk=function(e){return K(sv,J,161,e,0,1)},w(oi,"XMLTypePackageImpl/18",1978),b(1979,1,ze,K6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/19",1979),b(1962,1,ze,_6n),o.fk=function(e){return D(e,857)},o.gk=function(e){return K(bE,Bn,857,e,0,1)},w(oi,"XMLTypePackageImpl/2",1962),b(1980,1,ze,H6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/20",1980),b(1981,1,ze,q6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/21",1981),b(1982,1,ze,U6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/22",1982),b(1983,1,ze,G6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/23",1983),b(1984,1,ze,z6n),o.fk=function(e){return D(e,195)},o.gk=function(e){return K(Fu,J,195,e,0,2)},w(oi,"XMLTypePackageImpl/24",1984),b(1985,1,ze,X6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/25",1985),b(1986,1,ze,V6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/26",1986),b(1987,1,ze,W6n),o.fk=function(e){return D(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/27",1987),b(1988,1,ze,J6n),o.fk=function(e){return D(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/28",1988),b(1989,1,ze,Q6n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/29",1989),b(1963,1,ze,Y6n),o.fk=function(e){return D(e,681)},o.gk=function(e){return K(AO,Bn,2119,e,0,1)},w(oi,"XMLTypePackageImpl/3",1963),b(1990,1,ze,Z6n),o.fk=function(e){return D(e,17)},o.gk=function(e){return K(Gi,J,17,e,0,1)},w(oi,"XMLTypePackageImpl/30",1990),b(1991,1,ze,n5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/31",1991),b(1992,1,ze,e5n),o.fk=function(e){return D(e,168)},o.gk=function(e){return K(tb,J,168,e,0,1)},w(oi,"XMLTypePackageImpl/32",1992),b(1993,1,ze,t5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/33",1993),b(1994,1,ze,i5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/34",1994),b(1995,1,ze,r5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/35",1995),b(1996,1,ze,c5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/36",1996),b(1997,1,ze,u5n),o.fk=function(e){return D(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/37",1997),b(1998,1,ze,o5n),o.fk=function(e){return D(e,15)},o.gk=function(e){return K(rs,kw,15,e,0,1)},w(oi,"XMLTypePackageImpl/38",1998),b(1999,1,ze,s5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/39",1999),b(1964,1,ze,f5n),o.fk=function(e){return D(e,682)},o.gk=function(e){return K(wE,Bn,2120,e,0,1)},w(oi,"XMLTypePackageImpl/4",1964),b(2e3,1,ze,h5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/40",2e3),b(2001,1,ze,l5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/41",2001),b(2002,1,ze,a5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/42",2002),b(2003,1,ze,d5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/43",2003),b(2004,1,ze,b5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/44",2004),b(2005,1,ze,w5n),o.fk=function(e){return D(e,191)},o.gk=function(e){return K(ib,J,191,e,0,1)},w(oi,"XMLTypePackageImpl/45",2005),b(2006,1,ze,g5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/46",2006),b(2007,1,ze,p5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/47",2007),b(2008,1,ze,m5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/48",2008),b(2009,1,ze,v5n),o.fk=function(e){return D(e,191)},o.gk=function(e){return K(ib,J,191,e,0,1)},w(oi,"XMLTypePackageImpl/49",2009),b(1965,1,ze,k5n),o.fk=function(e){return D(e,683)},o.gk=function(e){return K(u0n,Bn,2121,e,0,1)},w(oi,"XMLTypePackageImpl/5",1965),b(2010,1,ze,y5n),o.fk=function(e){return D(e,168)},o.gk=function(e){return K(tb,J,168,e,0,1)},w(oi,"XMLTypePackageImpl/50",2010),b(2011,1,ze,j5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/51",2011),b(2012,1,ze,E5n),o.fk=function(e){return D(e,17)},o.gk=function(e){return K(Gi,J,17,e,0,1)},w(oi,"XMLTypePackageImpl/52",2012),b(1966,1,ze,C5n),o.fk=function(e){return Ai(e)},o.gk=function(e){return K(fn,J,2,e,6,1)},w(oi,"XMLTypePackageImpl/6",1966),b(1967,1,ze,M5n),o.fk=function(e){return D(e,195)},o.gk=function(e){return K(Fu,J,195,e,0,2)},w(oi,"XMLTypePackageImpl/7",1967),b(1968,1,ze,T5n),o.fk=function(e){return Nb(e)},o.gk=function(e){return K(Gt,J,485,e,8,1)},w(oi,"XMLTypePackageImpl/8",1968),b(1969,1,ze,A5n),o.fk=function(e){return D(e,222)},o.gk=function(e){return K(p3,J,222,e,0,1)},w(oi,"XMLTypePackageImpl/9",1969);var nh,O1,B9,SO,P;b(55,63,Pl,Le),w(p1,"RegEx/ParseException",55),b(836,1,{},rG),o.bm=function(e){return ei*16)throw M(new Le($e((Ie(),qWn))));i=i*16+c}while(!0);if(this.a!=125)throw M(new Le($e((Ie(),UWn))));if(i>cv)throw M(new Le($e((Ie(),GWn))));e=i}else{if(c=0,this.c!=0||(c=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(i=c,Ze(this),this.c!=0||(c=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));i=i*16+c,e=i}break;case 117:if(r=0,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));t=t*16+r,e=t;break;case 118:if(Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,Ze(this),this.c!=0||(r=bd(this.a))<0)throw M(new Le($e((Ie(),g1))));if(t=t*16+r,t>cv)throw M(new Le($e((Ie(),"parser.descappe.4"))));e=t;break;case 65:case 90:case 122:throw M(new Le($e((Ie(),zWn))))}return e},o.dm=function(e){var t,i;switch(e){case 100:i=(this.e&32)==32?sa("Nd",!0):(nt(),PO);break;case 68:i=(this.e&32)==32?sa("Nd",!1):(nt(),w0n);break;case 119:i=(this.e&32)==32?sa("IsWord",!0):(nt(),Gv);break;case 87:i=(this.e&32)==32?sa("IsWord",!1):(nt(),p0n);break;case 115:i=(this.e&32)==32?sa("IsSpace",!0):(nt(),H3);break;case 83:i=(this.e&32)==32?sa("IsSpace",!1):(nt(),g0n);break;default:throw M(new ec((t=e,zJn+t.toString(16))))}return i},o.em=function(e){var t,i,r,c,s,f,h,l,a,d,g,p;for(this.b=1,Ze(this),t=null,this.c==0&&this.a==94?(Ze(this),e?d=(nt(),nt(),new yo(5)):(t=(nt(),nt(),new yo(4)),xc(t,0,cv),d=new yo(4))):d=(nt(),nt(),new yo(4)),c=!0;(p=this.c)!=1&&!(p==0&&this.a==93&&!c);){if(c=!1,i=this.a,r=!1,p==10)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:gw(d,this.dm(i)),r=!0;break;case 105:case 73:case 99:case 67:i=this.um(d,i),i<0&&(r=!0);break;case 112:case 80:if(g=$nn(this,i),!g)throw M(new Le($e((Ie(),EK))));gw(d,g),r=!0;break;default:i=this.cm()}else if(p==20){if(f=w4(this.i,58,this.d),f<0)throw M(new Le($e((Ie(),Bcn))));if(h=!0,Xi(this.i,this.d)==94&&(++this.d,h=!1),s=qo(this.i,this.d,f),l=mNn(s,h,(this.e&512)==512),!l)throw M(new Le($e((Ie(),BWn))));if(gw(d,l),r=!0,f+1>=this.j||Xi(this.i,f+1)!=93)throw M(new Le($e((Ie(),Bcn))));this.d=f+2}if(Ze(this),!r)if(this.c!=0||this.a!=45)xc(d,i,i);else{if(Ze(this),(p=this.c)==1)throw M(new Le($e((Ie(),US))));p==0&&this.a==93?(xc(d,i,i),xc(d,45,45)):(a=this.a,p==10&&(a=this.cm()),Ze(this),xc(d,i,a))}(this.e&Gs)==Gs&&this.c==0&&this.a==44&&Ze(this)}if(this.c==1)throw M(new Le($e((Ie(),US))));return t&&(V5(t,d),d=t),Gg(d),z5(d),this.b=0,Ze(this),d},o.fm=function(){var e,t,i,r;for(i=this.em(!1);(r=this.c)!=7;)if(e=this.a,r==0&&(e==45||e==38)||r==4){if(Ze(this),this.c!=9)throw M(new Le($e((Ie(),KWn))));if(t=this.em(!1),r==4)gw(i,t);else if(e==45)V5(i,t);else if(e==38)MGn(i,t);else throw M(new ec("ASSERT"))}else throw M(new Le($e((Ie(),_Wn))));return Ze(this),i},o.gm=function(){var e,t;return e=this.a-48,t=(nt(),nt(),new IN(12,null,e)),!this.g&&(this.g=new BE),FE(this.g,new RG(e)),Ze(this),t},o.hm=function(){return Ze(this),nt(),Ese},o.im=function(){return Ze(this),nt(),jse},o.jm=function(){throw M(new Le($e((Ie(),is))))},o.km=function(){throw M(new Le($e((Ie(),is))))},o.lm=function(){return Ze(this),y6e()},o.mm=function(){return Ze(this),nt(),Mse},o.nm=function(){return Ze(this),nt(),Ase},o.om=function(){var e;if(this.d>=this.j||((e=Xi(this.i,this.d++))&65504)!=64)throw M(new Le($e((Ie(),$Wn))));return Ze(this),nt(),nt(),new Nh(0,e-64)},o.pm=function(){return Ze(this),CPe()},o.qm=function(){return Ze(this),nt(),Sse},o.rm=function(){var e;return e=(nt(),nt(),new Nh(0,105)),Ze(this),e},o.sm=function(){return Ze(this),nt(),Tse},o.tm=function(){return Ze(this),nt(),Cse},o.um=function(e,t){return this.cm()},o.vm=function(){return Ze(this),nt(),d0n},o.wm=function(){var e,t,i,r,c;if(this.d+1>=this.j)throw M(new Le($e((Ie(),DWn))));if(r=-1,t=null,e=Xi(this.i,this.d),49<=e&&e<=57){if(r=e-48,!this.g&&(this.g=new BE),FE(this.g,new RG(r)),++this.d,Xi(this.i,this.d)!=41)throw M(new Le($e((Ie(),Ad))));++this.d}else switch(e==63&&--this.d,Ze(this),t=stn(this),t.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw M(new Le($e((Ie(),Ad))));break;default:throw M(new Le($e((Ie(),LWn))))}if(Ze(this),c=B0(this),i=null,c.e==2){if(c.Pm()!=2)throw M(new Le($e((Ie(),NWn))));i=c.Lm(1),c=c.Lm(0)}if(this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),nt(),nt(),new ZNn(r,t,c,i)},o.xm=function(){return Ze(this),nt(),b0n},o.ym=function(){var e;if(Ze(this),e=wM(24,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.zm=function(){var e;if(Ze(this),e=wM(20,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.Am=function(){var e;if(Ze(this),e=wM(22,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.Bm=function(){var e,t,i,r,c;for(e=0,i=0,t=-1;this.d=this.j)throw M(new Le($e((Ie(),xcn))));if(t==45){for(++this.d;this.d=this.j)throw M(new Le($e((Ie(),xcn))))}if(t==58){if(++this.d,Ze(this),r=VPn(B0(this),e,i),this.c!=7)throw M(new Le($e((Ie(),Ad))));Ze(this)}else if(t==41)++this.d,Ze(this),r=VPn(B0(this),e,i);else throw M(new Le($e((Ie(),OWn))));return r},o.Cm=function(){var e;if(Ze(this),e=wM(21,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.Dm=function(){var e;if(Ze(this),e=wM(23,B0(this)),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.Em=function(){var e,t;if(Ze(this),e=this.f++,t=rN(B0(this),e),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),t},o.Fm=function(){var e;if(Ze(this),e=rN(B0(this),0),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.Gm=function(e){return Ze(this),this.c==5?(Ze(this),uM(e,(nt(),nt(),new Xb(9,e)))):uM(e,(nt(),nt(),new Xb(3,e)))},o.Hm=function(e){var t;return Ze(this),t=(nt(),nt(),new S6(2)),this.c==5?(Ze(this),pd(t,K9),pd(t,e)):(pd(t,e),pd(t,K9)),t},o.Im=function(e){return Ze(this),this.c==5?(Ze(this),nt(),nt(),new Xb(9,e)):(nt(),nt(),new Xb(3,e))},o.a=0,o.b=0,o.c=0,o.d=0,o.e=0,o.f=1,o.g=null,o.j=0,w(p1,"RegEx/RegexParser",836),b(1947,836,{},gjn),o.bm=function(e){return!1},o.cm=function(){return gen(this)},o.dm=function(e){return Im(e)},o.em=function(e){return kzn(this)},o.fm=function(){throw M(new Le($e((Ie(),is))))},o.gm=function(){throw M(new Le($e((Ie(),is))))},o.hm=function(){throw M(new Le($e((Ie(),is))))},o.im=function(){throw M(new Le($e((Ie(),is))))},o.jm=function(){return Ze(this),Im(67)},o.km=function(){return Ze(this),Im(73)},o.lm=function(){throw M(new Le($e((Ie(),is))))},o.mm=function(){throw M(new Le($e((Ie(),is))))},o.nm=function(){throw M(new Le($e((Ie(),is))))},o.om=function(){return Ze(this),Im(99)},o.pm=function(){throw M(new Le($e((Ie(),is))))},o.qm=function(){throw M(new Le($e((Ie(),is))))},o.rm=function(){return Ze(this),Im(105)},o.sm=function(){throw M(new Le($e((Ie(),is))))},o.tm=function(){throw M(new Le($e((Ie(),is))))},o.um=function(e,t){return gw(e,Im(t)),-1},o.vm=function(){return Ze(this),nt(),nt(),new Nh(0,94)},o.wm=function(){throw M(new Le($e((Ie(),is))))},o.xm=function(){return Ze(this),nt(),nt(),new Nh(0,36)},o.ym=function(){throw M(new Le($e((Ie(),is))))},o.zm=function(){throw M(new Le($e((Ie(),is))))},o.Am=function(){throw M(new Le($e((Ie(),is))))},o.Bm=function(){throw M(new Le($e((Ie(),is))))},o.Cm=function(){throw M(new Le($e((Ie(),is))))},o.Dm=function(){throw M(new Le($e((Ie(),is))))},o.Em=function(){var e;if(Ze(this),e=rN(B0(this),0),this.c!=7)throw M(new Le($e((Ie(),Ad))));return Ze(this),e},o.Fm=function(){throw M(new Le($e((Ie(),is))))},o.Gm=function(e){return Ze(this),uM(e,(nt(),nt(),new Xb(3,e)))},o.Hm=function(e){var t;return Ze(this),t=(nt(),nt(),new S6(2)),pd(t,e),pd(t,K9),t},o.Im=function(e){return Ze(this),nt(),nt(),new Xb(3,e)};var X2=null,qv=null;w(p1,"RegEx/ParserForXMLSchema",1947),b(122,1,uv,Wd),o.Jm=function(e){throw M(new ec("Not supported."))},o.Km=function(){return-1},o.Lm=function(e){return null},o.Mm=function(){return null},o.Nm=function(e){},o.Om=function(e){},o.Pm=function(){return 0},o.Ib=function(){return this.Qm(0)},o.Qm=function(e){return this.e==11?".":""},o.e=0;var h0n,Uv,R9,yse,l0n,rg=null,PO,IU=null,a0n,K9,OU=null,d0n,b0n,w0n,g0n,p0n,jse,H3,Ese,Cse,Mse,Tse,Gv,Ase,Sse,NNe=w(p1,"RegEx/Token",122);b(138,122,{3:1,138:1,122:1},yo),o.Qm=function(e){var t,i,r;if(this.e==4)if(this==a0n)i=".";else if(this==PO)i="\\d";else if(this==Gv)i="\\w";else if(this==H3)i="\\s";else{for(r=new Hl,r.a+="[",t=0;t0&&(r.a+=","),this.b[t]===this.b[t+1]?Er(r,by(this.b[t])):(Er(r,by(this.b[t])),r.a+="-",Er(r,by(this.b[t+1])));r.a+="]",i=r.a}else if(this==w0n)i="\\D";else if(this==p0n)i="\\W";else if(this==g0n)i="\\S";else{for(r=new Hl,r.a+="[^",t=0;t0&&(r.a+=","),this.b[t]===this.b[t+1]?Er(r,by(this.b[t])):(Er(r,by(this.b[t])),r.a+="-",Er(r,by(this.b[t+1])));r.a+="]",i=r.a}return i},o.a=!1,o.c=!1,w(p1,"RegEx/RangeToken",138),b(592,1,{592:1},RG),o.a=0,w(p1,"RegEx/RegexParser/ReferencePosition",592),b(591,1,{3:1,591:1},OEn),o.Fb=function(e){var t;return e==null||!D(e,591)?!1:(t=u(e,591),An(this.b,t.b)&&this.a==t.a)},o.Hb=function(){return t1(this.b+"/"+fen(this.a))},o.Ib=function(){return this.c.Qm(this.a)},o.a=0,w(p1,"RegEx/RegularExpression",591),b(228,122,uv,Nh),o.Km=function(){return this.a},o.Qm=function(e){var t,i,r;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:r="\\"+LL(this.a&ui);break;case 12:r="\\f";break;case 10:r="\\n";break;case 13:r="\\r";break;case 9:r="\\t";break;case 27:r="\\e";break;default:this.a>=hr?(i=(t=this.a>>>0,"0"+t.toString(16)),r="\\v"+qo(i,i.length-6,i.length)):r=""+LL(this.a&ui)}break;case 8:this==d0n||this==b0n?r=""+LL(this.a&ui):r="\\"+LL(this.a&ui);break;default:r=null}return r},o.a=0,w(p1,"RegEx/Token/CharToken",228),b(318,122,uv,Xb),o.Lm=function(e){return this.a},o.Nm=function(e){this.b=e},o.Om=function(e){this.c=e},o.Pm=function(){return 1},o.Qm=function(e){var t;if(this.e==3)if(this.c<0&&this.b<0)t=this.a.Qm(e)+"*";else if(this.c==this.b)t=this.a.Qm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.Qm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)t=this.a.Qm(e)+"{"+this.c+",}";else throw M(new ec("Token#toString(): CLOSURE "+this.c+ur+this.b));else if(this.c<0&&this.b<0)t=this.a.Qm(e)+"*?";else if(this.c==this.b)t=this.a.Qm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.Qm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)t=this.a.Qm(e)+"{"+this.c+",}?";else throw M(new ec("Token#toString(): NONGREEDYCLOSURE "+this.c+ur+this.b));return t},o.b=0,o.c=0,w(p1,"RegEx/Token/ClosureToken",318),b(837,122,uv,SW),o.Lm=function(e){return e==0?this.a:this.b},o.Pm=function(){return 2},o.Qm=function(e){var t;return this.b.e==3&&this.b.Lm(0)==this.a?t=this.a.Qm(e)+"+":this.b.e==9&&this.b.Lm(0)==this.a?t=this.a.Qm(e)+"+?":t=this.a.Qm(e)+(""+this.b.Qm(e)),t},w(p1,"RegEx/Token/ConcatToken",837),b(1945,122,uv,ZNn),o.Lm=function(e){if(e==0)return this.d;if(e==1)return this.b;throw M(new ec("Internal Error: "+e))},o.Pm=function(){return this.b?2:1},o.Qm=function(e){var t;return this.c>0?t="(?("+this.c+")":this.a.e==8?t="(?("+this.a+")":t="(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},o.c=0,w(p1,"RegEx/Token/ConditionToken",1945),b(1946,122,uv,qOn),o.Lm=function(e){return this.b},o.Pm=function(){return 1},o.Qm=function(e){return"(?"+(this.a==0?"":fen(this.a))+(this.c==0?"":fen(this.c))+":"+this.b.Qm(e)+")"},o.a=0,o.c=0,w(p1,"RegEx/Token/ModifierToken",1946),b(838,122,uv,BW),o.Lm=function(e){return this.a},o.Pm=function(){return 1},o.Qm=function(e){var t;switch(t=null,this.e){case 6:this.b==0?t="(?:"+this.a.Qm(e)+")":t="("+this.a.Qm(e)+")";break;case 20:t="(?="+this.a.Qm(e)+")";break;case 21:t="(?!"+this.a.Qm(e)+")";break;case 22:t="(?<="+this.a.Qm(e)+")";break;case 23:t="(?"+this.a.Qm(e)+")"}return t},o.b=0,w(p1,"RegEx/Token/ParenToken",838),b(530,122,{3:1,122:1,530:1},IN),o.Mm=function(){return this.b},o.Qm=function(e){return this.e==12?"\\"+this.a:gMe(this.b)},o.a=0,w(p1,"RegEx/Token/StringToken",530),b(477,122,uv,S6),o.Jm=function(e){pd(this,e)},o.Lm=function(e){return u(k0(this.a,e),122)},o.Pm=function(){return this.a?this.a.a.c.length:0},o.Qm=function(e){var t,i,r,c,s;if(this.e==1){if(this.a.a.c.length==2)t=u(k0(this.a,0),122),i=u(k0(this.a,1),122),i.e==3&&i.Lm(0)==t?c=t.Qm(e)+"+":i.e==9&&i.Lm(0)==t?c=t.Qm(e)+"+?":c=t.Qm(e)+(""+i.Qm(e));else{for(s=new Hl,r=0;r=this.c.b:this.a<=this.c.b},o.Sb=function(){return this.b>0},o.Tb=function(){return this.b},o.Vb=function(){return this.b-1},o.Qb=function(){throw M(new Kl(ZJn))},o.a=0,o.b=0,w(iun,"ExclusiveRange/RangeIterator",258);var fs=A4(GS,"C"),ye=A4(y8,"I"),so=A4(i3,"Z"),Fa=A4(j8,"J"),Fu=A4(m8,"B"),Pi=A4(v8,"D"),cg=A4(k8,"F"),V2=A4(E8,"S"),$Ne=Nt("org.eclipse.elk.core.labels","ILabelManager"),m0n=Nt(or,"DiagnosticChain"),v0n=Nt(AJn,"ResourceSet"),k0n=w(or,"InvocationTargetException",null),Ise=(HE(),W3e),Ose=Ose=Kke;Hme(Bfe),Bme("permProps",[[["locale","default"],[nQn,"gecko1_8"]],[["locale","default"],[nQn,"safari"]]]),Ose(null,"elk",null)}).call(this)}).call(this,typeof Nse<"u"?Nse:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(Xt,gt,Sr){function Di(Jt,Xe){if(!(Jt instanceof Xe))throw new TypeError("Cannot call a class as a function")}function y(Jt,Xe){if(!Jt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Xe&&(typeof Xe=="object"||typeof Xe=="function")?Xe:Jt}function Wt(Jt,Xe){if(typeof Xe!="function"&&Xe!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Xe);Jt.prototype=Object.create(Xe&&Xe.prototype,{constructor:{value:Jt,enumerable:!1,writable:!0,configurable:!0}}),Xe&&(Object.setPrototypeOf?Object.setPrototypeOf(Jt,Xe):Jt.__proto__=Xe)}var Bu=Xt("./elk-api.js").default,Ht=function(Jt){Wt(Xe,Jt);function Xe(){var Yi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Di(this,Xe);var Ri=Object.assign({},Yi),En=!1;try{Xt.resolve("web-worker"),En=!0}catch{}if(Yi.workerUrl)if(En){var hu=Xt("web-worker");Ri.workerFactory=function(Pr){return new hu(Pr)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!Ri.workerFactory){var Qc=Xt("./elk-worker.min.js"),Ru=Qc.Worker;Ri.workerFactory=function(Pr){return new Ru(Pr)}}return y(this,(Xe.__proto__||Object.getPrototypeOf(Xe)).call(this,Ri))}return Xe}(Bu);Object.defineProperty(gt.exports,"__esModule",{value:!0}),gt.exports=Ht,Ht.default=Ht},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(Xt,gt,Sr){gt.exports=Worker},{}]},{},[3])(3)})})(Bse);var VNe=Bse.exports;const WNe=BNe(VNe),JNe=(ct,_t,Xt)=>{const{parentById:gt}=Xt,Sr=new Set;let Di=ct;for(;Di;){if(Sr.add(Di),Di===_t)return Di;Di=gt[Di]}for(Di=_t;Di;){if(Sr.has(Di))return Di;Di=gt[Di]}return"root"},$se=new WNe;let Ab={};const QNe={};let X3={};const YNe=async function(ct,_t,Xt,gt,Sr,Di,y){const Bu=Xt.select(`[id="${_t}"]`).insert("g").attr("class","nodes"),Ht=Object.keys(ct);return await Promise.all(Ht.map(async function(Jt){const Xe=ct[Jt];let Yi="default";Xe.classes.length>0&&(Yi=Xe.classes.join(" ")),Yi=Yi+" flowchart-label";const Ri=E0n(Xe.styles);let En=Xe.text!==void 0?Xe.text:Xe.id;const hu={width:0,height:0},Qc=[{id:Xe.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:Xe.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:Xe.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:Xe.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let Ru=0,Pr="",Mf={};switch(Xe.type){case"round":Ru=5,Pr="rect";break;case"square":Pr="rect";break;case"diamond":Pr="question",Mf={portConstraints:"FIXED_SIDE"};break;case"hexagon":Pr="hexagon";break;case"odd":Pr="rect_left_inv_arrow";break;case"lean_right":Pr="lean_right";break;case"lean_left":Pr="lean_left";break;case"trapezoid":Pr="trapezoid";break;case"inv_trapezoid":Pr="inv_trapezoid";break;case"odd_right":Pr="rect_left_inv_arrow";break;case"circle":Pr="circle";break;case"ellipse":Pr="ellipse";break;case"stadium":Pr="stadium";break;case"subroutine":Pr="subroutine";break;case"cylinder":Pr="cylinder";break;case"group":Pr="rect";break;case"doublecircle":Pr="doublecircle";break;default:Pr="rect"}const L1={labelStyle:Ri.labelStyle,shape:Pr,labelText:En,labelType:Xe.labelType,rx:Ru,ry:Ru,class:Yi,style:Ri.style,id:Xe.id,link:Xe.link,linkTarget:Xe.linkTarget,tooltip:Sr.db.getTooltip(Xe.id)||"",domId:Sr.db.lookUpDomId(Xe.id),haveCallback:Xe.haveCallback,width:Xe.type==="group"?500:void 0,dir:Xe.dir,type:Xe.type,props:Xe.props,padding:xU().flowchart.padding};let N1,og;if(L1.type!=="group")og=await HNe(Bu,L1,Xe.dir),N1=og.node().getBBox();else{gt.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:$1,bbox:ul}=await qNe(Bu,L1,void 0,!0);hu.width=ul.width,hu.wrappingWidth=xU().flowchart.wrappingWidth,hu.height=ul.height,hu.labelNode=$1.node(),L1.labelData=hu}const V3={id:Xe.id,ports:Xe.type==="diamond"?Qc:[],layoutOptions:Mf,labelText:En,labelData:hu,domId:Sr.db.lookUpDomId(Xe.id),width:N1==null?void 0:N1.width,height:N1==null?void 0:N1.height,type:Xe.type,el:og,parent:Di.parentById[Xe.id]};X3[L1.id]=V3})),y},xse=(ct,_t,Xt)=>{const gt={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return gt.TD=gt.TB,gt[Xt][_t][ct]},Fse=(ct,_t,Xt)=>{if(Ra.info("getNextPort",{node:ct,edgeDirection:_t,graphDirection:Xt}),!Ab[ct])switch(Xt){case"TB":case"TD":Ab[ct]={inPosition:"north",outPosition:"south"};break;case"BT":Ab[ct]={inPosition:"south",outPosition:"north"};break;case"RL":Ab[ct]={inPosition:"east",outPosition:"west"};break;case"LR":Ab[ct]={inPosition:"west",outPosition:"east"};break}const gt=_t==="in"?Ab[ct].inPosition:Ab[ct].outPosition;return _t==="in"?Ab[ct].inPosition=xse(Ab[ct].inPosition,_t,Xt):Ab[ct].outPosition=xse(Ab[ct].outPosition,_t,Xt),gt},ZNe=(ct,_t)=>{let Xt=ct.start,gt=ct.end;const Sr=Xt,Di=gt,y=X3[Xt],Wt=X3[gt];return!y||!Wt?{source:Xt,target:gt}:(y.type==="diamond"&&(Xt=`${Xt}-${Fse(Xt,"out",_t)}`),Wt.type==="diamond"&&(gt=`${gt}-${Fse(gt,"in",_t)}`),{source:Xt,target:gt,sourceId:Sr,targetId:Di})},n$e=function(ct,_t,Xt,gt){Ra.info("abc78 edges = ",ct);const Sr=gt.insert("g").attr("class","edgeLabels");let Di={},y=_t.db.getDirection(),Wt,Bu;if(ct.defaultStyle!==void 0){const Ht=E0n(ct.defaultStyle);Wt=Ht.style,Bu=Ht.labelStyle}return ct.forEach(function(Ht){const Jt="L-"+Ht.start+"-"+Ht.end;Di[Jt]===void 0?(Di[Jt]=0,Ra.info("abc78 new entry",Jt,Di[Jt])):(Di[Jt]++,Ra.info("abc78 new entry",Jt,Di[Jt]));let Xe=Jt+"-"+Di[Jt];Ra.info("abc78 new link id to be used is",Jt,Xe,Di[Jt]);const Yi="LS-"+Ht.start,Ri="LE-"+Ht.end,En={style:"",labelStyle:""};switch(En.minlen=Ht.length||1,Ht.type==="arrow_open"?En.arrowhead="none":En.arrowhead="normal",En.arrowTypeStart="arrow_open",En.arrowTypeEnd="arrow_open",Ht.type){case"double_arrow_cross":En.arrowTypeStart="arrow_cross";case"arrow_cross":En.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":En.arrowTypeStart="arrow_point";case"arrow_point":En.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":En.arrowTypeStart="arrow_circle";case"arrow_circle":En.arrowTypeEnd="arrow_circle";break}let hu="",Qc="";switch(Ht.stroke){case"normal":hu="fill:none;",Wt!==void 0&&(hu=Wt),Bu!==void 0&&(Qc=Bu),En.thickness="normal",En.pattern="solid";break;case"dotted":En.thickness="normal",En.pattern="dotted",En.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":En.thickness="thick",En.pattern="solid",En.style="stroke-width: 3.5px;fill:none;";break}if(Ht.style!==void 0){const og=E0n(Ht.style);hu=og.style,Qc=og.labelStyle}En.style=En.style+=hu,En.labelStyle=En.labelStyle+=Qc,Ht.interpolate!==void 0?En.curve=j0n(Ht.interpolate,$U):ct.defaultInterpolate!==void 0?En.curve=j0n(ct.defaultInterpolate,$U):En.curve=j0n(QNe.curve,$U),Ht.text===void 0?Ht.style!==void 0&&(En.arrowheadStyle="fill: #333"):(En.arrowheadStyle="fill: #333",En.labelpos="c"),En.labelType=Ht.labelType,En.label=Ht.text.replace(KNe.lineBreakRegex,` +`),Ht.style===void 0&&(En.style=En.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),En.labelStyle=En.labelStyle.replace("color:","fill:"),En.id=Xe,En.classes="flowchart-link "+Yi+" "+Ri;const Ru=UNe(Sr,En),{source:Pr,target:Mf,sourceId:L1,targetId:N1}=ZNe(Ht,y);Ra.debug("abc78 source and target",Pr,Mf),Xt.edges.push({id:"e"+Ht.start+Ht.end,sources:[Pr],targets:[Mf],sourceId:L1,targetId:N1,labelEl:Ru,labels:[{width:En.width,height:En.height,orgWidth:En.width,orgHeight:En.height,text:En.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:En})}),Xt},e$e=function(ct,_t,Xt,gt,Sr){let Di="";gt&&(Di=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Di=Di.replace(/\(/g,"\\("),Di=Di.replace(/\)/g,"\\)")),zNe(ct,_t,Di,Sr,Xt)},t$e=function(ct,_t){return Ra.info("Extracting classes"),_t.db.getClasses()},i$e=function(ct){const _t={parentById:{},childrenById:{}},Xt=ct.getSubGraphs();return Ra.info("Subgraphs - ",Xt),Xt.forEach(function(gt){gt.nodes.forEach(function(Sr){_t.parentById[Sr]=gt.id,_t.childrenById[gt.id]===void 0&&(_t.childrenById[gt.id]=[]),_t.childrenById[gt.id].push(Sr)})}),Xt.forEach(function(gt){gt.id,_t.parentById[gt.id]!==void 0&&_t.parentById[gt.id]}),_t},r$e=function(ct,_t,Xt){const gt=JNe(ct,_t,Xt);if(gt===void 0||gt==="root")return{x:0,y:0};const Sr=X3[gt].offset;return{x:Sr.posX,y:Sr.posY}},c$e=function(ct,_t,Xt,gt,Sr,Di){const y=r$e(_t.sourceId,_t.targetId,Sr),Wt=_t.sections[0].startPoint,Bu=_t.sections[0].endPoint,Jt=(_t.sections[0].bendPoints?_t.sections[0].bendPoints:[]).map(Mf=>[Mf.x+y.x,Mf.y+y.y]),Xe=[[Wt.x+y.x,Wt.y+y.y],...Jt,[Bu.x+y.x,Bu.y+y.y]],{x:Yi,y:Ri}=GNe(_t.edgeData),En=XNe().x(Yi).y(Ri).curve($U),hu=ct.insert("path").attr("d",En(Xe)).attr("class","path "+Xt.classes).attr("fill","none"),Qc=ct.insert("g").attr("class","edgeLabel"),Ru=IO(Qc.node().appendChild(_t.labelEl)),Pr=Ru.node().firstChild.getBoundingClientRect();Ru.attr("width",Pr.width),Ru.attr("height",Pr.height),Qc.attr("transform",`translate(${_t.labels[0].x+y.x}, ${_t.labels[0].y+y.y})`),e$e(hu,Xt,gt.type,gt.arrowMarkerAbsolute,Di)},Rse=(ct,_t)=>{ct.forEach(Xt=>{Xt.children||(Xt.children=[]);const gt=_t.childrenById[Xt.id];gt&>.forEach(Sr=>{Xt.children.push(X3[Sr])}),Rse(Xt.children,_t)})},u$e=async function(ct,_t,Xt,gt){var Sr;gt.db.clear(),X3={},Ab={},gt.db.setGen("gen-2"),gt.parser.parse(ct);const Di=IO("body").append("div").attr("style","height:400px").attr("id","cy");let y={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Ra.info("Drawing flowchart using v3 renderer",$se),gt.db.getDirection()){case"BT":y.layoutOptions["elk.direction"]="UP";break;case"TB":y.layoutOptions["elk.direction"]="DOWN";break;case"LR":y.layoutOptions["elk.direction"]="RIGHT";break;case"RL":y.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:Bu,flowchart:Ht}=xU();let Jt;Bu==="sandbox"&&(Jt=IO("#i"+_t));const Xe=Bu==="sandbox"?IO(Jt.nodes()[0].contentDocument.body):IO("body"),Yi=Bu==="sandbox"?Jt.nodes()[0].contentDocument:document,Ri=Xe.select(`[id="${_t}"]`);_Ne(Ri,["point","circle","cross"],gt.type,_t);const hu=gt.db.getVertices();let Qc;const Ru=gt.db.getSubGraphs();Ra.info("Subgraphs - ",Ru);for(let $1=Ru.length-1;$1>=0;$1--)Qc=Ru[$1],gt.db.addVertex(Qc.id,{text:Qc.title,type:Qc.labelType},"group",void 0,Qc.classes,Qc.dir);const Pr=Ri.insert("g").attr("class","subgraphs"),Mf=i$e(gt.db);y=await YNe(hu,_t,Xe,Yi,gt,Mf,y);const L1=Ri.insert("g").attr("class","edges edgePath"),N1=gt.db.getEdges();y=n$e(N1,gt,y,Ri),Object.keys(X3).forEach($1=>{const ul=X3[$1];ul.parent||y.children.push(ul),Mf.childrenById[$1]!==void 0&&(ul.labels=[{text:ul.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:ul.labelData.width,height:ul.labelData.height}],delete ul.x,delete ul.y,delete ul.width,delete ul.height)}),Rse(y.children,Mf),Ra.info("after layout",JSON.stringify(y,null,2));const V3=await $se.layout(y);Kse(0,0,V3.children,Ri,Pr,gt,0),Ra.info("after layout",V3),(Sr=V3.edges)==null||Sr.map($1=>{c$e(L1,$1,$1.edgeData,gt,Mf,_t)}),RNe({},Ri,Ht.diagramPadding,Ht.useMaxWidth),Di.remove()},Kse=(ct,_t,Xt,gt,Sr,Di,y)=>{Xt.forEach(function(Wt){if(Wt)if(X3[Wt.id].offset={posX:Wt.x+ct,posY:Wt.y+_t,x:ct,y:_t,depth:y,width:Wt.width,height:Wt.height},Wt.type==="group"){const Bu=Sr.insert("g").attr("class","subgraph");Bu.insert("rect").attr("class","subgraph subgraph-lvl-"+y%5+" node").attr("x",Wt.x+ct).attr("y",Wt.y+_t).attr("width",Wt.width).attr("height",Wt.height);const Ht=Bu.insert("g").attr("class","label"),Jt=xU().flowchart.htmlLabels?Wt.labelData.width/2:0;Ht.attr("transform",`translate(${Wt.labels[0].x+ct+Wt.x+Jt}, ${Wt.labels[0].y+_t+Wt.y+3})`),Ht.node().appendChild(Wt.labelData.labelNode),Ra.info("Id (UGH)= ",Wt.type,Wt.labels)}else Ra.info("Id (UGH)= ",Wt.id),Wt.el.attr("transform",`translate(${Wt.x+ct+Wt.width/2}, ${Wt.y+_t+Wt.height/2})`)}),Xt.forEach(function(Wt){Wt&&Wt.type==="group"&&Kse(ct+Wt.x,_t+Wt.y,Wt.children,gt,Sr,Di,y+1)})},o$e={getClasses:t$e,draw:u$e},s$e=ct=>{let _t="";for(let Xt=0;Xt<5;Xt++)_t+=` + .subgraph-lvl-${Xt} { + fill: ${ct[`surface${Xt}`]}; + stroke: ${ct[`surfacePeer${Xt}`]}; + } + `;return _t},f$e=ct=>`.label { + font-family: ${ct.fontFamily}; + color: ${ct.nodeTextColor||ct.textColor}; + } + .cluster-label text { + fill: ${ct.titleColor}; + } + .cluster-label span { + color: ${ct.titleColor}; + } + + .label text,span { + fill: ${ct.nodeTextColor||ct.textColor}; + color: ${ct.nodeTextColor||ct.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${ct.mainBkg}; + stroke: ${ct.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${ct.arrowheadColor}; + } + + .edgePath .path { + stroke: ${ct.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${ct.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${ct.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${ct.edgeLabelBackground}; + fill: ${ct.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${ct.clusterBkg}; + stroke: ${ct.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${ct.titleColor}; + } + + .cluster span { + color: ${ct.titleColor}; + } + /* .cluster div { + color: ${ct.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${ct.fontFamily}; + font-size: 12px; + background: ${ct.tertiaryColor}; + border: 1px solid ${ct.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${ct.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${s$e(ct)} +`,h$e=f$e,v$e={db:xNe,renderer:o$e,parser:FNe,styles:h$e};export{v$e as diagram}; diff --git a/assets/ganttDiagram-5c869e3b-BEDi2c1X.js b/assets/ganttDiagram-5c869e3b-BEDi2c1X.js new file mode 100644 index 0000000000..d74bd20ae8 --- /dev/null +++ b/assets/ganttDiagram-5c869e3b-BEDi2c1X.js @@ -0,0 +1,257 @@ +import{au as Be,av as Ze,aw as Xe,ax as qe,ay as Dn,az as Kt,aA as Mn,aB as ye,aC as ke,aD as nt,c as xt,s as _n,g as Sn,v as Un,x as Yn,b as Fn,a as Ln,z as En,m as An,l as qt,h as Pt,i as In,j as Wn,y as On}from"./mermaid.core-xpSMncQK.js";import{b as Hn,t as Ue,c as Nn,a as Vn,l as zn}from"./linear-Ef4wj11i.js";import{i as Pn}from"./init-Gi6I4Gst.js";import"./app-pLjDz5vt.js";function Rn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function Bn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Zn(t){return t}var Bt=1,te=2,ue=3,Rt=4,Ye=1e-6;function Xn(t){return"translate("+t+",0)"}function qn(t){return"translate(0,"+t+")"}function Gn(t){return e=>+t(e)}function jn(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Qn(){return!this.__axis}function Ge(t,e){var n=[],r=null,i=null,s=6,a=6,y=3,S=typeof window<"u"&&window.devicePixelRatio>1?0:.5,k=t===Bt||t===Rt?-1:1,C=t===Rt||t===te?"x":"y",F=t===Bt||t===ue?Xn:qn;function w(x){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),g=i??(e.tickFormat?e.tickFormat.apply(e,n):Zn),L=Math.max(s,0)+y,O=e.range(),W=+O[0]+S,B=+O[O.length-1]+S,Z=(e.bandwidth?jn:Gn)(e.copy(),S),Q=x.selection?x.selection():x,v=Q.selectAll(".domain").data([null]),A=Q.selectAll(".tick").data(q,e).order(),T=A.exit(),Y=A.enter().append("g").attr("class","tick"),D=A.select("line"),b=A.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(Y),D=D.merge(Y.append("line").attr("stroke","currentColor").attr(C+"2",k*s)),b=b.merge(Y.append("text").attr("fill","currentColor").attr(C,k*L).attr("dy",t===Bt?"0em":t===ue?"0.71em":"0.32em")),x!==Q&&(v=v.transition(x),A=A.transition(x),D=D.transition(x),b=b.transition(x),T=T.transition(x).attr("opacity",Ye).attr("transform",function(o){return isFinite(o=Z(o))?F(o+S):this.getAttribute("transform")}),Y.attr("opacity",Ye).attr("transform",function(o){var d=this.parentNode.__axis;return F((d&&isFinite(d=d(o))?d:Z(o))+S)})),T.remove(),v.attr("d",t===Rt||t===te?a?"M"+k*a+","+W+"H"+S+"V"+B+"H"+k*a:"M"+S+","+W+"V"+B:a?"M"+W+","+k*a+"V"+S+"H"+B+"V"+k*a:"M"+W+","+S+"H"+B),A.attr("opacity",1).attr("transform",function(o){return F(Z(o)+S)}),D.attr(C+"2",k*s),b.attr(C,k*L).text(g),Q.filter(Qn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===te?"start":t===Rt?"end":"middle"),Q.each(function(){this.__axis=Z})}return w.scale=function(x){return arguments.length?(e=x,w):e},w.ticks=function(){return n=Array.from(arguments),w},w.tickArguments=function(x){return arguments.length?(n=x==null?[]:Array.from(x),w):n.slice()},w.tickValues=function(x){return arguments.length?(r=x==null?null:Array.from(x),w):r&&r.slice()},w.tickFormat=function(x){return arguments.length?(i=x,w):i},w.tickSize=function(x){return arguments.length?(s=a=+x,w):s},w.tickSizeInner=function(x){return arguments.length?(s=+x,w):s},w.tickSizeOuter=function(x){return arguments.length?(a=+x,w):a},w.tickPadding=function(x){return arguments.length?(y=+x,w):y},w.offset=function(x){return arguments.length?(S=+x,w):S},w}function Jn(t){return Ge(Bt,t)}function $n(t){return Ge(ue,t)}const Kn=Math.PI/180,tr=180/Math.PI,Gt=18,je=.96422,Qe=1,Je=.82521,$e=4/29,wt=6/29,Ke=3*wt*wt,er=wt*wt*wt;function tn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return en(t);t instanceof Xe||(t=Dn(t));var e=ie(t.r),n=ie(t.g),r=ie(t.b),i=ee((.2225045*e+.7168786*n+.0606169*r)/Qe),s,a;return e===n&&n===r?s=a=i:(s=ee((.4360747*e+.3850649*n+.1430804*r)/je),a=ee((.0139322*e+.0971045*n+.7141733*r)/Je)),new ot(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?tn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Be(ot,nr,Ze(qe,{brighter(t){return new ot(this.l+Gt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Gt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=je*ne(e),t=Qe*ne(t),n=Je*ne(n),new Xe(re(3.1338561*e-1.6168667*t-.4906146*n),re(-.9787684*e+1.9161415*t+.033454*n),re(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ee(t){return t>er?Math.pow(t,1/3):t/Ke+$e}function ne(t){return t>wt?t*t*t:Ke*(t-$e)}function re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ie(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=tn(t)),t.a===0&&t.b===0)return new ut(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),y=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,y)=>{const S=[];if(s=i.ceil(s),y=y==null?1:Math.floor(y),!(s0))return S;let k;do S.push(k=new Date(+s)),e(s,y),t(s);while(kK(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,y)=>{if(a>=a)if(y<0)for(;++y<=0;)for(;e(a,-1),!s(a););else for(;--y>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(se.setTime(+s),ae.setTime(+a),t(se),t(ae),Math.floor(n(se,ae))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Dt=K(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Dt.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?K(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Dt);Dt.range;const ft=1e3,rt=ft*60,ht=rt*60,dt=ht*24,pe=dt*7,Fe=dt*30,oe=dt*365,gt=K(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCSeconds());gt.range;const Et=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getMinutes());Et.range;const or=K(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getUTCMinutes());or.range;const At=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft-t.getMinutes()*rt)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getHours());At.range;const cr=K(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCHours());cr.range;const yt=K(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*rt)/dt,t=>t.getDate()-1);yt.range;const Te=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>t.getUTCDate()-1);Te.range;const lr=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>Math.floor(t/dt));lr.range;function Tt(t){return K(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*rt)/pe)}const Ot=Tt(0),It=Tt(1),nn=Tt(2),rn=Tt(3),kt=Tt(4),sn=Tt(5),an=Tt(6);Ot.range;It.range;nn.range;rn.range;kt.range;sn.range;an.range;function vt(t){return K(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/pe)}const on=vt(0),jt=vt(1),ur=vt(2),fr=vt(3),Mt=vt(4),hr=vt(5),dr=vt(6);on.range;jt.range;ur.range;fr.range;Mt.range;hr.range;dr.range;const Wt=K(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());Wt.range;const mr=K(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());mr.range;const mt=K(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());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const pt=K(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());pt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});pt.range;function gr(t,e,n,r,i,s){const a=[[gt,1,ft],[gt,5,5*ft],[gt,15,15*ft],[gt,30,30*ft],[s,1,rt],[s,5,5*rt],[s,15,15*rt],[s,30,30*rt],[i,1,ht],[i,3,3*ht],[i,6,6*ht],[i,12,12*ht],[r,1,dt],[r,2,2*dt],[n,1,pe],[e,1,Fe],[e,3,3*Fe],[t,1,oe]];function y(k,C,F){const w=CL).right(a,w);if(x===a.length)return t.every(Ue(k/oe,C/oe,F));if(x===0)return Dt.every(Math.max(Ue(k,C,F),1));const[q,g]=a[w/a[x-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(N=le(Yt(l.y,0,1)),j=N.getUTCDay(),N=j>4||j===0?jt.ceil(N):jt(N),N=Te.offset(N,(l.V-1)*7),l.y=N.getUTCFullYear(),l.m=N.getUTCMonth(),l.d=N.getUTCDate()+(l.w+6)%7):(N=ce(Yt(l.y,0,1)),j=N.getDay(),N=j>4||j===0?It.ceil(N):It(N),N=yt.offset(N,(l.V-1)*7),l.y=N.getFullYear(),l.m=N.getMonth(),l.d=N.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),j="Z"in l?le(Yt(l.y,0,1)).getUTCDay():ce(Yt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(j+5)%7:l.w+l.U*7-(j+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,le(l)):ce(l)}}function T(p,E,M,l){for(var R=0,N=E.length,j=M.length,J,et;R=j)return-1;if(J=E.charCodeAt(R++),J===37){if(J=E.charAt(R++),et=Q[J in Le?E.charAt(R++):J],!et||(l=et(p,M,l))<0)return-1}else if(J!=M.charCodeAt(l++))return-1}return l}function Y(p,E,M){var l=k.exec(E.slice(M));return l?(p.p=C.get(l[0].toLowerCase()),M+l[0].length):-1}function D(p,E,M){var l=x.exec(E.slice(M));return l?(p.w=q.get(l[0].toLowerCase()),M+l[0].length):-1}function b(p,E,M){var l=F.exec(E.slice(M));return l?(p.w=w.get(l[0].toLowerCase()),M+l[0].length):-1}function o(p,E,M){var l=O.exec(E.slice(M));return l?(p.m=W.get(l[0].toLowerCase()),M+l[0].length):-1}function d(p,E,M){var l=g.exec(E.slice(M));return l?(p.m=L.get(l[0].toLowerCase()),M+l[0].length):-1}function m(p,E,M){return T(p,e,E,M)}function u(p,E,M){return T(p,n,E,M)}function _(p,E,M){return T(p,r,E,M)}function c(p){return a[p.getDay()]}function X(p){return s[p.getDay()]}function f(p){return S[p.getMonth()]}function h(p){return y[p.getMonth()]}function U(p){return i[+(p.getHours()>=12)]}function G(p){return 1+~~(p.getMonth()/3)}function H(p){return a[p.getUTCDay()]}function V(p){return s[p.getUTCDay()]}function I(p){return S[p.getUTCMonth()]}function z(p){return y[p.getUTCMonth()]}function st(p){return i[+(p.getUTCHours()>=12)]}function it(p){return 1+~~(p.getUTCMonth()/3)}return{format:function(p){var E=v(p+="",B);return E.toString=function(){return p},E},parse:function(p){var E=A(p+="",!1);return E.toString=function(){return p},E},utcFormat:function(p){var E=v(p+="",Z);return E.toString=function(){return p},E},utcParse:function(p){var E=A(p+="",!0);return E.toString=function(){return p},E}}}var Le={"-":"",_:" ",0:"0"},tt=/^\s*\d+/,Tr=/^%/,vr=/[\\^$*+?|[\]().{}]/g;function P(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function xr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function wr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Mr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ee(t,e,n){var r=tt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ae(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function _r(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Sr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ur(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ie(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function We(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=tt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ir(t,e,n){var r=Tr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Wr(t,e,n){var r=tt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=tt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Oe(t,e){return P(t.getDate(),e,2)}function Hr(t,e){return P(t.getHours(),e,2)}function Nr(t,e){return P(t.getHours()%12||12,e,2)}function Vr(t,e){return P(1+yt.count(mt(t),t),e,3)}function cn(t,e){return P(t.getMilliseconds(),e,3)}function zr(t,e){return cn(t,e)+"000"}function Pr(t,e){return P(t.getMonth()+1,e,2)}function Rr(t,e){return P(t.getMinutes(),e,2)}function Br(t,e){return P(t.getSeconds(),e,2)}function Zr(t){var e=t.getDay();return e===0?7:e}function Xr(t,e){return P(Ot.count(mt(t)-1,t),e,2)}function ln(t){var e=t.getDay();return e>=4||e===0?kt(t):kt.ceil(t)}function qr(t,e){return t=ln(t),P(kt.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Gr(t){return t.getDay()}function jr(t,e){return P(It.count(mt(t)-1,t),e,2)}function Qr(t,e){return P(t.getFullYear()%100,e,2)}function Jr(t,e){return t=ln(t),P(t.getFullYear()%100,e,2)}function $r(t,e){return P(t.getFullYear()%1e4,e,4)}function Kr(t,e){var n=t.getDay();return t=n>=4||n===0?kt(t):kt.ceil(t),P(t.getFullYear()%1e4,e,4)}function ti(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+P(e/60|0,"0",2)+P(e%60,"0",2)}function He(t,e){return P(t.getUTCDate(),e,2)}function ei(t,e){return P(t.getUTCHours(),e,2)}function ni(t,e){return P(t.getUTCHours()%12||12,e,2)}function ri(t,e){return P(1+Te.count(pt(t),t),e,3)}function un(t,e){return P(t.getUTCMilliseconds(),e,3)}function ii(t,e){return un(t,e)+"000"}function si(t,e){return P(t.getUTCMonth()+1,e,2)}function ai(t,e){return P(t.getUTCMinutes(),e,2)}function oi(t,e){return P(t.getUTCSeconds(),e,2)}function ci(t){var e=t.getUTCDay();return e===0?7:e}function li(t,e){return P(on.count(pt(t)-1,t),e,2)}function fn(t){var e=t.getUTCDay();return e>=4||e===0?Mt(t):Mt.ceil(t)}function ui(t,e){return t=fn(t),P(Mt.count(pt(t),t)+(pt(t).getUTCDay()===4),e,2)}function fi(t){return t.getUTCDay()}function hi(t,e){return P(jt.count(pt(t)-1,t),e,2)}function di(t,e){return P(t.getUTCFullYear()%100,e,2)}function mi(t,e){return t=fn(t),P(t.getUTCFullYear()%100,e,2)}function gi(t,e){return P(t.getUTCFullYear()%1e4,e,4)}function yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Mt(t):Mt.ceil(t),P(t.getUTCFullYear()%1e4,e,4)}function ki(){return"+0000"}function Ne(){return"%"}function Ve(t){return+t}function ze(t){return Math.floor(+t/1e3)}var bt,Qt;pi({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"]});function pi(t){return bt=pr(t),Qt=bt.format,bt.parse,bt.utcFormat,bt.utcParse,bt}function Ti(t){return new Date(t)}function vi(t){return t instanceof Date?+t:+new Date(+t)}function hn(t,e,n,r,i,s,a,y,S,k){var C=Nn(),F=C.invert,w=C.domain,x=k(".%L"),q=k(":%S"),g=k("%I:%M"),L=k("%I %p"),O=k("%a %d"),W=k("%b %d"),B=k("%B"),Z=k("%Y");function Q(v){return(S(v)4&&(x+=7),w.add(x,n));return q.diff(g,"week")+1},y.isoWeekday=function(k){return this.$utils().u(k)?this.day()||7:this.day(this.day()%7?k:k-7)};var S=y.startOf;y.startOf=function(k,C){var F=this.$utils(),w=!!F.u(C)||C;return F.p(k)==="isoweek"?w?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):S.bind(this)(k,C)}}})})(dn);var xi=dn.exports;const wi=ke(xi);var mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){var n={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"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,y={},S=function(g){return(g=+g)+(g>68?1900:2e3)},k=function(g){return function(L){this[g]=+L}},C=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(L){if(!L||L==="Z")return 0;var O=L.match(/([+-]|\d\d)/g),W=60*O[1]+(+O[2]||0);return W===0?0:O[0]==="+"?-W:W}(g)}],F=function(g){var L=y[g];return L&&(L.indexOf?L:L.s.concat(L.f))},w=function(g,L){var O,W=y.meridiem;if(W){for(var B=1;B<=24;B+=1)if(g.indexOf(W(B,0,L))>-1){O=B>12;break}}else O=g===(L?"pm":"PM");return O},x={A:[a,function(g){this.afternoon=w(g,!1)}],a:[a,function(g){this.afternoon=w(g,!0)}],S:[/\d/,function(g){this.milliseconds=100*+g}],SS:[i,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[s,k("seconds")],ss:[s,k("seconds")],m:[s,k("minutes")],mm:[s,k("minutes")],H:[s,k("hours")],h:[s,k("hours")],HH:[s,k("hours")],hh:[s,k("hours")],D:[s,k("day")],DD:[i,k("day")],Do:[a,function(g){var L=y.ordinal,O=g.match(/\d+/);if(this.day=O[0],L)for(var W=1;W<=31;W+=1)L(W).replace(/\[|\]/g,"")===g&&(this.day=W)}],M:[s,k("month")],MM:[i,k("month")],MMM:[a,function(g){var L=F("months"),O=(F("monthsShort")||L.map(function(W){return W.slice(0,3)})).indexOf(g)+1;if(O<1)throw new Error;this.month=O%12||O}],MMMM:[a,function(g){var L=F("months").indexOf(g)+1;if(L<1)throw new Error;this.month=L%12||L}],Y:[/[+-]?\d+/,k("year")],YY:[i,function(g){this.year=S(g)}],YYYY:[/\d{4}/,k("year")],Z:C,ZZ:C};function q(g){var L,O;L=g,O=y&&y.formats;for(var W=(g=L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Y,D,b){var o=b&&b.toUpperCase();return D||O[b]||n[b]||O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(d,m,u){return m||u.slice(1)})})).match(r),B=W.length,Z=0;Z-1)return new Date((c==="X"?1e3:1)*_);var f=q(c)(_),h=f.year,U=f.month,G=f.day,H=f.hours,V=f.minutes,I=f.seconds,z=f.milliseconds,st=f.zone,it=new Date,p=G||(h||U?1:it.getDate()),E=h||it.getFullYear(),M=0;h&&!U||(M=U>0?U-1:it.getMonth());var l=H||0,R=V||0,N=I||0,j=z||0;return st?new Date(Date.UTC(E,M,p,l,R,N,j+60*st.offset*1e3)):X?new Date(Date.UTC(E,M,p,l,R,N,j)):new Date(E,M,p,l,R,N,j)}catch{return new Date("")}}(Q,T,v),this.init(),o&&o!==!0&&(this.$L=this.locale(o).$L),b&&Q!=this.format(T)&&(this.$d=new Date("")),y={}}else if(T instanceof Array)for(var d=T.length,m=1;m<=d;m+=1){A[1]=T[m-1];var u=O.apply(this,A);if(u.isValid()){this.$d=u.$d,this.$L=u.$L,this.init();break}m===d&&(this.$d=new Date(""))}else B.call(this,Z)}}})})(mn);var Ci=mn.exports;const Di=ke(Ci);var gn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var y=this,S=this.$locale();if(!this.isValid())return s.bind(this)(a);var k=this.$utils(),C=(a||"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(F){switch(F){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return S.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return S.ordinal(y.week(),"W");case"w":case"ww":return k.s(y.week(),F==="w"?1:2,"0");case"W":case"WW":return k.s(y.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return k.s(String(y.$H===0?24:y.$H),F==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return F}});return s.bind(this)(C)}}})})(gn);var Mi=gn.exports;const _i=ke(Mi);var he=function(){var t=function(b,o,d,m){for(d=d||{},m=b.length;m--;d[b[m]]=o);return d},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],r=[1,26],i=[1,27],s=[1,28],a=[1,29],y=[1,30],S=[1,31],k=[1,9],C=[1,10],F=[1,11],w=[1,12],x=[1,13],q=[1,14],g=[1,15],L=[1,16],O=[1,18],W=[1,19],B=[1,20],Z=[1,21],Q=[1,22],v=[1,24],A=[1,32],T={trace:function(){},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,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$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",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"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],[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],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(o,d,m,u,_,c,X){var f=c.length-1;switch(_){case 1:return c[f-1];case 2:this.$=[];break;case 3:c[f-1].push(c[f]),this.$=c[f-1];break;case 4:case 5:this.$=c[f];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setDateFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 16:u.enableInclusiveEndDates(),this.$=c[f].substr(18);break;case 17:u.TopAxis(),this.$=c[f].substr(8);break;case 18:u.setAxisFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 19:u.setTickInterval(c[f].substr(13)),this.$=c[f].substr(13);break;case 20:u.setExcludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 21:u.setIncludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 22:u.setTodayMarker(c[f].substr(12)),this.$=c[f].substr(12);break;case 24:u.setDiagramTitle(c[f].substr(6)),this.$=c[f].substr(6);break;case 25:this.$=c[f].trim(),u.setAccTitle(this.$);break;case 26:case 27:this.$=c[f].trim(),u.setAccDescription(this.$);break;case 28:u.addSection(c[f].substr(8)),this.$=c[f].substr(8);break;case 30:u.addTask(c[f-1],c[f]),this.$="task";break;case 31:this.$=c[f-1],u.setClickEvent(c[f-1],c[f],null);break;case 32:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],c[f]);break;case 33:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],null),u.setLink(c[f-2],c[f]);break;case 34:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-2],c[f-1]),u.setLink(c[f-3],c[f]);break;case 35:this.$=c[f-2],u.setClickEvent(c[f-2],c[f],null),u.setLink(c[f-2],c[f-1]);break;case 36:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-1],c[f]),u.setLink(c[f-3],c[f-2]);break;case 37:this.$=c[f-1],u.setLink(c[f-1],c[f]);break;case 38:case 44:this.$=c[f-1]+" "+c[f];break;case 39:case 40:case 42:this.$=c[f-2]+" "+c[f-1]+" "+c[f];break;case 41:case 43:this.$=c[f-3]+" "+c[f-2]+" "+c[f-1]+" "+c[f];break}},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:n,13:r,14:i,15:s,16:a,17:y,18:S,19:k,20:C,21:F,22:w,23:x,24:q,25:g,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:v,37:A},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:r,14:i,15:s,16:a,17:y,18:S,19:k,20:C,21:F,22:w,23:x,24:q,25:g,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:v,37:A},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),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]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},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]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(o,d){if(d.recoverable)this.trace(o);else{var m=new Error(o);throw m.hash=d,m}},parse:function(o){var d=this,m=[0],u=[],_=[null],c=[],X=this.table,f="",h=0,U=0,G=2,H=1,V=c.slice.call(arguments,1),I=Object.create(this.lexer),z={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(z.yy[st]=this.yy[st]);I.setInput(o,z.yy),z.yy.lexer=I,z.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var it=I.yylloc;c.push(it);var p=I.options&&I.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E(){var ct;return ct=u.pop()||I.lex()||H,typeof ct!="number"&&(ct instanceof Array&&(u=ct,ct=u.pop()),ct=d.symbols_[ct]||ct),ct}for(var M,l,R,N,j={},J,et,Ut,zt;;){if(l=m[m.length-1],this.defaultActions[l]?R=this.defaultActions[l]:((M===null||typeof M>"u")&&(M=E()),R=X[l]&&X[l][M]),typeof R>"u"||!R.length||!R[0]){var $t="";zt=[];for(J in X[l])this.terminals_[J]&&J>G&&zt.push("'"+this.terminals_[J]+"'");I.showPosition?$t="Parse error on line "+(h+1)+`: +`+I.showPosition()+` +Expecting `+zt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":$t="Parse error on line "+(h+1)+": Unexpected "+(M==H?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError($t,{text:I.match,token:this.terminals_[M]||M,line:I.yylineno,loc:it,expected:zt})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+l+", token: "+M);switch(R[0]){case 1:m.push(M),_.push(I.yytext),c.push(I.yylloc),m.push(R[1]),M=null,U=I.yyleng,f=I.yytext,h=I.yylineno,it=I.yylloc;break;case 2:if(et=this.productions_[R[1]][1],j.$=_[_.length-et],j._$={first_line:c[c.length-(et||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(et||1)].first_column,last_column:c[c.length-1].last_column},p&&(j._$.range=[c[c.length-(et||1)].range[0],c[c.length-1].range[1]]),N=this.performAction.apply(j,[f,U,h,z.yy,R[1],_,c].concat(V)),typeof N<"u")return N;et&&(m=m.slice(0,-1*et*2),_=_.slice(0,-1*et),c=c.slice(0,-1*et)),m.push(this.productions_[R[1]][0]),_.push(j.$),c.push(j._$),Ut=X[m[m.length-2]][m[m.length-1]],m.push(Ut);break;case 3:return!0}}return!0}},Y=function(){var b={EOF:1,parseError:function(d,m){if(this.yy.parser)this.yy.parser.parseError(d,m);else throw new Error(d)},setInput:function(o,d){return this.yy=d||this.yy||{},this._input=o,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},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var d=o.length,m=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var u=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),m.length-1&&(this.yylineno-=m.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:m?(m.length===u.length?this.yylloc.first_column:0)+u[u.length-m.length].length-m[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+d+"^"},test_match:function(o,d){var m,u,_;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))),u=o[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,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(o[0].length),this.matched+=o[0],m=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var c in _)this[c]=_[c];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,d,m,u;this._more||(this.yytext="",this.match="");for(var _=this._currentRules(),c=0;c<_.length;c++)if(m=this._input.match(this.rules[_[c]]),m&&(!d||m[0].length>d[0].length)){if(d=m,u=c,this.options.backtrack_lexer){if(o=this.test_match(m,_[c]),o!==!1)return o;if(this._backtrack){d=!1;continue}else return!1}else if(!this.options.flex)break}return d?(o=this.test_match(d,_[u]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var d=this.next();return d||this.lex()},begin:function(d){this.conditionStack.push(d)},popState:function(){var d=this.conditionStack.length-1;return d>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(d){return d=this.conditionStack.length-1-Math.abs(d||0),d>=0?this.conditionStack[d]:"INITIAL"},pushState:function(d){this.begin(d)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(d,m,u,_){switch(u){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";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 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;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"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},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,/^(?:\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],inclusive:!0}}};return b}();T.lexer=Y;function D(){this.yy={}}return D.prototype=T,T.Parser=D,new D}();he.parser=he;const Si=he;nt.extend(wi);nt.extend(Di);nt.extend(_i);let at="",ve="",be,xe="",Ht=[],Nt=[],we={},Ce=[],Jt=[],_t="",De="";const yn=["active","done","crit","milestone"];let Me=[],Vt=!1,_e=!1,Se="sunday",de=0;const Ui=function(){Ce=[],Jt=[],_t="",Me=[],Zt=0,ge=void 0,Xt=void 0,$=[],at="",ve="",De="",be=void 0,xe="",Ht=[],Nt=[],Vt=!1,_e=!1,de=0,we={},En(),Se="sunday"},Yi=function(t){ve=t},Fi=function(){return ve},Li=function(t){be=t},Ei=function(){return be},Ai=function(t){xe=t},Ii=function(){return xe},Wi=function(t){at=t},Oi=function(){Vt=!0},Hi=function(){return Vt},Ni=function(){_e=!0},Vi=function(){return _e},zi=function(t){De=t},Pi=function(){return De},Ri=function(){return at},Bi=function(t){Ht=t.toLowerCase().split(/[\s,]+/)},Zi=function(){return Ht},Xi=function(t){Nt=t.toLowerCase().split(/[\s,]+/)},qi=function(){return Nt},Gi=function(){return we},ji=function(t){_t=t,Ce.push(t)},Qi=function(){return Ce},Ji=function(){let t=Pe();const e=10;let n=0;for(;!t&&n=6&&n.includes("weekends")||n.includes(t.format("dddd").toLowerCase())?!0:n.includes(t.format(e.trim()))},$i=function(t){Se=t},Ki=function(){return Se},pn=function(t,e,n,r){if(!n.length||t.manualEndTime)return;let i;t.startTime instanceof Date?i=nt(t.startTime):i=nt(t.startTime,e,!0),i=i.add(1,"d");let s;t.endTime instanceof Date?s=nt(t.endTime):s=nt(t.endTime,e,!0);const[a,y]=ts(i,s,e,n,r);t.endTime=a.toDate(),t.renderEndTime=y},ts=function(t,e,n,r,i){let s=!1,a=null;for(;t<=e;)s||(a=e.toDate()),s=kn(t,n,r,i),s&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},me=function(t,e,n){n=n.trim();const i=/^after\s+([\d\w- ]+)/.exec(n.trim());if(i!==null){let a=null;if(i[1].split(" ").forEach(function(y){let S=St(y);S!==void 0&&(a?S.endTime>a.endTime&&(a=S):a=S)}),a)return a.endTime;{const y=new Date;return y.setHours(0,0,0,0),y}}let s=nt(n,e.trim(),!0);if(s.isValid())return s.toDate();{qt.debug("Invalid date:"+n),qt.debug("With date format:"+e.trim());const a=new Date(n);if(a===void 0||isNaN(a.getTime())||a.getFullYear()<-1e4||a.getFullYear()>1e4)throw new Error("Invalid date:"+n);return a}},Tn=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},vn=function(t,e,n,r=!1){n=n.trim();let i=nt(n,e.trim(),!0);if(i.isValid())return r&&(i=i.add(1,"d")),i.toDate();let s=nt(t);const[a,y]=Tn(n);if(!Number.isNaN(a)){const S=s.add(a,y);S.isValid()&&(s=S)}return s.toDate()};let Zt=0;const Ct=function(t){return t===void 0?(Zt=Zt+1,"task"+Zt):t},es=function(t,e){let n;e.substr(0,1)===":"?n=e.substr(1,e.length):n=e;const r=n.split(","),i={};Cn(r,i,yn);for(let a=0;a{window.open(n,"_self")}),we[r]=n)}),xn(t,"clickable")},xn=function(t,e){t.split(",").forEach(function(n){let r=St(n);r!==void 0&&r.classes.push(e)})},as=function(t,e,n){if(xt().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s{On.runFunc(e,...r)})},wn=function(t,e){Me.push(function(){const n=document.querySelector(`[id="${t}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const n=document.querySelector(`[id="${t}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},os=function(t,e,n){t.split(",").forEach(function(r){as(r,e,n)}),xn(t,"clickable")},cs=function(t){Me.forEach(function(e){e(t)})},ls={getConfig:()=>xt().gantt,clear:Ui,setDateFormat:Wi,getDateFormat:Ri,enableInclusiveEndDates:Oi,endDatesAreInclusive:Hi,enableTopAxis:Ni,topAxisEnabled:Vi,setAxisFormat:Yi,getAxisFormat:Fi,setTickInterval:Li,getTickInterval:Ei,setTodayMarker:Ai,getTodayMarker:Ii,setAccTitle:_n,getAccTitle:Sn,setDiagramTitle:Un,getDiagramTitle:Yn,setDisplayMode:zi,getDisplayMode:Pi,setAccDescription:Fn,getAccDescription:Ln,addSection:ji,getSections:Qi,getTasks:Ji,addTask:rs,findTaskById:St,addTaskOrg:is,setIncludes:Bi,getIncludes:Zi,setExcludes:Xi,getExcludes:qi,setClickEvent:os,setLink:ss,getLinks:Gi,bindFunctions:cs,parseDuration:Tn,isInvalidDate:kn,setWeekday:$i,getWeekday:Ki};function Cn(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(i){const s="^\\s*"+i+"\\s*$",a=new RegExp(s);t[0].match(a)&&(e[i]=!0,t.shift(1),r=!0)})}const us=function(){qt.debug("Something is calling, setConf, remove the call")},Re={monday:It,tuesday:nn,wednesday:rn,thursday:kt,friday:sn,saturday:an,sunday:Ot},fs=(t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((s,a)=>s.startTime-a.startTime||s.order-a.order),i=0;for(const s of r)for(let a=0;a=n[a]){n[a]=s.endTime,s.order=a+e,a>i&&(i=a);break}return i};let lt;const hs=function(t,e,n,r){const i=xt().gantt,s=xt().securityLevel;let a;s==="sandbox"&&(a=Pt("#i"+e));const y=s==="sandbox"?Pt(a.nodes()[0].contentDocument.body):Pt("body"),S=s==="sandbox"?a.nodes()[0].contentDocument:document,k=S.getElementById(e);lt=k.parentElement.offsetWidth,lt===void 0&&(lt=1200),i.useWidth!==void 0&&(lt=i.useWidth);const C=r.db.getTasks();let F=[];for(const T of C)F.push(T.type);F=A(F);const w={};let x=2*i.topPadding;if(r.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const T={};for(const D of C)T[D.section]===void 0?T[D.section]=[D]:T[D.section].push(D);let Y=0;for(const D of Object.keys(T)){const b=fs(T[D],Y)+1;Y+=b,x+=b*(i.barHeight+i.barGap),w[D]=b}}else{x+=C.length*(i.barHeight+i.barGap);for(const T of F)w[T]=C.filter(Y=>Y.type===T).length}k.setAttribute("viewBox","0 0 "+lt+" "+x);const q=y.select(`[id="${e}"]`),g=bi().domain([Bn(C,function(T){return T.startTime}),Rn(C,function(T){return T.endTime})]).rangeRound([0,lt-i.leftPadding-i.rightPadding]);function L(T,Y){const D=T.startTime,b=Y.startTime;let o=0;return D>b?o=1:Dh.order))].map(h=>T.find(U=>U.order===h));q.append("g").selectAll("rect").data(_).enter().append("rect").attr("x",0).attr("y",function(h,U){return U=h.order,U*Y+D-2}).attr("width",function(){return m-i.rightPadding/2}).attr("height",Y).attr("class",function(h){for(const[U,G]of F.entries())if(h.type===G)return"section section"+U%i.numberSectionStyles;return"section section0"});const c=q.append("g").selectAll("rect").data(T).enter(),X=r.db.getLinks();if(c.append("rect").attr("id",function(h){return h.id}).attr("rx",3).attr("ry",3).attr("x",function(h){return h.milestone?g(h.startTime)+b+.5*(g(h.endTime)-g(h.startTime))-.5*o:g(h.startTime)+b}).attr("y",function(h,U){return U=h.order,U*Y+D}).attr("width",function(h){return h.milestone?o:g(h.renderEndTime||h.endTime)-g(h.startTime)}).attr("height",o).attr("transform-origin",function(h,U){return U=h.order,(g(h.startTime)+b+.5*(g(h.endTime)-g(h.startTime))).toString()+"px "+(U*Y+D+.5*o).toString()+"px"}).attr("class",function(h){const U="task";let G="";h.classes.length>0&&(G=h.classes.join(" "));let H=0;for(const[I,z]of F.entries())h.type===z&&(H=I%i.numberSectionStyles);let V="";return h.active?h.crit?V+=" activeCrit":V=" active":h.done?h.crit?V=" doneCrit":V=" done":h.crit&&(V+=" crit"),V.length===0&&(V=" task"),h.milestone&&(V=" milestone "+V),V+=H,V+=" "+G,U+V}),c.append("text").attr("id",function(h){return h.id+"-text"}).text(function(h){return h.task}).attr("font-size",i.fontSize).attr("x",function(h){let U=g(h.startTime),G=g(h.renderEndTime||h.endTime);h.milestone&&(U+=.5*(g(h.endTime)-g(h.startTime))-.5*o),h.milestone&&(G=U+o);const H=this.getBBox().width;return H>G-U?G+H+1.5*i.leftPadding>m?U+b-5:G+b+5:(G-U)/2+U+b}).attr("y",function(h,U){return U=h.order,U*Y+i.barHeight/2+(i.fontSize/2-2)+D}).attr("text-height",o).attr("class",function(h){const U=g(h.startTime);let G=g(h.endTime);h.milestone&&(G=U+o);const H=this.getBBox().width;let V="";h.classes.length>0&&(V=h.classes.join(" "));let I=0;for(const[st,it]of F.entries())h.type===it&&(I=st%i.numberSectionStyles);let z="";return h.active&&(h.crit?z="activeCritText"+I:z="activeText"+I),h.done?h.crit?z=z+" doneCritText"+I:z=z+" doneText"+I:h.crit&&(z=z+" critText"+I),h.milestone&&(z+=" milestoneText"),H>G-U?G+H+1.5*i.leftPadding>m?V+" taskTextOutsideLeft taskTextOutside"+I+" "+z:V+" taskTextOutsideRight taskTextOutside"+I+" "+z+" width-"+H:V+" taskText taskText"+I+" "+z+" width-"+H}),xt().securityLevel==="sandbox"){let h;h=Pt("#i"+e);const U=h.nodes()[0].contentDocument;c.filter(function(G){return X[G.id]!==void 0}).each(function(G){var H=U.querySelector("#"+G.id),V=U.querySelector("#"+G.id+"-text");const I=H.parentNode;var z=U.createElement("a");z.setAttribute("xlink:href",X[G.id]),z.setAttribute("target","_top"),I.appendChild(z),z.appendChild(H),z.appendChild(V)})}}function B(T,Y,D,b,o,d,m,u){if(m.length===0&&u.length===0)return;let _,c;for(const{startTime:H,endTime:V}of d)(_===void 0||H<_)&&(_=H),(c===void 0||V>c)&&(c=V);if(!_||!c)return;if(nt(c).diff(nt(_),"year")>5){qt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const X=r.db.getDateFormat(),f=[];let h=null,U=nt(_);for(;U.valueOf()<=c;)r.db.isInvalidDate(U,X,m,u)?h?h.end=U:h={start:U,end:U}:h&&(f.push(h),h=null),U=U.add(1,"d");q.append("g").selectAll("rect").data(f).enter().append("rect").attr("id",function(H){return"exclude-"+H.start.format("YYYY-MM-DD")}).attr("x",function(H){return g(H.start)+D}).attr("y",i.gridLineStartPadding).attr("width",function(H){const V=H.end.add(1,"day");return g(V)-g(H.start)}).attr("height",o-Y-i.gridLineStartPadding).attr("transform-origin",function(H,V){return(g(H.start)+D+.5*(g(H.end)-g(H.start))).toString()+"px "+(V*T+.5*o).toString()+"px"}).attr("class","exclude-range")}function Z(T,Y,D,b){let o=$n(g).tickSize(-b+Y+i.gridLineStartPadding).tickFormat(Qt(r.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));const m=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||i.tickInterval);if(m!==null){const u=m[1],_=m[2],c=r.db.getWeekday()||i.weekday;switch(_){case"millisecond":o.ticks(Dt.every(u));break;case"second":o.ticks(gt.every(u));break;case"minute":o.ticks(Et.every(u));break;case"hour":o.ticks(At.every(u));break;case"day":o.ticks(yt.every(u));break;case"week":o.ticks(Re[c].every(u));break;case"month":o.ticks(Wt.every(u));break}}if(q.append("g").attr("class","grid").attr("transform","translate("+T+", "+(b-50)+")").call(o).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||i.topAxis){let u=Jn(g).tickSize(-b+Y+i.gridLineStartPadding).tickFormat(Qt(r.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(m!==null){const _=m[1],c=m[2],X=r.db.getWeekday()||i.weekday;switch(c){case"millisecond":u.ticks(Dt.every(_));break;case"second":u.ticks(gt.every(_));break;case"minute":u.ticks(Et.every(_));break;case"hour":u.ticks(At.every(_));break;case"day":u.ticks(yt.every(_));break;case"week":u.ticks(Re[X].every(_));break;case"month":u.ticks(Wt.every(_));break}}q.append("g").attr("class","grid").attr("transform","translate("+T+", "+Y+")").call(u).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function Q(T,Y){let D=0;const b=Object.keys(w).map(o=>[o,w[o]]);q.append("g").selectAll("text").data(b).enter().append(function(o){const d=o[0].split(Wn.lineBreakRegex),m=-(d.length-1)/2,u=S.createElementNS("http://www.w3.org/2000/svg","text");u.setAttribute("dy",m+"em");for(const[_,c]of d.entries()){const X=S.createElementNS("http://www.w3.org/2000/svg","tspan");X.setAttribute("alignment-baseline","central"),X.setAttribute("x","10"),_>0&&X.setAttribute("dy","1em"),X.textContent=c,u.appendChild(X)}return u}).attr("x",10).attr("y",function(o,d){if(d>0)for(let m=0;m` + .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); + } +`,gs=ms,vs={parser:Si,db:ls,renderer:ds,styles:gs};export{vs as diagram}; diff --git a/assets/giscus-7BMGhbDA.js b/assets/giscus-7BMGhbDA.js new file mode 100644 index 0000000000..db345b1f75 --- /dev/null +++ b/assets/giscus-7BMGhbDA.js @@ -0,0 +1,66 @@ +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const H=globalThis,V=H.ShadowRoot&&(H.ShadyCSS===void 0||H.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,q=Symbol(),J=new WeakMap;let ot=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==q)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(V&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=J.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&J.set(e,t))}return t}toString(){return this.cssText}};const ut=i=>new ot(typeof i=="string"?i:i+"",void 0,q),$t=(i,...t)=>{const e=i.length===1?i[0]:t.reduce((s,r,o)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+i[o+1],i[0]);return new ot(e,i,q)},_t=(i,t)=>{if(V)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),r=H.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,i.appendChild(s)}},F=V?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return ut(e)})(i):i;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const{is:gt,defineProperty:ft,getOwnPropertyDescriptor:mt,getOwnPropertyNames:At,getOwnPropertySymbols:yt,getPrototypeOf:St}=Object,A=globalThis,Q=A.trustedTypes,vt=Q?Q.emptyScript:"",Y=A.reactiveElementPolyfillSupport,U=(i,t)=>i,L={toAttribute(i,t){switch(t){case Boolean:i=i?vt:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},K=(i,t)=>!gt(i,t),Z={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:K};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),A.litPropertyMetadata??(A.litPropertyMetadata=new WeakMap);class E extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??(this.l=[])).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Z){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),r=this.getPropertyDescriptor(t,s,e);r!==void 0&&ft(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){const{get:r,set:o}=mt(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get(){return r==null?void 0:r.call(this)},set(n){const a=r==null?void 0:r.call(this);o.call(this,n),this.requestUpdate(t,a,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Z}static _$Ei(){if(this.hasOwnProperty(U("elementProperties")))return;const t=St(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(U("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(U("properties"))){const e=this.properties,s=[...At(e),...yt(e)];for(const r of s)this.createProperty(r,e[r])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,r]of e)this.elementProperties.set(s,r)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const r=this._$Eu(e,s);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const r of s)e.unshift(F(r))}else t!==void 0&&e.push(F(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e;(this._$EO??(this._$EO=new Set)).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)==null||e.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return _t(t,this.constructor.elementStyles),t}connectedCallback(){var t;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostConnected)==null?void 0:s.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostDisconnected)==null?void 0:s.call(e)})}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){var o;const s=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,s);if(r!==void 0&&s.reflect===!0){const n=(((o=s.converter)==null?void 0:o.toAttribute)!==void 0?s.converter:L).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(t,e){var o;const s=this.constructor,r=s._$Eh.get(t);if(r!==void 0&&this._$Em!==r){const n=s.getPropertyOptions(r),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((o=n.converter)==null?void 0:o.fromAttribute)!==void 0?n.converter:L;this._$Em=r,this[r]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??(s=this.constructor.getPropertyOptions(t)),!(s.hasChanged??K)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??(this._$Ej=new Set)).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var s;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[o,n]of r)n.wrapped!==!0||this._$AL.has(o)||this[o]===void 0||this.P(o,this[o],n)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(s=this._$EO)==null||s.forEach(r=>{var o;return(o=r.hostUpdate)==null?void 0:o.call(r)}),this.update(e)):this._$EU()}catch(r){throw t=!1,this._$EU(),r}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(s=>{var r;return(r=s.hostUpdated)==null?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}}E.elementStyles=[],E.shadowRootOptions={mode:"open"},E[U("elementProperties")]=new Map,E[U("finalized")]=new Map,Y==null||Y({ReactiveElement:E}),(A.reactiveElementVersions??(A.reactiveElementVersions=[])).push("2.0.4");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const P=globalThis,k=P.trustedTypes,X=k?k.createPolicy("lit-html",{createHTML:i=>i}):void 0,ht="$lit$",m=`lit$${(Math.random()+"").slice(9)}$`,at="?"+m,Et=`<${at}>`,v=document,N=()=>v.createComment(""),R=i=>i===null||typeof i!="object"&&typeof i!="function",ct=Array.isArray,bt=i=>ct(i)||typeof(i==null?void 0:i[Symbol.iterator])=="function",j=`[ +\f\r]`,w=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,tt=/-->/g,et=/>/g,y=RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),st=/'/g,it=/"/g,lt=/^(?:script|style|textarea|title)$/i,Ct=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),wt=Ct(1),b=Symbol.for("lit-noChange"),l=Symbol.for("lit-nothing"),rt=new WeakMap,S=v.createTreeWalker(v,129);function dt(i,t){if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return X!==void 0?X.createHTML(t):t}const Ut=(i,t)=>{const e=i.length-1,s=[];let r,o=t===2?"":"",n=w;for(let a=0;a"?(n=r??w,c=-1):u[1]===void 0?c=-2:(c=n.lastIndex-u[2].length,d=u[1],n=u[3]===void 0?y:u[3]==='"'?it:st):n===it||n===st?n=y:n===tt||n===et?n=w:(n=y,r=void 0);const f=n===y&&i[a+1].startsWith("/>")?" ":"";o+=n===w?h+Et:c>=0?(s.push(d),h.slice(0,c)+ht+h.slice(c)+m+f):h+m+(c===-2?a:f)}return[dt(i,o+(i[e]||"")+(t===2?"":"")),s]};class I{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let o=0,n=0;const a=t.length-1,h=this.parts,[d,u]=Ut(t,e);if(this.el=I.createElement(d,s),S.currentNode=this.el.content,e===2){const c=this.el.content.firstChild;c.replaceWith(...c.childNodes)}for(;(r=S.nextNode())!==null&&h.length0){r.textContent=k?k.emptyScript:"";for(let f=0;f2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=l}_$AI(t,e=this,s,r){const o=this.strings;let n=!1;if(o===void 0)t=C(this,t,e,0),n=!R(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const a=t;let h,d;for(t=o[0],h=0;h{const s=(e==null?void 0:e.renderBefore)??t;let r=s._$litPart$;if(r===void 0){const o=(e==null?void 0:e.renderBefore)??null;s._$litPart$=r=new M(t.insertBefore(N(),o),o,void 0,e??{})}return r._$AI(i),r};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let T=class extends E{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const t=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=t.firstChild),t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=It(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)==null||t.setConnected(!1)}render(){return b}};var nt;T._$litElement$=!0,T.finalized=!0,(nt=globalThis.litElementHydrateSupport)==null||nt.call(globalThis,{LitElement:T});const G=globalThis.litElementPolyfillSupport;G==null||G({LitElement:T});(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.4");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Mt=i=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(i,t)}):customElements.define(i,t)};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const xt={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:K},Ht=(i=xt,t,e)=>{const{kind:s,metadata:r}=e;let o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),o.set(e.name,i),s==="accessor"){const{name:n}=e;return{set(a){const h=t.get.call(this);t.set.call(this,a),this.requestUpdate(n,h,i)},init(a){return a!==void 0&&this.P(n,void 0,i),a}}}if(s==="setter"){const{name:n}=e;return function(a){const h=this[n];t.call(this,a),this.requestUpdate(n,h,i)}}throw Error("Unsupported decorator location: "+s)};function _(i){return(t,e)=>typeof e=="object"?Ht(i,t,e):((s,r,o)=>{const n=r.hasOwnProperty(o);return r.constructor.createProperty(o,n?{...s,wrapped:!0}:s),n?Object.getOwnPropertyDescriptor(r,o):void 0})(i,t,e)}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Lt=i=>i.strings===void 0;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const kt={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Dt=i=>(...t)=>({_$litDirective$:i,values:t});let zt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const O=(i,t)=>{var s;const e=i._$AN;if(e===void 0)return!1;for(const r of e)(s=r._$AO)==null||s.call(r,t,!1),O(r,t);return!0},D=i=>{let t,e;do{if((t=i._$AM)===void 0)break;e=t._$AN,e.delete(i),i=t}while((e==null?void 0:e.size)===0)},pt=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),Bt(t)}};function Yt(i){this._$AN!==void 0?(D(this),this._$AM=i,pt(this)):this._$AM=i}function jt(i,t=!1,e=0){const s=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(t)if(Array.isArray(s))for(let o=e;o{i.type==kt.CHILD&&(i._$AP??(i._$AP=jt),i._$AQ??(i._$AQ=Yt))};class Gt extends zt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),pt(this),this.isConnected=t._$AU}_$AO(t,e=!0){var s,r;t!==this.isConnected&&(this.isConnected=t,t?(s=this.reconnected)==null||s.call(this):(r=this.disconnected)==null||r.call(this)),e&&(O(this,t),D(this))}setValue(t){if(Lt(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Wt=()=>new Vt;class Vt{}const W=new WeakMap,qt=Dt(class extends Gt{render(i){return l}update(i,[t]){var s;const e=t!==this.Y;return e&&this.Y!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=t,this.ht=(s=i.options)==null?void 0:s.host,this.rt(this.ct=i.element)),l}rt(i){if(typeof this.Y=="function"){const t=this.ht??globalThis;let e=W.get(t);e===void 0&&(e=new WeakMap,W.set(t,e)),e.get(this.Y)!==void 0&&this.Y.call(this.ht,void 0),e.set(this.Y,i),i!==void 0&&this.Y.call(this.ht,i)}else this.Y.value=i}get lt(){var i,t;return typeof this.Y=="function"?(i=W.get(this.ht??globalThis))==null?void 0:i.get(this.Y):(t=this.Y)==null?void 0:t.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var Kt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,$=(i,t,e,s)=>{for(var r=s>1?void 0:s?Jt(t,e):t,o=i.length-1,n;o>=0;o--)(n=i[o])&&(r=(s?n(t,e,r):n(r))||r);return s&&r&&Kt(t,e,r),r};function Ft(i){return customElements.get(i)?t=>t:Mt(i)}let p=class extends T{constructor(){super(),this.GISCUS_SESSION_KEY="giscus-session",this.GISCUS_DEFAULT_HOST="https://giscus.app",this.ERROR_SUGGESTION="Please consider reporting this error at https://github.com/giscus/giscus/issues/new.",this.__session="",this._iframeRef=Wt(),this.messageEventHandler=this.handleMessageEvent.bind(this),this.hasLoaded=!1,this.host=this.GISCUS_DEFAULT_HOST,this.strict="0",this.reactionsEnabled="1",this.emitMetadata="0",this.inputPosition="bottom",this.theme="light",this.lang="en",this.loading="eager",this.setupSession(),window.addEventListener("message",this.messageEventHandler)}get iframeRef(){var i;return(i=this._iframeRef)==null?void 0:i.value}get _host(){try{return new URL(this.host),this.host}catch{return this.GISCUS_DEFAULT_HOST}}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("message",this.messageEventHandler)}_formatError(i){return`[giscus] An error occurred. Error message: "${i}".`}setupSession(){const i=location.href,t=new URL(i),e=localStorage.getItem(this.GISCUS_SESSION_KEY),s=t.searchParams.get("giscus")??"";if(this.__session="",s){localStorage.setItem(this.GISCUS_SESSION_KEY,JSON.stringify(s)),this.__session=s,t.searchParams.delete("giscus"),t.hash="",history.replaceState(void 0,document.title,t.toString());return}if(e)try{this.__session=JSON.parse(e)}catch(r){localStorage.removeItem(this.GISCUS_SESSION_KEY),console.warn(`${this._formatError(r==null?void 0:r.message)} Session has been cleared.`)}}signOut(){localStorage.removeItem(this.GISCUS_SESSION_KEY),this.__session="",this.update(new Map)}handleMessageEvent(i){if(i.origin!==this._host)return;const{data:t}=i;if(!(typeof t=="object"&&t.giscus))return;if(this.iframeRef&&t.giscus.resizeHeight&&(this.iframeRef.style.height=`${t.giscus.resizeHeight}px`),t.giscus.signOut){console.info("[giscus] User has logged out. Session has been cleared."),this.signOut();return}if(!t.giscus.error)return;const e=t.giscus.error;if(e.includes("Bad credentials")||e.includes("Invalid state value")||e.includes("State has expired")){if(localStorage.getItem(this.GISCUS_SESSION_KEY)!==null){console.warn(`${this._formatError(e)} Session has been cleared.`),this.signOut();return}console.error(`${this._formatError(e)} No session is stored initially. ${this.ERROR_SUGGESTION}`)}if(e.includes("Discussion not found")){console.warn(`[giscus] ${e}. A new discussion will be created if a comment/reaction is submitted.`);return}console.error(`${this._formatError(e)} ${this.ERROR_SUGGESTION}`)}sendMessage(i){var t;!((t=this.iframeRef)!=null&&t.contentWindow)||!this.hasLoaded||this.iframeRef.contentWindow.postMessage({giscus:i},this._host)}updateConfig(){const i={setConfig:{repo:this.repo,repoId:this.repoId,category:this.category,categoryId:this.categoryId,term:this.getTerm(),number:+this.getNumber(),strict:this.strict==="1",reactionsEnabled:this.reactionsEnabled==="1",emitMetadata:this.emitMetadata==="1",inputPosition:this.inputPosition,theme:this.theme,lang:this.lang}};this.sendMessage(i)}firstUpdated(){var i;(i=this.iframeRef)==null||i.addEventListener("load",()=>{var t;(t=this.iframeRef)==null||t.classList.remove("loading"),this.hasLoaded=!0,this.updateConfig()})}requestUpdate(i,t,e){if(!this.hasUpdated||i==="host"){super.requestUpdate(i,t,e);return}this.updateConfig()}getMetaContent(i,t=!1){const e=t?`meta[property='og:${i}'],`:"",s=document.querySelector(e+`meta[name='${i}']`);return s?s.content:""}_getCleanedUrl(){const i=new URL(location.href);return i.searchParams.delete("giscus"),i.hash="",i}getTerm(){switch(this.mapping){case"url":return this._getCleanedUrl().toString();case"title":return document.title;case"og:title":return this.getMetaContent("title",!0);case"specific":return this.term??"";case"number":return"";case"pathname":default:return location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}}getNumber(){return this.mapping==="number"?this.term??"":""}getIframeSrc(){const i=this._getCleanedUrl().toString(),t=`${i}${this.id?"#"+this.id:""}`,e=this.getMetaContent("description",!0),s=this.getMetaContent("giscus:backlink")||i,r={origin:t,session:this.__session,repo:this.repo,repoId:this.repoId??"",category:this.category??"",categoryId:this.categoryId??"",term:this.getTerm(),number:this.getNumber(),strict:this.strict,reactionsEnabled:this.reactionsEnabled,emitMetadata:this.emitMetadata,inputPosition:this.inputPosition,theme:this.theme,description:e,backLink:s},o=this._host,n=this.lang?`/${this.lang}`:"",a=new URLSearchParams(r);return`${o}${n}/widget?${a.toString()}`}render(){return wt` + + `}};p.styles=$t` + :host, + iframe { + width: 100%; + border: none; + min-height: 150px; + color-scheme: light dark; + } + + iframe.loading { + opacity: 0; + } + `;$([_({reflect:!0})],p.prototype,"host",2);$([_({reflect:!0})],p.prototype,"repo",2);$([_({reflect:!0})],p.prototype,"repoId",2);$([_({reflect:!0})],p.prototype,"category",2);$([_({reflect:!0})],p.prototype,"categoryId",2);$([_({reflect:!0})],p.prototype,"mapping",2);$([_({reflect:!0})],p.prototype,"term",2);$([_({reflect:!0})],p.prototype,"strict",2);$([_({reflect:!0})],p.prototype,"reactionsEnabled",2);$([_({reflect:!0})],p.prototype,"emitMetadata",2);$([_({reflect:!0})],p.prototype,"inputPosition",2);$([_({reflect:!0})],p.prototype,"theme",2);$([_({reflect:!0})],p.prototype,"lang",2);$([_({reflect:!0})],p.prototype,"loading",2);p=$([Ft("giscus-widget")],p);export{p as GiscusWidget}; diff --git a/assets/gitGraphDiagram-b9d81de9-D2AwAY6H.js b/assets/gitGraphDiagram-b9d81de9-D2AwAY6H.js new file mode 100644 index 0000000000..dee6e3a82d --- /dev/null +++ b/assets/gitGraphDiagram-b9d81de9-D2AwAY6H.js @@ -0,0 +1,70 @@ +import{c as O,s as vt,g as Ct,a as Ot,b as Pt,v as At,x as St,l as H,j as D,z as It,h as Gt,y as Nt,as as Ht,at as Bt}from"./mermaid.core-xpSMncQK.js";import"./app-pLjDz5vt.js";var mt=function(){var r=function(S,o,u,d){for(u=u||{},d=S.length;d--;u[S[d]]=o);return u},n=[1,3],l=[1,6],h=[1,4],a=[1,5],c=[2,5],p=[1,12],m=[5,7,13,19,21,23,24,26,28,31,37,40,47],y=[7,13,19,21,23,24,26,28,31,37,40],x=[7,12,13,19,21,23,24,26,28,31,37,40],s=[7,13,47],_=[1,42],E=[1,41],b=[7,13,29,32,35,38,47],f=[1,55],k=[1,56],g=[1,57],T=[7,13,32,35,42,47],z={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(o,u,d,i,w,t,X){var e=t.length-1;switch(w){case 2:return t[e];case 3:return t[e-1];case 4:return i.setDirection(t[e-3]),t[e-1];case 6:i.setOptions(t[e-1]),this.$=t[e];break;case 7:t[e-1]+=t[e],this.$=t[e-1];break;case 9:this.$=[];break;case 10:t[e-1].push(t[e]),this.$=t[e-1];break;case 11:this.$=t[e-1];break;case 16:this.$=t[e].trim(),i.setAccTitle(this.$);break;case 17:case 18:this.$=t[e].trim(),i.setAccDescription(this.$);break;case 19:i.addSection(t[e].substr(8)),this.$=t[e].substr(8);break;case 21:i.checkout(t[e]);break;case 22:i.branch(t[e]);break;case 23:i.branch(t[e-2],t[e]);break;case 24:i.cherryPick(t[e],"",void 0);break;case 25:i.cherryPick(t[e-2],"",void 0,t[e]);break;case 26:i.cherryPick(t[e-2],"",t[e]);break;case 27:i.cherryPick(t[e-4],"",t[e],t[e-2]);break;case 28:i.cherryPick(t[e-4],"",t[e-2],t[e]);break;case 29:i.cherryPick(t[e],"",t[e-2]);break;case 30:i.cherryPick(t[e],"","");break;case 31:i.cherryPick(t[e-2],"","");break;case 32:i.cherryPick(t[e-4],"","",t[e-2]);break;case 33:i.cherryPick(t[e-4],"","",t[e]);break;case 34:i.cherryPick(t[e-2],"",t[e-4],t[e]);break;case 35:i.cherryPick(t[e-2],"","",t[e]);break;case 36:i.merge(t[e],"","","");break;case 37:i.merge(t[e-2],t[e],"","");break;case 38:i.merge(t[e-2],"",t[e],"");break;case 39:i.merge(t[e-2],"","",t[e]);break;case 40:i.merge(t[e-4],t[e],"",t[e-2]);break;case 41:i.merge(t[e-4],"",t[e],t[e-2]);break;case 42:i.merge(t[e-4],"",t[e-2],t[e]);break;case 43:i.merge(t[e-4],t[e-2],t[e],"");break;case 44:i.merge(t[e-4],t[e-2],"",t[e]);break;case 45:i.merge(t[e-4],t[e],t[e-2],"");break;case 46:i.merge(t[e-6],t[e-4],t[e-2],t[e]);break;case 47:i.merge(t[e-6],t[e],t[e-4],t[e-2]);break;case 48:i.merge(t[e-6],t[e-4],t[e],t[e-2]);break;case 49:i.merge(t[e-6],t[e-2],t[e-4],t[e]);break;case 50:i.merge(t[e-6],t[e],t[e-2],t[e-4]);break;case 51:i.merge(t[e-6],t[e-2],t[e],t[e-4]);break;case 52:i.commit(t[e]);break;case 53:i.commit("","",i.commitType.NORMAL,t[e]);break;case 54:i.commit("","",t[e],"");break;case 55:i.commit("","",t[e],t[e-2]);break;case 56:i.commit("","",t[e-2],t[e]);break;case 57:i.commit("",t[e],i.commitType.NORMAL,"");break;case 58:i.commit("",t[e-2],i.commitType.NORMAL,t[e]);break;case 59:i.commit("",t[e],i.commitType.NORMAL,t[e-2]);break;case 60:i.commit("",t[e-2],t[e],"");break;case 61:i.commit("",t[e],t[e-2],"");break;case 62:i.commit("",t[e-4],t[e-2],t[e]);break;case 63:i.commit("",t[e-4],t[e],t[e-2]);break;case 64:i.commit("",t[e-2],t[e-4],t[e]);break;case 65:i.commit("",t[e],t[e-4],t[e-2]);break;case 66:i.commit("",t[e],t[e-2],t[e-4]);break;case 67:i.commit("",t[e-2],t[e],t[e-4]);break;case 68:i.commit(t[e],"",i.commitType.NORMAL,"");break;case 69:i.commit(t[e],"",i.commitType.NORMAL,t[e-2]);break;case 70:i.commit(t[e-2],"",i.commitType.NORMAL,t[e]);break;case 71:i.commit(t[e-2],"",t[e],"");break;case 72:i.commit(t[e],"",t[e-2],"");break;case 73:i.commit(t[e],t[e-2],i.commitType.NORMAL,"");break;case 74:i.commit(t[e-2],t[e],i.commitType.NORMAL,"");break;case 75:i.commit(t[e-4],"",t[e-2],t[e]);break;case 76:i.commit(t[e-4],"",t[e],t[e-2]);break;case 77:i.commit(t[e-2],"",t[e-4],t[e]);break;case 78:i.commit(t[e],"",t[e-4],t[e-2]);break;case 79:i.commit(t[e],"",t[e-2],t[e-4]);break;case 80:i.commit(t[e-2],"",t[e],t[e-4]);break;case 81:i.commit(t[e-4],t[e],t[e-2],"");break;case 82:i.commit(t[e-4],t[e-2],t[e],"");break;case 83:i.commit(t[e-2],t[e],t[e-4],"");break;case 84:i.commit(t[e],t[e-2],t[e-4],"");break;case 85:i.commit(t[e],t[e-4],t[e-2],"");break;case 86:i.commit(t[e-2],t[e-4],t[e],"");break;case 87:i.commit(t[e-4],t[e],i.commitType.NORMAL,t[e-2]);break;case 88:i.commit(t[e-4],t[e-2],i.commitType.NORMAL,t[e]);break;case 89:i.commit(t[e-2],t[e],i.commitType.NORMAL,t[e-4]);break;case 90:i.commit(t[e],t[e-2],i.commitType.NORMAL,t[e-4]);break;case 91:i.commit(t[e],t[e-4],i.commitType.NORMAL,t[e-2]);break;case 92:i.commit(t[e-2],t[e-4],i.commitType.NORMAL,t[e]);break;case 93:i.commit(t[e-6],t[e-4],t[e-2],t[e]);break;case 94:i.commit(t[e-6],t[e-4],t[e],t[e-2]);break;case 95:i.commit(t[e-6],t[e-2],t[e-4],t[e]);break;case 96:i.commit(t[e-6],t[e],t[e-4],t[e-2]);break;case 97:i.commit(t[e-6],t[e-2],t[e],t[e-4]);break;case 98:i.commit(t[e-6],t[e],t[e-2],t[e-4]);break;case 99:i.commit(t[e-4],t[e-6],t[e-2],t[e]);break;case 100:i.commit(t[e-4],t[e-6],t[e],t[e-2]);break;case 101:i.commit(t[e-2],t[e-6],t[e-4],t[e]);break;case 102:i.commit(t[e],t[e-6],t[e-4],t[e-2]);break;case 103:i.commit(t[e-2],t[e-6],t[e],t[e-4]);break;case 104:i.commit(t[e],t[e-6],t[e-2],t[e-4]);break;case 105:i.commit(t[e],t[e-4],t[e-2],t[e-6]);break;case 106:i.commit(t[e-2],t[e-4],t[e],t[e-6]);break;case 107:i.commit(t[e],t[e-2],t[e-4],t[e-6]);break;case 108:i.commit(t[e-2],t[e],t[e-4],t[e-6]);break;case 109:i.commit(t[e-4],t[e-2],t[e],t[e-6]);break;case 110:i.commit(t[e-4],t[e],t[e-2],t[e-6]);break;case 111:i.commit(t[e-2],t[e-4],t[e-6],t[e]);break;case 112:i.commit(t[e],t[e-4],t[e-6],t[e-2]);break;case 113:i.commit(t[e-2],t[e],t[e-6],t[e-4]);break;case 114:i.commit(t[e],t[e-2],t[e-6],t[e-4]);break;case 115:i.commit(t[e-4],t[e-2],t[e-6],t[e]);break;case 116:i.commit(t[e-4],t[e],t[e-6],t[e-2]);break;case 117:this.$="";break;case 118:this.$=t[e];break;case 119:this.$=i.commitType.NORMAL;break;case 120:this.$=i.commitType.REVERSE;break;case 121:this.$=i.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:n,7:l,13:h,47:a},{1:[3]},{3:7,4:2,5:n,7:l,13:h,47:a},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:p},r(m,[2,124]),r(m,[2,125]),r(m,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:p},{8:[1,15]},r(y,[2,9],{11:16,12:[1,17]}),r(x,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:p},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},r(x,[2,7]),{1:[2,3]},{7:[1,36]},r(y,[2,10]),{4:37,7:l,13:h,47:a},r(y,[2,12]),r(s,[2,13]),r(s,[2,14]),r(s,[2,15]),{20:[1,38]},{22:[1,39]},r(s,[2,18]),r(s,[2,19]),r(s,[2,20]),{27:40,33:_,46:E},r(s,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:_,46:E},{32:[1,50],35:[1,51]},{27:52,33:_,46:E},{1:[2,4]},r(y,[2,11]),r(s,[2,16]),r(s,[2,17]),r(s,[2,21]),r(b,[2,122]),r(b,[2,123]),r(s,[2,52]),{33:[1,53]},{39:54,43:f,44:k,45:g},{33:[1,58]},{33:[1,59]},r(s,[2,118]),r(s,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},r(s,[2,22],{29:[1,66]}),r(s,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),r(s,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),r(T,[2,119]),r(T,[2,120]),r(T,[2,121]),r(s,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),r(s,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:f,44:k,45:g},{33:[1,81]},r(s,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:f,44:k,45:g},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:f,44:k,45:g},{33:[1,95]},{33:[1,96]},{39:97,43:f,44:k,45:g},{33:[1,98]},r(s,[2,37],{35:[1,100],38:[1,99]}),r(s,[2,38],{32:[1,102],35:[1,101]}),r(s,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},r(s,[2,23]),r(s,[2,55],{32:[1,110],42:[1,111]}),r(s,[2,59],{38:[1,112],42:[1,113]}),r(s,[2,69],{32:[1,115],38:[1,114]}),r(s,[2,56],{32:[1,116],42:[1,117]}),r(s,[2,61],{35:[1,118],42:[1,119]}),r(s,[2,72],{32:[1,121],35:[1,120]}),r(s,[2,58],{38:[1,122],42:[1,123]}),r(s,[2,60],{35:[1,124],42:[1,125]}),r(s,[2,73],{35:[1,127],38:[1,126]}),r(s,[2,70],{32:[1,129],38:[1,128]}),r(s,[2,71],{32:[1,131],35:[1,130]}),r(s,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:f,44:k,45:g},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:f,44:k,45:g},r(s,[2,25],{35:[1,140]}),r(s,[2,26],{34:[1,141]}),r(s,[2,31],{34:[1,142]}),r(s,[2,29],{34:[1,143]}),r(s,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:f,44:k,45:g},{33:[1,148]},{39:149,43:f,44:k,45:g},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:f,44:k,45:g},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:f,44:k,45:g},{33:[1,162]},{39:163,43:f,44:k,45:g},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:f,44:k,45:g},{33:[1,168]},r(s,[2,43],{35:[1,169]}),r(s,[2,44],{38:[1,170]}),r(s,[2,42],{32:[1,171]}),r(s,[2,45],{35:[1,172]}),r(s,[2,40],{38:[1,173]}),r(s,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},r(s,[2,66],{42:[1,181]}),r(s,[2,79],{32:[1,182]}),r(s,[2,67],{42:[1,183]}),r(s,[2,90],{38:[1,184]}),r(s,[2,80],{32:[1,185]}),r(s,[2,89],{38:[1,186]}),r(s,[2,65],{42:[1,187]}),r(s,[2,78],{32:[1,188]}),r(s,[2,64],{42:[1,189]}),r(s,[2,84],{35:[1,190]}),r(s,[2,77],{32:[1,191]}),r(s,[2,83],{35:[1,192]}),r(s,[2,63],{42:[1,193]}),r(s,[2,91],{38:[1,194]}),r(s,[2,62],{42:[1,195]}),r(s,[2,85],{35:[1,196]}),r(s,[2,86],{35:[1,197]}),r(s,[2,92],{38:[1,198]}),r(s,[2,76],{32:[1,199]}),r(s,[2,87],{38:[1,200]}),r(s,[2,75],{32:[1,201]}),r(s,[2,81],{35:[1,202]}),r(s,[2,82],{35:[1,203]}),r(s,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:f,44:k,45:g},{33:[1,207]},{33:[1,208]},{39:209,43:f,44:k,45:g},{33:[1,210]},r(s,[2,27]),r(s,[2,32]),r(s,[2,28]),r(s,[2,33]),r(s,[2,34]),r(s,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:f,44:k,45:g},{33:[1,215]},{39:216,43:f,44:k,45:g},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:f,44:k,45:g},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:f,44:k,45:g},{33:[1,229]},{39:230,43:f,44:k,45:g},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:f,44:k,45:g},r(s,[2,46]),r(s,[2,48]),r(s,[2,47]),r(s,[2,49]),r(s,[2,51]),r(s,[2,50]),r(s,[2,107]),r(s,[2,108]),r(s,[2,105]),r(s,[2,106]),r(s,[2,110]),r(s,[2,109]),r(s,[2,114]),r(s,[2,113]),r(s,[2,112]),r(s,[2,111]),r(s,[2,116]),r(s,[2,115]),r(s,[2,104]),r(s,[2,103]),r(s,[2,102]),r(s,[2,101]),r(s,[2,99]),r(s,[2,100]),r(s,[2,98]),r(s,[2,97]),r(s,[2,96]),r(s,[2,95]),r(s,[2,93]),r(s,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(o,u){if(u.recoverable)this.trace(o);else{var d=new Error(o);throw d.hash=u,d}},parse:function(o){var u=this,d=[0],i=[],w=[null],t=[],X=this.table,e="",rt=0,ft=0,wt=2,pt=1,Rt=t.slice.call(arguments,1),P=Object.create(this.lexer),F={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(F.yy[ct]=this.yy[ct]);P.setInput(o,F.yy),F.yy.lexer=P,F.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var ot=P.yylloc;t.push(ot);var Lt=P.options&&P.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var q;return q=i.pop()||P.lex()||pt,typeof q!="number"&&(q instanceof Array&&(i=q,q=i.pop()),q=u.symbols_[q]||q),q}for(var N,K,V,lt,J={},it,j,bt,st;;){if(K=d[d.length-1],this.defaultActions[K]?V=this.defaultActions[K]:((N===null||typeof N>"u")&&(N=Mt()),V=X[K]&&X[K][N]),typeof V>"u"||!V.length||!V[0]){var ht="";st=[];for(it in X[K])this.terminals_[it]&&it>wt&&st.push("'"+this.terminals_[it]+"'");P.showPosition?ht="Parse error on line "+(rt+1)+`: +`+P.showPosition()+` +Expecting `+st.join(", ")+", got '"+(this.terminals_[N]||N)+"'":ht="Parse error on line "+(rt+1)+": Unexpected "+(N==pt?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(ht,{text:P.match,token:this.terminals_[N]||N,line:P.yylineno,loc:ot,expected:st})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+N);switch(V[0]){case 1:d.push(N),w.push(P.yytext),t.push(P.yylloc),d.push(V[1]),N=null,ft=P.yyleng,e=P.yytext,rt=P.yylineno,ot=P.yylloc;break;case 2:if(j=this.productions_[V[1]][1],J.$=w[w.length-j],J._$={first_line:t[t.length-(j||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(j||1)].first_column,last_column:t[t.length-1].last_column},Lt&&(J._$.range=[t[t.length-(j||1)].range[0],t[t.length-1].range[1]]),lt=this.performAction.apply(J,[e,ft,rt,F.yy,V[1],w,t].concat(Rt)),typeof lt<"u")return lt;j&&(d=d.slice(0,-1*j*2),w=w.slice(0,-1*j),t=t.slice(0,-1*j)),d.push(this.productions_[V[1]][0]),w.push(J.$),t.push(J._$),bt=X[d[d.length-2]][d[d.length-1]],d.push(bt);break;case 3:return!0}}return!0}},v=function(){var S={EOF:1,parseError:function(u,d){if(this.yy.parser)this.yy.parser.parseError(u,d);else throw new Error(u)},setInput:function(o,u){return this.yy=u||this.yy||{},this._input=o,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},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var u=o.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var u=o.length,d=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var i=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 w=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===i.length?this.yylloc.first_column:0)+i[i.length-d.length].length-d[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),u=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+u+"^"},test_match:function(o,u){var d,i,w;if(this.options.backtrack_lexer&&(w={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&&(w.yylloc.range=this.yylloc.range.slice(0))),i=o[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,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(o[0].length),this.matched+=o[0],d=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var t in w)this[t]=w[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,u,d,i;this._more||(this.yytext="",this.match="");for(var w=this._currentRules(),t=0;tu[0].length)){if(u=d,i=t,this.options.backtrack_lexer){if(o=this.test_match(d,w[t]),o!==!1)return o;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(o=this.test_match(u,w[i]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var u=this.next();return u||this.lex()},begin:function(u){this.conditionStack.push(u)},popState:function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},pushState:function(u){this.begin(u)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(u,d,i,w){switch(i){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return S}();z.lexer=v;function I(){this.yy={}}return I.prototype=z,z.Parser=I,new I}();mt.parser=mt;const Vt=mt;let at=O().gitGraph.mainBranchName,Dt=O().gitGraph.mainBranchOrder,C={},G=null,tt={};tt[at]={name:at,order:Dt};let M={};M[at]=G;let A=at,kt="LR",W=0;function ut(){return Bt({length:7})}function zt(r,n){const l=Object.create(null);return r.reduce((h,a)=>{const c=n(a);return l[c]||(l[c]=!0,h.push(a)),h},[])}const jt=function(r){kt=r};let xt={};const qt=function(r){H.debug("options str",r),r=r&&r.trim(),r=r||"{}";try{xt=JSON.parse(r)}catch(n){H.error("error while parsing gitGraph options",n.message)}},Yt=function(){return xt},Ft=function(r,n,l,h){H.debug("Entering commit:",r,n,l,h),n=D.sanitizeText(n,O()),r=D.sanitizeText(r,O()),h=D.sanitizeText(h,O());const a={id:n||W+"-"+ut(),message:r,seq:W++,type:l||Q.NORMAL,tag:h||"",parents:G==null?[]:[G.id],branch:A};G=a,C[a.id]=a,M[A]=a.id,H.debug("in pushCommit "+a.id)},Kt=function(r,n){if(r=D.sanitizeText(r,O()),M[r]===void 0)M[r]=G!=null?G.id:null,tt[r]={name:r,order:n?parseInt(n,10):null},yt(r),H.debug("in createBranch");else{let l=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 '+r+'")');throw l.hash={text:"branch "+r,token:"branch "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+r+'"']},l}},Ut=function(r,n,l,h){r=D.sanitizeText(r,O()),n=D.sanitizeText(n,O());const a=C[M[A]],c=C[M[r]];if(A===r){let m=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},m}else if(a===void 0||!a){let m=new Error('Incorrect usage of "merge". Current branch ('+A+")has no commits");throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},m}else if(M[r]===void 0){let m=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+r]},m}else if(c===void 0||!c){let m=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},m}else if(a===c){let m=new Error('Incorrect usage of "merge". Both branches have same head');throw m.hash={text:"merge "+r,token:"merge "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},m}else if(n&&C[n]!==void 0){let m=new Error('Incorrect usage of "merge". Commit with id:'+n+" already exists, use different custom Id");throw m.hash={text:"merge "+r+n+l+h,token:"merge "+r+n+l+h,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+r+" "+n+"_UNIQUE "+l+" "+h]},m}const p={id:n||W+"-"+ut(),message:"merged branch "+r+" into "+A,seq:W++,parents:[G==null?null:G.id,M[r]],branch:A,type:Q.MERGE,customType:l,customId:!!n,tag:h||""};G=p,C[p.id]=p,M[A]=p.id,H.debug(M),H.debug("in mergeBranch")},Wt=function(r,n,l,h){if(H.debug("Entering cherryPick:",r,n,l),r=D.sanitizeText(r,O()),n=D.sanitizeText(n,O()),l=D.sanitizeText(l,O()),h=D.sanitizeText(h,O()),!r||C[r]===void 0){let p=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw p.hash={text:"cherryPick "+r+" "+n,token:"cherryPick "+r+" "+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},p}let a=C[r],c=a.branch;if(h&&!(Array.isArray(a.parents)&&a.parents.includes(h)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(a.type===Q.MERGE&&!h)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!n||C[n]===void 0){if(c===A){let y=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw y.hash={text:"cherryPick "+r+" "+n,token:"cherryPick "+r+" "+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},y}const p=C[M[A]];if(p===void 0||!p){let y=new Error('Incorrect usage of "cherry-pick". Current branch ('+A+")has no commits");throw y.hash={text:"cherryPick "+r+" "+n,token:"cherryPick "+r+" "+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},y}const m={id:W+"-"+ut(),message:"cherry-picked "+a+" into "+A,seq:W++,parents:[G==null?null:G.id,a.id],branch:A,type:Q.CHERRY_PICK,tag:l??`cherry-pick:${a.id}${a.type===Q.MERGE?`|parent:${h}`:""}`};G=m,C[m.id]=m,M[A]=m.id,H.debug(M),H.debug("in cherryPick")}},yt=function(r){if(r=D.sanitizeText(r,O()),M[r]===void 0){let n=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+r+'")');throw n.hash={text:"checkout "+r,token:"checkout "+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+r+'"']},n}else{A=r;const n=M[A];G=C[n]}};function gt(r,n,l){const h=r.indexOf(n);h===-1?r.push(l):r.splice(h,1,l)}function _t(r){const n=r.reduce((a,c)=>a.seq>c.seq?a:c,r[0]);let l="";r.forEach(function(a){a===n?l+=" *":l+=" |"});const h=[l,n.id,n.seq];for(let a in M)M[a]===n.id&&h.push(a);if(H.debug(h.join(" ")),n.parents&&n.parents.length==2){const a=C[n.parents[0]];gt(r,n,a),r.push(C[n.parents[1]])}else{if(n.parents.length==0)return;{const a=C[n.parents];gt(r,n,a)}}r=zt(r,a=>a.id),_t(r)}const Jt=function(){H.debug(C);const r=Et()[0];_t([r])},Qt=function(){C={},G=null;let r=O().gitGraph.mainBranchName,n=O().gitGraph.mainBranchOrder;M={},M[r]=null,tt={},tt[r]={name:r,order:n},A=r,W=0,It()},Xt=function(){return Object.values(tt).map((n,l)=>n.order!==null?n:{...n,order:parseFloat(`0.${l}`,10)}).sort((n,l)=>n.order-l.order).map(({name:n})=>({name:n}))},Zt=function(){return M},$t=function(){return C},Et=function(){const r=Object.keys(C).map(function(n){return C[n]});return r.forEach(function(n){H.debug(n.id)}),r.sort((n,l)=>n.seq-l.seq),r},te=function(){return A},ee=function(){return kt},re=function(){return G},Q={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},ie={getConfig:()=>O().gitGraph,setDirection:jt,setOptions:qt,getOptions:Yt,commit:Ft,branch:Kt,merge:Ut,cherryPick:Wt,checkout:yt,prettyPrint:Jt,clear:Qt,getBranchesAsObjArray:Xt,getBranches:Zt,getCommits:$t,getCommitsArray:Et,getCurrentBranch:te,getDirection:ee,getHead:re,setAccTitle:vt,getAccTitle:Ct,getAccDescription:Ot,setAccDescription:Pt,setDiagramTitle:At,getDiagramTitle:St,commitType:Q};let Z={};const B={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},U=8;let R={},Y={},nt=[],et=0,L="LR";const se=()=>{R={},Y={},Z={},et=0,nt=[],L="LR"},Tt=r=>{const n=document.createElementNS("http://www.w3.org/2000/svg","text");let l=[];typeof r=="string"?l=r.split(/\\n|\n|/gi):Array.isArray(r)?l=r:l=[];for(const h of l){const a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),a.setAttribute("dy","1em"),a.setAttribute("x","0"),a.setAttribute("class","row"),a.textContent=h.trim(),n.appendChild(a)}return n},ae=r=>{let n="",l=0;return r.forEach(h=>{const a=L==="TB"?Y[h].y:Y[h].x;a>=l&&(n=h,l=a)}),n||void 0},dt=(r,n,l)=>{const h=O().gitGraph,a=r.append("g").attr("class","commit-bullets"),c=r.append("g").attr("class","commit-labels");let p=0;L==="TB"&&(p=30);const y=Object.keys(n).sort((E,b)=>n[E].seq-n[b].seq),x=h.parallelCommits,s=10,_=40;y.forEach(E=>{const b=n[E];if(x)if(b.parents.length){const T=ae(b.parents);p=L==="TB"?Y[T].y+_:Y[T].x+_}else p=0,L==="TB"&&(p=30);const f=p+s,k=L==="TB"?f:R[b.branch].pos,g=L==="TB"?R[b.branch].pos:f;if(l){let T,z=b.customType!==void 0&&b.customType!==""?b.customType:b.type;switch(z){case B.NORMAL:T="commit-normal";break;case B.REVERSE:T="commit-reverse";break;case B.HIGHLIGHT:T="commit-highlight";break;case B.MERGE:T="commit-merge";break;case B.CHERRY_PICK:T="commit-cherry-pick";break;default:T="commit-normal"}if(z===B.HIGHLIGHT){const v=a.append("rect");v.attr("x",g-10),v.attr("y",k-10),v.attr("height",20),v.attr("width",20),v.attr("class",`commit ${b.id} commit-highlight${R[b.branch].index%U} ${T}-outer`),a.append("rect").attr("x",g-6).attr("y",k-6).attr("height",12).attr("width",12).attr("class",`commit ${b.id} commit${R[b.branch].index%U} ${T}-inner`)}else if(z===B.CHERRY_PICK)a.append("circle").attr("cx",g).attr("cy",k).attr("r",10).attr("class",`commit ${b.id} ${T}`),a.append("circle").attr("cx",g-3).attr("cy",k+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${b.id} ${T}`),a.append("circle").attr("cx",g+3).attr("cy",k+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${b.id} ${T}`),a.append("line").attr("x1",g+3).attr("y1",k+1).attr("x2",g).attr("y2",k-5).attr("stroke","#fff").attr("class",`commit ${b.id} ${T}`),a.append("line").attr("x1",g-3).attr("y1",k+1).attr("x2",g).attr("y2",k-5).attr("stroke","#fff").attr("class",`commit ${b.id} ${T}`);else{const v=a.append("circle");if(v.attr("cx",g),v.attr("cy",k),v.attr("r",b.type===B.MERGE?9:10),v.attr("class",`commit ${b.id} commit${R[b.branch].index%U}`),z===B.MERGE){const I=a.append("circle");I.attr("cx",g),I.attr("cy",k),I.attr("r",6),I.attr("class",`commit ${T} ${b.id} commit${R[b.branch].index%U}`)}z===B.REVERSE&&a.append("path").attr("d",`M ${g-5},${k-5}L${g+5},${k+5}M${g-5},${k+5}L${g+5},${k-5}`).attr("class",`commit ${T} ${b.id} commit${R[b.branch].index%U}`)}}if(L==="TB"?Y[b.id]={x:g,y:f}:Y[b.id]={x:f,y:k},l){if(b.type!==B.CHERRY_PICK&&(b.customId&&b.type===B.MERGE||b.type!==B.MERGE)&&h.showCommitLabel){const v=c.append("g"),I=v.insert("rect").attr("class","commit-label-bkg"),S=v.append("text").attr("x",p).attr("y",k+25).attr("class","commit-label").text(b.id);let o=S.node().getBBox();if(I.attr("x",f-o.width/2-2).attr("y",k+13.5).attr("width",o.width+2*2).attr("height",o.height+2*2),L==="TB"&&(I.attr("x",g-(o.width+4*4+5)).attr("y",k-12),S.attr("x",g-(o.width+4*4)).attr("y",k+o.height-12)),L!=="TB"&&S.attr("x",f-o.width/2),h.rotateCommitLabel)if(L==="TB")S.attr("transform","rotate(-45, "+g+", "+k+")"),I.attr("transform","rotate(-45, "+g+", "+k+")");else{let u=-7.5-(o.width+10)/25*9.5,d=10+o.width/25*8.5;v.attr("transform","translate("+u+", "+d+") rotate(-45, "+p+", "+k+")")}}if(b.tag){const v=c.insert("polygon"),I=c.append("circle"),S=c.append("text").attr("y",k-16).attr("class","tag-label").text(b.tag);let o=S.node().getBBox();S.attr("x",f-o.width/2);const u=o.height/2,d=k-19.2;v.attr("class","tag-label-bkg").attr("points",` + ${p-o.width/2-4/2},${d+2} + ${p-o.width/2-4/2},${d-2} + ${f-o.width/2-4},${d-u-2} + ${f+o.width/2+4},${d-u-2} + ${f+o.width/2+4},${d+u+2} + ${f-o.width/2-4},${d+u+2}`),I.attr("cx",p-o.width/2+4/2).attr("cy",d).attr("r",1.5).attr("class","tag-hole"),L==="TB"&&(v.attr("class","tag-label-bkg").attr("points",` + ${g},${p+2} + ${g},${p-2} + ${g+s},${p-u-2} + ${g+s+o.width+4},${p-u-2} + ${g+s+o.width+4},${p+u+2} + ${g+s},${p+u+2}`).attr("transform","translate(12,12) rotate(45, "+g+","+p+")"),I.attr("cx",g+4/2).attr("cy",p).attr("transform","translate(12,12) rotate(45, "+g+","+p+")"),S.attr("x",g+5).attr("y",p+3).attr("transform","translate(14,14) rotate(45, "+g+","+p+")"))}}p+=_+s,p>et&&(et=p)})},ne=(r,n,l,h,a)=>{const p=(L==="TB"?l.xx.branch===p,y=x=>x.seq>r.seq&&x.seqy(x)&&m(x))},$=(r,n,l=0)=>{const h=r+Math.abs(r-n)/2;if(l>5)return h;if(nt.every(p=>Math.abs(p-h)>=10))return nt.push(h),h;const c=Math.abs(r-n);return $(r,n-c/5,l+1)},ce=(r,n,l,h)=>{const a=Y[n.id],c=Y[l.id],p=ne(n,l,a,c,h);let m="",y="",x=0,s=0,_=R[l.branch].index,E;if(p){m="A 10 10, 0, 0, 0,",y="A 10 10, 0, 0, 1,",x=10,s=10;const b=a.yc.x&&(m="A 20 20, 0, 0, 0,",y="A 20 20, 0, 0, 1,",x=20,s=20,_=R[n.branch].index,E=`M ${a.x} ${a.y} L ${a.x} ${c.y-x} ${y} ${a.x-s} ${c.y} L ${c.x} ${c.y}`),a.x===c.x&&(_=R[n.branch].index,E=`M ${a.x} ${a.y} L ${a.x+x} ${a.y} ${m} ${a.x+s} ${c.y+x} L ${c.x} ${c.y}`)):(a.yc.y&&(m="A 20 20, 0, 0, 0,",x=20,s=20,_=R[n.branch].index,E=`M ${a.x} ${a.y} L ${c.x-x} ${a.y} ${m} ${c.x} ${a.y-s} L ${c.x} ${c.y}`),a.y===c.y&&(_=R[n.branch].index,E=`M ${a.x} ${a.y} L ${a.x} ${c.y-x} ${m} ${a.x+s} ${c.y} L ${c.x} ${c.y}`));r.append("path").attr("d",E).attr("class","arrow arrow"+_%U)},oe=(r,n)=>{const l=r.append("g").attr("class","commit-arrows");Object.keys(n).forEach(h=>{const a=n[h];a.parents&&a.parents.length>0&&a.parents.forEach(c=>{ce(l,n[c],a,n)})})},le=(r,n)=>{const l=O().gitGraph,h=r.append("g");n.forEach((a,c)=>{const p=c%U,m=R[a.name].pos,y=h.append("line");y.attr("x1",0),y.attr("y1",m),y.attr("x2",et),y.attr("y2",m),y.attr("class","branch branch"+p),L==="TB"&&(y.attr("y1",30),y.attr("x1",m),y.attr("y2",et),y.attr("x2",m)),nt.push(m);let x=a.name;const s=Tt(x),_=h.insert("rect"),b=h.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+p);b.node().appendChild(s);let f=s.getBBox();_.attr("class","branchLabelBkg label"+p).attr("rx",4).attr("ry",4).attr("x",-f.width-4-(l.rotateCommitLabel===!0?30:0)).attr("y",-f.height/2+8).attr("width",f.width+18).attr("height",f.height+4),b.attr("transform","translate("+(-f.width-14-(l.rotateCommitLabel===!0?30:0))+", "+(m-f.height/2-1)+")"),L==="TB"&&(_.attr("x",m-f.width/2-10).attr("y",0),b.attr("transform","translate("+(m-f.width/2-5)+", 0)")),L!=="TB"&&_.attr("transform","translate(-19, "+(m-f.height/2)+")")})},he=function(r,n,l,h){se();const a=O(),c=a.gitGraph;H.debug("in gitgraph renderer",r+` +`,"id:",n,l),Z=h.db.getCommits();const p=h.db.getBranchesAsObjArray();L=h.db.getDirection();const m=Gt(`[id="${n}"]`);let y=0;p.forEach((x,s)=>{const _=Tt(x.name),E=m.append("g"),b=E.insert("g").attr("class","branchLabel"),f=b.insert("g").attr("class","label branch-label");f.node().appendChild(_);let k=_.getBBox();R[x.name]={pos:y,index:s},y+=50+(c.rotateCommitLabel?40:0)+(L==="TB"?k.width/2:0),f.remove(),b.remove(),E.remove()}),dt(m,Z,!1),c.showBranches&&le(m,p),oe(m,Z),dt(m,Z,!0),Nt.insertTitle(m,"gitTitleText",c.titleTopMargin,h.db.getDiagramTitle()),Ht(void 0,m,c.diagramPadding,c.useMaxWidth??a.useMaxWidth)},me={draw:he},ue=r=>` + .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(n=>` + .branch-label${n} { fill: ${r["gitBranchLabel"+n]}; } + .commit${n} { stroke: ${r["git"+n]}; fill: ${r["git"+n]}; } + .commit-highlight${n} { stroke: ${r["gitInv"+n]}; fill: ${r["gitInv"+n]}; } + .label${n} { fill: ${r["git"+n]}; } + .arrow${n} { stroke: ${r["git"+n]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${r.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${r.commitLabelFontSize}; fill: ${r.commitLabelColor};} + .commit-label-bkg { font-size: ${r.commitLabelFontSize}; fill: ${r.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${r.tagLabelFontSize}; fill: ${r.tagLabelColor};} + .tag-label-bkg { fill: ${r.tagLabelBackground}; stroke: ${r.tagLabelBorder}; } + .tag-hole { fill: ${r.textColor}; } + + .commit-merge { + stroke: ${r.primaryColor}; + fill: ${r.primaryColor}; + } + .commit-reverse { + stroke: ${r.primaryColor}; + fill: ${r.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${r.primaryColor}; + fill: ${r.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${r.textColor}; + } +`,fe=ue,ge={parser:Vt,db:ie,renderer:me,styles:fe};export{ge as diagram}; diff --git a/assets/glossary.html--k5UVgbl.js b/assets/glossary.html--k5UVgbl.js new file mode 100644 index 0000000000..dd12a4345f --- /dev/null +++ b/assets/glossary.html--k5UVgbl.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a,e as i}from"./app-pLjDz5vt.js";const o={},r=i('

    术语对照表

    以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。

    引注(citation)

    在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组成的简短文本。

    参考文献表(bibliography)

    国标中称为“参考文献表”,亦有部分文献称之为“书目”,是集中展示被引文献详情的列表,可能位于章节末尾、全文末尾、每一页的页脚。

    引用格式(citation format)

    对于“如何在文章中标示参考文献”的规范标准,特指一整个标准体系,如 GB/T 7714-2015,而不是诸如是“作者名需要大写”这样的具体规定。

    条目(item)

    即 Zotero 中的“条目”,指对文献的相关信息的记录,条目中通常含有那些用于分类、引用的信息,并非指文献的内容本身。

    参考文献条目(bibliographic entry)

    参考文献表的组成单位,即参考文献表中的项目,除了 numeric 复合风格之外,一个参考文献条目往往对应一篇被引用的文献。

    风格(style)

    对一些相似的引用格式的统称,如 in-text 风格、note 风格等。

    样式(style)

    特指 CSL 的 style 文件及其代码,是对引用格式的代码实现。注意区别于 Microsoft Word 中的“样式”,在 Microsoft Word 中,“样式”是指若干具体格式的集合。

    术语(term)

    locale file 有关的语境里,“术语”指那些出现在引文或参考文献条目中用于串起相关信息的固定短语,如“xx”、“xx”、“载于xx”中的术语就分别连接着著作人、编者、出版物来源的信息。

    翻译(translation)

    locale file 有关的语境里,“翻译”特指术语(term)在不同语言中的翻译。

    ',20),n=[r];function l(s,c){return t(),a("div",null,n)}const d=e(o,[["render",l],["__file","glossary.html.vue"]]),m=JSON.parse('{"path":"/csl-dev-guide/glossary.html","title":"术语对照表","lang":"zh-CN","frontmatter":{"title":"术语对照表","author":[{"name":"jiaojiaodubai","url":"https://github.com/jiaojiaodubai"}],"date":"2024-02-16T00:51:03.000Z","description":"术语对照表 以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。 引注(citation) 在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/csl-dev-guide/glossary.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"术语对照表"}],["meta",{"property":"og:description","content":"术语对照表 以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。 引注(citation) 在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-17T10:35:21.000Z"}],["meta",{"property":"article:author","content":"jiaojiaodubai"}],["meta",{"property":"article:published_time","content":"2024-02-16T00:51:03.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-17T10:35:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"术语对照表\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2024-02-16T00:51:03.000Z\\",\\"dateModified\\":\\"2024-02-17T10:35:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"jiaojiaodubai\\",\\"url\\":\\"https://github.com/jiaojiaodubai\\"}]}"]]},"headers":[{"level":2,"title":"引注(citation)","slug":"引注-citation","link":"#引注-citation","children":[]},{"level":2,"title":"参考文献表(bibliography)","slug":"参考文献表-bibliography","link":"#参考文献表-bibliography","children":[]},{"level":2,"title":"引用格式(citation format)","slug":"引用格式-citation-format","link":"#引用格式-citation-format","children":[]},{"level":2,"title":"条目(item)","slug":"条目-item","link":"#条目-item","children":[]},{"level":2,"title":"参考文献条目(bibliographic entry)","slug":"参考文献条目-bibliographic-entry","link":"#参考文献条目-bibliographic-entry","children":[]},{"level":2,"title":"风格(style)","slug":"风格-style","link":"#风格-style","children":[]},{"level":2,"title":"样式(style)","slug":"样式-style","link":"#样式-style","children":[]},{"level":2,"title":"术语(term)","slug":"术语-term","link":"#术语-term","children":[]},{"level":2,"title":"翻译(translation)","slug":"翻译-translation","link":"#翻译-translation","children":[]}],"git":{"createdTime":1708064282000,"updatedTime":1708166121000,"contributors":[{"name":"jiaojiaodubai","email":"63148861+jiaojiaodubai@users.noreply.github.com","commits":2},{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.94,"words":582},"filePathRelative":"csl-dev-guide/glossary.md","localizedDate":"2024年2月16日","autoDesc":true,"excerpt":"\\n

    以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。

    \\n

    引注(citation)

    \\n

    在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组成的简短文本。

    \\n

    参考文献表(bibliography)

    \\n

    国标中称为“参考文献表”,亦有部分文献称之为“书目”,是集中展示被引文献详情的列表,可能位于章节末尾、全文末尾、每一页的页脚。

    "}');export{d as comp,m as data}; diff --git a/assets/graph-BVvHj2M5.js b/assets/graph-BVvHj2M5.js new file mode 100644 index 0000000000..1769eb86a1 --- /dev/null +++ b/assets/graph-BVvHj2M5.js @@ -0,0 +1 @@ +import{A as I,B as qe,S as O,C as A,D as Te,E as Xe,F as Je,G as Qe,H as Ee,I as G,J as X,K as We,L as Oe,M as ze,N as C,O as R,P as we,Q as me,R as Ve,T as Z,U as ke,V as en,W as P,X as nn,Y as rn,Z as tn,_ as re,$ as sn,a0 as an,a1 as un,a2 as ve,a3 as fn,a4 as B,a5 as on,a6 as dn,a7 as M,a8 as te,a9 as ie}from"./mermaid.core-xpSMncQK.js";var hn="[object Symbol]";function J(e){return typeof e=="symbol"||I(e)&&qe(e)==hn}function $e(e,n){for(var r=-1,t=e==null?0:e.length,i=Array(t);++r-1}function T(e){return Te(e)?Xe(e):Je(e)}var yn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Tn=/^\w*$/;function Q(e,n){if(A(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||J(e)?!0:Tn.test(e)||!yn.test(e)||n!=null&&e in Object(n)}var En=500;function On(e){var n=Qe(e,function(t){return r.size===En&&r.clear(),t}),r=n.cache;return n}var wn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mn=/\\(\\)?/g,vn=On(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(wn,function(r,t,i,s){n.push(i?s.replace(mn,"$1"):t||r)}),n});function $n(e){return e==null?"":Le(e)}function Ie(e,n){return A(e)?e:Q(e,n)?[e]:vn($n(e))}var Ln=1/0;function U(e){if(typeof e=="string"||J(e))return e;var n=e+"";return n=="0"&&1/e==-Ln?"-0":n}function Ce(e,n){n=Ie(n,e);for(var r=0,t=n.length;e!=null&&r0&&r(u)?n>1?Se(u,n-1,r,t,i):W(i,u):t||(i[i.length]=u)}return i}function Cn(e,n,r,t){var i=-1,s=e==null?0:e.length;for(t&&s&&(r=e[++i]);++iu))return!1;var g=s.get(e),l=s.get(n);if(g&&l)return g==n&&l==e;var o=-1,d=!0,y=r&Qr?new S:void 0;for(s.set(e,n),s.set(n,e);++o=Zt){var g=n?null:Yt(e);if(g)return V(g);a=!1,i=Ue,f=new S}else f=n?[]:u;e:for(;++t1?i.setNode(s,r):i.setNode(s)}),this}setNode(n,r){return E(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=r),this):(this._nodes[n]=arguments.length>1?r:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=v,this._children[n]={},this._children[v][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return E(this._nodes,n)}removeNode(n){var r=this;if(E(this._nodes,n)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],m(this.children(n),function(i){r.setParent(i)}),delete this._children[n]),m(T(this._in[n]),t),delete this._in[n],delete this._preds[n],m(T(this._out[n]),t),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if($(r))r=v;else{r+="";for(var t=r;!$(t);t=this.parent(t))if(t===n)throw new Error("Setting "+r+" as parent of "+n+" would create a cycle");this.setNode(r)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=r,this._children[r][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var r=this._parent[n];if(r!==v)return r}}children(n){if($(n)&&(n=v),this._isCompound){var r=this._children[n];if(r)return T(r)}else{if(n===v)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var r=this._preds[n];if(r)return T(r)}successors(n){var r=this._sucs[n];if(r)return T(r)}neighbors(n){var r=this.predecessors(n);if(r)return Xt(r,this.successors(n))}isLeaf(n){var r;return this.isDirected()?r=this.successors(n):r=this.neighbors(n),r.length===0}filterNodes(n){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;m(this._nodes,function(a,u){n(u)&&r.setNode(u,a)}),m(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,t.edge(a))});var i={};function s(a){var u=t.parent(a);return u===void 0||r.hasNode(u)?(i[a]=u,u):u in i?i[u]:s(u)}return this._isCompound&&m(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(n){return te(n)||(n=M(n)),this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return H(this._edgeObjs)}setPath(n,r){var t=this,i=arguments;return Kt(n,function(s,a){return i.length>1?t.setEdge(s,a,r):t.setEdge(s,a),a}),this}setEdge(){var n,r,t,i,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(n=a.v,r=a.w,t=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(n=a,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),n=""+n,r=""+r,$(t)||(t=""+t);var u=L(this._isDirected,n,r,t);if(E(this._edgeLabels,u))return s&&(this._edgeLabels[u]=i),this;if(!$(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(r),this._edgeLabels[u]=s?i:this._defaultEdgeLabelFn(n,r,t);var f=Qt(this._isDirected,n,r,t);return n=f.v,r=f.w,Object.freeze(f),this._edgeObjs[u]=f,Ae(this._preds[r],n),Ae(this._sucs[n],r),this._in[r][u]=f,this._out[n][u]=f,this._edgeCount++,this}edge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return this._edgeLabels[i]}hasEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return E(this._edgeLabels,i)}removeEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t),s=this._edgeObjs[i];return s&&(n=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],ye(this._preds[r],n),ye(this._sucs[n],r),delete this._in[r][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,r){var t=this._in[n];if(t){var i=H(t);return r?D(i,function(s){return s.v===r}):i}}outEdges(n,r){var t=this._out[n];if(t){var i=H(t);return r?D(i,function(s){return s.w===r}):i}}nodeEdges(n,r){var t=this.inEdges(n,r);if(t)return t.concat(this.outEdges(n,r))}}Ze.prototype._nodeCount=0;Ze.prototype._edgeCount=0;function Ae(e,n){e[n]?e[n]++:e[n]=1}function ye(e,n){--e[n]||delete e[n]}function L(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}return i+be+s+be+($(t)?Jt:t)}function Qt(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}var u={v:i,w:s};return t&&(u.name=t),u}function Y(e,n){return L(e,n.v,n.w,n.name)}export{Ze as G,j as a,Se as b,Ye as c,cn as d,ee as e,m as f,$e as g,E as h,J as i,xt as j,T as k,St as l,Ie as m,Ce as n,mt as o,$n as p,$ as q,D as r,Kt as s,U as t,H as v}; diff --git a/assets/group.html-B1m11lwz.js b/assets/group.html-B1m11lwz.js new file mode 100644 index 0000000000..afa65b0efd --- /dev/null +++ b/assets/group.html-B1m11lwz.js @@ -0,0 +1 @@ +import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as c,c as p,a as e,d as o,w as r,b as t,e as i}from"./app-pLjDz5vt.js";const u="/assets/image-zotero-group-new-group-DNXcpz6A.png",g="/assets/image-group-10-Dh88W3EL.png",h="/assets/image-group-11-vJ3OmGDv.png",_="/assets/image-group-12-DTr6SPA8.png",m="/assets/image-group-13-CZoKBkte.png",f="/assets/image-group-14-UYbA1skA.png",b="/assets/image-group-15-l9gYy6pz.png",y="/assets/image-group-16-CnQG3WXx.png",E={},Z=e("h1",{id:"群组",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#群组"},[e("span",null,"群组")])],-1),A=e("ul",null,[e("li",null,[e("strong",null,"课题组协作、小组合作"),t(":文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。")]),e("li",null,[e("strong",null,"双向跨库分享文献条目"),t(":“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。")]),e("li",null,[e("strong",null,"Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目"),t("信息及其附件(笔记、全文 PDF 等)")]),e("li",null,[e("strong",null,"不限制群组成员数量")]),e("li",null,[e("strong",null,"配合 Chartero 插件可以实时查看成员某文献条目的阅读时间")])],-1),w={class:"hint-container warning"},x=e("p",{class:"hint-container-title"},"群组依赖 Zotero 账号",-1),B=e("h2",{id:"创建群组",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创建群组"},[e("span",null,"创建群组")])],-1),P=e("p",null,"有两种方式创建群组:",-1),v=e("li",null,[e("p",null,"在 Zotero 客户端中点击如下按钮:"),e("figure",null,[e("img",{src:u,alt:"创建群组",tabindex:"0",loading:"lazy"}),e("figcaption",null,"创建群组")])],-1),k={href:"https://www.zotero.org/groups",target:"_blank",rel:"noopener noreferrer"},z=e("code",null,"Create a New Group",-1),C=i('

    在打开的页面中,为群组输入一个名字,选择群组的类型,并依次进行群组设置,即可完成创建。

    群组类型

    群组有三类,分别是 私有群组 (Private)公开, 限定成员制群组 (Public, Closed Membership)公开, 开放成员群组 (Private) 三类,下表对比了三种群组类型的特点。

    私有群组公开,限定成员制公开,开放成员
    谁可以看到仅成员所有人所有人
    谁可以加入邀请邀请或申请所有人
    条目附件共享支持支持不支持

    群组类型也可以之后可以在群组设置继续更改。

    群组设置

    群组设置页面主要有三个设置项,分别对应条目的读取、编辑、附件的编辑三类权限。

    • 读取权限:谁可以看到该群组图书馆中的项目?
      • Anyone on the internet 所有人
      • Any group member 仅所有群组成员
    • 编辑权限:谁可以在该组的库中添加、编辑和删除项目?
      • Any group member 所有成员
      • Only group admins 仅群组管理员
    • 文件编辑权限:谁可以使用组中存储的文件?(公共开放组不能启用文件存储)
      • Any group member 任何团体成员
      • Only group admins 仅群组管理员
      • No group file storage 无群组文件存储

    关于群组成员、群组管理员等的设置,请见 群组管理 小节。

    关于群组的附件

    ',10),D=e("li",null,"一般用户默认会存储和分享群组空间只会占用创建者(即群主)的官方云存储空间(300M 免费)。",-1),N=e("li",null,"如果 300M 空间用尽,可以进入 Zotero 官网,在右上角的 Upgrade Storage 中升级付费计划(需要国外 VISA 信用卡)。",-1),O=e("li",null,"Zotero 群组的付费存储空间只需要群主付费,其他成员无需承担。",-1),T=e("h2",{id:"加入群组",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#加入群组"},[e("span",null,"加入群组")])],-1),M=e("h3",{id:"_1、官网群组搜索-🔍",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_1、官网群组搜索-🔍"},[e("span",null,"1、官网群组搜索 🔍")])],-1),S=e("p",null,"适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。",-1),F={href:"https://www.zotero.org/search/type/group",target:"_blank",rel:"noopener noreferrer"},V=i('
    搜索群组
    搜索群组

    在接下来的搜索结果页面中点击目标群组名称,进入该群组的主页

    点击群组名称
    点击群组名称

    在主页点击右侧的 Join,即可申请加入该群组。

    群组详情页面
    群组详情页面
    • Public Open 的群组点击 Join 之后即可加入
    • Public Closed 需要等管理员或者群主通过申请才可以加入

    Zotero 客户端重启之后即可在右侧"群组文库"看到所加入的群组。

    2、群组链接 🔗

    适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。

    ',9),I={href:"https://www.zotero.org/groups/",target:"_blank",rel:"noopener noreferrer"},L=e("figure",null,[e("img",{src:m,alt:"群组页面链接",tabindex:"0",loading:"lazy"}),e("figcaption",null,"群组页面链接")],-1),J=e("h3",{id:"_3、管理员邀请-✉️",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_3、管理员邀请-✉️"},[e("span",null,"3、管理员邀请 ✉️")])],-1),G=e("p",null,"适用于所有群组,包括 Private、Public Closed、Public Open 三种类型,仅群主和管理员可以操作。",-1),R={href:"https://www.zotero.org/groups/",target:"_blank",rel:"noopener noreferrer"},W=e("code",null,"Members Settings",-1),q=i('
    members settings
    members settings

    跳转后点击页面左下角 Send More Invitations

    发送邀请链接
    发送邀请链接

    在邀请成员界面的方框内,输入被邀请人的 Zotero 用户名或者注册 Zotero 时所用的电子邮箱。可以同时邀请多人(用英文逗号分隔即可),输入完成之后点击下方的 Invite Members,即可完成邀请。被邀请人注册 Zotero 时所用的邮箱将会受到邀请邮件,进入接受邀请即可。

    输入被邀请者用户名
    输入被邀请者用户名

    群组管理

    ',6),U={href:"https://www.zotero.org/groups/",target:"_blank",rel:"noopener noreferrer"},X=e("code",null,"Manage Profile",-1),Y=e("p",null,[t("点击 "),e("code",null,"Manage Members"),t(" 可以管理成员,例如审批加群申请、新增成员、移除成员、改变成员权限等。")],-1),j=e("p",null,[t("点击群组名进入群组详情页,右侧红色按钮 "),e("code",null,"leave"),t(" 可以退出群组,退出后需要重启 Zotero 客户端。")],-1);function K(Q,H){const s=l("Badge"),a=l("RouteLink"),n=l("ExternalLinkIcon");return c(),p("div",null,[Z,e("p",null,[o(s,{type:"tip"},{default:r(()=>[t("高级")]),_:1})]),A,e("div",w,[x,e("p",null,[t("群组的条目和附件同步均能且仅能通过 Zotero 官方同步服务同步,因此在使用群组功能前,你必须登录 Zotero 账户,如果你没有登录,请阅读 "),o(a,{to:"/user-guide/sync.html#%E6%95%B0%E6%8D%AE%E7%9A%84%E5%90%8C%E6%AD%A5"},{default:r(()=>[t("同步")]),_:1}),t(" 小节完成账号注册和登录。")])]),B,P,e("ol",null,[v,e("li",null,[e("p",null,[t("在"),e("a",k,[t("Zotero 群组页面"),o(n)]),t(" 点击 "),z,t(" 按钮。")])])]),C,e("ol",null,[D,e("li",null,[t("群组功能目前仅支持官方云储存空间进行同步附件(例如文献的 PDF、笔记等),因此创建“Private”/“Public Closed”群组类型的用户,建议使用 "),o(a,{to:"/user-guide/sync.html#%E9%80%9A%E8%BF%87-webdav-%E5%90%8C%E6%AD%A5%E9%99%84%E4%BB%B6"},{default:r(()=>[t("WebDAV 方案进行“我的文献库”的同步")]),_:1}),t(",把 300M 免费空间留给群组内文献条目附件的同步。")]),N,O]),T,M,S,e("p",null,[t("在 "),e("a",F,[t("Zotero 官网群组搜索页面"),o(n)]),t(",可以通过群组的名称,搜索到目标群组。")]),V,e("p",null,[t("群组成员(群主、管理员、成员)进入 "),e("a",I,[t("Zotero 群组页面"),o(n)]),t(",点击群组名称,进入群组页面,浏览器地址栏的网址即为群组链接,可以分享给他人,他人打开即可申请加入(同上图)。")]),L,J,G,e("p",null,[t("群组成员(群主、管理员、成员)进入 "),e("a",R,[t("Zotero 群组页面"),o(n)]),t(",点击群组名称下方的 "),W]),q,e("p",null,[t("群组成员(群主、管理员)进入"),e("a",U,[t("Zotero 群组页面"),o(n)]),t(",点击群组名称下方的 "),X,t(",可以设置头像、名称、群组所属类别等信息,也可在此页面解散群组。")]),Y,j])}const te=d(E,[["render",K],["__file","group.html.vue"]]),oe=JSON.parse('{"path":"/user-guide/group.html","title":"群组","lang":"zh-CN","frontmatter":{"title":"群组","icon":"group","author":[{"name":"Ali"},{"name":"Northword"}],"date":"2023-06-28T21:19:17.000Z","updated":"2023-12-06T18:51:54.000Z","description":"群组 课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。 双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。 Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等) 不限制群...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/group.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"群组"}],["meta",{"property":"og:description","content":"群组 课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。 双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。 Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等) 不限制群..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Ali"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:19:17.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"群组\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:19:17.000Z\\",\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Ali\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\"}]}"]]},"headers":[{"level":2,"title":"创建群组","slug":"创建群组","link":"#创建群组","children":[{"level":3,"title":"群组类型","slug":"群组类型","link":"#群组类型","children":[]},{"level":3,"title":"群组设置","slug":"群组设置","link":"#群组设置","children":[]},{"level":3,"title":"关于群组的附件","slug":"关于群组的附件","link":"#关于群组的附件","children":[]}]},{"level":2,"title":"加入群组","slug":"加入群组","link":"#加入群组","children":[{"level":3,"title":"1、官网群组搜索 🔍","slug":"_1、官网群组搜索-🔍","link":"#_1、官网群组搜索-🔍","children":[]},{"level":3,"title":"2、群组链接 🔗","slug":"_2、群组链接-🔗","link":"#_2、群组链接-🔗","children":[]},{"level":3,"title":"3、管理员邀请 ✉️","slug":"_3、管理员邀请-✉️","link":"#_3、管理员邀请-✉️","children":[]}]},{"level":2,"title":"群组管理","slug":"群组管理","link":"#群组管理","children":[]}],"git":{"createdTime":1695169095000,"updatedTime":1706851064000,"contributors":[{"name":"Ali","email":"113301080+Comte0825@users.noreply.github.com","commits":1},{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":5.08,"words":1523},"filePathRelative":"user-guide/group.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    \\n
      \\n
    • 课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。
    • \\n
    • 双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。
    • \\n
    • Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等)
    • \\n
    • 不限制群组成员数量
    • \\n
    • 配合 Chartero 插件可以实时查看成员某文献条目的阅读时间
    • \\n
    "}');export{te as comp,oe as data}; diff --git a/assets/icon-pdf-DRAO5yDD.js b/assets/icon-pdf-DRAO5yDD.js new file mode 100644 index 0000000000..208c8fdae3 --- /dev/null +++ b/assets/icon-pdf-DRAO5yDD.js @@ -0,0 +1 @@ +const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAYCAYAAAALQIb7AAACV0lEQVRIie1WTWsTURQ97735aCbVfLQYAtUiVhC6EJGC0IVIoW5c6ErQrRtd+Wvc+BdcuRKkti6EQnRXxI0IimhsTZtMJ8nMvPfG+yYEA6aZSRcFxcsMCbzLPfecc+9LWEKBEwp+UkD/NpiVlRCSo7t7e+AMMPYyxsC5SD+9GRdREKBcqUAIkQnGxg3I4f01QFAfWtGjEEuZFgdlMssUZWChgrp5C8m9R+BxiAoBpjnTMtPbW2Dahn39BsSlFfCDJnQQQpRnIb9+Rrz5gigD8sJFmPKOZaHVaqFarU4EHOuZLzXaVDw4PQdfA5HrQS0sQi0tIwxj9JOBvJJzko9DEvNCoYBOpzM9s+GJ/vIJcuM5+Oo6Er6PZKeB/psNQJGixEwoDdu2wZWE67pot9solUrTgXUvX4NONIK+hDy3BPnxg3EpPWPLV8g3C0lXoXj2PMmtU+nMm3U/jAVbfPYaigaDk0zN/QP0ej04jjOYRmLBd78D9QWSzoOIIzDKGwJODWYKD6M6W0Tk2AMwU/THN7DGFrB+B2x+niRVuYCOBBuN4W6lxTTJVCrTZHYhiqdSYYes8kQmmAmeTp2AjkIkrZ80huQTfeeOS56p1LdcdfKCcQJTjW0ED+6CnalDvXqJ+OkT6Hdvaf9z9ZyTmRnvOIZoNjGzugb7NgHScOj3O+CV34t8rAH5I4lYsUMfSa+LwsPHENU5YyasqyvI59Ygxt6No+H7PjzPy3XRNol5rVY7uunMbkgaUyRrYY+91KNh9iugn5EwDCd6Ys7q9frkhv7/B/nrwH4BmpjonqB5fukAAAAASUVORK5CYII=";export{A as _}; diff --git a/assets/icon/apple-icon-152.png b/assets/icon/apple-icon-152.png new file mode 100644 index 0000000000..434fcc3d5c Binary files /dev/null and b/assets/icon/apple-icon-152.png differ diff --git a/assets/icon/chrome-192.png b/assets/icon/chrome-192.png new file mode 100644 index 0000000000..6645f52b85 Binary files /dev/null and b/assets/icon/chrome-192.png differ diff --git a/assets/icon/chrome-512.png b/assets/icon/chrome-512.png new file mode 100644 index 0000000000..a146f00036 Binary files /dev/null and b/assets/icon/chrome-512.png differ diff --git a/assets/icon/chrome-mask-192.png b/assets/icon/chrome-mask-192.png new file mode 100644 index 0000000000..530977a9e6 Binary files /dev/null and b/assets/icon/chrome-mask-192.png differ diff --git a/assets/icon/chrome-mask-512.png b/assets/icon/chrome-mask-512.png new file mode 100644 index 0000000000..a4f90ae484 Binary files /dev/null and b/assets/icon/chrome-mask-512.png differ diff --git a/assets/icon/guide-maskable.png b/assets/icon/guide-maskable.png new file mode 100644 index 0000000000..75449b6098 Binary files /dev/null and b/assets/icon/guide-maskable.png differ diff --git a/assets/icon/ms-icon-144.png b/assets/icon/ms-icon-144.png new file mode 100644 index 0000000000..2464124422 Binary files /dev/null and b/assets/icon/ms-icon-144.png differ diff --git a/assets/image-Refresh-CxcjjCE7.png b/assets/image-Refresh-CxcjjCE7.png new file mode 100644 index 0000000000..000a65fb18 Binary files /dev/null and b/assets/image-Refresh-CxcjjCE7.png differ diff --git "a/assets/image-Tara-\345\210\233\345\273\272\345\244\207\344\273\275-Cxh_xqI3.png" "b/assets/image-Tara-\345\210\233\345\273\272\345\244\207\344\273\275-Cxh_xqI3.png" new file mode 100644 index 0000000000..001c24aea1 Binary files /dev/null and "b/assets/image-Tara-\345\210\233\345\273\272\345\244\207\344\273\275-Cxh_xqI3.png" differ diff --git "a/assets/image-Tara-\345\244\207\344\273\275\346\201\242\345\244\215\345\256\214\346\210\220-k7xawd7W.png" "b/assets/image-Tara-\345\244\207\344\273\275\346\201\242\345\244\215\345\256\214\346\210\220-k7xawd7W.png" new file mode 100644 index 0000000000..2d30a91275 Binary files /dev/null and "b/assets/image-Tara-\345\244\207\344\273\275\346\201\242\345\244\215\345\256\214\346\210\220-k7xawd7W.png" differ diff --git "a/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275-D28v7Uvl.png" "b/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275-D28v7Uvl.png" new file mode 100644 index 0000000000..f278e9ba2d Binary files /dev/null and "b/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275-D28v7Uvl.png" differ diff --git "a/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275\346\210\220\345\212\237-Df_Z7vf-.png" "b/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275\346\210\220\345\212\237-Df_Z7vf-.png" new file mode 100644 index 0000000000..f349f30025 Binary files /dev/null and "b/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275\346\210\220\345\212\237-Df_Z7vf-.png" differ diff --git "a/assets/image-Tara-\346\201\242\345\244\215\345\244\207\344\273\275-BRVjGuU7.png" "b/assets/image-Tara-\346\201\242\345\244\215\345\244\207\344\273\275-BRVjGuU7.png" new file mode 100644 index 0000000000..ff66077a6a Binary files /dev/null and "b/assets/image-Tara-\346\201\242\345\244\215\345\244\207\344\273\275-BRVjGuU7.png" differ diff --git "a/assets/image-Tara-\351\200\211\346\213\251\350\246\201\346\201\242\345\244\215\347\232\204\345\244\207\344\273\275-sf33BhRk.png" "b/assets/image-Tara-\351\200\211\346\213\251\350\246\201\346\201\242\345\244\215\347\232\204\345\244\207\344\273\275-sf33BhRk.png" new file mode 100644 index 0000000000..59721a96b5 Binary files /dev/null and "b/assets/image-Tara-\351\200\211\346\213\251\350\246\201\346\201\242\345\244\215\347\232\204\345\244\207\344\273\275-sf33BhRk.png" differ diff --git a/assets/image-add-attachment-DvY9qnDl.webp b/assets/image-add-attachment-DvY9qnDl.webp new file mode 100644 index 0000000000..8b8b04698a Binary files /dev/null and b/assets/image-add-attachment-DvY9qnDl.webp differ diff --git a/assets/image-auto-edit-language-C3Edp8eQ.jpg b/assets/image-auto-edit-language-C3Edp8eQ.jpg new file mode 100644 index 0000000000..1b31be0d68 Binary files /dev/null and b/assets/image-auto-edit-language-C3Edp8eQ.jpg differ diff --git "a/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260-BAmgb5v0.png" "b/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260-BAmgb5v0.png" new file mode 100644 index 0000000000..8de9ed8a71 Binary files /dev/null and "b/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260-BAmgb5v0.png" differ diff --git "a/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260\345\257\271\350\257\235\346\241\206-Dha1PlZy.png" "b/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260\345\257\271\350\257\235\346\241\206-Dha1PlZy.png" new file mode 100644 index 0000000000..e6d7b8875f Binary files /dev/null and "b/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260\345\257\271\350\257\235\346\241\206-Dha1PlZy.png" differ diff --git "a/assets/image-betternotes-\346\267\273\345\212\240\345\210\260\344\270\273\347\254\224\350\256\260-BMNXNX44.png" "b/assets/image-betternotes-\346\267\273\345\212\240\345\210\260\344\270\273\347\254\224\350\256\260-BMNXNX44.png" new file mode 100644 index 0000000000..786114c4bf Binary files /dev/null and "b/assets/image-betternotes-\346\267\273\345\212\240\345\210\260\344\270\273\347\254\224\350\256\260-BMNXNX44.png" differ diff --git "a/assets/image-bib-\345\244\215\345\210\266\347\273\223\346\236\234-MSRUloWE.png" "b/assets/image-bib-\345\244\215\345\210\266\347\273\223\346\236\234-MSRUloWE.png" new file mode 100644 index 0000000000..f603e8df19 Binary files /dev/null and "b/assets/image-bib-\345\244\215\345\210\266\347\273\223\346\236\234-MSRUloWE.png" differ diff --git "a/assets/image-bib-\351\200\211\346\213\251\346\240\267\345\274\217-j4dDVv2L.png" "b/assets/image-bib-\351\200\211\346\213\251\346\240\267\345\274\217-j4dDVv2L.png" new file mode 100644 index 0000000000..2d5059c771 Binary files /dev/null and "b/assets/image-bib-\351\200\211\346\213\251\346\240\267\345\274\217-j4dDVv2L.png" differ diff --git "a/assets/image-bib-\351\246\226\351\241\265-BdhVQVFK.png" "b/assets/image-bib-\351\246\226\351\241\265-BdhVQVFK.png" new file mode 100644 index 0000000000..76cb2de239 Binary files /dev/null and "b/assets/image-bib-\351\246\226\351\241\265-BdhVQVFK.png" differ diff --git a/assets/image-build-dev-server-1-CdV6onpC.png b/assets/image-build-dev-server-1-CdV6onpC.png new file mode 100644 index 0000000000..a468659443 Binary files /dev/null and b/assets/image-build-dev-server-1-CdV6onpC.png differ diff --git "a/assets/image-build-pr\351\242\204\350\247\210-1-CK2juzD6.png" "b/assets/image-build-pr\351\242\204\350\247\210-1-CK2juzD6.png" new file mode 100644 index 0000000000..46d0fddcb0 Binary files /dev/null and "b/assets/image-build-pr\351\242\204\350\247\210-1-CK2juzD6.png" differ diff --git "a/assets/image-build-pr\351\242\204\350\247\210-1-H7NE72PW.js" "b/assets/image-build-pr\351\242\204\350\247\210-1-H7NE72PW.js" new file mode 100644 index 0000000000..c146b824c2 --- /dev/null +++ "b/assets/image-build-pr\351\242\204\350\247\210-1-H7NE72PW.js" @@ -0,0 +1 @@ +const s="/assets/image-build-pr预览-1-CK2juzD6.png";export{s as _}; diff --git "a/assets/image-build-\345\210\233\345\273\272\346\226\260\345\210\206\346\224\257-1-CQHG4gzS.png" "b/assets/image-build-\345\210\233\345\273\272\346\226\260\345\210\206\346\224\257-1-CQHG4gzS.png" new file mode 100644 index 0000000000..b76b1d3e2b Binary files /dev/null and "b/assets/image-build-\345\210\233\345\273\272\346\226\260\345\210\206\346\224\257-1-CQHG4gzS.png" differ diff --git "a/assets/image-build-\345\220\257\345\212\250\345\274\200\345\217\221\346\234\215\345\212\241\345\231\250-1-BRF-0Ma5.png" "b/assets/image-build-\345\220\257\345\212\250\345\274\200\345\217\221\346\234\215\345\212\241\345\231\250-1-BRF-0Ma5.png" new file mode 100644 index 0000000000..a428cab4d5 Binary files /dev/null and "b/assets/image-build-\345\220\257\345\212\250\345\274\200\345\217\221\346\234\215\345\212\241\345\231\250-1-BRF-0Ma5.png" differ diff --git "a/assets/image-build-\345\256\211\350\243\205\344\276\235\350\265\226-1-BkxlRMk2.png" "b/assets/image-build-\345\256\211\350\243\205\344\276\235\350\265\226-1-BkxlRMk2.png" new file mode 100644 index 0000000000..f1a56981ad Binary files /dev/null and "b/assets/image-build-\345\256\211\350\243\205\344\276\235\350\265\226-1-BkxlRMk2.png" differ diff --git "a/assets/image-build-\346\216\250\351\200\201\344\277\256\346\224\271-1-Bs8VsvCa.png" "b/assets/image-build-\346\216\250\351\200\201\344\277\256\346\224\271-1-Bs8VsvCa.png" new file mode 100644 index 0000000000..ad05d01df6 Binary files /dev/null and "b/assets/image-build-\346\216\250\351\200\201\344\277\256\346\224\271-1-Bs8VsvCa.png" differ diff --git "a/assets/image-build-\346\217\220\344\272\244\344\277\256\346\224\271-1-jkHyudWl.png" "b/assets/image-build-\346\217\220\344\272\244\344\277\256\346\224\271-1-jkHyudWl.png" new file mode 100644 index 0000000000..666ff539e4 Binary files /dev/null and "b/assets/image-build-\346\217\220\344\272\244\344\277\256\346\224\271-1-jkHyudWl.png" differ diff --git "a/assets/image-build-\346\233\264\346\226\260main\345\210\206\346\224\257-1-DC6aGTSK.png" "b/assets/image-build-\346\233\264\346\226\260main\345\210\206\346\224\257-1-DC6aGTSK.png" new file mode 100644 index 0000000000..3785950c2a Binary files /dev/null and "b/assets/image-build-\346\233\264\346\226\260main\345\210\206\346\224\257-1-DC6aGTSK.png" differ diff --git a/assets/image-contribute-vscode-new-branch-DhTLhmoi.png b/assets/image-contribute-vscode-new-branch-DhTLhmoi.png new file mode 100644 index 0000000000..a25c25919d Binary files /dev/null and b/assets/image-contribute-vscode-new-branch-DhTLhmoi.png differ diff --git a/assets/image-contribution-guide-vscode1-DHPyqCm3.png b/assets/image-contribution-guide-vscode1-DHPyqCm3.png new file mode 100644 index 0000000000..0a5bc6a3ae Binary files /dev/null and b/assets/image-contribution-guide-vscode1-DHPyqCm3.png differ diff --git a/assets/image-contribution-new-branch-name-4aSm_DmN.png b/assets/image-contribution-new-branch-name-4aSm_DmN.png new file mode 100644 index 0000000000..dd226aab93 Binary files /dev/null and b/assets/image-contribution-new-branch-name-4aSm_DmN.png differ diff --git a/assets/image-contribution-switch-to-new-branch-DaSfLjMb.png b/assets/image-contribution-switch-to-new-branch-DaSfLjMb.png new file mode 100644 index 0000000000..b0ab0dd32b Binary files /dev/null and b/assets/image-contribution-switch-to-new-branch-DaSfLjMb.png differ diff --git a/assets/image-edit-citation-BmDxxul0.jpg b/assets/image-edit-citation-BmDxxul0.jpg new file mode 100644 index 0000000000..50317acd5b Binary files /dev/null and b/assets/image-edit-citation-BmDxxul0.jpg differ diff --git a/assets/image-edit-citation-Cpx4lL-9.js b/assets/image-edit-citation-Cpx4lL-9.js new file mode 100644 index 0000000000..92b6d7514c --- /dev/null +++ b/assets/image-edit-citation-Cpx4lL-9.js @@ -0,0 +1 @@ +const A="/assets/image-word-zotero窗格-CCT-CRnr.png",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTM0A1t6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAaVBMVEVMaXGZAACZAACYAACZAACZAACXAAABAQGTAAD///+ZAACbAAAAAACYAACHAACXAAAAAACYAACZAACYAACZAACVAACZAACZAACYAACYAACYAACcAACYAAD///////8AAAD///+ZAADq6up6Ke7jAAAAH3RSTlMAFE5ojXggHxMBiin6u2B5X/n0n0aBztpXs3oN6PL9f3994AAAAKBJREFUOMul09kOAiEMBdC6O+7jvk+v//+RMxFIpIVG5T6RcEKAtkTfpIkySQD+SErE4KVFDFgLAbSQQAkFpBCvcMmC4AQA4DbC4g8Qzi4AeKcEFN/hl3+ozH7gB5O7L8Zp8OTKg36uWDTtckfdM6pJV2BtlJtuwNHqB7oAewPQGdgZHUV0wjY/es1icwBW1qzOgaU5zDP/UaMcGHgw7NYtK0FH2Hk7SMgAAAAASUVORK5CYII=",g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTM0A1t6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABgFBMVEVMaXGiGhp/f39paWmJiYnlwHWjGRmjGBjo6OhNMQCjGRmjGhqjGhqjGRmiGhpMTEwLCwtubm6jGhqjGhqmFhaiGhrv7+9oaGifGRlPT0+hGRkAV6+jGRnWmiLjuWfju2qfGRmjGhqjGRmlHByjGBjfsFPfslXPhfqjGRmjGhqiGRlcXFyiGhqWlpYnJyeBAgbku2u0tLSjGhqiGRkDAwPRiACjGRmjGhokSnHlwHQWFhbT09OiGhqCgoKPj4/lwHdLMgDkwXejGxuhGhqmFxdubm7lvW6jGhr////x8fH39/f68Nzrz5X//vz++/b25MDl5eXlvnHX19dycnLy8vJvb2/9+vTk5OTz8/P19fXt1aTnxH3ox4T9+fF0dHTr0Jj9+fLAwMDnxX/mwXjlvW/mv3Kfn5/mv3Ps1KL9+O729vb78uL89umUlJTnw3vf39/78uHoxoH46cvKysr35cKYmJiRkZH89+z57dWMjIzpyYj+/PehoaGOjo757NL679pcJLhvAAAARXRSTlMAdN7e6e9RKhRIqH2Hb/wMAfrTuhfXS/E7sE8DRnDr9SisPTZnuL1QepnRzaXgdAL3MuH2BlTIXwftZfdrCODpR+tUMSsw9PmQAAABQklEQVQ4y2NgoCLgMARTAlYWphABWWlUeebi0sq42hpBTkv/mPTUpPhkNzR5Tw8g8GLhZPUGMXx93NwIySMr4GDCIu9GSB6hgB8qb+fg6F3t5xebmeGGqsBVNzwgIMBa0Na+qqI8LKcouhBdARQwuEGBB8kK0kKB0mWuDP4l0W5ugTF1GAqCQiJCIsNdGQKjChJiY+vjsVgRHEeCGzDjEUMBOwzgUODiDgM82BU4wxVo4rCCDQicbIAKePE50szdXQufL8yBBkjhU8Dn7s6FLxx0gAaIwBUkBru6huYC48I/z80tBSQkA5TnRooLz6zIiHxQXGT7+YWBhITc3UXxhCQDN9AACTwKFNyRXIikwMQAqkARqAA5sgTEJMVdtfX4GfTVVeXl1BiUgfLCPBqMjIy82HOpCjwujLErUOKDKTBiAABMaZm5l0XXdAAAAABJRU5ErkJggg==",B="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTM0A1t6AAACX0lEQVQ4T41T32vSURT/blNKSfBBpnw3tBHVZj0E1Qr8Gaio+Ps3+DMQRPHJPyDwxf+iH2gQvYzMbT3soZ58cEquvag0tiAfqrmXrajNH32uXbMliw4czj333M+5n3PuucxZIpPJFtVq9VuVSvVGKpVepttnS7fb5TWbzUu5XI5LfL/f77Lb7T2bzXaAtYXsZbNZnkKhuCoUCvnEPyWRSGQvHo8fRqPRz51Ox2A2mzccDscASY5h19rttisWi+0jfhgOh3cpbCyJRGKPAnoej+crsdTvQ0+8Xu8RWTudzu84O5lAr9dfN5lM+wRENBAItACoYV3z+XwtWJKobzQaP+p0OjmFjQWB21qt9h0BZzKZVfTjCofDmQoGg+dLpdJiKpV6gQQ9jUZTc7lcd61WK1cgEEwzPB5PA2cV1LbQsGPoSaPRYGneoVQqlaliscjS+A8k2LZYLOsikUjP4Mbn5NaRGgyGNsVNCGI7YPEF5z7BdpDsMQMa98Bg3e12b48YlMvlWYr5LWA1i1gIZ1VIcAP2Jp/PH88HaN1BfVuERTqdXqlWqws0RMAL6Iu2wLKDv5UeYRh0lrwCoTcsBcPTgN3ErSt4kZdYLz+RSNyP5ua8eYkkPJHgjzno482/kY5T/z10EyXegp3BHj8/P79BwM/E4osUzjChUOgDpuyITBvG2oYuvyYJoLuYylf1ev0a6r7wUCbzE3CeZR9Q6C9BM/lKpXKpUCicIz5oewgL6A4m834ymeTin0xT6q0h6F+CH7hEfiN0TS6XL+N3zlDw4KlYbCH0T5XwPzJKMFZ28BMKEScSynzX3QAAAABJRU5ErkJggg==",C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABZklEQVQ4jb2TvUtCYRTGn+d2h6AlGpLAwBDKsd0IxyZp0IakqC1yCryjcS8OfRgE2bUgp0qDLGhoakkaGvwLoqKpwkEsRCMw72kx6UPjtvQb33POj+d9Dy/RQNd1H4BRtEBErgzDOGxVa6Lr+qK0IZVK1WKx2FyrOfVXawO32616vd4EAESj0e3PNcWOAAA8Ho8aCAQS35PYFuRyORQKBdXpdG4Fg8Hmua0r+Hy+L6JsNvv3BO34V0GxVCkfdfU7liN7Zi8AaGnTZesNLMvKr54e3Jaq5QmSKjsY0dLmJshxOwkqibPjfKla9ovIrFWv94nIFMgZki47gpOHp6JfRFbWQuF9KEonySWS3YC9Nd6RvCGpaJnkdHxyfhfAgJZJDgMYsyOoAzBEpAJgQ0ubrrfa6yMAE8AzP7p++Y0XL0OOcxEpASgCuAQwAqDHssTLFgM/iGSSBkV2hFggOCiQawrW46Hw/TtCsZsNm5Jd4gAAAABJRU5ErkJggg==",a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAACQUlEQVQ4jZ2TS0iUYRiFn/ef8TJhLQa1rEwRc+EiIhDESqhFtEshgqRWXfY15iAx88+I4iINwkUElkQXiC4LNxmtihatRKRNs8icTFuEiEwyDvmfNuNk45ji2X3nvZ338sEm+HZjX+tmPgD+fGKqs8LvqKgxk7FPB4e+e8LagfcAyVBVuczKagZmv+bHOfmEEEBbUbFq1/LTnVV+YR1IwUKK1iWqG/j5GzQKtH2+GnRstYBnR0AsZ+bGt5QIoGZwbsJgMbCztDHnaLSCvWoYKhQBqwWJRqNBoNlxnEqAEm9psuPXk0nHMf/wjkvBUi2fXrYSDzMkZSSNr6ysJPr6+rycomg0Wm9mz8zsOTACjKQt8OhB2eXm6lszaWAxbSVNgntZ+0Mze+Pz+S64ruusbe0a0CJpGGgH2s3sJpACiMfjKaAbOJO1XwE8M4tIqofs+s3sJPDFzMKxWCxdaAbxeHwBGFt9u64bBPrNrA5IrCqaASoltXR1da27rbUIh8NEIpFySceBlKTFnCJJd8zsvpm9DAQCi7FYzJP0QlK8p6cn5bpuA3DXzOokARQD5ZIee543kZuRpDFJF4ExM5sHFoBjZnY221YC6JeUzNoSQATo7u3tXfpn/fmYDlUdAks55jRXD8w8TYb2ngLvw4HBH0uF/AseZPJ61S6w8yseCxhNAII9wtnwAxdMJOMc6O30+Ox8jpNGgaPTod1b+2tTnRXFYKWeZx9PvPvL196eWwC9xnyHN1L1XyQ790e3Fbhd/AH/CuB7qzHARgAAAABJRU5ErkJggg==",G="/assets/image-word-引文对话框-Bdw_tyL8.png",i="/assets/image-word-编辑引文-Bl7bs07Z.png",R="/assets/image-word-引文对话框-经典-BxQV00hd.png",o="/assets/image-edit-citation-BmDxxul0.jpg";export{A as _,s as a,g as b,B as c,C as d,a as e,G as f,i as g,R as h,o as i}; diff --git a/assets/image-endnote-link-citation-to-bib-DZszhckc.png b/assets/image-endnote-link-citation-to-bib-DZszhckc.png new file mode 100644 index 0000000000..4c95a6f34f Binary files /dev/null and b/assets/image-endnote-link-citation-to-bib-DZszhckc.png differ diff --git a/assets/image-feed-10-DkwY-AMX.png b/assets/image-feed-10-DkwY-AMX.png new file mode 100644 index 0000000000..c10dd243cb Binary files /dev/null and b/assets/image-feed-10-DkwY-AMX.png differ diff --git a/assets/image-feed-11-GOeHq3NY.png b/assets/image-feed-11-GOeHq3NY.png new file mode 100644 index 0000000000..e411579981 Binary files /dev/null and b/assets/image-feed-11-GOeHq3NY.png differ diff --git a/assets/image-feed-12-Di7pOHrC.png b/assets/image-feed-12-Di7pOHrC.png new file mode 100644 index 0000000000..a74fd1de05 Binary files /dev/null and b/assets/image-feed-12-Di7pOHrC.png differ diff --git a/assets/image-feed-13-BpGcgGDV.png b/assets/image-feed-13-BpGcgGDV.png new file mode 100644 index 0000000000..677f64c597 Binary files /dev/null and b/assets/image-feed-13-BpGcgGDV.png differ diff --git a/assets/image-feed-14-BP9c0FuJ.png b/assets/image-feed-14-BP9c0FuJ.png new file mode 100644 index 0000000000..9b2030822d Binary files /dev/null and b/assets/image-feed-14-BP9c0FuJ.png differ diff --git a/assets/image-feed-15-C8PogPv-.png b/assets/image-feed-15-C8PogPv-.png new file mode 100644 index 0000000000..6de86e1355 Binary files /dev/null and b/assets/image-feed-15-C8PogPv-.png differ diff --git a/assets/image-feed-16-B1e2DcNG.png b/assets/image-feed-16-B1e2DcNG.png new file mode 100644 index 0000000000..0ec85bc267 Binary files /dev/null and b/assets/image-feed-16-B1e2DcNG.png differ diff --git a/assets/image-feed-17-BzhxLk9R.png b/assets/image-feed-17-BzhxLk9R.png new file mode 100644 index 0000000000..c19d25cfe0 Binary files /dev/null and b/assets/image-feed-17-BzhxLk9R.png differ diff --git a/assets/image-feed-18-C_jhcfGJ.png b/assets/image-feed-18-C_jhcfGJ.png new file mode 100644 index 0000000000..0ba1a4f082 Binary files /dev/null and b/assets/image-feed-18-C_jhcfGJ.png differ diff --git a/assets/image-feed-2-CSJ0k3rv.png b/assets/image-feed-2-CSJ0k3rv.png new file mode 100644 index 0000000000..05d96b95e5 Binary files /dev/null and b/assets/image-feed-2-CSJ0k3rv.png differ diff --git a/assets/image-feed-20-BMv-3H02.png b/assets/image-feed-20-BMv-3H02.png new file mode 100644 index 0000000000..0d1540b3aa Binary files /dev/null and b/assets/image-feed-20-BMv-3H02.png differ diff --git a/assets/image-feed-21-Bz1UsISw.png b/assets/image-feed-21-Bz1UsISw.png new file mode 100644 index 0000000000..6ce2f60a3f Binary files /dev/null and b/assets/image-feed-21-Bz1UsISw.png differ diff --git a/assets/image-feed-22-xzHsx3Tm.png b/assets/image-feed-22-xzHsx3Tm.png new file mode 100644 index 0000000000..7fbca4f433 Binary files /dev/null and b/assets/image-feed-22-xzHsx3Tm.png differ diff --git a/assets/image-feed-23-Cg7vCewK.png b/assets/image-feed-23-Cg7vCewK.png new file mode 100644 index 0000000000..dd8b09ac5c Binary files /dev/null and b/assets/image-feed-23-Cg7vCewK.png differ diff --git a/assets/image-feed-24-yjAoDdaU.png b/assets/image-feed-24-yjAoDdaU.png new file mode 100644 index 0000000000..f0b739a824 Binary files /dev/null and b/assets/image-feed-24-yjAoDdaU.png differ diff --git a/assets/image-feed-25-w0RtEpIr.png b/assets/image-feed-25-w0RtEpIr.png new file mode 100644 index 0000000000..29afbab78e Binary files /dev/null and b/assets/image-feed-25-w0RtEpIr.png differ diff --git a/assets/image-feed-26-Mi3QTe9W.png b/assets/image-feed-26-Mi3QTe9W.png new file mode 100644 index 0000000000..ff974a9d3f Binary files /dev/null and b/assets/image-feed-26-Mi3QTe9W.png differ diff --git a/assets/image-feed-3-IACR4eSQ.png b/assets/image-feed-3-IACR4eSQ.png new file mode 100644 index 0000000000..0cd13c145e Binary files /dev/null and b/assets/image-feed-3-IACR4eSQ.png differ diff --git a/assets/image-feed-5-DkfmYWzE.png b/assets/image-feed-5-DkfmYWzE.png new file mode 100644 index 0000000000..bb25a1733d Binary files /dev/null and b/assets/image-feed-5-DkfmYWzE.png differ diff --git a/assets/image-feed-6-D9XgxdaV.png b/assets/image-feed-6-D9XgxdaV.png new file mode 100644 index 0000000000..7ebe5a0191 Binary files /dev/null and b/assets/image-feed-6-D9XgxdaV.png differ diff --git a/assets/image-feed-7-Drn0ieVE.png b/assets/image-feed-7-Drn0ieVE.png new file mode 100644 index 0000000000..73e6e62aba Binary files /dev/null and b/assets/image-feed-7-Drn0ieVE.png differ diff --git a/assets/image-feed-8-CN5Oscf_.png b/assets/image-feed-8-CN5Oscf_.png new file mode 100644 index 0000000000..d8c09b71e5 Binary files /dev/null and b/assets/image-feed-8-CN5Oscf_.png differ diff --git a/assets/image-feed-9-yQfC9JUL.png b/assets/image-feed-9-yQfC9JUL.png new file mode 100644 index 0000000000..941b3eb2ca Binary files /dev/null and b/assets/image-feed-9-yQfC9JUL.png differ diff --git a/assets/image-fork-repo-1-DUhfmMkh.png b/assets/image-fork-repo-1-DUhfmMkh.png new file mode 100644 index 0000000000..6f8134245d Binary files /dev/null and b/assets/image-fork-repo-1-DUhfmMkh.png differ diff --git a/assets/image-fork-repo-2-1-BvzjgARi.png b/assets/image-fork-repo-2-1-BvzjgARi.png new file mode 100644 index 0000000000..0e779343b5 Binary files /dev/null and b/assets/image-fork-repo-2-1-BvzjgARi.png differ diff --git a/assets/image-get-metadata-cn1-BqXBbE70.webp b/assets/image-get-metadata-cn1-BqXBbE70.webp new file mode 100644 index 0000000000..7c4cbbc4c9 Binary files /dev/null and b/assets/image-get-metadata-cn1-BqXBbE70.webp differ diff --git a/assets/image-get-metadata-cnki-BXDtRRmK.jpg b/assets/image-get-metadata-cnki-BXDtRRmK.jpg new file mode 100644 index 0000000000..d8f8402af8 Binary files /dev/null and b/assets/image-get-metadata-cnki-BXDtRRmK.jpg differ diff --git a/assets/image-get-metadata-cnki-error-uA0YxVwY.jpg b/assets/image-get-metadata-cnki-error-uA0YxVwY.jpg new file mode 100644 index 0000000000..083e672140 Binary files /dev/null and b/assets/image-get-metadata-cnki-error-uA0YxVwY.jpg differ diff --git a/assets/image-get-metadata-cnki-template-ZVNOaD5x.jpg b/assets/image-get-metadata-cnki-template-ZVNOaD5x.jpg new file mode 100644 index 0000000000..0d6917e70f Binary files /dev/null and b/assets/image-get-metadata-cnki-template-ZVNOaD5x.jpg differ diff --git a/assets/image-get-metadata-en2-DT7MLR1z.webp b/assets/image-get-metadata-en2-DT7MLR1z.webp new file mode 100644 index 0000000000..54dcf433da Binary files /dev/null and b/assets/image-get-metadata-en2-DT7MLR1z.webp differ diff --git "a/assets/image-github\344\270\213\350\275\275\345\274\225\346\226\207\346\240\274\345\274\217-Fdxb9GLJ.png" "b/assets/image-github\344\270\213\350\275\275\345\274\225\346\226\207\346\240\274\345\274\217-Fdxb9GLJ.png" new file mode 100644 index 0000000000..69135fb9e8 Binary files /dev/null and "b/assets/image-github\344\270\213\350\275\275\345\274\225\346\226\207\346\240\274\345\274\217-Fdxb9GLJ.png" differ diff --git a/assets/image-group-10-Dh88W3EL.png b/assets/image-group-10-Dh88W3EL.png new file mode 100644 index 0000000000..3a20aee1dd Binary files /dev/null and b/assets/image-group-10-Dh88W3EL.png differ diff --git a/assets/image-group-11-vJ3OmGDv.png b/assets/image-group-11-vJ3OmGDv.png new file mode 100644 index 0000000000..aeea8e1edd Binary files /dev/null and b/assets/image-group-11-vJ3OmGDv.png differ diff --git a/assets/image-group-12-DTr6SPA8.png b/assets/image-group-12-DTr6SPA8.png new file mode 100644 index 0000000000..b7dd09212e Binary files /dev/null and b/assets/image-group-12-DTr6SPA8.png differ diff --git a/assets/image-group-13-CZoKBkte.png b/assets/image-group-13-CZoKBkte.png new file mode 100644 index 0000000000..e55d43b812 Binary files /dev/null and b/assets/image-group-13-CZoKBkte.png differ diff --git a/assets/image-group-14-UYbA1skA.png b/assets/image-group-14-UYbA1skA.png new file mode 100644 index 0000000000..ebfa0f27c4 Binary files /dev/null and b/assets/image-group-14-UYbA1skA.png differ diff --git a/assets/image-group-15-l9gYy6pz.png b/assets/image-group-15-l9gYy6pz.png new file mode 100644 index 0000000000..f9cd7d607a Binary files /dev/null and b/assets/image-group-15-l9gYy6pz.png differ diff --git a/assets/image-group-16-CnQG3WXx.png b/assets/image-group-16-CnQG3WXx.png new file mode 100644 index 0000000000..d4c80e284b Binary files /dev/null and b/assets/image-group-16-CnQG3WXx.png differ diff --git "a/assets/image-iOS\345\220\214\346\255\245\347\231\273\351\231\206-Ca-3HOAP.png" "b/assets/image-iOS\345\220\214\346\255\245\347\231\273\351\231\206-Ca-3HOAP.png" new file mode 100644 index 0000000000..c7ce8b64aa Binary files /dev/null and "b/assets/image-iOS\345\220\214\346\255\245\347\231\273\351\231\206-Ca-3HOAP.png" differ diff --git "a/assets/image-iOS\346\226\207\347\214\256\345\220\214\346\255\245\346\210\220\345\212\237-BhDTBCW-.png" "b/assets/image-iOS\346\226\207\347\214\256\345\220\214\346\255\245\346\210\220\345\212\237-BhDTBCW-.png" new file mode 100644 index 0000000000..8823f8ad27 Binary files /dev/null and "b/assets/image-iOS\346\226\207\347\214\256\345\220\214\346\255\245\346\210\220\345\212\237-BhDTBCW-.png" differ diff --git "a/assets/image-iOS\346\226\207\347\214\256\351\230\205\350\257\273-DYNyx8F9.png" "b/assets/image-iOS\346\226\207\347\214\256\351\230\205\350\257\273-DYNyx8F9.png" new file mode 100644 index 0000000000..d4ea39a0a6 Binary files /dev/null and "b/assets/image-iOS\346\226\207\347\214\256\351\230\205\350\257\273-DYNyx8F9.png" differ diff --git "a/assets/image-iOS\347\231\273\351\231\206-DWYgn2dW.jpg" "b/assets/image-iOS\347\231\273\351\231\206-DWYgn2dW.jpg" new file mode 100644 index 0000000000..4479960f09 Binary files /dev/null and "b/assets/image-iOS\347\231\273\351\231\206-DWYgn2dW.jpg" differ diff --git "a/assets/image-iOS\351\246\226\351\241\265-BNx49nYs.png" "b/assets/image-iOS\351\246\226\351\241\265-BNx49nYs.png" new file mode 100644 index 0000000000..1536b9cf5c Binary files /dev/null and "b/assets/image-iOS\351\246\226\351\241\265-BNx49nYs.png" differ diff --git a/assets/image-importing_standardized_formats_1-BqMK1mhM.webp b/assets/image-importing_standardized_formats_1-BqMK1mhM.webp new file mode 100644 index 0000000000..94ee95b80f Binary files /dev/null and b/assets/image-importing_standardized_formats_1-BqMK1mhM.webp differ diff --git a/assets/image-importing_standardized_formats_2-yFWqjc2R.webp b/assets/image-importing_standardized_formats_2-yFWqjc2R.webp new file mode 100644 index 0000000000..41ce967158 Binary files /dev/null and b/assets/image-importing_standardized_formats_2-yFWqjc2R.webp differ diff --git a/assets/image-importing_standardized_formats_3-C_nSPGi_.webp b/assets/image-importing_standardized_formats_3-C_nSPGi_.webp new file mode 100644 index 0000000000..639fc04d95 Binary files /dev/null and b/assets/image-importing_standardized_formats_3-C_nSPGi_.webp differ diff --git a/assets/image-importing_standardized_formats_4-DYLJiFQw.webp b/assets/image-importing_standardized_formats_4-DYLJiFQw.webp new file mode 100644 index 0000000000..0d385077db Binary files /dev/null and b/assets/image-importing_standardized_formats_4-DYLJiFQw.webp differ diff --git a/assets/image-importing_standardized_formats_5-G_AKQLQM.webp b/assets/image-importing_standardized_formats_5-G_AKQLQM.webp new file mode 100644 index 0000000000..0f848dc4f0 Binary files /dev/null and b/assets/image-importing_standardized_formats_5-G_AKQLQM.webp differ diff --git a/assets/image-importing_standardized_formats_6-Cs3mSqgL.webp b/assets/image-importing_standardized_formats_6-Cs3mSqgL.webp new file mode 100644 index 0000000000..dee85c0ceb Binary files /dev/null and b/assets/image-importing_standardized_formats_6-Cs3mSqgL.webp differ diff --git a/assets/image-install-style-BAoeFFtM.png b/assets/image-install-style-BAoeFFtM.png new file mode 100644 index 0000000000..0b4204de97 Binary files /dev/null and b/assets/image-install-style-BAoeFFtM.png differ diff --git a/assets/image-manual-add-item-1-BhQVTbzp.png b/assets/image-manual-add-item-1-BhQVTbzp.png new file mode 100644 index 0000000000..8681d92ec8 Binary files /dev/null and b/assets/image-manual-add-item-1-BhQVTbzp.png differ diff --git a/assets/image-manual-add-item-2-BqPAL24V.png b/assets/image-manual-add-item-2-BqPAL24V.png new file mode 100644 index 0000000000..ef5a757931 Binary files /dev/null and b/assets/image-manual-add-item-2-BqPAL24V.png differ diff --git a/assets/image-manual-add-item-3-Df0l0IWB.png b/assets/image-manual-add-item-3-Df0l0IWB.png new file mode 100644 index 0000000000..fb7d8cb4f6 Binary files /dev/null and b/assets/image-manual-add-item-3-Df0l0IWB.png differ diff --git a/assets/image-manual-add-item-4-JqhIPPrM.png b/assets/image-manual-add-item-4-JqhIPPrM.png new file mode 100644 index 0000000000..e235277859 Binary files /dev/null and b/assets/image-manual-add-item-4-JqhIPPrM.png differ diff --git a/assets/image-manual-add-item-5-9cUveSl9.png b/assets/image-manual-add-item-5-9cUveSl9.png new file mode 100644 index 0000000000..64a5ac711c Binary files /dev/null and b/assets/image-manual-add-item-5-9cUveSl9.png differ diff --git "a/assets/image-menu-\346\226\207\344\273\266-DiIDoHOA.png" "b/assets/image-menu-\346\226\207\344\273\266-DiIDoHOA.png" new file mode 100644 index 0000000000..606ee22200 Binary files /dev/null and "b/assets/image-menu-\346\226\207\344\273\266-DiIDoHOA.png" differ diff --git a/assets/image-miniconda-install-BiNhio40.png b/assets/image-miniconda-install-BiNhio40.png new file mode 100644 index 0000000000..8587ed3cad Binary files /dev/null and b/assets/image-miniconda-install-BiNhio40.png differ diff --git a/assets/image-python-install-D63CxHMB.png b/assets/image-python-install-D63CxHMB.png new file mode 100644 index 0000000000..202075c5f5 Binary files /dev/null and b/assets/image-python-install-D63CxHMB.png differ diff --git "a/assets/image-reader-\345\210\222\351\200\211-BkQjWY1M.png" "b/assets/image-reader-\345\210\222\351\200\211-BkQjWY1M.png" new file mode 100644 index 0000000000..49c8e79b48 Binary files /dev/null and "b/assets/image-reader-\345\210\222\351\200\211-BkQjWY1M.png" differ diff --git "a/assets/image-reader-\346\263\250\351\207\212-lrXkTzwm.png" "b/assets/image-reader-\346\263\250\351\207\212-lrXkTzwm.png" new file mode 100644 index 0000000000..157312dc04 Binary files /dev/null and "b/assets/image-reader-\346\263\250\351\207\212-lrXkTzwm.png" differ diff --git "a/assets/image-reader-\346\263\250\351\207\212\350\257\246\346\203\205-D3LnJLO9.png" "b/assets/image-reader-\346\263\250\351\207\212\350\257\246\346\203\205-D3LnJLO9.png" new file mode 100644 index 0000000000..4ae416dc86 Binary files /dev/null and "b/assets/image-reader-\346\263\250\351\207\212\350\257\246\346\203\205-D3LnJLO9.png" differ diff --git "a/assets/image-reader-\347\247\273\345\212\250\351\200\211\351\241\271\345\215\241-DjQeFO7X.png" "b/assets/image-reader-\347\247\273\345\212\250\351\200\211\351\241\271\345\215\241-DjQeFO7X.png" new file mode 100644 index 0000000000..340a3f210b Binary files /dev/null and "b/assets/image-reader-\347\247\273\345\212\250\351\200\211\351\241\271\345\215\241-DjQeFO7X.png" differ diff --git a/assets/image-rename-attachment-DUBHlIY1.png b/assets/image-rename-attachment-DUBHlIY1.png new file mode 100644 index 0000000000..e88be56f49 Binary files /dev/null and b/assets/image-rename-attachment-DUBHlIY1.png differ diff --git a/assets/image-retrieve-metadata-DBN0UULM.jpg b/assets/image-retrieve-metadata-DBN0UULM.jpg new file mode 100644 index 0000000000..a807ee20c0 Binary files /dev/null and b/assets/image-retrieve-metadata-DBN0UULM.jpg differ diff --git a/assets/image-retrieve-metadata-finished-B2Kg0-Pn.jpg b/assets/image-retrieve-metadata-finished-B2Kg0-Pn.jpg new file mode 100644 index 0000000000..f741503954 Binary files /dev/null and b/assets/image-retrieve-metadata-finished-B2Kg0-Pn.jpg differ diff --git a/assets/image-run-cmd-srdpQM_6.png b/assets/image-run-cmd-srdpQM_6.png new file mode 100644 index 0000000000..6f18e6c152 Binary files /dev/null and b/assets/image-run-cmd-srdpQM_6.png differ diff --git a/assets/image-run-python-version-DD4IpXRj.png b/assets/image-run-python-version-DD4IpXRj.png new file mode 100644 index 0000000000..505ff9ffe0 Binary files /dev/null and b/assets/image-run-python-version-DD4IpXRj.png differ diff --git "a/assets/image-scihub\346\212\245\351\224\231-B6cIO2DF.png" "b/assets/image-scihub\346\212\245\351\224\231-B6cIO2DF.png" new file mode 100644 index 0000000000..c39118b8f6 Binary files /dev/null and "b/assets/image-scihub\346\212\245\351\224\231-B6cIO2DF.png" differ diff --git "a/assets/image-scihub\346\212\245\351\224\231_1-BQ_6yZTO.png" "b/assets/image-scihub\346\212\245\351\224\231_1-BQ_6yZTO.png" new file mode 100644 index 0000000000..f1d88baefb Binary files /dev/null and "b/assets/image-scihub\346\212\245\351\224\231_1-BQ_6yZTO.png" differ diff --git a/assets/image-settings-reinstalll-word-plugin-BJoUDq6D.js b/assets/image-settings-reinstalll-word-plugin-BJoUDq6D.js new file mode 100644 index 0000000000..51b443fa33 --- /dev/null +++ b/assets/image-settings-reinstalll-word-plugin-BJoUDq6D.js @@ -0,0 +1 @@ +const s="/assets/image-settings-reinstalll-word-plugin-Moeyll56.png";export{s as _}; diff --git a/assets/image-settings-reinstalll-word-plugin-Moeyll56.png b/assets/image-settings-reinstalll-word-plugin-Moeyll56.png new file mode 100644 index 0000000000..72f039d732 Binary files /dev/null and b/assets/image-settings-reinstalll-word-plugin-Moeyll56.png differ diff --git a/assets/image-tools-addon-CYN-QmxV.png b/assets/image-tools-addon-CYN-QmxV.png new file mode 100644 index 0000000000..386a9e0fa3 Binary files /dev/null and b/assets/image-tools-addon-CYN-QmxV.png differ diff --git "a/assets/image-translators\346\226\207\344\273\266-CvA0vAcn.png" "b/assets/image-translators\346\226\207\344\273\266-CvA0vAcn.png" new file mode 100644 index 0000000000..b465bc92cf Binary files /dev/null and "b/assets/image-translators\346\226\207\344\273\266-CvA0vAcn.png" differ diff --git a/assets/image-update-official-translators-DWD9dD9d.jpg b/assets/image-update-official-translators-DWD9dD9d.jpg new file mode 100644 index 0000000000..2b71418472 Binary files /dev/null and b/assets/image-update-official-translators-DWD9dD9d.jpg differ diff --git a/assets/image-update-translator-chrome-1-YPALAm3t.jpg b/assets/image-update-translator-chrome-1-YPALAm3t.jpg new file mode 100644 index 0000000000..33649ff3f6 Binary files /dev/null and b/assets/image-update-translator-chrome-1-YPALAm3t.jpg differ diff --git a/assets/image-update-translator-chrome-2-DaGHG9kR.jpg b/assets/image-update-translator-chrome-2-DaGHG9kR.jpg new file mode 100644 index 0000000000..5bfd16d784 Binary files /dev/null and b/assets/image-update-translator-chrome-2-DaGHG9kR.jpg differ diff --git a/assets/image-update-translator-safari-1-CVDbKibc.jpg b/assets/image-update-translator-safari-1-CVDbKibc.jpg new file mode 100644 index 0000000000..05c00afd36 Binary files /dev/null and b/assets/image-update-translator-safari-1-CVDbKibc.jpg differ diff --git a/assets/image-update-translator-safari-2-BIdE7bma.jpg b/assets/image-update-translator-safari-2-BIdE7bma.jpg new file mode 100644 index 0000000000..60d4b4189d Binary files /dev/null and b/assets/image-update-translator-safari-2-BIdE7bma.jpg differ diff --git a/assets/image-update-unofficial-translators-CWDW9YRw.jpg b/assets/image-update-unofficial-translators-CWDW9YRw.jpg new file mode 100644 index 0000000000..b021fb8301 Binary files /dev/null and b/assets/image-update-unofficial-translators-CWDW9YRw.jpg differ diff --git a/assets/image-word-document-preferences-JhgzU8t4.png b/assets/image-word-document-preferences-JhgzU8t4.png new file mode 100644 index 0000000000..8a3c4d6f35 Binary files /dev/null and b/assets/image-word-document-preferences-JhgzU8t4.png differ diff --git a/assets/image-word-document-preferences2-BuZ47eSq.png b/assets/image-word-document-preferences2-BuZ47eSq.png new file mode 100644 index 0000000000..0616676921 Binary files /dev/null and b/assets/image-word-document-preferences2-BuZ47eSq.png differ diff --git "a/assets/image-word-zotero\347\252\227\346\240\274-CCT-CRnr.png" "b/assets/image-word-zotero\347\252\227\346\240\274-CCT-CRnr.png" new file mode 100644 index 0000000000..86a0f6f224 Binary files /dev/null and "b/assets/image-word-zotero\347\252\227\346\240\274-CCT-CRnr.png" differ diff --git "a/assets/image-word-\345\210\207\346\215\242\347\273\217\345\205\270\350\247\206\345\233\276-CbCjlSXP.png" "b/assets/image-word-\345\210\207\346\215\242\347\273\217\345\205\270\350\247\206\345\233\276-CbCjlSXP.png" new file mode 100644 index 0000000000..36d4ebd54a Binary files /dev/null and "b/assets/image-word-\345\210\207\346\215\242\347\273\217\345\205\270\350\247\206\345\233\276-CbCjlSXP.png" differ diff --git "a/assets/image-word-\345\237\237\344\273\243\347\240\201-Clka3qIS.png" "b/assets/image-word-\345\237\237\344\273\243\347\240\201-Clka3qIS.png" new file mode 100644 index 0000000000..5d20daa956 Binary files /dev/null and "b/assets/image-word-\345\237\237\344\273\243\347\240\201-Clka3qIS.png" differ diff --git "a/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-Bdw_tyL8.png" "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-Bdw_tyL8.png" new file mode 100644 index 0000000000..36ac30aa8b Binary files /dev/null and "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-Bdw_tyL8.png" differ diff --git "a/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-BxQV00hd.png" "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-BxQV00hd.png" new file mode 100644 index 0000000000..b658715bb9 Binary files /dev/null and "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-BxQV00hd.png" differ diff --git "a/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-\346\267\273\345\212\240\345\244\232\346\235\245\346\272\220-Cu26iWKZ.png" "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-\346\267\273\345\212\240\345\244\232\346\235\245\346\272\220-Cu26iWKZ.png" new file mode 100644 index 0000000000..ab19e846b9 Binary files /dev/null and "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-\346\267\273\345\212\240\345\244\232\346\235\245\346\272\220-Cu26iWKZ.png" differ diff --git "a/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\2062-Clezm4Wr.png" "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\2062-Clezm4Wr.png" new file mode 100644 index 0000000000..54adfa2fbe Binary files /dev/null and "b/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\2062-Clezm4Wr.png" differ diff --git "a/assets/image-word-\347\241\256\350\256\244\344\277\235\345\255\230\344\277\256\346\224\271-CXJSzR0i.png" "b/assets/image-word-\347\241\256\350\256\244\344\277\235\345\255\230\344\277\256\346\224\271-CXJSzR0i.png" new file mode 100644 index 0000000000..662ed3ffcf Binary files /dev/null and "b/assets/image-word-\347\241\256\350\256\244\344\277\235\345\255\230\344\277\256\346\224\271-CXJSzR0i.png" differ diff --git "a/assets/image-word-\347\274\226\350\276\221\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-BuorVbsW.png" "b/assets/image-word-\347\274\226\350\276\221\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-BuorVbsW.png" new file mode 100644 index 0000000000..3ee90e677c Binary files /dev/null and "b/assets/image-word-\347\274\226\350\276\221\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-BuorVbsW.png" differ diff --git "a/assets/image-word-\347\274\226\350\276\221\345\274\225\346\226\207-Bl7bs07Z.png" "b/assets/image-word-\347\274\226\350\276\221\345\274\225\346\226\207-Bl7bs07Z.png" new file mode 100644 index 0000000000..0bf6aa46f8 Binary files /dev/null and "b/assets/image-word-\347\274\226\350\276\221\345\274\225\346\226\207-Bl7bs07Z.png" differ diff --git "a/assets/image-word\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271\347\252\227\346\240\274-DO4j7jAv.png" "b/assets/image-word\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271\347\252\227\346\240\274-DO4j7jAv.png" new file mode 100644 index 0000000000..9b3a026f7e Binary files /dev/null and "b/assets/image-word\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271\347\252\227\346\240\274-DO4j7jAv.png" differ diff --git a/assets/image-wps-plugin-ui-C-dJZnzZ.png b/assets/image-wps-plugin-ui-C-dJZnzZ.png new file mode 100644 index 0000000000..ee114e19c0 Binary files /dev/null and b/assets/image-wps-plugin-ui-C-dJZnzZ.png differ diff --git a/assets/image-wps-plugin-ui-buttons-J2woh0G8.png b/assets/image-wps-plugin-ui-buttons-J2woh0G8.png new file mode 100644 index 0000000000..af5cb19425 Binary files /dev/null and b/assets/image-wps-plugin-ui-buttons-J2woh0G8.png differ diff --git a/assets/image-wps-success-C--IbKnF.png b/assets/image-wps-success-C--IbKnF.png new file mode 100644 index 0000000000..f540beb0c2 Binary files /dev/null and b/assets/image-wps-success-C--IbKnF.png differ diff --git a/assets/image-wps-vba-plugin-install-path-CmrLkXqB.png b/assets/image-wps-vba-plugin-install-path-CmrLkXqB.png new file mode 100644 index 0000000000..d41378a8a7 Binary files /dev/null and b/assets/image-wps-vba-plugin-install-path-CmrLkXqB.png differ diff --git a/assets/image-wps-warn1-IzjfZXl5.png b/assets/image-wps-warn1-IzjfZXl5.png new file mode 100644 index 0000000000..6c60bb5aac Binary files /dev/null and b/assets/image-wps-warn1-IzjfZXl5.png differ diff --git a/assets/image-wps-warn2-DLyQGO3s.png b/assets/image-wps-warn2-DLyQGO3s.png new file mode 100644 index 0000000000..fa2b59baf0 Binary files /dev/null and b/assets/image-wps-warn2-DLyQGO3s.png differ diff --git "a/assets/image-wps-\346\262\241\346\234\211\346\230\276\347\244\272\345\212\240\350\275\275\351\241\271-CQ3pCDYn.png" "b/assets/image-wps-\346\262\241\346\234\211\346\230\276\347\244\272\345\212\240\350\275\275\351\241\271-CQ3pCDYn.png" new file mode 100644 index 0000000000..173c5296d7 Binary files /dev/null and "b/assets/image-wps-\346\262\241\346\234\211\346\230\276\347\244\272\345\212\240\350\275\275\351\241\271-CQ3pCDYn.png" differ diff --git a/assets/image-zoo-download-pdf-DUkQD3U2.png b/assets/image-zoo-download-pdf-DUkQD3U2.png new file mode 100644 index 0000000000..ce8957333e Binary files /dev/null and b/assets/image-zoo-download-pdf-DUkQD3U2.png differ diff --git "a/assets/image-zoo-webdav\350\256\276\347\275\256-DTK-wpCI.png" "b/assets/image-zoo-webdav\350\256\276\347\275\256-DTK-wpCI.png" new file mode 100644 index 0000000000..3e9c68b68c Binary files /dev/null and "b/assets/image-zoo-webdav\350\256\276\347\275\256-DTK-wpCI.png" differ diff --git "a/assets/image-zoo\345\212\240\350\275\275\346\225\260\346\215\256-ClLJ0wzm.png" "b/assets/image-zoo\345\212\240\350\275\275\346\225\260\346\215\256-ClLJ0wzm.png" new file mode 100644 index 0000000000..bac7133a54 Binary files /dev/null and "b/assets/image-zoo\345\212\240\350\275\275\346\225\260\346\215\256-ClLJ0wzm.png" differ diff --git "a/assets/image-zoo\346\267\273\345\212\240zotero\345\257\206\351\222\245-BXKCICsM.png" "b/assets/image-zoo\346\267\273\345\212\240zotero\345\257\206\351\222\245-BXKCICsM.png" new file mode 100644 index 0000000000..4de6afc293 Binary files /dev/null and "b/assets/image-zoo\346\267\273\345\212\240zotero\345\257\206\351\222\245-BXKCICsM.png" differ diff --git a/assets/image-zotero-about-zotero-DzGzl_rf.png b/assets/image-zotero-about-zotero-DzGzl_rf.png new file mode 100644 index 0000000000..ec6d16e934 Binary files /dev/null and b/assets/image-zotero-about-zotero-DzGzl_rf.png differ diff --git a/assets/image-zotero-addon-manager-BVqxAIAu.png b/assets/image-zotero-addon-manager-BVqxAIAu.png new file mode 100644 index 0000000000..ed7b8c660a Binary files /dev/null and b/assets/image-zotero-addon-manager-BVqxAIAu.png differ diff --git a/assets/image-zotero-findPDFs_resolvers-rxOmun_y.png b/assets/image-zotero-findPDFs_resolvers-rxOmun_y.png new file mode 100644 index 0000000000..728793aba6 Binary files /dev/null and b/assets/image-zotero-findPDFs_resolvers-rxOmun_y.png differ diff --git a/assets/image-zotero-group-new-group-DNXcpz6A.png b/assets/image-zotero-group-new-group-DNXcpz6A.png new file mode 100644 index 0000000000..de71b697c3 Binary files /dev/null and b/assets/image-zotero-group-new-group-DNXcpz6A.png differ diff --git a/assets/image-zotero-layers.acceleration.disabled-BRMAckgp.png b/assets/image-zotero-layers.acceleration.disabled-BRMAckgp.png new file mode 100644 index 0000000000..ed2d1e965f Binary files /dev/null and b/assets/image-zotero-layers.acceleration.disabled-BRMAckgp.png differ diff --git a/assets/image-zotero-plugin-install-_Yu20YEf.png b/assets/image-zotero-plugin-install-_Yu20YEf.png new file mode 100644 index 0000000000..1854c99291 Binary files /dev/null and b/assets/image-zotero-plugin-install-_Yu20YEf.png differ diff --git a/assets/image-zotero-plugin-update-ClSd5oV6.png b/assets/image-zotero-plugin-update-ClSd5oV6.png new file mode 100644 index 0000000000..61f85ea06a Binary files /dev/null and b/assets/image-zotero-plugin-update-ClSd5oV6.png differ diff --git a/assets/image-zotero-scihub-D2xc2hOl.png b/assets/image-zotero-scihub-D2xc2hOl.png new file mode 100644 index 0000000000..ec1fdd1fcb Binary files /dev/null and b/assets/image-zotero-scihub-D2xc2hOl.png differ diff --git "a/assets/image-zotero-webdav\347\275\221\345\235\200\350\256\276\347\275\256-tAYbsHFs.png" "b/assets/image-zotero-webdav\347\275\221\345\235\200\350\256\276\347\275\256-tAYbsHFs.png" new file mode 100644 index 0000000000..a4392cab5b Binary files /dev/null and "b/assets/image-zotero-webdav\347\275\221\345\235\200\350\256\276\347\275\256-tAYbsHFs.png" differ diff --git "a/assets/image-zotero-\344\277\256\346\224\271font.name-list.emoji-B8w8U35Q.png" "b/assets/image-zotero-\344\277\256\346\224\271font.name-list.emoji-B8w8U35Q.png" new file mode 100644 index 0000000000..09c8249ac5 Binary files /dev/null and "b/assets/image-zotero-\344\277\256\346\224\271font.name-list.emoji-B8w8U35Q.png" differ diff --git "a/assets/image-zotero-\345\210\233\345\273\272\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-CE1eIAEs.png" "b/assets/image-zotero-\345\210\233\345\273\272\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-CE1eIAEs.png" new file mode 100644 index 0000000000..361c8dad84 Binary files /dev/null and "b/assets/image-zotero-\345\210\233\345\273\272\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-CE1eIAEs.png" differ diff --git "a/assets/image-zotero-\345\220\214\346\255\245\345\233\276\346\240\207-CYfomLfU.png" "b/assets/image-zotero-\345\220\214\346\255\245\345\233\276\346\240\207-CYfomLfU.png" new file mode 100644 index 0000000000..236e856774 Binary files /dev/null and "b/assets/image-zotero-\345\220\214\346\255\245\345\233\276\346\240\207-CYfomLfU.png" differ diff --git "a/assets/image-zotero-\345\256\211\350\243\205\346\234\254\345\234\260\345\274\225\346\226\207\346\240\274\345\274\217-Dp-uxucw.png" "b/assets/image-zotero-\345\256\211\350\243\205\346\234\254\345\234\260\345\274\225\346\226\207\346\240\274\345\274\217-Dp-uxucw.png" new file mode 100644 index 0000000000..79294269c9 Binary files /dev/null and "b/assets/image-zotero-\345\256\211\350\243\205\346\234\254\345\234\260\345\274\225\346\226\207\346\240\274\345\274\217-Dp-uxucw.png" differ diff --git "a/assets/image-zotero-\345\256\230\346\226\271\345\274\225\346\226\207\346\240\274\345\274\217-DYOVe2mf.png" "b/assets/image-zotero-\345\256\230\346\226\271\345\274\225\346\226\207\346\240\274\345\274\217-DYOVe2mf.png" new file mode 100644 index 0000000000..0d5930b88b Binary files /dev/null and "b/assets/image-zotero-\345\256\230\346\226\271\345\274\225\346\226\207\346\240\274\345\274\217-DYOVe2mf.png" differ diff --git "a/assets/image-zotero-\345\270\220\345\217\267\347\231\273\351\231\206-Cb1agxj9.png" "b/assets/image-zotero-\345\270\220\345\217\267\347\231\273\351\231\206-Cb1agxj9.png" new file mode 100644 index 0000000000..b357e5ddb4 Binary files /dev/null and "b/assets/image-zotero-\345\270\220\345\217\267\347\231\273\351\231\206-Cb1agxj9.png" differ diff --git "a/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275-Ch1rdHuq.png" "b/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275-Ch1rdHuq.png" new file mode 100644 index 0000000000..f39b9784bd Binary files /dev/null and "b/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275-Ch1rdHuq.png" differ diff --git "a/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\347\256\241\347\220\206-jiz3z4uy.png" "b/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\347\256\241\347\220\206-jiz3z4uy.png" new file mode 100644 index 0000000000..b1c1d652a2 Binary files /dev/null and "b/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\347\256\241\347\220\206-jiz3z4uy.png" differ diff --git "a/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251-5QGn1TLl.png" "b/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251-5QGn1TLl.png" new file mode 100644 index 0000000000..bf72825d9c Binary files /dev/null and "b/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251-5QGn1TLl.png" differ diff --git "a/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251-Uja8OZxC.js" "b/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251-Uja8OZxC.js" new file mode 100644 index 0000000000..f01c8fe010 --- /dev/null +++ "b/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251-Uja8OZxC.js" @@ -0,0 +1 @@ +const s="/assets/image-zotero-编辑器-DSl04uzc.png",o="/assets/image-zotero-我同意承担风险-5QGn1TLl.png";export{s as _,o as a}; diff --git "a/assets/image-zotero-\346\217\222\344\273\266\345\256\211\350\243\205\345\244\261\350\264\245-BZaJA_AX.png" "b/assets/image-zotero-\346\217\222\344\273\266\345\256\211\350\243\205\345\244\261\350\264\245-BZaJA_AX.png" new file mode 100644 index 0000000000..fe0f264087 Binary files /dev/null and "b/assets/image-zotero-\346\217\222\344\273\266\345\256\211\350\243\205\345\244\261\350\264\245-BZaJA_AX.png" differ diff --git "a/assets/image-zotero-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256-B7Gitgiu.png" "b/assets/image-zotero-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256-B7Gitgiu.png" new file mode 100644 index 0000000000..c24c3292f4 Binary files /dev/null and "b/assets/image-zotero-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256-B7Gitgiu.png" differ diff --git "a/assets/image-zotero-\347\231\273\351\231\206webdav\350\264\246\346\210\267-xLfW-1HO.png" "b/assets/image-zotero-\347\231\273\351\231\206webdav\350\264\246\346\210\267-xLfW-1HO.png" new file mode 100644 index 0000000000..d30630d949 Binary files /dev/null and "b/assets/image-zotero-\347\231\273\351\231\206webdav\350\264\246\346\210\267-xLfW-1HO.png" differ diff --git "a/assets/image-zotero-\347\246\201\347\224\250\346\217\222\344\273\266-Dy4FbIr-.png" "b/assets/image-zotero-\347\246\201\347\224\250\346\217\222\344\273\266-Dy4FbIr-.png" new file mode 100644 index 0000000000..69ef751163 Binary files /dev/null and "b/assets/image-zotero-\347\246\201\347\224\250\346\217\222\344\273\266-Dy4FbIr-.png" differ diff --git "a/assets/image-zotero-\347\274\226\350\276\221\345\231\250-DSl04uzc.png" "b/assets/image-zotero-\347\274\226\350\276\221\345\231\250-DSl04uzc.png" new file mode 100644 index 0000000000..f8dd8c3b99 Binary files /dev/null and "b/assets/image-zotero-\347\274\226\350\276\221\345\231\250-DSl04uzc.png" differ diff --git "a/assets/image-zotero-\350\216\267\345\217\226\346\233\264\345\244\232\345\274\225\346\226\207\346\240\274\345\274\217-CgEDJ1UB.png" "b/assets/image-zotero-\350\216\267\345\217\226\346\233\264\345\244\232\345\274\225\346\226\207\346\240\274\345\274\217-CgEDJ1UB.png" new file mode 100644 index 0000000000..42c66e21f5 Binary files /dev/null and "b/assets/image-zotero-\350\216\267\345\217\226\346\233\264\345\244\232\345\274\225\346\226\207\346\240\274\345\274\217-CgEDJ1UB.png" differ diff --git "a/assets/image-zotero-\351\200\200\345\207\272\350\264\246\346\210\267-gkXWYw72.png" "b/assets/image-zotero-\351\200\200\345\207\272\350\264\246\346\210\267-gkXWYw72.png" new file mode 100644 index 0000000000..fd478272bb Binary files /dev/null and "b/assets/image-zotero-\351\200\200\345\207\272\350\264\246\346\210\267-gkXWYw72.png" differ diff --git "a/assets/image-zotero-\351\200\211\346\213\251\345\217\202\350\200\203\346\226\207\347\214\256-CVDXPxnh.png" "b/assets/image-zotero-\351\200\211\346\213\251\345\217\202\350\200\203\346\226\207\347\214\256-CVDXPxnh.png" new file mode 100644 index 0000000000..17b7972b58 Binary files /dev/null and "b/assets/image-zotero-\351\200\211\346\213\251\345\217\202\350\200\203\346\226\207\347\214\256-CVDXPxnh.png" differ diff --git "a/assets/image-zotero-\351\200\211\346\213\251\345\274\225\346\226\207\346\240\274\345\274\217\345\217\212\350\276\223\345\207\272\346\226\271\345\274\217-CMfTQhd1.png" "b/assets/image-zotero-\351\200\211\346\213\251\345\274\225\346\226\207\346\240\274\345\274\217\345\217\212\350\276\223\345\207\272\346\226\271\345\274\217-CMfTQhd1.png" new file mode 100644 index 0000000000..37b984656a Binary files /dev/null and "b/assets/image-zotero-\351\200\211\346\213\251\345\274\225\346\226\207\346\240\274\345\274\217\345\217\212\350\276\223\345\207\272\346\226\271\345\274\217-CMfTQhd1.png" differ diff --git "a/assets/image-zotero-\351\273\221\350\211\262\351\201\256\346\214\241-BHW1udkU.png" "b/assets/image-zotero-\351\273\221\350\211\262\351\201\256\346\214\241-BHW1udkU.png" new file mode 100644 index 0000000000..644e4a7fbf Binary files /dev/null and "b/assets/image-zotero-\351\273\221\350\211\262\351\201\256\346\214\241-BHW1udkU.png" differ diff --git "a/assets/image-zotero\345\256\230\346\226\271-\346\217\222\345\205\245\345\274\225\346\226\207-BIx18Sy8.png" "b/assets/image-zotero\345\256\230\346\226\271-\346\217\222\345\205\245\345\274\225\346\226\207-BIx18Sy8.png" new file mode 100644 index 0000000000..4374501a1c Binary files /dev/null and "b/assets/image-zotero\345\256\230\346\226\271-\346\217\222\345\205\245\345\274\225\346\226\207-BIx18Sy8.png" differ diff --git "a/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-connector-16jz9LPk.png" "b/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-connector-16jz9LPk.png" new file mode 100644 index 0000000000..a4a17b24d2 Binary files /dev/null and "b/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-connector-16jz9LPk.png" differ diff --git "a/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-\347\256\241\347\220\206\346\235\241\347\233\256-Cc8iY7IM.png" "b/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-\347\256\241\347\220\206\346\235\241\347\233\256-Cc8iY7IM.png" new file mode 100644 index 0000000000..ee31626ea7 Binary files /dev/null and "b/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-\347\256\241\347\220\206\346\235\241\347\233\256-Cc8iY7IM.png" differ diff --git "a/assets/image-\344\270\213\350\275\275Zotero-DXyW7SCZ.png" "b/assets/image-\344\270\213\350\275\275Zotero-DXyW7SCZ.png" new file mode 100644 index 0000000000..6e3c3fe238 Binary files /dev/null and "b/assets/image-\344\270\213\350\275\275Zotero-DXyW7SCZ.png" differ diff --git "a/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\345\257\274\345\205\245\346\235\241\347\233\256-DbWOhe5P.png" "b/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\345\257\274\345\205\245\346\235\241\347\233\256-DbWOhe5P.png" new file mode 100644 index 0000000000..ee8f294d8b Binary files /dev/null and "b/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\345\257\274\345\205\245\346\235\241\347\233\256-DbWOhe5P.png" differ diff --git "a/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\346\267\273\345\212\240\346\235\241\347\233\256-\345\257\271\350\257\235\346\241\206-D7DUdzJX.png" "b/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\346\267\273\345\212\240\346\235\241\347\233\256-\345\257\271\350\257\235\346\241\206-D7DUdzJX.png" new file mode 100644 index 0000000000..d007362c78 Binary files /dev/null and "b/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\346\267\273\345\212\240\346\235\241\347\233\256-\345\257\271\350\257\235\346\241\206-D7DUdzJX.png" differ diff --git "a/assets/image-\344\275\277\347\224\250\345\205\263\351\224\256\350\257\215\345\222\214\346\240\207\351\242\230\350\207\252\345\212\250\347\273\231\346\235\241\347\233\256\346\267\273\345\212\240\346\240\207\347\255\276-Btk-s_U4.png" "b/assets/image-\344\275\277\347\224\250\345\205\263\351\224\256\350\257\215\345\222\214\346\240\207\351\242\230\350\207\252\345\212\250\347\273\231\346\235\241\347\233\256\346\267\273\345\212\240\346\240\207\347\255\276-Btk-s_U4.png" new file mode 100644 index 0000000000..e678fb7bd9 Binary files /dev/null and "b/assets/image-\344\275\277\347\224\250\345\205\263\351\224\256\350\257\215\345\222\214\346\240\207\351\242\230\350\207\252\345\212\250\347\273\231\346\235\241\347\233\256\346\267\273\345\212\240\346\240\207\347\255\276-Btk-s_U4.png" differ diff --git "a/assets/image-\344\275\277\347\224\250\346\240\207\350\257\206\347\254\246\345\257\274\345\205\245\346\235\241\347\233\256-CmqyxjZP.png" "b/assets/image-\344\275\277\347\224\250\346\240\207\350\257\206\347\254\246\345\257\274\345\205\245\346\235\241\347\233\256-CmqyxjZP.png" new file mode 100644 index 0000000000..85f55c6034 Binary files /dev/null and "b/assets/image-\344\275\277\347\224\250\346\240\207\350\257\206\347\254\246\345\257\274\345\205\245\346\235\241\347\233\256-CmqyxjZP.png" differ diff --git "a/assets/image-\344\275\277\347\224\250\347\273\217\345\205\270\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-BLBJd0ON.png" "b/assets/image-\344\275\277\347\224\250\347\273\217\345\205\270\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-BLBJd0ON.png" new file mode 100644 index 0000000000..498178fc49 Binary files /dev/null and "b/assets/image-\344\275\277\347\224\250\347\273\217\345\205\270\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-BLBJd0ON.png" differ diff --git "a/assets/image-\345\210\240\351\231\244\350\207\252\345\212\250\346\240\207\347\255\276-BiYf5qrL.png" "b/assets/image-\345\210\240\351\231\244\350\207\252\345\212\250\346\240\207\347\255\276-BiYf5qrL.png" new file mode 100644 index 0000000000..cf17def1b3 Binary files /dev/null and "b/assets/image-\345\210\240\351\231\244\350\207\252\345\212\250\346\240\207\347\255\276-BiYf5qrL.png" differ diff --git "a/assets/image-\345\220\210\345\271\266\351\207\215\345\244\215\346\235\241\347\233\256-BJZ36HBP.png" "b/assets/image-\345\220\210\345\271\266\351\207\215\345\244\215\346\235\241\347\233\256-BJZ36HBP.png" new file mode 100644 index 0000000000..6797d2894f Binary files /dev/null and "b/assets/image-\345\220\210\345\271\266\351\207\215\345\244\215\346\235\241\347\233\256-BJZ36HBP.png" differ diff --git "a/assets/image-\345\233\236\346\224\266\347\253\231-DxakLr9u.png" "b/assets/image-\345\233\236\346\224\266\347\253\231-DxakLr9u.png" new file mode 100644 index 0000000000..4dd16bf855 Binary files /dev/null and "b/assets/image-\345\233\236\346\224\266\347\253\231-DxakLr9u.png" differ diff --git "a/assets/image-\345\235\232\346\236\234\344\272\221-\346\267\273\345\212\240\345\272\224\347\224\250-CF4_T-X_.png" "b/assets/image-\345\235\232\346\236\234\344\272\221-\346\267\273\345\212\240\345\272\224\347\224\250-CF4_T-X_.png" new file mode 100644 index 0000000000..0025ca01de Binary files /dev/null and "b/assets/image-\345\235\232\346\236\234\344\272\221-\346\267\273\345\212\240\345\272\224\347\224\250-CF4_T-X_.png" differ diff --git "a/assets/image-\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217-BV9yY2uh.png" "b/assets/image-\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217-BV9yY2uh.png" new file mode 100644 index 0000000000..119ce4ab8a Binary files /dev/null and "b/assets/image-\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217-BV9yY2uh.png" differ diff --git "a/assets/image-\345\257\274\345\207\272\347\254\224\350\256\260-DwNJnySX.png" "b/assets/image-\345\257\274\345\207\272\347\254\224\350\256\260-DwNJnySX.png" new file mode 100644 index 0000000000..2f339bc041 Binary files /dev/null and "b/assets/image-\345\257\274\345\207\272\347\254\224\350\256\260-DwNJnySX.png" differ diff --git "a/assets/image-\346\211\213\345\212\250\345\234\250github\344\270\213\350\275\275translators-CHFNpTKL.png" "b/assets/image-\346\211\213\345\212\250\345\234\250github\344\270\213\350\275\275translators-CHFNpTKL.png" new file mode 100644 index 0000000000..bec5b652e5 Binary files /dev/null and "b/assets/image-\346\211\213\345\212\250\345\234\250github\344\270\213\350\275\275translators-CHFNpTKL.png" differ diff --git "a/assets/image-\346\211\213\345\212\250\346\233\264\346\226\260translators-CoxIixHB.png" "b/assets/image-\346\211\213\345\212\250\346\233\264\346\226\260translators-CoxIixHB.png" new file mode 100644 index 0000000000..05c45a612b Binary files /dev/null and "b/assets/image-\346\211\213\345\212\250\346\233\264\346\226\260translators-CoxIixHB.png" differ diff --git "a/assets/image-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256translators\346\226\207\344\273\266\345\244\271-CDP8itE-.png" "b/assets/image-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256translators\346\226\207\344\273\266\345\244\271-CDP8itE-.png" new file mode 100644 index 0000000000..89d1f5d205 Binary files /dev/null and "b/assets/image-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256translators\346\226\207\344\273\266\345\244\271-CDP8itE-.png" differ diff --git "a/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206-\350\217\234\345\215\225-BR88IMwx.png" "b/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206-\350\217\234\345\215\225-BR88IMwx.png" new file mode 100644 index 0000000000..f66c98d389 Binary files /dev/null and "b/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206-\350\217\234\345\215\225-BR88IMwx.png" differ diff --git "a/assets/image-\346\226\260\345\273\272\345\255\220\345\220\210\351\233\206-Blwz3kC6.png" "b/assets/image-\346\226\260\345\273\272\345\255\220\345\220\210\351\233\206-Blwz3kC6.png" new file mode 100644 index 0000000000..70456486f3 Binary files /dev/null and "b/assets/image-\346\226\260\345\273\272\345\255\220\345\220\210\351\233\206-Blwz3kC6.png" differ diff --git "a/assets/image-\346\226\260\345\273\272\347\254\224\350\256\260-Dj_42NBl.png" "b/assets/image-\346\226\260\345\273\272\347\254\224\350\256\260-Dj_42NBl.png" new file mode 100644 index 0000000000..b830b86900 Binary files /dev/null and "b/assets/image-\346\226\260\345\273\272\347\254\224\350\256\260-Dj_42NBl.png" differ diff --git "a/assets/image-\346\230\276\347\244\272\345\255\220\351\233\206\345\220\210\344\270\255\347\232\204\346\235\241\347\233\256-DK4Aoo50.png" "b/assets/image-\346\230\276\347\244\272\345\255\220\351\233\206\345\220\210\344\270\255\347\232\204\346\235\241\347\233\256-DK4Aoo50.png" new file mode 100644 index 0000000000..405699a043 Binary files /dev/null and "b/assets/image-\346\230\276\347\244\272\345\255\220\351\233\206\345\220\210\344\270\255\347\232\204\346\235\241\347\233\256-DK4Aoo50.png" differ diff --git "a/assets/image-\346\240\207\347\255\276-qqVEuVah.png" "b/assets/image-\346\240\207\347\255\276-qqVEuVah.png" new file mode 100644 index 0000000000..915ef2940e Binary files /dev/null and "b/assets/image-\346\240\207\347\255\276-qqVEuVah.png" differ diff --git "a/assets/image-\346\240\207\347\255\276-\346\230\237\346\240\207\346\210\226\351\242\234\350\211\262-Cl8oEdjb.png" "b/assets/image-\346\240\207\347\255\276-\346\230\237\346\240\207\346\210\226\351\242\234\350\211\262-Cl8oEdjb.png" new file mode 100644 index 0000000000..4e35c29eab Binary files /dev/null and "b/assets/image-\346\240\207\347\255\276-\346\230\237\346\240\207\346\210\226\351\242\234\350\211\262-Cl8oEdjb.png" differ diff --git "a/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274-9mp9SlX8.png" "b/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274-9mp9SlX8.png" new file mode 100644 index 0000000000..8ddfaed828 Binary files /dev/null and "b/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274-9mp9SlX8.png" differ diff --git "a/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274-QIW-yYVb.js" "b/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274-QIW-yYVb.js" new file mode 100644 index 0000000000..67494fb306 --- /dev/null +++ "b/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274-QIW-yYVb.js" @@ -0,0 +1 @@ +const s="/assets/image-添加条目后信息窗格-9mp9SlX8.png";export{s as _}; diff --git "a/assets/image-\346\267\273\345\212\240\346\240\207\347\255\276-\346\267\273\345\212\240\351\242\234\350\211\262-Bwr9gLuh.png" "b/assets/image-\346\267\273\345\212\240\346\240\207\347\255\276-\346\267\273\345\212\240\351\242\234\350\211\262-Bwr9gLuh.png" new file mode 100644 index 0000000000..769db66281 Binary files /dev/null and "b/assets/image-\346\267\273\345\212\240\346\240\207\347\255\276-\346\267\273\345\212\240\351\242\234\350\211\262-Bwr9gLuh.png" differ diff --git "a/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260-DHXvXsPc.png" "b/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260-DHXvXsPc.png" new file mode 100644 index 0000000000..35425f83ea Binary files /dev/null and "b/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260-DHXvXsPc.png" differ diff --git "a/assets/image-\346\267\273\345\212\240\347\254\224\350\256\2603-2bBRrFUH.png" "b/assets/image-\346\267\273\345\212\240\347\254\224\350\256\2603-2bBRrFUH.png" new file mode 100644 index 0000000000..2beeac2c08 Binary files /dev/null and "b/assets/image-\346\267\273\345\212\240\347\254\224\350\256\2603-2bBRrFUH.png" differ diff --git "a/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260\350\217\234\345\215\225-oSwpAzYe.png" "b/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260\350\217\234\345\215\225-oSwpAzYe.png" new file mode 100644 index 0000000000..c6f697bbec Binary files /dev/null and "b/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260\350\217\234\345\215\225-oSwpAzYe.png" differ diff --git "a/assets/image-\346\267\273\345\212\240\351\231\204\344\273\266-r7jZsZwd.png" "b/assets/image-\346\267\273\345\212\240\351\231\204\344\273\266-r7jZsZwd.png" new file mode 100644 index 0000000000..1afc497251 Binary files /dev/null and "b/assets/image-\346\267\273\345\212\240\351\231\204\344\273\266-r7jZsZwd.png" differ diff --git "a/assets/image-\347\233\256\346\240\207zotero\347\211\210\346\234\254-DjO7QFfQ.png" "b/assets/image-\347\233\256\346\240\207zotero\347\211\210\346\234\254-DjO7QFfQ.png" new file mode 100644 index 0000000000..4057f20c05 Binary files /dev/null and "b/assets/image-\347\233\256\346\240\207zotero\347\211\210\346\234\254-DjO7QFfQ.png" differ diff --git "a/assets/image-\347\241\256\350\256\244\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217-7rQjf4cA.png" "b/assets/image-\347\241\256\350\256\244\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217-7rQjf4cA.png" new file mode 100644 index 0000000000..143b73ff26 Binary files /dev/null and "b/assets/image-\347\241\256\350\256\244\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217-7rQjf4cA.png" differ diff --git "a/assets/image-\347\262\230\350\264\264\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-D9ifj3pL.png" "b/assets/image-\347\262\230\350\264\264\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-D9ifj3pL.png" new file mode 100644 index 0000000000..d34f2827c8 Binary files /dev/null and "b/assets/image-\347\262\230\350\264\264\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-D9ifj3pL.png" differ diff --git "a/assets/image-\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\346\262\241\346\234\211\345\217\215\345\272\224-DkqrPovF.png" "b/assets/image-\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\346\262\241\346\234\211\345\217\215\345\272\224-DkqrPovF.png" new file mode 100644 index 0000000000..1adfbdcd8a Binary files /dev/null and "b/assets/image-\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\346\262\241\346\234\211\345\217\215\345\272\224-DkqrPovF.png" differ diff --git "a/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\345\256\211\350\243\205\346\217\222\344\273\266-BfH5l-LY.png" "b/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\345\256\211\350\243\205\346\217\222\344\273\266-BfH5l-LY.png" new file mode 100644 index 0000000000..93309d14f7 Binary files /dev/null and "b/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\345\256\211\350\243\205\346\217\222\344\273\266-BfH5l-LY.png" differ diff --git "a/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\346\217\220\344\272\244\345\271\266\346\216\250\351\200\201-iKCGK_CV.png" "b/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\346\217\220\344\272\244\345\271\266\346\216\250\351\200\201-iKCGK_CV.png" new file mode 100644 index 0000000000..1e592cf1ab Binary files /dev/null and "b/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\346\217\220\344\272\244\345\271\266\346\216\250\351\200\201-iKCGK_CV.png" differ diff --git "a/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\350\277\233\350\241\214\345\257\271\345\272\224\347\232\204\346\233\264\346\224\271-BUlDah0R.png" "b/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\350\277\233\350\241\214\345\257\271\345\272\224\347\232\204\346\233\264\346\224\271-BUlDah0R.png" new file mode 100644 index 0000000000..cbae9c9144 Binary files /dev/null and "b/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\350\277\233\350\241\214\345\257\271\345\272\224\347\232\204\346\233\264\346\224\271-BUlDah0R.png" differ diff --git "a/assets/image-\351\200\211\346\213\251\346\240\207\347\255\276\351\242\234\350\211\262\345\217\212\344\275\215\347\275\256-D-Lynmwo.png" "b/assets/image-\351\200\211\346\213\251\346\240\207\347\255\276\351\242\234\350\211\262\345\217\212\344\275\215\347\275\256-D-Lynmwo.png" new file mode 100644 index 0000000000..9dccf8668e Binary files /dev/null and "b/assets/image-\351\200\211\346\213\251\346\240\207\347\255\276\351\242\234\350\211\262\345\217\212\344\275\215\347\275\256-D-Lynmwo.png" differ diff --git "a/assets/image-\351\224\256\345\205\245\345\206\205\345\256\271\346\233\277\346\215\242\346\211\200\351\200\211\346\226\207\345\255\227-BGGt-rrv.png" "b/assets/image-\351\224\256\345\205\245\345\206\205\345\256\271\346\233\277\346\215\242\346\211\200\351\200\211\346\226\207\345\255\227-BGGt-rrv.png" new file mode 100644 index 0000000000..d70aff1309 Binary files /dev/null and "b/assets/image-\351\224\256\345\205\245\345\206\205\345\256\271\346\233\277\346\215\242\346\211\200\351\200\211\346\226\207\345\255\227-BGGt-rrv.png" differ diff --git "a/assets/image-\351\246\226\351\241\265\345\267\246\344\270\213\350\247\222\346\240\207\347\255\276\345\214\272\345\237\237-DY2C13Kx.png" "b/assets/image-\351\246\226\351\241\265\345\267\246\344\270\213\350\247\222\346\240\207\347\255\276\345\214\272\345\237\237-DY2C13Kx.png" new file mode 100644 index 0000000000..57e2430c98 Binary files /dev/null and "b/assets/image-\351\246\226\351\241\265\345\267\246\344\270\213\350\247\222\346\240\207\347\255\276\345\214\272\345\237\237-DY2C13Kx.png" differ diff --git a/assets/image/advanced.svg b/assets/image/advanced.svg new file mode 100644 index 0000000000..c27ede597a --- /dev/null +++ b/assets/image/advanced.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/image/blog.svg b/assets/image/blog.svg new file mode 100644 index 0000000000..00fc40d792 --- /dev/null +++ b/assets/image/blog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/image/features.svg b/assets/image/features.svg new file mode 100644 index 0000000000..6d62739369 --- /dev/null +++ b/assets/image/features.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/image/layout.svg b/assets/image/layout.svg new file mode 100644 index 0000000000..da754b58be --- /dev/null +++ b/assets/image/layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/import-from-other-software.html-BqAHq_Q3.js b/assets/import-from-other-software.html-BqAHq_Q3.js new file mode 100644 index 0000000000..dedbe30076 --- /dev/null +++ b/assets/import-from-other-software.html-BqAHq_Q3.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as s,c as p,a as e,b as t,d as r,e as n}from"./app-pLjDz5vt.js";const l="/assets/endnote-menu-DNMrSFIs.png",g="/assets/endnote-save-cKJm0jOn.png",d="/assets/endnote-export-CYOaIhel.png",c="/assets/endnote-xml-Bs8i-ouG.png",f="/assets/endnote-toxml-OaSRAr9l.png",m="/assets/endnote-zotero-import-B8aMWOUS.png",_="/assets/endnote-zotero-import-option-ChllamkQ.png",u="/assets/endnote-xml-open-BriKrTCB.png",h="/assets/endnote-zotero-import-option2-CMI_wI2H.png",b="/assets/endnote-zotero-succ-DY__eD2b.png",w="/assets/endnote-zotero-caution-CC4zYjTY.png",x="/assets/word-export-folder-CLhH8JY4.png",y="/assets/word-finder-path-Bdiprv8S.png",z="/assets/word-copy-bib-C_1KlHb1.png",E="/assets/word-export-reference-VkeoNtOh.png",k="/assets/word-export-reference-format-Bsjs_Y70.png",C="/assets/word-export-reference-copy-VVU4VOQQ.png",M="/assets/word-zotero-import-C5576fXQ.png",Z="/assets/word-zotero-succ-BDwpIY4f.png",R={},v=n('

    从其他软件导入条目

    从 Endnote 导入

    1、复制要导出的文献到新库(New library)

    注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件
    打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Reference To】=>【New Library...】

    Endnote菜单
    Endnote菜单

    如下图示,在弹出来的文件浏览器页面选择一个容易找到的文件夹(以桌面为例,图中步骤 ①),接着自定义库的名称(后续导入 Zotero 内成为一个新文件夹默认使用该名称,图中步骤 ② 以test为例),点击【Save】

    Endnote输出目录
    Endnote输出目录

    Endnote 内打开保存的新库,点击左上角工具栏【File】=>【Export】

    Endnote导出
    Endnote导出

    2、导出 Endnote 题录和附件

    如下图所示,在弹出的窗口选择1、复制要导出的文献到新库中所保存的新库目录(也可以找到默认目录,该目录下包含“PDF”、“sdb”),但请不要选择“PDF”/“sdb”这两个子目录!!!
    图中 ② 处请选择 XML 格式,然后点击保存,test.data 文件夹下将会出现一个后缀名为 xml 的文件。

    Endnote XML
    Endnote XML
    Endnote 选择XML格式
    Endnote 选择XML格式

    3、导入 Zotero

    打开 Zotero,在左上角工具栏选择【文件】=>【导入...】

    Zotero 菜单
    Zotero 菜单

    如下图示,在弹出的 import 窗口界面选择【A file(BibTex,RIS,Zotero RDF,etc.)】,点击继续

    Zotero导入选项
    Zotero导入选项

    在弹出的文件浏览器界面选择步骤2、导出 Endnote 题录和附件中保存的 xml 文件,点击【Open】

    选择文件
    选择文件

    在弹出的 import 界面中如下图选择以下两个选项,将导入的题录单独放在一个文件夹,然后将条目的 PDF 附件也导入到 Zotero 的存储文件夹中,便于 Zotero 同步(否则只是存储文件链接,在其他设备打不开附件),最后点击【继续】。

    Zotero导入向导第二步
    Zotero导入向导第二步

    如下图所示,Endnote 的题录和附件则导入成功。

    Zotero 导入完成
    Zotero 导入完成

    请注意,如下图示,如果 Zotero 在 EndNote XML 数据中遇到它不支持的任何字段(例如,自定义字段、作者地址、作者隶属关系),它会将这些数据添加到附加到导入项目的注释笔记中。这些注释将标记为“_EndnoteXML 导入”。如果导入增加了许多这些注释笔记,Zotero 的性能可能会受到负面影响。您应该查看其中每个注释,以确定是否需要保留数据并删除任何不必要的注释笔记。此外,还应检查这些注释笔记,以确定是否可以将任何数据迁移到正确的 Zotero 字段(如果以非标准方式使用 EndNote 字段,这一点尤其重要)。

    Zotero导入非标字段
    Zotero导入非标字段

    从 Microsoft Word 导入

    1、下载 bibtex.xsl 文件

    ',28),B={href:"https://gist.githubusercontent.com/JaimeChavarriaga/40166befb14f2fe5dac390688d9eaf03/raw/faf4aa3f72e553095f81f1440c3dce744c2755a2/bibtex.xsl",target:"_blank",rel:"noopener noreferrer"},L=n('

    2、Word 软件添加 bibtex 样式

    目录如下(详细步骤以 Mac 为例)

    Mac 目录:

    /Applications/Microsoft Word.app/Contents/Resources/Style

    Windows 目录

    Word 2010 for Windows:

    C:\\Program Files\\Microsoft Office\\<Office version>\\Bibliography\\Style

    Word 2016/2019/Office 365 for Windows:

    C:\\Users\\<currentusername>\\AppData\\Roaming\\Microsoft\\Bibliography\\Style

    打开访达,左上角工具栏点击【前往】=>【前往文件夹】

    Word 导出
    Word 导出

    在弹出的窗口粘贴上面提到的 Mac 路径,按 Enter 键

    选择路径
    选择路径

    将下载好的 bibtex.xsl 文件复制到该文件夹下。

    复制bib
    复制bib

    3、Word 引文导出

    打开 Word 文件,如下图中 ① 所示,在选项卡中点击【引用】,紧接着点击图中 ② 所示,切换引文格式

    Word切换引文格式
    Word切换引文格式

    选择“Bibtex Export”

    选择bibtex export
    选择bibtex export

    即可看到文末参考文献列表的引文格式发生了变化,复制下图所示区域的代码到剪切板。

    复制代码
    复制代码

    4、导入 Zotero

    打开 Zotero,在“我的文库”中选择(或新建后选中)一个文件夹,用于存放要导入的文献条目,在左上角工具栏点击【文件】=>【从剪切板导入】

    导入Zotero菜单
    导入Zotero菜单

    即可如下图所示,成功导入 Word 文档中引用的文献。

    导入完成
    导入完成

    其他工具软件

    ',28),W={href:"https://www.zotero.org/support/moving_to_zotero",target:"_blank",rel:"noopener noreferrer"},S={href:"https://www.zotero.org/support/kb/mendeley_import",target:"_blank",rel:"noopener noreferrer"},N={href:"https://www.zotero.org/support/kb/import_from_citavi",target:"_blank",rel:"noopener noreferrer"},O={href:"https://www.zotero.org/support/kb/importing_formatted_bibliographies",target:"_blank",rel:"noopener noreferrer"},D={href:"https://www.zotero.org/support/kb/importing_standardized_formats",target:"_blank",rel:"noopener noreferrer"},T={href:"https://www.zotero.org/support/kb/importing_standardized_formats",target:"_blank",rel:"noopener noreferrer"},X=e("h2",{id:"zotero-支持导入的文件格式",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-支持导入的文件格式"},[e("span",null,"Zotero 支持导入的文件格式")])],-1),I=n("
  • Zotero RDF
  • CSL JSON
  • BibTeX
  • BibLaTeX
  • RIS(Can be convenient for quick edits between export & import because of its simple structure)
  • Bibliontology RDF
  • MODS (Metadata Object Description Schema)
  • Endnote XML(Best format for exporting from Endnote)
  • Citavi XML(Best format for exporting from Citavi)
  • MAB2
  • MARC
  • MARCXML
  • MEDLINE/nbib
  • ",13),F={href:"https://www.lib.whu.edu.cn/sybz/WHU04134Ovid.pdf%EF%BC%89",target:"_blank",rel:"noopener noreferrer"},V=e("li",null,"PubMed XML",-1),P=e("li",null,"RefWorks Tagged(Best format for exporting from RefWorks)",-1),A=e("li",null,"Web of Science Tagged",-1),J=e("li",null,"Refer/BibIX(Generally avoid if any other option is available)",-1),Y=e("li",null,"XML ContextObject",-1),j=e("li",null,"Unqualified Dublin Core RDF",-1),U=e("p",null,"您还可以通过支持【导出上述文件格式的网站或软件】中导入题录到 Zotero,例如 Reference Manager、RefWorks、Papers、Google Scholar Library、ReadCube 等,方法是下载好以上的标准化的参考格式文件,例如 RIS、BibTeX 或 CSL JSON,然后通过单击“文件”→“导入...”导入 Zotero,然后选择“文件”,即可导入 Zotero。",-1);function H(Q,G){const o=a("ExternalLinkIcon");return s(),p("div",null,[v,e("p",null,[t("下载地址:"),e("a",B,[t("https://gist.githubusercontent.com/JaimeChavarriaga/40166befb14f2fe5dac390688d9eaf03/raw/faf4aa3f72e553095f81f1440c3dce744c2755a2/bibtex.xsl"),r(o)])]),L,e("p",null,[t("详细信息请见官方链接:"),e("a",W,[t("https://www.zotero.org/support/moving_to_zotero"),r(o)]),t("。")]),e("ul",null,[e("li",null,[t("Mendeley: "),e("a",S,[t("https://www.zotero.org/support/kb/mendeley_import"),r(o)])]),e("li",null,[t("Citavi: "),e("a",N,[t("https://www.zotero.org/support/kb/import_from_citavi"),r(o)])]),e("li",null,[t("Plain text reference lists: "),e("a",O,[t("https://www.zotero.org/support/kb/importing_formatted_bibliographies"),r(o)])]),e("li",null,[t("Bib(La)TeX: "),e("a",D,[t("https://www.zotero.org/support/kb/importing_standardized_formats"),r(o)])]),e("li",null,[t("JabRef: "),e("a",T,[t("https://www.zotero.org/support/kb/importing_standardized_formats"),r(o)])])]),X,e("ul",null,[I,e("li",null,[t("OVID Tagged(使用教程参考"),e("a",F,[t("https://www.lib.whu.edu.cn/sybz/WHU04134Ovid.pdf)"),r(o)])]),V,P,A,J,Y,j]),U])}const $=i(R,[["render",H],["__file","import-from-other-software.html.vue"]]),ee=JSON.parse('{"path":"/user-guide/import-from-other-software.html","title":"从其他软件导入条目","lang":"zh-CN","frontmatter":{"author":[{"name":"阿狸"}],"icon":"copy","description":"从其他软件导入条目 从 Endnote 导入 1、复制要导出的文献到新库(New library) 注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件。 打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Referen...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/import-from-other-software.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"从其他软件导入条目"}],["meta",{"property":"og:description","content":"从其他软件导入条目 从 Endnote 导入 1、复制要导出的文献到新库(New library) 注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件。 打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Referen..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"阿狸"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"从其他软件导入条目\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"阿狸\\"}]}"]]},"headers":[{"level":2,"title":"从 Endnote 导入","slug":"从-endnote-导入","link":"#从-endnote-导入","children":[]},{"level":2,"title":"从 Microsoft Word 导入","slug":"从-microsoft-word-导入","link":"#从-microsoft-word-导入","children":[]},{"level":2,"title":"其他工具软件","slug":"其他工具软件","link":"#其他工具软件","children":[]},{"level":2,"title":"Zotero 支持导入的文件格式","slug":"zotero-支持导入的文件格式","link":"#zotero-支持导入的文件格式","children":[]}],"git":{"createdTime":1700540666000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1},{"name":"Victor","email":"40191996+wakewon@users.noreply.github.com","commits":1},{"name":"l0o0","email":"linxzh1989@gmail.com","commits":1}]},"readingTime":{"minutes":4.46,"words":1339},"filePathRelative":"user-guide/import-from-other-software.md","localizedDate":"2023年11月21日","autoDesc":true,"excerpt":"\\n

    从 Endnote 导入

    \\n

    1、复制要导出的文献到新库(New library)

    \\n

    注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件
    \\n打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Reference To】=>【New Library...】

    \\n
    Endnote菜单
    "}');export{$ as comp,ee as data}; diff --git a/assets/index-8fae9850-DHonaQ1z.js b/assets/index-8fae9850-DHonaQ1z.js new file mode 100644 index 0000000000..29deef082d --- /dev/null +++ b/assets/index-8fae9850-DHonaQ1z.js @@ -0,0 +1 @@ +import{q as N,G as A}from"./graph-BVvHj2M5.js";import{m as $,l as q}from"./layout-Bq0hvzvr.js";import{c as H}from"./clone-BD0VJlG_.js";import{i as V,u as U,s as W,a as _,b as z,g as D,p as O,c as K,d as Q,e as Y,f as Z,h as J,j as p}from"./edges-d417c7a0-5DZNYhL5.js";import{l as s,c as T,q as S,h as L}from"./mermaid.core-xpSMncQK.js";import{c as I}from"./createText-423428c9-Bj42WdLJ.js";function m(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:tt(e),edges:et(e)};return N(e.graph())||(t.value=H(e.graph())),t}function tt(e){return $(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return N(n)||(i.value=n),N(r)||(i.parent=r),i})}function et(e){return $(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return N(t.name)||(r.name=t.name),N(n)||(r.value=n),r})}let l={},g={},R={};const nt=()=>{g={},R={},l={}},B=(e,t)=>(s.trace("In isDecendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),it=(e,t)=>(s.info("Decendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||B(e.v,t)||B(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in decendants"),!1)),P=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)P(a,t,n,r);else{const d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const u=t.edges(a);s.debug("Copying Edges",u),u.forEach(f=>{s.info("Edge",f);const h=t.edge(f.v,f.w,f.name);s.info("Edge data",h,r);try{it(f,r)?(s.info("Copying as ",f.v,f.w,h,f.name),n.setEdge(f.v,f.w,h,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},k=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)R[i]=e,r=[...r,...k(i,t)];return r},C=(e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const r of n){const i=C(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},X=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,st=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),g[n]=k(n,e),l[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){const d=B(a.v,n),u=B(a.w,n);d^u&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Decendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){const r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){const r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const u=structuredClone(r),f=structuredClone(r);u.label="",u.arrowTypeEnd="none",f.label="",u.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,u,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){const d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",m(e)),F(e,0),s.trace(l)},F=(e,t)=>{if(s.warn("extractor - ",t,m(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(const i of n){const a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));const u=new A({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",m(e)),P(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:u}),s.warn("New graph after copy node: (",i,")",m(u)),s.debug("Old graph after copy",m(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(const i of n){const a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&F(a.graph,t+1)}},G=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const i=e.children(r),a=G(e,i);n=[...n,...a]}),n},rt=e=>G(e,e.children()),at=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=T(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=S(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),u=t.labelType==="markdown"?I(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}const h=0*t.padding,w=h/2,x=t.width<=f.width+h?f.width+h:t.width;t.width<=f.width+h?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-x/2).attr("y",t.y-t.height/2-w).attr("width",x).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=D(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+v})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const y=i.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(c){return p(t,c)},r},ct=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(u){return p(t,u)},n},ot=(e,t)=>{const n=T(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),u=a.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=u.getBBox();const h=0*t.padding,w=h/2,x=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w).attr("width",x+h).attr("height",t.height+h),d.attr("class","inner").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",x+h).attr("height",t.height+h-f.height-3);const{subGraphTitleTopMargin:v}=D(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(S(n.flowchart.htmlLabels)?5:3)+v})`);const y=i.node().getBBox();return t.height=y.height,t.intersect=function(c){return p(t,c)},r},lt=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(u){return p(t,u)},n},ft={rect:at,roundedWithTitle:ot,noteGroup:ct,divider:lt};let j={};const dt=(e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";j[t.id]=ft[n](e,t)},ut=()=>{j={}},M=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",m(t),i);const d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);const u=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const f=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),w=u.insert("g").attr("class","edgeLabels"),x=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const b=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",b,i),t.setNode(i.id,b),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,b))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const b=await M(x,o.graph,n,r,t.node(c),a),E=b.elem;U(o,E),o.diff=b.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),W(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(C(o.id,t)),l[o.id]={id:C(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await _(x,t.node(c),d))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translateing: ",l[c.v],l[c.w]),z(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),q(t),s.info("Graph after layout:",m(t));let v=0;const{subGraphTitleTotalMargin:y}=D(a);return rt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=y,O(o)):t.children(c).length>0?(o.height+=y,dt(f,o),l[o.id].node=o):(o.y+=y/2,O(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=y/2);const b=K(h,c,o,l,n,t,r);Q(o,b)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:u,diff:v}},bt=async(e,t,n,r,i)=>{V(e,n,r,i),Y(),Z(),ut(),nt(),s.warn("Graph at first:",JSON.stringify(m(t))),st(t),s.warn("Graph after:",JSON.stringify(m(t)));const a=T();await M(e,t,r,i,void 0,a)};export{bt as r}; diff --git a/assets/index.html-1rMW4W7-.js b/assets/index.html-1rMW4W7-.js new file mode 100644 index 0000000000..e37a7b7b74 --- /dev/null +++ b/assets/index.html-1rMW4W7-.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as i,c as a,a as e,b as t,d as r}from"./app-pLjDz5vt.js";const s={},c=e("h1",{id:"插件开发指南",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#插件开发指南"},[e("span",null,"插件开发指南")])],-1),h=e("div",{class:"hint-container tip"},[e("p",{class:"hint-container-title"},"提示"),e("p",null,"待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。")],-1),p={href:"https://zotero.yuque.com/staff-gkhviy/developer/",target:"_blank",rel:"noopener noreferrer"},d=e("h2",{id:"前置基础知识",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#前置基础知识"},[e("span",null,"前置基础知识")])],-1),_=e("p",null,"Zotero 插件遵循 Firefox 插件的要求。此处列举了编写插件的基础知识。并非所有知识都需要掌握,只需要在遇到问题时能通过查阅文档找到解决方法即可。",-1),u=e("h3",{id:"firefox-插件",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#firefox-插件"},[e("span",null,"Firefox 插件")])],-1),g={href:"http://mb.eschew.org/intro",target:"_blank",rel:"noopener noreferrer"},f={href:"https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions",target:"_blank",rel:"noopener noreferrer"},m=e("h3",{id:"html-xul",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#html-xul"},[e("span",null,"HTML / XUL")])],-1),b=e("br",null,null,-1),Z={href:"https://www.runoob.com/html/html-tutorial.html",target:"_blank",rel:"noopener noreferrer"},v=e("br",null,null,-1),w=e("br",null,null,-1),x={href:"https://docs.huihoo.com/xul/",target:"_blank",rel:"noopener noreferrer"},y={href:"https://udn.realityripple.com/docs/Archive/Add-ons/Overlay_Extensions/XUL_School",target:"_blank",rel:"noopener noreferrer"},k=e("h3",{id:"javascript-typescript",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#javascript-typescript"},[e("span",null,"JavaScript / TypeScript")])],-1),T=e("br",null,null,-1),z={href:"https://www.w3school.com.cn/js/index.asp",target:"_blank",rel:"noopener noreferrer"},S=e("br",null,null,-1),L={href:"https://www.tslang.cn/",target:"_blank",rel:"noopener noreferrer"},M=e("h3",{id:"git",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#git"},[e("span",null,"Git")])],-1),A=e("br",null,null,-1),J={href:"https://www.runoob.com/git/git-tutorial.html",target:"_blank",rel:"noopener noreferrer"},N=e("h3",{id:"zotero-官方资料",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-官方资料"},[e("span",null,"Zotero 官方资料")])],-1),j={href:"https://www.zotero.org/support/",target:"_blank",rel:"noopener noreferrer"},E=e("br",null,null,-1),U={href:"https://forums.zotero.org/discussions",target:"_blank",rel:"noopener noreferrer"},X=e("br",null,null,-1),D={href:"https://www.zotero.org/getinvolved/",target:"_blank",rel:"noopener noreferrer"},H=e("br",null,null,-1),C={href:"https://groups.google.com/g/zotero-dev",target:"_blank",rel:"noopener noreferrer"},F=e("br",null,null,-1),G={href:"https://github.com/windingwind/zotero-types",target:"_blank",rel:"noopener noreferrer"},I={href:"https://www.npmjs.com/package/zotero-types",target:"_blank",rel:"noopener noreferrer"},V=e("h2",{id:"本文档的结构",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#本文档的结构"},[e("span",null,"本文档的结构")])],-1),W=e("blockquote",null,[e("p",null,"todo")],-1);function q(B,P){const o=l("ExternalLinkIcon");return i(),a("div",null,[c,h,e("p",null,[t("本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 "),e("a",p,[t("Zotero 6 插件开发文档"),r(o)]),t("。")]),d,_,u,e("p",null,[e("a",g,[t("Introduction: Welcome to Software Development the Mozilla Way"),r(o)])]),e("p",null,[e("a",f,[t("Web 浏览器扩展"),r(o)])]),m,e("p",null,[t("关于 HTML,可参考网上的任意教程,只需理解基本的树结构,大致清楚元素类型与通用属性即可。"),b,t(" 参考文档:"),e("a",Z,[t("HTML 教程 | 菜鸟教程"),r(o)]),v,t(" 关于 XUL,在了解 HTML 的基础上只需大概浏览文档即可。在使用时可随时查阅文档。"),w,t(" 参考文档:"),e("a",x,[t("Huihoo - XML User Interface Language (XUL)"),r(o)]),t(","),e("a",y,[t("XUL School Tutorial - Archive of obsolete content"),r(o)])]),k,e("p",null,[t("如果对其他编程语言有了解,上手 JavaScript 很快,看一下基本语法即可。"),T,t(" 参考文档:"),e("a",z,[t("JavaScript 教程"),r(o)])]),e("p",null,[t("(非必需)也可以直接学习 TypeScript,它是 JS 的超集,提供了更多特性,并对习惯于 C++/JAVA 等强类型语言的开发者而言更加熟悉。第二章将要介绍的的 Zotero 插件框架支持 TS。"),S,t(" 参考文档:"),e("a",L,[t("TypeScript 中文网 · TypeScript——JavaScript 的超集"),r(o)])]),M,e("p",null,[t("Git 是版本管理的常用工具。"),A,t(" 参考文档:"),e("a",J,[t("Git 教程 | 菜鸟教程"),r(o)])]),N,e("p",null,[t("Zoero 文档(部分过时或不全):"),e("a",j,[t("start [Zotero Documentation]"),r(o)]),E,t(" Zotero 社区:"),e("a",U,[t("Recent Discussions"),r(o)]),X,t(" Zotero 贡献文档:"),e("a",D,[t("Zotero | Get Involved"),r(o)]),H,t(" Zotero 开发者群组:"),e("a",C,[t("https://groups.google.com/g/zotero-dev"),r(o)]),F,t(" 社区维护的 Zotero Types 接口类型定义包:"),e("a",G,[t("windingwind / Zotero-types"),r(o)]),t(),e("a",I,[t("Zotero-types"),r(o)])]),V,W])}const K=n(s,[["render",q],["__file","index.html.vue"]]),Q=JSON.parse('{"path":"/plugin-dev-guide/","title":"插件开发指南","lang":"zh-CN","frontmatter":{"title":"插件开发指南","date":"2023-04-20T10:06:59.000Z","updated":"2023-07-20T16:51:54.000Z","author":[{"name":"windingwind","url":"https://github.com/windingwind/"}],"description":"插件开发指南 提示 待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。 本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档。 前置基础知识 Zotero 插件遵循 Firefox 插...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"插件开发指南"}],["meta",{"property":"og:description","content":"插件开发指南 提示 待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。 本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档。 前置基础知识 Zotero 插件遵循 Firefox 插..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"windingwind"}],["meta",{"property":"article:published_time","content":"2023-04-20T10:06:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"插件开发指南\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-04-20T10:06:59.000Z\\",\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"windingwind\\",\\"url\\":\\"https://github.com/windingwind/\\"}]}"]]},"headers":[{"level":2,"title":"前置基础知识","slug":"前置基础知识","link":"#前置基础知识","children":[{"level":3,"title":"Firefox 插件","slug":"firefox-插件","link":"#firefox-插件","children":[]},{"level":3,"title":"HTML / XUL","slug":"html-xul","link":"#html-xul","children":[]},{"level":3,"title":"JavaScript / TypeScript","slug":"javascript-typescript","link":"#javascript-typescript","children":[]},{"level":3,"title":"Git","slug":"git","link":"#git","children":[]},{"level":3,"title":"Zotero 官方资料","slug":"zotero-官方资料","link":"#zotero-官方资料","children":[]}]},{"level":2,"title":"本文档的结构","slug":"本文档的结构","link":"#本文档的结构","children":[]}],"git":{"createdTime":1681956581000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":4}]},"readingTime":{"minutes":1.82,"words":545},"filePathRelative":"plugin-dev-guide/README.md","localizedDate":"2023年4月20日","autoDesc":true,"excerpt":"\\n
    \\n

    提示

    \\n

    待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。

    \\n
    \\n

    本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档

    "}');export{K as comp,Q as data}; diff --git a/assets/index.html-5KeYSbvz.js b/assets/index.html-5KeYSbvz.js new file mode 100644 index 0000000000..648e57371d --- /dev/null +++ b/assets/index.html-5KeYSbvz.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as n,c as r,d as a}from"./app-pLjDz5vt.js";const i={};function c(p,s){const t=o("Catalog");return n(),r("div",null,[a(t)])}const g=e(i,[["render",c],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/contributing/","title":"Contributing","lang":"zh-CN","frontmatter":{"title":"Contributing","article":false,"feed":false,"sitemap":false,"head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/contributing/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Contributing"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Contributing\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}');export{g as comp,h as data}; diff --git a/assets/index.html-B7VVb1Im.js b/assets/index.html-B7VVb1Im.js new file mode 100644 index 0000000000..244dc96271 --- /dev/null +++ b/assets/index.html-B7VVb1Im.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as i,c as s,a as e,b as t,d as n}from"./app-pLjDz5vt.js";const l={},c=e("h1",{id:"csl-中文文档",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#csl-中文文档"},[e("span",null,"CSL 中文文档")])],-1),p=e("div",{class:"hint-container warning"},[e("p",{class:"hint-container-title"},"注意"),e("p",null,"此页面正在施工中。")],-1),d=e("p",null,"CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。",-1),h=e("p",null,"Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。$\\LaTeX$ 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 $\\LaTeX$ 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 $\\LaTeX$ 同样漂亮的引用和参考文献目录。",-1),m=e("p",null,"由 CSL 编写的 style 定义了引用和参考文献目录的格式。Zotero 就是通过 style 来生成指定格式的引用和参考文献目录。据统计,现在已经有超过 9000 个 style,覆盖了大多数的常见的 SCI 期刊。在 Zotero 中能很容易检索到对应期刊的 style。但是即使有这么多的 style,仍然有可能有的期刊没有对应的 style。此外,有的 style 年代久远,已经不符合期刊 author guideline 中的要求,因此,我们需要学习 CSL 来定制需要的 style,至少能在已有的 style 上修改来满足期刊的要求。但是遗憾的是,国内 CSL 的资料几乎没有。",-1),L={href:"https://docs.citationstyles.org/en/stable/primer.html",target:"_blank",rel:"noopener noreferrer"},u={href:"https://csl-chinese.readthedocs.io/en/latest/",target:"_blank",rel:"noopener noreferrer"},C=e("div",{class:"hint-container caution"},[e("p",{class:"hint-container-title"},"警告"),e("p",null,"文档中,凡标注 Work in progress 的均为正在施工的页面,无法确保与现有英文文档相一致,无法确保译文修改前后的一致性、准确性,请酌情阅读。")],-1);function _(S,y){const o=a("ExternalLinkIcon");return i(),s("div",null,[c,p,d,h,m,e("p",null,[t("本项目是对 "),e("a",L,[t("CSL 英文文档"),n(o)]),t(" 的翻译。本人能力有限,理解和翻译有误处请大家谅解,同时欢迎 issue 和 pull。")]),e("p",null,[t("本文档基于 "),e("a",u,[t("Welcome to CSL-chinese’s documentation! — CSL-chinese documentation"),n(o)]),t(" 修改。")]),C])}const T=r(l,[["render",_],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/csl-dev-guide/","title":"CSL 中文文档","lang":"zh-CN","frontmatter":{"title":"CSL 中文文档","date":"2022-08-01T16:23:04.000Z","updated":"2023-07-22T20:39:20.000Z","description":"CSL 中文文档 注意 此页面正在施工中。 CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。 Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zot...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/csl-dev-guide/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"CSL 中文文档"}],["meta",{"property":"og:description","content":"CSL 中文文档 注意 此页面正在施工中。 CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。 Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zot..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-12-06T12:08:50.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2022-08-01T16:23:04.000Z"}],["meta",{"property":"article:modified_time","content":"2023-12-06T12:08:50.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CSL 中文文档\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-08-01T16:23:04.000Z\\",\\"dateModified\\":\\"2023-12-06T12:08:50.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1681956581000,"updatedTime":1701864530000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":5}]},"readingTime":{"minutes":1.71,"words":513},"filePathRelative":"csl-dev-guide/README.md","localizedDate":"2022年8月1日","autoDesc":true,"excerpt":"\\n
    \\n

    注意

    \\n

    此页面正在施工中。

    \\n
    \\n

    CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。

    \\n

    Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。$\\\\LaTeX$ 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 $\\\\LaTeX$ 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 $\\\\LaTeX$ 同样漂亮的引用和参考文献目录。

    "}');export{T as comp,f as data}; diff --git a/assets/index.html-BgPe0f5l.js b/assets/index.html-BgPe0f5l.js new file mode 100644 index 0000000000..6751786072 --- /dev/null +++ b/assets/index.html-BgPe0f5l.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-pLjDz5vt.js";const r={};function i(a,n){return t(),o("div")}const p=e(r,[["render",i],["__file","index.html.vue"]]),s=JSON.parse('{"path":"/user-guide/misc/","title":"其他","lang":"zh-CN","frontmatter":{"title":"其他","index":false,"date":"2023-06-28T21:45:15.000Z","updated":"2023-07-20T16:51:54.000Z","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/misc/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"其他"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:45:15.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"其他\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:45:15.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695135035000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":0.07,"words":21},"filePathRelative":"user-guide/misc/README.md","localizedDate":"2023年6月28日","excerpt":""}');export{p as comp,s as data}; diff --git a/assets/index.html-CLM7izSq.js b/assets/index.html-CLM7izSq.js new file mode 100644 index 0000000000..ec8e172356 --- /dev/null +++ b/assets/index.html-CLM7izSq.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as l,c as a,a as e,b as t,d as n}from"./app-pLjDz5vt.js";const s={},c=e("h1",{id:"使用社区模板",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#使用社区模板"},[e("span",null,"使用社区模板")])],-1),p={class:"hint-container note"},d=e("p",{class:"hint-container-title"},"Todo",-1),h={href:"https://github.com/windingwind/zotero-plugin-template",target:"_blank",rel:"noopener noreferrer"},u=e("p",null,"考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。",-1),m=e("h2",{id:"为什么使用该模板",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#为什么使用该模板"},[e("span",null,"为什么使用该模板")])],-1),_=e("li",null,"事件驱动、函数式编程的可扩展框架;",-1),g=e("li",null,"简单易用,开箱即用;",-1),f=e("li",null,"⭐[新特性!]自动热重载!当修改源码时,都会自动编译并重新加载插件;",-1),b=e("code",null,"src/modules/examples.ts",-1),w={href:"https://github.com/windingwind/zotero-plugin-toolkit",target:"_blank",rel:"noopener noreferrer"},y={href:"https://github.com/windingwind/zotero-types",target:"_blank",rel:"noopener noreferrer"},Z=e("li",null,"全局变量和环境设置;",-1),v=e("li",null,[t("自动生成/更新插件 id 和版本、更新配置和设置环境变量 ("),e("code",null,"development"),t("/"),e("code",null,"production"),t(");")],-1),x=e("li",null,"自动在 Zotero 中构建和重新加载代码;",-1),z={href:"https://github.com/release-it/release-it",target:"_blank",rel:"noopener noreferrer"},k=e("li",null,"集成 Prettier 和 ES Lint;",-1);function T(N,E){const o=r("ExternalLinkIcon");return l(),a("div",null,[c,e("div",p,[d,e("p",null,[t("社区模板地址:"),e("a",h,[t("https://github.com/windingwind/zotero-plugin-template"),n(o)])]),u]),m,e("ul",null,[_,g,f,e("li",null,[b,t(" 中有丰富的示例,涵盖了插件中常用的大部分 API 使用的插件工具包 "),e("a",w,[t("Zotero-plugin-toolkit"),n(o)]),t(";")]),e("li",null,[t("TypeScript 支持: "),e("ul",null,[e("li",null,[t("为使用 JavaScript 编写的 Zotero 源码提供全面的类型定义支持 (使用类型定义包 "),e("a",y,[t("Zotero-types"),n(o)]),t(")")]),Z])]),e("li",null,[t("插件开发/构建/发布工作流: "),e("ul",null,[v,x,e("li",null,[t("自动发布到 GitHub (使用 "),e("a",z,[t("release-it"),n(o)]),t(");")])])]),k])])}const S=i(s,[["render",T],["__file","index.html.vue"]]),A=JSON.parse('{"path":"/plugin-dev-guide/use-template/","title":"使用社区模板","lang":"zh-CN","frontmatter":{"description":"使用社区模板 Todo 社区模板地址:https://github.com/windingwind/zotero-plugin-template 考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。 为什么使用该模板 事件驱动、函数式编程的可扩展框架; 简单易用,开箱即用; ⭐[新...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/use-template/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"使用社区模板"}],["meta",{"property":"og:description","content":"使用社区模板 Todo 社区模板地址:https://github.com/windingwind/zotero-plugin-template 考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。 为什么使用该模板 事件驱动、函数式编程的可扩展框架; 简单易用,开箱即用; ⭐[新..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"使用社区模板\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"为什么使用该模板","slug":"为什么使用该模板","link":"#为什么使用该模板","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.94,"words":282},"filePathRelative":"plugin-dev-guide/use-template/README.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    Todo

    \\n

    社区模板地址:https://github.com/windingwind/zotero-plugin-template

    \\n

    考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。

    \\n
    "}');export{S as comp,A as data}; diff --git a/assets/index.html-D-nr3wkN.js b/assets/index.html-D-nr3wkN.js new file mode 100644 index 0000000000..4762318484 --- /dev/null +++ b/assets/index.html-D-nr3wkN.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as r,a as e}from"./app-pLjDz5vt.js";const n={},a=e("h1",{id:"参考",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#参考"},[e("span",null,"参考")])],-1),i=[a];function c(p,s){return o(),r("div",null,i)}const l=t(n,[["render",c],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/plugin-dev-guide/reference/","title":"参考","lang":"zh-CN","frontmatter":{"description":"参考","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"参考"}],["meta",{"property":"og:description","content":"参考"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"参考\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.01,"words":2},"filePathRelative":"plugin-dev-guide/reference/README.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n"}');export{l as comp,h as data}; diff --git a/assets/index.html-D6GqrB4Z.js b/assets/index.html-D6GqrB4Z.js new file mode 100644 index 0000000000..98abb6b0f2 --- /dev/null +++ b/assets/index.html-D6GqrB4Z.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as i,c,a as e,b as t,d as r}from"./app-pLjDz5vt.js";const s={},d=e("h1",{id:"快速开始",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#快速开始"},[e("span",null,"快速开始")])],-1),p={href:"https://github.com/zotero/make-it-red/tree/main/src-2.0",target:"_blank",rel:"noopener noreferrer"},l={class:"hint-container note"},m=e("p",{class:"hint-container-title"},"Todo",-1),h={href:"https://github.com/zotero/make-it-red/tree/main/src-2.0",target:"_blank",rel:"noopener noreferrer"};function u(_,g){const o=a("ExternalLinkIcon");return i(),c("div",null,[d,e("p",null,[t("此节以官方插件示例 "),e("a",p,[t("Make It Red"),r(o)]),t(" 为例,说明 Zotero 插件的工作过程。")]),e("div",l,[m,e("p",null,[t("待完善,请参阅插件仓库:"),e("a",h,[t("Make It Red"),r(o)])])])])}const y=n(s,[["render",u],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/plugin-dev-guide/quick-start/","title":"快速开始","lang":"zh-CN","frontmatter":{"description":"快速开始 此节以官方插件示例 Make It Red 为例,说明 Zotero 插件的工作过程。 Todo 待完善,请参阅插件仓库:Make It Red","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/quick-start/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"快速开始"}],["meta",{"property":"og:description","content":"快速开始 此节以官方插件示例 Make It Red 为例,说明 Zotero 插件的工作过程。 Todo 待完善,请参阅插件仓库:Make It Red"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"快速开始\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.18,"words":53},"filePathRelative":"plugin-dev-guide/quick-start/README.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    此节以官方插件示例 Make It Red 为例,说明 Zotero 插件的工作过程。

    \\n
    \\n

    Todo

    \\n

    待完善,请参阅插件仓库:Make It Red

    \\n
    "}');export{y as comp,b as data}; diff --git a/assets/index.html-DiMxWasc.js b/assets/index.html-DiMxWasc.js new file mode 100644 index 0000000000..d2063632d4 --- /dev/null +++ b/assets/index.html-DiMxWasc.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r,o as a,c as n,d as i,a as e}from"./app-pLjDz5vt.js";const c={},s=e("h1",{id:"常见问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#常见问题"},[e("span",null,"常见问题")])],-1);function p(m,d){const t=r("AutoCatalog");return a(),n("div",null,[s,i(t)])}const u=o(c,[["render",p],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/user-guide/faqs/","title":"常见问题","lang":"zh-CN","frontmatter":{"title":"常见问题","index":false,"date":"2023-06-28T21:38:21.000Z","updated":"2023-07-20T16:51:54.000Z","description":"常见问题","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"常见问题"}],["meta",{"property":"og:description","content":"常见问题"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-09-23T04:49:41.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:38:21.000Z"}],["meta",{"property":"article:modified_time","content":"2023-09-23T04:49:41.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"常见问题\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:38:21.000Z\\",\\"dateModified\\":\\"2023-09-23T04:49:41.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695135035000,"updatedTime":1695444581000,"contributors":[{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":0.1,"words":29},"filePathRelative":"user-guide/faqs/README.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n"}');export{u as comp,_ as data}; diff --git a/assets/index.html-O6LnX5VP.js b/assets/index.html-O6LnX5VP.js new file mode 100644 index 0000000000..cc03128382 --- /dev/null +++ b/assets/index.html-O6LnX5VP.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-pLjDz5vt.js";const s={};function i(a,r){return t(),o("div")}const g=e(s,[["render",i],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/","title":"Zotero 中文小组","lang":"zh-CN","frontmatter":{"containerClass":"home","home":true,"icon":"home","title":"Zotero 中文小组","heroImage":"/logo.png","bgImage":"https://theme-hope-assets.vuejs.press/bg/6-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/6-dark.svg","bgImageStyle":{"background-attachment":"fixed"},"heroText":"Zotero 中文小组","tagline":"Zotero 非官方中文小组,维护中文文档等","actions":[{"text":"Zotero 用户手册 💡","link":"/user-guide/","type":"primary"},{"text":"插件商店","link":"https://plugins.zotero-chinese.com/"}],"highlights":[{"header":"Zotero 中文资源","description":"一些关于 Zotero 的中文资源","image":"/assets/image/features.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/2-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/2-dark.svg","bgImageStyle":{"background-repeat":"repeat","background-size":"initial"},"features":[{"title":"Zotero 百科全书","icon":"article","details":"Zotero 中文教程一站式解决","link":"/user-guide/"},{"title":"插件商店","icon":"config","details":"好用的 Zotero 插件收录,提供国内镜像下载地址","link":"https://plugins.zotero-chinese.com/"},{"title":"中文 CSL 样式","icon":"format","details":"支持双语排版的 CSL 样式","link":"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/"},{"title":"插件开发手册","icon":"code","details":"其实 Zotero 插件开发入门很容易!","link":"/plugin-dev-guide/"},{"title":"CSL 开发手册","icon":"code","details":"来看如何自定义一个自己需要的参考文献格式","link":"/csl-dev-guide/"},{"title":"更多","icon":"advance","details":"贡献指南、关于页面等","link":"/about/"}]},{"header":"Zotero 官方","description":"Zotero 官方提供的链接","image":"/assets/image/advanced.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/4-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/4-dark.svg","highlights":[{"title":"Zotero 下载","icon":"sitemap","details":"Zotero 安装包和 Connector 下载","link":"https://www.zotero.org/"},{"title":"Zotero 官方文档(英文)","icon":"article","details":"Zotero 官方提供的使用手册,最为准确,但仅维护英文","link":"https://www.zotero.org/support/"},{"title":"Zotero 官方论坛(英文)","icon":"community","details":"Zotero 官方运营的论坛,你可以在这里发布求助、反馈问题等","link":"https://forums.zotero.org/discussions"},{"title":"CSL 官方样式","icon":"decorate","details":"在这里可以预览并下载 Citation Language Style 组织下的样式","link":"https://www.zotero.org/styles"}]},{"header":"参与社区建设","description":"参与讨论、参与维护、共同进步!","image":"/assets/image/layout.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/5-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/5-dark.svg","highlights":[{"title":"GitHub ISSUE","icon":"github","details":"你可以在 ISSUE 里提出文档等的不足、改进建议","link":"https://github.com/zotero-chinese/wiki/issues"},{"title":"Gitee 讨论","icon":"gitee","details":"你可以在 Gitee 里提出关于 Zotero 使用的问题","link":"https://gitee.com/zotero-chinese/zotero-chinese/issues"},{"title":"贡献者指南","icon":"like","details":"查看如何为项目做出贡献","link":"/contributing/"},{"title":"QQ 群","icon":"group","details":"加入群聊,独学而无友,则孤陋而寡闻","link":null}]},{"header":"关于","image":"/assets/image/blog.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/1-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/1-dark.svg","features":[{"title":"主要维护者","icon":"people","details":"长期维护者"},{"title":"全部贡献者","icon":"people","details":"查看全部贡献者"},{"title":"组织链接","icon":"repo","details":"GitHub 组织链接"}]}],"copyright":false,"footer":" \\"Deploys
    使用 VuePress Theme Hope 主题 | MIT 协议,版权所有 © 2022-Present Zotero Chinese","date":"2023-04-19T21:14:04.000Z","updated":"2023-07-20T16:51:54.000Z","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero 中文小组"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-04-19T21:14:04.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Zotero 中文小组\\"}"]]},"headers":[],"git":{"createdTime":1681956548000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":11},{"name":"Linxzh","email":"linxzh1989@gmail.com","commits":1},{"name":"MapleL","email":"61239030+MapleLeafX@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.45,"words":735},"filePathRelative":"README.md","localizedDate":"2023年4月19日","excerpt":""}');export{g as comp,p as data}; diff --git a/assets/index.html-OPOOVwmx.js b/assets/index.html-OPOOVwmx.js new file mode 100644 index 0000000000..744b5838cb --- /dev/null +++ b/assets/index.html-OPOOVwmx.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as r,a as e}from"./app-pLjDz5vt.js";const a={},n=e("h1",{id:"插件",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#插件"},[e("span",null,"插件")])],-1),i=[n];function c(p,s){return o(),r("div",null,i)}const l=t(a,[["render",c],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/user-guide/plugins/","title":"插件","lang":"zh-CN","frontmatter":{"title":"插件","index":false,"date":"2023-06-28T21:38:06.000Z","updated":"2023-07-20T16:51:54.000Z","description":"插件","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"插件"}],["meta",{"property":"og:description","content":"插件"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-09-19T14:50:35.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:38:06.000Z"}],["meta",{"property":"article:modified_time","content":"2023-09-19T14:50:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"插件\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:38:06.000Z\\",\\"dateModified\\":\\"2023-09-19T14:50:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695135035000,"updatedTime":1695135035000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":0.08,"words":23},"filePathRelative":"user-guide/plugins/README.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n"}');export{l as comp,h as data}; diff --git a/assets/index.html-OkjuflBh.js b/assets/index.html-OkjuflBh.js new file mode 100644 index 0000000000..fff1c503d9 --- /dev/null +++ b/assets/index.html-OkjuflBh.js @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as s,o as c,c as h,a as e,b as t,d as o,w as r,e as p}from"./app-pLjDz5vt.js";const d={},u=e("h1",{id:"zotero-百科全书",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-百科全书"},[e("span",null,"Zotero 百科全书")])],-1),_={class:"hint-container info"},m=e("p",{class:"hint-container-title"},"相关信息",-1),f=e("p",null,"在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下!",-1),Z={href:"https://github.com/zotero-chinese",target:"_blank",rel:"noopener noreferrer"},g={href:"https://zotero-chinese.com/",target:"_blank",rel:"noopener noreferrer"},b=e("h2",{id:"⛳️-zotero-百科全书简介",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#⛳️-zotero-百科全书简介"},[e("span",null,"⛳️ Zotero 百科全书简介")])],-1),y=e("p",null,"本文档分为以下几个部分:",-1),z=e("li",null,[e("strong",null,"为什么使用 Zotero"),t(":关于 Zotero 的优势,与其他同类软件的对比")],-1),k=e("li",null,[e("strong",null,"安装"),t(":安装 Zotero 桌面端、浏览器插件、移动端的步骤")],-1),v=e("strong",null,"Zotero 使用教程",-1),x=e("strong",null,"基础使用",-1),C=e("strong",null,"创建参考文献",-1),w=e("strong",null,"同步、备份和协作",-1),T=e("strong",null,"插件",-1),N=e("li",null,[e("strong",null,"Zotero 常见问题"),t(":导入条目的问题合集、插入引用的问题合集等,非常规用法等")],-1),B=e("li",null,[e("strong",null,"Zotero 资源合集"),t(":施工中")],-1),L={class:"hint-container tip"},E=e("p",{class:"hint-container-title"},"内容分级",-1),S=e("p",null,[t("由于内容较多,建议当作字典使用,在遇到问题时通过"),e("strong",null,"顶部搜索栏搜索关键字"),t(",例如遇到同步问题,则搜索“同步”。")],-1),D=e("h2",{id:"⭐️-常用文档和链接",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#⭐️-常用文档和链接"},[e("span",null,"⭐️ 常用文档和链接")])],-1),R={href:"https://www.zotero.org/",target:"_blank",rel:"noopener noreferrer"},V={href:"https://www.zotero.org/support/",target:"_blank",rel:"noopener noreferrer"},P={href:"https://forums.zotero.org/discussions",target:"_blank",rel:"noopener noreferrer"},A={href:"https://plugins.zotero-chinese.com/#/",target:"_blank",rel:"noopener noreferrer"},I={href:"https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/",target:"_blank",rel:"noopener noreferrer"},M={href:"https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60?view=doc_embed",target:"_blank",rel:"noopener noreferrer"},j=p('

    🎯 创建 Zotero 百科全书的目的

    以往的 Zotero 社区存在两大问题:

    • 网络资料不便搜索且良莠不齐
      网上有许多关于 Zotero 的使用帖子或教程,但分散在各处,不方便搜索。许多内容过时或错误,使用者按照错误的教程操作带来更多问题。
    • 答疑效率低下
      以往 Zotero 使用中遇到问题,往往在群里提问,或者在相关教程/视频下留言,消息容易被刷掉或遗漏,效率低下。

    为了解决上述问题,我们创建了这个 Zotero 百科全书文档,权威、准确、一站式解决 Zotero 使用问题。

    ❤️ 贡献指南

    ',5),q={class:"hint-container tip"},G=e("p",{class:"hint-container-title"},"我如何参与到文档维护中?",-1);function J(O,W){const l=s("ExternalLinkIcon"),n=s("Badge"),i=s("RouteLink");return c(),h("div",null,[u,e("div",_,[m,f,e("p",null,[t("本文档由 "),e("a",Z,[t("Zotero Chinese"),o(l)]),t(" 团队维护。有任何问题,欢迎在文档下方留言!")]),e("p",null,[t("本文档地址:"),e("a",g,[t("https://zotero-chinese.com/"),o(l)])])]),b,y,e("ul",null,[z,k,e("li",null,[v,e("ul",null,[e("li",null,[x,t(":包括导入条目 "),o(n,{type:"tip"},{default:r(()=>[t("初级")]),_:1}),t("、编辑条目 "),o(n,{type:"tip"},{default:r(()=>[t("中级")]),_:1}),t("、导入文件 "),o(n,{type:"tip"},{default:r(()=>[t("初级")]),_:1}),t("、添加分类和标签 "),o(n,{type:"tip"},{default:r(()=>[t("初级")]),_:1}),t("、阅读和笔记 "),o(n,{type:"tip"},{default:r(()=>[t("初级")]),_:1}),t(" 等")]),e("li",null,[C,t(":主要包括在 Word 中插入参考文献相关的内容 "),o(n,{type:"tip"},{default:r(()=>[t("中级")]),_:1})]),e("li",null,[w,t(":包括同步数据 "),o(n,{type:"tip"},{default:r(()=>[t("中级")]),_:1}),t("、备份数据 "),o(n,{type:"tip"},{default:r(()=>[t("高级")]),_:1}),t("、创建群组 "),o(n,{type:"tip"},{default:r(()=>[t("高级")]),_:1}),t("等")]),e("li",null,[T,t(":关于如何安装插件、优秀插件推荐等 "),o(n,{type:"tip"},{default:r(()=>[t("中级")]),_:1})])])]),N,B]),e("div",L,[E,e("p",null,[t("文档内容会有标记 "),o(n,{type:"tip"},{default:r(()=>[t("初级")]),_:1}),t("、"),o(n,{type:"tip"},{default:r(()=>[t("中级")]),_:1}),t(" 和 "),o(n,{type:"tip"},{default:r(()=>[t("高级")]),_:1}),t(",读者初次了解 Zotero 时,仅需要掌握“初级”内容,随着了解和使用的深入,再探究更高难度的用法。")])]),S,D,e("ul",null,[e("li",null,[t("Zotero 官方 "),e("ul",null,[e("li",null,[e("a",R,[t("Zotero 官网"),o(l)])]),e("li",null,[e("a",V,[t("Zotero 官方手册"),o(l)])]),e("li",null,[e("a",P,[t("Zotero 论坛"),o(l)])])])]),e("li",null,[t("Zotero 资源 "),e("ul",null,[e("li",null,[e("a",A,[t("Zotero 常用插件下载国内镜像"),o(l)])]),e("li",null,[e("a",I,[t("中文 CSL 样式"),o(l)])])])]),e("li",null,[t("Zotero 开发者 "),e("ul",null,[e("li",null,[o(i,{to:"/plugin-dev-guide/"},{default:r(()=>[t("Zotero 插件开发中文文档")]),_:1})]),e("li",null,[o(i,{to:"/csl-dev-guide/"},{default:r(()=>[t("CSL 中文文档")]),_:1})])])]),e("li",null,[t("更多 Zotero 相关文档 "),e("ul",null,[e("li",null,[t("Zotero Better Notes 笔记插件中文文档:"),e("a",M,[t("Zotero Better Notes:基于知识的笔记插件"),o(l)])])])])]),j,e("div",q,[G,e("p",null,[t("请参阅:"),o(i,{to:"/contributing/contributing.html"},{default:r(()=>[t("贡献指南")]),_:1}),t("。")])])])}const K=a(d,[["render",J],["__file","index.html.vue"]]),Q=JSON.parse('{"path":"/user-guide/","title":"Zotero 百科全书","lang":"zh-CN","frontmatter":{"title":"Zotero 百科全书","icon":"creative","index":false,"date":"2023-04-19T22:27:07.000Z","updated":"2023-07-20T16:51:54.000Z","description":"Zotero 百科全书 相关信息 在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下! 本文档由 Zotero Chinese 团队维护。有任何问题,欢迎在文档下方留言! 本文档地址:https://zotero-chinese.com/ ⛳️ Zotero 百科全书简介 本文档分为以下几个部分: 为什么使用 Zotero:关于...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero 百科全书"}],["meta",{"property":"og:description","content":"Zotero 百科全书 相关信息 在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下! 本文档由 Zotero Chinese 团队维护。有任何问题,欢迎在文档下方留言! 本文档地址:https://zotero-chinese.com/ ⛳️ Zotero 百科全书简介 本文档分为以下几个部分: 为什么使用 Zotero:关于..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-04-19T22:27:07.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero 百科全书\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-04-19T22:27:07.000Z\\",\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"⛳️ Zotero 百科全书简介","slug":"⛳️-zotero-百科全书简介","link":"#⛳️-zotero-百科全书简介","children":[]},{"level":2,"title":"⭐️ 常用文档和链接","slug":"⭐️-常用文档和链接","link":"#⭐️-常用文档和链接","children":[]},{"level":2,"title":"🎯 创建 Zotero 百科全书的目的","slug":"🎯-创建-zotero-百科全书的目的","link":"#🎯-创建-zotero-百科全书的目的","children":[]},{"level":2,"title":"❤️ 贡献指南","slug":"❤️-贡献指南","link":"#❤️-贡献指南","children":[]}],"git":{"createdTime":1681956581000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":7},{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.5,"words":751},"filePathRelative":"user-guide/README.md","localizedDate":"2023年4月19日","autoDesc":true,"excerpt":"\\n
    \\n

    相关信息

    \\n

    在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下!

    \\n

    本文档由 Zotero Chinese 团队维护。有任何问题,欢迎在文档下方留言!

    \\n

    本文档地址:https://zotero-chinese.com/

    \\n
    "}');export{K as comp,Q as data}; diff --git a/assets/index.html-xEzebzUB.js b/assets/index.html-xEzebzUB.js new file mode 100644 index 0000000000..bbb0056106 --- /dev/null +++ b/assets/index.html-xEzebzUB.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as n,c as a,d as r}from"./app-pLjDz5vt.js";const p={};function l(c,i){const e=o("Catalog");return n(),a("div",null,[r(e)])}const d=t(p,[["render",l],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/plugin-dev-guide/development/","title":"Development","lang":"zh-CN","frontmatter":{"title":"Development","article":false,"feed":false,"sitemap":false,"head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/development/"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Development"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Development\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"excerpt":""}');export{d as comp,g as data}; diff --git a/assets/infoDiagram-db7b18fc-fQUUx8eo.js b/assets/infoDiagram-db7b18fc-fQUUx8eo.js new file mode 100644 index 0000000000..0af3ecca86 --- /dev/null +++ b/assets/infoDiagram-db7b18fc-fQUUx8eo.js @@ -0,0 +1,7 @@ +import{l as Y,aJ as D,i as M}from"./mermaid.core-xpSMncQK.js";import"./app-pLjDz5vt.js";var O=function(){var a=function(u,t,e,n){for(e=e||{},n=u.length;n--;e[u[n]]=t);return e},f=[6,9,10],m={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,d){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],d=this.table,P="",v=0,L=0,N=2,T=1,R=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var z=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var y;return y=s.pop()||o.lex()||T,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,_={},b,c,F,S;;){if(g=n[n.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>N&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: +`+o.showPosition()+` +Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(v+1)+": Unexpected "+(l==T?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(h[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(h[1]),l=null,L=o.yyleng,P=o.yytext,v=o.yylineno,I=o.yylloc;break;case 2:if(c=this.productions_[h[1]][1],_.$=r[r.length-c],_._$={first_line:i[i.length-(c||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(c||1)].first_column,last_column:i[i.length-1].last_column},z&&(_._$.range=[i[i.length-(c||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(_,[P,L,v,p.yy,h[1],r,i].concat(R)),typeof w<"u")return w;c&&(n=n.slice(0,-1*c*2),r=r.slice(0,-1*c),i=i.slice(0,-1*c)),n.push(this.productions_[h[1]][0]),r.push(_.$),i.push(_._$),F=d[n[n.length-2]][n[n.length-1]],n.push(F);break;case 3:return!0}}return!0}},k=function(){var u={EOF:1,parseError:function(e,n){if(this.yy.parser)this.yy.parser.parseError(e,n);else throw new Error(e)},setInput: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},input: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},unput:function(t){var e=t.length,n=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 s=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 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:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` +`+e+"^"},test_match:function(t,e){var n,s,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))),s=t[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.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],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in r)this[i]=r[i];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,n,s;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),i=0;ie[0].length)){if(e=n,s=i,this.options.backtrack_lexer){if(t=this.test_match(n,r[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,r[s]),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})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,n,s,r){switch(s){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return u}();m.lexer=k;function x(){this.yy={}}return x.prototype=m,m.Parser=x,new x}();O.parser=O;const B=O,j={info:!1};let $=j.info;const J=a=>{$=a},V=()=>$,X=()=>{$=j.info},q={clear:X,setInfo:J,getInfo:V},C=(a,f,m)=>{Y.debug(`rendering info diagram +`+a);const k=D(f);M(k,100,400,!0),k.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${m}`)},G={draw:C},Q={parser:B,db:q,renderer:G};export{Q as diagram}; diff --git a/assets/init-Gi6I4Gst.js b/assets/init-Gi6I4Gst.js new file mode 100644 index 0000000000..d44de94168 --- /dev/null +++ b/assets/init-Gi6I4Gst.js @@ -0,0 +1 @@ +function t(e,a){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(a).domain(e);break}return this}export{t as i}; diff --git a/assets/install.html-BmRxGxsd.js b/assets/install.html-BmRxGxsd.js new file mode 100644 index 0000000000..9a98f7d844 --- /dev/null +++ b/assets/install.html-BmRxGxsd.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c,a as o,b as e,d as n}from"./app-pLjDz5vt.js";const p="/assets/image-下载Zotero-DXyW7SCZ.png",a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAqCAYAAAAqAaJlAAADbElEQVRYhe1Yz0/bMBT+bMdpQQVVcEBaL4BEoerGbTvsyH/NH8ANIXHhwgHKyjqVlIFCpUbEzzukzzJZ+JGuYULqJ0V17Nj+/Pze5+eKr9++W3wQyP9NoAwWZKvCgmxVWJCtCkHZDtZaaK1nmixN05n6MUqRlVLgy+cuVlYaeExTwFrY3ANkCyIi926IUK/VcBON0Ov1qyUrhIC1Fq3WJ+zuttHpdBCGIYjoSTsjX9ZaYzQa4eTkBGQIP/o/qyPLkwdKwVqLg4MDLC0tgYgghHCEX0IURc76QghcXfWBV/rMRJYtR9PJHh7GiOMYcRwDgNtyY4xzASKCMQYA0O12MR6Psb29jTAMp98R+tcD2BKZSSmfFcisLKUAoCClhBACQgjnEsYYSJmJDO+IUgq1Wg3GGGxubrqFkLW4vv5VDVmeXAgJazMXYGJMmon77kFECIIAjUYDj4+PaLfbUErh6OgIySRBNPpdDdlsm82ToPKJ+dZmSCmxvr6OtbU1N87W1jaOj48hlXrz/OXcwCPAgeKTVko5f/UJD4dD950xBqurq5BSOR/3x5sbWV9L86QZaqoYQghHnpWAiJAkCQCg2WxmBigwxFzJEhFUbvucYuTa2C24DQC01rC2ePFzJesT4zKAJ0FlrXUWJiJIKd33HJCArZYsEyk6rfwg48X4asGLUUq59jJES5PNW/S5yfz6vLylafom/yxCqRQxT87X1nx9/pctyr9F472GmdWAT6Eiaz+3zf7C+Iiu3GeJCGEYol6vu8h/SSf9Nq31VA0q9lmeOAgCRFGEXq8HrbULnpfSRCCzbJIk2NnZwcbGxvuQlVIiiiKcnZ1heXnZ6ad/GjH8NiEE4jhGs9lEq9WqXmezJ9vORqOBvb09d1LlfdV/5/Lp6el0N97JDawl57u3t7eu3gdbNN+Xcwc+FOZO1inA1ErGZFbUWuP+/v6vyM77q5/YaK0hpUSaGjfmXMk6SZqW6/Ua9vf30el0nuhmkd76dTyO1hpJkmTt3qLmknX5t1RjDA4PDxGGYaEl832K6oUQmEwmSNMUxrt0voZSPjsc3uDi8hKDwcBdxf0rt39g5A8Qbue7nJIShgh3d/eQ8m0JeMkAEzg/v3Ci/q9I0/TNRIEZ1ICTkXmgbELzof7rWpCtCguyVWFBtir8AZWGsmkZL3YHAAAAAElFTkSuQmCC",r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAqCAMAAAAd31JXAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFiUExURTU2Ojg5PDY3O6+vr7Kysra2trW1tTg5PTc4PLS0tLm5ubOzs0RFSKysrLGxsaqqqpiYmLi4uKurq7CwsK2trb6+vre3t0VGSaenp7y8vK6urpycnL+/v5GRkkNESJubmzc4O0ZHSqampsXFxbu7u42NjpCQkJeXlzs8QIqLi7q6uqioqENDR5aXl5aWlqWlpb29vTw9QI6Oj5WVlpiZmWJjZcDAwLCwsbS0tbKys5eXmJCQkaSkpJ2dnYyMjT4+QpSVlWZmaGxtb6Ghopqbm2lqbG5ucGFiZG1ucGVlZ2BgY8bGxpKSk2NkZo+Pj8HBwcvLy2RlZ8zMzGdoas7Ozjk6PTk6Pl5fYVlaXFhZXDo7PqmpqYeHiLe4uJmZmmprbT0+Qp6en5ucnD4/Q6KiorW1tp+fn8TExHR0dkdIS0FCRcfHx4SEhaOjo3Z3eEVGSsnJycLCwq2trtLS0q+vsNXV1Usk+YsAAAHzSURBVDjL7ZRHc9swEIUhopAAm1hFUlSXrKgXy5LtuDe5yHYcO733nijt/4dKTpkR5JtP/haDA+bNmwWwuwBcc3XEREkSJ/zbRTHGEUogNzLjvUwmk0xGK7n6MqOmEtHxNFOQGIV+23F8368aLqYWZBsJEJuurXfHv39eXNy+NR5/OnoXtsPwpjLdVwJK6vupK1MSRbQ04vd5WgGkTxjWfvwaDCxo66oOmZPi5CCBb/N9JyLsO0UKoaoZ7TmObxZ82CnatgWhjLFBrMjX52kB6CzsHZydn5/tfs4XjcAmT5zlHIjN/pLO/rbvBqjqWo/rPF8gRADwcX/VcjFZJLDyQOQaClJWALn324xh+oZp3ft3ZidQ33tLFw1CMSnfuztLKIBXWy8gdinCuDm8cYn0WQ9himRmJDfXgSTNED/f3JGXsIyotjHsgMlFuTw8eGpiYgaGPDrMXvKuu8sWXVJXdIJ6XxeOj4dbh53pShEk5g0oB17NhATLMLBN1siB7PTaSaeq6JEeaDJlYaFQOCqcptLcmqy4aOW1bpqmbWloQIuskgYCp9ZLTNZbeS/veflW64unGV2F12/KmksoQnIUGtIsRPGawuu3xByq6aqpRti2aus1dMLtC6XkNRvxcvwv5Xij6ZW4tT6ZJeJ/xK7n69XxB55jOwiu37qMAAAAAElFTkSuQmCC",d={},h=o("h1",{id:"安装",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#安装"},[o("span",null,"安装")])],-1),g=o("h2",{id:"主程序-pc",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#主程序-pc"},[o("span",null,"主程序(PC)")])],-1),m={href:"https://zotero.org",target:"_blank",rel:"noopener noreferrer"},u=o("figure",null,[o("img",{src:p,alt:"image.png",tabindex:"0",loading:"lazy"}),o("figcaption",null,"image.png")],-1),A=o("h2",{id:"浏览器插件-zotero-connector",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#浏览器插件-zotero-connector"},[o("span",null,"浏览器插件 Zotero Connector")])],-1),_=o("p",null,"Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。",-1),f=o("p",null,"请在主程序安装完成后,打开常用的浏览器,点击上图右侧的 Install Connector 按钮下载。",-1),C=o("p",null,"支持常用浏览器:Chrome(谷歌浏览器),Firefox(火狐浏览器),Edge(微软自带浏览器),Safari(macOS 自带浏览器)。",-1),Z={class:"hint-container tip"},b=o("p",{class:"hint-container-title"},"提示",-1),k=o("p",null,"由于 Google Chrome Store 在国内无法正常访问,所以如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。",-1),z=o("p",null,"如果你使用谷歌浏览器且无法打开插件下载页面,可在其他镜像站下载。例如:",-1),y={href:"https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc",target:"_blank",rel:"noopener noreferrer"},x=o("p",null,[e("下载安装完毕后,在浏览器右上角可看到插件图标("),o("img",{src:a,alt:"icon-connector-document.png",loading:"lazy"}),e("或"),o("img",{src:r,alt:"image.png",loading:"lazy"}),e(")。此时,浏览器插件已经安装成功了。")],-1),q=o("img",{src:a,alt:"icon-connector-document.png",loading:"lazy"},null,-1),S=o("img",{src:r,alt:"image.png",loading:"lazy"},null,-1),J=o("img",{src:r,alt:"image.png",loading:"lazy"},null,-1),w={href:"https://zotero.yuque.com/staff-gkhviy/zotero/lx3yts?view=doc_embed",target:"_blank",rel:"noopener noreferrer"},G=o("h2",{id:"其他平台客户端",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#其他平台客户端"},[o("span",null,"其他平台客户端")])],-1),E=o("h3",{id:"ios",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#ios"},[o("span",null,"iOS")])],-1),L={href:"https://apps.apple.com/cn/app/zotero/id1513554812",target:"_blank",rel:"noopener noreferrer"},v=o("div",{class:"hint-container warning"},[o("p",{class:"hint-container-title"},"注意"),o("p",null,"要使用 iOS 客户端,需要使用官方同步或 WebDAV 同步二者之一,才能顺利同步附件。其他使用 ZotFile 等链接文件的同步方式不支持,未来也不会支持。")],-1),T=o("h3",{id:"android",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#android"},[o("span",null,"Android")])],-1),j={href:"https://forums.zotero.org/discussion/110371/available-for-beta-testing-zotero-for-android#latest",target:"_blank",rel:"noopener noreferrer"},X={href:"https://play.google.com/store/apps/details?id=org.zotero.android",target:"_blank",rel:"noopener noreferrer"},O={href:"https://ftp.linxingzhong.top/Zotero_android/",target:"_blank",rel:"noopener noreferrer"},N=o("p",null,"在官方版本正式发布前, Android 用户可使用以下第三方客户端:",-1),P=o("p",null,"Zoo for Zotero:",-1),W={href:"https://play.google.com/store/apps/details?id=com.mickstarify.zooforzotero",target:"_blank",rel:"noopener noreferrer"},B={href:"https://ftp.linxingzhong.top/zooforzotero_43_apps.evozi.com.apk",target:"_blank",rel:"noopener noreferrer"},K={href:"https://androidappsapk.co/detail-zoo-for-zotero/",target:"_blank",rel:"noopener noreferrer"};function U(R,V){const t=i("ExternalLinkIcon");return s(),c("div",null,[h,g,o("p",null,[e("请在 "),o("a",m,[e("Zotero 官网 (https://zotero.org)"),n(t)]),e(" 下载对应自己操作系统的安装包。")]),u,A,_,f,C,o("div",Z,[b,k,z,o("ul",null,[o("li",null,[o("a",y,[e("https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc"),n(t)])])])]),x,o("p",null,[e("当你打开一个可抓取文献的网页时,插件图标会显示为"),q,e(","),S,e("或"),J,e("等。稍后当我们设置完成,点击插件图标即可抓取文献。具体使用方法将在 "),o("a",w,[e("将条目添加进文献库"),n(t)]),e(" 小节中展开。")]),G,E,o("p",null,[e("Zotero 官方目前已开发有 iOS 客户端,在 App store 搜索下载 Zotero 即可,APP 首页:"),o("a",L,[e("Zotero for iOS"),n(t)]),e("。")]),v,T,o("p",null,[e("Zotero 官方现已发布 "),o("a",j,[e("Zotero for Android 测试版"),n(t)]),e(",然而,测试期间存在人数限制,且下载链接在 Google Play,国内下载不便,支持功能也有限,有条件的同学可以自行尝试。")]),o("ul",null,[o("li",null,[o("a",X,[e("Google Play"),n(t)])]),o("li",null,[o("a",O,[e("LingXingZhong 镜像"),n(t)])])]),N,o("ul",null,[o("li",null,[P,o("ul",null,[o("li",null,[o("a",W,[e("Google Play"),n(t)])]),o("li",null,[o("a",B,[e("LingXingZhong 镜像"),n(t)])]),o("li",null,[o("a",K,[e("Android Apps APK 镜像"),n(t)])])])])])])}const Y=l(d,[["render",U],["__file","install.html.vue"]]),F=JSON.parse('{"path":"/user-guide/install.html","title":"安装","lang":"zh-CN","frontmatter":{"title":"安装","icon":"install","date":"2023-04-19T22:27:07.000Z","updated":"2023-07-20T16:51:54.000Z","description":"安装 主程序(PC) 请在 Zotero 官网 (https://zotero.org) 下载对应自己操作系统的安装包。 image.pngimage.png 浏览器插件 Zotero Connector Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/install.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"安装"}],["meta",{"property":"og:description","content":"安装 主程序(PC) 请在 Zotero 官网 (https://zotero.org) 下载对应自己操作系统的安装包。 image.pngimage.png 浏览器插件 Zotero Connector Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:18.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-04-19T22:27:07.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:18.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"安装\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-04-19T22:27:07.000Z\\",\\"dateModified\\":\\"2024-02-02T05:17:18.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"主程序(PC)","slug":"主程序-pc","link":"#主程序-pc","children":[]},{"level":2,"title":"浏览器插件 Zotero Connector","slug":"浏览器插件-zotero-connector","link":"#浏览器插件-zotero-connector","children":[]},{"level":2,"title":"其他平台客户端","slug":"其他平台客户端","link":"#其他平台客户端","children":[{"level":3,"title":"iOS","slug":"ios","link":"#ios","children":[]},{"level":3,"title":"Android","slug":"android","link":"#android","children":[]}]}],"git":{"createdTime":1695169095000,"updatedTime":1706851038000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":2.19,"words":658},"filePathRelative":"user-guide/install.md","localizedDate":"2023年4月19日","autoDesc":true,"excerpt":"\\n

    主程序(PC)

    \\n

    请在 Zotero 官网 (https://zotero.org) 下载对应自己操作系统的安装包。

    \\n
    image.png
    \\n

    浏览器插件 Zotero Connector

    \\n

    Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。

    "}');export{Y as comp,F as data}; diff --git a/assets/item.html--vPl6iF0.js b/assets/item.html--vPl6iF0.js new file mode 100644 index 0000000000..d6d8cec609 --- /dev/null +++ b/assets/item.html--vPl6iF0.js @@ -0,0 +1,22 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as a,c as s,e as t}from"./app-pLjDz5vt.js";const e={},o=t(`

    Zotero 条目

    Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一个条目(Item)。

    大多数插件的最终目的就是修改这些条目,例如,添加标签,修改信息,等等。

    创建条目

    new Zotero.Item(itemType);
    +

    获取条目

    declare Zotero.Items.get: (ids: Number | Number[]) => ZoteroItem | ZoteroItem[];
    +declare Zotero.Items.getByLibraryAndKeyAsync: (
    +  libraryID: Number,
    +  itemKey: String
    +) => Promise<ZoteroItem>;
    +declare ZoteroPane.getSelectedItems: () => ZoteroItem[];
    +

    通过 Zotero.Items.get / getByLibraryAndKeyAsync 来从 ID 获取条目;
    通过 ZoteroPane.getSelectedItems 获取当前选中的条目。

    ZoteroPane.itemsView.getRow(2).ref;
    +

    修改条目

    对条目内容进行修改后,请使用 item.save / item.saveTx()来保存。

    var item = new Zotero.Item("computerProgram");
    +item.setType(Zotero.ItemTypes.getID("note"));
    +

    PDF 批注

    Zotero 中的批注也是 Item 类型!

    Zotero.Items.getAll(1).then((i) => i.filter((t) => t.isAnnotation()));
    +

    注释的属性:

    • annotationText:高亮注释的内容
    • parentItem:获得 pdf 条目
    const annotations = Zotero.Items.get(reader.itemID).getAnnotations();
    +reader.navigate({ annotationKey: annotations[0].key });
    +

    从对话框选择条目

    let io = { dataIn: null, dataOut: null, deferred: Zotero.Promise.defer() };
    +window.openDialog(
    +  "chrome://zotero/content/selectItemsDialog.xhtml",
    +  "",
    +  "chrome,dialog=no,centerscreen,resizable=yes",
    +  io
    +);
    +io.deferred.promise.then(() => console.debug(io));
    +
    `,20),p=[o];function c(i,l){return a(),s("div",null,p)}const d=n(e,[["render",c],["__file","item.html.vue"]]),k=JSON.parse('{"path":"/plugin-dev-guide/reference/item.html","title":"Zotero 条目","lang":"zh-CN","frontmatter":{"description":"Zotero 条目 Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/item.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero 条目"}],["meta",{"property":"og:description","content":"Zotero 条目 Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero 条目\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"创建条目","slug":"创建条目","link":"#创建条目","children":[]},{"level":2,"title":"获取条目","slug":"获取条目","link":"#获取条目","children":[]},{"level":2,"title":"修改条目","slug":"修改条目","link":"#修改条目","children":[]},{"level":2,"title":"PDF 批注","slug":"pdf-批注","link":"#pdf-批注","children":[]},{"level":2,"title":"从对话框选择条目","slug":"从对话框选择条目","link":"#从对话框选择条目","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.93,"words":280},"filePathRelative":"plugin-dev-guide/reference/item.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一个条目(Item)。

    \\n

    大多数插件的最终目的就是修改这些条目,例如,添加标签,修改信息,等等。

    \\n

    创建条目

    \\n
    new Zotero.Item(itemType);\\n
    "}');export{d as comp,k as data}; diff --git a/assets/jasminum.html-BF7O33Dg.js b/assets/jasminum.html-BF7O33Dg.js new file mode 100644 index 0000000000..7f7cc203a0 --- /dev/null +++ b/assets/jasminum.html-BF7O33Dg.js @@ -0,0 +1 @@ +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as i,c,a as t,b as e,d as o,w as d,e as a}from"./app-pLjDz5vt.js";const h={},p=t("h1",{id:"茉莉花",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#茉莉花"},[t("span",null,"茉莉花")])],-1),m={href:"https://github.com/l0o0/translators_CN",target:"_blank",rel:"noopener noreferrer"},u=t("br",null,null,-1),_={href:"https://github.com/l0o0/jasminum",target:"_blank",rel:"noopener noreferrer"},f=a('
    1. 拆分或合并 Zotero 中条目作者姓和名
    2. 根据知网上下载的文献文件来抓取引用信息(就是根据文件名)
    3. 添加中文 PDF/CAJ 时,自动拉取知网数据,该功能默认关闭。需要到设置中开启,注意添加的文件名需要含有中文,全英文没有效果(还是根据文件名)
    4. 为知网的学位论文 PDF 添加书签
    5. 更新中文 translators
    6. 拉取文献引用次数,是否核心期刊

    安装茉莉花

    01. 下载安装 Jasminum 插件

    ',3),g={href:"https://github.com/l0o0/jasminum/releases/latest",target:"_blank",rel:"noopener noreferrer"},k=t("code",null,".xpi",-1),b=t("h3",{id:"_02-配置-pdftk",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_02-配置-pdftk"},[t("span",null,"02. 配置 PDFtk")])],-1),x=t("h4",{id:"_2-1-下载与安装-pdftk",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_2-1-下载与安装-pdftk"},[t("span",null,"2.1 下载与安装 PDFtk")])],-1),P=t("strong",null,"Windows",-1),C=t("br",null,null,-1),D={href:"https://www.pdflabs.com/tools/pdftk-server/",target:"_blank",rel:"noopener noreferrer"},F=t("code",null,"C: \\Program Files (x86)\\PDFtk",-1),Z=t("br",null,null,-1),j=t("strong",null,"macOS",-1),v=t("br",null,null,-1),y={href:"https://github.com/l0o0/jasminum#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8",target:"_blank",rel:"noopener noreferrer"},N=a('

    2.2 在茉莉花中配置 PDFtk 路径

    在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 <PDFtk install dir>/bin (eg. C: \\Program Files (x86)\\PDFtk\\bin)(即 PDFtk 可执行文件所在目录)。

    03. 安装中文 Translator

    与上一步同一界面——Unofficial Translator Repository——Refresh——Update all。

    04. 更新中文 Translator

    打开已安装 Zotero Connector 的浏览器,右击 Zotero Connector 图标进入拓展选项,Advanced——Update Translators。

    如果你打开了日志,则会看到绿色标出的提示。

    ',7);function T(w,J){const r=n("ExternalLinkIcon"),l=n("RouteLink");return i(),c("div",null,[p,t("p",null,[e("比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 "),t("a",m,[e("GitHub.com/l0o0/translators_CN"),o(r)]),e(" 极大的提高其中文文献抓取能力。"),u,e(" 该库的主要维护者还开发了插件 "),t("a",_,[e("Jasminum - 茉莉花"),o(r)]),e(" 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:")]),f,t("p",null,[e("在 "),t("a",g,[e("Latest Release · l0o0/jasminum (GitHub.com)"),o(r)]),e(" 下载 "),k,e(" 文件,插件安装见 "),o(l,{to:"/user-guide/plugins/about-plugin.html"},{default:d(()=>[e("插件与功能扩展")]),_:1}),e(" 。")]),b,x,t("p",null,[P,C,e(" 下载并安装 "),t("a",D,[e("PDFtk server"),o(r)]),e(" ,记录安装路径(eg. "),F,e(")。"),Z,j,v,e(" MAC 用户参考 "),t("a",y,[e("这里"),o(r)]),e(" 。")]),N])}const B=s(h,[["render",T],["__file","jasminum.html.vue"]]),R=JSON.parse('{"path":"/user-guide/plugins/jasminum.html","title":"茉莉花","lang":"zh-CN","frontmatter":{"description":"茉莉花 比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。 该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/jasminum.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"茉莉花"}],["meta",{"property":"og:description","content":"茉莉花 比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。 该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"茉莉花\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"安装茉莉花","slug":"安装茉莉花","link":"#安装茉莉花","children":[{"level":3,"title":"01. 下载安装 Jasminum 插件","slug":"_01-下载安装-jasminum-插件","link":"#_01-下载安装-jasminum-插件","children":[]},{"level":3,"title":"02. 配置 PDFtk","slug":"_02-配置-pdftk","link":"#_02-配置-pdftk","children":[{"level":4,"title":"2.1 下载与安装 PDFtk","slug":"_2-1-下载与安装-pdftk","link":"#_2-1-下载与安装-pdftk","children":[]},{"level":4,"title":"2.2 在茉莉花中配置 PDFtk 路径","slug":"_2-2-在茉莉花中配置-pdftk-路径","link":"#_2-2-在茉莉花中配置-pdftk-路径","children":[]}]},{"level":3,"title":"03. 安装中文 Translator","slug":"_03-安装中文-translator","link":"#_03-安装中文-translator","children":[]},{"level":3,"title":"04. 更新中文 Translator","slug":"_04-更新中文-translator","link":"#_04-更新中文-translator","children":[]}]}],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.54,"words":462},"filePathRelative":"user-guide/plugins/jasminum.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。
    \\n该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:

    "}');export{B as comp,R as data}; diff --git a/assets/journeyDiagram-d5636530-Dn307crS.js b/assets/journeyDiagram-d5636530-Dn307crS.js new file mode 100644 index 0000000000..ac80b9a141 --- /dev/null +++ b/assets/journeyDiagram-d5636530-Dn307crS.js @@ -0,0 +1,139 @@ +import{c as I,v as yt,x as ft,s as dt,g as pt,b as gt,a as mt,z as xt,h as W,i as kt}from"./mermaid.core-xpSMncQK.js";import{d as _t,f as bt,a as vt,g as it}from"./svgDrawCommon-0ee1b4e9-BNVIMZiA.js";import{a as Q}from"./arc-DQUeFz1-.js";import"./app-pLjDz5vt.js";import"./path-CbwjOpE9.js";var G=function(){var t=function(p,s,r,a){for(r=r||{},a=p.length;a--;r[p[a]]=s);return r},e=[6,8,10,11,12,14,16,17,18],i=[1,9],l=[1,10],n=[1,11],h=[1,12],c=[1,13],f=[1,14],y={trace:function(){},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:function(s,r,a,u,d,o,w){var k=o.length-1;switch(d){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},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:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:l,14:n,16:h,17:c,18:f},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:function(s,r){if(r.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=r,a}},parse:function(s){var r=this,a=[0],u=[],d=[null],o=[],w=this.table,k="",R=0,Z=0,lt=2,J=1,ct=o.slice.call(arguments,1),x=Object.create(this.lexer),S={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(S.yy[z]=this.yy[z]);x.setInput(s,S.yy),S.yy.lexer=x,S.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var Y=x.yylloc;o.push(Y);var ht=x.options&&x.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ut(){var T;return T=u.pop()||x.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=r.symbols_[T]||T),T}for(var _,E,b,O,A={},N,$,K,B;;){if(E=a[a.length-1],this.defaultActions[E]?b=this.defaultActions[E]:((_===null||typeof _>"u")&&(_=ut()),b=w[E]&&w[E][_]),typeof b>"u"||!b.length||!b[0]){var q="";B=[];for(N in w[E])this.terminals_[N]&&N>lt&&B.push("'"+this.terminals_[N]+"'");x.showPosition?q="Parse error on line "+(R+1)+`: +`+x.showPosition()+` +Expecting `+B.join(", ")+", got '"+(this.terminals_[_]||_)+"'":q="Parse error on line "+(R+1)+": Unexpected "+(_==J?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(q,{text:x.match,token:this.terminals_[_]||_,line:x.yylineno,loc:Y,expected:B})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(b[0]){case 1:a.push(_),d.push(x.yytext),o.push(x.yylloc),a.push(b[1]),_=null,Z=x.yyleng,k=x.yytext,R=x.yylineno,Y=x.yylloc;break;case 2:if($=this.productions_[b[1]][1],A.$=d[d.length-$],A._$={first_line:o[o.length-($||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-($||1)].first_column,last_column:o[o.length-1].last_column},ht&&(A._$.range=[o[o.length-($||1)].range[0],o[o.length-1].range[1]]),O=this.performAction.apply(A,[k,Z,R,S.yy,b[1],d,o].concat(ct)),typeof O<"u")return O;$&&(a=a.slice(0,-1*$*2),d=d.slice(0,-1*$),o=o.slice(0,-1*$)),a.push(this.productions_[b[1]][0]),d.push(A.$),o.push(A._$),K=w[a[a.length-2]][a[a.length-1]],a.push(K);break;case 3:return!0}}return!0}},m=function(){var p={EOF:1,parseError:function(r,a){if(this.yy.parser)this.yy.parser.parseError(r,a);else throw new Error(r)},setInput:function(s,r){return this.yy=r||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},input:function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var r=s.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},unput:function(s){var r=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var u=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),a.length-1&&(this.yylineno-=a.length-1);var d=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:a?(a.length===u.length?this.yylloc.first_column:0)+u[u.length-a.length].length-a[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(s){this.unput(this.match.slice(s))},pastInput:function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var s=this.pastInput(),r=new Array(s.length+1).join("-");return s+this.upcomingInput()+` +`+r+"^"},test_match:function(s,r){var a,u,d;if(this.options.backtrack_lexer&&(d={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&&(d.yylloc.range=this.yylloc.range.slice(0))),u=s[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.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],a=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var o in d)this[o]=d[o];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,r,a,u;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),o=0;or[0].length)){if(r=a,u=o,this.options.backtrack_lexer){if(s=this.test_match(a,d[o]),s!==!1)return s;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(s=this.test_match(r,d[u]),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})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,a,u,d){switch(u){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;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";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"}},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 p}();y.lexer=m;function g(){this.yy={}}return g.prototype=y,y.Parser=g,new g}();G.parser=G;const wt=G;let C="";const H=[],V=[],F=[],$t=function(){H.length=0,V.length=0,C="",F.length=0,xt()},Tt=function(t){C=t,H.push(t)},Mt=function(){return H},St=function(){let t=D();const e=100;let i=0;for(;!t&&i{i.people&&t.push(...i.people)}),[...new Set(t)].sort()},Pt=function(t,e){const i=e.substr(1).split(":");let l=0,n=[];i.length===1?(l=Number(i[0]),n=[]):(l=Number(i[0]),n=i[1].split(","));const h=n.map(f=>f.trim()),c={section:C,type:C,people:h,task:t,score:l};F.push(c)},It=function(t){const e={section:C,type:C,description:t,task:t,classes:[]};V.push(e)},D=function(){const t=function(i){return F[i].processed};let e=!0;for(const[i,l]of F.entries())t(i),e=e&&l.processed;return e},At=function(){return Et()},tt={getConfig:()=>I().journey,clear:$t,setDiagramTitle:yt,getDiagramTitle:ft,setAccTitle:dt,getAccTitle:pt,setAccDescription:gt,getAccDescription:mt,addSection:Tt,getSections:Mt,getTasks:St,addTask:Pt,addTaskOrg:It,getActors:At},Ct=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}`:""}; + } +`,Vt=Ct,U=function(t,e){return _t(t,e)},Ft=function(t,e){const l=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");n.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"),n.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 h(y){const m=Q().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function c(y){const m=Q().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",m).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function f(y){y.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 e.score>3?h(n):e.score<3?c(n):f(n),l},rt=function(t,e){const i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),i.class!==void 0&&i.attr("class",i.class),e.title!==void 0&&i.append("title").text(e.title),i},at=function(t,e){return bt(t,e)},Lt=function(t,e){function i(n,h,c,f,y){return n+","+h+" "+(n+c)+","+h+" "+(n+c)+","+(h+f-y)+" "+(n+c-y*1.2)+","+(h+f)+" "+n+","+(h+f)}const l=t.append("polygon");l.attr("points",i(e.x,e.y,50,20,7)),l.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,at(t,e)},Rt=function(t,e,i){const l=t.append("g"),n=it();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),n.height=i.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,U(l,n),ot(i)(e.text,l,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},i,e.colour)};let et=-1;const Nt=function(t,e,i){const l=e.x+i.width/2,n=t.append("g");et++;const h=300+5*30;n.append("line").attr("id","task"+et).attr("x1",l).attr("y1",e.y).attr("x2",l).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Ft(n,{cx:l,cy:300+(5-e.score)*30,score:e.score});const c=it();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=i.width,c.height=i.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,U(n,c);let f=e.x+14;e.people.forEach(y=>{const m=e.actors[y].color,g={cx:f,cy:e.y,r:7,fill:m,stroke:"#000",title:y,pos:e.actors[y].position};rt(n,g),f+=10}),ot(i)(e.task,n,c.x,c.y,c.width,c.height,{class:"task"},i,e.colour)},Bt=function(t,e){vt(t,e)},ot=function(){function t(n,h,c,f,y,m,g,p){const s=h.append("text").attr("x",c+y/2).attr("y",f+m/2+5).style("font-color",p).style("text-anchor","middle").text(n);l(s,g)}function e(n,h,c,f,y,m,g,p,s){const{taskFontSize:r,taskFontFamily:a}=p,u=n.split(//gi);for(let d=0;d{const n=M[l].color,h={cx:20,cy:i,r:7,fill:n,stroke:"#000",pos:M[l].position};L.drawCircle(t,h);const c={x:40,y:i+7,fill:"#666",text:l,textMargin:e.boxTextMargin|5};L.drawText(t,c),i+=20})}const j=I().journey,P=j.leftMargin,Ot=function(t,e,i,l){const n=I().journey,h=I().securityLevel;let c;h==="sandbox"&&(c=W("#i"+e));const f=h==="sandbox"?W(c.nodes()[0].contentDocument.body):W("body");v.init();const y=f.select("#"+e);L.initGraphics(y);const m=l.db.getTasks(),g=l.db.getDiagramTitle(),p=l.db.getActors();for(const o in M)delete M[o];let s=0;p.forEach(o=>{M[o]={color:n.actorColours[s%n.actorColours.length],position:s},s++}),Yt(y),v.insert(0,0,P,Object.keys(M).length*50),qt(y,m,0);const r=v.getBounds();g&&y.append("text").text(g).attr("x",P).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const a=r.stopy-r.starty+2*n.diagramMarginY,u=P+r.stopx+2*n.diagramMarginX;kt(y,a,u,n.useMaxWidth),y.append("line").attr("x1",P).attr("y1",n.height*4).attr("x2",u-P-4).attr("y2",n.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const d=g?70:0;y.attr("viewBox",`${r.startx} -25 ${u} ${a+d}`),y.attr("preserveAspectRatio","xMinYMin meet"),y.attr("height",a+d+25)},v={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,i,l){t[e]===void 0?t[e]=i:t[e]=l(i,t[e])},updateBounds:function(t,e,i,l){const n=I().journey,h=this;let c=0;function f(y){return function(g){c++;const p=h.sequenceItems.length-c+1;h.updateVal(g,"starty",e-p*n.boxMargin,Math.min),h.updateVal(g,"stopy",l+p*n.boxMargin,Math.max),h.updateVal(v.data,"startx",t-p*n.boxMargin,Math.min),h.updateVal(v.data,"stopx",i+p*n.boxMargin,Math.max),y!=="activation"&&(h.updateVal(g,"startx",t-p*n.boxMargin,Math.min),h.updateVal(g,"stopx",i+p*n.boxMargin,Math.max),h.updateVal(v.data,"starty",e-p*n.boxMargin,Math.min),h.updateVal(v.data,"stopy",l+p*n.boxMargin,Math.max))}}this.sequenceItems.forEach(f())},insert:function(t,e,i,l){const n=Math.min(t,i),h=Math.max(t,i),c=Math.min(e,l),f=Math.max(e,l);this.updateVal(v.data,"startx",n,Math.min),this.updateVal(v.data,"starty",c,Math.min),this.updateVal(v.data,"stopx",h,Math.max),this.updateVal(v.data,"stopy",f,Math.max),this.updateBounds(n,c,h,f)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},X=j.sectionFills,st=j.sectionColours,qt=function(t,e,i){const l=I().journey;let n="";const h=l.height*2+l.diagramMarginY,c=i+h;let f=0,y="#CCC",m="black",g=0;for(const[p,s]of e.entries()){if(n!==s.section){y=X[f%X.length],g=f%X.length,m=st[f%st.length];let a=0;const u=s.section;for(let o=p;o(M[u]&&(a[u]=M[u]),a),{});s.x=p*l.taskMargin+p*l.width+P,s.y=c,s.width=l.diagramMarginX,s.height=l.diagramMarginY,s.colour=m,s.fill=y,s.num=g,s.actors=r,L.drawTask(t,s,l),v.insert(s.x,s.y,s.x+s.width+l.taskMargin,300+5*30)}},nt={setConf:zt,draw:Ot},Zt={parser:wt,db:tt,renderer:nt,styles:Vt,init:t=>{nt.setConf(t.journey),tt.clear()}};export{Zt as diagram}; diff --git a/assets/layout-Bq0hvzvr.js b/assets/layout-Bq0hvzvr.js new file mode 100644 index 0000000000..5aaa53acc7 --- /dev/null +++ b/assets/layout-Bq0hvzvr.js @@ -0,0 +1 @@ +import{i as F,b as xn,a as zn,c as L,k as Un,d as Hn,e as Jn,g as P,j as En,l as kn,m as yn,t as Zn,n as Nn,o as jn,p as Kn,f as s,G as x,h as w,q as g,r as M,v as y,s as Y}from"./graph-BVvHj2M5.js";import{Q as A,af as Qn,ag as ne,ah as ee,a5 as Ln,ai as B,J as _n,Z as re,D as Cn,C as Z,a3 as te,aj as ie,a2 as j,a1 as ae,X as In,P as oe,a7 as ue,ak as H}from"./mermaid.core-xpSMncQK.js";var de=/\s/;function fe(n){for(var e=n.length;e--&&de.test(n.charAt(e)););return e}var se=/^\s+/;function ce(n){return n&&n.slice(0,fe(n)+1).replace(se,"")}var un=NaN,he=/^[-+]0x[0-9a-f]+$/i,le=/^0b[01]+$/i,ve=/^0o[0-7]+$/i,pe=parseInt;function we(n){if(typeof n=="number")return n;if(F(n))return un;if(A(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=A(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=ce(n);var r=le.test(n);return r||ve.test(n)?pe(n.slice(2),r?2:8):he.test(n)?un:+n}var dn=1/0,me=17976931348623157e292;function S(n){if(!n)return n===0?n:0;if(n=we(n),n===dn||n===-dn){var e=n<0?-1:1;return e*me}return n===n?n:0}function be(n){var e=S(n),r=e%1;return e===e?r?e-r:e:0}function _(n){var e=n==null?0:n.length;return e?xn(n,1):[]}function ge(n){return Qn(ne(n,void 0,_),n+"")}var xe=1,Ee=4;function ke(n){return zn(n,xe|Ee)}var fn=function(){return ee.Date.now()},Rn=Object.prototype,ye=Rn.hasOwnProperty,Ne=Ln(function(n,e){n=Object(n);var r=-1,t=e.length,i=t>2?e[2]:void 0;for(i&&B(e[0],e[1],i)&&(t=1);++r-1?i[o?e[a]:a]:void 0}}var Ce=Math.max;function Ie(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:be(r);return i<0&&(i=Ce(t+i,0)),Hn(n,L(e),i)}var K=_e(Ie);function Tn(n,e){var r=-1,t=Cn(n)?Array(n.length):[];return Jn(n,function(i,o,a){t[++r]=e(i,o,a)}),t}function m(n,e){var r=Z(n)?P:Tn;return r(n,L(e))}function Re(n,e){return n==null?n:te(n,En(e),_n)}function Te(n,e){return n&&kn(n,En(e))}function Me(n,e){return n>e}function Mn(n,e){return ne||o&&a&&d&&!u&&!f||t&&a&&d||!r&&d||!i)return 1;if(!t&&!o&&!f&&n=u)return d;var f=r[t];return d*(f=="desc"?-1:1)}}return n.index-e.index}function Be(n,e,r){e.length?e=P(e,function(o){return Z(o)?function(a){return Nn(a,o.length===1?o[0]:o)}:o}):e=[j];var t=-1;e=P(e,oe(L));var i=Tn(n,function(o,a,u){var d=P(e,function(f){return f(o)});return{criteria:d,index:++t,value:o}});return Se(i,function(o,a){return Ae(o,a,r)})}function Ge(n,e){return Pe(n,e,function(r,t){return jn(n,t)})}var V=ge(function(n,e){return n==null?{}:Ge(n,e)}),Ve=Math.ceil,Ye=Math.max;function $e(n,e,r,t){for(var i=-1,o=Ye(Ve((e-n)/(r||1)),0),a=Array(o);o--;)a[t?o:++i]=n,n+=r;return a}function De(n){return function(e,r,t){return t&&typeof t!="number"&&B(e,r,t)&&(r=t=void 0),e=S(e),r===void 0?(r=e,e=0):r=S(r),t=t===void 0?e1&&B(n,e[0],e[1])?e=[]:r>2&&B(e[0],e[1],e[2])&&(e=[e[0]]),Be(n,xn(e,1),[])}),qe=0;function en(n){var e=++qe;return Kn(n)+e}function We(n,e,r){for(var t=-1,i=n.length,o=e.length,a={};++t0;--u)if(a=e[u].dequeue(),a){t=t.concat(q(n,e,r,a,!0));break}}}return t}function q(n,e,r,t,i){var o=i?[]:void 0;return s(n.inEdges(t.v),function(a){var u=n.edge(a),d=n.node(a.v);i&&o.push({v:a.v,w:a.w}),d.out-=u,J(e,r,d)}),s(n.outEdges(t.v),function(a){var u=n.edge(a),d=a.w,f=n.node(d);f.in-=u,J(e,r,f)}),n.removeNode(t.v),o}function je(n,e){var r=new x,t=0,i=0;s(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),s(n.edges(),function(u){var d=r.edge(u.v,u.w)||0,f=e(u),c=d+f;r.setEdge(u.v,u.w,c),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var o=N(i+t+3).map(function(){return new ze}),a=t+1;return s(r.nodes(),function(u){J(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function J(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function Ke(n){var e=n.graph().acyclicer==="greedy"?Je(n,r(n)):Qe(n);s(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,en("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Qe(n){var e=[],r={},t={};function i(o){w(t,o)||(t[o]=!0,r[o]=!0,s(n.outEdges(o),function(a){w(r,a.w)?e.push(a):i(a.w)}),delete r[o])}return s(n.nodes(),i),e}function nr(n){s(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function C(n,e,r,t){var i;do i=en(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function er(n){var e=new x().setGraph(n.graph());return s(n.nodes(),function(r){e.setNode(r,n.node(r))}),s(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function On(n){var e=new x({multigraph:n.isMultigraph()}).setGraph(n.graph());return s(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),s(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function cn(n,e){var r=n.x,t=n.y,i=e.x-r,o=e.y-t,a=n.width/2,u=n.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var d,f;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),d=u*i/o,f=u):(i<0&&(a=-a),d=a,f=a*o/i),{x:r+d,y:t+f}}function D(n){var e=m(N(Pn(n)+1),function(){return[]});return s(n.nodes(),function(r){var t=n.node(r),i=t.rank;g(i)||(e[i][t.order]=r)}),e}function rr(n){var e=R(m(n.nodes(),function(r){return n.node(r).rank}));s(n.nodes(),function(r){var t=n.node(r);w(t,"rank")&&(t.rank-=e)})}function tr(n){var e=R(m(n.nodes(),function(o){return n.node(o).rank})),r=[];s(n.nodes(),function(o){var a=n.node(o).rank-e;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=n.graph().nodeRankFactor;s(r,function(o,a){g(o)&&a%i!==0?--t:t&&s(o,function(u){n.node(u).rank+=t})})}function hn(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),C(n,"border",i,e)}function Pn(n){return E(m(n.nodes(),function(e){var r=n.node(e).rank;if(!g(r))return r}))}function ir(n,e){var r={lhs:[],rhs:[]};return s(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function ar(n,e){var r=fn();try{return e()}finally{console.log(n+" time: "+(fn()-r)+"ms")}}function or(n,e){return e()}function ur(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&s(t,e),w(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,d=!0);var f=M(e.edges(),function(c){return d===pn(n,n.node(c.v),u)&&d!==pn(n,n.node(c.w),u)});return nn(f,function(c){return T(e,c)})}function Dn(n,e,r,t){var i=r.v,o=r.w;n.removeEdge(i,o),n.setEdge(t.v,t.w,{}),an(n),tn(n,e),kr(n,e)}function kr(n,e){var r=K(n.nodes(),function(i){return!e.node(i).parent}),t=xr(n,r);t=t.slice(1),s(t,function(i){var o=n.node(i).parent,a=e.edge(i,o),u=!1;a||(a=e.edge(o,i),u=!0),e.node(i).rank=e.node(o).rank+(u?a.minlen:-a.minlen)})}function yr(n,e,r){return n.hasEdge(e,r)}function pn(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Nr(n){switch(n.graph().ranker){case"network-simplex":wn(n);break;case"tight-tree":_r(n);break;case"longest-path":Lr(n);break;default:wn(n)}}var Lr=rn;function _r(n){rn(n),Fn(n)}function wn(n){k(n)}function Cr(n){var e=C(n,"root",{},"_root"),r=Ir(n),t=E(y(r))-1,i=2*t+1;n.graph().nestingRoot=e,s(n.edges(),function(a){n.edge(a).minlen*=i});var o=Rr(n)+1;s(n.children(),function(a){qn(n,e,i,o,t,r,a)}),n.graph().nodeRankFactor=i}function qn(n,e,r,t,i,o,a){var u=n.children(a);if(!u.length){a!==e&&n.setEdge(e,a,{weight:0,minlen:r});return}var d=hn(n,"_bt"),f=hn(n,"_bb"),c=n.node(a);n.setParent(d,a),c.borderTop=d,n.setParent(f,a),c.borderBottom=f,s(u,function(h){qn(n,e,r,t,i,o,h);var l=n.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,b=l.borderTop?t:2*t,I=v!==p?1:i-o[a]+1;n.setEdge(d,v,{weight:b,minlen:I,nestingEdge:!0}),n.setEdge(p,f,{weight:b,minlen:I,nestingEdge:!0})}),n.parent(a)||n.setEdge(e,d,{weight:0,minlen:i+o[a]})}function Ir(n){var e={};function r(t,i){var o=n.children(t);o&&o.length&&s(o,function(a){r(a,i+1)}),e[t]=i}return s(n.children(),function(t){r(t,1)}),e}function Rr(n){return Y(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Tr(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,s(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Mr(n,e,r){var t={},i;s(r,function(o){for(var a=n.parent(o),u,d;a;){if(u=n.parent(a),u?(d=t[u],t[u]=a):(d=i,i=a),d&&d!==a){e.setEdge(d,a);return}a=u}})}function Or(n,e,r){var t=Pr(n),i=new x({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return n.node(o)});return s(n.nodes(),function(o){var a=n.node(o),u=n.parent(o);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),s(n[r](o),function(d){var f=d.v===o?d.w:d.v,c=i.edge(f,o),h=g(c)?0:c.weight;i.setEdge(f,o,{weight:n.edge(d).weight+h})}),w(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),i}function Pr(n){for(var e;n.hasNode(e=en("_root")););return e}function Sr(n,e){for(var r=0,t=1;t0;)c%2&&(h+=u[c+1]),c=c-1>>1,u[c]+=f.weight;d+=f.weight*h})),d}function Ar(n){var e={},r=M(n.nodes(),function(u){return!n.children(u).length}),t=E(m(r,function(u){return n.node(u).rank})),i=m(N(t+1),function(){return[]});function o(u){if(!w(e,u)){e[u]=!0;var d=n.node(u);i[d.rank].push(u),s(n.successors(u),o)}}var a=O(r,function(u){return n.node(u).rank});return s(a,o),i}function Br(n,e){return m(e,function(r){var t=n.inEdges(r);if(t.length){var i=Y(t,function(o,a){var u=n.edge(a),d=n.node(a.v);return{sum:o.sum+u.weight*d.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function Gr(n,e){var r={};s(n,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};g(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),s(e.edges(),function(i){var o=r[i.v],a=r[i.w];!g(o)&&!g(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=M(r,function(i){return!i.indegree});return Vr(t)}function Vr(n){var e=[];function r(o){return function(a){a.merged||(g(a.barycenter)||g(o.barycenter)||a.barycenter>=o.barycenter)&&Yr(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&n.push(a)}}for(;n.length;){var i=n.pop();e.push(i),s(i.in.reverse(),r(i)),s(i.out,t(i))}return m(M(e,function(o){return!o.merged}),function(o){return V(o,["vs","i","barycenter","weight"])})}function Yr(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function $r(n,e){var r=ir(n,function(c){return w(c,"barycenter")}),t=r.lhs,i=O(r.rhs,function(c){return-c.i}),o=[],a=0,u=0,d=0;t.sort(Dr(!!e)),d=mn(o,i,d),s(t,function(c){d+=c.vs.length,o.push(c.vs),a+=c.barycenter*c.weight,u+=c.weight,d=mn(o,i,d)});var f={vs:_(o)};return u&&(f.barycenter=a/u,f.weight=u),f}function mn(n,e,r){for(var t;e.length&&(t=G(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function Dr(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Wn(n,e,r,t){var i=n.children(e),o=n.node(e),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,d={};a&&(i=M(i,function(p){return p!==a&&p!==u}));var f=Br(n,i);s(f,function(p){if(n.children(p.v).length){var b=Wn(n,p.v,r,t);d[p.v]=b,w(b,"barycenter")&&Wr(p,b)}});var c=Gr(f,r);qr(c,d);var h=$r(c,t);if(a&&(h.vs=_([a,h.vs,u]),n.predecessors(a).length)){var l=n.node(n.predecessors(a)[0]),v=n.node(n.predecessors(u)[0]);w(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function qr(n,e){s(n,function(r){r.vs=_(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function Wr(n,e){g(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function Xr(n){var e=Pn(n),r=bn(n,N(1,e+1),"inEdges"),t=bn(n,N(e-1,-1,-1),"outEdges"),i=Ar(n);gn(n,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,d=0;d<4;++u,++d){zr(u%2?r:t,u%4>=2),i=D(n);var f=Sr(n,i);fa||u>e[d].lim));for(f=d,d=t;(d=n.parent(d))!==f;)o.push(d);return{path:i.concat(o.reverse()),lca:f}}function Jr(n){var e={},r=0;function t(i){var o=r;s(n.children(i),t),e[i]={low:o,lim:r++}}return s(n.children(),t),e}function Zr(n,e){var r={};function t(i,o){var a=0,u=0,d=i.length,f=G(o);return s(o,function(c,h){var l=Kr(n,c),v=l?n.node(l).order:d;(l||c===f)&&(s(o.slice(u,h+1),function(p){s(n.predecessors(p),function(b){var I=n.node(b),on=I.order;(onf)&&Xn(r,l,c)})})}function i(o,a){var u=-1,d,f=0;return s(a,function(c,h){if(n.node(c).dummy==="border"){var l=n.predecessors(c);l.length&&(d=n.node(l[0]).order,t(a,f,h,u,d),f=h,u=d)}t(a,f,a.length,d,o.length)}),a}return Y(e,i),r}function Kr(n,e){if(n.node(e).dummy)return K(n.predecessors(e),function(r){return n.node(r).dummy})}function Xn(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function Qr(n,e,r){if(e>r){var t=e;e=r,r=t}return w(n[e],r)}function nt(n,e,r,t){var i={},o={},a={};return s(e,function(u){s(u,function(d,f){i[d]=d,o[d]=d,a[d]=f})}),s(e,function(u){var d=-1;s(u,function(f){var c=t(f);if(c.length){c=O(c,function(b){return a[b]});for(var h=(c.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=c[l];o[f]===f&&dt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=$,e=(u,c)=>$(n(u),c),r=(u,c)=>n(u)-c):(t=n===$||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_($),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function E(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function R(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=R(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.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 Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function $n(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+R(n,Math.max(0,t+f-1))[0]}function Y(n,t){var e=R(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Z={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Y(n*100,t),r:Y,s:$n,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function En(n){var t=n.grouping===void 0||n.thousands===void 0?J:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,I=h.comma,w=h.precision,B=h.trim,d=h.type;d==="n"?(I=!0,d="g"):Z[d]||(w===void 0&&(w=12),B=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=Z[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),B&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}I&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var F,tn,rn;Rn({thousands:",",grouping:[3],currency:["$",""]});function Rn(n){return F=En(n),tn=F.format,rn=F.formatPrefix,F}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function In(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function Tn(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Bn:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),T)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Hn(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=In(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Tn(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Un(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Hn(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Yn(){var n=Xn();return n.copy=function(){return On(n,Yn())},cn.apply(n,arguments),Un(n)}export{On as a,_ as b,Xn as c,Yn as l,wn as t}; diff --git a/assets/link-citation-to-bibliography.html-NMTdahL_.js b/assets/link-citation-to-bibliography.html-NMTdahL_.js new file mode 100644 index 0000000000..99e7e87778 --- /dev/null +++ b/assets/link-citation-to-bibliography.html-NMTdahL_.js @@ -0,0 +1,215 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as t,o,c as p,a as n,b as s,d as i,e as l}from"./app-pLjDz5vt.js";const c="/assets/image-endnote-link-citation-to-bib-DZszhckc.png",r={},d=l('

    在 Word 中把引注链接到参考文献表

    描述

    建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:

    EndNote 中关于链接引注和参考文献表的选项
    EndNote 中关于链接引注和参考文献表的选项

    Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]

    从 Zotero 论坛发现了通过 Word 宏实现的功能 [2],虽有一些缺陷,但基本可以达成需求。

    配置及使用

    在 Word 里新建一个宏,添加宏代码如下:

    Public Sub ZoteroLinkCitation()
    +
    +' get selected area (if applicable)
    +    Dim nStart&, nEnd&
    +    nStart = Selection.Start
    +    nEnd = Selection.End
    +
    +' toggle screen updating
    +    Application.ScreenUpdating = False
    +
    +' define variables
    +    Dim title As String
    +    Dim titleAnchor As String
    +    Dim style As String
    +    Dim fieldCode As String
    +    Dim numOrYear As String
    +    Dim pos&, n1&, n2&, n3&
    +
    +    ActiveWindow.View.ShowFieldCodes = True
    +    Selection.Find.ClearFormatting
    +
    +' find the Zotero bibliography
    +    With Selection.Find
    +        .Text = "^d ADDIN ZOTERO_BIBL"
    +        .Replacement.Text = ""
    +        .Forward = True
    +        .Wrap = wdFindContinue
    +        .Format = False
    +        .MatchCase = False
    +        .MatchWholeWord = False
    +        .MatchWildcards = False
    +        .MatchSoundsLike = False
    +        .MatchAllWordForms = False
    +    End With
    +    Selection.Find.Execute
    +
    +    ' add bookmark for the Zotero bibliography
    +    With ActiveDocument.Bookmarks
    +        .Add Range:=Selection.Range, Name:="Zotero_Bibliography"
    +        .DefaultSorting = wdSortByName
    +        .ShowHidden = True
    +    End With
    +
    +    ' loop through each field in the document
    +    For Each aField In ActiveDocument.Fields
    +        ' check if the field is a Zotero in-text reference
    +        '##################################################
    +        If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then
    +            fieldCode = aField.Code
    +            '#############
    +            ' Prepare
    +            ' Plain citation== Format of Textfield shown
    +            ' must be in Brackets
    +            Dim plain_Cit As String
    +            plCitStrBeg = """plainCitation"":""["
    +            plCitStrEnd = "]"""
    +            n1 = InStr(fieldCode, plCitStrBeg)
    +            n1 = n1 + Len(plCitStrBeg)
    +            n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1
    +            plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2)
    +            'Reference 'as shown' in word as a string
    +
    +            'Title array in fieldCode (all referenced Titles within this field)
    +            Dim array_RefTitle(32) As String
    +            i = 0
    +            Do While InStr(fieldCode, """title"":""") > 0
    +                n1 = InStr(fieldCode, """title"":""") + Len("""title"":""")
    +                n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1
    +                If n2 < n1 Then 'Exception the type 'Article'
    +                    n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1
    +                End If
    +                array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1)
    +                fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1)
    +                i = i + 1
    +            Loop
    +            Titles_in_Cit = i
    +
    +            'Number array with References shown in PlainCit
    +            'Numer is equal or less than Titels, depending on the type
    +            '[3], [8]-[10]; [2]-[4]; [2], [4], [5]
    +            ' All citations have to be in Brackets each! [3], [8] not [3, 8]
    +            ' This doesnt work otherwise!
    +            ' --> treatment of other delimiters could be implemented here
    +            Dim RefNumber(32) As String
    +            i = 0
    +            Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0
    +                n1 = InStr(plain_Cit, "[")
    +                n2 = InStr(plain_Cit, "]")
    +                RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1))
    +                plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1)
    +            i = i + 1
    +            Loop
    +            Refs_in_Cit = i
    +                 'treat only the shown references (skip the rest)
    +            '[3], [8]-[10] --> skip [9]
    +            'Order of titles given from fieldcode, not checked!
    +            If Titles_in_Cit > Refs_in_Cit Then
    +                array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1)
    +                i = 1
    +                Do While Refs_in_Cit + i <= Titles_in_Cit
    +                    array_RefTitle(Refs_in_Cit + i - 1) = ""
    +                    i = i + 1
    +                Loop
    +            End If
    +
    +            '#############
    +            'Make the links
    +            For Refs = 0 To Refs_in_Cit - 1 Step 1
    +                title = array_RefTitle(Refs)
    +                array_RefTitle(Refs) = ""
    +                ' make title a valid bookmark name
    +                titleAnchor = title
    +                titleAnchor = MakeValidBMName(titleAnchor)
    +
    +                ActiveWindow.View.ShowFieldCodes = False
    +                Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography"
    +
    +                '' locate the corresponding reference in the bibliography
    +                '' by searching for its title
    +                Selection.Find.ClearFormatting
    +                With Selection.Find
    +                    .Text = Left(title, 255)
    +                    .Replacement.Text = ""
    +                    .Forward = True
    +                    .Wrap = wdFindContinue
    +                    .Format = False
    +                    .MatchCase = False
    +                    .MatchWholeWord = False
    +                    .MatchWildcards = False
    +                    .MatchSoundsLike = False
    +                    .MatchAllWordForms = False
    +                End With
    +                Selection.Find.Execute
    +
    +                ' select the whole caption (for mouseover tooltip)
    +                Selection.MoveStartUntil ("["), Count:=wdBackward
    +                Selection.MoveEndUntil (vbBack)
    +                lnkcap = "[" & Selection.Text
    +                lnkcap = Left(lnkcap, 70)
    +
    +                ' add bookmark for the reference within the bibliography
    +                Selection.Shrink
    +                With ActiveDocument.Bookmarks
    +                    .Add Range:=Selection.Range, Name:=titleAnchor
    +                    .DefaultSorting = wdSortByName
    +                    .ShowHidden = True
    +                End With
    +
    +                ' jump back to the field
    +                aField.Select
    +                ' find and select the numeric part of the field which will become the hyperlink
    +                Selection.Find.ClearFormatting
    +                With Selection.Find
    +                    .Text = RefNumber(Refs)
    +                    .Replacement.Text = ""
    +                    .Forward = True
    +                    .Wrap = wdFindContinue
    +                    .Format = False
    +                    .MatchCase = False
    +                    .MatchWholeWord = False
    +                    .MatchWildcards = False
    +                    .MatchSoundsLike = False
    +                    .MatchAllWordForms = False
    +                End With
    +                Selection.Find.Execute
    +
    +                numOrYear = Selection.Range.Text & ""
    +
    +                ' store current style
    +                style = Selection.style
    +                ' Generate the Hyperlink -->Forward!
    +                ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear
    +                ' reset the style
    +                Selection.style = style
    +
    +                ' comment if you want standard link style
    +                aField.Select
    +                With Selection.Font
    +                     .Underline = wdUnderlineNone
    +                     .ColorIndex = wdBlack
    +                End With
    +
    +            Next Refs 'References in Cit
    +
    +        End If  'If Zotero-Field
    +        '#########################
    +
    +        Next aField ' next field
    +
    +        ' go back to original range selected
    +        ActiveWindow.View.ShowFieldCodes = False
    +        ActiveDocument.Range(nStart, nEnd).Select
    +
    +    End Sub
    +    Function MakeValidBMName(strIn As String)
    +        Dim pFirstChr As String
    +        Dim i As Long
    +        Dim tempStr As String
    +        strIn = Trim(strIn)
    +        pFirstChr = Left(strIn, 1)
    +        If Not pFirstChr Like "[A-Za-z]" Then
    +            strIn = "A_" & strIn
    +        End If
    +        For i = 1 To Len(strIn)
    +            Select Case Asc(Mid$(strIn, i, 1))
    +            Case 49 To 57, 65 To 90, 97 To 122
    +                tempStr = tempStr & Mid$(strIn, i, 1)
    +            Case Else
    +                tempStr = tempStr & "_"
    +            End Select
    +            Next i
    +            tempStr = Replace(tempStr, "  ", " ")
    +            MakeValidBMName = Left(tempStr, 40)
    +        End Function
    +

    缺陷和注意事项

    • 手动更新引注时会出现引注已被修改的弹窗
    • 无法实现从参考文献表跳转到引注
    • 同时引用多个引注时只能链接最后一个。

    `,12),u={class:"footnotes"},k={class:"footnotes-list"},m=n("li",{id:"footnote1",class:"footnote-item"},[n("p",null,[s("来源添加 "),n("a",{href:"#footnote-ref1",class:"footnote-backref"},"↩︎")])],-1),v={id:"footnote2",class:"footnote-item"},b={href:"https://forums.zotero.org/discussion/comment/324312/#Comment_324312",target:"_blank",rel:"noopener noreferrer"},y=n("a",{href:"#footnote-ref2",class:"footnote-backref"},"↩︎",-1);function h(f,w){const a=t("ExternalLinkIcon");return o(),p("div",null,[d,n("section",u,[n("ol",k,[m,n("li",v,[n("p",null,[n("a",b,[s("Word: Possibility to link references and bibliography in a document? -  Zotero Forums"),i(a)]),s(),y])])])])])}const S=e(r,[["render",h],["__file","link-citation-to-bibliography.html.vue"]]),_=JSON.parse('{"path":"/user-guide/misc/link-citation-to-bibliography.html","title":"在 Word 中把引注链接到参考文献表","lang":"zh-CN","frontmatter":{"date":"2022-07-29T20:23:17.000Z","author":[{"name":"Northword","url":"https://northword.dev"}],"updated":"2023-10-04T11:59:36.000Z","title":"在 Word 中把引注链接到参考文献表","description":"在 Word 中把引注链接到参考文献表 描述 建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”: EndNote 中关于链接引注和参考文献表的选项E...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/misc/link-citation-to-bibliography.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"在 Word 中把引注链接到参考文献表"}],["meta",{"property":"og:description","content":"在 Word 中把引注链接到参考文献表 描述 建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”: EndNote 中关于链接引注和参考文献表的选项E..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Northword"}],["meta",{"property":"article:published_time","content":"2022-07-29T20:23:17.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"在 Word 中把引注链接到参考文献表\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-07-29T20:23:17.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\",\\"url\\":\\"https://northword.dev\\"}]}"]]},"headers":[{"level":2,"title":"描述","slug":"描述","link":"#描述","children":[]},{"level":2,"title":"配置及使用","slug":"配置及使用","link":"#配置及使用","children":[]},{"level":2,"title":"缺陷和注意事项","slug":"缺陷和注意事项","link":"#缺陷和注意事项","children":[]}],"git":{"createdTime":1696420690000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":3.35,"words":1006},"filePathRelative":"user-guide/misc/link-citation-to-bibliography.md","localizedDate":"2022年7月29日","autoDesc":true,"excerpt":"\\n

    描述

    \\n

    建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:

    \\n
    EndNote 中关于链接引注和参考文献表的选项
    \\n

    Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]

    "}');export{S as comp,_ as data}; diff --git a/assets/linter.html-helJW-r0.js b/assets/linter.html-helJW-r0.js new file mode 100644 index 0000000000..97381c7fb2 --- /dev/null +++ b/assets/linter.html-helJW-r0.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as r,a as e}from"./app-pLjDz5vt.js";const n={},i=e("h1",{id:"linter-for-zotero",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#linter-for-zotero"},[e("span",null,"Linter for Zotero")])],-1),a=e("div",{class:"hint-container note"},[e("p",{class:"hint-container-title"},"Todo")],-1),c=[i,a];function s(l,p){return o(),r("div",null,c)}const h=t(n,[["render",s],["__file","linter.html.vue"]]),u=JSON.parse('{"path":"/user-guide/plugins/linter.html","title":"Linter for Zotero","lang":"zh-CN","frontmatter":{"description":"Linter for Zotero Todo","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/linter.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Linter for Zotero"}],["meta",{"property":"og:description","content":"Linter for Zotero Todo"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Linter for Zotero\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.02,"words":5},"filePathRelative":"user-guide/plugins/linter.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    Todo

    \\n
    \\n"}');export{h as comp,u as data}; diff --git a/assets/localization.html-CYmCNS7D.js b/assets/localization.html-CYmCNS7D.js new file mode 100644 index 0000000000..fc2a8fed4b --- /dev/null +++ b/assets/localization.html-CYmCNS7D.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as a,c as i,a as e,b as t,d as r}from"./app-pLjDz5vt.js";const c={},s=e("h1",{id:"i18n",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#i18n"},[e("span",null,"i18n")])],-1),p=e("p",null,[e("code",null,"locales/")],-1),d={class:"hint-container note"},u=e("p",{class:"hint-container-title"},"Todo",-1),h=e("p",null,"Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档:",-1),f={href:"https://www.zotero.org/support/dev/zotero_7_for_developers#localization",target:"_blank",rel:"noopener noreferrer"},m={href:"https://firefox-source-docs.mozilla.org/l10n/fluent/tutorial.html#markup-localization",target:"_blank",rel:"noopener noreferrer"},_={href:"https://projectfluent.org/",target:"_blank",rel:"noopener noreferrer"};function g(v,z){const o=l("ExternalLinkIcon");return a(),i("div",null,[s,p,e("div",d,[u,h,e("ul",null,[e("li",null,[e("a",f,[t("Zotero 7 for developers"),r(o)])]),e("li",null,[e("a",m,[t("Fluent for Firefox Developers"),r(o)])]),e("li",null,[e("a",_,[t("Fluent 文档"),r(o)])])])])])}const y=n(c,[["render",g],["__file","localization.html.vue"]]),Z=JSON.parse('{"path":"/plugin-dev-guide/reference/localization.html","title":"i18n","lang":"zh-CN","frontmatter":{"description":"i18n locales/ Todo Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档: Zotero 7 for developers Fluent for Firefox Developers Fluent 文档","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/localization.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"i18n"}],["meta",{"property":"og:description","content":"i18n locales/ Todo Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档: Zotero 7 for developers Fluent for Firefox Developers Fluent 文档"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"i18n\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.17,"words":50},"filePathRelative":"plugin-dev-guide/reference/localization.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    locales/

    \\n
    \\n

    Todo

    \\n

    Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档:

    \\n\\n
    "}');export{y as comp,Z as data}; diff --git a/assets/magic.html-C_g1dYuG.js b/assets/magic.html-C_g1dYuG.js new file mode 100644 index 0000000000..15e606600c --- /dev/null +++ b/assets/magic.html-C_g1dYuG.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as n,c as a,a as e,b as t,d as c}from"./app-pLjDz5vt.js";const s={},p=e("h1",{id:"magic-for-zotero",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#magic-for-zotero"},[e("span",null,"Magic for Zotero")])],-1),m={class:"hint-container note"},l=e("p",{class:"hint-container-title"},"Todo",-1),d={href:"https://wiki.magiczotero.top/",target:"_blank",rel:"noopener noreferrer"};function h(g,u){const o=i("ExternalLinkIcon");return n(),a("div",null,[p,e("div",m,[l,e("p",null,[t("见:"),e("a",d,[t("https://wiki.magiczotero.top/"),c(o)])])])])}const y=r(s,[["render",h],["__file","magic.html.vue"]]),z=JSON.parse('{"path":"/user-guide/plugins/magic.html","title":"Magic for Zotero","lang":"zh-CN","frontmatter":{"description":"Magic for Zotero Todo 见:https://wiki.magiczotero.top/","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/magic.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Magic for Zotero"}],["meta",{"property":"og:description","content":"Magic for Zotero Todo 见:https://wiki.magiczotero.top/"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Magic for Zotero\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.03,"words":8},"filePathRelative":"user-guide/plugins/magic.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n\\n"}');export{y as comp,z as data}; diff --git a/assets/manifest.html-DUorWwCR.js b/assets/manifest.html-DUorWwCR.js new file mode 100644 index 0000000000..87f28d1473 --- /dev/null +++ b/assets/manifest.html-DUorWwCR.js @@ -0,0 +1,16 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as t,o as l,c as p,a as e,b as n,d as o,w as c,e as a}from"./app-pLjDz5vt.js";const d={},u=e("h1",{id:"插件清单",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#插件清单"},[e("span",null,"插件清单")])],-1),h=e("p",null,[e("code",null,"manifest.json"),n(" 是插件的清单文件,它是一个允许使用 "),e("code",null,"//"),n(" 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。")],-1),m=e("p",null,"在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。",-1),v={href:"https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json",target:"_blank",rel:"noopener noreferrer"},f=a(`

    示例

    下面是一个典型的 manifest.json 文件,内容来源于官方插件示例 Make It Red

    {
    +  "manifest_version": 2,
    +  "name": "Make It Red",
    +  "version": "2.0",
    +  "description": "Makes everything red",
    +  "homepage_url": "https://github.com/zotero/make-it-red",
    +  "applications": {
    +    "zotero": {
    +      "id": "make-it-red@example.com",
    +      "update_url": "https://zotero-download.s3.amazonaws.com/tmp/make-it-red/updates-2.0.json",
    +      "strict_min_version": "6.999",
    +      "strict_max_version": "7.0.*"
    +    }
    +  }
    +}
    +

    属性参考

    manifest_version

    • 类型:number
    • 强制性:强制

    此键指定扩展使用的 manifest.json 的版本。

    值须是且仅能是 2

    name

    • 类型:string
    • 强制性:强制

    插件的名称,本地化可参考 manifest 的本地化

    version

    • 类型:string
    • 强制性:强制

    插件的版本,一般格式为由点分隔的数字组成的 ASCII 字符串。

    版本格式

    版本字符串由 1 到 4 个数字组成,数字之间用点分隔,例如 1.2.3.4 。非零数字不得包含前导零。例如,不允许使用 2.01 ;但是, 0.22.0.12.10 是允许的。

    版本比较

    为了确定两个扩展版本中哪一个是最新的,需要从左到右比较版本字符串号。缺少版本字符串元素相当于 0 。例如,1.0 相当于 1.0.0.0。第一个版本字符串的编号大于另一个版本字符串中对应编号的版本字符串是最新的。例如,1.10 是比 1.9 更新的版本。

    applications

    类型:object
    强制性:强制

    此项必须包含属性 zotero

    zotero

    id

    id 即扩展 ID。必填项。通常的,大家都使用邮箱格式来命名插件 ID

    strict_min_version

    插件所能支持的 Zotero 的最小版本号。不允许使用 * 来定义版本号。默认值为 "42a1"。

    strict_max_version

    插件所能支持的 Zotero 的最大版本号。如果安装或运行附加组件的 Firefox 版本号高于这个最大版本号,附加组件将不能运行或不允许被安装。默认值为"*",意思为不对最大版本号做检查。

    update_url
    `,29),k=a('

    author

    • 类型:string
    • 强制性:非强制

    附加组件的作者,用于在浏览器用户界面上显示,这样别人下载安装使用该附加组件的时候,就能看见你的大名了。

    description

    • 类型:string
    • 强制性:非强制

    用于在用户下载安装使用界面中显示的一段简短的关于该附加组件的描述。

    这是一个可本地化的键。

    homepage_url

    • 类型:string
    • 强制性:非强制

    如果 developer 键存在且包含 url 属性,它将会覆盖 homepage_url 键。

    这是一个可本地化的键。

    manifest 的本地化

    ',12),g={class:"hint-container tip"},_=e("p",{class:"hint-container-title"},"Todo",-1),b={href:"https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Internationalization#%E5%9B%BD%E9%99%85%E5%8C%96_manifest.json",target:"_blank",rel:"noopener noreferrer"},x=e("h2",{id:"参考资料",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#参考资料"},[e("span",null,"参考资料")])],-1),q={href:"https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json",target:"_blank",rel:"noopener noreferrer"},z={href:"https://www.zotero.org/support/dev/zotero_7_for_developers",target:"_blank",rel:"noopener noreferrer"};function y(j,E){const s=t("ExternalLinkIcon"),i=t("RouteLink");return l(),p("div",null,[u,h,m,e("p",null,[n("此文件与 "),e("a",v,[n("Web Extension 的 manifest.json"),o(s)]),n(" 基本一致,只是减少了一些字段。")]),f,e("p",null,[n("链接到插件 "),o(i,{to:"/plugin-dev-guide/reference/update.html"},{default:c(()=>[n("更新清单")]),_:1}),n(" 的链接。注意链接必须以“https”开头。这是为了使你自己就能够管理附加组件的更新。")]),k,e("div",g,[_,e("p",null,[n("参考:"),e("a",b,[n("https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Internationalization#国际化_manifest.json"),o(s)])])]),x,e("ul",null,[e("li",null,[e("a",q,[n("Web Extension 的 manifest.json"),o(s)])]),e("li",null,[e("a",z,[n("Zotero 7 for developers"),o(s)])])])])}const C=r(d,[["render",y],["__file","manifest.html.vue"]]),I=JSON.parse('{"path":"/plugin-dev-guide/reference/manifest.html","title":"插件清单","lang":"zh-CN","frontmatter":{"author":[{"name":"northword","url":"https://github.com/northword/"}],"description":"插件清单 manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。 在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。 此文件与 Web Extension 的 manifest.json 基本一致,只是减少了一些字段。 示例 下面是一个典型的 ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/manifest.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"插件清单"}],["meta",{"property":"og:description","content":"插件清单 manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。 在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。 此文件与 Web Extension 的 manifest.json 基本一致,只是减少了一些字段。 示例 下面是一个典型的 ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"northword"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"插件清单\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"northword\\",\\"url\\":\\"https://github.com/northword/\\"}]}"]]},"headers":[{"level":2,"title":"示例","slug":"示例","link":"#示例","children":[]},{"level":2,"title":"属性参考","slug":"属性参考","link":"#属性参考","children":[{"level":3,"title":"manifest_version","slug":"manifest-version","link":"#manifest-version","children":[]},{"level":3,"title":"name","slug":"name","link":"#name","children":[]},{"level":3,"title":"version","slug":"version","link":"#version","children":[{"level":4,"title":"版本格式","slug":"版本格式","link":"#版本格式","children":[]},{"level":4,"title":"版本比较","slug":"版本比较","link":"#版本比较","children":[]}]},{"level":3,"title":"applications","slug":"applications","link":"#applications","children":[{"level":4,"title":"zotero","slug":"zotero","link":"#zotero","children":[{"level":5,"title":"id","slug":"id","link":"#id","children":[]},{"level":5,"title":"strict_min_version","slug":"strict-min-version","link":"#strict-min-version","children":[]},{"level":5,"title":"strict_max_version","slug":"strict-max-version","link":"#strict-max-version","children":[]},{"level":5,"title":"update_url","slug":"update-url","link":"#update-url","children":[]}]}]},{"level":3,"title":"author","slug":"author","link":"#author","children":[]},{"level":3,"title":"description","slug":"description","link":"#description","children":[]},{"level":3,"title":"homepage_url","slug":"homepage-url","link":"#homepage-url","children":[]}]},{"level":2,"title":"manifest 的本地化","slug":"manifest-的本地化","link":"#manifest-的本地化","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.7,"words":811},"filePathRelative":"plugin-dev-guide/reference/manifest.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。

    \\n

    在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。

    \\n

    此文件与 Web Extension 的 manifest.json 基本一致,只是减少了一些字段。

    "}');export{C as comp,I as data}; diff --git a/assets/markdown.html-CzdJaUa9.js b/assets/markdown.html-CzdJaUa9.js new file mode 100644 index 0000000000..6c0e229c1d --- /dev/null +++ b/assets/markdown.html-CzdJaUa9.js @@ -0,0 +1,129 @@ +import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as d,o as p,c as r,a as n,d as s,w as e,b as a,e as l}from"./app-pLjDz5vt.js";const u={},m=n("h1",{id:"文档风格指南",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#文档风格指南"},[n("span",null,"文档风格指南")])],-1),v={class:"table-of-contents"},k=l(`

    文件命名

    文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。
    由于 Windows 不区分文件名大小写,故而 option-B.mdoption-b.md 在 Windows 下会出现冲突。

    我们使用的文件的命名规则是:

    • 文件名一律采用小写字母
    • 文件名应尽量使用单词全称,避免使用各种形式的简写
    • 若文件名中含多个单词,应使用连字符 (hyphen) - 连接

    文档 Frontmatter 规范

    通过 Frontmatter 为每个 Markdown 页面引入配置。

    Frontmatter 必须在 Markdown 文件的顶部,并且被包裹在一对三短划线中间。下面是一个基本的示例:

    ---
    +title: 页面的标题
    +icon: markdown
    +author:
    +  - name: 作者1
    +    url: https://github.com/windingwind
    +  - name: 作者2
    +    url: https://northword.cn
    +  - name: 作者3
    +date: 2023-07-20 23:46:54
    +updated: 2023-07-21 18:39:41
    +---
    +
    +<!-- 这里是 Markdown 内容 -->
    +
    +...
    +

    下面是一些常用的 Frontmatter 键:

    类型必填默认值描述
    titlestring第一个一级标题页面的标题。如果你不在 Frontmatter 中设置 title ,那么页面中第一个一级标题(即 # title)的内容会被当作标题使用。
    shortTitlestring标题当前页面的短标题,会在导航栏、侧边栏和路径导航中作为首选。
    iconstring当前页面的图标
    author--见下述
    datastring文件的创建日期文档的创建日期
    updatestring文件的更新日期该值其实无用,页面显示的最后更新时间是 Git 提交时间

    \`author\` 详解

    author 由一组 author.nameauthor.url / author.email 组成,其中 urlemail 都是可选的。

    尤其需要注意的是缩进,name 前空二格,加一个短横线 -,空一格。urlemailname 保持对齐,不需要加 -

    `,11),h={class:"hint-container details"},b=n("summary",null,"更多的 Frontmatter 可以参考框架的文档",-1),g={href:"https://theme-hope.vuejs.press/zh/config/frontmatter/info.html",target:"_blank",rel:"noopener noreferrer"},f={href:"https://theme-hope.vuejs.press/zh/config/frontmatter/layout.html#dir",target:"_blank",rel:"noopener noreferrer"},w=l(`

    文档语法风格

    所有教程均采用 Markdown 语言编写,下面列出了一些本文档中可能用到的语法和注意事项。

    标题

    # 一级标题
    +
    +## 二级标题
    +
    +### 三级标题
    +
    +#### 四级标题
    +

    提示

    一级标题是文档名,对应页面标题。一篇文档应有且只有一个一级标题

    • 文档内容从二级标题开始。
    • 文档中标题级别应逐级递增,例如:二级标题内应跟随三级标题,而不能越过三级标题直接使用四级标题
    • 标题不应含有特殊字符:如 latex 公式,代码块,数字编号等,不应以标点符号结尾
    • 标题前后空一行。

    正文文本

    正文段落 1
    +(空行)
    +正文段落 2
    +

    提示

    • 中文字符与英文字符和数字之间应加上空格,如 中文 ABC 中文 而非 中文ABC中文
      中文 123 中文 而非 中文123中文
    • 标点符号采用全角,如
      标点符号与中文字符、英文字符以及数字之间不需加空格
    • 大小写应正确,如:Zotero 不是 zoteroGitHub 不是 github
    • 正文中部分专有词和特殊符号,可以放入 行内代码 来表示,美观且不容易发生错误,例如:
      操作步骤:编辑 - 设置 - 引用

    文字样式

    这是一段文本,
    +**用两对星号包裹的内容会被加粗**,
    +而*只用一对星号(或下划线)包裹的内容会显示为斜体*,
    +用~~两对波浪线包裹的内容会显示为删除~~,
    +上下标:19^th^ H~2~O,
    +你可以标记 ==重要的内容== 。
    +

    预览:
    这是一段文本,
    用两对星号包裹的内容会被加粗
    只用一对星号(或下划线)包裹的内容会显示为斜体
    两对波浪线包裹的内容会显示为删除
    上下标:19th H2O,
    你可以标记 重要的内容

    `,12),_={id:"徽章-推荐",tabindex:"-1"},x={class:"header-anchor",href:"#徽章-推荐"},y=l(`

    可以通过徽章来标记文档阅读难度、推荐等。语法是将类型放入一对 _ (斜体)中。可以在正文和标题中使用,但是不能在一级标题(页面标题)中使用。

    _初级_
    +_中级_
    +_高级_
    +_推荐_
    +
    +通过 DOI 更新元数据 _初级_ 。
    +
    `,2),q=n("br",null,null,-1),B=n("br",null,null,-1),T=n("br",null,null,-1),j=l(`

    无序列表和有序列表

    #### 无序列表
    +
    +- item 1
    +  - 更多的列表项
    +  - 更多的列表项
    +  - 更多的列表项
    +- item 2
    +- item 3
    +
    +#### 有序列表
    +
    +1. item 1
    +2. item 2
    +3. item 3
    +

    链接

    [相对路径访问主页](../README.md)
    +
    +[相对路径访问贡献指南](./contributing.md)
    +

    图片

    ![图片描述](../.vuepress/public/assets/icon/chrome-192.png)
    +

    提示

    所有的图片资源都应放入 src/assets 内,尽量以通俗的方式描述图片内容。

    注意

    我们不使用 HTML 语法 <img> 标签来引入图片,请使用标准的 Markdown 语法。

    视频

    一个 B 站视频:
    +
    +<BiliBili bvid="BV1kt411o7C3" />
    +
    +一个自定义空降地址的 B 站视频:
    +
    +<BiliBili aid="34304064" cid="109293122" ratio="9:16" time="60" page="2" />
    +

    提示

    受限于存储空间,文档不支持插入本地视频,引入视频请上传 bilibili,然后以以上语法引入视频。

    表格

    使用 GitHub 风格表格:

    |     居中      |         右对齐 | 左对齐         |
    +| :-----------: | -------------: | :------------- |
    +| 居中使用\`:-:\` | 右对齐使用\`-:\` | 左对齐使用\`:-\` |
    +|       b       |      aaaaaaaaa | aaaa           |
    +|       c       |           aaaa | a              |
    +

    提示

    第二行表示对其方式的 : 不是必须的,当没有时,会默认为居左。

    代码

    行内代码

    行内代码效果: \`code\`
    +

    行内代码效果: code

    块级代码

    \`\`\`js
    +var foo = function (bar) {
    +  return bar++;
    +};
    +
    +console.log(foo(5));
    +\`\`\`
    +

    三个反引号后跟随代码块语言:mdjsplain(纯文本) 等。

    预览:

    var foo = function (bar) {
    +  return bar++;
    +};
    +
    +console.log(foo(5));
    +

    告示块

    提示

    ::: tip
    +
    +这是一个提示
    +
    +:::
    +

    提示

    这是一个提示

    备注

    ::: note
    +
    +这是一个备注
    +
    +:::
    +

    这是一个备注

    注意

    ::: warning
    +
    +这是一个注意
    +
    +:::
    +

    注意

    这是一个注意

    警告

    ::: caution
    +
    +这是一个警告
    +
    +:::
    +

    警告

    这是一个警告

    详情

    ::: details
    +
    +这是一个折叠可见内容
    +
    +:::
    +
    详情

    这是一个折叠可见内容

    自定义标题

    自定义标题

    通过在 tipwarningcautiondetails 后添加文字,可以自定义块标题,例如:

    ::: tip 自定义标题
    +
    +通过在 \`tip\`\`warning\`\`caution\`\`details\` 后添加文字
    +
    +:::
    +

    嵌套显示

    支持两级嵌套,第一级的标志使用四个冒号::::,例如:

    :::: details 嵌套显示
    +
    +::: tip
    +
    +这是第二级提示。
    +
    +:::
    +
    +::::
    +
    嵌套显示

    提示

    这是第二级提示。

    脚注

    脚注内容就近放置,以方便阅读源文本。

    这是一段文本[^1]
    +
    +[^1]: 这是一个脚注
    +

    这是一段文本[1]

    引用

    这是一段正文文本
    +
    +> 这是一段引用文本
    +
    +这是另一段正文文本
    +

    这是一段正文文本

    这是一段引用文本

    这是另一段正文文本

    提示

    除上述文字样式外,不使用 html 语法改变文字样式,仅在特殊情况下使用 html 语法增添文档的趣味性。


    1. 这是一个脚注 ↩︎

    `,58);function M(Z,F){const t=d("router-link"),o=d("ExternalLinkIcon"),i=d("Badge");return p(),r("div",null,[m,n("nav",v,[n("ul",null,[n("li",null,[s(t,{to:"#文件命名"},{default:e(()=>[a("文件命名")]),_:1})]),n("li",null,[s(t,{to:"#文档-frontmatter-规范"},{default:e(()=>[a("文档 Frontmatter 规范")]),_:1})]),n("li",null,[s(t,{to:"#文档语法风格"},{default:e(()=>[a("文档语法风格")]),_:1}),n("ul",null,[n("li",null,[s(t,{to:"#标题"},{default:e(()=>[a("标题")]),_:1})]),n("li",null,[s(t,{to:"#正文文本"},{default:e(()=>[a("正文文本")]),_:1})]),n("li",null,[s(t,{to:"#文字样式"},{default:e(()=>[a("文字样式")]),_:1})]),n("li",null,[s(t,{to:"#徽章-推荐"},{default:e(()=>[a("徽章 推荐")]),_:1})]),n("li",null,[s(t,{to:"#无序列表和有序列表"},{default:e(()=>[a("无序列表和有序列表")]),_:1})]),n("li",null,[s(t,{to:"#链接"},{default:e(()=>[a("链接")]),_:1})]),n("li",null,[s(t,{to:"#图片"},{default:e(()=>[a("图片")]),_:1})]),n("li",null,[s(t,{to:"#视频"},{default:e(()=>[a("视频")]),_:1})]),n("li",null,[s(t,{to:"#表格"},{default:e(()=>[a("表格")]),_:1})]),n("li",null,[s(t,{to:"#代码"},{default:e(()=>[a("代码")]),_:1})]),n("li",null,[s(t,{to:"#告示块"},{default:e(()=>[a("告示块")]),_:1})]),n("li",null,[s(t,{to:"#脚注"},{default:e(()=>[a("脚注")]),_:1})]),n("li",null,[s(t,{to:"#引用"},{default:e(()=>[a("引用")]),_:1})])])])])]),k,n("details",h,[b,n("ul",null,[n("li",null,[n("a",g,[a("信息 Frontmatter 配置 | vuepress-theme-hope (vuejs.press)"),s(o)])]),n("li",null,[n("a",f,[a("布局 Frontmatter 配置 | vuepress-theme-hope (vuejs.press)"),s(o)])])])]),w,n("h3",_,[n("a",x,[n("span",null,[a("徽章 "),s(i,{type:"tip"},{default:e(()=>[a("推荐")]),_:1})])])]),y,n("p",null,[s(i,{type:"tip"},{default:e(()=>[a("初级")]),_:1}),q,s(i,{type:"tip"},{default:e(()=>[a("中级")]),_:1}),B,s(i,{type:"tip"},{default:e(()=>[a("高级")]),_:1}),T,s(i,{type:"tip"},{default:e(()=>[a("推荐")]),_:1})]),n("p",null,[a("通过 DOI 更新元数据 "),s(i,{type:"tip"},{default:e(()=>[a("初级")]),_:1}),a(" 。")]),j])}const z=c(u,[["render",M],["__file","markdown.html.vue"]]),W=JSON.parse('{"path":"/contributing/markdown.html","title":"文档风格指南","lang":"zh-CN","frontmatter":{"title":"文档风格指南","icon":"markdown","date":"2023-07-20T23:46:54.000Z","updated":"2023-11-23T22:39:41.000Z","description":"文档风格指南 文件命名 文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。 由于 Windows 不区分文件名大小写,故而 option-B.md 和 option-b.md 在 Windows 下会出现冲突。 我们使用的文件的命名规则是: 文件名一律采用小写字母 文件名应尽量使用单...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/contributing/markdown.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"文档风格指南"}],["meta",{"property":"og:description","content":"文档风格指南 文件命名 文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。 由于 Windows 不区分文件名大小写,故而 option-B.md 和 option-b.md 在 Windows 下会出现冲突。 我们使用的文件的命名规则是: 文件名一律采用小写字母 文件名应尽量使用单..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-07-20T23:46:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"文档风格指南\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-07-20T23:46:54.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"文件命名","slug":"文件命名","link":"#文件命名","children":[]},{"level":2,"title":"文档 Frontmatter 规范","slug":"文档-frontmatter-规范","link":"#文档-frontmatter-规范","children":[]},{"level":2,"title":"文档语法风格","slug":"文档语法风格","link":"#文档语法风格","children":[{"level":3,"title":"标题","slug":"标题","link":"#标题","children":[]},{"level":3,"title":"正文文本","slug":"正文文本","link":"#正文文本","children":[]},{"level":3,"title":"文字样式","slug":"文字样式","link":"#文字样式","children":[]},{"level":3,"title":"徽章 推荐","slug":"徽章-推荐","link":"#徽章-推荐","children":[]},{"level":3,"title":"无序列表和有序列表","slug":"无序列表和有序列表","link":"#无序列表和有序列表","children":[]},{"level":3,"title":"链接","slug":"链接","link":"#链接","children":[]},{"level":3,"title":"图片","slug":"图片","link":"#图片","children":[]},{"level":3,"title":"视频","slug":"视频","link":"#视频","children":[]},{"level":3,"title":"表格","slug":"表格","link":"#表格","children":[]},{"level":3,"title":"代码","slug":"代码","link":"#代码","children":[{"level":4,"title":"行内代码","slug":"行内代码","link":"#行内代码","children":[]},{"level":4,"title":"块级代码","slug":"块级代码","link":"#块级代码","children":[]}]},{"level":3,"title":"告示块","slug":"告示块","link":"#告示块","children":[{"level":4,"title":"提示","slug":"提示","link":"#提示","children":[]},{"level":4,"title":"备注","slug":"备注","link":"#备注","children":[]},{"level":4,"title":"注意","slug":"注意","link":"#注意","children":[]},{"level":4,"title":"警告","slug":"警告","link":"#警告","children":[]},{"level":4,"title":"详情","slug":"详情","link":"#详情","children":[]},{"level":4,"title":"自定义标题","slug":"自定义标题","link":"#自定义标题","children":[]},{"level":4,"title":"嵌套显示","slug":"嵌套显示","link":"#嵌套显示","children":[]}]},{"level":3,"title":"脚注","slug":"脚注","link":"#脚注","children":[]},{"level":3,"title":"引用","slug":"引用","link":"#引用","children":[]}]}],"git":{"createdTime":1695222840000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":5},{"name":"Northword","email":"northword@outlook.com","commits":3}]},"readingTime":{"minutes":6.18,"words":1853},"filePathRelative":"contributing/markdown.md","localizedDate":"2023年7月20日","autoDesc":true,"excerpt":"\\n\\n

    文件命名

    \\n

    文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。
    \\n由于 Windows 不区分文件名大小写,故而 option-B.mdoption-b.md 在 Windows 下会出现冲突。

    \\n

    我们使用的文件的命名规则是:

    \\n
      \\n
    • 文件名一律采用小写字母
    • \\n
    • 文件名应尽量使用单词全称,避免使用各种形式的简写
    • \\n
    • 若文件名中含多个单词,应使用连字符 (hyphen) - 连接
    • \\n
    "}');export{z as comp,W as data}; diff --git a/assets/mermaid.core-xpSMncQK.js b/assets/mermaid.core-xpSMncQK.js new file mode 100644 index 0000000000..cf9fa19421 --- /dev/null +++ b/assets/mermaid.core-xpSMncQK.js @@ -0,0 +1,92 @@ +import{_ as Z}from"./app-pLjDz5vt.js";function ch(t){for(var e=[],i=1;i=v?M:""+Array(v+1-B.length).join(y)+M},H={s:P,z:function(M){var v=-M.utcOffset(),y=Math.abs(v),B=Math.floor(y/60),x=y%60;return(v<=0?"+":"-")+P(B,2,"0")+":"+P(x,2,"0")},m:function M(v,y){if(v.date()1)return M(D[0])}else{var $=v.name;X[$]=v,x=$}return!B&&x&&(Y=x),x||!B&&Y},j=function(M,v){if(Kt(M))return M.clone();var y=typeof v=="object"?v:{};return y.date=M,y.args=arguments,new vt(y)},z=H;z.l=Zt,z.i=Kt,z.w=function(M,v){return j(M,{locale:v.$L,utc:v.$u,x:v.$x,$offset:v.$offset})};var vt=function(){function M(y){this.$L=Zt(y.locale,null,!0),this.parse(y),this.$x=this.$x||y.x||{},this[W]=!0}var v=M.prototype;return v.parse=function(y){this.$d=function(B){var x=B.date,b=B.utc;if(x===null)return new Date(NaN);if(z.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var D=x.match(S);if(D){var $=D[2]-1||0,G=(D[7]||"0").substring(0,3);return b?new Date(Date.UTC(D[1],$,D[3]||1,D[4]||0,D[5]||0,D[6]||0,G)):new Date(D[1],$,D[3]||1,D[4]||0,D[5]||0,D[6]||0,G)}}return new Date(x)}(y),this.init()},v.init=function(){var y=this.$d;this.$y=y.getFullYear(),this.$M=y.getMonth(),this.$D=y.getDate(),this.$W=y.getDay(),this.$H=y.getHours(),this.$m=y.getMinutes(),this.$s=y.getSeconds(),this.$ms=y.getMilliseconds()},v.$utils=function(){return z},v.isValid=function(){return this.$d.toString()!==k},v.isSame=function(y,B){var x=j(y);return this.startOf(B)<=x&&x<=this.endOf(B)},v.isAfter=function(y,B){return j(y)-1}function l(u){var f=u.replace(n,"");return f.replace(i,function(c,d){return String.fromCharCode(d)})}function h(u){if(!u)return t.BLANK_URL;var f=l(u).replace(r,"").replace(n,"").trim();if(!f)return t.BLANK_URL;if(a(f))return f;var c=f.match(o);if(!c)return f;var d=c[0];return e.test(d)?t.BLANK_URL:f}t.sanitizeUrl=h})(Is);var gh={value:()=>{}};function $s(){for(var t=0,e=arguments.length,i={},r;t=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}Ii.prototype=$s.prototype={constructor:Ii,on:function(t,e){var i=this._,r=mh(t+"",i),n,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var i=new Array(n),r=0,n,o;r=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),To.hasOwnProperty(e)?{space:To[e],local:t}:t}function yh(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===Jr&&e.documentElement.namespaceURI===Jr?e.createElement(t):e.createElementNS(i,t)}}function Ch(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ds(t){var e=ur(t);return(e.local?Ch:yh)(e)}function xh(){}function xn(t){return t==null?xh:function(){return this.querySelector(t)}}function bh(t){typeof t!="function"&&(t=xn(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n=P&&(P=T+1);!(Y=S[P])&&++P<_;);H._next=Y||null}}return s=new yt(s,r),s._enter=a,s._exit=l,s}function zh(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Wh(){return new yt(this._exit||this._groups.map(qs),this._parents)}function Hh(t,e,i){var r=this.enter(),n=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(n=e(n),n&&(n=n.selection())),i==null?o.remove():i(o),r&&n?r.merge(n).order():n}function jh(t){for(var e=t.selection?t.selection():t,i=this._groups,r=e._groups,n=i.length,o=r.length,s=Math.min(n,o),a=new Array(n),l=0;l=0;)(s=r[n])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Yh(t){t||(t=Vh);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var i=this._groups,r=i.length,n=new Array(r),o=0;oe?1:t>=e?0:NaN}function Gh(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Xh(){return Array.from(this)}function Kh(){for(var t=this._groups,e=0,i=t.length;e1?this.each((e==null?ac:typeof e=="function"?hc:lc)(t,e,i??"")):Oe(this.node(),t)}function Oe(t,e){return t.style.getPropertyValue(e)||zs(t).getComputedStyle(t,null).getPropertyValue(e)}function uc(t){return function(){delete this[t]}}function fc(t,e){return function(){this[t]=e}}function dc(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function pc(t,e){return arguments.length>1?this.each((e==null?uc:typeof e=="function"?dc:fc)(t,e)):this.node()[t]}function Ws(t){return t.trim().split(/^|\s+/)}function bn(t){return t.classList||new Hs(t)}function Hs(t){this._node=t,this._names=Ws(t.getAttribute("class")||"")}Hs.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function js(t,e){for(var i=bn(t),r=-1,n=e.length;++r=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function Wc(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,o;i>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?wi(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?wi(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=Zc.exec(t))?new gt(e[1],e[2],e[3],1):(e=Jc.exec(t))?new gt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Qc.exec(t))?wi(e[1],e[2],e[3],e[4]):(e=tu.exec(t))?wi(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=eu.exec(t))?Fo(e[1],e[2]/100,e[3]/100,1):(e=iu.exec(t))?Fo(e[1],e[2]/100,e[3]/100,e[4]):vo.hasOwnProperty(t)?wo(vo[t]):t==="transparent"?new gt(NaN,NaN,NaN,0):null}function wo(t){return new gt(t>>16&255,t>>8&255,t&255,1)}function wi(t,e,i,r){return r<=0&&(t=e=i=NaN),new gt(t,e,i,r)}function ou(t){return t instanceof yi||(t=hi(t)),t?(t=t.rgb(),new gt(t.r,t.g,t.b,t.opacity)):new gt}function Qr(t,e,i,r){return arguments.length===1?ou(t):new gt(t,e,i,r??1)}function gt(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}Tn(gt,Qr,Gs(yi,{brighter(t){return t=t==null?ji:Math.pow(ji,t),new gt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ai:Math.pow(ai,t),new gt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new gt(de(this.r),de(this.g),de(this.b),Ui(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:Bo,formatHex:Bo,formatHex8:su,formatRgb:Ao,toString:Ao}));function Bo(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}`}function su(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}${ue((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ao(){const t=Ui(this.opacity);return`${t===1?"rgb(":"rgba("}${de(this.r)}, ${de(this.g)}, ${de(this.b)}${t===1?")":`, ${t})`}`}function Ui(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function de(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ue(t){return t=de(t),(t<16?"0":"")+t.toString(16)}function Fo(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new wt(t,e,i,r)}function Xs(t){if(t instanceof wt)return new wt(t.h,t.s,t.l,t.opacity);if(t instanceof yi||(t=hi(t)),!t)return new wt;if(t instanceof wt)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),o=Math.max(e,i,r),s=NaN,a=o-n,l=(o+n)/2;return a?(e===o?s=(i-r)/a+(i0&&l<1?0:s,new wt(s,a,l,t.opacity)}function au(t,e,i,r){return arguments.length===1?Xs(t):new wt(t,e,i,r??1)}function wt(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}Tn(wt,au,Gs(yi,{brighter(t){return t=t==null?ji:Math.pow(ji,t),new wt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ai:Math.pow(ai,t),new wt(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,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new gt(Dr(t>=240?t-240:t+120,n,r),Dr(t,n,r),Dr(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new wt(Lo(this.h),Bi(this.s),Bi(this.l),Ui(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(){const t=Ui(this.opacity);return`${t===1?"hsl(":"hsla("}${Lo(this.h)}, ${Bi(this.s)*100}%, ${Bi(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Lo(t){return t=(t||0)%360,t<0?t+360:t}function Bi(t){return Math.max(0,Math.min(1,t||0))}function Dr(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const vn=t=>()=>t;function Ks(t,e){return function(i){return t+i*e}}function lu(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function Tb(t,e){var i=e-t;return i?Ks(t,i>180||i<-180?i-360*Math.round(i/360):i):vn(isNaN(t)?e:t)}function hu(t){return(t=+t)==1?Zs:function(e,i){return i-e?lu(e,i,t):vn(isNaN(e)?i:e)}}function Zs(t,e){var i=e-t;return i?Ks(t,i):vn(isNaN(t)?e:t)}const Eo=function t(e){var i=hu(e);function r(n,o){var s=i((n=Qr(n)).r,(o=Qr(o)).r),a=i(n.g,o.g),l=i(n.b,o.b),h=Zs(n.opacity,o.opacity);return function(u){return n.r=s(u),n.g=a(u),n.b=l(u),n.opacity=h(u),n+""}}return r.gamma=t,r}(1);function ie(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}var tn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Nr=new RegExp(tn.source,"g");function cu(t){return function(){return t}}function uu(t){return function(e){return t(e)+""}}function fu(t,e){var i=tn.lastIndex=Nr.lastIndex=0,r,n,o,s=-1,a=[],l=[];for(t=t+"",e=e+"";(r=tn.exec(t))&&(n=Nr.exec(e));)(o=n.index)>i&&(o=e.slice(i,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(n=n[0])?a[s]?a[s]+=n:a[++s]=n:(a[++s]=null,l.push({i:s,x:ie(r,n)})),i=Nr.lastIndex;return i180?u+=360:u-h>180&&(h+=360),c.push({i:f.push(n(f)+"rotate(",null,r)-2,x:ie(h,u)})):u&&f.push(n(f)+"rotate("+u+r)}function a(h,u,f,c){h!==u?c.push({i:f.push(n(f)+"skewX(",null,r)-2,x:ie(h,u)}):u&&f.push(n(f)+"skewX("+u+r)}function l(h,u,f,c,d,_){if(h!==f||u!==c){var k=d.push(n(d)+"scale(",null,",",null,")");_.push({i:k-4,x:ie(h,f)},{i:k-2,x:ie(u,c)})}else(f!==1||c!==1)&&d.push(n(d)+"scale("+f+","+c+")")}return function(h,u){var f=[],c=[];return h=t(h),u=t(u),o(h.translateX,h.translateY,u.translateX,u.translateY,f,c),s(h.rotate,u.rotate,f,c),a(h.skewX,u.skewX,f,c),l(h.scaleX,h.scaleY,u.scaleX,u.scaleY,f,c),h=u=null,function(d){for(var _=-1,k=c.length,S;++_=0&&t._call.call(void 0,e),t=t._next;--Me}function Mo(){me=(Vi=ci.now())+fr,Me=Ze=0;try{yu()}finally{Me=0,xu(),me=0}}function Cu(){var t=ci.now(),e=t-Vi;e>ta&&(fr-=e,Vi=t)}function xu(){for(var t,e=Yi,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:Yi=i);Je=t,rn(r)}function rn(t){if(!Me){Ze&&(Ze=clearTimeout(Ze));var e=t-me;e>24?(t<1/0&&(Ze=setTimeout(Mo,t-ci.now()-fr)),Ye&&(Ye=clearInterval(Ye))):(Ye||(Vi=ci.now(),Ye=setInterval(Cu,ta)),Me=1,ea(Mo))}}function Io(t,e,i){var r=new Gi;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var bu=$s("start","end","cancel","interrupt"),Tu=[],ra=0,$o=1,nn=2,$i=3,Do=4,on=5,Di=6;function dr(t,e,i,r,n,o){var s=t.__transition;if(!s)t.__transition={};else if(i in s)return;vu(t,i,{name:e,index:r,group:n,on:bu,tween:Tu,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:ra})}function Sn(t,e){var i=Lt(t,e);if(i.state>ra)throw new Error("too late; already scheduled");return i}function Dt(t,e){var i=Lt(t,e);if(i.state>$i)throw new Error("too late; already running");return i}function Lt(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function vu(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=ia(o,0,i.time);function o(h){i.state=$o,i.timer.restart(s,i.delay,i.time),i.delay<=h&&s(h-i.delay)}function s(h){var u,f,c,d;if(i.state!==$o)return l();for(u in r)if(d=r[u],d.name===i.name){if(d.state===$i)return Io(s);d.state===Do?(d.state=Di,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete r[u]):+unn&&r.state=0&&(e=e.slice(0,i)),!e||e==="start"})}function tf(t,e,i){var r,n,o=Qu(e)?Sn:Dt;return function(){var s=o(this,t),a=s.on;a!==r&&(n=(r=a).copy()).on(e,i),s.on=n}}function ef(t,e){var i=this._id;return arguments.length<2?Lt(this.node(),i).on.on(t):this.each(tf(i,t,e))}function rf(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function nf(){return this.on("end.remove",rf(this._id))}function of(t){var e=this._name,i=this._id;typeof t!="function"&&(t=xn(t));for(var r=this._groups,n=r.length,o=new Array(n),s=0;s1?0:t<-1?Bn:Math.acos(t)}function Ob(t){return t>=1?Ro:t<=-1?-Ro:Math.asin(t)}function aa(t){this._context=t}aa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point: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}}};function Lf(t){return new aa(t)}class la{constructor(e,i){this._context=e,this._x=i}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,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function Ef(t){return new la(t,!0)}function Of(t){return new la(t,!1)}function ne(){}function Xi(t,e,i){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+i)/6)}function pr(t){this._context=t}pr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Xi(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},point: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:Xi(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Mf(t){return new pr(t)}function ha(t){this._context=t}ha.prototype={areaStart:ne,areaEnd:ne,lineStart: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},lineEnd: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}}},point: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:Xi(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function If(t){return new ha(t)}function ca(t){this._context=t}ca.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point: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 i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:Xi(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function $f(t){return new ca(t)}function ua(t,e){this._basis=new pr(t),this._beta=e}ua.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],o=t[i]-r,s=e[i]-n,a=-1,l;++a<=i;)l=a/i,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+l*o),this._beta*e[a]+(1-this._beta)*(n+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const Df=function t(e){function i(r){return e===1?new pr(r):new ua(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function Ki(t,e,i){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-i),t._x2,t._y2)}function An(t,e){this._context=t,this._k=(1-e)/6}An.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ki(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point: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:Ki(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}};const Nf=function t(e){function i(r){return new An(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Fn(t,e){this._context=t,this._k=(1-e)/6}Fn.prototype={areaStart:ne,areaEnd:ne,lineStart: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},lineEnd: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}}},point: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:Ki(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}};const Rf=function t(e){function i(r){return new Fn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Ln(t,e){this._context=t,this._k=(1-e)/6}Ln.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point: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:Ki(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}};const Pf=function t(e){function i(r){return new Ln(r,e)}return i.tension=function(r){return t(+r)},i}(0);function En(t,e,i){var r=t._x1,n=t._y1,o=t._x2,s=t._y2;if(t._l01_a>No){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>No){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(r,n,o,s,t._x2,t._y2)}function fa(t,e){this._context=t,this._alpha=e}fa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart: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},lineEnd: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},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,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:En(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}};const qf=function t(e){function i(r){return e?new fa(r,e):new An(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function da(t,e){this._context=t,this._alpha=e}da.prototype={areaStart:ne,areaEnd:ne,lineStart: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},lineEnd: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}}},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,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:En(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}};const zf=function t(e){function i(r){return e?new da(r,e):new Fn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function pa(t,e){this._context=t,this._alpha=e}pa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart: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},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,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:En(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}};const Wf=function t(e){function i(r){return e?new pa(r,e):new Ln(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function ga(t){this._context=t}ga.prototype={areaStart:ne,areaEnd:ne,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Hf(t){return new ga(t)}function Po(t){return t<0?-1:1}function qo(t,e,i){var r=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(r||n<0&&-0),s=(i-t._y1)/(n||r<0&&-0),a=(o*n+s*r)/(r+n);return(Po(o)+Po(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function zo(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function Rr(t,e,i){var r=t._x0,n=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,n+a*e,o-a,s-a*i,o,s)}function Zi(t){this._context=t}Zi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Rr(this,this._t0,zo(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=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,Rr(this,zo(this,i=qo(this,t,e)),i);break;default:Rr(this,this._t0,i=qo(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function ma(t){this._context=new _a(t)}(ma.prototype=Object.create(Zi.prototype)).point=function(t,e){Zi.prototype.point.call(this,e,t)};function _a(t){this._context=t}_a.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,o){this._context.bezierCurveTo(e,t,r,i,o,n)}};function jf(t){return new Zi(t)}function Uf(t){return new ma(t)}function ya(t){this._context=t}ya.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=Wo(t),n=Wo(e),o=0,s=1;s=0;--e)n[e]=(s[e]-n[e+1])/o[e];for(o[i-1]=(t[i]+n[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point: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 i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function Vf(t){return new gr(t,.5)}function Gf(t){return new gr(t,0)}function Xf(t){return new gr(t,1)}function Qe(t,e,i){this.k=t,this.x=e,this.y=i}Qe.prototype={constructor:Qe,scale:function(t){return t===1?this:new Qe(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qe(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Qe.prototype;/*! @license DOMPurify 3.0.9 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.9/LICENSE */const{entries:Ca,setPrototypeOf:Ho,isFrozen:Kf,getPrototypeOf:Zf,getOwnPropertyDescriptor:Jf}=Object;let{freeze:ut,seal:At,create:xa}=Object,{apply:sn,construct:an}=typeof Reflect<"u"&&Reflect;ut||(ut=function(e){return e});At||(At=function(e){return e});sn||(sn=function(e,i,r){return e.apply(i,r)});an||(an=function(e,i){return new e(...i)});const Fi=Ct(Array.prototype.forEach),jo=Ct(Array.prototype.pop),Ve=Ct(Array.prototype.push),Ni=Ct(String.prototype.toLowerCase),Pr=Ct(String.prototype.toString),Qf=Ct(String.prototype.match),Ge=Ct(String.prototype.replace),td=Ct(String.prototype.indexOf),ed=Ct(String.prototype.trim),St=Ct(Object.prototype.hasOwnProperty),_t=Ct(RegExp.prototype.test),Xe=id(TypeError);function Ct(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:Ni;Ho&&Ho(t,null);let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){const o=i(n);o!==n&&(Kf(e)||(e[r]=o),n=o)}t[n]=!0}return t}function rd(t){for(let e=0;e/gm),ld=At(/\${[\w\W]*}/gm),hd=At(/^data-[\-\w.\u00B7-\uFFFF]/),cd=At(/^aria-[\-\w]+$/),ba=At(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ud=At(/^(?:\w+script|data):/i),fd=At(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ta=At(/^html$/i);var Xo=Object.freeze({__proto__:null,MUSTACHE_EXPR:sd,ERB_EXPR:ad,TMPLIT_EXPR:ld,DATA_ATTR:hd,ARIA_ATTR:cd,IS_ALLOWED_URI:ba,IS_SCRIPT_OR_DATA:ud,ATTR_WHITESPACE:fd,DOCTYPE_NAME:Ta});const dd=function(){return typeof window>"u"?null:window},pd=function(e,i){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(r=i.getAttribute(n));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function va(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:dd();const e=A=>va(A);if(e.version="3.0.9",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;let{document:i}=t;const r=i,n=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:h,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:f,DOMParser:c,trustedTypes:d}=t,_=l.prototype,k=Li(_,"cloneNode"),S=Li(_,"nextSibling"),R=Li(_,"childNodes"),T=Li(_,"parentNode");if(typeof s=="function"){const A=i.createElement("template");A.content&&A.content.ownerDocument&&(i=A.content.ownerDocument)}let P,H="";const{implementation:Y,createNodeIterator:X,createDocumentFragment:W,getElementsByTagName:Kt}=i,{importNode:Zt}=r;let j={};e.isSupported=typeof Ca=="function"&&typeof T=="function"&&Y&&Y.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:z,ERB_EXPR:vt,TMPLIT_EXPR:Jt,DATA_ATTR:M,ARIA_ATTR:v,IS_SCRIPT_OR_DATA:y,ATTR_WHITESPACE:B}=Xo;let{IS_ALLOWED_URI:x}=Xo,b=null;const D=q({},[...Uo,...qr,...zr,...Wr,...Yo]);let $=null;const G=q({},[...Vo,...Hr,...Go,...Ei]);let N=Object.seal(xa(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}})),K=null,it=null,Rt=!0,kt=!0,Qt=!1,Et=!0,J=!1,rt=!1,Pt=!1,te=!1,Te=!1,Ti=!1,vi=!1,to=!0,eo=!1;const eh="user-content-";let Lr=!0,He=!1,ve={},ke=null;const io=q({},["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"]);let ro=null;const no=q({},["audio","video","img","source","image","track"]);let Er=null;const oo=q({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ki="http://www.w3.org/1998/Math/MathML",Si="http://www.w3.org/2000/svg",qt="http://www.w3.org/1999/xhtml";let Se=qt,Or=!1,Mr=null;const ih=q({},[ki,Si,qt],Pr);let je=null;const rh=["application/xhtml+xml","text/html"],nh="text/html";let et=null,we=null;const oh=i.createElement("form"),so=function(p){return p instanceof RegExp||p instanceof Function},Ir=function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(we&&we===p)){if((!p||typeof p!="object")&&(p={}),p=he(p),je=rh.indexOf(p.PARSER_MEDIA_TYPE)===-1?nh:p.PARSER_MEDIA_TYPE,et=je==="application/xhtml+xml"?Pr:Ni,b=St(p,"ALLOWED_TAGS")?q({},p.ALLOWED_TAGS,et):D,$=St(p,"ALLOWED_ATTR")?q({},p.ALLOWED_ATTR,et):G,Mr=St(p,"ALLOWED_NAMESPACES")?q({},p.ALLOWED_NAMESPACES,Pr):ih,Er=St(p,"ADD_URI_SAFE_ATTR")?q(he(oo),p.ADD_URI_SAFE_ATTR,et):oo,ro=St(p,"ADD_DATA_URI_TAGS")?q(he(no),p.ADD_DATA_URI_TAGS,et):no,ke=St(p,"FORBID_CONTENTS")?q({},p.FORBID_CONTENTS,et):io,K=St(p,"FORBID_TAGS")?q({},p.FORBID_TAGS,et):{},it=St(p,"FORBID_ATTR")?q({},p.FORBID_ATTR,et):{},ve=St(p,"USE_PROFILES")?p.USE_PROFILES:!1,Rt=p.ALLOW_ARIA_ATTR!==!1,kt=p.ALLOW_DATA_ATTR!==!1,Qt=p.ALLOW_UNKNOWN_PROTOCOLS||!1,Et=p.ALLOW_SELF_CLOSE_IN_ATTR!==!1,J=p.SAFE_FOR_TEMPLATES||!1,rt=p.WHOLE_DOCUMENT||!1,Te=p.RETURN_DOM||!1,Ti=p.RETURN_DOM_FRAGMENT||!1,vi=p.RETURN_TRUSTED_TYPE||!1,te=p.FORCE_BODY||!1,to=p.SANITIZE_DOM!==!1,eo=p.SANITIZE_NAMED_PROPS||!1,Lr=p.KEEP_CONTENT!==!1,He=p.IN_PLACE||!1,x=p.ALLOWED_URI_REGEXP||ba,Se=p.NAMESPACE||qt,N=p.CUSTOM_ELEMENT_HANDLING||{},p.CUSTOM_ELEMENT_HANDLING&&so(p.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(N.tagNameCheck=p.CUSTOM_ELEMENT_HANDLING.tagNameCheck),p.CUSTOM_ELEMENT_HANDLING&&so(p.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(N.attributeNameCheck=p.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),p.CUSTOM_ELEMENT_HANDLING&&typeof p.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(N.allowCustomizedBuiltInElements=p.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),J&&(kt=!1),Ti&&(Te=!0),ve&&(b=q({},Yo),$=[],ve.html===!0&&(q(b,Uo),q($,Vo)),ve.svg===!0&&(q(b,qr),q($,Hr),q($,Ei)),ve.svgFilters===!0&&(q(b,zr),q($,Hr),q($,Ei)),ve.mathMl===!0&&(q(b,Wr),q($,Go),q($,Ei))),p.ADD_TAGS&&(b===D&&(b=he(b)),q(b,p.ADD_TAGS,et)),p.ADD_ATTR&&($===G&&($=he($)),q($,p.ADD_ATTR,et)),p.ADD_URI_SAFE_ATTR&&q(Er,p.ADD_URI_SAFE_ATTR,et),p.FORBID_CONTENTS&&(ke===io&&(ke=he(ke)),q(ke,p.FORBID_CONTENTS,et)),Lr&&(b["#text"]=!0),rt&&q(b,["html","head","body"]),b.table&&(q(b,["tbody"]),delete K.tbody),p.TRUSTED_TYPES_POLICY){if(typeof p.TRUSTED_TYPES_POLICY.createHTML!="function")throw Xe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof p.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Xe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');P=p.TRUSTED_TYPES_POLICY,H=P.createHTML("")}else P===void 0&&(P=pd(d,n)),P!==null&&typeof H=="string"&&(H=P.createHTML(""));ut&&ut(p),we=p}},ao=q({},["mi","mo","mn","ms","mtext"]),lo=q({},["foreignobject","desc","title","annotation-xml"]),sh=q({},["title","style","font","a","script"]),ho=q({},[...qr,...zr,...nd]),co=q({},[...Wr,...od]),ah=function(p){let m=T(p);(!m||!m.tagName)&&(m={namespaceURI:Se,tagName:"template"});const w=Ni(p.tagName),U=Ni(m.tagName);return Mr[p.namespaceURI]?p.namespaceURI===Si?m.namespaceURI===qt?w==="svg":m.namespaceURI===ki?w==="svg"&&(U==="annotation-xml"||ao[U]):!!ho[w]:p.namespaceURI===ki?m.namespaceURI===qt?w==="math":m.namespaceURI===Si?w==="math"&&lo[U]:!!co[w]:p.namespaceURI===qt?m.namespaceURI===Si&&!lo[U]||m.namespaceURI===ki&&!ao[U]?!1:!co[w]&&(sh[w]||!ho[w]):!!(je==="application/xhtml+xml"&&Mr[p.namespaceURI]):!1},ae=function(p){Ve(e.removed,{element:p});try{p.parentNode.removeChild(p)}catch{p.remove()}},$r=function(p,m){try{Ve(e.removed,{attribute:m.getAttributeNode(p),from:m})}catch{Ve(e.removed,{attribute:null,from:m})}if(m.removeAttribute(p),p==="is"&&!$[p])if(Te||Ti)try{ae(m)}catch{}else try{m.setAttribute(p,"")}catch{}},uo=function(p){let m=null,w=null;if(te)p=""+p;else{const ot=Qf(p,/^[\r\n\t ]+/);w=ot&&ot[0]}je==="application/xhtml+xml"&&Se===qt&&(p=''+p+"");const U=P?P.createHTML(p):p;if(Se===qt)try{m=new c().parseFromString(U,je)}catch{}if(!m||!m.documentElement){m=Y.createDocument(Se,"template",null);try{m.documentElement.innerHTML=Or?H:U}catch{}}const nt=m.body||m.documentElement;return p&&w&&nt.insertBefore(i.createTextNode(w),nt.childNodes[0]||null),Se===qt?Kt.call(m,rt?"html":"body")[0]:rt?m.documentElement:nt},fo=function(p){return X.call(p.ownerDocument||p,p,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT,null)},lh=function(p){return p instanceof f&&(typeof p.nodeName!="string"||typeof p.textContent!="string"||typeof p.removeChild!="function"||!(p.attributes instanceof u)||typeof p.removeAttribute!="function"||typeof p.setAttribute!="function"||typeof p.namespaceURI!="string"||typeof p.insertBefore!="function"||typeof p.hasChildNodes!="function")},po=function(p){return typeof a=="function"&&p instanceof a},zt=function(p,m,w){j[p]&&Fi(j[p],U=>{U.call(e,m,w,we)})},go=function(p){let m=null;if(zt("beforeSanitizeElements",p,null),lh(p))return ae(p),!0;const w=et(p.nodeName);if(zt("uponSanitizeElement",p,{tagName:w,allowedTags:b}),p.hasChildNodes()&&!po(p.firstElementChild)&&_t(/<[/\w]/g,p.innerHTML)&&_t(/<[/\w]/g,p.textContent))return ae(p),!0;if(!b[w]||K[w]){if(!K[w]&&_o(w)&&(N.tagNameCheck instanceof RegExp&&_t(N.tagNameCheck,w)||N.tagNameCheck instanceof Function&&N.tagNameCheck(w)))return!1;if(Lr&&!ke[w]){const U=T(p)||p.parentNode,nt=R(p)||p.childNodes;if(nt&&U){const ot=nt.length;for(let ft=ot-1;ft>=0;--ft)U.insertBefore(k(nt[ft],!0),S(p))}}return ae(p),!0}return p instanceof l&&!ah(p)||(w==="noscript"||w==="noembed"||w==="noframes")&&_t(/<\/no(script|embed|frames)/i,p.innerHTML)?(ae(p),!0):(J&&p.nodeType===3&&(m=p.textContent,Fi([z,vt,Jt],U=>{m=Ge(m,U," ")}),p.textContent!==m&&(Ve(e.removed,{element:p.cloneNode()}),p.textContent=m)),zt("afterSanitizeElements",p,null),!1)},mo=function(p,m,w){if(to&&(m==="id"||m==="name")&&(w in i||w in oh))return!1;if(!(kt&&!it[m]&&_t(M,m))){if(!(Rt&&_t(v,m))){if(!$[m]||it[m]){if(!(_o(p)&&(N.tagNameCheck instanceof RegExp&&_t(N.tagNameCheck,p)||N.tagNameCheck instanceof Function&&N.tagNameCheck(p))&&(N.attributeNameCheck instanceof RegExp&&_t(N.attributeNameCheck,m)||N.attributeNameCheck instanceof Function&&N.attributeNameCheck(m))||m==="is"&&N.allowCustomizedBuiltInElements&&(N.tagNameCheck instanceof RegExp&&_t(N.tagNameCheck,w)||N.tagNameCheck instanceof Function&&N.tagNameCheck(w))))return!1}else if(!Er[m]){if(!_t(x,Ge(w,B,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&p!=="script"&&td(w,"data:")===0&&ro[p])){if(!(Qt&&!_t(y,Ge(w,B,"")))){if(w)return!1}}}}}}return!0},_o=function(p){return p!=="annotation-xml"&&p.indexOf("-")>0},yo=function(p){zt("beforeSanitizeAttributes",p,null);const{attributes:m}=p;if(!m)return;const w={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:$};let U=m.length;for(;U--;){const nt=m[U],{name:ot,namespaceURI:ft,value:le}=nt,Ue=et(ot);let dt=ot==="value"?le:ed(le);if(w.attrName=Ue,w.attrValue=dt,w.keepAttr=!0,w.forceKeepAttr=void 0,zt("uponSanitizeAttribute",p,w),dt=w.attrValue,w.forceKeepAttr||($r(ot,p),!w.keepAttr))continue;if(!Et&&_t(/\/>/i,dt)){$r(ot,p);continue}J&&Fi([z,vt,Jt],xo=>{dt=Ge(dt,xo," ")});const Co=et(p.nodeName);if(mo(Co,Ue,dt)){if(eo&&(Ue==="id"||Ue==="name")&&($r(ot,p),dt=eh+dt),P&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!ft)switch(d.getAttributeType(Co,Ue)){case"TrustedHTML":{dt=P.createHTML(dt);break}case"TrustedScriptURL":{dt=P.createScriptURL(dt);break}}try{ft?p.setAttributeNS(ft,ot,dt):p.setAttribute(ot,dt),jo(e.removed)}catch{}}}zt("afterSanitizeAttributes",p,null)},hh=function A(p){let m=null;const w=fo(p);for(zt("beforeSanitizeShadowDOM",p,null);m=w.nextNode();)zt("uponSanitizeShadowNode",m,null),!go(m)&&(m.content instanceof o&&A(m.content),yo(m));zt("afterSanitizeShadowDOM",p,null)};return e.sanitize=function(A){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,w=null,U=null,nt=null;if(Or=!A,Or&&(A=""),typeof A!="string"&&!po(A))if(typeof A.toString=="function"){if(A=A.toString(),typeof A!="string")throw Xe("dirty is not a string, aborting")}else throw Xe("toString is not a function");if(!e.isSupported)return A;if(Pt||Ir(p),e.removed=[],typeof A=="string"&&(He=!1),He){if(A.nodeName){const le=et(A.nodeName);if(!b[le]||K[le])throw Xe("root node is forbidden and cannot be sanitized in-place")}}else if(A instanceof a)m=uo(""),w=m.ownerDocument.importNode(A,!0),w.nodeType===1&&w.nodeName==="BODY"||w.nodeName==="HTML"?m=w:m.appendChild(w);else{if(!Te&&!J&&!rt&&A.indexOf("<")===-1)return P&&vi?P.createHTML(A):A;if(m=uo(A),!m)return Te?null:vi?H:""}m&&te&&ae(m.firstChild);const ot=fo(He?A:m);for(;U=ot.nextNode();)go(U)||(U.content instanceof o&&hh(U.content),yo(U));if(He)return A;if(Te){if(Ti)for(nt=W.call(m.ownerDocument);m.firstChild;)nt.appendChild(m.firstChild);else nt=m;return($.shadowroot||$.shadowrootmode)&&(nt=Zt.call(r,nt,!0)),nt}let ft=rt?m.outerHTML:m.innerHTML;return rt&&b["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&_t(Ta,m.ownerDocument.doctype.name)&&(ft=" +`+ft),J&&Fi([z,vt,Jt],le=>{ft=Ge(ft,le," ")}),P&&vi?P.createHTML(ft):ft},e.setConfig=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ir(A),Pt=!0},e.clearConfig=function(){we=null,Pt=!1},e.isValidAttribute=function(A,p,m){we||Ir({});const w=et(A),U=et(p);return mo(w,U,m)},e.addHook=function(A,p){typeof p=="function"&&(j[A]=j[A]||[],Ve(j[A],p))},e.removeHook=function(A){if(j[A])return jo(j[A])},e.removeHooks=function(A){j[A]&&(j[A]=[])},e.removeAllHooks=function(){j={}},e}var Ie=va();const Ri={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:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,o=2*i-n;switch(r){case"r":return Ri.hue2rgb(o,n,t+1/3)*255;case"g":return Ri.hue2rgb(o,n,t)*255;case"b":return Ri.hue2rgb(o,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),o=Math.min(t,e,i),s=(n+o)/2;if(r==="l")return s*100;if(n===o)return 0;const a=n-o,l=s>.5?a/(2-n-o):a/(n+o);if(r==="s")return l*100;switch(n){case t:return((e-i)/a+(ee>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},md=gd,_d={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},yd=_d,I={channel:Ri,lang:md,unit:yd},ee={};for(let t=0;t<=255;t++)ee[t]=I.unit.dec2hex(t);const st={ALL:0,RGB:1,HSL:2};class Cd{constructor(){this.type=st.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=st.ALL}is(e){return this.type===e}}class xd{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new Cd}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=st.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=I.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=I.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=I.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=I.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=I.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=I.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(st.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(st.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(st.HSL)&&i!==void 0?i:(this._ensureHSL(),I.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(st.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(st.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(st.RGB)&&i!==void 0?i:(this._ensureRGB(),I.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(st.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(st.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(st.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(st.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(st.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(st.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const bd=xd,mr=new bd({r:0,g:0,b:0,a:0},"transparent"),Ee={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Ee.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,o=n%4===0,s=n>4,a=s?1:17,l=s?8:4,h=o?0:-1,u=s?255:15;return mr.set({r:(r>>l*(h+3)&u)*a,g:(r>>l*(h+2)&u)*a,b:(r>>l*(h+1)&u)*a,a:o?(r&u)*a/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${ee[Math.round(e)]}${ee[Math.round(i)]}${ee[Math.round(r)]}${ee[Math.round(n*255)]}`:`#${ee[Math.round(e)]}${ee[Math.round(i)]}${ee[Math.round(r)]}`}},fe={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:t=>{const e=t.match(fe.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return I.channel.clamp.h(parseFloat(i)*.9);case"rad":return I.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return I.channel.clamp.h(parseFloat(i)*360)}}return I.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(fe.re);if(!i)return;const[,r,n,o,s,a]=i;return mr.set({h:fe._hue2deg(r),s:I.channel.clamp.s(parseFloat(n)),l:I.channel.clamp.l(parseFloat(o)),a:s?I.channel.clamp.a(a?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${I.lang.round(e)}, ${I.lang.round(i)}%, ${I.lang.round(r)}%, ${n})`:`hsl(${I.lang.round(e)}, ${I.lang.round(i)}%, ${I.lang.round(r)}%)`}},ei={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:t=>{t=t.toLowerCase();const e=ei.colors[t];if(e)return Ee.parse(e)},stringify:t=>{const e=Ee.stringify(t);for(const i in ei.colors)if(ei.colors[i]===e)return i}},ti={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:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(ti.re);if(!i)return;const[,r,n,o,s,a,l,h,u]=i;return mr.set({r:I.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:I.channel.clamp.g(s?parseFloat(o)*2.55:parseFloat(o)),b:I.channel.clamp.b(l?parseFloat(a)*2.55:parseFloat(a)),a:h?I.channel.clamp.a(u?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${I.lang.round(e)}, ${I.lang.round(i)}, ${I.lang.round(r)}, ${I.lang.round(n)})`:`rgb(${I.lang.round(e)}, ${I.lang.round(i)}, ${I.lang.round(r)})`}},It={format:{keyword:ei,hex:Ee,rgb:ti,rgba:ti,hsl:fe,hsla:fe},parse:t=>{if(typeof t!="string")return t;const e=Ee.parse(t)||ti.parse(t)||fe.parse(t)||ei.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(st.HSL)||t.data.r===void 0?fe.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?ti.stringify(t):Ee.stringify(t)},ka=(t,e)=>{const i=It.parse(t);for(const r in e)i[r]=I.channel.clamp[r](e[r]);return It.stringify(i)},ii=(t,e,i=0,r=1)=>{if(typeof t!="number")return ka(t,{a:e});const n=mr.set({r:I.channel.clamp.r(t),g:I.channel.clamp.g(e),b:I.channel.clamp.b(i),a:I.channel.clamp.a(r)});return It.stringify(n)},Td=t=>{const{r:e,g:i,b:r}=It.parse(t),n=.2126*I.channel.toLinear(e)+.7152*I.channel.toLinear(i)+.0722*I.channel.toLinear(r);return I.lang.round(n)},vd=t=>Td(t)>=.5,kd=vd,Ci=t=>!kd(t),Sa=(t,e,i)=>{const r=It.parse(t),n=r[e],o=I.channel.clamp[e](n+i);return n!==o&&(r[e]=o),It.stringify(r)},F=(t,e)=>Sa(t,"l",e),O=(t,e)=>Sa(t,"l",-e),g=(t,e)=>{const i=It.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return ka(t,r)},Sd=(t,e,i=50)=>{const{r,g:n,b:o,a:s}=It.parse(t),{r:a,g:l,b:h,a:u}=It.parse(e),f=i/100,c=f*2-1,d=s-u,k=((c*d===-1?c:(c+d)/(1+c*d))+1)/2,S=1-k,R=r*k+a*S,T=n*k+l*S,P=o*k+h*S,H=s*f+u*(1-f);return ii(R,T,P,H)},C=(t,e=100)=>{const i=It.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,Sd(i,t,e)};var wa=typeof global=="object"&&global&&global.Object===Object&&global,wd=typeof self=="object"&&self&&self.Object===Object&&self,Nt=wa||wd||Function("return this")(),Ji=Nt.Symbol,Ba=Object.prototype,Bd=Ba.hasOwnProperty,Ad=Ba.toString,Ke=Ji?Ji.toStringTag:void 0;function Fd(t){var e=Bd.call(t,Ke),i=t[Ke];try{t[Ke]=void 0;var r=!0}catch{}var n=Ad.call(t);return r&&(e?t[Ke]=i:delete t[Ke]),n}var Ld=Object.prototype,Ed=Ld.toString;function Od(t){return Ed.call(t)}var Md="[object Null]",Id="[object Undefined]",Ko=Ji?Ji.toStringTag:void 0;function qe(t){return t==null?t===void 0?Id:Md:Ko&&Ko in Object(t)?Fd(t):Od(t)}function Ce(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var $d="[object AsyncFunction]",Dd="[object Function]",Nd="[object GeneratorFunction]",Rd="[object Proxy]";function On(t){if(!Ce(t))return!1;var e=qe(t);return e==Dd||e==Nd||e==$d||e==Rd}var jr=Nt["__core-js_shared__"],Zo=function(){var t=/[^.]+$/.exec(jr&&jr.keys&&jr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Pd(t){return!!Zo&&Zo in t}var qd=Function.prototype,zd=qd.toString;function xe(t){if(t!=null){try{return zd.call(t)}catch{}try{return t+""}catch{}}return""}var Wd=/[\\^$.*+?()[\]{}|]/g,Hd=/^\[object .+?Constructor\]$/,jd=Function.prototype,Ud=Object.prototype,Yd=jd.toString,Vd=Ud.hasOwnProperty,Gd=RegExp("^"+Yd.call(Vd).replace(Wd,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Xd(t){if(!Ce(t)||Pd(t))return!1;var e=On(t)?Gd:Hd;return e.test(xe(t))}function Kd(t,e){return t==null?void 0:t[e]}function be(t,e){var i=Kd(t,e);return Xd(i)?i:void 0}var ui=be(Object,"create");function Zd(){this.__data__=ui?ui(null):{},this.size=0}function Jd(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Qd="__lodash_hash_undefined__",tp=Object.prototype,ep=tp.hasOwnProperty;function ip(t){var e=this.__data__;if(ui){var i=e[t];return i===Qd?void 0:i}return ep.call(e,t)?e[t]:void 0}var rp=Object.prototype,np=rp.hasOwnProperty;function op(t){var e=this.__data__;return ui?e[t]!==void 0:np.call(e,t)}var sp="__lodash_hash_undefined__";function ap(t,e){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=ui&&e===void 0?sp:e,this}function _e(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1}function pp(t,e){var i=this.__data__,r=yr(i,t);return r<0?(++this.size,i.push([t,e])):i[r][1]=e,this}function Xt(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Hp}function br(t){return t!=null&&Oa(t.length)&&!On(t)}function jp(t){return bi(t)&&br(t)}function Up(){return!1}var Ma=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ns=Ma&&typeof module=="object"&&module&&!module.nodeType&&module,Yp=ns&&ns.exports===Ma,os=Yp?Nt.Buffer:void 0,Vp=os?os.isBuffer:void 0,Gp=Vp||Up;const In=Gp;var Xp="[object Object]",Kp=Function.prototype,Zp=Object.prototype,Ia=Kp.toString,Jp=Zp.hasOwnProperty,Qp=Ia.call(Object);function tg(t){if(!bi(t)||qe(t)!=Xp)return!1;var e=La(t);if(e===null)return!0;var i=Jp.call(e,"constructor")&&e.constructor;return typeof i=="function"&&i instanceof i&&Ia.call(i)==Qp}var eg="[object Arguments]",ig="[object Array]",rg="[object Boolean]",ng="[object Date]",og="[object Error]",sg="[object Function]",ag="[object Map]",lg="[object Number]",hg="[object Object]",cg="[object RegExp]",ug="[object Set]",fg="[object String]",dg="[object WeakMap]",pg="[object ArrayBuffer]",gg="[object DataView]",mg="[object Float32Array]",_g="[object Float64Array]",yg="[object Int8Array]",Cg="[object Int16Array]",xg="[object Int32Array]",bg="[object Uint8Array]",Tg="[object Uint8ClampedArray]",vg="[object Uint16Array]",kg="[object Uint32Array]",V={};V[mg]=V[_g]=V[yg]=V[Cg]=V[xg]=V[bg]=V[Tg]=V[vg]=V[kg]=!0;V[eg]=V[ig]=V[pg]=V[rg]=V[gg]=V[ng]=V[og]=V[sg]=V[ag]=V[lg]=V[hg]=V[cg]=V[ug]=V[fg]=V[dg]=!1;function Sg(t){return bi(t)&&Oa(t.length)&&!!V[qe(t)]}function wg(t){return function(e){return t(e)}}var $a=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=$a&&typeof module=="object"&&module&&!module.nodeType&&module,Bg=ri&&ri.exports===$a,Ur=Bg&&wa.process,ss=function(){try{var t=ri&&ri.require&&ri.require("util").types;return t||Ur&&Ur.binding&&Ur.binding("util")}catch{}}(),as=ss&&ss.isTypedArray,Ag=as?wg(as):Sg;const $n=Ag;function hn(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Fg=Object.prototype,Lg=Fg.hasOwnProperty;function Eg(t,e,i){var r=t[e];(!(Lg.call(t,e)&&_r(r,i))||i===void 0&&!(e in t))&&Mn(t,e,i)}function Og(t,e,i,r){var n=!i;i||(i={});for(var o=-1,s=e.length;++o-1&&t%1==0&&t0){if(++e>=Kg)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var tm=Qg(Xg);function em(t,e){return tm(Yg(t,e,Pa),t+"")}function im(t,e,i){if(!Ce(i))return!1;var r=typeof e;return(r=="number"?br(i)&&Da(e,i.length):r=="string"&&e in i)?_r(i[e],t):!1}function rm(t){return em(function(e,i){var r=-1,n=i.length,o=n>1?i[n-1]:void 0,s=n>2?i[2]:void 0;for(o=t.length>3&&typeof o=="function"?(n--,o):void 0,s&&im(i[0],i[1],s)&&(o=n<3?void 0:o,n=1),e=Object(e);++r0?di(We,--Tt):0,$e--,Q===10&&($e=1,Tr--),Q}function Bt(){return Q=Tt2||cn(Q)>3?"":" "}function gm(t,e){for(;--e&&Bt()&&!(Q<48||Q>102||Q>57&&Q<65||Q>70&&Q<97););return vr(t,qi()+(e<6&&pe()==32&&Bt()==32))}function un(t){for(;Bt();)switch(Q){case t:return Tt;case 34:case 39:t!==34&&t!==39&&un(Q);break;case 40:t===41&&un(t);break;case 92:Bt();break}return Tt}function mm(t,e){for(;Bt()&&t+Q!==57;)if(t+Q===84&&pe()===47)break;return"/*"+vr(e,Tt-1)+"*"+Dn(t===47?t:Bt())}function _m(t){for(;!cn(pe());)Bt();return vr(t,Tt)}function ym(t){return dm(zi("",null,null,null,[""],t=fm(t),0,[0],t))}function zi(t,e,i,r,n,o,s,a,l){for(var h=0,u=0,f=s,c=0,d=0,_=0,k=1,S=1,R=1,T=0,P="",H=n,Y=o,X=r,W=P;S;)switch(_=T,T=Bt()){case 40:if(_!=108&&di(W,f-1)==58){lm(W+=Pi(Yr(T),"&","&\f"),"&\f",Ha(h?a[h-1]:0))!=-1&&(R=-1);break}case 34:case 39:case 91:W+=Yr(T);break;case 9:case 10:case 13:case 32:W+=pm(_);break;case 92:W+=gm(qi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Oi(Cm(mm(Bt(),qi()),e,i,l),l);break;default:W+="/"}break;case 123*k:a[h++]=Ut(W)*R;case 125*k:case 59:case 0:switch(T){case 0:case 125:S=0;case 59+u:R==-1&&(W=Pi(W,/\f/g,"")),d>0&&Ut(W)-f&&Oi(d>32?cs(W+";",r,i,f-1,l):cs(Pi(W," ","")+";",r,i,f-2,l),l);break;case 59:W+=";";default:if(Oi(X=hs(W,e,i,h,u,n,a,P,H=[],Y=[],f,o),o),T===123)if(u===0)zi(W,e,X,X,H,o,f,a,Y);else switch(c===99&&di(W,3)===110?100:c){case 100:case 108:case 109:case 115:zi(t,X,X,r&&Oi(hs(t,X,X,0,0,n,a,P,n,H=[],f,Y),Y),n,Y,f,a,r?H:Y);break;default:zi(W,X,X,X,[""],Y,0,a,Y)}}h=u=d=0,k=R=1,P=W="",f=s;break;case 58:f=1+Ut(W),d=_;default:if(k<1){if(T==123)--k;else if(T==125&&k++==0&&um()==125)continue}switch(W+=Dn(T),T*k){case 38:R=u>0?1:(W+="\f",-1);break;case 44:a[h++]=(Ut(W)-1)*R,R=1;break;case 64:pe()===45&&(W+=Yr(Bt())),c=pe(),u=f=Ut(P=W+=_m(qi())),T++;break;case 45:_===45&&Ut(W)==2&&(k=0)}}return o}function hs(t,e,i,r,n,o,s,a,l,h,u,f){for(var c=n-1,d=n===0?o:[""],_=hm(d),k=0,S=0,R=0;k0?d[T]+" "+P:Pi(P,/&\f/g,d[T])))&&(l[R++]=H);return Nn(t,e,i,n===0?za:a,l,h,u,f)}function Cm(t,e,i,r){return Nn(t,e,i,qa,Dn(cm()),pi(t,2,-2),0,r)}function cs(t,e,i,r,n){return Nn(t,e,i,Wa,pi(t,0,r),pi(t,r+1,-1),r,n)}function fn(t,e){for(var i="",r=0;r{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},Rn=function(t="fatal"){let e=Ht.fatal;typeof t=="string"?(t=t.toLowerCase(),t in Ht&&(e=Ht[t])):typeof t=="number"&&(e=t),E.trace=()=>{},E.debug=()=>{},E.info=()=>{},E.warn=()=>{},E.error=()=>{},E.fatal=()=>{},e<=Ht.fatal&&(E.fatal=console.error?console.error.bind(console,xt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",xt("FATAL"))),e<=Ht.error&&(E.error=console.error?console.error.bind(console,xt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",xt("ERROR"))),e<=Ht.warn&&(E.warn=console.warn?console.warn.bind(console,xt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",xt("WARN"))),e<=Ht.info&&(E.info=console.info?console.info.bind(console,xt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",xt("INFO"))),e<=Ht.debug&&(E.debug=console.debug?console.debug.bind(console,xt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",xt("DEBUG"))),e<=Ht.trace&&(E.trace=console.debug?console.debug.bind(console,xt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",xt("TRACE")))},xt=t=>`%c${ph().format("ss.SSS")} : ${t} : `,kr=//gi,Dm=t=>t?Va(t).replace(/\\n/g,"#br#").split("#br#"):[""],Nm=(()=>{let t=!1;return()=>{t||(Rm(),t=!0)}})();function Rm(){const t="data-temp-href-target";Ie.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")||"")}),Ie.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)||""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}const Ya=t=>(Nm(),Ie.sanitize(t)),ms=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=Ya(t):r!=="loose"&&(t=Va(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Wm(t))}return t},gi=(t,e)=>t&&(e.dompurifyConfig?t=Ie.sanitize(ms(t,e),e.dompurifyConfig).toString():t=Ie.sanitize(ms(t,e),{FORBID_TAGS:["style"]}).toString(),t),Pm=(t,e)=>typeof t=="string"?gi(t,e):t.flat().map(i=>gi(i,e)),qm=t=>kr.test(t),zm=t=>t.split(kr),Wm=t=>t.replace(/#br#/g,"
    "),Va=t=>t.replace(kr,"#br#"),Hm=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},Ga=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),jm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.max(...e)},Um=function(...t){const e=t.filter(i=>!isNaN(i));return Math.min(...e)},Mb=function(t){const e=t.split(/(,)/),i=[];for(let r=0;r0&&r+1Math.max(0,t.split(e).length-1),Ym=(t,e)=>{const i=_n(t,"~"),r=_n(e,"~");return i===1&&r===1},Vm=t=>{const e=_n(t,"~");let i=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),i=!0);const r=[...t];let n=r.indexOf("~"),o=r.lastIndexOf("~");for(;n!==-1&&o!==-1&&n!==o;)r[n]="<",r[o]=">",n=r.indexOf("~"),o=r.lastIndexOf("~");return i&&r.unshift("~"),r.join("")},Pn={getRows:Dm,sanitizeText:gi,sanitizeTextOrArray:Pm,hasBreaks:qm,splitBreaks:zm,lineBreakRegex:kr,removeScript:Ya,getUrl:Hm,evaluate:Ga,getMax:jm,getMin:Um},ct=(t,e)=>e?g(t,{s:-40,l:10}):g(t,{s:-40,l:-10}),Sr="#ffffff",wr="#f2f2f2";let Gm=class{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(){var e,i,r,n,o,s,a,l,h,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||g(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||g(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ct(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ct(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||C(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||C(this.tertiaryColor),this.lineColor=this.lineColor||C(this.background),this.arrowheadColor=this.arrowheadColor||C(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?O(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||"grey",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||O(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||C(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||F(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||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.darkMode)for(let d=0;d{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Xm=t=>{const e=new Gm;return e.calculate(t),e};let Km=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=F(this.primaryColor,16),this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=C(this.background),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=F(C("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=ii(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=O("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=O(this.sectionBkgColor,10),this.taskBorderColor=ii(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=ii(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.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=F(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=F(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,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=F(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.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=g(this.primaryColor,{h:64}),this.fillType3=g(this.secondaryColor,{h:64}),this.fillType4=g(this.primaryColor,{h:-64}),this.fillType5=g(this.secondaryColor,{h:-64}),this.fillType6=g(this.primaryColor,{h:128}),this.fillType7=g(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||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330});for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Zm=t=>{const e=new Km;return e.calculate(t),e};let Jm=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=g(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(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="#e8e8e8",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="grey",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=ii(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.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||O(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||O(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const Qm=t=>{const e=new Jm;return e.calculate(t),e};let t0=class{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=F("#cde498",10),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.primaryColor),this.lineColor=C(this.background),this.textColor=C(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="grey",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.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.actorBorder=O(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.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||O(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||O(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const e0=t=>{const e=new t0;return e.calculate(t),e};class i0{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=F(this.contrast,55),this.background="#ffffff",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(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="calculated",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.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=F(this.contrast,55),this.border2=this.contrast,this.actorBorder=F(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,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 c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const r0=t=>{const e=new i0;return e.calculate(t),e},Vt={base:{getThemeVariables:Xm},dark:{getThemeVariables:Zm},default:{getThemeVariables:Qm},forest:{getThemeVariables:e0},neutral:{getThemeVariables:r0}},jt={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},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},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},theme:"default",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","maxEdges"],deterministicIds:!1,fontSize:16},Xa={...jt,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Vt.default.getThemeVariables(),sequence:{...jt.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...jt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...jt.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...jt.pie,useWidth:984},xyChart:{...jt.xyChart,useWidth:void 0},requirement:{...jt.requirement,useWidth:void 0},gitGraph:{...jt.gitGraph,useMaxWidth:!1},sankey:{...jt.sankey,useMaxWidth:!1}},Ka=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...Ka(t[r],"")]:[...i,e+r],[]),n0=new Set(Ka(Xa,"")),o0=Xa,ir=t=>{if(E.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>ir(e));return}for(const e of Object.keys(t)){if(E.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!n0.has(e)||t[e]==null){E.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){E.debug("sanitizing object",e),ir(t[e]);continue}const i=["themeCSS","fontFamily","altFontFamily"];for(const r of i)e.includes(r)&&(E.debug("sanitizing css option",e),t[e]=s0(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const i=t.themeVariables[e];i!=null&&i.match&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}E.debug("After sanitization",t)}},s0=t=>{let e=0,i=0;for(const r of t){if(e{for(const{id:e,detector:i,loader:r}of t)tl(e,i,r)},tl=(t,e,i)=>{De[t]?E.error(`Detector with key ${t} already exists`):De[t]={detector:e,loader:i},E.debug(`Detector with key ${t} added${i?" with loader":""}`)},l0=t=>De[t].loader,yn=(t,e,{depth:i=2,clobber:r=!1}={})=>{const n={depth:i,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(o=>yn(t,o,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(o=>{t.includes(o)||t.push(o)}),t):t===void 0||i<=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(o=>{typeof e[o]=="object"&&(t[o]===void 0||typeof t[o]=="object")?(t[o]===void 0&&(t[o]=Array.isArray(e[o])?[]:{}),t[o]=yn(t[o],e[o],{depth:i-1,clobber:r})):(r||typeof t[o]!="object"&&typeof e[o]!="object")&&(t[o]=e[o])}),t)},at=yn,h0="​",c0={curveBasis:Mf,curveBasisClosed:If,curveBasisOpen:$f,curveBumpX:Ef,curveBumpY:Of,curveBundle:Df,curveCardinalClosed:Rf,curveCardinalOpen:Pf,curveCardinal:Nf,curveCatmullRomClosed:zf,curveCatmullRomOpen:Wf,curveCatmullRom:qf,curveLinear:Lf,curveLinearClosed:Hf,curveMonotoneX:jf,curveMonotoneY:Uf,curveNatural:Yf,curveStep:Vf,curveStepAfter:Xf,curveStepBefore:Gf},u0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,f0=function(t,e){const i=el(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const s=i.map(a=>a.args);ir(s),r=at(r,[...s])}else r=i.args;if(!r)return;let n=Br(t,e);const o="config";return r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o]),r},el=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${u0.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),E.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=ni.exec(t))!==null;)if(r.index===ni.lastIndex&&ni.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:s})}return n.length===0?{type:t,args:null}:n.length===1?n[0]:n}catch(i){return E.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},d0=function(t){return t.replace(ni,"")},p0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function g0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return c0[i]??e}function m0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?Is.sanitizeUrl(i):i}const _0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=il(n,e),e=n});const r=i/2;return qn(t,r)}function C0(t){return t.length===1?t[0]:y0(t)}const _s=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},qn=(t,e)=>{let i,r=e;for(const n of t){if(i){const o=il(n,i);if(o=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:_s((1-s)*i.x+s*n.x,5),y:_s((1-s)*i.y+s*n.y,5)}}}i=n}throw new Error("Could not find a suitable point for the given distance")},x0=(t,e,i)=>{E.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const n=qn(e,25),o=t?10:5,s=Math.atan2(e[0].y-n.y,e[0].x-n.x),a={x:0,y:0};return a.x=Math.sin(s)*o+(e[0].x+n.x)/2,a.y=-Math.cos(s)*o+(e[0].y+n.y)/2,a};function b0(t,e,i){const r=structuredClone(i);E.info("our points",r),e!=="start_left"&&e!=="start_right"&&r.reverse();const n=25+t,o=qn(r,n),s=10+t*.5,a=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(a+Math.PI)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a+Math.PI)*s+(r[0].y+o.y)/2):e==="end_right"?(l.x=Math.sin(a-Math.PI)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a-Math.PI)*s+(r[0].y+o.y)/2-5):e==="end_left"?(l.x=Math.sin(a)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2-5):(l.x=Math.sin(a)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2),l}function T0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let ys=0;const v0=()=>(ys++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ys);function k0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nk0(t.length),w0=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:""}},B0=function(t,e){const i=e.text.replace(Pn.lineBreakRegex," "),[,r]=Wn(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},A0=xi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},i),Pn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=rr(`${s} `,i),h=rr(o,i);if(l>e){const{hyphenatedStrings:c,remainingWord:d}=F0(s,e,"-",i);n.push(o,...c),o=d}else h+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),F0=xi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const h=`${s}${a}`;if(rr(h,r)>=e){const f=l+1,c=n.length===f,d=`${h}${i}`;o.push(c?h:d),s=""}else s=h}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function L0(t,e){return zn(t,e).height}function rr(t,e){return zn(t,e).width}const zn=xi((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,o]=Wn(i),s=["sans-serif",r],a=t.split(Pn.lineBreakRegex),l=[],h=bt("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const c of s){let d=0;const _={width:0,height:0,lineHeight:0};for(const k of a){const S=w0();S.text=k||h0;const R=B0(u,S).style("font-size",o).style("font-weight",n).style("font-family",c),T=(R._groups||R)[0][0].getBBox();if(T.width===0&&T.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,T.width)),d=Math.round(T.height),_.height+=d,_.lineHeight=Math.round(Math.max(_.lineHeight,d))}l.push(_)}u.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`);class E0{constructor(e=!1,i){this.count=0,this.count=i?i.length:0,this.next=e?()=>this.count++:()=>Date.now()}}let Mi;const O0=function(t){return Mi=Mi||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Mi.innerHTML=t,unescape(Mi.textContent)};function rl(t){return"str"in t}const M0=(t,e,i,r)=>{var n;if(!r)return;const o=(n=t.node())==null?void 0:n.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-i).attr("class",e)},Wn=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function nl(t,e){return nm({},t,e)}const oi={assignWithDepth:at,wrapLabel:A0,calculateTextHeight:L0,calculateTextWidth:rr,calculateTextDimensions:zn,cleanAndMerge:nl,detectInit:f0,detectDirective:el,isSubstringInArray:p0,interpolateToCurve:g0,calcLabelPosition:C0,calcCardinalityPosition:x0,calcTerminalLabelPosition:b0,formatUrl:m0,getStylesFromArray:T0,generateId:v0,random:S0,runFunc:_0,entityDecode:O0,insertTitle:M0,parseFontSize:Wn,InitIDGenerator:E0},I0=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},$0=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},Cs="10.8.0",Ne=Object.freeze(o0);let pt=at({},Ne),ol,Re=[],si=at({},Ne);const Ar=(t,e)=>{let i=at({},t),r={};for(const n of e)ll(n),r=at(r,n);if(i=at(i,r),r.theme&&r.theme in Vt){const n=at({},ol),o=at(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Vt&&(i.themeVariables=Vt[i.theme].getThemeVariables(o))}return si=i,hl(si),si},D0=t=>(pt=at({},Ne),pt=at(pt,t),t.theme&&Vt[t.theme]&&(pt.themeVariables=Vt[t.theme].getThemeVariables(t.themeVariables)),Ar(pt,Re),pt),N0=t=>{ol=at({},t)},R0=t=>(pt=at(pt,t),Ar(pt,Re),pt),sl=()=>at({},pt),al=t=>(hl(t),at(si,t),$t()),$t=()=>at({},si),ll=t=>{t&&(["secure",...pt.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(E.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"&&ll(t[e])}))},P0=t=>{ir(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),Re.push(t),Ar(pt,Re)},nr=(t=pt)=>{Re=[],Ar(t,Re)},q0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},xs={},z0=t=>{xs[t]||(E.warn(q0[t]),xs[t]=!0)},hl=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&z0("LAZY_LOAD_DEPRECATED")},cl="c4",W0=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),H0=async()=>{const{diagram:t}=await Z(()=>import("./c4Diagram-b947cdbb-BXDdkOoW.js"),__vite__mapDeps([0,1,2]));return{id:cl,diagram:t}},j0={id:cl,detector:W0,loader:H0},U0=j0,ul="flowchart",Y0=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},V0=async()=>{const{diagram:t}=await Z(()=>import("./flowDiagram-d949d7c1-B7RiBCpu.js"),__vite__mapDeps([3,4,5,6,7,8,9,10,11,12,13,14,15,2]));return{id:ul,diagram:t}},G0={id:ul,detector:Y0,loader:V0},X0=G0,fl="flowchart-v2",K0=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},Z0=async()=>{const{diagram:t}=await Z(()=>import("./flowDiagram-v2-49332944-RlTTmQKc.js"),__vite__mapDeps([16,4,7,5,8,6,9,10,11,12,13,14,15,2]));return{id:fl,diagram:t}},J0={id:fl,detector:K0,loader:Z0},Q0=J0,dl="er",t_=t=>/^\s*erDiagram/.test(t),e_=async()=>{const{diagram:t}=await Z(()=>import("./erDiagram-0ea73325-Cx9x3r7v.js"),__vite__mapDeps([17,5,6,12,13,14,2]));return{id:dl,diagram:t}},i_={id:dl,detector:t_,loader:e_},r_=i_,pl="gitGraph",n_=t=>/^\s*gitGraph/.test(t),o_=async()=>{const{diagram:t}=await Z(()=>import("./gitGraphDiagram-b9d81de9-D2AwAY6H.js"),__vite__mapDeps([18,2]));return{id:pl,diagram:t}},s_={id:pl,detector:n_,loader:o_},a_=s_,gl="gantt",l_=t=>/^\s*gantt/.test(t),h_=async()=>{const{diagram:t}=await Z(()=>import("./ganttDiagram-5c869e3b-BEDi2c1X.js"),__vite__mapDeps([19,20,21,2]));return{id:gl,diagram:t}},c_={id:gl,detector:l_,loader:h_},u_=c_,ml="info",f_=t=>/^\s*info/.test(t),d_=async()=>{const{diagram:t}=await Z(()=>import("./infoDiagram-db7b18fc-fQUUx8eo.js"),__vite__mapDeps([22,2]));return{id:ml,diagram:t}},p_={id:ml,detector:f_,loader:d_},_l="pie",g_=t=>/^\s*pie/.test(t),m_=async()=>{const{diagram:t}=await Z(()=>import("./pieDiagram-b0208e96-DYKUws8B.js"),__vite__mapDeps([23,24,14,25,21,13,2]));return{id:_l,diagram:t}},__={id:_l,detector:g_,loader:m_},yl="quadrantChart",y_=t=>/^\s*quadrantChart/.test(t),C_=async()=>{const{diagram:t}=await Z(()=>import("./quadrantDiagram-0332be45-1dqumzF6.js"),__vite__mapDeps([26,20,21,2]));return{id:yl,diagram:t}},x_={id:yl,detector:y_,loader:C_},b_=x_,Cl="xychart",T_=t=>/^\s*xychart-beta/.test(t),v_=async()=>{const{diagram:t}=await Z(()=>import("./xychartDiagram-e50adddc-C1pAHL1b.js"),__vite__mapDeps([27,11,21,25,20,12,13,14,2]));return{id:Cl,diagram:t}},k_={id:Cl,detector:T_,loader:v_},S_=k_,xl="requirement",w_=t=>/^\s*requirement(Diagram)?/.test(t),B_=async()=>{const{diagram:t}=await Z(()=>import("./requirementDiagram-bf7890df-DZM88n7p.js"),__vite__mapDeps([28,5,6,12,13,14,2]));return{id:xl,diagram:t}},A_={id:xl,detector:w_,loader:B_},F_=A_,bl="sequence",L_=t=>/^\s*sequenceDiagram/.test(t),E_=async()=>{const{diagram:t}=await Z(()=>import("./sequenceDiagram-c18d009d-Clc_rWkm.js"),__vite__mapDeps([29,1,2]));return{id:bl,diagram:t}},O_={id:bl,detector:L_,loader:E_},M_=O_,Tl="class",I_=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},$_=async()=>{const{diagram:t}=await Z(()=>import("./classDiagram-35230388-DrjbHtsY.js"),__vite__mapDeps([30,31,5,6,12,13,14,2]));return{id:Tl,diagram:t}},D_={id:Tl,detector:I_,loader:$_},N_=D_,vl="classDiagram",R_=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},P_=async()=>{const{diagram:t}=await Z(()=>import("./classDiagram-v2-412acd34-CgZ8xNdD.js"),__vite__mapDeps([32,31,5,8,6,9,10,11,12,13,14,2]));return{id:vl,diagram:t}},q_={id:vl,detector:R_,loader:P_},z_=q_,kl="state",W_=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},H_=async()=>{const{diagram:t}=await Z(()=>import("./stateDiagram-43596fc0-B39Oj8_d.js"),__vite__mapDeps([33,34,5,6,12,13,14,2]));return{id:kl,diagram:t}},j_={id:kl,detector:W_,loader:H_},U_=j_,Sl="stateDiagram",Y_=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},V_=async()=>{const{diagram:t}=await Z(()=>import("./stateDiagram-v2-2ead4f9c-EiGeU0Vu.js"),__vite__mapDeps([35,34,5,8,6,9,10,11,12,13,14,2]));return{id:Sl,diagram:t}},G_={id:Sl,detector:Y_,loader:V_},X_=G_,wl="journey",K_=t=>/^\s*journey/.test(t),Z_=async()=>{const{diagram:t}=await Z(()=>import("./journeyDiagram-d5636530-Dn307crS.js"),__vite__mapDeps([36,1,24,14,2]));return{id:wl,diagram:t}},J_={id:wl,detector:K_,loader:Z_},Q_=J_,ty=function(t,e){for(let i of e)t.attr(i[0],i[1])},ey=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Bl=function(t,e,i,r){const n=ey(e,i,r);ty(t,n)},iy=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,s=n.height;E.info(`SVG bounds: ${o}x${s}`,n);let a=0,l=0;E.info(`Graph bounds: ${a}x${l}`,t),a=o+i*2,l=s+i*2,E.info(`Calculated bounds: ${a}x${l}`),Bl(e,l,a,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},Wi={},ry=(t,e,i)=>{let r="";return t in Wi&&Wi[t]?r=Wi[t](i):E.warn(`No theme found for ${t}`),` & { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + fill: ${i.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${i.errorBkgColor}; + } + & .error-text { + fill: ${i.errorTextColor}; + stroke: ${i.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + } + & .marker.cross { + stroke: ${i.lineColor}; + } + + & svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + ${r} + + ${e} +`},ny=(t,e)=>{e!==void 0&&(Wi[t]=e)},oy=ry;let Hn="",jn="",Un="";const Yn=t=>gi(t,$t()),sy=()=>{Hn="",Un="",jn=""},ay=t=>{Hn=Yn(t).replace(/^\s+/g,"")},ly=()=>Hn,hy=t=>{Un=Yn(t).replace(/\n\s+/g,` +`)},cy=()=>Un,uy=t=>{jn=Yn(t)},fy=()=>jn,dy=Object.freeze(Object.defineProperty({__proto__:null,clear:sy,getAccDescription:cy,getAccTitle:ly,getDiagramTitle:fy,setAccDescription:hy,setAccTitle:ay,setDiagramTitle:uy},Symbol.toStringTag,{value:"Module"})),py=E,gy=Rn,Vn=$t,Rb=al,Pb=Ne,my=t=>gi(t,Vn()),_y=iy,yy=()=>dy,or={},sr=(t,e,i)=>{var r;if(or[t])throw new Error(`Diagram ${t} already registered.`);or[t]=e,i&&tl(t,i),ny(t,e.styles),(r=e.injectUtils)==null||r.call(e,py,gy,Vn,my,_y,yy(),()=>{})},Gn=t=>{if(t in or)return or[t];throw new Cy(t)};class Cy extends Error{constructor(e){super(`Diagram ${e} not found.`)}}const xy=t=>{var e;const{securityLevel:i}=Vn();let r=bt("body");if(i==="sandbox"){const s=((e=bt(`#i${t}`).node())==null?void 0:e.contentDocument)??document;r=bt(s.body)}return r.select(`#${t}`)},by=(t,e,i)=>{E.debug(`rendering svg for syntax error +`);const r=xy(e);r.attr("viewBox","0 0 2412 512"),Bl(r,100,512,!0);const n=r.append("g");n.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"),n.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"),n.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"),n.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"),n.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"),n.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"),n.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"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},Al={draw:by},Ty=Al,vy={db:{},renderer:Al,parser:{parser:{yy:{}},parse:()=>{}}},ky=vy,Fl="flowchart-elk",Sy=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},wy=async()=>{const{diagram:t}=await Z(()=>import("./flowchart-elk-definition-27cc417a-DWg7WXio.js"),__vite__mapDeps([37,4,10,11,12,13,14,2]));return{id:Fl,diagram:t}},By={id:Fl,detector:Sy,loader:wy},Ay=By,Ll="timeline",Fy=t=>/^\s*timeline/.test(t),Ly=async()=>{const{diagram:t}=await Z(()=>import("./timeline-definition-d977decf-BRm8LHqy.js"),__vite__mapDeps([38,24,14,2]));return{id:Ll,diagram:t}},Ey={id:Ll,detector:Fy,loader:Ly},Oy=Ey,El="mindmap",My=t=>/^\s*mindmap/.test(t),Iy=async()=>{const{diagram:t}=await Z(()=>import("./mindmap-definition-377f8f1f-pH43fUKh.js"),__vite__mapDeps([39,11,2]));return{id:El,diagram:t}},$y={id:El,detector:My,loader:Iy},Dy=$y,Ol="sankey",Ny=t=>/^\s*sankey-beta/.test(t),Ry=async()=>{const{diagram:t}=await Z(()=>import("./sankeyDiagram-0acdec17-BRvOW2oB.js"),__vite__mapDeps([40,25,21,41,2]));return{id:Ol,diagram:t}},Py={id:Ol,detector:Ny,loader:Ry},qy=Py,Ml="block",zy=t=>/^\s*block-beta/.test(t),Wy=async()=>{const{diagram:t}=await Z(()=>import("./blockDiagram-6b2b5046-CCvh0vli.js"),__vite__mapDeps([42,9,5,10,11,12,13,14,25,21,15,41,2]));return{id:Ml,diagram:t}},Hy={id:Ml,detector:zy,loader:Wy},jy=Hy;let bs=!1;const Xn=()=>{bs||(bs=!0,sr("error",ky,t=>t.toLowerCase().trim()==="error"),sr("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{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")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),Qa(U0,z_,N_,r_,u_,p_,__,F_,M_,Ay,Q0,X0,Dy,Oy,a_,X_,U_,Q_,b_,qy,S_,jy))};class Il{constructor(e,i={}){this.text=e,this.metadata=i,this.type="graph",this.text=I0(e),this.text+=` +`;const r=$t();try{this.type=Br(e,r)}catch(o){this.type="error",this.detectError=o}const n=Gn(this.type);E.debug("Type "+this.type),this.db=n.db,this.renderer=n.renderer,this.parser=n.parser,this.parser.parser.yy=this.db,this.init=n.init,this.parse()}parse(){var e,i,r,n,o;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e);const s=$t();(r=this.init)==null||r.call(this,s),this.metadata.title&&((o=(n=this.db).setDiagramTitle)==null||o.call(n,this.metadata.title)),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const Uy=async(t,e={})=>{const i=Br(t,$t());try{Gn(i)}catch{const n=l0(i);if(!n)throw new Ja(`Diagram ${i} not found.`);const{id:o,diagram:s}=await n();sr(o,s)}return new Il(t,e)};let Ts=[];const Yy=()=>{Ts.forEach(t=>{t()}),Ts=[]},Vy="graphics-document document";function Gy(t,e){t.attr("role",Vy),e!==""&&t.attr("aria-roledescription",e)}function Xy(t,e,i,r){if(t.insert!==void 0){if(i){const n=`chart-desc-${r}`;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}const Ky=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function $l(t){return typeof t>"u"||t===null}function Zy(t){return typeof t=="object"&&t!==null}function Jy(t){return Array.isArray(t)?t:$l(t)?[]:[t]}function Qy(t,e){var i,r,n,o;if(e)for(o=Object.keys(e),i=0,r=o.length;ia&&(o=" ... ",e=r-a+o.length),i-r>a&&(s=" ...",i=r+a-s.length),{str:o+t.slice(e,i).replace(/\t/g,"→")+s,pos:r-e+o.length}}function Xr(t,e){return ht.repeat(" ",e-t.length)+t}function lC(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 i=/\r?\n|\r|\0/g,r=[0],n=[],o,s=-1;o=i.exec(t.buffer);)n.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var a="",l,h,u=Math.min(t.line+e.linesAfter,n.length).toString().length,f=e.maxLength-(e.indent+u+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)h=Gr(t.buffer,r[s-l],n[s-l],t.position-(r[s]-r[s-l]),f),a=ht.repeat(" ",e.indent)+Xr((t.line-l+1).toString(),u)+" | "+h.str+` +`+a;for(h=Gr(t.buffer,r[s],n[s],t.position,f),a+=ht.repeat(" ",e.indent)+Xr((t.line+1).toString(),u)+" | "+h.str+` +`,a+=ht.repeat("-",e.indent+u+3+h.pos)+`^ +`,l=1;l<=e.linesAfter&&!(s+l>=n.length);l++)h=Gr(t.buffer,r[s+l],n[s+l],t.position-(r[s]-r[s+l]),f),a+=ht.repeat(" ",e.indent)+Xr((t.line+l+1).toString(),u)+" | "+h.str+` +`;return a.replace(/\n$/,"")}var hC=lC,cC=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],uC=["scalar","sequence","mapping"];function fC(t){var e={};return t!==null&&Object.keys(t).forEach(function(i){t[i].forEach(function(r){e[String(r)]=i})}),e}function dC(t,e){if(e=e||{},Object.keys(e).forEach(function(i){if(cC.indexOf(i)===-1)throw new Yt('Unknown option "'+i+'" 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(i){return i},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=fC(e.styleAliases||null),uC.indexOf(this.kind)===-1)throw new Yt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var lt=dC;function vs(t,e){var i=[];return t[e].forEach(function(r){var n=i.length;i.forEach(function(o,s){o.tag===r.tag&&o.kind===r.kind&&o.multi===r.multi&&(n=s)}),i[n]=r}),i}function pC(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,i;function r(n){n.multi?(t.multi[n.kind].push(n),t.multi.fallback.push(n)):t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,i=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),$C=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function DC(t){return!(t===null||!$C.test(t)||t[t.length-1]==="_")}function NC(t){var e,i;return e=t.replace(/_/g,"").toLowerCase(),i=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:i*parseFloat(e,10)}var RC=/^[-+]?[0-9]+e/;function PC(t,e){var i;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(ht.isNegativeZero(t))return"-0.0";return i=t.toString(10),RC.test(i)?i.replace("e",".e"):i}function qC(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ht.isNegativeZero(t))}var zC=new lt("tag:yaml.org,2002:float",{kind:"scalar",resolve:DC,construct:NC,predicate:qC,represent:PC,defaultStyle:"lowercase"}),Nl=CC.extend({implicit:[vC,BC,IC,zC]}),WC=Nl,Rl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Pl=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]))?))?$");function HC(t){return t===null?!1:Rl.exec(t)!==null||Pl.exec(t)!==null}function jC(t){var e,i,r,n,o,s,a,l=0,h=null,u,f,c;if(e=Rl.exec(t),e===null&&(e=Pl.exec(t)),e===null)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],f=+(e[11]||0),h=(u*60+f)*6e4,e[9]==="-"&&(h=-h)),c=new Date(Date.UTC(i,r,n,o,s,a,l)),h&&c.setTime(c.getTime()-h),c}function UC(t){return t.toISOString()}var YC=new lt("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:HC,construct:jC,instanceOf:Date,represent:UC});function VC(t){return t==="<<"||t===null}var GC=new lt("tag:yaml.org,2002:merge",{kind:"scalar",resolve:VC}),Kn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function XC(t){if(t===null)return!1;var e,i,r=0,n=t.length,o=Kn;for(i=0;i64)){if(e<0)return!1;r+=6}return r%8===0}function KC(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,o=Kn,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(r.charAt(e));return i=n%4*6,i===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):i===18?(a.push(s>>10&255),a.push(s>>2&255)):i===12&&a.push(s>>4&255),new Uint8Array(a)}function ZC(t){var e="",i=0,r,n,o=t.length,s=Kn;for(r=0;r>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]),i=(i<<8)+t[r];return n=o%3,n===0?(e+=s[i>>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]):n===2?(e+=s[i>>10&63],e+=s[i>>4&63],e+=s[i<<2&63],e+=s[64]):n===1&&(e+=s[i>>2&63],e+=s[i<<4&63],e+=s[64],e+=s[64]),e}function JC(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var QC=new lt("tag:yaml.org,2002:binary",{kind:"scalar",resolve:XC,construct:KC,predicate:JC,represent:ZC}),tx=Object.prototype.hasOwnProperty,ex=Object.prototype.toString;function ix(t){if(t===null)return!0;var e=[],i,r,n,o,s,a=t;for(i=0,r=a.length;i>10)+55296,(t-65536&1023)+56320)}var jl=new Array(256),Ul=new Array(256);for(var Be=0;Be<256;Be++)jl[Be]=ws(Be)?1:0,Ul[Be]=ws(Be);function Tx(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||dx,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 Yl(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=hC(i),new Yt(e,i)}function L(t,e){throw Yl(t,e)}function hr(t,e){t.onWarning&&t.onWarning.call(null,Yl(t,e))}var Bs={YAML:function(e,i,r){var n,o,s;e.version!==null&&L(e,"duplication of %YAML directive"),r.length!==1&&L(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),n===null&&L(e,"ill-formed argument of the YAML directive"),o=parseInt(n[1],10),s=parseInt(n[2],10),o!==1&&L(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&hr(e,"unsupported YAML version of the document")},TAG:function(e,i,r){var n,o;r.length!==2&&L(e,"TAG directive accepts exactly two arguments"),n=r[0],o=r[1],Wl.test(n)||L(e,"ill-formed tag handle (first argument) of the TAG directive"),oe.call(e.tagMap,n)&&L(e,'there is a previously declared suffix for "'+n+'" tag handle'),Hl.test(o)||L(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{L(e,"tag prefix is malformed: "+o)}e.tagMap[n]=o}};function re(t,e,i,r){var n,o,s,a;if(e1&&(t.result+=ht.repeat(` +`,e-1))}function vx(t,e,i){var r,n,o,s,a,l,h,u,f=t.kind,c=t.result,d;if(d=t.input.charCodeAt(t.position),mt(d)||Ae(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96||(d===63||d===45)&&(n=t.input.charCodeAt(t.position+1),mt(n)||i&&Ae(n)))return!1;for(t.kind="scalar",t.result="",o=s=t.position,a=!1;d!==0;){if(d===58){if(n=t.input.charCodeAt(t.position+1),mt(n)||i&&Ae(n))break}else if(d===35){if(r=t.input.charCodeAt(t.position-1),mt(r))break}else{if(t.position===t.lineStart&&Fr(t)||i&&Ae(d))break;if(Mt(d))if(l=t.line,h=t.lineStart,u=t.lineIndent,tt(t,!1,-1),t.lineIndent>=e){a=!0,d=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=h,t.lineIndent=u;break}}a&&(re(t,o,s,!1),Jn(t,t.line-l),o=s=t.position,a=!1),ge(d)||(s=t.position+1),d=t.input.charCodeAt(++t.position)}return re(t,o,s,!1),t.result?!0:(t.kind=f,t.result=c,!1)}function kx(t,e){var i,r,n;if(i=t.input.charCodeAt(t.position),i!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(i=t.input.charCodeAt(t.position))!==0;)if(i===39)if(re(t,r,t.position,!0),i=t.input.charCodeAt(++t.position),i===39)r=t.position,t.position++,n=t.position;else return!0;else Mt(i)?(re(t,r,n,!0),Jn(t,tt(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Fr(t)?L(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);L(t,"unexpected end of the stream within a single quoted scalar")}function Sx(t,e){var i,r,n,o,s,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return re(t,i,t.position,!0),t.position++,!0;if(a===92){if(re(t,i,t.position,!0),a=t.input.charCodeAt(++t.position),Mt(a))tt(t,!1,e);else if(a<256&&jl[a])t.result+=Ul[a],t.position++;else if((s=Cx(a))>0){for(n=s,o=0;n>0;n--)a=t.input.charCodeAt(++t.position),(s=yx(a))>=0?o=(o<<4)+s:L(t,"expected hexadecimal character");t.result+=bx(o),t.position++}else L(t,"unknown escape sequence");i=r=t.position}else Mt(a)?(re(t,i,r,!0),Jn(t,tt(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Fr(t)?L(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}L(t,"unexpected end of the stream within a double quoted scalar")}function wx(t,e){var i=!0,r,n,o,s=t.tag,a,l=t.anchor,h,u,f,c,d,_=Object.create(null),k,S,R,T;if(T=t.input.charCodeAt(t.position),T===91)u=93,d=!1,a=[];else if(T===123)u=125,d=!0,a={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),T=t.input.charCodeAt(++t.position);T!==0;){if(tt(t,!0,e),T=t.input.charCodeAt(t.position),T===u)return t.position++,t.tag=s,t.anchor=l,t.kind=d?"mapping":"sequence",t.result=a,!0;i?T===44&&L(t,"expected the node content, but found ','"):L(t,"missed comma between flow collection entries"),S=k=R=null,f=c=!1,T===63&&(h=t.input.charCodeAt(t.position+1),mt(h)&&(f=c=!0,t.position++,tt(t,!0,e))),r=t.line,n=t.lineStart,o=t.position,Pe(t,e,ar,!1,!0),S=t.tag,k=t.result,tt(t,!0,e),T=t.input.charCodeAt(t.position),(c||t.line===r)&&T===58&&(f=!0,T=t.input.charCodeAt(++t.position),tt(t,!0,e),Pe(t,e,ar,!1,!0),R=t.result),d?Fe(t,a,_,S,k,R,r,n,o):f?a.push(Fe(t,null,_,S,k,R,r,n,o)):a.push(k),tt(t,!0,e),T=t.input.charCodeAt(t.position),T===44?(i=!0,T=t.input.charCodeAt(++t.position)):i=!1}L(t,"unexpected end of the stream within a flow collection")}function Bx(t,e){var i,r,n=Kr,o=!1,s=!1,a=e,l=0,h=!1,u,f;if(f=t.input.charCodeAt(t.position),f===124)r=!1;else if(f===62)r=!0;else return!1;for(t.kind="scalar",t.result="";f!==0;)if(f=t.input.charCodeAt(++t.position),f===43||f===45)Kr===n?n=f===43?ks:px:L(t,"repeat of a chomping mode identifier");else if((u=xx(f))>=0)u===0?L(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?L(t,"repeat of an indentation width identifier"):(a=e+u-1,s=!0);else break;if(ge(f)){do f=t.input.charCodeAt(++t.position);while(ge(f));if(f===35)do f=t.input.charCodeAt(++t.position);while(!Mt(f)&&f!==0)}for(;f!==0;){for(Zn(t),t.lineIndent=0,f=t.input.charCodeAt(t.position);(!s||t.lineIndenta&&(a=t.lineIndent),Mt(f)){l++;continue}if(t.lineIndente)&&l!==0)L(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(S&&(s=t.line,a=t.lineStart,l=t.position),Pe(t,e,lr,!0,n)&&(S?_=t.result:k=t.result),S||(Fe(t,f,c,d,_,k,s,a,l),d=_=k=null),tt(t,!0,-1),T=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&T!==0)L(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),f=0,c=t.implicitTypes.length;f"),t.result!==null&&_.kind!==t.kind&&L(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+_.kind+'", not "'+t.kind+'"'),_.resolve(t.result,t.tag)?(t.result=_.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):L(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function Ox(t){var e=t.position,i,r,n,o=!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&&(tt(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(o=!0,s=t.input.charCodeAt(++t.position),i=t.position;s!==0&&!mt(s);)s=t.input.charCodeAt(++t.position);for(r=t.input.slice(i,t.position),n=[],r.length<1&&L(t,"directive name must not be less than one character in length");s!==0;){for(;ge(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!Mt(s));break}if(Mt(s))break;for(i=t.position;s!==0&&!mt(s);)s=t.input.charCodeAt(++t.position);n.push(t.input.slice(i,t.position))}s!==0&&Zn(t),oe.call(Bs,r)?Bs[r](t,r,n):hr(t,'unknown document directive "'+r+'"')}if(tt(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,tt(t,!0,-1)):o&&L(t,"directives end mark is expected"),Pe(t,t.lineIndent-1,lr,!1,!0),tt(t,!0,-1),t.checkLineBreaks&&mx.test(t.input.slice(e,t.position))&&hr(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Fr(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,tt(t,!0,-1));return}if(t.position"u"&&(i=e,e=null);var r=Vl(t,i);if(typeof e!="function")return r;for(var n=0,o=r.length;nt.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,i,r)=>"<"+i+r.replace(/="([^"]*)"/g,"='$1'")+">"),Wx=t=>{const{text:e,metadata:i}=qx(t),{displayMode:r,title:n,config:o={}}=i;return r&&(o.gantt||(o.gantt={}),o.gantt.displayMode=r),{title:n,config:o,text:e}},Hx=t=>{const e=oi.detectInit(t)??{},i=oi.detectDirective(t,"wrap");return Array.isArray(i)?e.wrap=i.some(({type:r})=>{}):(i==null?void 0:i.type)==="wrap"&&(e.wrap=!0),{text:d0(t),directive:e}};function Gl(t){const e=zx(t),i=Wx(e),r=Hx(i.text),n=nl(i.config,r.directive);return t=Ky(r.text),{code:t,title:i.title,config:n}}const jx=5e4,Ux="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Yx="sandbox",Vx="loose",Gx="http://www.w3.org/2000/svg",Xx="http://www.w3.org/1999/xlink",Kx="http://www.w3.org/1999/xhtml",Zx="100%",Jx="100%",Qx="border:0;margin:0;",tb="margin:0",eb="allow-top-navigation-by-user-activation allow-popups",ib='The "iframe" tag is not supported by your browser.',rb=["foreignobject"],nb=["dominant-baseline"];function Xl(t){const e=Gl(t);return nr(),P0(e.config??{}),e}async function ob(t,e){Xn(),t=Xl(t).code;try{await Qn(t)}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const Ls=(t,e,i=[])=>` +.${t} ${e} { ${i.join(" !important; ")} !important; }`,sb=(t,e={})=>{var i;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}}`),!Vr(e)){const a=t.htmlLabels||((i=t.flowchart)==null?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const l in e){const h=e[l];Vr(h.styles)||a.forEach(u=>{r+=Ls(h.id,u,h.styles)}),Vr(h.textStyles)||(r+=Ls(h.id,"tspan",h.textStyles))}}return r},ab=(t,e,i,r)=>{const n=sb(t,i),o=oy(e,n,t.themeVariables);return fn(ym(`${r}{${o}}`),xm)},lb=(t="",e,i)=>{let r=t;return!i&&!e&&(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=$0(r),r=r.replace(/
    /g,"
    "),r},hb=(t="",e)=>{var i,r;const n=(r=(i=e==null?void 0:e.viewBox)==null?void 0:i.baseVal)!=null&&r.height?e.viewBox.baseVal.height+"px":Jx,o=btoa(''+t+"");return``},Es=(t,e,i,r,n)=>{const o=t.append("div");o.attr("id",i),r&&o.attr("style",r);const s=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns",Gx);return n&&s.attr("xmlns:xlink",n),s.append("g"),t};function Os(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const cb=(t,e,i,r)=>{var n,o,s;(n=t.getElementById(e))==null||n.remove(),(o=t.getElementById(i))==null||o.remove(),(s=t.getElementById(r))==null||s.remove()},ub=async function(t,e,i){var r,n,o,s,a,l;Xn();const h=Xl(e);e=h.code;const u=$t();E.debug(u),e.length>((u==null?void 0:u.maxTextSize)??jx)&&(e=Ux);const f="#"+t,c="i"+t,d="#"+c,_="d"+t,k="#"+_;let S=bt("body");const R=u.securityLevel===Yx,T=u.securityLevel===Vx,P=u.fontFamily;if(i!==void 0){if(i&&(i.innerHTML=""),R){const b=Os(bt(i),c);S=bt(b.nodes()[0].contentDocument.body),S.node().style.margin=0}else S=bt(i);Es(S,t,_,`font-family: ${P}`,Xx)}else{if(cb(document,t,_,c),R){const b=Os(bt("body"),c);S=bt(b.nodes()[0].contentDocument.body),S.node().style.margin=0}else S=bt("body");Es(S,t,_)}let H,Y;try{H=await Qn(e,{title:h.title})}catch(b){H=new Il("error"),Y=b}const X=S.select(k).node(),W=H.type,Kt=X.firstChild,Zt=Kt.firstChild,j=(n=(r=H.renderer).getClasses)==null?void 0:n.call(r,e,H),z=ab(u,W,j,f),vt=document.createElement("style");vt.innerHTML=z,Kt.insertBefore(vt,Zt);try{await H.renderer.draw(e,t,Cs,H)}catch(b){throw Ty.draw(e,t,Cs),b}const Jt=S.select(`${k} svg`),M=(s=(o=H.db).getAccTitle)==null?void 0:s.call(o),v=(l=(a=H.db).getAccDescription)==null?void 0:l.call(a);db(W,Jt,M,v),S.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Kx);let y=S.select(k).node().innerHTML;if(E.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),y=lb(y,R,Ga(u.arrowMarkerAbsolute)),R){const b=S.select(k+" svg").node();y=hb(y,b)}else T||(y=Ie.sanitize(y,{ADD_TAGS:rb,ADD_ATTR:nb}));if(Yy(),Y)throw Y;const x=bt(R?d:k).node();return x&&"remove"in x&&x.remove(),{svg:y,bindFunctions:H.db.bindFunctions}};function fb(t={}){var e;t!=null&&t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),N0(t),t!=null&&t.theme&&t.theme in Vt?t.themeVariables=Vt[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Vt.default.getThemeVariables(t.themeVariables));const i=typeof t=="object"?D0(t):sl();Rn(i.logLevel),Xn()}const Qn=(t,e={})=>{const{code:i}=Gl(t);return Uy(i,e)};function db(t,e,i,r){Gy(e,t),Xy(e,i,r,e.attr("id"))}const ye=Object.freeze({render:ub,parse:ob,getDiagramFromText:Qn,initialize:fb,getConfig:$t,setConfig:al,getSiteConfig:sl,updateSiteConfig:R0,reset:()=>{nr()},globalReset:()=>{nr(Ne)},defaultConfig:Ne});Rn($t().logLevel);nr($t());const pb=async()=>{E.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(De).map(async([i,{detector:r,loader:n}])=>{if(n)try{Gn(i)}catch{try{const{diagram:s,id:a}=await n();sr(a,s,r)}catch(s){throw E.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete De[i],s}}}))).filter(i=>i.status==="rejected");if(e.length>0){E.error(`Failed to load ${e.length} external diagrams`);for(const i of e)E.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},gb=(t,e,i)=>{E.warn(t),rl(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},Kl=async function(t={querySelector:".mermaid"}){try{await mb(t)}catch(e){if(rl(e)&&E.error(e.str),Ft.parseError&&Ft.parseError(e),!t.suppressErrors)throw E.error("Use the suppressErrors option to suppress these errors"),e}},mb=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const r=ye.getConfig();E.debug(`${t?"":"No "}Callback function found`);let n;if(i)n=i;else if(e)n=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");E.debug(`Found ${n.length} diagrams`),(r==null?void 0:r.startOnLoad)!==void 0&&(E.debug("Start On Load: "+(r==null?void 0:r.startOnLoad)),ye.updateSiteConfig({startOnLoad:r==null?void 0:r.startOnLoad}));const o=new oi.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const a=[];for(const l of Array.from(n)){E.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const h=`mermaid-${o.next()}`;s=l.innerHTML,s=ch(oi.entityDecode(s)).trim().replace(//gi,"
    ");const u=oi.detectInit(s);u&&E.debug("Detected early reinit: ",u);try{const{svg:f,bindFunctions:c}=await th(h,s,l);l.innerHTML=f,t&&await t(h),c&&c(l)}catch(f){gb(f,a,Ft.parseError)}}if(a.length>0)throw a[0]},Zl=function(t){ye.initialize(t)},_b=async function(t,e,i){E.warn("mermaid.init is deprecated. Please use run instead."),t&&Zl(t);const r={postRenderCallback:i,querySelector:".mermaid"};typeof e=="string"?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await Kl(r)},yb=async(t,{lazyLoad:e=!0}={})=>{Qa(...t),e===!1&&await pb()},Jl=function(){if(Ft.startOnLoad){const{startOnLoad:t}=ye.getConfig();t&&Ft.run().catch(e=>E.error("Mermaid failed to initialize",e))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",Jl,!1)}const Cb=function(t){Ft.parseError=t},cr=[];let Zr=!1;const Ql=async()=>{if(!Zr){for(Zr=!0;cr.length>0;){const t=cr.shift();if(t)try{await t()}catch(e){E.error("Error executing queue",e)}}Zr=!1}},xb=async(t,e)=>new Promise((i,r)=>{const n=()=>new Promise((o,s)=>{ye.parse(t,e).then(a=>{o(a),i(a)},a=>{var l;E.error("Error parsing",a),(l=Ft.parseError)==null||l.call(Ft,a),s(a),r(a)})});cr.push(n),Ql().catch(r)}),th=(t,e,i)=>new Promise((r,n)=>{const o=()=>new Promise((s,a)=>{ye.render(t,e,i).then(l=>{s(l),r(l)},l=>{var h;E.error("Error parsing",l),(h=Ft.parseError)==null||h.call(Ft,l),a(l),n(l)})});cr.push(o),Ql().catch(n)}),Ft={startOnLoad:!0,mermaidAPI:ye,parse:xb,render:th,init:_b,run:Kl,registerExternalDiagrams:yb,initialize:Zl,parseError:void 0,contentLoaded:Jl,setParseErrorHandler:Cb,detectType:Br},qb=Object.freeze(Object.defineProperty({__proto__:null,default:Ft},Symbol.toStringTag,{value:"Module"}));export{$n as $,bi as A,qe as B,er as C,br as D,Rg as E,km as F,xi as G,tr as H,Og as I,Na as J,La as K,Op as L,Mp as M,Em as N,ss as O,wg as P,Ce as Q,Ip as R,Ji as S,In as T,Ep as U,Rp as V,ze as W,Eg as X,se as Y,_r as Z,es as _,cy as a,$t as a$,Oa as a0,Da as a1,Pa as a2,Fp as a3,gn as a4,em as a5,jp as a6,Vg as a7,On as a8,Vr as a9,Tb as aA,uh as aB,fh as aC,ph as aD,vn as aE,ie as aF,hi as aG,Eo as aH,fu as aI,xy as aJ,Lb as aK,o0 as aL,nl as aM,Wn as aN,Bn as aO,Sb as aP,Ab as aQ,Ro as aR,No as aS,Fb as aT,Bb as aU,vb as aV,kb as aW,Ob as aX,Eb as aY,wb as aZ,Qm as a_,yt as aa,Vs as ab,Th as ac,tg as ad,ii as ae,tm as af,Yg as ag,Nt as ah,im as ai,Mn as aj,nm as ak,I as al,It as am,$0 as an,Mf as ao,ch as ap,Rb as aq,Mb as ar,_y as as,S0 as at,Tn as au,Gs as av,gt as aw,yi as ax,ou as ay,Zs as az,hy as b,h0 as b0,v0 as b1,dy as b2,Ci as b3,F as b4,O as b5,qb as b6,Vn as c,gi as d,at as e,rr as f,ly as g,bt as h,Bl as i,Pn as j,L0 as k,E as l,Is as m,kr as n,Lf as o,T0 as p,Ga as q,g0 as r,ay as s,iy as t,Pb as u,uy as v,A0 as w,fy as x,oi as y,sy as z}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/c4Diagram-b947cdbb-BXDdkOoW.js","assets/svgDrawCommon-0ee1b4e9-BNVIMZiA.js","assets/app-pLjDz5vt.js","assets/flowDiagram-d949d7c1-B7RiBCpu.js","assets/flowDb-d35e309a-CT2VbFvz.js","assets/graph-BVvHj2M5.js","assets/layout-Bq0hvzvr.js","assets/styles-7383a064-XIOPFsuO.js","assets/index-8fae9850-DHonaQ1z.js","assets/clone-BD0VJlG_.js","assets/edges-d417c7a0-5DZNYhL5.js","assets/createText-423428c9-Bj42WdLJ.js","assets/line-CQCn-Nwe.js","assets/array-BKyUJesY.js","assets/path-CbwjOpE9.js","assets/channel-SX207SsG.js","assets/flowDiagram-v2-49332944-RlTTmQKc.js","assets/erDiagram-0ea73325-Cx9x3r7v.js","assets/gitGraphDiagram-b9d81de9-D2AwAY6H.js","assets/ganttDiagram-5c869e3b-BEDi2c1X.js","assets/linear-Ef4wj11i.js","assets/init-Gi6I4Gst.js","assets/infoDiagram-db7b18fc-fQUUx8eo.js","assets/pieDiagram-b0208e96-DYKUws8B.js","assets/arc-DQUeFz1-.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-0332be45-1dqumzF6.js","assets/xychartDiagram-e50adddc-C1pAHL1b.js","assets/requirementDiagram-bf7890df-DZM88n7p.js","assets/sequenceDiagram-c18d009d-Clc_rWkm.js","assets/classDiagram-35230388-DrjbHtsY.js","assets/styles-6860f46c-CPEIQAq_.js","assets/classDiagram-v2-412acd34-CgZ8xNdD.js","assets/stateDiagram-43596fc0-B39Oj8_d.js","assets/styles-b2c874b6-B3gpF3Gt.js","assets/stateDiagram-v2-2ead4f9c-EiGeU0Vu.js","assets/journeyDiagram-d5636530-Dn307crS.js","assets/flowchart-elk-definition-27cc417a-DWg7WXio.js","assets/timeline-definition-d977decf-BRm8LHqy.js","assets/mindmap-definition-377f8f1f-pH43fUKh.js","assets/sankeyDiagram-0acdec17-BRvOW2oB.js","assets/Tableau10-B-NsZVaP.js","assets/blockDiagram-6b2b5046-CCvh0vli.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/mindmap-definition-377f8f1f-pH43fUKh.js b/assets/mindmap-definition-377f8f1f-pH43fUKh.js new file mode 100644 index 0000000000..b34de81a5f --- /dev/null +++ b/assets/mindmap-definition-377f8f1f-pH43fUKh.js @@ -0,0 +1,109 @@ +import{aB as Vt,aC as Ys,l as ur,c as Qn,aJ as _l,t as Ul,aL as _a,d as Ua,h as Hl,b3 as Yl,b4 as Xl,b5 as Wl,aN as ql}from"./mermaid.core-xpSMncQK.js";import{c as Kl}from"./createText-423428c9-Bj42WdLJ.js";import"./app-pLjDz5vt.js";function Zl(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var la=Zl,Ql=typeof Vt=="object"&&Vt&&Vt.Object===Object&&Vt,Jl=Ql,jl=Jl,eu=typeof self=="object"&&self&&self.Object===Object&&self,tu=jl||eu||Function("return this")(),tn=tu,ru=tn,au=function(){return ru.Date.now()},nu=au,iu=/\s/;function su(t){for(var e=t.length;e--&&iu.test(t.charAt(e)););return e}var ou=su,lu=ou,uu=/^\s+/;function fu(t){return t&&t.slice(0,lu(t)+1).replace(uu,"")}var hu=fu,vu=tn,cu=vu.Symbol,Jn=cu,Li=Jn,Xs=Object.prototype,du=Xs.hasOwnProperty,gu=Xs.toString,Vr=Li?Li.toStringTag:void 0;function pu(t){var e=du.call(t,Vr),r=t[Vr];try{t[Vr]=void 0;var a=!0}catch{}var n=gu.call(t);return a&&(e?t[Vr]=r:delete t[Vr]),n}var yu=pu,mu=Object.prototype,bu=mu.toString;function Eu(t){return bu.call(t)}var wu=Eu,Ai=Jn,xu=yu,Tu=wu,Cu="[object Null]",Du="[object Undefined]",Oi=Ai?Ai.toStringTag:void 0;function Su(t){return t==null?t===void 0?Du:Cu:Oi&&Oi in Object(t)?xu(t):Tu(t)}var Ws=Su;function Lu(t){return t!=null&&typeof t=="object"}var Au=Lu,Ou=Ws,Nu=Au,Iu="[object Symbol]";function Mu(t){return typeof t=="symbol"||Nu(t)&&Ou(t)==Iu}var ua=Mu,Ru=hu,Ni=la,ku=ua,Ii=NaN,Pu=/^[-+]0x[0-9a-f]+$/i,Bu=/^0b[01]+$/i,Fu=/^0o[0-7]+$/i,Gu=parseInt;function zu(t){if(typeof t=="number")return t;if(ku(t))return Ii;if(Ni(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Ni(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Ru(t);var r=Bu.test(t);return r||Fu.test(t)?Gu(t.slice(2),r?2:8):Pu.test(t)?Ii:+t}var $u=zu,Vu=la,Tn=nu,Mi=$u,_u="Expected a function",Uu=Math.max,Hu=Math.min;function Yu(t,e,r){var a,n,i,s,o,l,u=0,f=!1,h=!1,c=!0;if(typeof t!="function")throw new TypeError(_u);e=Mi(e)||0,Vu(r)&&(f=!!r.leading,h="maxWait"in r,i=h?Uu(Mi(r.maxWait)||0,e):i,c="trailing"in r?!!r.trailing:c);function v(S){var b=a,x=n;return a=n=void 0,u=S,s=t.apply(x,b),s}function d(S){return u=S,o=setTimeout(y,e),f?v(S):s}function g(S){var b=S-l,x=S-u,w=e-b;return h?Hu(w,i-x):w}function p(S){var b=S-l,x=S-u;return l===void 0||b>=e||b<0||h&&x>=i}function y(){var S=Tn();if(p(S))return E(S);o=setTimeout(y,g(S))}function E(S){return o=void 0,c&&a?v(S):(a=n=void 0,s)}function m(){o!==void 0&&clearTimeout(o),u=0,a=l=n=o=void 0}function T(){return o===void 0?s:E(Tn())}function C(){var S=Tn(),b=p(S);if(a=arguments,n=this,l=S,b){if(o===void 0)return d(l);if(h)return clearTimeout(o),o=setTimeout(y,e),v(l)}return o===void 0&&(o=setTimeout(y,e)),s}return C.cancel=m,C.flush=T,C}var Xu=Yu,qs={exports:{}};(function(t,e){(function(){var r,a,n,i,s,o,l,u,f,h,c,v,d,g,p;n=Math.floor,h=Math.min,a=function(y,E){return yE?1:0},f=function(y,E,m,T,C){var S;if(m==null&&(m=0),C==null&&(C=a),m<0)throw new Error("lo must be non-negative");for(T==null&&(T=y.length);mD;0<=D?w++:w--)x.push(w);return x}).apply(this).reverse(),b=[],T=0,C=S.length;TA;0<=A?++x:--x)L.push(s(y,m));return L},g=function(y,E,m,T){var C,S,b;for(T==null&&(T=a),C=y[m];m>E;){if(b=m-1>>1,S=y[b],T(C,S)<0){y[m]=S,m=b;continue}break}return y[m]=C},p=function(y,E,m){var T,C,S,b,x;for(m==null&&(m=a),C=y.length,x=E,S=y[E],T=2*E+1;T-1}var Sh=Dh,Lh=nn;function Ah(t,e){var r=this.__data__,a=Lh(r,t);return a<0?(++this.size,r.push([t,e])):r[a][1]=e,this}var Oh=Ah,Nh=vh,Ih=Eh,Mh=Th,Rh=Sh,kh=Oh;function Nr(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&tt.length)&&(e=t.length);for(var r=0,a=new Array(e);r"u"?null:window,Ui=$e?$e.navigator:null;$e&&$e.document;var Gc=Ue(""),ao=Ue({}),zc=Ue(function(){}),$c=typeof HTMLElement>"u"?"undefined":Ue(HTMLElement),va=function(e){return e&&e.instanceString&&Be(e.instanceString)?e.instanceString():null},ve=function(e){return e!=null&&Ue(e)==Gc},Be=function(e){return e!=null&&Ue(e)===zc},Me=function(e){return!ht(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},De=function(e){return e!=null&&Ue(e)===ao&&!Me(e)&&e.constructor===Object},Vc=function(e){return e!=null&&Ue(e)===ao},ae=function(e){return e!=null&&Ue(e)===Ue(1)&&!isNaN(e)},_c=function(e){return ae(e)&&Math.floor(e)===e},Ha=function(e){if($c!=="undefined")return e!=null&&e instanceof HTMLElement},ht=function(e){return ca(e)||no(e)},ca=function(e){return va(e)==="collection"&&e._private.single},no=function(e){return va(e)==="collection"&&!e._private.single},ni=function(e){return va(e)==="core"},io=function(e){return va(e)==="stylesheet"},Uc=function(e){return va(e)==="event"},Yt=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},Hc=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},Yc=function(e){return De(e)&&ae(e.x1)&&ae(e.x2)&&ae(e.y1)&&ae(e.y2)},Xc=function(e){return Vc(e)&&Be(e.then)},Wc=function(){return Ui&&Ui.userAgent.match(/msie|trident|edge/i)},Jr=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;sr?1:0},ed=function(e,r){return-1*oo(e,r)},de=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(p-=1),p<1/6?d+(g-d)*6*p:p<1/2?g:p<2/3?d+(g-d)*(2/3-p)*6:d}var h=new RegExp("^"+Zc+"$").exec(e);if(h){if(a=parseInt(h[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(h[2]),n<0||n>100||(n=n/100,i=parseFloat(h[3]),i<0||i>100)||(i=i/100,s=h[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=l=u=Math.round(i*255);else{var c=i<.5?i*(1+n):i+n-i*n,v=2*i-c;o=Math.round(255*f(v,c,a+1/3)),l=Math.round(255*f(v,c,a)),u=Math.round(255*f(v,c,a-1/3))}r=[o,l,u,s]}return r},ad=function(e){var r,a=new RegExp("^"+qc+"$").exec(e);if(a){r=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=n[1]||n[2]||n[3],l=n[1]&&n[2]&&n[3];if(o&&!l)return;var u=a[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},nd=function(e){return sd[e.toLowerCase()]},id=function(e){return(Me(e)?e:null)||nd(e)||td(e)||ad(e)||rd(e)},sd={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]},lo=function(e){for(var r=e.map,a=e.keys,n=a.length,i=0;i1&&arguments[1]!==void 0?arguments[1]:br,a=r,n;n=e.next(),!n.done;)a=a*ho+n.value|0;return a},jr=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:br;return r*ho+e|0},ea=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Xr;return(r<<5)+r+e|0},ld=function(e,r){return e*2097152+r},Gt=function(e){return e[0]*2097152+e[1]},Ta=function(e,r){return[jr(e[0],r[0]),ea(e[1],r[1])]},ud=function(e,r){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0&&!(e[n]===r&&(e.splice(n,1),a));n--);},li=function(e){e.splice(0,e.length)},pd=function(e,r){for(var a=0;a"u"?"undefined":Ue(Set))!==md?Set:bd,un=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!ni(e)){Ge("An element must have a core reference and parameters set");return}var n=r.group;if(n==null&&(r.data&&r.data.source!=null&&r.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){Ge("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=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:n,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?n==="edges":!!r.pannable,active:!1,classes:new Mr,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(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();i.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Me(r.classes)?u=r.classes:ve(r.classes)&&(u=r.classes.split(/\s+/));for(var f=0,h=u.length;f0;){var S=E.pop(),b=p(S),x=S.id();if(c[x]=b,b!==1/0)for(var w=S.neighborhood().intersect(d),D=0;D0)for(k.unshift(M);h[G];){var F=h[G];k.unshift(F.edge),k.unshift(F.node),B=F.node,G=B.id()}return o.spawn(k)}}}},xd={kruskal:function(e){e=e||function(m){return 1};for(var r=this.byGroup(),a=r.nodes,n=r.edges,i=a.length,s=new Array(i),o=a,l=function(T){for(var C=0;C0;){if(C(),b++,T===f){for(var x=[],w=i,D=f,A=y[D];x.unshift(w),A!=null&&x.unshift(A),w=p[D],w!=null;)D=w.id(),A=y[D];return{found:!0,distance:h[T],path:this.spawn(x),steps:b}}v[T]=!0;for(var L=m._private.edges,I=0;IA&&(d[D]=A,E[D]=w,m[D]=C),!i){var L=w*f+x;!i&&d[L]>A&&(d[L]=A,E[L]=x,m[L]=C)}}}for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:s,xe=m(se),Ee=[],ge=xe;;){if(ge==null)return r.spawn();var we=E(ge),H=we.edge,N=we.pred;if(Ee.unshift(ge[0]),ge.same(fe)&&Ee.length>0)break;H!=null&&Ee.unshift(H),ge=N}return l.spawn(Ee)},S=0;S=0;f--){var h=u[f],c=h[1],v=h[2];(r[c]===o&&r[v]===l||r[c]===l&&r[v]===o)&&u.splice(f,1)}for(var d=0;dn;){var i=Math.floor(Math.random()*r.length);r=Nd(i,e,r),a--}return r},Id={kargerStein:function(){var e=this,r=this.byGroup(),a=r.nodes,n=r.edges;n.unmergeBy(function(k){return k.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),l=Math.floor(i/Od);if(i<2){Ge("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(r,a):(a0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}i&&e.sort(function(c,v){return c-v});var f=e.length,h=Math.floor(f/2);return f%2!==0?e[h+1+o]:(e[h-1+o]+e[h+o])/2},Fd=function(e){return Math.PI*e/180},Ca=function(e,r){return Math.atan2(r,e)-Math.PI/2},ui=Math.log2||function(t){return Math.log(t)/Math.log(2)},Eo=function(e){return e>0?1:e<0?-1:0},nr=function(e,r){return Math.sqrt(er(e,r))},er=function(e,r){var a=r.x-e.x,n=r.y-e.y;return a*a+n*n},Gd=function(e){for(var r=e.length,a=0,n=0;n=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}}},$d=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},Vd=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},_d=function(e,r,a){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+a,y2:e.y2+a,w:e.w,h:e.h}},wo=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},Ud=function(e,r,a){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,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},ka=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},Pa=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(r.length===1)a=n=i=s=r[0];else if(r.length===2)a=i=r[0],s=n=r[1];else if(r.length===4){var o=Et(r,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},qi=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},fi=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Sr=function(e,r,a){return e.x1<=r&&r<=e.x2&&e.y1<=a&&a<=e.y2},Hd=function(e,r){return Sr(e,r.x,r.y)},xo=function(e,r){return Sr(e,r.x1,r.y1)&&Sr(e,r.x2,r.y2)},To=function(e,r,a,n,i,s,o){var l=da(i,s),u=i/2,f=s/2,h;{var c=a-u+l-o,v=n-f-o,d=a+u-l+o,g=v;if(h=_t(e,r,a,n,c,v,d,g,!1),h.length>0)return h}{var p=a+u+o,y=n-f+l-o,E=p,m=n+f-l+o;if(h=_t(e,r,a,n,p,y,E,m,!1),h.length>0)return h}{var T=a-u+l-o,C=n+f+o,S=a+u-l+o,b=C;if(h=_t(e,r,a,n,T,C,S,b,!1),h.length>0)return h}{var x=a-u-o,w=n-f+l-o,D=x,A=n+f-l+o;if(h=_t(e,r,a,n,x,w,D,A,!1),h.length>0)return h}var L;{var I=a-u+l,O=n-f+l;if(L=Wr(e,r,a,n,I,O,l+o),L.length>0&&L[0]<=I&&L[1]<=O)return[L[0],L[1]]}{var P=a+u-l,R=n-f+l;if(L=Wr(e,r,a,n,P,R,l+o),L.length>0&&L[0]>=P&&L[1]<=R)return[L[0],L[1]]}{var M=a+u-l,k=n+f-l;if(L=Wr(e,r,a,n,M,k,l+o),L.length>0&&L[0]>=M&&L[1]>=k)return[L[0],L[1]]}{var B=a-u+l,G=n+f-l;if(L=Wr(e,r,a,n,B,G,l+o),L.length>0&&L[0]<=B&&L[1]>=G)return[L[0],L[1]]}return[]},Yd=function(e,r,a,n,i,s,o){var l=o,u=Math.min(a,i),f=Math.max(a,i),h=Math.min(n,s),c=Math.max(n,s);return u-l<=e&&e<=f+l&&h-l<=r&&r<=c+l},Xd=function(e,r,a,n,i,s,o,l,u){var f={x1:Math.min(a,o,i)-u,x2:Math.max(a,o,i)+u,y1:Math.min(n,l,s)-u,y2:Math.max(n,l,s)+u};return!(ef.x2||rf.y2)},Wd=function(e,r,a,n){a-=n;var i=r*r-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},qd=function(e,r,a,n,i){var s=1e-5;e===0&&(e=s),r/=e,a/=e,n/=e;var o,l,u,f,h,c,v,d;if(l=(3*a-r*r)/9,u=-(27*n)+r*(9*a-2*(r*r)),u/=54,o=l*l*l+u*u,i[1]=0,v=r/3,o>0){h=u+Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),c=u-Math.sqrt(o),c=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-v+h+c,v+=(h+c)/2,i[4]=i[2]=-v,v=Math.sqrt(3)*(-c+h)/2,i[3]=v,i[5]=-v;return}if(i[5]=i[3]=0,o===0){d=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),i[0]=-v+2*d,i[4]=i[2]=-(d+v);return}l=-l,f=l*l*l,f=Math.acos(u/Math.sqrt(f)),d=2*Math.sqrt(l),i[0]=-v+d*Math.cos(f/3),i[2]=-v+d*Math.cos((f+2*Math.PI)/3),i[4]=-v+d*Math.cos((f+4*Math.PI)/3)},Kd=function(e,r,a,n,i,s,o,l){var u=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*l+4*s*s-4*s*l+l*l,f=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*l-6*s*s+3*s*l,h=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*l-n*r+2*s*s+2*s*r-l*r,c=1*a*i-a*a+a*e-i*e+n*s-n*n+n*r-s*r,v=[];qd(u,f,h,c,v);for(var d=1e-7,g=[],p=0;p<6;p+=2)Math.abs(v[p+1])=0&&v[p]<=1&&g.push(v[p]);g.push(1),g.push(0);for(var y=-1,E,m,T,C=0;C=0?Tu?(e-i)*(e-i)+(r-s)*(r-s):f-c},ut=function(e,r,a){for(var n,i,s,o,l,u=0,f=0;f=e&&e>=s||n<=e&&e<=s)l=(e-n)/(s-n)*(o-i)+i,l>r&&u++;else continue;return u%2!==0},Rt=function(e,r,a,n,i,s,o,l,u){var f=new Array(a.length),h;l[0]!=null?(h=Math.atan(l[1]/l[0]),l[0]<0?h=h+Math.PI/2:h=-h-Math.PI/2):h=l;for(var c=Math.cos(-h),v=Math.sin(-h),d=0;d0){var p=qa(f,-u);g=Wa(p)}else g=f;return ut(e,r,g)},Qd=function(e,r,a,n,i,s,o){for(var l=new Array(a.length),u=s/2,f=o/2,h=hi(s,o),c=h*h,v=0;v=0&&p<=1&&E.push(p),y>=0&&y<=1&&E.push(y),E.length===0)return[];var m=E[0]*l[0]+e,T=E[0]*l[1]+r;if(E.length>1){if(E[0]==E[1])return[m,T];var C=E[1]*l[0]+e,S=E[1]*l[1]+r;return[m,T,C,S]}else return[m,T]},Ln=function(e,r,a){return r<=e&&e<=a||a<=e&&e<=r?e:e<=r&&r<=a||a<=r&&r<=e?r:a},_t=function(e,r,a,n,i,s,o,l,u){var f=e-i,h=a-e,c=o-i,v=r-s,d=n-r,g=l-s,p=c*v-g*f,y=h*v-d*f,E=g*h-c*d;if(E!==0){var m=p/E,T=y/E,C=.001,S=0-C,b=1+C;return S<=m&&m<=b&&S<=T&&T<=b?[e+m*h,r+m*d]:u?[e+m*h,r+m*d]:[]}else return p===0||y===0?Ln(e,a,o)===o?[o,l]:Ln(e,a,i)===i?[i,s]:Ln(i,o,a)===a?[a,n]:[]:[]},aa=function(e,r,a,n,i,s,o,l){var u=[],f,h=new Array(a.length),c=!0;s==null&&(c=!1);var v;if(c){for(var d=0;d0){var g=qa(h,-l);v=Wa(g)}else v=h}else v=a;for(var p,y,E,m,T=0;T2){for(var R=[u[0],u[1]],M=Math.pow(R[0]-e,2)+Math.pow(R[1]-r,2),k=1;kf&&(f=T)},get:function(m){return u[m]}},c=0;c0?R=P.edgesTo(O)[0]:R=O.edgesTo(P)[0];var M=n(R);O=O.id(),x[O]>x[L]+M&&(x[O]=x[L]+M,w.nodes.indexOf(O)<0?w.push(O):w.updateItem(O),b[O]=0,S[O]=[]),x[O]==x[L]+M&&(b[O]=b[O]+b[L],S[O].push(L))}else for(var k=0;k0;){for(var $=C.pop(),U=0;U0&&o.push(a[l]);o.length!==0&&i.push(n.collection(o))}return i},cg=function(e,r){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:pg,o=n,l,u,f=0;f=2?_r(e,r,a,0,ji,yg):_r(e,r,a,0,Ji)},squaredEuclidean:function(e,r,a){return _r(e,r,a,0,ji)},manhattan:function(e,r,a){return _r(e,r,a,0,Ji)},max:function(e,r,a){return _r(e,r,a,-1/0,mg)}};Lr["squared-euclidean"]=Lr.squaredEuclidean;Lr.squaredeuclidean=Lr.squaredEuclidean;function hn(t,e,r,a,n,i){var s;return Be(t)?s=t:s=Lr[t]||Lr.euclidean,e===0&&Be(t)?s(n,i):s(e,r,a,n,i)}var bg=Qe({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),vi=function(e){return bg(e)},Ka=function(e,r,a,n,i){var s=i!=="kMedoids",o=s?function(h){return a[h]}:function(h){return n[h](a)},l=function(c){return n[c](r)},u=a,f=r;return hn(e,n.length,o,l,u,f)},An=function(e,r,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(r),l=null,u=0;ua)return!1}return!0},xg=function(e,r,a){for(var n=0;no&&(o=r[u][f],l=f);i[l].push(e[u])}for(var h=0;h=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var d=r[s],g=r[n[s]],p;i.mode==="dendrogram"?p={left:d,right:g,key:d.key}:p={value:d.value.concat(g.value),key:d.key},e[d.index]=p,e.splice(g.index,1),r[d.key]=p;for(var y=0;ya[g.key][E.key]&&(l=a[g.key][E.key])):i.linkage==="max"?(l=a[d.key][E.key],a[d.key][E.key]0&&n.push(i);return n},is=function(e,r,a){for(var n=[],i=0;io&&(s=u,o=r[i*e+u])}s>0&&n.push(s)}for(var f=0;fu&&(l=f,u=h)}a[i]=s[l]}return n=is(e,r,a),n},ss=function(e){for(var r=this.cy(),a=this.nodes(),n=Bg(e),i={},s=0;s=A?(L=A,A=O,I=P):O>L&&(L=O);for(var R=0;R0?1:0;b[w%n.minIterations*o+$]=U,F+=U}if(F>0&&(w>=n.minIterations-1||w==n.maxIterations-1)){for(var _=0,Y=0;Y1||S>1)&&(o=!0),h[m]=[],E.outgoers().forEach(function(x){x.isEdge()&&h[m].push(x.id())})}else c[m]=[void 0,E.target().id()]}):s.forEach(function(E){var m=E.id();if(E.isNode()){var T=E.degree(!0);T%2&&(l?u?o=!0:u=m:l=m),h[m]=[],E.connectedEdges().forEach(function(C){return h[m].push(C.id())})}else c[m]=[E.source().id(),E.target().id()]});var v={found:!1,trail:void 0};if(o)return v;if(u&&l)if(i){if(f&&u!=f)return v;f=u}else{if(f&&u!=f&&l!=f)return v;f||(f=u)}else f||(f=s[0].id());var d=function(m){for(var T=m,C=[m],S,b,x;h[T].length;)S=h[T].shift(),b=c[S][0],x=c[S][1],T!=x?(h[x]=h[x].filter(function(w){return w!=S}),T=x):!i&&T!=b&&(h[b]=h[b].filter(function(w){return w!=S}),T=b),C.unshift(S),C.unshift(T);return C},g=[],p=[];for(p=d(f);p.length!=1;)h[p[0]].length==0?(g.unshift(s.getElementById(p.shift())),g.unshift(s.getElementById(p.shift()))):p=d(p.shift()).concat(p);g.unshift(s.getElementById(p.shift()));for(var y in h)if(h[y].length)return v;return v.found=!0,v.trail=this.spawn(g,!0),v}},La=function(){var e=this,r={},a=0,n=0,i=[],s=[],o={},l=function(c,v){for(var d=s.length-1,g=[],p=e.spawn();s[d].x!=c||s[d].y!=v;)g.push(s.pop().edge),d--;g.push(s.pop().edge),g.forEach(function(y){var E=y.connectedNodes().intersection(e);p.merge(y),E.forEach(function(m){var T=m.id(),C=m.connectedEdges().intersection(e);p.merge(m),r[T].cutVertex?p.merge(C.filter(function(S){return S.isLoop()})):p.merge(C)})}),i.push(p)},u=function h(c,v,d){c===d&&(n+=1),r[v]={id:a,low:a++,cutVertex:!1};var g=e.getElementById(v).connectedEdges().intersection(e);if(g.size()===0)i.push(e.spawn(e.getElementById(v)));else{var p,y,E,m;g.forEach(function(T){p=T.source().id(),y=T.target().id(),E=p===v?y:p,E!==d&&(m=T.id(),o[m]||(o[m]=!0,s.push({x:v,y:E,edge:T})),E in r?r[v].low=Math.min(r[v].low,r[E].id):(h(c,E,v),r[v].low=Math.min(r[v].low,r[E].low),r[v].id<=r[E].low&&(r[v].cutVertex=!0,l(v,E))))})}};e.forEach(function(h){if(h.isNode()){var c=h.id();c in r||(n=0,u(c,c),r[c].cutVertex=n>1)}});var f=Object.keys(r).filter(function(h){return r[h].cutVertex}).map(function(h){return e.getElementById(h)});return{cut:e.spawn(f),components:i}},Hg={hopcroftTarjanBiconnected:La,htbc:La,htb:La,hopcroftTarjanBiconnectedComponents:La},Aa=function(){var e=this,r={},a=0,n=[],i=[],s=e.spawn(e),o=function l(u){i.push(u),r[u]={index:a,low:a++,explored:!1};var f=e.getElementById(u).connectedEdges().intersection(e);if(f.forEach(function(g){var p=g.target().id();p!==u&&(p in r||l(p),r[p].explored||(r[u].low=Math.min(r[u].low,r[p].low)))}),r[u].index===r[u].low){for(var h=e.spawn();;){var c=i.pop();if(h.merge(e.getElementById(c)),r[c].low=r[u].index,r[c].explored=!0,c===u)break}var v=h.edgesWith(h),d=h.merge(v);n.push(d),s=s.difference(d)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:n}},Yg={tarjanStronglyConnected:Aa,tsc:Aa,tscc:Aa,tarjanStronglyConnectedComponents:Aa},No={};[ta,wd,xd,Cd,Sd,Ad,Id,rg,Tr,Cr,$n,gg,Ag,kg,Vg,Ug,Hg,Yg].forEach(function(t){de(No,t)});/*! +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) +*/var Io=0,Mo=1,Ro=2,kt=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Io,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))};kt.prototype={fulfill:function(e){return os(this,Mo,"fulfillValue",e)},reject:function(e){return os(this,Ro,"rejectReason",e)},then:function(e,r){var a=this,n=new kt;return a.onFulfilled.push(us(e,n,"fulfill")),a.onRejected.push(us(r,n,"reject")),ko(a),n.proxy}};var os=function(e,r,a,n){return e.state===Io&&(e.state=r,e[a]=n,ko(e)),e},ko=function(e){e.state===Mo?ls(e,"onFulfilled",e.fulfillValue):e.state===Ro&&ls(e,"onRejected",e.rejectReason)},ls=function(e,r,a){if(e[r].length!==0){var n=e[r];e[r]=[];var i=function(){for(var o=0;o0}},clearQueue:function(){return function(){var r=this,a=r.length!==void 0,n=a?r:[r],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var s=0;s0&&this.spawn(n).updateStyle().emit("class"),r},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},toggleClass:function(e,r){Me(e)||(e=e.match(/\S+/g)||[]);for(var a=this,n=r===void 0,i=[],s=0,o=a.length;s0&&this.spawn(i).updateStyle().emit("class"),a},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var a=this;if(r==null)r=250;else if(r===0)return a;return a.addClass(e),setTimeout(function(){a.removeClass(e)},r),a}};Ba.className=Ba.classNames=Ba.classes;var Ce={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:_e,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Ce.variable="(?:[\\w-.]|(?:\\\\"+Ce.metaChar+"))+";Ce.className="(?:[\\w-]|(?:\\\\"+Ce.metaChar+"))+";Ce.value=Ce.string+"|"+Ce.number;Ce.id=Ce.variable;(function(){var t,e,r;for(t=Ce.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Ce.comparatorOp+="|\\!"+e)})();var Ie=function(){return{checks:[]}},ie={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},_n=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(t,e){return ed(t.selector,e.selector)}),Qg=function(){for(var t={},e,r=0;r<_n.length;r++)e=_n[r],t[e.selector]=e.matches;return t}(),Jg=function(e,r){return Qg[e](r)},jg="("+_n.map(function(t){return t.selector}).join("|")+")",dr=function(e){return e.replace(new RegExp("\\\\("+Ce.metaChar+")","g"),function(r,a){return a})},zt=function(e,r,a){e[e.length-1]=a},Un=[{name:"group",query:!0,regex:"("+Ce.group+")",populate:function(e,r,a){var n=Et(a,1),i=n[0];r.checks.push({type:ie.GROUP,value:i==="*"?i:i+"s"})}},{name:"state",query:!0,regex:jg,populate:function(e,r,a){var n=Et(a,1),i=n[0];r.checks.push({type:ie.STATE,value:i})}},{name:"id",query:!0,regex:"\\#("+Ce.id+")",populate:function(e,r,a){var n=Et(a,1),i=n[0];r.checks.push({type:ie.ID,value:dr(i)})}},{name:"className",query:!0,regex:"\\.("+Ce.className+")",populate:function(e,r,a){var n=Et(a,1),i=n[0];r.checks.push({type:ie.CLASS,value:dr(i)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+Ce.variable+")\\s*\\]",populate:function(e,r,a){var n=Et(a,1),i=n[0];r.checks.push({type:ie.DATA_EXIST,field:dr(i)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+Ce.variable+")\\s*("+Ce.comparatorOp+")\\s*("+Ce.value+")\\s*\\]",populate:function(e,r,a){var n=Et(a,3),i=n[0],s=n[1],o=n[2],l=new RegExp("^"+Ce.string+"$").exec(o)!=null;l?o=o.substring(1,o.length-1):o=parseFloat(o),r.checks.push({type:ie.DATA_COMPARE,field:dr(i),operator:s,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+Ce.boolOp+")\\s*("+Ce.variable+")\\s*\\]",populate:function(e,r,a){var n=Et(a,2),i=n[0],s=n[1];r.checks.push({type:ie.DATA_BOOL,field:dr(s),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+Ce.meta+")\\s*("+Ce.comparatorOp+")\\s*("+Ce.number+")\\s*\\]\\]",populate:function(e,r,a){var n=Et(a,3),i=n[0],s=n[1],o=n[2];r.checks.push({type:ie.META_COMPARE,field:dr(i),operator:s,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:Ce.separator,populate:function(e,r){var a=e.currentSubject,n=e.edgeCount,i=e.compoundCount,s=e[e.length-1];a!=null&&(s.subject=a,e.currentSubject=null),s.edgeCount=n,s.compoundCount=i,e.edgeCount=0,e.compoundCount=0;var o=e[e.length++]=Ie();return o}},{name:"directedEdge",separator:!0,regex:Ce.directedEdge,populate:function(e,r){if(e.currentSubject==null){var a=Ie(),n=r,i=Ie();return a.checks.push({type:ie.DIRECTED_EDGE,source:n,target:i}),zt(e,r,a),e.edgeCount++,i}else{var s=Ie(),o=r,l=Ie();return s.checks.push({type:ie.NODE_SOURCE,source:o,target:l}),zt(e,r,s),e.edgeCount++,l}}},{name:"undirectedEdge",separator:!0,regex:Ce.undirectedEdge,populate:function(e,r){if(e.currentSubject==null){var a=Ie(),n=r,i=Ie();return a.checks.push({type:ie.UNDIRECTED_EDGE,nodes:[n,i]}),zt(e,r,a),e.edgeCount++,i}else{var s=Ie(),o=r,l=Ie();return s.checks.push({type:ie.NODE_NEIGHBOR,node:o,neighbor:l}),zt(e,r,s),l}}},{name:"child",separator:!0,regex:Ce.child,populate:function(e,r){if(e.currentSubject==null){var a=Ie(),n=Ie(),i=e[e.length-1];return a.checks.push({type:ie.CHILD,parent:i,child:n}),zt(e,r,a),e.compoundCount++,n}else if(e.currentSubject===r){var s=Ie(),o=e[e.length-1],l=Ie(),u=Ie(),f=Ie(),h=Ie();return s.checks.push({type:ie.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=r.checks,r.checks=[{type:ie.TRUE}],h.checks.push({type:ie.TRUE}),l.checks.push({type:ie.PARENT,parent:h,child:f}),zt(e,o,s),e.currentSubject=u,e.compoundCount++,f}else{var c=Ie(),v=Ie(),d=[{type:ie.PARENT,parent:c,child:v}];return c.checks=r.checks,r.checks=d,e.compoundCount++,v}}},{name:"descendant",separator:!0,regex:Ce.descendant,populate:function(e,r){if(e.currentSubject==null){var a=Ie(),n=Ie(),i=e[e.length-1];return a.checks.push({type:ie.DESCENDANT,ancestor:i,descendant:n}),zt(e,r,a),e.compoundCount++,n}else if(e.currentSubject===r){var s=Ie(),o=e[e.length-1],l=Ie(),u=Ie(),f=Ie(),h=Ie();return s.checks.push({type:ie.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=r.checks,r.checks=[{type:ie.TRUE}],h.checks.push({type:ie.TRUE}),l.checks.push({type:ie.ANCESTOR,ancestor:h,descendant:f}),zt(e,o,s),e.currentSubject=u,e.compoundCount++,f}else{var c=Ie(),v=Ie(),d=[{type:ie.ANCESTOR,ancestor:c,descendant:v}];return c.checks=r.checks,r.checks=d,e.compoundCount++,v}}},{name:"subject",modifier:!0,regex:Ce.subject,populate:function(e,r){if(e.currentSubject!=null&&e.currentSubject!==r)return Ne("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=r;var a=e[e.length-1],n=a.checks[0],i=n==null?null:n.type;i===ie.DIRECTED_EDGE?n.type=ie.NODE_TARGET:i===ie.UNDIRECTED_EDGE&&(n.type=ie.NODE_NEIGHBOR,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];Un.forEach(function(t){return t.regexObj=new RegExp("^"+t.regex)});var ep=function(e){for(var r,a,n,i=0;i0&&f.edgeCount>0)return Ne("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Ne("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Ne("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},ap=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(f){return f??""},r=function(f){return ve(f)?'"'+f+'"':e(f)},a=function(f){return" "+f+" "},n=function(f,h){var c=f.type,v=f.value;switch(c){case ie.GROUP:{var d=e(v);return d.substring(0,d.length-1)}case ie.DATA_COMPARE:{var g=f.field,p=f.operator;return"["+g+a(e(p))+r(v)+"]"}case ie.DATA_BOOL:{var y=f.operator,E=f.field;return"["+e(y)+E+"]"}case ie.DATA_EXIST:{var m=f.field;return"["+m+"]"}case ie.META_COMPARE:{var T=f.operator,C=f.field;return"[["+C+a(e(T))+r(v)+"]]"}case ie.STATE:return v;case ie.ID:return"#"+v;case ie.CLASS:return"."+v;case ie.PARENT:case ie.CHILD:return i(f.parent,h)+a(">")+i(f.child,h);case ie.ANCESTOR:case ie.DESCENDANT:return i(f.ancestor,h)+" "+i(f.descendant,h);case ie.COMPOUND_SPLIT:{var S=i(f.left,h),b=i(f.subject,h),x=i(f.right,h);return S+(S.length>0?" ":"")+b+x}case ie.TRUE:return""}},i=function(f,h){return f.checks.reduce(function(c,v,d){return c+(h===f&&d===0?"$":"")+n(v,h)},"")},s="",o=0;o1&&o=0&&(r=r.replace("!",""),h=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(i||o||f)&&(l=!i&&!s?"":""+e,u=""+a),f&&(e=l=l.toLowerCase(),a=u=u.toLowerCase()),r){case"*=":n=l.indexOf(u)>=0;break;case"$=":n=l.indexOf(u,l.length-u.length)>=0;break;case"^=":n=l.indexOf(u)===0;break;case"=":n=e===a;break;case">":c=!0,n=e>a;break;case">=":c=!0,n=e>=a;break;case"<":c=!0,n=e0;){var f=n.shift();e(f),i.add(f.id()),o&&a(n,i,f)}return t}function Bo(t,e,r){if(r.isParent())for(var a=r._private.children,n=0;n1&&arguments[1]!==void 0?arguments[1]:!0;return di(this,t,e,Bo)};function Fo(t,e,r){if(r.isChild()){var a=r._private.parent;e.has(a.id())||t.push(a)}}Ar.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return di(this,t,e,Fo)};function hp(t,e,r){Fo(t,e,r),Bo(t,e,r)}Ar.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return di(this,t,e,hp)};Ar.ancestors=Ar.parents;var na,Go;na=Go={data:Oe.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:Oe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Oe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Oe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Oe.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Oe.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};na.attr=na.data;na.removeAttr=na.removeData;var vp=Go,vn={};function On(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var a=0,n=r[0],i=n._private.edges,s=0;se}),minIndegree:gr("indegree",function(t,e){return te}),minOutdegree:gr("outdegree",function(t,e){return te})});de(vn,{totalDegree:function(e){for(var r=0,a=this.nodes(),n=0;n0,c=h;h&&(f=f[0]);var v=c?f.position():{x:0,y:0};r!==void 0?u.position(e,r+v[e]):i!==void 0&&u.position({x:i.x+v.x,y:i.y+v.y})}else{var d=a.position(),g=o?a.parent():null,p=g&&g.length>0,y=p;p&&(g=g[0]);var E=y?g.position():{x:0,y:0};return i={x:d.x-E.x,y:d.y-E.y},e===void 0?i:i[e]}else if(!s)return;return this}};Tt.modelPosition=Tt.point=Tt.position;Tt.modelPositions=Tt.points=Tt.positions;Tt.renderedPoint=Tt.renderedPosition;Tt.relativePoint=Tt.relativePosition;var cp=zo,Dr,Zt;Dr=Zt={};Zt.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),a=r.zoom(),n=r.pan(),i=e.x1*a+n.x,s=e.x2*a+n.x,o=e.y1*a+n.y,l=e.y2*a+n.y;return{x1:i,x2:s,y1:o,y2:l,w:s-i,h:l-o}};Zt.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 a=r._private;a.compoundBoundsClean=!1,a.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Zt.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 o=s._private,l=s.children(),u=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")}},h=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),c=o.position;(h.w===0||h.h===0)&&(h={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},h.x1=c.x-h.w/2,h.x2=c.x+h.w/2,h.y1=c.y-h.h/2,h.y2=c.y+h.h/2);function v(w,D,A){var L=0,I=0,O=D+A;return w>0&&O>0&&(L=D/O*w,I=A/O*w),{biasDiff:L,biasComplementDiff:I}}function d(w,D,A,L){if(A.units==="%")switch(L){case"width":return w>0?A.pfValue*w:0;case"height":return D>0?A.pfValue*D:0;case"average":return w>0&&D>0?A.pfValue*(w+D)/2:0;case"min":return w>0&&D>0?w>D?A.pfValue*D:A.pfValue*w:0;case"max":return w>0&&D>0?w>D?A.pfValue*w:A.pfValue*D:0;default:return 0}else return A.units==="px"?A.pfValue:0}var g=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(g=g*100/f.width.val);var p=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(p=p*100/f.width.val);var y=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(y=y*100/f.height.val);var E=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(E=E*100/f.height.val);var m=v(f.width.val-h.w,g,p),T=m.biasDiff,C=m.biasComplementDiff,S=v(f.height.val-h.h,y,E),b=S.biasDiff,x=S.biasComplementDiff;o.autoPadding=d(h.w,h.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(h.w,f.width.val),c.x=(-T+h.x1+h.x2+C)/2,o.autoHeight=Math.max(h.h,f.height.val),c.y=(-b+h.y1+h.y2+x)/2}for(var a=0;ae.x2?n:e.x2,e.y1=ae.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},tr=function(e,r){return r==null?e:wt(e,r.x1,r.y1,r.x2,r.y2)},Ur=function(e,r,a){return xt(e,r,a)},Oa=function(e,r,a){if(!r.cy().headless()){var n=r._private,i=n.rstyle,s=i.arrowWidth/2,o=r.pstyle(a+"-arrow-shape").value,l,u;if(o!=="none"){a==="source"?(l=i.srcX,u=i.srcY):a==="target"?(l=i.tgtX,u=i.tgtY):(l=i.midX,u=i.midY);var f=n.arrowBounds=n.arrowBounds||{},h=f[a]=f[a]||{};h.x1=l-s,h.y1=u-s,h.x2=l+s,h.y2=u+s,h.w=h.x2-h.x1,h.h=h.y2-h.y1,ka(h,1),wt(e,h.x1,h.y1,h.x2,h.y2)}}},Nn=function(e,r,a){if(!r.cy().headless()){var n;a?n=a+"-":n="";var i=r._private,s=i.rstyle,o=r.pstyle(n+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),f=Ur(s,"labelWidth",a),h=Ur(s,"labelHeight",a),c=Ur(s,"labelX",a),v=Ur(s,"labelY",a),d=r.pstyle(n+"text-margin-x").pfValue,g=r.pstyle(n+"text-margin-y").pfValue,p=r.isEdge(),y=r.pstyle(n+"text-rotation"),E=r.pstyle("text-outline-width").pfValue,m=r.pstyle("text-border-width").pfValue,T=m/2,C=r.pstyle("text-background-padding").pfValue,S=2,b=h,x=f,w=x/2,D=b/2,A,L,I,O;if(p)A=c-w,L=c+w,I=v-D,O=v+D;else{switch(l.value){case"left":A=c-x,L=c;break;case"center":A=c-w,L=c+w;break;case"right":A=c,L=c+x;break}switch(u.value){case"top":I=v-b,O=v;break;case"center":I=v-D,O=v+D;break;case"bottom":I=v,O=v+b;break}}A+=d-Math.max(E,T)-C-S,L+=d+Math.max(E,T)+C+S,I+=g-Math.max(E,T)-C-S,O+=g+Math.max(E,T)+C+S;var P=a||"main",R=i.labelBounds,M=R[P]=R[P]||{};M.x1=A,M.y1=I,M.x2=L,M.y2=O,M.w=L-A,M.h=O-I;var k=p&&y.strValue==="autorotate",B=y.pfValue!=null&&y.pfValue!==0;if(k||B){var G=k?Ur(i.rstyle,"labelAngle",a):y.pfValue,F=Math.cos(G),$=Math.sin(G),U=(A+L)/2,_=(I+O)/2;if(!p){switch(l.value){case"left":U=L;break;case"right":U=A;break}switch(u.value){case"top":_=O;break;case"bottom":_=I;break}}var Y=function(ce,te){return ce=ce-U,te=te-_,{x:ce*F-te*$+U,y:ce*$+te*F+_}},W=Y(A,I),z=Y(A,O),K=Y(L,I),j=Y(L,O);A=Math.min(W.x,z.x,K.x,j.x),L=Math.max(W.x,z.x,K.x,j.x),I=Math.min(W.y,z.y,K.y,j.y),O=Math.max(W.y,z.y,K.y,j.y)}var Q=P+"Rot",ee=R[Q]=R[Q]||{};ee.x1=A,ee.y1=I,ee.x2=L,ee.y2=O,ee.w=L-A,ee.h=O-I,wt(e,A,I,L,O),wt(i.labelBounds.all,A,I,L,O)}return e}},dp=function(e,r){if(!r.cy().headless()){var a=r.pstyle("outline-opacity").value,n=r.pstyle("outline-width").value;if(a>0&&n>0){var i=r.pstyle("outline-offset").value,s=r.pstyle("shape").value,o=n+i,l=(e.w+o*2)/e.w,u=(e.h+o*2)/e.h,f=0,h=0;["diamond","pentagon","round-triangle"].includes(s)?(l=(e.w+o*2.4)/e.w,h=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?l=(e.w+o*2.4)/e.w:s==="star"?(l=(e.w+o*2.8)/e.w,u=(e.h+o*2.6)/e.h,h=-o/3.8):s==="triangle"?(l=(e.w+o*2.8)/e.w,u=(e.h+o*2.4)/e.h,h=-o/1.4):s==="vee"&&(l=(e.w+o*4.4)/e.w,u=(e.h+o*3.8)/e.h,h=-o*.5);var c=e.h*u-e.h,v=e.w*l-e.w;if(Pa(e,[Math.ceil(c/2),Math.ceil(v/2)]),f!=0||h!==0){var d=_d(e,f,h);wo(e,d)}}}},gp=function(e,r){var a=e._private.cy,n=a.styleEnabled(),i=a.headless(),s=ft(),o=e._private,l=e.isNode(),u=e.isEdge(),f,h,c,v,d,g,p=o.rstyle,y=l&&n?e.pstyle("bounds-expansion").pfValue:[0],E=function(ue){return ue.pstyle("display").value!=="none"},m=!n||E(e)&&(!u||E(e.source())&&E(e.target()));if(m){var T=0,C=0;n&&r.includeOverlays&&(T=e.pstyle("overlay-opacity").value,T!==0&&(C=e.pstyle("overlay-padding").value));var S=0,b=0;n&&r.includeUnderlays&&(S=e.pstyle("underlay-opacity").value,S!==0&&(b=e.pstyle("underlay-padding").value));var x=Math.max(C,b),w=0,D=0;if(n&&(w=e.pstyle("width").pfValue,D=w/2),l&&r.includeNodes){var A=e.position();d=A.x,g=A.y;var L=e.outerWidth(),I=L/2,O=e.outerHeight(),P=O/2;f=d-I,h=d+I,c=g-P,v=g+P,wt(s,f,c,h,v),n&&r.includeOutlines&&dp(s,e)}else if(u&&r.includeEdges)if(n&&!i){var R=e.pstyle("curve-style").strValue;if(f=Math.min(p.srcX,p.midX,p.tgtX),h=Math.max(p.srcX,p.midX,p.tgtX),c=Math.min(p.srcY,p.midY,p.tgtY),v=Math.max(p.srcY,p.midY,p.tgtY),f-=D,h+=D,c-=D,v+=D,wt(s,f,c,h,v),R==="haystack"){var M=p.haystackPts;if(M&&M.length===2){if(f=M[0].x,c=M[0].y,h=M[1].x,v=M[1].y,f>h){var k=f;f=h,h=k}if(c>v){var B=c;c=v,v=B}wt(s,f-D,c-D,h+D,v+D)}}else if(R==="bezier"||R==="unbundled-bezier"||R==="segments"||R==="taxi"){var G;switch(R){case"bezier":case"unbundled-bezier":G=p.bezierPts;break;case"segments":case"taxi":G=p.linePts;break}if(G!=null)for(var F=0;Fh){var z=f;f=h,h=z}if(c>v){var K=c;c=v,v=K}f-=D,h+=D,c-=D,v+=D,wt(s,f,c,h,v)}if(n&&r.includeEdges&&u&&(Oa(s,e,"mid-source"),Oa(s,e,"mid-target"),Oa(s,e,"source"),Oa(s,e,"target")),n){var j=e.pstyle("ghost").value==="yes";if(j){var Q=e.pstyle("ghost-offset-x").pfValue,ee=e.pstyle("ghost-offset-y").pfValue;wt(s,s.x1+Q,s.y1+ee,s.x2+Q,s.y2+ee)}}var ne=o.bodyBounds=o.bodyBounds||{};qi(ne,s),Pa(ne,y),ka(ne,1),n&&(f=s.x1,h=s.x2,c=s.y1,v=s.y2,wt(s,f-x,c-x,h+x,v+x));var ce=o.overlayBounds=o.overlayBounds||{};qi(ce,s),Pa(ce,y),ka(ce,1);var te=o.labelBounds=o.labelBounds||{};te.all!=null?Vd(te.all):te.all=ft(),n&&r.includeLabels&&(r.includeMainLabels&&Nn(s,e,null),u&&(r.includeSourceLabels&&Nn(s,e,"source"),r.includeTargetLabels&&Nn(s,e,"target")))}return s.x1=dt(s.x1),s.y1=dt(s.y1),s.x2=dt(s.x2),s.y2=dt(s.y2),s.w=dt(s.x2-s.x1),s.h=dt(s.y2-s.y1),s.w>0&&s.h>0&&m&&(Pa(s,y),ka(s,1)),s},Vo=function(e){var r=0,a=function(s){return(s?1:0)<0&&arguments[0]!==void 0?arguments[0]:Np,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};Kt.removeAllListeners=function(){return this.removeListener("*")};Kt.emit=Kt.trigger=function(t,e,r){var a=this.listeners,n=a.length;return this.emitting++,Me(e)||(e=[e]),Ip(this,function(i,s){r!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],n=a.length);for(var o=function(f){var h=a[f];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===Op)&&i.eventMatches(i.context,h,s)){var c=[s];e!=null&&pd(c,e),i.beforeEmit(i.context,h,s),h.conf&&h.conf.one&&(i.listeners=i.listeners.filter(function(g){return g!==h}));var v=i.callbackContext(i.context,h,s),d=h.callback.apply(v,c);i.afterEmit(i.context,h,s),d===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,i.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,a=e._private.data.id,n=r.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&ve(e)){var a=e;e=r.mutableElements().filter(a)}for(var n=0;n=0;r--){var a=this[r];e(a)&&this.unmergeAt(r)}return this},map:function(e,r){for(var a=[],n=this,i=0;ia&&(a=l,n=o)}return{value:a,ele:n}},min:function(e,r){for(var a=1/0,n,i=this,s=0;s=0&&i"u"?"undefined":Ue(Symbol))!=e&&Ue(Symbol.iterator)!=e;r&&(Za[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return ro({next:function(){return i1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){this.cleanStyle();var i=a._private.style[e];return i??(r?n.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var a=r.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=this[0];if(a)return r.style().getRenderedStyle(a,e)},style:function(e,r){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(De(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(ve(e))if(r===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,r,n),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?i.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=!1,n=r.style(),i=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});tt.neighbourhood=tt.neighborhood;tt.closedNeighbourhood=tt.closedNeighborhood;tt.openNeighbourhood=tt.openNeighborhood;de(tt,{source:gt(function(e){var r=this[0],a;return r&&(a=r._private.source||r.cy().collection()),a&&e?a.filter(e):a},"source"),target:gt(function(e){var r=this[0],a;return r&&(a=r._private.target||r.cy().collection()),a&&e?a.filter(e):a},"target"),sources:ws({attr:"source"}),targets:ws({attr:"target"})});function ws(t){return function(r){for(var a=[],n=0;n0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});tt.componentsOf=tt.components;var Ze=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Ge("A collection must have a reference to the core");return}var i=new Lt,s=!1;if(!r)r=[];else if(r.length>0&&De(r[0])&&!ca(r[0])){s=!0;for(var o=[],l=new Mr,u=0,f=r.length;u0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=r.cy(),n=a._private,i=[],s=[],o,l=0,u=r.length;l0){for(var B=o.length===r.length?r:new Ze(a,o),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=[],n={},i=r._private.cy;function s(O){for(var P=O._private.edges,R=0;R0&&(t?A.emitAndNotify("remove"):e&&A.emit("remove"));for(var L=0;L0?L=O:A=O;while(Math.abs(I)>s&&++P=i?E(D,P):R===0?P:T(D,A,A+u)}var S=!1;function b(){S=!0,(t!==e||r!==a)&&m()}var x=function(A){return S||b(),t===e&&r===a?A:A===0?0:A===1?1:p(C(A),e,a)};x.getControlPoints=function(){return[{x:t,y:e},{x:r,y:a}]};var w="generateBezier("+[t,e,r,a]+")";return x.toString=function(){return w},x}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var _p=function(){function t(a){return-a.tension*a.x-a.friction*a.v}function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:t(s)}}function r(a,n){var i={dx:a.v,dv:t(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),l=e(a,n,o),u=1/6*(i.dx+2*(s.dx+o.dx)+l.dx),f=1/6*(i.dv+2*(s.dv+o.dv)+l.dv);return a.x=a.x+u*n,a.v=a.v+f*n,a}return function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,f=1/1e4,h=16/1e3,c,v,d;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,c=s!==null,c?(u=a(n,i),v=u/s*h):v=h;d=r(d||o,v),l.push(1+d.x),u+=16,Math.abs(d.x)>f&&Math.abs(d.v)>f;);return c?function(g){return l[g*(l.length-1)|0]}:u}}(),Re=function(e,r,a,n){var i=Vp(e,r,a,n);return function(s,o,l){return s+(o-s)*i(l)}},Ga={linear:function(e,r,a){return e+(r-e)*a},ease:Re(.25,.1,.25,1),"ease-in":Re(.42,0,1,1),"ease-out":Re(0,0,.58,1),"ease-in-out":Re(.42,0,.58,1),"ease-in-sine":Re(.47,0,.745,.715),"ease-out-sine":Re(.39,.575,.565,1),"ease-in-out-sine":Re(.445,.05,.55,.95),"ease-in-quad":Re(.55,.085,.68,.53),"ease-out-quad":Re(.25,.46,.45,.94),"ease-in-out-quad":Re(.455,.03,.515,.955),"ease-in-cubic":Re(.55,.055,.675,.19),"ease-out-cubic":Re(.215,.61,.355,1),"ease-in-out-cubic":Re(.645,.045,.355,1),"ease-in-quart":Re(.895,.03,.685,.22),"ease-out-quart":Re(.165,.84,.44,1),"ease-in-out-quart":Re(.77,0,.175,1),"ease-in-quint":Re(.755,.05,.855,.06),"ease-out-quint":Re(.23,1,.32,1),"ease-in-out-quint":Re(.86,0,.07,1),"ease-in-expo":Re(.95,.05,.795,.035),"ease-out-expo":Re(.19,1,.22,1),"ease-in-out-expo":Re(1,0,0,1),"ease-in-circ":Re(.6,.04,.98,.335),"ease-out-circ":Re(.075,.82,.165,1),"ease-in-out-circ":Re(.785,.135,.15,.86),spring:function(e,r,a){if(a===0)return Ga.linear;var n=_p(e,r,a);return function(i,s,o){return i+(s-i)*n(o)}},"cubic-bezier":Re};function Cs(t,e,r,a,n){if(a===1||e===r)return r;var i=n(e,r,a);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function Ds(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function pr(t,e,r,a,n){var i=n!=null?n.type:null;r<0?r=0:r>1&&(r=1);var s=Ds(t,n),o=Ds(e,n);if(ae(s)&&ae(o))return Cs(i,s,o,r,a);if(Me(s)&&Me(o)){for(var l=[],u=0;u0?(v==="spring"&&d.push(s.duration),s.easingImpl=Ga[v].apply(null,d)):s.easingImpl=Ga[v]}var g=s.easingImpl,p;if(s.duration===0?p=1:p=(r-l)/s.duration,s.applying&&(p=s.progress),p<0?p=0:p>1&&(p=1),s.delay==null){var y=s.startPosition,E=s.position;if(E&&n&&!t.locked()){var m={};Yr(y.x,E.x)&&(m.x=pr(y.x,E.x,p,g)),Yr(y.y,E.y)&&(m.y=pr(y.y,E.y,p,g)),t.position(m)}var T=s.startPan,C=s.pan,S=i.pan,b=C!=null&&a;b&&(Yr(T.x,C.x)&&(S.x=pr(T.x,C.x,p,g)),Yr(T.y,C.y)&&(S.y=pr(T.y,C.y,p,g)),t.emit("pan"));var x=s.startZoom,w=s.zoom,D=w!=null&&a;D&&(Yr(x,w)&&(i.zoom=ra(i.minZoom,pr(x,w,p,g),i.maxZoom)),t.emit("zoom")),(b||D)&&t.emit("viewport");var A=s.style;if(A&&A.length>0&&n){for(var L=0;L=0;b--){var x=S[b];x()}S.splice(0,S.length)},E=v.length-1;E>=0;E--){var m=v[E],T=m._private;if(T.stopped){v.splice(E,1),T.hooked=!1,T.playing=!1,T.started=!1,y(T.frames);continue}!T.playing&&!T.applying||(T.playing&&T.applying&&(T.applying=!1),T.started||Hp(f,m,t),Up(f,m,t,h),T.applying&&(T.applying=!1),y(T.frames),T.step!=null&&T.step(t),m.completed()&&(v.splice(E,1),T.hooked=!1,T.playing=!1,T.started=!1,y(T.completes)),g=!0)}return!h&&v.length===0&&d.length===0&&a.push(f),g}for(var i=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(a),e.emit("step")}var Yp={animate:Oe.animate(),animation:Oe.animation(),animated:Oe.animated(),clearQueue:Oe.clearQueue(),delay:Oe.delay(),delayAnimation:Oe.delayAnimation(),stop:Oe.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&Ya(function(i){Ss(i,e),r()})}var a=e.renderer();a&&a.beforeRender?a.beforeRender(function(i,s){Ss(s,e)},a.beforeRenderPriorities.animations):r()}},Xp={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,a){var n=r.qualifier;return n!=null?e!==a.target&&ca(a.target)&&n.matches(a.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,a){return r.qualifier!=null?a.target:e}},Ma=function(e){return ve(e)?new Wt(e):e},Jo={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new cn(Xp,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,a){return this.emitter().on(e,Ma(r),a),this},removeListener:function(e,r,a){return this.emitter().removeListener(e,Ma(r),a),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,a){return this.emitter().one(e,Ma(r),a),this},once:function(e,r,a){return this.emitter().one(e,Ma(r),a),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Oe.eventAliasesOn(Jo);var Hn={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};Hn.jpeg=Hn.jpg;var za={layout:function(e){var r=this;if(e==null){Ge("Layout options must be specified to make a layout");return}if(e.name==null){Ge("A `name` must be specified to make a layout");return}var a=e.name,n=r.extension("layout",a);if(n==null){Ge("No such layout `"+a+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;ve(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var s=new n(de({},e,{cy:r,eles:i}));return s}};za.createLayout=za.makeLayout=za.layout;var Wp={notify:function(e,r){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();r!=null&&n.merge(r);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch: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(a){var n=e.batchNotifications[a];n.empty()?r.notify(a):r.notify(a,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};Yn.invalidateDimensions=Yn.resize;var $a={collection:function(e,r){return ve(e)?this.$(e):ht(e)?e.collection():Me(e)?(r||(r={}),new Ze(this,e,r.unique,r.removed)):new Ze(this)},nodes:function(e){var r=this.$(function(a){return a.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(a){return a.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};$a.elements=$a.filter=$a.$;var at={},Zr="t",Kp="f";at.apply=function(t){for(var e=this,r=e._private,a=r.cy,n=a.collection(),i=0;i0;if(c||h&&v){var d=void 0;c&&v||c?d=u.properties:v&&(d=u.mappedProperties);for(var g=0;g1&&(T=1),o.color){var S=a.valueMin[0],b=a.valueMax[0],x=a.valueMin[1],w=a.valueMax[1],D=a.valueMin[2],A=a.valueMax[2],L=a.valueMin[3]==null?1:a.valueMin[3],I=a.valueMax[3]==null?1:a.valueMax[3],O=[Math.round(S+(b-S)*T),Math.round(x+(w-x)*T),Math.round(D+(A-D)*T),Math.round(L+(I-L)*T)];i={bypass:a.bypass,name:a.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else if(o.number){var P=a.valueMin+(a.valueMax-a.valueMin)*T;i=this.parse(a.name,P,a.bypass,c)}else return!1;if(!i)return g(),!1;i.mapping=a,a=i;break}case s.data:{for(var R=a.field.split("."),M=h.data,k=0;k0&&i>0){for(var o={},l=!1,u=0;u0?t.delayAnimation(s).play().promise().then(m):m()}).then(function(){return t.animation({style:o,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1)};at.checkTrigger=function(t,e,r,a,n,i){var s=this.properties[e],o=n(s);o!=null&&o(r,a)&&i(s)};at.checkZOrderTrigger=function(t,e,r,a){var n=this;this.checkTrigger(t,e,r,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",t)})};at.checkBoundsTrigger=function(t,e,r,a){this.checkTrigger(t,e,r,a,function(n){return n.triggersBounds},function(n){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),n.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||a==="bezier")&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),n.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||a==="none")&&t.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};at.checkTriggers=function(t,e,r,a){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,a),this.checkBoundsTrigger(t,e,r,a)};var pa={};pa.applyBypass=function(t,e,r,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;on.length?a=a.substr(n.length):a=""}function l(){i.length>s.length?i=i.substr(s.length):i=""}for(;;){var u=a.match(/^\s*$/);if(u)break;var f=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Ne("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=f[0];var h=f[1];if(h!=="core"){var c=new Wt(h);if(c.invalid){Ne("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),o();continue}}var v=f[2],d=!1;i=v;for(var g=[];;){var p=i.match(/^\s*$/);if(p)break;var y=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){Ne("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+v),d=!0;break}s=y[0];var E=y[1],m=y[2],T=e.properties[E];if(!T){Ne("Skipping property: Invalid property name in: "+s),l();continue}var C=r.parse(E,m);if(!C){Ne("Skipping property: Invalid property definition in: "+s),l();continue}g.push({name:E,val:m}),l()}if(d){o();break}r.selector(h);for(var S=0;S=7&&e[0]==="d"&&(f=new RegExp(o.data.regex).exec(e))){if(r)return!1;var c=o.data;return{name:t,value:f,strValue:""+e,mapped:c,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(h=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var v=o.mapData;if(!(u.color||u.number))return!1;var d=this.parse(t,h[4]);if(!d||d.mapped)return!1;var g=this.parse(t,h[5]);if(!g||g.mapped)return!1;if(d.pfValue===g.pfValue||d.strValue===g.strValue)return Ne("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+d.strValue+"`"),this.parse(t,d.strValue);if(u.color){var p=d.value,y=g.value,E=p[0]===y[0]&&p[1]===y[1]&&p[2]===y[2]&&(p[3]===y[3]||(p[3]==null||p[3]===1)&&(y[3]==null||y[3]===1));if(E)return!1}return{name:t,value:h,strValue:""+e,mapped:v,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:d.value,valueMax:g.value,bypass:r}}}if(u.multiple&&a!=="multiple"){var m;if(l?m=e.split(/\s+/):Me(e)?m=e:m=[e],u.evenMultiple&&m.length%2!==0)return null;for(var T=[],C=[],S=[],b="",x=!1,w=0;w0?" ":"")+D.strValue}return u.validate&&!u.validate(T,C)?null:u.singleEnum&&x?T.length===1&&ve(T[0])?{name:t,value:T[0],strValue:T[0],bypass:r}:null:{name:t,value:T,pfValue:S,strValue:b,bypass:r,units:C}}var A=function(){for(var j=0;ju.max||u.strictMax&&e===u.max))return null;var R={name:t,value:e,strValue:""+e+(L||""),units:L,bypass:r};return u.unitless||L!=="px"&&L!=="em"?R.pfValue=e:R.pfValue=L==="px"||!L?e:this.getEmSizeInPixels()*e,(L==="ms"||L==="s")&&(R.pfValue=L==="ms"?e:1e3*e),(L==="deg"||L==="rad")&&(R.pfValue=L==="rad"?e:Fd(e)),L==="%"&&(R.pfValue=e/100),R}else if(u.propList){var M=[],k=""+e;if(k!=="none"){for(var B=k.split(/\s*,\s*|\s+/),G=0;G0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){l=Math.min((s-2*r)/a.w,(o-2*r)/a.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l=a.minZoom&&(a.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,a=r.pan,n=r.zoom,i,s,o=!1;if(r.zoomingEnabled||(o=!0),ae(e)?s=e:De(e)&&(s=e.level,e.position!=null?i=fn(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;ae(u.x)&&(r.pan.x=u.x,o=!1),ae(u.y)&&(r.pan.y=u.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(ve(e)){var a=e;e=this.mutableElements().filter(a)}else ht(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(i-r*(n.x1+n.x2))/2,y:(s-r*(n.y1+n.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,a=this;return e.sizeCache=e.sizeCache||(r?function(){var n=a.window().getComputedStyle(r),i=function(o){return parseFloat(n.getPropertyValue(o))};return{width:r.clientWidth-i("padding-left")-i("padding-right"),height:r.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/r,x2:(a.x2-e.x)/r,y1:(a.y1-e.y)/r,y2:(a.y2-e.y)/r};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};sr.centre=sr.center;sr.autolockNodes=sr.autolock;sr.autoungrabifyNodes=sr.autoungrabify;var sa={data:Oe.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Oe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Oe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Oe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};sa.attr=sa.data;sa.removeAttr=sa.removeData;var oa=function(e){var r=this;e=de({},e);var a=e.container;a&&!Ha(a)&&Ha(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=r;var s=$e!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=de({name:s?"grid":"null"},o.layout),o.renderer=de({name:s?"canvas":"null"},o.renderer);var l=function(d,g,p){return g!==void 0?g:p!==void 0?p:d},u=this._private={container:a,ready:!1,options:o,elements:new Ze(this),listeners:[],aniEles:new Ze(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ae(o.zoom)?o.zoom:1,pan:{x:De(o.pan)&&ae(o.pan.x)?o.pan.x:0,y:De(o.pan)&&ae(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var f=function(d,g){var p=d.some(Xc);if(p)return Rr.all(d).then(g);g(d)};u.styleEnabled&&r.setStyle([]);var h=de({},o,o.renderer);r.initRenderer(h);var c=function(d,g,p){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),d!=null&&(De(d)||Me(d))&&r.add(d),r.one("layoutready",function(m){r.notifications(!0),r.emit(m),r.one("load",g),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",p),r.emit("done")});var E=de({},r._private.options.layout);E.eles=r.elements(),r.layout(E).run()};f([o.style,o.elements],function(v){var d=v[0],g=v[1];u.styleEnabled&&r.style().append(d),c(g,function(){r.startAnimationLoop(),u.ready=!0,Be(o.ready)&&r.on("ready",o.ready);for(var p=0;p0,l=ft(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),u;if(ht(e.roots))u=e.roots;else if(Me(e.roots)){for(var f=[],h=0;h0;){var P=O(),R=D(P,L);if(R)P.outgoers().filter(function(te){return te.isNode()&&a.has(te)}).forEach(I);else if(R===null){Ne("Detected double maximal shift for node `"+P.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}w();var M=0;if(e.avoidOverlap)for(var k=0;k0&&y[0].length<=3?ge/2:0),N=2*Math.PI/y[le].length*se;return le===0&&y[0].length===1&&(H=1),{x:ee.x+H*Math.cos(N),y:ee.y+H*Math.sin(N)}}else{var we={x:ee.x+(se+1-(fe+1)/2)*xe,y:(le+1)*Ee};return we}};return a.nodes().layoutPositions(this,e,ce),this};var ey={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:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function el(t){this.options=de({},ey,t)}el.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=ft(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,u=l/Math.max(1,i.length-1),f,h=0,c=0;c1&&e.avoidOverlap){h*=1.75;var y=Math.cos(u)-Math.cos(0),E=Math.sin(u)-Math.sin(0),m=Math.sqrt(h*h/(y*y+E*E));f=Math.max(m,f)}var T=function(S,b){var x=e.startAngle+b*u*(n?1:-1),w=f*Math.cos(x),D=f*Math.sin(x),A={x:o.x+w,y:o.y+D};return A};return a.nodes().layoutPositions(this,e,T),this};var ty={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:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function tl(t){this.options=de({},ty,t)}tl.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=t.cy,n=e.eles,i=n.nodes().not(":parent"),s=ft(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,f=0;f0){var C=Math.abs(E[0].value-T.value);C>=p&&(E=[],y.push(E))}E.push(T)}var S=u+e.minNodeSpacing;if(!e.avoidOverlap){var b=y.length>0&&y[0].length>1,x=Math.min(s.w,s.h)/2-S,w=x/(y.length+b?1:0);S=Math.min(S,w)}for(var D=0,A=0;A1&&e.avoidOverlap){var P=Math.cos(O)-Math.cos(0),R=Math.sin(O)-Math.sin(0),M=Math.sqrt(S*S/(P*P+R*R));D=Math.max(M,D)}L.r=D,D+=S}if(e.equidistant){for(var k=0,B=0,G=0;G=t.numIter||(uy(a,t),a.temperature=a.temperature*t.coolingFactor,a.temperature=t.animationThreshold&&i(),Ya(h)}};f()}else{for(;u;)u=s(l),l++;Os(a,t),o()}return this};mn.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};mn.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ay=function(e,r,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=ft(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=a.eles.components(),u={},f=0;f0){o.graphSet.push(x);for(var f=0;fn.count?0:n.graph},iy=function t(e,r,a,n){var i=n.graphSet[a];if(-10)var h=n.nodeOverlap*f,c=Math.sqrt(o*o+l*l),v=h*o/c,d=h*l/c;else var g=Ja(e,o,l),p=Ja(r,-1*o,-1*l),y=p.x-g.x,E=p.y-g.y,m=y*y+E*E,c=Math.sqrt(m),h=(e.nodeRepulsion+r.nodeRepulsion)/m,v=h*y/c,d=h*E/c;e.isLocked||(e.offsetX-=v,e.offsetY-=d),r.isLocked||(r.offsetX+=v,r.offsetY+=d)}},vy=function(e,r,a,n){if(a>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(n>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},Ja=function(e,r,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,l=a/r,u=s/o,f={};return r===0&&0a?(f.x=n,f.y=i+s/2,f):0r&&-1*u<=l&&l<=u?(f.x=n-o/2,f.y=i-o*a/2/r,f):0=u)?(f.x=n+s*r/2/a,f.y=i+s/2,f):(0>a&&(l<=-1*u||l>=u)&&(f.x=n-s*r/2/a,f.y=i-s/2),f)},cy=function(e,r){for(var a=0;aa){var p=r.gravity*v/g,y=r.gravity*d/g;c.offsetX+=p,c.offsetY+=y}}}}},gy=function(e,r){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0a)var i={x:a*e/n,y:a*r/n};else var i={x:e,y:r};return i},my=function t(e,r){var a=e.parentId;if(a!=null){var n=r.layoutNodes[r.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTopy&&(d+=p+r.componentSpacing,v=0,g=0,p=0)}}},by={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:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function al(t){this.options=de({},by,t)}al.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=ft(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(U){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),l=Math.round(o),u=Math.round(i.w/i.h*o),f=function(_){if(_==null)return Math.min(l,u);var Y=Math.min(l,u);Y==l?l=_:u=_},h=function(_){if(_==null)return Math.max(l,u);var Y=Math.max(l,u);Y==l?l=_:u=_},c=e.rows,v=e.cols!=null?e.cols:e.columns;if(c!=null&&v!=null)l=c,u=v;else if(c!=null&&v==null)l=c,u=Math.ceil(s/l);else if(c==null&&v!=null)u=v,l=Math.ceil(s/u);else if(u*l>s){var d=f(),g=h();(d-1)*g>=s?f(d-1):(g-1)*d>=s&&h(g-1)}else for(;u*l=s?h(y+1):f(p+1)}var E=i.w/u,m=i.h/l;if(e.condense&&(E=0,m=0),e.avoidOverlap)for(var T=0;T=u&&(P=0,O++)},M={},k=0;k(P=Zd(t,e,R[M],R[M+1],R[M+2],R[M+3])))return p(b,P),!0}else if(w.edgeType==="bezier"||w.edgeType==="multibezier"||w.edgeType==="self"||w.edgeType==="compound"){for(var R=w.allpts,M=0;M+5(P=Kd(t,e,R[M],R[M+1],R[M+2],R[M+3],R[M+4],R[M+5])))return p(b,P),!0}for(var k=k||x.source,B=B||x.target,G=n.getArrowWidth(D,A),F=[{name:"source",x:w.arrowStartX,y:w.arrowStartY,angle:w.srcArrowAngle},{name:"target",x:w.arrowEndX,y:w.arrowEndY,angle:w.tgtArrowAngle},{name:"mid-source",x:w.midX,y:w.midY,angle:w.midsrcArrowAngle},{name:"mid-target",x:w.midX,y:w.midY,angle:w.midtgtArrowAngle}],M=0;M0&&(y(k),y(B))}function m(b,x,w){return xt(b,x,w)}function T(b,x){var w=b._private,D=c,A;x?A=x+"-":A="",b.boundingBox();var L=w.labelBounds[x||"main"],I=b.pstyle(A+"label").value,O=b.pstyle("text-events").strValue==="yes";if(!(!O||!I)){var P=m(w.rscratch,"labelX",x),R=m(w.rscratch,"labelY",x),M=m(w.rscratch,"labelAngle",x),k=b.pstyle(A+"text-margin-x").pfValue,B=b.pstyle(A+"text-margin-y").pfValue,G=L.x1-D-k,F=L.x2+D-k,$=L.y1-D-B,U=L.y2+D-B;if(M){var _=Math.cos(M),Y=Math.sin(M),W=function(ce,te){return ce=ce-P,te=te-R,{x:ce*_-te*Y+P,y:ce*Y+te*_+R}},z=W(G,$),K=W(G,U),j=W(F,$),Q=W(F,U),ee=[z.x+k,z.y+B,j.x+k,j.y+B,Q.x+k,Q.y+B,K.x+k,K.y+B];if(ut(t,e,ee))return p(b),!0}else if(Sr(L,t,e))return p(b),!0}}for(var C=s.length-1;C>=0;C--){var S=s[C];S.isNode()?y(S)||T(S):E(S)||T(S)||T(S,"source")||T(S,"target")}return o};fr.getAllInBox=function(t,e,r,a){var n=this.getCachedZSortedEles().interactive,i=[],s=Math.min(t,r),o=Math.max(t,r),l=Math.min(e,a),u=Math.max(e,a);t=s,r=o,e=l,a=u;for(var f=ft({x1:t,y1:e,x2:r,y2:a}),h=0;h0?Math.max(Z-oe,0):Math.min(Z+oe,0)},I=L(D,x),O=L(A,w),P=!1;E===u?y=Math.abs(I)>Math.abs(O)?n:a:E===l||E===o?(y=a,P=!0):(E===i||E===s)&&(y=n,P=!0);var R=y===a,M=R?O:I,k=R?A:D,B=Eo(k),G=!1;!(P&&(T||S))&&(E===o&&k<0||E===l&&k>0||E===i&&k>0||E===s&&k<0)&&(B*=-1,M=B*Math.abs(M),G=!0);var F;if(T){var $=C<0?1+C:C;F=$*M}else{var U=C<0?M:0;F=U+C*B}var _=function(Z){return Math.abs(Z)=Math.abs(M)},Y=_(F),W=_(Math.abs(M)-Math.abs(F)),z=Y||W;if(z&&!G)if(R){var K=Math.abs(k)<=c/2,j=Math.abs(D)<=v/2;if(K){var Q=(f.x1+f.x2)/2,ee=f.y1,ne=f.y2;r.segpts=[Q,ee,Q,ne]}else if(j){var ce=(f.y1+f.y2)/2,te=f.x1,re=f.x2;r.segpts=[te,ce,re,ce]}else r.segpts=[f.x1,f.y2]}else{var ue=Math.abs(k)<=h/2,le=Math.abs(A)<=d/2;if(ue){var se=(f.y1+f.y2)/2,fe=f.x1,xe=f.x2;r.segpts=[fe,se,xe,se]}else if(le){var Ee=(f.x1+f.x2)/2,ge=f.y1,we=f.y2;r.segpts=[Ee,ge,Ee,we]}else r.segpts=[f.x2,f.y1]}else if(R){var H=f.y1+F+(p?c/2*B:0),N=f.x1,V=f.x2;r.segpts=[N,H,V,H]}else{var J=f.x1+F+(p?h/2*B:0),X=f.y1,q=f.y2;r.segpts=[J,X,J,q]}};nt.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,f=e.tgtShape,h=!ae(r.startX)||!ae(r.startY),c=!ae(r.arrowStartX)||!ae(r.arrowStartY),v=!ae(r.endX)||!ae(r.endY),d=!ae(r.arrowEndX)||!ae(r.arrowEndY),g=3,p=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,y=g*p,E=nr({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),m=EO.poolIndex()){var P=I;I=O,O=P}var R=w.srcPos=I.position(),M=w.tgtPos=O.position(),k=w.srcW=I.outerWidth(),B=w.srcH=I.outerHeight(),G=w.tgtW=O.outerWidth(),F=w.tgtH=O.outerHeight(),$=w.srcShape=r.nodeShapes[e.getNodeShape(I)],U=w.tgtShape=r.nodeShapes[e.getNodeShape(O)];w.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var K=i,j=er(K,Er(r)),Q=er(K,Er(z)),ee=j;if(Q2){var ne=er(K,{x:z[2],y:z[3]});ne0){var N=s,V=er(N,Er(r)),J=er(N,Er(H)),X=V;if(J2){var q=er(N,{x:H[2],y:H[3]});q=d||b){p={cp:T,segment:S};break}}if(p)break}var x=p.cp,w=p.segment,D=(d-y)/w.length,A=w.t1-w.t0,L=v?w.t0+A*D:w.t1-A*D;L=ra(0,L,1),e=xr(x.p0,x.p1,x.p2,L),c=Dy(x.p0,x.p1,x.p2,L);break}case"straight":case"segments":case"haystack":{for(var I=0,O,P,R,M,k=a.allpts.length,B=0;B+3=d));B+=2);var G=d-P,F=G/O;F=ra(0,F,1),e=zd(R,M,F),c=ul(R,M);break}}s("labelX",h,e.x),s("labelY",h,e.y),s("labelAutoAngle",h,c)}};u("source"),u("target"),this.applyLabelDimensions(t)}};Ot.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Ot.applyPrefixedLabelDimensions=function(t,e){var r=t._private,a=this.getLabelText(t,e),n=this.calculateLabelDimensions(t,a),i=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,o=xt(r.rscratch,"labelWrapCachedLines",e)||[],l=s!=="wrap"?1:Math.max(o.length,1),u=n.height/l,f=u*i,h=n.width,c=n.height+(l-1)*(i-1)*u;$t(r.rstyle,"labelWidth",e,h),$t(r.rscratch,"labelWidth",e,h),$t(r.rstyle,"labelHeight",e,c),$t(r.rscratch,"labelHeight",e,c),$t(r.rscratch,"labelLineHeight",e,f)};Ot.getLabelText=function(t,e){var r=t._private,a=e?e+"-":"",n=t.pstyle(a+"label").strValue,i=t.pstyle("text-transform").value,s=function(G,F){return F?($t(r.rscratch,G,e,F),F):xt(r.rscratch,G,e)};if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",f=n.split(` +`),h=t.pstyle("text-max-width").pfValue,c=t.pstyle("text-overflow-wrap").value,v=c==="anywhere",d=[],g=/[\s\u200b]+/,p=v?"":" ",y=0;yh){for(var S=E.split(g),b="",x=0;xI)break;O+=n[M],M===n.length-1&&(R=!0)}return R||(O+=P),O}return n};Ot.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};Ot.calculateLabelDimensions=function(t,e){var r=this,a=ar(e,t._private.labelDimsKey),n=r.labelDimCache||(r.labelDimCache=[]),i=n[a];if(i!=null)return i;var s=0,o=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,u=t.pstyle("font-family").strValue,f=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=h.getContext("2d");var v=h.style;v.position="absolute",v.left="-9999px",v.top="-9999px",v.zIndex="-1",v.visibility="hidden",v.pointerEvents="none"}c.font="".concat(o," ").concat(f," ").concat(l,"px ").concat(u);for(var d=0,g=0,p=e.split(` +`),y=0;y1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l=t.desktopTapThreshold2}var It=n(N);Xe&&(t.hoverData.tapholdCancelled=!0);var Ft=function(){var Dt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Dt.length===0?(Dt.push(be[0]),Dt.push(be[1])):(Dt[0]+=be[0],Dt[1]+=be[1])};J=!0,a(pe,["mousemove","vmousemove","tapdrag"],N,{x:Z[0],y:Z[1]});var vr=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||X.emit({originalEvent:N,type:"boxstart",position:{x:Z[0],y:Z[1]}}),Se[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Xe){var Jt={originalEvent:N,type:"cxtdrag",position:{x:Z[0],y:Z[1]}};ye?ye.emit(Jt):X.emit(Jt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||pe!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:Z[0],y:Z[1]}}),t.hoverData.cxtOver=pe,pe&&pe.emit({originalEvent:N,type:"cxtdragover",position:{x:Z[0],y:Z[1]}}))}}else if(t.hoverData.dragging){if(J=!0,X.panningEnabled()&&X.userPanningEnabled()){var cr;if(t.hoverData.justStartedPan){var Ea=t.hoverData.mdownPos;cr={x:(Z[0]-Ea[0])*q,y:(Z[1]-Ea[1])*q},t.hoverData.justStartedPan=!1}else cr={x:be[0]*q,y:be[1]*q};X.panBy(cr),X.emit("dragpan"),t.hoverData.dragged=!0}Z=t.projectIntoViewport(N.clientX,N.clientY)}else if(Se[4]==1&&(ye==null||ye.pannable())){if(Xe){if(!t.hoverData.dragging&&X.boxSelectionEnabled()&&(It||!X.panningEnabled()||!X.userPanningEnabled()))vr();else if(!t.hoverData.selecting&&X.panningEnabled()&&X.userPanningEnabled()){var jt=i(ye,t.hoverData.downs);jt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Se[4]=0,t.data.bgActivePosistion=Er(oe),t.redrawHint("select",!0),t.redraw())}ye&&ye.pannable()&&ye.active()&&ye.unactivate()}}else{if(ye&&ye.pannable()&&ye.active()&&ye.unactivate(),(!ye||!ye.grabbed())&&pe!=Te&&(Te&&a(Te,["mouseout","tapdragout"],N,{x:Z[0],y:Z[1]}),pe&&a(pe,["mouseover","tapdragover"],N,{x:Z[0],y:Z[1]}),t.hoverData.last=pe),ye)if(Xe){if(X.boxSelectionEnabled()&&It)ye&&ye.grabbed()&&(p(Fe),ye.emit("freeon"),Fe.emit("free"),t.dragData.didDrag&&(ye.emit("dragfreeon"),Fe.emit("dragfree"))),vr();else if(ye&&ye.grabbed()&&t.nodeIsDraggable(ye)){var ot=!t.dragData.didDrag;ot&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||d(Fe,{inDragLayer:!0});var je={x:0,y:0};if(ae(be[0])&&ae(be[1])&&(je.x+=be[0],je.y+=be[1],ot)){var lt=t.hoverData.dragDelta;lt&&ae(lt[0])&&ae(lt[1])&&(je.x+=lt[0],je.y+=lt[1])}t.hoverData.draggingEles=!0,Fe.silentShift(je).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Ft();J=!0}if(Se[2]=Z[0],Se[3]=Z[1],J)return N.stopPropagation&&N.stopPropagation(),N.preventDefault&&N.preventDefault(),!1}},!1);var D,A,L;t.registerBinding(e,"mouseup",function(N){var V=t.hoverData.capture;if(V){t.hoverData.capture=!1;var J=t.cy,X=t.projectIntoViewport(N.clientX,N.clientY),q=t.selection,he=t.findNearestElement(X[0],X[1],!0,!1),Z=t.dragData.possibleDragElements,oe=t.hoverData.down,me=n(N);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,oe&&oe.unactivate(),t.hoverData.which===3){var Se={originalEvent:N,type:"cxttapend",position:{x:X[0],y:X[1]}};if(oe?oe.emit(Se):J.emit(Se),!t.hoverData.cxtDragged){var pe={originalEvent:N,type:"cxttap",position:{x:X[0],y:X[1]}};oe?oe.emit(pe):J.emit(pe)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(a(he,["mouseup","tapend","vmouseup"],N,{x:X[0],y:X[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(a(oe,["click","tap","vclick"],N,{x:X[0],y:X[1]}),A=!1,N.timeStamp-L<=J.multiClickDebounceTime()?(D&&clearTimeout(D),A=!0,L=null,a(oe,["dblclick","dbltap","vdblclick"],N,{x:X[0],y:X[1]})):(D=setTimeout(function(){A||a(oe,["oneclick","onetap","voneclick"],N,{x:X[0],y:X[1]})},J.multiClickDebounceTime()),L=N.timeStamp)),oe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!n(N)&&(J.$(r).unselect(["tapunselect"]),Z.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Z=J.collection()),he==oe&&!t.dragData.didDrag&&!t.hoverData.selecting&&he!=null&&he._private.selectable&&(t.hoverData.dragging||(J.selectionType()==="additive"||me?he.selected()?he.unselect(["tapunselect"]):he.select(["tapselect"]):me||(J.$(r).unmerge(he).unselect(["tapunselect"]),he.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Te=J.collection(t.getAllInBox(q[0],q[1],q[2],q[3]));t.redrawHint("select",!0),Te.length>0&&t.redrawHint("eles",!0),J.emit({type:"boxend",originalEvent:N,position:{x:X[0],y:X[1]}});var ye=function(Xe){return Xe.selectable()&&!Xe.selected()};J.selectionType()==="additive"||me||J.$(r).unmerge(Te).unselect(),Te.emit("box").stdFilter(ye).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!q[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var be=oe&&oe.grabbed();p(Z),be&&(oe.emit("freeon"),Z.emit("free"),t.dragData.didDrag&&(oe.emit("dragfreeon"),Z.emit("dragfree")))}}q[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}},!1);var I=function(N){if(!t.scrollingPage){var V=t.cy,J=V.zoom(),X=V.pan(),q=t.projectIntoViewport(N.clientX,N.clientY),he=[q[0]*J+X.x,q[1]*J+X.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||x()){N.preventDefault();return}if(V.panningEnabled()&&V.userPanningEnabled()&&V.zoomingEnabled()&&V.userZoomingEnabled()){N.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 Z;N.deltaY!=null?Z=N.deltaY/-250:N.wheelDeltaY!=null?Z=N.wheelDeltaY/1e3:Z=N.wheelDelta/1e3,Z=Z*t.wheelSensitivity;var oe=N.deltaMode===1;oe&&(Z*=33);var me=V.zoom()*Math.pow(10,Z);N.type==="gesturechange"&&(me=t.gestureStartZoom*N.scale),V.zoom({level:me,renderedPosition:{x:he[0],y:he[1]}}),V.emit(N.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",I,!0),t.registerBinding(e,"scroll",function(N){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(N){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||N.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(H){t.hasTouchStarted||I(H)},!0),t.registerBinding(t.container,"mouseout",function(N){var V=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseout",position:{x:V[0],y:V[1]}})},!1),t.registerBinding(t.container,"mouseover",function(N){var V=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseover",position:{x:V[0],y:V[1]}})},!1);var O,P,R,M,k,B,G,F,$,U,_,Y,W,z=function(N,V,J,X){return Math.sqrt((J-N)*(J-N)+(X-V)*(X-V))},K=function(N,V,J,X){return(J-N)*(J-N)+(X-V)*(X-V)},j;t.registerBinding(t.container,"touchstart",j=function(N){if(t.hasTouchStarted=!0,!!w(N)){E(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var V=t.cy,J=t.touchData.now,X=t.touchData.earlier;if(N.touches[0]){var q=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);J[0]=q[0],J[1]=q[1]}if(N.touches[1]){var q=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);J[2]=q[0],J[3]=q[1]}if(N.touches[2]){var q=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);J[4]=q[0],J[5]=q[1]}if(N.touches[1]){t.touchData.singleTouchMoved=!0,p(t.dragData.touchDragEles);var he=t.findContainerClientCoords();$=he[0],U=he[1],_=he[2],Y=he[3],O=N.touches[0].clientX-$,P=N.touches[0].clientY-U,R=N.touches[1].clientX-$,M=N.touches[1].clientY-U,W=0<=O&&O<=_&&0<=R&&R<=_&&0<=P&&P<=Y&&0<=M&&M<=Y;var Z=V.pan(),oe=V.zoom();k=z(O,P,R,M),B=K(O,P,R,M),G=[(O+R)/2,(P+M)/2],F=[(G[0]-Z.x)/oe,(G[1]-Z.y)/oe];var me=200,Se=me*me;if(B=1){for(var yt=t.touchData.startPosition=[null,null,null,null,null,null],We=0;We=t.touchTapThreshold2}if(V&&t.touchData.cxt){N.preventDefault();var yt=N.touches[0].clientX-$,We=N.touches[0].clientY-U,ct=N.touches[1].clientX-$,it=N.touches[1].clientY-U,It=K(yt,We,ct,it),Ft=It/B,vr=150,Jt=vr*vr,cr=1.5,Ea=cr*cr;if(Ft>=Ea||It>=Jt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var jt={originalEvent:N,type:"cxttapend",position:{x:q[0],y:q[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(jt),t.touchData.start=null):X.emit(jt)}}if(V&&t.touchData.cxt){var jt={originalEvent:N,type:"cxtdrag",position:{x:q[0],y:q[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(jt):X.emit(jt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var ot=t.findNearestElement(q[0],q[1],!0,!0);(!t.touchData.cxtOver||ot!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:q[0],y:q[1]}}),t.touchData.cxtOver=ot,ot&&ot.emit({originalEvent:N,type:"cxtdragover",position:{x:q[0],y:q[1]}}))}else if(V&&N.touches[2]&&X.boxSelectionEnabled())N.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||X.emit({originalEvent:N,type:"boxstart",position:{x:q[0],y:q[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,J[4]=1,!J||J.length===0||J[0]===void 0?(J[0]=(q[0]+q[2]+q[4])/3,J[1]=(q[1]+q[3]+q[5])/3,J[2]=(q[0]+q[2]+q[4])/3+1,J[3]=(q[1]+q[3]+q[5])/3+1):(J[2]=(q[0]+q[2]+q[4])/3,J[3]=(q[1]+q[3]+q[5])/3),t.redrawHint("select",!0),t.redraw();else if(V&&N.touches[1]&&!t.touchData.didSelect&&X.zoomingEnabled()&&X.panningEnabled()&&X.userZoomingEnabled()&&X.userPanningEnabled()){N.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var je=t.dragData.touchDragEles;if(je){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())}},!1);var ee;t.registerBinding(e,"touchcancel",ee=function(N){var V=t.touchData.start;t.touchData.capture=!1,V&&V.unactivate()});var ne,ce,te,re;if(t.registerBinding(e,"touchend",ne=function(N){var V=t.touchData.start,J=t.touchData.capture;if(J)N.touches.length===0&&(t.touchData.capture=!1),N.preventDefault();else return;var X=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var q=t.cy,he=q.zoom(),Z=t.touchData.now,oe=t.touchData.earlier;if(N.touches[0]){var me=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Z[0]=me[0],Z[1]=me[1]}if(N.touches[1]){var me=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Z[2]=me[0],Z[3]=me[1]}if(N.touches[2]){var me=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Z[4]=me[0],Z[5]=me[1]}V&&V.unactivate();var Se;if(t.touchData.cxt){if(Se={originalEvent:N,type:"cxttapend",position:{x:Z[0],y:Z[1]}},V?V.emit(Se):q.emit(Se),!t.touchData.cxtDragged){var pe={originalEvent:N,type:"cxttap",position:{x:Z[0],y:Z[1]}};V?V.emit(pe):q.emit(pe)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!N.touches[2]&&q.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Te=q.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));X[0]=void 0,X[1]=void 0,X[2]=void 0,X[3]=void 0,X[4]=0,t.redrawHint("select",!0),q.emit({type:"boxend",originalEvent:N,position:{x:Z[0],y:Z[1]}});var ye=function(Jt){return Jt.selectable()&&!Jt.selected()};Te.emit("box").stdFilter(ye).select().emit("boxselect"),Te.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(V!=null&&V.unactivate(),N.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!N.touches[1]){if(!N.touches[0]){if(!N.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var be=t.dragData.touchDragEles;if(V!=null){var Fe=V._private.grabbed;p(be),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Fe&&(V.emit("freeon"),be.emit("free"),t.dragData.didDrag&&(V.emit("dragfreeon"),be.emit("dragfree"))),a(V,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]}),V.unactivate(),t.touchData.start=null}else{var Xe=t.findNearestElement(Z[0],Z[1],!0,!0);a(Xe,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]})}var pt=t.touchData.startPosition[0]-Z[0],yt=pt*pt,We=t.touchData.startPosition[1]-Z[1],ct=We*We,it=yt+ct,It=it*he*he;t.touchData.singleTouchMoved||(V||q.$(":selected").unselect(["tapunselect"]),a(V,["tap","vclick"],N,{x:Z[0],y:Z[1]}),ce=!1,N.timeStamp-re<=q.multiClickDebounceTime()?(te&&clearTimeout(te),ce=!0,re=null,a(V,["dbltap","vdblclick"],N,{x:Z[0],y:Z[1]})):(te=setTimeout(function(){ce||a(V,["onetap","voneclick"],N,{x:Z[0],y:Z[1]})},q.multiClickDebounceTime()),re=N.timeStamp)),V!=null&&!t.dragData.didDrag&&V._private.selectable&&It"u"){var ue=[],le=function(N){return{clientX:N.clientX,clientY:N.clientY,force:1,identifier:N.pointerId,pageX:N.pageX,pageY:N.pageY,radiusX:N.width/2,radiusY:N.height/2,screenX:N.screenX,screenY:N.screenY,target:N.target}},se=function(N){return{event:N,touch:le(N)}},fe=function(N){ue.push(se(N))},xe=function(N){for(var V=0;V0)return F[0]}return null},v=Object.keys(h),d=0;d0?c:To(i,s,e,r,a,n,o)},checkPoint:function(e,r,a,n,i,s,o){var l=da(n,i),u=2*l;if(Rt(e,r,this.points,s,o,n,i-u,[0,-1],a)||Rt(e,r,this.points,s,o,n-u,i,[0,-1],a))return!0;var f=n/2+2*a,h=i/2+2*a,c=[s-f,o-h,s-f,o,s+f,o,s+f,o-h];return!!(ut(e,r,c)||rr(e,r,u,u,s+n/2-l,o+i/2-l,a)||rr(e,r,u,u,s-n/2+l,o+i/2-l,a))}}};Pt.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",st(3,0)),this.generateRoundPolygon("round-triangle",st(3,0)),this.generatePolygon("rectangle",st(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",st(5,0)),this.generateRoundPolygon("round-pentagon",st(5,0)),this.generatePolygon("hexagon",st(6,0)),this.generateRoundPolygon("round-hexagon",st(6,0)),this.generatePolygon("heptagon",st(7,0)),this.generateRoundPolygon("round-heptagon",st(7,0)),this.generatePolygon("octagon",st(8,0)),this.generateRoundPolygon("round-octagon",st(8,0));var a=new Array(20);{var n=Gn(5,0),i=Gn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*T)break}else if(u){if(E>=e.deqCost*v||E>=e.deqAvgCost*c)break}else if(m>=e.deqNoDrawCost*Rn)break;var C=e.deq(a,p,g);if(C.length>0)for(var S=0;S0&&(e.onDeqd(a,d),!u&&e.shouldRedraw(a,d,p,g)&&i())},o=e.priority||oi;n.beforeRender(s,o(a))}}}},Ly=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Xa;ri(this,t),this.idsByKey=new Lt,this.keyForId=new Lt,this.cachesByLvl=new Lt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return ai(t,[{key:"getIdsFor",value:function(r){r==null&&Ge("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(r);return n||(n=new Mr,a.set(r,n)),n}},{key:"addIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).add(a)}},{key:"deleteIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).delete(a)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);return n!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var a=this.cachesByLvl,n=this.lvls,i=a.get(r);return i||(i=new Lt,a.set(r,i),n.push(r)),i}},{key:"getCache",value:function(r,a){return this.getCachesAt(a).get(r)}},{key:"get",value:function(r,a){var n=this.getKey(r),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,a){var n=this.keyForId.get(r.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(r,a){return this.getCachesAt(a).has(r)}},{key:"has",value:function(r,a){var n=this.getKey(r);return this.hasCache(n,a)}},{key:"setCache",value:function(r,a,n){n.key=r,this.getCachesAt(a).set(r,n)}},{key:"set",value:function(r,a,n){var i=this.getKey(r);this.setCache(i,a,n),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,a){this.getCachesAt(a).delete(r)}},{key:"delete",value:function(r,a){var n=this.getKey(r);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(r){var a=this;this.lvls.forEach(function(n){return a.deleteCache(r,n)})}},{key:"invalidate",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}]),t}(),Ps=25,Ra=50,Va=-4,Xn=3,Ay=7.99,Oy=8,Ny=1024,Iy=1024,My=1024,Ry=.2,ky=.8,Py=10,By=.15,Fy=.1,Gy=.9,zy=.9,$y=100,Vy=1,wr={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_y=Qe({getKey:null,doesEleInvalidateKey:Xa,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:go,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Kr=function(e,r){var a=this;a.renderer=e,a.onDequeues=[];var n=_y(r);de(a,n),a.lookup=new Ly(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},He=Kr.prototype;He.reasons=wr;He.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};He.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=r[t]=r[t]||[];return a};He.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new ha.default(function(r,a){return a.reqs-r.reqs});return e};He.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};He.getElement=function(t,e,r,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(a==null&&(a=Math.ceil(ui(o*r))),a=Ay||a>Xn)return null;var u=Math.pow(2,a),f=e.h*u,h=e.w*u,c=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,c))return null;var v=l.get(t,a);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;var d;if(f<=Ps?d=Ps:f<=Ra?d=Ra:d=Math.ceil(f/Ra)*Ra,f>My||h>Iy)return null;var g=i.getTextureQueue(d),p=g[g.length-2],y=function(){return i.recycleTexture(d,h)||i.addTexture(d,h)};p||(p=g[g.length-1]),p||(p=y()),p.width-p.usedWidtha;A--)w=i.getElement(t,e,r,A,wr.downscale);D()}else return i.queueElement(t,S.level-1),S;else{var L;if(!m&&!T&&!C)for(var I=a-1;I>=Va;I--){var O=l.get(t,I);if(O){L=O;break}}if(E(L))return i.queueElement(t,a),L;p.context.translate(p.usedWidth,0),p.context.scale(u,u),this.drawElement(p.context,t,e,c,!1),p.context.scale(1/u,1/u),p.context.translate(-p.usedWidth,0)}return v={x:p.usedWidth,texture:p,level:a,scale:u,width:h,height:f,scaledLabelShown:c},p.usedWidth+=Math.ceil(h+Oy),p.eleCaches.push(v),l.set(t,a,v),i.checkTextureFullness(p),v};He.invalidateElements=function(t){for(var e=0;e=Ry*t.width&&this.retireTexture(t)};He.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>ky&&t.fullnessChecks>=Py?Xt(r,t):t.fullnessChecks++};He.retireTexture=function(t){var e=this,r=t.height,a=e.getTextureQueue(r),n=this.lookup;Xt(a,t),t.retired=!0;for(var i=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,li(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),Xt(n,s),a.push(s),s}};He.queueElement=function(t,e){var r=this,a=r.getElementQueue(),n=r.getElementKeyToQueue(),i=this.getKey(t),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,a.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:i};a.push(o),n[i]=o}};He.dequeue=function(t){for(var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=r.pop(),l=o.key,u=o.eles[0],f=i.hasCache(u,o.level);if(a[l]=null,f)continue;n.push(o);var h=e.getBoundingBox(u);e.getElement(u,h,t,o.level,wr.dequeue)}return n};He.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(t),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=si,r.updateItem(i),r.pop(),a[n]=null):i.eles.unmerge(t))};He.onDequeue=function(t){this.onDequeues.push(t)};He.offDequeue=function(t){Xt(this.onDequeues,t)};He.setupDequeueing=dl.setupDequeueing({deqRedrawThreshold:$y,deqCost:By,deqAvgCost:Fy,deqNoDrawCost:Gy,deqFastCost:zy,deq:function(e,r,a){return e.dequeue(r,a)},onDeqd:function(e,r){for(var a=0;a=Hy||r>en)return null}a.validateLayersElesOrdering(r,t);var l=a.layersByLevel,u=Math.pow(2,r),f=l[r]=l[r]||[],h,c=a.levelIsComplete(r,t),v,d=function(){var D=function(P){if(a.validateLayersElesOrdering(P,t),a.levelIsComplete(P,t))return v=l[P],!0},A=function(P){if(!v)for(var R=r+P;Qr<=R&&R<=en&&!D(R);R+=P);};A(1),A(-1);for(var L=f.length-1;L>=0;L--){var I=f[L];I.invalid&&Xt(f,I)}};if(!c)d();else return f;var g=function(){if(!h){h=ft();for(var D=0;DJy)return null;var I=a.makeLayer(h,r);if(A!=null){var O=f.indexOf(A)+1;f.splice(O,0,I)}else(D.insert===void 0||D.insert)&&f.unshift(I);return I};if(a.skipping&&!o)return null;for(var y=null,E=t.length/Uy,m=!o,T=0;T=E||!xo(y.bb,C.boundingBox()))&&(y=p({insert:!0,after:y}),!y))return null;v||m?a.queueLayer(y,C):a.drawEleInLayer(y,C,r,e),y.eles.push(C),b[r]=y}return v||(m?null:f)};Je.getEleLevelForLayerLevel=function(t,e){return t};Je.drawEleInLayer=function(t,e,r,a){var n=this,i=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=n.getEleLevelForLayerLevel(r,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,r,jy),i.setImgSmoothing(s,!0))};Je.levelIsComplete=function(t,e){var r=this,a=r.layersByLevel[t];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};Je.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var a=0;a0){e=!0;break}}return e};Je.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Mt(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(a,n,i){e.invalidateLayer(a)}))};Je.invalidateLayer=function(t){if(this.lastInvalidationTime=Mt(),!t.invalid){var e=t.level,r=t.eles,a=this.layersByLevel[e];Xt(a,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=i?e.pstyle("opacity").value:1,f=i?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,c=e.pstyle("line-style").value,v=e.pstyle("width").pfValue,d=e.pstyle("line-cap").value,g=u*f,p=u*f,y=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;h==="straight-triangle"?(s.eleStrokeStyle(t,e,L),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=v,t.lineCap=d,s.eleStrokeStyle(t,e,L),s.drawEdgePath(e,t,o.allpts,c),t.lineCap="butt")},E=function(){n&&s.drawEdgeOverlay(t,e)},m=function(){n&&s.drawEdgeUnderlay(t,e)},T=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;s.drawArrowheads(t,e,L)},C=function(){s.drawElementText(t,e,null,a)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var b=e.pstyle("ghost-offset-x").pfValue,x=e.pstyle("ghost-offset-y").pfValue,w=e.pstyle("ghost-opacity").value,D=g*w;t.translate(b,x),y(D),T(D),t.translate(-b,-x)}m(),y(),T(),E(),C(),r&&t.translate(l.x1,l.y1)}};var yl=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,l=a.pstyle("".concat(e,"-padding")).pfValue,u=2*l,f=a.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,f[0],f[1],f[2],n),i.drawEdgePath(a,r,o.allpts,"solid")}}}};Bt.drawEdgeOverlay=yl("overlay");Bt.drawEdgeUnderlay=yl("underlay");Bt.drawEdgePath=function(t,e,r,a){var n=t._private.rscratch,i=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(l){var h=r.join("$"),c=n.pathCacheKey&&n.pathCacheKey===h;c?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=h,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(u),i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var v=2;v+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var u=e.element()._private.rscratch.badLine,f=e.pstyle("label"),h=e.pstyle("source-label"),c=e.pstyle("target-label");if(u||(!f||!f.value)&&(!h||!h.value)&&(!c||!c.value))return;t.textAlign="center",t.textBaseline="bottom"}var v=!r,d;r&&(d=r,t.translate(-d.x1,-d.y1)),n==null?(s.drawText(t,e,null,v,i),e.isEdge()&&(s.drawText(t,e,"source",v,i),s.drawText(t,e,"target",v,i))):s.drawText(t,e,n,v,i),r&&t.translate(d.x1,d.y1)};hr.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=a+" "+s+" "+n+" "+i,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,f[0],f[1],f[2],l)};function Pn(t,e,r,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+a-i,r),t.quadraticCurveTo(e+a,r,e+a,r+i),t.lineTo(e+a,r+n-i),t.quadraticCurveTo(e+a,r+n,e+a-i,r+n),t.lineTo(e+i,r+n),t.quadraticCurveTo(e,r+n,e,r+n-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),s?t.stroke():t.fill()}hr.getTextAngle=function(t,e){var r,a=t._private,n=a.rscratch,i=e?e+"-":"",s=t.pstyle(i+"text-rotation"),o=xt(n,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?o:0:s.strValue==="none"?r=0:r=s.pfValue,r};hr.drawText=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=xt(s,"labelX",r),u=xt(s,"labelY",r),f,h,c=this.getLabelText(e,r);if(c!=null&&c!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,n);var v=r?r+"-":"",d=xt(s,"labelWidth",r),g=xt(s,"labelHeight",r),p=e.pstyle(v+"text-margin-x").pfValue,y=e.pstyle(v+"text-margin-y").pfValue,E=e.isEdge(),m=e.pstyle("text-halign").value,T=e.pstyle("text-valign").value;E&&(m="center",T="center"),l+=p,u+=y;var C;switch(a?C=this.getTextAngle(e,r):C=0,C!==0&&(f=l,h=u,t.translate(f,h),t.rotate(C),l=0,u=0),T){case"top":break;case"center":u+=g/2;break;case"bottom":u+=g;break}var S=e.pstyle("text-background-opacity").value,b=e.pstyle("text-border-opacity").value,x=e.pstyle("text-border-width").pfValue,w=e.pstyle("text-background-padding").pfValue,D=e.pstyle("text-background-shape").strValue,A=D.indexOf("round")===0,L=2;if(S>0||x>0&&b>0){var I=l-w;switch(m){case"left":I-=d;break;case"center":I-=d/2;break}var O=u-g-w,P=d+2*w,R=g+2*w;if(S>0){var M=t.fillStyle,k=e.pstyle("text-background-color").value;t.fillStyle="rgba("+k[0]+","+k[1]+","+k[2]+","+S*o+")",A?Pn(t,I,O,P,R,L):t.fillRect(I,O,P,R),t.fillStyle=M}if(x>0&&b>0){var B=t.strokeStyle,G=t.lineWidth,F=e.pstyle("text-border-color").value,$=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+b*o+")",t.lineWidth=x,t.setLineDash)switch($){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=x/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(A?Pn(t,I,O,P,R,L,"stroke"):t.strokeRect(I,O,P,R),$==="double"){var U=x/2;A?Pn(t,I+U,O+U,P-U*2,R-U*2,L,"stroke"):t.strokeRect(I+U,O+U,P-U*2,R-U*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=G,t.strokeStyle=B}}var _=2*e.pstyle("text-outline-width").pfValue;if(_>0&&(t.lineWidth=_),e.pstyle("text-wrap").value==="wrap"){var Y=xt(s,"labelWrapCachedLines",r),W=xt(s,"labelLineHeight",r),z=d/2,K=this.getLabelJustification(e);switch(K==="auto"||(m==="left"?K==="left"?l+=-d:K==="center"&&(l+=-z):m==="center"?K==="left"?l+=-z:K==="right"&&(l+=z):m==="right"&&(K==="center"?l+=z:K==="right"&&(l+=d))),T){case"top":u-=(Y.length-1)*W;break;case"center":case"bottom":u-=(Y.length-1)*W;break}for(var j=0;j0&&t.strokeText(Y[j],l,u),t.fillText(Y[j],l,u),u+=W}else _>0&&t.strokeText(c,l,u),t.fillText(c,l,u);C!==0&&(t.rotate(-C),t.translate(-f,-h))}}};var Gr={};Gr.drawNode=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,f=u.rscratch,h=e.position();if(!(!ae(h.x)||!ae(h.y))&&!(i&&!e.visible())){var c=i?e.effectiveOpacity():1,v=s.usePaths(),d,g=!1,p=e.padding();o=e.width()+2*p,l=e.height()+2*p;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var E=e.pstyle("background-image"),m=E.value,T=new Array(m.length),C=new Array(m.length),S=0,b=0;b0&&arguments[0]!==void 0?arguments[0]:I;s.eleFillStyle(t,e,H)},U=function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:R;s.colorStrokeStyle(t,O[0],O[1],O[2],H)},_=function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:G;s.colorStrokeStyle(t,k[0],k[1],k[2],H)},Y=function(H,N,V,J){var X=s.nodePathCache=s.nodePathCache||[],q=co(V==="polygon"?V+","+J.join(","):V,""+N,""+H),he=X[q],Z,oe=!1;return he!=null?(Z=he,oe=!0,f.pathCache=Z):(Z=new Path2D,X[q]=f.pathCache=Z),{path:Z,cacheHit:oe}},W=e.pstyle("shape").strValue,z=e.pstyle("shape-polygon-points").pfValue;if(v){t.translate(h.x,h.y);var K=Y(o,l,W,z);d=K.path,g=K.cacheHit}var j=function(){if(!g){var H=h;v&&(H={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(d||t,H.x,H.y,o,l)}v?t.fill(d):t.fill()},Q=function(){for(var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,V=u.backgrounding,J=0,X=0;X0&&arguments[0]!==void 0?arguments[0]:!1,N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c;s.hasPie(e)&&(s.drawPie(t,e,N),H&&(v||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,l)))},ne=function(){var H=arguments.length>0&&arguments[0]!==void 0?arguments[0]:c,N=(A>0?A:-A)*H,V=A>0?0:255;A!==0&&(s.colorFillStyle(t,V,V,V,N),v?t.fill(d):t.fill())},ce=function(){if(L>0){if(t.lineWidth=L,t.lineCap="butt",t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}if(v?t.stroke(d):t.stroke(),P==="double"){t.lineWidth=L/3;var H=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(d):t.stroke(),t.globalCompositeOperation=H}t.setLineDash&&t.setLineDash([])}},te=function(){if(M>0){if(t.lineWidth=M,t.lineCap="butt",t.setLineDash)switch(B){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var H=h;v&&(H={x:0,y:0});var N=s.getNodeShape(e),V=(o+L+(M+F))/o,J=(l+L+(M+F))/l,X=o*V,q=l*J,he=s.nodeShapes[N].points,Z;if(v){var oe=Y(X,q,N,he);Z=oe.path}if(N==="ellipse")s.drawEllipsePath(Z||t,H.x,H.y,X,q);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(N)){var me=0,Se=0,pe=0;N==="round-diamond"?me=(L+F+M)*1.4:N==="round-heptagon"?(me=(L+F+M)*1.075,pe=-(L/2+F+M)/35):N==="round-hexagon"?me=(L+F+M)*1.12:N==="round-pentagon"?(me=(L+F+M)*1.13,pe=-(L/2+F+M)/15):N==="round-tag"?(me=(L+F+M)*1.12,Se=(L/2+M+F)*.07):N==="round-triangle"&&(me=(L+F+M)*(Math.PI/2),pe=-(L+F/2+M)/Math.PI),me!==0&&(V=(o+me)/o,J=(l+me)/l),s.drawRoundPolygonPath(Z||t,H.x+Se,H.y+pe,o*V,l*J,he)}else if(["roundrectangle","round-rectangle"].includes(N))s.drawRoundRectanglePath(Z||t,H.x,H.y,X,q);else if(["cutrectangle","cut-rectangle"].includes(N))s.drawCutRectanglePath(Z||t,H.x,H.y,X,q);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(N))s.drawBottomRoundRectanglePath(Z||t,H.x,H.y,X,q);else if(N==="barrel")s.drawBarrelPath(Z||t,H.x,H.y,X,q);else if(N.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(N)){var Te=(L+M+F)/o;he=Wa(qa(he,Te)),s.drawPolygonPath(Z||t,H.x,H.y,o,l,he)}else{var ye=(L+M+F)/o;he=Wa(qa(he,-ye)),s.drawPolygonPath(Z||t,H.x,H.y,o,l,he)}if(v?t.stroke(Z):t.stroke(),B==="double"){t.lineWidth=L/3;var be=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(Z):t.stroke(),t.globalCompositeOperation=be}t.setLineDash&&t.setLineDash([])}},re=function(){n&&s.drawNodeOverlay(t,e,h,o,l)},ue=function(){n&&s.drawNodeUnderlay(t,e,h,o,l)},le=function(){s.drawElementText(t,e,null,a)},se=e.pstyle("ghost").value==="yes";if(se){var fe=e.pstyle("ghost-offset-x").pfValue,xe=e.pstyle("ghost-offset-y").pfValue,Ee=e.pstyle("ghost-opacity").value,ge=Ee*c;t.translate(fe,xe),_(),te(),$(Ee*I),j(),Q(ge,!0),U(Ee*R),ce(),ee(A!==0||L!==0),Q(ge,!1),ne(ge),t.translate(-fe,-xe)}v&&t.translate(-h.x,-h.y),ue(),v&&t.translate(h.x,h.y),_(),te(),$(),j(),Q(c,!0),U(),ce(),ee(A!==0||L!==0),Q(c,!1),ne(),v&&t.translate(-h.x,-h.y),le(),re(),r&&t.translate(y.x1,y.y1)}};var ml=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a,n,i,s){var o=this;if(a.visible()){var l=a.pstyle("".concat(e,"-padding")).pfValue,u=a.pstyle("".concat(e,"-opacity")).value,f=a.pstyle("".concat(e,"-color")).value,h=a.pstyle("".concat(e,"-shape")).value;if(u>0){if(n=n||a.position(),i==null||s==null){var c=a.padding();i=a.width()+2*c,s=a.height()+2*c}o.colorFillStyle(r,f[0],f[1],f[2],u),o.nodeShapes[h].draw(r,n.x,n.y,i+l*2,s+l*2),r.fill()}}}};Gr.drawNodeOverlay=ml("overlay");Gr.drawNodeUnderlay=ml("underlay");Gr.hasPie=function(t){return t=t[0],t._private.hasPie};Gr.drawPie=function(t,e,r,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,l=e.width(),u=e.height(),f=Math.min(l,u)/2,h=0,c=this.usePaths();c&&(s=0,o=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2);for(var v=1;v<=n.pieBackgroundN;v++){var d=e.pstyle("pie-"+v+"-background-size").value,g=e.pstyle("pie-"+v+"-background-color").value,p=e.pstyle("pie-"+v+"-background-opacity").value*r,y=d/100;y+h>1&&(y=1-h);var E=1.5*Math.PI+2*Math.PI*h,m=2*Math.PI*y,T=E+m;d===0||h>=1||h+y>1||(t.beginPath(),t.moveTo(s,o),t.arc(s,o,f,E,T),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],p),t.fill(),h+=y)}};var vt={},fm=100;vt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e};vt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,a,n=0;ns.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!h&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var E=l.style(),m=l.zoom(),T=n!==void 0?n:m,C=l.pan(),S={x:C.x,y:C.y},b={zoom:m,pan:{x:C.x,y:C.y}},x=s.prevViewport,w=x===void 0||b.zoom!==x.zoom||b.pan.x!==x.pan.x||b.pan.y!==x.pan.y;!w&&!(g&&!d)&&(s.motionBlurPxRatio=1),i&&(S=i),T*=o,S.x*=o,S.y*=o;var D=s.getCachedZSortedEles();function A(te,re,ue,le,se){var fe=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",s.colorFillStyle(te,255,255,255,s.motionBlurTransparency),te.fillRect(re,ue,le,se),te.globalCompositeOperation=fe}function L(te,re){var ue,le,se,fe;!s.clearingMotionBlur&&(te===u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||te===u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(ue={x:C.x*v,y:C.y*v},le=m*v,se=s.canvasWidth*v,fe=s.canvasHeight*v):(ue=S,le=T,se=s.canvasWidth,fe=s.canvasHeight),te.setTransform(1,0,0,1,0,0),re==="motionBlur"?A(te,0,0,se,fe):!e&&(re===void 0||re)&&te.clearRect(0,0,se,fe),r||(te.translate(ue.x,ue.y),te.scale(le,le)),i&&te.translate(i.x,i.y),n&&te.scale(n,n)}if(h||(s.textureDrawLastFrame=!1),h){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=l.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var I=s.data.bufferContexts[s.TEXTURE_BUFFER];I.setTransform(1,0,0,1,0,0),I.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:I,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var b=s.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:s.canvasWidth,height:s.canvasHeight};b.mpan={x:(0-b.pan.x)/b.zoom,y:(0-b.pan.y)/b.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var O=u.contexts[s.NODE],P=s.textureCache.texture,b=s.textureCache.viewport;O.setTransform(1,0,0,1,0,0),c?A(O,0,0,b.width,b.height):O.clearRect(0,0,b.width,b.height);var R=E.core("outside-texture-bg-color").value,M=E.core("outside-texture-bg-opacity").value;s.colorFillStyle(O,R[0],R[1],R[2],M),O.fillRect(0,0,b.width,b.height);var m=l.zoom();L(O,!1),O.clearRect(b.mpan.x,b.mpan.y,b.width/b.zoom/o,b.height/b.zoom/o),O.drawImage(P,b.mpan.x,b.mpan.y,b.width/b.zoom/o,b.height/b.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var k=l.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),G=s.hideEdgesOnViewport&&B,F=[];if(F[s.NODE]=!f[s.NODE]&&c&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,F[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),F[s.DRAG]=!f[s.DRAG]&&c&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,F[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||a||F[s.NODE]){var $=c&&!F[s.NODE]&&v!==1,O=e||($?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),U=c&&!$?"motionBlur":void 0;L(O,U),G?s.drawCachedNodes(O,D.nondrag,o,k):s.drawLayeredElements(O,D.nondrag,o,k),s.debug&&s.drawDebugPoints(O,D.nondrag),!r&&!c&&(f[s.NODE]=!1)}if(!a&&(f[s.DRAG]||r||F[s.DRAG])){var $=c&&!F[s.DRAG]&&v!==1,O=e||($?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]);L(O,c&&!$?"motionBlur":void 0),G?s.drawCachedNodes(O,D.drag,o,k):s.drawCachedElements(O,D.drag,o,k),s.debug&&s.drawDebugPoints(O,D.drag),!r&&!c&&(f[s.DRAG]=!1)}if(s.showFps||!a&&f[s.SELECT_BOX]&&!r){var O=e||u.contexts[s.SELECT_BOX];if(L(O),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var m=s.cy.zoom(),_=E.core("selection-box-border-width").value/m;O.lineWidth=_,O.fillStyle="rgba("+E.core("selection-box-color").value[0]+","+E.core("selection-box-color").value[1]+","+E.core("selection-box-color").value[2]+","+E.core("selection-box-opacity").value+")",O.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),_>0&&(O.strokeStyle="rgba("+E.core("selection-box-border-color").value[0]+","+E.core("selection-box-border-color").value[1]+","+E.core("selection-box-border-color").value[2]+","+E.core("selection-box-opacity").value+")",O.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){var m=s.cy.zoom(),Y=u.bgActivePosistion;O.fillStyle="rgba("+E.core("active-bg-color").value[0]+","+E.core("active-bg-color").value[1]+","+E.core("active-bg-color").value[2]+","+E.core("active-bg-opacity").value+")",O.beginPath(),O.arc(Y.x,Y.y,E.core("active-bg-size").pfValue/m,0,2*Math.PI),O.fill()}var W=s.lastRedrawTime;if(s.showFps&&W){W=Math.round(W);var z=Math.round(1e3/W);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+W+" ms = "+z+" fps",0,20);var K=60;O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(z/K,1),20)}r||(f[s.SELECT_BOX]=!1)}if(c&&v!==1){var j=u.contexts[s.NODE],Q=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],ee=u.contexts[s.DRAG],ne=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],ce=function(re,ue,le){re.setTransform(1,0,0,1,0,0),le||!y?re.clearRect(0,0,s.canvasWidth,s.canvasHeight):A(re,0,0,s.canvasWidth,s.canvasHeight);var se=v;re.drawImage(ue,0,0,s.canvasWidth*se,s.canvasHeight*se,0,0,s.canvasWidth,s.canvasHeight)};(f[s.NODE]||F[s.NODE])&&(ce(j,Q,F[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||F[s.DRAG])&&(ce(ee,ne,F[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=b,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),c&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!h,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},fm)),e||l.emit("render")};var Qt={};Qt.drawPolygonPath=function(t,e,r,a,n,i){var s=a/2,o=n/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*i[0],r+o*i[1]);for(var l=1;l0&&s>0){v.clearRect(0,0,i,s),v.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)v.translate(-a.x1*u,-a.y1*u),v.scale(u,u),this.drawElements(v,d),v.scale(1/u,1/u),v.translate(a.x1*u,a.y1*u);else{var g=e.pan(),p={x:g.x*u,y:g.y*u};u*=e.zoom(),v.translate(p.x,p.y),v.scale(u,u),this.drawElements(v,d),v.scale(1/u,1/u),v.translate(-p.x,-p.y)}t.bg&&(v.globalCompositeOperation="destination-over",v.fillStyle=t.bg,v.rect(0,0,i,s),v.fill())}return c};function hm(t,e){for(var r=atob(t),a=new ArrayBuffer(r.length),n=new Uint8Array(a),i=0;i"u"?"undefined":Ue(OffscreenCanvas))!=="undefined"?r=new OffscreenCanvas(t,e):(r=document.createElement("canvas"),r.width=t,r.height=e),r};[pl,Nt,Bt,wi,hr,Gr,vt,Qt,ba,wl].forEach(function(t){de(Le,t)});var dm=[{name:"null",impl:sl},{name:"base",impl:cl},{name:"canvas",impl:vm}],gm=[{type:"layout",extensions:Ty},{type:"renderer",extensions:dm}],Tl={},Cl={};function Dl(t,e,r){var a=r,n=function(x){Ne("Can not register `"+e+"` for `"+t+"` since `"+x+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(oa.prototype[e])return n(e);oa.prototype[e]=r}else if(t==="collection"){if(Ze.prototype[e])return n(e);Ze.prototype[e]=r}else if(t==="layout"){for(var i=function(x){this.options=x,r.call(this,x),De(this._private)||(this._private={}),this._private.cy=x.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(r.prototype),o=[],l=0;ld&&(this.rect.x-=(this.labelWidth-d)/2,this.setWidth(this.labelWidth)),this.labelHeight>g&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-g)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-g),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(v){var d=this.rect.x;d>l.WORLD_BOUNDARY?d=l.WORLD_BOUNDARY:d<-l.WORLD_BOUNDARY&&(d=-l.WORLD_BOUNDARY);var g=this.rect.y;g>l.WORLD_BOUNDARY?g=l.WORLD_BOUNDARY:g<-l.WORLD_BOUNDARY&&(g=-l.WORLD_BOUNDARY);var p=new f(d,g),y=v.inverseTransformPoint(p);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()},r.exports=h},function(r,a,n){function i(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(s){this.x=s},i.prototype.setY=function(s){this.y=s},i.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=i},function(r,a,n){var i=n(2),s=n(10),o=n(0),l=n(6),u=n(3),f=n(1),h=n(13),c=n(12),v=n(11);function d(p,y,E){i.call(this,E),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=p,y!=null&&y instanceof l?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}d.prototype=Object.create(i.prototype);for(var g in i)d[g]=i[g];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(p,y,E){if(y==null&&E==null){var m=p;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(m)>-1)throw"Node already in graph!";return m.owner=this,this.getNodes().push(m),m}else{var T=p;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(E)>-1))throw"Source or target not in graph!";if(!(y.owner==E.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=E.owner?null:(T.source=y,T.target=E,T.isInterGraph=!1,this.getEdges().push(T),y.edges.push(T),E!=y&&E.edges.push(T),T)}},d.prototype.remove=function(p){var y=p;if(p instanceof u){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 E=y.edges.slice(),m,T=E.length,C=0;C-1&&x>-1))throw"Source and/or target doesn't know this edge!";m.source.edges.splice(b,1),m.target!=m.source&&m.target.edges.splice(x,1);var S=m.source.owner.getEdges().indexOf(m);if(S==-1)throw"Not in owner's edge list!";m.source.owner.getEdges().splice(S,1)}},d.prototype.updateLeftTop=function(){for(var p=s.MAX_VALUE,y=s.MAX_VALUE,E,m,T,C=this.getNodes(),S=C.length,b=0;bE&&(p=E),y>m&&(y=m)}return p==s.MAX_VALUE?null:(C[0].getParent().paddingLeft!=null?T=C[0].getParent().paddingLeft:T=this.margin,this.left=y-T,this.top=p-T,new c(this.left,this.top))},d.prototype.updateBounds=function(p){for(var y=s.MAX_VALUE,E=-s.MAX_VALUE,m=s.MAX_VALUE,T=-s.MAX_VALUE,C,S,b,x,w,D=this.nodes,A=D.length,L=0;LC&&(y=C),Eb&&(m=b),TC&&(y=C),Eb&&(m=b),T=this.nodes.length){var A=0;E.forEach(function(L){L.owner==p&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},r.exports=d},function(r,a,n){var i,s=n(1);function o(l){i=n(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),f=this.add(l,u);return this.setRootGraph(f),this.rootGraph},o.prototype.add=function(l,u,f,h,c){if(f==null&&h==null&&c==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{c=f,h=u,f=l;var v=h.getOwner(),d=c.getOwner();if(!(v!=null&&v.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(d!=null&&d.getGraphManager()==this))throw"Target not in this graph mgr!";if(v==d)return f.isInterGraph=!1,v.add(f,h,c);if(f.isInterGraph=!0,f.source=h,f.target=c,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},o.prototype.remove=function(l){if(l instanceof i){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(u.getEdges());for(var h,c=f.length,v=0;v=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var c=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(c=1);var v=c*u[0],d=u[1]/c;u[0]v)return u[0]=f,u[1]=g,u[2]=c,u[3]=D,!1;if(hc)return u[0]=d,u[1]=h,u[2]=x,u[3]=v,!1;if(fc?(u[0]=y,u[1]=E,O=!0):(u[0]=p,u[1]=g,O=!0):R===k&&(f>c?(u[0]=d,u[1]=g,O=!0):(u[0]=m,u[1]=E,O=!0)),-M===k?c>f?(u[2]=w,u[3]=D,P=!0):(u[2]=x,u[3]=b,P=!0):M===k&&(c>f?(u[2]=S,u[3]=b,P=!0):(u[2]=A,u[3]=D,P=!0)),O&&P)return!1;if(f>c?h>v?(B=this.getCardinalDirection(R,k,4),G=this.getCardinalDirection(M,k,2)):(B=this.getCardinalDirection(-R,k,3),G=this.getCardinalDirection(-M,k,1)):h>v?(B=this.getCardinalDirection(-R,k,1),G=this.getCardinalDirection(-M,k,3)):(B=this.getCardinalDirection(R,k,2),G=this.getCardinalDirection(M,k,4)),!O)switch(B){case 1:$=g,F=f+-C/k,u[0]=F,u[1]=$;break;case 2:F=m,$=h+T*k,u[0]=F,u[1]=$;break;case 3:$=E,F=f+C/k,u[0]=F,u[1]=$;break;case 4:F=y,$=h+-T*k,u[0]=F,u[1]=$;break}if(!P)switch(G){case 1:_=b,U=c+-I/k,u[2]=U,u[3]=_;break;case 2:U=A,_=v+L*k,u[2]=U,u[3]=_;break;case 3:_=D,U=c+I/k,u[2]=U,u[3]=_;break;case 4:U=w,_=v+-L*k,u[2]=U,u[3]=_;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,f){if(f==null)return this.getIntersection2(o,l,u);var h=o.x,c=o.y,v=l.x,d=l.y,g=u.x,p=u.y,y=f.x,E=f.y,m=void 0,T=void 0,C=void 0,S=void 0,b=void 0,x=void 0,w=void 0,D=void 0,A=void 0;return C=d-c,b=h-v,w=v*c-h*d,S=E-p,x=g-y,D=y*p-g*E,A=C*x-S*b,A===0?null:(m=(b*D-x*w)/A,T=(S*w-C*D)/A,new i(m,T))},s.angleOfVector=function(o,l,u,f){var h=void 0;return o!==u?(h=Math.atan((f-l)/(u-o)),u0?1:s<0?-1:0},i.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},i.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=i},function(r,a,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,r.exports=i},function(r,a,n){var i=function(){function h(c,v){for(var d=0;d"u"?"undefined":i(o);return o==null||l!="object"&&l!="function"},r.exports=s},function(r,a,n){function i(g){if(Array.isArray(g)){for(var p=0,y=Array(g.length);p0&&p;){for(C.push(b[0]);C.length>0&&p;){var x=C[0];C.splice(0,1),T.add(x);for(var w=x.getEdges(),m=0;m-1&&b.splice(I,1)}T=new Set,S=new Map}}return g},d.prototype.createDummyNodesForBendpoints=function(g){for(var p=[],y=g.source,E=this.graphManager.calcLowestCommonAncestor(g.source,g.target),m=0;m0){for(var E=this.edgeToDummyNodes.get(y),m=0;m=0&&p.splice(D,1);var A=S.getNeighborsList();A.forEach(function(O){if(y.indexOf(O)<0){var P=E.get(O),R=P-1;R==1&&x.push(O),E.set(O,R)}})}y=y.concat(x),(p.length==1||p.length==2)&&(m=!0,T=p[0])}return T},d.prototype.setGraphManager=function(g){this.graphManager=g},r.exports=d},function(r,a,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},r.exports=i},function(r,a,n){var i=n(4);function s(o,l){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new i(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s},function(r,a,n){function i(v){if(Array.isArray(v)){for(var d=0,g=Array(v.length);do.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(v-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(v>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(v-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.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 v=this.getAllEdges(),d,g=0;g0&&arguments[0]!==void 0?arguments[0]:!0,d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g,p,y,E,m=this.getAllNodes(),T;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&v&&this.updateGrid(),T=new Set,g=0;gC||T>C)&&(v.gravitationForceX=-this.gravityConstant*y,v.gravitationForceY=-this.gravityConstant*E)):(C=d.getEstimatedSize()*this.compoundGravityRangeFactor,(m>C||T>C)&&(v.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,v.gravitationForceY=-this.gravityConstant*E*this.compoundGravityConstant))},h.prototype.isConverged=function(){var v,d=!1;return this.totalIterations>this.maxIterations/3&&(d=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),v=this.totalDisplacement=m.length||C>=m[0].length)){for(var S=0;Sh}}]),u}();r.exports=l},function(r,a,n){var i=function(){function l(u,f){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,v=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=f,this.match_score=h,this.mismatch_penalty=c,this.gap_penalty=v,this.iMax=u.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var d=0;d=0;u--){var f=this.listeners[u];f.event===o&&f.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;uf.coolingFactor*f.maxNodeDisplacement&&(this.displacementX=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>f.coolingFactor*f.maxNodeDisplacement&&(this.displacementY=f.coolingFactor*f.maxNodeDisplacement*o.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),f.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},l.prototype.propogateDisplacementToChildren=function(f,h){for(var c=this.getChild().getNodes(),v,d=0;d0)this.positionNodesRadially(b);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var x=new Set(this.getAllNodes()),w=this.nodesWithGravity.filter(function(D){return x.has(D)});this.graphManager.setAllNodesToApplyGravitation(w),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},C.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%c.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 b=new Set(this.getAllNodes()),x=this.nodesWithGravity.filter(function(A){return b.has(A)});this.graphManager.setAllNodesToApplyGravitation(x),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=c.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=c.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var w=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(w,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},C.prototype.getPositionsData=function(){for(var b=this.graphManager.getAllNodes(),x={},w=0;w1){var O;for(O=0;OD&&(D=Math.floor(I.y)),L=Math.floor(I.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new g(v.WORLD_CENTER_X-I.x/2,v.WORLD_CENTER_Y-I.y/2))},C.radialLayout=function(b,x,w){var D=Math.max(this.maxDiagonalInTree(b),h.DEFAULT_RADIAL_SEPARATION);C.branchRadialLayout(x,null,0,359,0,D);var A=m.calculateBounds(b),L=new T;L.setDeviceOrgX(A.getMinX()),L.setDeviceOrgY(A.getMinY()),L.setWorldOrgX(w.x),L.setWorldOrgY(w.y);for(var I=0;I1;){var _=U[0];U.splice(0,1);var Y=k.indexOf(_);Y>=0&&k.splice(Y,1),F--,B--}x!=null?$=(k.indexOf(U[0])+1)%F:$=0;for(var W=Math.abs(D-w)/B,z=$;G!=B;z=++z%F){var K=k[z].getOtherEnd(b);if(K!=x){var j=(w+G*W)%360,Q=(j+W)%360;C.branchRadialLayout(K,b,j,Q,A+L,L),G++}}},C.maxDiagonalInTree=function(b){for(var x=y.MIN_VALUE,w=0;wx&&(x=A)}return x},C.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},C.prototype.groupZeroDegreeMembers=function(){var b=this,x={};this.memberGroups={},this.idToDummyNode={};for(var w=[],D=this.graphManager.getAllNodes(),A=0;A"u"&&(x[O]=[]),x[O]=x[O].concat(L)}Object.keys(x).forEach(function(P){if(x[P].length>1){var R="DummyCompound_"+P;b.memberGroups[R]=x[P];var M=x[P][0].getParent(),k=new u(b.graphManager);k.id=R,k.paddingLeft=M.paddingLeft||0,k.paddingRight=M.paddingRight||0,k.paddingBottom=M.paddingBottom||0,k.paddingTop=M.paddingTop||0,b.idToDummyNode[R]=k;var B=b.getGraphManager().add(b.newGraph(),k),G=M.getChild();G.add(k);for(var F=0;F=0;b--){var x=this.compoundOrder[b],w=x.id,D=x.paddingLeft,A=x.paddingTop;this.adjustLocations(this.tiledMemberPack[w],x.rect.x,x.rect.y,D,A)}},C.prototype.repopulateZeroDegreeMembers=function(){var b=this,x=this.tiledZeroDegreePack;Object.keys(x).forEach(function(w){var D=b.idToDummyNode[w],A=D.paddingLeft,L=D.paddingTop;b.adjustLocations(x[w],D.rect.x,D.rect.y,A,L)})},C.prototype.getToBeTiled=function(b){var x=b.id;if(this.toBeTiled[x]!=null)return this.toBeTiled[x];var w=b.getChild();if(w==null)return this.toBeTiled[x]=!1,!1;for(var D=w.getNodes(),A=0;A0)return this.toBeTiled[x]=!1,!1;if(L.getChild()==null){this.toBeTiled[L.id]=!1;continue}if(!this.getToBeTiled(L))return this.toBeTiled[x]=!1,!1}return this.toBeTiled[x]=!0,!0},C.prototype.getNodeDegree=function(b){b.id;for(var x=b.getEdges(),w=0,D=0;DP&&(P=M.rect.height)}w+=P+b.verticalPadding}},C.prototype.tileCompoundMembers=function(b,x){var w=this;this.tiledMemberPack=[],Object.keys(b).forEach(function(D){var A=x[D];w.tiledMemberPack[D]=w.tileNodes(b[D],A.paddingLeft+A.paddingRight),A.rect.width=w.tiledMemberPack[D].width,A.rect.height=w.tiledMemberPack[D].height})},C.prototype.tileNodes=function(b,x){var w=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:x,verticalPadding:w,horizontalPadding:D};b.sort(function(O,P){return O.rect.width*O.rect.height>P.rect.width*P.rect.height?-1:O.rect.width*O.rect.height0&&(I+=b.horizontalPadding),b.rowWidth[w]=I,b.width0&&(O+=b.verticalPadding);var P=0;O>b.rowHeight[w]&&(P=b.rowHeight[w],b.rowHeight[w]=O,P=b.rowHeight[w]-P),b.height+=P,b.rows[w].push(x)},C.prototype.getShortestRowIndex=function(b){for(var x=-1,w=Number.MAX_VALUE,D=0;Dw&&(x=D,w=b.rowWidth[D]);return x},C.prototype.canAddHorizontal=function(b,x,w){var D=this.getShortestRowIndex(b);if(D<0)return!0;var A=b.rowWidth[D];if(A+b.horizontalPadding+x<=b.width)return!0;var L=0;b.rowHeight[D]0&&(L=w+b.verticalPadding-b.rowHeight[D]);var I;b.width-A>=x+b.horizontalPadding?I=(b.height+L)/(A+x+b.horizontalPadding):I=(b.height+L)/b.width,L=w+b.verticalPadding;var O;return b.widthL&&x!=w){D.splice(-1,1),b.rows[w].push(A),b.rowWidth[x]=b.rowWidth[x]-L,b.rowWidth[w]=b.rowWidth[w]+L,b.width=b.rowWidth[instance.getLongestRowIndex(b)];for(var I=Number.MIN_VALUE,O=0;OI&&(I=D[O].height);x>0&&(I+=b.verticalPadding);var P=b.rowHeight[x]+b.rowHeight[w];b.rowHeight[x]=I,b.rowHeight[w]0)for(var G=A;G<=L;G++)B[0]+=this.grid[G][I-1].length+this.grid[G][I].length-1;if(L0)for(var G=I;G<=O;G++)B[3]+=this.grid[A-1][G].length+this.grid[A][G].length-1;for(var F=y.MAX_VALUE,$,U,_=0;_0){var O;O=T.getGraphManager().add(T.newGraph(),w),this.processChildrenList(O,x,T)}}},g.prototype.stop=function(){return this.stopped=!0,this};var y=function(m){m("layout","cose-bilkent",g)};typeof cytoscape<"u"&&y(cytoscape),a.exports=y}])})})(Ol);var xm=Ol.exports;const Tm=Ys(xm);var Zn=function(){var t=function(T,C,S,b){for(S=S||{},b=T.length;b--;S[T[b]]=C);return S},e=[1,4],r=[1,13],a=[1,12],n=[1,15],i=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],f=[1,24],h=[1,25],c=[6,7,11],v=[1,6,13,15,16,19,22],d=[1,33],g=[1,34],p=[1,6,7,11,13,15,16,19,22],y={trace:function(){},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:function(C,S,b,x,w,D,A){var L=D.length-1;switch(w){case 6:case 7:return x;case 8:x.getLogger().trace("Stop NL ");break;case 9:x.getLogger().trace("Stop EOF ");break;case 11:x.getLogger().trace("Stop NL2 ");break;case 12:x.getLogger().trace("Stop EOF2 ");break;case 15:x.getLogger().info("Node: ",D[L].id),x.addNode(D[L-1].length,D[L].id,D[L].descr,D[L].type);break;case 16:x.getLogger().trace("Icon: ",D[L]),x.decorateNode({icon:D[L]});break;case 17:case 21:x.decorateNode({class:D[L]});break;case 18:x.getLogger().trace("SPACELIST");break;case 19:x.getLogger().trace("Node: ",D[L].id),x.addNode(0,D[L].id,D[L].descr,D[L].type);break;case 20:x.decorateNode({icon:D[L]});break;case 25:x.getLogger().trace("node found ..",D[L-2]),this.$={id:D[L-1],descr:D[L-1],type:x.getType(D[L-2],D[L])};break;case 26:this.$={id:D[L],descr:D[L],type:x.nodeType.DEFAULT};break;case 27:x.getLogger().trace("node found ..",D[L-3]),this.$={id:D[L-3],descr:D[L-1],type:x.getType(D[L-2],D[L])};break}},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:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:u,7:f,10:23,11:h},t(c,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(c,[2,18]),t(c,[2,19]),t(c,[2,20]),t(c,[2,21]),t(c,[2,23]),t(c,[2,24]),t(c,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:f,10:32,11:h},{1:[2,7],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(v,[2,14],{7:d,11:g}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(c,[2,15]),t(c,[2,16]),t(c,[2,17]),{20:[1,35]},{21:[1,36]},t(v,[2,13],{7:d,11:g}),t(p,[2,11]),t(p,[2,12]),{21:[1,37]},t(c,[2,25]),t(c,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var b=new Error(C);throw b.hash=S,b}},parse:function(C){var S=this,b=[0],x=[],w=[null],D=[],A=this.table,L="",I=0,O=0,P=2,R=1,M=D.slice.call(arguments,1),k=Object.create(this.lexer),B={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(B.yy[G]=this.yy[G]);k.setInput(C,B.yy),B.yy.lexer=k,B.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var F=k.yylloc;D.push(F);var $=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var te;return te=x.pop()||k.lex()||R,typeof te!="number"&&(te instanceof Array&&(x=te,te=x.pop()),te=S.symbols_[te]||te),te}for(var _,Y,W,z,K={},j,Q,ee,ne;;){if(Y=b[b.length-1],this.defaultActions[Y]?W=this.defaultActions[Y]:((_===null||typeof _>"u")&&(_=U()),W=A[Y]&&A[Y][_]),typeof W>"u"||!W.length||!W[0]){var ce="";ne=[];for(j in A[Y])this.terminals_[j]&&j>P&&ne.push("'"+this.terminals_[j]+"'");k.showPosition?ce="Parse error on line "+(I+1)+`: +`+k.showPosition()+` +Expecting `+ne.join(", ")+", got '"+(this.terminals_[_]||_)+"'":ce="Parse error on line "+(I+1)+": Unexpected "+(_==R?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(ce,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:F,expected:ne})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+_);switch(W[0]){case 1:b.push(_),w.push(k.yytext),D.push(k.yylloc),b.push(W[1]),_=null,O=k.yyleng,L=k.yytext,I=k.yylineno,F=k.yylloc;break;case 2:if(Q=this.productions_[W[1]][1],K.$=w[w.length-Q],K._$={first_line:D[D.length-(Q||1)].first_line,last_line:D[D.length-1].last_line,first_column:D[D.length-(Q||1)].first_column,last_column:D[D.length-1].last_column},$&&(K._$.range=[D[D.length-(Q||1)].range[0],D[D.length-1].range[1]]),z=this.performAction.apply(K,[L,O,I,B.yy,W[1],w,D].concat(M)),typeof z<"u")return z;Q&&(b=b.slice(0,-1*Q*2),w=w.slice(0,-1*Q),D=D.slice(0,-1*Q)),b.push(this.productions_[W[1]][0]),w.push(K.$),D.push(K._$),ee=A[b[b.length-2]][b[b.length-1]],b.push(ee);break;case 3:return!0}}return!0}},E=function(){var T={EOF:1,parseError:function(S,b){if(this.yy.parser)this.yy.parser.parseError(S,b);else throw new Error(S)},setInput:function(C,S){return this.yy=S||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},input:function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var S=C.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},unput:function(C){var S=C.length,b=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var x=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),b.length-1&&(this.yylineno-=b.length-1);var w=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:b?(b.length===x.length?this.yylloc.first_column:0)+x[x.length-b.length].length-b[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(C){this.unput(this.match.slice(C))},pastInput:function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var C=this.pastInput(),S=new Array(C.length+1).join("-");return C+this.upcomingInput()+` +`+S+"^"},test_match:function(C,S){var b,x,w;if(this.options.backtrack_lexer&&(w={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&&(w.yylloc.range=this.yylloc.range.slice(0))),x=C[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.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],b=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var D in w)this[D]=w[D];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,S,b,x;this._more||(this.yytext="",this.match="");for(var w=this._currentRules(),D=0;DS[0].length)){if(S=b,x=D,this.options.backtrack_lexer){if(C=this.test_match(b,w[D]),C!==!1)return C;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(C=this.test_match(S,w[x]),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})},lex:function(){var S=this.next();return S||this.lex()},begin:function(S){this.conditionStack.push(S)},popState:function(){var S=this.conditionStack.length-1;return S>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},pushState:function(S){this.begin(S)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(S,b,x,w){switch(x){case 0:return S.getLogger().trace("Found comment",b.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:S.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return S.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:S.getLogger().trace("end icon"),this.popState();break;case 10:return S.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return S.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return S.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return S.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;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:S.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return S.getLogger().trace("description:",b.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),S.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),S.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),S.getLogger().trace("node end ...",b.yytext),"NODE_DEND";case 30:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";case 35:return S.getLogger().trace("Long description:",b.yytext),20;case 36:return S.getLogger().trace("Long description:",b.yytext),20}},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 T}();y.lexer=E;function m(){this.yy={}}return m.prototype=y,y.Parser=m,new m}();Zn.parser=Zn;const Cm=Zn;let Ct=[],Nl=0,xi={};const Dm=()=>{Ct=[],Nl=0,xi={}},Sm=function(t){for(let e=Ct.length-1;e>=0;e--)if(Ct[e].levelCt.length>0?Ct[0]:null,Am=(t,e,r,a)=>{var n,i;ur.info("addNode",t,e,r,a);const s=Qn();let o=((n=s.mindmap)==null?void 0:n.padding)??_a.mindmap.padding;switch(a){case Ve.ROUNDED_RECT:case Ve.RECT:case Ve.HEXAGON:o*=2}const l={id:Nl++,nodeId:Ua(e,s),level:t,descr:Ua(r,s),type:a,children:[],width:((i=s.mindmap)==null?void 0:i.maxNodeWidth)??_a.mindmap.maxNodeWidth,padding:o},u=Sm(t);if(u)u.children.push(l),Ct.push(l);else if(Ct.length===0)Ct.push(l);else throw new Error('There can be only one root. No parent could be found for ("'+l.descr+'")')},Ve={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Om=(t,e)=>{switch(ur.debug("In get type",t,e),t){case"[":return Ve.RECT;case"(":return e===")"?Ve.ROUNDED_RECT:Ve.CLOUD;case"((":return Ve.CIRCLE;case")":return Ve.CLOUD;case"))":return Ve.BANG;case"{{":return Ve.HEXAGON;default:return Ve.DEFAULT}},Nm=(t,e)=>{xi[t]=e},Im=t=>{if(!t)return;const e=Qn(),r=Ct[Ct.length-1];t.icon&&(r.icon=Ua(t.icon,e)),t.class&&(r.class=Ua(t.class,e))},Mm=t=>{switch(t){case Ve.DEFAULT:return"no-border";case Ve.RECT:return"rect";case Ve.ROUNDED_RECT:return"rounded-rect";case Ve.CIRCLE:return"circle";case Ve.CLOUD:return"cloud";case Ve.BANG:return"bang";case Ve.HEXAGON:return"hexgon";default:return"no-border"}},Rm=()=>ur,km=t=>xi[t],Pm={clear:Dm,addNode:Am,getMindmap:Lm,nodeType:Ve,getType:Om,setElementForId:Nm,decorateNode:Im,type2Str:Mm,getLogger:Rm,getElementById:km},Bm=Pm,Fm=12,Gm=function(t,e,r,a){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-"+a).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},zm=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)},$m=function(t,e,r){const a=r.width,n=r.height,i=.15*a,s=.25*a,o=.35*a,l=.2*a;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${i},${i} 0 0,1 ${a*.25},${-1*a*.1} + a${o},${o} 1 0,1 ${a*.4},${-1*a*.1} + a${s},${s} 1 0,1 ${a*.35},${1*a*.2} + + a${i},${i} 1 0,1 ${a*.15},${1*n*.35} + a${l},${l} 1 0,1 ${-1*a*.15},${1*n*.65} + + a${s},${i} 1 0,1 ${-1*a*.25},${a*.15} + a${o},${o} 1 0,1 ${-1*a*.5},0 + a${i},${i} 1 0,1 ${-1*a*.25},${-1*a*.15} + + a${i},${i} 1 0,1 ${-1*a*.1},${-1*n*.35} + a${l},${l} 1 0,1 ${a*.1},${-1*n*.65} + + H0 V0 Z`)},Vm=function(t,e,r){const a=r.width,n=r.height,i=.15*a;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${i},${i} 1 0,0 ${a*.25},${-1*n*.1} + a${i},${i} 1 0,0 ${a*.25},0 + a${i},${i} 1 0,0 ${a*.25},0 + a${i},${i} 1 0,0 ${a*.25},${1*n*.1} + + a${i},${i} 1 0,0 ${a*.15},${1*n*.33} + a${i*.8},${i*.8} 1 0,0 0,${1*n*.34} + a${i},${i} 1 0,0 ${-1*a*.15},${1*n*.33} + + a${i},${i} 1 0,0 ${-1*a*.25},${n*.15} + a${i},${i} 1 0,0 ${-1*a*.25},0 + a${i},${i} 1 0,0 ${-1*a*.25},0 + a${i},${i} 1 0,0 ${-1*a*.25},${-1*n*.15} + + a${i},${i} 1 0,0 ${-1*a*.1},${-1*n*.33} + a${i*.8},${i*.8} 1 0,0 0,${-1*n*.34} + a${i},${i} 1 0,0 ${a*.1},${-1*n*.33} + + H0 V0 Z`)},_m=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)};function Um(t,e,r,a,n){return t.insert("polygon",":first-child").attr("points",a.map(function(i){return i.x+","+i.y}).join(" ")).attr("transform","translate("+(n.width-e)/2+", "+r+")")}const Hm=function(t,e,r){const a=r.height,i=a/4,s=r.width-r.padding+2*i,o=[{x:i,y:0},{x:s-i,y:0},{x:s,y:-a/2},{x:s-i,y:-a},{x:i,y:-a},{x:0,y:-a/2}];Um(e,s,a,o,r)},Ym=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)},Xm=function(t,e,r,a,n){const i=n.htmlLabels,s=a%(Fm-1),o=e.append("g");r.section=s;let l="section-"+s;s<0&&(l+=" section-root"),o.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+l);const u=o.append("g"),f=o.append("g"),h=r.descr.replace(/()/g,` +`);Kl(f,h,{useHtmlLabels:i,width:r.width,classes:"mindmap-node-label"}),i||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const c=f.node().getBBox(),[v]=ql(n.fontSize);if(r.height=c.height+v*1.1*.5+r.padding,r.width=c.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,o.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;const d=r.height;r.height=Math.max(d,60);const g=Math.abs(r.height-d);o.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+g/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)+", "+(g/2+r.padding/2)+")")}else if(i){const d=(r.width-c.width)/2,g=(r.height-c.height)/2;f.attr("transform","translate("+d+", "+g+")")}else{const d=r.width/2,g=r.padding/2;f.attr("transform","translate("+d+", "+g+")")}switch(r.type){case t.nodeType.DEFAULT:Gm(t,u,r,s);break;case t.nodeType.ROUNDED_RECT:Ym(t,u,r);break;case t.nodeType.RECT:zm(t,u,r);break;case t.nodeType.CIRCLE:u.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),_m(t,u,r);break;case t.nodeType.CLOUD:$m(t,u,r);break;case t.nodeType.BANG:Vm(t,u,r);break;case t.nodeType.HEXAGON:Hm(t,u,r);break}return t.setElementForId(r.id,o),r.height},Wm=function(t,e){const r=t.getElementById(e.id),a=e.x||0,n=e.y||0;r.attr("transform","translate("+a+","+n+")")};Al.use(Tm);function Il(t,e,r,a,n){Xm(t,e,r,a,n),r.children&&r.children.forEach((i,s)=>{Il(t,e,i,a<0?s:a,n)})}function qm(t,e){e.edges().map((r,a)=>{const n=r.data();if(r[0]._private.bodyBounds){const i=r[0]._private.rscratch;ur.trace("Edge: ",a,n),t.insert("path").attr("d",`M ${i.startX},${i.startY} L ${i.midX},${i.midY} L${i.endX},${i.endY} `).attr("class","edge section-edge-"+n.section+" edge-depth-"+n.depth)}})}function Ml(t,e,r,a){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:a,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(n=>{Ml(n,e,r,a+1),e.add({group:"edges",data:{id:`${t.id}_${n.id}`,source:t.id,target:n.id,depth:a,section:n.section}})})}function Km(t,e){return new Promise(r=>{const a=Hl("body").append("div").attr("id","cy").attr("style","display:none"),n=Al({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});a.remove(),Ml(t,n,e,0),n.nodes().forEach(function(i){i.layoutDimensions=()=>{const s=i.data();return{w:s.width,h:s.height}}}),n.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),n.ready(i=>{ur.info("Ready",i),r(n)})})}function Zm(t,e){e.nodes().map((r,a)=>{const n=r.data();n.x=r.position().x,n.y=r.position().y,Wm(t,n);const i=t.getElementById(n.nodeId);ur.info("Id:",a,"Position: (",r.position().x,", ",r.position().y,")",n),i.attr("transform",`translate(${r.position().x-n.width/2}, ${r.position().y-n.height/2})`),i.attr("attr",`apa-${a})`)})}const Qm=async(t,e,r,a)=>{var n,i;ur.debug(`Rendering mindmap diagram +`+t);const s=a.db,o=s.getMindmap();if(!o)return;const l=Qn();l.htmlLabels=!1;const u=_l(e),f=u.append("g");f.attr("class","mindmap-edges");const h=u.append("g");h.attr("class","mindmap-nodes"),Il(s,h,o,-1,l);const c=await Km(o,l);qm(f,c),Zm(s,c),Ul(void 0,u,((n=l.mindmap)==null?void 0:n.padding)??_a.mindmap.padding,((i=l.mindmap)==null?void 0:i.useMaxWidth)??_a.mindmap.useMaxWidth)},Jm={draw:Qm},jm=t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${jm(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; + } +`,t0=e0,i0={db:Bm,renderer:Jm,parser:Cm,styles:t0};export{i0 as diagram}; diff --git a/assets/mobile.html-PM2tJI1o.js b/assets/mobile.html-PM2tJI1o.js new file mode 100644 index 0000000000..10966da37c --- /dev/null +++ b/assets/mobile.html-PM2tJI1o.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as s,c,a as t,b as e,d as a,w as n,e as o}from"./app-pLjDz5vt.js";const d="/assets/image-iOS登陆-DWYgn2dW.jpg",p="/assets/image-iOS首页-BNx49nYs.png",g="/assets/image-iOS同步登陆-Ca-3HOAP.png",h="/assets/image-iOS文献同步成功-BhDTBCW-.png",m="/assets/image-iOS文献阅读-DYNyx8F9.png",u="/assets/image-zoo添加zotero密钥-BXKCICsM.png",f="/assets/image-zoo加载数据-ClLJ0wzm.png",b="/assets/image-zoo-webdav设置-DTK-wpCI.png",_="/assets/image-zoo-download-pdf-DUkQD3U2.png",Z={},D=o('

    移动端

    iOS

    官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。

    安装

    ',4),y=o('

    配置

    提示

    在进行该部分操作时,请确保您拥有 Zotero账户具有WebDAV同步功能的网盘完成PC端相关设置

    1. 在第一次打开 Zotero 时,会提醒登陆,选择 Sign In(此时需要登陆你的 Zotero 账户)

      登陆Zotero账户
      登陆Zotero账户
    2. 登陆完成后,返回 app 主页,点击右上角的齿轮图标

      app首页
      app首页
    3. 点击 account 进入同步设置

    4. 从上到下依次为:

      • 附件同步方式:WebDAV
      • WebDAV 地址:dav.jianguoyun.com/dav
      • 坚果云账户:邮箱
      • 密码:此处的密码是在坚果云中创建的应用密码,不是坚果云网盘的登陆密码)

      验证服务器后显示Verified 表示设置成功。

      iOS同步登陆
      iOS同步登陆
    5. 等待片刻文献即可同步成功。可以点击文献直接阅读,也点击文献右侧的 i 标志查看文献信息
      文献同步成功

    6. 在文献阅读时,可以进行高亮内容,任意划线等操作。完成阅读是直接返回,你的阅读记录会后台自动同步到其他客户端。
      文献阅读

    Android

    提示

    Zotero 官方已经在测试 Android 版本客户端,预计 2024 年会发布。

    目前使用较多的 Android 客户端是 Zoo,开源免费,主要功能有:

    • 查看不同文件目录分类,包括子文件目录。不能编辑
    • 支持群组条目查看,不能编辑
    • 支持创建,编辑和删除笔记。这里是笔记,不是 PDF 里的注释笔记
    • 支持搜索功能,包括条目和笔记
    • 支持 WebDAV 附件下载与上传

    安装

    ',8),A=o('

    配置

    1. Zoo 安装成功后,需要使用 Zotero 授权的 API key 才能访问 Zotero 数据库。如果你已有一个 API key,可直接在下图中直接填入。一般刚使用 Zoo 的同学,都需要重新申请一下,输入 Zotero 账号和密码,点击 Got it,在授权页面注意需要选择 7 Save Key。如果不成功,可以多试几次。授权成功后,应用会开始下载文献库信息,文献越多,下载时间越长。如果等了 10-20 分钟还在 Loading,建议重启 APP 试试。详细说明参考下图

      为 Zoo 设置 Zotero API key
      为 Zoo 设置 Zotero API key
      Zoo 加载数据界面
      Zoo 加载数据界面
    2. 一般常用的附件同步方式是使用WebDAV,如果你使用 Zotero 的 300M 空间,可不必进行这一步设置。先打开右上角工作间 Setting,勾选下方的Use webdav to access attachments,再点击Config Webdav跳转到配置页面,填写好相应的网址,用户名和密码,请一定要注意核对网址,用户名和密码的空格,特殊符号等。这里里的网址后面会自动帮你加上 Zotero,填写时要注意

      Zoo 中配置 WebDAV
      Zoo 中配置 WebDAV
    3. 配置完毕,点开某个条目,点击 PDF 图标,会自动下载 PDF。有可能下载失败,重试即可

      Zoo 中下载 PDF
      Zoo 中下载 PDF
    ',2);function S(x,V){const i=l("RouteLink");return s(),c("div",null,[D,t("p",null,[e("见 "),a(i,{to:"/user-guide/install.html#ios"},{default:n(()=>[e("安装")]),_:1}),e("。")]),y,t("p",null,[e("见 "),a(i,{to:"/user-guide/install.html#android"},{default:n(()=>[e("安装")]),_:1}),e("。")]),A])}const W=r(Z,[["render",S],["__file","mobile.html.vue"]]),z=JSON.parse('{"path":"/user-guide/mobile.html","title":"移动端","lang":"zh-CN","frontmatter":{"description":"移动端 iOS 官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。 安装 见 。 配置 提示 在进行该部分操作时,请确保您拥有 Zotero账户、具有WebDAV同步功能的网盘、完成PC端相关设置。 在第一次打开 Zotero ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/mobile.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"移动端"}],["meta",{"property":"og:description","content":"移动端 iOS 官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。 安装 见 。 配置 提示 在进行该部分操作时,请确保您拥有 Zotero账户、具有WebDAV同步功能的网盘、完成PC端相关设置。 在第一次打开 Zotero ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:18.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:18.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"移动端\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:18.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"iOS","slug":"ios","link":"#ios","children":[{"level":3,"title":"安装","slug":"安装","link":"#安装","children":[]},{"level":3,"title":"配置","slug":"配置","link":"#配置","children":[]}]},{"level":2,"title":"Android","slug":"android","link":"#android","children":[{"level":3,"title":"安装","slug":"安装-1","link":"#安装-1","children":[]},{"level":3,"title":"配置","slug":"配置-1","link":"#配置-1","children":[]}]}],"git":{"createdTime":1706851038000,"updatedTime":1706851038000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.95,"words":885},"filePathRelative":"user-guide/mobile.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    iOS

    \\n

    官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。

    \\n

    安装

    \\n

    安装

    \\n

    配置

    \\n
    \\n

    提示

    \\n

    在进行该部分操作时,请确保您拥有 Zotero账户具有WebDAV同步功能的网盘完成PC端相关设置

    \\n
    "}');export{W as comp,z as data}; diff --git a/assets/more.html-Dw6tpwuq.js b/assets/more.html-Dw6tpwuq.js new file mode 100644 index 0000000000..cae2f19ac5 --- /dev/null +++ b/assets/more.html-Dw6tpwuq.js @@ -0,0 +1,119 @@ +import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as c,c as i,a as n,b as s,d as t,e}from"./app-pLjDz5vt.js";const l={},r=n("h1",{id:"更多接口",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#更多接口"},[n("span",null,"更多接口")])],-1),u={class:"hint-container tip"},d=n("p",{class:"hint-container-title"},"Zotero Types",-1),k={href:"https://github.com/windingwind/zotero-types",target:"_blank",rel:"noopener noreferrer"},m=n("p",null,[s("如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 "),n("code",null,"npm install -D zotero-types"),s(" 并将其加入 includes 路径。")],-1),v=n("h2",{id:"zoteropane",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#zoteropane"},[n("span",null,"ZoteroPane")])],-1),b=n("p",null,[n("code",null,"ZoteroPane"),s(" 是 Zotero 中主界面项目视图的抽象。可用于获取选中的项目,等等。")],-1),h={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/zoteroPane.js",target:"_blank",rel:"noopener noreferrer"},g=e(`

    可通过 ZoteroPane.getSelectedItems() 获取选中的条目;
    通过 ZoteroPane.itemsView.onSelect.addListener 添加条目选中事件监听。

    ZoteroPane.selectItem(itemID); // 必须先切换到文库标签页
    +

    Zotero.Collections 与 Zotero.Collection

    Collection(集合)是 Zotero 中所有条目的父层级,是 Library(库)的子层级。

    `,4),f={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/data/collection.js",target:"_blank",rel:"noopener noreferrer"},_={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/data/collections.js",target:"_blank",rel:"noopener noreferrer"},y=n("h2",{id:"zotero-libraries-与-zotero-library",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#zotero-libraries-与-zotero-library"},[n("span",null,"Zotero.Libraries 与 Zotero.Library")])],-1),w=n("p",null,[s("Libray(库)是 Zotero 中所有条目最终的父层级。Zotero 库分为用户库("),n("code",null,"id=1"),s(")与群组库,库之间的内容存储方式可能具有较大不同。")],-1),z={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/data/library.js",target:"_blank",rel:"noopener noreferrer"},Z={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/data/libraries.js",target:"_blank",rel:"noopener noreferrer"},x=n("h2",{id:"zotero-reader",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#zotero-reader"},[n("span",null,"Zotero.Reader")])],-1),j=n("p",null,[n("code",null,"Zotero.Reader"),s(" 是 PDF 阅读器的接口,但对于阅读器中诸如选中、高亮等许多功能在 "),n("code",null,"viewer.html"),s(" 内,无法直接从 Zotero 中调用,相关源码在 pdf-reader 仓库。本节仅作介绍 Zotero.Reader。")],-1),q={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/reader.js",target:"_blank",rel:"noopener noreferrer"},T=e(`

    基本使用

    通过 Zotero.Reader._readers 访问当前的 ReaderInstance 对象,每个对象有 _iframeWindow 属性,可对其执行界面操作。

    Zotero.Reader.getByTabID(Zotero_Tabs.selectedID);
    +
    const cont = document.getElementById(\`\${Zotero_Tabs.selectedID}-context\`);
    +const box = cont.querySelector("tabbox");
    +box.tabs.append(tab);
    +box.tabpanels.append(panel);
    +

    调用 pdf.js 接口

    ReaderInstance 对象的 _iframeWindow 属性是阅读器的 window 对象,也就是在网页版所看到的内容,它包含了整个 pdf 阅读器的 document 对象与 wrappedJSObject 字段。

    通过调用 ._iframeWindow.wrappedJSObject 可在阅读器命名空间外访问其局部变量,其中的方法有 zoteroCopyImagezoteroSaveImageAs 等。同时他包含了 PDFViewerApplication 对象.

    `,7),P={href:"https://github.com/zotero/pdf-reader/tree/master/src",target:"_blank",rel:"noopener noreferrer"},I=e(`
    ._iframeWindow.wrappedJSObject.PDFViewerApplication.pdfViewer.currentPageNumber
    +
    `,1),C=n("code",null,"PDFViewerApplication",-1),D={href:"https://gitee.com/const_volatile/chartero/blob/master/chrome/content/reader.js",target:"_blank",rel:"noopener noreferrer"},S=e(`

    案例

    1. 获取 pdf 指定页面所有文字

    以第一页为例,索引为 0:

    const reader = Zotero.Reader.getByTabID(Zotero_Tabs).selectedID);
    +const PDFViewerApplication = reader._iframeWindow.wrappedJSObject.PDFViewerApplication;
    +await PDFViewerApplication.pdfLoadingTask.promise;
    +await PDFViewerApplication.pdfViewer.pagesPromise;
    +let pages = PDFViewerApplication.pdfViewer._pages;
    +let pdfPage = pages[0].pdfPage;
    +let items = (await pdfPage.getTextContent()).items;
    +
    +

    这里以 item=items[0] 为例:

    {
    +  chars: Array(63) [ {}, {}, {},]
    +	dir: "ltr"
    +	fontName: "g_d0_f1"
    +	height: 6.376
    +	str: "Ma, Z., Hu, X., Huang, L., Bi, J., Liu, Y., 2014."
    +	transform: [6.376, 0, 0, 6.376, 42.5197, 732.5289]
    +	width: 202.367864
    +}
    +

    这里的 item.chars 记录了 item.str 的每个字符对应的渲染信息。除了宽高外,item.transform 还提供了(x=item.transform[4], y=item.transform[5])位置信息。这个位置以 pdf 页面左下角为原点。

    `,7),M={href:"https://github.com/MuiseDestiny/zotero-reference",target:"_blank",rel:"noopener noreferrer"},N=n("h2",{id:"zotero-notes",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#zotero-notes"},[n("span",null,"Zotero.Notes")])],-1),L=n("p",null,[n("code",null,"Zotero.EditorInstance"),s(" 类是笔记编辑器的抽象;"),n("code",null,"Zotero.EditorInstanceUtilities"),s(" 对象包括了笔记中一些转换等基础功能。")],-1),V={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/editorInstance.js",target:"_blank",rel:"noopener noreferrer"},A=n("p",null,[n("code",null,"Zotero.Notes"),s(" 是所有 EditorInstance 实例的管理器。")],-1),F={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/data/notes.js",target:"_blank",rel:"noopener noreferrer"},B=n("h2",{id:"zotero-tabs",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#zotero-tabs"},[n("span",null,"Zotero_Tabs")])],-1),E=n("br",null,null,-1),R={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/tabs.js",target:"_blank",rel:"noopener noreferrer"},O=e(`

    基本使用

    通过 Zotero_Tabs 访问当前打开的标签页。

    新增标签页

    通过 Zotero_Tabs.add 方法新增标签页,例如 Better Notes 插件中的一段代码:

    let { id, container } = Zotero_Tabs.add({
    +  type: "betternotes",
    +  title: Zotero.locale.includes("zh") ? "工作区" : "Workspace",
    +  index: 1,
    +  data: {},
    +  select: select,
    +  onClose: undefined,
    +});
    +

    请注意此处的 type 将影响菜单栏的显示/隐藏。截至文档更新(2022.08.22),在离开标签时,自定义的标签类型不会被正确隐藏,但在进入标签页时会被显示(相关代码在 ZoteroStandalone.switchMenuType)。因此需要手动处理离开标签页时隐藏自定义标签的部分菜单。

    switchRealMenuBar(hidden: boolean) {
    +    // We only handle hide. The show will be handled by the ZoteroStandalone.switchMenuType
    +    document
    +      .querySelectorAll(".menu-type-betternotes")
    +      .forEach((el) => ((el as HTMLElement).hidden = hidden));
    +
    +    // Disable Zotero pdf export
    +    (document.getElementById("menu_export_files") as XUL.Element).disabled =
    +      !hidden;
    +}
    +

    标签页操作

    通过 select / jump / move / close 等相关方法进行操作。

    Zotero_Tabs.select("zotero-pane");
    +

    文件操作

    `,11),W={class:"hint-container note"},H=n("p",{class:"hint-container-title"},"Todo",-1),J={href:"https://firefox-source-docs.mozilla.org/dom/ioutils_migration.html",target:"_blank",rel:"noopener noreferrer"},U={href:"https://searchfox.org/mozilla-esr102/source/dom/chrome-webidl/PathUtils.webidl",target:"_blank",rel:"noopener noreferrer"},G=e(`

    Clipboard API

    Zotero 中关于剪切板的相关接口。由于 Zotero 目前基于 FireFox60,因此无法使用现代浏览器的剪切板接口。
    样例代码为 Better Notes 插件提供的剪切板包装:

    class CopyHelper {
    +  transferable: any;
    +  clipboardService: any;
    +
    +  constructor() {
    +    this.transferable = Components.classes[
    +      "@mozilla.org/widget/transferable;1"
    +    ].createInstance(Components.interfaces.nsITransferable);
    +    this.clipboardService = Components.classes[
    +      "@mozilla.org/widget/clipboard;1"
    +    ].getService(Components.interfaces.nsIClipboard);
    +  }
    +
    +  public addText(source: string, type: "text/html" | "text/unicode") {
    +    const str = Components.classes[
    +      "@mozilla.org/supports-string;1"
    +    ].createInstance(Components.interfaces.nsISupportsString);
    +    str.data = source;
    +    this.transferable.addDataFlavor(type);
    +    this.transferable.setTransferData(type, str, source.length * 2);
    +    return this;
    +  }
    +
    +  // Only Windows
    +  public addImage(source: string) {
    +    const io = Components.classes[
    +      "@mozilla.org/network/io-service;1"
    +    ].getService(Components.interfaces.nsIIOService);
    +    const channel = io.newChannel(source, null, null);
    +    const input = channel.open();
    +    const imgTools = Components.classes[
    +      "@mozilla.org/image/tools;1"
    +    ].getService(Components.interfaces.imgITools);
    +
    +    const buffer = NetUtil.readInputStreamToString(input, input.available());
    +    const container = imgTools.decodeImageFromBuffer(
    +      buffer,
    +      buffer.length,
    +      channel.contentType
    +    );
    +
    +    this.transferable.addDataFlavor(channel.contentType);
    +    this.transferable.setTransferData(channel.contentType, container, -1);
    +    return this;
    +  }
    +
    +  public copy() {
    +    this.clipboardService.setData(
    +      this.transferable,
    +      null,
    +      Components.interfaces.nsIClipboard.kGlobalClipboard
    +    );
    +  }
    +}
    +

    使用样例:

    new CopyHelper()
    +  .addText(html, "text/html")
    +  .addText(this._Addon.parse.parseHTMLToMD(html), "text/unicode")
    +  .copy();
    +

    弹出通知

    const popMsg = new Zotero.ProgressWindow({ closeOnClick: false });
    +popMsg.changeHeadline("[Error]", "", "Chartero");
    +popMsg.addDescription("----------");
    +
    +let prog = new popMsg.ItemProgress("chrome://zotero/skin/cross.png", "No!");
    +prog.setProgress(100); // 默认0是灰色图标,100是正常图标,其他是进度条
    +popMsg.addDescription('<a href="http://github.com">link</a>');
    +
    +// 指定父元素实现缩进
    +let prog1 = new popMsg.ItemProgress(
    +  "chrome://chartero/skin/bookmark.png",
    +  "hello",
    +  prog
    +);
    +
    +popMsg.show();
    +popMsg.startCloseTimer(6666); // 毫秒
    +
    `,7);function X(Y,$){const a=p("ExternalLinkIcon");return c(),i("div",null,[r,n("div",u,[d,n("p",null,[s("关于接口定义,请参见接口定义包:"),n("a",k,[s("https://github.com/windingwind/zotero-types"),t(a)])]),m]),v,b,n("p",null,[s("源码位置:"),n("a",h,[s("chrome/content/Zotero/zoteroPane.js"),t(a)])]),g,n("ul",null,[n("li",null,[n("a",f,[s("chrome\\content\\Zotero\\xpcom\\data\\collection.js"),t(a)]),s(" 定义了 Zotero.Collection 类")]),n("li",null,[n("a",_,[s("chrome\\content\\Zotero\\xpcom\\data\\collections.js"),t(a)]),s(" 定义了 Zotero.Collections 对象,用于访问相关方法")])]),y,w,n("ul",null,[n("li",null,[n("a",z,[s("chrome\\content\\Zotero\\xpcom\\data\\library.js"),t(a)]),s(" 定义了 Zotero.Library 类")]),n("li",null,[n("a",Z,[s("chrome\\content\\Zotero\\xpcom\\data\\librarys.js"),t(a)]),s(" 定义了 Zotero.Libraries 方法,用于访问相关方法")])]),x,j,n("p",null,[s("源码位置:"),n("a",q,[s("chrome/content/Zotero/xpcom/reader.js"),t(a)])]),T,n("p",null,[s("该部分源码在 "),n("a",P,[s("pdf-reader/src at master · Zotero/pdf-reader"),t(a)])]),I,n("p",null,[s("此外,通过注入脚本的方式可以直接访问 "),C,s(" 对象来操作阅读器:"),n("a",D,[s("chartero | chrome/content/reader.js"),t(a)])]),S,n("p",null,[s("根据 pdf 页面内的文字可以解析出所有参考文献,详见:"),n("a",M,[s("GitHub - MuiseDestiny/Zotero-reference: Zotero 插件,侧边栏显示正在阅读文献的所有参考文献"),t(a)])]),N,L,n("p",null,[s("源码位置:"),n("a",V,[s("chrome/content/Zotero/xpcom/editorInstance.js"),t(a)])]),A,n("p",null,[s("源码位置:"),n("a",F,[s("chrome/content/Zotero/xpcom/data/notes.js"),t(a)])]),B,n("p",null,[s("Zotero 6 以后的版本引入了标签页(tab)。当打开 PDF 时,默认在新标签页打开。"),E,s(" 源码位置:"),n("a",R,[s("chrome/content/Zotero/tabs.js"),t(a)])]),O,n("div",W,[H,n("p",null,[s("文件读写已迁移至 "),n("a",J,[s("IOUtils"),t(a)]),s(" 和 "),n("a",U,[s("PathUtils"),t(a)]),s(" 。")])]),G])}const nn=o(l,[["render",X],["__file","more.html.vue"]]),sn=JSON.parse('{"path":"/plugin-dev-guide/reference/more.html","title":"更多接口","lang":"zh-CN","frontmatter":{"description":"更多接口 Zotero Types 关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-types 如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。 ZoteroPane Zotero...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/more.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"更多接口"}],["meta",{"property":"og:description","content":"更多接口 Zotero Types 关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-types 如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。 ZoteroPane Zotero..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"更多接口\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"ZoteroPane","slug":"zoteropane","link":"#zoteropane","children":[]},{"level":2,"title":"Zotero.Collections 与 Zotero.Collection","slug":"zotero-collections-与-zotero-collection","link":"#zotero-collections-与-zotero-collection","children":[]},{"level":2,"title":"Zotero.Libraries 与 Zotero.Library","slug":"zotero-libraries-与-zotero-library","link":"#zotero-libraries-与-zotero-library","children":[]},{"level":2,"title":"Zotero.Reader","slug":"zotero-reader","link":"#zotero-reader","children":[{"level":3,"title":"基本使用","slug":"基本使用","link":"#基本使用","children":[]},{"level":3,"title":"调用 pdf.js 接口","slug":"调用-pdf-js-接口","link":"#调用-pdf-js-接口","children":[{"level":4,"title":"案例","slug":"案例","link":"#案例","children":[{"level":5,"title":"1. 获取 pdf 指定页面所有文字","slug":"_1-获取-pdf-指定页面所有文字","link":"#_1-获取-pdf-指定页面所有文字","children":[]}]}]}]},{"level":2,"title":"Zotero.Notes","slug":"zotero-notes","link":"#zotero-notes","children":[]},{"level":2,"title":"Zotero_Tabs","slug":"zotero-tabs","link":"#zotero-tabs","children":[{"level":3,"title":"基本使用","slug":"基本使用-1","link":"#基本使用-1","children":[{"level":4,"title":"新增标签页","slug":"新增标签页","link":"#新增标签页","children":[]},{"level":4,"title":"标签页操作","slug":"标签页操作","link":"#标签页操作","children":[]}]}]},{"level":2,"title":"文件操作","slug":"文件操作","link":"#文件操作","children":[]},{"level":2,"title":"Clipboard API","slug":"clipboard-api","link":"#clipboard-api","children":[]},{"level":2,"title":"弹出通知","slug":"弹出通知","link":"#弹出通知","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":4.38,"words":1314},"filePathRelative":"plugin-dev-guide/reference/more.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    Zotero Types

    \\n

    关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-types

    \\n

    如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。

    \\n
    "}');export{nn as comp,sn as data}; diff --git a/assets/ms-word-plugin.html-w15huyFS.js b/assets/ms-word-plugin.html-w15huyFS.js new file mode 100644 index 0000000000..c6bcadc18c --- /dev/null +++ b/assets/ms-word-plugin.html-w15huyFS.js @@ -0,0 +1 @@ +import{_ as h,a as f,b as u,c as m,d as A,e as d,f as _,g as s,h as Z,i as b}from"./image-edit-citation-Cpx4lL-9.js";import{_ as W}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as w,c as y,a as t,b as e,d as o,w as r,e as p}from"./app-pLjDz5vt.js";const x="/assets/image-word文档首选项窗格-DO4j7jAv.png",c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABaUExURUxpcZgAAJkAAJgAAP///5gAAJkAAAAAAAEBAUtLS5gAAJgAAJkAAPHf35gAAIcAAPv29gAAAJgAAJgAAHwAAP///5kAAP///////39/f8x/f5kAAPn5+b+/v8tlkrEAAAAYdFJOUwDbRJ1+HAR+CMcwpUBIyxiFQO29gUB++wtAYHcAAABoSURBVBjTfc/JDoAgDATQuuK+L1Oq//+bYkCCHpwTeaHTlIiUTUFPGHe4LD5weHEALxZOZlYOtBgQDXgwb+gXiIj+/WE70nQMt2DfzGAWAIY2ifIQUEkcjmDtatvhrlXL1NMrsylt6AI2Tg2KMt61EQAAAABJRU5ErkJggg==",l="/assets/image-word-引文对话框2-Clezm4Wr.png",g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB7UlEQVQ4jaWTT0jTYRjHP6978ydqNkSGv7GiCBYFjU5dOhUjoqQwPHgaREQ3r9LNS4cOGUg1IklRJJIiOgTtUDZPBcJgB8PtMJiL35uEvwbtj0z3dIjfcE5N6Ht6+D58P8/D8/LCf0rtNIwxOpFI3C8WiyXXdbEsi57fybWh65fObpacH74um431laPHpq7d4dVga3hycvJ9rVYTEZFcLrfx4sGt52Wz9Neo12V9eU6+fxyRllWMMXp+fv5A4e2ANq+Ix+Nvo9Ho1UqlQiqV2lz6MDF+c3AgZvWe0pslB/fbHBXna8tg7RWu6w6MjY01/NEbVEqryfbSahKAwyeu7HrEBiAcDhMKhQAoFAp09Gl0lw1SB6Ddf3J/QCaTIZvNAiAiVE8DP5e99mflsxb2BXjBPbTw7sLtZeCiZ8za9hOUeqj3SuyUQLeCXpRqEzinIIzImwMDYo4zDUzPBoP9SmRF4EvMcT61/Su4yyaPUKpHidyFbTeIRCIEAgFEhHw+T0ffIXRnPygFAjDBrG1fBoYFnsaMSTcB0ul006TqGYDGKzBl250o9UxE1rbgnuc3AH6//7ExZkhr3V0ul19Xq9ailiOLPqt0vr5V/aWVGgGOK6UmfCKRmWCwLiL5lt+4l2Zs+6VSarjpHiKjfwBMF/D89UdQiAAAAABJRU5ErkJggg==",E="/assets/image-word-切换经典视图-CbCjlSXP.png",z="/assets/image-使用经典引文对话框-BLBJd0ON.png",B="/assets/image-word-引文对话框-经典-添加多来源-Cu26iWKZ.png",k="/assets/image-word-编辑参考文献表-BuorVbsW.png",v={},S=t("p",null,"这些是使用 Zotero for MS Office Word 插件的说明。",-1),T=t("h2",{id:"zotero-word-插件选项卡",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#zotero-word-插件选项卡"},[t("span",null,"Zotero Word 插件选项卡")])],-1),U=t("figure",null,[t("img",{src:h,alt:"Zotero Word 插件选项卡",tabindex:"0",loading:"lazy"}),t("figcaption",null,"Zotero Word 插件选项卡")],-1),C=p('

    Zotero 选项卡包含以下图标:

    名称图标描述
    添加/编辑引注插入引文在光标位置添加新引注或编辑文档中的现有引注。
    添加/编辑参考文献表添加参考文献表在光标位置插入参考文献表或编辑现有书目。
    添加笔记在光标当前位置插入笔记。请注意,此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。
    文档首选项文档首选项打开“文档首选项”窗口,例如更改引文样式。
    刷新刷新立即刷新所有引注和参考文献表,更新 Zotero 库中已更改的项目元数据。
    取消链接引注unlink通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成。

    文档首选项

    Word文档首选项窗格
    Word文档首选项窗格

    “文档首选项”窗口允许您设置以下针对该文档的设置:

    1. 引文样式

      一般情况下,你只需要修改这一项,其余设置均保持默认即可。

    2. 设置引注和参考文献表的格式的语言。

    3. 对于基于注释的样式,例如“China National Standard GB/T 7714-2015(note,Chinese)”,引文是插入为脚注还或尾注。

      脚注和尾注的样式和格式由 Word(而不是 Zotero)控制。

    4. 将引文存储为字段还是书签

      默认为“字段”。除非您需要使用 LibreOffice 与同事协作,否则应始终选择“字段”。

    5. 对于缩写期刊标题的样式(例如,“Nature”),是否使用 MEDLINE 缩写列表来缩写标题。

      如果选择此选项(默认值),则 Zotero 中“ ”字段的内容将被忽略。

    6. 是否自动更新引注和参考文献表
      一般情况下开启即可。当文档中引文非常多,每次更新都会卡顿时,可以关闭此功能,添加一部分或最终手动进行更新。

    添加引注

    您可以通过单击“添加/编辑引注”(插入引文)按钮开始添加/编辑引用。

    在一个未添加过引文的文档中,按下按钮将首先显示“文档首选项”窗口以让用户选择一个样式文件,之后按下按钮将显示引文对话框。

    引文对话框用于从 Zotero 库中选择项目,并创建引文。

    开始在对话框中键入标题的一部分、一个或多个作者的姓氏和/或年份。匹配项将立即显示在对话框下方。

    引文对话框
    引文对话框

    提示

    如果您在输入中文后,对话框下方并未出现相应的匹配项,您可以再输入一个空格,相关的匹配项就可以正常显示了。

    通过单击项目或在项目突出显示时按 Enter/Return 键来选择该项目。该项目将以阴影气泡的形式显示在对话框中。完成添加所有引用项目后,再次按 Enter/Return 键以插入引文并关闭“添加引文”框。

    引文对话框
    引文对话框

    小技巧

    在“添加引文”对话框中,您可以单击被引用项目的气泡,然后单击“在我的库中打开(或组库的名称)”以在 Zotero 中查看该项目。

    孤立的项目(未连接到 Zotero 数据库中的任何项目)将没有“在我的库中打开”按钮。如果孤立项目是由协作者从其“我的媒体库”或您无权访问的群组中插入的,或者您已从 Zotero 资料库中删除了这些项目,则这些项目可能存在。

    编辑引文
    编辑引文

    包含多个被引用项目的引文

    引文对话框
    引文对话框

    要创建包含多个引文的引文(例如,数字样式为[2,4-6],作者日期样式为“(Smith 1776, Schumpeter 1962)”),请在“添加引文”框中一个接一个地添加它们。选择第一个项目后,不要按 Enter/Return 键,而是键入下一个项目的作者、标题或年份。

    提示

    如果在连续添加多个引文时,新输入的内容仍被包裹在上一个引用项目的气泡中,您可以先输入一个空格,然后再输入下一个引用项目的信息。

    某些引文样式要求一个文本内引文中的项目按字母顺序排序(例如,“(Doe 2000, Grey 1994, Smith 2008)”)或按时间顺序排序(“(Grey 1994, Doe 2000, Smith 2008)”)。Zotero 将自动遵循这些排序规则。

    • 若要禁用引文中引文的自动排序,请拖动引文以在“添加引文”框中重新排列引文。您也可以单击“添加引文”框左侧的“Z”图标,然后取消选中“将源排序”选项。此选项仅对指定引文排序顺序的引文样式显示。 要恢复自动排序,请重新选中“保持源已排序”选项。

    添加参考文献表

    单击“添加/编辑参考文献表”(添加参考文献表)按钮会在光标位置插入参考文献表。

    Zotero 将根据文档中的引文自动更新参考书目。

    ',25),P={href:"https://www.zotero.org/support/word_processor_plugin_usage#editing_the_bibliography",target:"_blank",rel:"noopener noreferrer"},D=p('

    切换到“经典视图”

    “添加/编辑引注”对话框有默认版与经典版两种,下图为经典版的示例:

    经典引文对话框
    经典引文对话框

    您可以通过单击“添加引文对话框”左侧的“Z”图标并选择“经典视图”来切换到“经典视图”引文对话框。

    切换经典视图
    切换经典视图

    要永久切换到经典视图,请勾选 Zotero -编辑 -首选项 -“引用”选项卡 -使用经典添加引文对话框。

    使用经典引文对话框
    使用经典引文对话框

    经典视图下使用多来源引用

    单击引文选取对话框左下角“多重来源”,右侧会出现多重来源列表,将引文从左侧拾取到右侧即可。

    经典视图下多重来源的引文排序

    经典引文对话框-添加多来源
    经典引文对话框-添加多来源
    • 若要禁用引文中引文的自动排序,请在“添加引文”框中拖动引文以重新排列它们。你也可以取消选中“保持来源分类”选项。此选项仅对指定引文排序顺序的引文样式显示。 要恢复自动排序,请重新选中“保持源已排序”选项。

    自定义引用

    可以通过各种方式自定义引文。

    如果引文只是不正确或缺少数据,请首先确保 Zotero 中的项目元数据正确完整,然后单击插件中的“刷新”以使用任何更改更新文档。

    可以通过引文对话框进行其他自定义。单击文档中的现有引文,然后单击“添加/编辑引文”以打开引文对话框,然后单击引文气泡以打开引文选项窗口,您可以在其中进行以下更改。

    编辑引文
    编辑引文

    页码和其他定位器(图、表等)

    在某些情况下,您希望引用项目的某个部分,例如某个页面,页码范围或卷。这种额外的引文特定信息(例如,引文“Doe et al.,2001 年,page 4-7”中的“page 4-7”)被称为“定位器”。

    引用选项窗口具有不同定位器类型的下拉列表(默认为“page”),以及一个可在其中输入定位器值(例如“4-7”)的文本框。要引用除所列定位符以外的定位符(例如“表”),请使用“后缀”字段。

    您还可以在插入引文时添加页码。搜索项目,在选择项目之前或之后,但在按 Enter 将引文插入到文档中之前,键入“p.34”、“p34”,甚至只是键入“34”,页码将添加到引文中。

    前缀和后缀

    “前缀”和“后缀”文本框允许您指定文本,分别位于自动生成的引用之前和之后。例如,您可能想要“cf. Tribe 1999, see also see……”,而不是“Tribe 1999”。

    前缀和后缀字段中的任何文本都可以使用 HTML 标记 <i>(斜体)、<b>(粗体)、<子>(下标)和<up>(上标) 进行格式设置。例如,键入 <i>cf</i>example 将显示为 _cf_. example

    前缀和后缀可以应用于引文中的每个项目,以创建复杂的引文。例如:“(参见 Smith 1776 的经典例子; 马克思 1867 年提出和另一种观点)”。通过在“前缀”和“后缀”字段中输入文本来修改引文始终比直接在 Word 中的引文字段中键入内容更可取。手动修改将阻止 Zotero 自动更新引文。

    省略作者:在文本中使用作者

    使用作者日期样式,作者经常被移到文本中,并从以下括号括起来的引文中省略,例如:“……根据史密斯(1776)的说法,劳动分工至关重要……“。要从引用中省略作者,请选中“省略作者”框(这将导致引用类似于“(1776)”而不是“(Smith,1776)”),并将作者的姓名(“Smith”)作为文档中常规文本的一部分。

    其他更改

    如果您的引文仍未按所需方式显示,您可以直接在文档中编辑引文,但请注意,这样做会阻止 Zotero 自动更新引文以反映文档中的其他更改(例如,对于“同上”或给定名称消除歧义)。在您进行手动编辑后,Zotero 将要求您确认是否要保留编辑并防止引文自动更新。最好是在要进行的更改的文本中做注释,等到准备好提交文档,然后在使用“取消链接引文”后在文档的副本中进行更改。

    如果您认为引用样式中存在错误,请发布到 Zotero 论坛,以便我们可以进行调查,并在必要时更正样式。如果样式已更新,则文档将自动更新,以便在您下次刷新文档时反映任何更改。

    编辑引注

    如果您想在之前插入的引注中增加/删除引用项目,或者修改引注中的信息,您可以将光标定位在编号内(此时编号区域会出现灰色阴影),然后单击“添加/编辑引注”(插入引文)按钮开始编辑引注。

    编辑引注
    编辑引注

    编辑参考书目

    当您在文档中添加和删除引文时,Zotero 将自动更新参考书目以反映您的更改。一般来说,这就是你所要做的。

    但是,在极少数情况下,您可能希望将未引用的来源添加到参考书目中(例如,综述中包含的项目,但论文中未引用的项目)或删除文本中引用但不应包含在参考书目中的项目(例如,个人通信)。为此,请再次单击“添加/编辑书目”(添加参考文献表)按钮以打开“编辑书目”窗口:

    编辑参考文献表
    编辑参考文献表

    然后,您可以使用箭头添加或删除项目。

    虽然也可以在此窗口中编辑书目参考文献的文本或格式,但不鼓励这样做。如果您更改了库中的数据,Zotero 不会自动更新此处编辑的引用。在这里编辑参考文献也有些不可靠; 一些用户报告说,当 Zotero 引用时,此处所做的修改有时不会持续存在,以及其他问题。

    如果您需要编辑书目中的项目,最好在提交文档之前将其作为最后一步。首先,保存文档的备份副本。然后,单击“取消链接引文”按钮(icon-Word-unlink)以断开文档与 Zotero 的连接,并将所有引文和书目转换为常规文本。最后,对参考书目文本进行调整。

    此过程可用于对参考书目进行各种细微的修改,包括:

    • 在综述或荟萃分析中包含的参考文献之前添加星号 *
    • 以粗体、斜体或全大写设置特定作者的姓名
    • 添加有关项目的批注或注释
    • 为书目子部分添加标题(例如,主要来源与次要来源)
    ',42),L={class:"hint-container warning"},M=t("p",{class:"hint-container-title"},"注意",-1),N={href:"https://www.zotero.org/support/styles",target:"_blank",rel:"noopener noreferrer"},O=t("li",null,"对项目数据的更正应该在 Zotero 库中进行,而不是在这里。",-1),R=t("h2",{id:"注意事项与常见问题",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#注意事项与常见问题"},[t("span",null,"注意事项与常见问题")])],-1),I=t("div",{class:"hint-container warning"},[t("p",{class:"hint-container-title"},"注意"),t("p",null,[e("所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是直接在 Word 里手动修改!"),t("br"),e(" 所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是直接在 Word 里手动修改!"),t("br"),e(" 所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目信息,而不是直接在 Word 里手动修改!")])],-1),H={class:"hint-container tip"},J=t("p",{class:"hint-container-title"},"常见问题",-1);function j(V,G){const i=n("RouteLink"),a=n("ExternalLinkIcon");return w(),y("div",null,[S,t("p",null,[e("要在 WPS 中使用插件,请参见 "),o(i,{to:"/user-guide/wps-plugin.html"},{default:r(()=>[e("在 WPS 中使用 Zotero Word 插件")]),_:1}),e("。")]),T,U,t("p",null,[e("一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero 选项卡。如果你的 Word 里没有 Zotero 选项卡,请参见 "),o(i,{to:"/user-guide/faqs/word-addon.html#word-%E4%B8%AD%E6%B2%A1%E6%9C%89-zotero-%E9%80%89%E9%A1%B9%E5%8D%A1"},{default:r(()=>[e("故障排除 | 安装 Zotero 的 Word 插件")]),_:1}),e(" 。")]),C,t("p",null,[e("在极少数情况下,如果要将未在文档中引用的项目添加到书目中,可以再次单击“添加/编辑书目”按钮,这将打开 "),t("a",P,[e("书目编辑器"),o(a)]),e("。在 Word 中对书目进行的手动编辑将在下次 Zotero 刷新文档时被覆盖。")]),D,t("div",L,[M,t("ul",null,[t("li",null,[e("对样式格式的一般更正应在 "),t("a",N,[e("CSL 引文样式"),o(a)]),e(" 进行,而不是在此处进行。")]),O])]),R,I,t("div",H,[J,t("p",null,[e("插入引文中遇到的一些常见问题,请参见 "),o(i,{to:"/user-guide/faqs/word-addon.html"},{default:r(()=>[e("关于 Word 引用的各种问题")]),_:1}),e(" 。")])])])}const K=W(v,[["render",j],["__file","ms-word-plugin.html.vue"]]),Y=JSON.parse('{"path":"/user-guide/ms-word-plugin.html","title":"在 Word 中插入参考文献","lang":"zh-CN","frontmatter":{"title":"在 Word 中插入参考文献","icon":"article","date":"2023-06-28T21:17:07.000Z","updated":"2023-07-21T19:01:31.000Z","description":"这些是使用 Zotero for MS Office Word 插件的说明。 要在 WPS 中使用插件,请参见 。 Zotero Word 插件选项卡 Zotero Word 插件选项卡Zotero Word 插件选项卡 一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/ms-word-plugin.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"在 Word 中插入参考文献"}],["meta",{"property":"og:description","content":"这些是使用 Zotero for MS Office Word 插件的说明。 要在 WPS 中使用插件,请参见 。 Zotero Word 插件选项卡 Zotero Word 插件选项卡Zotero Word 插件选项卡 一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:17:07.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"在 Word 中插入参考文献\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:17:07.000Z\\",\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"Zotero Word 插件选项卡","slug":"zotero-word-插件选项卡","link":"#zotero-word-插件选项卡","children":[]},{"level":2,"title":"文档首选项","slug":"文档首选项","link":"#文档首选项","children":[]},{"level":2,"title":"添加引注","slug":"添加引注","link":"#添加引注","children":[{"level":3,"title":"包含多个被引用项目的引文","slug":"包含多个被引用项目的引文","link":"#包含多个被引用项目的引文","children":[]}]},{"level":2,"title":"添加参考文献表","slug":"添加参考文献表","link":"#添加参考文献表","children":[]},{"level":2,"title":"切换到“经典视图”","slug":"切换到-经典视图","link":"#切换到-经典视图","children":[{"level":3,"title":"经典视图下使用多来源引用","slug":"经典视图下使用多来源引用","link":"#经典视图下使用多来源引用","children":[]},{"level":3,"title":"经典视图下多重来源的引文排序","slug":"经典视图下多重来源的引文排序","link":"#经典视图下多重来源的引文排序","children":[]}]},{"level":2,"title":"自定义引用","slug":"自定义引用","link":"#自定义引用","children":[{"level":3,"title":"页码和其他定位器(图、表等)","slug":"页码和其他定位器-图、表等","link":"#页码和其他定位器-图、表等","children":[]},{"level":3,"title":"前缀和后缀","slug":"前缀和后缀","link":"#前缀和后缀","children":[]},{"level":3,"title":"省略作者:在文本中使用作者","slug":"省略作者-在文本中使用作者","link":"#省略作者-在文本中使用作者","children":[]},{"level":3,"title":"其他更改","slug":"其他更改","link":"#其他更改","children":[]}]},{"level":2,"title":"编辑引注","slug":"编辑引注","link":"#编辑引注","children":[]},{"level":2,"title":"编辑参考书目","slug":"编辑参考书目","link":"#编辑参考书目","children":[]},{"level":2,"title":"注意事项与常见问题","slug":"注意事项与常见问题","link":"#注意事项与常见问题","children":[]}],"git":{"createdTime":1695169095000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":3},{"name":"Northword","email":"northword@outlook.com","commits":2},{"name":"Victor","email":"40191996+wakewon@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":12.56,"words":3767},"filePathRelative":"user-guide/ms-word-plugin.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"

    这些是使用 Zotero for MS Office Word 插件的说明。

    \\n

    要在 WPS 中使用插件,请参见 在 WPS 中使用 Zotero Word 插件

    \\n

    Zotero Word 插件选项卡

    \\n
    Zotero Word 插件选项卡
    \\n

    一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero 选项卡。如果你的 Word 里没有 Zotero 选项卡,请参见 故障排除 | 安装 Zotero 的 Word 插件

    "}');export{K as comp,Y as data}; diff --git a/assets/notify.html-DXPxAuGO.js b/assets/notify.html-DXPxAuGO.js new file mode 100644 index 0000000000..9ee45103e8 --- /dev/null +++ b/assets/notify.html-DXPxAuGO.js @@ -0,0 +1,117 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as p,c as i,a as n,b as s,d as c,e as a}from"./app-pLjDz5vt.js";const r={},l=a(`

    Zotero 事件机制

    Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。

    大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregisterObserver 移除事件。

    Notifier 支持的事件类型包括(可能不全):

    type Event =
    +  | "add"
    +  | "modify"
    +  | "delete"
    +  | "move"
    +  | "remove"
    +  | "refresh"
    +  | "redraw"
    +  | "trash"
    +  | "unreadCountUpdated"
    +  | "index"
    +  | "open"
    +  | "close"
    +  | "select";
    +

    支持的事件对象包括:

    type Type =
    +  | "collection"
    +  | "search"
    +  | "share"
    +  | "share-items"
    +  | "item"
    +  | "file"
    +  | "collection-item"
    +  | "item-tag"
    +  | "tag"
    +  | "setting"
    +  | "group"
    +  | "trash"
    +  | "bucket"
    +  | "relation"
    +  | "feed"
    +  | "feedItem"
    +  | "sync"
    +  | "api-key"
    +  | "tab";
    +
    `,7),u={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/notifier.js",target:"_blank",rel:"noopener noreferrer"},d=a(`

    注册监听器

    declare namespace _ZoteroTypes {
    +  interface Notifier {
    +    /**
    +     * @param {Object} [ref] signature {notify: function(event, type, ids, extraData) {}}
    +     * @param {Array} [types] a list of types of events observer should be triggered on
    +     * @param {String} [id] an id of the observer used in debug output
    +     * @param {Integer} [priority] lower numbers correspond to higher priority of observer execution
    +     * @returns {string}
    +     */
    +    registerObserver(
    +      ref: { notify: Notifier.Notify },
    +      types?: Notifier.Type[],
    +      id?: string,
    +      priority?: number
    +    ): string;
    +  }
    +}
    +

    为 types 事件设置回调 ref,返回监听器 id。

    例:

    notifierCallback = {
    +  notify: async (
    +    event: string,
    +    type: string,
    +    ids: Array<string>,
    +    extraData: object
    +  ) => {
    +    // You can add your code to the corresponding notify type
    +    if (
    +      event == "select" &&
    +      type == "tab" &&
    +      extraData[ids[0]].type == "reader"
    +    ) {
    +      // Select a reader tab
    +    }
    +    if (event == "add" && type == "item") {
    +      // Add an item
    +    }
    +  },
    +};
    +
    +let notifierID = Zotero.Notifier.registerObserver(notifierCallback, [
    +  "tab",
    +  "item",
    +  "file",
    +]);
    +

    注销监听器

    declare namespace _ZoteroTypes {
    +  interface Notifier {
    +    unregisterObserver(id: String): void;
    +  }
    +}
    +

    取消对应 id 的监听器

    例:

    Zotero.Notifier.unregisterObserver(notifierID);
    +

    触发 Notify 事件

    一般情况下,不需要手动触发。

    单个触发

    /**
    +* Trigger a notification to the appropriate observers
    +*
    +* Possible values:
    +*
    +*   event: 'add', 'modify', 'delete', 'move' ('c', for changing parent),
    +*       'remove' (ci, it), 'refresh', 'redraw', 'trash', 'unreadCountUpdated', 'index'
    +*   type - 'collection', 'search', 'item', 'collection-item', 'item-tag', 'tag',
    +*       'group', 'relation', 'feed', 'feedItem'
    +*   ids - single id or array of ids
    +*
    +* Notes:
    +*
    +* - If event queuing is on, events will not fire until commit() is called
    +* unless _force_ is true.
    +*
    +* - New events and types should be added to the order arrays in commit()
    +**/
    +declare Zotero.Notifier.trigger(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean);
    +
    +/**
    + * Queue an event until the end of the current notifier transaction
    + *
    + * Takes the same parameters as trigger()
    + *
    + * @throws If a notifier transaction isn't currently open
    + */
    +declare Zotero.Notifier.queue(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean);
    +

    例:

    Zotero.Notifier.trigger("add", "tab", [id], { [id]: data }, true);
    +

    队列触发

    Zotero.Notifier.commit(queues, (transactionID = true));
    +

    例:

    const notifierQueue = new Zotero.Notifier.Queue(); // Initialize a notifier queue
    +// Do something
    +await Zotero.Notifier.commit(notifierQueue); // Trigger the queued notifies
    +
    `,20);function k(v,m){const e=o("ExternalLinkIcon");return p(),i("div",null,[l,n("p",null,[s("源码位置:"),n("a",u,[s("chrome\\content\\Zotero\\xpcom\\notifier.js"),c(e)])]),d])}const f=t(r,[["render",k],["__file","notify.html.vue"]]),y=JSON.parse('{"path":"/plugin-dev-guide/reference/notify.html","title":"Zotero 事件机制","lang":"zh-CN","frontmatter":{"author":[{"name":"windingwind","url":"https://github.com/windingwind/"}],"description":"Zotero 事件机制 Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。 大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregis...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/notify.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero 事件机制"}],["meta",{"property":"og:description","content":"Zotero 事件机制 Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。 大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregis..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"windingwind"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero 事件机制\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"windingwind\\",\\"url\\":\\"https://github.com/windingwind/\\"}]}"]]},"headers":[{"level":2,"title":"注册监听器","slug":"注册监听器","link":"#注册监听器","children":[]},{"level":2,"title":"注销监听器","slug":"注销监听器","link":"#注销监听器","children":[]},{"level":2,"title":"触发 Notify 事件","slug":"触发-notify-事件","link":"#触发-notify-事件","children":[{"level":3,"title":"单个触发","slug":"单个触发","link":"#单个触发","children":[]},{"level":3,"title":"队列触发","slug":"队列触发","link":"#队列触发","children":[]}]}],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.78,"words":534},"filePathRelative":"plugin-dev-guide/reference/notify.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。

    \\n

    大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregisterObserver 移除事件。

    \\n

    Notifier 支持的事件类型包括(可能不全):

    \\n
    type Event =\\n  | \\"add\\"\\n  | \\"modify\\"\\n  | \\"delete\\"\\n  | \\"move\\"\\n  | \\"remove\\"\\n  | \\"refresh\\"\\n  | \\"redraw\\"\\n  | \\"trash\\"\\n  | \\"unreadCountUpdated\\"\\n  | \\"index\\"\\n  | \\"open\\"\\n  | \\"close\\"\\n  | \\"select\\";\\n
    "}');export{f as comp,y as data}; diff --git a/assets/ordinal-Cboi1Yqb.js b/assets/ordinal-Cboi1Yqb.js new file mode 100644 index 0000000000..de7dd9ea13 --- /dev/null +++ b/assets/ordinal-Cboi1Yqb.js @@ -0,0 +1 @@ +import{i as a}from"./init-Gi6I4Gst.js";class o extends Map{constructor(n,t=g){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),n!=null)for(const[r,s]of n)this.set(r,s)}get(n){return super.get(c(this,n))}has(n){return super.has(c(this,n))}set(n,t){return super.set(l(this,n),t)}delete(n){return super.delete(p(this,n))}}function c({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):t}function l({_intern:e,_key:n},t){const r=n(t);return e.has(r)?e.get(r):(e.set(r,t),t)}function p({_intern:e,_key:n},t){const r=n(t);return e.has(r)&&(t=e.get(r),e.delete(r)),t}function g(e){return e!==null&&typeof e=="object"?e.valueOf():e}const f=Symbol("implicit");function h(){var e=new o,n=[],t=[],r=f;function s(u){let i=e.get(u);if(i===void 0){if(r!==f)return r;e.set(u,i=n.push(u)-1)}return t[i%t.length]}return s.domain=function(u){if(!arguments.length)return n.slice();n=[],e=new o;for(const i of u)e.has(i)||e.set(i,n.push(i)-1);return s},s.range=function(u){return arguments.length?(t=Array.from(u),s):t.slice()},s.unknown=function(u){return arguments.length?(r=u,s):r},s.copy=function(){return h(n,t).unknown(r)},a.apply(s,arguments),s}export{h as o}; diff --git a/assets/organize-library.html-C36m5Udk.js b/assets/organize-library.html-C36m5Udk.js new file mode 100644 index 0000000000..8488bb1f79 --- /dev/null +++ b/assets/organize-library.html-C36m5Udk.js @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as r,c as l,a as i,b as e,d as A,e as p}from"./app-pLjDz5vt.js";const o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACSUlEQVRYhe1XPW8TQRB9Z5sQW4SGOI4SUYKgogGJKKKgCGVEFP4CoqCAig5aJEoKOn5FSlqkSHxENESRgAoiokRESuzYDrmdodjZvd3znnMnn5QCrzTaGe/evrdvZvfOETMzzrBVzhJ8TGBMAABqxvm1/gjdPxuFHq5fuoXLC29GImAV6O59BogLWW/vA3r7X0YiYBUA6e7q/Y8AMwCWHxlsYzEn/rZ2txDgucY8mjee4UJrEYBbA2TwyA18cGZ/nCmZmtNOOtvY3XgZUsBciBqs//M1mAhMLL34SvsXrz8FwLiy/E5IMTigUBLrOd/XVhAf/c5OAUBgFlBFgySU9s2CYAfYA6cwEYuTJqBk//IQKU0AlCKhtL//6RWiagVRpeL0USpO+onpVU1KZRGwKRA5lfIkNwQgJIo30kpZnAECxhFZlS+5S+L8zE005u8gl+RSGwxOinYoAVNQloBfA5OzC6jP3bbzQkfTLTxOj2UT8E/B1LUnzmLhKqf+D1D3K5hjQCzLn5h9KAQyUsApBdydhKqceltQ3c1TgZNYNpFXgfjwfWDBk6FgYWAxm4JcRUgA9UsBtr4p0jxFyGAw9csBtn7OImRzpKhXErAoaG7OzBTYG0pLpRUoAdjE5sWWfROaFMjlIQRGBrZjRoFTUtBuHwJg/G0fgFl5wNpUYHGVAlYDpOJOx8PJVsCcfTouBRhQNgVDT0GtPoP4aBc7bx+g/FZFZ/1xAjrVsr79Imrde45qo1n4u7Co1RpNtJZeWALR+L/hf0/gH8bKrarVjSOmAAAAAElFTkSuQmCC",g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdgAAAAsCAMAAADxc1kQAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///4taG4NUGKyrqx8eHv//1IkvAQAAAJFeHuHh4tuRTNmMSWVlZX9RFy+J1GJjY9X//96WTwABDOKhVQoBAIdXGntOFteIRo1cH+SzguanWQAvierBiee6hdOILgAAL+KrfreRY4nU/9N+QF4GANB4PNyedt+kev//scxuNt+bU5hkI///9+r9/+3IjNWDQ/f//4qKigEHW+ewYDECAHcjBBoHArqRYf/8ygxfsf/+6vb29qZ5QbBdCv/Uiv6xXQcPHFWq6sT5/wUgdpnc/5xyPwEIP5+fnPvlwFEFALD//8qxj//tqavm/YCAgKBmKu3Zrv/37f2/cL9xFgc/leHq9t/UxMKpisbl+wAHJxVsuqROAmK1/hQzV2aMqrrI5BtOjLGQY3q54SF6xsq5ruj1/u20YZdtaPPp4Ku0yF9yklU7GGVcQH6hykiTzRQeSAtRpP7WnDhupD2V3brPwZJFGkAdBNP063I9Gy9LX6ugesN8LU6b1X7C+LCJnUlISdg/sGkAAAXmSURBVHja7ZppWxpJEIBHFNtJNh7jYNAoXolGBSUIxAtho1FcZQMaiWS9gsbbqLncxM3+9lT39DDdw8BGJc9+SL1f7GkG9OG1uqq6R1EQBEEQBEEQBEEQBEF+Bfyq+tY2lbEmMgHndx2slv7Eieq3+LVWlMU6E6/XW8VZLPOGTHZLGYuQddAbFKZXtHPuc+IvbTxY/D73C308UOpDx2pJ6ReRSnmt8rxyDNNs9f5xlJAHje5aEDsRe/ms8OLjh+QDHy4taL87/SofyX0r+XeMRrX6IOqoqNepp5xuznOPp8is+5NOTEIpEFuvDIdJaNZ8fVkPpfiwzRrKURmBf4mSi7sv8Q7FVt5rt4ST2RUwqulk+1CFJZOJVS4WSC5vLr/kdbBoaKNZn+uRJiDMHelEM5XwOvUCGOLQRXnqjYPZ9JYaNHxSYmyQjBAN4sz9qaZGJ4kaYLtRuQgbQ+Bsdmz/N4uTmgbhahbF/lSv3VOCUp5pn4NZl6s4z9rFglmaTmHaBNbaK0FQTyl1wDoV28lDuO9oCxfiimF6FYsnCFVwCmZdLldZsTtG3twyprerKXUgFkqnf1RGR7izx70L0/MPyfvqAm+iuU36c00QC+l3B8VeG7XEJfNqUwrcA5jZMmJ9ZNxh2gdifWSG18rTYTMeV/i/ASOuh/4o5Fh+x7I+N4uerstuwxPxcr7hY0HssEE7p8OglSGLjZVcUsm4KDZt9TqW2DaxHL4iLwOC2BWajKNEq7F4jc5+iPkG0axwxcXatHKvNxQ7VAhYEGuG5tKCFZBW1BtiHT54HJ39GE8Es+D1z0lB7N7eKNAGNAODg4NNTU137ty529XluldmKY6LMSiKvXz6jeVdSSx0QObuhRDHhtgDVc3WkteqwCoqu7ZZ0atS5x0edtZ6F8TeKytWNwIzeRqw5Vjl4jM3Z4lV2vSZRmslblTkHLvHdjQeR84wz97UrORV8Xrb25213r//H2K5NAhFUCmLhStDepwUxI5FzMy79FDYbzTEQklcL1ZSyLXNyl6Z2DbuVdY6MlJGbCZbvfZ4gVrw+/TiPhYyqrGhL4hVmnmE+6+sHMxdwoewKRR7Y7M2r4q3ioptdtA60ltK7MZJlG48QAiu0517ptAm1tzQF8XCLaxRnQ6LBwTTYSiqYIo1vumFzjzm2BuZtXlVqkCss9be3v5+WezB7teTGn4OkNhIwRpcb3q1LcWwQMcIDT6pwFqO8ti2Mixf0ONYFd/arOyViu1w1vrokV2sj3/pG0eHq8b1+WiYW7KLhURKF1xJrN8HssG4tBHBxC6b7auuJbCPvZFZm1cQ29HhrJWJbRHvXdYTXzY/Rgo96LKu6Wb0FYlV9mZStoilN80dE/mkVroDc+yNsXk1xDpqfTTQ398iiWVPvgibC1AhkXNqZTLoIJY9W+GTj18hjNlZkLQMnAdQbOWhYp21Dgz098libe1OMkL4zuDVWb5YrMOVv/0ziH0vqvbHyE6ycDjwNWwcDgCH6Oa2YludtQ4M9JUT6x+E0thIl7SKKilWqIKSLp3kQG3u1HpojZbWcadNyhC6uZ1YT2urs9byYtMQrjOQb2lJTOXQXob1KVeS2JglNu2Fgnp7beIKfuQ2LwuV8tzshXUMH9W+8OERurkVHg/b7e8y6TfoMyglNt2ik8S7gLLHGhi6v2/vY814JEZ5m1k8Bp9neZpe03/DUNs4pZW1f8U658EcW3mxNq2mV7vYScNVPd1t2l4zutVcPhjX2TOLRqMSZWKTh6oaUJIv2K5UZpcGKzk75Qr9TC243VyzPc2IYivGkKdwuM7P1yktJl7p5iaQFyXauuLeTxXiV0tEISxtOXY6zMMXellaZIHFvFgMJ4eo2geXMRJ6hmJ/Btmhsl6zitzIUkXSU91j9JFUKKFsYvlzTkZcj0Zz79fsvzjz6jiUgtD/oKDY/52Mqu5urUptKKyr+5tgzX9g296FCboas2E2UKqnnvhX7H2Usf2jFH7NCIIgCIIgCIIgvxzfAc5UOjjgzU9dAAAAAElFTkSuQmCC",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANUAAACmCAMAAAB6KDreAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///wAvidT//y8AAM7OzsDAwMnJyQB41wAAAPDw8OTk5P/UiV2w/9SJL7BdAF0AAInU/wAAL///sC+J1IkvAP//1AAAXbD//wBdsP+wXczMzPz8/Pr6+ujo6P//+fX19ebm5ubW5Pj4+NfX10/W+92VTteIRpJfIN3d3YxbHNLS0vnrutiNUO/RfuGfVeHh4dN+QPPz82mIhaB2QaKiotmwM+Szgr+oi96iec7+/4FTGLmQXPfhierCigB47NiHLPfgfO3t7fjmm/LVWnlQFba2tuWqYf766muThYd41/344MXFxby8vIdYF/XcbZtmJ//l7P/58ofl/6uDUue2c85yOK+vr92cY/zzz7OGROPj47Gi19ynMq16R+rh1dmbL+zSjQB4486/1+rKQ7Hy/+b+/yuEtJSZlACi8wC/9319fdiPLeCqP+CuTC8WLxNdXU9417CsWomJL8KtkV2wsGNxY0cvidSwXS8vANT/sLBdXV2w1IkvXbHy+10AXYx5Y++LnbAAAAzlSURBVHja7Z2Ld9NGFocHYhvFsZSH87DkgB2bBeOQdUNctpSUxYEAxQESoCEBSlu6hG67he32se/923fm3pnRSBpLSiwTx0e/nGNZsizr09x7ZzQzVyHjoygymlSZURRJlSpVqlSpTpZePbnIdEnoyat+jmYZBUImxk6dPnaoR2uKLj5YU7FMwyjKlblZQ3u6LsXMJNv92KlerV189OS6oideLEo1vyBWbCOKajjKipXUky8focAS17xYpvF+rCCL6v1kFJV2/UOLQ7me9eASxfp0TaE6mBWnODH2y5BT1XFBodY40AOmT6kYlkJVNKenuHWd+ueQU33Pqa5//Zmiq6h9D9XMZIlHAvr21OmZSU5pyjii8yvqg+iRM5PzCxZ7S2MNVYHvRT//lXvp3Ky4bv0qj4tL1z97KnTn6R2qZ8+e+aiIhT9qzi8wKrqp5DsXDdU+IzDYHpTqbwyQhkdQEfa6MmYY/55FxsSLllLdAf2e6XdUly9fuPqll2pirAjXvESAamIMysBGOD0VlAlWBLRs3zH8mf8twPHYly3jXRFWSvI7A6BSmS4EqOZm2ZnY9LeBip+Fci5BKixGMFaswoTQfi20PWac4jVxKi/ThY8+8VHRlwJFg+vOzgZKSTWbnvWVBVdCsVRulRYHhb1NlTopKj/TR0EqBgNmiFTgUeq5RFBhUQi/QqqC/GJyscJH5WFiVLe9VCxeWOj5cLp0I1plBNXcrEtF3xdljBFUbG1irEQGQOVj+uKLINXE2HsI75yKLv5ulMJaTHj5Ia5wKr7Aj6RP2kYx8VhBqfav+pl0VKyqKbhUtOz+oZqNJgayj+miRFwq9gl99VBRpxtAjc2ofEw6KnpNRSGd5m6vngtEAaxihQU+gHW2k/ArC7YceCzQd0+QlB7sX33GdfnZZS4NFW1XEIVqbtZjNhqq0xavcN3ADVvmfFS88kucCvWJKoVKr+TOxTQSjxWErPEWLddtrrXIO96EzEapzJK8v/r5Dxr9HHGTbxtJnYtlHHdfgHubn5CHM3ccRFEdlSqZGoZSDSBUpEp1fDqTHcE/cmYUlVKlVClVSpVSHVHfvSHnXpwnSyeJ6uCe0BX9Dn+mlfiJo7r3sdSB7vNv/gQ8J46KnGPa2dmReD8pfDeunfv8JFKdu7/MtLfztdDH90481ctzy+vrKysry3dB96lejgbVitT6+vqyQnXjGjT5twXVY7a2BKwvzuCGJR5RCNCzHWnQXDpmqiuUCng2lrn27r+8oqeikYOvchoa9SmL2CzCyjVy/FRf7QDV8n20Pqavrugt8Jv/voCCoeX03Zudv4rNjwkUHC7Okzfbx2+BlGpnBxxqeWNjff3mzZsbPalkrH+NL/QVAFVrPM8t8dip7u/t7VHLQ6aHDzf2QqjQJF+zDdus2MQL1te0/M6T7TPDQHV3b4OJMz281ZtKOtBr7lGPkW9JNK2Aaml4qCTTrRCqx1gOwMJeb1xjzqWU1faZYaH64e6yynTr1vreD3oq8CIwwtfIgARQaopfDQuVyvTttyFUwgxf4wf4kRIDPx8eqlcbKysPEQi0styDir5AbYUWyNa21UoN2YaEyrz69EeqvzC9ZPrxqdkrBp6HKphTyYjOcbf522GgOtj/Y0D7B+kdfkqVUqVUKdXQU43k+FWqVKlS9avVZs6jRnkUqPK5vKqG06iNBJW36Fq5xuKIUJUXa7XK6vh4h1SqLSdBLO+U/LjZWv3nXCAVxaowLFLrnPUaYczsOTFlNZrKjJ55ZvY9OQ0tsLxIsVZXx0m50jnbylU9VHGy5/hM3NIwlVV2a2trc3Nzdxe35fIqVfzsueAMaA1VuMEmNNcTqFqNRqNerzebNepfiz6qQ2TPBWagHpIqsSQmGQNlxKj4qA6RPWcPFVW3281yG9wdr/mp4mfPMSoBYotMBHe+rcevwBcx04snyXDvLCmHExl4mO4m45FlGOHzkoEq32pJIwxSxc+es4wS8VP95IZHlcoSGT9u/PRRYQohR2eOII7D04VK8WphHgiDVDGz5+hpTE/5qUQOIObMSSoTOS9Tqt9OS4/kxLiwsIRxYULhYM1i4r6RVI6TozaIRqihipE9J3MsAlQFXtEVVKrAdH28UiqVyBTCHAEkwd1iJDAAVTWffy6MMBADY2XPyeyXgAUuuIdxqWzPiUn/UankLjaWj5uFwgygdJh2IAuEGqpDZM/Fo1K+LMrZTyV3Udf48SzDCG9+AFWzmXFy3Ah1VIfInpPGZXqorF5lxW0Ud+xRViXio4KvnYqiOnv2LBohtcHFsoYqfvacTGuyVL8SuagF6TTimvCv2kbQr9QL4qdi9hL/ToQ2dHVU8bPn3HgnYiDGYhllYF8Ml4Q8msKgwLMtOIkvBrJtKpWJ13k+iopVVJkMBsIy0VBFZs8pa+gotJ4qiUxv4QVKZOd1zvQUr5V+4bnESn2lZrF6qdxqLJSq0+lQG6RGSAMh0VJFZc/5MwTnF2S0MGWN6WlbmLwmAKyCzO5U2xamW9l6LNAyorKD/Bbob7P3arANd3rO0aisASRdDrA3BhRJZQ9NeljMnjOm5mrYN5LLnhsmJZc9lypVqlSpUqUipFJ3qOq10aKqOtVq9XmzXhkpqrzDXjuZ+uqIUdXGKZaTP/IhsCvXHsTDRvqgWlytLZIglWn0GHDTUx3puRyDuhSMqrJaC6GK5OqjrAZIVa5V9FRF0RdRjEEVfvLFUCor6VtRFi3Ki+XeVNBtXOiPygynSv4JaBgDSRiV6MA/QVSdjLPZbm86mU7vU4H+V7dTq+h7dKXXr2zhidA7iP2Uhmdb0UvF+wXnF7gvAyHrKLPxS7bSiWbEGOPv1JuUaTfrOFu7u1vZbDavp4I+QD+V++hKlco9RVv2VLpU/J1b8l4qMRpXVDpJC6YYiOOfRkba3Xb7LVWOkOz3oLc9zMaCAToPlfLoSpWKdyb/i1JxyBJRuoHxIrgH9lqgGKCbnnKf/mbImRrYIT/zWxTVW1+P4Oav8anwPMA2FapAHyj2Z5vKIwXZTiUtlfsLBXfARHT2F4ID6tpmbTW/m8tXFjusH7BTpqv57NtKfAt0H/KoUHnDgiksxnQHt71W5KGyZQVZdB+xKEqxABYYyQVtdafeyrBFpspXKzoqKJlYVMrYqq0QiEGjcCoznEqJJb3lVCECZrt0sdhwNvPYyK1pqCzVuCyVCkpRW1bcRsUId5Fon6HqKyu3oaGlgt8LD4KUijb/Olu7tG1Bao12HVab9SCVyR/SCz+Avu55dKVC5do+P0XT41eB2tznV+4Z96CKnI9CqWjzj2TatHVLS6vdhNXnjq7FVCBuvDN4DGQ/h4+uVKio67CzmfvPAkYsW1ggR8RK692Un0r8AlZaMLgeoLJLJPqJfZSqstohTUpVGa8QSsVWq06wdcuPg45C66mi79GVamTnviOeuzz9dgyH/iFCi/poesrfDsT6SjheDyojcgoJWmBlHKloKVEqthqkUk+B/aCMFvLRld62hSUfK82W7pw0KA7bV4/aYrKNHJOUk4GCFmjGuH9gVLVVRgVtdkZFVxWqMB3/PzwIi4GEUYEoFXZjnGyqTL3K1G3DotruwqKeOdlUVah+nW4WFk6262B1fLKp+tJoUqVKlSpVqlQfSHlnxLLksHVbF1OyWqORJQdSppd1RiJLTlKNZ7LZLWqCW+1dp3O4r8O8Wtu9wdfJ+vBzuRhVvttqNagNPq9n6oGO9tAeELgZL1hu120EVfL/oyeMSq7W6v7SCqWCzjQSv6w+KFWOkHKrm93q5nLddnvLEwzDqFSSw1DZg540KahIrtlqtFjCcKbuCYaDoDI/HNVzfTA84VT0DUu/GmdYTqMXlRiIU0eSPH6ljrhhJ5efSjs8Z7Ep7TJdQflnU8W+qRgWoyKtXAjVPu9m1FIpI24y160nlbIz/us5elieubAgBx4KfVOVF2swOSYfQsVT19ir2t8vOjlxOyassPc8U0RngerOFpQKtwL6IwUxbGf2T0XKtdrqeCeUCkCwTzxApY64uek8Pag8w3OW6JTmnbwl3SjDUalYDy51rTAqkZepo1JH3DyDWzoqz/Ac30mWYgkLrpAMFUQML1UxPpU64ibHoXpReYbnNFQiwycJKnAthUqmRuLoSlRZuW2HGGWlNDR0VPDmSEGQ3Yk4m2rjndqgSiVTQW0197UHleoLYowJXF/vV4qB9aA6Ykcqu2vcbHtuSco1lUpktYmxtFAqz4ibJRO2g1SB4bkg1dzsFOnn34B5LJC5lid9STp1iURTqSNu/IvztzXtwMDwnI7KN3B2aCra/tt0h4LLvqQsSzl6BJVnxA3Oq6RrsweH5zQWCFfl6B35kKzUzvhLb8Ru9UeIyu2Woao7I0KldKHlcn1MKk6VSqP/A33/DXiqtpDLAAAAAElFTkSuQmCC",c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAsCAMAAAAdI2svAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfb29tmvM/366tmzNNiHLNmxM9mtM////9iJLf356P767P/+/P344vjkje/NfEx7MZbBcPfhgfbgfffihfbfeffjidmqMqXKgtmhMfDSgP777v333kN0J/jlkfbedajNhfXdiP789Pz22vPXhP355fTZhfjmle3KetiULv799v799/HUgens5kh4LJzFdunTafnnmWqQUVSBOvbdcWKLSaLJf+rVcV+JR9iZL+/Qfvfgi/334OnQYp21j/rrqJnDc57GeaDIfOjOWvXbZ+jMUtmmMvXcbdmkMVmEPtmeMNicMFuGQv777/Ds2diOLf/++f778PnonVB+NfnpomWNTG2ZT/LWg5O8cHqgYOzIeLvLst23S12MPmeUSYiyZYOvXvvxwnumXPrtsOHEZarOiPTZX9uTQZe+eOrWeP788qy0W2yQSu3ivrfIrfTgscHQuIqybcXCY8DPuO3UusPBZfPfrZiGN3KIQOfJSHyZTefKTauQM82YMKu+jIGcUu/myPVQUEIAAAHuSURBVEjH7dVJV9pgFAZgSVtCICbpRCBJFSMWExJoYkIARUFFJhFLQXCe6hDtPM/96/1SB8Liy0nP6cIF7/457z13ce/Q0CCD3IAc3rLl0CW605ff7pDHgwYCjYYoCsKYaXps2XwBRV7vpQHEXPXaswlFwWCgkc1GIhPj8fDqMuP3IwiGRaNRHA8GHVBDzAKyFg9nGAaQvwbH8WkHVCyK4oUhiPUYkQnH1yYikezwNFssQlGpJAjWaBmCiNkRy5ZKUBQKCWPWaIB87I3GsiwfCjkg07RGi62/utqAZXjeCVUqYNNXW9t78vjR8MP7d+89GOH5SgWKqlVALre2d02mlni+WoWidHqZOTiYnX329Loldfbr/Lz780faATH+PjLyQdEMo1Yrl79D0eSkH7GTqbctrXtC6522qr6GIwSxkaWkor15PjpK6/p+syzBEdYjCwtnWhcYFNUL+W0yB0ErKxjWI0dHX40T0IOihXxih1SgqF4/PU2lksmZmfn5xcWWQYMeKwlKbkKQz1ev98i3L1qNpi/QXEcmIejY15/PtY6uF0DPHLXLtSDo/fHtvnwqt8EOQA9FbXE5l4dGMtT9fAL0UG2OlNzetHdqc3uHona3OG7D/SXcUElSljlOfvkv91PKKSSp5KTBJ/lv+QP51mdxiBB3hQAAAABJRU5ErkJggg==",d="/assets/image-新建合集-菜单-BR88IMwx.png",m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXoAAADACAMAAAA9WFgFAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExUReHh4SsAAAAAK8jw8AAAAK2trSxiu/Dw8P///wB41xtMrQAsgfDwplgAABhJqAAAVzJmvR5Qsv//9vDIgQBYpoHI8KZYAO/v8H4rAAB448iBLLao1+zs7MjJy1in8tXV1s3NziNUt9ra2rX//wCo8qbw8Ojo6WbT/93d3iyByPCmWJCQ1/DwyL2+wMPExbS0tylctzNgreXl5WZ410duq8/R0//U5UJxwNu+3uC8eXm74QBSm+Hhu5vh4bvCztr//5tSAJDq/zq++AAAL0BsuYnU/5iowLO6xbBdAP/q7CZUrXKNtWF/rIWcvwCQ7Dp41xVFoSlToKi0xqanqvn5+bt5KSl5u32Rq1B1ti+J1OGbUv+wXY+dtKa41QBdsP/UiYej0lmAw7vh4cXS6bnG3QApeVKb4dre6FIAAOHhm6mwvFRupzdZktSJL26Xz2iIw///sF0AANHY4eDm7///1AAviYkvAIEsLI+VoLbU/SwsgXlSeYHIyLyrWi8aGqZYLGNdrk8AAA2XSURBVHja7N3tU9rYGgDw2EWl3NZCtVCRmBjdNNomQJpI75c4bSl0eXFX6AzsFFoZmXFG+6rd3d4798791+85zzl5AaNVl9jZ9Xk+0DTJCSe/c/Kcc1Ba4SbGdwoBCZAe6TGQ/u9PH19iGw/uPvz22YtP4/H43ccj+9boFdbcy4THs/gTpD5JzyXPQ/8ABBdXH56f/gFcHunD6Pe3Ns9LH37KmfSLT8eeEQyf/gkH/Tb9WnjXRfpL0y+u/vSzT/+AJPMn/G/Ejb6ubgZzh598eNYP0vPSkGLi8U14pXsCh3kCWqLbS9ecnvdmhk2bYY2Ywb7tLYqzvcUweRPx3rxKCFnT+PReaffIktvr+WGvzDPKzjavNT3rzkDPOjbZhK6+dveYvD7jQNt8UAikfW7t0nulaa8eSTj8sFfmGW2f0SteT3pwpjA8t1A4yvjgJ/b68wl6NwnRQh69X3rxqfuABOiDZVjTeKns+tJz64c0w7BYAsDVJ2u0/z8Z5WbNwDN6kN4v7bdSgD5YxqUPpLBrSk+BGP1mAHd7i7pvby2dnKycQr/pHUb6c9JTFpZwPAuSM2imYTnHXZIunUw4j4MJx0szq2cmnMdI79OTrvgvNsx6cw6yZ9N9Pdnt3SFz8+bIMPtwfPEVNsxu3kT6AP3i0ziF2d6iUmuboMVmloF11OIqiJFE5E0UHwfp/dLkMJtccuSRyeVjpA/SExzeJ2Ep5M7cx+fea3QUBS/4IA22AksqvzSsnjb5ee6Syi+D9DfxQ2OkR3oMpEd6DKRHegykR3oMpEd6DKT/S9DPYnynQHqkR3oMpEd6DKRHegykR3oMpEd6DKRHegykR3oMpEd6pD8tMjlTEDQSgmmaaga9rog+k1NNQVEkW5ZlSVM0Qc3lMsh/FfSmIsm2otA+L5iqmlMJv5lDs6jpcwResm1ZdKotEtWhrak0BCGHHT9KepLjFVEk7k6lV683Go16s9ka7udmc4Jion2U9DnNFmXZ6TUsq1xO0iiXy91662j2VU5ScLyNjl5VZNHQK/WGVSwUZngUiuVBs3+UISMvZvyI6DM5RTSMaq+xA+zJZIlGEvStypGq2YqJ/T4S+pwgG+JBh/R4kC992CXxYVCCvm/VRUEQJcw5UdBnTNnQXXni3t+DGO5+oPhFq+4Iki2paDd5elUx9GrHgi5f+jg8fkWCflU5swf2M8W6qNmGgOl+8vQaGWF7VhGSzYfhcWb2FUT8FbFPQs7p2JIs4ac/k6bPqJIuVhqQbZKD/r5KZvG54+MM1c/0B9S+eNgSbUPBbD9hejLG6nrnHQyppd2haarq/t5wuHdMO//eLqSccr0l6TaOtBOmV21RbzeKjL5/JAjC0e6gVBrs7pOD+30+zalIhqiEZfuNGMQ/frjqG0nHYutnn3HrtlerwOY3S8xPLZx1Tja2PDF6kuk7FltElYaKotmQZcqD4XEuow4ZfbFuiIaohtKHAaQjb4r0jXunH3x0fyEC+g14y8nRZ0yymGq49H3Hcfowr0mSJ0BV1b0SHQMKhcaBqOth66pQ+nPe6Z+Is9+B6V28FmfTn9nal6BXyfzmwCommX25VC6V4DOc0mCokdzTL6dSiUQiZXUcPS8g/UTpFVGvWDPJ5IwXdDs52JUVTXOaxTmIYoPQa7mz6NM3/nM/FqPVS9PsTzdu3SYby/CUfrjvjQfzU7FAniZ3SseLBZYo+LBBDP45RXfOT/FDMKjc+dFP9OwdYKhZZmr/ZVvsKuRcfhFaiLUCrU6gNbLu22b5xUbo0+5RqMOdH9mgtu4mnLRbnUD9s2ePPuP0piRXe9DPmTr8WZjpNh1bkpRWo/YLxM5hVc+HrWgD9PTOH91n5HCHcBNQ1WzMz5Dz//4hmDHJjZGTN2jdH/1xjxciSGRnFu5ug98Wvbhnz98hzfi9EmO9nhafnyL7uSmp6vzAGw+grHtVYPPpYSe7DDty6PZ6qDl7+zTdDNT/gvSCLOc7pSQzh9dCKlHrVhxRlm2pWZub+2WO0r8j9LZ56gxnmVZk3W0KVrNH99kruYlsbGH80V7wmOidB1TTZOvWbf7QLHsK6x6pT88bkP7BSozRwy4qBqePJgyv8flu7zTWYTxm/z19el5bXrOx+p+bXhM5/QzgFwo0t1vNqmGIolPpQrah+O9ael4Wzk4492a9TkthNvijSfaPTwsCfdR9vl2XdMw1cO+HtkUatvzsDVvu/dJLjCT2kVzPGobSByvB+kXgmvRGPHreM+i+rNdg6RPNEdg+x0AQQn/Aez2VTyVoYq9XdV039Eq3xjL95eiz7IGIjdGzVBxKn3XPH6fnZfxScIKrRqHOQb8RGCz8zuxu0OfKo4fhCHJ78HH06N2b3vhz9IGEw+Dnat1ePp/XjWa3lphz7d+18tMXpl8OW4fwMSGEfgNGq2wo/djzfBl6aFn3Ot+iX/A6SmT0gmRXe12QX2HyiVq9PU3sqTwNoN85pPTmBRPOegh9cBwYo+f3Fppwxu5sLOGsn4se8MfyTCDhLAcTjne19FkJh+y5PL2p2EalC/IMPpEo9trEvsLlGX6xUc1PS+elZ7CB+o/QL8BpYfRswAqjH18+jA6zXomR9wihD5zmDy58mIXR3R1mfUn/nbMnh9nAXPTi9Komi1VCX0jNcXmgb7c7xRSsphg+Sf/59jcmlz6910FgcrY+lnAAKhaacNZPG2ZJsl/ms8+RZ4dNLtfH1k+s4Dj9/+7N8pnSrDf/2aDH2ORyOTi5ZPMWmAen3cklu9Usm1HC5PLGvZH6X3BymRNk0WkUCzW3zydSQN+rk7mOhz9n9arT7fAlVYwtYEboCS2rFl88jQ+zZPV12jC7HppwAuuekd47uhoKZBy2pBqh9xZ4gXXZwsjyKLCk8lZ3gcVc2l9S+YcvTz+ryrLTsRJen0/Vip2vX792Dhk9w59rHOjT0wJ+ajzZD41lWewdevKEfucdjZ1aKuXh79R1MucxkW+yPypRbNmp73D4BIHeYZFaWVnh9LXDntHO2/iT8Qn/gNCUZKln7fA+T6JWtLrdcmEFgu3oHOhtHX8XZ9L0GUWUnB6jp9Ar5Xrv4KD5ccazLx4e6GRWj796OWF6WFXJ1UZxjsmnkoNK1dCrleQKD5Ju9Hzb0BBv4vRkfmnbB40dt9N/dETREKtlLl+0ero+3VYw00+ePqNKJFrE3qWXSVD6AshXqno7L2Kmj4CejLSKrcitukXmkysryUHflmxnN1kg9IVio+eQRI+/fBYNPdlrS4rmNC2yql0plHb7Q2d3kCwUZpJWoyIb+Wkdf/8pKvqcaduKcOQ0D3dqKzPJcpn+jneh2K23HNFoT+saJvqo6On3diRJE+R+pflxMOhaVnfwsd6sVEWRLGMNBeeV0dHTn4+LkqlmMvtOq9IkUWmJimKL+vS0jJ/dREufUU1FlukUMpM73iehKRLJ8nlRU3GEjZYevkSowLdmNY1+bVk0SIgSfnczenrQFySRhmHo9KNKW1PR/Wro6Vf1VdUUWJimij3+yuiBP5ODwH8d4crpMZAe6TGQHukxkB7pMZAe6TGQ/u9Mj/+33Xf7j/BuxjEuEEh/reljSI/0SI/0SI/0SH9++k+fY89fvHz+Aumvmv7T59+24nGk/w70r2O/xpEe6a8TPUn0JH7bAvovv8N2/O3UG3qM/fGe7IN2IX99H3uO9FH0+i9/vGDeX36/swroy3zzPT3n7VTsDfb6KBPOS2JN0Zk630//eDtFWwHpI6N/GQPlNzQX/cqnP+wkln+QPhL69/CvVdAt2vVfu20AeR7po6R/HaPJ/D2lf00yzkt/wEX6iOlZ0gH6T5/ffPp/e3fQkzAMBXAcSE24ceXE94DNpEe/wJawgwcSCRxNjB6MfHbb124riMaqJdL930GnAt1+fXt9WyA+LqZBwVlAn5LeLqNPzzIBd7M36XLaZdb8AH3KgrP2y6ypMIfDvev7XXO5mEKfepldS8GxV1eLtuVRSk4A6LlpDD300EMPPfS50k+hhx566Hmn8dW805jgow3QE9BDT0APPfQE9NAT0ENPQA89AT30fxEXvlX+Yfybywb0Af3okvHP6C945NBDDz300EMPPfTQQ99Faf+Rt6plezku7LdGzW4T0lf9gN/cwy9352rpK/WwGY32Ozk6R78cR8hH0zcy4EjXQ6dvfPq5wxP6/W6ySldwmph8z5m+nEsKSqrXjr6cR8lH0u937YBDp+9zUCbB0mu1TbjMNuGryzJjp8KM25jNws+OUjL7y7HbyJO+6jNcm01DUMUWhDh6HZxS5cvK1ziDbGagEXv5Wr5uXFrYx+dJH0hUQt+mXiL6M4ra/MYt7PLHriLtd4UvUAOhn4zjKv2v6bVyZ1u7N11FciekfUL+BUeyr4jq6X9QcMJXlwb/hL5LBq1c5Ep/Zpl1jX4q+ipYZhupbtVn9F1W5Enf93pdc2nSrUhH75ED3BP6bm76Scr+kso3edLy1cnow7TXbm09pu/mpp+kfG8kBPcO3OGaxnqbjL49qXTtu8eTWu92yDaXWjJAb7OllysY5a09gekx62T0wYB2ma1PCk5/JWXXAnlctvTcNIYeeuihhx566KGHHnrooT+m503eQ6Uf7kcbhhjQQw89AT30BPT5xTu0tbEC6bU6SwAAAABJRU5ErkJggg==",f="/assets/image-新建子合集-Blwz3kC6.png",u="/assets/image-显示子集合中的条目-DK4Aoo50.png",h="/assets/image-合并重复条目-BJZ36HBP.png",v="/assets/image-回收站-DxakLr9u.png",z="/assets/image-menu-文件-DiIDoHOA.png",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABhCAMAAAB8vO2pAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///y8BANzc3LBdBC+J1NPT09fX1wAAAOLh4aysq/3Ck//VibD//8/OzwAAXcvLywABCv//1Py8igEwidb/////94kvAMTl/YrN+mAIAwMKGvj//wgAAP+wXQNcr6fb/aLZ/xIDAMjIyJbU/v/87f//sAABK/7bwM+EKl2x//L//7i4uL+/v7Gvsf/63wUPNhweHeHs+Py2gPzgw4nU/3krCuPk6fbs2+73/+arWx8EABwTCoDL/gAITP//xD4OA8e1q1en5QETYOX8/yd8xhVoudP1/N2TOk8LAN3IsZ9KB3q+5b1tE+K6dpFRIKrs///rq6uvw+bbxj6W3nis1O/TqANEnDZxqMr9///07AAkfC0MA7jZ7cqRSv/dlvDk3w0wZVErE2u8+mVlZfu7arvM4ZzY8bx+M7z7//zOg6u9zsfd7hE9dt32/966h1JLNapsM/3GeKHn/xxRkbGPajhOWVaNvxwzSv/loaO94r2Pp/TNlKmOqxsHXWVxiau906kCeqwAAAksSURBVHja7Zz5Q9NIFMcDBSZ1l20EukAbjhbkqFKQq4WCiOWUw4VyiOgiLogKoi5e617/+r45ksykSUmLsC2d7w/apMnry6dv5r0JeVUUKSkpKSkpKSmpa6pqrFqsQCAQVSWQfOGZ7KKSXp7w+C1V0isc3nelt+hfS7u/23n3GsCrhX9Gq6sNZuodN3o7KpXni/ahn350ffPrgjYbK3V4tQBvlM8VlXcqnY9sQUyh7caLw5tHud4tIXjVAUWJ1irnxJ4JD6H+pYLhJb49Jv//UIEuO/KCi39cAbxaAZ5b7AG8GRi16x+nEHrwqEB4y7qxb2c0fLlX9usUqroCeGqUFSnd3TnoATzqzM2fkSe3nOD5rm6wQmxfOrwAHqm1AcJucJDRu12ZA55yEEGtYQlPUQIB82X3YF1dDnoWPHCrvoHNK+t9/r5jk+TOot/vP0y6gOpU1Ydo8qWqwojtpGk7uIc3Evf9a3PkCDj/36R1AmyuZWd3OJzsTnCpP6GOxpgDfccxvL1SQaaZZJaf8Jn45D7/2lviM1g7jNlt5wkP2N24UTc4xOjV5ITHIu/PfZJAnreRraHVCNmcXHKGB+dRAXoWFzAF1M89G4d92kxaWdnl01GQ7Efa9lvBytCqToxUKR/GUSu76lvNaKtBidMzsH2fkdx6s/yEY1vj77GR0HSYfciDNpttb/CiPDtMr9uFngVv3ng1FkFa/7sUXG8TpYVCdHM4H3hHemgATtIyYxFtYAD4T/5Owg7MaV/2Ybt+jjPySzN8yqf9FJx+bwRNPjJmEm2anBH68i6l2+GJfmJ4PkQ+M/SiR6ef+eSxaNuTolGBHUevr8YF3usKlm3xi5cQITBAtvAw9j1/GcYBE0Gz4fPmPAueFpqOKUG4vq7dSbAWfwhZHccdXNYZUIsf6VqGqz98OF7g/80N/C0CMrYX7LboqBWvaRJ/NQhzns1PgKf1L8HMcaSj/t0TKFqHRoghwbYXqdFREZ45cmv6Ku3wzmBG80Nkd5GBBZdJY0TpQV0TOPnEjGz84JV3eJQ0jhpiBNYeZEaFSmMrzcw9eWwagGgz5luIlAW0FWMvwAq4MeyQMOx+YngZo2yg7+AJwGbbIz01i143o1fjWCRrZ42GdzOOiW2ZEvIIj10wmKcgYBc+hn0hZJbgmMAFkm+GJhQDy5iOD+5B2gsHeHY/AR5zogexd2AXYBNsF0yvjtHzVzvAwzM7u6jQhDldt5oZ9f7HfXq1DNSmn+qpCzy2A778Kg4whIsRby1s1qcDdBmhk6fGFhRNGRpbeDzCVv9GLAue3U9KijA3LOOpt8Fm2yO9O9n0hrLpkTmvc32VTSzke7OE4QU3R1J0i4dnHFblAo9diBW95BiIAk69YsLQnm8kjTjcokM8w4Y+6v88Z4Nn9xMjDItfC3NDsO1RlXZ6dYxeNjzioVYVZslVcCrugzyvDXz6Z1WAd/ob1VJe8OAKneEptMrAMz6Jqv4O/C/NusGxXVLbpAWDPgd4iiM80XZh9IAdGbhZw5Y4c6+ZlSLLkDhU1bpRNa+js6dhOi8Pe5/zXCKvGT05Nq2LsZD4CIzoN0hiDozMssvtPN3XWW1jGrT7mQOeYNs7vUquUGaBJ7KzShWoKkhlMi/Mz3gIsVlq+TvAM1K2s+JQDpFgg5RR3/B63MgtOPpOp2gBw815gp+54XG286dXV+fCzoIHDhPvDiLmFy74ZGTQC8GDb0C8ZNvtpmWWBQ4iXcM9fC1DUs8Mb9Dm53nwLNve6d3m6Dmx41YYMFZwlQyhRlcW8HmjdIWUZpHpCs8sxc6F93rcXFnEubVmMCkaguG9PYJoFZ00a+IqWvvRvGDz0x2e3Xb+9IZc2HHwgpC/8J3MMVwaJEmWbSUO0LXCbsodHqzsZtPKXux8eDh1nuApdGdlqpcPm894qbu5YIzqHhSKsFHm2z6mdQuJWcAKKxYMXvTTHV6W7QLoObPj4GG/QuAfXt8gujRspREHK8YILFbd4UE4IC0lrm2d4eE1E7aX0oVki7MwXZZOm8PAGJU+drw2mzZKlFCkN8vPHPBstvNQjXUfyoEdDw9zwtNMcGWK/VVjjisU3ubItvTGiSd4UDfQeyRc4Qsn0PseGruRQ2dgNjk+E48nh2qYjuinK7ws23nRM9ZjTuxcJu69+/43o8bFda73vTnvXhgcc+y1CoVj/Yd3c++Mc0tf6k2Yu/FnuCP6md8H5kfPO7siECSWTHF4QuiVFDuoK/Iryi6Tnr+mpNiRP2GGi8WZan/psIvXqqdT3v4MelX0SifuyM2DAsoKKQqvsLJCihQgSQlBSkpKSkpKSkpKSkpKSkrq/5FsGb0gPNkyWjA8fku2jF4AnqSXHzzPLaNSWfLeMirlCM9by6iUIzxvLaOKMpSr7d3U5be5FhU8s2W0sTEHvZsPPbV4XEGba/HA41pGGycmGD2nllHh0VN3XUGnZtGIaxltnOjoaHKnJ+HlgAfs2tosera2vR11fYQ83M+eXsN9qYfmn5w7jT5bW5vrdYcX5dm502vhW32MZyi7NsgDSvSRUPJzFT6ntpNrK6NllLHj6Lm07WF4tC91SqfdHsEeePHl3YBedvCMllEGr72t3aBnbxm15jz23Dt+5Hqyg3bN42d9499eldmcZ65mG5s6CLt2jl6NM7x5nfUI02bMMSHOygqejV47T094ztGEZ3UP010AL1Ou8Mz1GNBrb3enZ8KDMpg1/9Kn/mE79DldpvDMpkeTXkcTpecM78M414IJ8HDCQCHSfVOG8Oz0gB2B5zJsW5AITwmeLpDu+bmyhGeuZgk9Z3YWvIMIKYOpaGNIcHFEZ78wVX7weHou7Cx4+On9bAub+0js1CwnercNei7sLHj3mh27Ar/S3+koR3g8PUd2uEPO/EUNs498D7LsDn19i/a3mm2u5UnPmR3pvc7EcLsv8NFI/2Di/d/4F1BIW2z8SCflntXmWlY6p2UUt8ihUAqvbVcqSP9qCrGfj8Ebxu8iWG2uZUYvd8so/cEvcldlc4R2pp7gFhL622NmoWy1uZYlPdfWvZ3FtWPWs5pY9K+ZfbN4g2tmtdpcy49eabU9FhO9UmsZLSqVUstoEdKT7KSkpKSkpKSkpKSkpK5a/wFa35oWleEfwQAAAABJRU5ErkJggg==",q="/assets/image-使用关键词和标题自动给条目添加标签-Btk-s_U4.png",K="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAD8UExURf////39/eXl5eTk5PPz8+/v7+Pj43V1dfLy8vT09OLi4vj4+K6urvX19eHh4d/f36+vr/Hx8fb29unp6ejo6H9/f+3t7efn5+7u7qurq+vr6/Dw8Nvb26CgoaWlprW1taysraqqquzs7Kamp8nJybOzs+rq6vf399DQ0NLS0p+foObm5r+/v7CwsKGhorOztLm5usrKyqOjo6mpqdjY2KSkpaenqLu7u/v7+/n5+fr6+ra2tuTk5a6ur97e3rS0tb+/wK2tra2trsbGxsXFxtfX2LCwscfHx8DAwNHR0bS0tP7+/tfX1+bm56ysrNXV1cvLy7W1ts3NzdLS03g+M0QAAAGjSURBVDjLzdRnc4IwAIDhRBOLIFUqCigb995bW2fraF3//7+U3vUiQ7/7fgp3zyW5SwIATx7kt5VdtbqrbHn4iMjjGGks32W4H4n0D+YIgJF5+BtjvwlN9cb37fO7oU9DPiNJFwj2gyGTzzPDwR7AiyR5FP4xjgAyLImB4Gj8uFaE4/YJDMKuBuDUHjt33+md4RB5GsJzr+OYaGpNRpSv0cSa3qaaqHXIcV7DcbCuTghqdq9hGyHnlpCNwtdukyCtJYiYQ2yeIeVZxGFRaGkEWTVOxFQz8eIo0aSwyNUsghQlncTIZWyFcDKtKASVSqaJKS+isGmWSgSpSiCVTGfcy2XSyVRAUQmq1zo5WyH2jcQi2+Q6tTpBmdYnH7eZiEmiTeL8ZytDULBbLZcFgef5+H/2UBDK5Wo3eDuWhVoM3KmoLhwnvLY2dNAXvbHWzqui9T5Cvj56muuii1J7SXtatiXRfTVpw/iKvjqKfhkG7bvkcylbiJIKWWkeuvOkGrr+virKs5lcXL3regPff5xahKTJD9+wUKhkY7FspSDAZ/8l/QJF2zhbfK286QAAAABJRU5ErkJggg==",U="/assets/image-标签-qqVEuVah.png",H="/assets/image-删除自动标签-BiYf5qrL.png",S="/assets/image-首页左下角标签区域-DY2C13Kx.png",T="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAScAAAAsCAMAAAAQNI4EAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///4ovAEVnmYWs0oCp0NX//3Kfyv9mZgAAAAAvidSJL///1C4CAIuw1DteknaizObt9W2byJK11zhckHumzf/UiQABCwAALyU4UgEDW/j//0lrm0Jll+Lh4kdpmj5hlInU/5m72miXx2OTxbD//xEDAKHB3TCJ1KjH4KyrrmAIAK/L4u76/12Pw//48bNgBkBjlv//9/2zYQEGHABcsCc7VP/+r/95efH097fR512x/1IKASd+x/ft4uDl7s7+/2qPqFZ2nSIeFmKCo3aXsuumUf/94z6W3f3enf+hoeT7/xMaHL38/4KjvCE0Tv/rrQAjf6FNAgARa8vb5/vtz9nEr8vu/JStxP//yXoeAT8AAMjR4MKsrKi4zGWz5+zYwZvd9+nAfrt5OAhAlgdRo6rt/wEHPRRqumu7+/Tk40+Jvx9LhP/+u20rCMd5Ht2VPOTfqDpNXGpEJ//LfX/J+IjR/aGbkwdjtY9NHjR9ptOpZVGh4/+kpL7Ey+KYQfOymxuk3mkAAAU0SURBVGje7Zr7WxpHFIbXS+OEihdMMQKrokFFQBfRGAuIYEDUmsSImsRr1GrVatTck7Z/e89cFmaWlVtc4Hmy3w+w99l595xvzg5IkilTpkyZMmVKR1vzTlAvqJHKBVLiWyYZQWtOHUwuRYmbaARMcaC0OUvVQfUENDVlsuGFk24zh4fK4XDUJaexde+OHy9EyWdm2ztTraadzpkZLutY0ilKXXL6tQHd/wW+k57QLnz91oqGq8lJ6+H1zinVgNDnGnDa2fT5fCNYQ1hut1vpm3rIx/vidAun6cUxzVUy27ES2grubd5NPFlQTeIJcxIwufsETmMCJUJKBDWOeh4Vb+rvUTR5N5ykaIdUfU6+zRW3zWazWq1NTc3NDx60azkttuTpnwo4Pb47TlRV5dTr86085THlc5rO5zT9s3HqZZw6smpvd9tETi064rJSlldRz74szzrIenTb6/X5s3v3vF7vDKxG5aswOpJluSN3alSW/Xiw9844iH3BoRvZ7czTTtXrcpzYfspJbM9gTlaO0z1bWZzgbqlIFzJfPHi5e5d0LviN7oRws7Cj+BCwoO7+t2Fy7ob0/AIv2CNLMO4jFGGHpN+gE0e+j3f3M06pA9Le8YcqcYKko+bUfu9HOD0fRSh0nfAg+zD0Lghw7M9uEp7bOX1qtS/D4ejwahQtJxJw/He4Shi9YAPoOxT6IN3OKTKO6PlkADSSUyPmlPNwwNRZHifen6Ajoe8AaO8CHe+TjtzHiZT69IeuP1mQHR1Bx9NhZE/gE4NJDyYUHFfpiI6Uz2mZxB8Oqp4/jeY0sjKX83DGqa0yTu9IOLBHTfLn90I+DjH2EhOEAhsyDadXapUgeN/KEg8WFqQCnNAwze9LxB9ngBobR0aezgmYKucE/WD5QnuUFO5elxPNwsdhNR4gxADtq9cM4KUQJ/mc6FHExg6XjOfEmVNn54DN2lYZJ7jbCL8J1kOBpYKcaLwBF5ZeE3QTBOZftDTNubgep0lHdo+KzFhOOUydA9ZKOb33oJxgE/ZxFHKu3c6p+6PGhhgncHIMaMJDcBUY79TyY7WkEu4HOc0LmCrnNIFETlKQjPr2841bOfXrcwInh/iAzxexeuLEmdPAwCDm9LAiTh4UkVXR8jC4fgNBRkymHE40kuCMBakkTtXIu6G5eQFT5Zzgxk/ym0hf0LKxLE7gWJOOpGa0z+f0WfW+sOE+PkQ55TANWpuA07MKOIHt6j1VsPMjf5mcwMl7Hq2S8wpxUtOSq+AN4uTCnDhzGhwMaDkVfQ++VP34ktbhWKfweJ841IeNxyU8qMVK5pR+Y58LCy6ux4k1B68BuK41UC7KiccUaGpq6+I56cyrLAoX+Q+hkyXp1I+HKftXbNqZAxxhlnP8gps6oGUU1JChXUdwtjRO4MzLoovrcgqdLUnBqwtWphrLaT7OZx3m1CVwKjpPB3jgxQN34S2UyPSFi3BSVw5jLDlQyDNcGic8KGhr7HxOX19DC7gaOYxJVeAkYMrjVHzeF+OhXUjfkKLAfr6vbgY2Z9Ri6bt9qZwgTbW5pDPeZb7wLRjKyQ2ceEyB5mbgdF3eL0Z73jVmudF1b3YZr+zk5o9glV8rOk18VMq0UmY715yBnBTMiTOnQOAMc7r+t9Y/riSRxsVrKpeCfzfA8+Nk6pdOQwGnmt9YqkHr4jWVomgx1QknKMgX6geTFFeUPqo2qi4iZ01vKrMlf2vVFlu11VZc5MQw1fZfPWQq+fijZKooJzbHYKqggrLfhGDKlKmfU/8D9/8kHJdr1WMAAAAASUVORK5CYII=",V="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAAAsCAMAAAC60h+RAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf////Pz8+Pj4+Hh4fX19czMzPf39/zVPwAAAMnJybFdBK86AO/v73Of3HGc2l8EAKgsALH//wAAXfn5+S+J1Xej3+vr66sxAK01AAFcr4rV/y4BAAAALaLA6v7UiP//sf3XSubl5dSJL8/Pz9ra2vbn4f/86NXV1QcAAMShe8jIyLNBABUEALlgAAIyi/L+/9LS0vvm1m+Z2QEHFP//89X//8KVe/Hx8f/62f//+P3XYfzx6WCz/ODk7qurrAQNNf/1u/7kd//to/3Zo/vZnNTCrvj//7ZHAEgOAfy6af3hxujx/v/5xxccG+T9/8GSe2yV1sF2IU6i6W6X1/3z///ts/Tcu+np6X/D6e6nUn0oBP3eQf7ikqSzyMHi+f//u8DR59ejWN28hFs2F8eCMil4wCMbD9ny/WOz5/3q8zBimau9zr+Pe5ZTJL2rq1mPvaNRDjFDSAMRRhhgrqmOq+Hhn8aqo9iXP+KYQdH4/+jDlJhBAOrhzgAVbRExayBQk2swXvEAAARXSURBVGje7Zn7f9JmFMYTXlZeSMRsnQVrdVSk0kJLKSiXFmhrqbU3e79ou9mbulmduvvtf985b95wy5uM7bOYyfL80oSXQr6c85xz3kSSPHny5MlTj+jhw1QqpQQFiqu9yqsIeYPxnoMd+IRJUUSLwaDHy1ScfzDt0AUlMo7yyoTcvz86qij9/X19fr9fluVCoSCjrHlnA4FALOHE5ZTOk7VBp/2bGh8H3j7kbcG15s3HgDdwa8eBa/nqKqWff4h8jvbx8DZwrXnnA0zLtoHaO+7m6/P1m+3nIcrjW/zxS4d5jWyW/4I3/1TnLe/Yxul6F9++sNQZzVJihf39KTk06KR/o4h7jekKKmzNy8NrG+AvuuO9dcMqe2/ToUEn/Yu8cgM3HA7LfgveYszgLX/98fE28tnPeG9yhaf8It6R1d2jBi7U6IXl7IjgQ6fJD8BLCNFzU8q+qVafNfrMdL2qnybI6Q160Xwba0ekkpHyw2STDh0QPHaGNxpF8zZ5pwS8uy2krSovm4PDxYK39ySJx+8P9J/sPM2WJu5JIeNtM81/DdHPPsXs0AXHzvgXeKFCceuGw1MC3tmApbJ2vJCztPbueZLmXiIuQObenT1PusQLSoF/oxEszRwXaKe2Tbxz1rwPbPy7e5XWDhZZKf4Drv5Rkn63jin+/T2hf0Oc0WH/Im+z88p+1L/CW0IjsqPDNN2SpM02Dpd5GWtB1VXol8b+YT638OJBpuWlTZqbcZPX8G8Ew8utu729sbGxv+/vb+Nt9t0OxZZt+tEjFlXWx55gjYLz2rWMe7zoXwX9i9ncgrtBfKrqa+9Hu2LcrF3/PaQtAl6sV7T27QuX8zkS4dmsDhNjqeAjHf13tVvcJu/tDl4pfwL1muYu1t3l1XitUofvGJnuI3c75w0BcMJ+vvqZ0i1iqLLIOvDpGTTkiV9c8+/j0VEzL0RXHTPNk09Nw8aOPS/0ny3z5ul0ibKXXfNvRJPbeQuEqJKJd+Rv8x4t0Yl18zqUrQt387mdl+GaeYvmfBbvGVZZMcbN41t9rjJu1chthWp+iV5fFPIetk1dTvPquOb9wmw3vZclwm906OVivsLIcliOS3uv8RcIfYPb+OJbvQ3DNvn9oDSyYuaFBJh4ISXWHfDvY+ZfPlix+sxxzfEVtOA98eceQknKpSGGpRPcH6ytpfXyjOPzGgzT+lQpneNaesbMCwkCK47Mz4oyHtI0Pkeq+z7EHZCEvHPdzJJ6gDeTxv7o1zPWjHIssif67qh2RZ85iq+Tgv0Cv/XhxH6B57POC0NzYWC/gWvJG1uYLs7Z8+I297jCvZmoV49JxrhhU6++qjRNm6i/qohvbf3+5tmK5DSvrLY8QxkT+hdoWQTnbPrvf1bo38vLS027A7qLmgTFJ+Moc/+dLXNaRnwUK2c/vkcMSjQS0TTGOalzxlnM8QGS1IMCXk3T/ifPy0BqPGih3nwe6smTJ0+ePoD+BLiqvuCRxQwDAAAAAElFTkSuQmCC",L="/assets/image-添加标签-添加颜色-Bwr9gLuh.png",k="/assets/image-选择标签颜色及位置-D-Lynmwo.png",P="/assets/image-标签-星标或颜色-Cl8oEdjb.png",B={},y=p('

    组织、管理你的文献库

    本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。

    分类管理

    分类的图标类似文件夹:image.png。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。

    在个人账户中,所有分类都属于image.png。在群组中,分类属于各自的群组。

    image.png
    image.png

    注意

    ❓ 分类有什么用?

    分类类似于文件夹,你可以将不同主题/领域的文献放在同一个分类下。进一步的,还可以根据细分领域或者方法、时期、参考意义等,根据自己需要进一步归档到子分类。

    新建分类

    在主界面左上角,点击image.png,即可新建分类(collection)。

    或者,在菜单栏=>文件,新建分类:

    image.png
    image.png
    image.png
    image.png

    或者,右键单击现有的分类来创建子分类:

    image.png
    image.png

    💡 如何知道文献属于哪个或哪些分类?
    用鼠标点击选中文献条目后,按住 Ctrl/Cmd,文献所属的(分类)文件夹就会黄色高亮显示。
    💡 关于多级分类的显示问题
    默认情况下,如果分类结构类似:

    • 一级分类
      • 二级分类
        • 三级分类

    则二、三级分类内的文献都会在一级分类中显示,尽管你可能没有手动将其添加到一级分类。

    可以通过菜单栏=>查看=>从子集合中显示条目来开启/关闭这一功能。关闭后,所有文献仅会在其所属的分类中显示。
    image.png

    删除分类

    右键单击现有分类,选择删除即可。

    条目管理

    在分类之间移动条目

    复制到新的分类,在主界面直接将条目拖入左侧栏的其他分类,选择的文献条目会同时存在于当前分类和拖入的新分类(类似复制 - 粘贴了一份条目的快捷方式,但两个分类中存放的其实是同一个文献条目)。

    💡 文献条目与分类的关系
    文献条目在分类中以类似快捷方式的形式存在,你可以同时向多个分类添加、移动、删除其中的文献条目,而文献本身不受影响(因为添加移动删除的都是其快捷方式而非本体)。

    移动到新的分类并从旧的分类中移除(类似于剪切 - 粘贴,文献将不再出现在原本分类),请在拖动时按住 shift。

    移除当前分类下的条目,选中后右键=>移除条目,或者按 delete 键(这不会删除条目)。

    去除重复条目

    在左侧栏有重复条目入口,点击后可以看到整个库中的重复条目,并可以手动确认要保留的版本,然后执行合并。

    image.png
    image.png

    删除条目

    要删除条目,选中后右键=>删除条目。条目将被移动到回收站。在清空回收站后,条目将被彻底删除。

    在左侧栏打开回收站,可以选择内容并还原/彻底删除。右键点击回收站,可以清空回收站。

    image.png
    image.png

    导出条目或 PDF

    选中分类或条目,可通过右键导出为 RDF 等方便分享给其他 Zotero 用户或文献管理软件的格式;

    要导出 PDF(带高亮注释),请选中一个或多个条目后,从菜单栏 文件=>导出 PDFs:

    image.png
    image.png

    标签管理

    Zotero 通过标签来管理文献。对于同一类文献,可为其添加标签,来快速筛选、查找和定位。

    标签根据添加方式分为两类:自动标签与用户标签。自动标签是 Zotero 在抓取文献时提取的关键字;手动标签是用户添加的标签。下图中,橙色为自动标签,蓝色为手动标签。

    image.png
    image.png

    💡 关于自动标签
    Zotero 会自动为新文献添加自动标签。可在菜单栏=>编辑=>设置=>常规=>使用关键词和标题自动给条目添加标签来开启/关闭这个功能。

    image.png
    image.png

    添加/删除标签

    在主界面中,选中条目,在右侧栏的标签面板可以进行添加/删除。点击 Add 可新增标签,点击已有标签右侧的image.png可以删除标签。

    image.png
    image.png

    如果要删除所有自动标签,可在左下角标签栏的功能按钮中选择“删除此文献库中的自动标签”。

    image.png
    image.png

    利用标签快速筛选文献

    在主界面的左下角是标签栏,可以点击其中的数个标签来筛选对应的文献条目。

    image.png
    image.png

    设置彩色标签/设置星级

    Zotero 支持最多 9 种彩色标签。通过为标签赋予颜色,可以:

    • 具有彩色标签的条目上有彩色方块显示:image.png
    • 如果标签内容是 emoji 表情符号,将会显示符号内容,例如 ⭐:image.png
    • 通过快捷键(数字 1-9)快速添加标签

    设置方法是:

    1. 通过前述添加标签的方法添加你需要的标签到任意一个文献(例如,⭐)

    2. 此时可以在主界面左下角的标签管理器中看到这个标签。右键单击,选择“指派颜色”。

      添加标签
      添加标签
    3. 在弹出窗口中设置一个颜色与快捷键位置(不能重复)。

      选择标签颜色及位置
      选择标签颜色及位置
    4. 此时在库中可以看到标签颜色或 emoji 图形。

      星标或颜色
      星标或颜色

    自动未读与批量增删标签

    插件 Zotero Tag 提供了许多标签管理的实用功能,包括:

    • 自动为新条目添加未读标签
    • 自动在 PDF 关闭时移除未读标签
    • 使用快捷键对条目/PDF 注释批量增加/移除单个或多个标签
    • 在其他用户自定义的动作触发时自动为条目/PDF 注释设置单个或多个标签
    • 通过右键菜单批量增加或移除标签
    • 通过右键菜单移除不常用的标签
    ',58),O={href:"https://github.com/windingwind/zotero-tag",target:"_blank",rel:"noopener noreferrer"},x={href:"https://zotero-chinese.gitee.io/zotero-plugins/#/",target:"_blank",rel:"noopener noreferrer"};function w(N,G){const t=n("ExternalLinkIcon");return r(),l("div",null,[y,i("p",null,[e("可在 "),i("a",O,[e("https://github.com/windingwind/zotero-tag"),A(t)]),e(" 下载。(如果无法访问 GitHub,可从中文镜像 "),i("a",x,[e("https://zotero-chinese.gitee.io/zotero-plugins/#/"),A(t)]),e(" 下载)")])])}const D=a(B,[["render",w],["__file","organize-library.html.vue"]]),X=JSON.parse('{"path":"/user-guide/organize-library.html","title":"组织、管理你的文献库","lang":"zh-CN","frontmatter":{"title":"组织、管理你的文献库","icon":"class","date":"2023-06-28T21:14:16.000Z","updated":"2023-07-20T16:51:54.000Z","description":"组织、管理你的文献库 本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。 分类管理 分类的图标类似文件夹:image.png。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。 在个人账户中,所有分类都属于...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/organize-library.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"组织、管理你的文献库"}],["meta",{"property":"og:description","content":"组织、管理你的文献库 本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。 分类管理 分类的图标类似文件夹:image.png。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。 在个人账户中,所有分类都属于..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:14:16.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"组织、管理你的文献库\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:14:16.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"分类管理","slug":"分类管理","link":"#分类管理","children":[{"level":3,"title":"新建分类","slug":"新建分类","link":"#新建分类","children":[]},{"level":3,"title":"删除分类","slug":"删除分类","link":"#删除分类","children":[]}]},{"level":2,"title":"条目管理","slug":"条目管理","link":"#条目管理","children":[{"level":3,"title":"在分类之间移动条目","slug":"在分类之间移动条目","link":"#在分类之间移动条目","children":[]},{"level":3,"title":"去除重复条目","slug":"去除重复条目","link":"#去除重复条目","children":[]},{"level":3,"title":"删除条目","slug":"删除条目","link":"#删除条目","children":[]},{"level":3,"title":"导出条目或 PDF","slug":"导出条目或-pdf","link":"#导出条目或-pdf","children":[]}]},{"level":2,"title":"标签管理","slug":"标签管理","link":"#标签管理","children":[{"level":3,"title":"添加/删除标签","slug":"添加-删除标签","link":"#添加-删除标签","children":[]},{"level":3,"title":"利用标签快速筛选文献","slug":"利用标签快速筛选文献","link":"#利用标签快速筛选文献","children":[]},{"level":3,"title":"设置彩色标签/设置星级","slug":"设置彩色标签-设置星级","link":"#设置彩色标签-设置星级","children":[]},{"level":3,"title":"自动未读与批量增删标签","slug":"自动未读与批量增删标签","link":"#自动未读与批量增删标签","children":[]}]}],"git":{"createdTime":1695169095000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":6.06,"words":1819},"filePathRelative":"user-guide/organize-library.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n
    \\n

    本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。

    \\n
    \\n

    分类管理

    \\n

    分类的图标类似文件夹:。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。

    \\n

    在个人账户中,所有分类都属于。在群组中,分类属于各自的群组。

    \\n
    image.png
    \\n
    \\n

    注意

    \\n

    ❓ 分类有什么用?

    \\n

    分类类似于文件夹,你可以将不同主题/领域的文献放在同一个分类下。进一步的,还可以根据细分领域或者方法、时期、参考意义等,根据自己需要进一步归档到子分类。

    \\n
    "}');export{D as comp,X as data}; diff --git a/assets/path-CbwjOpE9.js b/assets/path-CbwjOpE9.js new file mode 100644 index 0000000000..f55758f48c --- /dev/null +++ b/assets/path-CbwjOpE9.js @@ -0,0 +1 @@ +const c=Math.PI,x=2*c,u=1e-6,m=x-u;function E(e){this._+=e[0];for(let t=1,h=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return E;const h=10**t;return function(i){this._+=i[0];for(let s=1,n=i.length;su)if(!(Math.abs(o*p-l*_)>u)||!n)this._append`L${this._x1=t},${this._y1=h}`;else{let d=i-$,f=s-r,y=p*p+l*l,T=d*d+f*f,g=Math.sqrt(y),v=Math.sqrt(a),w=n*Math.tan((c-Math.acos((y+a-T)/(2*g*v)))/2),M=w/v,b=w/g;Math.abs(M-1)>u&&this._append`L${t+M*_},${h+M*o}`,this._append`A${n},${n},0,0,${+(o*d>_*f)},${this._x1=t+b*p},${this._y1=h+b*l}`}}arc(t,h,i,s,n,$){if(t=+t,h=+h,i=+i,$=!!$,i<0)throw new Error(`negative radius: ${i}`);let r=i*Math.cos(s),p=i*Math.sin(s),l=t+r,_=h+p,o=1^$,a=$?s-n:n-s;this._x1===null?this._append`M${l},${_}`:(Math.abs(this._x1-l)>u||Math.abs(this._y1-_)>u)&&this._append`L${l},${_}`,i&&(a<0&&(a=a%x+x),a>m?this._append`A${i},${i},0,1,${o},${t-r},${h-p}A${i},${i},0,1,${o},${this._x1=l},${this._y1=_}`:a>u&&this._append`A${i},${i},0,${+(a>=c)},${o},${this._x1=t+i*Math.cos(n)},${this._y1=h+i*Math.sin(n)}`)}rect(t,h,i,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+h}h${i=+i}v${+s}h${-i}Z`}toString(){return this._}}function P(e){return function(){return e}}function q(e){let t=3;return e.digits=function(h){if(!arguments.length)return t;if(h==null)t=null;else{const i=Math.floor(h);if(!(i>=0))throw new RangeError(`invalid digits: ${h}`);t=i}return e},()=>new L(t)}export{P as c,q as w}; diff --git a/assets/photoswipe.esm-SzV8tJDW.js b/assets/photoswipe.esm-SzV8tJDW.js new file mode 100644 index 0000000000..4048314e79 --- /dev/null +++ b/assets/photoswipe.esm-SzV8tJDW.js @@ -0,0 +1,4 @@ +/*! + * PhotoSwipe 5.4.3 - https://photoswipe.com + * (c) 2023 Dmytro Semenov + */function f(r,t,i){const e=document.createElement(t);return r&&(e.className=r),i&&i.appendChild(e),e}function p(r,t){return r.x=t.x,r.y=t.y,t.id!==void 0&&(r.id=t.id),r}function M(r){r.x=Math.round(r.x),r.y=Math.round(r.y)}function A(r,t){const i=Math.abs(r.x-t.x),e=Math.abs(r.y-t.y);return Math.sqrt(i*i+e*e)}function x(r,t){return r.x===t.x&&r.y===t.y}function I(r,t,i){return Math.min(Math.max(r,t),i)}function b(r,t,i){let e=`translate3d(${r}px,${t||0}px,0)`;return i!==void 0&&(e+=` scale3d(${i},${i},1)`),e}function y(r,t,i,e){r.style.transform=b(t,i,e)}const $="cubic-bezier(.4,0,.22,1)";function R(r,t,i,e){r.style.transition=t?`${t} ${i}ms ${e||$}`:"none"}function L(r,t,i){r.style.width=typeof t=="number"?`${t}px`:t,r.style.height=typeof i=="number"?`${i}px`:i}function U(r){R(r)}function q(r){return"decode"in r?r.decode().catch(()=>{}):r.complete?Promise.resolve(r):new Promise((t,i)=>{r.onload=()=>t(r),r.onerror=i})}const _={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function G(r){return"button"in r&&r.button===1||r.ctrlKey||r.metaKey||r.altKey||r.shiftKey}function K(r,t,i=document){let e=[];if(r instanceof Element)e=[r];else if(r instanceof NodeList||Array.isArray(r))e=Array.from(r);else{const s=typeof r=="string"?r:t;s&&(e=Array.from(i.querySelectorAll(s)))}return e}function C(){return!!(navigator.vendor&&navigator.vendor.match(/apple/i))}let F=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{F=!0}}))}catch{}class X{constructor(){this._pool=[]}add(t,i,e,s){this._toggleListener(t,i,e,s)}remove(t,i,e,s){this._toggleListener(t,i,e,s,!0)}removeAll(){this._pool.forEach(t=>{this._toggleListener(t.target,t.type,t.listener,t.passive,!0,!0)}),this._pool=[]}_toggleListener(t,i,e,s,n,o){if(!t)return;const a=n?"removeEventListener":"addEventListener";i.split(" ").forEach(l=>{if(l){o||(n?this._pool=this._pool.filter(d=>d.type!==l||d.listener!==e||d.target!==t):this._pool.push({target:t,type:l,listener:e,passive:s}));const c=F?{passive:s||!1}:!1;t[a](l,e,c)}})}}function B(r,t){if(r.getViewportSizeFn){const i=r.getViewportSizeFn(r,t);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function S(r,t,i,e,s){let n=0;if(t.paddingFn)n=t.paddingFn(i,e,s)[r];else if(t.padding)n=t.padding[r];else{const o="padding"+r[0].toUpperCase()+r.slice(1);t[o]&&(n=t[o])}return Number(n)||0}function N(r,t,i,e){return{x:t.x-S("left",r,t,i,e)-S("right",r,t,i,e),y:t.y-S("top",r,t,i,e)-S("bottom",r,t,i,e)}}class Y{constructor(t){this.slide=t,this.currZoomLevel=1,this.center={x:0,y:0},this.max={x:0,y:0},this.min={x:0,y:0}}update(t){this.currZoomLevel=t,this.slide.width?(this._updateAxis("x"),this._updateAxis("y"),this.slide.pswp.dispatch("calcBounds",{slide:this.slide})):this.reset()}_updateAxis(t){const{pswp:i}=this.slide,e=this.slide[t==="x"?"width":"height"]*this.currZoomLevel,n=S(t==="x"?"left":"top",i.options,i.viewportSize,this.slide.data,this.slide.index),o=this.slide.panAreaSize[t];this.center[t]=Math.round((o-e)/2)+n,this.max[t]=e>o?Math.round(o-e)+n:this.center[t],this.min[t]=e>o?n:this.center[t]}reset(){this.center.x=0,this.center.y=0,this.max.x=0,this.max.y=0,this.min.x=0,this.min.y=0}correctPan(t,i){return I(i,this.max[t],this.min[t])}}const T=4e3;class k{constructor(t,i,e,s){this.pswp=s,this.options=t,this.itemData=i,this.index=e,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,i,e){const s={x:t,y:i};this.elementSize=s,this.panAreaSize=e;const n=e.x/s.x,o=e.y/s.y;this.fit=Math.min(1,no?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const i=t+"ZoomLevel",e=this.options[i];if(e)return typeof e=="function"?e(this):e==="fill"?this.fill:e==="fit"?this.fit:Number(e)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,this.fit*3),this.elementSize&&t*this.elementSize.x>T&&(t=T/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,this.fit*4)}}class j{constructor(t,i,e){this.data=t,this.index=i,this.pswp=e,this.isActive=i===e.currIndex,this.currentResolution=0,this.panAreaSize={x:0,y:0},this.pan={x:0,y:0},this.isFirstSlide=this.isActive&&!e.opener.isOpen,this.zoomLevels=new k(e.options,t,i,e),this.pswp.dispatch("gettingData",{slide:this,data:this.data,index:i}),this.content=this.pswp.contentLoader.getContentBySlide(this),this.container=f("pswp__zoom-wrap","div"),this.holderElement=null,this.currZoomLevel=1,this.width=this.content.width,this.height=this.content.height,this.heavyAppended=!1,this.bounds=new Y(this),this.prevDisplayedWidth=-1,this.prevDisplayedHeight=-1,this.pswp.dispatch("slideInit",{slide:this})}setIsActive(t){t&&!this.isActive?this.activate():!t&&this.isActive&&this.deactivate()}append(t){this.holderElement=t,this.container.style.transformOrigin="0 0",this.data&&(this.calculateSize(),this.load(),this.updateContentSize(),this.appendHeavy(),this.holderElement.appendChild(this.container),this.zoomAndPanToInitial(),this.pswp.dispatch("firstZoomPan",{slide:this}),this.applyCurrentZoomPan(),this.pswp.dispatch("afterSetContent",{slide:this}),this.isActive&&this.activate())}load(){this.content.load(!1),this.pswp.dispatch("slideLoad",{slide:this})}appendHeavy(){const{pswp:t}=this;this.heavyAppended||!t.opener.isOpen||t.mainScroll.isShifted()||!this.isActive&&!!0||this.pswp.dispatch("appendHeavy",{slide:this}).defaultPrevented||(this.heavyAppended=!0,this.content.append(),this.pswp.dispatch("appendHeavyContent",{slide:this}))}activate(){this.isActive=!0,this.appendHeavy(),this.content.activate(),this.pswp.dispatch("slideActivate",{slide:this})}deactivate(){this.isActive=!1,this.content.deactivate(),this.currZoomLevel!==this.zoomLevels.initial&&this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize(),this.pswp.dispatch("slideDeactivate",{slide:this})}destroy(){this.content.hasSlide=!1,this.content.remove(),this.container.remove(),this.pswp.dispatch("slideDestroy",{slide:this})}resize(){this.currZoomLevel===this.zoomLevels.initial||!this.isActive?(this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize()):(this.calculateSize(),this.bounds.update(this.currZoomLevel),this.panTo(this.pan.x,this.pan.y))}updateContentSize(t){const i=this.currentResolution||this.zoomLevels.initial;if(!i)return;const e=Math.round(this.width*i)||this.pswp.viewportSize.x,s=Math.round(this.height*i)||this.pswp.viewportSize.y;!this.sizeChanged(e,s)&&!t||this.content.setDisplayedSize(e,s)}sizeChanged(t,i){return t!==this.prevDisplayedWidth||i!==this.prevDisplayedHeight?(this.prevDisplayedWidth=t,this.prevDisplayedHeight=i,!0):!1}getPlaceholderElement(){var t;return(t=this.content.placeholder)===null||t===void 0?void 0:t.element}zoomTo(t,i,e,s){const{pswp:n}=this;if(!this.isZoomable()||n.mainScroll.isShifted())return;n.dispatch("beforeZoomTo",{destZoomLevel:t,centerPoint:i,transitionDuration:e}),n.animations.stopAllPan();const o=this.currZoomLevel;s||(t=I(t,this.zoomLevels.min,this.zoomLevels.max)),this.setZoomLevel(t),this.pan.x=this.calculateZoomToPanOffset("x",i,o),this.pan.y=this.calculateZoomToPanOffset("y",i,o),M(this.pan);const a=()=>{this._setResolution(t),this.applyCurrentZoomPan()};e?n.animations.startTransition({isPan:!0,name:"zoomTo",target:this.container,transform:this.getCurrentTransform(),onComplete:a,duration:e,easing:n.options.easing}):a()}toggleZoom(t){this.zoomTo(this.currZoomLevel===this.zoomLevels.initial?this.zoomLevels.secondary:this.zoomLevels.initial,t,this.pswp.options.zoomAnimationDuration)}setZoomLevel(t){this.currZoomLevel=t,this.bounds.update(this.currZoomLevel)}calculateZoomToPanOffset(t,i,e){if(this.bounds.max[t]-this.bounds.min[t]===0)return this.bounds.center[t];i||(i=this.pswp.getViewportCenterPoint()),e||(e=this.zoomLevels.initial);const n=this.currZoomLevel/e;return this.bounds.correctPan(t,(this.pan[t]-i[t])*n+i[t])}panTo(t,i){this.pan.x=this.bounds.correctPan("x",t),this.pan.y=this.bounds.correctPan("y",i),this.applyCurrentZoomPan()}isPannable(){return!!this.width&&this.currZoomLevel>this.zoomLevels.fit}isZoomable(){return!!this.width&&this.content.isZoomable()}applyCurrentZoomPan(){this._applyZoomTransform(this.pan.x,this.pan.y,this.currZoomLevel),this===this.pswp.currSlide&&this.pswp.dispatch("zoomPanUpdate",{slide:this})}zoomAndPanToInitial(){this.currZoomLevel=this.zoomLevels.initial,this.bounds.update(this.currZoomLevel),p(this.pan,this.bounds.center),this.pswp.dispatch("initialZoomPan",{slide:this})}_applyZoomTransform(t,i,e){e/=this.currentResolution||this.zoomLevels.initial,y(this.container,t,i,e)}calculateSize(){const{pswp:t}=this;p(this.panAreaSize,N(t.options,t.viewportSize,this.data,this.index)),this.zoomLevels.update(this.width,this.height,this.panAreaSize),t.dispatch("calcSlideSize",{slide:this})}getCurrentTransform(){const t=this.currZoomLevel/(this.currentResolution||this.zoomLevels.initial);return b(this.pan.x,this.pan.y,t)}_setResolution(t){t!==this.currentResolution&&(this.currentResolution=t,this.updateContentSize(),this.pswp.dispatch("resolutionChanged"))}}const Q=.35,J=.6,z=.4,E=.5;function tt(r,t){return r*t/(1-t)}class it{constructor(t){this.gestures=t,this.pswp=t.pswp,this.startPan={x:0,y:0}}start(){this.pswp.currSlide&&p(this.startPan,this.pswp.currSlide.pan),this.pswp.animations.stopAll()}change(){const{p1:t,prevP1:i,dragAxis:e}=this.gestures,{currSlide:s}=this.pswp;if(e==="y"&&this.pswp.options.closeOnVerticalDrag&&s&&s.currZoomLevel<=s.zoomLevels.fit&&!this.gestures.isMultitouch){const n=s.pan.y+(t.y-i.y);if(!this.pswp.dispatch("verticalDrag",{panY:n}).defaultPrevented){this._setPanWithFriction("y",n,J);const o=1-Math.abs(this._getVerticalDragRatio(s.pan.y));this.pswp.applyBgOpacity(o),s.applyCurrentZoomPan()}}else this._panOrMoveMainScroll("x")||(this._panOrMoveMainScroll("y"),s&&(M(s.pan),s.applyCurrentZoomPan()))}end(){const{velocity:t}=this.gestures,{mainScroll:i,currSlide:e}=this.pswp;let s=0;if(this.pswp.animations.stopAll(),i.isShifted()){const o=(i.x-i.getCurrSlideX())/this.pswp.viewportSize.x;t.x<-E&&o<0||t.x<.1&&o<-.5?(s=1,t.x=Math.min(t.x,0)):(t.x>E&&o>0||t.x>-.1&&o>.5)&&(s=-1,t.x=Math.max(t.x,0)),i.moveIndexBy(s,!0,t.x)}e&&e.currZoomLevel>e.zoomLevels.max||this.gestures.isMultitouch?this.gestures.zoomLevels.correctZoomPan(!0):(this._finishPanGestureForAxis("x"),this._finishPanGestureForAxis("y"))}_finishPanGestureForAxis(t){const{velocity:i}=this.gestures,{currSlide:e}=this.pswp;if(!e)return;const{pan:s,bounds:n}=e,o=s[t],a=this.pswp.bgOpacity<1&&t==="y",l=o+tt(i[t],.995);if(a){const v=this._getVerticalDragRatio(o),w=this._getVerticalDragRatio(l);if(v<0&&w<-z||v>0&&w>z){this.pswp.close();return}}const c=n.correctPan(t,l);if(o===c)return;const d=c===l?1:.82,u=this.pswp.bgOpacity,m=c-o;this.pswp.animations.startSpring({name:"panGesture"+t,isPan:!0,start:o,end:c,velocity:i[t],dampingRatio:d,onUpdate:v=>{if(a&&this.pswp.bgOpacity<1){const w=1-(c-v)/m;this.pswp.applyBgOpacity(I(u+(1-u)*w,0,1))}s[t]=Math.floor(v),e.applyCurrentZoomPan()}})}_panOrMoveMainScroll(t){const{p1:i,dragAxis:e,prevP1:s,isMultitouch:n}=this.gestures,{currSlide:o,mainScroll:a}=this.pswp,h=i[t]-s[t],l=a.x+h;if(!h||!o)return!1;if(t==="x"&&!o.isPannable()&&!n)return a.moveTo(l,!0),!0;const{bounds:c}=o,d=o.pan[t]+h;if(this.pswp.options.allowPanToNext&&e==="x"&&t==="x"&&!n){const u=a.getCurrSlideX(),m=a.x-u,v=h>0,w=!v;if(d>c.min[t]&&v){if(c.min[t]<=this.startPan[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(d0)return a.moveTo(Math.max(l,u),!0),!0;if(m<0)return a.moveTo(Math.min(l,u),!0),!0}else this._setPanWithFriction(t,d)}else t==="y"?!a.isShifted()&&c.min.y!==c.max.y&&this._setPanWithFriction(t,d):this._setPanWithFriction(t,d);return!1}_getVerticalDragRatio(t){var i,e;return(t-((i=(e=this.pswp.currSlide)===null||e===void 0?void 0:e.bounds.center.y)!==null&&i!==void 0?i:0))/(this.pswp.viewportSize.y/3)}_setPanWithFriction(t,i,e){const{currSlide:s}=this.pswp;if(!s)return;const{pan:n,bounds:o}=s;if(o.correctPan(t,i)!==i||e){const h=Math.round(i-n[t]);n[t]+=h*(e||Q)}else n[t]=i}}const et=.05,st=.15;function O(r,t,i){return r.x=(t.x+i.x)/2,r.y=(t.y+i.y)/2,r}class nt{constructor(t){this.gestures=t,this._startPan={x:0,y:0},this._startZoomPoint={x:0,y:0},this._zoomPoint={x:0,y:0},this._wasOverFitZoomLevel=!1,this._startZoomLevel=1}start(){const{currSlide:t}=this.gestures.pswp;t&&(this._startZoomLevel=t.currZoomLevel,p(this._startPan,t.pan)),this.gestures.pswp.animations.stopAllPan(),this._wasOverFitZoomLevel=!1}change(){const{p1:t,startP1:i,p2:e,startP2:s,pswp:n}=this.gestures,{currSlide:o}=n;if(!o)return;const a=o.zoomLevels.min,h=o.zoomLevels.max;if(!o.isZoomable()||n.mainScroll.isShifted())return;O(this._startZoomPoint,i,s),O(this._zoomPoint,t,e);let l=1/A(i,s)*A(t,e)*this._startZoomLevel;if(l>o.zoomLevels.initial+o.zoomLevels.initial/15&&(this._wasOverFitZoomLevel=!0),lh&&(l=h+(l-h)*et);o.pan.x=this._calculatePanForZoomLevel("x",l),o.pan.y=this._calculatePanForZoomLevel("y",l),o.setZoomLevel(l),o.applyCurrentZoomPan()}end(){const{pswp:t}=this.gestures,{currSlide:i}=t;(!i||i.currZoomLevele.zoomLevels.max?n=e.zoomLevels.max:(o=!1,n=s);const a=i.bgOpacity,h=i.bgOpacity<1,l=p({x:0,y:0},e.pan);let c=p({x:0,y:0},l);t&&(this._zoomPoint.x=0,this._zoomPoint.y=0,this._startZoomPoint.x=0,this._startZoomPoint.y=0,this._startZoomLevel=s,p(this._startPan,l)),o&&(c={x:this._calculatePanForZoomLevel("x",n),y:this._calculatePanForZoomLevel("y",n)}),e.setZoomLevel(n),c={x:e.bounds.correctPan("x",c.x),y:e.bounds.correctPan("y",c.y)},e.setZoomLevel(s);const d=!x(c,l);if(!d&&!o&&!h){e._setResolution(n),e.applyCurrentZoomPan();return}i.animations.stopAllPan(),i.animations.startSpring({isPan:!0,start:0,end:1e3,velocity:0,dampingRatio:1,naturalFrequency:40,onUpdate:u=>{if(u/=1e3,d||o){if(d&&(e.pan.x=l.x+(c.x-l.x)*u,e.pan.y=l.y+(c.y-l.y)*u),o){const m=s+(n-s)*u;e.setZoomLevel(m)}e.applyCurrentZoomPan()}h&&i.bgOpacity<1&&i.applyBgOpacity(I(a+(1-a)*u,0,1))},onComplete:()=>{e._setResolution(n),e.applyCurrentZoomPan()}})}}function Z(r){return!!r.target.closest(".pswp__container")}class ot{constructor(t){this.gestures=t}click(t,i){const e=i.target.classList,s=e.contains("pswp__img"),n=e.contains("pswp__item")||e.contains("pswp__zoom-wrap");s?this._doClickOrTapAction("imageClick",t,i):n&&this._doClickOrTapAction("bgClick",t,i)}tap(t,i){Z(i)&&this._doClickOrTapAction("tap",t,i)}doubleTap(t,i){Z(i)&&this._doClickOrTapAction("doubleTap",t,i)}_doClickOrTapAction(t,i,e){var s;const{pswp:n}=this.gestures,{currSlide:o}=n,a=t+"Action",h=n.options[a];if(!n.dispatch(a,{point:i,originalEvent:e}).defaultPrevented){if(typeof h=="function"){h.call(n,i,e);return}switch(h){case"close":case"next":n[h]();break;case"zoom":o==null||o.toggleZoom(i);break;case"zoom-or-close":o!=null&&o.isZoomable()&&o.zoomLevels.secondary!==o.zoomLevels.initial?o.toggleZoom(i):n.options.clickToCloseNonZoomable&&n.close();break;case"toggle-controls":(s=this.gestures.pswp.element)===null||s===void 0||s.classList.toggle("pswp--ui-visible");break}}}}const rt=10,at=300,ht=25;class lt{constructor(t){this.pswp=t,this.dragAxis=null,this.p1={x:0,y:0},this.p2={x:0,y:0},this.prevP1={x:0,y:0},this.prevP2={x:0,y:0},this.startP1={x:0,y:0},this.startP2={x:0,y:0},this.velocity={x:0,y:0},this._lastStartP1={x:0,y:0},this._intervalP1={x:0,y:0},this._numActivePoints=0,this._ongoingPointers=[],this._touchEventEnabled="ontouchstart"in window,this._pointerEventEnabled=!!window.PointerEvent,this.supportsTouch=this._touchEventEnabled||this._pointerEventEnabled&&navigator.maxTouchPoints>1,this._numActivePoints=0,this._intervalTime=0,this._velocityCalculated=!1,this.isMultitouch=!1,this.isDragging=!1,this.isZooming=!1,this.raf=null,this._tapTimer=null,this.supportsTouch||(t.options.allowPanToNext=!1),this.drag=new it(this),this.zoomLevels=new nt(this),this.tapHandler=new ot(this),t.on("bindEvents",()=>{t.events.add(t.scrollWrap,"click",this._onClick.bind(this)),this._pointerEventEnabled?this._bindEvents("pointer","down","up","cancel"):this._touchEventEnabled?(this._bindEvents("touch","start","end","cancel"),t.scrollWrap&&(t.scrollWrap.ontouchmove=()=>{},t.scrollWrap.ontouchend=()=>{})):this._bindEvents("mouse","down","up")})}_bindEvents(t,i,e,s){const{pswp:n}=this,{events:o}=n,a=s?t+s:"";o.add(n.scrollWrap,t+i,this.onPointerDown.bind(this)),o.add(window,t+"move",this.onPointerMove.bind(this)),o.add(window,t+e,this.onPointerUp.bind(this)),a&&o.add(n.scrollWrap,a,this.onPointerUp.bind(this))}onPointerDown(t){const i=t.type==="mousedown"||t.pointerType==="mouse";if(i&&t.button>0)return;const{pswp:e}=this;if(!e.opener.isOpen){t.preventDefault();return}e.dispatch("pointerDown",{originalEvent:t}).defaultPrevented||(i&&(e.mouseDetected(),this._preventPointerEventBehaviour(t,"down")),e.animations.stopAll(),this._updatePoints(t,"down"),this._numActivePoints===1&&(this.dragAxis=null,p(this.startP1,this.p1)),this._numActivePoints>1?(this._clearTapTimer(),this.isMultitouch=!0):this.isMultitouch=!1)}onPointerMove(t){this._preventPointerEventBehaviour(t,"move"),this._numActivePoints&&(this._updatePoints(t,"move"),!this.pswp.dispatch("pointerMove",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===1&&!this.isDragging?(this.dragAxis||this._calculateDragDirection(),this.dragAxis&&!this.isDragging&&(this.isZooming&&(this.isZooming=!1,this.zoomLevels.end()),this.isDragging=!0,this._clearTapTimer(),this._updateStartPoints(),this._intervalTime=Date.now(),this._velocityCalculated=!1,p(this._intervalP1,this.p1),this.velocity.x=0,this.velocity.y=0,this.drag.start(),this._rafStopLoop(),this._rafRenderLoop())):this._numActivePoints>1&&!this.isZooming&&(this._finishDrag(),this.isZooming=!0,this._updateStartPoints(),this.zoomLevels.start(),this._rafStopLoop(),this._rafRenderLoop())))}_finishDrag(){this.isDragging&&(this.isDragging=!1,this._velocityCalculated||this._updateVelocity(!0),this.drag.end(),this.dragAxis=null)}onPointerUp(t){this._numActivePoints&&(this._updatePoints(t,"up"),!this.pswp.dispatch("pointerUp",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===0&&(this._rafStopLoop(),this.isDragging?this._finishDrag():!this.isZooming&&!this.isMultitouch&&this._finishTap(t)),this._numActivePoints<2&&this.isZooming&&(this.isZooming=!1,this.zoomLevels.end(),this._numActivePoints===1&&(this.dragAxis=null,this._updateStartPoints()))))}_rafRenderLoop(){(this.isDragging||this.isZooming)&&(this._updateVelocity(),this.isDragging?x(this.p1,this.prevP1)||this.drag.change():(!x(this.p1,this.prevP1)||!x(this.p2,this.prevP2))&&this.zoomLevels.change(),this._updatePrevPoints(),this.raf=requestAnimationFrame(this._rafRenderLoop.bind(this)))}_updateVelocity(t){const i=Date.now(),e=i-this._intervalTime;e<50&&!t||(this.velocity.x=this._getVelocity("x",e),this.velocity.y=this._getVelocity("y",e),this._intervalTime=i,p(this._intervalP1,this.p1),this._velocityCalculated=!0)}_finishTap(t){const{mainScroll:i}=this.pswp;if(i.isShifted()){i.moveIndexBy(0,!0);return}if(t.type.indexOf("cancel")>0)return;if(t.type==="mouseup"||t.pointerType==="mouse"){this.tapHandler.click(this.startP1,t);return}const e=this.pswp.options.doubleTapAction?at:0;this._tapTimer?(this._clearTapTimer(),A(this._lastStartP1,this.startP1){this.tapHandler.tap(this.startP1,t),this._clearTapTimer()},e))}_clearTapTimer(){this._tapTimer&&(clearTimeout(this._tapTimer),this._tapTimer=null)}_getVelocity(t,i){const e=this.p1[t]-this._intervalP1[t];return Math.abs(e)>1&&i>5?e/i:0}_rafStopLoop(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null)}_preventPointerEventBehaviour(t,i){this.pswp.applyFilters("preventPointerEvent",!0,t,i)&&t.preventDefault()}_updatePoints(t,i){if(this._pointerEventEnabled){const e=t,s=this._ongoingPointers.findIndex(n=>n.id===e.pointerId);i==="up"&&s>-1?this._ongoingPointers.splice(s,1):i==="down"&&s===-1?this._ongoingPointers.push(this._convertEventPosToPoint(e,{x:0,y:0})):s>-1&&this._convertEventPosToPoint(e,this._ongoingPointers[s]),this._numActivePoints=this._ongoingPointers.length,this._numActivePoints>0&&p(this.p1,this._ongoingPointers[0]),this._numActivePoints>1&&p(this.p2,this._ongoingPointers[1])}else{const e=t;this._numActivePoints=0,e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(this._convertEventPosToPoint(e.touches[0],this.p1),this._numActivePoints++,e.touches.length>1&&(this._convertEventPosToPoint(e.touches[1],this.p2),this._numActivePoints++)):(this._convertEventPosToPoint(t,this.p1),i==="up"?this._numActivePoints=0:this._numActivePoints++)}}_updatePrevPoints(){p(this.prevP1,this.p1),p(this.prevP2,this.p2)}_updateStartPoints(){p(this.startP1,this.p1),p(this.startP2,this.p2),this._updatePrevPoints()}_calculateDragDirection(){if(this.pswp.mainScroll.isShifted())this.dragAxis="x";else{const t=Math.abs(this.p1.x-this.startP1.x)-Math.abs(this.p1.y-this.startP1.y);if(t!==0){const i=t>0?"x":"y";Math.abs(this.p1[i]-this.startP1[i])>=rt&&(this.dragAxis=i)}}}_convertEventPosToPoint(t,i){return i.x=t.pageX-this.pswp.offset.x,i.y=t.pageY-this.pswp.offset.y,"pointerId"in t?i.id=t.pointerId:t.identifier!==void 0&&(i.id=t.identifier),i}_onClick(t){this.pswp.mainScroll.isShifted()&&(t.preventDefault(),t.stopPropagation())}}const ct=.35;class dt{constructor(t){this.pswp=t,this.x=0,this.slideWidth=0,this._currPositionIndex=0,this._prevPositionIndex=0,this._containerShiftIndex=-1,this.itemHolders=[]}resize(t){const{pswp:i}=this,e=Math.round(i.viewportSize.x+i.viewportSize.x*i.options.spacing),s=e!==this.slideWidth;s&&(this.slideWidth=e,this.moveTo(this.getCurrSlideX())),this.itemHolders.forEach((n,o)=>{s&&y(n.el,(o+this._containerShiftIndex)*this.slideWidth),t&&n.slide&&n.slide.resize()})}resetPosition(){this._currPositionIndex=0,this._prevPositionIndex=0,this.slideWidth=0,this._containerShiftIndex=-1}appendHolders(){this.itemHolders=[];for(let t=0;t<3;t++){const i=f("pswp__item","div",this.pswp.container);i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-hidden","true"),i.style.display=t===1?"block":"none",this.itemHolders.push({el:i})}}canBeSwiped(){return this.pswp.getNumItems()>1}moveIndexBy(t,i,e){const{pswp:s}=this;let n=s.potentialIndex+t;const o=s.getNumItems();if(s.canLoop()){n=s.getLoopedIndex(n);const h=(t+o)%o;h<=o/2?t=h:t=h-o}else n<0?n=0:n>=o&&(n=o-1),t=n-s.potentialIndex;s.potentialIndex=n,this._currPositionIndex-=t,s.animations.stopMainScroll();const a=this.getCurrSlideX();if(!i)this.moveTo(a),this.updateCurrItem();else{s.animations.startSpring({isMainScroll:!0,start:this.x,end:a,velocity:e||0,naturalFrequency:30,dampingRatio:1,onUpdate:l=>{this.moveTo(l)},onComplete:()=>{this.updateCurrItem(),s.appendHeavy()}});let h=s.potentialIndex-s.currIndex;if(s.canLoop()){const l=(h+o)%o;l<=o/2?h=l:h=l-o}Math.abs(h)>1&&this.updateCurrItem()}return!!t}getCurrSlideX(){return this.slideWidth*this._currPositionIndex}isShifted(){return this.x!==this.getCurrSlideX()}updateCurrItem(){var t;const{pswp:i}=this,e=this._prevPositionIndex-this._currPositionIndex;if(!e)return;this._prevPositionIndex=this._currPositionIndex,i.currIndex=i.potentialIndex;let s=Math.abs(e),n;s>=3&&(this._containerShiftIndex+=e+(e>0?-3:3),s=3);for(let o=0;o0?(n=this.itemHolders.shift(),n&&(this.itemHolders[2]=n,this._containerShiftIndex++,y(n.el,(this._containerShiftIndex+2)*this.slideWidth),i.setContent(n,i.currIndex-s+o+2))):(n=this.itemHolders.pop(),n&&(this.itemHolders.unshift(n),this._containerShiftIndex--,y(n.el,this._containerShiftIndex*this.slideWidth),i.setContent(n,i.currIndex+s-o-2)));Math.abs(this._containerShiftIndex)>50&&!this.isShifted()&&(this.resetPosition(),this.resize()),i.animations.stopAllPan(),this.itemHolders.forEach((o,a)=>{o.slide&&o.slide.setIsActive(a===1)}),i.currSlide=(t=this.itemHolders[1])===null||t===void 0?void 0:t.slide,i.contentLoader.updateLazy(e),i.currSlide&&i.currSlide.applyCurrentZoomPan(),i.dispatch("change")}moveTo(t,i){if(!this.pswp.canLoop()&&i){let e=(this.slideWidth*this._currPositionIndex-t)/this.slideWidth;e+=this.pswp.currIndex;const s=Math.round(t-this.x);(e<0&&s>0||e>=this.pswp.getNumItems()-1&&s<0)&&(t=this.x+s*ct)}this.x=t,this.pswp.container&&y(this.pswp.container,t),this.pswp.dispatch("moveMainScroll",{x:t,dragging:i??!1})}}const pt={Escape:27,z:90,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Tab:9},g=(r,t)=>t?r:pt[r];class ut{constructor(t){this.pswp=t,this._wasFocused=!1,t.on("bindEvents",()=>{t.options.trapFocus&&(t.options.initialPointerPos||this._focusRoot(),t.events.add(document,"focusin",this._onFocusIn.bind(this))),t.events.add(document,"keydown",this._onKeyDown.bind(this))});const i=document.activeElement;t.on("destroy",()=>{t.options.returnFocus&&i&&this._wasFocused&&i.focus()})}_focusRoot(){!this._wasFocused&&this.pswp.element&&(this.pswp.element.focus(),this._wasFocused=!0)}_onKeyDown(t){const{pswp:i}=this;if(i.dispatch("keydown",{originalEvent:t}).defaultPrevented||G(t))return;let e,s,n=!1;const o="key"in t;switch(o?t.key:t.keyCode){case g("Escape",o):i.options.escKey&&(e="close");break;case g("z",o):e="toggleZoom";break;case g("ArrowLeft",o):s="x";break;case g("ArrowUp",o):s="y";break;case g("ArrowRight",o):s="x",n=!0;break;case g("ArrowDown",o):n=!0,s="y";break;case g("Tab",o):this._focusRoot();break}if(s){t.preventDefault();const{currSlide:a}=i;i.options.arrowKeys&&s==="x"&&i.getNumItems()>1?e=n?"next":"prev":a&&a.currZoomLevel>a.zoomLevels.fit&&(a.pan[s]+=n?-80:80,a.panTo(a.pan.x,a.pan.y))}e&&(t.preventDefault(),i[e]())}_onFocusIn(t){const{template:i}=this.pswp;i&&document!==t.target&&i!==t.target&&!i.contains(t.target)&&i.focus()}}const mt="cubic-bezier(.4,0,.22,1)";class ft{constructor(t){var i;this.props=t;const{target:e,onComplete:s,transform:n,onFinish:o=()=>{},duration:a=333,easing:h=mt}=t;this.onFinish=o;const l=n?"transform":"opacity",c=(i=t[l])!==null&&i!==void 0?i:"";this._target=e,this._onComplete=s,this._finished=!1,this._onTransitionEnd=this._onTransitionEnd.bind(this),this._helperTimeout=setTimeout(()=>{R(e,l,a,h),this._helperTimeout=setTimeout(()=>{e.addEventListener("transitionend",this._onTransitionEnd,!1),e.addEventListener("transitioncancel",this._onTransitionEnd,!1),this._helperTimeout=setTimeout(()=>{this._finalizeAnimation()},a+500),e.style[l]=c},30)},0)}_onTransitionEnd(t){t.target===this._target&&this._finalizeAnimation()}_finalizeAnimation(){this._finished||(this._finished=!0,this.onFinish(),this._onComplete&&this._onComplete())}destroy(){this._helperTimeout&&clearTimeout(this._helperTimeout),U(this._target),this._target.removeEventListener("transitionend",this._onTransitionEnd,!1),this._target.removeEventListener("transitioncancel",this._onTransitionEnd,!1),this._finished||this._finalizeAnimation()}}const _t=12,vt=.75;class gt{constructor(t,i,e){this.velocity=t*1e3,this._dampingRatio=i||vt,this._naturalFrequency=e||_t,this._dampedFrequency=this._naturalFrequency,this._dampingRatio<1&&(this._dampedFrequency*=Math.sqrt(1-this._dampingRatio*this._dampingRatio))}easeFrame(t,i){let e=0,s;i/=1e3;const n=Math.E**(-this._dampingRatio*this._naturalFrequency*i);if(this._dampingRatio===1)s=this.velocity+this._naturalFrequency*t,e=(t+s*i)*n,this.velocity=e*-this._naturalFrequency+s*n;else if(this._dampingRatio<1){s=1/this._dampedFrequency*(this._dampingRatio*this._naturalFrequency*t+this.velocity);const o=Math.cos(this._dampedFrequency*i),a=Math.sin(this._dampedFrequency*i);e=n*(t*o+s*a),this.velocity=e*-this._naturalFrequency*this._dampingRatio+n*(-this._dampedFrequency*t*a+this._dampedFrequency*s*o)}return e}}class yt{constructor(t){this.props=t,this._raf=0;const{start:i,end:e,velocity:s,onUpdate:n,onComplete:o,onFinish:a=()=>{},dampingRatio:h,naturalFrequency:l}=t;this.onFinish=a;const c=new gt(s,h,l);let d=Date.now(),u=i-e;const m=()=>{this._raf&&(u=c.easeFrame(u,Date.now()-d),Math.abs(u)<1&&Math.abs(c.velocity)<50?(n(e),o&&o(),this.onFinish()):(d=Date.now(),n(u+e),this._raf=requestAnimationFrame(m)))};this._raf=requestAnimationFrame(m)}destroy(){this._raf>=0&&cancelAnimationFrame(this._raf),this._raf=0}}class wt{constructor(){this.activeAnimations=[]}startSpring(t){this._start(t,!0)}startTransition(t){this._start(t)}_start(t,i){const e=i?new yt(t):new ft(t);return this.activeAnimations.push(e),e.onFinish=()=>this.stop(e),e}stop(t){t.destroy();const i=this.activeAnimations.indexOf(t);i>-1&&this.activeAnimations.splice(i,1)}stopAll(){this.activeAnimations.forEach(t=>{t.destroy()}),this.activeAnimations=[]}stopAllPan(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isPan?(t.destroy(),!1):!0)}stopMainScroll(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isMainScroll?(t.destroy(),!1):!0)}isPanRunning(){return this.activeAnimations.some(t=>t.props.isPan)}}class Pt{constructor(t){this.pswp=t,t.events.add(t.element,"wheel",this._onWheel.bind(this))}_onWheel(t){t.preventDefault();const{currSlide:i}=this.pswp;let{deltaX:e,deltaY:s}=t;if(i&&!this.pswp.dispatch("wheel",{originalEvent:t}).defaultPrevented)if(t.ctrlKey||this.pswp.options.wheelToZoom){if(i.isZoomable()){let n=-s;t.deltaMode===1?n*=.05:n*=t.deltaMode?1:.002,n=2**n;const o=i.currZoomLevel*n;i.zoomTo(o,{x:t.clientX,y:t.clientY})}}else i.isPannable()&&(t.deltaMode===1&&(e*=18,s*=18),i.panTo(i.pan.x-e,i.pan.y-s))}}function St(r){if(typeof r=="string")return r;if(!r||!r.isCustomSVG)return"";const t=r;let i='",i}class xt{constructor(t,i){var e;const s=i.name||i.className;let n=i.html;if(t.options[s]===!1)return;typeof t.options[s+"SVG"]=="string"&&(n=t.options[s+"SVG"]),t.dispatch("uiElementCreate",{data:i});let o="";i.isButton?(o+="pswp__button ",o+=i.className||`pswp__button--${i.name}`):o+=i.className||`pswp__${i.name}`;let a=i.isButton?i.tagName||"button":i.tagName||"div";a=a.toLowerCase();const h=f(o,a);if(i.isButton){a==="button"&&(h.type="button");let{title:d}=i;const{ariaLabel:u}=i;typeof t.options[s+"Title"]=="string"&&(d=t.options[s+"Title"]),d&&(h.title=d);const m=u||d;m&&h.setAttribute("aria-label",m)}h.innerHTML=St(n),i.onInit&&i.onInit(h,t),i.onClick&&(h.onclick=d=>{typeof i.onClick=="string"?t[i.onClick]():typeof i.onClick=="function"&&i.onClick(d,h,t)});const l=i.appendTo||"bar";let c=t.element;l==="bar"?(t.topBar||(t.topBar=f("pswp__top-bar pswp__hide-on-close","div",t.scrollWrap)),c=t.topBar):(h.classList.add("pswp__hide-on-close"),l==="wrapper"&&(c=t.scrollWrap)),(e=c)===null||e===void 0||e.appendChild(t.applyFilters("uiElement",h,i))}}function H(r,t,i){r.classList.add("pswp__button--arrow"),r.setAttribute("aria-controls","pswp__items"),t.on("change",()=>{t.options.loop||(i?r.disabled=!(t.currIndex0))})}const bt={name:"arrowPrev",className:"pswp__button--arrow--prev",title:"Previous",order:10,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"prev",onInit:H},It={name:"arrowNext",className:"pswp__button--arrow--next",title:"Next",order:11,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"next",onInit:(r,t)=>{H(r,t,!0)}},At={name:"close",title:"Close",order:20,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-close"},onClick:"close"},Lt={name:"zoom",title:"Zoom",order:10,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-zoom"},onClick:"toggleZoom"},Ct={name:"preloader",appendTo:"bar",order:7,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-loading"},onInit:(r,t)=>{let i,e=null;const s=(a,h)=>{r.classList.toggle("pswp__preloader--"+a,h)},n=a=>{i!==a&&(i=a,s("active",a))},o=()=>{var a;if(!((a=t.currSlide)!==null&&a!==void 0&&a.content.isLoading())){n(!1),e&&(clearTimeout(e),e=null);return}e||(e=setTimeout(()=>{var h;n(!!(!((h=t.currSlide)===null||h===void 0)&&h.content.isLoading())),e=null},t.options.preloaderDelay))};t.on("change",o),t.on("loadComplete",a=>{t.currSlide===a.slide&&o()}),t.ui&&(t.ui.updatePreloaderVisibility=o)}},Tt={name:"counter",order:5,onInit:(r,t)=>{t.on("change",()=>{r.innerText=t.currIndex+1+t.options.indexIndicatorSep+t.getNumItems()})}};function D(r,t){r.classList.toggle("pswp--zoomed-in",t)}class zt{constructor(t){this.pswp=t,this.isRegistered=!1,this.uiElementsData=[],this.items=[],this.updatePreloaderVisibility=()=>{},this._lastUpdatedZoomLevel=void 0}init(){const{pswp:t}=this;this.isRegistered=!1,this.uiElementsData=[At,bt,It,Lt,Ct,Tt],t.dispatch("uiRegister"),this.uiElementsData.sort((i,e)=>(i.order||0)-(e.order||0)),this.items=[],this.isRegistered=!0,this.uiElementsData.forEach(i=>{this.registerElement(i)}),t.on("change",()=>{var i;(i=t.element)===null||i===void 0||i.classList.toggle("pswp--one-slide",t.getNumItems()===1)}),t.on("zoomPanUpdate",()=>this._onZoomPanUpdate())}registerElement(t){this.isRegistered?this.items.push(new xt(this.pswp,t)):this.uiElementsData.push(t)}_onZoomPanUpdate(){const{template:t,currSlide:i,options:e}=this.pswp;if(this.pswp.opener.isClosing||!t||!i)return;let{currZoomLevel:s}=i;if(this.pswp.opener.isOpen||(s=i.zoomLevels.initial),s===this._lastUpdatedZoomLevel)return;this._lastUpdatedZoomLevel=s;const n=i.zoomLevels.initial-i.zoomLevels.secondary;if(Math.abs(n)<.01||!i.isZoomable()){D(t,!1),t.classList.remove("pswp--zoom-allowed");return}t.classList.add("pswp--zoom-allowed");const o=s===i.zoomLevels.initial?i.zoomLevels.secondary:i.zoomLevels.initial;D(t,o<=s),(e.imageClickAction==="zoom"||e.imageClickAction==="zoom-or-close")&&t.classList.add("pswp--click-to-zoom")}}function Et(r){const t=r.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width}}function Ot(r,t,i){const e=r.getBoundingClientRect(),s=e.width/t,n=e.height/i,o=s>n?s:n,a=(e.width-t*o)/2,h=(e.height-i*o)/2,l={x:e.left+a,y:e.top+h,w:t*o};return l.innerRect={w:e.width,h:e.height,x:a,y:h},l}function Zt(r,t,i){const e=i.dispatch("thumbBounds",{index:r,itemData:t,instance:i});if(e.thumbBounds)return e.thumbBounds;const{element:s}=t;let n,o;if(s&&i.options.thumbSelector!==!1){const a=i.options.thumbSelector||"img";o=s.matches(a)?s:s.querySelector(a)}return o=i.applyFilters("thumbEl",o,t,r),o&&(t.thumbCropped?n=Ot(o,t.width||t.w||0,t.height||t.h||0):n=Et(o)),i.applyFilters("thumbBounds",n,t,r)}class Dt{constructor(t,i){this.type=t,this.defaultPrevented=!1,i&&Object.assign(this,i)}preventDefault(){this.defaultPrevented=!0}}class Mt{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,i,e=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),(s=this._filters[t])===null||s===void 0||s.push({fn:i,priority:e}),(n=this._filters[t])===null||n===void 0||n.sort((a,h)=>a.priority-h.priority),(o=this.pswp)===null||o===void 0||o.addFilter(t,i,e)}removeFilter(t,i){this._filters[t]&&(this._filters[t]=this._filters[t].filter(e=>e.fn!==i)),this.pswp&&this.pswp.removeFilter(t,i)}applyFilters(t,...i){var e;return(e=this._filters[t])===null||e===void 0||e.forEach(s=>{i[0]=s.fn.apply(this,i)}),i[0]}on(t,i){var e,s;this._listeners[t]||(this._listeners[t]=[]),(e=this._listeners[t])===null||e===void 0||e.push(i),(s=this.pswp)===null||s===void 0||s.on(t,i)}off(t,i){var e;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(s=>i!==s)),(e=this.pswp)===null||e===void 0||e.off(t,i)}dispatch(t,i){var e;if(this.pswp)return this.pswp.dispatch(t,i);const s=new Dt(t,i);return(e=this._listeners[t])===null||e===void 0||e.forEach(n=>{n.call(this,s)}),s}}class Rt{constructor(t,i){if(this.element=f("pswp__img pswp__img--placeholder",t?"img":"div",i),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,i){this.element&&(this.element.tagName==="IMG"?(L(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=b(0,0,t/250)):L(this.element,t,i))}destroy(){var t;(t=this.element)!==null&&t!==void 0&&t.parentNode&&this.element.remove(),this.element=null}}class Ft{constructor(t,i,e){this.instance=i,this.data=t,this.index=e,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=_.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout(()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)},1e3)}load(t,i){if(this.slide&&this.usePlaceholder())if(this.placeholder){const e=this.placeholder.element;e&&!e.parentElement&&this.slide.container.prepend(e)}else{const e=this.instance.applyFilters("placeholderSrc",this.data.msrc&&this.slide.isFirstSlide?this.data.msrc:!1,this);this.placeholder=new Rt(e,this.slide.container)}this.element&&!i||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=f("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=f("pswp__content","div"),this.element.innerHTML=this.data.html||""),i&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var i,e;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=(i=this.data.src)!==null&&i!==void 0?i:"",s.alt=(e=this.data.alt)!==null&&e!==void 0?e:"",this.state=_.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=_.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder())}onError(){this.state=_.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===_.LOADING,this)}isError(){return this.state===_.ERROR}isImageContent(){return this.type==="image"}setDisplayedSize(t,i){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,i),!this.instance.dispatch("contentResize",{content:this,width:t,height:i}).defaultPrevented&&(L(this.element,t,i),this.isImageContent()&&!this.isError()))){const e=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=i,e?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:i,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==_.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,i=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||i>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=i+"px",t.dataset.largestUsedSize=String(i))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,!this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented&&(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,i;let e=f("pswp__error-msg","div");e.innerText=(t=(i=this.instance.options)===null||i===void 0?void 0:i.errorMsg)!==null&&t!==void 0?t:"",e=this.instance.applyFilters("contentErrorElement",e,this),this.element=f("pswp__content pswp__error-msg-container","div"),this.element.appendChild(e),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===_.ERROR){this.displayError();return}if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||C())?(this.isDecoding=!0,this.element.decode().catch(()=>{}).finally(()=>{this.isDecoding=!1,this.appendImage()})):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){this.instance.dispatch("contentActivate",{content:this}).defaultPrevented||!this.slide||(this.isImageContent()&&this.isDecoding&&!C()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,!this.instance.dispatch("contentRemove",{content:this}).defaultPrevented&&(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder()))}}const Bt=5;function W(r,t,i){const e=t.createContentFromData(r,i);let s;const{options:n}=t;if(n){s=new k(n,r,-1);let o;t.pswp?o=t.pswp.viewportSize:o=B(n,t);const a=N(n,o,r,i);s.update(e.width,e.height,a)}return e.lazyLoad(),s&&e.setDisplayedSize(Math.ceil(e.width*s.initial),Math.ceil(e.height*s.initial)),e}function Nt(r,t){const i=t.getItemData(r);if(!t.dispatch("lazyLoadSlide",{index:r,itemData:i}).defaultPrevented)return W(i,t,r)}class kt{constructor(t){this.pswp=t,this.limit=Math.max(t.options.preload[0]+t.options.preload[1]+1,Bt),this._cachedItems=[]}updateLazy(t){const{pswp:i}=this;if(i.dispatch("lazyLoad").defaultPrevented)return;const{preload:e}=i.options,s=t===void 0?!0:t>=0;let n;for(n=0;n<=e[1];n++)this.loadSlideByIndex(i.currIndex+(s?n:-n));for(n=1;n<=e[0];n++)this.loadSlideByIndex(i.currIndex+(s?-n:n))}loadSlideByIndex(t){const i=this.pswp.getLoopedIndex(t);let e=this.getContentByIndex(i);e||(e=Nt(i,this.pswp),e&&this.addToCache(e))}getContentBySlide(t){let i=this.getContentByIndex(t.index);return i||(i=this.pswp.createContentFromData(t.data,t.index),this.addToCache(i)),i.setSlide(t),i}addToCache(t){if(this.removeByIndex(t.index),this._cachedItems.push(t),this._cachedItems.length>this.limit){const i=this._cachedItems.findIndex(e=>!e.isAttached&&!e.hasSlide);i!==-1&&this._cachedItems.splice(i,1)[0].destroy()}}removeByIndex(t){const i=this._cachedItems.findIndex(e=>e.index===t);i!==-1&&this._cachedItems.splice(i,1)}getContentByIndex(t){return this._cachedItems.find(i=>i.index===t)}destroy(){this._cachedItems.forEach(t=>t.destroy()),this._cachedItems=[]}}class Ht extends Mt{getNumItems(){var t;let i=0;const e=(t=this.options)===null||t===void 0?void 0:t.dataSource;e&&"length"in e?i=e.length:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),e.items&&(i=e.items.length));const s=this.dispatch("numItems",{dataSource:e,numItems:i});return this.applyFilters("numItems",s.numItems,e)}createContentFromData(t,i){return new Ft(t,this,i)}getItemData(t){var i;const e=(i=this.options)===null||i===void 0?void 0:i.dataSource;let s={};Array.isArray(e)?s=e[t]:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),s=e.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var i,e;return(i=this.options)!==null&&i!==void 0&&i.children||(e=this.options)!==null&&e!==void 0&&e.childSelector?K(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const i={element:t},e=t.tagName==="A"?t:t.querySelector("a");if(e){i.src=e.dataset.pswpSrc||e.href,e.dataset.pswpSrcset&&(i.srcset=e.dataset.pswpSrcset),i.width=e.dataset.pswpWidth?parseInt(e.dataset.pswpWidth,10):0,i.height=e.dataset.pswpHeight?parseInt(e.dataset.pswpHeight,10):0,i.w=i.width,i.h=i.height,e.dataset.pswpType&&(i.type=e.dataset.pswpType);const n=t.querySelector("img");if(n){var s;i.msrc=n.currentSrc||n.src,i.alt=(s=n.getAttribute("alt"))!==null&&s!==void 0?s:""}(e.dataset.pswpCropped||e.dataset.cropped)&&(i.thumbCropped=!0)}return this.applyFilters("domItemData",i,t,e)}lazyLoadData(t,i){return W(t,this,i)}}const P=.003;class Wt{constructor(t){this.pswp=t,this.isClosed=!0,this.isOpen=!1,this.isClosing=!1,this.isOpening=!1,this._duration=void 0,this._useAnimation=!1,this._croppedZoom=!1,this._animateRootOpacity=!1,this._animateBgOpacity=!1,this._placeholder=void 0,this._opacityElement=void 0,this._cropContainer1=void 0,this._cropContainer2=void 0,this._thumbBounds=void 0,this._prepareOpen=this._prepareOpen.bind(this),t.on("firstZoomPan",this._prepareOpen)}open(){this._prepareOpen(),this._start()}close(){if(this.isClosed||this.isClosing||this.isOpening)return;const t=this.pswp.currSlide;this.isOpen=!1,this.isOpening=!1,this.isClosing=!0,this._duration=this.pswp.options.hideAnimationDuration,t&&t.currZoomLevel*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps(),setTimeout(()=>{this._start()},this._croppedZoom?30:0)}_prepareOpen(){if(this.pswp.off("firstZoomPan",this._prepareOpen),!this.isOpening){const t=this.pswp.currSlide;this.isOpening=!0,this.isClosing=!1,this._duration=this.pswp.options.showAnimationDuration,t&&t.zoomLevels.initial*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps()}}_applyStartProps(){const{pswp:t}=this,i=this.pswp.currSlide,{options:e}=t;if(e.showHideAnimationType==="fade"?(e.showHideOpacity=!0,this._thumbBounds=void 0):e.showHideAnimationType==="none"?(e.showHideOpacity=!1,this._duration=0,this._thumbBounds=void 0):this.isOpening&&t._initialThumbBounds?this._thumbBounds=t._initialThumbBounds:this._thumbBounds=this.pswp.getThumbBounds(),this._placeholder=i==null?void 0:i.getPlaceholderElement(),t.animations.stopAll(),this._useAnimation=!!(this._duration&&this._duration>50),this._animateZoom=!!this._thumbBounds&&(i==null?void 0:i.content.usePlaceholder())&&(!this.isClosing||!t.mainScroll.isShifted()),!this._animateZoom)this._animateRootOpacity=!0,this.isOpening&&i&&(i.zoomAndPanToInitial(),i.applyCurrentZoomPan());else{var s;this._animateRootOpacity=(s=e.showHideOpacity)!==null&&s!==void 0?s:!1}if(this._animateBgOpacity=!this._animateRootOpacity&&this.pswp.options.bgOpacity>P,this._opacityElement=this._animateRootOpacity?t.element:t.bg,!this._useAnimation){this._duration=0,this._animateZoom=!1,this._animateBgOpacity=!1,this._animateRootOpacity=!0,this.isOpening&&(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1));return}if(this._animateZoom&&this._thumbBounds&&this._thumbBounds.innerRect){var n;this._croppedZoom=!0,this._cropContainer1=this.pswp.container,this._cropContainer2=(n=this.pswp.currSlide)===null||n===void 0?void 0:n.holderElement,t.container&&(t.container.style.overflow="hidden",t.container.style.width=t.viewportSize.x+"px")}else this._croppedZoom=!1;this.isOpening?(this._animateRootOpacity?(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1)):(this._animateBgOpacity&&t.bg&&(t.bg.style.opacity=String(P)),t.element&&(t.element.style.opacity="1")),this._animateZoom&&(this._setClosedStateZoomPan(),this._placeholder&&(this._placeholder.style.willChange="transform",this._placeholder.style.opacity=String(P)))):this.isClosing&&(t.mainScroll.itemHolders[0]&&(t.mainScroll.itemHolders[0].el.style.display="none"),t.mainScroll.itemHolders[2]&&(t.mainScroll.itemHolders[2].el.style.display="none"),this._croppedZoom&&t.mainScroll.x!==0&&(t.mainScroll.resetPosition(),t.mainScroll.resize()))}_start(){this.isOpening&&this._useAnimation&&this._placeholder&&this._placeholder.tagName==="IMG"?new Promise(t=>{let i=!1,e=!0;q(this._placeholder).finally(()=>{i=!0,e||t(!0)}),setTimeout(()=>{e=!1,i&&t(!0)},50),setTimeout(t,250)}).finally(()=>this._initiate()):this._initiate()}_initiate(){var t,i;(t=this.pswp.element)===null||t===void 0||t.style.setProperty("--pswp-transition-duration",this._duration+"ms"),this.pswp.dispatch(this.isOpening?"openingAnimationStart":"closingAnimationStart"),this.pswp.dispatch("initialZoom"+(this.isOpening?"In":"Out")),(i=this.pswp.element)===null||i===void 0||i.classList.toggle("pswp--ui-visible",this.isOpening),this.isOpening?(this._placeholder&&(this._placeholder.style.opacity="1"),this._animateToOpenState()):this.isClosing&&this._animateToClosedState(),this._useAnimation||this._onAnimationComplete()}_onAnimationComplete(){const{pswp:t}=this;if(this.isOpen=this.isOpening,this.isClosed=this.isClosing,this.isOpening=!1,this.isClosing=!1,t.dispatch(this.isOpen?"openingAnimationEnd":"closingAnimationEnd"),t.dispatch("initialZoom"+(this.isOpen?"InEnd":"OutEnd")),this.isClosed)t.destroy();else if(this.isOpen){var i;this._animateZoom&&t.container&&(t.container.style.overflow="visible",t.container.style.width="100%"),(i=t.currSlide)===null||i===void 0||i.applyCurrentZoomPan()}}_animateToOpenState(){const{pswp:t}=this;this._animateZoom&&(this._croppedZoom&&this._cropContainer1&&this._cropContainer2&&(this._animateTo(this._cropContainer1,"transform","translate3d(0,0,0)"),this._animateTo(this._cropContainer2,"transform","none")),t.currSlide&&(t.currSlide.zoomAndPanToInitial(),this._animateTo(t.currSlide.container,"transform",t.currSlide.getCurrentTransform()))),this._animateBgOpacity&&t.bg&&this._animateTo(t.bg,"opacity",String(t.options.bgOpacity)),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","1")}_animateToClosedState(){const{pswp:t}=this;this._animateZoom&&this._setClosedStateZoomPan(!0),this._animateBgOpacity&&t.bgOpacity>.01&&t.bg&&this._animateTo(t.bg,"opacity","0"),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","0")}_setClosedStateZoomPan(t){if(!this._thumbBounds)return;const{pswp:i}=this,{innerRect:e}=this._thumbBounds,{currSlide:s,viewportSize:n}=i;if(this._croppedZoom&&e&&this._cropContainer1&&this._cropContainer2){const o=-n.x+(this._thumbBounds.x-e.x)+e.w,a=-n.y+(this._thumbBounds.y-e.y)+e.h,h=n.x-e.w,l=n.y-e.h;t?(this._animateTo(this._cropContainer1,"transform",b(o,a)),this._animateTo(this._cropContainer2,"transform",b(h,l))):(y(this._cropContainer1,o,a),y(this._cropContainer2,h,l))}s&&(p(s.pan,e||this._thumbBounds),s.currZoomLevel=this._thumbBounds.w/s.width,t?this._animateTo(s.container,"transform",s.getCurrentTransform()):s.applyCurrentZoomPan())}_animateTo(t,i,e){if(!this._duration){t.style[i]=e;return}const{animations:s}=this.pswp,n={duration:this._duration,easing:this.pswp.options.easing,onComplete:()=>{s.activeAnimations.length||this._onAnimationComplete()},target:t};n[i]=e,s.startTransition(n)}}const Vt={allowPanToNext:!0,spacing:.1,loop:!0,pinchToClose:!0,closeOnVerticalDrag:!0,hideAnimationDuration:333,showAnimationDuration:333,zoomAnimationDuration:333,escKey:!0,arrowKeys:!0,trapFocus:!0,returnFocus:!0,maxWidthToAnimate:4e3,clickToCloseNonZoomable:!0,imageClickAction:"zoom-or-close",bgClickAction:"close",tapAction:"toggle-controls",doubleTapAction:"zoom",indexIndicatorSep:" / ",preloaderDelay:2e3,bgOpacity:.8,index:0,errorMsg:"The image cannot be loaded",preload:[1,2],easing:"cubic-bezier(.4,0,.22,1)"};class $t extends Ht{constructor(t){super(),this.options=this._prepareOptions(t||{}),this.offset={x:0,y:0},this._prevViewportSize={x:0,y:0},this.viewportSize={x:0,y:0},this.bgOpacity=1,this.currIndex=0,this.potentialIndex=0,this.isOpen=!1,this.isDestroying=!1,this.hasMouse=!1,this._initialItemData={},this._initialThumbBounds=void 0,this.topBar=void 0,this.element=void 0,this.template=void 0,this.container=void 0,this.scrollWrap=void 0,this.currSlide=void 0,this.events=new X,this.animations=new wt,this.mainScroll=new dt(this),this.gestures=new lt(this),this.opener=new Wt(this),this.keyboard=new ut(this),this.contentLoader=new kt(this)}init(){if(this.isOpen||this.isDestroying)return!1;this.isOpen=!0,this.dispatch("init"),this.dispatch("beforeOpen"),this._createMainStructure();let t="pswp--open";return this.gestures.supportsTouch&&(t+=" pswp--touch"),this.options.mainClass&&(t+=" "+this.options.mainClass),this.element&&(this.element.className+=" "+t),this.currIndex=this.options.index||0,this.potentialIndex=this.currIndex,this.dispatch("firstUpdate"),this.scrollWheel=new Pt(this),(Number.isNaN(this.currIndex)||this.currIndex<0||this.currIndex>=this.getNumItems())&&(this.currIndex=0),this.gestures.supportsTouch||this.mouseDetected(),this.updateSize(),this.offset.y=window.pageYOffset,this._initialItemData=this.getItemData(this.currIndex),this.dispatch("gettingData",{index:this.currIndex,data:this._initialItemData,slide:void 0}),this._initialThumbBounds=this.getThumbBounds(),this.dispatch("initialLayout"),this.on("openingAnimationEnd",()=>{const{itemHolders:i}=this.mainScroll;i[0]&&(i[0].el.style.display="block",this.setContent(i[0],this.currIndex-1)),i[2]&&(i[2].el.style.display="block",this.setContent(i[2],this.currIndex+1)),this.appendHeavy(),this.contentLoader.updateLazy(),this.events.add(window,"resize",this._handlePageResize.bind(this)),this.events.add(window,"scroll",this._updatePageScrollOffset.bind(this)),this.dispatch("bindEvents")}),this.mainScroll.itemHolders[1]&&this.setContent(this.mainScroll.itemHolders[1],this.currIndex),this.dispatch("change"),this.opener.open(),this.dispatch("afterInit"),!0}getLoopedIndex(t){const i=this.getNumItems();return this.options.loop&&(t>i-1&&(t-=i),t<0&&(t+=i)),I(t,0,i-1)}appendHeavy(){this.mainScroll.itemHolders.forEach(t=>{var i;(i=t.slide)===null||i===void 0||i.appendHeavy()})}goTo(t){this.mainScroll.moveIndexBy(this.getLoopedIndex(t)-this.potentialIndex)}next(){this.goTo(this.potentialIndex+1)}prev(){this.goTo(this.potentialIndex-1)}zoomTo(...t){var i;(i=this.currSlide)===null||i===void 0||i.zoomTo(...t)}toggleZoom(){var t;(t=this.currSlide)===null||t===void 0||t.toggleZoom()}close(){!this.opener.isOpen||this.isDestroying||(this.isDestroying=!0,this.dispatch("close"),this.events.removeAll(),this.opener.close())}destroy(){var t;if(!this.isDestroying){this.options.showHideAnimationType="none",this.close();return}this.dispatch("destroy"),this._listeners={},this.scrollWrap&&(this.scrollWrap.ontouchmove=null,this.scrollWrap.ontouchend=null),(t=this.element)===null||t===void 0||t.remove(),this.mainScroll.itemHolders.forEach(i=>{var e;(e=i.slide)===null||e===void 0||e.destroy()}),this.contentLoader.destroy(),this.events.removeAll()}refreshSlideContent(t){this.contentLoader.removeByIndex(t),this.mainScroll.itemHolders.forEach((i,e)=>{var s,n;let o=((s=(n=this.currSlide)===null||n===void 0?void 0:n.index)!==null&&s!==void 0?s:0)-1+e;if(this.canLoop()&&(o=this.getLoopedIndex(o)),o===t&&(this.setContent(i,t,!0),e===1)){var a;this.currSlide=i.slide,(a=i.slide)===null||a===void 0||a.setIsActive(!0)}}),this.dispatch("change")}setContent(t,i,e){if(this.canLoop()&&(i=this.getLoopedIndex(i)),t.slide){if(t.slide.index===i&&!e)return;t.slide.destroy(),t.slide=void 0}if(!this.canLoop()&&(i<0||i>=this.getNumItems()))return;const s=this.getItemData(i);t.slide=new j(s,i,this),i===this.currIndex&&(this.currSlide=t.slide),t.slide.append(t.el)}getViewportCenterPoint(){return{x:this.viewportSize.x/2,y:this.viewportSize.y/2}}updateSize(t){if(this.isDestroying)return;const i=B(this.options,this);!t&&x(i,this._prevViewportSize)||(p(this._prevViewportSize,i),this.dispatch("beforeResize"),p(this.viewportSize,this._prevViewportSize),this._updatePageScrollOffset(),this.dispatch("viewportSize"),this.mainScroll.resize(this.opener.isOpen),!this.hasMouse&&window.matchMedia("(any-hover: hover)").matches&&this.mouseDetected(),this.dispatch("resize"))}applyBgOpacity(t){this.bgOpacity=Math.max(t,0),this.bg&&(this.bg.style.opacity=String(this.bgOpacity*this.options.bgOpacity))}mouseDetected(){if(!this.hasMouse){var t;this.hasMouse=!0,(t=this.element)===null||t===void 0||t.classList.add("pswp--has_mouse")}}_handlePageResize(){this.updateSize(),/iPhone|iPad|iPod/i.test(window.navigator.userAgent)&&setTimeout(()=>{this.updateSize()},500)}_updatePageScrollOffset(){this.setScrollOffset(0,window.pageYOffset)}setScrollOffset(t,i){this.offset.x=t,this.offset.y=i,this.dispatch("updateScrollOffset")}_createMainStructure(){this.element=f("pswp","div"),this.element.setAttribute("tabindex","-1"),this.element.setAttribute("role","dialog"),this.template=this.element,this.bg=f("pswp__bg","div",this.element),this.scrollWrap=f("pswp__scroll-wrap","section",this.element),this.container=f("pswp__container","div",this.scrollWrap),this.scrollWrap.setAttribute("aria-roledescription","carousel"),this.container.setAttribute("aria-live","off"),this.container.setAttribute("id","pswp__items"),this.mainScroll.appendHolders(),this.ui=new zt(this),this.ui.init(),(this.options.appendToEl||document.body).appendChild(this.element)}getThumbBounds(){return Zt(this.currIndex,this.currSlide?this.currSlide.data:this._initialItemData,this)}canLoop(){return this.options.loop&&this.getNumItems()>2}_prepareOptions(t){return window.matchMedia("(prefers-reduced-motion), (update: slow)").matches&&(t.showHideAnimationType="none",t.zoomAnimationDuration=0),{...Vt,...t}}}export{$t as default}; diff --git a/assets/pieDiagram-b0208e96-DYKUws8B.js b/assets/pieDiagram-b0208e96-DYKUws8B.js new file mode 100644 index 0000000000..3eb9fcbea4 --- /dev/null +++ b/assets/pieDiagram-b0208e96-DYKUws8B.js @@ -0,0 +1,35 @@ +import{aK as q,aL as at,v as lt,x as ot,s as ct,g as ht,b as ut,a as yt,z as ft,d as pt,c as et,l as it,aM as gt,aJ as dt,aN as mt,i as _t}from"./mermaid.core-xpSMncQK.js";import{a as tt}from"./arc-DQUeFz1-.js";import{o as xt}from"./ordinal-Cboi1Yqb.js";import{a as kt}from"./array-BKyUJesY.js";import{c as z}from"./path-CbwjOpE9.js";import"./app-pLjDz5vt.js";import"./init-Gi6I4Gst.js";function vt(e,u){return ue?1:u>=e?0:NaN}function bt(e){return e}function St(){var e=bt,u=vt,$=null,p=z(0),g=z(q),A=z(0);function y(a){var l,d=(a=kt(a)).length,m,I,T=0,_=new Array(d),v=new Array(d),c=+p.apply(this,arguments),E=Math.min(q,Math.max(-q,g.apply(this,arguments)-c)),O,w=Math.min(Math.abs(E)/d,A.apply(this,arguments)),b=w*(E<0?-1:1),t;for(l=0;l0&&(T+=t);for(u!=null?_.sort(function(i,n){return u(v[i],v[n])}):$!=null&&_.sort(function(i,n){return $(a[i],a[n])}),l=0,I=T?(E-d*b)/T:0;l0?t*I:0)+b,v[m]={data:a[m],index:l,value:t,startAngle:c,endAngle:O,padAngle:w};return v}return y.value=function(a){return arguments.length?(e=typeof a=="function"?a:z(+a),y):e},y.sortValues=function(a){return arguments.length?(u=a,$=null,y):u},y.sort=function(a){return arguments.length?($=a,u=null,y):$},y.startAngle=function(a){return arguments.length?(p=typeof a=="function"?a:z(+a),y):p},y.endAngle=function(a){return arguments.length?(g=typeof a=="function"?a:z(+a),y):g},y.padAngle=function(a){return arguments.length?(A=typeof a=="function"?a:z(+a),y):A},y}var H=function(){var e=function(b,t,i,n){for(i=i||{},n=b.length;n--;i[b[n]]=t);return i},u=[1,3],$=[1,4],p=[1,5],g=[1,6],A=[1,10,12,14,16,18,19,20,21,22],y=[2,4],a=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],d=[2,7],m=[1,12],I=[1,13],T=[1,14],_=[1,15],v=[1,16],c=[1,17],E={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,i,n,r,o,s,P){var x=s.length-1;switch(o){case 3:r.setShowData(!0);break;case 6:this.$=s[x-1];break;case 8:r.addSection(s[x-1],r.cleanupValue(s[x]));break;case 9:this.$=s[x].trim(),r.setDiagramTitle(this.$);break;case 10:this.$=s[x].trim(),r.setAccTitle(this.$);break;case 11:case 12:this.$=s[x].trim(),r.setAccDescription(this.$);break;case 13:r.addSection(s[x].substr(8)),this.$=s[x].substr(8);break}},table:[{3:1,4:2,5:u,20:$,21:p,22:g},{1:[3]},{3:7,4:2,5:u,20:$,21:p,22:g},e(A,y,{6:8,7:[1,9]}),e(a,[2,14]),e(a,[2,15]),e(a,[2,16]),{1:[2,1]},e(l,d,{8:10,9:11,1:[2,2],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,y,{6:18}),e(A,[2,5]),{4:19,20:$,21:p,22:g},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},e(l,[2,12]),e(l,[2,13]),e(l,d,{8:10,9:11,1:[2,3],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,[2,6]),e(l,[2,8]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],r=[],o=[null],s=[],P=this.table,x="",f=0,V=0,F=2,M=1,B=s.slice.call(arguments,1),h=Object.create(this.lexer),N={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(N.yy[Y]=this.yy[Y]);h.setInput(t,N.yy),N.yy.lexer=h,N.yy.parser=this,typeof h.yylloc>"u"&&(h.yylloc={});var J=h.yylloc;s.push(J);var st=h.options&&h.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(){var C;return C=r.pop()||h.lex()||M,typeof C!="number"&&(C instanceof Array&&(r=C,C=r.pop()),C=i.symbols_[C]||C),C}for(var k,L,S,K,R={},j,D,X,W;;){if(L=n[n.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((k===null||typeof k>"u")&&(k=rt()),S=P[L]&&P[L][k]),typeof S>"u"||!S.length||!S[0]){var Z="";W=[];for(j in P[L])this.terminals_[j]&&j>F&&W.push("'"+this.terminals_[j]+"'");h.showPosition?Z="Parse error on line "+(f+1)+`: +`+h.showPosition()+` +Expecting `+W.join(", ")+", got '"+(this.terminals_[k]||k)+"'":Z="Parse error on line "+(f+1)+": Unexpected "+(k==M?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(Z,{text:h.match,token:this.terminals_[k]||k,line:h.yylineno,loc:J,expected:W})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+k);switch(S[0]){case 1:n.push(k),o.push(h.yytext),s.push(h.yylloc),n.push(S[1]),k=null,V=h.yyleng,x=h.yytext,f=h.yylineno,J=h.yylloc;break;case 2:if(D=this.productions_[S[1]][1],R.$=o[o.length-D],R._$={first_line:s[s.length-(D||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(D||1)].first_column,last_column:s[s.length-1].last_column},st&&(R._$.range=[s[s.length-(D||1)].range[0],s[s.length-1].range[1]]),K=this.performAction.apply(R,[x,V,f,N.yy,S[1],o,s].concat(B)),typeof K<"u")return K;D&&(n=n.slice(0,-1*D*2),o=o.slice(0,-1*D),s=s.slice(0,-1*D)),n.push(this.productions_[S[1]][0]),o.push(R.$),s.push(R._$),X=P[n[n.length-2]][n[n.length-1]],n.push(X);break;case 3:return!0}}return!0}},O=function(){var b={EOF:1,parseError:function(i,n){if(this.yy.parser)this.yy.parser.parseError(i,n);else throw new Error(i)},setInput:function(t,i){return this.yy=i||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},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var i=t.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),t},unput:function(t){var i=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var r=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 o=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===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var t=this.pastInput(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+` +`+i+"^"},test_match:function(t,i){var n,r,o;if(this.options.backtrack_lexer&&(o={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&&(o.yylloc.range=this.yylloc.range.slice(0))),r=t[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],n=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var s in o)this[s]=o[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,i,n,r;this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),s=0;si[0].length)){if(i=n,r=s,this.options.backtrack_lexer){if(t=this.test_match(n,o[s]),t!==!1)return t;if(this._backtrack){i=!1;continue}else return!1}else if(!this.options.flex)break}return i?(t=this.test_match(i,o[r]),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})},lex:function(){var i=this.next();return i||this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){var i=this.conditionStack.length-1;return i>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(i){return i=this.conditionStack.length-1-Math.abs(i||0),i>=0?this.conditionStack[i]:"INITIAL"},pushState:function(i){this.begin(i)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(i,n,r,o){switch(r){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/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,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return b}();E.lexer=O;function w(){this.yy={}}return w.prototype=E,E.Parser=w,new w}();H.parser=H;const $t=H,nt=at.pie,G={sections:{},showData:!1,config:nt};let U=G.sections,Q=G.showData;const At=structuredClone(nt),Et=()=>structuredClone(At),wt=()=>{U=structuredClone(G.sections),Q=G.showData,ft()},Tt=(e,u)=>{e=pt(e,et()),U[e]===void 0&&(U[e]=u,it.debug(`added new section: ${e}, with value: ${u}`))},It=()=>U,Dt=e=>(e.substring(0,1)===":"&&(e=e.substring(1).trim()),Number(e.trim())),Ct=e=>{Q=e},Ot=()=>Q,Pt={getConfig:Et,clear:wt,setDiagramTitle:lt,getDiagramTitle:ot,setAccTitle:ct,getAccTitle:ht,setAccDescription:ut,getAccDescription:yt,addSection:Tt,getSections:It,cleanupValue:Dt,setShowData:Ct,getShowData:Ot},Vt=e=>` + .pieCircle{ + stroke: ${e.pieStrokeColor}; + stroke-width : ${e.pieStrokeWidth}; + opacity : ${e.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${e.pieOuterStrokeColor}; + stroke-width: ${e.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${e.pieTitleTextSize}; + fill: ${e.pieTitleTextColor}; + font-family: ${e.fontFamily}; + } + .slice { + font-family: ${e.fontFamily}; + fill: ${e.pieSectionTextColor}; + font-size:${e.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${e.pieLegendTextColor}; + font-family: ${e.fontFamily}; + font-size: ${e.pieLegendTextSize}; + } +`,Nt=Vt,Lt=e=>{const u=Object.entries(e).map(p=>({label:p[0],value:p[1]})).sort((p,g)=>g.value-p.value);return St().value(p=>p.value)(u)},zt=(e,u,$,p)=>{it.debug(`rendering pie chart +`+e);const g=p.db,A=et(),y=gt(g.getConfig(),A.pie),a=40,l=18,d=4,m=450,I=m,T=dt(u),_=T.append("g"),v=g.getSections();_.attr("transform","translate("+I/2+","+m/2+")");const{themeVariables:c}=A;let[E]=mt(c.pieOuterStrokeWidth);E??(E=2);const O=y.textPosition,w=Math.min(I,m)/2-a,b=tt().innerRadius(0).outerRadius(w),t=tt().innerRadius(w*O).outerRadius(w*O);_.append("circle").attr("cx",0).attr("cy",0).attr("r",w+E/2).attr("class","pieOuterCircle");const i=Lt(v),n=[c.pie1,c.pie2,c.pie3,c.pie4,c.pie5,c.pie6,c.pie7,c.pie8,c.pie9,c.pie10,c.pie11,c.pie12],r=xt(n);_.selectAll("mySlices").data(i).enter().append("path").attr("d",b).attr("fill",f=>r(f.data.label)).attr("class","pieCircle");let o=0;Object.keys(v).forEach(f=>{o+=v[f]}),_.selectAll("mySlices").data(i).enter().append("text").text(f=>(f.data.value/o*100).toFixed(0)+"%").attr("transform",f=>"translate("+t.centroid(f)+")").style("text-anchor","middle").attr("class","slice"),_.append("text").text(g.getDiagramTitle()).attr("x",0).attr("y",-(m-50)/2).attr("class","pieTitleText");const s=_.selectAll(".legend").data(r.domain()).enter().append("g").attr("class","legend").attr("transform",(f,V)=>{const F=l+d,M=F*r.domain().length/2,B=12*l,h=V*F-M;return"translate("+B+","+h+")"});s.append("rect").attr("width",l).attr("height",l).style("fill",r).style("stroke",r),s.data(i).append("text").attr("x",l+d).attr("y",l-d).text(f=>{const{label:V,value:F}=f.data;return g.getShowData()?`${V} [${F}]`:V});const P=Math.max(...s.selectAll("text").nodes().map(f=>(f==null?void 0:f.getBoundingClientRect().width)??0)),x=I+a+l+d+P;T.attr("viewBox",`0 0 ${x} ${m}`),_t(T,m,x,y.useMaxWidth)},Ft={draw:zt},Yt={parser:$t,db:Pt,renderer:Ft,styles:Nt};export{Yt as diagram}; diff --git a/assets/plugin-vue_export-helper-DlAUqK2U.js b/assets/plugin-vue_export-helper-DlAUqK2U.js new file mode 100644 index 0000000000..718edd3390 --- /dev/null +++ b/assets/plugin-vue_export-helper-DlAUqK2U.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/assets/plugins.html-DWTFTM_X.js b/assets/plugins.html-DWTFTM_X.js new file mode 100644 index 0000000000..81e5b101a4 --- /dev/null +++ b/assets/plugins.html-DWTFTM_X.js @@ -0,0 +1 @@ +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as i,c as l,a as e,b as t,d as n,w as p,e as c}from"./app-pLjDz5vt.js";const d={},h=e("h1",{id:"插件安装的常见问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#插件安装的常见问题"},[e("span",null,"插件安装的常见问题")])],-1),u=c('

    无法打开插件页面

    如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如果退出重开后依然没有,请重启电脑,然后再尝试。这是 Zotero 的一个 Bug。

    插件页面显示过大超出屏幕

    如果你能打开窗口,却发现窗口顶部捅破了天际,看不到上面的内容: 请先把窗口左右方向拉窄,这样顶部就回自己跳出来了;然后再把上下方向拉矮,把窗口调整到合适的位置,一段时间之内应该就会都是正常的了。这大概也是 Zotero 的一个祖传 Bug。如果是 Windows 系统,选中该窗口,使用快捷键 WIN + 左或右方向键 调整窗口。

    插件安装包格式特殊

    如果你下载到的插件安装包格式比较特殊 (如 .zoteroplugin 文件或 .zip 文件),这些文件可能不能在手动安装的文件选择窗口中选中。对于这些特殊格式的安装包,你 只需要把安装包文件拖至前文中提到的插件列表页即可安装

    插件安装提示无法安装插件“%S”

    如果安装的时候提示 无法安装插件“%S”……

    1. 请检查下载的插件格式。如果从 GitHub 下载,安装包在右侧的 Release 中的 xpi 文件。请不要下载源码。

    2. 请检查插件安装包是否损坏。重新下载一遍。

    插件检查更新时提示未找到更新

    ',10),m={href:"https://zotero-chinese.gitee.io/zotero-plugins/#/",target:"_blank",rel:"noopener noreferrer"},g=e("br",null,null,-1);function _(f,b){const r=o("RouteLink"),a=o("ExternalLinkIcon");return i(),l("div",null,[h,e("p",null,[t("关于插件的安装方法与常用插件介绍,请参见 "),n(r,{to:"/user-guide/plugins/about-plugin.html"},{default:p(()=>[t("插件与功能扩展")]),_:1}),t("。")]),u,e("p",null,[t("可能是确实没有更新,也可能是无法链接到 GitHub。请在插件镜像寻找你需要的安装包:"),e("a",m,[t("https://zotero-chinese.gitee.io/zotero-plugins/#/"),n(a)]),g,t(" 即使你能够打开 GitHub 页面,也并不代表 Zotero 能够顺利下载到插件更新。这取决于网络情况。")])])}const y=s(d,[["render",_],["__file","plugins.html.vue"]]),k=JSON.parse('{"path":"/user-guide/faqs/plugins.html","title":"插件安装的常见问题","lang":"zh-CN","frontmatter":{"order":1,"description":"插件安装的常见问题 关于插件的安装方法与常用插件介绍,请参见 。 无法打开插件页面 如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/plugins.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"插件安装的常见问题"}],["meta",{"property":"og:description","content":"插件安装的常见问题 关于插件的安装方法与常用插件介绍,请参见 。 无法打开插件页面 如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"插件安装的常见问题\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"无法打开插件页面","slug":"无法打开插件页面","link":"#无法打开插件页面","children":[]},{"level":2,"title":"插件页面显示过大超出屏幕","slug":"插件页面显示过大超出屏幕","link":"#插件页面显示过大超出屏幕","children":[]},{"level":2,"title":"插件安装包格式特殊","slug":"插件安装包格式特殊","link":"#插件安装包格式特殊","children":[]},{"level":2,"title":"插件安装提示无法安装插件“%S”","slug":"插件安装提示无法安装插件-s","link":"#插件安装提示无法安装插件-s","children":[]},{"level":2,"title":"插件检查更新时提示未找到更新","slug":"插件检查更新时提示未找到更新","link":"#插件检查更新时提示未找到更新","children":[]}],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.9,"words":571},"filePathRelative":"user-guide/faqs/plugins.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    关于插件的安装方法与常用插件介绍,请参见 插件与功能扩展

    \\n

    无法打开插件页面

    \\n

    如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如果退出重开后依然没有,请重启电脑,然后再尝试。这是 Zotero 的一个 Bug。

    "}');export{y as comp,k as data}; diff --git a/assets/preference.html-1Q8E6cRw.js b/assets/preference.html-1Q8E6cRw.js new file mode 100644 index 0000000000..c651c5ec8a --- /dev/null +++ b/assets/preference.html-1Q8E6cRw.js @@ -0,0 +1,71 @@ +import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as l,c as i,a as n,b as s,d as a,w as r,e as t}from"./app-pLjDz5vt.js";const u={},d=n("h1",{id:"zotero-首选项",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#zotero-首选项"},[n("span",null,"Zotero 首选项")])],-1),k=n("p",null,"Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。",-1),m={href:"https://www.zotero.org/support/kb/profile_directory",target:"_blank",rel:"noopener noreferrer"},v=n("code",null,"prefs.js",-1),f=t(`

    💡 注意:Preference 的值有长度限制,请勿设置太长的字符串。

    默认设置

    在插件根目录新建 prefs.js,并填入如下示例的内容,可以初始化的 Preference 的键和值。键为字符串,值为布尔、数字或字符串其一。

    pref("extensions.zotero.Knowledge4Zotero.syncNoteIds", "");
    +pref("extensions.zotero.Knowledge4Zotero.syncPeriod", 10000);
    +pref("extensions.zotero.Knowledge4Zotero.autoAnnotation", false);
    +

    注意

    请注意,该文件中每一行的 pref 请勿换行。换行可能导致失效,并不会有明显的错误提示,可能导致新用户的默认配置为空。

    首选项窗格

    注册首选项窗格

    Zotero 现在包含一个用于注册首选项窗格的内置接口。在插件的 startup 中:

    Zotero.PreferencePanes.register({
    +  pluginID: "make-it-red@zotero.org",
    +  src: "prefs.xhtml",
    +  scripts: ["prefs.js"],
    +  stylesheets: ["prefs.css"],
    +});
    +
    `,9),g={href:"https://github.com/zotero/zotero/blob/main/chrome/content/zotero/xpcom/preferencePanes.js#L123",target:"_blank",rel:"noopener noreferrer"},b=t(`

    窗格的 src 应指向包含 XUL/XHTML 片段的文件。片段不能有 <!DOCTYPE 。默认命名空间是 XUL,HTML 标签可在 html: 下访问。一个简单的窗格可能如下所示:

    <vbox onload="MakeItRed_Preferences.init()">
    +	<groupbox>
    +		<label><html:h2>Colors</html:h2></label>
    +		<!-- [...] -->
    +	</groupbox>
    +</vbox>
    +

    要使用 Fluent 进行本地化,请在 XUL <linkset> 中包含一个或多个 HTML <link> 元素:

    <linkset>
    +	<html:link rel="localization" href="make-it-red.ftl"/>
    +</linkset>
    +
    `,4),h=t(`

    设置命名空间以避免冲突

    请注意,首选项窗格中的所有 classiddata-l10n-id 都应命名空间以避免插件之间发生冲突。

    绑定首选项

    通过将标签的 preference 属性设置为首选项的键,即可绑定首选项,例如:

    <html:input type="text" preference="extensions.zotero.makeItRed.color"/>
    +

    增删改查设置项

    `,5),y={href:"https://github.com/zotero/zotero/blob/master/chrome/content/zotero/xpcom/prefs.js",target:"_blank",rel:"noopener noreferrer"},x=t(`
    declare namespace Zotero {
    +  interface Prefs {
    +    /**
    +     * Retrieve a preference
    +     */
    +    get(pref: string, global?: boolean): boolean | string | number | undefined;
    +
    +    /**
    +     * Set a preference
    +     */
    +    set(pref: string, value: boolean | string | number, global?: boolean): any;
    +
    +    clear(pref: string, global?: boolean): void;
    +  }
    +}
    +

    Zotero.Prefs.get

    读取名称为 pref 的 Preference。

    pref 为 Preference 的键,global 为是否是全局命名域,默认否。

    注意,对于 extensions.zotero.addonRef.key,在页面绑定以及设置编辑器中,Preference 的键名为 extensions.zotero.addonRef.key,而在 API 中调用时只需要 addonRef.key,否则则需要启用全局命名域。

    例:首选项键 extensions.zotero.formatmetadata.abbr 的值为 true

    Zotero.Prefs.get("pdfpreview.enable"); // true
    +Zotero.Prefs.get("extensions.zotero.formatmetadata.abbr"); // undefined
    +Zotero.Prefs.get("extensions.zotero.formatmetadata.abbr", true); // true
    +Zotero.Prefs.get("formatmetadata.abbr", true); // undefined
    +

    Zotero.Prefs.set

    设置名称为 pref 的 Preference 为 value

    pref 为 Preference 的键,value 为 Preference 的值,global 为是否是全局命名域,默认否。

    例:首选项键 extensions.zotero.pdfpreview.enable 的当前值为 true,需要将其修改为 false

    Zotero.Prefs.set("pdfpreview.enable", false);
    +Zotero.Prefs.get("pdfpreview.enable"); // false
    +

    Zotero.Prefs.clear

    Todo

    辅助函数

    在插件模板中,提供了一个简便的工具函数,来见避免我们每次都要输入 Zotero.Prefs.:

    // src/utils/prefs.ts
    +import { config } from "../../package.json";
    +
    +/**
    + * Get preference value.
    + * Wrapper of \`Zotero.Prefs.get\`.
    + * @param key
    + */
    +export function getPref(key: string) {
    +  return Zotero.Prefs.get(\`\${config.prefsPrefix}.\${key}\`, true);
    +}
    +
    +/**
    + * Set preference value.
    + * Wrapper of \`Zotero.Prefs.set\`.
    + * @param key
    + * @param value
    + */
    +export function setPref(key: string, value: string | number | boolean) {
    +  return Zotero.Prefs.set(\`\${config.prefsPrefix}.\${key}\`, value, true);
    +}
    +
    +/**
    + * Clear preference value.
    + * Wrapper of \`Zotero.Prefs.clear\`.
    + * @param key
    + */
    +export function clearPref(key: string) {
    +  return Zotero.Prefs.clear(\`\${config.prefsPrefix}.\${key}\`, true);
    +}
    +

    有了工具函数,我们就可以通过 getPref("enable") 来简写 Zotero.Prefs.get("pdfpreview.enable");

    参考资料

    `,19),P={href:"https://www.zotero.org/support/dev/zotero_7_for_developers",target:"_blank",rel:"noopener noreferrer"},w={href:"https://github.com/windingwind/zotero-types/blob/master/types/xpcom/prefs.d.ts",target:"_blank",rel:"noopener noreferrer"};function _(Z,q){const e=o("ExternalLinkIcon"),p=o("RouteLink");return l(),i("div",null,[d,k,n("p",null,[s("Preference 存储于 "),n("a",m,[s("Zotero 配置文件目录"),a(e)]),s(" 下的 "),v,s("。除特殊情况,请勿引导用户修改该文件。")]),f,n("p",null,[s("更多设置项请参考源码:"),n("a",g,[s("preferencePanes.js"),a(e)]),s("。")]),b,n("p",null,[s("首选项窗格文本的本地化详情请参考:"),a(p,{to:"/plugin-dev-guide/reference/localization.html"},{default:r(()=>[s("本地化")]),_:1}),s("。")]),h,n("p",null,[s("源码位置:"),n("a",y,[s("chrome\\content\\Zotero\\xpcom\\prefs.js"),a(e)])]),x,n("ul",null,[n("li",null,[n("a",P,[s("Zotero 7 for developers"),a(e)])]),n("li",null,[n("a",w,[s("Zotero types"),a(e)])])])])}const T=c(u,[["render",_],["__file","preference.html.vue"]]),L=JSON.parse('{"path":"/plugin-dev-guide/reference/preference.html","title":"Zotero 首选项","lang":"zh-CN","frontmatter":{"author":[{"name":"windingwind","url":"https://github.com/windingwind/"},{"name":"ShareStuff"},{"name":"northword","url":"https://github.com/northword/"}],"description":"Zotero 首选项 Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。 Preference 存储于 Zotero 配置文件目录 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。 💡 ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/preference.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero 首选项"}],["meta",{"property":"og:description","content":"Zotero 首选项 Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。 Preference 存储于 Zotero 配置文件目录 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。 💡 ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"windingwind"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero 首选项\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"windingwind\\",\\"url\\":\\"https://github.com/windingwind/\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"ShareStuff\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"northword\\",\\"url\\":\\"https://github.com/northword/\\"}]}"]]},"headers":[{"level":2,"title":"默认设置","slug":"默认设置","link":"#默认设置","children":[]},{"level":2,"title":"首选项窗格","slug":"首选项窗格","link":"#首选项窗格","children":[{"level":3,"title":"注册首选项窗格","slug":"注册首选项窗格","link":"#注册首选项窗格","children":[]},{"level":3,"title":"绑定首选项","slug":"绑定首选项","link":"#绑定首选项","children":[]}]},{"level":2,"title":"增删改查设置项","slug":"增删改查设置项","link":"#增删改查设置项","children":[{"level":3,"title":"Zotero.Prefs.get","slug":"zotero-prefs-get","link":"#zotero-prefs-get","children":[]},{"level":3,"title":"Zotero.Prefs.set","slug":"zotero-prefs-set","link":"#zotero-prefs-set","children":[]},{"level":3,"title":"Zotero.Prefs.clear","slug":"zotero-prefs-clear","link":"#zotero-prefs-clear","children":[]},{"level":3,"title":"辅助函数","slug":"辅助函数","link":"#辅助函数","children":[]}]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.97,"words":892},"filePathRelative":"plugin-dev-guide/reference/preference.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。

    \\n

    Preference 存储于 Zotero 配置文件目录 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。

    \\n

    💡 注意:Preference 的值有长度限制,请勿设置太长的字符串。

    "}');export{T as comp,L as data}; diff --git a/assets/preference.html-w9baMq5r.js b/assets/preference.html-w9baMq5r.js new file mode 100644 index 0000000000..8ca7ee4beb --- /dev/null +++ b/assets/preference.html-w9baMq5r.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as d,c as a,a as t,b as e,d as r,e as s}from"./app-pLjDz5vt.js";const h={},i=t("h1",{id:"首选项-高级设置",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#首选项-高级设置"},[t("span",null,"首选项:高级设置")])],-1),c={href:"https://www.zotero.org/support/preferences/hidden_preferences",target:"_blank",rel:"noopener noreferrer"},u=t("p",null,"您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级的用途。",-1),p=t("h2",{id:"zotero",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#zotero"},[t("span",null,"Zotero")])],-1),_=t("p",null,[e("要查看 Zotero 首选项的完整列表,包括许多隐藏的首选项,请转到 Zotero 首选项的高级窗格并单击“设置编辑器”。 在出现的列表顶部的过滤器字段中输入“Zotero”。 用户可以安全更改的首选项如下所述。"),t("br"),e(" 大多数 Zotero 隐藏首选项都以“extensions.Zotero”开头。")],-1),f=t("h3",{id:"通用设置",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#通用设置"},[t("span",null,"通用设置")])],-1),m=t("p",null,"这些通用隐藏设置允许您定制化 Zotero 。",-1),b=t("thead",null,[t("tr",null,[t("th",null,"设置名称"),t("th",null,"默认值"),t("th",null,"描述")])],-1),g=t("tr",null,[t("td",null,"attachmentRenameFormatString"),t("td",null,"'{%c - }{%y - }{%t{50}}'"),t("td",null,"Zotero 自动重命名从连接器(又称 translator 浏览器插件,见相关章节)保存的附件。 此字符串控制这些名称的格式。 %c 是创建者,%y 是年份,%t 是标题,每个部分周围的花括号表示“仅当内部指定的字段非空时才包含此部分”,{50} 表示“截断 50 个字符”。 您可以重新排列这些以满足您的需要。")],-1),Z=t("tr",null,[t("td",null,"backup.interval"),t("td",null,"1440"),t("td",null,"Zotero 自动备份数据库的最长间隔(以分钟为单位)。 默认值为每 24 小时(1440 分钟)")],-1),y=t("tr",null,[t("td",null,"backup.numBackups"),t("td",null,"2"),t("td",null,"Zotero 应该保留多少自动数据库备份。 多余的备份最先删除。 这不包括在数据库升级期间进行的备份。 请注意,将其设置得太高可能会导致数据库升级备份被覆盖。")],-1),k=t("tr",null,[t("td",null,"capitalizeTitles"),t("td",null,"true"),t("td",null,"默认情况下,Zotero 将重新命名您抓取条目的标题(例如,删除所有大写字母)。 将此首选项切换为 false,您将保留标题的原始信息。")],-1),w=t("tr",null,[t("td",null,"debug.level"),t("td",null,"5"),t("td",null,"启用 debug.log 时,确定显示的调试级别中的最低值(1-5,其中 5 为最低)")],-1),x=t("td",null,"debug.log",-1),z=t("td",null,"false",-1),C={href:"https://www.zotero.org/support/debug_output",target:"_blank",rel:"noopener noreferrer"},T=t("tr",null,[t("td",null,"debug.time"),t("td",null,"false"),t("td",null,"启用 debug.log 时,显示上一次调试调用的毫秒数")],-1),v=t("tr",null,[t("td",null,"fontSize"),t("td",null,"“1.0”"),t("td",null,"此首选项允许您增加或减少 Zotero 界面中文本的大小。")],-1),S=t("tr",null,[t("td",null,"httpServer.enabled"),t("td",null,"true"),t("td",null,"如果设置为 true,Zotero 将侦听来自 Zotero 连接器的请求(例如,允许将项目从连接器保存到 Zotero)。")],-1),q=t("tr",null,[t("td",null,"httpServer.port"),t("td",null,"23119"),t("td",null,"如果启用了 httpServer.enabled,这是 Zotero 将侦听来自 Zotero 连接器的连接的端口。")],-1),B=t("tr",null,[t("td",null,"sortAttachmentsChronologically"),t("td",null,"false"),t("td",null,"如果设置为 true,您的附件将按您添加它们的顺序而不是按字母顺序排序。")],-1),N=t("tr",null,[t("td",null,"sortNotesChronologically"),t("td",null,"false"),t("td",null,"如果设置为 true,您的笔记将按您添加它们的顺序而不是按字母顺序排序。")],-1),I=s('

    PDF Reader 阅读器

    设置名称默认值描述
    sortNotesChronologically.readertrue按时间倒序对条目进行排序。 如果为 false,则按字母顺序排序。

    Note Editor 笔记编辑器

    设置名称默认值描述
    note.fontSize14注意字体大小 — 可从“查看”菜单设置,但其他值(包括小数)可以手动设置
    note.smartQuotestrue自动将 straight quotes 转换为 typographic quotes

    Translator 转换器设置

    这些隐藏设置允许您控制某些特定条目格式的导入/导出转换器的行为。 所有翻译器隐藏首选项都以“extensions.Zotero.translators”开头。

    设置名称默认值描述应用于
    RIS.import.ignoreUnknowntrue不要在注释中存储无法映射到 Zotero 字段的值。RIS import translator
    RIS.import.keepIDfalse不要从“ID -”标签中删除值。 可用于在 EndNote 中查找项目。RIS import translator
    BibTeX.export.dontProtectInitialCasefalse如果只有第一个字母大写,则不要用大括号将单词括起来。 如果您在 Zotero 中以标题大小写输入标题,则很有用(不推荐)。 false: {Tame {The} {BeaST}}, true: {Tame The {BeaST}} 请注意,如果第一个单词不包含内部大写字母,则永远不会被{}包围BibTeX export translator
    BibTeX.export.simpleCitekeynull默认情况下,仅对新添加的条目使用 citekey 的新简单格式(不允许除破折号和下划线之外的任何特殊字符)。 将此隐藏键设置为 true,将始终使用这种简单的 citekeys。BibTeX export translator

    全文索引

    这些设置处理 Zotero 从导入文件创建全文索引的能力。

    设置名称默认值描述
    search.useLeftBoundtrue确定 Zotero 是仅根据左边界查找单词匹配,还是在单词中的任何位置查找匹配。 将此设置为 false 可能对英语以外的语言有益,但可能会显着减慢 Zotero 的搜索功能。

    Report

    这些选项允许您自定义您的 report 显示行为。

    设置名称默认值描述
    report.includeAllChildItemstrue默认情况下,仅选择报告的父项会导致这些项的子注释和附件也包含在内。 如果 includeAllChildItems 设置为 false,则仅包含您选择的项目。 无论此设置如何,选择父项和子项的组合都将导致仅显示选定的项。
    report.combineChildItemstrue默认情况下,Zotero 将报告中的子注释和附件分组在其父项下。 将此切换为 false 将导致注释与其父项分开显示。 这对于有兴趣将 Zotero 的笔记功能用作大纲工具的人很有帮助。

    引文快速复制设置

    设置名称默认值描述
    export.quickCopy.compatibility.indentBlockquotestrueWord 和 TextEdit 不会自行缩进块引用,需要启用此功能。 在 LibreOffice 中产生额外的缩进,可以正确处理块引用。
    export.quickCopy.compatibility.Wordfalse将 Word Normal 样式添加到段落并启用双倍行距。 LibreOffice 将条件样式代码作为文档注释插入。
    quickCopy.quoteBlockquotes.plainTexttrue在纯文本输出中的块引用段落周围添加引号
    quickCopy.quoteBlockquotes.richTexttrue在富文本输出中为块引用段落添加引号

    Word 插件

    设置名称默认值描述
    integration.keepAddCitationDialogRaisedfalse如果将其切换为 true,则可以将 Zotero Word 插件界面用于添加引文始终位于最前面。 并防止它隐藏在您正在使用的 Word 窗口后面。

    Zotero 连接器 Connector

    要查看 Zotero 连接器的隐藏设置,请打开连接器的首选项(通过右键单击保存按钮并在 Chrome 和 Firefox 中选择首选项/选项,或在 Safari 中长按保存按钮)。 然后,单击“高级”,然后单击“配置编辑器”。

    转换器设置

    Zotero 连接器支持一些通常适用于所有转换器或特定网站转换器的设置。 要使用这些设置,在 Zotero 连接器配置编辑器中,单击“添加设置”。 键入或粘贴首选项的名称,然后单击“确定”。 从下表中输入适当的首选项值(例如,true 或 1),然后再次单击“确定”。

    ',21),R=t("thead",null,[t("tr",null,[t("th",null,"设置名称"),t("th",null,"默认值"),t("th",null,"描述"),t("th",null,"应用于")])],-1),D=t("td",null,"translators.attachSupplementary",-1),A=t("td",null,"false",-1),P=t("td",null,"转换器在导入项目时应尝试附加补充数据。",-1),F={href:"https://forums.zotero.org/discussion/21880/supplementary-information/#Comment_153889",target:"_blank",rel:"noopener noreferrer"},W=t("td",null,"translators.supplementaryAsLink",-1),E=t("td",null,"false",-1),L=t("td",null,"补充数据附件应作为链接附加,而不是下载。 如果禁用 attachSupplementary,则此选项无效。 将此选项设置为“true”可以保持快速访问补充数据的便利性,但可以加快从 Web 保存项目的速度。",-1),V={href:"https://forums.zotero.org/discussion/21880/supplementary-information/#Comment_153889",target:"_blank",rel:"noopener noreferrer"},X=t("tr",null,[t("td",null,"translators.ACS.highResPDF"),t("td",null,"0"),t("td",null,"确定附加的全文 PDF 版本: 0 - 带链接的 PDF; 1 - 高分辨率 PDF; 2 - 两者"),t("td",null,"ACS Publications")],-1),O={href:"https://www.zotero.org/forum",target:"_blank",rel:"noopener noreferrer"};function j(J,M){const o=n("ExternalLinkIcon");return d(),a("div",null,[i,t("blockquote",null,[t("p",null,[e("本节是 "),t("a",c,[e("https://www.zotero.org/support/preferences/hidden_preferences"),r(o)]),e(" 的翻译版本。")])]),u,p,_,f,m,t("table",null,[b,t("tbody",null,[g,Z,y,k,w,t("tr",null,[x,z,t("td",null,[e("用于调试 Zotero。见"),t("a",C,[e("debug output"),r(o)]),e(".")])]),T,v,S,q,B,N])]),I,t("table",null,[R,t("tbody",null,[t("tr",null,[D,A,P,t("td",null,[t("a",F,[e("All web translators implementing this behavior"),r(o)])])]),t("tr",null,[W,E,L,t("td",null,[t("a",V,[e("All web translators implementing this behavior"),r(o)])])]),X])]),t("p",null,[e("注意:补充数据首选项仅适用于转换器支持此行为的网站。 如果您遇到没有导入补充数据的站点,请在 Zotero 论坛上报告: "),t("a",O,[e("Zotero forums"),r(o)]),e("。")])])}const G=l(h,[["render",j],["__file","preference.html.vue"]]),H=JSON.parse('{"path":"/user-guide/misc/preference.html","title":"首选项:高级设置","lang":"zh-CN","frontmatter":{"description":"首选项:高级设置 本节是 https://www.zotero.org/support/preferences/hidden_preferences 的翻译版本。 您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/misc/preference.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"首选项:高级设置"}],["meta",{"property":"og:description","content":"首选项:高级设置 本节是 https://www.zotero.org/support/preferences/hidden_preferences 的翻译版本。 您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"首选项:高级设置\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"Zotero","slug":"zotero","link":"#zotero","children":[{"level":3,"title":"通用设置","slug":"通用设置","link":"#通用设置","children":[]},{"level":3,"title":"PDF Reader 阅读器","slug":"pdf-reader-阅读器","link":"#pdf-reader-阅读器","children":[]},{"level":3,"title":"Note Editor 笔记编辑器","slug":"note-editor-笔记编辑器","link":"#note-editor-笔记编辑器","children":[]},{"level":3,"title":"Translator 转换器设置","slug":"translator-转换器设置","link":"#translator-转换器设置","children":[]},{"level":3,"title":"全文索引","slug":"全文索引","link":"#全文索引","children":[]},{"level":3,"title":"Report","slug":"report","link":"#report","children":[]},{"level":3,"title":"引文快速复制设置","slug":"引文快速复制设置","link":"#引文快速复制设置","children":[]},{"level":3,"title":"Word 插件","slug":"word-插件","link":"#word-插件","children":[]}]},{"level":2,"title":"Zotero 连接器 Connector","slug":"zotero-连接器-connector","link":"#zotero-连接器-connector","children":[{"level":3,"title":"转换器设置","slug":"转换器设置","link":"#转换器设置","children":[]}]}],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":6.3,"words":1889},"filePathRelative":"user-guide/misc/preference.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    本节是 https://www.zotero.org/support/preferences/hidden_preferences 的翻译版本。

    \\n
    \\n

    您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级的用途。

    "}');export{G as comp,H as data}; diff --git a/assets/primer.html-2dmSloZh.js b/assets/primer.html-2dmSloZh.js new file mode 100644 index 0000000000..a83dac3e15 --- /dev/null +++ b/assets/primer.html-2dmSloZh.js @@ -0,0 +1,220 @@ +import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as l,c as u,a,b as n,d as s,w as i,e}from"./app-pLjDz5vt.js";const k={},r=a("h1",{id:"csl-介绍",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#csl-介绍"},[a("span",null,"CSL 介绍")])],-1),d=a("h2",{id:"前言",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#前言"},[a("span",null,"前言")])],-1),g={href:"http://citationstyles.org/",target:"_blank",rel:"noopener noreferrer"},m=a("h2",{id:"什么是-csl",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#什么是-csl"},[a("span",null,"什么是 CSL")])],-1),v=a("p",null,"如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研究联系到一起。但是,手动设置引注格式和参考文献表非常耗时,尤其是当你面对的期刊都有他们自己的引用格式的时候。",-1),h=a("p",null,"好在参考文献管理软件可以解决这样的问题。像 Zotero、Mendeley、Papers 等软件不仅能帮助你管理研究资料,而且可以自动生成引注和参考文献表。但要想设置特定的引用格式,这些程序需要使用一种可被计算机理解的语言来描述各种引用格式,也许你已经猜到,这种语言就是 Citation Style Language(CSL)。",-1),b=a("h2",{id:"引用格式",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#引用格式"},[a("span",null,"引用格式")])],-1),q=a("p",null,"世界上有成百上千种不同的引用格式。",-1),x={class:"hint-container tip"},y=a("p",{class:"hint-container-title"},"(GB/T 7714-2015)",-1),f={href:"https://std.samr.gov.cn/gb/search/gbDetailed?id=71F772D8055ED3A7E05397BE0A0AB82A",target:"_blank",rel:"noopener noreferrer"},S=a("code",null,"(GB/T 7714-2015)",-1),L=e('

    可幸的是,绝大多数引用格式都属于几个基本类别,CSL 将引用格式分为以下类型:

    In-text 风格

    引用格式可以分为两个主要的类型。第一种类型就是 in-text 风格,在这种风格中,一个引注直接指向参考文献表中的一个或者多个条目。CSL 继续将这种风格细分为 author-dateauthornumericlabel 风格。

    每个引注都指向一个或者多个参考文献条目。在 CSL 中,每个独立的指向关系称为一个引用。例如,引注 (Doe et al. 2002, Smith 1997) 包含两个引用:一个是 Doe et al. 在 2002 年发表的文献,另一个是 Smith 于 1997 年发表的文献。在 CSL 的语境中,参考文献表中的条目有时也称为参考文献。

    author-date 和 author 风格

    author-date 风格的引用会显示作者名字和发表的日期,例如:(Van der Klei et al. 1991; Zwart et al. 1983)。而 author 风格的引用只显示作者名字,例如:(Gidijala et al.)。参考文献条目一般使用字母表顺序对作者进行排序。

    著者-出版年制

    国标中的“著者-出版年制”就属于 author-date 风格。

    应该注意的是,即使这些风格中的大多数与哈佛大学并没有联系,许多风格指南仍使用了令人疑惑的术语“Harvard”来指代”author-date 格式。而且,并不存在一个所谓的官方 Harvard 格式。

    参考文献条目实例

    Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    numeric 风格

    numeric 风格的引用由数字组成,比如 [1,2][3]。参考文献条目一般按照作者首字母或者首次引用的次序来进行排序。

    顺序编码制

    国标中的“顺序编码制”就属于 numeric 风格。

    参考文献条目实例

    1. Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    2. Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    3. van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    numeric 复合风格

    复合风格是 numeric 风格的变体。这种风格在化学领域很流行,参考文献条目可能会包含多个参考文献。一旦某个引注定义了一个这样的参考文献条目(如 [2]),就可以单独引用条目中的项目(如 [2b])。

    注意

    CSL 尚未支持这种格式。

    参考文献条目实例

    1. Gidijala L, et al. (2008) BMC Biotechnol 8: 29.

    2. a) Zwart KB, et al. (1983) Antonie van Leeuwenhoek 49: 369-385, b) van der Klei IJ, et al. (1991) Arch Microbiol 156: 15-23.

    Label 风格

    Label 风格的引注由简短的构成,例如 [GBKv2008][ZwVH1983; vaHV1991]。这些键也出现在参考文献条目中。因为目前不支持(特定风格的)自定义键格式,CSL 对这种格式支持有限。

    键(key)

    “键”在计算机领域具有丰富的含义,在这里,它是指一串代表被引文献的字符。

    参考文献条目实例

    [GBKv2008] Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    [vaHV1991] van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    [ZwVH1983] Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    Note 风格

    引用格式的第二类为 note 风格。这种风格中,引用文献时会在句子中插入一个标记,这个标记可以是数字或者符号,例如 [*][†]。每个标记都指向脚注或者尾注。CSL 不限制采用哪些数字格式或者符号作为标记,这些应该留交文字处理软件来完成。与前面的 in-text 风格的引注不同,尾注或脚注通常包含辨识引用文献所需的所有信息。有些 note 风格还包含一个参考文献表以显示所有被引文献的概貌,并对文献作更详细的描述。

    字处理软件

    字处理软件,即用于将文字格式化和排版的办公软件,如 Microsoft Word,国内常见的 WPS 就是“文字处理软件(Word Process Software)”的英文缩写。

    参考文献条目实例

    [*] Voyage to St. Kilda’ (3rd edit. 1753), p. 37.

    [†] Sir J. E. Tennent, ‘Ceylon,’ vol. ii. 1859, p. 107.

    CSL 生态

    要明白 CSL 是怎么运作的,首先来看看 CSL 生态系统的各个部分。

    csl-infrastructure
    csl-infrastructure

    图注

    “Style”指的是 CSL 样式,“Item Metadata”指的是每篇参考文献的作者,题目等信息,“Locale Files”是为实现与语言无关(指英语、汉语等)的格式的本地化文件,“Citation Details”指的是影响引注信息或参考文献表表现的细节,比如顺序、位置等。

    独立样式和从属样式

    CSL 世界中的一切都是围绕样式展开的,但是并不是所有的样式都是相似的。主要包括两种样式:独立样式(independent styles)和从属样(dependent styles)。

    独立样式有 2 个职责,首先,需要先定义一种引用格式。具体格式是什么样的,是 author-date 风格还是 note 风格? 引用是按字母排序还是按日期排序?参考文献条目中是不是包含 DOI?使用什么标点符号以及大小写?文献发表年限在文献标题之前还是之后?等等。其次,CSL 样式必须描述它本身,我们称这个自我描述的信息为样式元数据。元数据中可以包括该 CSL 样式对应的期刊标题,以及该期刊的网站,该 CSL 样式的创建者等。

    从属样式则仅包括样式元数据。从属样式仅需引用一个独立样式 (其“父样式”),且应用父样式的引用格式,而无需提供对引用格式的定义。

    当多个 CSL 样式共享相同的引用格式时,从属格式非常有用。以一个出版社旗下的不同期刊为例,如果限制只能使用独立样式,则虽然他们的引用格式都是相同的,但每个期刊的 CSL 样式都要包含对引用格式的完整定义。这会产生大量难以维护的 CSL 样式。如果出版社对它的引用格式作了一点小改动,我们将不得不更新每一个独立样式。

    从属样式正是用来解决这些问题的。例如,《Nature》、《Nature Biotechnology》和 《Nature Chemistry》期刊都使用同样的引用格式。那么,只需为《Nature Biotechnology》和《Nature Chemistry》都创建指向《Nature》的从属样式即可。这样一来,如果 Nature 出版集团想修改《Nature》及其关联期刊的引用格式,只需更改《Nature》 CSL 样式中的引用格式,而无需触及其从属样式。

    本地化文件

    事实上,大多数独立格式并不是完全独立的。

    以下面的参考文献为例:

    ',38),C={href:"https://www.google.com/patents/US5960411",target:"_blank",rel:"noopener noreferrer"},w=a("p",null,[n("你可以在独立样式中将各种特定语言的信息强行编码到样式中来描述这个引用格式。例如,在最后的链接前加上 "),a("code",null,"Retrieved from"),n(" 这段文本,或者采用 "),a("code",null,"YYYY, Month DD"),n(" 作为日期的格式。但是这样的样式只能在美式英语中使用,如果使你想要这个引用格式的德语版,就必须修改样式中所有对应的翻译和日期格式。")],-1),_=a("p",null,[n("幸运的是,独立样式可以依据 CSL locale file(以下也翻译为“本地化文件”)来实现通用术语的翻译以及日期格式和语法的转换。例如:我们可以重写 CSL 样式以便使用 "),a("code",null,"retrieved"),n(" 和 "),a("code",null,"from"),n(" 的 CSL 术语,并使用本地化的日期格式。如果我们将 CSL 样式的区域设置为美式英语,该样式将从美式英语的本地化文件检索术语的译文和本地化的日期格式,并生成上述引用。但如果将样式区域从英语切换至德语,就会使用德语对应的本地化文件,生成的引用如下:")],-1),M={href:"https://www.google.com/patents/US5960411",target:"_blank",rel:"noopener noreferrer"},A=e(`

    因此,通过本地化文件,可以编写与语言无关的 CSL 样式。正如上面所展示的那样,这样的样式可以在不同的语言中轻松切换。但是语言是很复杂的,对于那些已经有本地化文件的语言,CSL 的自动本地化并不能支持所有语言的特性。不过,如果你要自己修改一个 CSL 样式使其满足你所选的语言,语言无关的样式仍然是有意义的。

    本地化文件还带来一个好处,我们只需要为每种语言定义一次通用的翻译、日期格式和语法。这样可以保证样式紧凑,并使本地化文件更易于维护。由于给定语言的引用格式并不总是采用某种翻译和日期格式,CSL 样式也可以选择性的重写任何在本地化文件中定义过的数据。

    条目元数据

    接下来就是你所要引用的条目在参考文献表中的具体内容:条目元数据。

    例如,一篇期刊文章的参考文献条目可能会显示作者的名字、发表的年份、文章标题、期刊名称、卷和期、出现的页码范围以及 DOI,所有这些信息都有助于读者识别和查找这篇文章。

    参考文献管理软件使创建条目的文库变得简单。虽然许多参考文献管理软件都有它们自己存储条目元数据的方式,但大多数都支持例如 BixTex 和 RIS 这样通用的参考文献数据交换格式。citeproc-js CSL 处理器引入了一种基于 JSON 的格式,这种格式以 citeproc-js 可以理解的方式来存储元数据。一些其他的 CSL 处理器也已经开始采用这种 CSL JSON 格式(又名 citeproc JSON)。

    引用细节

    对于一种给定的引用格式,引注和参考文献表的展现方式不仅取决于被引用条目的元数据,还取决于这些条目被引用处的上下文。我们将这类特定于上下文的信息称为引用细节

    例如,条目的引用顺序会影响他们在参考文献表中的位置。在 Note 风格中,之前已被引用的条目在被继续引用时会写为更紧凑的形式。另一个例子是定位词,其引导读者到被引工作的特定位置,比方说章节中某个参数被提出的页码,例如 (Doe 2000, pp.43-44)

    CSL 处理器

    有了 CSL 样式、locale file、元数据和引用细节,我们现在需要一个软件来解析这些信息,并以正确的格式生成引注和参考文献表条目,那就是 CSL 处理器。

    大多数的参考文献管理软件使用的是像 citeproc-js 这样免费开源的 CSL 处理器。

    理解 CSL 样式

    到现在为止,我们已经了解了什么是 CSL、怎么使用它、以及它是如何运作的。接下来我们将深入到 CSL 样式文件内部,分析它的 XML 代码。

    《XML 基础》一章中简单介绍了 XML,看完后可以读懂并编辑简单的 XML 文件。如果想深入了解 XML,可以在网上查找 XML 教程。

    从属样式解析

    正如前文所述,从属样式比相对的独立样式更紧凑,因为它们并未真正地定义一个引用格式。此外,从属样式还非常常见,并且它们的样式元数据和独立样式中的相似,因此对学习 CSL 而言是一个好的出发点。我们将进一步逐行观察下面这个 CSL 从属样式文件:

    <?xml version="1.0" encoding="utf-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
    +  <!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/asm -->
    +  <info>
    +    <title>Applied and Environmental Microbiology</title>
    +    <id>http://www.zotero.org/styles/applied-and-environmental-microbiology</id>
    +    <link href="http://www.zotero.org/styles/applied-and-environmental-microbiology" rel="self"/>
    +    <link href="http://www.zotero.org/styles/american-society-for-microbiology" rel="independent-parent"/>
    +    <link href="http://aem.asm.org/" rel="documentation"/>
    +    <category citation-format="numeric"/>
    +    <category field="biology"/>
    +    <issn>0099-2240</issn>
    +    <eissn>1098-5336</eissn>
    +    <updated>2014-04-30T03:45:36+00:00</updated>
    +    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +  </info>
    +</style>
    +
    <?xml version="1.0" encoding="utf-8"?>
    +

    XML 格式声明。

    <style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
    +    ...
    +</style>
    +

    cs:style 根元素的起始标签和结束标签。xmlns 属性指定 style 中的所有元素都是 CSL 的一部分,而 version 则表明了 CSL 版本的兼容性。defaults-locale 告诉样式才有特定的语言来生成引注和参考文献表(美式英语)。

    提示

    xmlns 是 XML name space 的缩写,“name space”一般译为命名空间,即一些名称的集合。XML 标记语言允许创建者自定义各种标签和属性的名称,同一个名称在不同场合可能有不同的含义,因此有必要向读者交代这些名称的定义。虽然可以通过在 XML 中书写注释来阐述这些名称,但为了方便起见,一般在一个网页给出这一系列名称的定义和说明,并通过 xmlns 属性链接到 XML 文件中,基于 XML 的 CSL Style 也不例外。

    本文用 cs:style 特指 CSL 命名空间中的 style 元素(因为我们可能会引入其他命名空间),实际书写代码时并不需要写成 <cs:style>...</cs:style>

     <!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/asm -->
    +

    大多数从属格式都是电子表格自动生成的。这个 XML 注释明确地指出这个样式已经被生成,并包含了一个指向电子表格的链接。

    <info>
    +  ...
    +</info>
    +

    cs:info 小节用于存储样式的大部分元数据。

    <title>Applied and Environmental Microbiology</title>
    +

    样式的标题(通常也是该样式所适用的期刊的名称)。

    <id>http://www.zotero.org/styles/applied-and-environmental-microbiology</id>
    +

    样式的 ID,是文献管理软件用来区分不同样式的标志。

    <link href="http://www.zotero.org/styles/applied-and-environmental-microbiology" rel="self"/>
    +

    样式自身的链接。该链接指向了网上的副本。简便起见,对于我们代码仓库中的样式,我们采用相同的 URL 作为样式 ID 和自身链接。

    <link href="http://www.zotero.org/styles/american-society-for-microbiology" rel="independent-parent"/>
    +

    从属样式需要链接到一个独立的父样式,父样式为的引用格式将会应用到这个从属样式中。此处,我们使用 American Society for Microbiology 的样式作为父样式。

    <link href="http://aem.asm.org/" rel="documentation"/>
    +

    如果每一个样式的意图都是清晰的,那维护起一大堆 CSL 样式将更方便。因此我们要求我们的代码仓库中的样式都必须至少包含一个“说明文档”的链接。在本例中,该链接指向期刊主页。

    <category citation-format="numeric"/>
    +<category field="biology"/>
    +

    为了便于对我们的样式进行分类,我们用 cs:category 元素的 citation-format 属性中指定引用格式。出于同样的目的,我们使用 field 属性为每个样式文件分配一个或多个研究领域。

    <issn>0099-2240</issn>
    +<eissn>1098-5336</eissn>
    +

    当为某个期刊创建样式时,可以在 cs:issn 元素和 cs:eissn 元素中保存其印刷品的 ISSN(国际标准连续出版物号)和电子版的 ESSIN(电子国际标准连续出版物号)。

    <updated>2014-04-30T03:45:36+00:00</updated>
    +

    updated 的内容是一个时间戳,指明样式最后一次更新的时间。

    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +

    本文最后一个介绍,但不一定是样式的 cs:info 中的最后一个元素,表示这个样式在哪一个版权协议下发布。

    独立样式解析

    最后是一个真正的独立样式,它确切地定义了引用格式(虽然并不是一个实用的样式)。我们代码仓库中的大多数独立样式都比下面这个简化过的例子还要大很多。但我们下面这个 author-date 样式仍然是一个有效的样式,并且具有与其他独立样式相同的整体结构。

    <?xml version="1.0" encoding="utf-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">
    +  <info>
    +    <title>Example Style</title>
    +    <id>http://www.zotero.org/styles/example</id>
    +    <link href="http://www.zotero.org/styles/example" rel="self"/>
    +    <link href="http://www.zotero.org/styles/apa" rel="template"/>
    +    <link href="http://www.example.com/style-guide/" rel="documentation"/>
    +    <author>
    +      <name>John Doe</name>
    +      <email>JohnDoe@example.com</email>
    +    </author>
    +    <contributor>
    +      <name>Jane Doe</name>
    +    </contributor>
    +    <contributor>
    +      <name>Bill Johnson</name>
    +    </contributor>
    +    <category citation-format="author-date"/>
    +    <category field="science">
    +    <updated>2014-10-15T18:17:09+00:00</updated>
    +    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +  </info>
    +  <locale xml:lang="en">
    +    <terms>
    +      <term name="no date">without date</term>
    +    </terms>
    +  </locale>
    +  <macro name="author">
    +    <names variable="author">
    +      <name initialize-with="."/>
    +    </names>
    +  </macro>
    +  <macro name="issued-year">
    +    <choose>
    +      <if variable="issued">
    +        <date variable="issued">
    +          <date-part name="year"/>
    +        </date>
    +      </if>
    +      <else>
    +        <text term="no date"/>
    +      </else>
    +    </choose>
    +  </macro>
    +  <citation et-al-min="3" et-al-use-first="1">
    +    <sort>
    +      <key macro="author"/>
    +      <key macro="issued-year"/>
    +    </sort>
    +    <layout prefix="(" suffix=")" delimiter="; ">
    +      <group delimiter=", ">
    +        <text macro="author"/>
    +        <text macro="issued-year"/>
    +      </group>
    +    </layout>
    +  </citation>
    +  <bibliography>
    +    <sort>
    +      <key macro="author"/>
    +      <key macro="issued-year"/>
    +      <key variable="title"/>
    +    </sort>
    +    <layout suffix="." delimiter=", ">
    +      <group delimiter=". ">
    +        <text macro="author"/>
    +        <text macro="issued-year"/>
    +        <text variable="title"/>
    +        <text variable="container-title"/>
    +      </group>
    +      <group>
    +        <text variable="volume"/>
    +        <text variable="issue" prefix="(" suffix=")"/>
    +      </group>
    +      <text variable="page"/>
    +    </layout>
    +  </bibliography>
    +</style>
    +

    样式结构

    要理解上面的样式,首先看一下根元素 cs:style 的子元素。

    <?xml version="1.0" encoding="utf-8"?>
    +<style>
    +  <info/>
    +  <locale/>
    +  <macro/>
    +  <macro/>
    +  <citation/>
    +  <bibliography/>
    +</style>
    +

    相比于只有 cs:info 一个子元素的从属样式,可以看到这里还有其他几个元素。除了 cs:info 以外,还有 cs:localecs:macrocs:citationcs:bibliography

    这些元素的作用是什么呢?

    • 必需的 cs:info 元素在在独立样式中的作用和其在从属格式中的相同,都是用来保存样式元数据。
    • 可选的 cs:locale 元素可以用来重写本地化文件中定义过的数据。
    • 可选的 cs:macro 用来存储 CSL 代码,这些代码可能应用在 cs:citationcs:bibliography 或者其他 cs:macro 元素中。
    • 必需的 cs:citation 元素定义引注的格式。
    • 可选的 cs:bibliography 元素定义参考文献表的格式。

    重写

    "重写"(override)原本是 OOP(一种编程思想)中的概念,指的是重新定义一个已有的方法(即函数)。本文原文写为“overwrite”,即重新定义本地化文件中已有的任何翻译、日期格式,严格来说与译为“重写”的 override 并不是同一个意思。

    有了以上简单的认识,下面从 cs:style 根元素开始分析。

    cs:style 根元素

    <style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">
    +  ...
    +</style>
    +

    我们已经在从属样式的 cs:style 元素中见到过 xmlnsversion 属性,这个 class 是新出现的属性。CSL 处理器通过 class 属性区分本样式是 in-text 风格还是 note 风格。

    info 元素

    独立样式的元数据通常比从属样式的元数据更加全面:

    <info>
    +  <title>Example Style</title>
    +  <id>http://www.zotero.org/styles/example</id>
    +  <link href="http://www.zotero.org/styles/example" rel="self"/>
    +  <link href="http://www.zotero.org/styles/apa" rel="template"/>
    +  <link href="http://www.example.com/style-guide/" rel="documentation"/>
    +  <author>
    +    <name>John Doe</name>
    +    <email>JohnDoe@example.com</email>
    +  </author>
    +  <contributor>
    +    <name>Jane Doe</name>
    +  </contributor>
    +  <contributor>
    +    <name>Bill Johnson</name>
    +  </contributor>
    +  <category citation-format="author-date"/>
    +  <category field="science">
    +  <updated>2014-10-15T18:17:09+00:00</updated>
    +  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +</info>
    +

    title、样式 IDself 链接、category、时间戳和 license,其作用与先前介绍的一致,但还是有些许差别。首先,独立样式不依赖父样式。相反,我们通常是提供一个 template (模板)链接,以表明当前的独立样式是基于哪一个样式来创建的(CSL 样式很少从头写起,因为改写已有的样式往往比较快速)。本例中,所链接的模板是 APA 样式。此外,我们还倾向于放一个或多个 documentation 链接,其指向有关引用格式的在线描述。

    为向 CSL 格式的创建者致以谢意,也可以把他们的名字和联系方式添加到样式文件中。在当前的例子中,有一个作者和两个贡献者。通常来说,作者完成了创建样式的大部分工作,而贡献者只对此作了一些小的改进。

    cs:citation 元素和 cs:macro 元素

    接下来分析 cs:macroscs:citation 元素。cs:citation 元素旨在描述引注的格式(对于 note 风格而言,就是脚注或者尾注的格式)。

    <macro name="author">
    +  <names variable="author">
    +    <name initialize-with="."/>
    +  </names>
    +</macro>
    +<macro name="issued-year">
    +  <choose>
    +    <if variable="issued">
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </if>
    +    <else>
    +      <text term="no date"/>
    +    </else>
    +  </choose>
    +</macro>
    +<citation et-al-min="3" et-al-use-first="1">
    +  <sort>
    +    <key macro="author"/>
    +    <key macro="issued-year"/>
    +  </sort>
    +  <layout prefix="(" suffix=")" delimiter="; ">
    +    <group delimiter=", ">
    +      <text macro="author"/>
    +      <text macro="issued-year"/>
    +    </group>
    +  </layout>
    +</citation>
    +

    上面的代码生成类似 (A.C. Smith et al., 2002; W. Wallace, J. Snow, 1999) 这样的引注。要理解这种引注格式在 CSL 中是如何编码的,我们首先着眼于 cs:citation 元素中的 cs:layout 元素。cs:layout 元素中的 prefixsuffix 属性定义了引注周围的圆括号,而 delimiter 属性的值(;)将相邻的引用分开。每个单独的引用都是由 cs:layout 的内容来决定的,引用由 authorissue-year 宏的输出组成,并以cs:group 元素上的 delimiter 属性(,)分隔。

    宏(macro)

    在英语中,macro 一词的本义是“巨大的、大量的”,与之对应的是 micro “微小的”。在计算机领域,macro 来源于 macro-instruction(宏命令),与之对应的是 micro-instruction(微命令)。micro-instruction 可以理解为基本的、小段的、零碎的代码,而 macro-instruction 就是一系列需要反复使用的小段代码的总称——一大段代码。对于支持 macro 的编程语言,当某段代码需要反复使用时,只需将这段代码定义为 macro,随后的代码中就可以用这个 macro 的名称来代表这一大段代码。之后,这些 macro 会被计算机替换为它所代表的小段代码,这一过程称为宏展开

    在 CSL 中,我们使用 cs:macro 元素来定义 macro,name 属性的值就是这个 macro 的名字,这个名字一般由短横杠连接的小写单词(因为空格用于分隔属性或属性值)组成,cs:macro 的子元素就是它所代表的代码。在这里,我们把 cs:macro 元素显示的结果称为它的输出

    author 宏输出那些存储于所引条目的名称变量 author 的名字。cs:nameinitialize-with 属性指定应当以缩写显示,并且每个缩写后面附带属性值(.)。

    名称变量(name variable)

    名称变量是 CSL 众多变量类型中的一种,即那些代表了某个事物的名称的变量。有关 CSL 的变量类型,详见附录 Ⅳ。

    issued-year 元素以一个cs:choose 元素定义的分支语句开始。如果被引条目具有保存在日期变量 issued 的日期,则输出这个日期的年份,否则输出 no date 术语的值。

    layout 元素中的 group 元素的 author 用来印出在 author 元素中存储的值,issued-year 则用来印出 issued-year 元素储存的值。

    你可能会感到奇怪,为什么不直接把上面两个宏中的 CSL 代码放在 cs:citation 元素中呢?使用宏有什么好处呢?在上面的例子中,宏的使用简化了 cs:citation 元素的结构,使其更易于拓展。此外,上述的两个宏总共被调用了 4 次(两次在 cs:citation 元素中,两次在 cs:bibliography 元素中),如果不使用宏,必须多次重复这些 CSL 代码。因此宏的使用带来了更紧凑的样式。

    还没完,再看 cs:citation 元素,它含有两个属性,即 et-al-minet-al-use-first。这两个属性共同决定了当条目的author 名字大于等于 3 个的时候,只有第一个名字会被输出,并尾随 et al 术语。

    最后,cs:citation 元素中还包含了 cs:sort 元素,cs:sort 又包含了两个 cs:key 元素。这一部分用来决定一个带有引注的引用如何排序。第一个用来排序的author 宏的输出组成(CSL 足够智能,可以先根据姓、再根据名进行排序)第一个键具有相同输出的引用将继续根据第二个键进行排序,即 issued-year 宏的输出。

    键(key)

    到了这里,“键”是指被引注献中那些用于排序的信息。

    cs:bibliography 元素

    cs:citation 负责输出引注和协调引用,cs:bibliography 则用于定义参考文献条目的格式。

    <macro name="author">
    +  <names variable="author">
    +    <name initialize-with="."/>
    +  </names>
    +</macro>
    +<macro name="issued-year">
    +  <choose>
    +    <if variable="issued">
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </if>
    +    <else>
    +      <text term="no date"/>
    +    </else>
    +  </choose>
    +</macro>
    +...
    +<bibliography>
    +  <sort>
    +    <key macro="author"/>
    +    <key macro="issued-year"/>
    +    <key variable="title"/>
    +  </sort>
    +  <layout suffix="." delimiter=", ">
    +    <group delimiter=". ">
    +      <text macro="author"/>
    +      <text macro="issued-year"/>
    +      <text variable="title"/>
    +      <text variable="container-title"/>
    +    </group>
    +    <group>
    +      <text variable="volume"/>
    +      <text variable="issue" prefix="(" suffix=")"/>
    +    </group>
    +    <text variable="page"/>
    +  </layout>
    +</bibliography>
    +

    上述的例子中的 cs:bibliography 小节实际上只适用于一种类型:期刊文章。它生成的参考文献条目格式为:

    A.C. Smith, D. Williams, T. Johnson. 2002. Story of my life. Journal of Biographies, 12(2), 24—27. W. Wallace, J. Snow. 1999. Winter is coming. Journal of Climate Dynamics, 6(9), 97—102.

    我们是如何定义这种格式的呢?首先,cs:bibliography 元素和 cs:citation 元素的结构很相似,但这里的 cs:layout 元素用来定义每一个独立的参考文献条目的格式。除了 author 宏和 issued-year 宏,参考文献条目还显示每个条目的 titlecontainer-title(对期刊文章来说,就是期刊的名称),以及这篇文章见刊的 volumeissue,还有文章所在的页码(page)。样式使用 prefixsuffix 属性来将期刊期号括到圆括号里,并依据 cs:layoutcs:group 元素的 suffixdelimiter 属性放置了其它的标点。

    cs:bibliography 也含有一个 cs:sort 元素,它有三个键:authorissued-year 宏,以及第三个键——条目的 title

    cs:locale 元素

    我们这个样式的最后一节是 cs:loacle。正如我们前面提到的那样,CSL 的本地化文件可以将 CSL 样式快速转换为不同的语言。但是,有时需要重写默认的翻译。

    <locale xml:lang="en">
    +  <terms>
    +    <term name="no date">without date</term>
    +  </terms>
    +</locale>
    +

    不出所料,在美式英语的本地化文件中,对 no date 术语的输出就是 no date。但是在我们的示例样式中,我们想使用 without date 来代替它。为了重写默认的翻译,我们可以使用上面所示的 cs:locale 元素。对一个没有发行日期的条目,这种重写会导致引注变成这样: (D. Williams, without date)

    cs:localexml:lang 属性被设置为 en,当样式被用于英语写作的时候,这个属性使 CSL 样式重写 no date。如果我们在德语环境中使用这个样式,它将会依据德语的本地化文件输出翻译(ohne Datum)。

    更进一步

    这里只对 CSL 进行了简单的介绍,有关 CSL 的更多知识可以查看 CSL 标准文档或者其他参考文档。

    `,91);function B(J,N){const t=p("ExternalLinkIcon"),o=p("RouteLink");return l(),u("div",null,[r,d,a("p",null,[n("本节是对 "),a("a",g,[n("Citation Style Language"),s(t)]),n("(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 "),s(o,{to:"/csl-dev-guide/specification.html"},{default:i(()=>[n("CSL 规范")]),_:1}),n("。")]),m,v,h,b,q,a("div",x,[y,a("p",null,[n("在中国,最常见的引用格式是国家标准《"),a("a",f,[n("信息与文献 参考文献著录规则"),s(t)]),n("》,最新的标准号是 "),S,n("。")])]),L,a("blockquote",null,[a("p",null,[n("Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (1999, September 28). Method and system for placing a purchase order via a communications network. Retrieved from "),a("a",C,[n("https://www.google.com/patents/US5960411"),s(t)])])]),w,_,a("blockquote",null,[a("p",null,[n("Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (28. September 1999). Method and system for placing a purchase order via a communications network. Abgerufen von "),a("a",M,[n("https://www.google.com/patents/US5960411"),s(t)])])]),A])}const T=c(k,[["render",B],["__file","primer.html.vue"]]),P=JSON.parse('{"path":"/csl-dev-guide/primer.html","title":"CSL 介绍","lang":"zh-CN","frontmatter":{"title":"CSL 介绍","order":1,"date":"2022-08-01T16:23:04.000Z","updated":"2023-07-22T20:42:39.000Z","description":"CSL 介绍 前言 本节是对 Citation Style Language(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 。 什么是 CSL 如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/csl-dev-guide/primer.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"CSL 介绍"}],["meta",{"property":"og:description","content":"CSL 介绍 前言 本节是对 Citation Style Language(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 。 什么是 CSL 如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://docs.citationstyles.org/en/stable/_images/csl-infrastructure.png"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-17T10:35:21.000Z"}],["meta",{"name":"twitter:card","content":"summary_large_image"}],["meta",{"name":"twitter:image:alt","content":"CSL 介绍"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2022-08-01T16:23:04.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-17T10:35:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CSL 介绍\\",\\"image\\":[\\"https://docs.citationstyles.org/en/stable/_images/csl-infrastructure.png\\"],\\"datePublished\\":\\"2022-08-01T16:23:04.000Z\\",\\"dateModified\\":\\"2024-02-17T10:35:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"什么是 CSL","slug":"什么是-csl","link":"#什么是-csl","children":[]},{"level":2,"title":"引用格式","slug":"引用格式","link":"#引用格式","children":[{"level":3,"title":"In-text 风格","slug":"in-text-风格","link":"#in-text-风格","children":[{"level":4,"title":"author-date 和 author 风格","slug":"author-date-和-author-风格","link":"#author-date-和-author-风格","children":[]},{"level":4,"title":"numeric 风格","slug":"numeric-风格","link":"#numeric-风格","children":[]},{"level":4,"title":"numeric 复合风格","slug":"numeric-复合风格","link":"#numeric-复合风格","children":[]},{"level":4,"title":"Label 风格","slug":"label-风格","link":"#label-风格","children":[]}]},{"level":3,"title":"Note 风格","slug":"note-风格","link":"#note-风格","children":[]}]},{"level":2,"title":"CSL 生态","slug":"csl-生态","link":"#csl-生态","children":[{"level":3,"title":"独立样式和从属样式","slug":"独立样式和从属样式","link":"#独立样式和从属样式","children":[]},{"level":3,"title":"本地化文件","slug":"本地化文件","link":"#本地化文件","children":[]},{"level":3,"title":"条目元数据","slug":"条目元数据","link":"#条目元数据","children":[]},{"level":3,"title":"引用细节","slug":"引用细节","link":"#引用细节","children":[]},{"level":3,"title":"CSL 处理器","slug":"csl-处理器","link":"#csl-处理器","children":[]}]},{"level":2,"title":"理解 CSL 样式","slug":"理解-csl-样式","link":"#理解-csl-样式","children":[{"level":3,"title":"从属样式解析","slug":"从属样式解析","link":"#从属样式解析","children":[]},{"level":3,"title":"独立样式解析","slug":"独立样式解析","link":"#独立样式解析","children":[{"level":4,"title":"样式结构","slug":"样式结构","link":"#样式结构","children":[]},{"level":4,"title":"cs:style 根元素","slug":"cs-style-根元素","link":"#cs-style-根元素","children":[]},{"level":4,"title":"info 元素","slug":"info-元素","link":"#info-元素","children":[]},{"level":4,"title":"cs:citation 元素和 cs:macro 元素","slug":"cs-citation-元素和-cs-macro-元素","link":"#cs-citation-元素和-cs-macro-元素","children":[]},{"level":4,"title":"cs:bibliography 元素","slug":"cs-bibliography-元素","link":"#cs-bibliography-元素","children":[]},{"level":4,"title":"cs:locale 元素","slug":"cs-locale-元素","link":"#cs-locale-元素","children":[]}]}]},{"level":2,"title":"更进一步","slug":"更进一步","link":"#更进一步","children":[]}],"git":{"createdTime":1690031195000,"updatedTime":1708166121000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":2},{"name":"jiaojiaodubai","email":"63148861+jiaojiaodubai@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":25.17,"words":7550},"filePathRelative":"csl-dev-guide/primer.md","localizedDate":"2022年8月1日","autoDesc":true,"excerpt":"\\n

    前言

    \\n

    本节是对 Citation Style Language(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 CSL 规范

    \\n

    什么是 CSL

    \\n

    如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研究联系到一起。但是,手动设置引注格式和参考文献表非常耗时,尤其是当你面对的期刊都有他们自己的引用格式的时候。

    "}');export{T as comp,P as data}; diff --git a/assets/quadrantDiagram-0332be45-1dqumzF6.js b/assets/quadrantDiagram-0332be45-1dqumzF6.js new file mode 100644 index 0000000000..3f73472fec --- /dev/null +++ b/assets/quadrantDiagram-0332be45-1dqumzF6.js @@ -0,0 +1,7 @@ +import{a_ as vt,c as yt,aL as D,l as ot,s as Lt,g as Ct,v as zt,x as bt,a as Et,b as Dt,z as It,h as gt,i as Bt,d as wt}from"./mermaid.core-xpSMncQK.js";import{l as mt}from"./linear-Ef4wj11i.js";import"./app-pLjDz5vt.js";import"./init-Gi6I4Gst.js";var pt=function(){var e=function(K,n,r,l){for(r=r||{},l=K.length;l--;r[K[l]]=n);return r},s=[1,3],h=[1,4],x=[1,5],f=[1,6],d=[1,7],c=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],g=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],y=[2,7],p=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],M=[1,22],X=[1,23],C=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],Q=[1,31],T=[1,32],m=[1,33],_=[1,34],t=[1,35],A=[1,36],S=[1,37],k=[1,38],F=[1,39],P=[1,40],v=[1,41],L=[1,42],O=[1,57],Y=[1,58],z=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,r,l,o,q,a,et){var u=a.length-1;switch(q){case 12:this.$=a[u].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[u].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[u].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 17:o.addPoint(a[u-3],a[u-1],a[u]);break;case 18:o.setXAxisLeftText(a[u-2]),o.setXAxisRightText(a[u]);break;case 19:a[u-1].text+=" ⟶ ",o.setXAxisLeftText(a[u-1]);break;case 20:o.setXAxisLeftText(a[u]);break;case 21:o.setYAxisBottomText(a[u-2]),o.setYAxisTopText(a[u]);break;case 22:a[u-1].text+=" ⟶ ",o.setYAxisBottomText(a[u-1]);break;case 23:o.setYAxisBottomText(a[u]);break;case 24:o.setQuadrant1Text(a[u]);break;case 25:o.setQuadrant2Text(a[u]);break;case 26:o.setQuadrant3Text(a[u]);break;case 27:o.setQuadrant4Text(a[u]);break;case 31:this.$={text:a[u],type:"text"};break;case 32:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 33:this.$={text:a[u],type:"text"};break;case 34:this.$={text:a[u],type:"markdown"};break;case 35:this.$=a[u];break;case 36:this.$=a[u-1]+""+a[u];break}},table:[{3:1,4:2,5:s,6:h,32:x,33:f,34:d},{1:[3]},{3:8,4:2,5:s,6:h,32:x,33:f,34:d},{3:9,4:2,5:s,6:h,32:x,33:f,34:d},e(c,[2,4],{7:10}),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),{1:[2,1]},{1:[2,2]},e(i,y,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(c,[2,5]),{4:43,32:x,33:f,34:d},e(i,y,{10:14,11:15,12:16,21:28,35:29,9:44,5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:49,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:50,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:51,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:52,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:53,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{5:O,22:[1,54],35:56,36:55,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y},e(z,[2,31]),e(z,[2,33]),e(z,[2,34]),e(z,[2,37]),e(z,[2,38]),e(z,[2,39]),e(z,[2,40]),e(z,[2,41]),e(z,[2,42]),e(z,[2,43]),e(z,[2,44]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(c,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:O,26:[1,59],40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,23],{36:55,35:56,5:O,26:[1,60],40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,24],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,25],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,26],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,27],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),{23:[1,61]},e(z,[2,32]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,21],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=r,l}},parse:function(n){var r=this,l=[0],o=[],q=[null],a=[],et=this.table,u="",st=0,qt=0,St=2,Tt=1,kt=a.slice.call(arguments,1),E=Object.create(this.lexer),Z={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Z.yy[dt]=this.yy[dt]);E.setInput(n,Z.yy),Z.yy.lexer=E,Z.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ut=E.yylloc;a.push(ut);var Ft=E.options&&E.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var j;return j=o.pop()||E.lex()||Tt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=r.symbols_[j]||j),j}for(var W,J,H,xt,tt={},rt,$,_t,lt;;){if(J=l[l.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((W===null||typeof W>"u")&&(W=Pt()),H=et[J]&&et[J][W]),typeof H>"u"||!H.length||!H[0]){var ft="";lt=[];for(rt in et[J])this.terminals_[rt]&&rt>St&<.push("'"+this.terminals_[rt]+"'");E.showPosition?ft="Parse error on line "+(st+1)+`: +`+E.showPosition()+` +Expecting `+lt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ft="Parse error on line "+(st+1)+": Unexpected "+(W==Tt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ft,{text:E.match,token:this.terminals_[W]||W,line:E.yylineno,loc:ut,expected:lt})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+W);switch(H[0]){case 1:l.push(W),q.push(E.yytext),a.push(E.yylloc),l.push(H[1]),W=null,qt=E.yyleng,u=E.yytext,st=E.yylineno,ut=E.yylloc;break;case 2:if($=this.productions_[H[1]][1],tt.$=q[q.length-$],tt._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},Ft&&(tt._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),xt=this.performAction.apply(tt,[u,qt,st,Z.yy,H[1],q,a].concat(kt)),typeof xt<"u")return xt;$&&(l=l.slice(0,-1*$*2),q=q.slice(0,-1*$),a=a.slice(0,-1*$)),l.push(this.productions_[H[1]][0]),q.push(tt.$),a.push(tt._$),_t=et[l[l.length-2]][l[l.length-1]],l.push(_t);break;case 3:return!0}}return!0}},At=function(){var K={EOF:1,parseError:function(r,l){if(this.yy.parser)this.yy.parser.parseError(r,l);else throw new Error(r)},setInput:function(n,r){return this.yy=r||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},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var r=n.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var r=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var o=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 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:l?(l.length===o.length?this.yylloc.first_column:0)+o[o.length-l.length].length-l[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var n=this.pastInput(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` +`+r+"^"},test_match:function(n,r){var l,o,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))),o=n[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.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],l=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var a in q)this[a]=q[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,r,l,o;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),a=0;ar[0].length)){if(r=l,o=a,this.options.backtrack_lexer){if(n=this.test_match(l,q[a]),n!==!1)return n;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(n=this.test_match(r,q[o]),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})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,l,o,q){switch(o){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},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,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/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:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],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:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return K}();ht.lexer=At;function ct(){this.yy={}}return ct.prototype=ht,ht.Parser=ct,new ct}();pt.parser=pt;const Rt=pt,R=vt();class Vt{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var s,h,x,f,d,c,g,i,y,p,B,N,V,I,b,M,X,C;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((s=D.quadrantChart)==null?void 0:s.chartWidth)||500,chartWidth:((h=D.quadrantChart)==null?void 0:h.chartHeight)||500,titlePadding:((x=D.quadrantChart)==null?void 0:x.titlePadding)||10,titleFontSize:((f=D.quadrantChart)==null?void 0:f.titleFontSize)||20,quadrantPadding:((d=D.quadrantChart)==null?void 0:d.quadrantPadding)||5,xAxisLabelPadding:((c=D.quadrantChart)==null?void 0:c.xAxisLabelPadding)||5,yAxisLabelPadding:((g=D.quadrantChart)==null?void 0:g.yAxisLabelPadding)||5,xAxisLabelFontSize:((i=D.quadrantChart)==null?void 0:i.xAxisLabelFontSize)||16,yAxisLabelFontSize:((y=D.quadrantChart)==null?void 0:y.yAxisLabelFontSize)||16,quadrantLabelFontSize:((p=D.quadrantChart)==null?void 0:p.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=D.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((N=D.quadrantChart)==null?void 0:N.pointTextPadding)||5,pointLabelFontSize:((V=D.quadrantChart)==null?void 0:V.pointLabelFontSize)||12,pointRadius:((I=D.quadrantChart)==null?void 0:I.pointRadius)||5,xAxisPosition:((b=D.quadrantChart)==null?void 0:b.xAxisPosition)||"top",yAxisPosition:((M=D.quadrantChart)==null?void 0:M.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((X=D.quadrantChart)==null?void 0:X.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((C=D.quadrantChart)==null?void 0:C.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:R.quadrant1Fill,quadrant2Fill:R.quadrant2Fill,quadrant3Fill:R.quadrant3Fill,quadrant4Fill:R.quadrant4Fill,quadrant1TextFill:R.quadrant1TextFill,quadrant2TextFill:R.quadrant2TextFill,quadrant3TextFill:R.quadrant3TextFill,quadrant4TextFill:R.quadrant4TextFill,quadrantPointFill:R.quadrantPointFill,quadrantPointTextFill:R.quadrantPointTextFill,quadrantXAxisTextFill:R.quadrantXAxisTextFill,quadrantYAxisTextFill:R.quadrantYAxisTextFill,quadrantTitleFill:R.quadrantTitleFill,quadrantInternalBorderStrokeFill:R.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:R.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),ot.info("clear called")}setData(s){this.data={...this.data,...s}}addPoints(s){this.data.points=[...s,...this.data.points]}setConfig(s){ot.trace("setConfig called with: ",s),this.config={...this.config,...s}}setThemeConfig(s){ot.trace("setThemeConfig called with: ",s),this.themeConfig={...this.themeConfig,...s}}calculateSpace(s,h,x,f){const d=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,c={top:s==="top"&&h?d:0,bottom:s==="bottom"&&h?d:0},g=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,i={left:this.config.yAxisPosition==="left"&&x?g:0,right:this.config.yAxisPosition==="right"&&x?g:0},y=this.config.titleFontSize+this.config.titlePadding*2,p={top:f?y:0},B=this.config.quadrantPadding+i.left,N=this.config.quadrantPadding+c.top+p.top,V=this.config.chartWidth-this.config.quadrantPadding*2-i.left-i.right,I=this.config.chartHeight-this.config.quadrantPadding*2-c.top-c.bottom-p.top,b=V/2,M=I/2;return{xAxisSpace:c,yAxisSpace:i,titleSpace:p,quadrantSpace:{quadrantLeft:B,quadrantTop:N,quadrantWidth:V,quadrantHalfWidth:b,quadrantHeight:I,quadrantHalfHeight:M}}}getAxisLabels(s,h,x,f){const{quadrantSpace:d,titleSpace:c}=f,{quadrantHalfHeight:g,quadrantHeight:i,quadrantLeft:y,quadrantHalfWidth:p,quadrantTop:B,quadrantWidth:N}=d,V=!!this.data.xAxisRightText,I=!!this.data.yAxisTopText,b=[];return this.data.xAxisLeftText&&h&&b.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:y+(V?p/2:0),y:s==="top"?this.config.xAxisLabelPadding+c.top:this.config.xAxisLabelPadding+B+i+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:V?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&h&&b.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:y+p+(V?p/2:0),y:s==="top"?this.config.xAxisLabelPadding+c.top:this.config.xAxisLabelPadding+B+i+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:V?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&x&&b.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+y+N+this.config.quadrantPadding,y:B+i-(I?g/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:I?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&x&&b.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+y+N+this.config.quadrantPadding,y:B+g-(I?g/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:I?"center":"left",horizontalPos:"top",rotation:-90}),b}getQuadrants(s){const{quadrantSpace:h}=s,{quadrantHalfHeight:x,quadrantLeft:f,quadrantHalfWidth:d,quadrantTop:c}=h,g=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:f+d,y:c,width:d,height:x,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:f,y:c,width:d,height:x,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:f,y:c+x,width:d,height:x,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:f+d,y:c+x,width:d,height:x,fill:this.themeConfig.quadrant4Fill}];for(const i of g)i.text.x=i.x+i.width/2,this.data.points.length===0?(i.text.y=i.y+i.height/2,i.text.horizontalPos="middle"):(i.text.y=i.y+this.config.quadrantTextTopPadding,i.text.horizontalPos="top");return g}getQuadrantPoints(s){const{quadrantSpace:h}=s,{quadrantHeight:x,quadrantLeft:f,quadrantTop:d,quadrantWidth:c}=h,g=mt().domain([0,1]).range([f,c+f]),i=mt().domain([0,1]).range([x+d,d]);return this.data.points.map(p=>({x:g(p.x),y:i(p.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:p.text,fill:this.themeConfig.quadrantPointTextFill,x:g(p.x),y:i(p.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(s){const h=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:x}=s,{quadrantHalfHeight:f,quadrantHeight:d,quadrantLeft:c,quadrantHalfWidth:g,quadrantTop:i,quadrantWidth:y}=x;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c-h,y1:i,x2:c+y+h,y2:i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c+y,y1:i+h,x2:c+y,y2:i+d-h},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c-h,y1:i+d,x2:c+y+h,y2:i+d},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:c,y1:i+h,x2:c,y2:i+d-h},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:c+g,y1:i+h,x2:c+g,y2:i+d-h},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:c+h,y1:i+f,x2:c+y-h,y2:i+f}]}getTitle(s){if(s)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(){const s=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),h=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),x=this.config.showTitle&&!!this.data.titleText,f=this.data.points.length>0?"bottom":this.config.xAxisPosition,d=this.calculateSpace(f,s,h,x);return{points:this.getQuadrantPoints(d),quadrants:this.getQuadrants(d),axisLabels:this.getAxisLabels(f,s,h,d),borderLines:this.getBorders(d),title:this.getTitle(x)}}}const Wt=yt();function G(e){return wt(e.trim(),Wt)}const w=new Vt;function Nt(e){w.setData({quadrant1Text:G(e.text)})}function Ut(e){w.setData({quadrant2Text:G(e.text)})}function Qt(e){w.setData({quadrant3Text:G(e.text)})}function Ht(e){w.setData({quadrant4Text:G(e.text)})}function Mt(e){w.setData({xAxisLeftText:G(e.text)})}function Xt(e){w.setData({xAxisRightText:G(e.text)})}function Ot(e){w.setData({yAxisTopText:G(e.text)})}function Yt(e){w.setData({yAxisBottomText:G(e.text)})}function $t(e,s,h){w.addPoints([{x:s,y:h,text:G(e.text)}])}function jt(e){w.setConfig({chartWidth:e})}function Gt(e){w.setConfig({chartHeight:e})}function Kt(){const e=yt(),{themeVariables:s,quadrantChart:h}=e;return h&&w.setConfig(h),w.setThemeConfig({quadrant1Fill:s.quadrant1Fill,quadrant2Fill:s.quadrant2Fill,quadrant3Fill:s.quadrant3Fill,quadrant4Fill:s.quadrant4Fill,quadrant1TextFill:s.quadrant1TextFill,quadrant2TextFill:s.quadrant2TextFill,quadrant3TextFill:s.quadrant3TextFill,quadrant4TextFill:s.quadrant4TextFill,quadrantPointFill:s.quadrantPointFill,quadrantPointTextFill:s.quadrantPointTextFill,quadrantXAxisTextFill:s.quadrantXAxisTextFill,quadrantYAxisTextFill:s.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:s.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:s.quadrantInternalBorderStrokeFill,quadrantTitleFill:s.quadrantTitleFill}),w.setData({titleText:bt()}),w.build()}const Zt=function(){w.clear(),It()},Jt={setWidth:jt,setHeight:Gt,setQuadrant1Text:Nt,setQuadrant2Text:Ut,setQuadrant3Text:Qt,setQuadrant4Text:Ht,setXAxisLeftText:Mt,setXAxisRightText:Xt,setYAxisTopText:Ot,setYAxisBottomText:Yt,addPoint:$t,getQuadrantData:Kt,clear:Zt,setAccTitle:Lt,getAccTitle:Ct,setDiagramTitle:zt,getDiagramTitle:bt,getAccDescription:Et,setAccDescription:Dt},te=(e,s,h,x)=>{var f,d,c;function g(t){return t==="top"?"hanging":"middle"}function i(t){return t==="left"?"start":"middle"}function y(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const p=yt();ot.debug(`Rendering quadrant chart +`+e);const B=p.securityLevel;let N;B==="sandbox"&&(N=gt("#i"+s));const I=(B==="sandbox"?gt(N.nodes()[0].contentDocument.body):gt("body")).select(`[id="${s}"]`),b=I.append("g").attr("class","main"),M=((f=p.quadrantChart)==null?void 0:f.chartWidth)||500,X=((d=p.quadrantChart)==null?void 0:d.chartHeight)||500;Bt(I,X,M,((c=p.quadrantChart)==null?void 0:c.useMaxWidth)||!0),I.attr("viewBox","0 0 "+M+" "+X),x.db.setHeight(X),x.db.setWidth(M);const C=x.db.getQuadrantData(),it=b.append("g").attr("class","quadrants"),at=b.append("g").attr("class","border"),nt=b.append("g").attr("class","data-points"),U=b.append("g").attr("class","labels"),Q=b.append("g").attr("class","title");C.title&&Q.append("text").attr("x",0).attr("y",0).attr("fill",C.title.fill).attr("font-size",C.title.fontSize).attr("dominant-baseline",g(C.title.horizontalPos)).attr("text-anchor",i(C.title.verticalPos)).attr("transform",y(C.title)).text(C.title.text),C.borderLines&&at.selectAll("line").data(C.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);const T=it.selectAll("g.quadrant").data(C.quadrants).enter().append("g").attr("class","quadrant");T.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),T.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>g(t.text.horizontalPos)).attr("text-anchor",t=>i(t.text.verticalPos)).attr("transform",t=>y(t.text)).text(t=>t.text.text),U.selectAll("g.label").data(C.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>g(t.horizontalPos)).attr("text-anchor",t=>i(t.verticalPos)).attr("transform",t=>y(t));const _=nt.selectAll("g.data-point").data(C.points).enter().append("g").attr("class","data-point");_.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill),_.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>g(t.text.horizontalPos)).attr("text-anchor",t=>i(t.text.verticalPos)).attr("transform",t=>y(t.text))},ee={draw:te},re={parser:Rt,db:Jt,renderer:ee,styles:()=>""};export{re as diagram}; diff --git a/assets/quick-start.html-BxzCSvMh.js b/assets/quick-start.html-BxzCSvMh.js new file mode 100644 index 0000000000..bf2f88c69e --- /dev/null +++ b/assets/quick-start.html-BxzCSvMh.js @@ -0,0 +1 @@ +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as i,c as l,a as e,b as t,d as o,w as A,e as d}from"./app-pLjDz5vt.js";const g="/assets/46510f422020d39fa7a495030129abe3_MD5-sPrT8zU_.png",c="/assets/fec738499e295fe7967677534303846a_MD5-CvcNXf8Z.png",h="/assets/80cebc82ab653f229fecd246e695ed10_MD5-DLRVngz2.png",p="/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5-D5UsfjjK.png",u="/assets/f12861c197d522f4d27795857b2eb167_MD5-L9t2-Zas.png",f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURUxpcdiILU99NEN0J9qzNFKBONmyM0l2MEJzJUV1KUZ2Kkl4LUBxJEp6MNmtM9mvM1aCPdeGLFGALv///9iJLdiHLNmxM/7779mtM9mvM/3449mzNP355/DRf/TbhvLUgf/++f777ajNhvjkje/NfP799vPXhP766/nom/bgfffhgfbfeffihffjif3336XKgtmqMtmhMZbBcP/+/P366v356Pz33fjlkfbedfbfimOMSkN0J5rEdP789Pjmle3KevnqpPbdcaLJf1mEP9iZL+nQYunSaVSBOqDIfOjMUvXaYnqjXdmmMvXcbenUcdmkMdmeMNicMJ7GeVyJQV+JR2yQTNiVLtiMLfDs2diQLk98NEp5LuzIeJO8cPz22ejOXPrrqvTgr/rtsOjNWPXbacTCZOfKSm2ZUpe+eH+bT/788meUSZ3Fd4OvXkd3K4iyZfvwv4qybWyZS/vxxKuyV3KIQJiGN+nVZ6uQM+nVd+rWeurXcs2YMKu+jH2eY621XzZBKMMAAAATdFJOUwDl8sy+U0MU81bzzH5/4N3xTBat4GudAAAB10lEQVQ4y92TaVfaQBSGXYugVNu0skhIggnYRQIhUJJogQQF2VdlkbTuGre2bq229a87GQIkp/QP+H59nnfmzjlzR0aeSSYWdJkYIswb8uJfweFAQiEcxymKWlUUhy6zXdtu1zjAis2uz0soBAIhnOM4t9eLoTYb4fOxbNjlcjmdzkBAE3Ccc0OOEgTAKgfY6deEXA6nAMcwlCS3YySKYl6vm+MW/f5cDgrFIkXBOknGDEKkWIRCMEitQh7b3hkc749E5GBQExQFg/Wd3nRd3hNKJfC63vRXS58/LS5/fP/uQ1SWSyUolMsAa9N/6+NEXpbLZSgkkzZid/drPL7Ubz88ntTrf//8TmoC4TPg6EGdr9WqkiT9hMLmpo/V48QBz2ePabFzlEpNdgWW1eH8XZ3/7vF4aFHMtsZMQGg22fAA72eu+SzgCCKmK6ctKxTCrgHOZE5qx6CPIOnK2WV7GghbW43G/a9CYX19be3L3sYGX6NBX80K07ZowgAfHvJVmtaEzoUqjL4x5kbqiGIa4BXmXBgHwqvRt4bcSkdgPvUCpirMDPnEprlUtnIG+swPYco0bA8mU63TS4Y5rwqCefimmMda7faFIEyZ/7dLr63TFsv4jHr+E6fdf8/W6sPfAAAAAElFTkSuQmCC",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAJxelRYdFJhdyBwcm9maWxlIHR5cGUgaWNjAAA4ja1VW7LbIAz9ZxVdAugJy7F5zHT/G6gAE9txOpPbqX4cjuDorbjfObtfXVKMznfBkiWoVy/Zw0C8FKlKCgykBOA5cuLNlFpSf+F92O2bvQc7AzkJgorqKbBnT9n/gzSz2j0KCygIZXm2UaRg/kSsHCFqaombwFZCBJK6vZO5HxqvFuwIcpwCHBEEC02vCvJLIbcHTAtXtcx5necg8SRCiZanQ6GHBchmmSzROPEtLo/M8AXfX7iT24P8UqiYCV2Wy4GjlyokSeq05xcencGsKJMIVmiWV+qolImv3LbeFkXaEQGmAwcjstIrHJZxuQr06puLaIJRYWx5n9dSXvduVWMNw4MtWweMFLb4iRAkHXoc9/c9kft0sVHqwOqvEDRVC1QQ8Xox+J3b9ICLa10QZ0iSh6JVpIHvO4xvSVOPTYYHrfR5YEuJLFb3Yg95uPl+4Vu9Wxdu5b4SmJRww8+RuuDub4qF3/rmJbNbNpz9y3qERtsEUplfMNcGE+yjzLYV5oP5AUs6vn/vDXkKS6LSV4z/Un46/f+PyAYkK797GmARZUsqUKV2nI9RqbGvDF7ZueKowmiqA3dLIWJZEUrvDyyHgYj2B9EmkZDqByK1FcrwINqMaFuGLzhLZWZ8EPU9fVn+t9AIPhiwWtNHInPVVpw+iECZgflBtEuj/TRwhmZxWS6eD6pkK8LDU9skROkswovICmuJJps7CX00b5twicxpsnW2iuL30oDrF32kvfPjOYOE0ixvSW27iYppwP5c1bueZCtWtqONpiDU/hsBbTD7SnZ/AKwrpMi7XnRtAAABgFBMVEXg4OC/v7/c3NzW4ODf3+AAAACoqKjo6OipxvDW1dX////Dw8Ow1eDg2bXg4NXg4NsAAH5JAADWuX94s9I5ADmsx/CEPgCqzPUoebO2gDjDwsKBKADQzvHQ4OAAAErdx5/VtH3g3sjg27/YuoUAKIG0y/A5AAD/+/q1trU8gbR/tdXg1bTf9//J1efg29S70fPH3eDW2dwAAGmeXgDav5Fvp8pjnsR/pcIAADm32t8AAygAOYYoAADMzdDA4/vEyfDR1Naz2/ppAADJ7P6GuthaAADc08myx/Deza3I1tvItpg1bJe4h0miy9788ffCoG+neUlXjrdyPACSYUbX4Nfb2/Q0W5HGqYDBlVYASY2Yw9q6ytWAmqGxeB3y+/5na2mOSgDp3/OVuM1KeKLRzb2/l2BpTCiZbTa7uMRQMAerxNBFADtpjqeYtMAAKFIAca6fi2c/VYSpxu/J2vUAKGeak46tn5CAfnYAPHJmOGAoTWBWXUEAaKM9Wl0oEDO31OWA+XcuAAAIy0lEQVRo3u2aiVcayRaHKzblAwZo0AExSiMoiKLIqiyaoHEDRMQY17jENTpmmXlZJplJ/va5t6obkN1kMo95p+t47K7q21UfVdXVv3u7yH86MhEV6/5Yc77ujkoca67b96CjEsfyPUzrOirJWOkuTUcljvUgRDosMayHXSqWivUPYWkmPVbttySrZ1Lzw7Amv41JJpv8QViTv2m/J/02+SOwNBqr9vuSVfMjemuS183g+qY8eJiaqtd6pUXflLV8qO0uUbiTdb0P3hsLm3mk1w/C4Yler3+BGf36irbvSM9LWZItHjELPIw+Lh08VY04L2kvIaYBCmkcC/zUcG8s/L2PnmGj8/pnWo9HOz8IZ4PaPv2zqamVEhaz0B690D4ZXYFL2ol1rXzQWqsaWe1eACzx4YMHO3TfbVkkxp8TjZHQoA4Wa7UPG4Um+NhA9gUvKk9snj1a1z5ZRzIgfywftNrq9UYc6OVjGRkTI5RuG39+b6EzfDyfUjpGdmZpkZiePt+kZ1tg0AJLrwzbBDTWByNUAcax5sHisYw1KB9qsGD8ONZOOEics9Npo0W6uTA7GGj4ZnnOSff9lkWTjc5kkwYwaIE16mGDAlSIYO1DuokjSI9li76j9Qn9uvXJqJVjWZtiGS0x/DdOjN486THjY+BemIb/F/T4mPaaBqZheA1o0GBulQaRdcTE6Iq2NJZT/4W0IlvM6z0wzwerBtHaAOswBSR+7zg2rmAtIdau9Mrny6AVXEGDBk8ib/QRds46HJ55cK6vIMHdQcS+AauqKV/9JIqugZgIM382xkBiFVhi5N1BAAZxhgRCMhYaNFi3cGXAbmIPPGagm+b5WiCnskXtAlG9bg3DwiAlyFAclwVxg+4ZfwGsEbaWuW1syuPSYbIxLDBotcp7KtdRT3l5qCmsXE5brfKhu2urDrWxqKsoDP173okdqyA6VW+porkZ1k8qloqlYrUtu9tMgbm00Oz66nOhDawojfGTFrL78E1bUKYN1PGLTSyGzA7jrKEFlnhF9zg9apBqpS3bnIwRcn7QDpV4GD8lAV8z22GzYHrpaIHl9x7TfejZa3otodKgvwZBaV/TXAal+BYr2KU0nLgoMjV+K3AhLpDCLOiU6mT0yn2/46Xv8iT661v6zsfMmYiH/8nrlOD+lMAWtx0NsXZHthbsxLUw1lWIG0RfcNULakh6lfUWUYrzAtdALq05tIuR3zNOy7QsxF0L0+JcbVfEeZeD3DNthIPDdPt8k+t2JuKh2HWVEmBg4HbTSdHVAAt4dBvhhDNpYIMY+PDRMs6Eb8SOSlsusEG39NvdS1Dev7fFhbgYSd46GmLtglth9O73hB3k0I7mXMQXoBgGEfJO+uXY8kZsgDVEk/QrjUXjCSauLTnfAjgA44iFSlsukLGQE7GYtCTih+twsHZOxGQsAbAWUZj2Mywu4nchz7GidMaHU7Aulnhih/+R1LmlGNiQDEM0v2oBipzDvzSNSpsXiCdvEEuM7Dn8C0VZiAdekuFkzbMrRmDKi9kbJz0lF1JiyKxgcRE/TE/dNnkQzzRiOlAfa3U2z9aI/QKlXySDa5O+vpQSts+U5gSU4nLBDpUMULt/E8odshA3Wig9q5VcritYH5L7BCoEQNZbY6xzuYiHq38AFih85xJIe2Or5TSQZj9WB38wiDwHUpwVwNVQhRq/I81rk25OrqqKmYv48k0iO23/5WNa6O3Id2JAUF/VKpaKpWKpWPfFEufmdJ2H5YQ3Lk0JsshmAlMR2nK+aVqDu+O393or4Du+rGvrYzlncw7x3MfqXX6pQf1eEtqQb40VzpwXqF1zL6yYLh1qjtXPlRzo8yV7dBsj5dtMaF+C9xLdFtCPWaxU5NWpHwOQF3EDmMQNiiewSW8LVNpHtf86X0fuo+vi/vSBBezrYpmYDISjLfkqDZqNhdJRo+1lljOYp/lAhpQVeX0so3d8mObmtmRPIHlaoKmfoObsgctWxwuxfD4+DvrlgH19LPk20wBo3R5QsxYWs46iM4R599LrGYGUFXl9LD+oYzBRPIEY8X81oCgVsx8362GddXc7eMB+q8UgolcBGHIoPUrzHIu43s7+qSkr8vpYBSmBJoonwKV+v9108rvvaqzBICqR8QZTHhxCstyNbgM8eYIcSnct5BxsEJcPyJrZUVbktVPenNHtwHOFJrInUMIyWqZdNnu9Kd+lCzXHIll8XHNbNuytEUEJpeOyMQ75KFycqVTk9RYIaYbdSxRPQMGCypJ/1Pr9bIFIKQH7JstpqDaUrkTP70TRW3r6XPhXyHqB6DTqO1HFUrFULBVLxfo/x7ob9f+bsYalBHv9t+NOVEVdq++QvyeUytuo0nTSCAsjwyisFHdiLdVmJwybqwzPD0gUfmSppjY8FJOtWW9BC4o7AQIruVj6LLCU+yUP7gcGj13gdBQ1yqcCHvXHCtiGHven97T3ouheAhuoCUWcZIAT9yUcycXZFd3OeuUdQO1h0S/Hx5cpQXEnxMPwQZfyWQDcDlCXThZqd/mEISmh7NnhUX+ibOjxW97dhEDtF5KnIVZTMTSHVRbCwWUBpGIx65Vu1moHtQnW8+7utyNCyZ1YGxFKnwViKNODkT/5mLz/KBnkPTty1J8oG3rQX0BZPRxPoBLeZQ4CnETp51O48Ib5Cj1mof25xaa8WSi5E+AzVHwWIO6lW8s+57/NfjXIQl2O+hNlQw+T04DVEzfcwSLnT+k0XmiEZWs25eGGkjuxaw5WfBZAsZ5ycPc5uBNXsOSoP1E29ChY0WSesEGc1ixjlecZE8yCb8GSDGyBKLkT4Fwslj8LKJuLwEXy0s/XqS3uP8hRfyxnG3rQX8DWXTY6hn7DDvgdBjgBB0TKc6xxZQdQW1h3PQT2+9HhKAf1h6REyX8IlH0RXd1TongUYtXx717lxTqOXie8fHSaf9c7UcVSsVQsFet/ipV91VFYuKsWg/dt7uv5p7DEdLoQzqTT/bVvvrZF/XelvwA789G3dV0VIAAAAABJRU5ErkJggg==",m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAABkCAMAAAC8R1L8AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAGAUExURejo6GuMxKzJ5pS126Ghob7P4QAAANDQ0Ozz/v///7/W6py/5Gqc1K3j/6DW/5TK/4q14Ie99G6p5Xuz7FSX2WCf3nyu33Cn3mSg3Pf39s3g8lx+pKi5y42u1P7++/Ly9OTm5vPRk8bP0AAAbv/+6/H+/93g4snz/8SnePn+/9HIqMPDxP/30aPG0yBtpbW1tdbn8tCTQ9DPzL2TYL/a9O3t7QAESZJOATSMzaV1PEgAAMy1ktDQxQAujX2ewunSqLyGP3ml1N7z/PrhtSsAAABPjy9LZb3Kz8fZ6loAAM7KuOf9/wAALEx6uG0AAAAAjX1AAOno3TZ3qocsADUANeHXyt6ua3uqxt+7iStbiC1+umAyBAApZ7PU8H+52nJ0bwB4u0AAQGyRqKmprVqTv0FbbOjj0INeMPvr0ZO7zHCfvahlBEtqlJXP8pmpx9DY4q7H0LinlBlDZsLm+YbL7pmEZm46ZrLH4HeXx3O55ebs7ZHA5U4AQE+l14bC5bZ7Ghke/CoAAAfgSURBVGje7ZqJVxrJFofb7XZKzcy8mbzJAw1bNzsigoBsYQ9hkSAElU0cVNy3ScxMMtu/PreqcSFu76AOfc7wOx76dld312fdW7e64XLcU0ljOB7rXU+HdTw2M9K7nozLMDYSnexdT8Z1PBNdnOpdT8Y1NjI59Gq6Zz0l1+sxRc/q3EU532g0xh+b6y3pWdLcUSpjsZhjfFhmXIjlUOJH45d7OivzhtuaLEe3cLndZrJzZL7ssmvnTq55hjWvVN6dNpZ8ALB2S+Nf6zdy2bwAHqP2nf6yy66dO7kaMaRCOV7dyRWGGS7z9pbGSPVGrlUhJvJ67Ttzj1zzjCt6DxfjDteg4qBjV1FyrilvyBHwg2c8YvdB8i23GtJ0cS0LHyhKyASeBonXwDNBuXbyf9Ide5asJuAFCR9g8zBRuSA3QcRtgE0zu8ewg3I15pXR+/xYGePa+ckl7+bS7HHYv8ZFYO84DJsG3uCCqWB+jSsfdXPZCtDKEi0kDfvrZGeMzIX02pCYXyBi/qXo/UPMf69yY3NRExFiy0JMi8Ob0ms9RukeDQbmmBgt3x33gTSMhGGr6V/nlk6blAujyiUoqR/t3FJp7XrciwEQjFohS+YWCGmPbiex11rVTOLsNqr93Oss82zcY9z3NLfBSHZOzzpc3PCw0uFQThwFIveAtb32MKzMzo6V0wdWHB4aVR2u6s1cOP/Sn7UhPeVa9syYcLyEQjKGXLtOp4OoAjUhqw0hZ864n+SdGIuwYnnf4dL88ioajY6awibfHWDlE03bu97OL2o4wyoMMz9WadjtacqGDlc71e3HsoPs+D/SAZlbEEvrKsmPpVBWzG+aVWrxmGhzRi3G3rKQXfZ8IArzHHKej1eHzuRadflu51rFNFEf58JpgGq7APVtjHY6C00AzKJcq4Kji2sOrynqO+OFN2gmXuCOrZTMxvMAC7Y0DXJtrkanBcY95pS4H7Zqye5nJpdr1XtX4JePpWcYml0N7E86btDcmu8VbvXl7FfocUDOd1RqBX7SD/Sjmh1W0I1KTUTFVw9zrn1TH9ahGzLa10+Z5X6sjyo1uYdLXuv2E3H9OqHsWU/5HD0UfdWz/nXvHXJ9T5Pre+1A/6xG5SluXBY6upbvh2WhX69xTchCQ6qvxH0nCw11vpbQGNyd7yd+7J+ikqi5qKaiT8IQ+kJN7mXfNLn1hmqL2otuVDhhd7jLs1+ozf2vf1pkXIvMZK/snXcD+rLMveijKFaFWUWDwdD2Vg1MEWjx3H/7KDpgm5Kl0WiWSlUNU8Su0XDf91MHbw4ko8uP7OXvh35qcuulZEhxDxj37dkvkSrG/X/6qmhnu8iSlsWPecKunqti/vpWFjrP9xz3rGN8IwsNXVsfn8tC17mG5KHZr8Tx8tSAa8DVZy6n1Wr9J1CcV7u5nytAF4eQjpomgW0siRmp6cJ4DNF+pG7+L65AopJyZkbZBZkN3uJf4YMbncsvjMeQN6nD+5s8JxLXwTb8PM0HalBJ8a4E1Kd510GhrjMlYIqd4BNSDGG7lbYHKjovQCXz6YS31ABWLJ9Ogj7c8oGtM6hv1OCgd06nN4kdWfAJf8p5BsBBa7aWzKQ3g4VF/nQ6WCjyPmhZA7BLRwZ5CnZpaAq511b0YyDRslrez2TSyZQ1hQaeGEzxJqjM1mDPlHuAXwOJXIvnXbkjnSu3m+GwW5cQgDdNv513njZryJXEQ7DVhD3GU5S4SpssviithEPj6/2MJe1p6bAhxfvsdP8Bjsz4IKnDf83pRSaJ6xRaGxs4WD9vbBdpB7zLM7qxkbrqx9KKxJXo5uIzZ4kkb6rrHs6F94fdC676SdCLfiziNLX4NzPoNsoVwMEKsmAJ0MDLjAZLe4wrk97jmR8rqQz1Y2YayXV0oj6Qy4nDgFCB3C4OykmQ82Csn/ABjLei0we5LVihXIhO45nqlOaJSrBAueo6PCdJu6ezegUNet6eNF7FB3EFS3inFp8pQDG4jXFvd1qlpEZHBz+sF1lOd5nvrk4zna6r3Wl9rFzR6YYCBK2cXabrkE6mXHJdt4k8NeAacMmMS+Xm1DLkitMvQZP6K79L2xJGqenC6ANXPFHMqpZS7Od78dhs8x8Ske/8bH5hPAKXKZmV6nVs2yAYyXILF2bjZVFP/QMe2g/p0ZxkF8wJWYbgG80vxA/0+wB22ycj2cG19hAN0YVbVghU1xVg0dwzlwc7ZvU6y0LWrSdzsLJUsEtFPaTsEL0L9JA7Ds9t6W8oDx5gXN7cjBr9GE+sqW0/GcW8PeZ+hgaeKD4jWrAvFWAknOvZr9xzopLqdcJQaRBW3bP8TqoNIirLaAG51vEQNJvw8SpX6TOLL+pHCYfG109GW74+bcYGVieE+z1zrSEXq9chO2fw4wUXLeoR8RXlrwXpkJBy8jHmx3eSH0sfb+Qioimxbu7UvTyEC9aIVK/TjjGnhWLi/rpU1GPzf2aHkCsOvxFRweIeilmyY1Wcc+X/JMyPxaxI/bjjQHK9VCf0IK5VOJTqdZYBhA9krp6AUIywoh5VBHJNOKRctOQH45kqTJ9fiwov5Qrp8Zyk7Xcjyx6HaGix8TfyCONFrtTrmGl8qdzmy6IeM1Gbz2tVzBd51X01HXQKgc7bL8971PxFg1yO65BKMVi37+R6Jk8NuAZcA64B14BrwDXgGnANuAZcVH8DB8JMzSAKj1wAAAAASUVORK5CYII=",w="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAJxelRYdFJhdyBwcm9maWxlIHR5cGUgaWNjAAA4ja1VW7LbIAz9ZxVdAugJy7F5zHT/G6gAE9txOpPbqX4cjuDorbjfObtfXVKMznfBkiWoVy/Zw0C8FKlKCgykBOA5cuLNlFpSf+F92O2bvQc7AzkJgorqKbBnT9n/gzSz2j0KCygIZXm2UaRg/kSsHCFqaombwFZCBJK6vZO5HxqvFuwIcpwCHBEEC02vCvJLIbcHTAtXtcx5necg8SRCiZanQ6GHBchmmSzROPEtLo/M8AXfX7iT24P8UqiYCV2Wy4GjlyokSeq05xcencGsKJMIVmiWV+qolImv3LbeFkXaEQGmAwcjstIrHJZxuQr06puLaIJRYWx5n9dSXvduVWMNw4MtWweMFLb4iRAkHXoc9/c9kft0sVHqwOqvEDRVC1QQ8Xox+J3b9ICLa10QZ0iSh6JVpIHvO4xvSVOPTYYHrfR5YEuJLFb3Yg95uPl+4Vu9Wxdu5b4SmJRww8+RuuDub4qF3/rmJbNbNpz9y3qERtsEUplfMNcGE+yjzLYV5oP5AUs6vn/vDXkKS6LSV4z/Un46/f+PyAYkK797GmARZUsqUKV2nI9RqbGvDF7ZueKowmiqA3dLIWJZEUrvDyyHgYj2B9EmkZDqByK1FcrwINqMaFuGLzhLZWZ8EPU9fVn+t9AIPhiwWtNHInPVVpw+iECZgflBtEuj/TRwhmZxWS6eD6pkK8LDU9skROkswovICmuJJps7CX00b5twicxpsnW2iuL30oDrF32kvfPjOYOE0ixvSW27iYppwP5c1bueZCtWtqONpiDU/hsBbTD7SnZ/AKwrpMi7XnRtAAABgFBMVEX/////987I8//jxGUAAAD6/v3+/PN3jajIx8hzc3Py///v7/Dz9Pb//O////zv0n///vdAAEHYijF3l8jy0JGLjIrd3Nz45Iv02XC3trfM4/X//eTdv7TSfT3Pk0LX1tbe+//45KKKye3ZjET66rbZpTn+8Mp6TRP01Z389tr79uvOzs7k5eWKk6y3nagAAI27kF69wcPKbTPp6uqXaS6qxuOAVRz03JH12VremUx3jrItiMzfqXjhplsAL5RPAACnp6bn/f+TYiXbmXS22fNjAADblzrQn086AABKmNGdmaPy59CxsawAAEt/fn2V0PDbsDzS9/zjuIOrilt9t+K15v2SWxUABS7z00B+jqPnsGiXRQDuwoVpaWkAAG/h6vQATZ/B7P+RLQAALnqmeUkAd7vxzStOAEKBAACdstJ/qsucmHb99ce9dwDPuqGiaSS4gzlIgKZULgCwYAAaRIfO2OR0QG1AYY0ALlxLir6/p4iaZgBBAC7S6s1mLk/U0caqA8aTAAAHD0lEQVRo3u2aiVfaShTGJ3SCCQmIhUQDahARWRVEbK0LYKEiaxHQWveqr25Va2v3vr/9zSQREH1PX2tS2sN3OIFccvR37tyZ+XIJAG39qdKHxpHmsMa/tAyVb3w3JKtcLt+Fy31A3jcDeal6aHc3dHp6ilK1tDQxXh4vS0EitWUAwJVeqF83jyPgzR6wjhrumcpUoGVx9dj49OmSpInh4eHx8oSMFYNVAPphA1b/LKbJ2hDWvWfLr2DxDVhW6xrS4kukmZnpGtYCsKfOF/o/k8DzPlHDmrYA684RzEfBdMfXWe8chBbS+yEOufcOQPxd/VGujEQVb4iMr2GcmcnJycHBwb5LrNdHG4612dCUdXnb9G6qnq2HU8AD3wbONhzz8JCxUwZrvuSO7Vxk007w8sdHN4KpCuxVrBpUX9/0sIzV9T1VfFcZmrLvLxzDah2rf0qqLVde17+HTr0jR3kdkd5GRbdl3K/8+DAKCIsCV7AUKgTVN/b0Eqs0tpwvDU6BmZ3yFnkVa5YErmUd+oQSd9jbpSO6dAAM5FF+f2IucjRnagzMLc5cpmpsrI6l88A9DOGOwaI8E0cdLEuiiCefBPMbCYyF3qx5Gcu42jg//r9EOgCuYilQmKoByyjYQD/6T2ejCRkLIhUx1vI5RGQYy5WGH8+3jl8jLLC2XP2p2SiCa1iXUDWsuoyr15JAmpjLJcLMAr1SqP1b97puzE1LeqqoGcuzrLvTnyHQVLxPlSdkDcvabfrazN5xpWZBW2219efrgSyfHqu+T/kiLPkrsZ4jFBPwYbTOTpcS9C6hrScvrazHaelNv6+sn8q56ljm7kcDA0aUKqPR9ECO2fd3bMBHSbujXjSY8Y7Ebyq3KKJBEyz9o0edOFOdnT2+58oWJHsu2ZJ+KM1AuFHaLQL7LoQL6BwsppF/8H7IpZejZ/C9Qw2sIZ+180FWSpYRKFjzivHElhS5C/urKUb/yml6s2HzbeLzVMXMIA+0YTuDn7MppypYwGzW673d3T09j71DCtasjIUtKcLQo0FEWN5URTZB5nfLlgQgvm1j62p+pQ6W+djlGsBQj18QChay9DLW1I1YwHxyvuHAHxCWXh2sZ3oE1Y2hXvzlfqZMxBQu+V6HgmV+twekQdwp6fEgGi+wAVIZy1ijqmEB9zBaIHZKEhYyo4swX1p1Au8qKnl0TqQg/EziL6yzamFNegc8aC6iedjT43pWCzORRkd16UnZpnf15JkefFjTYnvXa6uttn5bd4pd14hDGwSSE+/kTvHu8il6DHUaYdF0hrmDOyVilezX0WyXdlh0IUze6k6JdBG83PiOvEMIwo8JpaOKPhdVw6Jpjr/NneJspfawpaES7nRR7qi6YNXHqohF0+It7hTXVkcCGyrjCRcryh1Vb+rTAaldtm5wp0TMKftQd+qtiO7E5I6q/Ut6j9Sqtm5yp7i2JCwrrLoRotRR9dpqtx4azMSb3CkRk7Be6+yr8NNEviR1VD3IsDo1W7f+xZ0qMrH4JXdUTVre/t/Fnd61o6qxzO1O6a9SR0vqt8aal9zW/Iqk1sFqtFuLRy2DNdRgt/Tzt10dzWmF1Wi3hpSgxdCLDuRI88VPHL1aYTXarRoWeRtW0r6iLpZit3rD0Wh0vgnLgu4xsisW9oI0UTbgy2AsSwkYRyqoIHvVrS3Jbp1ENzdtyVxtEPWbDGMeeRIOOs0jFoNR2AbZA0Mvxtr2riS9wW1jPKgmlmK3ojasaA0rG6aippEOy8UmwkKj6bQHERN6WRL6SMIeTNqDqg6iYreimzZbso6lDGIFiAgOY1VqWIbsQVhYqaqM1Z/1YLsVtSWTSdtBE1bSmHE2YXVs2zMdwZUiOqqJdVTuw0Yrh8cwmeGuLhCHJPAZ7BZDIxYqeWAPHhqAqiV/OfUPo9GD4Emo0BQO4leTgkH5G622ai60uNuKDqIQCrWNTWth/REK8EzLMfFCPML4c3xrUfkLgsiaIkKBaiksLsxHIiwTiXP/eZlmzVRFcYYJMAzJ85zSGcHPlMHZ5vaMG2p4z89GIjk/I0nJlolhXN+SzLUpQHSVNKNiqFw8I1DhsBAWqEKdACXG87Gc10ndU+A5h1sGoisXgxVNqMiwyLABIe73U5QgNGHBt5uk1D01vdkjGZJI5ZMzo5o8BhEIM4EIwwhx0e/PCPQVLCt+fFHqnoIZ+NYGiHRVhUecb1Q4wIt8gIlwol+8hoWKXumegt4JWFV+NNcCKxcI+xEXS1N+kcutN2XLAOTuqYk3EDGnhlgCH0GFxbN02O+/hoWypXRPVyHccii/5WuBJQpsgOd5Zt1P+Tlh/foFcve09tu+VsoJbCQQELgAKrIM3To7TzzOi+I6Ta+vr9Ot1COlChwXbjdP22qrrbZ+N1EUVTveHP0FxxbN1T+C0JfEMhjpRgAAAABJRU5ErkJggg==",z="/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5-Bpb4O9qI.png",Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAGAUExURfDw7vT///r8/v//8gAAAP/51cjz/////8zMzODg4PTSlojM7//95P/69ev//5TO8JOIiJqbms/2//v///zktj8AQfL2+v//9///+wAAQf/1zPbz8l5vj9CTQLji9936/9GbUkEAAAAAT2MAADs6KzJMZ924idqoZy2JzQAAXS4AAEGSzQBBmevp7Ka0yE8AAABQnpAtAHMAAAAALgAAh/313+W3cvjapAAAkaPY8+rHlcPq/KylnrhyAK1jANXU059HAFSU1c3a5pkuADljwnR5dJNCAABpr2icxgB9wHq75YgAANjo8Wms3AAukwAAd73L15DA47uKVnJCY+f0+wAudX2rywA7YeTm0IZdLsSXZfjq0uzTsPLfwVEARC6GxppdAFozAJiowKxwODNxnVaQtHVJAABNhZpkMKXI3ciroY+Ib25oW7yDNL6cftvLqmYuABkVET2DuKiMU8yFAIOlpE9bTy5BSC5KkW0/NLG6roCaicXCwi4ALgAuQXAuAOO0kE0AAAhySURBVGje7ZmLXxpJEscZp6BdQFgBeQzIQ0QiqKj4CD5QNEGD+DbGRIkxmmRNNNnVS7LZx92/ftXdA8zAEGFjVm5v+uMHsHt66kt1TdWvG8MPbdkM7YvV2X6NYRnar+lYOpaO9X+E9WOHjvU9sHK5l7VYIDeNqzX6WU+Dy7/BWyMP6rzFbDTielffVX5R9RrKrIobBUj5Q2AELcd++QrVSAtYAY3OhlgMjb/Uequ7PzYy0g/ddfePYVc34j54EGsBCyDQHBa/hYylsYjdsZgGFcXt7q4O1GFB085qgGWAKptWbKHxgMbiqXGb9JaWs7SwoKbVY+EKgoa3GG7M0BpWoMFTUO8tqDhM5a1KyNO46qZcuQcva6mgVW9pOov1Buq8Zaj4Sctbv1DT3XSAJQIlFcfVwGqQt1pJZk3nLZ4IKq2K+3dm+coiVhpPBN+h+MBXioJeqv+BWKQ9sXTRrGO1Gdbtn7ncDha5jVaF0bH+MVitlhwdq17hNxD+KoWrxLIuYCu2nbfMFDrZyKbUY2oVq6xJAb4qxzUGVFg+ZrjLXbHjd5KuDnz3Ypexx3FH3vJRwwMAb0LG3bkv57sX8OZtAuyeU+wqnsLnmONGLPmr32ZsmSF28el3OJ/MrkipNyMHqVcH45tLzzaEzuLki0euPzPDzpu9xQ3cbmy9/OOP6w2BmAcPcMWkHoc3myTm+8LRRT/kmo0t+NqT+Jdiqw8XqVfGMrEY772HWC7Yt13ek1qPrfpt2F+LLfTHtC8oXo5KSiwzBA/zSWNq2yDcRd5i3vI+AxicrWDhIm64MeQh590Bn+kOs7y/PrK5m1iu+Pvzll6qdax6LPLNWO25xdD3iU1jtekv+6Ttmo6lY+lYOpaO9T2xuoaH3Q3neN8GydG5skd8u6Wa3cHvISjelJNbxjJGjwnfWOOegn4KA/j2a6S9uGYh/3qk7LGurVf/cX0BC77NAKQz+F8EfEG+CbWXJ7eMNQWDDkq1L3QdLDGsieJO7X7Hs2ihG7Ua0Eor/TZuoV/QTsKbNgocnrARIkVlrDGL+l7Jm7HEsUBqnYj5qit6h5zmtMm4OweWgQQ8mSXWn+AzGkAs/PR41vU8SMTTwvuguAPcLppaRsvTgDu6iH3a5yDGSIaIi1d5SxmLzSSe9wCjcdz9OeI5Iv5kF08/Ru95nkHaToxqLLzJ5YZNStkrPWHfu0SBSKnHS+5S0ZpPkvmh0FGEYnnnV5zhUTF/jLPQnS4Idu2VvxwCSIkgotnNgyFKR8IbwnIZi88UpuDcP2wduzI48Ttit7iYPndPbYZwypQaa350bwAy9DYVrMG5n89CUmQWg/XDj6+TVlwg6o3ee5PjTx6+nrANDIZYnBmjT0YEBZbnEi4SiLXJsGZg+2BtVeCD8szsCsasSBeRYi1bxOUC8WR9D5+CaVqFJaXS0J84FseUiygYIwW6vxYX32ydJmnIcCxj9NVC55LTGP2YyrCwf594xJ8NkfvlYKkEQbaIKXv8c38/QIZj8Zme7Ar9Ny9jrVnot/FkRxc6FwR1bMXvY2xO9TmmMOS9pS0e8nsfgGEZUwXr4rG4uGIbAL6IozZicOKzOoSzyGSRhOl09Kp1rODFvTkR50cF6/g6idOQ5xEnLyKbOZXOeIc9WXRB76h7B+zMyVN9s8TfcaDEsq4V2Gqse1mCWJcTBLyySc9NxLMD6QuwH0XgCYstMvkCYEggrkSBhSVeuE3KR52DDnGZnt5hzCXkBCEu8ycRI5/PxBvi6wBeO52As//Y6QjBkIc+R7hxOq0/nPEL7NDSUEljfppyaVAzJ/k7am9BNNKpYiY/DaUvimNR0oU2vr34eBaP27Im+p26gvhfwDp8KTR3N+tcCP+aNq5WE0pR0hSWmSWeJpoEJvxrGkutJpSipDms+016y9hjauKYXCVFqk0pSlRY1qcAq04mF3iRp20mkT7BrDmTgFXCZQKv8tOBa981Vg7zrzY2Rko/Q3+fA7HCV04y/St1cPzVi43q6KeYQ22BShFZTTyDf0eSVQY11pYwgzemcoEXeSrqYNt6OSSgQJCiGS4TeJU3w1kRr0bBxMes40n3gI96y5ye9WaPeY3YN5RHr+io0gKTImU10UeP2KsM6kWcnHvXZ6JyQS7yVBjiKy5iHB4+BAuTCXKVpwFnHS+40rN8zJU2yYuI0k8CFsy9GC58dJqPVi3IUkQ2NH9cWUR2hQrLDPsfeHTI8oCuA/1RA7EGtzo795hMkKu8GQdIePR6xcnHmFbgs+OPr5mnmSU+6vKxc36lBSZFymoiWcbiV6iwUOTOsGUgZXlAL8tM5ukibmPl4jKBV3n2HKBSzxA+ZkytizsstlAgyUKVWpJHo2edr7EGVyzIUkQ21LtZLKWSVQYVFhqJnQxRuVCWB/gQnwJ8wk9UVNi5TOBVnnnLk6Wqho3R10+IRWdfyhmFOYCPlr74PvaYFBZkKcINSa/Bd5KsMqhjCyt5pZj7az50UYUgy4SumkLIxqpTxXyubtSPz3SfQ2mhLEXY/b2GDiXDdyk+uCmpS+hZSMD+3dbELreWgvthT1cQd4N1s3jwfrhYFTTFRNOqQ60kSu8CoZuwasSD+uiBZxX4SNGlhKlWTDStOlRKwjp+Nnczllo8HBYbXSEu2GrFRNOqQ3UuYaRJTVNB/JbCpOk6Ad82GrU+xQ1X/Mr4lJ6axFfJ0QnwykLPEM5CxiiVE3i3XUf1GIKLCa46yEACcrLqoNLhd9QW0nMHXnJmky9ErBncvBl3cS1FTK85l6aCGAzijvNwif7Ij77onbBZoxaUDQZBPnrgPxpP+YKT+RXnwESR5gMsKJVjCFlMlLXDumdYVh1UOhxGMiQ+hL3iYk6+ELGkiIXvnknpz6D78L/5Pw3xZnceCQAAAABJRU5ErkJggg==",B="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAITSURBVDjLpZNNSJRBGMd/s7q50ZoWISZSRAgF5VpELFJ0CK9RneokEl1qO3URpFNCXqIO0aFLEF0iiAj6JBB0WYwOoikRJiXUYqbsumv7zvu+M/N02BV30YPgc5h5GPh/zMz/USLCVirCFqt+tZGfb8UUFxEJEBMiNkRMgBgfsT6EGms0YjwINU0Xn6haAmuIHrm0TkEEFFQWQCD3/PJ6B37+N9tFEOeVDxSIOEAhrDGoSAMSehtcwRhcMI8pfgLnIxKUdxeA04jTiPPYtucCLixtQGB9wCBOg4QVUDVYI64EYpBgAwdmZalsuUbZwzldIfHAeWUR8289gbMaPTOK8b+DDUAMVheI7W8pKzuNWA/E1byBWg3S4oteibZ0EO86DzhcMEdx/BkN+3aBlBie1YzMOZY9j6CU489K/tabOxOD9VVMhAuT5D6m2dl9FaUUTkKQEu+/FZny45w5fYL23R0MT79kbGr0djLV1hyp/u/Gk72E+b/kR+5VwBqxmtdfc3QdSmAjlsTeHqwKSR7tBri+FmWjUXURdhy/gphmiplX1MUSxFr7WCgsEVVxzh2+AcDNs4842NIJEKvKgSb37j5iNBJ6BN4XmM1Q+vyUQiFgOpthIpumv+cxQx/6iNU1AGi1mWlMptoG2w80DXR3nqKj9Rgz8+NkJtP8+rF8V212nJOptiHgGtAIFIGHYw+y/f8B3ntD1Kp2NbQAAAAASUVORK5CYII=",x="/assets/cd4a48155186f0307118c55deb327ed4_MD5-Bz7SkGqm.png",k="/assets/d755599b6302d243d9938064d33f45a4_MD5-MeptlBbr.png",V="/assets/e05c956235f0b444099562d95e36a500_MD5-D-IH559B.png",C="/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5-CxfB4xl6.png",E="/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5-BwMCrbwO.png",S="/assets/56bb224283b259e7ad53bba8c4074d12_MD5-BuPUmLY3.png",U="/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5-CbWF052w.png",O="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAACxMAAAsTAQCanBgAAACQUExURUxpcW+UWG2TWDlsGzZrGWeOUVyHRDZqGTZqGDZrGViDQDZpGUh3LWZmZpOru//////zcdvb2//GcP/cpt2RIP+5T1OMKLLSlY26ZI+8Z/+kGzdrGYGrYbHTkLTUlUx7MWaOT7HWktDmurbUnKmwrIu6Yo+7alePLYe6YIy8ZcStgK13Jv+wOqm5rIe5YN2TJKZO7pQAAAANdFJOUwB88/j4gfiNifPzhXwYUhl5AAAAgUlEQVQY03XNRxbCMAwEUFGTANbYjlNIgNB7uf/tCH4UeYF2/2lGIvo/VpPW+suUspurKi0CZ+DhRGMLGCcqrJS5XDMrrNimFNifDh3uO93laCI8mC3W+0P0yw/nK5ym/daA7zcbAEX9svH3ersj7m2C36ZxXhZlHhHz51+c1ElMTxgrCTF2+HdsAAAAAElFTkSuQmCC",q="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURdLY4u/w8Ofo5+Di58LCwd7e3vz9/f////X19fj4+PT081mJy1WGy1uMzidbrvv7+1CBxy1hsTZot93g5V5hZtjZ19DX30l8xdHHvD5xvER2wHh3eL/Q4f+jQf/Eiv+6cHJsbQYiTFpDKkBXbUskA/rw3Y+rzoeaqyYDI3eNoyMfHiQnLFlqksOzn2VpcUUkIf+kYShMa8fOzk5leq7G3iBBXo1tXjgxLf9+NnOElauajOixcnplUwwYM62QcYd2bZCEemhwhnqm1+Xw9srX5ZKmvaC2wf/Lo2R9lv/au52312haSiUuPu3gyZWTjCsrTuPPr1EzGywCC62612eMuaWAav7z6BIQDWBPO2R9pbWqnOz6/gMIH/qnTm9TL7O9vjIeE7HQ6uiUcbu4qHmUvT1CQVFKTf//7P328Zx7YPX7/sPf8k1ki//89jVFWqWrrJmgnbR5O2+Y0MrS29uVRP+NV9Tj8da7oeelcI+649Tu+95xKO/l6ZFdUk9wjsqph3g5uSUAAAwgSURBVGje1JmJW9pYF8ZDB0WpfjJMiNikNgsmhCVI2AYKhF0EZBEUUFT4QEYBl6Kj1dr2X58bEEXRTlulOO/zJPdkgfy4hPOeEyBoBPpjckaUfEz2mKBRYqkmHtNLx1K/f//+/IVhIV+9H5eXtt7+aiy5gOPBWxh5VX4H68OHD6fLS8t/QpAKh6O3r0eHjLWwusNLhCRbjayEV3CnscSkcWYFRYPd806BlpaXRCwYzJ3gRKRcGEr6KRUIh4pVt3gPXcRaMW0haySr5TWRzLFnR36NtbW1Nb/4t4jlgJn92n6tzterLSnlLbqwYWJpzyRrhhViv3hu0XD4jvbVKopvmHtf4unW6emnT58+iLOFIHaYi5CcfyOHwCpf3TrU2dJ51Ku7xHleb3ElHBXSsp9wVG+wPohQ11gQZKzXYwJM8bswtXE4VKzu/b2Qkou3evd2l9+95Tu6fhlyvdwOw00QkpeVTl+o+fzHsUQHAlL/KiyQOdHsv2O9nZ9/B7T1q7DWeU32FYomm2rsHA8DyMgCmozIZK57WEvr6/OLXW9UiybEw7A/1D2m0t1PrALM9e3y1X7mS9RcLpQihcpaTcubjjxVIu60W2TrzoHZmt9bevunGBttIptnx0TjIZ8Uh63CMQfTUjh6IsBZF8xCiCZcaIHAl91gkjBjp+DYT2ER49uVfZZobB+b/0ptX3y1yFb097EWFt4dLPZhlXZLvBYjhcNk2OS2CVSmSHKJJKNh/CFEw5AtELijBafniLJTbuonsbx5XeCzPpUGWOeOukW2cB/r3fzy8pJo2WrGaEMQSE0gcYMWy0RwR9HkNhgpDQyHURJMkgdggS8YBNWEfsOGHNlzRuoE+blf4jhYZjqRCy4UB2/55YXF9UWxwFGX81G3AVLnHTqa9OSTegdjsgMsn14PYie5mwJYVggBwUmGUpn0ZhGrkHtyghj7Y/CXuPXu3eLi32IlASEnt7vBHCDI3Ri5PZbM071t5OfM599qefXHj/8H+rG8xWNP9cT/TovxegSKTc5IxiTdWt7freXl8eAdrOl+sd6O2OnhKjYpkUqlErEM5AttI36URv2mpD8IoirqdE54z6Cpfp12zed0ariKTY4BrLFOLZ/ntTtlb2IHJEEWRHYbb0I8QUjRr575iPF0QFxPXdCKQU0FphRP0C2WNrgGl1Dca5Frzux+ENmLE3a4NQHN9qtnPmJ8sQdWiuBEA5sNTE+124pAe3YqoHg93QbHZNnZ6QDYnJpttzsDOAV8DjF4Dc59fXGlmH1cfbPl0EW2d1NfAZbDUwHRfnEinY9NQG/61TMfMQ7siasDRRtrymcw2cyZvEFvBiUVmeTNm8vgb+2ZILQZlF9MNrJgaAbBKY1G46oZnLTKGpOb49k3j4vuYU30le+9SP45EZyA5vrVMx8xDux1V7Pti7NGaO/NpqQRlAXHz1Rzc9PjoQO6EYxtSqyX8k0IDM0JyHoVuApMjgcbZ3uzM9mruW/oHtY9qUBpDymVc8ruAtQzH6UyMFnZu4gpp8ax5tUmthnam7vEKpUZ+qyiUiovrmKbodCZJNQ8OAtZrWAIhRq/dbA2sxUMYMXkNeXtO99feljfqE6V/Trtms8nEF5gtUBYqZzGrIpANtamlVPW7FwAo6fB9QI1ZZuOWXNgc9aaVYChXYlN01O0gp6uxF7TczFFrKZ8XN+B9Xu/WvbPolq/D1ffgfW/EegG60Boys6Zl9P5XGP9tdqSZczrqD/oRbNokllBnRIUZUbW+fSwErvphNnN7hs0rLvlNVcjhUhpR7s5qs6nh5Xy5iPmbetXi+bSXUubP1scEWI8M4D1QOfjfOiNkbqLkmafAWvdsGA+1+mzmcu0o27eT5UfxBrsfI7KAR9MJznWB4eNsJPnwALDmGmHdaScdJV9ElavlBdr+XM43nq0fb3f+QAslHARcfOR55gtMxm2dKw9Zgs50wYVpwSLu/gcWNdV/NijXfVA51OCWa+eM8RziK9wqMXiUQIxuQ8dIpbdoE44rE/B+t6iebDzIRCI1zta8Zxav/vFrtfvACxBXxaxXPlYwQb9CqzHO5/rnufu6Ru62i/B+sHOh+ehJ2LJ1yIvqfPpYa3obHIf6nT5Xwl4CAQobk3jzhV0xFhruUxTw5iYzNHxflTjtJu9FtdOpuoZqfmo5JlEvqhpbje3uVQhqml2/jbgylXzSM1HtWKTn9syIhaqdxQzHaztw/wA1gPmEw3dHnfBMP3QdYxfCvRxaHh566HHbrkkHJZ2H/zZqSTBw/4TnGNgfwjYUZITH8E5jVTSV4rioWRsSFgDj924Mus59rgpX6yD5SMKXwqGVWf9C+pKbHjilNsgHGmBE7HaSIYuW59gPt94pDtoPjhh9HCcFNbVQH61J7gISXGMFgM7cIrX1nNeg4kTscJabO3QBg0H6wHzMbGmXbNPn6BXrZDdAO4vnR5gCQlHpKwDpgSwdksAi85Q6nxuOFjfeOz2gBXd9yK7B/tBrAMBRdPRAah16TM8druR9OTHa3n+JH2IRtQoXlnB2XUUDco28Oy+Z9QtRr2V9lS1AsjuZK3AlCKNFY/UY7SNGEsbnExTBxoBpFGNH90hxmVpD+pPm0fc+azqiLSubBazuyvhELEOyF3zgm60nc+dG338epwZTBA35qPCMd4g7jrq/3WBXXx08DLAkxhxjN9kU7Un9Jx568Z8VKtmNcHj8FGZStJGBuciOIyBNAapbWA7LHB+nx8czgocF4LsFheBCHCW9MNYEmYE6zHj54FdCVgywsHYM5qPSutwElWnu5VhQcq0rDrdlNsi/gXksIkpVMOWWRPjdIMgQ0N2vYNaO1wzk1Eyhx8R7iIZThW+uC0aa5wpMaGnY92Yj0orXSV8KdJA0vHcmgX0PIccC2brRAqw1gwaK2klYXAYXBlgGfhVd4pzklZ7UQcTxkSCT5G0l9JYCwyBPGfno9JiLgL4jMFO+PI6gxbb0OlFLERt84LtDhYHDnex8rrDqt4R7WDtEoimpfqnXbP5SRyKoniBwQqbWQxtSMqifFQoBRqmQlNSsQQhjbYgIKMgKRDUsX4AK03c+K/PfcAwELXqMGOZZO6ieU1fk9+CvnPO5VZz8XhJ7hxbY3l3+5tJFnUmm371TckHe6I25PL9k/xPPr0nXzE2TP3GW0vrdKEYGQhKsb2t0Hs6LTmpPyk+77eBjHZ+r6UPJGULsEDtlWE+HDoLRTv2Rgxm2rHZJ0jAehwOm1UqGknBV2M3FiPoafjZbgMWUz/TOZGdnPb2Jp+f7fh5Zx6tvM95+Q9NPm89IBbEZz5p8EzPLYApPt+Cb8+15g/+imleEJ+yiCJPO6UqKPigtFMYpHwlCD4BPoCFjuRw2ydVtgZszsfmh9M9fAAkaOCjotYh6P1Yv8RnxBcg8mSr450xW2NP1Hq0t6tVMhB8WgiLlcMhllYEWY2NLpoZJQN7WryZyQVrbChhHYJ+P/kQdUh/EHmyCdRvi+xnBTQNEfZnUPBBWOFUoO2LddFnszdqJvwZ2JPg5Rt/EC2sQ9CSl7+acNx2F6kOLMQHIyDyZBOo36bE42XAUgALBKmEsCBdG+di4CRDGlw1D1iwZ5/vxuOqwokJ6xC05OUvd6lijqI7ZfxSoe4Uit3IS7y1+JAvBp/ZctJ4I5c30z7xzDoELWClWPMmHzYSyeAXXB+bar3Mt7VkZ0Xxea7xRnYbr4SgBS9PulA/3ugzQRx/HJ6osVMjH/7O2x0xTvFDLl4y+re8it+DCQEssncesxdr2cSvzV9R6zYb+D7x+TAsF2C51g/LQ3wiPFZYLhvK6Z2UA7B0dnnAZjYyj23YWIB1CE5ecvBKQafoEpj69nRkHvOsUO6ue5XXPROsUNQ4ipT48c4gaAqVMhqZD0mYY4Vyf3Wv8rqD0EeH6ci1qfJFuZJmqgQtlmLO2INcwJw2FqH3jlnQ/j5gjQErp2nbIcHkuAGG21jEptex6ORnS7jYjPXiAWEnloX4/Mf6Z7BuZ05+Xv7idITYXixkA5GXh4MdxxlK0nvCFZ6jG037sUzBLETKtWtcbqE24sY3KZleAyw5TI3qFHWHGwLVMPq4ztG2Y9WPd/yiWDI18QFPclqjGTxluAu7seZe/vN81GZaPwDKj5BohIEimgAAAABJRU5ErkJggg==",y="/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5-DcRS1rb9.png",T="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpKtE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0HglWNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1VMzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVPC4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnjahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQyu/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg==",W="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAJ/elRYdFJhdyBwcm9maWxlIHR5cGUgaWNjAABIia1Va9KkKBD8zyn2CFBPPQ4iRMz9L7ApiN22PRP7bUxFEGoWZr0h/Col/ANJMUqIh3Atljx6tBKpI9F2qy5OSuJCFHXRVTOUvq9QK5ZjZSyAVIMlY2ePkhRaKfF/SIPVw6M0gZ1pn56l0lpsW84bPNJWSqsbx21dVTSVYp9k4YfGK4LtQfavRGcESYL5u0LiVNjtB5WJuyNz0cd3suVFxLYgT6fCTwtUYFmQaB54XqZHMPyGbxce7PZDuRRuMOHT8n7iHK2a2Gp12IsTXwJgdbZBRDM0oHKgtg88n4qWUaDd2hkB53M/gQildzot8/SI5OqbN/HV+58SfVSNuMx9t6qpWc9Rzt7OlPM3QrI2ItaBb2Xx8G1j456T2V8pWVwQqDHz+8YUt82HB6uFdgjrAJzWTrTv3nFs7M89j1B476EV9DJSokjJ1ZjhYk+lJ/Zzw3/Vh7nhVu53AsiebvhrpN7w8DvFxG99c8nolsyjfxV93EOTPIC1Dh6Ca52Jdesb48BV+pOQdP583hvyJVn48MMU7ZcoyiKfQX/IT6f/7xPB0+L6iuQkSrPRCsIhqdLueF2OowNnqDxwdlMWDZ8KM1sxsesDF0sisj2Isi3CUr8QOSH/9MAziLLGB65WVZUfRMd5/boE7qEJfTGAmstXIriKo84fOLkqqT6INmuyKT1DQ1zIxfOHagVFeHhqKzzF1fIgQp+jpLYew4GlR6GxUr8H0ZhYvXK3kzLO8tsYt5VSv2lb1a3QssZ5SfxB/JiMxeVqSIxE8+MwJYyGG1QYjPOyRBELvo6RYarHOxNjcBl+h38B5LWsZOoCHA0AAAAJcEhZcwAACxMAAAsTAQCanBgAAAGAUExURejo6PX19u3t7Pf4+KGhobOzs+/v8P///wAAAP39/fPy8uXm5eDg4Ofn5+rq6v//8sTEw/H//5DN7/TTm0GSzszz/5hAAP/3zf//+QAAT//5008AAPr//18AAEAAAAAAQdKZUPr175rS8wAALsqPRtKYQC0AAP/+4QAtmAAAaC2Ixtyzgurn1uTJo9z3/ZxPAOH+/8Dq/lKZz8zi8QBBltigYfDu7sGbcYKw03QAAO7Jj/rpw6jV8uzgvwAAXGJeY/viswBPnIRRAAAAhfj7/0J6rKJhANrl5KjI27zU47aHV4C74YsxAABfp5LA4KZzQ4uOfW+ev1YyAGeo16Z/YDJooAAsjsCFM/7v1MatiN7Rwl2CrbuUY5+4uwBEeuHs7XZZRnN5fQBZkT+Hv44AALbg91KFpIupu7ZyAMjFsE1viAB0tzoAAD1ANL/B1KyOhHY/ALCnlZVgNNPc3FCPu24xTzFPcC4uAIGDlACLyU8VQQAucAAsLABBVQAwmAAWK0kdxfEAAArTSURBVGje7ZppQ9raFoZLVbIVNQREwyQqFgoCWtE6II51oOJY52qd61hba6dzTs9/v2vtISQpUqxVe+9lfSBC9l55s8cnb3z0qBSl+P+L8j8uqCy79KfFHy2rMl802xOVDxVMVllZ2drOEIuBpVdlNFKh6bKHCiarqqoqtrS7uxjY3d3NZKNVsfeZqqqUd7bqoYLJesyidWWb/ZEOTcPH+fTjhwomq4bF6spkTU3s46f0Ivk+mAFZNbElQsYna+49mKxqFqsrV/CZjVavh95WXG2c91a/DGytn3dW33swWTYW0Fo2Wyy7b0s3Ttts6fPetHfPfuLvmrTddzBZtSxWV7Zra2uy+7XQf7X4kfYTiOXt2vsOJsvKAoa81fo4u29Nn89arSjLu2x9kGCyLCxaV6wWS3P9viXV+GnbkjqftbSShUcbF5Z7D8Mq39SlVFbK9XWV8ksSfNbgbamUN6ETR5QHWuV/3JSaLeKP52Wlrdooq+JPixJvlWT9F8uS7YmC338iKz40UKikZ+ewwNk24NpvybynGkKOgt9p9XHlGlnqBJnxFbhwQ6OjwNkmcroDO0Peil5Hwe8YT8aukzUcIgGeFtf1ypv1VJPbJbURR/77aTFkK3x/ZllN7nnSCX31eesD2dueIIPQZ2ujJDgLTby8TqKezwOSuh4ipEXtISQwK8lzC5v0tJDlJI7UDiGd4Y+ffJL6cty3NkdIxNXgPRolb+CO44BJCz4qC1MMwpjBPXf37wG4gmJIrskK982E+8Y6pAY/WYDzyyf+M/htb3ITeqaJDG4lMVsreX11kpTfT8UmxhS5nbyxj0IVLgv295bVSHIjI7VCs8NzU7gv2Ftd0QEZ355460D1+OQ6qZNYot7YHBmgx4/QyE9WFENyTVY/aZG6oUCDt1fy+Md9anuX4iS9tjgM0Cb3M9r2Hv8IG31q8zHIaB9RpO6Ai4+t79AU0nFgCkoMk1dSayTRT6bZWHolyQd18AvcAfxME0WhIfx19OgBmU+eKobkQhYM+C9Di+TMh/fS4O2UZCoLItgiPelSqKwGfyed4T0k+BVk1dexzmOyji4SotfVibGYH5vHIcYSlKV3geWpLEikto/Qo8dLZRmSC1kpeKgorxh1P2Oy6qisfj6GoRJvLTpXacOaZfGjFGuHv/rJO+h70VpMFm+tQSoLLgBDJOrxQmuhetpauuRCVjdN209e6WWF+yKZqo2kJgu6f2F7I9NGZtP+wLM8stTLTPPqYAKuiItNuM89VWtPCFlOsmCJh85ootXgVHMPwYRv4ZGvhV5Bn5zLCmejmDycHQEmlbBt5Qloc+gTrNREOxFOwKiGmbb2gZD5xkgCZXUPMlnsKE/A+V78StsZC0KnYUUs2wYnYdmk3+dYQbnn3ZcT6ES8gj75zzafZqvP9P0FNMrzFzl8NZWHU1DgmE/Q5xZ9dfW5xVSwknbRwA/J72ZPxKlYVLQFd3fIjHJPW3WqoqO4gmuX89+mfCWwKcl6QFnqRvJOLhS78JlHe3nyWpzNyUoDkwSHDuWDv9i5pd5iVoKh1zjnUjuvfT8puWoCPcCLRboJxhcJMdYGfNURRPDI/j7koOsxymLr/k+iHzcB3Ki7lJ+UpBuYLvg+DkvcG/tSl6KuT+nxVcgKZ4O41qov5PqoVOkrtmuAMfaxMhm5sSxORE4C0KRKKu8kvrcLWU7SyTu2fp8ypzwHC3UcNqgZhTYzJI03ki874z5BmSzp10gCPhfhfo3MSut3A3Ty2kIW51JniHxdVmh7U8zoJsHQAqdag6wWLoszJ7aak7zJbFz42o4me2DfQrrsIUhhjDKprMFL6IzVmc2niolZsT6FTl5byOJcGt4MbmXw1jx9ZBmGftq/bE9yqs0vizEnJSTxzFGVBkYFsJSQWQVlUlnuq76zsH+6CS9qYFY6RpkWWpvLElyqdaIUXkKWULE4p1qDLIfoREZRyJMT7NpxL3lHHHA9H1JYmaBMPkJaI+vuBFzUxKzsCFpY7ZwsxqWKJgvm8QfSQotzqtXJGg7xfVyftpVW9Xj3fQi22ECePtFag0LWMCFRvKiJWfGoHncporaQxblU0snCVqJ9zqlWJwv6fC9ZFVtq0ad1wm+xiwbvuO0lDEwYae+9ZN8nKJPLkg8YXZqYVc7uXc3BBBW1xdgSXCpktR1tN2/Cc9hEJPmCU61eFn1KI+5DmTMnPcZD6JwCNZ6OQqb4zrut9hxlsrHlgvVbQbo0MyuU2puDCcprN/GVTXCpk9N2Nz7G9PpwBXRwqgV81W0+co3Nal5tVOqcAonKVp8KE4c9nugpU1/WyKzNVs2GlfWMy7g09/WRTREcrFHtDbbqhtDpfMj97C53aI1qbyBLPpnfPUrcKThoVFvirZKsh5K1dqE8pCx5aeiQMulpwsR5ruunZlEAWziuMWw1WfXIc7BwuF15aS2vrKIAtmBcZ9hqstrJWALpd1Avo7KwLM7Xt1k/c4btdbJgO4KtElpr7SMhy8xDc8/DdzQ4PynCQd1iRmhOltlKpdW+JCiaDv89IPBU2KQIuW9cmhNMDVv8jTBDCKgJEuY68dR/Bm1zGXCFDyKZjcWxjvDBP5m4F2S1Bqbija+4g8qNUJ0sE5aiKUarIZoixnE8FTYpAEgsy/dtYdh6/Ps2O3rCU/jcBiVzsjpXBzuOZ6DTKBHCBzsGXB7/zGSsb0RhDio3Qg2daMBSUY2iDKNLxFPNJm11Z6p7+NAQhq3Hv5ekTwYLCQawOVl1TnLkd6Cs4CGOfYcT3X8qi77eV4SDqskRrWXEUlpdL4vhqbBJqTMXjLj4gGeGLe3YJO3n1wqW1MmSsyTSAfnwFjAfPfajrKjBQTXLMmEpbSBk6idPkaIcHE81m5TCLd+ZhWELCuONCJZIiAiwOVlRGDxR1jrApKORRKpx72odpwD0tRX6PI+s8aurq0kTlob7AuWjWK0pMAUo6BB4KmxSJ1nefmynY0szbMMV22t9Z1Jqyhon1FjVjS2p2Z6g0JiCqfPPIaXQyCWfifC4mHNQhax27N2VmAlL15bevcbBk/LDjAQc5ngqbFI66+gylDNscZzAFZ0MewFg824+6nOrkSMLv943YSn6n8crCvs9h6c5mzQf3FZZ9ebqHXin8sG/u4vsUbkom/S+CGKjfP5bpnibtMRbJVn/S7J+1YnVltOXaKwVzZvDnw+LXC3+up2sdlxqdLwpXyYLmpOO4mT9IinqZOE2k8viCTn+BFnAG2c+zMJg0vOBfI+4BGB6Ppf7xxT+nl/IEm/nRSEDvYaBcOFwa1n1nybILFqFDCbVeGjBrgjAxNf9GfGeX8gSb+dFIQO9rn27iuM73FvLqks1RjpoFup1egAVNJJDJpXEe34uS3NBRSETvaqPs79FFoDM2/Y64XXS/+3QZDVSjmbv+TVZ3AUVhQz0Co8p3+Hh4XfIAoYlncLrxH9BEYDJZPXrhrmTaG/ntUJ6TFSPIwmp/ne0VhS9PtIpYLKh8ZPFxwGTyRLv+ZmsFs0FFYUMsiYiyTbAmNvL6qSY1ilgEo5BFwdMyqSSeM8vhrxwQUUhA706Q+SfJRK9rSy9mcm9TgRO1eRzUg9Ufl++SB17Tq+mQnzFAtzM9/vd7YnyXPA0Kd1plMCmJKskq7j44U39TUk0Xb6V+EU6Nf87qC7Em/o2ZrZCyZuRqJP8S7f9/P8b8B9tClGOlKQYcAAAAABJRU5ErkJggg==",Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfX19SxWn/z9/vPz8ytUnilSneDg4P////f39/39/S9YoPHw8C5XoN/f3/38/YydvfX09CdSnClUnv38/CdRnPr5+d7d3v///t7e3tnZ2W5ubnl5eerr6pSmx9vc3OTk5O3u7tLS036Dgra4uO319r29wdvr8/Lara0BAcvKzfLs2mBidd3Bnn51luu/Zure0u/v78TExIyZpvb07XmMmlxeX6KdlfTl0JSTkqu2zMG4sfb392ddY7CvsMHX2ufx9qSOntC8qk9MVomElbaonZ6mtbDL4bnC07LPyZjA24t9cfTv5ZyJfWtvhZWOu12Avc/d6H9pVrva7OHUu35njIyw18OWdfjz4e7ewsaum+HUytGni1U8NUhZc8tfX6Kjo5Z2fHN9gGB0qSdRm8vIv5l4Xd+1tVx0knpra9N9ff/673+Bupu3v7+fhvX+/uHMrn+4qbGKb8y2yGNPT788PMff79Tj2i8xR2uunPDFkHBSQ7kdHXuYvnabz/SxemqjnV3T+7wAAAkySURBVGje7ZiJW9rMFofHpjWxVqHls0iCSgJBwtKw74vsu4CoIKKodcF9167f334noFQWId4q5T63vwdPnDkn5OXMmckk4O1ACrwbUCxOb6e66+27Pgu8Gxoaej2Firtq6vVQfwWGaljiQcN6DfVhauQVVDSTyZzAY/L6VbNGBB9e91c1rDeCkXEobDS8JIouKcIZHzPlm4lGpFMRrn98RPCm31gfoN4LRDVJMicXPy8yFz/JDJO5yGS3vFvXNYfg/Yf+CryB+lzHMm0pReGIKVNaushMLV0smTKwWcf6/Ka/usOa4BR+m8l83NqKs1vZrcOfF0sT85ktX83zR7HqwmrWVbPgrq//WO+hmrA6SfD5fX8F/oH6LMC6UmGCz//0V0DAKYp1V1TQZwFsIPUcWABMW6ZHZYOGReD2gB0nXgZLTtTkefp3WAM4gQesLgwrebwdI/QYpvbcFXAo8iQsAq3p9jEuF2Ogaf/sbPGrq9lhoCzDYMxCGTBsTrITz5t96kSWwcht+7ZR4TcCZ3As4MW08fN4yOE3soFsKJy0RkJhk8fs83MRLmh7YVHyzlwuuQgdW7Gh4tlPLR7K4gaYy2qvQCxFYRFndfiwZ9M0V5Wkj2Oa8yV3ft6OYFpzLqZhYdOe39uR70ET02iPFk+5iEunsicW2pHLRTeoWrGElYCVZtavVBDLdyxIq3WEzLmp1i0ic9qYxulNFObNLkwbkRZ0No0zaz3dcm4fQnOjK4Z1rAFG0LlITyyKuu2AVZEhjH/2oACpPrWVvAW3VGb29zHMT4Rd/k0lS0T85igNGFYZ0vmcJsYfwVglZqIx2GQwq1kdhUZPq7OwDT9Wc9sgNkSgqn0U3VdBMtAuHIpD4v5afXLaYDHsXrHgJQSxuGw9gmX3eOzF2dlZdQcsAKSeme9X6y+Fta9S9cjWVxtEA/1U92zdYc3urkOx/cWq1ZZoQt4Fa3V9/btqt8lFeqCYl8OqSTyhUqnWH8UCgFVdtVQ8d5qdFL4oFioSllSrXbDWVaV2LLHHI9M3epAXwEInrq7avdb6TLSB3bZUQiyR9+wsdgbAnD2tAKBwqbxzbSifL1u7rel4mC399+/SNixx7OxGevYFYik2SE16Zc0fCOF7eY1xZ3Pvd7HudhCE9ft+B68Hx+22r59m91Xru7tsC5bobAbcfIFYKXxt2bxxM6+N7xipEmHcUC4qnmkwd2HJXz3qXYde1X4L1kQsdgP0MS5b1W3LphpiaXEqj6efEevpaUYnvpx5ZUexu3pH7sseAX9SpJyE9f4lNtqHayFP8speBoLlJoyVq405JxX0Aa03vOtreE/NDa81aEQ4L92XAUrhytRmekVjUZi1RyTrtniDOUHDG0wr7r3Hsbr30tEHKlMg9yMBUouKoPpQK6CXF1a9ulBjJUyWv8XvvcdH0Zp3rmmCFYX/qm3Pj3UqEBIJLh9rqwtazWbJcunVrRrvvavxZMN7jJuLnPe8KVuztn+/ml6uyBFQUTxS7128wknDpG2b4cqeVJim4YHORzjLOf1Gn0fBuUz63evfmXtCpFN/lxKXEJRVJqGsCHcPVM87U9lFNusMKil1FGjNJbPBvyazO473Skr44AX780Ef3+Kq4kb/tRP+V3DUfumdCtWEo7K8AIqHlZYzHmwVPXbOThP6OhY+HVzUxuFTWE7jA8swQ4vqedahyS8txxa1P2C/xZnliaVdAoZjeWAa18DbbDyBO3L1iajWrQjsyxpL/tB+qkkXNW5v4CiV8wZwhzthDCaDd9mqjDJBys5la0H7gzLNQawE5HMrwaogaYRYyz80RYilyx/C/u3UFF+sOJAuL8yxwQC8zR7pTBvwu+tYTh0Fp57nkNpQnqe4OWhK7RzpCjrKlFi2xuujPmZg72ormTD7aCFDw0FMMrTaAYRWIkub7JNEOBk8rT2dJZnQJt/tTtJC7C0v5Pxrlhu3Np6rTt1jXeJGannNnT+ktBpNCWZLl3TnjspcQEJ9q3jpmSjUPyzslvquTwIEsFU4LPBWXAjWOlaMD9atpA38MSH92xMMD6TASF3ISEPDH3mIBnB/zYy8lDgsuaEJazs62VsSuQuVSPhcgRnmBSIy0M1Ydrt94iFWKTrGQxI5I+H3w/mFjYhasOTTwpFmrPaxJtu7GNrV/t2T/LA6hInkEy1Y4821xcjbEMbasQwkZnDxuR5j4IU1QZMPscYhlqgJa5K7qqTZkK19JImiGCx5GXfGLzPZ3JS1tR4NazZgBOZqfHwEGW9ossHRxdAYNxNhcO2MbqZ3RAcDl8iaZPqGPk5DkT2MgTYYDHK9fpg7o6vpHdHBcNmCYyj69V4DuPi8i2e49wLtb48MgE8Xj752LF5isI5Y04BPF4++/xJLaqBpmny5e2ILlovbMLRqtO/th1iu+i5GOnZ/h/n4kftM1k1f23Us2eRwY/MyOon+ebUOohAZnR5ALGRU9gSsA/kr7pCkH/GLJprbJhJlsyirbO7i3gjP9MjWqEzCk0kcIpSWkxqW5ZGQ40POhigqWm/nNcW0EewswR80d7LrCEG+ogZFha+ontmS8sWyaVgF7nSIV8IivORQU8oSJZFbsyKr48DqYOVGU2rh9DpkRMVkQhlauChFWWNxK2cuT50fhVH02w9tpPJqxWjbm5spOzpj/Sr5J2CJU4Hrb1E8Hw6clBcVZetazigtS9Z2zGWnPFC8dXyrBNCDsgNGVk9suvK2Oe1eXapmLYpc2I2KrZdzSvdxxKJdq0rdBk/3bAmfgKV2aH/iJ9SqOaC4DCjLPnJ7J25Jbu7EyZ2jgG0L/ZYl0QM6cIKKLRDPuna8x5wvVBG31K1Oowfz2lt12r2ydr7gtu1RM8+HdbBhNiUk1LbOTgfVxlMCPp0qyoSyQDj85pTTrGCJCIyB48VSCnGl4CgQEb8DF6UinoL5JB8Ww4O/kg75UhIC7zUTR/ljdRB76+sesBJpKoNqdYE7YhTaK1v638F6qkS19QWVkmjXkhf2GYvvcooMIJZQOJjZEg5otuBqOkhY9ZLnxnAwa2uwsnVfWwOJJUQGE2uwssXt7ocHt7bgGA5mbUEs2eBlCxnIbCGDlq36Ko/8HcQnYQkHNlt/a+t/NVt/sf6W/P/tIOr/YnXRfwDCzBhWZAPL+AAAAABJRU5ErkJggg==",v="/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5-BfPPi1bZ.png",D="/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5-CJl7LuXP.png",L="/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5-BJM-Cm8_.png",P="/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5-mafm778v.png",H="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAMAAABThTnCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAKAelRYdFJhdyBwcm9maWxlIHR5cGUgaWNjAABIia1VWY7bMAz91yl6BIqrdRxbCzD3v0ApyUriOC06xRAIHD/Sj7sUvnIOv1wiAAfoQjVrNDDQDDgQ0KLV2FCQjRFBNkmyu9JKcrUAxG65AWDr/4NGJSMDjuJazvAf0txrjyguoBCWFVmRHI+KsW0xgnA7oIAeR66VpbRU3snCN51XT3YkOd4inhlEDmqvCoal0MsHwgs388qBzfeo25OIdPM6nQo7PWB2z+yFponv24rIHb/gxwMPevkgPxSm7sKW53LiBFqVNWmd/mDhW3BYjHQS4UrNUe6ozqLifira7g0q2s4MaD/t0Ym89YanZ1oRIT/m5kUs2fiSwXSaUV52l66J6qjRvls7S06fCFHbzFgmfuTNwifDRqMma75iVNg8USWiV8MIx2EzgqShdSGZgGEaRKXYwN1wPMs+U6EyUss+y14S8ZLoYg0P9phHYd8N/lUflsGl3a8ELiVe8OdKveDhT4qFX+bmIXNadprzKz7HIzXeJ5Dq5EEPbTCRHMMQJi48nuhFp/fndSCfsjP1OFR8/Pzg4Y3fk36T727/zxN5pNnkmclJFNegZU8HuXK74nXrR4efoXzDyVSIJbwrVDX5xqYbzhqZ+bgR7boxcf1AZOj1xxu+O9EucMNFq4jQjaif189L4Joa4wcH3nP+SOSh+lFnNxxNBEVuRIc2PgTvqXleXov7B1WzN+EWqSaPNAnfiHzOvaWa+nL4T3qj/Rdh3Jzc9aNzl5MSVvt1rlvCOG7aVuXIuCVYl8RfxPpmbMaPgfSVaNYPU/TVMHWVL8Z5WXoTs7/1lSGs/T8h+eKSxx1+A/iNrAEhZLgSAAAACXBIWXMAAAsTAAALEwEAmpwYAAABgFBMVEX////344zcjTLOm2b4///x1Gjf8/8iIiKZAAD//vX/987y/v+ZLZf++enbsXDdpTX30pmZAECPZCz7//r+9vP///zjmED10Dnds4j3zJH76rD9682ZAFOpAAD09vjMkVDw7OjhsEvAy+z10avhypdgIyKiAAD/+dzm+//N8/8iTJn0vYGZQ5uXdEbkmU+Uze/I1fLj6/f48fD64brIeEKnh2SgViOupta+utf//+yZXqPERgDu4M4iIlbJXQCrf0ufkcwiIkCdM3XVytrcub/m24M9JyPjm11bV1ifZ5AiJGXW2uzj5OaumL3qp2+dAADYmmizRgCHud+ZAC62AACZAH7VdAC4hGG+XTDhy76aT4YsaahvdnVamtChh7xMYYaZAGacc7d3ka1GgboiP4zl0teo2PS6lYS8eHqaN1uuLgCdRiaPOyYiIoXVlVKiAEHmpKDFwbyLb2KZAHCZAI+uOUTIl6KirKSmfqTNt6ejmH+ZAC2qtIWZLYt9IiKaMZcOBwbuAAAIpElEQVRo3u2ah18aSRTHR3ZhZ0U8UTYBqREUlKK0CMiJiL0r9hg1Mdb0eKl33t9+b8pSPO7EYLvP7fMDbJlZvrx5O/t+vkFIM81u1f5I5sLMct8fDlUyKQhfBIG8JZM3weXxGG+EKgcWDre3h5PJ3DE7av+xs7PzMiXWeZH4V9bUOnEgym+k/saxctYcELWTF7z/0U6OKYJE7W29P9stvTKyz7dG+elNYCXHvTabbzxoDVqJUaygJL2a7fBsjdTrLUHqo1iWuSi6GayczxdspSa4BYFipd9IbwPsrP/T3sfuPmP6eELKvzQiOTl1hOJTewZknXp5LEkHgWosOCoC1ko4n19B8sZUKjzTa/9E+gb4pZJTzxFcZq/3CqywV8+gBMHt3qBYzd3SCj8Lm+A511MpvzMhPWMD1Cb92ovesWE+qMZ6B5/Qhlo/3cj32qQdAHvOL+WWZgzIKz27ahzCNit3lRtMxeovYz2Lxtqk/BFcSzoqYwlSvl/OSTO9VVgCw3rVa++WDmBjpsslynAmwbDgUvEJuEJCOrpqEMM+Pn6E6qQSqxXc09wNCPBtMKjEh5VYfSLbqoHVT0D6XCzIlO9TExLFIo3h7LPmiSudBd6C8VsgUCe6k41WjnXAv0PFelUDy/gvWEoZyw2R9aaEhaxSfqqOeyJsBawNCCv3xoZuQ6B3YkIiwbVUwrJBiCD7BA0XMnQqFg0UjiNWYK2Qu+Y5c1v6Nby/K2OREOu7euJJWn10bvjQ+kH4IHynWBAZ0t7X9hKW/09p5ms3uEx+LeVhRCiWtPeDjA3Hyk+BHXEs6WW7Gohk1PY+QZcjjsV/85VYbCJVLcnmhSS9mUhs0aC2w9dIMC0gnyTN/JiYoVjAd8B/9hK/+Zbo3UruWjJBsEH0TUi/wm864JcC16uzz0+YZW4uWhmXMY+LHfeIpWFzuf6xd+VjUYYuMZd6MSWnuvg2zF1PgNQymzqp3Ir5dup+MlWZfLyzgjTTTLPL9kTfCn9PTLIF/h4QVgeYYtID27iv8wFhNTU1dVpcHbLFpDx5OFimpiabXu/Tw5vrSfmB4XHVe4VYuan9ixF5U+peeev69ovJ5gtmTbIMoaX8os7hPRhjh6Ge/ukENO1Snyy/G5DuN/WpVN76CSzUAUjgMr1eb+dYQTzvsnjG6rqoDQ9YDqN8p81sQI9a1KdSeesnsGR7Z2cToXr82MSw/KuZstdGZ5H/8wB9LUy7zYb4MnEj+MgxwH8C+VwIgSxKDHKs+CbG8yKKjAr4dAB5RwP0xXrWi6UwqseAxb3V3NOlemI+O+wwkH3ymsTbBddwBtyorK/NvdunaZPdiechfQa4OB7gWN75uSXYgvZby44AOWgzG2Tas14snamTDuBjMLuOYzFHKOswCsCjYkXWwCVD4D7U7Jz3tGHWyr6J96Pp1V306MJYGkRLHLYiF0bUibvIQXixnvWHvBecNa4fB7RO1VuDLJqHXhCCEYrl7GJfGHfibUOzE1cEum8xJE7ue1YH1diyL+M3DgYI/TgW61kvlrdVVzYrj60L6mx5OESvS7xnX+RYSPH2jKjg3CLngfjiU4eBY3UMZYz+97AF3ePMW0ESVaRnI3NZEE9HLdkTQxB3yZNFg391PruKGZY8FvWvjijrjll+/31IuexDIVEexi/UO1EeyniWoH3EXDAlzgNtuOCDYGc9G5pjrYswRtsBeQnjIgzVJMYn4K0I/Hr4ejwaRSYyW9HYgnP4NEonCsACp0CrIMbTy2ZD5LQHm+EmHsIOAbBYz4ZMneUtMTr1xCqmfEuMze2xkpzw0IGsnDstLiS7kIIU2p29l3repV2Ktodi6UMj0kwzzTQtpGmh/6wWqkqGUveAVUsLkTxhuvT4B0lDNA7faUBINKqFImtzW85QhaTxl9LybOGOvPV3LUQzwPULI+Tt5hTdi4OUSUM6lhEXXkAOeoanA8gPSdjt5RE1tBBN0J0Zv3N7zsrSVJAySgIPZgsiKAu/czcLeX/QPLs1e2tYNbQQxNZr0De2ogEpkCEDFqTHID44sQ13eXQXxiBOibcZ8n/TQiji+FgQaapOZJaKleJYbUQHZUTIpM1dt4ZVQwtREYOICEXKcA1vFfltaR9eu9NskGkxe8+u0bs4iBiWsl5MxcaI65qd01HPoegtdOjuFivCJgdvD8a7ItkjGse/Sf6tQ06BMsUhcQGG8j4mWlBEsap/e5X2FLolW0SkmWaaaaaZpnz+T8qnSgTd1WPwauVTmcpWiqD7UD4+526tjKdSBN2H8lGGMqrE4TWddAKfLoeoCFr41kqLQNZFfDxquF55pxHlc0HTUi5xeE1H5yj4ekJEBMEgn28tZ9Qi0fXKOw0pH5qWconDajrNzkE6iER4RM4DRHvQItH7a5Z3GlE+a1sktLjEYTUdWrFiaT2VII9aWJHo/TXLO40onxbI1FOISRyZ1XRofU/FaiFYHaRIRFVbo+WdupWPUSaVRSpxeE0nfTYKGjtUgSUG8TfhZso79SsfUPsikzi8pgM7jk0mgsh5eCnWz9tW842Ud65nTOKwmg7ooEtTvAL7C47AvZR3/sU68ekZfnjFHzk7NhZFmmmmmaZzNJ3zsHWOxVPjmWb6Erg7rFo6x4pJnnC5ZfPiP2V2JDs8TV1q3Ni/wmvoHMiGO7IF5HVUe4ekndW2kGHsbcXZ7Ka56mx6rHptoTx8vSd4DZ3DVoD4nfgsI07CJqnqWBeLx6VVbnLi4yYoIHBScYBisaVQdDVcWsD4m5GujuNL4uygkwZBDOwbrlEUqqFz5ASRqvJS8eMh0o1Q2dOGB7PLDgNf5SYP4W9W3OXfPC9EGVYgnXAEyGo447qj4HW+IMvQeGO/c7+wVcieZQ6N1ygK1dI5ZCVSiiXljwhWSweXNHyVmzy0Cwn9CJE9PLY+kw5kNRyVQ0EzSfR5Y7pUiTZH9RWF/gJe4owOdtYXKgAAAABJRU5ErkJggg==",M={},G=e("h1",{id:"快速开始",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#快速开始"},[e("span",null,"快速开始")])],-1),I={class:"hint-container tip"},J=e("p",{class:"hint-container-title"},"提示",-1),K={href:"https://www.zotero.org/support/quick_start_guide",target:"_blank",rel:"noopener noreferrer"},X=e("h2",{id:"基础知识",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#基础知识"},[e("span",null,"基础知识")])],-1),j=e("h3",{id:"如何安装-zotero",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#如何安装-zotero"},[e("span",null,"如何安装 Zotero?")])],-1),F=d('

    如何打开 Zotero?

    image
    image

    从操作系统的任务栏/程序面板打开 Zotero。

    Zotero 是做什么的?

    image
    image

    Zotero 是一个文献管理软件。它旨在存储、管理和引用参考书目,例如书籍和文章。在 Zotero 中,这些引用中的每一个都构成一个条目。更广泛地说,Zotero 是收集和组织研究信息和资源的强大工具。

    有何种类型的条目?

    image
    image

    每个条目都包含不同的元数据,具体取决于它的类型。条目可以是从书籍、文章和报告到网页、艺术品、电影、信件、手稿、录音、账单、案例或法规等的所有内容。

    关于条目信息

    image
    image

    条目出现在 Zotero 的中间区域。当前选中条目的元数据显示在右侧窗格,包括标题、创作者、出版商、日期、页码以及引用该条目所需的任何其他数据。

    管理文献

    文献分类

    ',14),Q={href:"https://www.zotero.org/support/collections_and_tags#collections",target:"_blank",rel:"noopener noreferrer"},N=e("img",{src:u,alt:"image",tabindex:"0",loading:"lazy"},null,-1),R=e("figcaption",null,"image",-1),_=e("p",null,[t("左侧窗格的 "),e("code",null,"我的文库"),t(" 中包含个人账户下的的所有条目。右键单击 "),e("code",null,"我的文库"),t(" 或单击 新建分类 按钮("),e("img",{src:f,alt:"image",loading:"lazy"}),t("在左窗格上方)创建一个新分类,即一个用于收纳文献条目的文件夹,其中可以放置特定主题相关的条目。将分类想象为音乐播放器中的播放列表:分类中的条目是文库中条目的一个“链接”。同一条目可以同时属于多个分类。")],-1),$=e("h3",{id:"标签",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#标签"},[e("span",null,"标签")])],-1),ee={href:"https://www.zotero.org/support/collections_and_tags#tags",target:"_blank",rel:"noopener noreferrer"},te=e("img",{src:b,alt:"image",tabindex:"0",loading:"lazy"},null,-1),oe=e("figcaption",null,"image",-1),re={href:"https://www.zotero.org/support/collections_and_tags#tags",target:"_blank",rel:"noopener noreferrer"},ne=e("strong",null,"颜色",-1),ae=e("h3",{id:"搜索",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#搜索"},[e("span",null,"搜索")])],-1),se={href:"https://www.zotero.org/support/searching",target:"_blank",rel:"noopener noreferrer"},ie=e("img",{src:m,alt:"image",tabindex:"0",loading:"lazy"},null,-1),le=e("figcaption",null,"image",-1),Ae={href:"https://www.zotero.org/support/searching",target:"_blank",rel:"noopener noreferrer"},de=e("h3",{id:"保存的搜索",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#保存的搜索"},[e("span",null,"保存的搜索")])],-1),ge={href:"https://www.zotero.org/support/searching",target:"_blank",rel:"noopener noreferrer"},ce=e("img",{src:w,alt:"image",tabindex:"0",loading:"lazy"},null,-1),he=e("figcaption",null,"image",-1),pe={href:"https://www.zotero.org/support/searching",target:"_blank",rel:"noopener noreferrer"},ue=e("h2",{id:"收集文献",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#收集文献"},[e("span",null,"收集文献")])],-1),fe=e("h3",{id:"附件",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#附件"},[e("span",null,"附件")])],-1),be={href:"https://www.zotero.org/support/attaching_files",target:"_blank",rel:"noopener noreferrer"},me=e("img",{src:z,alt:"image",tabindex:"0",loading:"lazy"},null,-1),we=e("figcaption",null,"image",-1),ze={href:"https://www.zotero.org/support/attaching_files",target:"_blank",rel:"noopener noreferrer"},Ze=e("h3",{id:"笔记",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#笔记"},[e("span",null,"笔记")])],-1),Be={href:"https://www.zotero.org/support/notes",target:"_blank",rel:"noopener noreferrer"},xe=e("img",{src:Z,alt:"image",tabindex:"0",loading:"lazy"},null,-1),ke=e("figcaption",null,"image",-1),Ve={href:"https://www.zotero.org/support/notes",target:"_blank",rel:"noopener noreferrer"},Ce=e("img",{src:B,alt:"image",loading:"lazy"},null,-1),Ee=e("h3",{id:"文件",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#文件"},[e("span",null,"文件")])],-1),Se={href:"https://www.zotero.org/support/attaching_files",target:"_blank",rel:"noopener noreferrer"},Ue=e("img",{src:x,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Oe=e("figcaption",null,"image",-1),qe={href:"https://www.zotero.org/support/attaching_files",target:"_blank",rel:"noopener noreferrer"},ye={href:"https://www.zotero.org/support/quick_start_guide#capturing_items",target:"_blank",rel:"noopener noreferrer"},Te=e("h3",{id:"链接和快照",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#链接和快照"},[e("span",null,"链接和快照")])],-1),We={href:"https://www.zotero.org/support/attaching_files#web_snapshots",target:"_blank",rel:"noopener noreferrer"},Ye=e("img",{src:k,alt:"image",tabindex:"0",loading:"lazy"},null,-1),ve=e("figcaption",null,"image",-1),De={href:"https://www.zotero.org/support/attaching_files#web_snapshots",target:"_blank",rel:"noopener noreferrer"},Le=e("h3",{id:"抓取条目",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#抓取条目"},[e("span",null,"抓取条目")])],-1),Pe={href:"https://www.zotero.org/support/getting_stuff_into_your_library",target:"_blank",rel:"noopener noreferrer"},He=e("img",{src:V,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Me=e("figcaption",null,"image",-1),Ge={href:"https://www.zotero.org/support/getting_stuff_into_your_library",target:"_blank",rel:"noopener noreferrer"},Ie=e("h3",{id:"单个或多个抓取",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#单个或多个抓取"},[e("span",null,"单个或多个抓取")])],-1),Je={href:"https://www.zotero.org/support/getting_stuff_into_your_library",target:"_blank",rel:"noopener noreferrer"},Ke=e("img",{src:C,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Xe=e("figcaption",null,"image",-1),je={href:"https://www.zotero.org/support/adding_items_to_zotero",target:"_blank",rel:"noopener noreferrer"},Fe=e("h3",{id:"转换器-translator-旧称翻译器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#转换器-translator-旧称翻译器"},[e("span",null,"转换器 Translator(旧称翻译器)")])],-1),Qe={href:"https://www.zotero.org/translators",target:"_blank",rel:"noopener noreferrer"},Ne=e("img",{src:E,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Re=e("figcaption",null,"image",-1),_e={href:"https://www.zotero.org/translators",target:"_blank",rel:"noopener noreferrer"},$e={href:"https://www.zotero.org/forum",target:"_blank",rel:"noopener noreferrer"},et=e("h3",{id:"保存网页",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#保存网页"},[e("span",null,"保存网页")])],-1),tt={href:"https://www.zotero.org/support/attaching_files#web_snapshots",target:"_blank",rel:"noopener noreferrer"},ot=e("img",{src:S,alt:"image",tabindex:"0",loading:"lazy"},null,-1),rt=e("figcaption",null,"image",-1),nt={href:"https://www.zotero.org/support/attaching_files#web_snapshots",target:"_blank",rel:"noopener noreferrer"},at=e("h3",{id:"通过标识符添加条目",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#通过标识符添加条目"},[e("span",null,"通过标识符添加条目")])],-1),st={href:"https://www.zotero.org/support/getting_stuff_into_your_library#add_item_by_identifier",target:"_blank",rel:"noopener noreferrer"},it=e("img",{src:U,alt:"image",tabindex:"0",loading:"lazy"},null,-1),lt=e("figcaption",null,"image",-1),At={href:"https://www.zotero.org/support/adding_items_to_zotero#add_item_by_identifier",target:"_blank",rel:"noopener noreferrer"},dt=e("img",{src:O,alt:"image",loading:"lazy"},null,-1),gt=e("h3",{id:"订阅",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#订阅"},[e("span",null,"订阅")])],-1),ct={href:"https://www.zotero.org/support/feeds",target:"_blank",rel:"noopener noreferrer"},ht=e("img",{src:q,alt:"image",tabindex:"0",loading:"lazy"},null,-1),pt=e("figcaption",null,"image",-1),ut={href:"https://www.zotero.org/support/feeds",target:"_blank",rel:"noopener noreferrer"},ft=e("h3",{id:"手动添加条目",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#手动添加条目"},[e("span",null,"手动添加条目")])],-1),bt={href:"https://www.zotero.org/support/adding_items_to_zotero#manually_adding_items",target:"_blank",rel:"noopener noreferrer"},mt=e("img",{src:y,alt:"image",tabindex:"0",loading:"lazy"},null,-1),wt=e("figcaption",null,"image",-1),zt=e("img",{src:T,alt:"image",loading:"lazy"},null,-1),Zt={href:"https://www.zotero.org/support/adding_items_to_zotero#manually_adding_items",target:"_blank",rel:"noopener noreferrer"},Bt=e("h2",{id:"引用",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#引用"},[e("span",null,"引用")])],-1),xt=e("h3",{id:"引用条目",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#引用条目"},[e("span",null,"引用条目")])],-1),kt={href:"https://www.zotero.org/styles",target:"_blank",rel:"noopener noreferrer"},Vt=e("img",{src:W,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Ct=e("figcaption",null,"image",-1),Et={href:"https://www.zotero.org/styles",target:"_blank",rel:"noopener noreferrer"},St=e("h3",{id:"word-集成",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#word-集成"},[e("span",null,"Word 集成")])],-1),Ut={href:"https://www.zotero.org/support/word_processor_integration",target:"_blank",rel:"noopener noreferrer"},Ot=e("img",{src:Y,alt:"image",tabindex:"0",loading:"lazy"},null,-1),qt=e("figcaption",null,"image",-1),yt={href:"https://www.zotero.org/support/word_processor_integration",target:"_blank",rel:"noopener noreferrer"},Tt={href:"https://www.zotero.org/support/plugins#latex_tex_and_plain_text_editors",target:"_blank",rel:"noopener noreferrer"},Wt=e("h3",{id:"自动参考书目",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#自动参考书目"},[e("span",null,"自动参考书目")])],-1),Yt={href:"https://www.zotero.org/support/word_processor_plugin_usage",target:"_blank",rel:"noopener noreferrer"},vt=e("img",{src:v,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Dt=e("figcaption",null,"image",-1),Lt={href:"https://www.zotero.org/support/word_processor_plugin_usage",target:"_blank",rel:"noopener noreferrer"},Pt=e("h3",{id:"手动引文",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#手动引文"},[e("span",null,"手动引文")])],-1),Ht={href:"https://www.zotero.org/support/creating_bibliographies",target:"_blank",rel:"noopener noreferrer"},Mt=e("img",{src:D,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Gt=e("figcaption",null,"image",-1),It={href:"https://www.zotero.org/support/creating_bibliographies",target:"_blank",rel:"noopener noreferrer"},Jt=e("h2",{id:"合作",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#合作"},[e("span",null,"合作")])],-1),Kt=e("h3",{id:"同步",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#同步"},[e("span",null,"同步")])],-1),Xt={href:"https://www.zotero.org/support/sync",target:"_blank",rel:"noopener noreferrer"},jt=e("img",{src:L,alt:"image",tabindex:"0",loading:"lazy"},null,-1),Ft=e("figcaption",null,"image",-1),Qt={href:"https://www.zotero.org/support/sync",target:"_blank",rel:"noopener noreferrer"},Nt=e("h3",{id:"zotero-servers",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero-servers"},[e("span",null,"Zotero Servers")])],-1),Rt={href:"https://www.zotero.org/support/sync",target:"_blank",rel:"noopener noreferrer"},_t=e("img",{src:P,alt:"image",tabindex:"0",loading:"lazy"},null,-1),$t=e("figcaption",null,"image",-1),eo={href:"https://www.zotero.org/",target:"_blank",rel:"noopener noreferrer"},to={href:"https://www.zotero.org/support/my_publications",target:"_blank",rel:"noopener noreferrer"},oo={href:"https://www.zotero.org/",target:"_blank",rel:"noopener noreferrer"},ro=e("h3",{id:"团队",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#团队"},[e("span",null,"团队")])],-1),no={href:"https://www.zotero.org/support/groups",target:"_blank",rel:"noopener noreferrer"},ao=e("img",{src:H,alt:"image",tabindex:"0",loading:"lazy"},null,-1),so=e("figcaption",null,"image",-1),io={href:"https://www.zotero.org/support/groups",target:"_blank",rel:"noopener noreferrer"},lo={href:"https://www.zotero.org/",target:"_blank",rel:"noopener noreferrer"};function Ao(go,co){const r=n("ExternalLinkIcon"),a=n("RouteLink");return i(),l("div",null,[G,e("div",I,[J,e("p",null,[t("本节是 "),e("a",K,[t("quick start guide [Zotero Documentation]"),o(r)]),t(" 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。")])]),X,j,e("p",null,[t("阅读 "),o(a,{to:"/user-guide/install.html"},{default:A(()=>[t("安装 Zotero")]),_:1})]),F,e("figure",null,[e("a",Q,[N,o(r)]),R]),_,$,e("figure",null,[e("a",ee,[te,o(r)]),oe]),e("p",null,[t("可以为条目分配 "),e("a",re,[t("标签"),o(r)]),t("。标签由用户命名。可以根据需要为条目分配任意数量的标签。使用左侧窗格底部的标签选择器或通过右侧窗格中任何条目的标签选项卡添加或删除标签。最多可以为 6 个标签分配"),ne,t("。彩色标签在条目列表中显示,并且可以使用键盘上的数字键快速添加或删除。")]),ae,e("figure",null,[e("a",se,[ie,o(r)]),le]),e("p",null,[e("a",Ae,[t("快速搜索"),o(r)]),t(" 显示元数据、标签或全文内容与搜索词匹配的条目。单击搜索框左侧的放大镜图标将打开“高级搜索”窗口,允许进行更复杂或更具体的搜索。")]),de,e("figure",null,[e("a",ge,[ce,o(r)]),he]),e("p",null,[e("a",pe,[t("高级搜索"),o(r)]),t(" 可以保存在左窗格中。看起来类似于上面所说的分类,但其中的条目会根据搜索条件自动更新。")]),ue,fe,e("figure",null,[e("a",be,[me,o(r)]),we]),e("p",null,[t("每个条目可以附有笔记、文件和链接。这些 "),e("a",ze,[t("附件"),o(r)]),t(" 显示在其父项下方。通过单击其父项旁边的箭头,可以显示或隐藏附件。要全部显示或隐藏,快捷键为 + 与 -。")]),Ze,e("figure",null,[e("a",Be,[xe,o(r)]),ke]),e("p",null,[t("富文本 "),e("a",Ve,[t("笔记"),o(r)]),t(" 可以附加到任何条目。可以在右侧窗格或独立窗口中进行编辑。单击工具栏中的新建笔记按钮 ("),Ce,t("以创建笔记。")]),Ee,e("figure",null,[e("a",Se,[Ue,o(r)]),Oe]),e("p",null,[t("任何类型的文件都可以 "),e("a",qe,[t("附加"),o(r)]),t(" 到条目上。使用 Zotero 工具栏中的添加附件(回形针)按钮,通过右键单击现有条目或拖放来附加文件。或者,文件不需要附加到现有条目。它们可以直接添加到您的库中。"),e("a",ye,[t("当您使用浏览器中"),o(r)]),t(" 的 Zotero 连接器导入条目时,也可以自动下载文件。")]),Te,e("figure",null,[e("a",We,[Ye,o(r)]),ve]),e("p",null,[e("a",De,[t("网页"),o(r)]),t(" 可以作为链接或快照附加到任何条目。Zotero 可以保存网页的快照,快照是网页的本地存储副本,其状态与保存时相同。无需互联网连接即可使用快照。")]),Le,e("figure",null,[e("a",Pe,[He,o(r)]),Me]),e("p",null,[t("使用适用于 Chrome、Firefox 或 Safari 的 Zotero 连接器,可以轻松地从 Internet 上的可用信息 "),e("a",Ge,[t("创建新条目"),o(r)]),t("。通过单击按钮,Zotero 可以自动创建适当类型的条目并填充元数据字段,下载全文 PDF(如果可用),并附加有用的链接(例如,到 PubMed 条目)或补充数据文件。")]),Ie,e("figure",null,[e("a",Je,[Ke,o(r)]),Xe]),e("p",null,[t("如果 "),e("a",je,[t("保存图标"),o(r)]),t(" 是书籍、文章、图像或其他单个条目,单击它将将该条目添加到 Zotero 中的当前收藏。如果保存图标是文件夹,则网页包含多个条目。单击它将打开一个对话框,从中可以选择条目并将其保存到 Zotero。")]),Fe,e("figure",null,[e("a",Qe,[Ne,o(r)]),Re]),e("p",null,[t("Zotero 使用称为 "),e("a",_e,[t("转换器"),o(r)]),t(" 的代码来识别网页上的信息。如果您使用的网站没有支持,请随时在 "),e("a",$e,[t("Zotero 论坛"),o(r)]),t(" 上请求。")]),et,e("figure",null,[e("a",tt,[ot,o(r)]),rt]),e("p",null,[t("如果 Zotero 连接器无法识别页面上的数据,您仍然可以单击浏览器工具栏中的保存按钮将页面保存为带有附加快照的 "),e("a",nt,[t("网页条目。"),o(r)]),t(" 虽然这将保存基本元数据(标题、URL、访问日期),但您可能需要从页面手动填写其他元数据。")]),at,e("figure",null,[e("a",st,[it,o(r)]),lt]),e("p",null,[t("Zotero 可以使用 ISBN 号、数字对象标识符 (DOI) 或 PubMed ID"),e("a",At,[t("自动添加条目。"),o(r)]),t(" 这可以通过单击 Zotero 工具栏中的按标识符添加条目按钮 ("),dt,t("),输入标识符,然后单击确定来完成。您甚至可以一次粘贴或输入(按 Shift+Enter 以获得更大的框)此类标识符的列表。")]),gt,e("figure",null,[e("a",ct,[ht,o(r)]),pt]),e("p",null,[t("从您最喜欢的期刊或网站订阅 "),e("a",ut,[t("RSS 提要"),o(r)]),t(",以了解最新研究。转到文章网页或单击按钮将条目保存到您的图书馆。")]),ft,e("figure",null,[e("a",bt,[mt,o(r)]),wt]),e("p",null,[t("可以通过单击 Zotero 工具栏中的新条目绿色按钮 ("),zt,t(") 并选择适当的条目类型来 "),e("a",Zt,[t("手动添加条目。"),o(r)]),t(" 然后可以在右侧窗格中手动添加元数据。虽然您通常不应该手动添加条目,但它对于添加在线不可用的文档很有用。")]),Bt,xt,e("figure",null,[e("a",kt,[Vt,o(r)]),Ct]),e("p",null,[t("Zotero 使用引文样式语言 (CSL) 来正确格式化许多不同书目 "),e("a",Et,[t("样式"),o(r)]),t(" 的引文。Zotero 支持所有主要风格(Chicago, MLA, APA, Vancouver 等)以及超过 8,000 种期刊和出版商的特定风格。")]),St,e("figure",null,[e("a",Ut,[Ot,o(r)]),qt]),e("p",null,[t("Zotero 的 Word、LibreOffice 和 Google Docs 插件允许用户直接从他们的文字处理软件 "),e("a",yt,[t("插入引文。"),o(r)]),t(" 这使得引用多个页面或来源或以其他方式自定义引用变得轻而易举。支持文本内引用、脚注和尾注。借助 "),e("a",Tt,[t("社区开发的插件"),o(r)]),t(",Zotero 还可以与 LaTeX、Scrivener 和许多其他写作程序一起使用。")]),Wt,e("figure",null,[e("a",Yt,[vt,o(r)]),Dt]),e("p",null,[t("使用 "),e("a",Lt,[t("文字处理器插件"),o(r)]),t(" 可以从引用的条目自动生成参考书目,并通过单击按钮切换整个文档的引用样式。")]),Pt,e("figure",null,[e("a",Ht,[Mt,o(r)]),Gt]),e("p",null,[t("Zotero 还可以将 "),e("a",It,[t("引文和参考书目"),o(r)]),t(" 插入到任何文本字段或程序中。只需拖放条目,使用快速复制将引文发送到剪贴板,或将它们直接导出到文件。")]),Jt,Kt,e("figure",null,[e("a",Xt,[jt,o(r)]),Ft]),e("p",null,[t("通过 "),e("a",Qt,[t("Zotero 同步"),o(r)]),t(" 在多台计算机上使用 Zotero 。图书馆条目和笔记通过 Zotero 服务器同步(无限存储),而附件同步可以使用 Zotero 服务器或您自己的 WebDAV 服务来同步文件,例如 PDF、图像或音频/视频。")]),Nt,e("figure",null,[e("a",Rt,[_t,o(r)]),$t]),e("p",null,[t("同步到 Zotero 服务器的条目可以通过您的 "),e("a",eo,[t("Zotero.org"),o(r)]),t(" 帐户在线访问。与他人共享您的图书馆或从选定的条目创建自定义简历。")]),e("p",null,[e("a",to,[t("使用 My Publications"),o(r)]),t(" 为读者、公众和其他研究人员在 "),e("a",oo,[t("Zotero.org"),o(r)]),t(" 上随时提供您的研究副本。")]),ro,e("figure",null,[e("a",no,[ao,o(r)]),so]),e("p",null,[t("Zotero 用户可以创建协作或 "),e("a",io,[t("组"),o(r)]),t("。共享组库使在线和通过 Zotero 客户端协作管理研究资源和材料成为可能。"),e("a",lo,[t("Zotero.org"),o(r)]),t(" 可以成为您所有条目组的研究、交流和组织的中心。")])])}const uo=s(M,[["render",Ao],["__file","quick-start.html.vue"]]),fo=JSON.parse('{"path":"/user-guide/quick-start.html","title":"快速开始","lang":"zh-CN","frontmatter":{"title":"快速开始","icon":"selection","date":"2023-06-28T20:27:28.000Z","updated":"2023-09-19T23:23:59.000Z","description":"快速开始 提示 本节是 quick start guide [Zotero Documentation] 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。 基础知识 如何安装 Zotero? 阅读 如何打开 Zotero? imageimage 从操作系统的任务栏/程序面板打开 Zotero。 Zotero 是做什么的? imageimage ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/quick-start.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"快速开始"}],["meta",{"property":"og:description","content":"快速开始 提示 本节是 quick start guide [Zotero Documentation] 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。 基础知识 如何安装 Zotero? 阅读 如何打开 Zotero? imageimage 从操作系统的任务栏/程序面板打开 Zotero。 Zotero 是做什么的? imageimage ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T20:27:28.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"快速开始\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T20:27:28.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"基础知识","slug":"基础知识","link":"#基础知识","children":[{"level":3,"title":"如何安装 Zotero?","slug":"如何安装-zotero","link":"#如何安装-zotero","children":[]},{"level":3,"title":"如何打开 Zotero?","slug":"如何打开-zotero","link":"#如何打开-zotero","children":[]},{"level":3,"title":"Zotero 是做什么的?","slug":"zotero-是做什么的","link":"#zotero-是做什么的","children":[]},{"level":3,"title":"有何种类型的条目?","slug":"有何种类型的条目","link":"#有何种类型的条目","children":[]},{"level":3,"title":"关于条目信息","slug":"关于条目信息","link":"#关于条目信息","children":[]}]},{"level":2,"title":"管理文献","slug":"管理文献","link":"#管理文献","children":[{"level":3,"title":"文献分类","slug":"文献分类","link":"#文献分类","children":[]},{"level":3,"title":"标签","slug":"标签","link":"#标签","children":[]},{"level":3,"title":"搜索","slug":"搜索","link":"#搜索","children":[]},{"level":3,"title":"保存的搜索","slug":"保存的搜索","link":"#保存的搜索","children":[]}]},{"level":2,"title":"收集文献","slug":"收集文献","link":"#收集文献","children":[{"level":3,"title":"附件","slug":"附件","link":"#附件","children":[]},{"level":3,"title":"笔记","slug":"笔记","link":"#笔记","children":[]},{"level":3,"title":"文件","slug":"文件","link":"#文件","children":[]},{"level":3,"title":"链接和快照","slug":"链接和快照","link":"#链接和快照","children":[]},{"level":3,"title":"抓取条目","slug":"抓取条目","link":"#抓取条目","children":[]},{"level":3,"title":"单个或多个抓取","slug":"单个或多个抓取","link":"#单个或多个抓取","children":[]},{"level":3,"title":"转换器 Translator(旧称翻译器)","slug":"转换器-translator-旧称翻译器","link":"#转换器-translator-旧称翻译器","children":[]},{"level":3,"title":"保存网页","slug":"保存网页","link":"#保存网页","children":[]},{"level":3,"title":"通过标识符添加条目","slug":"通过标识符添加条目","link":"#通过标识符添加条目","children":[]},{"level":3,"title":"订阅","slug":"订阅","link":"#订阅","children":[]},{"level":3,"title":"手动添加条目","slug":"手动添加条目","link":"#手动添加条目","children":[]}]},{"level":2,"title":"引用","slug":"引用","link":"#引用","children":[{"level":3,"title":"引用条目","slug":"引用条目","link":"#引用条目","children":[]},{"level":3,"title":"Word 集成","slug":"word-集成","link":"#word-集成","children":[]},{"level":3,"title":"自动参考书目","slug":"自动参考书目","link":"#自动参考书目","children":[]},{"level":3,"title":"手动引文","slug":"手动引文","link":"#手动引文","children":[]}]},{"level":2,"title":"合作","slug":"合作","link":"#合作","children":[{"level":3,"title":"同步","slug":"同步","link":"#同步","children":[]},{"level":3,"title":"Zotero Servers","slug":"zotero-servers","link":"#zotero-servers","children":[]},{"level":3,"title":"团队","slug":"团队","link":"#团队","children":[]}]}],"git":{"createdTime":1695135035000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":5}]},"readingTime":{"minutes":7.36,"words":2207},"filePathRelative":"user-guide/quick-start.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n
    \\n

    提示

    \\n

    本节是 quick start guide [Zotero Documentation] 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。

    \\n
    \\n

    基础知识

    \\n

    如何安装 Zotero?

    "}');export{uo as comp,fo as data}; diff --git a/assets/requirementDiagram-bf7890df-DZM88n7p.js b/assets/requirementDiagram-bf7890df-DZM88n7p.js new file mode 100644 index 0000000000..3447f41eb7 --- /dev/null +++ b/assets/requirementDiagram-bf7890df-DZM88n7p.js @@ -0,0 +1,52 @@ +import{c as Te,s as Ce,g as Fe,b as Me,a as De,l as Ne,z as Pe,h as oe,i as Ye,j as ke}from"./mermaid.core-xpSMncQK.js";import{G as Ue}from"./graph-BVvHj2M5.js";import{l as Be}from"./layout-Bq0hvzvr.js";import{l as Qe}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";var ce=function(){var e=function(V,i,n,a){for(n=n||{},a=V.length;a--;n[V[a]]=i);return n},t=[1,3],l=[1,4],c=[1,5],u=[1,6],d=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],p=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],A=[1,25],T=[1,26],N=[1,27],v=[1,20],k=[1,28],x=[1,29],F=[62,63],de=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],fe=[1,48],ye=[1,49],_e=[1,50],ge=[1,51],Ee=[1,52],Re=[1,53],O=[53,54],M=[1,64],D=[1,60],P=[1,61],Y=[1,62],U=[1,63],B=[1,65],z=[1,69],j=[1,70],X=[1,67],J=[1,68],m=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ie={trace:function(){},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:function(i,n,a,r,f,s,W){var _=s.length-1;switch(f){case 4:this.$=s[_].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[_].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[_-3],s[_-4]);break;case 14:r.setNewReqId(s[_-2]);break;case 15:r.setNewReqText(s[_-2]);break;case 16:r.setNewReqRisk(s[_-2]);break;case 17:r.setNewReqVerifyMethod(s[_-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[_-3]);break;case 34:r.setNewElementType(s[_-2]);break;case 35:r.setNewElementDocRef(s[_-2]);break;case 38:r.addRelationship(s[_-2],s[_],s[_-4]);break;case 39:r.addRelationship(s[_-2],s[_-4],s[_]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:l,11:c,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:l,11:c,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(d,[2,6]),{3:12,4:2,6:t,9:l,11:c,13:u},{1:[2,2]},{4:17,5:p,7:13,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},e(d,[2,4]),e(d,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:p,7:31,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:32,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:33,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:34,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:35,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(de,[2,49]),e(de,[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:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{52:54,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:M,20:59,21:D,24:P,26:Y,28:U,30:B},{5:z,30:j,46:66,47:X,49:J},{23:71,62:k,63:x},{23:72,62:k,63:x},e(m,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:M,20:77,21:D,24:P,26:Y,28:U,30:B},e(m,[2,19]),e(m,[2,33]),{22:[1,78]},{22:[1,79]},{5:z,30:j,46:80,47:X,49:J},e(m,[2,37]),e(m,[2,38]),e(m,[2,39]),{23:81,62:k,63:x},{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]},e(m,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(m,[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:M,20:106,21:D,24:P,26:Y,28:U,30:B},{5:M,20:107,21:D,24:P,26:Y,28:U,30:B},{5:M,20:108,21:D,24:P,26:Y,28:U,30:B},{5:M,20:109,21:D,24:P,26:Y,28:U,30:B},{5:z,30:j,46:110,47:X,49:J},{5:z,30:j,46:111,47:X,49:J},e(m,[2,14]),e(m,[2,15]),e(m,[2,16]),e(m,[2,17]),e(m,[2,34]),e(m,[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:function(i,n){if(n.recoverable)this.trace(i);else{var a=new Error(i);throw a.hash=n,a}},parse:function(i){var n=this,a=[0],r=[],f=[null],s=[],W=this.table,_="",Z=0,me=0,Ve=2,Ie=1,qe=s.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(L.yy[ne]=this.yy[ne]);E.setInput(i,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var se=E.yylloc;s.push(se);var Oe=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var $;return $=r.pop()||E.lex()||Ie,typeof $!="number"&&($ instanceof Array&&(r=$,$=r.pop()),$=n.symbols_[$]||$),$}for(var I,C,S,ae,Q={},ee,w,be,te;;){if(C=a[a.length-1],this.defaultActions[C]?S=this.defaultActions[C]:((I===null||typeof I>"u")&&(I=Le()),S=W[C]&&W[C][I]),typeof S>"u"||!S.length||!S[0]){var le="";te=[];for(ee in W[C])this.terminals_[ee]&&ee>Ve&&te.push("'"+this.terminals_[ee]+"'");E.showPosition?le="Parse error on line "+(Z+1)+`: +`+E.showPosition()+` +Expecting `+te.join(", ")+", got '"+(this.terminals_[I]||I)+"'":le="Parse error on line "+(Z+1)+": Unexpected "+(I==Ie?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(le,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:se,expected:te})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+I);switch(S[0]){case 1:a.push(I),f.push(E.yytext),s.push(E.yylloc),a.push(S[1]),I=null,me=E.yyleng,_=E.yytext,Z=E.yylineno,se=E.yylloc;break;case 2:if(w=this.productions_[S[1]][1],Q.$=f[f.length-w],Q._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},Oe&&(Q._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),ae=this.performAction.apply(Q,[_,me,Z,L.yy,S[1],f,s].concat(qe)),typeof ae<"u")return ae;w&&(a=a.slice(0,-1*w*2),f=f.slice(0,-1*w),s=s.slice(0,-1*w)),a.push(this.productions_[S[1]][0]),f.push(Q.$),s.push(Q._$),be=W[a[a.length-2]][a[a.length-1]],a.push(be);break;case 3:return!0}}return!0}},$e=function(){var V={EOF:1,parseError:function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},setInput:function(i,n){return this.yy=n||this.yy||{},this._input=i,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},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var n=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=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),a.length-1&&(this.yylineno-=a.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:a?(a.length===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+n+"^"},test_match:function(i,n){var a,r,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))),r=i[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,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(i[0].length),this.matched+=i[0],a=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack){for(var s in f)this[s]=f[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,a,r;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),s=0;sn[0].length)){if(n=a,r=s,this.options.backtrack_lexer){if(i=this.test_match(a,f[s]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,f[r]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,a,r,f){switch(r){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";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 a.yytext=a.yytext.trim(),62}},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 V}();ie.lexer=$e;function re(){this.yy={}}return re.prototype=ie,ie.Parser=re,new re}();ce.parser=ce;const He=ce;let ue=[],b={},K={},q={},G={};const We={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},Ke={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},Ge={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},ze={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},je=(e,t)=>(K[e]===void 0&&(K[e]={name:e,type:t,id:b.id,text:b.text,risk:b.risk,verifyMethod:b.verifyMethod}),b={},K[e]),Xe=()=>K,Je=e=>{b!==void 0&&(b.id=e)},Ze=e=>{b!==void 0&&(b.text=e)},et=e=>{b!==void 0&&(b.risk=e)},tt=e=>{b!==void 0&&(b.verifyMethod=e)},it=e=>(G[e]===void 0&&(G[e]={name:e,type:q.type,docRef:q.docRef},Ne.info("Added new requirement: ",e)),q={},G[e]),rt=()=>G,nt=e=>{q!==void 0&&(q.type=e)},st=e=>{q!==void 0&&(q.docRef=e)},at=(e,t,l)=>{ue.push({type:e,src:t,dst:l})},lt=()=>ue,ot=()=>{ue=[],b={},K={},q={},G={},Pe()},ct={RequirementType:We,RiskLevel:Ke,VerifyType:Ge,Relationships:ze,getConfig:()=>Te().req,addRequirement:je,getRequirements:Xe,setNewReqId:Je,setNewReqText:Ze,setNewReqRisk:et,setNewReqVerifyMethod:tt,setAccTitle:Ce,getAccTitle:Fe,setAccDescription:Me,getAccDescription:De,addElement:it,getElements:rt,setNewElementType:nt,setNewElementDocRef:st,addRelationship:at,getRelationships:lt,clear:ot},ht=e=>` + + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + +`,ut=ht,he={CONTAINS:"contains",ARROW:"arrow"},dt=(e,t)=>{let l=e.append("defs").append("marker").attr("id",he.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");l.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),l.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),l.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",he.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${t.line_height},${t.line_height/2} + M${t.line_height},${t.line_height/2} + L0,${t.line_height}`).attr("stroke-width",1)},xe={ReqMarkers:he,insertLineEndings:dt};let y={},Se=0;const Ae=(e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",y.rect_min_width+"px").attr("height",y.rect_min_height+"px"),ve=(e,t,l)=>{let c=y.rect_min_width/2,u=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",c).attr("y",y.rect_padding).attr("dominant-baseline","hanging"),d=0;l.forEach(g=>{d==0?u.append("tspan").attr("text-anchor","middle").attr("x",y.rect_min_width/2).attr("dy",0).text(g):u.append("tspan").attr("text-anchor","middle").attr("x",y.rect_min_width/2).attr("dy",y.line_height*.75).text(g),d++});let p=1.5*y.rect_padding,h=d*y.line_height*.75,o=p+h;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",y.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:u,y:o}},we=(e,t,l,c)=>{let u=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",y.rect_padding).attr("y",c).attr("dominant-baseline","hanging"),d=0;const p=30;let h=[];return l.forEach(o=>{let g=o.length;for(;g>p&&d<3;){let R=o.substring(0,p);o=o.substring(p,o.length),g=o.length,h[h.length]=R,d++}if(d==3){let R=h[h.length-1];h[h.length-1]=R.substring(0,R.length-4)+"..."}else h[h.length]=o;d=0}),h.forEach(o=>{u.append("tspan").attr("x",y.rect_padding).attr("dy",y.line_height).text(o)}),u},pt=(e,t,l,c)=>{const u=t.node().getTotalLength(),d=t.node().getPointAtLength(u*.5),p="rel"+Se;Se++;const o=e.append("text").attr("class","req relationshipLabel").attr("id",p).attr("x",d.x).attr("y",d.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(c).node().getBBox();e.insert("rect","#"+p).attr("class","req reqLabelBox").attr("x",d.x-o.width/2).attr("y",d.y-o.height/2).attr("width",o.width).attr("height",o.height).attr("fill","white").attr("fill-opacity","85%")},ft=function(e,t,l,c,u){const d=l.edge(H(t.src),H(t.dst)),p=Qe().x(function(o){return o.x}).y(function(o){return o.y}),h=e.insert("path","#"+c).attr("class","er relationshipLine").attr("d",p(d.points)).attr("fill","none");t.type==u.db.Relationships.CONTAINS?h.attr("marker-start","url("+ke.getUrl(y.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(h.attr("stroke-dasharray","10,7"),h.attr("marker-end","url("+ke.getUrl(y.arrowMarkerAbsolute)+"#"+xe.ReqMarkers.ARROW+"_line_ending)")),pt(e,h,y,`<<${t.type}>>`)},yt=(e,t,l)=>{Object.keys(e).forEach(c=>{let u=e[c];c=H(c),Ne.info("Added new requirement: ",c);const d=l.append("g").attr("id",c),p="req-"+c,h=Ae(d,p);let o=ve(d,c+"_title",[`<<${u.type}>>`,`${u.name}`]);we(d,c+"_body",[`Id: ${u.id}`,`Text: ${u.text}`,`Risk: ${u.risk}`,`Verification: ${u.verifyMethod}`],o.y);const g=h.node().getBBox();t.setNode(c,{width:g.width,height:g.height,shape:"rect",id:c})})},_t=(e,t,l)=>{Object.keys(e).forEach(c=>{let u=e[c];const d=H(c),p=l.append("g").attr("id",d),h="element-"+d,o=Ae(p,h);let g=ve(p,h+"_title",["<>",`${c}`]);we(p,h+"_body",[`Type: ${u.type||"Not Specified"}`,`Doc Ref: ${u.docRef||"None"}`],g.y);const R=o.node().getBBox();t.setNode(d,{width:R.width,height:R.height,shape:"rect",id:d})})},gt=(e,t)=>(e.forEach(function(l){let c=H(l.src),u=H(l.dst);t.setEdge(c,u,{relationship:l})}),e),Et=function(e,t){t.nodes().forEach(function(l){l!==void 0&&t.node(l)!==void 0&&(e.select("#"+l),e.select("#"+l).attr("transform","translate("+(t.node(l).x-t.node(l).width/2)+","+(t.node(l).y-t.node(l).height/2)+" )"))})},H=e=>e.replace(/\s/g,"").replace(/\./g,"_"),Rt=(e,t,l,c)=>{y=Te().requirement;const u=y.securityLevel;let d;u==="sandbox"&&(d=oe("#i"+t));const h=(u==="sandbox"?oe(d.nodes()[0].contentDocument.body):oe("body")).select(`[id='${t}']`);xe.insertLineEndings(h,y);const o=new Ue({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:y.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let g=c.db.getRequirements(),R=c.db.getElements(),A=c.db.getRelationships();yt(g,o,h),_t(R,o,h),gt(A,o),Be(o),Et(h,o),A.forEach(function(x){ft(h,x,o,t,c)});const T=y.rect_padding,N=h.node().getBBox(),v=N.width+T*2,k=N.height+T*2;Ye(h,k,v,y.useMaxWidth),h.attr("viewBox",`${N.x-T} ${N.y-T} ${v} ${k}`)},mt={draw:Rt},At={parser:He,db:ct,renderer:mt,styles:ut};export{At as diagram}; diff --git a/assets/sankeyDiagram-0acdec17-BRvOW2oB.js b/assets/sankeyDiagram-0acdec17-BRvOW2oB.js new file mode 100644 index 0000000000..7d9e9ad954 --- /dev/null +++ b/assets/sankeyDiagram-0acdec17-BRvOW2oB.js @@ -0,0 +1,8 @@ +import{c as rt,g as mt,s as _t,a as kt,b as xt,x as vt,v as bt,z as wt,j as St,u as Lt,h as G,t as Et}from"./mermaid.core-xpSMncQK.js";import{o as At}from"./ordinal-Cboi1Yqb.js";import{s as Tt}from"./Tableau10-B-NsZVaP.js";import"./app-pLjDz5vt.js";import"./init-Gi6I4Gst.js";function ot(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function yt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function Z(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Mt(t){return t.target.depth}function Nt(t){return t.depth}function Pt(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Mt)-1:0}function Y(t){return function(){return t}}function lt(t,n){return H(t.source,n.source)||t.index-n.index}function at(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function It(t){return t.index}function $t(t){return t.nodes}function Ot(t){return t.links}function ct(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function ut({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function zt(){let t=0,n=0,s=1,a=1,u=24,k=8,g,p=It,i=dt,o,c,m=$t,b=Ot,y=6;function x(){const e={nodes:m.apply(null,arguments),links:b.apply(null,arguments)};return E(e),L(e),A(e),N(e),S(e),ut(e),e}x.update=function(e){return ut(e),e},x.nodeId=function(e){return arguments.length?(p=typeof e=="function"?e:Y(e),x):p},x.nodeAlign=function(e){return arguments.length?(i=typeof e=="function"?e:Y(e),x):i},x.nodeSort=function(e){return arguments.length?(o=e,x):o},x.nodeWidth=function(e){return arguments.length?(u=+e,x):u},x.nodePadding=function(e){return arguments.length?(k=g=+e,x):k},x.nodes=function(e){return arguments.length?(m=typeof e=="function"?e:Y(e),x):m},x.links=function(e){return arguments.length?(b=typeof e=="function"?e:Y(e),x):b},x.linkSort=function(e){return arguments.length?(c=e,x):c},x.size=function(e){return arguments.length?(t=n=0,s=+e[0],a=+e[1],x):[s-t,a-n]},x.extent=function(e){return arguments.length?(t=+e[0][0],s=+e[1][0],n=+e[0][1],a=+e[1][1],x):[[t,n],[s,a]]},x.iterations=function(e){return arguments.length?(y=+e,x):y};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const l=new Map(e.map((h,r)=>[p(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:_,target:v}=r;typeof _!="object"&&(_=r.source=ct(l,_)),typeof v!="object"&&(v=r.target=ct(l,v)),_.sourceLinks.push(r),v.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function L({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function A({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const _ of l){_.depth=r;for(const{target:v}of _.sourceLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function N({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const _ of l){_.height=r;for(const{source:v}of _.targetLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function I({nodes:e}){const f=ot(e,r=>r.depth)+1,l=(s-t-u)/(f-1),h=new Array(f);for(const r of e){const _=Math.max(0,Math.min(f-1,Math.floor(i.call(null,r,f))));r.layer=_,r.x0=t+_*l,r.x1=r.x0+u,h[_]?h[_].push(r):h[_]=[r]}if(o)for(const r of h)r.sort(o);return h}function z(e){const f=yt(e,l=>(a-n-(l.length-1)*g)/Z(l,J));for(const l of e){let h=n;for(const r of l){r.y0=h,r.y1=h+r.value*f,h=r.y1+g;for(const _ of r.sourceLinks)_.width=_.value*f}h=(a-h+g)/(l.length+1);for(let r=0;rl.length)-1)),z(f);for(let l=0;l0))continue;let U=(R/j-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&_.sort(H),P(_,l)}}function O(e,f,l){for(let h=e.length,r=h-2;r>=0;--r){const _=e[r];for(const v of _){let R=0,j=0;for(const{target:W,value:K}of v.sourceLinks){let F=K*(W.layer-v.layer);R+=V(v,W)*F,j+=F}if(!(j>0))continue;let U=(R/j-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&_.sort(H),P(_,l)}}function P(e,f){const l=e.length>>1,h=e[l];d(e,h.y0-g,l-1,f),C(e,h.y1+g,l+1,f),d(e,a,e.length-1,f),C(e,n,0,f)}function C(e,f,l,h){for(;l1e-6&&(r.y0+=_,r.y1+=_),f=r.y1+g}}function d(e,f,l,h){for(;l>=0;--l){const r=e[l],_=(r.y1-f)*h;_>1e-6&&(r.y0-=_,r.y1-=_),f=r.y0-g}}function w({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:l}}of f)l.sort(at);for(const{target:{targetLinks:l}}of e)l.sort(lt)}}function $(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:l}of e)f.sort(at),l.sort(lt)}function T(e,f){let l=e.y0-(e.sourceLinks.length-1)*g/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l+=r+g}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l-=r}return l}function V(e,f){let l=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l+=r+g}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l-=r}return l}return x}var tt=Math.PI,et=2*tt,D=1e-6,jt=et-D;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,k){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+k)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var k=this._x1,g=this._y1,p=s-t,i=a-n,o=k-t,c=g-n,m=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(m>D)if(!(Math.abs(c*p-i*o)>D)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=s-k,y=a-g,x=p*p+i*i,E=b*b+y*y,L=Math.sqrt(x),A=Math.sqrt(m),N=u*Math.tan((tt-Math.acos((x+m-E)/(2*L*A)))/2),I=N/A,z=N/L;Math.abs(I-1)>D&&(this._+="L"+(t+I*o)+","+(n+I*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*y)+","+(this._x1=t+z*p)+","+(this._y1=n+z*i)}},arc:function(t,n,s,a,u,k){t=+t,n=+n,s=+s,k=!!k;var g=s*Math.cos(a),p=s*Math.sin(a),i=t+g,o=n+p,c=1^k,m=k?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+i+","+o:(Math.abs(this._x1-i)>D||Math.abs(this._y1-o)>D)&&(this._+="L"+i+","+o),s&&(m<0&&(m=m%et+et),m>jt?this._+="A"+s+","+s+",0,1,"+c+","+(t-g)+","+(n-p)+"A"+s+","+s+",0,1,"+c+","+(this._x1=i)+","+(this._y1=o):m>D&&(this._+="A"+s+","+s+",0,"+ +(m>=tt)+","+c+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function ht(t){return function(){return t}}function Dt(t){return t[0]}function Bt(t){return t[1]}var Vt=Array.prototype.slice;function Rt(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Rt,s=Ut,a=Dt,u=Bt,k=null;function g(){var p,i=Vt.call(arguments),o=n.apply(this,i),c=s.apply(this,i);if(k||(k=p=gt()),t(k,+a.apply(this,(i[0]=o,i)),+u.apply(this,i),+a.apply(this,(i[0]=c,i)),+u.apply(this,i)),p)return k=null,p+""||null}return g.source=function(p){return arguments.length?(n=p,g):n},g.target=function(p){return arguments.length?(s=p,g):s},g.x=function(p){return arguments.length?(a=typeof p=="function"?p:ht(+p),g):a},g.y=function(p){return arguments.length?(u=typeof p=="function"?p:ht(+p),g):u},g.context=function(p){return arguments.length?(k=p??null,g):k},g}function Ft(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Gt(){return Wt(Ft)}function Yt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Gt().source(Yt).target(Ht)}var it=function(){var t=function(p,i,o,c){for(o=o||{},c=p.length;c--;o[p[c]]=i);return o},n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:function(){},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:function(i,o,c,m,b,y,x){var E=y.length-1;switch(b){case 7:const L=m.findOrCreateNode(y[E-4].trim().replaceAll('""','"')),A=m.findOrCreateNode(y[E-2].trim().replaceAll('""','"')),N=parseFloat(y[E].trim());m.addLink(L,A,N);break;case 8:case 9:case 11:this.$=y[E];break;case 10:this.$=y[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(i,o){if(o.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=o,c}},parse:function(i){var o=this,c=[0],m=[],b=[null],y=[],x=this.table,E="",L=0,A=0,N=2,I=1,z=y.slice.call(arguments,1),S=Object.create(this.lexer),M={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(M.yy[O]=this.yy[O]);S.setInput(i,M.yy),M.yy.lexer=S,M.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var P=S.yylloc;y.push(P);var C=S.options&&S.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(){var v;return v=m.pop()||S.lex()||I,typeof v!="number"&&(v instanceof Array&&(m=v,v=m.pop()),v=o.symbols_[v]||v),v}for(var w,$,T,V,e={},f,l,h,r;;){if($=c[c.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((w===null||typeof w>"u")&&(w=d()),T=x[$]&&x[$][w]),typeof T>"u"||!T.length||!T[0]){var _="";r=[];for(f in x[$])this.terminals_[f]&&f>N&&r.push("'"+this.terminals_[f]+"'");S.showPosition?_="Parse error on line "+(L+1)+`: +`+S.showPosition()+` +Expecting `+r.join(", ")+", got '"+(this.terminals_[w]||w)+"'":_="Parse error on line "+(L+1)+": Unexpected "+(w==I?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(_,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:P,expected:r})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+w);switch(T[0]){case 1:c.push(w),b.push(S.yytext),y.push(S.yylloc),c.push(T[1]),w=null,A=S.yyleng,E=S.yytext,L=S.yylineno,P=S.yylloc;break;case 2:if(l=this.productions_[T[1]][1],e.$=b[b.length-l],e._$={first_line:y[y.length-(l||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(l||1)].first_column,last_column:y[y.length-1].last_column},C&&(e._$.range=[y[y.length-(l||1)].range[0],y[y.length-1].range[1]]),V=this.performAction.apply(e,[E,A,L,M.yy,T[1],b,y].concat(z)),typeof V<"u")return V;l&&(c=c.slice(0,-1*l*2),b=b.slice(0,-1*l),y=y.slice(0,-1*l)),c.push(this.productions_[T[1]][0]),b.push(e.$),y.push(e._$),h=x[c[c.length-2]][c[c.length-1]],c.push(h);break;case 3:return!0}}return!0}},k=function(){var p={EOF:1,parseError:function(o,c){if(this.yy.parser)this.yy.parser.parseError(o,c);else throw new Error(o)},setInput:function(i,o){return this.yy=o||this.yy||{},this._input=i,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},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var o=i.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),i},unput:function(i){var o=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var m=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),c.length-1&&(this.yylineno-=c.length-1);var b=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:c?(c.length===m.length?this.yylloc.first_column:0)+m[m.length-c.length].length-c[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),o=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+o+"^"},test_match:function(i,o){var c,m,b;if(this.options.backtrack_lexer&&(b={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&&(b.yylloc.range=this.yylloc.range.slice(0))),m=i[0].match(/(?:\r\n?|\n).*/g),m&&(this.yylineno+=m.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:m?m[m.length-1].length-m[m.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,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(i[0].length),this.matched+=i[0],c=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var y in b)this[y]=b[y];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,o,c,m;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),y=0;yo[0].length)){if(o=c,m=y,this.options.backtrack_lexer){if(i=this.test_match(c,b[y]),i!==!1)return i;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(i=this.test_match(o,b[m]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var o=this.next();return o||this.lex()},begin:function(o){this.conditionStack.push(o)},popState:function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},pushState:function(o){this.begin(o)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(o,c,m,b){switch(m){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],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 p}();u.lexer=k;function g(){this.yy={}}return g.prototype=u,u.Parser=g,new g}();it.parser=it;const X=it;let q=[],Q=[],B={};const qt=()=>{q=[],Q=[],B={},wt()};class Qt{constructor(n,s,a=0){this.source=n,this.target=s,this.value=a}}const Kt=(t,n,s)=>{q.push(new Qt(t,n,s))};class Zt{constructor(n){this.ID=n}}const Jt=t=>(t=St.sanitizeText(t,rt()),B[t]||(B[t]=new Zt(t),Q.push(B[t])),B[t]),te=()=>Q,ee=()=>q,ne=()=>({nodes:Q.map(t=>({id:t.ID})),links:q.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),ie={nodesMap:B,getConfig:()=>rt().sankey,getNodes:te,getLinks:ee,getGraph:ne,addLink:Kt,findOrCreateNode:Jt,getAccTitle:mt,setAccTitle:_t,getAccDescription:kt,setAccDescription:xt,getDiagramTitle:vt,setDiagramTitle:bt,clear:qt},pt=class st{static next(n){return new st(n+ ++st.count)}constructor(n){this.id=n,this.href=`#${n}`}toString(){return"url("+this.href+")"}};pt.count=0;let ft=pt;const se={left:Nt,right:Pt,center:Ct,justify:dt},re=function(t,n,s,a){const{securityLevel:u,sankey:k}=rt(),g=Lt.sankey;let p;u==="sandbox"&&(p=G("#i"+n));const i=u==="sandbox"?G(p.nodes()[0].contentDocument.body):G("body"),o=u==="sandbox"?i.select(`[id="${n}"]`):G(`[id="${n}"]`),c=(k==null?void 0:k.width)??g.width,m=(k==null?void 0:k.height)??g.width,b=(k==null?void 0:k.useMaxWidth)??g.useMaxWidth,y=(k==null?void 0:k.nodeAlignment)??g.nodeAlignment,x=(k==null?void 0:k.prefix)??g.prefix,E=(k==null?void 0:k.suffix)??g.suffix,L=(k==null?void 0:k.showValues)??g.showValues,A=a.db.getGraph(),N=se[y];zt().nodeId(d=>d.id).nodeWidth(10).nodePadding(10+(L?15:0)).nodeAlign(N).extent([[0,0],[c,m]])(A);const S=At(Tt);o.append("g").attr("class","nodes").selectAll(".node").data(A.nodes).join("g").attr("class","node").attr("id",d=>(d.uid=ft.next("node-")).id).attr("transform",function(d){return"translate("+d.x0+","+d.y0+")"}).attr("x",d=>d.x0).attr("y",d=>d.y0).append("rect").attr("height",d=>d.y1-d.y0).attr("width",d=>d.x1-d.x0).attr("fill",d=>S(d.id));const M=({id:d,value:w})=>L?`${d} +${x}${Math.round(w*100)/100}${E}`:d;o.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(A.nodes).join("text").attr("x",d=>d.x0(d.y1+d.y0)/2).attr("dy",`${L?"0":"0.35"}em`).attr("text-anchor",d=>d.x0(w.uid=ft.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",w=>w.source.x1).attr("x2",w=>w.target.x0);d.append("stop").attr("offset","0%").attr("stop-color",w=>S(w.source.id)),d.append("stop").attr("offset","100%").attr("stop-color",w=>S(w.target.id))}let C;switch(P){case"gradient":C=d=>d.uid;break;case"source":C=d=>S(d.source.id);break;case"target":C=d=>S(d.target.id);break;default:C=P}O.append("path").attr("d",Xt()).attr("stroke",C).attr("stroke-width",d=>Math.max(1,d.width)),Et(void 0,o,0,b)},oe={draw:re},le=t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),ae=X.parse.bind(X);X.parse=t=>ae(le(t));const de={parser:X,db:ie,renderer:oe};export{de as diagram}; diff --git a/assets/sequenceDiagram-c18d009d-Clc_rWkm.js b/assets/sequenceDiagram-c18d009d-Clc_rWkm.js new file mode 100644 index 0000000000..2624297423 --- /dev/null +++ b/assets/sequenceDiagram-c18d009d-Clc_rWkm.js @@ -0,0 +1,122 @@ +import{g as Te,x as ye,v as Ee,c as lt,s as Jt,b as be,a as me,z as we,l as K,d as Pt,j as v,e as ve,h as kt,i as _e,y as B,m as Zt,aN as Qt,b0 as ke}from"./mermaid.core-xpSMncQK.js";import{d as Pe,a as Le,g as Lt,b as Ie,c as Ae,e as Yt}from"./svgDrawCommon-0ee1b4e9-BNVIMZiA.js";import"./app-pLjDz5vt.js";var Ct=function(){var t=function(ct,w,k,L){for(k=k||{},L=ct.length;L--;k[ct[L]]=w);return k},e=[1,2],o=[1,3],s=[1,4],r=[2,4],a=[1,9],l=[1,11],h=[1,13],p=[1,14],i=[1,16],x=[1,17],E=[1,18],u=[1,24],g=[1,25],m=[1,26],P=[1,27],A=[1,28],D=[1,29],S=[1,30],W=[1,31],M=[1,32],tt=[1,33],q=[1,34],G=[1,35],Z=[1,36],z=[1,37],F=[1,38],O=[1,39],X=[1,41],H=[1,42],J=[1,43],Q=[1,44],j=[1,45],y=[1,46],_=[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],I=[4,5,16,50,52,53],ht=[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],et=[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],N=[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],zt=[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],ot=[68,69,70],it=[1,120],At={trace:function(){},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,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$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:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"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],[56,1]],performAction:function(w,k,L,T,R,c,Et){var d=c.length-1;switch(R){case 3:return T.apply(c[d]),c[d];case 4:case 9:this.$=[];break;case 5:case 10:c[d-1].push(c[d]),this.$=c[d-1];break;case 6:case 7:case 11:case 12:this.$=c[d];break;case 8:case 13:this.$=[];break;case 15:c[d].type="createParticipant",this.$=c[d];break;case 16:c[d-1].unshift({type:"boxStart",boxData:T.parseBoxData(c[d-2])}),c[d-1].push({type:"boxEnd",boxText:c[d-2]}),this.$=c[d-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-2]),sequenceIndexStep:Number(c[d-1]),sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(c[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:T.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:c[d-1]};break;case 23:this.$={type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:c[d-1]};break;case 29:T.setDiagramTitle(c[d].substring(6)),this.$=c[d].substring(6);break;case 30:T.setDiagramTitle(c[d].substring(7)),this.$=c[d].substring(7);break;case 31:this.$=c[d].trim(),T.setAccTitle(this.$);break;case 32:case 33:this.$=c[d].trim(),T.setAccDescription(this.$);break;case 34:c[d-1].unshift({type:"loopStart",loopText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.LOOP_START}),c[d-1].push({type:"loopEnd",loopText:c[d-2],signalType:T.LINETYPE.LOOP_END}),this.$=c[d-1];break;case 35:c[d-1].unshift({type:"rectStart",color:T.parseMessage(c[d-2]),signalType:T.LINETYPE.RECT_START}),c[d-1].push({type:"rectEnd",color:T.parseMessage(c[d-2]),signalType:T.LINETYPE.RECT_END}),this.$=c[d-1];break;case 36:c[d-1].unshift({type:"optStart",optText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.OPT_START}),c[d-1].push({type:"optEnd",optText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.OPT_END}),this.$=c[d-1];break;case 37:c[d-1].unshift({type:"altStart",altText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.ALT_START}),c[d-1].push({type:"altEnd",signalType:T.LINETYPE.ALT_END}),this.$=c[d-1];break;case 38:c[d-1].unshift({type:"parStart",parText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.PAR_START}),c[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=c[d-1];break;case 39:c[d-1].unshift({type:"parStart",parText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.PAR_OVER_START}),c[d-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=c[d-1];break;case 40:c[d-1].unshift({type:"criticalStart",criticalText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.CRITICAL_START}),c[d-1].push({type:"criticalEnd",signalType:T.LINETYPE.CRITICAL_END}),this.$=c[d-1];break;case 41:c[d-1].unshift({type:"breakStart",breakText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.BREAK_START}),c[d-1].push({type:"breakEnd",optText:T.parseMessage(c[d-2]),signalType:T.LINETYPE.BREAK_END}),this.$=c[d-1];break;case 43:this.$=c[d-3].concat([{type:"option",optionText:T.parseMessage(c[d-1]),signalType:T.LINETYPE.CRITICAL_OPTION},c[d]]);break;case 45:this.$=c[d-3].concat([{type:"and",parText:T.parseMessage(c[d-1]),signalType:T.LINETYPE.PAR_AND},c[d]]);break;case 47:this.$=c[d-3].concat([{type:"else",altText:T.parseMessage(c[d-1]),signalType:T.LINETYPE.ALT_ELSE},c[d]]);break;case 48:c[d-3].draw="participant",c[d-3].type="addParticipant",c[d-3].description=T.parseMessage(c[d-1]),this.$=c[d-3];break;case 49:c[d-1].draw="participant",c[d-1].type="addParticipant",this.$=c[d-1];break;case 50:c[d-3].draw="actor",c[d-3].type="addParticipant",c[d-3].description=T.parseMessage(c[d-1]),this.$=c[d-3];break;case 51:c[d-1].draw="actor",c[d-1].type="addParticipant",this.$=c[d-1];break;case 52:c[d-1].type="destroyParticipant",this.$=c[d-1];break;case 53:this.$=[c[d-1],{type:"addNote",placement:c[d-2],actor:c[d-1].actor,text:c[d]}];break;case 54:c[d-2]=[].concat(c[d-1],c[d-1]).slice(0,2),c[d-2][0]=c[d-2][0].actor,c[d-2][1]=c[d-2][1].actor,this.$=[c[d-1],{type:"addNote",placement:T.PLACEMENT.OVER,actor:c[d-2].slice(0,2),text:c[d]}];break;case 55:this.$=[c[d-1],{type:"addLinks",actor:c[d-1].actor,text:c[d]}];break;case 56:this.$=[c[d-1],{type:"addALink",actor:c[d-1].actor,text:c[d]}];break;case 57:this.$=[c[d-1],{type:"addProperties",actor:c[d-1].actor,text:c[d]}];break;case 58:this.$=[c[d-1],{type:"addDetails",actor:c[d-1].actor,text:c[d]}];break;case 61:this.$=[c[d-2],c[d]];break;case 62:this.$=c[d];break;case 63:this.$=T.PLACEMENT.LEFTOF;break;case 64:this.$=T.PLACEMENT.RIGHTOF;break;case 65:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d],activate:!0},{type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:c[d-1]}];break;case 66:this.$=[c[d-4],c[d-1],{type:"addMessage",from:c[d-4].actor,to:c[d-1].actor,signalType:c[d-3],msg:c[d]},{type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:c[d-4]}];break;case 67:this.$=[c[d-3],c[d-1],{type:"addMessage",from:c[d-3].actor,to:c[d-1].actor,signalType:c[d-2],msg:c[d]}];break;case 68:this.$={type:"addParticipant",actor:c[d]};break;case 69:this.$=T.LINETYPE.SOLID_OPEN;break;case 70:this.$=T.LINETYPE.DOTTED_OPEN;break;case 71:this.$=T.LINETYPE.SOLID;break;case 72:this.$=T.LINETYPE.DOTTED;break;case 73:this.$=T.LINETYPE.SOLID_CROSS;break;case 74:this.$=T.LINETYPE.DOTTED_CROSS;break;case 75:this.$=T.LINETYPE.SOLID_POINT;break;case 76:this.$=T.LINETYPE.DOTTED_POINT;break;case 77:this.$=T.parseMessage(c[d].trim().substring(1));break}},table:[{3:1,4:e,5:o,6:s},{1:[3]},{3:5,4:e,5:o,6:s},{3:6,4:e,5:o,6:s},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],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:l,8:8,9:10,12:12,13:h,14:p,17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},t(_,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},t(_,[2,7]),t(_,[2,8]),t(_,[2,14]),{12:48,50:z,52:F,53:O},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:y},{22:55,70:y},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(_,[2,29]),t(_,[2,30]),{32:[1,61]},{34:[1,62]},t(_,[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:y},{22:72,70:y},{22:73,70:y},{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]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:y},{22:88,70:y},{22:89,70:y},{22:90,70:y},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(_,[2,6]),t(_,[2,15]),t(I,[2,9],{10:91}),t(_,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(_,[2,21]),{5:[1,95]},{5:[1,96]},t(_,[2,24]),t(_,[2,25]),t(_,[2,26]),t(_,[2,27]),t(_,[2,28]),t(_,[2,31]),t(_,[2,32]),t(ht,r,{7:97}),t(ht,r,{7:98}),t(ht,r,{7:99}),t(et,r,{40:100,7:101}),t(N,r,{42:102,7:103}),t(N,r,{7:103,42:104}),t(zt,r,{45:105,7:106}),t(ht,r,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:y},t(ot,[2,69]),t(ot,[2,70]),t(ot,[2,71]),t(ot,[2,72]),t(ot,[2,73]),t(ot,[2,74]),t(ot,[2,75]),t(ot,[2,76]),{22:116,70:y},{22:118,58:117,70:y},{70:[2,63]},{70:[2,64]},{56:119,79:it},{56:121,79:it},{56:122,79:it},{56:123,79:it},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:z,52:F,53:O},{5:[1,129]},t(_,[2,19]),t(_,[2,20]),t(_,[2,22]),t(_,[2,23]),{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[1,130],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[1,131],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{16:[1,133]},{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,49:[1,134],50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{16:[1,135]},{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,48:[1,136],50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{16:[1,137]},{16:[1,138]},{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,47:[1,139],50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{4:a,5:l,8:8,9:10,12:12,13:h,14:p,16:[1,140],17:15,18:i,21:x,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:P,35:A,36:D,37:S,38:W,39:M,41:tt,43:q,44:G,46:Z,50:z,52:F,53:O,54:X,59:H,60:J,61:Q,62:j,70:y},{15:[1,141]},t(_,[2,49]),{15:[1,142]},t(_,[2,51]),t(_,[2,52]),{22:143,70:y},{22:144,70:y},{56:145,79:it},{56:146,79:it},{56:147,79:it},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(_,[2,16]),t(I,[2,10]),{12:149,50:z,52:F,53:O},t(I,[2,12]),t(I,[2,13]),t(_,[2,18]),t(_,[2,34]),t(_,[2,35]),t(_,[2,36]),t(_,[2,37]),{15:[1,150]},t(_,[2,38]),{15:[1,151]},t(_,[2,39]),t(_,[2,40]),{15:[1,152]},t(_,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:it},{56:156,79:it},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:y},t(I,[2,11]),t(et,r,{7:101,40:158}),t(N,r,{7:103,42:159}),t(zt,r,{7:106,45:160}),t(_,[2,48]),t(_,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(w,k){if(k.recoverable)this.trace(w);else{var L=new Error(w);throw L.hash=k,L}},parse:function(w){var k=this,L=[0],T=[],R=[null],c=[],Et=this.table,d="",wt=0,Ht=0,ue=2,Ut=1,fe=c.slice.call(arguments,1),Y=Object.create(this.lexer),dt={yy:{}};for(var St in this.yy)Object.prototype.hasOwnProperty.call(this.yy,St)&&(dt.yy[St]=this.yy[St]);Y.setInput(w,dt.yy),dt.yy.lexer=Y,dt.yy.parser=this,typeof Y.yylloc>"u"&&(Y.yylloc={});var Mt=Y.yylloc;c.push(Mt);var xe=Y.options&&Y.options.ranges;typeof dt.yy.parseError=="function"?this.parseError=dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ge(){var nt;return nt=T.pop()||Y.lex()||Ut,typeof nt!="number"&&(nt instanceof Array&&(T=nt,nt=T.pop()),nt=k.symbols_[nt]||nt),nt}for(var U,pt,$,Rt,gt={},vt,at,Kt,_t;;){if(pt=L[L.length-1],this.defaultActions[pt]?$=this.defaultActions[pt]:((U===null||typeof U>"u")&&(U=ge()),$=Et[pt]&&Et[pt][U]),typeof $>"u"||!$.length||!$[0]){var Dt="";_t=[];for(vt in Et[pt])this.terminals_[vt]&&vt>ue&&_t.push("'"+this.terminals_[vt]+"'");Y.showPosition?Dt="Parse error on line "+(wt+1)+`: +`+Y.showPosition()+` +Expecting `+_t.join(", ")+", got '"+(this.terminals_[U]||U)+"'":Dt="Parse error on line "+(wt+1)+": Unexpected "+(U==Ut?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(Dt,{text:Y.match,token:this.terminals_[U]||U,line:Y.yylineno,loc:Mt,expected:_t})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pt+", token: "+U);switch($[0]){case 1:L.push(U),R.push(Y.yytext),c.push(Y.yylloc),L.push($[1]),U=null,Ht=Y.yyleng,d=Y.yytext,wt=Y.yylineno,Mt=Y.yylloc;break;case 2:if(at=this.productions_[$[1]][1],gt.$=R[R.length-at],gt._$={first_line:c[c.length-(at||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(at||1)].first_column,last_column:c[c.length-1].last_column},xe&&(gt._$.range=[c[c.length-(at||1)].range[0],c[c.length-1].range[1]]),Rt=this.performAction.apply(gt,[d,Ht,wt,dt.yy,$[1],R,c].concat(fe)),typeof Rt<"u")return Rt;at&&(L=L.slice(0,-1*at*2),R=R.slice(0,-1*at),c=c.slice(0,-1*at)),L.push(this.productions_[$[1]][0]),R.push(gt.$),c.push(gt._$),Kt=Et[L[L.length-2]][L[L.length-1]],L.push(Kt);break;case 3:return!0}}return!0}},pe=function(){var ct={EOF:1,parseError:function(k,L){if(this.yy.parser)this.yy.parser.parseError(k,L);else throw new Error(k)},setInput:function(w,k){return this.yy=k||this.yy||{},this._input=w,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},input:function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},unput:function(w){var k=w.length,L=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var T=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 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:L?(L.length===T.length?this.yylloc.first_column:0)+T[T.length-L.length].length-L[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(w){this.unput(this.match.slice(w))},pastInput:function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` +`+k+"^"},test_match:function(w,k){var L,T,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))),T=w[0].match(/(?:\r\n?|\n).*/g),T&&(this.yylineno+=T.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,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(w[0].length),this.matched+=w[0],L=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),L)return L;if(this._backtrack){for(var c in R)this[c]=R[c];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,k,L,T;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),c=0;ck[0].length)){if(k=L,T=c,this.options.backtrack_lexer){if(w=this.test_match(L,R[c]),w!==!1)return w;if(this._backtrack){k=!1;continue}else return!1}else if(!this.options.flex)break}return k?(w=this.test_match(k,R[T]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var k=this.next();return k||this.lex()},begin:function(k){this.conditionStack.push(k)},popState:function(){var k=this.conditionStack.length-1;return k>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(k){return k=this.conditionStack.length-1-Math.abs(k||0),k>=0?this.conditionStack[k]:"INITIAL"},pushState:function(k){this.begin(k)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(k,L,T,R){switch(T){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;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return L.yytext=L.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;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;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";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 L.yytext=L.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},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,/^(?:-[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],inclusive:!0}}};return ct}();At.lexer=pe;function Nt(){this.yy={}}return Nt.prototype=At,At.Parser=Nt,new Nt}();Ct.parser=Ct;const Ne=Ct;class Se{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}}const b=new Se(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Me=function(t){b.records.boxes.push({name:t.text,wrap:t.wrap===void 0&&ft()||!!t.wrap,fill:t.color,actorKeys:[]}),b.records.currentBox=b.records.boxes.slice(-1)[0]},Vt=function(t,e,o,s){let r=b.records.currentBox;const a=b.records.actors[t];if(a){if(b.records.currentBox&&a.box&&b.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 '"+b.records.currentBox.name+"' at the same time.");if(r=a.box?a.box:b.records.currentBox,a.box=r,a&&e===a.name&&o==null)return}(o==null||o.text==null)&&(o={text:e,wrap:null,type:s}),(s==null||o.text==null)&&(o={text:e,wrap:null,type:s}),b.records.actors[t]={box:r,name:e,description:o.text,wrap:o.wrap===void 0&&ft()||!!o.wrap,prevActor:b.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:s||"participant"},b.records.prevActor&&b.records.actors[b.records.prevActor]&&(b.records.actors[b.records.prevActor].nextActor=t),b.records.currentBox&&b.records.currentBox.actorKeys.push(t),b.records.prevActor=t},Re=t=>{let e,o=0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return b.records.messages.push({from:t,to:e,message:o.text,wrap:o.wrap===void 0&&ft()||!!o.wrap,type:s,activate:r}),!0},Ce=function(){return b.records.boxes.length>0},Ve=function(){return b.records.boxes.some(t=>t.name)},Oe=function(){return b.records.messages},Be=function(){return b.records.boxes},Ye=function(){return b.records.actors},Fe=function(){return b.records.createdActors},We=function(){return b.records.destroyedActors},mt=function(t){return b.records.actors[t]},qe=function(){return Object.keys(b.records.actors)},ze=function(){b.records.sequenceNumbersEnabled=!0},He=function(){b.records.sequenceNumbersEnabled=!1},Ue=()=>b.records.sequenceNumbersEnabled,Ke=function(t){b.records.wrapEnabled=t},ft=()=>b.records.wrapEnabled!==void 0?b.records.wrapEnabled:lt().sequence.wrap,Ge=function(){b.reset(),we()},Xe=function(t){const e=t.trim(),o={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:e.match(/^:?wrap:/)!==null?!0:e.match(/^:?nowrap:/)!==null?!1:void 0};return K.debug("parseMessage:",o),o},Je=function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let o=e!=null&&e[1]?e[1].trim():"transparent",s=e!=null&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",o)||(o="transparent",s=t.trim());else{const r=new Option().style;r.color=o,r.color!==o&&(o="transparent",s=t.trim())}return{color:o,text:s!==void 0?Pt(s.replace(/^:?(?:no)?wrap:/,""),lt()):void 0,wrap:s!==void 0?s.match(/^:?wrap:/)!==null?!0:s.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},bt={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},Ze={FILLED:0,OPEN:1},Qe={LEFTOF:0,RIGHTOF:1,OVER:2},jt=function(t,e,o){const s={actor:t,placement:e,message:o.text,wrap:o.wrap===void 0&&ft()||!!o.wrap},r=[].concat(t,t);b.records.notes.push(s),b.records.messages.push({from:r[0],to:r[1],message:o.text,wrap:o.wrap===void 0&&ft()||!!o.wrap,type:bt.NOTE,placement:e})},$t=function(t,e){const o=mt(t);try{let s=Pt(e.text,lt());s=s.replace(/&/g,"&"),s=s.replace(/=/g,"=");const r=JSON.parse(s);Ft(o,r)}catch(s){K.error("error while parsing actor link text",s)}},je=function(t,e){const o=mt(t);try{const l={};let h=Pt(e.text,lt());var s=h.indexOf("@");h=h.replace(/&/g,"&"),h=h.replace(/=/g,"=");var r=h.slice(0,s-1).trim(),a=h.slice(s+1).trim();l[r]=a,Ft(o,l)}catch(l){K.error("error while parsing actor link text",l)}};function Ft(t,e){if(t.links==null)t.links=e;else for(let o in e)t.links[o]=e[o]}const te=function(t,e){const o=mt(t);try{let s=Pt(e.text,lt());const r=JSON.parse(s);ee(o,r)}catch(s){K.error("error while parsing actor properties text",s)}};function ee(t,e){if(t.properties==null)t.properties=e;else for(let o in e)t.properties[o]=e[o]}function $e(){b.records.currentBox=void 0}const se=function(t,e){const o=mt(t),s=document.getElementById(e.text);try{const r=s.innerHTML,a=JSON.parse(r);a.properties&&ee(o,a.properties),a.links&&Ft(o,a.links)}catch(r){K.error("error while parsing actor details text",r)}},t0=function(t,e){if(t!==void 0&&t.properties!==void 0)return t.properties[e]},re=function(t){if(Array.isArray(t))t.forEach(function(e){re(e)});else switch(t.type){case"sequenceIndex":b.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":Vt(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(b.records.actors[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");b.records.lastCreated=t.actor,Vt(t.actor,t.actor,t.description,t.draw),b.records.createdActors[t.actor]=b.records.messages.length;break;case"destroyParticipant":b.records.lastDestroyed=t.actor,b.records.destroyedActors[t.actor]=b.records.messages.length;break;case"activeStart":C(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":C(t.actor,void 0,void 0,t.signalType);break;case"addNote":jt(t.actor,t.placement,t.text);break;case"addLinks":$t(t.actor,t.text);break;case"addALink":je(t.actor,t.text);break;case"addProperties":te(t.actor,t.text);break;case"addDetails":se(t.actor,t.text);break;case"addMessage":if(b.records.lastCreated){if(t.to!==b.records.lastCreated)throw new Error("The created participant "+b.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");b.records.lastCreated=void 0}else if(b.records.lastDestroyed){if(t.to!==b.records.lastDestroyed&&t.from!==b.records.lastDestroyed)throw new Error("The destroyed participant "+b.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");b.records.lastDestroyed=void 0}C(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":Me(t.boxData);break;case"boxEnd":$e();break;case"loopStart":C(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":C(void 0,void 0,void 0,t.signalType);break;case"rectStart":C(void 0,void 0,t.color,t.signalType);break;case"rectEnd":C(void 0,void 0,void 0,t.signalType);break;case"optStart":C(void 0,void 0,t.optText,t.signalType);break;case"optEnd":C(void 0,void 0,void 0,t.signalType);break;case"altStart":C(void 0,void 0,t.altText,t.signalType);break;case"else":C(void 0,void 0,t.altText,t.signalType);break;case"altEnd":C(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":Jt(t.text);break;case"parStart":C(void 0,void 0,t.parText,t.signalType);break;case"and":C(void 0,void 0,t.parText,t.signalType);break;case"parEnd":C(void 0,void 0,void 0,t.signalType);break;case"criticalStart":C(void 0,void 0,t.criticalText,t.signalType);break;case"option":C(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":C(void 0,void 0,void 0,t.signalType);break;case"breakStart":C(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":C(void 0,void 0,void 0,t.signalType);break}},Gt={addActor:Vt,addMessage:De,addSignal:C,addLinks:$t,addDetails:se,addProperties:te,autoWrap:ft,setWrap:Ke,enableSequenceNumbers:ze,disableSequenceNumbers:He,showSequenceNumbers:Ue,getMessages:Oe,getActors:Ye,getCreatedActors:Fe,getDestroyedActors:We,getActor:mt,getActorKeys:qe,getActorProperty:t0,getAccTitle:Te,getBoxes:Be,getDiagramTitle:ye,setDiagramTitle:Ee,getConfig:()=>lt().sequence,clear:Ge,parseMessage:Xe,parseBoxData:Je,LINETYPE:bt,ARROWTYPE:Ze,PLACEMENT:Qe,addNote:jt,setAccTitle:Jt,apply:re,setAccDescription:be,getAccDescription:me,hasAtLeastOneBox:Ce,hasAtLeastOneBoxWithTitle:Ve},e0=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; + } +`,s0=e0,ut=18*2,ie="actor-top",ae="actor-bottom",Wt=function(t,e){return Pe(t,e)},r0=function(t,e,o,s,r){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,l=e.actorCnt,h=e.rectData;var p="none";r&&(p="block !important");const i=t.append("g");i.attr("id","actor"+l+"_popup"),i.attr("class","actorPopupMenu"),i.attr("display",p);var x="";h.class!==void 0&&(x=" "+h.class);let E=h.width>o?h.width:o;const u=i.append("rect");if(u.attr("class","actorPopupMenuPanel"+x),u.attr("x",h.x),u.attr("y",h.height),u.attr("fill",h.fill),u.attr("stroke",h.stroke),u.attr("width",E),u.attr("height",h.height),u.attr("rx",h.rx),u.attr("ry",h.ry),a!=null){var g=20;for(let A in a){var m=i.append("a"),P=Zt.sanitizeUrl(a[A]);m.attr("xlink:href",P),m.attr("target","_blank"),b0(s)(A,m,h.x+10,h.height+g,E,20,{class:"actor"},s),g+=30}}return u.attr("height",g),{height:h.height+g,width:E}},i0=function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},yt=function(t,e){let o=0,s=0;const r=e.text.split(v.lineBreakRegex),[a,l]=Qt(e.fontSize);let h=[],p=0,i=()=>e.y;if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":i=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":i=()=>Math.round(e.y+(o+s+e.textMargin)/2);break;case"bottom":case"end":i=()=>Math.round(e.y+(o+s+2*e.textMargin)-e.textMargin);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[x,E]of r.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(p=x*a);const u=t.append("text");u.attr("x",e.x),u.attr("y",i()),e.anchor!==void 0&&u.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&u.style("font-family",e.fontFamily),l!==void 0&&u.style("font-size",l),e.fontWeight!==void 0&&u.style("font-weight",e.fontWeight),e.fill!==void 0&&u.attr("fill",e.fill),e.class!==void 0&&u.attr("class",e.class),e.dy!==void 0?u.attr("dy",e.dy):p!==0&&u.attr("dy",p);const g=E||ke;if(e.tspan){const m=u.append("tspan");m.attr("x",e.x),e.fill!==void 0&&m.attr("fill",e.fill),m.text(g)}else u.text(g);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(s+=(u._groups||u)[0][0].getBBox().height,o=s),h.push(u)}return h},ne=function(t,e){function o(r,a,l,h,p){return r+","+a+" "+(r+l)+","+a+" "+(r+l)+","+(a+h-p)+" "+(r+l-p*1.2)+","+(a+h)+" "+r+","+(a+h)}const s=t.append("polygon");return s.attr("points",o(e.x,e.y,e.width,e.height,7)),s.attr("class","labelBox"),e.y=e.y+e.height/2,yt(t,e),s};let rt=-1;const oe=(t,e,o,s)=>{t.select&&o.forEach(r=>{const a=e[r],l=t.select("#actor"+a.actorCnt);!s.mirrorActors&&a.stopy?l.attr("y2",a.stopy+a.height/2):s.mirrorActors&&l.attr("y2",a.stopy)})},a0=function(t,e,o,s){const r=s?e.stopy:e.starty,a=e.x+e.width/2,l=r+5,h=t.append("g").lower();var p=h;s||(rt++,Object.keys(e.links||{}).length&&!o.forceMenus&&p.attr("onclick",i0(`actor${rt}_popup`)).attr("cursor","pointer"),p.append("line").attr("id","actor"+rt).attr("x1",a).attr("y1",l).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),p=h.append("g"),e.actorCnt=rt,e.links!=null&&p.attr("id","root-"+rt));const i=Lt();var x="actor";e.properties!=null&&e.properties.class?x=e.properties.class:i.fill="#eaeaea",s?x+=` ${ae}`:x+=` ${ie}`,i.x=e.x,i.y=r,i.width=e.width,i.height=e.height,i.class=x,i.rx=3,i.ry=3;const E=Wt(p,i);if(e.rectData=i,e.properties!=null&&e.properties.icon){const g=e.properties.icon.trim();g.charAt(0)==="@"?Ie(p,i.x+i.width-20,i.y+10,g.substr(1)):Ae(p,i.x+i.width-20,i.y+10,g)}qt(o)(e.description,p,i.x,i.y,i.width,i.height,{class:"actor"},o);let u=e.height;if(E.node){const g=E.node().getBBox();e.height=g.height,u=g.height}return u},n0=function(t,e,o,s){const r=s?e.stopy:e.starty,a=e.x+e.width/2,l=r+80;t.lower(),s||(rt++,t.append("line").attr("id","actor"+rt).attr("x1",a).attr("y1",l).attr("x2",a).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),e.actorCnt=rt);const h=t.append("g");let p="actor-man";s?p+=` ${ae}`:p+=` ${ie}`,h.attr("class",p);const i=Lt();i.x=e.x,i.y=r,i.fill="#eaeaea",i.width=e.width,i.height=e.height,i.class="actor",i.rx=3,i.ry=3,h.append("line").attr("id","actor-man-torso"+rt).attr("x1",a).attr("y1",r+25).attr("x2",a).attr("y2",r+45),h.append("line").attr("id","actor-man-arms"+rt).attr("x1",a-ut/2).attr("y1",r+33).attr("x2",a+ut/2).attr("y2",r+33),h.append("line").attr("x1",a-ut/2).attr("y1",r+60).attr("x2",a).attr("y2",r+45),h.append("line").attr("x1",a).attr("y1",r+45).attr("x2",a+ut/2-2).attr("y2",r+60);const x=h.append("circle");x.attr("cx",e.x+e.width/2),x.attr("cy",r+10),x.attr("r",15),x.attr("width",e.width),x.attr("height",e.height);const E=h.node().getBBox();return e.height=E.height,qt(o)(e.description,h,i.x,i.y+35,i.width,i.height,{class:"actor"},o),e.height},o0=function(t,e,o,s){switch(e.type){case"actor":return n0(t,e,o,s);case"participant":return a0(t,e,o,s)}},c0=function(t,e,o){const r=t.append("g");ce(r,e),e.name&&qt(o)(e.name,r,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},o),r.lower()},l0=function(t){return t.append("g")},h0=function(t,e,o,s,r){const a=Lt(),l=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+r%3,a.width=e.stopx-e.startx,a.height=o-e.starty,Wt(l,a)},d0=function(t,e,o,s){const{boxMargin:r,boxTextMargin:a,labelBoxHeight:l,labelBoxWidth:h,messageFontFamily:p,messageFontSize:i,messageFontWeight:x}=s,E=t.append("g"),u=function(P,A,D,S){return E.append("line").attr("x1",P).attr("y1",A).attr("x2",D).attr("y2",S).attr("class","loopLine")};u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(P){u(e.startx,P.y,e.stopx,P.y).style("stroke-dasharray","3, 3")});let g=Yt();g.text=o,g.x=e.startx,g.y=e.starty,g.fontFamily=p,g.fontSize=i,g.fontWeight=x,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=h||50,g.height=l||20,g.textMargin=a,g.class="labelText",ne(E,g),g=le(),g.text=e.title,g.x=e.startx+h/2+(e.stopx-e.startx)/2,g.y=e.starty+r+a,g.anchor="middle",g.valign="middle",g.textMargin=a,g.class="loopText",g.fontFamily=p,g.fontSize=i,g.fontWeight=x,g.wrap=!0;let m=yt(E,g);return e.sectionTitles!==void 0&&e.sectionTitles.forEach(function(P,A){if(P.message){g.text=P.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[A].y+r+a,g.class="loopText",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=p,g.fontSize=i,g.fontWeight=x,g.wrap=e.wrap,m=yt(E,g);let D=Math.round(m.map(S=>(S._groups||S)[0][0].getBBox().height).reduce((S,W)=>S+W));e.sections[A].height+=D-(r+a)}}),e.height=Math.round(e.stopy-e.starty),E},ce=function(t,e){Le(t,e)},p0=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")},u0=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")},f0=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")},x0=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").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},g0=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")},T0=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)},y0=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")},le=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}},E0=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},qt=function(){function t(r,a,l,h,p,i,x){const E=a.append("text").attr("x",l+p/2).attr("y",h+i/2+5).style("text-anchor","middle").text(r);s(E,x)}function e(r,a,l,h,p,i,x,E){const{actorFontSize:u,actorFontFamily:g,actorFontWeight:m}=E,[P,A]=Qt(u),D=r.split(v.lineBreakRegex);for(let S=0;St.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))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init: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,de(lt())},updateVal:function(t,e,o,s){t[e]===void 0?t[e]=o:t[e]=s(o,t[e])},updateBounds:function(t,e,o,s){const r=this;let a=0;function l(h){return function(i){a++;const x=r.sequenceItems.length-a+1;r.updateVal(i,"starty",e-x*n.boxMargin,Math.min),r.updateVal(i,"stopy",s+x*n.boxMargin,Math.max),r.updateVal(f.data,"startx",t-x*n.boxMargin,Math.min),r.updateVal(f.data,"stopx",o+x*n.boxMargin,Math.max),h!=="activation"&&(r.updateVal(i,"startx",t-x*n.boxMargin,Math.min),r.updateVal(i,"stopx",o+x*n.boxMargin,Math.max),r.updateVal(f.data,"starty",e-x*n.boxMargin,Math.min),r.updateVal(f.data,"stopy",s+x*n.boxMargin,Math.max))}}this.sequenceItems.forEach(l()),this.activations.forEach(l("activation"))},insert:function(t,e,o,s){const r=v.getMin(t,o),a=v.getMax(t,o),l=v.getMin(e,s),h=v.getMax(e,s);this.updateVal(f.data,"startx",r,Math.min),this.updateVal(f.data,"starty",l,Math.min),this.updateVal(f.data,"stopx",a,Math.max),this.updateVal(f.data,"stopy",h,Math.max),this.updateBounds(r,l,a,h)},newActivation:function(t,e,o){const s=o[t.from.actor],r=It(t.from.actor).length||0,a=s.x+s.width/2+(r-1)*n.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+n.activationWidth,stopy:void 0,actor:t.from.actor,anchored:V.anchorElement(e)})},endActivation:function(t){const e=this.activations.map(function(o){return o.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop: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}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:f.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=v.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},m0=function(t,e){f.bumpVerticalPos(n.boxMargin),e.height=n.boxMargin,e.starty=f.getVerticalPos();const o=Lt();o.x=e.startx,o.y=e.starty,o.width=e.width||n.width,o.class="note";const s=t.append("g"),r=V.drawRect(s,o),a=Yt();a.x=e.startx,a.y=e.starty,a.width=o.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=n.noteFontFamily,a.fontSize=n.noteFontSize,a.fontWeight=n.noteFontWeight,a.anchor=n.noteAlign,a.textMargin=n.noteMargin,a.valign="center";const l=yt(s,a),h=Math.round(l.map(p=>(p._groups||p)[0][0].getBBox().height).reduce((p,i)=>p+i));r.attr("height",h+2*n.noteMargin),e.height+=h+2*n.noteMargin,f.bumpVerticalPos(h+2*n.noteMargin),e.stopy=e.starty+h+2*n.noteMargin,e.stopx=e.startx+o.width,f.insert(e.startx,e.starty,e.stopx,e.stopy),f.models.addNote(e)},xt=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),Tt=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),Ot=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});function w0(t,e){f.bumpVerticalPos(10);const{startx:o,stopx:s,message:r}=e,a=v.splitBreaks(r).length,l=B.calculateTextDimensions(r,xt(n)),h=l.height/a;e.height+=h,f.bumpVerticalPos(h);let p,i=l.height-10;const x=l.width;if(o===s){p=f.getVerticalPos()+i,n.rightAngles||(i+=n.boxMargin,p=f.getVerticalPos()+i),i+=30;const E=v.getMax(x/2,n.width/2);f.insert(o-E,f.getVerticalPos()-10+i,s+E,f.getVerticalPos()+30+i)}else i+=n.boxMargin,p=f.getVerticalPos()+i,f.insert(o,p-10,s,p);return f.bumpVerticalPos(i),e.height+=i,e.stopy=e.starty+e.height,f.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),p}const v0=function(t,e,o,s){const{startx:r,stopx:a,starty:l,message:h,type:p,sequenceIndex:i,sequenceVisible:x}=e,E=B.calculateTextDimensions(h,xt(n)),u=Yt();u.x=r,u.y=l+10,u.width=a-r,u.class="messageText",u.dy="1em",u.text=h,u.fontFamily=n.messageFontFamily,u.fontSize=n.messageFontSize,u.fontWeight=n.messageFontWeight,u.anchor=n.messageAlign,u.valign="center",u.textMargin=n.wrapPadding,u.tspan=!1,yt(t,u);const g=E.width;let m;r===a?n.rightAngles?m=t.append("path").attr("d",`M ${r},${o} H ${r+v.getMax(n.width/2,g/2)} V ${o+25} H ${r}`):m=t.append("path").attr("d","M "+r+","+o+" C "+(r+60)+","+(o-10)+" "+(r+60)+","+(o+30)+" "+r+","+(o+20)):(m=t.append("line"),m.attr("x1",r),m.attr("y1",o),m.attr("x2",a),m.attr("y2",o)),p===s.db.LINETYPE.DOTTED||p===s.db.LINETYPE.DOTTED_CROSS||p===s.db.LINETYPE.DOTTED_POINT||p===s.db.LINETYPE.DOTTED_OPEN?(m.style("stroke-dasharray","3, 3"),m.attr("class","messageLine1")):m.attr("class","messageLine0");let P="";n.arrowMarkerAbsolute&&(P=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,P=P.replace(/\(/g,"\\("),P=P.replace(/\)/g,"\\)")),m.attr("stroke-width",2),m.attr("stroke","none"),m.style("fill","none"),(p===s.db.LINETYPE.SOLID||p===s.db.LINETYPE.DOTTED)&&m.attr("marker-end","url("+P+"#arrowhead)"),(p===s.db.LINETYPE.SOLID_POINT||p===s.db.LINETYPE.DOTTED_POINT)&&m.attr("marker-end","url("+P+"#filled-head)"),(p===s.db.LINETYPE.SOLID_CROSS||p===s.db.LINETYPE.DOTTED_CROSS)&&m.attr("marker-end","url("+P+"#crosshead)"),(x||n.showSequenceNumbers)&&(m.attr("marker-start","url("+P+"#sequencenumber)"),t.append("text").attr("x",r).attr("y",o+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(i))},_0=function(t,e,o,s,r,a,l){let h=0,p=0,i,x=0;for(const E of s){const u=e[E],g=u.box;i&&i!=g&&(l||f.models.addBox(i),p+=n.boxMargin+i.margin),g&&g!=i&&(l||(g.x=h+p,g.y=r),p+=g.margin),u.width=u.width||n.width,u.height=v.getMax(u.height||n.height,n.height),u.margin=u.margin||n.actorMargin,x=v.getMax(x,u.height),o[u.name]&&(p+=u.width/2),u.x=h+p,u.starty=f.getVerticalPos(),f.insert(u.x,r,u.x+u.width,u.height),h+=u.width+p,u.box&&(u.box.width=h+g.margin-u.box.x),p=u.margin,i=u.box,f.models.addActor(u)}i&&!l&&f.models.addBox(i),f.bumpVerticalPos(x)},Bt=function(t,e,o,s){if(s){let r=0;f.bumpVerticalPos(n.boxMargin*2);for(const a of o){const l=e[a];l.stopy||(l.stopy=f.getVerticalPos());const h=V.drawActor(t,l,n,!0);r=v.getMax(r,h)}f.bumpVerticalPos(r+n.boxMargin)}else for(const r of o){const a=e[r];V.drawActor(t,a,n,!1)}},he=function(t,e,o,s){let r=0,a=0;for(const l of o){const h=e[l],p=I0(h),i=V.drawPopup(t,h,p,n,n.forceMenus,s);i.height>r&&(r=i.height),i.width+h.x>a&&(a=i.width+h.x)}return{maxHeight:r,maxWidth:a}},de=function(t){ve(n,t),t.fontFamily&&(n.actorFontFamily=n.noteFontFamily=n.messageFontFamily=t.fontFamily),t.fontSize&&(n.actorFontSize=n.noteFontSize=n.messageFontSize=t.fontSize),t.fontWeight&&(n.actorFontWeight=n.noteFontWeight=n.messageFontWeight=t.fontWeight)},It=function(t){return f.activations.filter(function(e){return e.actor===t})},Xt=function(t,e){const o=e[t],s=It(t),r=s.reduce(function(l,h){return v.getMin(l,h.startx)},o.x+o.width/2-1),a=s.reduce(function(l,h){return v.getMax(l,h.stopx)},o.x+o.width/2+1);return[r,a]};function st(t,e,o,s,r){f.bumpVerticalPos(o);let a=s;if(e.id&&e.message&&t[e.id]){const l=t[e.id].width,h=xt(n);e.message=B.wrapLabel(`[${e.message}]`,l-2*n.wrapPadding,h),e.width=l,e.wrap=!0;const p=B.calculateTextDimensions(e.message,h),i=v.getMax(p.height,n.labelBoxHeight);a=s+i,K.debug(`${i} - ${e.message}`)}r(e),f.bumpVerticalPos(a)}function k0(t,e,o,s,r,a,l){function h(i,x){i.x{y.add(_.from),y.add(_.to)}),m=m.filter(_=>y.has(_))}_0(i,x,E,m,0,P,!1);const M=M0(P,x,W,s);V.insertArrowHead(i),V.insertArrowCrossHead(i),V.insertArrowFilledHead(i),V.insertSequenceNumber(i);function tt(y,_){const I=f.endActivation(y);I.starty+18>_&&(I.starty=_-6,_+=12),V.drawActivation(i,I,_,n,It(y.from.actor).length),f.insert(I.startx,_-10,I.stopx,_)}let q=1,G=1;const Z=[],z=[];P.forEach(function(y,_){let I,ht,et;switch(y.type){case s.db.LINETYPE.NOTE:f.resetVerticalPos(),ht=y.noteModel,m0(i,ht);break;case s.db.LINETYPE.ACTIVE_START:f.newActivation(y,i,x);break;case s.db.LINETYPE.ACTIVE_END:tt(y,f.getVerticalPos());break;case s.db.LINETYPE.LOOP_START:st(M,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>f.newLoop(N));break;case s.db.LINETYPE.LOOP_END:I=f.endLoop(),V.drawLoop(i,I,"loop",n),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case s.db.LINETYPE.RECT_START:st(M,y,n.boxMargin,n.boxMargin,N=>f.newLoop(void 0,N.message));break;case s.db.LINETYPE.RECT_END:I=f.endLoop(),z.push(I),f.models.addLoop(I),f.bumpVerticalPos(I.stopy-f.getVerticalPos());break;case s.db.LINETYPE.OPT_START:st(M,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>f.newLoop(N));break;case s.db.LINETYPE.OPT_END:I=f.endLoop(),V.drawLoop(i,I,"opt",n),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case s.db.LINETYPE.ALT_START:st(M,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>f.newLoop(N));break;case s.db.LINETYPE.ALT_ELSE:st(M,y,n.boxMargin+n.boxTextMargin,n.boxMargin,N=>f.addSectionToLoop(N));break;case s.db.LINETYPE.ALT_END:I=f.endLoop(),V.drawLoop(i,I,"alt",n),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case s.db.LINETYPE.PAR_START:case s.db.LINETYPE.PAR_OVER_START:st(M,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>f.newLoop(N)),f.saveVerticalPos();break;case s.db.LINETYPE.PAR_AND:st(M,y,n.boxMargin+n.boxTextMargin,n.boxMargin,N=>f.addSectionToLoop(N));break;case s.db.LINETYPE.PAR_END:I=f.endLoop(),V.drawLoop(i,I,"par",n),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case s.db.LINETYPE.AUTONUMBER:q=y.message.start||q,G=y.message.step||G,y.message.visible?s.db.enableSequenceNumbers():s.db.disableSequenceNumbers();break;case s.db.LINETYPE.CRITICAL_START:st(M,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>f.newLoop(N));break;case s.db.LINETYPE.CRITICAL_OPTION:st(M,y,n.boxMargin+n.boxTextMargin,n.boxMargin,N=>f.addSectionToLoop(N));break;case s.db.LINETYPE.CRITICAL_END:I=f.endLoop(),V.drawLoop(i,I,"critical",n),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;case s.db.LINETYPE.BREAK_START:st(M,y,n.boxMargin,n.boxMargin+n.boxTextMargin,N=>f.newLoop(N));break;case s.db.LINETYPE.BREAK_END:I=f.endLoop(),V.drawLoop(i,I,"break",n),f.bumpVerticalPos(I.stopy-f.getVerticalPos()),f.models.addLoop(I);break;default:try{et=y.msgModel,et.starty=f.getVerticalPos(),et.sequenceIndex=q,et.sequenceVisible=s.db.showSequenceNumbers();const N=w0(i,et);k0(y,et,N,_,x,E,u),Z.push({messageModel:et,lineStartY:N}),f.models.addMessage(et)}catch(N){K.error("error while drawing message",N)}}[s.db.LINETYPE.SOLID_OPEN,s.db.LINETYPE.DOTTED_OPEN,s.db.LINETYPE.SOLID,s.db.LINETYPE.DOTTED,s.db.LINETYPE.SOLID_CROSS,s.db.LINETYPE.DOTTED_CROSS,s.db.LINETYPE.SOLID_POINT,s.db.LINETYPE.DOTTED_POINT].includes(y.type)&&(q=q+G)}),K.debug("createdActors",E),K.debug("destroyedActors",u),Bt(i,x,m,!1),Z.forEach(y=>v0(i,y.messageModel,y.lineStartY,s)),n.mirrorActors&&Bt(i,x,m,!0),z.forEach(y=>V.drawBackgroundRect(i,y)),oe(i,x,m,n),f.models.boxes.forEach(function(y){y.height=f.getVerticalPos()-y.y,f.insert(y.x,y.y,y.x+y.width,y.height),y.startx=y.x,y.starty=y.y,y.stopx=y.startx+y.width,y.stopy=y.starty+y.height,y.stroke="rgb(0,0,0, 0.5)",V.drawBox(i,y,n)}),D&&f.bumpVerticalPos(n.boxMargin);const F=he(i,x,m,p),{bounds:O}=f.getBounds();let X=O.stopy-O.starty;X{const l=t[a];l.wrap&&(l.description=B.wrapLabel(l.description,n.width-2*n.wrapPadding,Ot(n)));const h=B.calculateTextDimensions(l.description,Ot(n));l.width=l.wrap?n.width:v.getMax(n.width,h.width+2*n.wrapPadding),l.height=l.wrap?v.getMax(h.height,n.height):n.height,s=v.getMax(s,l.height)});for(const a in e){const l=t[a];if(!l)continue;const h=t[l.nextActor];if(!h){const E=e[a]+n.actorMargin-l.width/2;l.margin=v.getMax(E,n.actorMargin);continue}const i=e[a]+n.actorMargin-l.width/2-h.width/2;l.margin=v.getMax(i,n.actorMargin)}let r=0;return o.forEach(a=>{const l=xt(n);let h=a.actorKeys.reduce((x,E)=>x+=t[E].width+(t[E].margin||0),0);h-=2*n.boxTextMargin,a.wrap&&(a.name=B.wrapLabel(a.name,h-2*n.wrapPadding,l));const p=B.calculateTextDimensions(a.name,l);r=v.getMax(p.height,r);const i=v.getMax(h,p.width+2*n.wrapPadding);if(a.margin=n.boxTextMargin,ha.textMaxHeight=r),v.getMax(s,n.height)}const N0=function(t,e,o){const s=e[t.from].x,r=e[t.to].x,a=t.wrap&&t.message;let l=B.calculateTextDimensions(a?B.wrapLabel(t.message,n.width,Tt(n)):t.message,Tt(n));const h={width:a?n.width:v.getMax(n.width,l.width+2*n.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===o.db.PLACEMENT.RIGHTOF?(h.width=a?v.getMax(n.width,l.width):v.getMax(e[t.from].width/2+e[t.to].width/2,l.width+2*n.noteMargin),h.startx=s+(e[t.from].width+n.actorMargin)/2):t.placement===o.db.PLACEMENT.LEFTOF?(h.width=a?v.getMax(n.width,l.width+2*n.noteMargin):v.getMax(e[t.from].width/2+e[t.to].width/2,l.width+2*n.noteMargin),h.startx=s-h.width+(e[t.from].width-n.actorMargin)/2):t.to===t.from?(l=B.calculateTextDimensions(a?B.wrapLabel(t.message,v.getMax(n.width,e[t.from].width),Tt(n)):t.message,Tt(n)),h.width=a?v.getMax(n.width,e[t.from].width):v.getMax(e[t.from].width,n.width,l.width+2*n.noteMargin),h.startx=s+(e[t.from].width-h.width)/2):(h.width=Math.abs(s+e[t.from].width/2-(r+e[t.to].width/2))+n.actorMargin,h.startx=s2,E=P=>h?-P:P;t.from===t.to?i=p:(t.activate&&!x&&(i+=E(n.activationWidth/2-1)),[o.db.LINETYPE.SOLID_OPEN,o.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(i+=E(3)));const u=[s,r,a,l],g=Math.abs(p-i);t.wrap&&t.message&&(t.message=B.wrapLabel(t.message,v.getMax(g+2*n.wrapPadding,n.width),xt(n)));const m=B.calculateTextDimensions(t.message,xt(n));return{width:v.getMax(t.wrap?0:m.width+2*n.wrapPadding,g+2*n.wrapPadding,n.width),height:0,startx:p,stopx:i,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,u),toBounds:Math.max.apply(null,u)}},M0=function(t,e,o,s){const r={},a=[];let l,h,p;return t.forEach(function(i){switch(i.id=B.random({length:10}),i.type){case s.db.LINETYPE.LOOP_START:case s.db.LINETYPE.ALT_START:case s.db.LINETYPE.OPT_START:case s.db.LINETYPE.PAR_START:case s.db.LINETYPE.PAR_OVER_START:case s.db.LINETYPE.CRITICAL_START:case s.db.LINETYPE.BREAK_START:a.push({id:i.id,msg:i.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case s.db.LINETYPE.ALT_ELSE:case s.db.LINETYPE.PAR_AND:case s.db.LINETYPE.CRITICAL_OPTION:i.message&&(l=a.pop(),r[l.id]=l,r[i.id]=l,a.push(l));break;case s.db.LINETYPE.LOOP_END:case s.db.LINETYPE.ALT_END:case s.db.LINETYPE.OPT_END:case s.db.LINETYPE.PAR_END:case s.db.LINETYPE.CRITICAL_END:case s.db.LINETYPE.BREAK_END:l=a.pop(),r[l.id]=l;break;case s.db.LINETYPE.ACTIVE_START:{const E=e[i.from?i.from.actor:i.to.actor],u=It(i.from?i.from.actor:i.to.actor).length,g=E.x+E.width/2+(u-1)*n.activationWidth/2,m={startx:g,stopx:g+n.activationWidth,actor:i.from.actor,enabled:!0};f.activations.push(m)}break;case s.db.LINETYPE.ACTIVE_END:{const E=f.activations.map(u=>u.actor).lastIndexOf(i.from.actor);delete f.activations.splice(E,1)[0]}break}i.placement!==void 0?(h=N0(i,e,s),i.noteModel=h,a.forEach(E=>{l=E,l.from=v.getMin(l.from,h.startx),l.to=v.getMax(l.to,h.startx+h.width),l.width=v.getMax(l.width,Math.abs(l.from-l.to))-n.labelBoxWidth})):(p=S0(i,e,s),i.msgModel=p,p.startx&&p.stopx&&a.length>0&&a.forEach(E=>{if(l=E,p.startx===p.stopx){const u=e[i.from],g=e[i.to];l.from=v.getMin(u.x-p.width/2,u.x-u.width/2,l.from),l.to=v.getMax(g.x+p.width/2,g.x+u.width/2,l.to),l.width=v.getMax(l.width,Math.abs(l.to-l.from))-n.labelBoxWidth}else l.from=v.getMin(p.startx,l.from),l.to=v.getMax(p.stopx,l.to),l.width=v.getMax(l.width,p.width)-n.labelBoxWidth}))}),f.activations=[],K.debug("Loop type widths:",r),r},R0={bounds:f,drawActors:Bt,drawActorsPopup:he,setConf:de,draw:P0},O0={parser:Ne,db:Gt,renderer:R0,styles:s0,init:({wrap:t})=>{Gt.setWrap(t)}};export{O0 as diagram}; diff --git a/assets/sideloading.html-B-1s37Uo.js b/assets/sideloading.html-B-1s37Uo.js new file mode 100644 index 0000000000..8be7c5cc5a --- /dev/null +++ b/assets/sideloading.html-B-1s37Uo.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as a,c as l,a as e,b as t,d as n,e as s}from"./app-pLjDz5vt.js";const p={},c=s('

    侧载插件

    Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。

    提示

    使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。

    通过代理文件载入插件

    ',4),d={class:"hint-container note"},h=e("p",{class:"hint-container-title"},"Todo",-1),m={href:"https://www.zotero.org/support/dev/client_coding/plugin_development#setting_up_a_plugin_development_environment",target:"_blank",rel:"noopener noreferrer"},_=e("h2",{id:"通过安装临时插件载入",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#通过安装临时插件载入"},[e("span",null,"通过安装临时插件载入")])],-1),g={class:"hint-container note"},u=e("p",{class:"hint-container-title"},"Todo",-1),v={href:"https://github.com/mozilla/web-ext/",target:"_blank",rel:"noopener noreferrer"};function f(Z,x){const o=i("ExternalLinkIcon");return a(),l("div",null,[c,e("div",d,[h,e("p",null,[t("此节说明如何通过代理文件将插件侧载入 Zotero,待完善,请参阅:"),e("a",m,[t("Setting Up a Plugin Development Environment"),n(o)]),t("。")])]),_,e("div",g,[u,e("p",null,[t("Zotero 官方尚未提供此种方式的文档,但此种方式是 Firefox 较为推荐的方式,社区维护的框架等也正在逐步迁移至此种方式,在迁移完成之前,可以参考 "),e("a",v,[t("web-ext"),n(o)]),t(" 包来实现。")])])])}const T=r(p,[["render",f],["__file","sideloading.html.vue"]]),w=JSON.parse('{"path":"/plugin-dev-guide/development/sideloading.html","title":"侧载插件","lang":"zh-CN","frontmatter":{"description":"侧载插件 Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。 提示 使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。 通过代理文件载入插件 To...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/development/sideloading.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"侧载插件"}],["meta",{"property":"og:description","content":"侧载插件 Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。 提示 使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。 通过代理文件载入插件 To..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-18T04:17:43.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-18T04:17:43.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"侧载插件\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-18T04:17:43.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"通过代理文件载入插件","slug":"通过代理文件载入插件","link":"#通过代理文件载入插件","children":[]},{"level":2,"title":"通过安装临时插件载入","slug":"通过安装临时插件载入","link":"#通过安装临时插件载入","children":[]}],"git":{"createdTime":1706850681000,"updatedTime":1708229863000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":0.83,"words":250},"filePathRelative":"plugin-dev-guide/development/sideloading.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。

    \\n
    \\n

    提示

    \\n

    使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。

    \\n
    \\n

    通过代理文件载入插件

    \\n
    \\n

    Todo

    \\n

    此节说明如何通过代理文件将插件侧载入 Zotero,待完善,请参阅:Setting Up a Plugin Development Environment

    \\n
    "}');export{T as comp,w as data}; diff --git a/assets/specification.html-Ck0InIxm.js b/assets/specification.html-Ck0InIxm.js new file mode 100644 index 0000000000..af3787d09e --- /dev/null +++ b/assets/specification.html-Ck0InIxm.js @@ -0,0 +1,308 @@ +import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as i,c as u,a as n,b as a,d as t,w as l,e}from"./app-pLjDz5vt.js";const d={},r=n("h1",{id:"csl-1-0-2-规范",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#csl-1-0-2-规范"},[n("span",null,"CSL 1.0.2 规范")])],-1),k={href:"https://twitter.com/rintzezelle",target:"_blank",rel:"noopener noreferrer"},h={href:"https://twitter.com/bmwiernik",target:"_blank",rel:"noopener noreferrer"},m=n("p",null,"其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、Lars Willighagen and other CSL contributors.",-1),q={href:"https://github.com/ZMAlt",target:"_blank",rel:"noopener noreferrer"},g={href:"https://github.com/northword",target:"_blank",rel:"noopener noreferrer"},v={href:"https://creativecommons.org/licenses/by-sa/4.0/",target:"_blank",rel:"noopener noreferrer"},b=n("h2",{id:"介绍",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#介绍"},[n("span",null,"介绍")])],-1),f=n("p",null,"CSL(Citation Style Language,引文样式语言) 是一种基于 XML 的格式,用来描述引文、注释和参考文献的格式,他提供了:",-1),x=n("ul",null,[n("li",null,"一种开放的 (开源的) 格式"),n("li",null,"紧凑、稳定的样式"),n("li",null,"对样式要求的广泛支持"),n("li",null,"样式自动本地化"),n("li",null,"对样式发布和更新的基本支持"),n("li",null,"数千种免费提供的样式(CC BY-SA 授权)")],-1),_={href:"https://citationstyles.org/",target:"_blank",rel:"noopener noreferrer"},y=n("h2",{id:"术语",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#术语"},[n("span",null,"术语")])],-1),E={href:"http://tools.ietf.org/html/rfc2119",target:"_blank",rel:"noopener noreferrer"},D={class:"hint-container note"},A=n("p",{class:"hint-container-title"},"译者注:关于 IETF RFC 2119 协议",-1),C=n("strong",null,"R",-1),B=n("strong",null,"f",-1),S=n("strong",null,"C",-1),w={href:"http://www.ietf.org/",target:"_blank",rel:"noopener noreferrer"},L={href:"https://www.ietf.org/rfc/rfc2119.txt",target:"_blank",rel:"noopener noreferrer"},I=e("

    MUST:必须的。通过它描述的对象,是强制要求的。它与 REQUIRED 和 SHALL 含义相同。

    MUST NOT:不允许的。通过它描述的对象也是强制的。与 SHALL NOT 同义。

    SHOULD:在通常情况下,应当这样。但是,特殊情况下除外。与 RECOMMENDED 同义。

    SHOULD NOT:在通常情况下,不是这样。但是,特殊情况下除外。与 NOT RECOMMENDED 同义。

    MAY:可选的描述对象。与 OPTIONAL 同义。

    ",5),F=n("h2",{id:"命名空间",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#命名空间"},[n("span",null,"命名空间")])],-1),J=n("blockquote",null,[n("p",null,"Namespacing")],-1),M={href:"http://purl.org/net/xbiblio/csl",target:"_blank",rel:"noopener noreferrer"},T=e(`

    在本规范中,当提及 CSL 元素时,命名空间前缀为 cs: ,但对于根元素 cs:stylecs:locale 的默认命名空间声明(用 xmlns 属性设置),通常省略 cs:

    空格处理

    注意

    Whitespace Handling
    翻译有一些疑惑,请参阅原文,欢迎提出改善意见。

    CSL styles are valid XML, but CSL processors MUST NOT normalize attribute values by trimming leading or trailing whitespace from attributes which define text that is intended for output:

    CSL 样式是有效的 XML,但是 CSL 处理器不会(MUST NOT)通过修剪以下属性值前后的空格来规范输出。

    • after-collapse-delimiter
    • cite-group-delimiter
    • delimiter
    • initialize-with
    • name-delimiter
    • names-delimiter
    • prefix
    • range-delimiter
    • sort-separator
    • suffix
    • year-suffix-delimiter
    • value

    文件类型

    CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl 作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml,其中 xx-XX 表示语言以及其方言,例如 en-US 表示美式英语)。

    独立样式

    独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。

    从属样式

    从属样式是独立样式的别名(alias),其仅包含样式元数据,不包括任何格式的指示。

    通过将具有相同引用风格的期刊(例如 "Nature Biotechnology","Nature Nanotechnology")的从属样式链接到一个单独的独立样式(例如 "Nature Journals"),从属样式就不再需要再重复一遍格式说明。

    译者注

    也就是说从属样式是依赖其他样式的,被依赖的样式成为称为父样式

    本地化文件

    每个本地化文件包含一系列对某种特定的语言 / 方言的本地化数据(术语翻译,本地化日期格式以及语法选项)。

    译者注

    本地化文件主要用于在不同的语言环境中使用样式,比如在中文环境中使用,中文对应的本地化文件可以将英文中的 et al. 替换为

    XML 声明

    XML Declaration

    每个样式或者本地化文件应该以 XML 声明开头,指定具体的 XML 版本以及字符编码。多数情况下,XML 声明可以是:

    <?xml version="1.0" encoding="UTF-8"?>
    +

    样式的结构

    注意

    此节尚未校对完成

    根元素 cs:style

    样式的根元素是 cs:style。在 独立样式 中,根元素有以下几种属性:

    class

    `,26),R=n("em",null,"none",-1),z=n("code",null,"in-text",-1),N=n("code",null,"note",-1),W=n("div",{class:"hint-container note"},[n("p",{class:"hint-container-title"},"译者注"),n("p",null,"in-text 表示引文在文字中,note 表示引文不在文字中,可能是脚注等。")],-1),O=n("h4",{id:"default-locale",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#default-locale"},[n("span",null,[n("code",null,"default-locale")])])],-1),U=n("em",null,"none",-1),P={href:"http://books.xmlschemata.org/relaxng/ch19-77191.html",target:"_blank",rel:"noopener noreferrer"},j={class:"hint-container tip"},K=n("p",{class:"hint-container-title"},"译者注:常用 local_code",-1),G=n("br",null,null,-1),X=n("br",null,null,-1),V=n("br",null,null,-1),H=n("br",null,null,-1),Z={href:"https://docs.microsoft.com/zh-cn/windows/win32/wmformat/language-strings",target:"_blank",rel:"noopener noreferrer"},Y=n("h4",{id:"version",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#version"},[n("span",null,[n("code",null,"version")])])],-1),Q=n("p",null,[a("🏳️ Default: "),n("em",null,"none"),a(" · ⚠ Required — 样式的 CSL 版本。对于 CSL 1.0 兼容样式,必须是 "),n("code",null,"1.0"),a("。")],-1),$=n("code",null,"cs:style",-1),aa=e(`

    在这些属性中,从属样式 中,只有 version 是必须的, default-locale 属性可以设置用来代替的默认的本地化文件 。其他的属性是可以忽略的。

    下面是一个 独立样式cs:style 示例,第一行是 XML 声明:

    <?xml version="1.0" encoding="UTF-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="fr-FR"/>
    +

    cs:style 的子元素

    独立样式 中,cs:style 有以下子元素:

    cs:info

    🏳️ Default: none · ⚠ Required · ⚠ 必须为第一个子元素 — 描述样式的元数据 :样式名称(style name)、样式 ID(ID)、样式作者(authors)。

    cs:citation

    🏳️ Default: none · ⚠ Required — 用来描述 in-text 引文或者 notes 引文的具体格式。

    cs:bibliography

    🏳️ Default: none · Optional — 可能会出现一次。描述参考文献列表的格式。

    cs:macro

    🏳️ Default: none · Optional — 可能出现多次。宏可以将格式指示重复使用,使样式更加的紧凑和易维护。

    cs:locale

    🏳️ Default: none · Optional — 可能出现多次。用于指定或者覆盖当前的本地化数据。

    从属样式 中,cs:style 只有 cs:info 一个子元素。

    Info

    `,17),na=n("code",null,"cs:info",-1),ta={href:"http://tools.ietf.org/html/rfc4287",target:"_blank",rel:"noopener noreferrer"},sa=n("code",null,"cs:info",-1),ea=e(`
    cs:authorcs:contributor

    🏳️ Default: none · Optional — cs:authorcs:contributor 分别用来致谢样式的作者和贡献者,可能被使用多次。

     \`cs:name\`
    +
    + 🏳️ Default: _none_ ·  ⚠ Required — 作者或贡献者的姓名。
    +
    + \`cs:email\` 和 \`cs:uri\`
    +
    + 🏳️ Default: _none_ ·  Optional — 作者或者贡献者邮箱和 URI。
    +
    cs:category

    🏳️ Default: none · Optional — 样式可能被分类到一个或者多个类别,cs:category 可能被使用一次,用来描述 in-text 引文怎么渲染。使用 citation-format 属性设置其为以下几种情形:

    • author-date - 例如 … (Doe, 1999)

    • author - 例如 … (Doe)

    • numeric - 例如 … [1]

    • label - 例如 … [doe99]

    • note - 因为在边注或者脚注出现。

      cs:categroy 也可能在携带 field 属性时多次使用,用来对学科进行分类(见 [附录 I 学科分类](附录 I 学科分类))。

    cs:id

    🏳️ Default: none · ⚠ Required — 必须出现一次。该元素应该包含一个 URI 以建立样式的 ID,对于公开可用的样式,需要一个稳定、唯一的并可以引用的 URI。

    cs:issn/cs:essn/cs:issnl
    `,9),oa=n("em",null,"none",-1),la=n("code",null,"cs:issn",-1),ca=n("code",null,"cs:eissn",-1),pa=n("code",null,"cs:issnl",-1),ia={href:"http://www.issn.org/2-22637-What-is-an-ISSN-L.php",target:"_blank",rel:"noopener noreferrer"},ua=e('

    🏳️ Default: none · Optional — 可以使用多次。cs:link 必须携带两个属性 hrefrel

    `href`\n⚠ Required — 用来设置 URI (通常情况下为 URL)\n\n`rel`\n⚠ Required — 表明 URI 与当前样式的关系,它的值有:\n\n    - `self` - 该 URI 值为样式本身的 URI\n    - `template` - 该 URI 是用来编写该样式的模板的 URI\n    - `documentation` - 该 URI 是该样式的文档\n
    cs:published
    ',4),da=n("em",null,"none",-1),ra=n("code",null,"cs:published",-1),ka={href:"http://books.xmlschemata.org/relaxng/ch19-77049.html",target:"_blank",rel:"noopener noreferrer"},ha=e('
    cs:rights

    🏳️ Default: none · Optional — cs:rights 表明了该 CSL 的 license,可能会携带 license 属性。

    cs:summary

    🏳️ Default: none · Optional — 给出该 CSL 的简单描述。

    cs:title

    🏳️ Default: none · ⚠ Required — 其内容应该是该 CSL 展示给使用者的名字。

    cs:title-short

    🏳️ Default: none · Optional — 是上述名字的缩写,比如 APA

    cs:updated
    ',9),ma=n("em",null,"none",-1),qa={href:"http://books.xmlschemata.org/relaxng/ch19-77049.html",target:"_blank",rel:"noopener noreferrer"},ga=n("code",null,"cs:link",-1),va=n("code",null,"cs:rights",-1),ba=n("code",null,"cs:summary",-1),fa=n("code",null,"cs:title",-1),xa=n("code",null,"cs:title-short",-1),_a=n("code",null,"xml:lang",-1),ya={href:"http://books.xmlschemata.org/relaxng/ch19-77191.html",target:"_blank",rel:"noopener noreferrer"},Ea=n("code",null,"cs:link",-1),Da=e(`

    在从属格式中,当 cs:link 中的 href 为其父格式的 URI 时,rel 属性必须设置为 "independent-parent"。此外,从属格式的 ref 不能设置为 template,这在独立格式中才能使用。

    下面是一个独立样式 cs:info 的例子:

    <info>
    +  <title>Style Title</title>
    +  <id>http://www.zotero.org/styles/style-title</id>
    +  <link href="http://www.zotero.org/styles/style-title" rel="self"/>
    +  <author>
    +    <name>Author Name</name>
    +    <email>name@domain.com</email>
    +    <uri>http://www.domain.com/name</uri>
    +  </author>
    +  <category citation-format="author-date"/>
    +  <category field="zoology"/>
    +  <updated>2008-10-29T21:01:24+00:00</updated>
    +  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work
    +  is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported
    +  License</rights>
    +</info>
    +

    Citation

    `,4),Aa=n("code",null,"cs:citation",-1),Ca=n("code",null,"author",-1),Ba=n("code",null,"[Doe]",-1),Sa=n("code",null,"author-date",-1),wa=n("code",null,"[Doe 1999]",-1),La=n("code",null,"label",-1),Ia=n("code",null,"[doe99]",-1),Fa=n("code",null,"number",-1),Ja=n("code",null,"[1]",-1),Ma=n("code",null,"cs:layout",-1),Ta=n("code",null,"cs:layout",-1),Ra=n("code",null,"cs:sort",-1),za=n("a",{href:"#%E6%8E%92%E5%BA%8F"},"排序",-1),Na=n("code",null,"cs:style",-1),Wa=n("code",null,"cs:citation",-1),Oa=e(`
    <citation>
    +  <sort>
    +    <key variable="citation-number"/>
    +  </sort>
    +  <layout>
    +    <text variable="citation-number"/>
    +  </layout>
    +</citation>
    +

    对 CSL 处理器开发者的一个建议

    在 note 格式中,引文通常是一个句子。因此,当注释前面没有内容时,引文的首字母最好大写。在其他情况,引文应该是用原样打印。

    Bioliography

    cs:bioliography 元素描述了参考文献条目的格式。同 cs:citation 相同,其子元素 cs:layout 用来描述每个条目的格式,cs:sort 元素用来描述条目的排序。此外,cs:bibliography 可能携带任意的 参考文献目录选项可继承名称选项 中的属性。下面是一个 cs:bioliography 的例子:

    <bibliography>
    +  <sort>
    +    <key macro="author"/>
    +  </sort>
    +  <layout>
    +    <group delimiter=". ">
    +      <text macro="author"/>
    +      <text variable="title"/>
    +    </group>
    +  </layout>
    +</bibliography>
    +

    Macro

    宏,使用 cs:macro 元素定义,包含了格式的指令。宏可以在其他宏,cs:layout 元素 (cs:citationcs:bioliography 中),cs:key 元素 (cs:sort 元素) 中通过 cs:text 调用。宏在文件中位置的通常建议是:放在 cs:locale 元素后以及 cs:citation 元素前。

    宏通过 cs:macro 元素的属性 name 的值来调用。cs:macro 必须包含一个或者多个 渲染元素

    使用宏可以提高样式的可读性,紧凑性以及可维护性。通过过宏调用来保持 cs:citation 元素和 cs:bioliography 元素的内容紧凑通常是推荐的做法。为了在其他样式中方便的重复使用,宏名字建议使用通用的名字。

    下面是一个实例:引文中包括项目题目,并当条目为 "book" 时,设置字体为 italic

    <style>
    +  <macro name="title">
    +    <choose>
    +      <if type="book">
    +        <text variable="title" font-style="italic"/>
    +      </if>
    +      <else>
    +        <text variable="title"/>
    +      </else>
    +    </choose>
    +  </macro>
    +  <citation>
    +    <layout>
    +      <text macro="title"/>
    +    </layout>
    +  </citation>
    +</style>
    +

    Locale

    来自 "locales-xx-XX.xml"locale file 的本地化数据可以通过 cs:locale 元素来重定义或者补充定义。cs:locale 元素应该放在 cs:info 元素后。

    `,14),Ua=n("code",null,"cs:locale",-1),Pa=n("code",null,"xml:lang",-1),ja={href:"http://books.xmlschemata.org/relaxng/ch19-77191.html",target:"_blank",rel:"noopener noreferrer"},Ka=e(`

    对于 cs:locale 元素的详细使用,另见 术语本地化日期格式本地化选项

    下面是一个 cs:locale 元素的例子:

    <style>
    +  <locale xml:lang="en">
    +    <terms>
    +      <term name="editortranslator" form="short">
    +        <single>ed. &amp; trans.</single>
    +        <multiple>eds. &amp; trans.</multiple>
    +      </term>
    +    </terms>
    +  </locale>
    +</style>
    +

    Locale Fallback

    本地化文件为语言方言提供了本地化数据;可选的 cs:locale 元素的 xml:lang 属性设置为一种语言 (例如, "en" 代表英语 ) 或者方言 (例如, "en-US" 代表美式英语 ) ,xml:lang 属性也可能缺失。Localr fallback 是一种在上述的属性设置中检索来确定本地化单元的机制。这些本地化单元包括日期格式,本地化选项或者术语的特定形式。

    对于同一种语言的方言,一种被称为初级方言,其他都是二级方言。下面展示了部分语言的初级方言和二级方言:

    初级方言二级方言
    de-DEde-AT, de-CH
    en-USen-GB
    pt-PTpt-BR
    zh-CNzh-TW

    这里用一个例子来描述 Locale fallback。如果要选择 "de-AT"(Austrian German) 作为使用环境,本地化单元可以来自下面的源(优先级逐渐降低):

    A. 样式文件中的 cs:locale 元素

    • xml:lang 设置为方言 "de-AT"
    • xml:lang 设置为 "de"
    • xml:lang 不设置

    B. Locale files/本地化文件

    • xml:lang 设置为方言 "de-AT"
    • xml:lang 设置为对应的初级方言 "de-DE" (standard german)
    • xml:lang 设置为 "en-US"

    也就是说,如果要使用 "de-AT" 语言,首先在 Locale files 中寻找 "de" 对应的 locales-de-XX.xml 文件,即 "locales-de-AT.xml""locales-de-DE.xml",由于要设置的语言环境是方言 "de-AT",所以选择 de-AT 对应的 locale file locales-de-AT.xml。接下来,如果 csl 文件中包含 cs:locale 元素,将会覆盖 locales-de-AT.xml 文件的设置。

    本地化文件的结构

    WORK IN PROGRESS

    此页面正在施工中。

    尽管本地化数据可以包括在 csl 文件中 (见 Locale),但是本地化文件可以方便的提供本地化数据的设置,包括术语,日期格式以及语法选项。

    每个本地化文件包括了一种语言方言的本地化数据。本地化文件中根元素为 cs:locale(样式/style 中则为 cs:style 元素)。在 cs:locale 根元素中,属性 xml:lang 用来设置方言。同时这一设置选项也用来对本地化文件命名("xx-XX" 文件名为 locales-xx-XX.xml)。此外,根元素必须携带 version 属性,表明本地化文件的 CSL 版本(对 CSL 1.0 兼容的 locale file 必须设置为 "1.0")。本地化文件有和样式同样的命名空间。cs:locale 元素可能包含 cs:info 作为第一个子元素,同时,必须含有 cs:termscs:datecs:style-options 子元素。下面是一个 本地化文件的部分示例:

    <?xml version="1.0" encoding="UTF-8"?>
    +<locale xml:lang="en-US" version="1.0" xmlns="http://purl.org/net/xbiblio/csl">
    +  <style-options punctuation-in-quote="true"/>
    +  <date form="text">
    +    <date-part name="month" suffix=" "/>
    +    <date-part name="day" suffix=", "/>
    +    <date-part name="year"/>
    +  </date>
    +  <date form="numeric">
    +    <date-part name="year"/>
    +    <date-part name="month" form="numeric" prefix="-" range-delimiter="/"/>
    +    <date-part name="day" prefix="-" range-delimiter="/"/>
    +  </date>
    +  <terms>
    +    <term name="no date">n.d.</term>
    +    <term name="et-al">et al.</term>
    +    <term name="page">
    +      <single>page</single>
    +      <multiple>pages</multiple>
    +    </term>
    +    <term name="page" form="short">
    +      <single>p.</single>
    +      <multiple>pp.</multiple>
    +    </term>
    +  </terms>
    +</locale>
    +

    Info

    cs:info 元素用来给出本地化文件的元数据。它含有以下子元素:

    cs:translator(可选)

    cs:translator 用来致谢翻译者,并且能使用多次。在这个元素中。子元素 cs:name 必须出现一次,cs:uri 则是可选的。这些子元素应该分别包括翻译者的名字,地址和 URI。(与样式中类似)

    cs:rights(可选)

    `,23),Ga=n("code",null,"cs:rights",-1),Xa=n("code",null,"license",-1),Va=n("code",null,"license",-1),Ha=n("code",null,"xml:lang",-1),Za={href:"http://books.xmlschemata.org/relaxng/ch19-77191.html",target:"_blank",rel:"noopener noreferrer"},Ya=e(`

    cs:updates(可选)

    cs:updated 元素的内容必须是一个 [时间戳] 来指定本地化文件最后一次更新的时间。

    Terms(术语)

    术语是本地化的字符串,比如通过使用 "and" 术语,"Doe and Smith" 在语言环境从英语到德语的转换中会自动变为 "Doe und Smith"。术语用 cs:term 元素定义,是 cs:terms 元素的子元素。每个 cs:term 元素必须携带一个 name 属性,其属性值可以设置为 [附录 II 术语](#附录 II 术语) 列表中的值。

    术语可以直接在 cs:term 的内容中定义,或者,在某些情况下,比如在需要单数和复数的情况下可以分别在子元素 cs:singlecs:multiple 中定义, (例如:"page""pages")。

    术语必须使用 cs:term 元素来定义,并在其中使用 form 属性来设置特定格式,form 可以设置的值为:

    • "long" - (默认值), e.g. "editor" and "editors" for the "editor" term
    • "short" - e.g. "ed." and "eds." for the term "editor"
    • "verb" - e.g. "edited by" for the term "editor"
    • "verb-short" - e.g. "ed." for the term "editor"
    • "symbol" - e.g. "§" and "§§" for the term "section"

    如果一个样式使用了一个没有定义的格式,则会会退到其他形式,比如 "werb-short" 会回退到 "verb""symbol" 会回退到 "short""verb""short" 都会回退到 "long"。如果没有可以用的语言环境或者 form 格式,改术语的渲染结果就会显示为空字符串。

    cs:term 元素可以使用 matchgendergender-form 属性来设置数字变量渲染为序数(比如,first2nd)。具体见下面的 序数后缀特定序数

    术语内容不应该包括 Latex 以及 HTML 等标记。上标可以使用 Unicode 上标字符。

    序数后缀

    数字变量可以使用 cs:number 元素以 "ordinal" 格式(即序数格式)渲染,比如:2nd。序数的后缀则是使用术语来定义的。

    "ordinal" 术语定义了默认的序数后缀格式,但这些默认的后缀可以被下面的术语对某些数字进行覆盖:

    • "ordinal-00""ordinal-09" - 默认地,当术语名称的最后一位数字与要渲染的数字的最后一个数字相同时,将使用在这个范围内的对应的术语。比如:"ordinal-00" 能够匹配数字 0 、10、20 等等。通过设置属性 match"last-two-difits"(默认值为 "last-digit"),匹配范围将为变为两位,例如:0、100、200 等。当 match 术语设置为 "whole-number" 时,只有术语与要渲染的数字相同时,才会实现匹配。
    • "ordinal-10""ordinal-99"- 默认地,当要渲染的数字的最后两位和术语中相同时,使用这个范围的术语。当 match 属性设置为 "whole-number" 时(默认为 "last-two-digits"),只有术语与要渲染的数字相同时,才会实现匹配。

    当渲染的数据对上面的两组都匹配时(比如:13 可以同时匹配 "ordinal-03""ordinal-13"),则使用 "ordinal-10""ordinal-99"

    序数术语在 CSL 1.0.1 和 CSL 1.0 中表现时不同的。当样式和本地化文件中都没有定义 "ordinal" 术语,但是定义了 "ordinal-00""ordinal-04",原始的 CSL 1.0 的方案被使用,"ordinal-01" 用于以 1 结尾的数字(以 11 结尾的数字除外)," ordinal-02" 用于以 2 结尾的数字(以 12 结尾的数字除外),"ordinal -03" 表示以 3 结尾(那些以 13 结尾的除外),"ordinal-04" 表示所有其他数字。

    性别特定序数

    一些语言使用特定的有别于性别的序数。例如,如果目标名词是男性,英语中的 "1st" 和 "first" 在法语中就翻译为 "1er" 和 "premier",如果目标名词是女性,就翻译为 "1re" 和 "première"。

    女性和男性在术语使用上的不同可以使用性别格式 gender-form 的属性来设置(分别设置为 femininemasculine),详情见 Ordinals 序数(没有性别的术语表示中性)。这里涉及到两类目标名词:

    1. 数字变量 附带的术语

    2. 月份术语(见 Months 月)。

    在术语设置为 "long"(默认),并且在 gender 属性被设置时(设置为 "feminine""masculine"),这些名词即使用相应的性别变体。当数字变量以序数 "ordinal" 或者 long-ordinal 形式时,将使用相同性别的序数词,如果没定义女性或男性变体,则使用中性变体。当 "day" 日期部分以序数 "ordinal" 形式呈现时,序数性别和月的术语匹配。

    下面给出 1re éd."1st ed.")、"1er janvier""January 1st")和 "3e édition""3rd edition")的示例:

    <?xml version="1.0" encoding="UTF-8"?>
    +<locale xml:lang="fr-FR">
    +  <terms>
    +    <term name="edition" gender="feminine">
    +      <single>édition</single>
    +      <multiple>éditions</multiple>
    +    </term>
    +    <term name="edition" form="short">éd.</term>
    +    <term name="month-01" gender="masculine">janvier</term>
    +    <term name="ordinal">e</term>
    +    <term name="ordinal-01" gender-form="feminine" match="whole-number">re</term>
    +    <term name="ordinal-01" gender-form="masculine" match="whole-number">er</term>
    +  </terms>
    +</locale>
    +

    本地化日期格式

    cs:date 元素中,本地化数据格式有两种格式:一种是 "numeric"(例:12-15-2005),另外一种是 "text"(例:December 15,2005)。格式在 cs:date 元素中,使用 form 属性来设置。

    `,25),Qa=n("code",null,"cs:date-part",-1),$a={href:"https://docs.citationstyles.org/en/stable/specification.html#date-part",target:"_blank",rel:"noopener noreferrer"},an=n("code",null,"cs:date-part",-1),nn=n("code",null,"name",-1),tn=n("code",null,'"day"',-1),sn=n("code",null,'"month"',-1),en=n("code",null,'"year"',-1),on=n("code",null,"cs:date",-1),ln=n("code",null,"cs:date-part",-1),cn={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},pn={href:"https://docs.citationstyles.org/en/stable/specification.html#text-case",target:"_blank",rel:"noopener noreferrer"},un=n("code",null,"cs:date",-1),dn=n("code",null,"delimiter",-1),rn=n("code",null,"cs:date-part",-1),kn=n("code",null,"cs:date-part",-1),hn=e(`

    :定义本地化日期格式时,不允许在 cs:date 上使用词缀。此限制适用于将特定于语言环境的词缀(在 cs:date-part 元素上设置)与任何特定于样式的词缀(在调用 cs:date 元素上设置)分开,例如括号:

    <macro name="issued">
    + <date variable="issued" form="numeric" prefix="(" suffix=")"/>
    +</macro>
    +

    本地化选项

    `,3),mn=n("code",null,"limit-day-ordinals-to-day-1",-1),qn=n("code",null,"punctuation-in-quote",-1),gn={href:"https://docs.citationstyles.org/en/stable/specification.html#locale-options",target:"_blank",rel:"noopener noreferrer"},vn=n("code",null,"cs:style-options",-1),bn=e(`

    渲染元素

    WORK IN PROGRESS

    此页面正在施工中。

    渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据,以及以何种方式排序,并对其格式进行控制。

    Layout

    cs:layout 渲染元素是 cs:citation 元素和 cs:bibliography 元素的的必要子元素。cs:layout 必须包含一个或者多个渲染元素,并且可能携带 affixesformattig 属性。在 cs:citation 元素中,delimiter 属性用来指定一个引文中的不同引用的间隔符。例如:一个 "(1,2)" 类型的引文可以使用下面的代码实现:

    <citation>
    +  <layout prefix="(" suffix=")" delimiter=", ">
    +    <text variable="citation-number"/>
    +  </layout>
    +</citation>
    +

    Text

    cs:text 渲染元素用来输出文字。其必须携带下面的属性来确定什么部分需要渲染:

    • variable- 渲染一个变量的文本内容。属性值必须是 标准变量。可以与 form 属性一起选择变量的 "long"(默认)或 "short" 形式(例如:设置题目,完整题目或者简写)。如果选择了 "short" 形式,但是却没法获得,就使用 "long" 形式来渲染。
    • macro - 渲染宏的文字输出。属性值必须和 cs:macro 元素的 name 属性的值相匹配。
    • term - 渲染术语。属性必须是 [附录 II 术语](#附录 II 术语) 中的术语列表中的一个。通过设置复数属性 plura l 来这只其使用单数还是复数形式,其中 "true" 为默认,表示使用复数形式,设置为 "false" 表示使用单数形式。 使用 form 属性可以设置术语的形式,其值可以为 "long" (默认)、"short""verb""verb-short" 或者 "symbol" (见 术语).
    • value - 渲染属性值自己。

    一个 cs:text 的渲染 title 变量的例子:

    <text variable="title"/>
    +
    `,11),fn=n("code",null,"cs:text",-1),xn={href:"https://docs.citationstyles.org/en/stable/specification.html#affixes",target:"_blank",rel:"noopener noreferrer"},_n={href:"https://docs.citationstyles.org/en/stable/specification.html#display",target:"_blank",rel:"noopener noreferrer"},yn={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},En={href:"https://docs.citationstyles.org/en/stable/specification.html#quotes",target:"_blank",rel:"noopener noreferrer"},Dn={href:"https://docs.citationstyles.org/en/stable/specification.html#strip-periods",target:"_blank",rel:"noopener noreferrer"},An={href:"https://docs.citationstyles.org/en/stable/specification.html#text-case",target:"_blank",rel:"noopener noreferrer"},Cn=e('

    Date

    cs:date 渲染元素输出必须从 日期变量 列表中的选择。日期可以以本地化或者非本地化格式呈现。

    本地化的日期格式 通过可选的 form 属性来选择,其值必须设置为 "numeric"(完全的数字格式 ,例如:12-15-2005)或者 "text"(非数字的月份格式,例如: December 15, 2005)。本地化日期格式可以通过两种方式进行自定义。第一种:date-parts 属性可以用来设置不同的日期组成部分。其值可以设置为:

    • "year-month-day" - 默认值,渲染年,月,日
    • "year-month" - 渲染年月
    • "year" - 只渲染年

    第二种,cs:date 可以含有一个或者多个 cs:date-part 子元素(见 Date-part)。在这些子元素中可以设置属性来覆盖之前的本地化设置(例如:要获得所有语言环境的缩写月份,可以将月份的 cs:date-part 元素的 form 属性设置为 "short")。这些 cs:date-part 子元素不影响各个日期部分渲染的顺序和以及其是否渲染。cs:date-part 元素中不能使用词缀 Affixes.

    没有属性 form 的情况下,cs:date 则描述了一个自带的非本地化的日期格式。其日期格式使用 cs:date-part 子元素来构建。在使用 name 属性并设置为 daymonthyear 时,这些元素的顺序反应了其显示顺序。日期可以在 cs:date-part 元素中使用 formatting 属性以及多个 cs:date-part 的属性来格式化(见 Date-part)。cs:date 中的 delimiter 属性可以用来设置 cs:date-part 元素不同日期部分的分隔符,此外,词缀 可以用在 cs:date-part elements。

    ',6),Bn=n("code",null,"cs:date",-1),Sn={href:"https://docs.citationstyles.org/en/stable/specification.html#affixes",target:"_blank",rel:"noopener noreferrer"},wn={href:"https://docs.citationstyles.org/en/stable/specification.html#display",target:"_blank",rel:"noopener noreferrer"},Ln={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},In={href:"https://docs.citationstyles.org/en/stable/specification.html#text-case",target:"_blank",rel:"noopener noreferrer"},Fn=e('

    Date-part

    cs:date-part 元素用来控制日期的各个部分怎么渲染。除了其父元素 cs:date 调用了本地化日期格式,这些子元素同样可以决定哪些部分出现以及各部分的渲染顺序。cs:date-part 元素描述了 name 属性选择的日期部分,其 name 值可以是:

    "day"

    ​ 对于 "day" 来说,cs:date-part 可能会携带 form 属性,值可以设置为:

    • "numeric" - (默认),例如,每个月第一天显示为 1

    • "numeric-leading-zeros" - 不够的位数用 0 补齐,例如,01

    • "ordinal" - 使用序数形式,例如,1st

      有的语言种,比如法语,只在月份的第一天使用 "oridinal" 也就是序数形式("1er janvier","2 janvier","3 janvier" 等)。这种输出可以通过 "oridinal" 以及 limit-day-oridinals-to-day-1 属性来设置 (see 本地化选项)。

    "month"

    ​ 对于 "month" 来说,cs:date-part 可能会携带 strip-periodsform 属性。在 locale files 中,月份缩写应该后面要加点(例如: "Jan.", "Feb.")。点可以设置 strip-periods"true" 去掉。form 属性可以设置为:

    • "long" - 默认,例如:January
    • "short" - 例如:Jan.
    • "numeric" - 例如:1
    • "numeric-leading-zeros" - 例如:01

    "year"

    ​ 对 "year" 来说,cs:date-part 可能会携带 form 属性,值可以设置为:

    • "long" - 默认,例如:2020
    • "short" - 例如:20
    ',11),Jn=n("code",null,"cs:date-part",-1),Mn={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},Tn={href:"https://docs.citationstyles.org/en/stable/specification.html#text-case",target:"_blank",rel:"noopener noreferrer"},Rn=n("code",null,"range-delimiter",-1),zn=n("code",null,"cs:date",-1),Nn=n("code",null,"cs:date-part",-1),Wn=e(`

    Date Ranges

    默认的日期范围中的分隔符是短线(en-dash),比如:May–July 2008。可以在 cs:date-part 元素中通过 range-delimiter 属性来设置常用的分隔符。当日期范围被渲染的时候,范围分隔符从 cs:date-part 元素中提取,并且匹配两个日期差别中最大的部分("year","month",或 "day")。如下面的例子,将会渲染出类似 "1-4 May 2008", "May–July 2008""May 2008/June 2009" 的日期范围。

    <style>
    +  <citation>
    +    <layout>
    +      <date variable="issued">
    +        <date-part name="day" suffix=" " range-delimiter="-"/>
    +        <date-part name="month" suffix=" "/>
    +        <date-part name="year" range-delimiter="/"/>
    +      </date>
    +    </layout>
    +  </citation>
    +</style>
    +

    AD and BC

    "ad" 一词(Anno Domini)自动附加到小于四位数的正年份(例如,"79" 变为 "79AD")。"bc" 一词(Before Christ)自动附加到负年份(例如,"-2500" 变为 "2500BC")。

    Seasons

    如果日期中包含了季节而不是月份,日期术语 ("season-01""season-04", 分别代表春夏秋冬) 将取代月份术语。比如,下面将会被渲染为 "May 2008""Winter 2009"

    <style>
    +  <citation>
    +    <layout>
    +      <date variable="issued">
    +        <date-part name="month" suffix=" "/>
    +        <date-part name="year"/>
    +      </date>
    +    </layout>
    +  </citation>
    +</style>
    +

    Approximate Dates

    近似日期,在 is-uncertain-date 属性设置为 "true" 时即渲染(见 choose)。例如:下面的例子讲渲染出 2005(正常日期)和 ca.2003(近似日期)的结果。

    <style>
    +  <citation>
    +    <layout>
    +      <choose>
    +        <if is-uncertain-date="issued">
    +          <text term="circa" form="short" suffix=" "/> ## circa 是大约的意思
    +        </if>
    +      </choose>
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </layout>
    +  </citation>
    +</style>
    +

    Number

    cs:number 渲染元素输出 variable 属性选择的数字变量。数字变量标准变量 的子集。

    `,13),On=n("code",null,"cs:number",-1),Un=n("code",null,"is-numeric",-1),Pn={href:"https://docs.citationstyles.org/en/stable/specification.html#choose",target:"_blank",rel:"noopener noreferrer"},jn=e('

    在提取的过程中,用连字符分隔的数字将去掉中间的空格("2 - 4" 变为 "2-4")。用逗号分隔的数字在逗号后会添加一个空格,并删掉其余的空格 ("2,3" 和 "2 , 3" 变为 "2, 3")。当数字使用 & 分隔时,在前后各添加一个空格 ("2&3" 变为 "2 & 3")。

    提取的数字可以通过 form 属性行进格式化,其值可以设置为:

    • "numeric" - 默认,例如: "1", "2", "3"
    • "ordinal" - 序数数字,例如: "1st", "2nd", "3rd"。序数后缀可以使用术语定义 (见 序数后缀.
    • "long-ordinal" - 长序数,例如: "first", "second", "third"。畅序数使用术语 "long-ordinal-01" 到 "long-ordinal-10" 定义, 用来在数字 1 到 10 使用。对于其他的数字,长序数渲染的结果讲和序数相同.
    • "roman" - 罗马数字,例如:"i", "ii", "iii"

    带有前缀或者后缀的数字不能使用罗马数字进行排序或者渲染(例如:"2E" 仍然时 "2E")。没有词缀的数字可以被分别转换("2, 3" 可以转换为 "2nd, 3rd", "second, third" 或者 "ii, iii")。

    ',4),Kn=n("code",null,"cs:number",-1),Gn={href:"https://docs.citationstyles.org/en/stable/specification.html#affixes",target:"_blank",rel:"noopener noreferrer"},Xn={href:"https://docs.citationstyles.org/en/stable/specification.html#display",target:"_blank",rel:"noopener noreferrer"},Vn={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},Hn={href:"https://docs.citationstyles.org/en/stable/specification.html#text-case",target:"_blank",rel:"noopener noreferrer"},Zn=e(`

    Names

    cs:names 元素用来输出一个或多个 名字变量的内容(通过必选属性 variable 来选择),每个 names 元素可以包含一个或者多个名称变量(例如:"author" 名称变量会携带引用项中所有的作者名称)。如果选择了多个变量,每个变量将会按顺序单独渲染,但当选择中包括编辑和翻译("editor""translator")不适用。当包含的内容中有两个名字变量相同时,则只渲染一个。另外,如果 cs:names 元素中包含 cs:label 元素,"editortranslator" 将用来代替 "editor""translator"(例如:Doe(editor & tranlator))。cs:names 元素中的 delimiter 属性可以用来分割不同的名字变量(例如:Doe, Smith (editors); Johnson (translator) 中间使用了分号隔开)。

    <names variable="editor translator" delimiter="; ">
    +  <label prefix=" (" suffix=")"/>
    +</names>
    +
    `,3),Yn=n("code",null,"cs:names",-1),Qn=n("code",null,"cs:name",-1),$n=n("code",null,"cs:et-al",-1),at=n("code",null,"cs:substitute",-1),nt=n("code",null,"cs:label",-1),tt=n("code",null,"cs:names",-1),st={href:"https://docs.citationstyles.org/en/stable/specification.html#affixes",target:"_blank",rel:"noopener noreferrer"},et={href:"https://docs.citationstyles.org/en/stable/specification.html#display",target:"_blank",rel:"noopener noreferrer"},ot={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},lt=e(`

    Name

    cs:name 元素的一个可选的子元素 cs:names 可以用来描述单个 names 的格式,以及名称变量中不同 names 的分隔。cs:name 可能携带下面的属性:

    and

    ​ 在名称变量中用来设置倒数第二个名字和倒数第一个名字的分隔符。可选的值为 "text"("Doe, Johnson and Smith") 或者 "symbol"(eg: "Doe, Johnson & Smith")。

    delimiter

    ​ 在名称变量中设置字符串来分隔名称。默认的是 ","(e.g. "Doe, Smith")。

    delimiter-precedes-et-al

    ​ 确定在使用 et-al 缩写的情况下,在截断的姓名列表和 et-al 术语之间何时使用分隔符或者空格。该属性可选的值有:

    • "contextual" - (default), 在作者列表中有 2 个及以上的人时使用
      • 1 name: "J. Doe et al."
      • 2 names: "J. Doe, S. Smith, et al." 两个人,则在最后一个人名和 et-al 间使用 , 分隔
    • "after-inverted-name" - 在 name-as-sort-order 属性使当前的名字发生了颠倒时使用。例如:当 name-as-sort-order 属性设置为 "first" 时,第一个名字的前后部分 Doe 和 J 发生了反转,因此在第一个名字后面使用了分隔符 ,
      • "Doe, J., et al."
      • "Doe, J., S. Smith et al."
    • "always" - 不论几个名字或者怎样的设置,总是使用
      • 1 name: "J. Doe, et al."
      • 2 names: "J. Doe, S. Smith, et al."
    • "never" - 禁止使用分隔符,不论几个名字。
      • 1 name: "J. Doe et al."
      • 2 names: "J. Doe, S. Smith et al."

    delimiter-precedes-last

    在名字列表中确定何时使用分隔符来分割最后一个作者和倒数第二个作者。如果 and 没有被设置,则不论 delimiter-precedes-last 属性的值,名字分隔符总是使用。

    • "contextual" - 默认,当名字列表中的名字有 3 个或以上时使用。下面在使用 3 个名字时,在 and 前使用了分隔符 ,
      • 2 个名字: "J. Doe and T. Williams"
      • 3 个名字: "J. Doe, S. Smith, and T. Williams"
    • "after-inverted-name" - 在 name-as-sort-order 属性使当前的名字发生了颠倒时使用。例如:当 name-as-sort-order 属性设置为 "first" 时,仅在第一个名字后使用了分隔符 ,
      • "Doe, J., and T. Williams"
      • "Doe, J., S. Smith and T. Williams"
    • "always" - 分隔符一直使用。
      • 2 names: "J. Doe, and T. Williams"
      • 3 names: "J. Doe, S. Smith, and T. Williams"
    • "never" - 禁用分隔符
      • 2 names: "J. Doe and T. Williams"
      • 3 names: "J. Doe, S. Smith and T. Williams"

    et-al-min/et-al-use-first

    通过设置这两个属性,可是使用 et-al 对名字列表进行缩写。如果名字变量中的名字的数目超过了 et-al-min 属性设置的值,则达到 et-al-use-first 设置的名称数量后,渲染的名字列表将被截断。"et-al"(或者 "and others")术语用来添加到截断列表的后面(见 et-al)。默认地,当名字列表被截断到单个名字,则名字和 "et-al" 术语之间使用空格进行隔开(例如:Doe et al.)。当一个名字列表被截断到两个或者三个名字,则使用分隔符(例如:Doe, Smith, et al.)。这些行为可以使用 delimiter-precedes-et-al 属性来设置。

    et-al-subsequent-min/st-al-subsequent-use-first

    如果使用了这两个属性,则属性的值分别替换 et-al-minet-al-use-first 的值以便后续引用。

    et-al-use-last

    当该属性设置为 "true" 时,(默认为 "false"),则使用下面的格式:截断的名称列表,分隔符,省略号,名称列表最后一个名字。这个属性只能在名称列表有多余两个的名称时使用。例:

    A. Goffeau, B. G. Barrell, H. Bussey, R. W. Davis, B. Dujon, H.
    +Feldmann, … S. G. Oliver
    +

    下面讨论的属性将只会影响单个人的名字,这里先给出名字的组成部分。单个人的名字必须含有 "family" 部分,还可以含有 "given","suffix","non-dropping-particle",和 "dropping particle" 等部分。下面对这些部分分别进行解释:

    • "family" - 姓氏,必须去掉 particle(译注:暂译为粒子)和后缀
    • "given" - 全名 "John Edward" 或者 J. E.
    • "suffix" - 名字后缀,比如:外国人常用的 Jr 或者罗马数字(经常翻译为 xx 世,比如伊丽莎白二世) "Jr." in "John Smith Jr." 或者 "III" in "Bill Gates III"
    • "non-dropping-particle" - 不可删除(省略)的粒子。当只显示姓氏的时候,不能省略 ("de" in the Dutch surname "de Koning") ,但是可能会在姓氏中分别对待,比如在排序的时候
    • "dropping-particle" - 可删除的粒子。当只显示姓氏的是欧,可以省略 ("van" in "Ludwig van Beethoven", which becomes "Beethoven")

    下面的属性将会影响单个人的名称的渲染:

    form

    指定是否显示名字的所有部分(默认为 "long"),或者只显示姓氏和不可省略粒子(值为 "short")。除这两种情况外,还可以设置为 "count",返回使用 cs:names 元素渲染的部分的总数(考虑 et-al 缩写和编辑/翻译等折叠的影响)。

    initialize

    当该属性设置为 "false 时(默认的结果为 "true"),并且 "initialize-with" 属性被设置时,全名将不使用缩写。但是,如果在全名中有单独的大写字母的时候,仍然会添加 \`\`"initialize-with"的值。例如:当initialize设置为"false",并且initialize-with设置为"."\` 时,James T kirk 将会变为 James T. Kirk。

    initialize-with

    当该实行被设置时,全名将会使用缩写。该属性将会在每个首字母后添加属性值,比如:上述的名字会变为 J.J. Doe。对于合成的全名,例如:Jean-luc,可以使用全局的带有连字符的 initialize-with-hyphen 属性来设置其缩写形式(见 人名中的连字符)。

    name-as-sort-order

    指定名字的显示顺序为:姓,然后是名,例如:John Doe 变为 Doe,John。该属性值可以设置为:

    • "first" - 属性只影响名字变量中的第一个名字
    • "all" - 属性将会影响所有的名字

    注意:即使 name-as-sort-order 改变了名字内部的顺序,最终显示的顺序不一定与包含粒子和后缀的名字的相同(见 名字内部顺序)。name-as-sort-order 只影响以拉丁字母或者西里尔字母书写的名字。其他字母书写的名字(比如,亚洲的大部分名字)总是将全名中的姓显示在前面。

    sort-separator

    设置名字的不同部分由于 name-as-sort-order 属性导致的内部位置变换后的分隔符。默认值为 ","(Doe, John)。和 name-as-sort-order 属性相同,该属性只适用于拉丁字母和西里尔字母的名字。

    cs:name 元素也可以携带 词缀格式化

    名字内部顺序

    名字内部各部分的顺序取决于 cs:name 元素中 formname-as-sort-order 属性和 cs:style 元素中的 demote-non-droping-particle 属性的设置。名称各部分的显示和排序的属性通常是不同的。下面将对名字顺序进行简单的介绍:

    拉丁/西里尔名字的显示顺序


    条件:form 属性设置为 "long"

    顺序:1. 名 2. 可省略粒子 3. 不可省略粒子 4. 姓 5. 后缀

    示例:Jean de La Fontaine III


    条件:form 属性设置为 "long"name-as-sort-order 属性激活,demote-non-dropping-particle 属性设置为 "never" 或者 "sort-only"

    顺序:1. 不可省略粒子 2. 姓 3. 名 4. 可省略粒子 5. 后缀

    示例:La Fontaine, Jean de, III


    条件:form 属性设置为 "long"name-as-sort-order 属性激活,demote-non-dropping-particle 属性设置为 "display-and-sort"

    顺序:1. 姓 2. 名 3. 可省略粒子 4. 不可省略粒子 5. 后缀

    示例:Fontaine, Jean de La III


    条件:form 属性设置为 "short"

    顺序:1. 不可省略粒子 2. 姓

    示例:La Fontaine


    拉丁/西里尔名字的排序顺序


    条件:demote-non-dropping-particle 属性设置为 "never"

    顺序:1. 不可省略粒子 + 姓 2. 可省略粒子 3. 名 4. 后缀

    示例:La Fontaine de Jean III


    条件:demote-non-dropping-particle 属性设置为 "sort-only" 或者 "display-and-sort"

    顺序:1. 姓 2. 可省略粒子 + 不可省略粒子 3. 名 4. 后缀

    示例:Fontaine de La Jean III


    非拉丁和非西里尔名字的显示和排序顺序


    条件:form 属性设置为 "long"

    顺序:1. 姓 2. 名

    示例:张三 或者 Zhang San


    条件:form 属性设置为 "short"

    顺序:1. 姓

    示例:张 或者 Zhang


    名字格式化

    cs:name 元素可能会携带一个或者两个 cs:name-part 子元素来对名字的小部分进行特定的格式化。cs:name-part 必须携带 name 属性,设置为 "given" 或者 "family"

    如果设置为 "given"cs:name-part 元素的 格式化文字大小写 属性会影响 "given""dropping-particle" 部分。词缀 出现在 "given" 左右,将该部分扩起来。

    如果设置为 "family"cs:name-part 元素的 格式化文字大小写 属性会影响 "given""non-dropping-particle" 部分。词缀 出现在 "family" 左右,将该部分扩起来。

    "suffix" 部分不受 name-part 部分格式限制。cs:name-part 元素不影响 name-part 渲染的顺序。下面的代码,将产生类似 Jane DOE 的效果:

    <names variable="author">
    +  <name>
    +    <name-part name="family" text-case="uppercase"/>
    +  </name>
    +</names>
    +

    Et-al

    Et-al 缩写通过 et-al-… 属性来控制(见 Name),同时也可以使用可选的 cs:et-al 元素设置,cs:et-al 元素必须放在 cs:name 元素后。term 属性可以被设置为 "et-al"(默认)或者 "and others"格式化 属性可以用来设置 et-al 的格式,下面是 "et-al" 术语的一个例子:

    <names variable="author">
    +  <et-al term="and others" font-style="italic"/>
    +</names>
    +

    Substitute

    可选的 cs:substitute 元素,是 cs:names 的子元素,且必须是最后一个子元素,在父元素 cs:names 中指定的 名字变量 为空时添加替换。替换必须放在 cs:substitute 元素中,并且必须包含一个或者多个渲染元素(除 cs:layout)。cs:names 的简洁版本没有子元素,继承了 cs:names 元素中在 cs:namecs:et-al 子元素的属性值。如果 cs:substitute 元素包含了多个子元素,第一个非空的元素用于替换。替换变量在输出的其余部分被抑制,以防止重复。下面的例子中:"author" 名称变量为空时,就被 "editor" 名称变量替换,在没有 editor 时,则使用 "title" 宏替换。

    <macro name="author">
    +  <names variable="author">
    +    <substitute>
    +      <names variable="editor"/>
    +      <text macro="title"/>
    +    </substitute>
    +  </names>
    +</macro>
    +

    Label in cs:names

    cs:label 元素是可选的(见 Label),而且必须位于 cs:namecs:et-al 元素后,在 cs:substitute 元素前。当 cs:label 作为 cs:names 元素的子元素时,cs:label 不能携带 variable 属性,而是使用父元素 cs:names 中的变量。第二个区别是:form 属性可以设置为 "verb" 或者 "verb-short",其所有允许的值为:

    • "long" - (默认), 例如, "editor" 术语渲染为 "editor" 和 "editors"
    • "short" - 例如,"editor" 术语渲染为 "ed." 和 "eds"
    • "verb" - 例如,"editor" 术语渲染为 "edited by"
    • "verb-short" - 例如,"editor" 术语渲染为 "ed."
    • "symbol" - 例如,"section" 术语渲染为 "§" 和 "§§"

    Label

    cs:label 渲染元素输出与所选变量匹配的术语,该属性必须设置为 "locator"、"page" 或数字变量之一。只有当选择的变量是非空的时候,术语才会渲染。例如:

    <group delimiter=" ">
    +  <label variable="page"/>
    +  <text variable="page"/>
    +</group>
    +

    可以生成 "page 3" 或者 "pages 5-7"cs:label 可能会携带下面的属性:

    form

    ​ 选择术语的形式,可以设置为下面的值:

    • "long" - (默认), 例如: "page" 术语渲染为 "page"/"pages"
    • "short" - 例如: "page" 术语渲染为 "p."/"pp."
    • "symbol" - 例如: "section" 术语渲染为 "§"/"§§"

    plural

    ​ 设置术语的复数形式,可以使用下面的值:

    • "contextual" - (默认),复数形式的渲染和具体的内容相匹配。当内容中包含多个数字时,使用复数形式。如下面的渲染结果:"page 1","pages 1-3","volume 2","volumes 2 & 4"。或者在使用 number-of-pagesnumber-of-volumes 时,数字大于 1,例如: ("1 volume" 和 "3 volumes"。
    • "always" - 总是使用复数形式,不管具体的内容如何。例如:"pages 1" 和 "pages 1-3"
    • "never" - 禁止使用复数形式,不管具体内容: "page 1" 和 "page 1-3"
    `,101),ct=n("code",null,"cs:label",-1),pt={href:"https://docs.citationstyles.org/en/stable/specification.html#affixes",target:"_blank",rel:"noopener noreferrer"},it={href:"https://docs.citationstyles.org/en/stable/specification.html#formatting",target:"_blank",rel:"noopener noreferrer"},ut={href:"https://docs.citationstyles.org/en/stable/specification.html#text-case",target:"_blank",rel:"noopener noreferrer"},dt={href:"https://docs.citationstyles.org/en/stable/specification.html#strip-periods",target:"_blank",rel:"noopener noreferrer"},rt=e(`

    Group

    cs:group 元素必须包含一个或者多个渲染元素(除了 cs:layout)。cs:group 可以携带 delimiter 属性来分隔子元素以及 affixesdisplayformatting 属性。cs:group 隐含的条件,当以下情况出现时,cs:group 和它的子元素将会被抑制:a) 在 cs:group 中至少一个渲染元素调用了变量(直接地或者通过宏调用),b) 所有被调用得变量都为空。

    <layout>
    +  <group delimiter=" ">
    +    <text term="retrieved"/>
    +    <text term="from"/>
    +    <text variable="URL"/>
    +  </group>
    +</layout>
    +

    上述代码可以生成 "retrieved from http://dx.doi.org/10.1128/AEM.02591-07" 类似得结果,但是当 URL 为空的时候,不生成结果。

    Choose

    cs:choose 元素允许有条件的渲染元素。下面的例子的意思为:在 "issud" 日期变量存在的情况下,就实施渲染,如果不存在,就给出 "no date" 术语:

    <choose>
    +  <if variable="issued">
    +    <date variable="issued" form="numeric"/>
    +  </if>
    +  <else>
    +    <text term="no date"/>
    +  </else>
    +</choose>
    +

    cs:choose 元素中必须还有 cs:if 子元素,后面还可以有一个或者多个 cs:else-if 子元素以及一个可选的用来结尾的 cs:else 元素。cs:ifcs:else-if 元素可能回包含任意个除 cs:layout 的渲染元素。由于空的 cs:else 元素是多余的,所以 cs:else 元素必须至少包含一个渲染元素。cs:ifcs:else-if 元素必须含有一个或多个判断条件,这些条件可以使用下买的属性设置:

    disambiguate

    ​ 当改属性设置为 "true"(唯一允许的值) 的时候,在元素内容消除了两个相同的引用时渲染。当所有其他消除歧义的方法都不能识别唯一的目标时,才进行消除歧义的尝试。

    is-numeric

    ​ 测试给定的变量([附录 IV 变量](#附录 IV 变量))是不是包含数字部分。如果内容仅由数字构成,则识别为数字。数字可以带有前缀、后缀("D2","2b","L2d")、并且可能被逗号,连字符或 & 分隔("2, 3","2-4","2 & 4")。 例如, "2nd" 被识别为 "true" ,但 "second" 和 "2nd edition" 被识别为 "false".

    is-uncertain-date

    ​ 判断给定的 日期变量 是不是包含 [近似日期](#Approximate Dates)。

    locator

    ​ 判断位置是不是和给定的位置符合。这里的位置主要是在一个文档中的位置,比如,题目,第几段。使用 "sub-verbo" 判断是不是 "sub-verbo" 类型

    position

    ​ 判断引用的位置湿否和给定的位置匹配。当在 cs:bibliography 中调用时,position 的结果为 "false"。位置可以使用下面的选项测试:

    `,18),kt=e("
  • "first": 第一个引用项的位置

  • "ibid"/"ibid-with-locator"/"subsequent": 引用先前引用的项目的引用,Such cites may also have the "ibid" or "ibid-with-locator" position when:

    1. the current cite immediately follows on another cite, within the same citation, that references the same item

    or

    1. the current cite is the first cite in the citation, and the previous citation consists of a single cite referencing the same item

    If either requirement is met, the presence of locators determines which position is assigned:

    • Preceding cite does not have a locator: if the current cite has a locator, the position of the current cite is "ibid-with-locator". Otherwise the position is "ibid".
    • Preceding cite does have a locator: if the current cite has the same locator, the position of the current cite is "ibid". If the locator differs the position is "ibid-with-locator". If the current cite lacks a locator its only position is "subsequent".
  • ",2),ht=n("code",null,"near-note-distance",-1),mt={href:"https://docs.citationstyles.org/en/stable/specification.html#note-distance",target:"_blank",rel:"noopener noreferrer"},qt=e(`

    Whenever position="ibid-with-locator" tests true, position="ibid" also tests true. And whenever position="ibid" or position="near-note" test true, position="subsequent" also tests true.

    type

    ​ 测试项目是不是和给定的类型匹配([附录 III 类型](#附录 III 类型))。这里的类型指条目的类型,例如,书,期刊文献,学位论文。

    variable

    ​ 测试给定变量([附录 IV 变量](#附录 IV 变量))的默认的形式 (long) 是不是为空。


    除了 disambiguate 外,所有的条件都允许有多个测试值,多个测试值使用空格分隔("book thesis")。

    cs:if 元素和 cs:else-if 元素可能会携带 match 属性用来控制判断的逻辑,match 可设置的值为:

    • "all" - 默认,仅当所有给定测试值都为 true 的时候结果才为 true
    • "any" - 当任意一个值为 true 的时候,结果就为 true
    • "none" - 当没有值测试为 true 的时候,结果为 true

    样式的行为

    WORK IN PROGRESS

    此页面正在施工中。

    选项

    样式可以使用不同的元素来进行特定的配置。在 cs:citation 元素中设置元素可以配置特定的 引文选项;在 cs:bibliography 元素和 全局选项(同时影响引文和参考文献条目)中,可以配置特定的参考文献条目。继承的名字选项可以在 cs:style,cs:stylecs:bibliography 中设置。最后,本地化选项 可以在 cs:locale 元素中设置。

    引文选项

    消除歧义

    当一个引用对应多个参考文献条目的时候会产生歧义。下面有四种方法用来消除歧义:

    1. 显示更多作者姓名
    2. 扩展姓名(添加缩写或者完整的名)
    3. 添加年份后缀
    4. cs:choosedisambiguate 属性为 true 的时候,实行渲染

    方法 2 也可以在全局名称歧义消除异己整个文档中有歧义的地方。

    消除歧义的方法在下面属性被设置的时候,将会被激活,并且按上述列表中的方法进行尝试:

    disambiguate-add-names 步骤 1

    ​ 如果设置为 "true"(默认为 false),使用 et-al 缩写锁代替的名字列表会逐个的加入到渲染列表中,知道添加的名字可以消除引用歧义为止。

    disambiguate-add-givenname 步骤 2

    ​ 如果设置为 "true"(默认为 false),产生歧义的名字将被扩展。名字扩展可以使用 givenname-disambiguation-rule 设置。下面是一个例子。

    含有歧义的引用消除歧义的引用
    (Simpson 2005; Simpson 2005)(H. Simpson 2005; B. Simpson 2005)
    (Doe 1950; Doe 1950)(John Doe 1950; Jane Doe 1950)

    如果不能通过扩展名字来实现消除歧义,当 disambiguate-add-names 属性设置为 "true", the names still hidden as a result of et-al abbreviation after the disambiguation attempt of disambiguate-add-names are added one by one to all members of a set of ambiguous cites, until no more cites in the set can be disambiguated by adding expanded names.

    givenname-disambiguation-rule

    用来指定 a) 名字扩展的目的是不是仅限于消除歧义,还是对消除歧义的名字有其他的目的 (只有在后面的情况中,有歧义的名字才会在明确的引用中扩展,例如:从 (Doe 1950; Doe 2000) 扩展到 (Jane Doe 1950; John Doe 2000)) b) 名称扩展是针对全部还是针对每个引用的名字 c) 扩展名字的方法。

    扩展单个名字

    ​ 扩展单个名字的步骤是:

    1. 如果 initialize-with 被设置并且 initialize 的值为默认的 true:
      (a) 可以通过 "long" 而不是 "short" 的形式来渲染首字母 (e.g. Doe 变为 J. Doe)
      (b) 如果 initialize 设置为 "flase",完整的姓名被渲染,而不是首字母(J. Doe 变为 John Doe)
    2. 如果 initialize-with 没有被设置,使用 "long" 格式渲染完整的姓名(Doe 变为 John Doe)

    消除歧义法则

    givenname-disambiguation-rule 属性可设置的值为:

    ​ "all-name"

    ​ 名字扩展具有消除名字歧义和消除引用歧义的双重目的。在渲染的有歧义的名称中,所有的有歧义的或者没有歧义的名字都将被消除歧义。

    ​ "all-names-with-initials"

    ​ 和 "all-name" 一样,但是名称的扩展仅限于缩写。当 initialize-with 没被设置或者 initialize 被设置为 "false" 时,不会进行消除歧义的尝试。

    ​ "primary-name"

    ​ 和 "all-name" 一样,但是消除歧义仅限于每个引用的第一个名字。

    ​ "primary-name-with-initials"

    ​ 和 "all-names-with-initials" 一样,但是消除歧义仅限于每个引用的第一个名字。

    ​ "by-cite"

    ​ 默认,和 "all-name" 一样,但是名称扩展的目的仅限于消除引用的歧义,只有有歧义的名字在有歧义的引用中才会被影响,并且在引用的第一个名字消除歧义后就停止消除歧义。

    disambiguate-add-year-suffix 步骤 3

    如果设置为 "true"(默认为 "false"),字母序的年后缀将会被添加到有歧义的名字上("Doe 2007, Doe 2007" 变为 "Doe 2007a, Doe 2007b")。当字母序到达 "z",后,就会启用两个字母("z", "aa", "ab", …, "az", "ba" 等等)。


    如果应用上述的歧义消除方法后仍然存在歧义,则尝试通过 disambiguate 条件来渲染不同的引用 [步骤 4] (见 choose)。

    引用分组

    通过引用分组,可以将相同名称的文本引用放在一起,比如:(Doe 1999; Smith 2002; Doe 2006; Doe et al. 2007) 将会变为 (Doe 1999; Doe 2006; Smith 2002; Doe et al. 2007)。引用分组在引用排序和消除歧义后执行。分组后的引用保持其相对顺序,并移到第一个改组中引用出现的第一个位置。

    引用分组可以在 cs:citation 元素中通过设置 cite-group-delimiter 属性或者 collapse 属性(见 [cite collapsing](#cite collapsing))激活。

    cite-group-delimiter

    激活引用分组并为引用组中的引用指定分隔符,默认为 ","。例如,当 cs:citation 元素中的 cs:layout 中的 delimiter 设置为 ";" 时,collapse 设置为 "year"cite-group-delimiter 设置为 ",",将生成类似 "(Doe 1999,2001; Jones 2000)" 的引用。

    cite collapsing/引用折叠

    author 或者 author-date 类型的引用格式中的引用分组和数字格式中的引用范围可以通过 collapse 属性来折叠。折叠引用组中分隔符可以是使用 year-suffix-delimiterafter-collapse-delimiter 属性来设置:

    collapse

    激活引用分组和折叠。允许的值为:

    • "citation-number" - 当使用数字样式的时候,折叠引用数字的范围(通过 "citation-number" 变量来渲染) ,例如:[1, 2, 3, 5] 变为 [1–3, 5]。只有升序的引用才可以折叠,比如: [3, 2, 1] 将不会折叠。
    • "year" - 通过压缩相同的名字来折叠引用分组,例如: "(Doe 2000, Doe 2001)" 变为 "(Doe 2000, 2001)"。
    • "year-suffix" - 对名字相同的折叠项,折叠相同的年份,例如: "(Doe 2000a, 2000b)" 变为 "(Doe 2000a, b)"。
    • "year-suffix-ranged" - 对名字相同的折叠项,折叠年份范围,例如: "(Doe 2000a, b, c, e)" 变为 "(Doe 2000a–c,e)"。

    disambiguate-add-year-suffix 设置为 "false" 时,或者引用中包含位置(例如:“(Doe 2000a-c, 2000d, p. 5, 2000e,f)”,"Doe 2000d" 有一个页码位置),"year-suffix" 和 "year-suffix-ranged" 回退到 "year"。

    year-suffix-delimiter

    ​ 设置年份后缀的分隔符。默认在 cs:citation 元素的 cs:layout 中设置。例如:当 collapse 设置为 "year-suffix"cs:citation 中的 cs:layoutdelimiter 元素设置为 ";",并且 year-suffix-delimiter 设置为 "," 时,渲染结果将类似于 "(Doe 1999a,b; Jones 2000)"。

    after-collapse-delimiter

    ​ 设置折叠后的引用组要使用的分隔符。默认在 cs:citation 元素的 cs:layout 中设置。例如:当 collapse 设置为 "year"cs:citation 中的 cs:layoutdelimiter 元素设置为 ",",并且 after-collapse-delimiter 设置为 ";" 时,渲染结果将类似于 "(Doe 1999, 2001; Jones 2000, Brown 2001)"。

    标注距离

    near-note-distance

    当有一个预先的标注时,"near-note" 位置是我引用被判断为真,这种预先的标注可以为 a) 指向同一个项目 b) 当前注视以前的脚注或尾注。(译注:不知道讲了什么)

    参考文献目录选项

    空白

    hanging-indent

    ​ 如果设置为 "true"(默认为 "false"),参考文献列表将采用悬挂缩进渲染。

    second-field-align

    ​ 如果该属性被设置,则书目条目的后续行沿第二字段对齐。 使用 "flush" 时,第一个字段与边距齐平。 对于 "margin",第一个字段放在 margin 中,随后的行与 margin 对齐。例如,当第一个字段设置为 <text variable="citation-number" suffix=". "/>

    9.  Adams, D. (2002). The Ultimate Hitchhiker's Guide to the
    +    Galaxy (1st ed.).
    +10. Asimov, I. (1951). Foundation.
    +

    line-spacing

    ​ 指定垂直方向的行距。默认值为 "1",即单倍行距。可以被设置为任意正整数,用来表示对应倍数的行距。

    entry-spacing

    ​ 指定不同条目垂直方向的距离,默认值为 "1",即一倍距离,可以被设置为任意正整数,用来表示对应倍数的距离。

    参考文献分组

    subsequent-author-substitute

    ​ 如果该属性被设置,则此属性将用上一条条目中的名称替换参考文献条目中的名字。具体的代替方案取决于 subsequent-author-substitute-rule 属性的值。替换仅限于 cs:names 元素中渲染的第一个名字。

    subsequent-author-substitute-rule

    ​ 用来指定 subsequent-author-substitute 的结果怎么替换。允许的值为:

    • "complete-all" - 默认值,当名字变量中的所有渲染的名字和上一个参考文献条目相同时,subsequent-author-substitute 属性的值将代替整个名字列表(包括标点和术语,比如 et-al 和 and 等术语),但 cs:names 元素中设置的后缀将不会被代替。
    • "complete-each" - 和 "complete-all" 一样,需要完整的匹配,但是 subsequent-author-substitute 属性的值将会代替所有被渲染的名字。
    • "partial-each" - 当有一个或者多个名字变量中的渲染名字和上一个条目中相同时,使用 subsequent-author-substitute 属性代替对应的值。匹配从第一个名字开始,直到不匹配的名字为止。
    • "partial-first" - 和 "partial-each" 相同,但是替换仅限于第一个名字。

    对下面的例子:

    Doe. 1999.
    +Doe. 2000.
    +Doe, Johnson & Williams. 2001.
    +Doe & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +Doe, Stevens & Miller. 2004.
    +Doe, Williams et al. 2005.
    +Doe, Williams et al. 2006.
    +

    subsequent-author-substitute 设置为 "-",并且 subsequent-author-substitute-rule 设置为 "complete-all",渲染结果将变为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +Doe & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---. 2004.
    +Doe, Williams et al. 2005.
    +---. 2005.
    +

    subsequent-author-substitute-rule 设置为 "complete-each" 时,渲染的结果为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +Doe & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---, --- & ---. 2004.
    +Doe, Williams et al. 2005.
    +---, --- et al. 2006.
    +

    subsequent-author-substitute-rule 设置为 "partial-each" 时,渲染的结果为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +--- & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---, --- & ---. 2004.
    +Doe, Williams et al. 2005.
    +---, --- et al. 2005.
    +

    subsequent-author-substitute-rule 设置为 "partial-first" 时,渲染的结果为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +--- & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---, Stevens & Miller. 2004.
    +Doe, Williams et al. 2005.
    +---, Williams et al. 2005.
    +

    全局选项

    人名中的连字符

    initialize-with-hyphen

    ​ 该属性用来制定合成名字中间是不是使用连字符。例如,"Jean-Luc" 是一个合成名字,如果该属性设置为 "true"(默认),渲染结果为 "J.-L.",如果设置为 "false",渲染结果为 "J.L."

    页码范围

    page-range-format

    ​ 用来设置页码范围的格式,是不是使用简写来压缩。其可选的值有:"chicago" ("321–28"), "expanded" ( "321–328"), "minimal" ("321–8"), 或者 " minimal-two" ("321–28")。每一组值前面表示可选的属性值,后面是渲染结果的例子。也可见 [附录 V 页码范围格式](#附录 V 页码范围格式)。使用 page-range-delimiter 属性可以用来设置页面范围分割的符号,该属性在 CSL 1.0.1 中引入,默认是一个破折号。如果改属性没有设置,就默认使用破折号。

    Name Particles

    ​ 西方人的名字中经常包括一个或者多个小部分,例如,"de" 在荷兰人的名字中 "W. de Koning"。在仅显示姓氏时,这些小部分可以分为必须保留和可删除(或译为不可省略和可省略)两种类型:这两种类型分别称为 non-dropping 部分和 dropping 部分。一个单个的名字可以同时包括这两种类型(不能删除的类型始终位于可删除类型的后面)。例如,"W. de Koning" 和法国名字 "Jean de la Fontaine" 可以被解构为:

    {
    +  "author": [
    +    {
    +      "given": "W.",
    +      "non-dropping-particle": "de",
    +      "family": "Koning"
    +    },
    +    {
    +      "given": "Jean",
    +      "dropping-particle": "de",
    +      "non-dropping-particle": "La",
    +      "family": "Fontaine"
    +    }
    +  ]
    +}
    +

    在仅显示姓氏的时候,只保留不能删除的部分,"De koning""La Fontaine"

    在名字倒写的情况下,即姓氏在名字之前,在姓氏后面始终添加 dropping particle,但是 non-dropping 部分可以前置(例如,"de Koning, W.")或者后置(Koning, W. de)。在名字倒写,不可省略粒子前置时,可以使用下面的方式对名字进行排序:排序 A:将不可省略粒子和姓一起保留作为主排序键值的一部分;排序 B:通过将不可省略粒子和姓分开,并使其成为二级排序键值,并加入可省略粒子(如果有):

    Sort order A: 不可省略粒子不降级

    • 主排序键值 "La Fontaine"
    • 次排序键值 "de"
    • 第三排序键值: "Jean"

    Sort order B: 不可省略粒子降级

    • 主排序键值 "Fontaine"
    • 次排序键值 "de La"
    • 第三排序键值 "Jean"

    对不可省略粒子的设置可以使用 demote-non-dropping-particle 选项:

    demote-non-dropping-particle

    ​ 用来设置在倒写的名字中不可省略粒子的显示和排序方式(例如 Koning W. de)。可设置的值为:

    • "never": 不可省略粒子被作为姓中的一部分对待,并附加可省略粒子("de Koning, W." "La Fontaine, Jean de")。不可省略粒子作为主排序键值的一部分 (排序 A,例如. "de Koning, W." 将出现在首字母 "D" 的区域).
    • "sort-only": 显示的方式和 "never" 相同,但是不可省略粒子降级作为二级排序键值。(排序 B, "de Koning, W." 出现在首字母 "K" 的区域).
    • "display-and-sort" (默认),可省略粒子和不可省略粒子在最后( "Koning, W. de" 和 "Fontaine, Jean de La")。对名字排序,所有的粒子都是二级排序键值的一部分。(排序 B,"Koning, W. de" 出现在首字母 "K" 的区域).

    某些名字中包含的粒子禁止被降级。在这些情况中,粒子将和姓合并到一起,比如,对于法国名字 Charles de Gaulle

    {
    +  "author": [
    +    {
    +      "family": "de Gaulle",
    +      "given": "Charles"
    +    }
    +  ]
    +}
    +

    可继承的名称选项

    cs:namescs:name 元素的属性也可以在 cs:stylecs:citationcs:bibliography 元素中设置。这样就不需要每次在 cs:namescs:name 出现的时候赋值。

    ​ 可以在 cs:name 元素中继承的属性有 and, delimiter-precedes-et-al, delimiter-precedes-last, et-al-min, et-al-use-first, et-al-use-last, et-al-subsequent-min, et-al-subsequent-use-first, initialize, initialize-with, name-as-sort-ordersort-separatorname-form 属性和 name-delimiter 属性对英语 cs:name 元素中的 formdelimiter 属性。同样地,names-delimiter 属性对应 cs:names 元素中的 delimiter 属性。

    ​ 当一个可继承的名称属性在 cs:stylecs:citationcs:bibliography 中设置时,其值将作用于改元素包含的所有的 cs:names 元素。如果一个属性在多个可继承的层次设置,最底层的值发挥作用。

    局部选项

    limit-day-ordinals-to-day-1

    ​ 日期格式在 cs:datecs:date-part 元素中定义。默认地,当 cs:date-part 元素中的 name 设置为 "day"form 属性设置为 "ordinal" 时,所有的天(1 到 31)将会以序数形式渲染,例如:"January 1st","January 2nd" 等等。通过将 limit-day-ordinals-to-day-1 属性设置为 "true"(默认值为 "false"),序数格式将仅限于每个月的第一天,其他的天将不使用序数格式。这在某些语言中出现,比如法语,"1er janvier","2 janvier","3 janvier"。

    punctuation-in-quote

    ​ 当 cs:text 元素渲染时,如果 quotes 属性设置为 "true"(见 格式化),并且在输出后有逗号或者句号,punctuation-in-quote 属性可以控制标点放在括号的内还是外,"false" 为外(默认),"true" 为内。

    排序

    cs:citationcs:bibliography 元素可以在 cs:layout 元素之前携带一个 cs:sort 子元素,来实现对引文或者参考文献条目的排序。在缺失 cs:sort 元素时,引文和文献条目将会使用他们在文章中出现的顺序来排序。

    cs:sort 元素必须包含一个或者多个 cs:key 子元素,可以在该元素中设置变量([附录 IV 变量](#附录 IV 变量))或者宏名来实现排序。对于每个 cs:key 元素,排序的顺序可以通过设置 sort 属性来设置为升序("ascending",默认)或者降序("descending")。属性 names-min,names-use-first,names-use-last 可以用来覆盖 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-firstet-al-use-last 属性的值,并且可以通过 cs:key 影响所有的名字.

    ​ 排序的键值是按顺序求值的,也就是说:首先,使用第一个排序键值对所有的项目进行排序。然后使用第二个键值对第一个键值排序后的结果进行排序,直到所有的键值都完成排序为止。如果键值为空,就放到最后。

    ​ 这里给出一个例子:其中首先引用 "author" 宏进行排序,并且使用 et al. 来对较长的作者序列进行代替。然后,使用 "issued" 变量来进行第二次排序,使用降序:

    <citation>
    +  <sort>
    +    <key macro="author" names-min="3" names-use-first="3"/>
    +    <key variable="issued" sort="descending"/>
    +  </sort>
    +  <layout>
    +    <!-- rendering elements -->
    +  </layout>
    +</citation>
    +

    ​ 变量或者宏的排序键值可以与 "normal" 渲染的输出不同,具体要依赖下面的细节:

    排序变量

    cs:key 元素通过 variable 变量属性调用变量的排序键值。名称变量、日期变量和数字变量除外:

    名称: 名字变量 通过变量属性被调用,例如 <key variable="author"/>,当 form 属性设置为 "long"name-as-sort-order 属性设置为 "all",返回名字列表字符串。

    日期日期变量 通过 variable 属性被调用,返回 YYYYMMDD 格式。使用 0 代替缺失的日期部分,例如:December 2000 渲染为 20001200。因此,简略的日期在升序排列的时候更加靠前,例如:2000, May 2000, May 1st 2000。负数的年份(即公元前)将被反向排序,比如:100BC, 50BC, 50AD, 100AD。排序过程中,季节将被忽略,因为南北半球的季节顺序不同。在日期范围中,开始的日期用于主要排序,结束日期用于次要排序,例如:2000–2001, 2000–2005, 2002–2003, 2002–2009。在具有相同的开始日期时,日期范围将放在单独的日期后,例如:2000, 2000–2002。

    数字数字变量 通过 variable 属性来调用,返回整数(form 设置为 "numeric")如果原始的变量值仅由非数字文本组成,则将该值作为文本字符串返回。

    排序宏

    ​ 变量排序的键值是由字符串值组成,没有富文本标记。通过宏属性中的键值 cs:key 来调用。下面为一些特殊情况。

    ​ 对于名字排序,使用相同的宏而不是直接使用名字变量来渲染和排序有 4 个好处。第一,可以使用替换,例如:可以使用 "editor" 变量代替空的 "author" 变量。第二,可以使用 et-al 缩写,在宏里使用 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-firstet-al-use-last 可选属性,或者覆盖 cs:key 元素中的 names-min, names-use-firstnames-use-last 。当 et-al 缩写出现的时候,"et-al""and others" 术语不会包括在排序键值中。第三,名字可以只使用姓来排序,即使用宏,其中的 cs:nameform 属性设置为 "short"。最后,通过调用宏,将 cs:name 中的 form 属性设置为 "count",可以按姓名列表中姓名的数目进行排序。至于使用 variable 属性对姓名进行排序,将 cs:name 中的 name-as-sort-order 属性设置为 "all",返回值为排序后的名称列表。

    ​ 在宏中带有 cs:number数字变量 的和日期变量的渲染方法和通过变量的调用相同。唯一的区别是:如果通过 variable 属性调用日期变量,将返回完整的日期。相反地,宏调用则只返回原本要渲染的日期部分。例如:

    范围分隔符

    ​ "citation-number" 和 "year-suffix" 变量的折叠范围以短划线分隔,例如 "(1-3,5)" 和 "(Doe 2000a-c,e)"。

    ​ "locator" 变量总是使用一个短划线代替任意的连字符。 对 "page" 变量来说,只有 cs:style 中的 page-ran ge-format 属性被设置时,替换才会执行(见 页码范围)。

    格式化

    ​ 下面的属性可以在 cs:date, cs:date-part, cs:et-al, cs:group, cs:label, cs:layout, cs:name, cs:name-part, cs:names, cs:numbercs:text 中设置:

    font-style

    用来设置字体,可能的值为:

    • "normal" 默认
    • "italic" 设置文字的斜体
    • "oblique" 设置没有斜体的文字倾斜

    font-variant

    Allows for the use of small capitals, 值可以设置为:

    • "normal" 默认
    • "small-caps"

    font-weight

    设置字宽,值可以为:

    • "normal" 默认
    • "bold"
    • "light"

    text-decoration

    设置下划线,值可以为:

    • "none" 默认
    • "underline"

    vertical-align

    设置垂直对齐,值可以为:

    • "baseline" 默认
    • "sup" 上标
    • "sub" 下标

    词缀

    ​ 前缀属性 prefix 和后缀属性 suffix 可以在 cs:date(使用 cs:date 定义本地化格式除外),cs:date-partcs:date 调用本地化格式除外)、cs:groupcs:labelcs:layoutcs:namecs:namescs:number 以及 cs:text 中设置。属性值用来在输出的前面或者后面添加东西,但是只有输出的时候才会渲染。除在 cs:layout 中设置外,词缀将出现在同一个元素的 格式化引用strip-periodstext-case 的影响范围的外面,也就是这些属性的设置对前缀和后缀没有影响。作为一种解决方法,在父元素 cs:group 中设置上述属性,会产生影响。

    分隔符 delimiter

    delimiter 属性可以在 cs:date(用来分隔日期的各部分,如年和月;在 cs:date 调用本地化格日期格式时,分隔符将被禁用)、cs:name(分隔名字变量中不同的名字列表)、cs:name(分隔名字列表中的名字)、cs:group 以及 cs;layout(分隔子元素的输出)中设置分隔符。

    显示 display

    display 属性可用于将各个参考文献条目构成一个或者多个文本块。如果使用该属性,所有的渲染元素都在该属性的控制下。(译注:是用来设置对齐效果的)属性可能的值为:

    • "block" - 两边对其
    • "left-margin" - 左对齐。
    • "right-inline" - 右对齐
    • "indent" - 缩进。

    A. 除使用 second-field-align 外,使用 "left-margin""roght-inline" 可以实现相同的渲染效果。这种操作方式潜在的好处是,可以在最终的输出中进一步控制块的格式,例如,在 HTML 的 CSS 或者 Word 的样式中。

    <bibliography>
    +  <layout>
    +    <text display="left-margin" variable="citation-number"
    +        prefix="[" suffix="]"/>
    +    <group display="right-inline">
    +      <!-- rendering elements -->
    +    </group>
    +  </layout>
    +</bibliography>
    +

    B. 每个作者的出版物列表。当 subsequent-author-substitute 设置为空字符串时,具有相同作者的条目的作者名字只渲染一次。

    <bibliography subsequent-author-substitute="">
    +  <sort>
    +    <key variable="author"/>
    +    <key variable="issued"/>
    +  </sort>
    +  <layout>
    +    <group display="block">
    +      <names variable="author"/>
    +    </group>
    +    <group display="left-margin">
    +      <date variable="issued">
    +        <date-part name="year" />
    +      </date>
    +    </group>
    +    <group display="right-inline">
    +      <text variable="title"/>
    +    </group>
    +  </layout>
    +</bibliography>
    +

    渲染结果将类似下面:

    Author1
    year-publication1title-publication1
    year-publication2title-publication2
    Author2
    year-publication3title-publication3
    year-publication4title-publication4

    C. 带有注释的条目,注释显示在参下方的缩进块中。

    <bibliography>
    +  <layout>
    +    <group display="block">
    +      <!-- rendering elements -->
    +    </group>
    +    <text display="indent" variable="abstract" />
    +  </layout>
    +</bibliography>
    +

    引用 quotes

    quotes 属性可以在 cs:text 中设置。当设置为 "true" 时(默认为 "false"),渲染文本将会被包含在引用中。本地化的 punctuation-in-quote 选项控制用来连接的逗号或者句号是出现在引号的内部还是外部(默认外部),见 [Locale options](#Locale options)。

    Strip-periods

    strip-periods 属性可以在 cs:label 或者 cd:text 中设置,此外,当 name 被设置为 "month" 时,也可以在 cs:date-part 中设置。当该属性被设置为 true 的时候(默认的是 "false"),所有文本中的句号(英文中为点)将会被删除。

    文字大小写

    text-case 属性可以在 cs:date,cs:date-part,cs:label,cs:name-part,cs:numbercs:text 中设置,可设置的值为:

    • "lowercase": 使用小写字母渲染文本
    • "uppercase": 使用大写字母渲染文本
    • "capitalize-first": 如果第一个词是小写的,将首字母设置为大写
    • "capitalize-all": 将每个小写词的首字母设置为大写
    • "sentence": renders text in sentence case(以句子的格式设置?)
    • "title": renders text in title case(以标题的格式来设置?)

    句子大小写转换

    句子大小写转换 (在 "Text-case" 中设置为 "sentence"),

    1. 对于大写字符串,字符串的第一个字符保持为大写。其它字母表示为小写
    2. 对于大小写混合的字符串,如果单词是小写,第一个单词的首字符大写,其它所有单词的大小写保持不变。

    CSL 处理器不能识别专有名词。因此,可以将句子大小写的字符转缺的转换为标题大小写,反之亦然。因此,通常最好在句子大小写的情况下存储注入标题之类的字符串,并且仅在样式需要其它大小写的情况下菜使用文本大小写。

    标题大小写转换

    标题大小写转换 (在 "Text-case" 中设置为 "title") 对英语来说:

    1. 对大写的字符串,每个单词的第一个字母保持大写,其它的字母保持小写。
    2. 对于小写或者是混合的字符串,每个小写字符串的首字母大写。大写的字符串或者是混合的字符串保持原样。

    两种情况下,stop words 必须是小写的,除非他们是第一个或者对后一个单词,或者跟在冒号后面。stop words 包括:"a", "an", "and", "as", "at", "but", "by", "down", "for", "from", "in", "into", "nor", "of", "on", "onto", "or", "over", "so", "the", "till", "to", "up", "via", "with", "yet".

    非英语项目

    ​ 由于许多语言不使用标题大小写,标题大小写转换 (在 "Text-case" 中设置为 "title") 仅影响英语项目。

    ​ 如果 cs:style 中的 default-locale 属性没有设置,或者设置为 en 开头的单词,则假定为英语环境。如果某项的元数据包含一个语言字段,而且该字段不是以 "en" 开头的,才被视为是非英语环境。

    ​ 同样的,default-locale 被这是为除 en 开头的字段,就假定为非英语。如果项目是以 en 开头的字段,就被视为是英语。

    附录 I 学科分类

    WIP

    此小节正在施工中

    • anthropology 人类学
    • astronomy 天文学
    • biology 生物学
    • botany 植物学
    • chemistry 化学
    • communications 通讯
    • engineering 工程学
    • generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 APA
    • geography 地理学
    • geology 地质学
    • history 历史
    • humanities 人文学科
    • law 法学
    • linguistics 语言学
    • literature 文学
    • math 数学
    • medicine 药物学
    • philosophy 哲学
    • physics 物理学
    • political_science 政治科学
    • psychology 心理学
    • science 科学
    • social_science 社会科学
    • sociology 社会学
    • theology 神学
    • zoology 动物学

    附录 II 术语

    WIP

    此小节正在施工中

    术语在本地化文件中使用

    Locators 用来定位的术语

    • book 书
    • chapter 章
    • column
    • figure 图
    • folio 作品集
    • issue 议题/问题
    • line 行
    • note 笔记/注记
    • opus 作品(音乐作品)
    • page 页
    • paragraph 段
    • part 部分
    • section 节
    • sub verbo 词条
    • verse 诗
    • volume 卷

    Months 月

    • month-01
    • month-02
    • month-03
    • month-04
    • month-05
    • month-06
    • month-07
    • month-08
    • month-09
    • month-10
    • month-11
    • month-12

    Ordinals 序数

    • ordinal
    • ordinal-00 through ordinal-99
    • long-ordinal-01
    • long-ordinal-02
    • long-ordinal-03
    • long-ordinal-04
    • long-ordinal-05
    • long-ordinal-06
    • long-ordinal-07
    • long-ordinal-08
    • long-ordinal-09
    • long-ordinal-10

    Quotation marks 引号

    • open-quote
    • close-quote
    • open-inner-quote
    • close-inner-quote

    Roles 角色

    • author 作者
    • collection-editor 文集编辑
    • composer 作曲者
    • container-author 文章作者
    • director 主任/导演
    • editor 编辑
    • editorial-director 编辑部主任
    • editortranslator
    • illustrator 插画者
    • interviewer 采访者
    • original-author 原作者
    • recipient 收件人
    • reviewed-author 复查作者
    • translator 译者

    Seasons 季节

    • season-01
    • season-02
    • season-03
    • season-04

    Miscellaneous 其他

    • accessed
    • ad
    • and
    • and others
    • anonymous
    • at
    • available at
    • bc
    • by
    • circa
    • cited
    • edition
    • et-al
    • forthcoming
    • from
    • ibid
    • in
    • in press
    • internet
    • interview
    • letter
    • no date
    • online
    • presented at
    • reference
    • retrieved
    • scale
    • version

    附录 III 文献类型

    WIP

    此小节正在施工中

    • article 文章
    • article-magazine 杂志文章
    • article-newspaper 新闻文章
    • article-journal 期刊文章
    • bill
    • book 书
    • broadcast
    • chapter 章节
    • dataset 数据集
    • entry
    • entry-dictionary
    • entry-encyclopedia
    • figure 图
    • graphic
    • interview 采访
    • legislation
    • legal_case
    • manuscript
    • map 地图
    • motion_picture
    • musical_score
    • pamphlet
    • paper-conference
    • patent
    • post 海报
    • post-weblog
    • personal_communication 私人交流
    • report 报告
    • review
    • review-book
    • song 歌曲
    • speech 演讲
    • thesis 学位论文
    • treaty
    • webpage 网页

    附录 IV 变量

    WIP

    此小节正在施工中

    标准变量

    `,219),gt=e("
  • abstract 项目的摘要(例:期刊文章的摘要)

  • annote 读者关于项目内容的笔记

  • archive 保存项目的存档

  • archive_location 存档的位置

  • archive-place 存档的地理位置

  • authority

  • call-number

    call number (to locate the item in a library)

  • citation-label

    label identifying the item in in-text citations of label styles (e.g. "Ferr78"). May be assigned by the CSL processor based on item metadata.

  • citation-number

    index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)

  • collection-title

    title of the collection holding the item (e.g. the series title for a book)

  • container-title

    title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)

  • container-title-short

    short/abbreviated form of "container-title" (also accessible through the "short" form of the "container-title" variable)

  • dimensions

    physical (e.g. size) or temporal (e.g. running time) dimensions of the item

  • DOI

    Digital Object Identifier (e.g. "10.1128/AEM.02591-07")

  • event

    name of the related event (e.g. the conference name when citing a conference paper)

  • event-place

    geographic location of the related event (e.g. "Amsterdam, the Netherlands")

  • first-reference-note-number

    number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.

  • genre

    class, type or genre of the item (e.g. "adventure" for an adventure movie, "PhD dissertation" for a PhD thesis)

  • ISBN

    International Standard Book Number

  • ISSN

    International Standard Serial Number

  • jurisdiction

    geographic scope of relevance (e.g. "US" for a US patent)

  • keyword 关键字

  • ",22),vt=n("p",null,"locator",-1),bt={href:"https://docs.citationstyles.org/en/stable/specification.html#locators",target:"_blank",rel:"noopener noreferrer"},ft=n("code",null,"cs:label",-1),xt=e("
  • medium

    medium description (e.g. "CD", "DVD", etc.)

  • note

    (short) inline note giving additional item details (e.g. a concise summary or commentary)

  • original-publisher

    original publisher, for items that have been republished by a different publisher

  • original-publisher-place

    geographic location of the original publisher (e.g. "London, UK")

  • original-title 最初版本的题目

  • page 项目的页码范围

  • page-first 页码范围的第一个页码

  • PMCID

    PubMed Central reference number

  • PMID

    PubMed reference number

  • publisher 出版商/出版社

  • publisher-place 出版社的地理位置

  • references

    resources related to the procedural history of a legal case

  • reviewed-title

    title of the item reviewed by the current item

  • scale

    scale of e.g. a map

  • section

    container section holding the item (e.g. "politics" for a newspaper article)

  • source

    from whence the item originates (e.g. a library catalog or database)

  • status

    (publication) status of the item (e.g. "forthcoming")

  • title

    primary title of the item

  • title-short

    short/abbreviated form of "title" (also accessible through the "short" form of the "title" variable)

  • URL 链接

  • version 版本

  • year-suffix

    disambiguating year suffix in author-date styles (e.g. "a" in "Doe, 1999a")

  • ",22),_t=n("h3",{id:"数字变量",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#数字变量"},[n("span",null,"数字变量")])],-1),yt={href:"https://docs.citationstyles.org/en/stable/specification.html#standard-variables",target:"_blank",rel:"noopener noreferrer"},Et=e('
    • chapter-number

      章序号

    • collection-number

      number identifying the collection holding the item (e.g. the series number for a book)

    • edition

      版本序号(注意和 version 的区别)

    • issue

      (container) issue holding the item (e.g. "5" when citing a journal article from journal volume 2, issue 5)

    • number

      number identifying the item (e.g. a report number)

    • number-of-pages

      引用项目的总的页数

    • number-of-volumes

      total number of volumes, usable for citing multi-volume books and such

    • volume

      (container) volume holding the item (e.g. "2" when citing a chapter from book volume 2)

    日期变量

    • accessed

      date the item has been accessed

    • container

      ?

    • event-date

      date the related event took place

    • issued

      date the item was issued/published

    • original-date

      (issue) date of the original version

    • submitted

      date the item (e.g. a manuscript) has been submitted for publication

    名字变量

    • author

    • collection-editor

      editor of the collection holding the item (e.g. the series editor for a book)

    • composer

      composer (e.g. of a musical score)

    • container-author

      author of the container holding the item (e.g. the book author for a book chapter)

    • director

      director (e.g. of a film)

    • editor

    • editorial-director

      managing editor ("Directeur de la Publication" in French)

    • illustrator

      illustrator (e.g. of a children’s book)

    • interviewer

      interviewer (e.g. of an interview)

    • original-author

    • recipient

      recipient (e.g. of a letter)

    • reviewed-author

      author of the item reviewed by the current item

    • translator

    附录 V 页码范围格式

    WIP

    此小节正在施工中

    cs:style 元素中的 page-range-format 表示了页码的缩写规则,其取值可能是:

    "chicago"

    第一个数字第二个数字
    小于 100使用所有的位数3–10; 71–72
    100 或者 100 的整数使用所有的位数100–104; 600–613; 1100–1123
    100 到 109 (包括对应 100 的倍数的范围)仅使用有变化的部分,忽略不需要的 0107–8; 505–17; 1002–6
    110 到 199 (包括对应 100 的倍数的范围)根据需要使用两位数或者更多321–25; 415–532; 11564–68; 13792–803
    4 位数如果数字是 4 位并且其中有 3 位不同,使用所有的位数1496–1504; 2787–2816

    "expanded"

    ​ 扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816

    "minimal"

    ​ 第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816

    "minimal-two"

    ​ 和 "minimal" 类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。

    附录 VI 链接

    WIP

    此小节正在施工中

    The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules:

    If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows:

    ',20),Dt=n("li",null,[n("code",null,"url"),a(": output as is")],-1),At=n("code",null,"doi",-1),Ct={href:"https://doi.org/",target:"_blank",rel:"noopener noreferrer"},Bt=n("code",null,"pmid",-1),St={href:"https://www.ncbi.nlm.nih.gov/pubmed/",target:"_blank",rel:"noopener noreferrer"},wt=n("code",null,"pmcid",-1),Lt={href:"https://www.ncbi.nlm.nih.gov/pmc/articles/",target:"_blank",rel:"noopener noreferrer"},It={href:"https://doi.org/",target:"_blank",rel:"noopener noreferrer"},Ft=n("p",null,"Citation processors should include an option flag for calling applications to disable bibliography linking behavior.",-1);function Jt(Mt,Tt){const s=c("ExternalLinkIcon"),o=c("RouteLink");return i(),u("div",null,[r,n("p",null,[a("主要作者:"),n("a",k,[a("Rintze M. Zelle, PhD"),t(s)]),a("、 "),n("a",h,[a("Brenton M. Wiernik"),t(s)]),a("、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier")]),m,n("p",null,[a("译者:"),n("a",q,[a("Mao Zhou"),t(s)]),a("、 "),n("a",g,[a("Northword"),t(s)]),a("。")]),n("p",null,[a("此工作以  "),n("a",v,[a("Creative Commons Attribution-ShareAlike 4.0 International License"),t(s)]),a(" 授权。")]),b,f,x,n("p",null,[a("有关的其他文档,CSL 议程,样式和本地化文件详见 "),n("a",_,[a("CSL 项目主页"),t(s)]),a("。")]),y,n("p",null,[a("关键字 MUST,MUST NOT,REQUIRED,SHALL,SHALL NOT,SHOULD,SHOULD NOT,RECOMMENDED,MAY 和 OPTIONAL 按 "),n("a",E,[a("IETF RFC 2119"),t(s)]),a(" 中的描述解释。")]),n("div",D,[A,n("p",null,[a("RFC ,即 "),C,a("equest "),B,a("or "),S,a("omments,意见征求稿,是由 "),n("a",w,[a("The Internet Engineering Task Force"),t(s)]),a(" 制作的文档,其中许多是各种 Internet 协议的官方标准。")]),n("p",null,[a("RFC 2119 协议全文:<"),n("a",L,[a("https://www.ietf.org/rfc/rfc2119.txt"),t(s)])]),I]),F,J,n("p",null,[a("CSL XML 命名空间 URI 是 "),n("a",M,[a("http://purl.org/net/xbiblio/csl"),t(s)]),a("。")]),T,n("p",null,[a("🏳️ Default: "),R,a(" — 决定样式的 "),t(o,{to:"/csl-dev-guide/primer.html#csstyle-%E6%A0%B9%E5%85%83%E7%B4%A0"},{default:l(()=>[a("引文格式")]),_:1}),a(" 是 in-text 类型(值 "),z,a(") 或者 note 类型(值 "),N,a(")。")]),W,O,n("p",null,[a("🏳️ Default: "),U,a(" · Optional — 为本地化设值默认的 locale。值必须是 "),n("a",P,[a("locale code"),t(s)]),a("。")]),n("div",j,[K,n("p",null,[a("zh-CN:中文(中国)"),G,a(" zh-hk:中文(台湾)"),X,a(" zh:中文"),V,a(" en-US:"),H,a(" 可以参阅 "),n("a",Z,[a("Language Strings | Microsoft Docs"),t(s)])])]),Y,Q,n("p",null,[a("此外,"),$,a(" 可能携带任意的 "),t(o,{to:"/csl-dev-guide/specification.html#%E5%85%A8%E5%B1%80%E9%80%89%E9%A1%B9"},{default:l(()=>[a("全局选项")]),_:1}),a(" 和 "),t(o,{to:"/csl-dev-guide/specification.html#%E5%8F%AF%E7%BB%A7%E6%89%BF%E7%9A%84%E5%90%8D%E7%A7%B0%E9%80%89%E9%A1%B9"},{default:l(()=>[a("可继承的名称选项")]),_:1}),a(" 。")]),aa,n("p",null,[na,a(" 包含了样式的元数据。其结构基于 "),n("a",ta,[a("Atom Syndication Format"),t(s)]),a("。在独立样式中,"),sa,a(" 有下面的几个子元素:")]),ea,n("p",null,[a("🏳️ Default: "),oa,a(" · Optional — "),la,a(" 元素可以多次使用,用来表示该 CSL 对应的期刊的 ISSN 。 "),ca,a(" 和 "),pa,a(" 可以分别用来表示 eISSN 和 "),n("a",ia,[a("ISSN-L"),t(s)]),a(" 。")]),ua,n("p",null,[a("🏳️ Default: "),da,a(" · Optional — "),ra,a(" 必须是一个 "),n("a",ka,[a("时间戳"),t(s)]),a(",用来表明样式创建的时间或者可获得的时间。")]),ha,n("p",null,[a("🏳️ Default: "),ma,a(" · — 内容是一个 "),n("a",qa,[a("时间戳"),t(s)]),a(",用来表示该 CSL 的最后更新时间。")]),n("p",null,[ga,a(","),va,a(","),ba,a(", "),fa,a(" 和 "),xa,a(" 元素可以携带 "),_a,a(" 属性用来表示元素内容的语言(值必须是 "),n("a",ya,[a("xsd:language locale code"),t(s)]),a(" 中的一个)。对于 "),Ea,a(",该属性可以用来表示链接目标的语言。")]),Da,n("p",null,[Aa,a(" 元素描述了引注的格式,其中引注可以是一条或者多条。引注的格式可能是 in-text citations(即文字中的引注)和 notes(注记)。in-text citations 包括 ("),Ca,a(",例: "),Ba,a(","),Sa,a(",例: "),wa,a(","),La,a(",例: "),Ia,a(",或者 "),Fa,a(",例:"),Ja,a(" ) 。这要求 "),Ma,a(" 子元素来描述什么样的数据,以及怎么被引用(见 "),t(o,{to:"/csl-dev-guide/specification.html#Layout"},{default:l(()=>[a("Layout")]),_:1}),a(" )。在 "),Ta,a(" 之前可能会有 "),Ra,a(" 元素,用来描述引文的排序(见 "),za,a(")。此外,"),Na,a(" 可能携带任意的 "),t(o,{to:"/csl-dev-guide/specification.html#%E5%BC%95%E6%96%87%E9%80%89%E9%A1%B9"},{default:l(()=>[a("引文选项")]),_:1}),a(" 和 "),t(o,{to:"/csl-dev-guide/specification.html#%E5%8F%AF%E7%BB%A7%E6%89%BF%E7%9A%84%E5%90%8D%E7%A7%B0%E9%80%89%E9%A1%B9"},{default:l(()=>[a("可继承的名称选项")]),_:1}),a(" 中的属性。下面是一个 "),Wa,a(" 的例子:")]),Oa,n("p",null,[Ua,a(" 元素的 "),Pa,a(" 属性是可选的,必须设置为 "),n("a",ja,[a("xsd:language locale code"),t(s)]),a(" 中的一种,用来确定使用的语言环境(或方言,见 [locale fallback](locale fallback))。")]),Ka,n("p",null,[a("​ 可能出现一次。"),Ga,a(" 的内容用来指定本地化文件发布版本的 license。该元素可能会携带 "),Xa,a(" 属性来指定 "),Va,a(" 的 URI,"),Ha,a(" 属性则用来指定元素内容的语言(值必须是 "),n("a",Za,[a("xsd:language locale code"),t(s)]),a(")。")]),Ya,n("p",null,[a("日期格式使用 "),Qa,a(" 子元素来构建(见 "),n("a",$a,[a("Date-part"),t(s)]),a(")。当 "),an,a(" 的 "),nn,a(" 属性设置为 "),tn,a("、"),sn,a("、或 "),en,a(" 时,反应了日期显示的顺序为日、月河年。日期可以使用 "),on,a(" 和 "),ln,a(" 元素中的 "),n("a",cn,[a("formatting"),t(s)]),a(" 和 "),n("a",pn,[a("text-case"),t(s)]),a(" 属性设置。"),un,a(" 元素中的 "),dn,a(" 属性用来设置 "),rn,a(" 中不同部分的间隔,并且词缀也可以应用于 "),kn,a(" 元素。(译注:这里的词缀指的是前后的括号等等。)")]),hn,n("p",null,[a("本地化选项有两个,"),mn,a(" 和 "),qn,a(" (见 "),n("a",gn,[a("Locale Options"),t(s)]),a(")。这些全局选项(同时影响引文和参考文献条目)在 "),vn,a(" 中被设置为可选属性。")]),bn,n("p",null,[fn,a(" 可能会携带 "),n("a",xn,[a("affixes"),t(s)]),a(","),n("a",_n,[a("display"),t(s)]),a(","),n("a",yn,[a("formatting"),t(s)]),a(","),n("a",En,[a("quotes"),t(s)]),a(","),n("a",Dn,[a("strip-periods"),t(s)]),a(" 和 "),n("a",An,[a("text-case"),t(s)]),a(" 属性。")]),Cn,n("p",null,[a("本地化的日期或者是非本地化的日期,, "),Bn,a(" 都可能携带 "),n("a",Sn,[a("affixes"),t(s)]),a(","),n("a",wn,[a("display"),t(s)]),a(","),n("a",Ln,[a("formatting"),t(s)]),a(" 和 "),n("a",In,[a("text-case"),t(s)]),a(" 属性。")]),Fn,n("p",null,[Jn,a(" 也可能携带 "),n("a",Mn,[a("formatting"),t(s)]),a(","),n("a",Tn,[a("text-case"),t(s)]),a(" 和 "),Rn,a(" 属性。除在 "),zn,a(" 元素中使用,其他情况下,"),Nn,a(" 是可以使用词缀的。")]),Wn,n("p",null,[a("使用 "),On,a(" 元素来渲染数字变量时,如果只包含数字内容 (使用 "),Un,a(" 属性设置,见 "),n("a",Pn,[a("Choose"),t(s)]),a("),数字就被提取出来并渲染。变量内容包含非数字内容时,变量内容将呈现为原样。")]),jn,n("p",null,[Kn,a(" 元素可能会携带 "),n("a",Gn,[a("affixes"),t(s)]),a(","),n("a",Xn,[a("display"),t(s)]),a(","),n("a",Vn,[a("formatting"),t(s)]),a(" 和 "),n("a",Hn,[a("text-case"),t(s)]),a(" 属性。")]),Zn,n("p",null,[Yn,a(" 有四个子元素:"),Qn,a(","),$n,a(","),at,a(" 和 "),nt,a("。 "),tt,a(" 元素可能会携带 "),n("a",st,[a("affixes"),t(s)]),a(", "),n("a",et,[a("display"),t(s)]),a(" 和 "),n("a",ot,[a("formatting"),t(s)]),a(" 属性。")]),lt,n("p",null,[ct,a(" 也可能会携带 "),n("a",pt,[a("affixes"),t(s)]),a(", "),n("a",it,[a("formatting"),t(s)]),a(", "),n("a",ut,[a("text-case"),t(s)]),a(" 和 "),n("a",dt,[a("strip-periods"),t(s)]),a(" 属性。")]),rt,n("ul",null,[kt,n("li",null,[n("p",null,[a('"near-note": position of a cite following another cite referencing the same item. Both cites have to be located in foot or endnotes, and the distance between both cites may not exceed the maximum distance (measured in number of foot or endnotes) set with the '),ht,a(" option (see "),n("a",mt,[a("Note Distance"),t(s)]),a(").")])])]),qt,n("ul",null,[gt,n("li",null,[vt,n("p",null,[a("a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the "),n("a",bt,[a("Locators"),t(s)]),a(" term list), which determines which term is rendered by "),ft,a(' when the "locator" variable is selected.')])]),xt]),_t,n("p",null,[a("Number variables are a subset of the "),n("a",yt,[a("Standard Variables"),t(s)]),a(".")]),Et,n("ol",null,[Dt,n("li",null,[At,a(": prepend with “"),n("a",Ct,[a("https://doi.org/"),t(s)]),a("”")]),n("li",null,[Bt,a(": prepend with “"),n("a",St,[a("https://www.ncbi.nlm.nih.gov/pubmed/"),t(s)]),a("”")]),n("li",null,[wt,a(": prepend with “"),n("a",Lt,[a("https://www.ncbi.nlm.nih.gov/pmc/articles/"),t(s)]),a("”")])]),n("p",null,[a("If the identifier is rendered as a URI, include rendered URI components (e.g. “"),n("a",It,[a("https://doi.org/"),t(s)]),a("”) in the link anchor. Do not include any other affix text in the link anchor (e.g. “Available from: “, “doi: “, “PMID: “).")]),Ft])}const Nt=p(d,[["render",Jt],["__file","specification.html.vue"]]),Wt=JSON.parse('{"path":"/csl-dev-guide/specification.html","title":"CSL 1.0.2 规范","lang":"zh-CN","frontmatter":{"title":"CSL 1.0.2 规范","order":2,"date":"2022-08-01T16:55:26.000Z","updated":"2023-07-22T20:49:04.000Z","description":"CSL 1.0.2 规范 主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier 其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、La...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/csl-dev-guide/specification.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"CSL 1.0.2 规范"}],["meta",{"property":"og:description","content":"CSL 1.0.2 规范 主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier 其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、La..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-17T08:19:05.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2022-08-01T16:55:26.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-17T08:19:05.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CSL 1.0.2 规范\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-08-01T16:55:26.000Z\\",\\"dateModified\\":\\"2024-02-17T08:19:05.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"介绍","slug":"介绍","link":"#介绍","children":[]},{"level":2,"title":"术语","slug":"术语","link":"#术语","children":[]},{"level":2,"title":"命名空间","slug":"命名空间","link":"#命名空间","children":[]},{"level":2,"title":"空格处理","slug":"空格处理","link":"#空格处理","children":[]},{"level":2,"title":"文件类型","slug":"文件类型","link":"#文件类型","children":[{"level":3,"title":"独立样式","slug":"独立样式","link":"#独立样式","children":[]},{"level":3,"title":"从属样式","slug":"从属样式","link":"#从属样式","children":[]},{"level":3,"title":"本地化文件","slug":"本地化文件","link":"#本地化文件","children":[]}]},{"level":2,"title":"XML 声明","slug":"xml-声明","link":"#xml-声明","children":[]},{"level":2,"title":"样式的结构","slug":"样式的结构","link":"#样式的结构","children":[{"level":3,"title":"根元素 cs:style","slug":"根元素-cs-style","link":"#根元素-cs-style","children":[{"level":4,"title":"class","slug":"class","link":"#class","children":[]},{"level":4,"title":"default-locale","slug":"default-locale","link":"#default-locale","children":[]},{"level":4,"title":"version","slug":"version","link":"#version","children":[]}]},{"level":3,"title":"cs:style 的子元素","slug":"cs-style-的子元素","link":"#cs-style-的子元素","children":[{"level":4,"title":"Info","slug":"info","link":"#info","children":[{"level":5,"title":"cs:author 和 cs:contributor","slug":"cs-author-和-cs-contributor","link":"#cs-author-和-cs-contributor","children":[]},{"level":5,"title":"cs:category","slug":"cs-category","link":"#cs-category","children":[]},{"level":5,"title":"cs:id","slug":"cs-id","link":"#cs-id","children":[]},{"level":5,"title":"cs:issn/cs:essn/cs:issnl","slug":"cs-issn-cs-essn-cs-issnl","link":"#cs-issn-cs-essn-cs-issnl","children":[]},{"level":5,"title":"cs:link","slug":"cs-link","link":"#cs-link","children":[]},{"level":5,"title":"cs:published","slug":"cs-published","link":"#cs-published","children":[]},{"level":5,"title":"cs:rights","slug":"cs-rights","link":"#cs-rights","children":[]},{"level":5,"title":"cs:summary","slug":"cs-summary","link":"#cs-summary","children":[]},{"level":5,"title":"cs:title","slug":"cs-title","link":"#cs-title","children":[]},{"level":5,"title":"cs:title-short","slug":"cs-title-short","link":"#cs-title-short","children":[]},{"level":5,"title":"cs:updated","slug":"cs-updated","link":"#cs-updated","children":[]}]},{"level":4,"title":"Citation","slug":"citation","link":"#citation","children":[]},{"level":4,"title":"Bioliography","slug":"bioliography","link":"#bioliography","children":[]},{"level":4,"title":"Macro","slug":"macro","link":"#macro","children":[]},{"level":4,"title":"Locale","slug":"locale","link":"#locale","children":[]}]}]},{"level":2,"title":"本地化文件的结构","slug":"本地化文件的结构","link":"#本地化文件的结构","children":[{"level":3,"title":"Info","slug":"info-1","link":"#info-1","children":[]},{"level":3,"title":"Terms(术语)","slug":"terms-术语","link":"#terms-术语","children":[{"level":4,"title":"序数后缀","slug":"序数后缀","link":"#序数后缀","children":[]},{"level":4,"title":"性别特定序数","slug":"性别特定序数","link":"#性别特定序数","children":[]}]},{"level":3,"title":"本地化日期格式","slug":"本地化日期格式","link":"#本地化日期格式","children":[]},{"level":3,"title":"本地化选项","slug":"本地化选项","link":"#本地化选项","children":[]}]},{"level":2,"title":"渲染元素","slug":"渲染元素","link":"#渲染元素","children":[{"level":3,"title":"Layout","slug":"layout","link":"#layout","children":[]},{"level":3,"title":"Text","slug":"text","link":"#text","children":[]},{"level":3,"title":"Date","slug":"date","link":"#date","children":[{"level":4,"title":"Date-part","slug":"date-part","link":"#date-part","children":[]},{"level":4,"title":"Date Ranges","slug":"date-ranges","link":"#date-ranges","children":[]},{"level":4,"title":"AD and BC","slug":"ad-and-bc","link":"#ad-and-bc","children":[]},{"level":4,"title":"Seasons","slug":"seasons","link":"#seasons","children":[]},{"level":4,"title":"Approximate Dates","slug":"approximate-dates","link":"#approximate-dates","children":[]}]},{"level":3,"title":"Number","slug":"number","link":"#number","children":[]},{"level":3,"title":"Names","slug":"names","link":"#names","children":[{"level":4,"title":"Name","slug":"name","link":"#name","children":[]},{"level":4,"title":"名字内部顺序","slug":"名字内部顺序","link":"#名字内部顺序","children":[]},{"level":4,"title":"名字格式化","slug":"名字格式化","link":"#名字格式化","children":[]},{"level":4,"title":"Et-al","slug":"et-al","link":"#et-al","children":[]},{"level":4,"title":"Substitute","slug":"substitute","link":"#substitute","children":[]},{"level":4,"title":"Label in cs:names","slug":"label-in-cs-names","link":"#label-in-cs-names","children":[]}]},{"level":3,"title":"Label","slug":"label","link":"#label","children":[]},{"level":3,"title":"Group","slug":"group","link":"#group","children":[]},{"level":3,"title":"Choose","slug":"choose","link":"#choose","children":[]}]},{"level":2,"title":"样式的行为","slug":"样式的行为","link":"#样式的行为","children":[{"level":3,"title":"选项","slug":"选项","link":"#选项","children":[{"level":4,"title":"引文选项","slug":"引文选项","link":"#引文选项","children":[{"level":5,"title":"消除歧义","slug":"消除歧义","link":"#消除歧义","children":[]},{"level":5,"title":"引用分组","slug":"引用分组","link":"#引用分组","children":[]},{"level":5,"title":"cite collapsing/引用折叠","slug":"cite-collapsing-引用折叠","link":"#cite-collapsing-引用折叠","children":[]},{"level":5,"title":"标注距离","slug":"标注距离","link":"#标注距离","children":[]}]},{"level":4,"title":"参考文献目录选项","slug":"参考文献目录选项","link":"#参考文献目录选项","children":[{"level":5,"title":"空白","slug":"空白","link":"#空白","children":[]},{"level":5,"title":"参考文献分组","slug":"参考文献分组","link":"#参考文献分组","children":[]}]},{"level":4,"title":"全局选项","slug":"全局选项","link":"#全局选项","children":[{"level":5,"title":"人名中的连字符","slug":"人名中的连字符","link":"#人名中的连字符","children":[]},{"level":5,"title":"页码范围","slug":"页码范围","link":"#页码范围","children":[]},{"level":5,"title":"Name Particles","slug":"name-particles","link":"#name-particles","children":[]}]},{"level":4,"title":"可继承的名称选项","slug":"可继承的名称选项","link":"#可继承的名称选项","children":[]},{"level":4,"title":"局部选项","slug":"局部选项","link":"#局部选项","children":[]}]},{"level":3,"title":"排序","slug":"排序","link":"#排序","children":[{"level":4,"title":"排序变量","slug":"排序变量","link":"#排序变量","children":[]},{"level":4,"title":"排序宏","slug":"排序宏","link":"#排序宏","children":[]}]},{"level":3,"title":"范围分隔符","slug":"范围分隔符","link":"#范围分隔符","children":[]},{"level":3,"title":"格式化","slug":"格式化","link":"#格式化","children":[]},{"level":3,"title":"词缀","slug":"词缀","link":"#词缀","children":[]},{"level":3,"title":"分隔符 delimiter","slug":"分隔符-delimiter","link":"#分隔符-delimiter","children":[]},{"level":3,"title":"显示 display","slug":"显示-display","link":"#显示-display","children":[]},{"level":3,"title":"引用 quotes","slug":"引用-quotes","link":"#引用-quotes","children":[]},{"level":3,"title":"Strip-periods","slug":"strip-periods","link":"#strip-periods","children":[]},{"level":3,"title":"文字大小写","slug":"文字大小写","link":"#文字大小写","children":[{"level":4,"title":"句子大小写转换","slug":"句子大小写转换","link":"#句子大小写转换","children":[]},{"level":4,"title":"标题大小写转换","slug":"标题大小写转换","link":"#标题大小写转换","children":[]}]}]},{"level":2,"title":"附录 I 学科分类","slug":"附录-i-学科分类","link":"#附录-i-学科分类","children":[]},{"level":2,"title":"附录 II 术语","slug":"附录-ii-术语","link":"#附录-ii-术语","children":[{"level":3,"title":"Locators 用来定位的术语","slug":"locators-用来定位的术语","link":"#locators-用来定位的术语","children":[]},{"level":3,"title":"Months 月","slug":"months-月","link":"#months-月","children":[]},{"level":3,"title":"Ordinals 序数","slug":"ordinals-序数","link":"#ordinals-序数","children":[]},{"level":3,"title":"Quotation marks 引号","slug":"quotation-marks-引号","link":"#quotation-marks-引号","children":[]},{"level":3,"title":"Roles 角色","slug":"roles-角色","link":"#roles-角色","children":[]},{"level":3,"title":"Seasons 季节","slug":"seasons-季节","link":"#seasons-季节","children":[]},{"level":3,"title":"Miscellaneous 其他","slug":"miscellaneous-其他","link":"#miscellaneous-其他","children":[]}]},{"level":2,"title":"附录 III 文献类型","slug":"附录-iii-文献类型","link":"#附录-iii-文献类型","children":[]},{"level":2,"title":"附录 IV 变量","slug":"附录-iv-变量","link":"#附录-iv-变量","children":[{"level":3,"title":"标准变量","slug":"标准变量","link":"#标准变量","children":[]},{"level":3,"title":"数字变量","slug":"数字变量","link":"#数字变量","children":[]},{"level":3,"title":"日期变量","slug":"日期变量","link":"#日期变量","children":[]},{"level":3,"title":"名字变量","slug":"名字变量","link":"#名字变量","children":[]}]},{"level":2,"title":"附录 V 页码范围格式","slug":"附录-v-页码范围格式","link":"#附录-v-页码范围格式","children":[]},{"level":2,"title":"附录 VI 链接","slug":"附录-vi-链接","link":"#附录-vi-链接","children":[]}],"git":{"createdTime":1690031195000,"updatedTime":1708157945000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":3},{"name":"Northword","email":"northword@outlook.com","commits":1},{"name":"jiaojiaodubai","email":"63148861+jiaojiaodubai@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":69.82,"words":20945},"filePathRelative":"csl-dev-guide/specification.md","localizedDate":"2022年8月1日","autoDesc":true,"excerpt":"\\n

    主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier

    \\n

    其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、Lars Willighagen and other CSL contributors.

    "}');export{Nt as comp,Wt as data}; diff --git a/assets/stateDiagram-43596fc0-B39Oj8_d.js b/assets/stateDiagram-43596fc0-B39Oj8_d.js new file mode 100644 index 0000000000..80019b7e30 --- /dev/null +++ b/assets/stateDiagram-43596fc0-B39Oj8_d.js @@ -0,0 +1 @@ +import{p as P,d as N,s as W}from"./styles-b2c874b6-B3gpF3Gt.js";import{c as t,h as H,l as b,i as R,j as T,ao as v,y as U}from"./mermaid.core-xpSMncQK.js";import{G as C}from"./graph-BVvHj2M5.js";import{l as F}from"./layout-Bq0hvzvr.js";import{l as $}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const O=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),X=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),J=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(l){a||(o(p,l,r),r=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
    ");p=p.replace(/\n/g,"
    ");const a=p.split(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},L=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&O(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const K=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=function(e){e.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")},D=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},lt={parser:P,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; diff --git a/assets/stateDiagram-v2-2ead4f9c-EiGeU0Vu.js b/assets/stateDiagram-v2-2ead4f9c-EiGeU0Vu.js new file mode 100644 index 0000000000..949ec163a2 --- /dev/null +++ b/assets/stateDiagram-v2-2ead4f9c-EiGeU0Vu.js @@ -0,0 +1 @@ +import{p as J,d as B,s as Q,D as H,a as X,S as Z,b as F,c as I}from"./styles-b2c874b6-B3gpF3Gt.js";import{G as tt}from"./graph-BVvHj2M5.js";import{l as E,c as g,h as x,y as et,i as ot,j as w}from"./mermaid.core-xpSMncQK.js";import{r as st}from"./index-8fae9850-DHonaQ1z.js";import"./layout-Bq0hvzvr.js";import"./app-pLjDz5vt.js";import"./clone-BD0VJlG_.js";import"./edges-d417c7a0-5DZNYhL5.js";import"./createText-423428c9-Bj42WdLJ.js";import"./line-CQCn-Nwe.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const h="rect",C="rectWithTitle",nt="start",it="end",ct="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,bt="cluster-alt",ft=`${_}-${bt}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,m="fill:none",W="fill: #333",z="c",j="text",q="normal";let y={},d=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",i=N){const c=e!==null&&e.length>0?`${i}${e}`:"";return`${At}-${t}${c}-${n}`}const A=(t,n,e,i,c,r)=>{const o=e.id,u=$t(i[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=it),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(E.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===X?ct:rt,s.classes=s.classes+" "+Dt+" "+(r?ft:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,d),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const l={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+d,domId:R(o,d,Y),type:s.type,padding:15},a={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,d,V),type:"group",padding:0};d++;const D=o+M;t.setNode(D,a),t.setNode(l.id,l),t.setNode(o,p),t.setParent(o,D),t.setParent(l.id,D);let S=o,b=l.id;e.note.position==="left of"&&(S=l.id,b=o),t.setEdge(S,b,{arrowhead:"none",arrowType:"",style:m,labelStyle:"",classes:pt,arrowheadStyle:W,labelpos:z,labelType:j,thickness:q})}else t.setNode(o,p)}n&&n.id!=="root"&&(E.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(E.trace("Adding nodes children "),xt(t,e,e.doc,i,c,!r))},xt=(t,n,e,i,c,r)=>{E.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,i,c,r);break;case H:A(t,n,o,i,c,r);break;case Z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);const u={id:"edge"+d,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:m,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:W,labelpos:z,labelType:j,thickness:q,classes:U};t.setEdge(o.state1.id,o.state2.id,u,d),d++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; diff --git a/assets/style-9X1dE2cv.css b/assets/style-9X1dE2cv.css new file mode 100644 index 0000000000..2c77565a0c --- /dev/null +++ b/assets/style-9X1dE2cv.css @@ -0,0 +1 @@ +@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--dark-grey: #999;--light-grey: #666;--white: #000;--grey3: #bbb;--grey12: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #846c9c;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--dark-grey: #666;--light-grey: #999;--white: #fff;--grey3: #333;--grey12: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #77608e;--theme-color-light: #907ba6;--theme-color-mask: rgba(132, 108, 156, .15)}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:3rem;height:3rem;padding:.5rem;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{width:2.5rem;height:2.5rem}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:calc(100% + 4px);height:calc(100% + 4px)}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;fill:none;stroke:currentColor;transform:rotate(-90deg);transform-origin:50% 50%;r:22;stroke-dasharray:0% 314.1593%;stroke-width:3px}@media (max-width: 959px){.vp-scroll-progress circle{r:18}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}.giscus-wrapper{max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.giscus-wrapper{padding:1.5rem}}@media (max-width: 419px){.giscus-wrapper{padding:1rem 1.5rem}}@media print{.giscus-wrapper{max-width:unset}}@media print{.giscus-wrapper{display:none!important}}.giscus-wrapper.input-top .giscus{margin-bottom:-3rem}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}.theme-hope-content figure{position:relative;display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--vp-tt)}.theme-hope-content figure img{overflow:hidden;margin:0 auto;border-radius:8px}.theme-hope-content figure img[tabindex]:hover,.theme-hope-content figure img[tabindex]:focus{box-shadow:2px 2px 10px 0 var(--card-shadow)}@media print{.theme-hope-content figure>a[href^="http://"]:after,.theme-hope-content figure>a[href^="https://"]:after{content:""}}.theme-hope-content figure>a .external-link-icon{display:none}.theme-hope-content figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}.footnote-item{margin-top:calc(0rem - var(--navbar-height, 3.6rem));padding-top:calc(var(--navbar-height, 3.6rem) + .5rem)}.footnote-item>p{margin-bottom:0}.footnote-ref{position:relative}.footnote-anchor{position:absolute;top:calc(-.5rem - var(--navbar-height, 3.6rem))}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--important-title-color: #f4eefe;--important-bg-color: #230555;--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--caution-title-color: #ffebec;--caution-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}html[data-theme=light] figure:has(img[data-mode=darkmode-only]),html[data-theme=light] img[data-mode=darkmode-only]{display:none!important}html[data-theme=dark] figure:has(img[data-mode=lightmode-only]),html[data-theme=dark] img[data-mode=lightmode-only]{display:none!important}.mermaid-preview .node rect,.mermaid-preview .clusters rect,.mermaid-preview rect.note,.mermaid-preview .actor,.mermaid-wrapper .node rect,.mermaid-wrapper .clusters rect,.mermaid-wrapper rect.note,.mermaid-wrapper .actor{rx:8;ry:8}.mermaid-wrapper{position:relative;overflow-x:auto;padding:.6em .4em;text-align:center;transition:all 1s}@media (max-width: 419px){.mermaid-wrapper{margin:0 -1.5rem;padding:.6em 0}}.mermaid-loading{color:var(--vp-tc)}@media print{.mermaid-content{page-break-inside:avoid}}.mermaid-actions{text-align:end}@media print{.mermaid-actions{display:none}}.mermaid-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;align-items:center;justify-content:center;background-color:#fffc}html[data-theme=dark] .mermaid-preview{background-color:#000c}.mermaid-preview svg{max-width:100%;max-height:100%}.preview-button,.download-button{border-width:0;background:transparent;cursor:pointer;width:2rem;height:2rem;padding:.25rem;color:var(--dark-grey)}@media (max-width: 719px){.preview-button,.download-button{width:1.5rem;height:1.5rem}}.preview-button:hover,.download-button:hover{color:var(--vp-tc)}.preview-button svg,.download-button svg{width:100%;height:100%}:root{--tab-bg-color: var(--vp-bg);--tab-nav-text-color: var(--vp-c);--tab-nav-bg-color: #e0e0e0;--tab-nav-hover-color: #eee}html[data-theme=dark]{--tab-nav-bg-color: #34343f;--tab-nav-hover-color: #2d2d38}.vp-tabs{margin:1.5rem 0;border:2px solid var(--vp-brc);border-radius:8px}@media (max-width: 419px){.theme-hope-content>.vp-tabs{margin-inline:-1.5rem;border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:8px 8px 0 0;background:var(--tab-nav-bg-color);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{border-width:0;position:relative;min-width:4rem;margin:0;padding:.5em 1em;border-radius:8px 8px 0 0;background:transparent;color:var(--tab-nav-text-color);font-weight:600;font-size:.85em;line-height:1.75;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-tab-nav:hover{background:var(--tab-nav-hover-color)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-bg-color)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;background:var(--tab-bg-color);transition:background var(--vp-ct)}@media print{.vp-tab{display:block;padding:.5rem}}.vp-tab.active{display:block}.vp-tab:nth-child(n+2) .vp-tab-title{border-top:none}.vp-tab-title{display:none;padding:.25rem 0;border-top:1px solid var(--vp-brc);font-weight:500}@media print{.vp-tab-title{display:block}}.task-list-container{padding-inline-start:0;list-style-position:inside}.task-list-container .task-list-container{padding-inline-start:1.5em}.task-list-item{list-style:none}.task-list-item-checkbox{position:relative;cursor:pointer}.task-list-item-checkbox:after{content:" ";position:absolute;top:0;display:inline-block;box-sizing:border-box;width:1em;height:1em;padding-inline-start:0;border:1px solid #ddd;border-radius:2px;background:#fff;text-align:center;visibility:visible;transition:background var(--vp-ct),border-color var(--vp-ct)}@media print{.task-list-item-checkbox:after{border-color:var(--vp-c)}}html[data-theme=dark] .task-list-item-checkbox:after{border-color:#666;background:#333}.task-list-item-checkbox:checked:after{content:"";border-color:var(--vp-tc);background:var(--vp-tc)}@media print{.task-list-item-checkbox:checked:after{border-color:var(--vp-c);background:transparent}}html[data-theme=dark] .task-list-item-checkbox:checked:after{border-color:var(--vp-tc);background:var(--vp-tc)}.task-list-item-checkbox:checked:before{content:"";position:absolute;top:.1em;inset-inline-start:.4em;z-index:1;width:.2em;height:.5em;border:solid var(--white);border-width:0 .15em .15em 0;transform:rotate(45deg)}@media print{.task-list-item-checkbox:checked:before{border-color:var(--vp-c)}}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}.search-pro-button{border-width:0;background:transparent;display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:0;border:1px solid var(--vp-bgl);border-radius:1rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:500;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}@media print{.search-pro-button{display:none}}@media (max-width: 959px){.search-pro-button{border-radius:50%}}.search-pro-button:hover{border:1px solid var(--vp-tc);background-color:var(--vp-bglt);color:var(--vp-clt)}.search-pro-button .search-icon{width:1.25rem;height:1.25rem}.search-pro-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.search-pro-placeholder{display:none}}.search-pro-key-hints{font-size:.75rem}@media (max-width: 959px){.search-pro-key-hints{display:none}}.search-pro-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-ct),color var(--vp-ct),border var(--vp-ct) box-shadow var(--vp-ct)}@keyframes search-pro-fade-in{0%{opacity:.2}to{opacity:1}}.search-pro-modal-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:default}.search-pro-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;animation:.25s search-pro-fade-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-pro-modal{position:absolute;z-index:999;display:flex;flex-direction:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct);animation:.15s pwa-opened}@media (max-width: 1280px){.search-pro-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.search-pro-modal{width:100vw;max-width:unset;height:100vh}}.search-pro-box{display:flex;margin:1rem}.search-pro-box form{position:relative;display:flex;flex:1}.search-pro-box label{position:absolute;top:calc(50% - .75rem);inset-inline-start:.5rem;color:var(--vp-tc)}.search-pro-box label .search-icon{width:1.5rem;height:1.5rem}.search-pro-clear-button{border-width:0;background:transparent;cursor:pointer;position:absolute;top:calc(50% - 10px);inset-inline-end:.75rem;padding:0;color:var(--vp-tc)}.search-pro-clear-button:hover{border-radius:50%;background-color:#0000001a}.search-pro-close-button{border-width:0;background:transparent;cursor:pointer;display:none;margin-inline:.5rem -.5rem;padding:.5rem;color:var(--grey3);font-size:1rem}@media (max-width: 719px){.search-pro-close-button{display:block}}.search-pro-input{flex:1;width:0;margin:0;padding-block:.25rem;padding-inline:2.5rem 2rem;border:0;border:2px solid var(--vp-tc);border-radius:8px;background:var(--vp-bg);color:var(--vp-c);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-pro-input::-webkit-search-cancel-button{display:none}.search-pro-suggestions{position:absolute;inset:calc(100% + 4px) 0 auto;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);list-style:none;line-height:1.5}.search-pro-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-brc);cursor:pointer}.search-pro-suggestion:first-child{border-top:none}.search-pro-suggestion.active,.search-pro-suggestion:hover{background-color:var(--vp-bglt)}.search-pro-auto-complete{display:none;float:right;margin:0 .5rem;padding:4px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);font-size:12px;line-height:1}.search-pro-suggestion.active .search-pro-auto-complete{display:block}.search-pro-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.search-pro-result-wrapper{min-height:unset;max-height:unset}}.search-pro-result-wrapper.loading,.search-pro-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:22px;text-align:center}.search-pro-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--card-shadow);line-height:1}.search-pro-hint{display:inline-flex;align-items:center;margin:0 .5rem}.search-pro-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow)}.search-pro-hint kbd+kbd{margin-inline-start:-.25rem}.search-pro-hint svg{display:block;width:15px;height:15px}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}.vp-copy-code-button{--copy-code-color: var(--code-ln-color);--copy-code-hover: var(--code-hl-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--vp-tc);--docsearch-text-color: var(--vp-c);--docsearch-highlight-color: var(--vp-tc);--docsearch-muted-color: var(--light-grey);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--vp-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);--docsearch-hit-color: var(--vp-cl);--docsearch-hit-active-color: var(--vp-bg);--docsearch-hit-background: var(--vp-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--vp-bg)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--vp-c);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}.vp-back-to-top-button{--back-to-top-color: var(--vp-tc);--back-to-top-color-hover: var(--vp-tcl);--back-to-top-bg-color: var(--vp-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--vp-bg);--catalog-bg-secondary-color: var(--vp-bgl);--catalog-border-color: var(--vp-brc);--catalog-active-color: var(--vp-tc);--catalog-hover-color: var(--vp-tcl)}.external-link-icon{--external-link-icon-color: var(--light-grey)}#nprogress{--nprogress-color: var(--vp-tc)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--vp-tc);--pwa-text-color: var(--vp-c);--pwa-bg-color: var(--vp-bg);--pwa-border-color: var(--vp-brc);--pwa-btn-text-color: var(--vp-bg);--pwa-btn-bg-color: var(--vp-tc);--pwa-btn-hover-bg-color: var(--vp-tcl);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey3);--pwa-content-light-color: var(--dark-grey)}.language-modal-mask{--redirect-bg-color: var(--vp-bg);--redirect-bg-color-light: var(--vp-bgl);--redirect-bg-color-lighter: var(--vp-bglt);--redirect-text-color: var(--vp-c);--redirect-primary-color: var(--vp-tc);--redirect-primary-hover-color: var(--vp-tcl);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--vp-bg);--search-accent-color: var(--vp-tc);--search-text-color: var(--vp-c);--search-border-color: var(--border-color);--search-item-text-color: var(--vp-clt);--search-item-focus-bg-color: var(--bg-color-secondary)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:#7f7f7f1f;font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;bottom:0;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color);transition:background var(--color-transition)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono);transition:background var(--color-transition),color var(--color-transition)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666;transition:border-color var(--color-transition),color var(--color-transition)}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2{border-color:var(--border-color);transition:border-bottom-color var(--color-transition)}hr{border-color:var(--border-color);transition:border-top-color var(--color-transition)}tr:nth-child(odd){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--light-grey);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--light-grey)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color);transition:border-color var(--color-transition)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--dark-grey);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#9c6c84 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--bg-color-tertiary)}.vp-hero-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-hero-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background .1s ease}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color);transition:border-top var(--color-transition)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--light-grey);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;transition:color var(--color-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);font-size:16px;transition:background var(--color-transition)}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem;transition:color var(--color-transition)}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color);transition:background var(--color-transition)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px;transition:border-color var(--color-transition)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center;transition:color var(--color-transition)}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;display:flex;flex:1;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);display:block;font-size:.8em;line-height:1;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--dark-grey);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--dark-grey);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.page-meta{padding-inline:1.5rem}}@media print{.page-meta{max-width:unset}}@media print{.page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.page-meta{display:block}}.page-meta .meta-item{flex-grow:1}.page-meta .meta-item .label{font-weight:500}.page-meta .meta-item .label:not(a){color:var(--text-color-lighter)}.page-meta .meta-item .info{color:var(--dark-grey);font-weight:400}.page-meta .git-info{text-align:end}.page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.page-meta .edit-link{display:none}}.page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.page-meta .update-time,.page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.page-meta .update-time,.page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--vp-tt)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--light-grey);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--dark-grey);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--dark-grey);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--dark-grey);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem;transition:border-bottom-color var(--color-transition)}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--dark-grey);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color);transition:background .5s}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .nav-item:first-child{margin-inline-start:0}.vp-navbar .nav-item:last-child{margin-inline-end:0}.vp-navbar .nav-item>.nav-link{color:var(--dark-grey)}.vp-navbar .nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--dark-grey)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-repo{margin:0!important}.vp-navbar .vp-repo-link{display:inline-block;margin:auto;padding:6px;color:var(--dark-grey);line-height:1}.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--dark-grey);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--dark-grey);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--dark-grey);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--dark-grey)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#846c9c}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--dark-grey);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--dark-grey)}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-header{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}.home .vp-hero-info-wrapper{min-height:600px}h3,h4{font-weight:700}.search-pro-result-wrapper{scrollbar-color:var(--vp-tc) var(--vp-brc);scrollbar-width:thin}@media (max-width: 419px){.search-pro-result-wrapper{font-size:14px}}.search-pro-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.search-pro-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}.search-pro-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-tc)}.search-pro-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-tcl)}.search-pro-result-wrapper mark{border-radius:.25em;line-height:1}.search-pro-result-list{margin:0;padding:0}.search-pro-result-list-item{display:block;list-style:none}.search-pro-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-bg);color:var(--vp-tc);font-weight:600;font-size:.85em;line-height:2rem;text-indent:.5em}.search-pro-result-item.active .search-pro-result-title{color:var(--vp-tc)}.search-pro-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-tc)}.search-pro-remove-icon{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;height:1.5rem;padding:0;border-radius:50%;color:var(--vp-tc);font-size:1rem}.search-pro-remove-icon svg{width:1.5rem;height:1.5rem}.search-pro-remove-icon:hover{background:#8080804d}.search-pro-result-content{display:flex;flex-grow:1;flex-direction:column;align-items:stretch;justify-content:center;line-height:1.5}.search-pro-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-brcd);font-size:.9em}.search-pro-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-bgl);color:inherit;box-shadow:0 1px 3px 0 var(--card-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.search-pro-result-item strong{color:var(--vp-tc)}.search-pro-result-item:hover,.search-pro-result-item.active{background-color:var(--vp-tcl);color:var(--white);cursor:pointer}.search-pro-result-item:hover .search-pro-result-type,.search-pro-result-item:hover .search-pro-remove-icon,.search-pro-result-item:hover strong,.search-pro-result-item.active .search-pro-result-type,.search-pro-result-item.active .search-pro-remove-icon,.search-pro-result-item.active strong{color:var(--white)} diff --git a/assets/style.html-DffyQX_V.js b/assets/style.html-DffyQX_V.js new file mode 100644 index 0000000000..ce0edf221a --- /dev/null +++ b/assets/style.html-DffyQX_V.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as r,a as e}from"./app-pLjDz5vt.js";const n={},i=e("h1",{id:"style-for-zotero",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#style-for-zotero"},[e("span",null,"Style for Zotero")])],-1),a=e("div",{class:"hint-container note"},[e("p",{class:"hint-container-title"},"Todo")],-1),s=[i,a];function c(l,p){return o(),r("div",null,s)}const h=t(n,[["render",c],["__file","style.html.vue"]]),u=JSON.parse('{"path":"/user-guide/plugins/style.html","title":"Style for Zotero","lang":"zh-CN","frontmatter":{"description":"Style for Zotero Todo","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/style.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Style for Zotero"}],["meta",{"property":"og:description","content":"Style for Zotero Todo"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Style for Zotero\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.02,"words":5},"filePathRelative":"user-guide/plugins/style.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    Todo

    \\n
    \\n"}');export{h as comp,u as data}; diff --git a/assets/styles-6860f46c-CPEIQAq_.js b/assets/styles-6860f46c-CPEIQAq_.js new file mode 100644 index 0000000000..e2c1952060 --- /dev/null +++ b/assets/styles-6860f46c-CPEIQAq_.js @@ -0,0 +1,160 @@ +import{s as ut,g as rt,a as at,b as lt,c as F,v as ct,x as ot,j as v,z as ht,l as At,y as We,h as z,d as pt,ar as Re}from"./mermaid.core-xpSMncQK.js";var Ve=function(){var e=function(x,u,a,h){for(a=a||{},h=x.length;h--;a[x[h]]=u);return a},i=[1,17],r=[1,18],l=[1,19],o=[1,39],A=[1,40],g=[1,25],D=[1,23],B=[1,24],_=[1,31],fe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,35],me=[1,36],be=[1,26],ge=[1,27],ke=[1,28],Te=[1,29],d=[1,43],Fe=[1,30],E=[1,42],C=[1,44],m=[1,41],k=[1,45],ye=[1,9],c=[1,8,9],Y=[1,56],j=[1,57],Q=[1,58],X=[1,59],H=[1,60],De=[1,61],Be=[1,62],W=[1,8,9,39],Ge=[1,74],M=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],q=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],J=[13,74,80,95,97,98],G=[13,64,65,74,80,95,97,98],Ue=[13,59,60,61,62,63,74,80,95,97,98],_e=[1,93],Z=[1,110],$=[1,108],ee=[1,102],te=[1,103],se=[1,104],ie=[1,105],ne=[1,106],ue=[1,107],re=[1,109],Se=[1,8,9,37,39,42],ae=[1,8,9,21],ze=[1,8,9,78],S=[1,8,9,21,73,74,78,80,81,82,83,84,85],Ne={trace:function(){},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,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(u,a,h,n,f,t,U){var s=t.length-1;switch(f){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:n.addRelation(t[s]);break;case 17:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 27:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 31:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 32:this.$=t[s],n.addNamespace(t[s]);break;case 33:this.$=[t[s]];break;case 34:this.$=[t[s-1]];break;case 35:t[s].unshift(t[s-2]),this.$=t[s];break;case 37:n.setCssClass(t[s-2],t[s]);break;case 38:n.addMembers(t[s-3],t[s-1]);break;case 39:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 40:this.$=t[s],n.addClass(t[s]);break;case 41:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 42:n.addAnnotation(t[s],t[s-2]);break;case 43:this.$=[t[s]];break;case 44:t[s].push(t[s-1]),this.$=t[s];break;case 45:break;case 46:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 47:break;case 48:break;case 49:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 51:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 52:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 53:n.addNote(t[s],t[s-1]);break;case 54:n.addNote(t[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 61:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 71:case 77:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 72:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 73:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 74:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 75:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 78:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 79:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 82:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 83:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 84:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 85:n.setCssClass(t[s-1],t[s]);break;case 86:this.$=[t[s]];break;case 87:t[s-2].push(t[s]),this.$=t[s-2];break;case 89:this.$=t[s-1]+t[s];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(ye,[2,5],{8:[1,46]}),{8:[1,47]},e(c,[2,16],{21:[1,48]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),e(c,[2,26]),{32:[1,49]},{34:[1,50]},e(c,[2,29]),e(c,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be}),{37:[1,63]},e(W,[2,36],{37:[1,65],42:[1,64]}),e(c,[2,47]),e(c,[2,48]),{16:66,74:d,80:E,95:C,97:m},{16:37,17:67,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:68,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:69,18:38,74:d,80:E,95:C,97:m,98:k},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:d,80:E,95:C,97:m,98:k},{13:Ge,51:73},e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(c,[2,58]),e(M,[2,11],{16:37,18:38,17:75,19:[1,76],74:d,80:E,95:C,97:m,98:k}),e(M,[2,12],{19:[1,77]}),{15:78,16:79,74:d,80:E,95:C,97:m},{16:37,17:80,18:38,74:d,80:E,95:C,97:m,98:k},e(q,[2,112]),e(q,[2,113]),e(q,[2,114]),e(q,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(ye,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:i,33:r,35:l,40:o,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},e(c,[2,17]),e(c,[2,27]),e(c,[2,28]),{13:[1,84],16:37,17:83,18:38,74:d,80:E,95:C,97:m,98:k},{49:85,57:54,58:55,59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be},e(c,[2,46]),{58:86,64:De,65:Be},e(J,[2,62],{57:87,59:Y,60:j,61:Q,62:X,63:H}),e(G,[2,63]),e(G,[2,64]),e(G,[2,65]),e(G,[2,66]),e(G,[2,67]),e(Ue,[2,68]),e(Ue,[2,69]),{8:[1,89],23:90,38:88,41:22,44:A},{16:91,74:d,80:E,95:C,97:m},{43:92,47:_e},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:$,74:ee,75:99,77:100,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},{74:[1,111]},{13:Ge,51:112},e(c,[2,54]),e(c,[2,117]),e(M,[2,13]),e(M,[2,14]),e(M,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:d,80:E,95:C,97:m},e(Se,[2,40],{11:114,12:[1,115]}),e(ye,[2,7]),{9:[1,116]},e(ae,[2,49]),{16:37,17:117,18:38,74:d,80:E,95:C,97:m,98:k},{13:[1,119],16:37,17:118,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,61],{57:120,59:Y,60:j,61:Q,62:X,63:H}),e(J,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:A},{8:[1,123],39:[2,33]},e(W,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:_e},{16:37,17:127,18:38,74:d,80:E,95:C,97:m,98:k},e(c,[2,70],{13:[1,128]}),e(c,[2,72],{13:[1,130],68:[1,129]}),e(c,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(c,[2,84],{78:[1,134]}),e(ze,[2,86],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(S,[2,88]),e(S,[2,90]),e(S,[2,91]),e(S,[2,92]),e(S,[2,93]),e(S,[2,94]),e(S,[2,95]),e(S,[2,96]),e(S,[2,97]),e(S,[2,98]),e(c,[2,85]),e(c,[2,53]),{37:[2,10]},e(Se,[2,41]),{13:[1,136]},{1:[2,4]},e(ae,[2,51]),e(ae,[2,50]),{16:37,17:137,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,59]),e(c,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:A},{43:140,47:_e},e(W,[2,38]),{39:[2,44]},e(c,[2,42]),e(c,[2,71]),e(c,[2,73]),e(c,[2,74],{68:[1,141]}),e(c,[2,77]),e(c,[2,78],{13:[1,142]}),e(c,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:$,74:ee,77:145,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},e(S,[2,89]),{14:[1,146]},e(ae,[2,52]),e(c,[2,31]),{39:[2,35]},{39:[1,147]},e(c,[2,75]),e(c,[2,79]),e(c,[2,81]),e(c,[2,82],{68:[1,148]}),e(ze,[2,87],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(Se,[2,8]),e(W,[2,39]),e(c,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var h=new Error(u);throw h.hash=a,h}},parse:function(u){var a=this,h=[0],n=[],f=[null],t=[],U=this.table,s="",le=0,Ke=0,tt=2,Ye=1,st=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(I.yy[ve]=this.yy[ve]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var xe=b.yylloc;t.push(xe);var it=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function nt(){var L;return L=n.pop()||b.lex()||Ye,typeof L!="number"&&(L instanceof Array&&(n=L,L=n.pop()),L=a.symbols_[L]||L),L}for(var T,R,y,Oe,P={},ce,N,je,oe;;){if(R=h[h.length-1],this.defaultActions[R]?y=this.defaultActions[R]:((T===null||typeof T>"u")&&(T=nt()),y=U[R]&&U[R][T]),typeof y>"u"||!y.length||!y[0]){var Ie="";oe=[];for(ce in U[R])this.terminals_[ce]&&ce>tt&&oe.push("'"+this.terminals_[ce]+"'");b.showPosition?Ie="Parse error on line "+(le+1)+`: +`+b.showPosition()+` +Expecting `+oe.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Ie="Parse error on line "+(le+1)+": Unexpected "+(T==Ye?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Ie,{text:b.match,token:this.terminals_[T]||T,line:b.yylineno,loc:xe,expected:oe})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+T);switch(y[0]){case 1:h.push(T),f.push(b.yytext),t.push(b.yylloc),h.push(y[1]),T=null,Ke=b.yyleng,s=b.yytext,le=b.yylineno,xe=b.yylloc;break;case 2:if(N=this.productions_[y[1]][1],P.$=f[f.length-N],P._$={first_line:t[t.length-(N||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(N||1)].first_column,last_column:t[t.length-1].last_column},it&&(P._$.range=[t[t.length-(N||1)].range[0],t[t.length-1].range[1]]),Oe=this.performAction.apply(P,[s,Ke,le,I.yy,y[1],f,t].concat(st)),typeof Oe<"u")return Oe;N&&(h=h.slice(0,-1*N*2),f=f.slice(0,-1*N),t=t.slice(0,-1*N)),h.push(this.productions_[y[1]][0]),f.push(P.$),t.push(P._$),je=U[h[h.length-2]][h[h.length-1]],h.push(je);break;case 3:return!0}}return!0}},et=function(){var x={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(u,a){return this.yy=a||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},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var a=u.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),u},unput:function(u){var a=u.length,h=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var n=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),h.length-1&&(this.yylineno-=h.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:h?(h.length===n.length?this.yylloc.first_column:0)+n[n.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var u=this.pastInput(),a=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+a+"^"},test_match:function(u,a){var h,n,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))),n=u[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],h=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),h)return h;if(this._backtrack){for(var t in f)this[t]=f[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,a,h,n;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),t=0;ta[0].length)){if(a=h,n=t,this.options.backtrack_lexer){if(u=this.test_match(h,f[t]),u!==!1)return u;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(u=this.test_match(a,f[n]),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})},lex:function(){var a=this.next();return a||this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(a,h,n,f){switch(n){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";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 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},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)/,/^(?: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,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,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],inclusive:!0}}};return x}();Ne.lexer=et;function Le(){this.yy={}}return Le.prototype=Ne,Ne.Parser=Le,new Le}();Ve.parser=Ve;const zt=Ve,Qe=["#","+","~","-",""];class Xe{constructor(i,r){this.memberType=r,this.visibility="",this.classifier="";const l=pt(i,F());this.parseMember(l)}getDisplayDetails(){let i=this.visibility+Re(this.id);this.memberType==="method"&&(i+=`(${Re(this.parameters.trim())})`,this.returnType&&(i+=" : "+Re(this.returnType))),i=i.trim();const r=this.parseClassifier();return{displayText:i,cssStyle:r}}parseMember(i){let r="";if(this.memberType==="method"){const l=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,o=i.match(l);if(o){const A=o[1]?o[1].trim():"";if(Qe.includes(A)&&(this.visibility=A),this.id=o[2].trim(),this.parameters=o[3]?o[3].trim():"",r=o[4]?o[4].trim():"",this.returnType=o[5]?o[5].trim():"",r===""){const g=this.returnType.substring(this.returnType.length-1);g.match(/[$*]/)&&(r=g,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const l=i.length,o=i.substring(0,1),A=i.substring(l-1);Qe.includes(o)&&(this.visibility=o),A.match(/[$*]/)&&(r=A),this.id=i.substring(this.visibility===""?0:1,r===""?l:l-1)}this.classifier=r}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const pe="classId-";let Pe=[],p={},he=[],He=0,O={},we=0,K=[];const V=e=>v.sanitizeText(e,F()),w=function(e){const i=v.sanitizeText(e,F());let r="",l=i;if(i.indexOf("~")>0){const o=i.split("~");l=V(o[0]),r=V(o[1])}return{className:l,type:r}},ft=function(e,i){const r=v.sanitizeText(e,F());i&&(i=V(i));const{className:l}=w(r);p[l].label=i},Ae=function(e){const i=v.sanitizeText(e,F()),{className:r,type:l}=w(i);if(Object.hasOwn(p,r))return;const o=v.sanitizeText(r,F());p[o]={id:o,type:l,label:o,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:pe+o+"-"+He},He++},qe=function(e){const i=v.sanitizeText(e,F());if(i in p)return p[i].domId;throw new Error("Class not found: "+i)},dt=function(){Pe=[],p={},he=[],K=[],K.push(Ze),O={},we=0,ht()},Et=function(e){return p[e]},Ct=function(){return p},mt=function(){return Pe},bt=function(){return he},gt=function(e){At.debug("Adding relation: "+JSON.stringify(e)),Ae(e.id1),Ae(e.id2),e.id1=w(e.id1).className,e.id2=w(e.id2).className,e.relationTitle1=v.sanitizeText(e.relationTitle1.trim(),F()),e.relationTitle2=v.sanitizeText(e.relationTitle2.trim(),F()),Pe.push(e)},kt=function(e,i){const r=w(e).className;p[r].annotations.push(i)},Je=function(e,i){Ae(e);const r=w(e).className,l=p[r];if(typeof i=="string"){const o=i.trim();o.startsWith("<<")&&o.endsWith(">>")?l.annotations.push(V(o.substring(2,o.length-2))):o.indexOf(")")>0?l.methods.push(new Xe(o,"method")):o&&l.members.push(new Xe(o,"attribute"))}},Tt=function(e,i){Array.isArray(i)&&(i.reverse(),i.forEach(r=>Je(e,r)))},Ft=function(e,i){const r={id:`note${he.length}`,class:i,text:e};he.push(r)},yt=function(e){return e.startsWith(":")&&(e=e.substring(1)),V(e.trim())},Me=function(e,i){e.split(",").forEach(function(r){let l=r;r[0].match(/\d/)&&(l=pe+l),p[l]!==void 0&&p[l].cssClasses.push(i)})},Dt=function(e,i){e.split(",").forEach(function(r){i!==void 0&&(p[r].tooltip=V(i))})},Bt=function(e,i){return i?O[i].classes[e].tooltip:p[e].tooltip},_t=function(e,i,r){const l=F();e.split(",").forEach(function(o){let A=o;o[0].match(/\d/)&&(A=pe+A),p[A]!==void 0&&(p[A].link=We.formatUrl(i,l),l.securityLevel==="sandbox"?p[A].linkTarget="_top":typeof r=="string"?p[A].linkTarget=V(r):p[A].linkTarget="_blank")}),Me(e,"clickable")},St=function(e,i,r){e.split(",").forEach(function(l){Nt(l,i,r),p[l].haveCallback=!0}),Me(e,"clickable")},Nt=function(e,i,r){const l=v.sanitizeText(e,F());if(F().securityLevel!=="loose"||i===void 0)return;const A=l;if(p[A]!==void 0){const g=qe(A);let D=[];if(typeof r=="string"){D=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let B=0;B")),o.classed("hover",!0)}).on("mouseout",function(){i.transition().duration(500).style("opacity",0),z(this).classed("hover",!1)})};K.push(Ze);let $e="TB";const Ot=()=>$e,It=e=>{$e=e},Rt=function(e){O[e]===void 0&&(O[e]={id:e,classes:{},children:{},domId:pe+e+"-"+we},we++)},Vt=function(e){return O[e]},wt=function(){return O},Pt=function(e,i){if(O[e]!==void 0)for(const r of i){const{className:l}=w(r);p[l].parent=e,O[e].classes[l]=p[l]}},Mt=function(e,i){const r=p[e];if(!(!i||!r))for(const l of i)l.includes(",")?r.styles.push(...l.split(",")):r.styles.push(l)},Kt={setAccTitle:ut,getAccTitle:rt,getAccDescription:at,setAccDescription:lt,getConfig:()=>F().class,addClass:Ae,bindFunctions:Lt,clear:dt,getClass:Et,getClasses:Ct,getNotes:bt,addAnnotation:kt,addNote:Ft,getRelations:mt,addRelation:gt,getDirection:Ot,setDirection:It,addMember:Je,addMembers:Tt,cleanupLabel:yt,lineType:vt,relationType:xt,setClickEvent:St,setCssClass:Me,setLink:_t,getTooltip:Bt,setTooltip:Dt,lookUpDomId:qe,setDiagramTitle:ct,getDiagramTitle:ot,setClassLabel:ft,addNamespace:Rt,addClassesToNamespace:Pt,getNamespace:Vt,getNamespaces:wt,setCssStyle:Mt},Gt=e=>`g.classGroup text { + fill: ${e.nodeBorder||e.classText}; + stroke: none; + font-family: ${e.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${e.classText}; +} +.edgeLabel .label rect { + fill: ${e.mainBkg}; +} +.label text { + fill: ${e.classText}; +} +.edgeLabel .label span { + background: ${e.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; +} + +g.classGroup line { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${e.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${e.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${e.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; +} +`,Yt=Gt;export{Kt as d,zt as p,Yt as s}; diff --git a/assets/styles-7383a064-XIOPFsuO.js b/assets/styles-7383a064-XIOPFsuO.js new file mode 100644 index 0000000000..6b082eef9d --- /dev/null +++ b/assets/styles-7383a064-XIOPFsuO.js @@ -0,0 +1,110 @@ +import{G as V}from"./graph-BVvHj2M5.js";import{aa as D,ab as M,ac as R,ad as F,a8 as j,p as N,l as y,q as U,c as $,j as G,r as C,o as E,h as _,y as H,t as W,ae as X}from"./mermaid.core-xpSMncQK.js";import{r as J}from"./index-8fae9850-DHonaQ1z.js";import{c as K}from"./channel-SX207SsG.js";function Q(e){return typeof e=="string"?new D([document.querySelectorAll(e)],[document.documentElement]):new D([R(e)],M)}function de(e,l){return!!e.children(l).length}function pe(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var Y=/:/g;function L(e){return e?String(e).replace(Y,"\\:"):""}function Z(e,l){l&&e.attr("style",l)}function be(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function fe(e,l){var c=l.graph();if(F(c)){var a=c.transition;if(j(a))return a(e)}return e}function O(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}Z(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const z={},ee=function(e){const l=Object.keys(e);for(const c of l)z[c]=e[c]},q=function(e,l,c,a,i,d){const u=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const r=e[p];let g="default";r.classes.length>0&&(g=r.classes.join(" ")),g=g+" flowchart-label";const w=N(r.styles);let t=r.text!==void 0?r.text:r.id,s;if(y.info("vertex",r,r.labelType),r.labelType==="markdown")y.info("vertex",r,r.labelType);else if(U($().flowchart.htmlLabels)){const m={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};s=O(u,m).node(),s.parentNode.removeChild(s)}else{const m=i.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",w.labelStyle.replace("color:","fill:"));const k=t.split(G.lineBreakRegex);for(const T of k){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=T,m.appendChild(v)}s=m}let b=0,o="";switch(r.type){case"round":b=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}l.setNode(r.id,{labelStyle:w.labelStyle,shape:o,labelText:t,labelType:r.labelType,rx:b,ry:b,class:g,style:w.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:$().flowchart.padding}),y.info("setNode",{labelStyle:w.labelStyle,labelType:r.labelType,shape:o,labelText:t,rx:b,ry:b,class:g,style:w.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:$().flowchart.padding})})},P=function(e,l,c){y.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=N(e.defaultStyle);d=n.style,u=n.labelStyle}e.forEach(function(n){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,y.info("abc78 new entry",p,i[p])):(i[p]++,y.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];y.info("abc78 new link id to be used is",p,r,i[p]);const g="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(n.style!==void 0){const o=N(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=C(n.interpolate,E):e.defaultInterpolate!==void 0?t.curve=C(e.defaultInterpolate,E):t.curve=C(z.curve,E),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=n.text.replace(G.lineBreakRegex,` +`),n.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=r,t.classes="flowchart-link "+g+" "+w,l.setEdge(n.start,n.end,t,a)})},te=function(e,l){return l.db.getClasses()},re=async function(e,l,c,a){y.info("Drawing flowchart");let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:u}=$(),n=u.nodeSpacing||50,p=u.rankSpacing||50;let r;d==="sandbox"&&(r=_("#i"+l));const g=d==="sandbox"?_(r.nodes()[0].contentDocument.body):_("body"),w=d==="sandbox"?r.nodes()[0].contentDocument:document,t=new V({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:n,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let s;const b=a.db.getSubGraphs();y.info("Subgraphs - ",b);for(let f=b.length-1;f>=0;f--)s=b[f],y.info("Subgraph - ",s),a.db.addVertex(s.id,{text:s.title,type:s.labelType},"group",void 0,s.classes,s.dir);const o=a.db.getVertices(),m=a.db.getEdges();y.info("Edges",m);let k=0;for(k=b.length-1;k>=0;k--){s=b[k],Q("cluster").append("text");for(let f=0;f{const c=K,a=c(e,"r"),i=c(e,"g"),d=c(e,"b");return X(a,i,d,l)},ae=e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.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: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${le(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,we=ae;export{Z as a,O as b,fe as c,be as d,pe as e,ue as f,we as g,de as i,Q as s}; diff --git a/assets/styles-b2c874b6-B3gpF3Gt.js b/assets/styles-b2c874b6-B3gpF3Gt.js new file mode 100644 index 0000000000..f25077f77f --- /dev/null +++ b/assets/styles-b2c874b6-B3gpF3Gt.js @@ -0,0 +1,207 @@ +import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,v as Xt,x as Kt,l as D,j as ot,z as Wt,b1 as Jt}from"./mermaid.core-xpSMncQK.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",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",30:"NOTE_TEXT",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:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"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,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],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var v=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");v=st[0],O=[O,st[1]]}this.$={stmt:"state",id:v,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",v=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(A.yy[dt]=this.yy[dt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(v+1)+`: +`+S.showPosition()+` +Expecting `+rt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":St="Parse error on line "+(v+1)+": Unexpected "+(_==B?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(St,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:yt,expected:rt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),p.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,l=S.yytext,v=S.yylineno,yt=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=p[p.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},Gt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),pt=this.performAction.apply(N,[l,O,v,A.yy,m[1],p,e].concat(ft)),typeof pt<"u")return pt;b&&(i=i.slice(0,-1*b*2),p=p.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),p.push(N.$),e.push(N._$),Ct=$[i[i.length-2]][i[i.length-1]],i.push(Ct);break;case 3:return!0}}return!0}},Yt=function(){var C={EOF:1,parseError:function(n,i){if(this.yy.parser)this.yy.parser.parseError(n,i);else throw new Error(n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,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},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=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 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:i?(i.length===o.length?this.yylloc.first_column:0)+o[o.length-i.length].length-i[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+n+"^"},test_match:function(r,n){var i,o,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))),o=r[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,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(r[0].length),this.matched+=r[0],i=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var e in p)this[e]=p[e];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,i,o;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),e=0;en[0].length)){if(n=i,o=e,this.options.backtrack_lexer){if(r=this.test_match(i,p[e]),r!==!1)return r;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(r=this.test_match(n,p[o]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,i,o,p){switch(o){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;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"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";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"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),i.yytext=i.yytext.substr(2).trim(),30;case 64:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return i.yytext=i.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},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,/^(?: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,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],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,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],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,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return C}();ht.lexer=Yt;function ut(){this.yy={}}return ut.prototype=ht,ht.Parser=ut,new ut}();gt.parser=gt;const De=gt,qt="LR",Ce="TB",_t="state",It="relation",Qt="classDef",Zt="applyClass",Et="default",te="divider",bt="[*]",Ot="start",Nt=bt,Rt="end",vt="color",At="fill",ee="bgFill",se=",";function wt(){return{}}let $t=qt,lt=[],P=wt();const Bt=()=>({relations:[],states:{},documents:{}});let ct={root:Bt()},g=ct.root,F=0,Lt=0;const ie={LINE:0,DOTTED_LINE:1},re={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},nt=t=>JSON.parse(JSON.stringify(t)),ne=t=>{D.info("Setting root doc",t),lt=t},ae=()=>lt,at=(t,s,a)=>{if(s.stmt===It)at(t,s.state1,!0),at(t,s.state2,!1);else if(s.stmt===_t&&(s.id==="[*]"?(s.id=a?t.id+"_start":t.id+"_end",s.start=a):s.id=s.id.trim()),s.doc){const h=[];let f=[],d;for(d=0;d0&&f.length>0){const y={stmt:_t,id:Jt(),type:"divider",doc:nt(f)};h.push(nt(y)),s.doc=h}s.doc.forEach(y=>at(s,y,!0))}},le=()=>(at({id:"root"},{id:"root",doc:lt},!0),{id:"root",doc:lt}),ce=t=>{let s;t.doc?s=t.doc:s=t,D.info(s),Pt(!0),D.info("Extract",s),s.forEach(a=>{switch(a.stmt){case _t:I(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case It:Ft(a.state1,a.state2,a.description);break;case Qt:Vt(a.id.trim(),a.classes);break;case Zt:xt(a.id.trim(),a.styleClass);break}})},I=function(t,s=Et,a=null,h=null,f=null,d=null,y=null,k=null){const u=t==null?void 0:t.trim();g.states[u]===void 0?(D.info("Adding state ",u,h),g.states[u]={id:u,descriptions:[],type:s,doc:a,note:f,classes:[],styles:[],textStyles:[]}):(g.states[u].doc||(g.states[u].doc=a),g.states[u].type||(g.states[u].type=s)),h&&(D.info("Setting state description",u,h),typeof h=="string"&&kt(u,h.trim()),typeof h=="object"&&h.forEach(E=>kt(u,E.trim()))),f&&(g.states[u].note=f,g.states[u].note.text=ot.sanitizeText(g.states[u].note.text,Y())),d&&(D.info("Setting state classes",u,d),(typeof d=="string"?[d]:d).forEach(T=>xt(u,T.trim()))),y&&(D.info("Setting state styles",u,y),(typeof y=="string"?[y]:y).forEach(T=>_e(u,T.trim()))),k&&(D.info("Setting state styles",u,y),(typeof k=="string"?[k]:k).forEach(T=>me(u,T.trim())))},Pt=function(t){ct={root:Bt()},g=ct.root,F=0,P=wt(),t||Wt()},V=function(t){return g.states[t]},oe=function(){return g.states},he=function(){D.info("Documents = ",ct)},ue=function(){return g.relations};function mt(t=""){let s=t;return t===bt&&(F++,s=`${Ot}${F}`),s}function Tt(t="",s=Et){return t===bt?Ot:s}function fe(t=""){let s=t;return t===Nt&&(F++,s=`${Rt}${F}`),s}function de(t="",s=Et){return t===Nt?Rt:s}function ye(t,s,a){let h=mt(t.id.trim()),f=Tt(t.id.trim(),t.type),d=mt(s.id.trim()),y=Tt(s.id.trim(),s.type);I(h,f,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),I(d,y,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),g.relations.push({id1:h,id2:d,relationTitle:ot.sanitizeText(a,Y())})}const Ft=function(t,s,a){if(typeof t=="object")ye(t,s,a);else{const h=mt(t.trim()),f=Tt(t),d=fe(s.trim()),y=de(s);I(h,f),I(d,y),g.relations.push({id1:h,id2:d,title:ot.sanitizeText(a,Y())})}},kt=function(t,s){const a=g.states[t],h=s.startsWith(":")?s.replace(":","").trim():s;a.descriptions.push(ot.sanitizeText(h,Y()))},pe=function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},Se=()=>(Lt++,"divider-id-"+Lt),Vt=function(t,s=""){P[t]===void 0&&(P[t]={id:t,styles:[],textStyles:[]});const a=P[t];s!=null&&s.split(se).forEach(h=>{const f=h.replace(/([^;]*);/,"$1").trim();if(h.match(vt)){const y=f.replace(At,ee).replace(vt,At);a.textStyles.push(y)}a.styles.push(f)})},ge=function(){return P},xt=function(t,s){t.split(",").forEach(function(a){let h=V(a);if(h===void 0){const f=a.trim();I(f),h=V(f)}h.classes.push(s)})},_e=function(t,s){const a=V(t);a!==void 0&&a.textStyles.push(s)},me=function(t,s){const a=V(t);a!==void 0&&a.textStyles.push(s)},Te=()=>$t,ke=t=>{$t=t},Ee=t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),ve={getConfig:()=>Y().state,addState:I,clear:Pt,getState:V,getStates:oe,getRelations:ue,getClasses:ge,getDirection:Te,addRelation:Ft,getDividerId:Se,setDirection:ke,cleanupLabel:pe,lineType:ie,relationType:re,logDocuments:he,getRootDoc:ae,setRootDoc:ne,getRootDocV2:le,extract:ce,trimColon:Ee,getAccTitle:Ut,setAccTitle:zt,getAccDescription:Mt,setAccDescription:Ht,addStyleClass:Vt,setCssClass:xt,addDescription:kt,setDiagramTitle:Xt,getDiagramTitle:Kt},be=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 .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}; +} + +.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}; +} +`,Ae=be;export{Et as D,It as S,te as a,_t as b,Ce as c,ve as d,De as p,Ae as s}; diff --git a/assets/svgDrawCommon-0ee1b4e9-BNVIMZiA.js b/assets/svgDrawCommon-0ee1b4e9-BNVIMZiA.js new file mode 100644 index 0000000000..f247289dfe --- /dev/null +++ b/assets/svgDrawCommon-0ee1b4e9-BNVIMZiA.js @@ -0,0 +1 @@ +import{n as o,m as i}from"./mermaid.core-xpSMncQK.js";const c=(s,t)=>{const r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(const e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},x=(s,t)=>{const r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};c(s,r).lower()},d=(s,t)=>{const r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);const n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},h=(s,t,r,e)=>{const n=s.append("image");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",a)},y=(s,t,r,e)=>{const n=s.append("use");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),p=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,y as b,h as c,c as d,p as e,d as f,g}; diff --git a/assets/sync.html-DGp0SDe2.js b/assets/sync.html-DGp0SDe2.js new file mode 100644 index 0000000000..9d84e5208a --- /dev/null +++ b/assets/sync.html-DGp0SDe2.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as s,c as d,a as e,b as t,d as o,w as c,e as r}from"./app-pLjDz5vt.js";const A="/assets/image-zotero-帐号登陆-Cb1agxj9.png",p="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAADiCAMAAAD+gTx4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAJDelRYdFJhdyBwcm9maWxlIHR5cGUgeG1wAAA4jZVVS7LjMAjcc4o5ggwIpOM4kbWbqlnO8afBcT4vfqk3USWyEaKbBin09/cf+hUfb0pylenNiy0mdrHqysXYqrl122Qwb/NyuUxm2LtpWKpL1SFFhxcV+DbrpM1Xx8YqvupW1TAjoAg2McuUjYtcvcnqzbDRRoDZwiXe7WqbS6xRIICN2gwesu4Ld/dk8ggD2yV26H0Hl9p01EIc5KanSTpvUniAT4kBi6dtwYzUhcXNAMt8xRpLfJkn5kaYFjEeYZJVRMBKVED9y+BbkgwuJmtlVbVHgpQZ7ouRZHPFKLIiqen54c3hxFvy9gTuMZJJ8AlWg/YgPFwcVQpdvCE5KBXrryxAAQVDOdh66tWhEzxincIhsgYe5A1Wu7zPFQmZ3/km2HYUiiDyhg6aNpBKA58S5FP0eR5SB3roLSy9xv0UFgHHSXBxrdhHZyL/PHi0uEMvBOIZ8VxSI8aGGu+QXw7sCK8hcEUQjdrVAJh2fW5Nyt4sOC0znSSfSrabJmrhVvPcxQZ0g3B/QKReq/bsoyi5BfmqXbNuuxMS6nlMUXZhZRzDotHjBfkseBZ01KIVA6AkHS5VAY+uxm/0KzrbpIm8IUcS4jVOYvTcMzAlsp4iL2fI3wHTjnxcFi/oNTvYgI4XPEfdylHubOQ4Czdp6MfamNZPDOlbbZ6RP2hzSEMnyPY/2tyAJ+3q8Px8wr967bfR3YoblF5v4n3p5O+gRkNmOrzf5PQPNa1ty+qpqT8AAAGAUExURfn5+be3twB1/IiIiFdXV0qe//b4+v////Dw8P8AAJycnPj4+dDQ0ODg4NLS0lFabv/9/f/+/v39/fz8/HFxcerr7Onp6ff29uXl5fPy8oKIlvPz9N7e3vDv7319fWRkZLG0vfb19efn5/v6+tra2t/f3+7u7tjY2OLh4crN0tXV1drc35KSku3s7Nzc3P/j4+no6PHx8fzh4Xd+jmtzhAl6/JecqPrf39To/+Pj49bX19/h5Ovr63e2//bp6Qx8/Pj39//s7I/D///39/Lr6/Pn5//7+xOA/V5neczj///y8vnm5u7q6u7n52Cp/53K/p2irSKI/VGh/ejz/8/R1/jk5Pfj4+nl5YySn/z29v35+a2usFak//7q6vvo6PTu7vfw8PHq6mSs/2+x/juV/aTO///z8/vv7/js7K/V/0ec/bW5wbna/zWS/ePu+vnz89Ln/1hgdMDAwMjJy6HL/Mff+rva/zCP/YK8/6GlsKWlpbfX+9nY2PXx8d/u/2tygyDObhwAAApkSURBVHja7Z2LX9NYFsebptlkb26GKYRHW6C8pctj6QJdrHRhu6zIqDCAu6MLoqKswoA4uOM4Tp351/ece5M0aVqkpWmjc8/nU2iSW/vted3kl0uNqCG3iAAUgAJQAArALw8wHu8E63Kss7rF4/F6/tWJ/FdVLB9pjK+ra/RS49h1EeZ7q+3tjTTCx/Aium0RvzHI+gi/alKIkY/hrfYOW9brt1U9Ui9hkwA5H+ANp1KJWpZKpYZ7AbGr9YAs/0Yjq72pVFYbGJhwbMZlExMD2USqd5URth6Q8yW0gZmZ5eUex+Ycg43lmYFsqlcfHe3sbDVgZ+foqI58EzPLADXSh3aT2SQzeNLXN9KzPAGE6MKWA6IDh5GvB+kYlmEY4+P9s5b1jxuTN/vmZgYSw3rdgLfudIAtaNcCBAdmkY/hGeP9iDY2Nla6cSOfv3GjNDY222/c7OuZyaZWoZLrBFy4dX0P6sMpDeI70gfeM/otuHz+T5bl86Wx2cmbczNaCsukMcAH8/Mdd241DJgYQAdy/83aeDAvUQo/ALE0O35zZHmAJWGDgB0P9GSu2YAUDQirAsYfPIhfNQdz6gNIw+9z1wkxlgiGuExoT+8Q47FZozLE8cwPP2TiV/dgUm8IMO4UybJVJJCFmIblJIRCgSqZ5EXiAAJfR8flhM0AjPM+DW1wALsgazMQZ3Qj+hHq+EYJKmR2fBIiPJEYLldx38/fgv3cFxxgnBuf6Iaxz8AsMjcyMtJnOZK3G2iD/YAHnRoijH2wq5E+eOdW/YBfc7t9G04VABBmugk20+Hc9t13FqU1lfSNzMFcl8AaqbeKG59JbnP7D1jkUe/5x49P1tbu2Xb/PlI6Nnf/3r21Jx/Pex/B6FYB/sOxR4/Oz58+ffoECNee2XbfY8+era09eXp+/gisVYD/ZfYNs5cvX7569epvLvtnhcGuV69gGAxuFeDfHXv8+PHBwcHdu3f/5bV/28a27t49OHiM1irAP7vtL2B//ZTBGBzb+oumoKx5l51CWfjsAf/YNhOArQNsR7J9KYCRrAYjtTZYjbetBMx2hdyDWthDrEUiMDLSBqv1tr6Yhw3wD14TgAJQAApAAXgNwMTDqfYAvi4qK2c/VuzsXujo6EgmhoZcYJmFbvvoPOya+q0MPJRrEPAqc/GmokSjK5WAye7I1EMETCQBcooJZ8wQJTM/b28mE+yzMLszFQTgLwoCRrcqATPzGQTsXgC+yNR8t8tXzIHlofaWd3fTAP/HAXdqAOYyER9gbqHbdhtEPWgPbnDA5zUA+aYHMPObs9UKD77mgD9WA9yz086Tg99mkt32jhZ4MFJEwDNfkWQe5tGDvD6hXtw5mGylB9GFPgcCw/dJBshhMsmEt8Rtt8H+gD34mhfJyk7lS4c6IP8gB5kL7VwsA3InIniwHsQSYTlYidg9n0/mIqwP5uCRqQnYvZDBZtQBI4Y8fm4K4C+KA+gtZNaec5ncHqDlkm+97+wOcTf/GLzSMzUJGwXcdAO6Z5PcEMfkaZXLRGqH2JlnhgKY6moCtups5lOAihswGkLAtp8PCkABKAAFoACsIgGH+D6JAGwCYLjvdgpAASgAf9eA+rRR/QCV9UABd4tKdHujcqQZi8VkXZJcYNTU3MfTBpHY00GDjcbxgQByhfXXipGyphrTCKjLgGGkY7YRlcLPNEJzQPwQKqHwhATiwXf8svN9JSAdpAiomfj+xqD9Uk7BtxkgBeJ0Saa1U+CagEeWwloDEF1zKSCJxUwN3UxJMDn4hgNu1gDkm5cAqvoFPGTI1waS8CqAuxxwoxrgnp127hzU5ZjL5Cxsypoco1Y2Nr9ImMK6rvoAp0voQctj03rNHEQ0bXBP1qGcg2kzCLjlA7yQGSCWs7/VcWDieIyaPTIlgVTxLiuSLf8BKSaxoDGXVQaP+9Hqg2ZMIpgFphYA4Bumbp2oamHFm4XaYEkmKuuDBB60oo1TB5BASzRMAz5QOoA2847Lb1tqAXq1m5C1Z0LJHqAR+a03wkaaO9QOMQzW5bRBY80vEkvA/FUtbEdP3HG2OojMvUI8DkR/eQAp4e1cM0lAgIC2Uy0P2382YymsJ6EFbPv5YOXSKAEoTvkFoAAUgAJQAApAASgABeDvDvB4X1lff17lgFtrkfDKWCLWFbv7IGpJ6RIXlOrWFq4CeLh/vPR+a/2F/4hLkOE4ElHLhJJ1VJcpqhBUdUtMTQQs7i8pSnT9dPukQplxGVElioiUENiiliLNLG24AGnz9cFiQVGZPrgIPqwIc1m0RPFU2sMocrVI1lCwYe6bNqwQU5QQaQAX7vtFaw3rSjTqOcTUGUs1IuhFVwgd/1JPiANRFg4LHPDFdgUgyzFH1trTmChjWhKrjFoMl2IswICKpDagkZao5SZ4W0r5nRPJnaQcxwIk8HkCKBIAPOaAJ15AVCVVx4OYX4RvUSZKM1R+syfLc/DttOFSXJsGWNgvLHHA0xfrZ64DhBIXoGRpk5JEmNucHOQ3olgO0koVsWmNmono+77dbkBkQjIjzYvXvqeEyjDeCWNFQtLB3MhZKiwVldMXp5cCEiZYx9KmqWGzc3uQmhoDlEw5HYTKjym4v70YjSqVgB+cfkwQljFiw6FeD0LYY2aPjDmqmfUG+QqA5SWip6E8WTgsA/4kTrcEoAAUgAJQAApAASgABaAAFIAC8KrGF5V5tuyLZPhtXXfqsq241b8yr07AwqYf0F4oCNfjDFCylCQOSOyVrK0B3PGvEWXL8gh7xoRV40NZNERA23duLVYKBnDn7GwlGn2x6wW8AG9hKFFpBUiN6GU9xAXIjDagrtYBuML/9nTdLXxwTdUFSOw1oToLPSEuydKY3tsjWlCAuzbglj/EmFoM0GQrkWGTIiB6i5QlSxghSS5Ju6mAu4UjdWNj4yS6slUlBzGkAEHYSuQyILqXXMAIVhsUagWeOKv2mgr4RlGOdnd31Z2VDX+R7PWgr1BvYzXtAE4blMAmkdjtE6ZpMlenm6+w8hWiyqa64e+DkyZlYeOAk44YZ04OIuC0YQyyZZq4RtlewFz3AsdPLS7btAH9jdrk68sdD2KupWUr5ShBdqms6gfWB4uKUigWi/6XslxjPIRYGQmxZHkGpU0JxNckktNcgmvUR8pRjRezgBE2XZCYXEozGCgQQlDrlz/gNOKsWg1wJjl6J85mBKAAFIACUAAKQAEoAAWgABSAAvBzBVw6LhT2le0q15ySagmYjkpJpDYAcmVhsdpVscRVLPa39WzxJ5FU39/JBg24VBOQX6TbHgwrYKg86NVnbEXQBizL0G0APCwg4PZP3qGOyu8pkrZ4sLC0+H5xsWJ1GZcsrRWMXDFnVdzA92U0I8TPF4FQ8QOqhJB0SWs/IIZY8YeYavIF/9qREAAee48Yg5iD+A0AaSkcgF6j7PsxWEFgGRP3wv5QAILLSFWmFnvw0Pqa03WwjTCeLLi/h/W5ON0SgAJQAApAAfjZA2a7Qg4YyWrhspD+r5NaTQ8KwLoB25dd2eGucAMCYlfIAbXhsANmvwDA/wMnwrrCx1vO5wAAAABJRU5ErkJggg==",g="/assets/image-坚果云-添加应用-CF4_T-X_.png",h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcQAAABjCAMAAAAy74DPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACrUExURf///4SKmPf4+e/w8rS4wJidqc/R1y2M8Nze4lFabt/h5Gx0hXmAj46UoV9neXq29dzs/WOq9K3S+enz/ZjH+Mjh+zGO8N3f42xzhPT5/ufo6/r8/9Xo/GGp9Pj4+f39/vDx873ByKKmsePw/auvuejp7Nbo/MbJ0NfZ3uDh5Xd+jqywus7k/NLV2ZfG+KTN+KrR+Yq/97fX+tfp/Njb3+jq7M/l/MDc+srM0js21FoAAAeySURBVHja7ZyHcts4EIZFEoBCUqIoWnKN415S7lKuvv+T3e6iEFDxKDeWZUf/P55YpkiU/XYXC02EwQCCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCoP8vUxf0bzUq1t2g1crH7FWT5fa35n/zzP3pWu3b0P3rqilNMapWtFmNc9tbPpa35S5TlmUT7g4PKt2PmcaSZ6WV8ZNRfihKu6ZlIGWQGijT3+Cn5bqy7dm7eSq239hK/RSSNneioubOs9sysZVTnpl1EPNMGT90mqW9Satwc7BhPM26oO7YJrHdUohiG4bosNRXWc6eQujJqMF01XHludUFjSUesGtdG3fpU7CxkYv2JhppURs3lYDNiQfvnh8UOvfOqmJThBkmbe5EWvOUC/1QF6tIGUdg+d0iK0IkioWznGfjpx5PyMUhGd49Zz1nqVEJFx5OEonZHf/iIKBwt73SwLTvgEfgrroBF6NHD4Tc0o3QR2Ji8Gr8EBzxL7l6VfFwxZu4Tb6dk4zYQNlh64Q3O/CuIUoGM5xY/DQ3jMTYd7U8bP+sM0dR+bguaiUe7DIsG8eGShKsAaJEIUNUNkGZ7PSxMQ6iu0ZG1WxbGp+LpnjASjrK3UC0s71NditSX5gf+bOqMu5S+3BmPjx4+1vuNDo0/WrSaeRVWb45RIo9Fa2J6nb8OK6ijMZZTDuGhtfKu1r+NL37Lq+LwY9cZLlIzBm3T6fsAooiSPM7RfZAvRo2nidFuJsYoqEAoma4aU/DR42RFTREPrEnbys5xCl1iHMEhxKIn6TdAJHtIo65+3TaG80sQgwevHK9VLc9/n8ZIZtZ+RKHpvcxgpRnIXVWx8dmEKXdVRAlndV+TRxzu1E61bYXIkumqxolwWK504U8ux31EPPx8VqI8kKGa/O9mwC3Ma44vMjznHfbSLSsGeIVIWZ7af0q1sQkEk0Zy7qiXWaypTWRTGKzItlIDH57TdeU8nWq6qsXFcf67ehOf6yNfsjUWoj2Sa4Ui9Gt9S0H0aV/emk0GZ1cgxEFiHzjNd3qJ5L9efVEOhXksh6IN7BT+FFW41EVKm+CaB/g8KS+yCpcHB9XDt3O06lUzSsYhZKEB0rL2mAVxD5IcxeJHiIbwE7R+beHZK44IbJv2zpnEaJdXZdt49KpuL9ZMZZoCtUoXRMHeSHXrPkXIpETjuY6aTE5pRDd2ki92FaoPQbPPaVt7mabWD7hR66s1M2KXV0ciRLQ4ygSq8ZEm0XVQyyyj1nBDs3V1HJhc1fLIlOGvas0zs+7SHQpsRiZUSWjs0WI6stWswzRlMZlBbkrhahp12rXa62ihUUgjiWhX/cQQ1/8qNYygrTNnUlnYoElD3f7rVKv2LLTZD5f+0ikMGniSPSR6zBFEKsrmjO3wyS4dojbtJXGQNeFlpSWQuTerkeV2EtpfoNDRAxJvV71tdASRF5fTVT/RhCZnyrLNRBzb4YIIjsF11o6fAKQtLkrhOSKlCVW1C62tlFJrRo9puJIpAxzLfPkhasJVbuEVLImupAJW3GzEPjG7rR5fy8Qac9HA7PVsDgHr8Hy4x6/pjWx1K7W5WeWIWpfmdnPg3qI1Jfi/rRNANE4eeYOIg1Lh0Ql66gbs6WctrmTJbEpzbo1Mc9SrsldvBIwRGXnyhB1Vhou920ujXaLUSTaVvqWl3q22P12f5DuQ7Ty/XnPkNf9ZxISytXINP0KoamKdmtz85svYY1ApZ3PY2NbS0rzOBKtc7tINLb8c4WOTUMLbb76T1n122gTgiAIgiAIgiAIgiAIgiAIgiAIgiAI+nl9OD16tyc6Ov2w3g7vzw+Hz6TD8/cvzPDo8mJf/PXi8mgtxffPhlAwvizF08t9SjuXp+veOR8+q85fdFpHF/sE8eJo3TuHzwvx8EWn9W6/KoC10x0+swAREAEREAEREAEREAFxQRsdUAKIrxriZgeUAOJrhrjhASWA+ATEycEk/uP3k86+7E7k+uyMHmz56bPZNiA+dUBJcixUmNXSAQ1PnEa1FxCJYAJx2k7oZ3ISHjmYDmf39r0vky1A3PyAEkBcB3HehkiUkBOdfGunw2HbDWc3X2+mw39mw+nNbDj5srXCZqMDSvyslHx1U75RyV/crZrPZVnqPYbYh9zcBhyFoQ3Q7n745YDCkF4TUb7czbcEccMDSpJIlHMuRgX9aLPnkTg9aPs10WbN+xmF4PSgm913g45SbTecU079TiDn3TYgbn5ASQJRuaNP+ACmPYfYtVFhw+n0bHY/m91w/LUDeq+bT9tvJ/NJ+/3ErY9bicTNDihJIWofxXsPsU+nVHkSUVr65j8o+KYHgx8Hrh7t2jkn1BCqW4W4dEDJ2nRKcVp8Jnx3mdn7wiaKxPmcIXYcgV87wsYRyfg6gnjDRP9uX2BNTA4oWb3FoG2kFDZ1wcdkmIYPHtWAKL+pGqWXvDu8n00WIE5D8t1uJC4eUILN/s9B5G3+oO3Obtp4o0jLYOcXw3mLD8BfY2HTv3X2x9x9SjOPCpg+Egnrdj6xAcRf4rNTQAREQAREQAREQPwp4T8P/wIQ8d/4rd70/wDHF2qs3vR3MfDVNqs3/a0oyFN8w99PhCAIgiAIgiAIgiAIgiAIgiAIgiAIgl6l/gM9dbKmLKtyyQAAAABJRU5ErkJggg==",u="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbUAAABdCAMAAAAVFAi0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAADkUExURf////f4+YSKmJidqd/Ppvrnts/R1//qsy2M8FFabrS4wN/h5O/w8t/QpuDQpuHRp+XUqNze4vjmtfzptmx0hffjr93OpY6UoV9neffktHmAj/votmxxef7qt+/drZjH+GOq9M/CoDGO8N3f463S+WxzhPfksLSsldzs/cjh+4SEgunz/fDx83q29aKmsWGp9NXo/Ofo6/39/vj4+ZiVitbo/OPw/auvufT5/ujp7MbJ0L3ByHd+jvr8/19lc9fZ3qTN+GxweaywurPV+tLV2dnb3+Dh5Y6Mhnd6fcXIznl7fujq7IwnP20AAAhzSURBVHja7ZwJW9s2GMdjiwoie0c3t8kYIwECCQRCOUrK1Xbt7n3/77P3kGTZiQMOEGC8/4cHEl96pd97SA5xoyESiUQikUgkEolEIpFIJBKJRE9AOkvhd7KaVh2gzNTTeKuOI/obtZJGI800vUlaEZ+FW5N2M1c74aNjXWxCa9qTriYlW7Q/A09XdBE0WCveapu3vciPDI+C68ZurztP32HEjCoPi7HthJ11Bvl996k0wybiMY8pv/MDTL2bTi2KjQ4MRD72ZEXUCACxtEfnXYyjCWqGB5Z9wJhw9Em4XdlzUhU5o5TxxhnHz7+Gi02l5vpokm20TuHwBvYpFcLX03quC5ds5O5KPedeeNd7EGpK4WVTdZGlFQaq0HMCS8lsHmednbcSdncMDrIdLzuNGvbQUwvRtBNqyfCoKj7mMkETyQ2wPSQHA08uHUf4zrEMnAuORJ8haroZRvrfeJ5xA0+/o9a2DoY9oKYpdiawUdtZaqxnhw2YIrWwc4FP3YMomemG0dzgVGqm4lxvlWroVmscn2c6ihEdXQqJTaOmwl7aAzi6iIDh8MEoAYcyCbRhKGTIZ/kIboGbz5wDmLZrC68Jg1YVa3mGREBJ60JxgtUcWirOkIY9BHcgJ9ii2Ar2II2hhC3pAo9ChuRLkN3TBvcuChxi0h+qqYF5ZqKuJW0eOW+jH60ovrLJxvjM608jELiJmFxxyKqGAYc2BlwCsoHiaPCeYMatT61CjYQWLCLr/aqCWt5hjcaDYwAAGFriAzlTgaGQMOxlIWgx3rCA4gGwldP/tivbPh2SY5Zi7cGo5b3SZWpBkfPziKACj3Pe0K2WzhA7Wept9C+iWCVt6gzVklKG1HbQOJIYi2LH5XQGmzBEIZrZvfaRmd1tyejsj9WCiekFUcs7wd5gO8KzJzhDafIX44cYQwoIeGfQrlSi3wALm62xWc7DY67T1LNFUZsZa9g5artQey01YwstzTt0+9InB+1t9JWYHFH52l6INRgNHae+ghoKKwiBNo6GsytprSbOrXT8L6IYj+AoY1zOM0Hdp1cu1uxm6wcqCHIwAztmDHTBT6UotSgVUsN90DbwNMrVNeIIJ2tF7JVltaAMSXOdKVB8aca202wySyI1H4aUG41u5LHGlUeH1NgdVRi+2DBASlZHbpaIVQu2mnKDaUgtwlGnWHPUdOybsw3EF5Yab7ZLA9ii8gzBZyetT6upn48UqTFPQ9NSmHPFXP9pvAA2UcMzoHlfjhcwGynNgSah0Z+J9FiKtSget7iAW2rnGQ6S8lPPcOYfxhr6DJ2P+dE4anZ+okyQu4lai5x4RISarSDWeK6nC2skX9codu0uHcYaGNqiNkYqt7CYIeGSBAGppdkYzPXU2DhDyJLtS0r9ZP2C6pqKyQqlpy8nXVZxEB21LyMXM1DjqU4oXolpXufASki5yUoFNUpb2wlnQx1QU1OpRfYkCLN2GGsuFxh/RKPASHlf15YPU0tXr2jJhuZqmjgaclHj0ht6A88vKRfg74CaJUMlwo6VblSu11QzS++RWROzuyktsrl64wYzMdb2NBPUtSic0RFd21EergpqEAUGZ3vNixjTjfIBny8UXX6xtcVHA2TIESGm5Zu7uuKBMTYnETU4M7t062XaovySg83jGzCGG1cjO/P3czCF6RZfadzv6pqNZu+W2t/VmU4NNlSuoWqXtXZTV9U1MLyQGgtHYbfRIMPjw6Og8+W4HT87Op5a4f5W84tyd62gLeXqmi7XgTDWjL1rA9RUDJN3vMcRLIVN+/fYGoHjrnOLYOzbv2V2vdKc3+9trBFVnH8GPVLGrobSuOkT1APF2u1LoGqIRCKRSCQSiUQikUgkEolEIpFIJBKJRCLR/1bLT1eVNr873Fypqc3DdxOXOTnael1TW0cnQm0+au9qMyNuZWwnW/vHdUfreH/rRKjNRe1wZS4dli5ztD/PeO0fCbW5qG3OR22zdJmt43nG63hLqM1FbWVOlS7zer4Bey3UhJpQE2pCTagJtceg9pb0fVFLRX1b1HdFlQ7+pqg3KKFGqno+xK2o7ezB0Wvr62sbltmDUytze3HUZj8f4lbUlv7cwT8LpfbmpVOrfj7EDdQoxvrLyxuny0zt9O0zoNYbBG+6Z5+Hu/WppeE3wCPlvoS6yAw54/kQOsySk9CAVv/j0nL/L0yQQG1vgdTezEute9YJ3r3v4E9dair/jnIanyM1oxdLbdbzIW7OkEu/Li2f7u0s96muPXFq3aHfM+wefHCvrzs1qZkr7aOMv5puFk1txvMhopuonTabEGsceP1nQG1wYF8dDLrww7FWu64lI+O/TYvfaX6EWJv1fIgbqJ0293Yw1vhNf7Gzkfky5MCH2gpT2+2t7O7WzpDGx5p9FkE2WnSslevsbamt/7NEGRJpQaxtPAdqgShD9nZ7B8OD+tTC5848RqzNfj7ETGpAaX3to61reztEr/+U55B5KWt8OOicdVcGvd7uYI45ZPA8Gv1Ida36+RA3zEY2oKptrPWpvNEcEqn9THpV1A9F/VjUq5n6qahfrOac+eMMkmsZrgAGvc71sLtyl1jTBvPkI1Crfj7EzJn/dC2G2tx3tDDCgFp32INyBgg7HzpY22pRwyeh4QKXnlRkqS18vZbf1pp8PkT9+5APT+0ud497OMtHamdfYX3dGH6+Hgy772vO/JNPfEuJH1UC1OKmfjxq93L3+GGp3e2ef+ea7ovs4iTy63vcAJHWgxpXM0Mqdml6wJCdjegpT219Tp/U3Ac1+aTmGVKTz9ce4VNRofYyPsu+GzOhJv+BINSEmlCT/z1+GdTk//zlOzX1Ik2+UyPfXxOJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCSqp/8ADrKF172NtcAAAAAASUVORK5CYII=",m="/assets/image-zotero-登陆webdav账户-xLfW-1HO.png",f="/assets/image-zotero-同步图标-CYfomLfU.png",b="/assets/image-zotero-webdav网址设置-tAYbsHFs.png",y={},w=r('

    数据与文件的同步

    我们在这里把同步分为“数据的同步”和“文件的同步”。

    数据的同步指 条目字段信息批注笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。

    文件的同步指 PDF 附件网页附件Word 文档EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。

    ',4),P={class:"hint-container caution"},v=e("p",{class:"hint-container-title"},"警告",-1),I=e("p",null,[t("无论你选择何种同步方案, 切勿将 Zotero 的 "),e("code",null,"数据存储位置/Data Directory Location"),t(" 自定义为任何网盘的同步文件夹中 (包括 iCloud),也切勿使用任何网盘/同步盘的备份功能直接同步/备份这一目录 !(包括但不限于直接使用坚果云的官方客户端直接同步备份这一文件夹)")],-1),x=e("p",null,"这样做在某些情况下可能会导致你的 Zotero 数据库损坏,带来严重的问题!官方对于这一问题的说明见这两篇文章:",-1),Z={href:"https://www.zotero.org/support/sync#alternative_syncing_solutions",target:"_blank",rel:"noopener noreferrer"},D={href:"https://www.zotero.org/support/kb/data_directory_in_cloud_storage_folder",target:"_blank",rel:"noopener noreferrer"},W=e("h2",{id:"数据的同步",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#数据的同步"},[e("span",null,"数据的同步")])],-1),E={class:"hint-container tip"},G=e("p",{class:"hint-container-title"},"提示",-1),z={href:"https://www.zotero.org/user/register",target:"_blank",rel:"noopener noreferrer"},U=r('

    之后您可以在 Zotero-编辑-设置-同步-设置中 输入您的帐号密码,进行登陆。

    账号登录
    账号登录
    ',2),Y={href:"https://www.zotero.org/settings/storage?ref=sib",target:"_blank",rel:"noopener noreferrer"},k=r('
    存储空间费用 (USD)
    300 MBFree
    2 GB$20/year (equal to $1.67 per month)
    6 GB$60/year (equal to $5 per month)
    Unlimited 无限$120/year (equal to $10 per month)

    如果您想免费进行进行文件的同步,那么您具有两种网盘同步方式:支持 WebDAV 的网盘(推荐)第三方同步盘。对于新手,建议从 WebDAV 网盘同步入手,在熟悉各种问题的解决方法和同步原理后,可尝试第三方网盘的同步方式。

    提示

    无论附件采用何种方式同步,条目信息、批注、笔记始终是通过 Zotero 官方的服务同步的。

    不要担心,这部分占用的体积很小,只要不同步附件,官方的空间是足够的。

    注意

    我们始终建议通过官方服务或 WebDAV 网盘进行附件同步。网上流传较广的 ZotFile 方案已经过时,不再被官方所推荐,且不支持移动端同步。

    通过 WebDAV 同步附件

    什么是 WebDAV

    WebDAV 是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。
    通俗一点儿来说,WebDAV 就是一种互联网方法,应用此方法可以在服务器上划出一块存储空间,可以使用用户名和密码来控制访问,让用户可以直接存储、下载、编辑文件。

    目前国内支持 WebDAV 同步的只有坚果云网盘,常见的如百度网盘、阿里云盘、OneDrive 等均不支持 WebDAV 同步。后续教程将以坚果云网盘为例。

    ',7),S={href:"https://www.jianguoyun.com/d/signup",target:"_blank",rel:"noopener noreferrer"},C=e("p",null,"坚果云免费用户具有以下限制:",-1),T=e("ul",null,[e("li",null,[e("p",null,"流量与空间限制:每月上传流量 1G/月、下载流量 3G/月、空间受限于上传流量,")]),e("li",null,[e("p",null,"文件上传大小限制:当前 WebDAV 客户端和网页端上传大小的限制是一致的,默认为 500M(私有云可以通过相关设置调整)。")]),e("li",null,[e("p",null,"访问频率限制:由于 WebDAV 协议比较占用系统资源,免费版用户限制访问频率为每 30 分钟不超过 600 次请求。付费用户限制访问频率为每 30 分钟不超过 1500 次请求。")])],-1),j={href:"https://www.jianguoyun.com/s/pricing",target:"_blank",rel:"noopener noreferrer"},R=e("h3",{id:"pc-端",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#pc-端"},[e("span",null,"PC 端")])],-1),V={href:"https://www.jianguoyun.com/d/login",target:"_blank",rel:"noopener noreferrer"},B=r('
  • 登录后点击 右侧用户名=>账户信息

    账户信息
    账户信息
  • 选择安全选项,下滑到底,点击添加应用。

    添加应用
    添加应用
  • 完成后,记录下生成的密码。

    生成应用密码
    生成应用密码
    复制应用密码
    复制应用密码
  • 打开 Zotero编辑——设置——同步——文件同步,使用 Zotero 改成 WebDAV,并填写你的坚果云的服务器地址:dav.jianguoyun.com/dav
    用户名是坚果云账号,密码是上一步中的应用密码(非坚果云账号登录密码),设置好后点击 Verify Server 即可。

    登陆WebDAV账户
    登陆WebDAV账户
  • 到此处,电脑上关于坚果云的同步设置就完成了。

  • 回到首页,点击右边的绿色的圈就可以同步更新,如果是第一次设置,会提示在坚果云里自动创建一个名叫 Zotero 的文件夹,用于存放同步更新的文件。

    同步图标
    同步图标
  • ',6),H=e("details",{class:"hint-container details"},[e("summary",null,"自定义存放路径"),e("p",null,"如果在坚果云里新建了一个文件夹,想将文件放在那个文件夹里的话,那么在填写服务器地址时,需要添加对应的文件夹名字(建议文件夹用英文或数字命名),例如 work,那么服务器地址填写如下:"),e("figure",null,[e("img",{src:b,alt:"WebDAV网址设置",tabindex:"0",loading:"lazy"}),e("figcaption",null,"WebDAV网址设置")]),e("p",null,[t("此时,你的 Zotero 的同步文件将会放在 "),e("code",null,"根目录/work/Zotero"),t(" 中。")])],-1),N=e("h3",{id:"ios",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ios"},[e("span",null,"iOS")])],-1),q=e("h3",{id:"android",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#android"},[e("span",null,"Android")])],-1),F=r('

    通过第三方网盘同步附件

    警告

    我们不建议使用第三方网盘结合 ZotFile 的方式进行同步。这会导致很多问题。除非你具备较强的问题排查能力,且对 ZotFile 所提供的功能有刚性需求,否则请不要使用这种方法

    施工中

    ',3);function K(J,Q){const i=a("ExternalLinkIcon"),n=a("RouteLink");return s(),d("div",null,[w,e("div",P,[v,I,x,e("ul",null,[e("li",null,[e("a",Z,[t("How can I access my library from multiple computers?"),o(i)])]),e("li",null,[e("a",D,[t("Can I store my Zotero data directory in a cloud storage folder?"),o(i)])])])]),W,e("div",E,[G,e("p",null,[t("无论如何,您都需要注册一个 Zotero 的官方账户,用于同步条目信息、批注以及笔记。如果您没有注册,可 "),e("a",z,[t("快速创建一个 Zotero 账户"),o(i)]),t("。")])]),U,e("p",null,[t("每个 Zotero 用户都可以获得 300 MB 的免费 Zotero 存储空间,用于存储附加文件,并可 "),e("a",Y,[t("购买更大的存储空间"),o(i)]),t("。如果您拥有钞能力,这是最简单的备份方法,在登陆您的 Zotero 账户并完成购买后无需其他任何设置。")]),k,e("p",null,[t("如果您没有坚果云网盘的账户,请先 "),e("a",S,[t("注册坚果云"),o(i)]),t("。")]),C,T,e("p",null,[t("当然对于大部分用户免费账户是完全够用的(虽然每个月只有 1g 上传流量,但是好处是每个月都可以有 1g,一年最多可以拥有 12g)。对于小部分用户,可通过付费"),e("a",j,[t("购买专业版"),o(i)]),t("或者使用其他支持 WebDAV 同步的网盘。")]),R,e("ol",null,[e("li",null,[e("p",null,[e("a",V,[t("登陆"),o(i)]),t("您的坚果云账户。")])]),B]),H,N,e("p",null,[t("见 "),o(n,{to:"/user-guide/mobile.html#ios"},{default:c(()=>[t("移动端")]),_:1}),t("。")]),q,e("p",null,[t("见 "),o(n,{to:"/user-guide/mobile.html#android"},{default:c(()=>[t("移动端")]),_:1}),t("。")]),F])}const M=l(y,[["render",K],["__file","sync.html.vue"]]),X=JSON.parse('{"path":"/user-guide/sync.html","title":"数据与文件的同步","lang":"zh-CN","frontmatter":{"title":"数据与文件的同步","icon":"async","date":"2022-09-14T20:52:08.000Z","updated":"2023-09-23T20:52:08.000Z","description":"数据与文件的同步 我们在这里把同步分为“数据的同步”和“文件的同步”。 数据的同步指 条目字段信息、批注、笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。 文件的同步指 PDF 附件、网页附件、Word 文档、EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。 警告...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/sync.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"数据与文件的同步"}],["meta",{"property":"og:description","content":"数据与文件的同步 我们在这里把同步分为“数据的同步”和“文件的同步”。 数据的同步指 条目字段信息、批注、笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。 文件的同步指 PDF 附件、网页附件、Word 文档、EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。 警告..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2022-09-14T20:52:08.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"数据与文件的同步\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-09-14T20:52:08.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"数据的同步","slug":"数据的同步","link":"#数据的同步","children":[]},{"level":2,"title":"通过 WebDAV 同步附件","slug":"通过-webdav-同步附件","link":"#通过-webdav-同步附件","children":[{"level":3,"title":"PC 端","slug":"pc-端","link":"#pc-端","children":[]},{"level":3,"title":"iOS","slug":"ios","link":"#ios","children":[]},{"level":3,"title":"Android","slug":"android","link":"#android","children":[]}]},{"level":2,"title":"通过第三方网盘同步附件","slug":"通过第三方网盘同步附件","link":"#通过第三方网盘同步附件","children":[]}],"git":{"createdTime":1695169095000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":5},{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":2},{"name":"l0o0","email":"linxzh1989@gmail.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":5.62,"words":1686},"filePathRelative":"user-guide/sync.md","localizedDate":"2022年9月14日","autoDesc":true,"excerpt":"\\n

    我们在这里把同步分为“数据的同步”和“文件的同步”。

    \\n

    数据的同步指 条目字段信息批注笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。

    \\n

    文件的同步指 PDF 附件网页附件Word 文档EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。

    \\n
    \\n

    警告

    \\n

    无论你选择何种同步方案, 切勿将 Zotero 的 数据存储位置/Data Directory Location 自定义为任何网盘的同步文件夹中 (包括 iCloud),也切勿使用任何网盘/同步盘的备份功能直接同步/备份这一目录 !(包括但不限于直接使用坚果云的官方客户端直接同步备份这一文件夹)

    \\n

    这样做在某些情况下可能会导致你的 Zotero 数据库损坏,带来严重的问题!官方对于这一问题的说明见这两篇文章:

    \\n\\n
    "}');export{M as comp,X as data}; diff --git a/assets/take-notes.html-FjQH8up8.js b/assets/take-notes.html-FjQH8up8.js new file mode 100644 index 0000000000..54b847cf34 --- /dev/null +++ b/assets/take-notes.html-FjQH8up8.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as s,o as l,c,a as e,b as t,d as i,e as n}from"./app-pLjDz5vt.js";const g="/assets/image-reader-移动选项卡-DjQeFO7X.png",p="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAAwCAMAAACIXLyeAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAC6UExURfv7+/7+/mdnZ/T09Pf39/Pz8/39/fX19fb29vn5+fLy8vj4+Pz8/Pr6+v///8nIyvHx8aalpunp6cHAwsLBw8bFx8PCxMTDxcXExsfGyMC/webm5vDw8OTk5efn6Nzc3c/O0OHg4crJy8/Oz9DP0ejn6L28vuXk5ba1tuzs7NjX2M3MztTT1Li3uNLS0+7u7svKzLW0tt3d3uXl5dXU1eLh4vLx8qyrrNDQ0cTDxN/f38vLy7Kxsuvr61n84IoAAADbSURBVEjH1dfJDoIwFIXhiwhFUERRHMB5nudZ3/+1FNdtCeaE4L/ort+maXIvGdAoPLTTtYgp5Ebb/dnG9OFaQ2bbMK7dJQUWaX1VAXK9joLkBoEOjBp6qrk8MimX4RTBVcEcQUs3VwdzBXEZQeIbSXLxo1oOWdo5SxzvGSxp5CXHxY+8LDI0VwFzkgFG9MkkI0+C3A8DmcuQ/THHe4YIrqmK43GqNCkXPzQ31pCRO4FyywWUm019Exex+WoD5AxzvTsAOcM5Xm53B1O4k5n+41nC9N0YWfAqY3oDb8xx49vdyS0AAAAASUVORK5CYII=",A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAwCAMAAACxOw3FAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAADGUExURfv7+/39/fPz8/Ly8v7+/vn5+ff392dnZ/b29vX19fj4+Pr6+vz8/PT09P///8nIyvHx8aalpunp6XBwcMHAwsLBw8PCxMXExsTDxcbFx8fGyMC/waysrK2trbGxsebm5vDw8NDP0eTk5efn6M/O0M/Oz+Hg4dzc3crJy+jn6MvKzLi3uNLS0+7u7t3d3rW0ttTT1L28vuzs7La1ttjX2OXk5c3MzuXl5dXU1eLh4vLx8qyrrNDQ0cTDxN/f38vLy7Kxsuvr6/pSSDEAAAEZSURBVEjH5dfXTsNAEIXhwTacGIgJONRUeu+9w/u/FBluUGTO2BuNFCI+aW9G2l+WbNleqTmTBS8vj9F3MPPydHZ06BrMsnRzaxBMHMnOtm8wqR9EvsFkf0+mXPV3y4J5XlyWjbIgUFx2cJ7rgujyPWYQ1MhBvph1MQAieV5cOmdKgyHzyQiuyhwHhM1VheDwAzOG4DQHhM3V2gQEZzkgbK4qBIdvSllwxT84wwFhc/X3g8ti/PcAYXNVIfhzQ8YUTDkgbK6a/zFY5/iHnu9pWcEO63VGDLJrtHa0JLK0f+u1rR2XdjDYbdM5eHchsafe9ZVr8PT4JvUM3p+fxDVpeHl7fX5oDE5Si14+3nuxnvWWvHz2U30hfgHFc3cupfUSiwAAAABJRU5ErkJggg==",d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAAwCAMAAACIXLyeAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAD2UExURfv7+/Pz8/Ly8vT09P39/f7+/vz8/Pb29mdnZ/X19ff39/r6+vn5+fj4+P///8nIyvHx8aalpunp6b+/v3BwcMDAwIKCgpycnJ+fn56ensHAwt7e3sbFx8PCxMXExsTDxcLBw8fGyMHBwe7u7sC/wfDw8ODg4Nzc3IODg8PDw9HR0Z2dndPT0+bm5m9vb8LCwuTk5eHg4c/O0Ofn6NDP0crJy9zc3c/Oz6Wlpejn6Ozs7M3Mzri3uL28vtjX2La1ttTT1OXk5cvKzKamptLS07W0tt3d3uXl5dXU1eLh4vLx8tDQ0ayrrMTDxN/f38vLy7Kxsuvr61cCmowAAAFvSURBVEjHvdfZVsIwEIDhCVibVKhVCrSgqCCKAu77vu/r+7+MLaC0PWaSyhz/i/Yi0+8ivUnAJA3CB3t8nqQp5A6v7p5smgJuY0fYNhm3vQUGWcB2swYht7lnUHL7zTHCYCHlB6zlEXKsxbmHceNpWnJ5kCddT8f1NcSDmRTaCv/Ok3Kg3VDj3JfM6HN+ROOlUbm45kimanqYU4pqrkyD2oROzbhWlc3pcVU3qnGppscltHX5JMzllNVjGK8joxpcQvNzI3HXKbSAy+O141oJn4ZZfL2T0BojcZ18bOdchRZwFhYvWsWhtrZsKVJxMU+pWTCv4CJe0dLg0CNMqBTMAu+/NY48am7gHZhEXM9r6x3IKgKpPNi1glgVWqFc+eefamooF2plkSqE+4MmYDFL2X9xHE3KnbLfwznJRwwql4wwuDgm5Y7Ouxm6QJydNAg5M3Nze0/Imc7Dy+ubQ1N4J8t03z+maOrdGEXzc5qmL2iGfgR1SjhXAAAAAElFTkSuQmCC",m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAAwCAYAAAC/gkysAAABSklEQVRoge3XsY2DQBAF0OFEE9AH1MLSAgGtQEALFAOyg7vLiAlogHQvOGE5ORn+md0d9F9iyULLMJrPLtG6rlbosPjr89t3DSpF8zxbEZE0TX3XosqH7wK0iq39fcVtv7QPJw7ExoEYVRAnDsTGgRhVECcOFLu+YVVVp67fdd2p628uF1VXz8Gogtg4EBsHemwOfMcdw4kDsXEgHkdAnDgQGwdiVEHOv1Xbtj10fV3XJ1XyP4wqyHlU+76XYRheXtc0DbT+ZXfVsiwlz3PXt307L1G9QvO87arGGBGRP2OL1nPZqD4zxqidPO+7qtbmBXEALopCrLUyjuPjP0Z1J2OMZFnmu4zdgmmciK7mOf/kemXbbUMXTdNkRUSSJPFdiypBRVUTNg4UxHFEI04ciI0DMaogThyIjQMxqqD4frv7rkGlaFkWjhrgB6cSm1cg9lGVAAAAAElFTkSuQmCC",f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAAwCAYAAAC/gkysAAABQUlEQVRoge3ZPW6EMBAF4HHEJeCK0ADn4KeAY+0Wm1RAS8EFaJ0icopI0Ya3ZiyT9zU0y9iM3ligNfu+W6HDkvfHR+g9RMms62pFRLIsC72XqLyF3kCsEmu/jjh3pb9h4kBsHIijCmLiQGwciKMKYuJAifaCeZ6fWn8cx1PrO5cbVa3nUE+cMwyD13pFUXit9wzPOFCwxDloUnwn9qjvxmmfca+u99v9Ws/BUQWxcaBgryMc1X+KjQNxVEFMHIiNA3FUQUwcKPi3qi9936uud7lR1RI8cV3XealTlqXXes/wjANFO6radX9i4kBmWRYrIpKmqcqCVVW9dH/btofquN/7xsSBzDzPqok7S13XIiLSNI3KekwciI0D8Z98kJmm6RJnnDaOKuhyo6qFiQOxcSCOKii53+6h9xAls20bowb4BHFqtWnfd70AAAAAAElFTkSuQmCC",h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAwCAMAAADZyI/9AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFEUExURf/UAP7+/vz8/PLy8vT09PPz8/39/fb29vX19fv7+/r6+vf39/j4+Pn5+f///+vDAMnIyqalpunp6fHx8eHh4VpaWl5eXv3SANzc3N3d3Wtra2NjY/jOAN/f3+Li4t7e3uDg4Nvb2+Pj429vb2ZmZtra2uzJGeTk5NnZ2cHAwu7GAOXl5cXExsPCxMLBw8TDxcbFx8fGyO7SSfDUS/HjnObm5u3FAP7TAMC/waenp3p6eu/v73d3d8TExMzMzKysrHNzc+3KGvTw3PHWT+7SRfXmn/bnoPDUR+3PPfDw8NjY2NDP0c/O0Nzc3eTk5c/Oz+jn6Ofn6OHg4crJy/n14fr36svKzO7u7ri3uNLS07W0tt3d3uXk5b28vtTT1Ozs7La1ts3MztjX2NXU1eLh4vLx8qyrrNDQ0cTDxMvLy7Kxsuvr6+7gznYAAAGlSURBVFjD3dhXU4NAEMDxi0mUGJK1RJFIbFE0xAoSe0li7733Xr7/u4SxoGRRJuzo+H+F2d/MPdwdsAriWBVV9zdBE0inozTdHu9tkALRKLe8ZgCdnT6yQiubtIAvsB2kBXyrW6ytrZywxXVioHyAHmhqKqPs94E5LQuWstqcO6CfxWIhvN082JrfCbnoGyAPGUlglgQpA/PeAbOQ+TS+0JACs54BGkjMlgSaC6DbACrRZBDsgABy5c9zBgBYkQD+FtDSEkHDgLfn43WWxouO6CsJGButf290jACI6PHG1+J6BAESCR4NAz7eEJPtZkkRGVEqwE/GzSaxET2lAvxE0miCx4Hm5jAaBnx6aWp6egof4QEQHhkJ0wKO9TJRxC+uGODi7usMYJudZ4BafLtWXQENDRzaIChDRQ6cQe7npRwBbgaUr0emAgucd0Buxn7oL+Q8BIxVUmXrdFl1sz4m0NoaoGz4HwAdHUHKTomBkxQxcHnGurr8dOkX56TA/sEVRwmkjw79FWxpqZamxMPdda3xpV9N1dOj7i/8q6ih6nmRKxwIL6qvr9rcFtIQAAAAAElFTkSuQmCC",u="/assets/image-reader-注释-lrXkTzwm.png",x="/assets/image-reader-划选-BkQjWY1M.png",b="/assets/image-添加笔记-DHXvXsPc.png",o="/assets/image-添加笔记3-2bBRrFUH.png",z="/assets/image-reader-注释详情-D3LnJLO9.png",D="/assets/image-新建笔记-Dj_42NBl.png",y="/assets/image-添加笔记菜单-oSwpAzYe.png",v="/assets/image-betternotes-添加到主笔记-BMNXNX44.png",k="/assets/image-betternotes-导出笔记对话框-Dha1PlZy.png",w="/assets/image-betternotes-导出笔记-BAmgb5v0.png",P="/assets/image-导出笔记-DwNJnySX.png",B={},E=n('

    阅读文献、添加笔记

    Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。

    注意

    内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。

    如果你并没有特别依赖第三方 PDF 阅读器的某些特殊功能,建议使用 Zotero 阅读器。

    打开文献 PDF

    在主界面中选中文献,双击或回车即可打开文献 PDF。默认以新标签页打开。

    💡 要以单独窗口打开文献,请在打开文献时按住 shift,或在标签页的标题上右键=>移动标签=>移动到新窗口。
    image.png

    Zotero 会自动记忆打开的文献与当前阅读位置。在下一次打开 Zotero 或在其他设备上打开同一个文献时,将会保持当前阅读位置。

    阅读器功能介绍

    界面区域

    • 左侧是预览栏,可预览缩../目录;
    • 右侧是信息/笔记栏,可查看当前文献信息image.png或编辑笔记image.png
    • 上方横条是工具栏,可在此缩放、移动页面,或使用高亮注释(alt+1)image.png,文字注释(alt+2)image.png,框选注释(alt+3)image.png,设置注释颜色(alt+4 切换)image.png
    • 中央是阅读区域。
    image.png
    image.png

    选中弹窗

    在阅读区域选中文本后,也可以通过弹窗来快速高亮内容(翻译按钮由 PDF Translate 插件提供,详见后续章节):

    image.png
    image.png

    如果此时右侧打开了笔记,则还可以将选中内容一键添加到笔记:

    image.png
    image.png

    在阅读器中创建笔记

    右侧笔记栏中,点击 + 按钮即可创建笔记。条目笔记即属于当前文献条目的笔记;通过注释添加笔记即将文献中的所有注释(高亮等)添加到一个新的笔记。

    image
    image

    管理注释

    左侧预览栏中,可预览注释内容。每个注释分为三部分:内容,评论与标签。

    image.png
    image.png

    内容即注释本身,例如高亮文本、框选的图片等。评论区在内容区下方,可以写文字。标签区在最下方,可以为注释添加标签。

    注意

    目前,注释的标签不支持搜索,也不支持从主界面的标签管理器中筛选。

    注释支持拖放,可以复制或拖到笔记或外部软件。

    在不同的设备上,只要正确设置了同步,注释内容也将一并同步过去。

    笔记功能介绍

    ',27),_={href:"https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgb",target:"_blank",rel:"noopener noreferrer"},X=e("p",null,"此处仅作简单介绍。",-1),F={href:"https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/biigg4",target:"_blank",rel:"noopener noreferrer"},O=e("p",null,"笔记分为两种:",-1),C=e("ul",null,[e("li",null,"独立笔记。没有父条目,在主界面库视图中,不需要展开即可看到。"),e("li",null,"条目笔记。具有父条目,一般在某条文献下,展开可看到。")],-1),N=e("h3",{id:"创建笔记",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创建笔记"},[e("span",null,"创建笔记")])],-1),T=e("p",null,"创建笔记有多种方式:",-1),L=n('
  • 在 Zotero 主界面,中央上方工具栏选择新建笔记=>新建独立笔记/添加子笔记;

    image
    image
  • 在主界面,选中条目,从右键菜单创建条目子笔记;

    image
    image
  • 在 PDF 阅读器中,右侧笔记栏右上角的 '+' 按钮可创建条目子笔记;

    image
    image
  • ',3),U={href:"https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/pavzsz",target:"_blank",rel:"noopener noreferrer"},H=e("figure",null,[e("img",{src:v,alt:"image",tabindex:"0",loading:"lazy"}),e("figcaption",null,"image")],-1),M=e("h3",{id:"导出笔记",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#导出笔记"},[e("span",null,"导出笔记")])],-1),Z=e("p",null,"Zotero 提供了一项笔记导出为 markdown 的功能,但图片及许多格式不会被处理。",-1),V={href:"https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/nxlngg",target:"_blank",rel:"noopener noreferrer"},G={href:"https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/aid2c3",target:"_blank",rel:"noopener noreferrer"},R=n('
    image
    image

    可通过以下三种方式导出笔记:

    1. 在主界面,选中一个或多个笔记条目,在右键菜单中通过 " 导出笔记及条目子笔记 " 或 " 导出多个笔记 ";

      image
      image
    2. 在笔记编辑器中,右上角工具栏导出按钮;

      image
      image
    3. (不推荐)在主界面中,通过右键菜单使用 Zotero 自带的笔记导出功能。

    ',3);function S(q,Q){const a=s("ExternalLinkIcon");return l(),c("div",null,[E,e("p",null,[t("关于笔记的创建及相关功能,详见 "),e("a",_,[t("https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgb"),i(a)]),t("(由 Better Notes 插件提供的文档)。")]),X,e("blockquote",null,[e("p",null,[t("可了解 "),e("a",F,[t("Better Notes 插件"),i(a)]),t(",更方便地在 Zotero 中做笔记,支持双链、支持模板、支持多种导出方式。")])]),O,C,N,T,e("ol",null,[L,e("li",null,[e("p",null,[t("(需要 Better Notes 插件)在 PDF 阅读器中,左侧注释栏的每一个注释右上角的黄色花形按钮,参见 "),e("a",U,[t("4.3 从注释创建快速笔记/Quick Note from Annotation"),i(a)])]),H])]),M,Z,e("p",null,[t("建议使用 Better Notes 提供的导出功能,可导出单条或多条笔记为 markdown 文件,或通过剪贴板复制到富文本编辑器(如 OneNote,Word),或导出为 PDF,并且支持自动同步更改(Zotero=>外部导出目录)。关于导出,详见 "),e("a",V,[t("4.8 笔记导出/Export"),i(a)]),t(";关于同步,详见 "),e("a",G,[t("4.9 笔记同步/Sycn"),i(a)]),t("。")]),R])}const W=r(B,[["render",S],["__file","take-notes.html.vue"]]),I=JSON.parse('{"path":"/user-guide/take-notes.html","title":"阅读文献、添加笔记","lang":"zh-CN","frontmatter":{"title":"阅读文献、添加笔记","icon":"note","date":"2023-06-28T21:16:16.000Z","updated":"2023-07-21T19:17:58.000Z","description":"阅读文献、添加笔记 Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。 注意 内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。 如果你并没有特别依赖第三...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/take-notes.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"阅读文献、添加笔记"}],["meta",{"property":"og:description","content":"阅读文献、添加笔记 Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。 注意 内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。 如果你并没有特别依赖第三..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-06-28T21:16:16.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"阅读文献、添加笔记\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-06-28T21:16:16.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"打开文献 PDF","slug":"打开文献-pdf","link":"#打开文献-pdf","children":[]},{"level":2,"title":"阅读器功能介绍","slug":"阅读器功能介绍","link":"#阅读器功能介绍","children":[{"level":3,"title":"界面区域","slug":"界面区域","link":"#界面区域","children":[]},{"level":3,"title":"选中弹窗","slug":"选中弹窗","link":"#选中弹窗","children":[]},{"level":3,"title":"在阅读器中创建笔记","slug":"在阅读器中创建笔记","link":"#在阅读器中创建笔记","children":[]},{"level":3,"title":"管理注释","slug":"管理注释","link":"#管理注释","children":[]}]},{"level":2,"title":"笔记功能介绍","slug":"笔记功能介绍","link":"#笔记功能介绍","children":[{"level":3,"title":"创建笔记","slug":"创建笔记","link":"#创建笔记","children":[]},{"level":3,"title":"导出笔记","slug":"导出笔记","link":"#导出笔记","children":[]}]}],"git":{"createdTime":1695169095000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":4.57,"words":1372},"filePathRelative":"user-guide/take-notes.md","localizedDate":"2023年6月28日","autoDesc":true,"excerpt":"\\n

    Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。

    \\n
    \\n

    注意

    \\n

    内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。

    \\n

    如果你并没有特别依赖第三方 PDF 阅读器的某些特殊功能,建议使用 Zotero 阅读器。

    \\n
    "}');export{W as comp,I as data}; diff --git a/assets/timeline-definition-d977decf-BRm8LHqy.js b/assets/timeline-definition-d977decf-BRm8LHqy.js new file mode 100644 index 0000000000..48fbbbd2ec --- /dev/null +++ b/assets/timeline-definition-d977decf-BRm8LHqy.js @@ -0,0 +1,61 @@ +import{b2 as ft,z as gt,c as mt,l as E,h as G,t as xt,b3 as bt,b4 as _t,b5 as kt}from"./mermaid.core-xpSMncQK.js";import{a as D}from"./arc-DQUeFz1-.js";import"./app-pLjDz5vt.js";import"./path-CbwjOpE9.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},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:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: +`+k.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":J="Parse error on line "+(T+1)+": Unexpected "+(_==A?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(J,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:I,expected:j})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(S[0]){case 1:c.push(_),u.push(k.yytext),o.push(k.yylloc),c.push(S[1]),_=null,W=k.yyleng,x=k.yytext,T=k.yylineno,I=k.yylloc;break;case 2:if(N=this.productions_[S[1]][1],R.$=u[u.length-N],R._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},P&&(R._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),Z=this.performAction.apply(R,[x,W,T,w.yy,S[1],u,o].concat(B)),typeof Z<"u")return Z;N&&(c=c.slice(0,-1*N*2),u=u.slice(0,-1*N),o=o.slice(0,-1*N)),c.push(this.productions_[S[1]][0]),u.push(R.$),o.push(R._$),Y=$[c[c.length-2]][c[c.length-1]],c.push(Y);break;case 3:return!0}}return!0}},b=function(){var g={EOF:1,parseError:function(r,c){if(this.yy.parser)this.yy.parser.parseError(r,c);else throw new Error(r)},setInput:function(i,r){return this.yy=r||this.yy||{},this._input=i,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},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var r=i.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var r=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;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),c.length-1&&(this.yylineno-=c.length-1);var u=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:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),r=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+r+"^"},test_match:function(i,r){var c,d,u;if(this.options.backtrack_lexer&&(u={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&&(u.yylloc.range=this.yylloc.range.slice(0))),d=i[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+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,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(i[0].length),this.matched+=i[0],c=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var o in u)this[o]=u[o];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,r,c,d;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),o=0;or[0].length)){if(r=c,d=o,this.options.backtrack_lexer){if(i=this.test_match(c,u[o]),i!==!1)return i;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(i=this.test_match(r,u[d]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,c,d,u){switch(d){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;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";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"}},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 g}();f.lexer=b;function m(){this.yy={}}return m.prototype=f,f.Parser=m,new m}();K.parser=K;const vt=K;let F="",st=0;const Q=[],q=[],V=[],it=()=>ft,rt=function(){Q.length=0,q.length=0,F="",V.length=0,gt()},at=function(n){F=n,Q.push(n)},lt=function(){return Q},ot=function(){let n=tt();const t=100;let e=0;for(;!n&&ee.id===st-1).events.push(n)},dt=function(n){const t={section:F,type:F,description:n,task:n,classes:[]};q.push(t)},tt=function(){const n=function(e){return V[e].processed};let t=!0;for(const[e,a]of V.entries())n(e),t=t&&a.processed;return t},wt={clear:rt,getCommonDb:it,addSection:at,getSections:lt,getTasks:ot,addTask:ct,addTaskOrg:dt,addEvent:ht},St=Object.freeze(Object.defineProperty({__proto__:null,addEvent:ht,addSection:at,addTask:ct,addTaskOrg:dt,clear:rt,default:wt,getCommonDb:it,getSections:lt,getTasks:ot},Symbol.toStringTag,{value:"Module"})),Et=12,U=function(n,t){const e=n.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),e.attr("rx",t.rx),e.attr("ry",t.ry),t.class!==void 0&&e.attr("class",t.class),e},Tt=function(n,t){const a=n.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),s=n.append("g");s.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function h(y){const f=D().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}function l(y){const f=D().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}function p(y){y.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return t.score>3?h(s):t.score<3?l(s):p(s),a},It=function(n,t){const e=n.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),e.class!==void 0&&e.attr("class",e.class),t.title!==void 0&&e.append("title").text(t.title),e},ut=function(n,t){const e=t.text.replace(//gi," "),a=n.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class!==void 0&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},$t=function(n,t){function e(s,h,l,p,y){return s+","+h+" "+(s+l)+","+h+" "+(s+l)+","+(h+p-y)+" "+(s+l-y*1.2)+","+(h+p)+" "+s+","+(h+p)}const a=n.append("polygon");a.attr("points",e(t.x,t.y,50,20,7)),a.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,ut(n,t)},Nt=function(n,t,e){const a=n.append("g"),s=X();s.x=t.x,s.y=t.y,s.fill=t.fill,s.width=e.width,s.height=e.height,s.class="journey-section section-type-"+t.num,s.rx=3,s.ry=3,U(a,s),pt(e)(t.text,a,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+t.num},e,t.colour)};let et=-1;const Mt=function(n,t,e){const a=t.x+e.width/2,s=n.append("g");et++;const h=300+5*30;s.append("line").attr("id","task"+et).attr("x1",a).attr("y1",t.y).attr("x2",a).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Tt(s,{cx:a,cy:300+(5-t.score)*30,score:t.score});const l=X();l.x=t.x,l.y=t.y,l.fill=t.fill,l.width=e.width,l.height=e.height,l.class="task task-type-"+t.num,l.rx=3,l.ry=3,U(s,l),t.x+14,pt(e)(t.task,s,l.x,l.y,l.width,l.height,{class:"task"},e,t.colour)},Lt=function(n,t){U(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},At=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},X=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},pt=function(){function n(s,h,l,p,y,f,b,m){const g=h.append("text").attr("x",l+y/2).attr("y",p+f/2+5).style("font-color",m).style("text-anchor","middle").text(s);a(g,b)}function t(s,h,l,p,y,f,b,m,g){const{taskFontSize:i,taskFontFamily:r}=m,c=s.split(//gi);for(let d=0;d)/).reverse(),s,h=[],l=1.1,p=e.attr("y"),y=parseFloat(e.attr("dy")),f=e.text(null).append("tspan").attr("x",0).attr("y",p).attr("dy",y+"em");for(let b=0;bt||s==="
    ")&&(h.pop(),f.text(h.join(" ").trim()),s==="
    "?h=[""]:h=[s],f=e.append("tspan").attr("x",0).attr("y",p).attr("dy",l+"em").text(s))})}const Ht=function(n,t,e,a){const s=e%Et-1,h=n.append("g");t.section=s,h.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+s));const l=h.append("g"),p=h.append("g"),f=p.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),b=a.fontSize&&a.fontSize.replace?a.fontSize.replace("px",""):a.fontSize;return t.height=f.height+b*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,p.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),zt(l,t,s),t},Ct=function(n,t,e){const a=n.append("g"),h=a.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),l=e.fontSize&&e.fontSize.replace?e.fontSize.replace("px",""):e.fontSize;return a.remove(),h.height+l*1.1*.5+t.padding},zt=function(n,t,e){n.append("path").attr("id","node-"+t.id).attr("class","node-bkg node-"+t.type).attr("d",`M0 ${t.height-5} v${-t.height+2*5} q0,-5 5,-5 h${t.width-2*5} q5,0 5,5 v${t.height-5} H0 Z`),n.append("line").attr("class","node-line-"+e).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},H={drawRect:U,drawCircle:It,drawSection:Nt,drawText:ut,drawLabel:$t,drawTask:Mt,drawBackgroundRect:Lt,getTextObj:At,getNoteRect:X,initGraphics:Pt,drawNode:Ht,getVirtualNodeHeight:Ct},Rt=function(n,t,e,a){var s,h;const l=mt(),p=l.leftMargin??50;E.debug("timeline",a.db);const y=l.securityLevel;let f;y==="sandbox"&&(f=G("#i"+t));const m=(y==="sandbox"?G(f.nodes()[0].contentDocument.body):G("body")).select("#"+t);m.append("g");const g=a.db.getTasks(),i=a.db.getCommonDb().getDiagramTitle();E.debug("task",g),H.initGraphics(m);const r=a.db.getSections();E.debug("sections",r);let c=0,d=0,u=0,o=0,$=50+p,x=50;o=50;let T=0,W=!0;r.forEach(function(w){const v={number:T,descr:w,section:T,width:150,padding:20,maxHeight:c},I=H.getVirtualNodeHeight(m,v,l);E.debug("sectionHeight before draw",I),c=Math.max(c,I+20)});let C=0,A=0;E.debug("tasks.length",g.length);for(const[w,v]of g.entries()){const I={number:w,descr:v,section:v.section,width:150,padding:20,maxHeight:d},P=H.getVirtualNodeHeight(m,I,l);E.debug("taskHeight before draw",P),d=Math.max(d,P+20),C=Math.max(C,v.events.length);let z=0;for(let _=0;_0?r.forEach(w=>{const v=g.filter(_=>_.section===w),I={number:T,descr:w,section:T,width:200*Math.max(v.length,1)-50,padding:20,maxHeight:c};E.debug("sectionNode",I);const P=m.append("g"),z=H.drawNode(P,I,T,l);E.debug("sectionNode output",z),P.attr("transform",`translate(${$}, ${o})`),x+=c+50,v.length>0&&nt(m,v,T,$,x,d,l,C,A,c,!1),$+=200*Math.max(v.length,1),x=o,T++}):(W=!1,nt(m,g,T,$,x,d,l,C,A,c,!0));const B=m.node().getBBox();E.debug("bounds",B),i&&m.append("text").text(i).attr("x",B.width/2-p).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),u=W?c+d+150:d+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",p).attr("y1",u).attr("x2",B.width+3*p).attr("y2",u).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),xt(void 0,m,((s=l.timeline)==null?void 0:s.padding)??50,((h=l.timeline)==null?void 0:h.useMaxWidth)??!1)},nt=function(n,t,e,a,s,h,l,p,y,f,b){var m;for(const g of t){const i={descr:g.task,section:e,number:e,width:150,padding:20,maxHeight:h};E.debug("taskNode",i);const r=n.append("g").attr("class","taskWrapper"),d=H.drawNode(r,i,e,l).height;if(E.debug("taskHeight after draw",d),r.attr("transform",`translate(${a}, ${s})`),h=Math.max(h,d),g.events){const u=n.append("g").attr("class","lineWrapper");let o=h;s+=100,o=o+Ft(n,g.events,e,a,s,l),s-=100,u.append("line").attr("x1",a+190/2).attr("y1",s+h).attr("x2",a+190/2).attr("y2",s+h+(b?h:f)+y+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}a=a+200,b&&!((m=l.timeline)!=null&&m.disableMulticolor)&&e++}s=s-10},Ft=function(n,t,e,a,s,h){let l=0;const p=s;s=s+100;for(const y of t){const f={descr:y,section:e,number:e,width:150,padding:20,maxHeight:50};E.debug("eventNode",f);const b=n.append("g").attr("class","eventWrapper"),g=H.drawNode(b,f,e,h).height;l=l+g,b.attr("transform",`translate(${a}, ${s})`),s=s+10+g}return s=p,l},Vt={setConf:()=>{},draw:Rt},Wt=n=>{let t="";for(let e=0;e` + .edge { + stroke-width: 3; + } + ${Wt(n)} + .section-root rect, .section-root path, .section-root circle { + fill: ${n.git0}; + } + .section-root text { + fill: ${n.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,Ot=Bt,Zt={db:St,renderer:Vt,parser:vt,styles:Ot};export{Zt as diagram}; diff --git a/assets/translate.html-DEAUZenJ.js b/assets/translate.html-DEAUZenJ.js new file mode 100644 index 0000000000..2de15fa057 --- /dev/null +++ b/assets/translate.html-DEAUZenJ.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as i,c as l,a as e,b as t,d as n}from"./app-pLjDz5vt.js";const s={},p=e("h1",{id:"translate-for-zotero",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#translate-for-zotero"},[e("span",null,"Translate for Zotero")])],-1),c=e("div",{class:"hint-container tip"},[e("p",{class:"hint-container-title"},"提示"),e("p",null,"深度适配 Zotero 阅读器的翻译插件。")],-1),d={href:"https://github.com/windingwind/zotero-pdf-translate",target:"_blank",rel:"noopener noreferrer"},h={href:"https://github.com/windingwind/zotero-pdf-translate/releases",target:"_blank",rel:"noopener noreferrer"},u={href:"https://zotero-chinese.gitee.io/zotero-plugins/",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,"Zotero PDF Translate 是由 @windingwind 开发的,用于文献管理软件 Zotero 的翻译插件。它完全开源、免费,主要功能有:",-1),g=e("ul",null,[e("li",null,"划词翻译(自动/手动)"),e("li",null,"标题、摘要翻译与源文本/翻译结果显示切换"),e("li",null,"批注翻译(自动/手动)"),e("li",null,"支持 15+种翻译服务与 4+种字典服务"),e("li",null,"自定义翻译侧栏 UI,支持同时使用多种翻译引擎")],-1),f=e("p",null,"插件深度集成了 Zotero 文献阅读功能。",-1);function _(w,Z){const o=a("ExternalLinkIcon");return i(),l("div",null,[p,c,e("ul",null,[e("li",null,[t("项目主页:"),e("a",d,[t("https://github.com/windingwind/zotero-pdf-translate"),n(o)])]),e("li",null,[t("下载地址: "),e("ul",null,[e("li",null,[e("a",h,[t("GitHub Release"),n(o)])]),e("li",null,[e("a",u,[t("Zotero 中文社区插件商店"),n(o)])])])])]),m,g,f])}const T=r(s,[["render",_],["__file","translate.html.vue"]]),y=JSON.parse('{"path":"/user-guide/plugins/translate.html","title":"Translate for Zotero","lang":"zh-CN","frontmatter":{"description":"Translate for Zotero 提示 深度适配 Zotero 阅读器的翻译插件。 项目主页:https://github.com/windingwind/zotero-pdf-translate 下载地址: GitHub Release Zotero 中文社区插件商店 Zotero PDF Translate 是由 @windingwind ...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/plugins/translate.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Translate for Zotero"}],["meta",{"property":"og:description","content":"Translate for Zotero 提示 深度适配 Zotero 阅读器的翻译插件。 项目主页:https://github.com/windingwind/zotero-pdf-translate 下载地址: GitHub Release Zotero 中文社区插件商店 Zotero PDF Translate 是由 @windingwind ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Translate for Zotero\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706851064000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.58,"words":173},"filePathRelative":"user-guide/plugins/translate.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n
    \\n

    提示

    \\n

    深度适配 Zotero 阅读器的翻译插件。

    \\n
    \\n"}');export{T as comp,y as data}; diff --git a/assets/translating-locale-files.html-BHCvxjRg.js b/assets/translating-locale-files.html-BHCvxjRg.js new file mode 100644 index 0000000000..5c8b232106 --- /dev/null +++ b/assets/translating-locale-files.html-BHCvxjRg.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as c,c as r,a as e,b as t,d as o,w as s,e as p}from"./app-pLjDz5vt.js";const h={},d=p('

    Locale File

    注意

    此页面正在施工中。

    前言

    ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。

    ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:"British Psychological Society" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。

    ​ 所有的 CSL 样式,都依赖于 locale file,这些本地化文件中包含了本地化数据,用来指定引文和参考文献目录中的术语,日期格式和语法规则怎么本地化。在单独的本地化文件保存这些数据,而不是在 CSL 样式文件中(尽管 CSL 样式文件中可以使用 cs:locale 元素对本地化文件中的设置进行覆盖),有很多好处:1. 本地化更加容易维护;2. 样式文件更加的紧凑; 3. 样式可以是语言无关的。

    ',6),m=e("h2",{id:"开始",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#开始"},[e("span",null,"开始")])],-1),u={href:"https://github.com/citation-style-language/locales/",target:"_blank",rel:"noopener noreferrer"},g={href:"http://people.w3.org/rishida/utils/subtags/",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/citation-style-language/locales/wiki",target:"_blank",rel:"noopener noreferrer"},L=e("h2",{id:"转换-locale-files",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#转换-locale-files"},[e("span",null,"转换 Locale Files")])],-1),_=e("blockquote",null,[e("p",null,"todo")],-1);function C(S,y){const i=a("RouteLink"),l=a("ExternalLinkIcon");return c(),r("div",null,[d,e("p",null,[t("​ 下面,我们将描述本地化文件的结构,给出如何转换所有部分的指示,并且解释如何提交这些转换。如果想获得更多的有关本地化的信息,可以查看 "),o(i,{to:"/csl-dev-guide/specification.html"},{default:s(()=>[t("CSL 规范")]),_:1}),t("。")]),m,e("p",null,[t("​ CSL 本地化文件在 GitHub 的仓库地址为"),e("a",u,[t("https://github.com/citation-style-language/locales/"),o(l)]),t("。")]),e("p",null,[t('​ 每个本地化文件都包含一种对应语言的本地化数据。本地化文件的名字为 "locales-xx-XX.xml",这里的 "xx-XX" 是 '),e("a",g,[t("BCP 47 langues code 语言代码"),o(l)]),t(" 中的一种。这个 "),e("a",f,[t("GitHub wiki 仓库"),o(l)]),t(" 列出了本地化 code,对应的语言和该仓库中储存的所有语言环境的软换状态(是否完成,或在制作中)。")]),L,_])}const k=n(h,[["render",C],["__file","translating-locale-files.html.vue"]]),v=JSON.parse('{"path":"/csl-dev-guide/translating-locale-files.html","title":"Locale File","lang":"zh-CN","frontmatter":{"title":"Locale File","date":"2022-08-02T16:02:13.000Z","updated":"2022-08-03T10:17:57.000Z","description":"Locale File 注意 此页面正在施工中。 前言 ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。 ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:\\"British Psychological Society\\" 的 CSL 样式将会生成英式英语的引文和参考文献目...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/csl-dev-guide/translating-locale-files.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Locale File"}],["meta",{"property":"og:description","content":"Locale File 注意 此页面正在施工中。 前言 ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。 ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:\\"British Psychological Society\\" 的 CSL 样式将会生成英式英语的引文和参考文献目..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-12-06T12:08:50.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2022-08-02T16:02:13.000Z"}],["meta",{"property":"article:modified_time","content":"2023-12-06T12:08:50.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Locale File\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-08-02T16:02:13.000Z\\",\\"dateModified\\":\\"2023-12-06T12:08:50.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"开始","slug":"开始","link":"#开始","children":[]},{"level":2,"title":"转换 Locale Files","slug":"转换-locale-files","link":"#转换-locale-files","children":[]}],"git":{"createdTime":1690031195000,"updatedTime":1701864530000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":3},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":1.74,"words":522},"filePathRelative":"csl-dev-guide/translating-locale-files.md","localizedDate":"2022年8月2日","autoDesc":true,"excerpt":"\\n
    \\n

    注意

    \\n

    此页面正在施工中。

    \\n
    \\n

    前言

    \\n

    ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。

    \\n

    ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:\\"British Psychological Society\\" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。

    "}');export{k as comp,v as data}; diff --git a/assets/update-translators.html--mjF3In0.js b/assets/update-translators.html--mjF3In0.js new file mode 100644 index 0000000000..9b82376d14 --- /dev/null +++ b/assets/update-translators.html--mjF3In0.js @@ -0,0 +1 @@ +import{_ as g}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as d,c as m,a as t,b as o,d as r,w as u,e as a}from"./app-pLjDz5vt.js";const h="/assets/image-update-official-translators-DWD9dD9d.jpg",f="/assets/image-update-unofficial-translators-CWDW9YRw.jpg",s="/assets/image-update-translator-chrome-1-YPALAm3t.jpg",i="/assets/image-update-translator-chrome-2-DaGHG9kR.jpg",l="/assets/image-update-translator-safari-1-CVDbKibc.jpg",c="/assets/image-update-translator-safari-2-BIdE7bma.jpg",_="/assets/image-zotero-数据储存位置-B7Gitgiu.png",Z="/assets/image-数据储存位置translators文件夹-CDP8itE-.png",y="/assets/image-手动在github下载translators-CHFNpTKL.png",b="/assets/image-translators文件-CvA0vAcn.png",C="/assets/image-手动更新translators-CoxIixHB.png",x={},T=a('

    如何更新 Translator

    在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。

    提醒

    这里的 translator 指的是 Zotero 从浏览器网页抓取文献信息时所需的转换器,在 Zotero 中有时也被称作是“翻译器”。如果你遇到的是语言翻译问题(如标题翻译、摘要翻译、文献阅读中的句段翻译等),通常与本文讲的 translator 无关,请参照 Translate for Zotero 插件的教程进行排查。

    方法 1:一键自动更新

    ',4),z=t("p",null,"安装新版茉莉花插件",-1),v=t("p",null,"更新 translator 之前请确保你安装的 茉莉花 插件已经是最新版本。如果你的 茉莉花 插件版本过低,更新可能会失败。最新的 茉莉花 插件安装包可在这里下载,然后覆盖安装即可:",-1),k={href:"https://plugins.zotero-chinese.com/",target:"_blank",rel:"noopener noreferrer"},w={href:"https://github.com/l0o0/jasminum",target:"_blank",rel:"noopener noreferrer"},A={class:"hint-container tip"},j=t("p",{class:"hint-container-title"},"提示",-1),N=a('
  • 在 Zotero 设置中,进入 高级 设置,点击下方“自动检查转换器和样式的更新”后面的 立即更新 按钮。

    更新官方 translator
    更新官方 translator

    提示

    建议取消勾选“自动检查转换器和样式的更新”前面的复选框,这样可以避免非官方维护中文转换器被意外替换为官方的版本。如果遇到了文献抓取失败的问题,可再按照本文档的方法更新。

  • 进入 茉莉花 插件的设置,转到 非官方维护中文翻译器 部分,然后点击 更新全部 按钮。

    更新非官网维护中文翻译器
    更新非官网维护中文翻译器
  • 更新 每一个浏览器 中 Zotero Connector 插件里的 translators。

    Google Chrome 和 Microsoft Edge
    1. 右键点击 Zotero Connector 按钮,然后点击 选项

      打开 Zotero Connector 的选项
      打开 Zotero Connector 的选项
    2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

      更新 Zotero Connector 中的 translators
      更新 Zotero Connector 中的 translators
    Apple Safari
    1. 在网页空白处点鼠标右键,然后点击 Zotero Preference

      打开 Zotero Connector 的选项
      打开 Zotero Connector 的选项
    2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

      更新 Zotero Connector 中的 translators
      更新 Zotero Connector 中的 translators

    注意

    这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!

    点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。

  • 重启浏览器。

  • 此时你已经完成了 translators 的更新。此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 4 和步骤 5 。

  • ',5),D=t("h2",{id:"方法-2-手动替换文件更新",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#方法-2-手动替换文件更新"},[t("span",null,"方法 2:手动替换文件更新")])],-1),E=a('
  • 在 Zotero-编辑-设置-高级-文件和文件夹 找到自己的数据储存位置。

    例如,下图中的数据储存位置就是 E:\\Zotero File,这里也可以点击“打开数据文件夹”快速打开你的数据文件夹。

    数据储存位置
    数据储存位置
  • 找到数据文件夹中的 translators 文件夹(对上图而言就是 E:\\Zotero File\\translators),这里是 Zotero translators 的存放位置

    translators的存放位置
    translators的存放位置
  • ',2),G={href:"https://github.com/l0o0/translators_CN",target:"_blank",rel:"noopener noreferrer"},P=t("figure",null,[t("img",{src:y,alt:"手动在GitHub上下载translators",tabindex:"0",loading:"lazy"}),t("figcaption",null,"手动在GitHub上下载translators")],-1),B=a('
  • 将下载的 zip 文件解压后选择其中所有的 translators 文件(.js 文件),并复制

    选择所有的translators文件
    选择所有的translators文件
  • 将所有的 translators 粘贴到第 1 步中 translators 文件夹并替换,此时已经完成 Zotero 中 translators 文件的更新

    替换旧的translators
    替换旧的translators
  • 更新 每一个浏览器 中 Zotero Connector 插件里的 translators。

    Google Chrome 和 Microsoft Edge
    1. 右键点击 Zotero Connector 按钮,然后点击 选项

      打开 Zotero Connector 的选项
      打开 Zotero Connector 的选项
    2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

      更新 Zotero Connector 中的 translators
      更新 Zotero Connector 中的 translators
    Apple Safari
    1. 在网页空白处点鼠标右键,然后点击 Zotero Preference

      打开 Zotero Connector 的选项
      打开 Zotero Connector 的选项
    2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

      更新 Zotero Connector 中的 translators
      更新 Zotero Connector 中的 translators

    注意

    这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!

    点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。

  • ',3),L=t("p",null,"此时你已经完成了 translators 的更新,此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 6。",-1);function U(V,H){const e=n("ExternalLinkIcon"),p=n("RouteLink");return d(),m("div",null,[T,t("ol",null,[t("li",null,[z,v,t("p",null,[o("中文插件商店:"),t("a",k,[o("https://plugins.zotero-chinese.com/"),r(e)])]),t("p",null,[o("茉莉花 插件主页:"),t("a",w,[o("https://github.com/l0o0/jasminum"),r(e)])]),t("div",A,[j,t("p",null,[o("如果你在安装插件中遇到问题,请阅读 "),r(p,{to:"/user-guide/plugins/about-plugin.html"},{default:u(()=>[o("插件安装教程")]),_:1}),o(" 。")])])]),N]),D,t("ol",null,[E,t("li",null,[t("p",null,[o("在 "),t("a",G,[o("Zotero translators 中文维护小组"),r(e)]),o(" 下载最新的 translators")]),P]),B]),L])}const S=g(x,[["render",U],["__file","update-translators.html.vue"]]),q=JSON.parse('{"path":"/user-guide/faqs/update-translators.html","title":"如何更新 Translator","lang":"zh-CN","frontmatter":{"title":"如何更新 Translator","date":"2023-09-14T21:17:47.000Z","updated":"2023-11-23T16:51:00.000Z","description":"如何更新 Translator 在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/update-translators.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"如何更新 Translator"}],["meta",{"property":"og:description","content":"如何更新 Translator 在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-09-14T21:17:47.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"如何更新 Translator\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-09-14T21:17:47.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"方法 1:一键自动更新","slug":"方法-1-一键自动更新","link":"#方法-1-一键自动更新","children":[]},{"level":2,"title":"方法 2:手动替换文件更新","slug":"方法-2-手动替换文件更新","link":"#方法-2-手动替换文件更新","children":[]}],"git":{"createdTime":1701010144000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Victor","email":"40191996+wakewon@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":4.46,"words":1337},"filePathRelative":"user-guide/faqs/update-translators.md","localizedDate":"2023年9月14日","autoDesc":true,"excerpt":"\\n

    在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。

    \\n
    \\n

    提醒

    \\n

    这里的 translator 指的是 Zotero 从浏览器网页抓取文献信息时所需的转换器,在 Zotero 中有时也被称作是“翻译器”。如果你遇到的是语言翻译问题(如标题翻译、摘要翻译、文献阅读中的句段翻译等),通常与本文讲的 translator 无关,请参照 Translate for Zotero 插件的教程进行排查。

    \\n
    "}');export{S as comp,q as data}; diff --git a/assets/update.html-B_bh-u_c.js b/assets/update.html-B_bh-u_c.js new file mode 100644 index 0000000000..03cf2da179 --- /dev/null +++ b/assets/update.html-B_bh-u_c.js @@ -0,0 +1,19 @@ +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as a,c as p,a as n,b as e,d as i,e as r}from"./app-pLjDz5vt.js";const c={},l=n("h1",{id:"更新清单",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#更新清单"},[n("span",null,"更新清单")])],-1),d=n("p",null,[n("code",null,"update.json"),e(" 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。")],-1),u={class:"hint-container note"},m=n("p",{class:"hint-container-title"},"Todo",-1),h={href:"https://extensionworkshop.com/documentation/manage/updating-your-extension/",target:"_blank",rel:"noopener noreferrer"},k=r(`
    {
    +  "addons": {
    +    "make-it-red@example.com": {
    +      "updates": [
    +        {
    +          "version": "2.0",
    +          "update_link": "https://zotero-download.s3.amazonaws.com/tmp/make-it-red/make-it-red-2.0.xpi",
    +          "update_hash": "sha256:e5ac442c4a3cffc4ffec8b764673b7036d5984690978faa7df66d78b030761c2",
    +          "applications": {
    +            "zotero": {
    +              "strict_min_version": "6.999"
    +            }
    +          }
    +        }
    +      ]
    +    }
    +  }
    +}
    +
    `,1);function v(g,_){const t=o("ExternalLinkIcon");return a(),p("div",null,[l,d,n("div",u,[m,n("p",null,[e("待完善,请参考:"),n("a",h,[e("Updating your extension - Extension Workshop"),i(t)])])]),k])}const q=s(c,[["render",v],["__file","update.html.vue"]]),f=JSON.parse('{"path":"/plugin-dev-guide/reference/update.html","title":"更新清单","lang":"zh-CN","frontmatter":{"description":"更新清单 update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。 Todo 待完善,请参考:Updating your extension - Extension Workshop","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/update.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"更新清单"}],["meta",{"property":"og:description","content":"更新清单 update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。 Todo 待完善,请参考:Updating your extension - Extension Workshop"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"更新清单\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.23,"words":70},"filePathRelative":"plugin-dev-guide/reference/update.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n

    update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。

    \\n
    \\n

    Todo

    \\n

    待完善,请参考:Updating your extension - Extension Workshop

    \\n
    "}');export{q as comp,f as data}; diff --git a/assets/vscode-dev.html-IaRrsfN0.js b/assets/vscode-dev.html-IaRrsfN0.js new file mode 100644 index 0000000000..6c13cecf0a --- /dev/null +++ b/assets/vscode-dev.html-IaRrsfN0.js @@ -0,0 +1 @@ +import{_ as r}from"./image-build-pr预览-1-H7NE72PW.js";import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as s,c as l,a as t,b as e,d as o,w as d,e as i}from"./app-pLjDz5vt.js";const g="/assets/image-contribution-guide-vscode1-DHPyqCm3.png",u="/assets/image-贡献指南-安装插件-BfH5l-LY.png",h="/assets/image-contribute-vscode-new-branch-DhTLhmoi.png",f="/assets/image-contribution-new-branch-name-4aSm_DmN.png",m="/assets/image-contribution-switch-to-new-branch-DaSfLjMb.png",_="/assets/image-贡献指南-进行对应的更改-BUlDah0R.png",v="/assets/image-贡献指南-提交并推送-iKCGK_CV.png",b={},y=t("h1",{id:"通过-vscode-dev-网站在线更改本文档",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#通过-vscode-dev-网站在线更改本文档"},[t("span",null,"通过 VSCode.dev 网站在线更改本文档")])],-1),k={href:"https://vscode.dev/github/zotero-chinese/wiki",target:"_blank",rel:"noopener noreferrer"},w=i('
  • 等待页面加载完成

  • 根据提示登录 GitHub 账号

    根据提示登录 GitHub 账号
    根据提示登录 GitHub 账号
  • 根据提示安装推荐的插件

    安装插件
    安装插件
  • 新建分支
    切换到 源代码管理窗格,依次选择··· 按钮——分支——创建分支,输入分支名,并按回车确认。创建完成后根据提示切换到新分支。

    新建分支
    新建分支
    输入新分支的名字
    输入新分支的名字
    切换到新分支
    切换到新分支

    为什么要创建新分支?

    严格地说,所有的修改都应在新分支进行,这有利于 Git 的管理。

    具体的,如果要同时修改多个内容,某一部分内容被合并,但另一部分内容仍在修改,这时候只在主分支修改显然是不够用的。

    此外,主仓库对 PR 采取 splash and merge 策略,这会把某一分支的所有提交压缩为一个提交然后合入主分支,这有利于保持仓库提交历史的简洁和线性关系,fork 仓库全部在主分支修改时,将无法自动保持与主仓库的提交历史同步,而使用新分支修改就没有这些烦恼。

  • ',4),z=i('

    进行对应的修改

    进行对应的修改
    进行对应的修改

    上传文件

    图片可以通过在 src/assets/ 文件夹右击,点击 上传 来上传到仓库。

    也可以直接 ctrl+v 粘贴图片。

    ',3),C={class:"hint-container tip"},x=t("p",{class:"hint-container-title"},"文档风格和语法",-1),E=t("li",null,[t("p",null,"提交并推送"),t("figure",null,[t("img",{src:v,alt:"提交并推送",tabindex:"0",loading:"lazy"}),t("figcaption",null,"提交并推送")])],-1),G=t("li",null,[t("p",null,"发起 Pull Request")],-1),R=t("li",null,[t("p",null,"等待社区管理员审核合并")],-1),A=i('

    PR 发起后,机器人会自动检查 PR 内容是否符合规范,也会部署一个预览版本,可以在这里查看预览。

    netlify预览pr
    netlify预览pr

    哪些情况会导致检查错误?

    仓库的自动检查包含格式检查和构建检查。格式上,仓库使用 Markdown Lint 作为规范,如果你使用 VS Code 且安装了推荐的插件,那么通常 Lint 检查是可以通过的。

    构建检查失败最可能的原因就是图片、链接等错误,如图片等目录级别错误、大小写错误、相对链接不存在等。

    如何更新 PR?

    已经发起的 PR,可以直接在这个 PR 对应的分支上继续提交新的内容以更新这个 PR。

    ',4);function H(P,V){const c=n("ExternalLinkIcon"),a=n("RouteLink");return s(),l("div",null,[y,t("ol",null,[t("li",null,[t("p",null,[e("打开 "),t("a",k,[e("https://vscode.dev/github/zotero-chinese/wiki"),o(c)])])]),w,t("li",null,[z,t("div",C,[x,t("p",null,[e("文档的写作风格和语法等请参阅 "),o(a,{to:"/contributing/markdown.html#%E6%96%87%E6%A1%A3%E8%AF%AD%E6%B3%95%E9%A3%8E%E6%A0%BC"},{default:d(()=>[e("文档风格指南 #Markdown 语法")]),_:1}),e("。")])])]),E,G,R]),A])}const L=p(b,[["render",H],["__file","vscode-dev.html.vue"]]),N=JSON.parse('{"path":"/contributing/vscode-dev.html","title":"通过 VSCode.dev 网站在线更改本文档","lang":"zh-CN","frontmatter":{"title":"通过 VSCode.dev 网站在线更改本文档","icon":"build","description":"通过 VSCode.dev 网站在线更改本文档 打开 https://vscode.dev/github/zotero-chinese/wiki 等待页面加载完成 根据提示登录 GitHub 账号 根据提示登录 GitHub 账号根据提示登录 GitHub 账号 根据提示安装推荐的插件 安装插件安装插件 新建分支 切换到 源代码管理窗格,依次选择···...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/contributing/vscode-dev.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"通过 VSCode.dev 网站在线更改本文档"}],["meta",{"property":"og:description","content":"通过 VSCode.dev 网站在线更改本文档 打开 https://vscode.dev/github/zotero-chinese/wiki 等待页面加载完成 根据提示登录 GitHub 账号 根据提示登录 GitHub 账号根据提示登录 GitHub 账号 根据提示安装推荐的插件 安装插件安装插件 新建分支 切换到 源代码管理窗格,依次选择···..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-10-02T15:55:38.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2023-10-02T15:55:38.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"通过 VSCode.dev 网站在线更改本文档\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-02T15:55:38.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695222840000,"updatedTime":1696262138000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":4}]},"readingTime":{"minutes":2.4,"words":719},"filePathRelative":"contributing/vscode-dev.md","localizedDate":"2023年9月20日","autoDesc":true,"excerpt":"\\n
      \\n
    1. \\n

      打开 https://vscode.dev/github/zotero-chinese/wiki

      \\n
    2. \\n
    3. \\n

      等待页面加载完成

      \\n
    4. \\n
    5. \\n

      根据提示登录 GitHub 账号

      \\n
      根据提示登录 GitHub 账号
      \\n
    6. \\n
    7. \\n

      根据提示安装推荐的插件

      \\n
      安装插件
      \\n
    8. \\n
    9. \\n

      新建分支
      \\n切换到 源代码管理窗格,依次选择··· 按钮——分支——创建分支,输入分支名,并按回车确认。创建完成后根据提示切换到新分支。

      \\n
      新建分支
      \\n
      输入新分支的名字
      \\n
      切换到新分支
      \\n
      \\n

      为什么要创建新分支?

      \\n

      严格地说,所有的修改都应在新分支进行,这有利于 Git 的管理。

      \\n

      具体的,如果要同时修改多个内容,某一部分内容被合并,但另一部分内容仍在修改,这时候只在主分支修改显然是不够用的。

      \\n

      此外,主仓库对 PR 采取 splash and merge 策略,这会把某一分支的所有提交压缩为一个提交然后合入主分支,这有利于保持仓库提交历史的简洁和线性关系,fork 仓库全部在主分支修改时,将无法自动保持与主仓库的提交历史同步,而使用新分支修改就没有这些烦恼。

      \\n
      \\n
    10. \\n
    11. \\n

      进行对应的修改

      \\n
      进行对应的修改
      \\n
      \\n

      上传文件

      \\n

      图片可以通过在 src/assets/ 文件夹右击,点击 上传 来上传到仓库。

      \\n

      也可以直接 ctrl+v 粘贴图片。

      \\n
      \\n
      \\n

      文档风格和语法

      \\n

      文档的写作风格和语法等请参阅 文档风格指南 #Markdown 语法

      \\n
      \\n
    12. \\n
    13. \\n

      提交并推送

      \\n
      提交并推送
      \\n
    14. \\n
    15. \\n

      发起 Pull Request

      \\n
    16. \\n
    17. \\n

      等待社区管理员审核合并

      \\n
    18. \\n
    "}');export{L as comp,N as data}; diff --git a/assets/why-use-zotero.html-DlfykGIk.js b/assets/why-use-zotero.html-DlfykGIk.js new file mode 100644 index 0000000000..de12c84475 --- /dev/null +++ b/assets/why-use-zotero.html-DlfykGIk.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o,e as r}from"./app-pLjDz5vt.js";const n="/assets/image-zotero官方-渲染图-connector-16jz9LPk.png",i="/assets/image-zotero官方-渲染图-管理条目-Cc8iY7IM.png",a="/assets/image-zotero官方-插入引文-BIx18Sy8.png",l={},p=r('

    为什么使用 Zotero

    相关信息

    本节是官方文档的翻译。

    Zotero 是什么

    Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。

    • 你是否仍在花费大量时间整理阅读过和刚下载的文献?
    • 你是否仍在为找不到自己记忆中那篇文献而苦恼?
    • 你是否还在焦虑刚刚读完文献却脑袋空空?
    • 你是否还在手打插入的引文?

    Zotero 将是你优秀的科研助手!

    为什么用 Zotero 而不是其他?

    Zotero 优势

    浏览器快速抓取文献至Zotero
    浏览器快速抓取文献至Zotero
    清晰明了的分层管理及标签分类
    清晰明了的分层管理及标签分类
    写作时方便快速的插入引文
    写作时方便快速的插入引文

    一键抓取文献,保存一切

    拥有多个分级目录与标签管理

    支持海量引用格式

    Zotero 兼具简单的操作方式与强大的功能。通过一份简单的教程(后面的文档)你将快速上手 Zotero 的基本功能,而其他专业的功能你也能够通过社交媒体和 Zotero 官网上丰富的信息逐渐掌握,其中包含大量优秀的插件,这得益于 Zotero 是一款开源软件。

    Zotero 社区的有力支持。当使用 Zotero 遇到问题时,你可以收到 Zotero 开发人员或者专家社区人员的回复,并且 Zotero 的插件编写者与使用爱好者遍布各地,你可以非常方便的通过你的社交媒体联系到他们。

    Zotero 关注你的隐私安全并且无需付费。Zotero 由独立的非营利组织开发,对你的数据没有任何财务利益。并且它是一个开源软件,这意味着如果 Zotero 目前的运营团队并没有将你的利益放在首位,其他任何人都可以自由地获取 Zotero 的源代码,继续对他进行维护和改进。

    EndNote

    EndNote 只支持二级目录,而 Zotero 支持多级分类。

    EndNote 不支持标签,而在 Zotero 中你可以轻松的通过标签进行查找、分类和管理。

    Endnote 是一款收费软件:标准版官网售价 1818RMB,教育版官网售价 1218RMB。

    Mendeley

    Mendeley 免费但不开源。

    Mendeley 的数据迁移到新的电脑比较麻烦,这可能会耗费你大量的时间精力。

    Mendeley 的使用并不能够完全离线,在国内的网络环境下,你可能偶尔会面临无法登陆 Mendeley 网站以致于无法使用软件的情况。

    NoteExpress

    NoteExpress 是一款国产文献管理软件,对中文文献和中文数据库的支持较为优秀,但是他同样是一款付费软件,永久授权标准版 1980RMB。

    NoteExpress 只支持 Windows 系统,Mac 和 Linux 系统则被拒之门外。

    知网研学

    知网研学支持的数据库较少,在 Mac 上甚至只支持 CNKI 学术总库。

    知网研学的订阅费用,高校版 198RMB/年,标准版 998RMB/年,尊享版 3298RMB/年,还请自行体会。

    ',31),s=[p];function d(c,h){return t(),o("div",null,s)}const u=e(l,[["render",d],["__file","why-use-zotero.html.vue"]]),Z=JSON.parse('{"path":"/user-guide/why-use-zotero.html","title":"为什么使用 Zotero","lang":"zh-CN","frontmatter":{"title":"为什么使用 Zotero","icon":"like","author":[{"name":"winding","url":"https://github.com/windingwind"},{"name":"northword","url":"https://northword.cn"},{"name":"汪汪"}],"date":"2023-04-19T22:27:07.000Z","updated":"2023-07-20T16:51:54.000Z","description":"为什么使用 Zotero 相关信息 本节是官方文档的翻译。 Zotero 是什么 Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。 你是否仍在花费大量时间整理阅读过和刚下载的文献? 你是否仍在为找不到自己记忆中那篇文献而苦恼? 你是否还在焦虑刚刚读完文献...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/why-use-zotero.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"为什么使用 Zotero"}],["meta",{"property":"og:description","content":"为什么使用 Zotero 相关信息 本节是官方文档的翻译。 Zotero 是什么 Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。 你是否仍在花费大量时间整理阅读过和刚下载的文献? 你是否仍在为找不到自己记忆中那篇文献而苦恼? 你是否还在焦虑刚刚读完文献..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"winding"}],["meta",{"property":"article:published_time","content":"2023-04-19T22:27:07.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"为什么使用 Zotero\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-04-19T22:27:07.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"winding\\",\\"url\\":\\"https://github.com/windingwind\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"northword\\",\\"url\\":\\"https://northword.cn\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"汪汪\\"}]}"]]},"headers":[{"level":2,"title":"Zotero 是什么","slug":"zotero-是什么","link":"#zotero-是什么","children":[]},{"level":2,"title":"为什么用 Zotero 而不是其他?","slug":"为什么用-zotero-而不是其他","link":"#为什么用-zotero-而不是其他","children":[{"level":3,"title":"Zotero 优势","slug":"zotero-优势","link":"#zotero-优势","children":[]},{"level":3,"title":"EndNote","slug":"endnote","link":"#endnote","children":[]},{"level":3,"title":"Mendeley","slug":"mendeley","link":"#mendeley","children":[]},{"level":3,"title":"NoteExpress","slug":"noteexpress","link":"#noteexpress","children":[]},{"level":3,"title":"知网研学","slug":"知网研学","link":"#知网研学","children":[]}]}],"git":{"createdTime":1681956581000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":5}]},"readingTime":{"minutes":2.9,"words":870},"filePathRelative":"user-guide/why-use-zotero.md","localizedDate":"2023年4月19日","autoDesc":true,"excerpt":"\\n
    \\n

    相关信息

    \\n

    本节是官方文档的翻译。

    \\n
    \\n

    Zotero 是什么

    \\n

    Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。

    \\n
      \\n
    • 你是否仍在花费大量时间整理阅读过和刚下载的文献?
    • \\n
    • 你是否仍在为找不到自己记忆中那篇文献而苦恼?
    • \\n
    • 你是否还在焦虑刚刚读完文献却脑袋空空?
    • \\n
    • 你是否还在手打插入的引文?
    • \\n
    "}');export{u as comp,Z as data}; diff --git a/assets/word-addon.html-BG3-tCqR.js b/assets/word-addon.html-BG3-tCqR.js new file mode 100644 index 0000000000..9e3f01e598 --- /dev/null +++ b/assets/word-addon.html-BG3-tCqR.js @@ -0,0 +1,120 @@ +import{_ as c,a as u,b as d,c as g,d as p,e as h,f as k,h as m,i as b,g as v}from"./image-edit-citation-Cpx4lL-9.js";import{_ as f}from"./image-settings-reinstalll-word-plugin-BJoUDq6D.js";import{_}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as y,c as q,a as n,b as s,d as t,w as o,e as r}from"./app-pLjDz5vt.js";const w="/assets/image-word-document-preferences-JhgzU8t4.png",A="/assets/image-Refresh-CxcjjCE7.png",Z="/assets/image-install-style-BAoeFFtM.png",z="/assets/image-word-document-preferences2-BuZ47eSq.png",x="/assets/image-auto-edit-language-C3Edp8eQ.jpg",W="/assets/image-tools-addon-CYN-QmxV.png",F="/assets/image-zotero-addon-manager-BVqxAIAu.png",C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS4AAADqCAMAAAArkFhnAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURfDw8K2trdvb28/Pz/A6FwAAAAB41+Hh4f///3BwcNXV1cfHx2a2/9v///+2Zv/bj///trZmALb//2YAAP//2wBmtgA5jzmP2/m1qNuPOQAAZo85AI/b/wBaoPb29p9aAAA6kN81FtuQOgAAOe3t7qYmE8zMzDqQ2+Tk5JDb/zoAANGSiL0sFDkAZtPV1zgAAPPy8gAzf+fq6mYAOcHh4Tk5j5A6AP39/Pj4+O7W0rBBMPnx8OGjXLK3vX8zAOHhwTOAwWYAZqGkqcF/M8bIy1yk4N7f3t2tpqqwtOHBf1aeg4esq3/B4eHhoKDh4VCVirpeTtjY2F2Rl485PDoAOoi1m/ipmrVOP/aEbtQzFq4pFKozIc8xFV6LqIObtloAM5qvvwAAWl6oekuLkDMAWrTPyjlmtmpeC9v/2zkAOVoAACg4H2qvr6OPOdvbj4mQmjMAMwA5ZmY5ADmPj7b/yWZIj49mj7a2Zo/b27S2uK60urbbjyBmZtuPZmZmttv/tuzFzmoAAAv3SURBVHja7d2NX9NIGgfwrtse1UtTUprW8NYtFGQXtF320OXllJUTV/EF3cN3PV33BMWX8229l73bf/1mnplJZtIgKRCI9jefj7TpJE3nm+eZTGESM4dRYpae6UYjcziPEqscXp6YBld8rkM9E9Pgis11bRlcHXAdYeEFrthcX4KrIy6WjeCKz8WyEVyxucbB1RnXtWVwxef60uA68aNWzr56dfbVv05BKeD6o8n1lxPh8sUwlHSuI4d0rtYps3x/tuu4xv0WD49vy/XwAZWHw42Jicz0/b8rrpEcLxZ71tvHf+btnCjH4n4MuV3qy7DyGh4f3pbrwf37969fv77SCnN9VVArOcHT8sng+bYijrFueh0lU7tWO1fmoc81Pd2afh7FVfzr1+rpyOjX8RuubZfusCOoCK12rsbD+9cfP756daWVaTSG27l4OJVPHvMbSs+K34g8HZHJyZf56s5XL/ijqhbb2TltrRhbSWpROcJf6e1zg7WT8orSiuJ6zLUurrRanGstiitv95f09LJ5G4rfHFNxYrOQo/WcnGtUG9vF3ipvVPKj5WovJOUVpRXBtcKwrl68SNHV0rl4DMjmquyxZddPbRphlVRRPmnJzHP4+uFq2fj4W+X1SvY6fy144aC5ONbFn9darUym1Vqejui7WHS4Qs0VeWIFBpZMMkokCj6t2t/uWEdb6ZXsKX9Je+Fgk3GFtH5ey7CuvpHJZCK5xGF1xKFvb7ilnwr1hmvbdbCVXulzWeno6ldIS3I1GtFc1Gnb8tiG00ouq4braaVt18FWeiV7B/5JghcOdiDReLiysrK2tvZjg3Fxr6iunpZkKlK3ZkkE0QpaLj5RZ4Kg2tgu7la0vl5JXb3/wsEOUxvft3hhWcj+GdFFfYUruVhAOMGono8NRNbYtMzXFUOCghr/y/GZv50beyvSUZWOyEQ3WPtAvwSd+PefQ2WL74yOu7PPstPt0vkV+9T0RKg0Ohuhb1eSO/cfBBcKuMAFLnCBC1zgAhe4wAUucKGAC1zgAhe4wIUCLnCBC1zgAhcKuMAFLnCBC1zgAhe4wAUucKGAC1zgAhe4wIUCLnCBC1zgAhdKElyzk6s3x1i5uTo5C66Pl/nJuTtTt+tZVuq3p+7MTc6D6yNYd6eISpX61N0uA+uAa3bOxBJgc7Pgiirnx+5lI8q9sfNtq6o7e1U7+SS93w2GNle3IfFvwBTcuEK9c3mAXinOmJf82xW17Kg1aRX+w6nuB9f5sXo2stQjvMQnrWht8Crb3cPADq1huzpe/3+adDMFSasAGRe3YwzlgartHyJ6L/rBccjUq7LHnRzGHXFtqbWllz06mI/L5enx5OaLTT24HP6vWjxeIh59zddv+K0mBh23OLPBSLiPswVXb18uVynsV3TNbq3FvSL6L5kwHrWfWunSEt3D5XkfexBVqggOLXE8V8YF+8Ge+/XySfmnwXAyEtfbPkFZKRhcInb3iWt+7l72I+Xe3PwWqeiQjiuji//w+ku9HCuokllV9RtvRJeKp+tNgWAKFZublgrNaji69A5wdV29hXiXRLkmp4TLrRum041b4nFqMjoV5X3MeCixj0idOXuJAi+oCpLV56LoCvy4AQsqGVeiU3OoZnUzp3LekX0Xj0qzq6d36f2htF9nxvm7IhVv5fNHda2j+bzwqt+dj0xFocGZOIc83BZJBVUinqoqGNjrBpcnu/qZgkpD3noB0vt+wFKnBEdGl596BErRxgU5l73b4IrHpYLrRt7wYlr5G9HhJc+KIS793nIGF+uIq/noZPSjy+fKF58OyrdyzvmeQTIymDYu0XkKYztprrm6BnQ0G7FQn4s8KxabejKKJckVVFFmOToXreBY6pxWdX6bKdh6b9+Ut9j7dWPAv+uZE+67Diq6Zu9kI4gMuuyd2fZU9Lv6qnShpfcF0W35VcFwUnGxJ/0fZKP4OYANI2Zqls/V27fZlMejbHCZ464w17v/BdHlqLsoJsClctFAMrXMbHSC4aAnW8CywaWK4IaNnj5gNLnkMEmr5G0UXB61lOWr3MLP3Lbo0ody7B1HB/3oYu+0s/FEHK7V29k2r5BW9vbq7k45/niJtU2gytRxmQ8LJR4qrJFMvRqMbSsFI7q071CmBZ0s2VvuT3TdrGfDXmGtbP0mvmLLMmYOto6KV4+ar46BK5pLeIW0wAUuJOM+cKGrT91A4jPi6niY2t1cHX8J6vI/bXT8Fbu7uTr/BU5Xc3X+68Gu5trBL5+7mmsHf9roZq4d/OGsq7l28GfZrubawR/9u5qrkykl4MpjwlKHXJgOh8mWiXLlMZUXE8XBBS5wgQtcKIlz8Wluao5HeJo8L56s02cyu3k1PU7UFuXUcE9MD6TZksXjJVrkdTTLRkwi5FUezRfT5pJr/7mrF0yj3tU88aS4HNe8FoEmvltteOKDi0nMPrOaUsi28RaDqfAml3j0Xr/xJ3XyreTsV5rRyZ+y1YKpT3w35V+DWXnp4bJHB7WJpOZEK4qGF2/lzFqtrrIhbCovxMPLmQ3WQP4+Hk0xoqnL/SWaFlY8/o7V0SxqS0WrVxVHhCI74KKpl44+mXcX/+dhIlzF5ug/ecSwz+mJKWoyumzxPzizNlf59DQtorToKjZdan9x5uUT//qE/lIouj644r+oLQ+4Rsq7iqvP38yubNCncVUHUE0Xl3OOx/2AZVcW+Ec0uBzjAg3jcg05l9x5/r7Ap7/RBEvRcfGp0CGuF65DF23k+l/oE3RZbSgZOdfv1LlJJa+/lLJkZN0EzxKeBeyzhZLRURdEiQbKRRFj9LP8U4mibGZBpJ6U/GH9cE4kI0/1d5R4tpiOr67REFztyfhSTMikeHaMi29SwsWS0RGTU13ZmQWxp0WTNid8dFAuWHISMwspxwqiy8lZZlf/W59/tmWrh5Ox+FTvu4JTir0brX0Yd5lXPVUKRnQ5FTXVW8STuIal+HRTzKT3qn50Oc8jzowqQjlXZYG/lx9dgr6/nau/lDouz/VcOrz6hU6qizWiK9AcDbjEcEpwubzDE33Xuz6ZjDnKLp5vLM+eENfGA7rYwFIjLouumpEDCdHJ5d5+N7jbhiXCxdrhuTSJ++kaR/vvJmvnBzU8NPuuckR0eZTGLD4oceyoYSobXsirWXjPbb9+Y7FFcTYRvRYNrsxkFKPZ9EUXa5HssioF+T99e9qQPjpX/b7r3AAfTomQ2nogUaIzHZew+ZDY4sMPonbFmF70ecd1G1pKIZf/HYSACKEq0jA8kGiPLjWQctgwVQSFvMIsJ7PL56KxVlV+pxLXHXv+VUSu+AjBgNTb4nDhKzZ+IwEucIELBVzgAhe4wAUuFHCBC1zgAhe4UMAFLnCBC1wo4AIXuMAFLnChgAtc4AIXuMCFAi5wgQtcnylXBiVWARe4wAUucIELBVzgAhe4wAUuFHCliusPiRd9b18kXj4vrp6ES/JcyX5+cIELXOACF7jABS5wgSsZrpq6a9cQXzpzeqj27Z/4y9+u0+Mecl1oavcIO0f7YntfpA/BnsXYXRq4FsXjAnEtDbFWsaZc+Mclv2ZvoytgYftiXI+uCK44u0tbdF3+2yU66D1LrFEXfrmy51xLbD81EqJ99dQ2m0OSK8bu0hZdC/zQLzy6cuY0JcviHnPV2DFhMXX5Gc9F2ldtaGn0kuCKsbu0RRfZMStqCmXLHnLVOJJ4U+q2Fimszpxm++JcMXaXsjMjBRXPxHU60Avb9r67ODOKfTGnBaZYG4q1uwPnWtLvaDkkuS4/E73LXnOxJJSFvb/P1cP6sk+FS/Zb8oNKLnGwE+DinTsNKX7RuS4/G/p0uPhHX1Cdl+z3Jdce910ml+q7+H5G1z+ZvouPg/zjKp9IrtpiklzyzEhBHZxnUs5Ve7Q+esnnkg0SXHyomlzfJcddYk988BVjdwfORePDZjCU0BNiz0f1ZnSFk+/TGNWHT+9D7d9WEvqKre0r5u7wGwn8Agdc4AIXuMAFrhRzYQYO5ndh9iAmW4ILXOACFwq4wAUucIELXOACF7hSwXVtGVyxucbB1RHXEXB1wMW6rh5wxee6tsy4UGKWI4eWJ/4PoU9KLzH2T7cAAAAASUVORK5CYII=",j="/assets/image-键入内容替换所选文字-BGGt-rrv.png",S="/assets/image-word-确认保存修改-CXJSzR0i.png",O="/assets/image-word-域代码-Clka3qIS.png",X={},L=n("h1",{id:"关于-word-引用的各种问题",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#关于-word-引用的各种问题"},[n("span",null,"关于 Word 引用的各种问题")])],-1),I=n("p",null,"本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。",-1),B={href:"https://www.zotero.org/support/word_processor_plugin_troubleshooting",target:"_blank",rel:"noopener noreferrer"},T=n("p",null,"如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zotero 官方论坛发帖求助。",-1),R={class:"table-of-contents"},P=n("h2",{id:"插入参考文献的基础教程",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#插入参考文献的基础教程"},[n("span",null,"插入参考文献的基础教程")])],-1),V=n("p",null,"在开始排查问题之前,请务必先了解 Zotero 的 Word 加载项中各个按钮的功能和用法。在 Word 中插入参考文献的基本操作请阅读:",-1),K=n("p",null,"此外,关于 Zotero 参考文献插入及排版的基本教程您还可以观看这个视频:",-1),U={href:"https://www.bilibili.com/video/BV1ma4y1f7yg/",target:"_blank",rel:"noopener noreferrer"},E=r('

    其中包括以下问题的解答:

    1. 如何安装/重新安装 Word 中的 Zotero 工具条(Word 加载项)。
    2. 如何从 Zotero 官方下载参考文献格式。
    3. 如何在 Word 中插入参考文献。
    4. 如何在 Word 中设置引用样式。

    提醒

    请注意, Zotero 在更新至 6.0.23 或更高版本后,Word 选项卡里的按钮顺序有调整。 新版本交换了第二个和第三个按钮的位置, 在阅读教程的时候请注意点击的按钮具体是哪一个,不要只去数是第几个按钮。

    Zotero Word 插件选项卡
    Zotero Word 插件选项卡
    按钮功能说明

    目前新版本里横向布置三个大按钮分别是:

    1. 插入引文 插入/编辑引注 Add/Edit Citation

    在当前光标位置插入或编辑引注。

    提示

    此按钮只是插入引注,不会在文末自动生成参考文献表。要插入参考文献表,请点击 插入/编辑参考文献表 按钮。

    1. 添加参考文献表 插入/编辑参考文献表 Add/Edit Bibliography

    在光标当前位置插入或编辑已存在的参考文献表。

    一般情况下,在文末写一个 参考文献 标题,然后按回车另起一行,再点击这个按钮插入参考文献表。

    1. 插入笔记 Add Note

    在光标当前位置插入笔记。

    提示

    此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。

    三个纵向布置的小按钮分别是:

    1. 文档首选项 文档首选项 Document Preferences

    更改参考文献样式或语言,开启/关闭自动更新引注功能。

    1. 刷新 刷新 Refresh

    更新引注引注编号及文末参考文献表内容,关闭自动更新引注功能后需手动点击此按钮更新引注。

    1. unlink 取消链接引注 Unlink Citations

    删除所有 Zotero 域代码且断开与 Zotero 文库链接。点击后所有的引注和文末的参考文献表都会变成纯文本。

    注意

    该操作不可逆,一旦断开连接,所有的引注信息都会变成纯文本,无法再自动更新编号和参考文献表,也无法恢复到以前带有链接的状态。因此强烈建议在断开连接之前将文档另存一份备用,仅将用于提交/共享的副本断开连接。

    注意

    在插入文献之前, 请务必先将 Zotero 里英文论文详细信息中的 语言/Language 字段改为 enen-US 等与文献语言一致的信息,否则在中英文混排时可能会遇到错误。具体方法见后文里 中英文混排 部分的内容。

    插入引用常见的操作问题

    在实际使用中,有一些操作上的小技巧,在这里略作整理:

    1. Zotero 有两种插入文献的方式,一种是搜索对话框,另一种是经典视图的选择窗:
    引文对话框
    引文对话框
    经典引文对话框
    经典引文对话框

    如果你在使用新式搜索框,推荐采用年份 作者姓名进行检索(两个关键词中间敲一个空格)。

    ',10),G=n("ol",{start:"2"},[n("li",null,[n("p",null,[s("如果你使用搜索框, "),n("strong",null,"输入中文关键词后没有候选项目"),s(" ,请 "),n("strong",null,"按一下键盘的空格键"),s(" ,然后就有候选项了。")])]),n("li",null,[n("p",null,[s("如果你 "),n("strong",null,"在一处位置想同时引用多个文献"),s(" ,请在插入引用时 "),n("strong",null,"一次性插入每一个文献"),s(" ,不要分成两次分开插。")])])],-1),H={class:"hint-container tip"},J=n("p",{class:"hint-container-title"},"插入多条文献",-1),M=n("p",null,[n("strong",null,"在使用搜索窗时"),s(" ,先加入第一个文献,然后不要急着按回车确认插入,而是改为 "),n("strong",null,"按一下空格然后继续搜下一个文献"),s(" 。直到所有文献都完成插入之后再按回车确认本次插入。")],-1),D=n("strong",null,"在使用经典选择窗时",-1),N=n("code",null,"多重来源/Multiple Sources",-1),Y=n("div",{class:"hint-container note"},[n("p",{class:"hint-container-title"},"注"),n("p",null,"注:这个窗口内可以多选,可以在左边窗口一次性选择多个条目,然后统一点向右的箭头加到右边。待全部文献添加完成后,再点击确认完成插入。")],-1),Q=r('
    1. 如果你 在插入完成后想重新修改引用信息 ,请先在 Word 中插好的编号角标中间点一下,使输入光标在角标内(此时角标会变为灰色),然后点 插入/编辑引注 按钮即可编辑/增删此处引用的文献。
    编辑引注
    编辑引注
    1. 插入/编辑引注 过程中,请务必在选择文献过程中 不要转到其他窗口去翻看查阅 。如果边翻看边插入,很有可能导致插入失败并报错。如果插入过程中希望查阅信息,你可以先按回车键确认本次插入,待查阅完成后再用第 4 点提醒中的方法编辑/补充引用。

    2. Zotero 在插入文献时更新角标的速度非常缓慢, 建议关闭自动更新引用 。这一设置在 Word 中的 Zotero 选项卡内:

    文档设置
    文档设置

    在关闭之后,你 需要在增删引用项目后手动点 刷新刷新 按钮更新引用信息及编号 。在 Zotero 6.0 新版本下,这个更新可能非常缓慢,你需要多一点耐心。

    格式问题

    调整缩进、行距等格式

    Word 中参考文献书目列表的排版问题是 Word 段落样式控制的。 其中包括:是否首行缩进,是否悬挂缩进,编号和后续文字之间的制表位空白大小,字体及文字大小,是否全部加粗,行间距大小……

    这部分样式你需要 在 Word 中修改“书目”样式 。具体方法详见这一教程:

    ',9),$={href:"https://zhuanlan.zhihu.com/p/58969571",target:"_blank",rel:"noopener noreferrer"},nn=r(`

    设置斜体及上下标等

    一些论文的题目需要在参考文献中表现为上标、下标或者斜体:如 CO2,H+Nature,这该如何实现呢?

    方式一:插入参考文献后在 Word 中手动修改,但是这种方法每次刷新后需要重新设置非常麻烦。(这是不正确的方式,不推荐)

    方式二:在 Zotero 中修改该文献的条目信息,通过在题目中添加以下代码来实现上标、下标、斜体、加粗的效果,添加完后返回 Word 刷新引文:

    <sup>上标</sup>
    +<sub>下标</sub>
    +<i>斜体</i>
    +<b>加粗</b>
    +
    `,5),sn={class:"hint-container details"},tn=n("summary",null,"示例",-1),en=n("div",{class:"hint-container note"},[n("p",{class:"hint-container-title"},"标题"),n("p",null,[n("code",null,"Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR")]),n("p",null,[n("code",null,"Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR")])],-1),on={class:"hint-container note"},an=n("p",{class:"hint-container-title"},"参考文献表",-1),rn={href:"https://doi.org/10.1016/j.cej.2020.125798",target:"_blank",rel:"noopener noreferrer"},ln=n("sub",null,"2",-1),pn=n("sub",null,"3",-1),cn={href:"https://doi.org/10.1016/j.cej.2020.125798",target:"_blank",rel:"noopener noreferrer"},un=n("p",null,[s("如上示例在 Zotero 条目信息中对需要为下标的单词两侧分别加上 "),n("code",null,""),s("和"),n("code",null,""),s(",回到在 Word 中点击 "),n("code",null,"Refresh"),s(" 刷新条目信息即可看到下标效果已经成功实现。")],-1),dn=n("figure",null,[n("img",{src:A,alt:"点击刷新条目信息",tabindex:"0",loading:"lazy"}),n("figcaption",null,[s("点击"),n("code",null,"Refresh"),s("刷新条目信息")])],-1),gn={class:"hint-container tip"},hn=n("p",{class:"hint-container-title"},"使用 Linter 插件快捷插入",-1),kn={href:"https://github.com/northword/zotero-format-metadata",target:"_blank",rel:"noopener noreferrer"},mn={href:"https://plugins.zotero-chinese.com",target:"_blank",rel:"noopener noreferrer"},bn={class:"hint-container tip"},vn=n("p",{class:"hint-container-title"},"使用 Quicker 快捷插入",-1),fn=n("p",null,"使用 quicker 动作可以也可以方便的实现同样的效果:",-1),_n={href:"https://getquicker.net/Sharedaction?code=98c3d460-22b5-49ab-99c2-08d9c6b06ad1",target:"_blank",rel:"noopener noreferrer"},yn={href:"https://getquicker.net/Sharedaction?code=dc815b9a-f463-4233-99c5-08d9c6b06ad1",target:"_blank",rel:"noopener noreferrer"},qn={href:"https://getquicker.net/Sharedaction?code=dee60abc-d1f5-40ad-99c3-08d9c6b06ad1",target:"_blank",rel:"noopener noreferrer"},wn={href:"https://getquicker.net/Sharedaction?code=b44c0592-89fa-41c2-99c4-08d9c6b06ad1",target:"_blank",rel:"noopener noreferrer"},An=n("h3",{id:"中英文混排以及其他特殊要求样式的问题",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#中英文混排以及其他特殊要求样式的问题"},[n("span",null,"中英文混排以及其他特殊要求样式的问题")])],-1),Zn=n("p",null,[s("Zotero 官方样式对于中英文混排支持得十分差劲,尤其是在 "),n("code",null,"等"),s(" 和 "),n("code",null,"et al."),s(" 的处理上。幸运地是,有很多热心的大佬在这方面进行了许多探索。")],-1),zn=n("p",null,"csl 格式的样式文件的下载和安装方法可以查看这一教程:",-1),xn={href:"https://gitee.com/zotero-chinese/zotero-chinese/issues/I4YKIN",target:"_blank",rel:"noopener noreferrer"},Wn={class:"hint-container tip"},Fn=n("p",{class:"hint-container-title"},"提示",-1),Cn=n("p",null,"对于一般的需求,可以在这个项目中寻找最适合你的样式,然后直接拿来用:",-1),jn={href:"https://github.com/redleafnew/Chinese-std-GB-T-7714-related-csl",target:"_blank",rel:"noopener noreferrer"},Sn={href:"https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-csl",target:"_blank",rel:"noopener noreferrer"},On=n("p",null,"这里有非常多的常见样式,足以满足几乎所有人的需求。上面的页面里也都附上了相应的使用效果方便挑选。",-1),Xn=r('

    安装 csl 样式文件中,会有两个弹窗。第一个弹窗请点击 安装/Install,第二个弹窗请点击 确认/OK

    安装样式
    安装样式

    (上图是第二个弹窗,这个报错不用担心,直接点 OK 即可)

    安装完 csl 样式文件后,你还 需要在 Word 中指定当前文档使用的样式

    文档设置
    文档设置

    注意

    请务必注意, 样式的选择是在 Word 里进行的 ,不是在 Zotero 设置里!Zotero 设置里的列表仅用来安装新样式,不能用作选择默认样式!

    如果上面现成的样式不能满足你的需求……

    你也可以根据你自己的需要修改属于自己的样式文件,可以看一下这个视频教程自行定制样式:

    ',8),Ln={href:"https://zhuanlan.zhihu.com/p/336009544",target:"_blank",rel:"noopener noreferrer"},In=n("h3",{id:"注意事项及与样式相关的常见问题",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#注意事项及与样式相关的常见问题"},[n("span",null,"注意事项及与样式相关的常见问题")])],-1),Bn=r("

    中英文混排的各个样式文件通常是依靠 Zotero 文献条目信息中的 语言/Language,你需要在插入参考文献之前 预先将英文和中文文献的语言设定为相应要求的内容 。一般来说,常见的中英混排 csl 样式文件通常要求将英文文献 Info语言/language 字段修改为en,而中文文献设置成zhzh_CN或其他内容基本都可以。

    ",1),Tn={class:"hint-container warning"},Rn=n("p",{class:"hint-container-title"},"注意",-1),Pn=n("p",null,[s("请务必注意,英文文献的语言需要设置为 "),n("code",null,"en"),s(" ,而不是其他任何内容!(即便设置成 english 也不行!)")],-1),Vn=n("p",null,[s("如果你的文献语言设定不规范,可以通过标题或作者字段对所有文献进行排序,然后分别选中英文文献,将其 [语言] 字段的信息统一为 "),n("code",null,"en"),s(";取消选中后再选中中文文献,将其 "),n("code",null,"语言"),s(" 字段的信息统一为"),n("code",null,"zh"),s("或者样式文件要求的样子。")],-1),Kn={href:"https://github.com/northword/zotero-format-metadata",target:"_blank",rel:"noopener noreferrer"},Un={href:"https://plugins.zotero-chinese.com",target:"_blank",rel:"noopener noreferrer"},En=n("figure",null,[n("img",{src:x,alt:"Linter 自动识别条目语言",width:"60%",tabindex:"0",loading:"lazy"}),n("figcaption",null,"Linter 自动识别条目语言")],-1),Gn=r("
  • 如果你设置了新样式后,样式仍未变更,你可以在 Word 上 Zotero 插件选项卡中的 Document Preferences 随意切换到任何一个其他样式,确定。等待更新完成后,重新进设置里改回你想用的设置,文档会再次刷新,然后就好了。

  • Word 中参考文献的显示内容是 csl 文件决定的。如果你觉得 参考文献里显示的内容 不符合你的要求,你需要按照前面的教程修改 csl 文件。

  • 如果你设置的样式全都正确,却发现有的正文角标里的内容多了点东西(页码),可以编辑一下这一处引用,把不必要的信息删掉:

  • ",3),Hn=r('
    编辑引文
    编辑引文

    Word 中没有 Zotero 选项卡

    一些朋友在 Word 中的 Zotero 选项卡突然消失了,或者使用的时候报错要求重装/升级该加载项。 这一加载项需要在 Zotero 首选项 中安装 。具体步骤如下:

    1. 保存好正在编辑的 Word 文档,并彻底退出 Word
    2. 打开 Zotero 首选项
    3. 引用/Cite -文字处理软件/Word Processors 中点击 重新安装 Microsoft Word 加载项/Reinstall Microsoft Word Add-in 即可完成安装/更新/重装。
    重新安装Word插件
    重新安装Word插件

    注意

    如果退出 Word 后重新安装这一加载项仍然报错,建议重启电脑后再尝试。

    若上图的【文字处理软件/Word Processors】没有内容显示,则需要在 Zotero 软件界面,单击打开【工具/Tools】-【插件/Add-ons

    image.png
    image.png

    找到【Zotero Word for Windows Integration】插件,确保其没有处理禁用状态。

    image.png
    image.png

    报错“无法与 Zotero 通讯”

    待办

    Zotero 在更新文档时出错

    ',13),Jn={class:"hint-container tip"},Mn=n("p",{class:"hint-container-title"},"提示",-1),Dn={href:"https://www.zotero.org/support/kb/debugging_broken_documents",target:"_blank",rel:"noopener noreferrer"},Nn={href:"https://www.zotero.org/support/kb/debugging_broken_documents",target:"_blank",rel:"noopener noreferrer"},Yn=n("figure",null,[n("img",{src:C,alt:"更新文档时出错",tabindex:"0",loading:"lazy"}),n("figcaption",null,"更新文档时出错")],-1),Qn=n("strong",null,"新的空文档",-1),$n={href:"https://www.zotero.org/support/word_processor_plugin_troubleshooting",target:"_blank",rel:"noopener noreferrer"},ns=r('

    如果您可以在新的空 Word 文档中插入引文,但在现有文档中使用 Zotero 时出现错误,可以按照以下步骤进行问题排查:

    1. 检查 Word 设置

      文件-选项-高级,勾选 键入内容替换所选文字,问题即可得到解决。
      如问题未得到解决,请按照后续步骤逐步进行排查。

      键入内容替换所选文字
      键入内容替换所选文字
    2. 重启 Zotero 和 Word。

    3. 确保您使用的是最新版本的 Zotero 和 Word。

    4. 排除故障时,禁用 Word 中的修订功能,因为它在使用 Zotero 时会产生复杂的效果。
      如果在插入或修改 Zotero 引文时启用了修订功能,它可能会将文档中的许多或所有 Zotero 引文标记为已更改。如果您以前启用了修订功能,请尝试接受所有更改,看看这是否能解决问题。

    5. 检查图片标题中的引用。Zotero 不会让你插入它们,但如果你将引用复制到标题中,这很可能是问题的根源。删除这部分引用。

    6. 尝试将文档内容复制并粘贴到新文档中,以查看问题是否消失。您可能需要点击 Document Preferences 按钮,您的旧引用才会被识别。

    7. 通过复制文件本身,而不是通过复制和粘贴内容,制作文档的副本,用于调试。

    8. 如果在 Windows 上使用 OneDrive,请将文档的副本保存到本地硬盘,或者尝试删除文件名中的任何空格。OneDrive 会干扰插件的使用,请在使用 Zotero 过程中避免与 Onedrive 同时使用。

    9. 打开复制的文件,检查切换到不同的参考书目样式后是否出现错误。

    10. 如果文档有参考书目(bibliography,),请删除它后检查是否仍然出现错误。

    11. 调试时,如果您在 Word 插件中使用字段模式,显示字段代码而不是格式化文本可能会有所帮助。为此,请在 Word 中按 Alt/Option-F9(或 Alt/Option-Fn-F9)。

    12. 隔离有问题的引用。
      在文档副本中,每次删除一半内容,看看错误是否仍然发生。如果没有,使用 "撤消" 恢复已删除的部分,然后尝试删除另一半。对出现错误的部分重复删除一半的过程,如果两个部分都出现错误,则随机选取一个。继续这样做,直到找到出现问题时必须存在的最小部分(最好只有一个引文)。从原始文档中删除孤立的引文,问题就会消失(除非有多个断开的引文,在这种情况下您需要重复该过程)。

    域代码相关问题

    您已经修改该引文,是否保留更改?

    image.png
    image.png

    该弹窗通常是用户手动修改了引文或参考文献表,比如该弹窗即为某文献在文中编码为“[1]”,用户手动把它修改为了“[111]”,Zotero 再次刷新时会询问用户是否保留这些修改?

    如果用户需要保留自己的修改,则点击“是 yes”,如果用户需要抛弃自己的修改,使用 Zotero 生成的内容,则需要选择“否 No”。

    警告

    注意:请谨慎选择“是 Yes”,该操作会让 Zotero 不再更新此处!

    注意

    所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是手动修改!

    所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是手动修改!

    所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目,而不是手动在域代码上修改!

    如果已经点了 “是 yes”,Zotero 不再对这一处引文进行更新,而后续又想要 Zotero 对其更新,可以参照下一节。

    使 Zotero 恢复对引文的更新

    ',11),ss={href:"https://doi.org/10.1021/acscatal.0c05697",target:"_blank",rel:"noopener noreferrer"},ts=r('
    Zotero 引文在 Word 中产生的域代码截图
    image.png
    image.png

    其中标黄部分是标识这是一个 Word 域代码块的声明,可以不去管,重点在包含在其中的 json 内容,为了方便理解,将其格式化后显示如下:

    上述可以正常更新的域代码格式化后的代码
    {
    +  "citationID": "gr3uElq7",
    +  "properties": {
    +    "formattedCitation": "\\\\super [1]\\\\nosupersub{}",
    +    "plainCitation": "[1]",
    +    "noteIndex": 0
    +  },
    +  "citationItems": [
    +    {
    +      "id": 2220,
    +      "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"],
    +      "itemData": {
    +        "id": 2220,
    +        "type": "article-journal",
    +        "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.",
    +        "archive": "Q1",
    +        "archive_location": "工程技术1区 Top",
    +        "call-number": "8.04",
    +        "collection-title": "无",
    +        "container-title": "Fuel",
    +        "DOI": "10.1016/j.fuel.2022.124116",
    +        "ISSN": "0016-2361",
    +        "journalAbbreviation": "Fuel",
    +        "language": "en",
    +        "license": "8.04",
    +        "note": "JCR分区: Q1\\n中科院分区升级版: 工程技术1区\\n中科院分区基础版: 工程技术2区\\n影响因子: 8.04\\n5年影响因子: 6.63\\nEI: 是",
    +        "page": "124116",
    +        "source": "能源与燃料2区 工程:化工1区",
    +        "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen",
    +        "title-short": "Regulating oxygen species for promoted deep oxidation of toluene",
    +        "volume": "321",
    +        "author": [
    +          {
    +            "family": "Zhang",
    +            "given": "Luyue"
    +          },
    +          {
    +            "family": "Liu",
    +            "given": "Yongjun"
    +          },
    +          {
    +            "family": "Fang",
    +            "given": "Xue"
    +          },
    +          {
    +            "family": "Cheng",
    +            "given": "Yan"
    +          }
    +        ],
    +        "issued": {
    +          "date-parts": [["2022", 8, 1]]
    +        }
    +      }
    +    }
    +  ],
    +  "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json"
    +}
    +

    其被修改后,域代码则会变为:

    `,4),es=n("details",{class:"hint-container details"},[n("summary",null,"不能正常更新的域代码"),n("div",{class:"language-json line-numbers-mode","data-ext":"json","data-title":"json"},[n("pre",{json:"",class:"language-json"},[n("code",null,[n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"citationID"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"gr3uElq7"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"properties"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"formattedCitation"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"\\\\super [1]\\\\nosupersub{}"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"plainCitation"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"[1]"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"dontUpdate"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token boolean"},"true"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"noteIndex"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token number"},"0"),s(` + `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"citationItems"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"["),s(` + `),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"id"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token number"},"2220"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"uris"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"["),n("span",{class:"token string"},'"http://zotero.org/users/7424907/items/SUW7JYI9"'),n("span",{class:"token punctuation"},"]"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"itemData"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"id"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token number"},"2220"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"type"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"article-journal"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"abstract"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties."'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"archive"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Q1"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"archive_location"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"工程技术1区 Top"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"call-number"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"8.04"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"collection-title"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"无"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"container-title"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Fuel"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"DOI"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"10.1016/j.fuel.2022.124116"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"ISSN"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"0016-2361"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"journalAbbreviation"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Fuel"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"language"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"en"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"license"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"8.04"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"note"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"JCR分区: Q1\\n中科院分区升级版: 工程技术1区\\n中科院分区基础版: 工程技术2区\\n影响因子: 8.04\\n5年影响因子: 6.63\\nEI: 是"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"page"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"124116"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"source"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"能源与燃料2区 工程:化工1区"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"title"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"title-short"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Regulating oxygen species for promoted deep oxidation of toluene"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"volume"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"321"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"author"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"["),s(` + `),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"family"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Zhang"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"given"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Luyue"'),s(` + `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"family"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Liu"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"given"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Yongjun"'),s(` + `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"family"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Fang"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"given"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Xue"'),s(` + `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"family"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Cheng"'),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"given"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"Yan"'),s(` + `),n("span",{class:"token punctuation"},"}"),s(` + `),n("span",{class:"token punctuation"},"]"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"issued"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"{"),s(` + `),n("span",{class:"token property"},'"date-parts"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token punctuation"},"["),n("span",{class:"token punctuation"},"["),n("span",{class:"token string"},'"2022"'),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token number"},"8"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token number"},"1"),n("span",{class:"token punctuation"},"]"),n("span",{class:"token punctuation"},"]"),s(` + `),n("span",{class:"token punctuation"},"}"),s(` + `),n("span",{class:"token punctuation"},"}"),s(` + `),n("span",{class:"token punctuation"},"}"),s(` + `),n("span",{class:"token punctuation"},"]"),n("span",{class:"token punctuation"},","),s(` + `),n("span",{class:"token property"},'"schema"'),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"https://github.com/citation-style-language/schema/raw/master/csl-citation.json"'),s(` +`),n("span",{class:"token punctuation"},"}"),s(` +`)])]),n("div",{class:"highlight-lines"},[n("br"),n("br"),n("br"),n("br"),n("br"),n("div",{class:"highlight-line"}," "),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br"),n("br")]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"})])])],-1),os=n("p",null,[s("可以看到,多了第六行 "),n("code",null,'"dontUpdate": true,'),s(",我们将这一行去掉,再更新域代码,即可恢复 Zotero 对该处的更新。")],-1),as=n("h3",{id:"字段是代码而不是引文-参考书目文本",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#字段是代码而不是引文-参考书目文本"},[n("span",null,"字段是代码而不是引文/参考书目文本")])],-1),rs={class:"hint-container tip"},is=n("p",{class:"hint-container-title"},"待办",-1),ls={href:"https://www.zotero.org/support/kb/word_field_codes",target:"_blank",rel:"noopener noreferrer"},ps=n("h3",{id:"引文或参考书目总是以灰色或其他颜色突出显示",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#引文或参考书目总是以灰色或其他颜色突出显示"},[n("span",null,"引文或参考书目总是以灰色或其他颜色突出显示")])],-1),cs={class:"hint-container tip"},us=n("p",{class:"hint-container-title"},"待办",-1),ds={href:"https://www.zotero.org/support/kb/citations_highlighted",target:"_blank",rel:"noopener noreferrer"},gs=n("h2",{id:"没有监测到引用",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#没有监测到引用"},[n("span",null,"没有监测到引用")])],-1),hs={class:"hint-container tip"},ks=n("p",{class:"hint-container-title"},"待办",-1),ms={href:"https://www.zotero.org/support/kb/word_field_codes",target:"_blank",rel:"noopener noreferrer"},bs=n("h2",{id:"将引注链接到参考文献表",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#将引注链接到参考文献表"},[n("span",null,"将引注链接到参考文献表")])],-1),vs=n("h2",{id:"更多教程",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#更多教程"},[n("span",null,"更多教程")])],-1),fs=n("p",null,"Johnmy 老师也制作了非常多的关于 Zotero 的教程,如果有疑问也请务必在这里多找找多看看:",-1),_s={href:"https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-csl",target:"_blank",rel:"noopener noreferrer"},ys={href:"https://zhuanlan.zhihu.com/c_1071081428967743488",target:"_blank",rel:"noopener noreferrer"};function qs(ws,As){const e=l("ExternalLinkIcon"),a=l("router-link"),i=l("RouteLink");return y(),q("div",null,[L,I,n("p",null,[s("如果没有在本页面找到你需要的问题,可以参考官方文档 "),n("a",B,[s("Zotero 文字处理插件报告的一些问题以及可能的解决方案"),t(e)]),s("。")]),T,n("nav",R,[n("ul",null,[n("li",null,[t(a,{to:"#插入参考文献的基础教程"},{default:o(()=>[s("插入参考文献的基础教程")]),_:1})]),n("li",null,[t(a,{to:"#插入引用常见的操作问题"},{default:o(()=>[s("插入引用常见的操作问题")]),_:1})]),n("li",null,[t(a,{to:"#格式问题"},{default:o(()=>[s("格式问题")]),_:1}),n("ul",null,[n("li",null,[t(a,{to:"#调整缩进、行距等格式"},{default:o(()=>[s("调整缩进、行距等格式")]),_:1})]),n("li",null,[t(a,{to:"#设置斜体及上下标等"},{default:o(()=>[s("设置斜体及上下标等")]),_:1})]),n("li",null,[t(a,{to:"#中英文混排以及其他特殊要求样式的问题"},{default:o(()=>[s("中英文混排以及其他特殊要求样式的问题")]),_:1})]),n("li",null,[t(a,{to:"#如果上面现成的样式不能满足你的需求"},{default:o(()=>[s("如果上面现成的样式不能满足你的需求……")]),_:1})]),n("li",null,[t(a,{to:"#注意事项及与样式相关的常见问题"},{default:o(()=>[s("注意事项及与样式相关的常见问题")]),_:1})])])]),n("li",null,[t(a,{to:"#word-中没有-zotero-选项卡"},{default:o(()=>[s("Word 中没有 Zotero 选项卡")]),_:1})]),n("li",null,[t(a,{to:"#报错-无法与-zotero-通讯"},{default:o(()=>[s("报错“无法与 Zotero 通讯”")]),_:1})]),n("li",null,[t(a,{to:"#zotero-在更新文档时出错"},{default:o(()=>[s("Zotero 在更新文档时出错")]),_:1})]),n("li",null,[t(a,{to:"#域代码相关问题"},{default:o(()=>[s("域代码相关问题")]),_:1}),n("ul",null,[n("li",null,[t(a,{to:"#您已经修改该引文-是否保留更改"},{default:o(()=>[s("您已经修改该引文,是否保留更改?")]),_:1})]),n("li",null,[t(a,{to:"#字段是代码而不是引文-参考书目文本"},{default:o(()=>[s("字段是代码而不是引文/参考书目文本")]),_:1})]),n("li",null,[t(a,{to:"#引文或参考书目总是以灰色或其他颜色突出显示"},{default:o(()=>[s("引文或参考书目总是以灰色或其他颜色突出显示")]),_:1})])])]),n("li",null,[t(a,{to:"#没有监测到引用"},{default:o(()=>[s("没有监测到引用")]),_:1})]),n("li",null,[t(a,{to:"#将引注链接到参考文献表"},{default:o(()=>[s("将引注链接到参考文献表")]),_:1})]),n("li",null,[t(a,{to:"#更多教程"},{default:o(()=>[s("更多教程")]),_:1})])])]),P,V,n("p",null,[t(i,{to:"/user-guide/ms-word-plugin.html"},{default:o(()=>[s("在 Word 中插入参考文献的基础教程")]),_:1})]),K,n("p",null,[n("a",U,[s("Zotero 文献在 Word 中的引用"),t(e)])]),E,n("p",null,[s("这两种界面可以在插入的时候临时切换,也可以在 Zotero 首选项 里修改默认使用经典选择窗。操作步骤请参见"),t(i,{to:"/user-guide/ms-word-plugin.html"},{default:o(()=>[s("在 Word 中插入参考文献的基础教程")]),_:1})]),G,n("div",H,[J,M,n("p",null,[D,s(" ,点击左下角的 "),N,s(" 来实现同时插入多个文献。具体操作请参见"),t(i,{to:"/user-guide/ms-word-plugin.html"},{default:o(()=>[s("在 Word 中插入参考文献的基础教程")]),_:1})]),Y]),Q,n("p",null,[n("a",$,[s("如何设置 Zotero 生成的参考文献格式,刷新后不变?"),t(e)])]),nn,n("details",sn,[tn,en,n("div",on,[an,n("p",null,[s("[1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. "),n("a",rn,[s("https://doi.org/10.1016/j.cej.2020.125798"),t(e)]),s(".")]),n("p",null,[s("[1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO"),ln,s(" resistance of birnessite for low-temperature NH"),pn,s("-SCR, Chem. Eng. J. 399 (2020) 125798. "),n("a",cn,[s("https://doi.org/10.1016/j.cej.2020.125798"),t(e)]),s(".")])]),un,dn]),n("div",gn,[hn,n("p",null,[s("插件 "),n("a",kn,[s("Linter for Zotero"),t(e)]),s(" 提供了辅助输入这些富文本标签的功能,可前往 "),n("a",mn,[s("插件商店"),t(e)]),s("下载安装。")])]),n("div",bn,[vn,fn,n("ul",null,[n("li",null,[n("a",_n,[s("添加斜体标识"),t(e)])]),n("li",null,[n("a",yn,[s("添加加粗标识"),t(e)])]),n("li",null,[n("a",qn,[s("添加上标标识"),t(e)])]),n("li",null,[n("a",wn,[s("添加下标标识"),t(e)])])])]),An,Zn,zn,n("p",null,[n("a",xn,[s("利用合适的 CSL,结合设置条目语言解决 et al 和等混排问题"),t(e)])]),n("div",Wn,[Fn,Cn,n("p",null,[n("a",jn,[s("GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程"),t(e)])]),n("p",null,[n("a",Sn,[s("GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程"),t(e)])]),On]),Xn,n("p",null,[n("a",Ln,[s("style csl 文件简单编辑"),t(e)])]),In,n("ol",null,[n("li",null,[Bn,n("div",Tn,[Rn,Pn,Vn,n("p",null,[s("插件 "),n("a",Kn,[s("Linter for Zotero"),t(e)]),s(" 提供了自动识别条目语言并设定语言字段的功能,可前往 "),n("a",Un,[s("插件商店"),t(e)]),s("下载安装。")]),En])]),Gn]),Hn,n("div",Jn,[Mn,n("p",null,[s("本小节在翻译 "),n("a",Dn,[s("官方文档"),t(e)]),s(" 的基础上,进行了再次整合,以 Microsoft Word 为例进行操作。如果您使用的是 Google Docs 或者 LibreOffice ,可访问 "),n("a",Nn,[s("官方文档 | 排除文字处理器文档中的错误"),t(e)]),s(" 获取帮助。")])]),Yn,n("p",null,[s("如果您在尝试在一个"),Qn,s("中使用 Zotero 时出错,请参阅 "),n("a",$n,[s("文字处理器插件故障排除"),t(e)]),s("。")]),ns,n("p",null,[s("首先分析一下 Word 加载项 在 Word 留下的域代码结构,以 "),n("a",ss,[s("https://doi.org/10.1021/acscatal.0c05697"),t(e)]),s(" 为例,其正常插入 Word 后产生的域代码为:")]),ts,es,os,as,n("div",rs,[is,n("p",null,[n("a",ls,[s("https://www.zotero.org/support/kb/word_field_codes"),t(e)])])]),ps,n("div",cs,[us,n("p",null,[n("a",ds,[s("https://www.zotero.org/support/kb/citations_highlighted"),t(e)])])]),gs,n("div",hs,[ks,n("p",null,[n("a",ms,[s("https://www.zotero.org/support/kb/word_field_codes"),t(e)])])]),bs,n("p",null,[s("参阅:"),t(i,{to:"/user-guide/misc/link-citation-to-bibliography.html"},{default:o(()=>[s("将引注链接到参考文献表")]),_:1}),s(" 。")]),vs,fs,n("p",null,[n("a",_s,[s("GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程"),t(e)])]),n("p",null,[n("a",ys,[s("一些软件使用过程中的技巧,如 Endnote, Zotero 等"),t(e)])])])}const Fs=_(X,[["render",qs],["__file","word-addon.html.vue"]]),Cs=JSON.parse('{"path":"/user-guide/faqs/word-addon.html","title":"关于 Word 引用的各种问题","lang":"zh-CN","frontmatter":{"author":[{"name":"Northword"},{"name":"winding"},{"name":"ShareStuff"},{"name":"Chikit_L"},{"name":"可口可乐","url":"https://github.com/wakewon"}],"date":"2023-10-04T11:38:09.000Z","updated":"2024-01-31T20:01:21.000Z","order":2,"description":"关于 Word 引用的各种问题 本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。 如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案。 如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zoter...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/word-addon.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"关于 Word 引用的各种问题"}],["meta",{"property":"og:description","content":"关于 Word 引用的各种问题 本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。 如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案。 如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zoter..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:17:44.000Z"}],["meta",{"property":"article:author","content":"Northword"}],["meta",{"property":"article:published_time","content":"2023-10-04T11:38:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:17:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"关于 Word 引用的各种问题\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-10-04T11:38:09.000Z\\",\\"dateModified\\":\\"2024-02-02T05:17:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"winding\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"ShareStuff\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"Chikit_L\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"可口可乐\\",\\"url\\":\\"https://github.com/wakewon\\"}]}"]]},"headers":[{"level":2,"title":"插入参考文献的基础教程","slug":"插入参考文献的基础教程","link":"#插入参考文献的基础教程","children":[]},{"level":2,"title":"插入引用常见的操作问题","slug":"插入引用常见的操作问题","link":"#插入引用常见的操作问题","children":[]},{"level":2,"title":"格式问题","slug":"格式问题","link":"#格式问题","children":[{"level":3,"title":"调整缩进、行距等格式","slug":"调整缩进、行距等格式","link":"#调整缩进、行距等格式","children":[]},{"level":3,"title":"设置斜体及上下标等","slug":"设置斜体及上下标等","link":"#设置斜体及上下标等","children":[]},{"level":3,"title":"中英文混排以及其他特殊要求样式的问题","slug":"中英文混排以及其他特殊要求样式的问题","link":"#中英文混排以及其他特殊要求样式的问题","children":[]},{"level":3,"title":"如果上面现成的样式不能满足你的需求……","slug":"如果上面现成的样式不能满足你的需求","link":"#如果上面现成的样式不能满足你的需求","children":[]},{"level":3,"title":"注意事项及与样式相关的常见问题","slug":"注意事项及与样式相关的常见问题","link":"#注意事项及与样式相关的常见问题","children":[]}]},{"level":2,"title":"Word 中没有 Zotero 选项卡","slug":"word-中没有-zotero-选项卡","link":"#word-中没有-zotero-选项卡","children":[]},{"level":2,"title":"报错“无法与 Zotero 通讯”","slug":"报错-无法与-zotero-通讯","link":"#报错-无法与-zotero-通讯","children":[]},{"level":2,"title":"Zotero 在更新文档时出错","slug":"zotero-在更新文档时出错","link":"#zotero-在更新文档时出错","children":[]},{"level":2,"title":"域代码相关问题","slug":"域代码相关问题","link":"#域代码相关问题","children":[{"level":3,"title":"您已经修改该引文,是否保留更改?","slug":"您已经修改该引文-是否保留更改","link":"#您已经修改该引文-是否保留更改","children":[{"level":4,"title":"使 Zotero 恢复对引文的更新","slug":"使-zotero-恢复对引文的更新","link":"#使-zotero-恢复对引文的更新","children":[]}]},{"level":3,"title":"字段是代码而不是引文/参考书目文本","slug":"字段是代码而不是引文-参考书目文本","link":"#字段是代码而不是引文-参考书目文本","children":[]},{"level":3,"title":"引文或参考书目总是以灰色或其他颜色突出显示","slug":"引文或参考书目总是以灰色或其他颜色突出显示","link":"#引文或参考书目总是以灰色或其他颜色突出显示","children":[]}]},{"level":2,"title":"没有监测到引用","slug":"没有监测到引用","link":"#没有监测到引用","children":[]},{"level":2,"title":"将引注链接到参考文献表","slug":"将引注链接到参考文献表","link":"#将引注链接到参考文献表","children":[]},{"level":2,"title":"更多教程","slug":"更多教程","link":"#更多教程","children":[]}],"git":{"createdTime":1696420690000,"updatedTime":1706851064000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":5},{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":19.76,"words":5929},"filePathRelative":"user-guide/faqs/word-addon.md","localizedDate":"2023年10月4日","autoDesc":true,"excerpt":"\\n

    本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。

    \\n

    如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案

    \\n

    如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zotero 官方论坛发帖求助。

    "}');export{Fs as comp,Cs as data}; diff --git a/assets/word-copy-bib-C_1KlHb1.png b/assets/word-copy-bib-C_1KlHb1.png new file mode 100644 index 0000000000..9896518b7a Binary files /dev/null and b/assets/word-copy-bib-C_1KlHb1.png differ diff --git a/assets/word-export-folder-CLhH8JY4.png b/assets/word-export-folder-CLhH8JY4.png new file mode 100644 index 0000000000..5dfddf4d48 Binary files /dev/null and b/assets/word-export-folder-CLhH8JY4.png differ diff --git a/assets/word-export-reference-VkeoNtOh.png b/assets/word-export-reference-VkeoNtOh.png new file mode 100644 index 0000000000..cdf1ddc54b Binary files /dev/null and b/assets/word-export-reference-VkeoNtOh.png differ diff --git a/assets/word-export-reference-copy-VVU4VOQQ.png b/assets/word-export-reference-copy-VVU4VOQQ.png new file mode 100644 index 0000000000..63b57b5757 Binary files /dev/null and b/assets/word-export-reference-copy-VVU4VOQQ.png differ diff --git a/assets/word-export-reference-format-Bsjs_Y70.png b/assets/word-export-reference-format-Bsjs_Y70.png new file mode 100644 index 0000000000..b94142a523 Binary files /dev/null and b/assets/word-export-reference-format-Bsjs_Y70.png differ diff --git a/assets/word-finder-path-Bdiprv8S.png b/assets/word-finder-path-Bdiprv8S.png new file mode 100644 index 0000000000..26b8fd051d Binary files /dev/null and b/assets/word-finder-path-Bdiprv8S.png differ diff --git a/assets/word-zotero-import-C5576fXQ.png b/assets/word-zotero-import-C5576fXQ.png new file mode 100644 index 0000000000..39ae47b3b3 Binary files /dev/null and b/assets/word-zotero-import-C5576fXQ.png differ diff --git a/assets/word-zotero-succ-BDwpIY4f.png b/assets/word-zotero-succ-BDwpIY4f.png new file mode 100644 index 0000000000..e3cf217485 Binary files /dev/null and b/assets/word-zotero-succ-BDwpIY4f.png differ diff --git a/assets/wps-plugin-vba.html-CeXVpnIN.js b/assets/wps-plugin-vba.html-CeXVpnIN.js new file mode 100644 index 0000000000..75138efd8e --- /dev/null +++ b/assets/wps-plugin-vba.html-CeXVpnIN.js @@ -0,0 +1 @@ +import{_ as g}from"./image-settings-reinstalll-word-plugin-BJoUDq6D.js";import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as s,o as c,c as d,a as t,d as o,w as a,b as n,e as i}from"./app-pLjDz5vt.js";const l="/assets/image-wps-没有显示加载项-CQ3pCDYn.png",f="/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5-BWkTyt4v.png",m="/assets/f30e9f8627698b66e84c9bdc9a595663_MD5-Ddfparek.png",h="/assets/e2f9f84e616a8113ce86de71f95e6764_MD5-BLaiRj5Q.png",_="/assets/8addbd81b3d85f5501f1a58020ab3191_MD5-D6SjiJf7.png",u="/assets/67c928f040091835a073775ea418ff4c_MD5-CcGuD3o3.png",b="/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5-BbXBRpZV.png",W="/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5-CGKmv4OP.png",v="/assets/6dd98ac109ac059509e72720c885e733_MD5-Db0V9Slt.png",P="/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5-DOxwKSaW.png",S="/assets/b8282b0cdce33505057400c176ea2cc5_MD5-BnhbsKOi.png",Z="/assets/83ee28582510c7573aceb4284b3c4ac0_MD5-CHpS4E2B.png",k="/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5-CjpQ5_do.png",x="/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5-BPGpBZk6.png",z="/assets/6b8137561c99a0795bdcb48f57fab85e_MD5-fif3pbEu.png",y="/assets/d8772b1c75f067c9322b337c5b6fe717_MD5-DtAnq5q2.png",w="/assets/4de80b5cd85863024d63689cdf806721_MD5-DRZumBm0.png",D="/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5-D7QRkBkR.png",C="/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5-Bqb7IHF8.png",M="/assets/a2f3237d76883f049b272f29abdf0c51_MD5-Czyjmezh.png",B="/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5-D7nTAd2O.png",R="/assets/d566856af09a69bd03db196b1e3744cf_MD5-DF5YKksz.png",A="/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5-C9lJGMTL.png",V="/assets/15e71e5849e591f2252b7e706e8d6707_MD5-fMY57taO.png",O="/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5-BMbSY3HM.png",T="/assets/df5d7f252fb711f5362abd06c293f8fd_MD5-C0KrQf79.png",N="/assets/aab13e38e1dbeb28f675129f45f38af8_MD5-Cj_ZIEaA.png",U={},E=t("h1",{id:"通过-vba-在-wps-中使用-word-插件",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#通过-vba-在-wps-中使用-word-插件"},[t("span",null,"通过 VBA 在 WPS 中使用 Word 插件")])],-1),q=t("h2",{id:"前言-很重要哦",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#前言-很重要哦"},[t("span",null,"前言(很重要哦!)")])],-1),j={class:"hint-container info"},I=t("p",{class:"hint-container-title"},"相关信息",-1),K=t("strong",null,"Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝",-1),L=t("strong",null,"在 Word 中插入引文",-1),F=i('

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!(无法正常使用请见本文档 四、Refresh/Unlink Citations 莫名失效

    注意

    以下是 WPS 的 Zotero Word 加载项的常见问题及解决方法,均以 Window 系统为例演示 📝:

    一、没有显示 Zotero 加载项

    image.png
    image.png

    相关信息

    如上图所示,WPS 的文档界面不显示 Zotero 加载项。解决办法如下

    1、检查 Microsoft Word 加载项

    ',6),Q=t("strong",null,"Microsoft Word 加载项",-1),Y=t("figure",null,[t("img",{src:g,alt:"重新安装 Word 插件",tabindex:"0",loading:"lazy"}),t("figcaption",null,"重新安装 Word 插件")],-1),G=t("h3",{id:"_2、wps-vba-插件的安装",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#_2、wps-vba-插件的安装"},[t("span",null,"2、WPS.VBA 插件的安装")])],-1),H=t("strong",null,"个人版",-1),J={href:"https://pan.baidu.com/s/1y-cjisA6Lxbnw3r3g_jmKA?pwd=moyu",target:"_blank",rel:"noopener noreferrer"},X=t("strong",null,"VBA 插件",-1),$=i('

    注意

    WPS 专业版等版本一般已自带 VBA 宏功能,Zotero 加载项如有使用问题,也可选择安装 VBA 插件。

    1)将 WPS.VBA 安装程序下载并保存到电脑,确保 WPS 程序是 未运行状态。

    image.png
    image.png

    2)双击打开 WPS. VBA 安装程序,依次单击【Next】,最后单击【Finish】。用 WPS 打开任意一个 Word 文档,检查是否正常显示 Zotero 加载项。

    image.png
    image.png

    注意

    若 WPS. VBA 安装后,仍未显示 Zotero 加载项,或需将【宏安全性】设成低(但不建议)。除此外可见下方3、补充 Zotero. dotm 文件

    3、补充 Zotero.dotm 文件

    1)在 Zotero 图标处右键单击,单击【打开文件所在的位置】打开 Zotero 安装路径

    image.png
    image.png

    2)依次双击打开【extensions】-【zoteroWinWordIntegration@zotero.org】-【install】文件夹,复制 Zotero.dotm 文件。

    image.png
    image.png
    image.png
    image.png
    ',12),tt={class:"hint-container warning"},nt=t("p",{class:"hint-container-title"},"注意",-1),ot={href:"https://pan.baidu.com/s/1EMfR5KRi8Mxxn9Wa7UR7Ag?pwd=moyu",target:"_blank",rel:"noopener noreferrer"},it=t("strong",null,"Zotero.dotm",-1),et=i('

    3)在 WPS 图标处右键单击,单击【打开文件所在的位置】打开 WPS 安装路径。

    image.png
    image.png

    注意

    以上前提是确保 WPS 已关闭,不在运行中!!!

    4)找到并打开版本最新的文件夹(即数字最大),再依次打开【office6】-【startup

    image.png
    image.png
    image.png
    image.png

    5)在 WPS 的【startup】启动项文件夹内,粘贴 Zotero.dotm 文件。再次用 WPS 打开任一 Word 文档,检查 WPS 是否已显示 Zotero 加载项。

    image.png
    image.png

    二、Zotero 加载项出现弹窗报错

    image.png
    image.png

    相关信息

    如上图所示,在 WPS 使用 Zotero 加载项的各个按钮时,会出现弹窗警告。解决方法如下

    1、解决方法一

    新建一个 Word 文档,先用 Office打开此文档,用 Zotero 加载项 插入一篇文献后,保存此文档即可。

    image.png
    image.png

    注意

    设置较简单,仅适用于同时安装 Office 和 WPS。以后再使用时,可能还会报错。

    如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部

    解决方法:将光标定位在远离上述位置如正文文字处

    2、解决方法二

    1)单击【开发者工具】-【加载项】,弹出的对话框单击【选用】。

    image.png
    image.png

    注意

    设置较复杂,适用于 同时装有 Office 和 WPS只装有 WPS

    注意

    若【开发工具】选项卡的内容为灰色,即无法点击操作。

    解决方法:安装 WPS. VBA 插件(详见本文档 WPS. VBA 插件的安装

    或需升级更新 WPS 版本,以及可能需要安装使用 WPS 专业版等版本。

    2)弹出对话框,双击进入上方地址栏并复制地址,或地址栏处右键单击,再单击【将地址复制为文本】。复制好地址后,即可关闭当前窗口。

    image.png
    image.png

    3)单击【文件】选项卡,再单击【打开】。将 地址 粘贴至【文件名】,【文件类型】选择 所有文件,然后单击【打开】。

    image.png
    image.png
    image.png
    image.png

    4)选中 Normal.dotm 文件,单击【打开】,随之打开名为 Normal.dotm 文档。

    image.png
    image.png

    5)在 Normal.dotm 文档内,依次单击【文件】-【文档加密】-【属性

    image.png
    image.png

    6)在 Normal.dotm 属性对话框,切换到【自定义】窗口,【名称】和【取值】分别输入 ZOTERO_PREF_11 ,点击【添加】。同理,再添加上 ZOTERO_PREF_21 ,最后点击【确定】。

    image.png
    image.png

    这一步完成的效果如下:

    image.png
    image.png

    7)左上角单击【保存】图标或快捷键 Ctrl+S 保存 Normal.dotm 文档。重新用 WPS 打开一个 Word 文档检查是否不再出现报错窗口。

    image.png
    image.png

    注意

    如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部

    解决方法:将光标定位在远离上述位置如正文文字处

    image.png
    image.png

    相关信息

    如上图所示,RefreshUnlink Citations图标显示为问号,解决办法如下

    1、直接安装美化后的图标文件

    ',40),rt={href:"https://pan.baidu.com/s/1BXjo-ZOT971qlsY-zboIdA?pwd=moyu",target:"_blank",rel:"noopener noreferrer"},st=t("strong",null,"下载并保存",-1),at=i('
    image.png
    image.png

    注意

    只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标。

    下方是 5 个已编辑好的 RefreshUnlink Citations图标的图片展示。

    image.png
    image.png

    2)将上述任一 Zotero文件,粘贴至 WPS 的启动项文件夹内(详见本文档的 补充 Zotero.dotm 文件

    3)用 WPS 打开任一 Word 文档,但是会显示有 2 个 Zotero 加载项。

    image.png
    image.png

    注意

    因为没更换 Zotero 安装路径的 Zotero.dotm,且 Office Word 的启动项文件夹未放置 Zotero.dotm。

    相关信息

    这样做的考虑是:保持 Office Word 的 Refresh 和 Unlink Citations 图标不变动,同时保留原有的 Zotero. dotm,以备不时之需。当然也可自己按喜好设置更换。

    只保留 1 个 Zotero 加载项

    1)依次单击【开发者工具】-【加载项】。 单击选中 Zotero.dotm,单击【禁用】。

    image.png
    image.png

    2)Zotero.dotm 前面方框,此刻已更改成 取消勾选,点击【确定】即可。

    image.png
    image.png

    有时新建 Word 文档,用 WPS 打开后,无故出现点击 Refresh 和 Unlink Citations 功能失效(即无响应或莫名删掉引文 Citation)。

    解决方法

    1)不要将光标置于插入引文 Citaion 和参考文献 References 的位置(即将光标定位在远离上述位置如正文文字处,再点击 Refresh 按钮)

    2)重启 WPS,或新建一个 Word 文档,再用 WPS 打开。或必要时重启电脑即可正常使用。

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!

    致谢

    相关信息

    👍 到这里,在 WPS 中使用 Zotero Word 加载项的使用已接近尾声。在此由衷地感谢来自 b 站、知乎、CSDN 等网站的大神们分享的有关 WPS 的 Zotero Word 加载项使用的宝贵经验!!!

    ',22);function gt(pt,ct){const r=s("RouteLink"),e=s("ExternalLinkIcon");return c(),d("div",null,[E,q,t("div",j,[I,t("p",null,[K,o(r,{to:"/user-guide/ms-word-plugin.html"},{default:a(()=>[L]),_:1})])]),F,t("p",null,[n("检查 Zotero 是否已正常安装好"),Q,n("。安装此加载项的步骤,详见 Zotero 百科全书的 "),o(r,{to:"/user-guide/faqs/word-addon.html"},{default:a(()=>[n("【引文|插件】Word 加载项相关问题")]),_:1}),n("(点击左侧蓝字自查)")]),Y,G,t("p",null,[n("若 WPS 为"),H,n(",需额外安装 "),t("a",J,[X,o(e)]),n("(点击左侧蓝字获取插件)")]),$,t("div",tt,[nt,t("p",null,[n("如果上图文件夹位置没有 Zotero.dotm,可点击右侧蓝字获取 "),t("a",ot,[it,o(e)])])]),et,t("p",null,[n("1)我已创建 5 种 "),t("a",rt,[n("Refresh 和 Unlink Citations 图标"),o(e)]),n("(任选其一),可直接安装使用。点击上方蓝字即可获取,首先将其"),st,n("到电脑(如下图所示)。")]),at])}const mt=p(U,[["render",gt],["__file","wps-plugin-vba.html.vue"]]),ht=JSON.parse('{"path":"/user-guide/misc/wps-plugin-vba.html","title":"通过 VBA 在 WPS 中使用 Word 插件","lang":"zh-CN","frontmatter":{"title":"通过 VBA 在 WPS 中使用 Word 插件","author":[{"name":"winding"},{"name":"不秃燃的小老弟"}],"date":"2022-11-08T11:38:09.000Z","updated":"2023-10-04T12:06:44.000Z","description":"通过 VBA 在 WPS 中使用 Word 插件 前言(很重要哦!) 相关信息 Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝 🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/misc/wps-plugin-vba.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"通过 VBA 在 WPS 中使用 Word 插件"}],["meta",{"property":"og:description","content":"通过 VBA 在 WPS 中使用 Word 插件 前言(很重要哦!) 相关信息 Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝 🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"winding"}],["meta",{"property":"article:published_time","content":"2022-11-08T11:38:09.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"通过 VBA 在 WPS 中使用 Word 插件\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-11-08T11:38:09.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"winding\\"},{\\"@type\\":\\"Person\\",\\"name\\":\\"不秃燃的小老弟\\"}]}"]]},"headers":[{"level":2,"title":"前言(很重要哦!)","slug":"前言-很重要哦","link":"#前言-很重要哦","children":[]},{"level":2,"title":"一、没有显示 Zotero 加载项","slug":"一、没有显示-zotero-加载项","link":"#一、没有显示-zotero-加载项","children":[{"level":3,"title":"1、检查 Microsoft Word 加载项","slug":"_1、检查-microsoft-word-加载项","link":"#_1、检查-microsoft-word-加载项","children":[]},{"level":3,"title":"2、WPS.VBA 插件的安装","slug":"_2、wps-vba-插件的安装","link":"#_2、wps-vba-插件的安装","children":[]},{"level":3,"title":"3、补充 Zotero.dotm 文件","slug":"_3、补充-zotero-dotm-文件","link":"#_3、补充-zotero-dotm-文件","children":[]}]},{"level":2,"title":"二、Zotero 加载项出现弹窗报错","slug":"二、zotero-加载项出现弹窗报错","link":"#二、zotero-加载项出现弹窗报错","children":[{"level":3,"title":"1、解决方法一","slug":"_1、解决方法一","link":"#_1、解决方法一","children":[]},{"level":3,"title":"2、解决方法二","slug":"_2、解决方法二","link":"#_2、解决方法二","children":[]}]},{"level":2,"title":"三、Refresh/Unlink Citations 问号图标","slug":"三、refresh-unlink-citations-问号图标","link":"#三、refresh-unlink-citations-问号图标","children":[{"level":3,"title":"1、直接安装美化后的图标文件","slug":"_1、直接安装美化后的图标文件","link":"#_1、直接安装美化后的图标文件","children":[{"level":4,"title":"只保留 1 个 Zotero 加载项","slug":"只保留-1-个-zotero-加载项","link":"#只保留-1-个-zotero-加载项","children":[]}]}]},{"level":2,"title":"四、Refresh/Unlink Citations 莫名失效","slug":"四、refresh-unlink-citations-莫名失效","link":"#四、refresh-unlink-citations-莫名失效","children":[]},{"level":2,"title":"致谢","slug":"致谢","link":"#致谢","children":[]}],"git":{"createdTime":1696420690000,"updatedTime":1701324765000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":6.48,"words":1943},"filePathRelative":"user-guide/misc/wps-plugin-vba.md","localizedDate":"2022年11月8日","autoDesc":true,"excerpt":"\\n

    前言(很重要哦!)

    \\n
    \\n

    相关信息

    \\n

    Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝在 Word 中插入引文

    \\n
    \\n
    \\n

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!(无法正常使用请见本文档 四、Refresh/Unlink Citations 莫名失效

    \\n
    "}');export{mt as comp,ht as data}; diff --git a/assets/wps-plugin.html-qTWLVyqX.js b/assets/wps-plugin.html-qTWLVyqX.js new file mode 100644 index 0000000000..6e6abcebd5 --- /dev/null +++ b/assets/wps-plugin.html-qTWLVyqX.js @@ -0,0 +1 @@ +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as a,o as p,c as l,a as t,b as e,d as o,w as c,e as i}from"./app-pLjDz5vt.js";const d="/assets/image-run-cmd-srdpQM_6.png",h="/assets/image-run-python-version-DD4IpXRj.png",g="/assets/image-miniconda-install-BiNhio40.png",m="/assets/image-python-install-D63CxHMB.png",u="/assets/wps-pluginfile-list-60xQeEKh.png",f="/assets/image-wps-warn1-IzjfZXl5.png",P="/assets/image-wps-warn2-DLyQGO3s.png",w="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAe8AAADhAgMAAACcmtWaAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAJUExURQwMDMzMzPPz8y+rMxUAAAjMSURBVHja7ZzbjuyoDoZhRO6JBO/jSMk9JYV33NpPOf5tSKV69aHWKBDNLNwH0emkvhgMxuDEmCF3iJPf4dtzJpPTxL9tB3j6eI4n4h9P8Wr4dNzAk/XxHMIX0y/XfP4BPrWFT5Rpt48UiVEUKaJkNxMNSoBvlNvA+TO9Y92JiDX2aFqPUiIRqYXkUWoAj2xMT7hWr5S8PeD82zeBU4HP3J0qXEo+sHXn1BbuK5zMobkeJ5JjptRGEzi3ubZ6bfOkbb6w8ZGHwfFRoV8OT/tElu3dmcPaA0qbCXwTau181GCEi6nTsKtVf8+Qb5P0hA6uhXSQc2WsY32nvB+jnTW+E3zaBQgDzDmjI5iFD3C5Edz6A+ScO+DwoJGPzxG93bWDm1W1r3Cpdi2SVnubqrd5dcY60X5B+dA8yCDLXcwX68fZF9ugY0Bw3J/jh2pfk5RnqYqTfVwpYdsfPMYkVH0APGapdosb8sYuk9pDEzgmR9LGDI9Fc7kpZxZuigSTYKrdbNozbRSX7bo7WBcr1Yx2X7XNLUNRG14GudIN2cOzD2Df7tN11rdyT4bmaO8CP3oWWzpuJOFvdkHkDn9/kbU7v4jm3ll7GJzTppjQxqveTAs4g1YBLTkRw73Ap6wWn3g6x82i8Mk0gAPjrChf4a50Nzb4QGtpc4b7q+HVvAH0Cp8r3CdLa5D/bTDKJe2Rf66Ds2VXo+IBR8pQVvo6QWX2ryvGuAbjuzsVHBUjZ2cCzXd4F5Khne+g10TmDxF689jlghkpj2J0jmFs26nTed5uyhBefTVPmNnZ+Db++yu4O+KTp+audfVPJVo5QAJ3HeHzyVdLm7sP/jvSnprM43mafPLVWPiB5q/+myRgazGHNFjwOTyWaG4/uFD4tB5w/xkci2E5NbB2w5H401ertRt69d+kE4urVyamCvev8LP/Tm3aHJG3WdLJV8t6FNPO/juxtT/aWLvxn8RinlrFZ7/Cf7Glefjvjv6cvvTo9A9nAPSTP3/ORz2bmaxASUlC6Pofm57zXftIH9fovV1fjrmnQb3hz8upOwwdS47lcqrO7tCBzzAPOoPg9jnS02PpU/hnM4Nf4epgeVApQXmNFZ9wJ/DXGN8J/EybXuBfOOfqz+sHV7iTtXhzClTpdM4HuHy9wueX6v8WzqPawmNYUngUdzqzT99kWpUpyuWRJikBzmEkrpD1+SxrmCvtdsPfyxZi0qv5E7+fGVT3ETyVVViSEpZh4dUJ3g0/slKLEuD8f7mCylWAq/+n2Tr4Ar36h5mBlbVntDLJNKK6l0ilxB9qyeqatIRQVkAk1kJG4VZuSK9YPNWrf5oZWKnozLeFafMTTgUe+NJwwMMHuDYRjs3HtRuOytX4xC9nBsWfYznfqOE/ZzTVxWq1yzf0RPBIT7gp1c4TwQO+6l6YTE2+mRkUfy7/kI9CWxLuFUel1Wgh5xfSszyXKtzLFaXN/QFPVBbotc2/mRmIPyfYa1wyW7Xh0mRknZ39+GY2HuECB+khYekC1h4Sn7Ws/HviK+RK/uExhOEZ/j9EpmS9Wj7x+5mBN5+Vve6o/XDWN8fK1T/MDL6C22TTP4fXq8fMYMiQIUOGDPkTolR6mQtY87q13RBNSMkwPmfZyvYxGztl6gJnKM9OcQOyAHbwJDCcT0FXmwUZBrK2HvtZBY4myJilIj6mlou/DGaA3a1HpoAcWozEALJxb73vYXAIMxjLzWALPORN99QbiU05P3YY2hQAt7s2Q6JgOEzh4NLZlm2O7UsOqtKSUO1gBY0/qSxntJt2o2sBHgyVHWSOtJGewgF1fORnzkwTOHcxhltWW/o5F63u23NcN+twE5pq7iUmlojZ4QY0+C1w3xAOzQscCwBOw+QnvGU/n6E5h74Y6aaljqgKj49ZRrhmmgdvZQSVao81GRUGB801W6thtfNown1d4GlHOSFlicnq3mzLAc67w7vFQtIlO9cBPmTIkCFDhgz5r4jXTHZvuqVlnaRksuv2Vmd4zWT3HBcj97eT2FrrpNVOEjz10lmnj5rJbjPgU6aumtdM9pknzsF3rvaayY5q7w23NZN9dmRW6q15SRAIaVuc6QwvmewPbNxykJy6wmsmO54U6655zWT3+9YXnlR1yWTvrHlMAi+Z7J3hRX/NZH/4siLTVWomOxIjusO9udGfK3y+yZ/vmfKOh1K7+nPN3Fiw6t3fn2tuuzWEx6Qenf25ujBrtH939ucKz7vAe/tzUzVfYHCd/bmm8diSnXWLP5/ZkS9mtp39uS5+zqx53ufejsUX+CqJeJ39OXLUGL4vxu5Y9O+qeYY/x4YWBwyzv8Wfk25y3OPPgecx1t/iz2VH1Zl7RDaw74Ljceimu6bf+XPdQe8OL17kHs1vhevccedqj61ea/CTS3Xo4f01n4q1z7d0taK5uwUuBudma8j1eRz1F2t3oTw50BuepNpvgUeSyQRuoz+86M+TRnnDyI1yK3zIkCFDhgwZ8q8UTTTGt3U1DY8+WR5Y3v3Av/7/v7fRDLJeN+8LvGa7vyYBIgnUXwvHGozXlyXJarMsedds95cogsybUcVvwLEKVVYlAv+BrPYj2102PWSGK28Ni++9jPF9ONZi/LbLu5NWWiSxvGa7Ax6PwILMm6+h/A14fYBzNnZyq8KrEcry2Bn+1uz2fThP1tOKt48iSHWseTBLzXY/w2MiMlfDxcjx7PCsMbo8eVyy3Z9wI49+vz4jewU8Zja4VR6dcMxGVvuR7f6EywPEk7kajhzvWOCO9HHtku3+hFtJSlbNw6Wam8mvsq2FVRF5DrtmuwvcS/+OaS652OFSze1e4JIs8wJHP5/K+oHzl3c1ZLevcZX3CKxONlqoZrsrHE9U8NE9FHj46ePfhwfJ6yd5pcXKjZ0Tunp9qwSqGwUe98ziI7a5r4TDkNDVsODtpGpP2e4nx+IlwcC/8/G/McLhkf0Zr/0zycpDI+487p2q6OTSLoMPGTJkyJAhQ4YMGTJkyJAhQ/5o+RtSy+1v0D3zMQAAAABJRU5ErkJggg==",W="/assets/image-wps-success-C--IbKnF.png",y="/assets/image-wps-plugin-ui-buttons-J2woh0G8.png",_="/assets/image-wps-plugin-ui-C-dJZnzZ.png",A="/assets/image-wps-vba-plugin-install-path-CmrLkXqB.png",z={},x=t("h1",{id:"在-wps-中插入参考文献",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#在-wps-中插入参考文献"},[t("span",null,"在 WPS 中插入参考文献")])],-1),S=t("p",null,"在 WPS 中使用插件参考文献,目前有两种方法",-1),b=t("ul",null,[t("li",null,"使用 VBA,借用 Word 的插件"),t("li",null,"使用 WPS JavaScript API 制作的插件")],-1),k={href:"https://zhuanlan.zhihu.com/p/579975093",target:"_blank",rel:"noopener noreferrer"},v=t("p",null,"下面是使用 WPS 原生 JavaScript API 插件的教程。",-1),Z={class:"hint-container tip"},T=t("p",{class:"hint-container-title"},"macOS 系统上的 WPS 用户暂时无法使用",-1),B=t("p",null,[e("插件是利用 WPS 提供的 JavaScript API 从 Zotero 获取引文信息,并写入到 WPS 文档中。目前插件可以在"),t("strong",null,"Windows 和 Linux 系统"),e("下使用,因 WPS 的接口暂时不支持 macOS 系统,所以"),t("strong",null,"使用苹果电脑的同学暂时用不上这个插件"),e("。")],-1),V={href:"https://github.com/tankwyn/WPS-Zotero",target:"_blank",rel:"noopener noreferrer"},O=i('

    1. 安装插件

    因为 WPS 接口的一些限制,本插件的使用还需要使用到Python3,Linux 系统内一般默认安装了 Python3, 使用 Windows 的同学,需要提前安装好 Python3。使用 Windows 的同学从下面的 1.1 Windows 下 Python3 环境的安装 部分开始,使用 Linux 的同学可直接跳过这部分,看后面的安装部分就行。

    1.1 Windows 下 Python3 环境的安装

    可能有一些同学的电脑里已经安装 Python3,可以按 WIN + R,在弹出的窗口输入 cmd

    运行CMD
    运行CMD

    点击确认后,再出现的小黑屏上输入 python --version

    查看Python版本
    查看Python版本

    注意看,只要出现 Python 3.xx.xx,就说明 Python3 已经正确安装,直接进入下一步。如果出现其他的,说明 Python3 未正确安装,请按下面的步骤进行安装。

    ',8),N={href:"https://www.python.org/ftp/python/3.11.5/python-3.11.5-amd64.exe",target:"_blank",rel:"noopener noreferrer"},J={href:"https://www.python.org/ftp/python/3.11.5/python-3.11.5.exe",target:"_blank",rel:"noopener noreferrer"},D={href:"https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_23.5.2-0-Windows-x86_64.exe",target:"_blank",rel:"noopener noreferrer"},R=i('

    这里以 miniconda 示例,安装时默认设置,除了下面截图的设置,要记得打勾,把 Python 添加到环境变量里

    安装miniconda
    安装miniconda

    安装了官网 Python 的同学,需要手动将 Python 添加到环境变量里

    安装Python
    安装Python

    安装成功后,在小黑屏运行 python --version,出现 Python 3.xx.xx 说明安装成功。

    1.2 安装 WPS 插件

    ',6),j={href:"https://github.com/tankwyn/WPS-Zotero",target:"_blank",rel:"noopener noreferrer"},U={href:"https://ftp.linxingzhong.top/WPS-Zotero.tar.gz",target:"_blank",rel:"noopener noreferrer"},C=i('

    将下载后的压缩包解压后,看到的文件如下

    解压后的文件列表
    解压后的文件列表

    Windows 系统

    Windows 系统直接双击 windows安装与卸载.bat 安装文件,你可能会遇到下面的警告提示

    点击更多信息
    点击更多信息
    点击仍要运行
    点击仍要运行

    运行后出现的提示窗口,输入 1,并按确认,进行安装

    选择1
    选择1

    安装成功的提示

    安装成功
    安装成功

    Linux 系统

    直接打开 terminal,输入 python3 install.py 进行安装

    2. 插件使用

    WPS 插件的按钮与 Word 插件类似

    • Add/Edit Citation,添加引用文献
    • Add/Edit Refs,添加参考文献列表
    • Refresh,刷新文档引用文献信息
    • Preferences,打开 Zotero 引用设置窗口
    • Add Note,添加 Zotero 笔记
    • Unlink,取消链接引注,通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成
    • Export,导出其他文本编辑器兼容的文本格式
    • About,插件相关信息
    WPS插件UI按钮
    WPS插件UI按钮
    ',16),L=i('

    3. 如何卸载 WPS 安装的旧版 Zotero 扩展

    如果你之前安装把 Word 里的 Zotero 插件强行安装到 WPS,那样出现多个的 Zotero 选项

    多个Zotero选择
    多个Zotero选择

    先打开 C:\\Users\\你的用户名\\AppData\\Roaming\\kingsoft\\wps 目录 (注意用户名换成你自己的),找到 startup 目录,删掉里面的 zotero.dotm 文件,这个文件是直接从 Zotero 的 Word 插件里复制到 WPS 里,需要 WPS 有 VBA 环境,现在已经不需要了,可以删掉。

    WPS插件安装路径
    WPS插件安装路径

    4. 可能遇到的问题

    使用中可能点击按钮后,Zotero 的窗口不会自动出现,可以手动点击一下任务栏中的 Zotero 图标,让 Zotero 的窗口跳到最前。

    ',7);function H(X,E){const n=a("ExternalLinkIcon"),r=a("RouteLink");return p(),l("div",null,[x,S,b,t("p",null,[e("使用 WPS 的 VBA 插件插入参考这篇:"),t("a",k,[e("完美在 WPS 中使用 Zotero 的方法"),o(n)]),e(",该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)。")]),v,t("div",Z,[T,B,t("p",null,[e("插件地址为 "),t("a",V,[e("https://github.com/tankwyn/WPS-Zotero"),o(n)])])]),O,t("p",null,[e("下载 Python3 安装包,"),t("a",N,[e("64 位下载地址"),o(n)]),e(","),t("a",J,[e("32 位下载地址"),o(n)]),e(",不知道自己电脑是几位的,就选 64 位。如果上面两个链接下载太慢 (不开代理 ,官网下载速度慢已经 10 多年了),可试试安装 "),t("a",D,[e("miniconda"),o(n)]),e("。")]),R,t("p",null,[e("安装过程非常简单,作者已经帮我们处理好了,只需要一个脚本即可。如果你可流畅访问 GitHub,可直接到 "),t("a",j,[e("https://github.com/tankwyn/WPS-Zotero"),o(n)]),e(" 下载,如果访问困难,可到这个 "),t("a",U,[e("镜像源"),o(n)]),e(" 下载")]),C,t("p",null,[e("具体的操作过程,请参考 "),o(r,{to:"/user-guide/ms-word-plugin.html"},{default:c(()=>[e("在 Word 中插入参考文献")]),_:1})]),L])}const M=s(z,[["render",H],["__file","wps-plugin.html.vue"]]),q=JSON.parse('{"path":"/user-guide/wps-plugin.html","title":"在 WPS 中插入参考文献","lang":"zh-CN","frontmatter":{"title":"在 WPS 中插入参考文献","icon":"article","date":"2023-09-22T20:36:31.000Z","updated":"2023-09-24T14:49:15.000Z","description":"在 WPS 中插入参考文献 在 WPS 中使用插件参考文献,目前有两种方法 使用 VBA,借用 Word 的插件 使用 WPS JavaScript API 制作的插件 使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/wps-plugin.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"在 WPS 中插入参考文献"}],["meta",{"property":"og:description","content":"在 WPS 中插入参考文献 在 WPS 中使用插件参考文献,目前有两种方法 使用 VBA,借用 Word 的插件 使用 WPS JavaScript API 制作的插件 使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-11-30T06:12:45.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-09-22T20:36:31.000Z"}],["meta",{"property":"article:modified_time","content":"2023-11-30T06:12:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"在 WPS 中插入参考文献\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-09-22T20:36:31.000Z\\",\\"dateModified\\":\\"2023-11-30T06:12:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"1. 安装插件","slug":"_1-安装插件","link":"#_1-安装插件","children":[{"level":3,"title":"1.1 Windows 下 Python3 环境的安装","slug":"_1-1-windows-下-python3-环境的安装","link":"#_1-1-windows-下-python3-环境的安装","children":[]},{"level":3,"title":"1.2 安装 WPS 插件","slug":"_1-2-安装-wps-插件","link":"#_1-2-安装-wps-插件","children":[{"level":4,"title":"Windows 系统","slug":"windows-系统","link":"#windows-系统","children":[]},{"level":4,"title":"Linux 系统","slug":"linux-系统","link":"#linux-系统","children":[]}]}]},{"level":2,"title":"2. 插件使用","slug":"_2-插件使用","link":"#_2-插件使用","children":[]},{"level":2,"title":"3. 如何卸载 WPS 安装的旧版 Zotero 扩展","slug":"_3-如何卸载-wps-安装的旧版-zotero-扩展","link":"#_3-如何卸载-wps-安装的旧版-zotero-扩展","children":[]},{"level":2,"title":"4. 可能遇到的问题","slug":"_4-可能遇到的问题","link":"#_4-可能遇到的问题","children":[]}],"git":{"createdTime":1695386320000,"updatedTime":1701324765000,"contributors":[{"name":"Linxzh","email":"linxzh1989@gmail.com","commits":1},{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1},{"name":"Northword","email":"northword@outlook.com","commits":1},{"name":"l0o0","email":"linxzh1989@gmail.com","commits":1}]},"readingTime":{"minutes":4.16,"words":1249},"filePathRelative":"user-guide/wps-plugin.md","localizedDate":"2023年9月22日","autoDesc":true,"excerpt":"\\n

    在 WPS 中使用插件参考文献,目前有两种方法

    \\n
      \\n
    • 使用 VBA,借用 Word 的插件
    • \\n
    • 使用 WPS JavaScript API 制作的插件
    • \\n
    \\n

    使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)。

    "}');export{M as comp,q as data}; diff --git a/assets/wps-pluginfile-list-60xQeEKh.png b/assets/wps-pluginfile-list-60xQeEKh.png new file mode 100644 index 0000000000..bc95a1feab Binary files /dev/null and b/assets/wps-pluginfile-list-60xQeEKh.png differ diff --git a/assets/xml-basic.html-6Ln5cMzE.js b/assets/xml-basic.html-6Ln5cMzE.js new file mode 100644 index 0000000000..3460c68dca --- /dev/null +++ b/assets/xml-basic.html-6Ln5cMzE.js @@ -0,0 +1,47 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o,c as l,a,b as n,d as c,e as s}from"./app-pLjDz5vt.js";const i={},u=s(`

    XML 基础

    注意

    此页面正在施工中。

    CSL 基于 XML(eXtensible Markup Language)XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  # 文档声明
    +
    +<!-- 这是一个注释 -->  # 注释
    +
    +<hello> # 根元素,文档的第一个元素,有且仅有一个
    +    # 子元素
    +    # 属性
    +    # 元素文本
    +</hello>
    +

    上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。

    第一行为声明,或者称为序言,总是在文档的最前面。包括了XML 的版本、编码信息以及是否依赖外部文档等。这一行代码会告诉解析器或浏览器这个文件应该按照 XML 规则进行解析。

    第二行为 XML 文档的注释。格式为 <!-- 注释-->

    剩下的代码为 XML 文件的根元素,根元素也是元素,根元素是文档的第一个元素,有且仅有一个。

    元素

    元素由开始标签,元素内容和结束标签构成。其中可以包含属性、元素和注释。根元素包含了其他所有元素。

    <title>内容</title>
    +

    title 为元素名。

    元素有 4 种形式。

    1. 空元素
    +<RAM> </RAM>  或者 <RAM/>
    +
    +2. 带有属性的空元素
    +<RAM width="100"/>  或者 <RAM width="100"> <RAM/>
    +
    +3. 带有内容的元素
    +<Price>21000</Price>
    +
    +4. 带有内容和属性的元素
    +<Price MoneyKind="RMB">21000</Price>  # MoneyKind 为属性  21000为元素值
    +或者是
    +<NotebookComputer>
    +Style =" LX2000"
    +CPU =" PIII600"
    +RAM ="128M "
    +</NotebookComputer>
    +
    +

    所有的元素都包含在根元素中,为根元素的子元素,子元素还还可以包含子元素。

    属性

    属性是对元素及其内容的描述,用 = 隔开。属性必须包含在一对单引号或者双引号之间。

    <Movie ID="09001">   # 其中的 id 就是属性  后面的值就是属性值
    +<title>非诚勿扰</title>  # 子元素
    +<price>70</price>
    +</Movie>
    +
    +# 空元素的属性
    +<Rectangle Width="100" Height="80"/>
    +
    +# 属性的另外一种形式
    +<NotebookComputer>
    +Style =" LX2000"
    +CPU =" PIII600"
    +RAM ="128M "
    +</NotebookComputer>
    +

    每个元素中,一个属性最多出现一次,一个属性只能有一个值。

    `,19),d=a("code",null,"XML",-1),r={href:"https://zh.wikipedia.org/wiki/CSS",target:"_blank",rel:"noopener noreferrer"},k=s(`

    预定义实体表

    xml 文件中某些符号无法正常表达,比如 < 或者 >,不处理的话会导致混乱。

    所定义的实体所代表的字符
    &lt;<
    &gt;>\`\`
    &quot;"
    &apos;'
    &amp;&
    <Para1>John asked &quot;What&apos;s your name?&quot;</Para1>
    +
    +中间的结果:
    +John asked "What's your name? "
    +
    `,4);function m(g,v){const t=p("ExternalLinkIcon");return o(),l("div",null,[u,a("p",null,[n("如果属性有多个值,这需要采取 "),d,n(" 协议以外的方式来表示,如采用逗号或分号间隔,对于 "),a("a",r,[n("CSS"),c(t)]),n(" 类或标识符的名字可用空格来分隔。")]),k])}const x=e(i,[["render",m],["__file","xml-basic.html.vue"]]),M=JSON.parse('{"path":"/csl-dev-guide/xml-basic.html","title":"XML 基础","lang":"zh-CN","frontmatter":{"title":"XML 基础","date":"2022-08-01T16:23:04.000Z","updated":"2022-08-03T10:17:53.000Z","description":"XML 基础 注意 此页面正在施工中。 CSL 基于 XML(eXtensible Markup Language)。XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。 上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。 第一行为声明,...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/csl-dev-guide/xml-basic.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"XML 基础"}],["meta",{"property":"og:description","content":"XML 基础 注意 此页面正在施工中。 CSL 基于 XML(eXtensible Markup Language)。XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。 上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。 第一行为声明,..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-12-06T12:08:50.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2022-08-01T16:23:04.000Z"}],["meta",{"property":"article:modified_time","content":"2023-12-06T12:08:50.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"XML 基础\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-08-01T16:23:04.000Z\\",\\"dateModified\\":\\"2023-12-06T12:08:50.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[{"level":2,"title":"元素","slug":"元素","link":"#元素","children":[]},{"level":2,"title":"属性","slug":"属性","link":"#属性","children":[]},{"level":2,"title":"预定义实体表","slug":"预定义实体表","link":"#预定义实体表","children":[]}],"git":{"createdTime":1690031195000,"updatedTime":1701864530000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":2.41,"words":722},"filePathRelative":"csl-dev-guide/xml-basic.md","localizedDate":"2022年8月1日","autoDesc":true,"excerpt":"\\n
    \\n

    注意

    \\n

    此页面正在施工中。

    \\n
    \\n

    CSL 基于 XML(eXtensible Markup Language)XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。

    \\n
    <?xml version=\\"1.0\\" encoding=\\"utf-8\\" standalone=\\"yes\\" ?>  # 文档声明\\n\\n<!-- 这是一个注释 -->  # 注释\\n\\n<hello> # 根元素,文档的第一个元素,有且仅有一个\\n    # 子元素\\n    # 属性\\n    # 元素文本\\n</hello>\\n
    "}');export{x as comp,M as data}; diff --git a/assets/xychartDiagram-e50adddc-C1pAHL1b.js b/assets/xychartDiagram-e50adddc-C1pAHL1b.js new file mode 100644 index 0000000000..9ab94f1858 --- /dev/null +++ b/assets/xychartDiagram-e50adddc-C1pAHL1b.js @@ -0,0 +1,7 @@ +import{a_ as zt,a$ as ot,aM as wt,aL as Ft,s as Nt,g as Xt,v as Yt,x as St,a as Ht,b as $t,z as Ut,l as _t,aJ as qt,i as jt,d as Gt}from"./mermaid.core-xpSMncQK.js";import{a as Qt}from"./createText-423428c9-Bj42WdLJ.js";import{i as Kt}from"./init-Gi6I4Gst.js";import{o as Jt}from"./ordinal-Cboi1Yqb.js";import{l as ft}from"./linear-Ef4wj11i.js";import{l as pt}from"./line-CQCn-Nwe.js";import"./app-pLjDz5vt.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Zt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,E,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?E=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),E=F[W]&&F[W][D]),typeof E>"u"||!E.length||!E[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`: +`+k.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[D]||D)+"'":et="Parse error on line "+(U+1)+": Unexpected "+(D==xt?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(et,{text:k.match,token:this.terminals_[D]||D,line:k.yylineno,loc:tt,expected:j})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+D);switch(E[0]){case 1:u.push(D),b.push(k.yytext),a.push(k.yylloc),u.push(E[1]),D=null,gt=k.yyleng,x=k.yytext,U=k.yylineno,tt=k.yylloc;break;case 2:if(M=this.productions_[E[1]][1],O.$=b[b.length-M],O._$={first_line:a[a.length-(M||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(M||1)].first_column,last_column:a[a.length-1].last_column},Wt&&(O._$.range=[a[a.length-(M||1)].range[0],a[a.length-1].range[1]]),it=this.performAction.apply(O,[x,gt,U,B.yy,E[1],b,a].concat(Bt)),typeof it<"u")return it;M&&(u=u.slice(0,-1*M*2),b=b.slice(0,-1*M),a=a.slice(0,-1*M)),u.push(this.productions_[E[1]][0]),b.push(O.$),a.push(O._$),dt=F[u[u.length-2]][u[u.length-1]],u.push(dt);break;case 3:return!0}}return!0}},It=function(){var V={EOF:1,parseError:function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},setInput:function(r,l){return this.yy=l||this.yy||{},this._input=r,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},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var l=r.length,u=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var g=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),u.length-1&&(this.yylineno-=u.length-1);var b=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:u?(u.length===g.length?this.yylloc.first_column:0)+g[g.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+l+"^"},test_match:function(r,l){var u,g,b;if(this.options.backtrack_lexer&&(b={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&&(b.yylloc.range=this.yylloc.range.slice(0))),g=r[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,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(r[0].length),this.matched+=r[0],u=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var a in b)this[a]=b[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,l,u,g;this._more||(this.yytext="",this.match="");for(var b=this._currentRules(),a=0;al[0].length)){if(l=u,g=a,this.options.backtrack_lexer){if(r=this.test_match(u,b[a]),r!==!1)return r;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(r=this.test_match(l,b[g]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var l=this.next();return l||this.lex()},begin:function(l){this.conditionStack.push(l)},popState:function(){var l=this.conditionStack.length-1;return l>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},pushState:function(l){this.begin(l)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(l,u,g,b){switch(g){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";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";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;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}},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 V}();K.lexer=It;function J(){this.yy={}}return J.prototype=K,K.Parser=J,new J}();nt.parser=nt;const ti=nt;function mt(e){return e.type==="bar"}function Ct(e){return e.type==="band"}function N(e){return e.type==="linear"}class kt{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((o,c)=>Math.max(c.length,o),0)*i,height:i};const s={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const o of t){const c=Qt(n,1,o),f=c?c.width:o.length*i,d=c?c.height:i;s.width=Math.max(s.width,f),s.height=Math.max(s.height,d)}return n.remove(),s}}const yt=.7,bt=.2;class Rt{constructor(t,i,s,n){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=n,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"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){yt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(yt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=bt*t.width;this.outerPadding=Math.min(s.width/2,n);const o=s.height+this.axisConfig.labelPadding*2;this.labelTextHeight=s.height,o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=bt*t.height;this.outerPadding=Math.min(s.height/2,n);const o=s.width+this.axisConfig.labelPadding*2;o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.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(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),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){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),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){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}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():[]}}class ii extends Rt{constructor(t,i,s,n,o){super(t,n,o,i),this.categories=s,this.scale=st().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=st().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),_t.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)||this.getRange()[0]}}class ei extends Rt{constructor(t,i,s,n,o){super(t,n,o,i),this.domain=s,this.scale=ft().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=ft().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}function At(e,t,i,s){const n=new kt(s);return Ct(e)?new ii(t,i,e.categories,e.title,n):new ei(t,i,[e.min,e.max],e.title,n)}class si{constructor(t,i,s,n){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),n=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.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}]}),t}}function ni(e,t,i,s){const n=new kt(s);return new si(n,e,t,i)}class ai{constructor(t,i,s,n,o){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=n,this.plotIndex=o}getDrawableElement(){const t=this.plotData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]);let i;return this.orientation==="horizontal"?i=pt().y(s=>s[0]).x(s=>s[1])(t):i=pt().x(s=>s[0]).y(s=>s[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class oi{constructor(t,i,s,n,o,c){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=n,this.orientation=o,this.plotIndex=c}getDrawableElement(){const t=this.barData.data.map(o=>[this.xAxis.getScaleValue(o[0]),this.yAxis.getScaleValue(o[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:this.boundingRect.x,y:o[0]-n,height:s,width:o[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:o[0]-n,y:o[1],width:s,height:this.boundingRect.y+this.boundingRect.height-o[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class ri{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const n=new ai(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break;case"bar":{const n=new oi(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break}return t}}function hi(e,t,i){return new ri(e,t,i)}class li{constructor(t,i,s,n){this.chartConfig=t,this.chartData=i,this.componentStore={title:ni(t,i,s,n),plot:hi(t,i,s),xAxis:At(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},n),yAxis:At(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},n)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:o,height:c});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),n=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("bottom"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=f.height,this.componentStore.yAxis.setAxisPosition("left"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=f.width,t-=f.width,t>0&&(o+=t,t=0),i>0&&(c+=i,i=0),this.componentStore.plot.calculateSpace({width:o,height:c}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.xAxis.setRange([s,s+o]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:n+c}),this.componentStore.yAxis.setRange([n,n+c]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(d=>mt(d))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=0,c=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),f=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),d=this.componentStore.plot.calculateSpace({width:c,height:f});t-=d.width,i-=d.height,d=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=d.height,i-=d.height,this.componentStore.xAxis.setAxisPosition("left"),d=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=d.width,n=d.width,this.componentStore.yAxis.setAxisPosition("top"),d=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=d.height,o=s+d.height,t>0&&(c+=t,t=0),i>0&&(f+=i,i=0),this.componentStore.plot.calculateSpace({width:c,height:f}),this.componentStore.plot.setBoundingBoxXY({x:n,y:o}),this.componentStore.yAxis.setRange([n,n+c]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:s}),this.componentStore.xAxis.setRange([o,o+f]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:o}),this.chartData.plots.some(R=>mt(R))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}}class ci{static build(t,i,s,n){return new li(t,i,s,n).getDrawableElement()}}let X=0,Tt,Y=Pt(),H=Dt(),y=Lt(),at=H.plotColorPalette.split(",").map(e=>e.trim()),G=!1,rt=!1;function Dt(){const e=zt(),t=ot();return wt(e.xyChart,t.themeVariables.xyChart)}function Pt(){const e=ot();return wt(Ft.xyChart,e.xyChart)}function Lt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function ht(e){const t=ot();return Gt(e.trim(),t)}function ui(e){Tt=e}function gi(e){e==="horizontal"?Y.chartOrientation="horizontal":Y.chartOrientation="vertical"}function xi(e){y.xAxis.title=ht(e.text)}function vt(e,t){y.xAxis={type:"linear",title:y.xAxis.title,min:e,max:t},G=!0}function di(e){y.xAxis={type:"band",title:y.xAxis.title,categories:e.map(t=>ht(t.text))},G=!0}function fi(e){y.yAxis.title=ht(e.text)}function pi(e,t){y.yAxis={type:"linear",title:y.yAxis.title,min:e,max:t},rt=!0}function mi(e){const t=Math.min(...e),i=Math.max(...e),s=N(y.yAxis)?y.yAxis.min:1/0,n=N(y.yAxis)?y.yAxis.max:-1/0;y.yAxis={type:"linear",title:y.yAxis.title,min:Math.min(s,t),max:Math.max(n,i)}}function Et(e){let t=[];if(e.length===0)return t;if(!G){const i=N(y.xAxis)?y.xAxis.min:1/0,s=N(y.xAxis)?y.xAxis.max:-1/0;vt(Math.min(i,1),Math.max(s,e.length))}if(rt||mi(e),Ct(y.xAxis)&&(t=y.xAxis.categories.map((i,s)=>[i,e[s]])),N(y.xAxis)){const i=y.xAxis.min,s=y.xAxis.max,n=(s-i+1)/e.length,o=[];for(let c=i;c<=s;c+=n)o.push(`${c}`);t=o.map((c,f)=>[c,e[f]])}return t}function Mt(e){return at[e===0?0:e%at.length]}function yi(e,t){const i=Et(t);y.plots.push({type:"line",strokeFill:Mt(X),strokeWidth:2,data:i}),X++}function bi(e,t){const i=Et(t);y.plots.push({type:"bar",fill:Mt(X),data:i}),X++}function Ai(){if(y.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return y.title=St(),ci.build(Y,y,H,Tt)}function wi(){return H}function Si(){return Y}const _i=function(){Ut(),X=0,Y=Pt(),y=Lt(),H=Dt(),at=H.plotColorPalette.split(",").map(e=>e.trim()),G=!1,rt=!1},Ci={getDrawableElem:Ai,clear:_i,setAccTitle:Nt,getAccTitle:Xt,setDiagramTitle:Yt,getDiagramTitle:St,getAccDescription:Ht,setAccDescription:$t,setOrientation:gi,setXAxisTitle:xi,setXAxisRangeData:vt,setXAxisBand:di,setYAxisTitle:fi,setYAxisRangeData:pi,setLineData:yi,setBarData:bi,setTmpSVGG:ui,getChartThemeConfig:wi,getChartConfig:Si},ki=(e,t,i,s)=>{const n=s.db,o=n.getChartThemeConfig(),c=n.getChartConfig();function f(p){return p==="top"?"text-before-edge":"middle"}function d(p){return p==="left"?"start":p==="right"?"end":"middle"}function R(p){return`translate(${p.x}, ${p.y}) rotate(${p.rotation||0})`}_t.debug(`Rendering xychart chart +`+e);const C=qt(t),A=C.append("g").attr("class","main"),m=A.append("rect").attr("width",c.width).attr("height",c.height).attr("class","background");jt(C,c.height,c.width,!0),C.attr("viewBox",`0 0 ${c.width} ${c.height}`),m.attr("fill",o.backgroundColor),n.setTmpSVGG(C.append("g").attr("class","mermaid-tmp-group"));const T=n.getDrawableElem(),S={};function P(p){let _=A,h="";for(const[L]of p.entries()){let z=A;L>0&&S[h]&&(z=S[h]),h+=p[L],_=S[h],_||(_=S[h]=z.append("g").attr("class",p[L]))}return _}for(const p of T){if(p.data.length===0)continue;const _=P(p.groupTexts);switch(p.type){case"rect":_.selectAll("rect").data(p.data).enter().append("rect").attr("x",h=>h.x).attr("y",h=>h.y).attr("width",h=>h.width).attr("height",h=>h.height).attr("fill",h=>h.fill).attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break;case"text":_.selectAll("text").data(p.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",h=>h.fill).attr("font-size",h=>h.fontSize).attr("dominant-baseline",h=>f(h.verticalPos)).attr("text-anchor",h=>d(h.horizontalPos)).attr("transform",h=>R(h)).text(h=>h.text);break;case"path":_.selectAll("path").data(p.data).enter().append("path").attr("d",h=>h.path).attr("fill",h=>h.fill?h.fill:"none").attr("stroke",h=>h.strokeFill).attr("stroke-width",h=>h.strokeWidth);break}}},Ri={draw:ki},Bi={parser:ti,db:Ci,renderer:Ri};export{Bi as diagram}; diff --git a/assets/zotero.html-BM1g4JXr.js b/assets/zotero.html-BM1g4JXr.js new file mode 100644 index 0000000000..35befa5c51 --- /dev/null +++ b/assets/zotero.html-BM1g4JXr.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as r,a as e}from"./app-pLjDz5vt.js";const n={},a=e("h1",{id:"zotero",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#zotero"},[e("span",null,"Zotero")])],-1),i=[a];function c(p,s){return o(),r("div",null,i)}const l=t(n,[["render",c],["__file","zotero.html.vue"]]),h=JSON.parse('{"path":"/plugin-dev-guide/reference/zotero.html","title":"Zotero","lang":"zh-CN","frontmatter":{"description":"Zotero","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/plugin-dev-guide/reference/zotero.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"Zotero"}],["meta",{"property":"og:description","content":"Zotero"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-02T05:11:21.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:modified_time","content":"2024-02-02T05:11:21.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-02-02T05:11:21.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1706850681000,"updatedTime":1706850681000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0,"words":1},"filePathRelative":"plugin-dev-guide/reference/zotero.md","localizedDate":"2024年2月2日","autoDesc":true,"excerpt":"\\n"}');export{l as comp,h as data}; diff --git "a/assets/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.html-CriLXQse.js" "b/assets/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.html-CriLXQse.js" new file mode 100644 index 0000000000..50e9161033 --- /dev/null +++ "b/assets/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.html-CriLXQse.js" @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as a,c,a as e,b as t,d as i,e as o}from"./app-pLjDz5vt.js";const l="/assets/image-获取更多样式没有反应-DkqrPovF.png",d="/assets/image-zotero-禁用插件-Dy4FbIr-.png",s="/assets/image-zotero-退出账户-gkXWYw72.png",p="/assets/image-zotero-引文格式下载-Ch1rdHuq.png",u="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbQAAAC2CAMAAACGVYjLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAE1UExURezs7OXl5c3NzVFRUbu7u35+foGBgf///0RERIWFhXV1daSkpL29vd3d3V5eXomJiWFhYe7u7uvr65CQkMvLy0ZGRsbGxunp6UtLS1NTU3p6etLS0oODg66uroeHh+Pj49/f34KCgtDQ0Pf399bW1ry8vP39/X9/f+Dg4Ofn54+Pj05OTm1tbaurq6Ojo1VVVYyMjGhoaNXV1ZKSksPDw1paWuHh4bq6unx8fKampq2trdjY2LW1tZubm7i4uEdHR5+fn5aWltvb23d3d6enp01NTYiIiGRkZJiYmHR0dGVlZcjIyElJSXJycpycnLCwsFtbW2dnZ3BwcOLi4qqqqoqKis/Pz9fX19zc3Gtra5SUlI6OjldXV8DAwMfHx8XFxZGRkcLCwm9vb+rq6rOzs5OTk87OzkvwUx0AAAmySURBVHja7Z0JWxNJE8cngZUmc4VJQg4IERRF7lsFObwQEK9dl0VXdl119/t/hLererpnMgkh+IIC8/89j4RMeqqb+k91VTe7jfVt0P1qgSvDV/fvN9YQ/HDVGIMLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBLQLZHRNitnzc2vuP/AQiOa1UhqjWnfK5j/a6xpE+04FG1J3tmm4vT2mD+8PxG+n1jSaFo8tOzOyr7KbL44sl5jhSiNXO/0s7D3+OoTE6Ircn1IBj7pSTE5wCiXRTFOSHmijwLjfVXRWVhM1DuDwMwGHxVEdX+odB7XnGvNLWUsaz1worYyr+/FzO1WRIlm6Uqj9Q2GwmblmUL4Td2V8TU8B+hxM7Qgymxsp1RiUt+tLUwoyxyt5VXx0F8LFZmZmFLzM3zI+Z6omd5ZKty92bqNHvyQojKfXb045LyzlM35qjytrpamQnUI5+Xb/rLwUxFtdhfNKbKo0J8mGiyHrfJor3w+O3cf0q0PWXlKam2mFdNp4/oxkl1Y2myHBPtUN0tpr4FLNrzffnm10baNGs8FTo6HpZ0OnqaiRy1eRBerCybNNizbDkV3Xj/SNuaeCfEfLP5uE0WTbMURbPkQNpu7Ol3D+7Fbix9i8ZytK+bVBwWjb+tp1EzMc/l+br0wYexYLUg57hNk0cavwoxsmqt71F4sWhzcsbiy95ykJmV2m1rY0desqBJ2CTR5NuXb4XIZVi0UmG1/PCAb5NzqzRdrlfEVNFypTx768FhnlvqnLYtJZrNBMsehxeJVnkTpG5uLM9TDKjp5ZEQbynVlIf5WQ8dVZRZjEJJvuZdFo3ri5fPxdRflHleC/FuIlaONouWsClFm6PcuGFEq8mg+m2abgtGhJgli/L1mbV8oFquTb9xzQNEDV9T739NUWySaLV7qdMssEtR4Sj1Gy2Hnlb6kKOcaEaTb0mWXmrzTKae3yylXlWve9ffJkVL2LRDhW0j2lJYkNjxyVL4ZP9VI1k9jlXF85f0ntR7xqLNprPYV4WjxCdnEVInr4NojmXcnqjG3XwypyVs6rsi0ewTRDP246KZvtQdrtd2IycFxf5Ur363dFKkvZtoXTCttYs0qh733XgPSy2R1lG0NXOjieR4t4ufWiLNSW+xb4U6tMlpOnklRJM5pzWnxddpk5yM1lpy2omikeLDZsPyuKRy2ssXu4uB7paq00ROS5tosWJfbRuuJKvH53+XM+So/GGwOsJJ34i2utCmerRWZQRsLbmW2hGREiRsdhKNBC69zgTHc+LgOKweuWj9tKjHYj1uqR7TJlosWwlyIlcl0UJJZn3OLmul5nVamMHum3Xaws32e4+0fk7Y7CjazYW26zQxWTZjobkhGgxEk040uxe1VUutxMhRemti62EQF83siCz80bTLb5a/+WLTjgjb7CiaUXzhSWxHROy50ViiHZHNAKIpZ6p9wi/31ZS5+KAiVmYD2gScEpVXg0GiVuS9R71TGK38nNoU/T5tM7zeZLOzaFZj921JrOw2YnuPC9/uxcei9h5XCnrvMX2FCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArTjxs94cfUSIH7vIH3iu5frxa0tZy/VOPcPDjlpkcsnz4poNWtHh5Z7b1M/J1kUaD6Ejee72OKeL1nLN6ers7mxPJ9HadcI3+d31Y/NJhilULdvzKOdfKtEyuS77cT0yaHtu6kSTP3P4YztC9GyQi3whcne14+ggI/m5493OmTM6haMmJp4e6QI1tnMbIjqAyeeJi45x8tl8JuezaGQuNJ2JDDaJZ7ORsN9wAvSVaffDBr2GF9UT4aTvuH7pTP3DSymyPdIDPvsq9CPPPtLtlNN8Pv/ZUW4lX5FoDh+uKT+xhR8FiW6q/9EXEs31ZFT7Ojaolbk/yrG2niKpIWvC38jxuR7d6jfNiimMNPIo+yzDk6SUg31s3GiHr1o0fk9NQtHUbXSBnefos2r9uHmfXUuicSM1rSnRovvNnOebmZMaOqyQoy7xneqd1qopAaalDCHn6Kjh7xz2RphujPe1aGHJZkRTAlAzW1tSbZRPVWCSYBSGdmjO903n0f16QHyjbpjLkEUlkBwCD1L1Eeqc7WlfzFxnwj9GIGck5YSsl1UesrVodrNofOx0LNKU1i2icTbTs6lsoyLO1idLx0VzmkRz1EmAYb9aNL0QUKLxANV4XS99mmknG++dGml+YnrUkWInRGP/63TpczESRVoszKP7mya7KCSjSGONokjzsumsQow28vk+Iaf5zTlNedcW7XJaUjS6EtY4HrWie9mckaglp0UVSVNOU1bt8MmK5zQnhfW+rsEo+3eoHsP440hTx/XbbarHmGgsBblcT2LCUVpxmWGfWD3aRvPW6pFMqenAT+ua2mp2kqqpT1qn0cOuxHJ4ceV4VFYI36zTfJ0FdaRx8vJ5vUaXfbVUs83yy+xaOeZ+K/bngviBUMs36kct+xxL75upUshKaaT9wMUguGqzsIe/MXj1lhU40BsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNq5PTjee0GMD96+PH1eIzKDQwN3+i6IOwNDg5nL0ee1YnCi70KZGLwcfV6ruXGo74IZun0Z+rxegTZw0Q4cGLwMfV4rxk/JLQUhRLFzk2K+owh3xs/aZ8StmhBVl4ZRkF/caqHbvDZ+rUXrPcVptVvSV8X/R7S+3rP1GQ+YfJ2kqivR+F2X9KZYNKVHXSr3U0Tj+GL78rtbtUIfROvCgQXjp6KcJut9br5fCH7oedKsCyH1vDDRBvJF/SIHUuj86EA0MzvqCWngi0viUFaRsyVdd/NuGAIXJprsQo+iUKjnz1K+QLQQ6TZyo3zwQ28WKON8GfghoolqvgDRzjY9Uhk3bURTMtE1Ku5+yPRYdbkggWjdFiLyK31TbBdpP64Q6Sty8Q/Ruir5qdSWDrtVM6LRhBUGXD0/8KNK/r5C92ktzaKZxbWcCqubeTcUjavHOlePVfcCIy2xuB7Id63a9RZt/MJ2289jR+T8+sTeI/YescuPXX78Pu36/z4Nv7m+ojMk/hsRAAAAAAAAAAAAAAAAAAAAAAAAAIA2HMIFV41/rJl/jr7CD1eH8mK9YK3NvH//7KE9u729sfv441Lhz/nfd0b6h4dHb9xlfgE/GaXDjdHh4f6Rnd/n/ywsSdFmQtFeG9VINqmbZJS4AX4aLABL0U+SsWYfWbS4av9+niTZ/B0SDlwWRnZ2fJJs8vO/Hx//D104mA/0x8FWAAAAAElFTkSuQmCC",m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAT4AAABCCAMAAAD5cUoMAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFuUExURe3t7QAAAP///+Xl5d7e3tnZ2fDw8Nvb26urq62trWBgYMnJySwsLJiYmEJCQnl5eba2tru7u/Hx8dzc3N/f31JSUuDg4PLy8ufn5+Pj4+Hh4dra2t3d3f7+/vPz8+rq6uvr6/X19eTk5Pb29vT09Pf39+zs7Obm5ujo6OLi4vn5+UFBQe7u7vz8/Pv7+4SEhG1tbenp6cfHx/39/fj4+MLCwvr6+sHBwe/v79Xb6FFRUY6Ojo+Pj7e4u4uewoKl3aKy3nWb04Ci3O/0+3qTxOLo8YOs49bc6YeczrzG43Og31qH136Sw3mRxGSP2Xej32yc3oWYwmuY3WqW3LnL7tbc6Nbb6PT1+OXr82ya3VeK12mW3P7+/+Pr+MLT8Hed3qG8532e3oCl4GqX3G+b3NDb83Kf35qw5Zau5GOT27LF7GeT22WQ2p+556uwvWaU22KO2XWW3GeR2pubm7q6uqSkpNPT06qqqo2NjcDAwNOmR7IAAANvSURBVHja7ZoHU9swGIatJMVNbFmGQEhSEsgirDIKBUr33nvvvfdu/32/T7YzyABC73ol73MXJ6co3Pm595OEZKNUKhRyuWIxm80OEn119ICeeiPsiFQVi7lcoVAqGVGwCQwAAAAAAAAAAP8D4ZhttfvedByTX66IhZv3kIJw65osu1XnbtBnOtW7X1Oftkf6XCGhr+HuA32tf8/arN+ksWv1KRGNCdbIUZKuCK7UFOhjI/SKCqHYqXC+e3Ekfdqt4u5fuc107J+2fhdiy1v09a0IvteqOP/qqavqm7S5UFmMCNxYttas9X1z6JMrlNeZ+6ju0KfornmAU7W1x9/V67MtLlbuSkH1o0UtPPbp4uWLEi53lvS32lX9ltLnkjP2xIHz9On0rNZH7UpINmPUziVKsC6pxf/wOyvhxbeL9LEU4Wni2bcxfYE+6qr8sW9v2NBJ1ProF3vpPUhf10wdnj7pDWkcvF96fGuuzxvWKlOHHip51tEDH1+rY5/bbfo4g1R4FDEx2yJ9OqNRP13BqpkKX0/UQhd+UP2uAZr/N1KzzqtbBsLYmoltOSu4W36y+Ev6mq2IuV4l/HQK6VOwAAAAAAAAAFjNrt6A3UnY2DC9oQAT/jrRl9k5USj2TYWGzSX46yB9memJQrYnlBuJL+km//RXYvtkfcWbmV7IZbl+e319K7whVdVnDWAbr93YN7+4kBtcNir6ojEJfevXl5lfLBUHlyv6XGvS0vpcoQ+AhVAuPzowYBlqxtEn6u2fLeqymZemj9LxiycOH/T1GSoWJn3mPsNQUqevoo+PgmfDSGTdwoX83bpz6cyRQJ/pSCm9nXlVr0/652uIX+26LzN989ntKycDfYZrz0pDkiPZRB825RuWzZlHL77cvV7Rp490FT+p4unTo6Ht6ePPXNegqu/+6ydv3t6o6rNsft5CODOKS1jx6fmMnz5vRoG7Gn33Hj59/PndHgjpTN+1j++fv/oEfZ3pO3r26oPQywunIWRjeBtW+w8cO3/5w7lThyAEAAAAAAAAAP4128EmMEaGx5LhfCqd6I9EhuJx09xBbAMNsBfTjMeHIpH+RDqVDyfHhkeMUfZXzqfG0wltcIgcakxQwVdCcthdIj2eypfZ3qgxRf7mkmUKIBlkhUQENIHNkDpyR9ErJ+fI3tQffPuAPjcSswgAAAAASUVORK5CYII=",f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU4AAABVCAMAAAAR6/23AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGAUExURf///9LU1F9jaP39/ejo6PT09Nvd3drc4P7+/vr6+uTk5PYoAFVVVSAhJPxOUP//z//Ol///6avq/+v//5GEYeLi4tfY2srMy4LO/+7y8eu1f1+Tz/b29qtfJMLj6V97uOvs7OTl5s7//77m/6HO//f4+NeTaP/qrJHO25DG0vPz87rd5df//9/f4PdMToEhYe7v8IEhJMrm7arR2pvS3v/muP/OgyAhg67b5KXX4YLAznNqctTr8PEnAJ/M1l9jl9rb3VNTU8PExWCs6na0wuqrYcB8Z2NnbIbK1q+xtF9jf0NNWCBfrCAhYc+ELaBjh14hYYuOkX+Tmva2soC154KTz7Tc2CWDzvRHJrm7vV4hg+pJS0spLNRFR6urrNbX16B7uODw9O39zYk7PoJytWWos14hJNLT1IGBgZianfdnaPtpatDDpr57h9zo6/DKkaBjaK6qioJjl4JjaKtyatOLgevm/zpiZbI/QV8tMNe1f4fK7/7+z4w/iuf6+l97l3IXzrAAAAVtSURBVHja7d37W9pWGAfwswSEdKWAKCgoJggoaDZE8YazTAF1WDonUztrrbd2671ru1t3+df3npyQBAy6JTxPAd+vPkJyog/Px/c95+gPgZAOzm2aR44f6YPZ+OeGNI/doTn6/fC3oztHZ/C0Xa9pZPBSRkh3xB7n4UPPwyPl62EbOYkgNWJKgvl17o5L/raWvNn4ga550Dz2/E5DnrfvVfFpo2aad7vNLHle6LSs5b9Wk18zG989+ErNwe6lsWdfGPJst60vLC3eGpTlwVtimh7xzaIKuQtjMU0l6uYFh+TkCcZSeKfkEHjd0y1kJFSxEykjuPXiTAymkcRO0oMJrTzdQtqFnW6v311prTz5RMaFIvbiyiT4eq87ReS0yyk61W53C8jZDk5B43Qgp11OB3IiJ3IiJwY5kRM5MciJnMiJnMjZZs4h8ufZR+RsF2eN+PL7V3B+p320Ld4v+3uW8zyQ3Psr2opzsZKtRCuLlaVKKvXiuh858W3/jed8v3f+d3W5BSc/d7Kyko1OLS7NLacGepYztMFBtlpf8BMd59jD1ZzVfE14/WsLzpMl0FQ5Vy9x+kc/jnruAY13xuNZJ/Mej2f7dGaIkPmFmH90c2YhxgaUwOh2gJToccdx5hWtKzy5rSCESMGd6zh9lX7h9KwFZ3YqOjW1Nzu7mkoVZ004wbIKSB9iZB6e0ur0apwLMThYZycIKdHxOAyQ3VjHcXLGPDK7IMQet7gdzsZGaTFbL87J4ooJJ1TexA+xegM3csJYCahJdV25VEGl6B3Y7A2cG605H3BrITuccyv14ly+eGXCOcQ4q9DmnqEmTngs0fOefYNgiV7X2ZxcS07QJMEd65zCHKxDrDg3i+6WnPNKX5tx0upkqw9reVagXcq5Bpq2/io6WcrWi7NYHL6Ss6RWp390n9B5k409gS/lfnquBNdMxMP9tDS7k5Np2mn26BStTaU4l1Pkyma/oOVXhcV74onn3luVEzxpc1NO2ubbAbbSdyVniDW8Hc6laBRqkxbncnF1eID0av4L5zHrdDuck7BNgtqkxVnMkpvNWd/xW+dMzOnVefGqh6tz49qNkrKNp9myzrmyuTlZT5H0cHVuGTw3HphcsKOP29go0cuGtfQuZxv/BXIN59sBLS8QzTYnBjk/IWdfXyH4NIScdjlDT4OFvj6szq5udv/LccORL+K7O42casKwDxtT/mnk47hvmJMPTnjfRAxjjfFFDAe57+kncrIka+oT7+MAUesMOP1lOB8GtmSkUVLfDMcVbpYIcqqcccOB9/64yqkoUs5wE2dNK+s4/SS9Uprt4fSXOU6f+rTq/EPpcaD0l+ON35B7pxUn44Sq9t6fRk59+qzPj7l3cbWj2SRqmDt9ip/ZvHv6OBCuYXVeanESVlciqM7XylPa6GrBJtX5UZ8uuRqdKHLnwy9DP+PKfplTX3Rg7gxTRcpZn07rq76yrrP5km6YcueBpEnd3ti58xdwHAvk8uM5vcboRglOGquzcfGinL6xU5gywRZ+DXRXgJzqUgRwwOmrLzCM01++O007u1nTX46w1Ry27xE6oyb/eR/vjdX9E/xVlFR63vuGyn8YZ1ME/EpqyIlBTuRETuRETuRETuTEICdyIicGOZETOZETg5wdyymgiJ0IDZyiK4MkdpIx3CGRd4oydrutyLJ2/056d1mp4BKx3612uugqSNrdZem9jx1yMFjAG8BbSyEYlB36vY/dtDzlwvFnGEs5Lsi0OPU7nQsjGYcky3If5n8H2CRHxikYbsPPC4l0RhQdGAsRxUw6ITS8SwQFdY44MRYy4kwIJm9i0oFvCdMV4fkW77GDsRbcK2K6If8C8K4nb43qQm0AAAAASUVORK5CYII=",y="/assets/image-zotero-安装本地引文格式-Dp-uxucw.png",b={},g=e("h1",{id:"获取更多样式-打不开怎么办",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#获取更多样式-打不开怎么办"},[e("span",null,"“获取更多样式”打不开怎么办")])],-1),h=e("p",null,[t("近期许多同学在添加引文格式的时候,却发现 Zotero 内部 "),e("code",null,"获取更多样式"),t(" 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题:")],-1),E=e("figure",null,[e("img",{src:l,alt:"点击“获取更多样式”没有反应",tabindex:"0",loading:"lazy"}),e("figcaption",null,"点击“获取更多样式”没有反应")],-1),T=o('
  • 禁用插件

    这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。
    可以优先排查Zotero Style插件
    禁用插件

  • 退出 Zotero 账户。

    依次点击 编辑-设置-同步退出账户,之后重启 Zotero 该问题可解决。

    退出Zotero账户
    退出Zotero账户
  • ',2),N=e("p",null,"手动安装",-1),Z=e("br",null,null,-1),z={href:"https://www.zotero.org/styles",target:"_blank",rel:"noopener noreferrer"},R=e("code",null,"期刊",-1),x=e("code",null,"Nature",-1),P=e("br",null,null,-1),O=e("img",{src:p,alt:"选择需要的引文格式下载",loading:"lazy"},null,-1),k=o('

    此时,会进行引文格式的安装方式
    引文格式安装方式

    ① 选择OK时,Zotero 会将所选择的引文格式自动下载安装,完成后,网页右上角会有完成提醒。
    引文格式安装完成

    ② 选择Cancel时,浏览器会下载所选择的引文格式到本地,然后通过Zotero-编辑-设置-引用-样式+安装安装刚刚所下载的引文格式
    引文格式下载完成
    安装本地引文格式

    ',3);function v(V,U){const A=n("ExternalLinkIcon");return a(),c("div",null,[g,h,E,e("ol",null,[T,e("li",null,[N,e("p",null,[t("如果前两种方法都不能解决问题,可以手动安装引文样式的方法来实现引文样式的安装。"),Z,t(" 打开从"),e("a",z,[t("Zotero 样式库"),i(A)]),t("下载其他样式,搜索所需要的"),R,t("(例如"),x,t(")"),P,O]),k])])])}const q=r(b,[["render",v],["__file","“获取更多样式”打不开怎么办.html.vue"]]),K=JSON.parse('{"path":"/user-guide/faqs/%E2%80%9C%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E6%A0%B7%E5%BC%8F%E2%80%9D%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E.html","title":"“获取更多样式”打不开怎么办","lang":"zh-CN","frontmatter":{"title":"“获取更多样式”打不开怎么办","date":"2023-10-26T20:37:47.000Z","updated":"2023-10-26T20:37:47.000Z","description":"“获取更多样式”打不开怎么办 近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题: 点击“获取更多样式”没有反应点击“获取更多样式”没有反应 禁用插件 这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/%E2%80%9C%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E6%A0%B7%E5%BC%8F%E2%80%9D%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"“获取更多样式”打不开怎么办"}],["meta",{"property":"og:description","content":"“获取更多样式”打不开怎么办 近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题: 点击“获取更多样式”没有反应点击“获取更多样式”没有反应 禁用插件 这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-10-26T20:37:47.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"“获取更多样式”打不开怎么办\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-10-26T20:37:47.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1698329131000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.65,"words":495},"filePathRelative":"user-guide/faqs/“获取更多样式”打不开怎么办.md","localizedDate":"2023年10月26日","autoDesc":true,"excerpt":"\\n

    近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题:

    \\n
    点击“获取更多样式”没有反应
    \\n
      \\n
    1. \\n

      禁用插件

      \\n

      这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。
      \\n可以优先排查Zotero Style插件
      \\n

      \\n
    2. \\n
    3. \\n

      退出 Zotero 账户。

      \\n

      依次点击 编辑-设置-同步退出账户,之后重启 Zotero 该问题可解决。

      \\n
      退出Zotero账户
      \\n
    4. \\n
    5. \\n

      手动安装

      \\n

      如果前两种方法都不能解决问题,可以手动安装引文样式的方法来实现引文样式的安装。
      \\n打开从Zotero 样式库下载其他样式,搜索所需要的期刊(例如Nature
      \\n

      \\n

      此时,会进行引文格式的安装方式
      \\n

      \\n

      ① 选择OK时,Zotero 会将所选择的引文格式自动下载安装,完成后,网页右上角会有完成提醒。
      \\n

      \\n

      ② 选择Cancel时,浏览器会下载所选择的引文格式到本地,然后通过Zotero-编辑-设置-引用-样式+安装安装刚刚所下载的引文格式
      \\n
      \\n

      \\n
    6. \\n
    "}');export{q as comp,K as data}; diff --git "a/assets/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.html-BF2lnf05.js" "b/assets/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.html-BF2lnf05.js" new file mode 100644 index 0000000000..70233e7cdb --- /dev/null +++ "b/assets/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.html-BF2lnf05.js" @@ -0,0 +1 @@ +import{_ as r,a}from"./image-zotero-我同意承担风险-Uja8OZxC.js";import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c as p,a as e,b as t,d as l}from"./app-pLjDz5vt.js";const c="/assets/image-zotero-黑色遮挡-BHW1udkU.png",d="/assets/image-zotero-layers.acceleration.disabled-BRMAckgp.png",m={},h=e("h1",{id:"如何解决-zotero-中-pdf-文件图片上有黑色遮挡的问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#如何解决-zotero-中-pdf-文件图片上有黑色遮挡的问题"},[e("span",null,"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题")])],-1),u=e("p",null,"部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。",-1),_=e("figure",null,[e("img",{src:c,alt:"黑色遮挡",tabindex:"0",loading:"lazy"}),e("figcaption",null,"黑色遮挡")],-1),f={href:"https://forums.zotero.org/discussion/97306/black-shade-on-the-figures-when-opening-pdf-by-zotero-report-id-942401037",target:"_blank",rel:"noopener noreferrer"},g=e("p",null,"具体操作步骤如下:",-1),Z=e("ol",null,[e("li",null,[t("在菜单编辑选择“设置”:"),e("br"),e("img",{src:r,alt:"编辑器",loading:"lazy"})]),e("li",null,[t("弹出如下图所示的对话框。"),e("br"),t(" 点击“I accept the risk”"),e("br"),e("img",{src:a,alt:"同意承担风险",loading:"lazy"})]),e("li",null,[t("在搜索框中输入 acceleration,双击搜索到的 layers.acceleration.disabled,Value 将变为 true。然后重新启动 Zotero,即可解决问题。"),e("br"),e("img",{src:d,alt:"将 layers.acceleration.disabled 设置为 true",loading:"lazy"})])],-1);function E(y,b){const o=i("ExternalLinkIcon");return s(),p("div",null,[h,u,_,e("p",null,[t("根据 "),e("a",f,[t("Zotero 官方答复"),l(o)]),t(" ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。")]),g,Z])}const k=n(m,[["render",E],["__file","解决pdf图片上的黑色遮挡.html.vue"]]),T=JSON.parse('{"path":"/user-guide/faqs/%E8%A7%A3%E5%86%B3pdf%E5%9B%BE%E7%89%87%E4%B8%8A%E7%9A%84%E9%BB%91%E8%89%B2%E9%81%AE%E6%8C%A1.html","title":"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题","lang":"zh-CN","frontmatter":{"title":"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题","date":"2023-09-14T21:17:47.000Z","updated":"2023-09-14T16:51:54.000Z","description":"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。 黑色遮挡黑色遮挡 根据 Zotero 官方答复 ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。 具...","head":[["meta",{"property":"og:url","content":"https://zotero-chinese.com/user-guide/faqs/%E8%A7%A3%E5%86%B3pdf%E5%9B%BE%E7%89%87%E4%B8%8A%E7%9A%84%E9%BB%91%E8%89%B2%E9%81%AE%E6%8C%A1.html"}],["meta",{"property":"og:site_name","content":"Zotero 中文小组"}],["meta",{"property":"og:title","content":"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题"}],["meta",{"property":"og:description","content":"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。 黑色遮挡黑色遮挡 根据 Zotero 官方答复 ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。 具..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-02-22T10:31:26.000Z"}],["meta",{"property":"article:author","content":"Zotero Chinese"}],["meta",{"property":"article:published_time","content":"2023-09-14T21:17:47.000Z"}],["meta",{"property":"article:modified_time","content":"2024-02-22T10:31:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2023-09-14T21:17:47.000Z\\",\\"dateModified\\":\\"2024-02-22T10:31:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Zotero Chinese\\",\\"url\\":\\"https://github.com/zotero-chinese\\"}]}"]]},"headers":[],"git":{"createdTime":1695444581000,"updatedTime":1708597886000,"contributors":[{"name":"Northword","email":"44738481+northword@users.noreply.github.com","commits":2},{"name":"Chikit-L","email":"57130625+Chikit-L@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.94,"words":283},"filePathRelative":"user-guide/faqs/解决pdf图片上的黑色遮挡.md","localizedDate":"2023年9月14日","autoDesc":true,"excerpt":"\\n

    部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。

    \\n
    黑色遮挡
    \\n

    根据 Zotero 官方答复 ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。

    "}');export{k as comp,T as data}; diff --git a/code_of_conduct.html b/code_of_conduct.html new file mode 100644 index 0000000000..6015907002 --- /dev/null +++ b/code_of_conduct.html @@ -0,0 +1,40 @@ + + + + + + + + + + 贡献者公约 | Zotero 中文小组 + + + + + +
    跳至主要內容

    贡献者公约

    Zotero Chinese大约 4 分钟

    贡献者公约

    我们的承诺

    身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。

    我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。

    我们的准则

    有助于为我们的社区创造积极环境的行为例子包括但不限于:

    • 表现出对他人的同情和善意
    • 尊重不同的主张、观点和感受
    • 提出和大方接受建设性意见
    • 承担责任并向受我们错误影响的人道歉
    • 注重社区共同诉求,而非个人得失

    不当行为例子包括:

    • 使用情色化的语言或图像,及性引诱或挑逗
    • 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击
    • 公开或私下的骚扰行为
    • 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址
    • 其他有理由认定为违反职业操守的不当行为

    责任和权力

    社区领袖有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。

    社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。

    适用范围

    本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。

    代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。

    监督

    辱骂、骚扰或其他不可接受的行为可通过 ISSUE 向负责监督的社区领袖报告。
    所有投诉都将得到及时和公平的审查和调查。

    所有社区领袖都有义务尊重任何事件报告者的隐私和安全。

    处理方针

    社区领袖将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式:

    1. 纠正

    社区影响:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。

    处理意见:由社区领袖发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。

    2. 警告

    社区影响:单个或一系列违规行为。

    处理意见:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。

    3. 临时封禁

    社区影响: 严重违反社区准则,包括持续的不当行为。

    处理意见: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。

    4. 永久封禁

    社区影响:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。

    处理意见:永久禁止在社区内进行任何形式的公开互动。

    参见

    本行为准则改编自 Contributor Covenantopen in new window 2.1 版, 参见 https://www.contributor-covenant.org/version/2/1/code_of_conduct.htmlopen in new window

    社区处理方针灵感来源于 Mozilla's code of conduct enforcement ladderopen in new window

    有关本行为准则的常见问题的答案,参见 https://www.contributor-covenant.org/faqopen in new window
    其他语言翻译参见 https://www.contributor-covenant.org/translationsopen in new window

    + + + diff --git a/contributing/build.html b/contributing/build.html new file mode 100644 index 0000000000..a65522adde --- /dev/null +++ b/contributing/build.html @@ -0,0 +1,55 @@ + + + + + + + + + + 构建指南 | Zotero 中文小组 + + + + + +
    跳至主要內容

    构建指南

    Zotero Chinese大约 5 分钟

    构建指南

    项目概览

    本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。

    目前仓库地址为 https://github.com/zotero-chinese/wiki/open in new window

    以下介绍了一次完整修改所需的步骤。

    提示

    为了降低操作门槛,本指南所述操作步骤均尽可能使用了图形化界面。对于熟悉 Git 的同学,仍可使用自己喜欢的方式进行操作。

    环境配置

    所需软件安装

    本文的需要 Node.js 和 Git 安装在你的电脑上,后续步骤假定你已经安装这些程序且可以简单使用,若没有安装这些软件请跟随本小节指引完成安装。

    为了方便编辑和提交,我们还推荐安装 VS CodeGitHub Desktop 两个软件。

    安装 Git

    所有文档均使用 Git 进行版本控制。以下步骤假定

    用户已安装 git。若未安装,可以使用以下命令安装或更新 git:

    Fedora
    sudo dnf install git
    +

    安装完成后,还需设置个人信息。打开终端,运行以下命令

    (将 zotero-user<zotero-user@gmail.com> 替换成个人对应的信息):

    # 设置用户姓名和邮箱
    +$ git config --global user.name "zotero-user"
    +$ git config --global user.email "zotero-user@gmail.com"
    +
    +# 查看 ~/.gitconfig
    +$ cat ~/.gitconfig
    +[user]
    +    name = zotero-user
    +    email = zotero-user@gmail.com
    +
    Git 和 GitHub 学习资料

    以下修改文档并提交的步骤中使用了 Git 的一些常用选项,可以参考以下资料学习更多用法:

    GitHub 相关资料:

    安装 Node.js

    安装 Node. js

    安装 VS Code

    安装

    安装 GitHub Desktop

    安装 https://desktop.github.com/open in new window

    克隆和复制仓库

    1. 复制 (fork) 仓库至个人 GitHub 帐号

      点击项目主页 https://github.com/zotero-chinese/wiki/open in new window 右上角的 Fork 按钮,将该项目复刻到个人 GitHub 账户下。

      复刻仓库
      复刻仓库
      复刻仓库2
      复刻仓库2

      复制完成后,个人 GitHub 帐号下便有了 https://github.com/zotero-user/wiki/open in new window 仓库。

    2. 克隆个人 GitHub 帐号下的复刻仓库到本地(复刻仓库默认是本地克隆仓库的远程 origin)

      打开 VS Code,点击 欢迎页面克隆 Git 仓库…,在弹出窗口中选中 从 GitHub 克隆,然后选择自己账户下的 fork 仓库,确认,克隆完成后根据提示打开文件夹。

      克隆Git仓库
      克隆Git仓库
      从GitHub克隆
      从GitHub克隆
      选择仓库
      选择仓库

      提示

      如果你对 Git 或命令行不了解,可以考虑使用 GitHub 客户端open in new window 或 VS Code 提供的图形化版本控制管理器作为命令行的替代。

    安装依赖

    通过下面的命令安装依赖项。

    npm install -g pnpm
    +pnpm install
    +
    安装依赖
    安装依赖

    相关信息

    上述“环境配置”步骤只需在第一次修改代码时执行一次,一旦复制或克隆某仓库后,就无需再次复制或克隆。

    修改文档

    1. 在本地创建并切换至新分支,假定新分支名为 pr-workflow(分支名需简短、描述性且独特):

      创建新分支
      创建新分支
    2. 启动开发服务器
      使用以下命令启动开发服务器,如下图,开发服务器启动后,会给出几个本地链接,访问任一链接(通常为 Local)即可得到预览。

      pnpm run docs:dev
      +
      启动开服务器
      启动开服务器

      开发服务器会监听所有 .md 文件的修改,当有文件发生保存时,服务器会自动更新预览并刷新网页。

      开发服务器
      开发服务器
    3. 在新建分支中对文档做修改,修改过程中,可以随时在浏览器中检查修改效果

      使用 Markdown 语法编写文档,如果你不清楚本文档所用的 Markdown 语法,请参阅 Markdown 语法

    4. 提交 commit

      在左侧 " 源代码管理 " 选项卡中,输入一个简短的提交描述,点击提交,然后将修改推送到线上。

      提交修改
      提交修改
      推送修改
      推送修改

      提示

      如前所述,提交命令也可以在 GitHub Desktop 中完成。

      注意

      不建议直接在 main 分支中进行修改和提交,这可能会给你自己造成麻烦。

      仓库对 main 分支开启了推送保护,对 main 分支的修改只能通过 Pull Request 进行,无法直接 Push。

    Pull Request

    1. 提交 PR

      进入个人 GitHub 帐号下的复制仓库(即 https://github.com/你的名字/wiki/open in new window)。

      一般 GitHub 会自动提示有可提交的 PR,点击 “Compare & pull request”,输入此 PR 的标题和具体描述,

      最后点击 “Create pull request” 即可。

    2. 审核、评论以及修改 PR

      文档维护者收到 PR 后,会对代码进行审核、评论以及修改,并决定是否接受(merge)或结束该 PR。

      PR 发起后,Netlify 机器人会自动部署一个预览版本,可以在这里查看预览。

      netlify预览pr
      netlify预览pr

      提交的 PR 在接收前可能需要读者多次修改。这种情况并不要创建新 PR,只需继续本地 pr-workflow 分支中修改并提交,然后再次推送 pr-workflow 分支至远程 origin 即可,修改将自动添加到已提交的 PR 中。

      推送新的修改后,可以选择在该 PR 中留言,以通知维护者已提交新的修改。

    3. PR 被接受并合并至官方 main 分支后,则可以更新 main 分支,并删除 pr-workflow 分支

      更新main分支
      更新main分支

    其他的脚本

    pnpm run docs:build

    构建脚本,用于将 markdown 构建为网页。

    贡献者可以在提交前运行一次,查看是否有报错。

    一般情况下,图片路径错误、链接错误会导致报错。

    pnpm run lint:md

    运行 Markdown Lint。

    + + + diff --git a/contributing/contributing.html b/contributing/contributing.html new file mode 100644 index 0000000000..f6e648ebde --- /dev/null +++ b/contributing/contributing.html @@ -0,0 +1,40 @@ + + + + + + + + + + 贡献指南 | Zotero 中文小组 + + + + + +
    跳至主要內容

    贡献指南

    Zotero Chinese大约 3 分钟

    贡献指南

    Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。

    文档维护的内容和主要方式

    文档的维护与更新主要包括几个方面:

    • 修正错别字、语句不通等
    • 修正文档中的错误或不清晰的描述
    • 调整章节结构,使文档条理更清晰
    • 增加示例、专题或入门教程

    参与文档的维护的主要方式:

    1. 在 GitHub 上的文档源码仓库下 提交 ISSUEopen in new window
    2. 在 GitHub Zotero Chinese 组织的 Discussions 上讨论open in new window(也可以直接点击文档网页底部的“参与讨论”)
    3. 在网页底部评论区留言
    4. 修改文档源码并提交 Pull Request (不熟悉 Pull Request 的读者可以参考 Pull Request 流程)

    提交 / 参与议题 / 讨论

    读者可以在前述的几种途径参与讨论。

    读者需要一个 GitHub 账户才能提交发起或参与讨论。

    修改文档

    若只是对文档做简单的微调,比如修改简单的别字、语句不通或不清晰的描述等,可以直接通过 GitHub 在线修改并提交,参阅后文 简单修改

    若需要对文档做大量修改,可在经过讨论后,选择 线下修改

    文档源码开源托管在 GitHubopen in new window 上,因此读者需要一个 GitHub 账户才能提交 PR。

    简单修改

    1. 在线修改

      打开需要修改的文档网页,点击末尾左下角的 “在 GitHub 上编辑此页”,网页会自动跳转到 GitHub 编辑文档源码的页面。

      如果提示需要 fork 才能继续则点击即可。

      编辑需要修改的地方,文档风格和 Markdown 语法请参阅 文档风格指南 #Markdown 语法

    2. 提交修改

      修改完后,在下方的 “Commit changes” 中输入有关此次修改的标题和具体描述。输入一个简短的新分支名字。

      点击 “Commit changes” 提交修改。

    3. 提交 PR

      在 “Open a pull request” 页面中,输入此 PR 的标题和具体描述。点击 “Create pull request” 即可。

      PR 提交后,CI 工具会自动对提交的 PR 生成一个预览链接并评论在 PR 中,可以在此预览修改的结果。

      维护者将尽快审核这些修改。

    稍微大量修改

    例如你需要添加一篇文章,上传一些图片等,且对 Git 不甚了解,那么可以使用这种方式在线修改,这可以避免你下载很多软件。

    请参考 使用 vscode.dev 指南

    大量修改

    如果你需要做较大量修改,例如增加几篇文章,或长期贡献/维护仓库,可以采用这种方式:完全本地修改,可以在本地预览修改的效果,修改后再推送到 GitHub。

    请参考 完全构建指南

    注意事项

    • Commit 的注释信息应该是描述性的
    • 希望读者对审稿人/维护者的评论和意见保持开放的心态,并努力改进代码或文档
    • 新的 PR 不一定会及时审核,取决于审稿人/维护者的当时的工作时间
    + + + diff --git a/contributing/index.html b/contributing/index.html new file mode 100644 index 0000000000..dc510a5ba7 --- /dev/null +++ b/contributing/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Contributing | Zotero 中文小组 + + + + + + + + + diff --git a/contributing/markdown.html b/contributing/markdown.html new file mode 100644 index 0000000000..0ce7081835 --- /dev/null +++ b/contributing/markdown.html @@ -0,0 +1,168 @@ + + + + + + + + + + 文档风格指南 | Zotero 中文小组 + + + + + +
    跳至主要內容

    文档风格指南

    Zotero Chinese大约 6 分钟

    文档风格指南

    文件命名

    文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。
    由于 Windows 不区分文件名大小写,故而 option-B.mdoption-b.md 在 Windows 下会出现冲突。

    我们使用的文件的命名规则是:

    • 文件名一律采用小写字母
    • 文件名应尽量使用单词全称,避免使用各种形式的简写
    • 若文件名中含多个单词,应使用连字符 (hyphen) - 连接

    文档 Frontmatter 规范

    通过 Frontmatter 为每个 Markdown 页面引入配置。

    Frontmatter 必须在 Markdown 文件的顶部,并且被包裹在一对三短划线中间。下面是一个基本的示例:

    ---
    +title: 页面的标题
    +icon: markdown
    +author:
    +  - name: 作者1
    +    url: https://github.com/windingwind
    +  - name: 作者2
    +    url: https://northword.cn
    +  - name: 作者3
    +date: 2023-07-20 23:46:54
    +updated: 2023-07-21 18:39:41
    +---
    +
    +<!-- 这里是 Markdown 内容 -->
    +
    +...
    +

    下面是一些常用的 Frontmatter 键:

    类型必填默认值描述
    titlestring第一个一级标题页面的标题。如果你不在 Frontmatter 中设置 title ,那么页面中第一个一级标题(即 # title)的内容会被当作标题使用。
    shortTitlestring标题当前页面的短标题,会在导航栏、侧边栏和路径导航中作为首选。
    iconstring当前页面的图标
    author--见下述
    datastring文件的创建日期文档的创建日期
    updatestring文件的更新日期该值其实无用,页面显示的最后更新时间是 Git 提交时间

    `author` 详解

    author 由一组 author.nameauthor.url / author.email 组成,其中 urlemail 都是可选的。

    尤其需要注意的是缩进,name 前空二格,加一个短横线 -,空一格。urlemailname 保持对齐,不需要加 -

    更多的 Frontmatter 可以参考框架的文档

    文档语法风格

    所有教程均采用 Markdown 语言编写,下面列出了一些本文档中可能用到的语法和注意事项。

    标题

    # 一级标题
    +
    +## 二级标题
    +
    +### 三级标题
    +
    +#### 四级标题
    +

    提示

    一级标题是文档名,对应页面标题。一篇文档应有且只有一个一级标题

    • 文档内容从二级标题开始。
    • 文档中标题级别应逐级递增,例如:二级标题内应跟随三级标题,而不能越过三级标题直接使用四级标题
    • 标题不应含有特殊字符:如 latex 公式,代码块,数字编号等,不应以标点符号结尾
    • 标题前后空一行。

    正文文本

    正文段落 1
    +(空行)
    +正文段落 2
    +

    提示

    • 中文字符与英文字符和数字之间应加上空格,如 中文 ABC 中文 而非 中文ABC中文
      中文 123 中文 而非 中文123中文
    • 标点符号采用全角,如
      标点符号与中文字符、英文字符以及数字之间不需加空格
    • 大小写应正确,如:Zotero 不是 zoteroGitHub 不是 github
    • 正文中部分专有词和特殊符号,可以放入 行内代码 来表示,美观且不容易发生错误,例如:
      操作步骤:编辑 - 设置 - 引用

    文字样式

    这是一段文本,
    +**用两对星号包裹的内容会被加粗**,
    +而*只用一对星号(或下划线)包裹的内容会显示为斜体*,
    +用~~两对波浪线包裹的内容会显示为删除~~,
    +上下标:19^th^ H~2~O,
    +你可以标记 ==重要的内容== 。
    +

    预览:
    这是一段文本,
    用两对星号包裹的内容会被加粗
    只用一对星号(或下划线)包裹的内容会显示为斜体
    两对波浪线包裹的内容会显示为删除
    上下标:19th H2O,
    你可以标记 重要的内容

    徽章 推荐

    可以通过徽章来标记文档阅读难度、推荐等。语法是将类型放入一对 _ (斜体)中。可以在正文和标题中使用,但是不能在一级标题(页面标题)中使用。

    _初级_
    +_中级_
    +_高级_
    +_推荐_
    +
    +通过 DOI 更新元数据 _初级_ 。
    +

    初级
    中级
    高级
    推荐

    通过 DOI 更新元数据 初级

    无序列表和有序列表

    #### 无序列表
    +
    +- item 1
    +  - 更多的列表项
    +  - 更多的列表项
    +  - 更多的列表项
    +- item 2
    +- item 3
    +
    +#### 有序列表
    +
    +1. item 1
    +2. item 2
    +3. item 3
    +

    链接

    [相对路径访问主页](../README.md)
    +
    +[相对路径访问贡献指南](./contributing.md)
    +

    图片

    ![图片描述](../.vuepress/public/assets/icon/chrome-192.png)
    +

    提示

    所有的图片资源都应放入 src/assets 内,尽量以通俗的方式描述图片内容。

    注意

    我们不使用 HTML 语法 <img> 标签来引入图片,请使用标准的 Markdown 语法。

    视频

    一个 B 站视频:
    +
    +<BiliBili bvid="BV1kt411o7C3" />
    +
    +一个自定义空降地址的 B 站视频:
    +
    +<BiliBili aid="34304064" cid="109293122" ratio="9:16" time="60" page="2" />
    +

    提示

    受限于存储空间,文档不支持插入本地视频,引入视频请上传 bilibili,然后以以上语法引入视频。

    表格

    使用 GitHub 风格表格:

    |     居中      |         右对齐 | 左对齐         |
    +| :-----------: | -------------: | :------------- |
    +| 居中使用`:-:` | 右对齐使用`-:` | 左对齐使用`:-` |
    +|       b       |      aaaaaaaaa | aaaa           |
    +|       c       |           aaaa | a              |
    +

    提示

    第二行表示对其方式的 : 不是必须的,当没有时,会默认为居左。

    代码

    行内代码

    行内代码效果: `code`
    +

    行内代码效果: code

    块级代码

    ```js
    +var foo = function (bar) {
    +  return bar++;
    +};
    +
    +console.log(foo(5));
    +```
    +

    三个反引号后跟随代码块语言:mdjsplain(纯文本) 等。

    预览:

    var foo = function (bar) {
    +  return bar++;
    +};
    +
    +console.log(foo(5));
    +

    告示块

    提示

    ::: tip
    +
    +这是一个提示
    +
    +:::
    +

    提示

    这是一个提示

    备注

    ::: note
    +
    +这是一个备注
    +
    +:::
    +

    这是一个备注

    注意

    ::: warning
    +
    +这是一个注意
    +
    +:::
    +

    注意

    这是一个注意

    警告

    ::: caution
    +
    +这是一个警告
    +
    +:::
    +

    警告

    这是一个警告

    详情

    ::: details
    +
    +这是一个折叠可见内容
    +
    +:::
    +
    详情

    这是一个折叠可见内容

    自定义标题

    自定义标题

    通过在 tipwarningcautiondetails 后添加文字,可以自定义块标题,例如:

    ::: tip 自定义标题
    +
    +通过在 `tip``warning``caution``details` 后添加文字
    +
    +:::
    +

    嵌套显示

    支持两级嵌套,第一级的标志使用四个冒号::::,例如:

    :::: details 嵌套显示
    +
    +::: tip
    +
    +这是第二级提示。
    +
    +:::
    +
    +::::
    +
    嵌套显示

    提示

    这是第二级提示。

    脚注

    脚注内容就近放置,以方便阅读源文本。

    这是一段文本[^1]
    +
    +[^1]: 这是一个脚注
    +

    这是一段文本[1]

    引用

    这是一段正文文本
    +
    +> 这是一段引用文本
    +
    +这是另一段正文文本
    +

    这是一段正文文本

    这是一段引用文本

    这是另一段正文文本

    提示

    除上述文字样式外,不使用 html 语法改变文字样式,仅在特殊情况下使用 html 语法增添文档的趣味性。


    1. 这是一个脚注 ↩︎

    + + + diff --git a/contributing/vscode-dev.html b/contributing/vscode-dev.html new file mode 100644 index 0000000000..7e417aa47b --- /dev/null +++ b/contributing/vscode-dev.html @@ -0,0 +1,40 @@ + + + + + + + + + + 通过 VSCode.dev 网站在线更改本文档 | Zotero 中文小组 + + + + + +
    跳至主要內容

    通过 VSCode.dev 网站在线更改本文档

    Zotero Chinese大约 2 分钟

    通过 VSCode.dev 网站在线更改本文档

    1. 打开 https://vscode.dev/github/zotero-chinese/wikiopen in new window

    2. 等待页面加载完成

    3. 根据提示登录 GitHub 账号

      根据提示登录 GitHub 账号
      根据提示登录 GitHub 账号
    4. 根据提示安装推荐的插件

      安装插件
      安装插件
    5. 新建分支
      切换到 源代码管理窗格,依次选择··· 按钮——分支——创建分支,输入分支名,并按回车确认。创建完成后根据提示切换到新分支。

      新建分支
      新建分支
      输入新分支的名字
      输入新分支的名字
      切换到新分支
      切换到新分支

      为什么要创建新分支?

      严格地说,所有的修改都应在新分支进行,这有利于 Git 的管理。

      具体的,如果要同时修改多个内容,某一部分内容被合并,但另一部分内容仍在修改,这时候只在主分支修改显然是不够用的。

      此外,主仓库对 PR 采取 splash and merge 策略,这会把某一分支的所有提交压缩为一个提交然后合入主分支,这有利于保持仓库提交历史的简洁和线性关系,fork 仓库全部在主分支修改时,将无法自动保持与主仓库的提交历史同步,而使用新分支修改就没有这些烦恼。

    6. 进行对应的修改

      进行对应的修改
      进行对应的修改

      上传文件

      图片可以通过在 src/assets/ 文件夹右击,点击 上传 来上传到仓库。

      也可以直接 ctrl+v 粘贴图片。

      文档风格和语法

      文档的写作风格和语法等请参阅 文档风格指南 #Markdown 语法

    7. 提交并推送

      提交并推送
      提交并推送
    8. 发起 Pull Request

    9. 等待社区管理员审核合并

    PR 发起后,机器人会自动检查 PR 内容是否符合规范,也会部署一个预览版本,可以在这里查看预览。

    netlify预览pr
    netlify预览pr

    哪些情况会导致检查错误?

    仓库的自动检查包含格式检查和构建检查。格式上,仓库使用 Markdown Lint 作为规范,如果你使用 VS Code 且安装了推荐的插件,那么通常 Lint 检查是可以通过的。

    构建检查失败最可能的原因就是图片、链接等错误,如图片等目录级别错误、大小写错误、相对链接不存在等。

    如何更新 PR?

    已经发起的 PR,可以直接在这个 PR 对应的分支上继续提交新的内容以更新这个 PR。

    + + + diff --git a/contributors.html b/contributors.html new file mode 100644 index 0000000000..00f780defd --- /dev/null +++ b/contributors.html @@ -0,0 +1,40 @@ + + + + + + + + + + 贡献者名单 | Zotero 中文小组 + + + + + +
    跳至主要內容

    贡献者名单

    Zotero Chinese小于 1 分钟

    贡献者名单

    本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。

    Zotero 中文文档贡献者

    以下是 zotero-chinese/wikiopen in new window 仓库的贡献者们:

    Zotero 中文文档贡献者open in new window
    Zotero 中文文档贡献者

    Zotero 中文插件商店贡献者

    以下是 zotero-chinese/zotero-pluginsopen in new window 仓库的贡献者们:

    Zotero 中文插件商店贡献者open in new window
    Zotero 中文插件商店贡献者

    Zotero 中文 translator 贡献者

    以下是 l0o0/translators_CNopen in new window 仓库的贡献者们:

    Zotero 中文 translator 贡献者open in new window
    Zotero 中文 translator 贡献者

    CSL 中文仓库贡献者

    以下是 redleafnew/Chinese-STD-GB-T-7714-related-cslopen in new window 仓库的贡献者们:

    CSL 中文仓库贡献者open in new window
    CSL 中文仓库贡献者
    + + + diff --git a/csl-dev-guide/glossary.html b/csl-dev-guide/glossary.html new file mode 100644 index 0000000000..8e617ee2df --- /dev/null +++ b/csl-dev-guide/glossary.html @@ -0,0 +1,40 @@ + + + + + + + + + + 术语对照表 | Zotero 中文小组 + + + + + +
    跳至主要內容

    术语对照表

    jiaojiaodubai大约 2 分钟

    术语对照表

    以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。

    引注(citation)

    在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组成的简短文本。

    参考文献表(bibliography)

    国标中称为“参考文献表”,亦有部分文献称之为“书目”,是集中展示被引文献详情的列表,可能位于章节末尾、全文末尾、每一页的页脚。

    引用格式(citation format)

    对于“如何在文章中标示参考文献”的规范标准,特指一整个标准体系,如 GB/T 7714-2015,而不是诸如是“作者名需要大写”这样的具体规定。

    条目(item)

    即 Zotero 中的“条目”,指对文献的相关信息的记录,条目中通常含有那些用于分类、引用的信息,并非指文献的内容本身。

    参考文献条目(bibliographic entry)

    参考文献表的组成单位,即参考文献表中的项目,除了 numeric 复合风格之外,一个参考文献条目往往对应一篇被引用的文献。

    风格(style)

    对一些相似的引用格式的统称,如 in-text 风格、note 风格等。

    样式(style)

    特指 CSL 的 style 文件及其代码,是对引用格式的代码实现。注意区别于 Microsoft Word 中的“样式”,在 Microsoft Word 中,“样式”是指若干具体格式的集合。

    术语(term)

    locale file 有关的语境里,“术语”指那些出现在引文或参考文献条目中用于串起相关信息的固定短语,如“xx”、“xx”、“载于xx”中的术语就分别连接着著作人、编者、出版物来源的信息。

    翻译(translation)

    locale file 有关的语境里,“翻译”特指术语(term)在不同语言中的翻译。

    + + + diff --git a/csl-dev-guide/index.html b/csl-dev-guide/index.html new file mode 100644 index 0000000000..4204a600ae --- /dev/null +++ b/csl-dev-guide/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + CSL 中文文档 | Zotero 中文小组 + + + + + +
    跳至主要內容

    CSL 中文文档

    Zotero Chinese大约 2 分钟

    CSL 中文文档

    注意

    此页面正在施工中。

    CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。

    Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。$\LaTeX$ 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 $\LaTeX$ 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 $\LaTeX$ 同样漂亮的引用和参考文献目录。

    由 CSL 编写的 style 定义了引用和参考文献目录的格式。Zotero 就是通过 style 来生成指定格式的引用和参考文献目录。据统计,现在已经有超过 9000 个 style,覆盖了大多数的常见的 SCI 期刊。在 Zotero 中能很容易检索到对应期刊的 style。但是即使有这么多的 style,仍然有可能有的期刊没有对应的 style。此外,有的 style 年代久远,已经不符合期刊 author guideline 中的要求,因此,我们需要学习 CSL 来定制需要的 style,至少能在已有的 style 上修改来满足期刊的要求。但是遗憾的是,国内 CSL 的资料几乎没有。

    本项目是对 CSL 英文文档open in new window 的翻译。本人能力有限,理解和翻译有误处请大家谅解,同时欢迎 issue 和 pull。

    本文档基于 Welcome to CSL-chinese’s documentation! — CSL-chinese documentationopen in new window 修改。

    警告

    文档中,凡标注 Work in progress 的均为正在施工的页面,无法确保与现有英文文档相一致,无法确保译文修改前后的一致性、准确性,请酌情阅读。

    + + + diff --git a/csl-dev-guide/primer.html b/csl-dev-guide/primer.html new file mode 100644 index 0000000000..6617734ab6 --- /dev/null +++ b/csl-dev-guide/primer.html @@ -0,0 +1,259 @@ + + + + + + + + + + CSL 介绍 | Zotero 中文小组 + + + + + +
    跳至主要內容

    CSL 介绍

    Zotero Chinese大约 25 分钟

    CSL 介绍

    前言

    本节是对 Citation Style Languageopen in new window(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 CSL 规范

    什么是 CSL

    如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研究联系到一起。但是,手动设置引注格式和参考文献表非常耗时,尤其是当你面对的期刊都有他们自己的引用格式的时候。

    好在参考文献管理软件可以解决这样的问题。像 Zotero、Mendeley、Papers 等软件不仅能帮助你管理研究资料,而且可以自动生成引注和参考文献表。但要想设置特定的引用格式,这些程序需要使用一种可被计算机理解的语言来描述各种引用格式,也许你已经猜到,这种语言就是 Citation Style Language(CSL)。

    引用格式

    世界上有成百上千种不同的引用格式。

    (GB/T 7714-2015)

    在中国,最常见的引用格式是国家标准《信息与文献 参考文献著录规则open in new window》,最新的标准号是 (GB/T 7714-2015)

    可幸的是,绝大多数引用格式都属于几个基本类别,CSL 将引用格式分为以下类型:

    In-text 风格

    引用格式可以分为两个主要的类型。第一种类型就是 in-text 风格,在这种风格中,一个引注直接指向参考文献表中的一个或者多个条目。CSL 继续将这种风格细分为 author-dateauthornumericlabel 风格。

    每个引注都指向一个或者多个参考文献条目。在 CSL 中,每个独立的指向关系称为一个引用。例如,引注 (Doe et al. 2002, Smith 1997) 包含两个引用:一个是 Doe et al. 在 2002 年发表的文献,另一个是 Smith 于 1997 年发表的文献。在 CSL 的语境中,参考文献表中的条目有时也称为参考文献。

    author-date 和 author 风格

    author-date 风格的引用会显示作者名字和发表的日期,例如:(Van der Klei et al. 1991; Zwart et al. 1983)。而 author 风格的引用只显示作者名字,例如:(Gidijala et al.)。参考文献条目一般使用字母表顺序对作者进行排序。

    著者-出版年制

    国标中的“著者-出版年制”就属于 author-date 风格。

    应该注意的是,即使这些风格中的大多数与哈佛大学并没有联系,许多风格指南仍使用了令人疑惑的术语“Harvard”来指代”author-date 格式。而且,并不存在一个所谓的官方 Harvard 格式。

    参考文献条目实例

    Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    numeric 风格

    numeric 风格的引用由数字组成,比如 [1,2][3]。参考文献条目一般按照作者首字母或者首次引用的次序来进行排序。

    顺序编码制

    国标中的“顺序编码制”就属于 numeric 风格。

    参考文献条目实例

    1. Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    2. Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    3. van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    numeric 复合风格

    复合风格是 numeric 风格的变体。这种风格在化学领域很流行,参考文献条目可能会包含多个参考文献。一旦某个引注定义了一个这样的参考文献条目(如 [2]),就可以单独引用条目中的项目(如 [2b])。

    注意

    CSL 尚未支持这种格式。

    参考文献条目实例

    1. Gidijala L, et al. (2008) BMC Biotechnol 8: 29.

    2. a) Zwart KB, et al. (1983) Antonie van Leeuwenhoek 49: 369-385, b) van der Klei IJ, et al. (1991) Arch Microbiol 156: 15-23.

    Label 风格

    Label 风格的引注由简短的构成,例如 [GBKv2008][ZwVH1983; vaHV1991]。这些键也出现在参考文献条目中。因为目前不支持(特定风格的)自定义键格式,CSL 对这种格式支持有限。

    键(key)

    “键”在计算机领域具有丰富的含义,在这里,它是指一串代表被引文献的字符。

    参考文献条目实例

    [GBKv2008] Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    [vaHV1991] van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    [ZwVH1983] Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    Note 风格

    引用格式的第二类为 note 风格。这种风格中,引用文献时会在句子中插入一个标记,这个标记可以是数字或者符号,例如 [*][†]。每个标记都指向脚注或者尾注。CSL 不限制采用哪些数字格式或者符号作为标记,这些应该留交文字处理软件来完成。与前面的 in-text 风格的引注不同,尾注或脚注通常包含辨识引用文献所需的所有信息。有些 note 风格还包含一个参考文献表以显示所有被引文献的概貌,并对文献作更详细的描述。

    字处理软件

    字处理软件,即用于将文字格式化和排版的办公软件,如 Microsoft Word,国内常见的 WPS 就是“文字处理软件(Word Process Software)”的英文缩写。

    参考文献条目实例

    [*] Voyage to St. Kilda’ (3rd edit. 1753), p. 37.

    [†] Sir J. E. Tennent, ‘Ceylon,’ vol. ii. 1859, p. 107.

    CSL 生态

    要明白 CSL 是怎么运作的,首先来看看 CSL 生态系统的各个部分。

    csl-infrastructure
    csl-infrastructure

    图注

    “Style”指的是 CSL 样式,“Item Metadata”指的是每篇参考文献的作者,题目等信息,“Locale Files”是为实现与语言无关(指英语、汉语等)的格式的本地化文件,“Citation Details”指的是影响引注信息或参考文献表表现的细节,比如顺序、位置等。

    独立样式和从属样式

    CSL 世界中的一切都是围绕样式展开的,但是并不是所有的样式都是相似的。主要包括两种样式:独立样式(independent styles)和从属样(dependent styles)。

    独立样式有 2 个职责,首先,需要先定义一种引用格式。具体格式是什么样的,是 author-date 风格还是 note 风格? 引用是按字母排序还是按日期排序?参考文献条目中是不是包含 DOI?使用什么标点符号以及大小写?文献发表年限在文献标题之前还是之后?等等。其次,CSL 样式必须描述它本身,我们称这个自我描述的信息为样式元数据。元数据中可以包括该 CSL 样式对应的期刊标题,以及该期刊的网站,该 CSL 样式的创建者等。

    从属样式则仅包括样式元数据。从属样式仅需引用一个独立样式 (其“父样式”),且应用父样式的引用格式,而无需提供对引用格式的定义。

    当多个 CSL 样式共享相同的引用格式时,从属格式非常有用。以一个出版社旗下的不同期刊为例,如果限制只能使用独立样式,则虽然他们的引用格式都是相同的,但每个期刊的 CSL 样式都要包含对引用格式的完整定义。这会产生大量难以维护的 CSL 样式。如果出版社对它的引用格式作了一点小改动,我们将不得不更新每一个独立样式。

    从属样式正是用来解决这些问题的。例如,《Nature》、《Nature Biotechnology》和 《Nature Chemistry》期刊都使用同样的引用格式。那么,只需为《Nature Biotechnology》和《Nature Chemistry》都创建指向《Nature》的从属样式即可。这样一来,如果 Nature 出版集团想修改《Nature》及其关联期刊的引用格式,只需更改《Nature》 CSL 样式中的引用格式,而无需触及其从属样式。

    本地化文件

    事实上,大多数独立格式并不是完全独立的。

    以下面的参考文献为例:

    Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (1999, September 28). Method and system for placing a purchase order via a communications network. Retrieved from https://www.google.com/patents/US5960411open in new window

    你可以在独立样式中将各种特定语言的信息强行编码到样式中来描述这个引用格式。例如,在最后的链接前加上 Retrieved from 这段文本,或者采用 YYYY, Month DD 作为日期的格式。但是这样的样式只能在美式英语中使用,如果使你想要这个引用格式的德语版,就必须修改样式中所有对应的翻译和日期格式。

    幸运的是,独立样式可以依据 CSL locale file(以下也翻译为“本地化文件”)来实现通用术语的翻译以及日期格式和语法的转换。例如:我们可以重写 CSL 样式以便使用 retrievedfrom 的 CSL 术语,并使用本地化的日期格式。如果我们将 CSL 样式的区域设置为美式英语,该样式将从美式英语的本地化文件检索术语的译文和本地化的日期格式,并生成上述引用。但如果将样式区域从英语切换至德语,就会使用德语对应的本地化文件,生成的引用如下:

    Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (28. September 1999). Method and system for placing a purchase order via a communications network. Abgerufen von https://www.google.com/patents/US5960411open in new window

    因此,通过本地化文件,可以编写与语言无关的 CSL 样式。正如上面所展示的那样,这样的样式可以在不同的语言中轻松切换。但是语言是很复杂的,对于那些已经有本地化文件的语言,CSL 的自动本地化并不能支持所有语言的特性。不过,如果你要自己修改一个 CSL 样式使其满足你所选的语言,语言无关的样式仍然是有意义的。

    本地化文件还带来一个好处,我们只需要为每种语言定义一次通用的翻译、日期格式和语法。这样可以保证样式紧凑,并使本地化文件更易于维护。由于给定语言的引用格式并不总是采用某种翻译和日期格式,CSL 样式也可以选择性的重写任何在本地化文件中定义过的数据。

    条目元数据

    接下来就是你所要引用的条目在参考文献表中的具体内容:条目元数据。

    例如,一篇期刊文章的参考文献条目可能会显示作者的名字、发表的年份、文章标题、期刊名称、卷和期、出现的页码范围以及 DOI,所有这些信息都有助于读者识别和查找这篇文章。

    参考文献管理软件使创建条目的文库变得简单。虽然许多参考文献管理软件都有它们自己存储条目元数据的方式,但大多数都支持例如 BixTex 和 RIS 这样通用的参考文献数据交换格式。citeproc-js CSL 处理器引入了一种基于 JSON 的格式,这种格式以 citeproc-js 可以理解的方式来存储元数据。一些其他的 CSL 处理器也已经开始采用这种 CSL JSON 格式(又名 citeproc JSON)。

    引用细节

    对于一种给定的引用格式,引注和参考文献表的展现方式不仅取决于被引用条目的元数据,还取决于这些条目被引用处的上下文。我们将这类特定于上下文的信息称为引用细节

    例如,条目的引用顺序会影响他们在参考文献表中的位置。在 Note 风格中,之前已被引用的条目在被继续引用时会写为更紧凑的形式。另一个例子是定位词,其引导读者到被引工作的特定位置,比方说章节中某个参数被提出的页码,例如 (Doe 2000, pp.43-44)

    CSL 处理器

    有了 CSL 样式、locale file、元数据和引用细节,我们现在需要一个软件来解析这些信息,并以正确的格式生成引注和参考文献表条目,那就是 CSL 处理器。

    大多数的参考文献管理软件使用的是像 citeproc-js 这样免费开源的 CSL 处理器。

    理解 CSL 样式

    到现在为止,我们已经了解了什么是 CSL、怎么使用它、以及它是如何运作的。接下来我们将深入到 CSL 样式文件内部,分析它的 XML 代码。

    《XML 基础》一章中简单介绍了 XML,看完后可以读懂并编辑简单的 XML 文件。如果想深入了解 XML,可以在网上查找 XML 教程。

    从属样式解析

    正如前文所述,从属样式比相对的独立样式更紧凑,因为它们并未真正地定义一个引用格式。此外,从属样式还非常常见,并且它们的样式元数据和独立样式中的相似,因此对学习 CSL 而言是一个好的出发点。我们将进一步逐行观察下面这个 CSL 从属样式文件:

    <?xml version="1.0" encoding="utf-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
    +  <!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/asm -->
    +  <info>
    +    <title>Applied and Environmental Microbiology</title>
    +    <id>http://www.zotero.org/styles/applied-and-environmental-microbiology</id>
    +    <link href="http://www.zotero.org/styles/applied-and-environmental-microbiology" rel="self"/>
    +    <link href="http://www.zotero.org/styles/american-society-for-microbiology" rel="independent-parent"/>
    +    <link href="http://aem.asm.org/" rel="documentation"/>
    +    <category citation-format="numeric"/>
    +    <category field="biology"/>
    +    <issn>0099-2240</issn>
    +    <eissn>1098-5336</eissn>
    +    <updated>2014-04-30T03:45:36+00:00</updated>
    +    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +  </info>
    +</style>
    +
    <?xml version="1.0" encoding="utf-8"?>
    +

    XML 格式声明。

    <style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
    +    ...
    +</style>
    +

    cs:style 根元素的起始标签和结束标签。xmlns 属性指定 style 中的所有元素都是 CSL 的一部分,而 version 则表明了 CSL 版本的兼容性。defaults-locale 告诉样式才有特定的语言来生成引注和参考文献表(美式英语)。

    提示

    xmlns 是 XML name space 的缩写,“name space”一般译为命名空间,即一些名称的集合。XML 标记语言允许创建者自定义各种标签和属性的名称,同一个名称在不同场合可能有不同的含义,因此有必要向读者交代这些名称的定义。虽然可以通过在 XML 中书写注释来阐述这些名称,但为了方便起见,一般在一个网页给出这一系列名称的定义和说明,并通过 xmlns 属性链接到 XML 文件中,基于 XML 的 CSL Style 也不例外。

    本文用 cs:style 特指 CSL 命名空间中的 style 元素(因为我们可能会引入其他命名空间),实际书写代码时并不需要写成 <cs:style>...</cs:style>

     <!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/asm -->
    +

    大多数从属格式都是电子表格自动生成的。这个 XML 注释明确地指出这个样式已经被生成,并包含了一个指向电子表格的链接。

    <info>
    +  ...
    +</info>
    +

    cs:info 小节用于存储样式的大部分元数据。

    <title>Applied and Environmental Microbiology</title>
    +

    样式的标题(通常也是该样式所适用的期刊的名称)。

    <id>http://www.zotero.org/styles/applied-and-environmental-microbiology</id>
    +

    样式的 ID,是文献管理软件用来区分不同样式的标志。

    <link href="http://www.zotero.org/styles/applied-and-environmental-microbiology" rel="self"/>
    +

    样式自身的链接。该链接指向了网上的副本。简便起见,对于我们代码仓库中的样式,我们采用相同的 URL 作为样式 ID 和自身链接。

    <link href="http://www.zotero.org/styles/american-society-for-microbiology" rel="independent-parent"/>
    +

    从属样式需要链接到一个独立的父样式,父样式为的引用格式将会应用到这个从属样式中。此处,我们使用 American Society for Microbiology 的样式作为父样式。

    <link href="http://aem.asm.org/" rel="documentation"/>
    +

    如果每一个样式的意图都是清晰的,那维护起一大堆 CSL 样式将更方便。因此我们要求我们的代码仓库中的样式都必须至少包含一个“说明文档”的链接。在本例中,该链接指向期刊主页。

    <category citation-format="numeric"/>
    +<category field="biology"/>
    +

    为了便于对我们的样式进行分类,我们用 cs:category 元素的 citation-format 属性中指定引用格式。出于同样的目的,我们使用 field 属性为每个样式文件分配一个或多个研究领域。

    <issn>0099-2240</issn>
    +<eissn>1098-5336</eissn>
    +

    当为某个期刊创建样式时,可以在 cs:issn 元素和 cs:eissn 元素中保存其印刷品的 ISSN(国际标准连续出版物号)和电子版的 ESSIN(电子国际标准连续出版物号)。

    <updated>2014-04-30T03:45:36+00:00</updated>
    +

    updated 的内容是一个时间戳,指明样式最后一次更新的时间。

    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +

    本文最后一个介绍,但不一定是样式的 cs:info 中的最后一个元素,表示这个样式在哪一个版权协议下发布。

    独立样式解析

    最后是一个真正的独立样式,它确切地定义了引用格式(虽然并不是一个实用的样式)。我们代码仓库中的大多数独立样式都比下面这个简化过的例子还要大很多。但我们下面这个 author-date 样式仍然是一个有效的样式,并且具有与其他独立样式相同的整体结构。

    <?xml version="1.0" encoding="utf-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">
    +  <info>
    +    <title>Example Style</title>
    +    <id>http://www.zotero.org/styles/example</id>
    +    <link href="http://www.zotero.org/styles/example" rel="self"/>
    +    <link href="http://www.zotero.org/styles/apa" rel="template"/>
    +    <link href="http://www.example.com/style-guide/" rel="documentation"/>
    +    <author>
    +      <name>John Doe</name>
    +      <email>JohnDoe@example.com</email>
    +    </author>
    +    <contributor>
    +      <name>Jane Doe</name>
    +    </contributor>
    +    <contributor>
    +      <name>Bill Johnson</name>
    +    </contributor>
    +    <category citation-format="author-date"/>
    +    <category field="science">
    +    <updated>2014-10-15T18:17:09+00:00</updated>
    +    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +  </info>
    +  <locale xml:lang="en">
    +    <terms>
    +      <term name="no date">without date</term>
    +    </terms>
    +  </locale>
    +  <macro name="author">
    +    <names variable="author">
    +      <name initialize-with="."/>
    +    </names>
    +  </macro>
    +  <macro name="issued-year">
    +    <choose>
    +      <if variable="issued">
    +        <date variable="issued">
    +          <date-part name="year"/>
    +        </date>
    +      </if>
    +      <else>
    +        <text term="no date"/>
    +      </else>
    +    </choose>
    +  </macro>
    +  <citation et-al-min="3" et-al-use-first="1">
    +    <sort>
    +      <key macro="author"/>
    +      <key macro="issued-year"/>
    +    </sort>
    +    <layout prefix="(" suffix=")" delimiter="; ">
    +      <group delimiter=", ">
    +        <text macro="author"/>
    +        <text macro="issued-year"/>
    +      </group>
    +    </layout>
    +  </citation>
    +  <bibliography>
    +    <sort>
    +      <key macro="author"/>
    +      <key macro="issued-year"/>
    +      <key variable="title"/>
    +    </sort>
    +    <layout suffix="." delimiter=", ">
    +      <group delimiter=". ">
    +        <text macro="author"/>
    +        <text macro="issued-year"/>
    +        <text variable="title"/>
    +        <text variable="container-title"/>
    +      </group>
    +      <group>
    +        <text variable="volume"/>
    +        <text variable="issue" prefix="(" suffix=")"/>
    +      </group>
    +      <text variable="page"/>
    +    </layout>
    +  </bibliography>
    +</style>
    +

    样式结构

    要理解上面的样式,首先看一下根元素 cs:style 的子元素。

    <?xml version="1.0" encoding="utf-8"?>
    +<style>
    +  <info/>
    +  <locale/>
    +  <macro/>
    +  <macro/>
    +  <citation/>
    +  <bibliography/>
    +</style>
    +

    相比于只有 cs:info 一个子元素的从属样式,可以看到这里还有其他几个元素。除了 cs:info 以外,还有 cs:localecs:macrocs:citationcs:bibliography

    这些元素的作用是什么呢?

    • 必需的 cs:info 元素在在独立样式中的作用和其在从属格式中的相同,都是用来保存样式元数据。
    • 可选的 cs:locale 元素可以用来重写本地化文件中定义过的数据。
    • 可选的 cs:macro 用来存储 CSL 代码,这些代码可能应用在 cs:citationcs:bibliography 或者其他 cs:macro 元素中。
    • 必需的 cs:citation 元素定义引注的格式。
    • 可选的 cs:bibliography 元素定义参考文献表的格式。

    重写

    "重写"(override)原本是 OOP(一种编程思想)中的概念,指的是重新定义一个已有的方法(即函数)。本文原文写为“overwrite”,即重新定义本地化文件中已有的任何翻译、日期格式,严格来说与译为“重写”的 override 并不是同一个意思。

    有了以上简单的认识,下面从 cs:style 根元素开始分析。

    cs:style 根元素

    <style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">
    +  ...
    +</style>
    +

    我们已经在从属样式的 cs:style 元素中见到过 xmlnsversion 属性,这个 class 是新出现的属性。CSL 处理器通过 class 属性区分本样式是 in-text 风格还是 note 风格。

    info 元素

    独立样式的元数据通常比从属样式的元数据更加全面:

    <info>
    +  <title>Example Style</title>
    +  <id>http://www.zotero.org/styles/example</id>
    +  <link href="http://www.zotero.org/styles/example" rel="self"/>
    +  <link href="http://www.zotero.org/styles/apa" rel="template"/>
    +  <link href="http://www.example.com/style-guide/" rel="documentation"/>
    +  <author>
    +    <name>John Doe</name>
    +    <email>JohnDoe@example.com</email>
    +  </author>
    +  <contributor>
    +    <name>Jane Doe</name>
    +  </contributor>
    +  <contributor>
    +    <name>Bill Johnson</name>
    +  </contributor>
    +  <category citation-format="author-date"/>
    +  <category field="science">
    +  <updated>2014-10-15T18:17:09+00:00</updated>
    +  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +</info>
    +

    title、样式 IDself 链接、category、时间戳和 license,其作用与先前介绍的一致,但还是有些许差别。首先,独立样式不依赖父样式。相反,我们通常是提供一个 template (模板)链接,以表明当前的独立样式是基于哪一个样式来创建的(CSL 样式很少从头写起,因为改写已有的样式往往比较快速)。本例中,所链接的模板是 APA 样式。此外,我们还倾向于放一个或多个 documentation 链接,其指向有关引用格式的在线描述。

    为向 CSL 格式的创建者致以谢意,也可以把他们的名字和联系方式添加到样式文件中。在当前的例子中,有一个作者和两个贡献者。通常来说,作者完成了创建样式的大部分工作,而贡献者只对此作了一些小的改进。

    cs:citation 元素和 cs:macro 元素

    接下来分析 cs:macroscs:citation 元素。cs:citation 元素旨在描述引注的格式(对于 note 风格而言,就是脚注或者尾注的格式)。

    <macro name="author">
    +  <names variable="author">
    +    <name initialize-with="."/>
    +  </names>
    +</macro>
    +<macro name="issued-year">
    +  <choose>
    +    <if variable="issued">
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </if>
    +    <else>
    +      <text term="no date"/>
    +    </else>
    +  </choose>
    +</macro>
    +<citation et-al-min="3" et-al-use-first="1">
    +  <sort>
    +    <key macro="author"/>
    +    <key macro="issued-year"/>
    +  </sort>
    +  <layout prefix="(" suffix=")" delimiter="; ">
    +    <group delimiter=", ">
    +      <text macro="author"/>
    +      <text macro="issued-year"/>
    +    </group>
    +  </layout>
    +</citation>
    +

    上面的代码生成类似 (A.C. Smith et al., 2002; W. Wallace, J. Snow, 1999) 这样的引注。要理解这种引注格式在 CSL 中是如何编码的,我们首先着眼于 cs:citation 元素中的 cs:layout 元素。cs:layout 元素中的 prefixsuffix 属性定义了引注周围的圆括号,而 delimiter 属性的值(;)将相邻的引用分开。每个单独的引用都是由 cs:layout 的内容来决定的,引用由 authorissue-year 宏的输出组成,并以cs:group 元素上的 delimiter 属性(,)分隔。

    宏(macro)

    在英语中,macro 一词的本义是“巨大的、大量的”,与之对应的是 micro “微小的”。在计算机领域,macro 来源于 macro-instruction(宏命令),与之对应的是 micro-instruction(微命令)。micro-instruction 可以理解为基本的、小段的、零碎的代码,而 macro-instruction 就是一系列需要反复使用的小段代码的总称——一大段代码。对于支持 macro 的编程语言,当某段代码需要反复使用时,只需将这段代码定义为 macro,随后的代码中就可以用这个 macro 的名称来代表这一大段代码。之后,这些 macro 会被计算机替换为它所代表的小段代码,这一过程称为宏展开

    在 CSL 中,我们使用 cs:macro 元素来定义 macro,name 属性的值就是这个 macro 的名字,这个名字一般由短横杠连接的小写单词(因为空格用于分隔属性或属性值)组成,cs:macro 的子元素就是它所代表的代码。在这里,我们把 cs:macro 元素显示的结果称为它的输出

    author 宏输出那些存储于所引条目的名称变量 author 的名字。cs:nameinitialize-with 属性指定应当以缩写显示,并且每个缩写后面附带属性值(.)。

    名称变量(name variable)

    名称变量是 CSL 众多变量类型中的一种,即那些代表了某个事物的名称的变量。有关 CSL 的变量类型,详见附录 Ⅳ。

    issued-year 元素以一个cs:choose 元素定义的分支语句开始。如果被引条目具有保存在日期变量 issued 的日期,则输出这个日期的年份,否则输出 no date 术语的值。

    layout 元素中的 group 元素的 author 用来印出在 author 元素中存储的值,issued-year 则用来印出 issued-year 元素储存的值。

    你可能会感到奇怪,为什么不直接把上面两个宏中的 CSL 代码放在 cs:citation 元素中呢?使用宏有什么好处呢?在上面的例子中,宏的使用简化了 cs:citation 元素的结构,使其更易于拓展。此外,上述的两个宏总共被调用了 4 次(两次在 cs:citation 元素中,两次在 cs:bibliography 元素中),如果不使用宏,必须多次重复这些 CSL 代码。因此宏的使用带来了更紧凑的样式。

    还没完,再看 cs:citation 元素,它含有两个属性,即 et-al-minet-al-use-first。这两个属性共同决定了当条目的author 名字大于等于 3 个的时候,只有第一个名字会被输出,并尾随 et al 术语。

    最后,cs:citation 元素中还包含了 cs:sort 元素,cs:sort 又包含了两个 cs:key 元素。这一部分用来决定一个带有引注的引用如何排序。第一个用来排序的author 宏的输出组成(CSL 足够智能,可以先根据姓、再根据名进行排序)第一个键具有相同输出的引用将继续根据第二个键进行排序,即 issued-year 宏的输出。

    键(key)

    到了这里,“键”是指被引注献中那些用于排序的信息。

    cs:bibliography 元素

    cs:citation 负责输出引注和协调引用,cs:bibliography 则用于定义参考文献条目的格式。

    <macro name="author">
    +  <names variable="author">
    +    <name initialize-with="."/>
    +  </names>
    +</macro>
    +<macro name="issued-year">
    +  <choose>
    +    <if variable="issued">
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </if>
    +    <else>
    +      <text term="no date"/>
    +    </else>
    +  </choose>
    +</macro>
    +...
    +<bibliography>
    +  <sort>
    +    <key macro="author"/>
    +    <key macro="issued-year"/>
    +    <key variable="title"/>
    +  </sort>
    +  <layout suffix="." delimiter=", ">
    +    <group delimiter=". ">
    +      <text macro="author"/>
    +      <text macro="issued-year"/>
    +      <text variable="title"/>
    +      <text variable="container-title"/>
    +    </group>
    +    <group>
    +      <text variable="volume"/>
    +      <text variable="issue" prefix="(" suffix=")"/>
    +    </group>
    +    <text variable="page"/>
    +  </layout>
    +</bibliography>
    +

    上述的例子中的 cs:bibliography 小节实际上只适用于一种类型:期刊文章。它生成的参考文献条目格式为:

    A.C. Smith, D. Williams, T. Johnson. 2002. Story of my life. Journal of Biographies, 12(2), 24—27. W. Wallace, J. Snow. 1999. Winter is coming. Journal of Climate Dynamics, 6(9), 97—102.

    我们是如何定义这种格式的呢?首先,cs:bibliography 元素和 cs:citation 元素的结构很相似,但这里的 cs:layout 元素用来定义每一个独立的参考文献条目的格式。除了 author 宏和 issued-year 宏,参考文献条目还显示每个条目的 titlecontainer-title(对期刊文章来说,就是期刊的名称),以及这篇文章见刊的 volumeissue,还有文章所在的页码(page)。样式使用 prefixsuffix 属性来将期刊期号括到圆括号里,并依据 cs:layoutcs:group 元素的 suffixdelimiter 属性放置了其它的标点。

    cs:bibliography 也含有一个 cs:sort 元素,它有三个键:authorissued-year 宏,以及第三个键——条目的 title

    cs:locale 元素

    我们这个样式的最后一节是 cs:loacle。正如我们前面提到的那样,CSL 的本地化文件可以将 CSL 样式快速转换为不同的语言。但是,有时需要重写默认的翻译。

    <locale xml:lang="en">
    +  <terms>
    +    <term name="no date">without date</term>
    +  </terms>
    +</locale>
    +

    不出所料,在美式英语的本地化文件中,对 no date 术语的输出就是 no date。但是在我们的示例样式中,我们想使用 without date 来代替它。为了重写默认的翻译,我们可以使用上面所示的 cs:locale 元素。对一个没有发行日期的条目,这种重写会导致引注变成这样: (D. Williams, without date)

    cs:localexml:lang 属性被设置为 en,当样式被用于英语写作的时候,这个属性使 CSL 样式重写 no date。如果我们在德语环境中使用这个样式,它将会依据德语的本地化文件输出翻译(ohne Datum)。

    更进一步

    这里只对 CSL 进行了简单的介绍,有关 CSL 的更多知识可以查看 CSL 标准文档或者其他参考文档。

    + + + diff --git a/csl-dev-guide/specification.html b/csl-dev-guide/specification.html new file mode 100644 index 0000000000..1fb03f8b22 --- /dev/null +++ b/csl-dev-guide/specification.html @@ -0,0 +1,356 @@ + + + + + + + + + + CSL 1.0.2 规范 | Zotero 中文小组 + + + + + +
    跳至主要內容

    CSL 1.0.2 规范

    Zotero Chinese大约 70 分钟

    CSL 1.0.2 规范

    主要作者:Rintze M. Zelle, PhDopen in new window、 Brenton M. Wiernikopen in new window、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier

    其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、Lars Willighagen and other CSL contributors.

    译者:Mao Zhouopen in new windowNorthwordopen in new window

    此工作以  Creative Commons Attribution-ShareAlike 4.0 International Licenseopen in new window 授权。

    介绍

    CSL(Citation Style Language,引文样式语言) 是一种基于 XML 的格式,用来描述引文、注释和参考文献的格式,他提供了:

    • 一种开放的 (开源的) 格式
    • 紧凑、稳定的样式
    • 对样式要求的广泛支持
    • 样式自动本地化
    • 对样式发布和更新的基本支持
    • 数千种免费提供的样式(CC BY-SA 授权)

    有关的其他文档,CSL 议程,样式和本地化文件详见 CSL 项目主页open in new window

    术语

    关键字 MUST,MUST NOT,REQUIRED,SHALL,SHALL NOT,SHOULD,SHOULD NOT,RECOMMENDED,MAY 和 OPTIONAL 按 IETF RFC 2119open in new window 中的描述解释。

    译者注:关于 IETF RFC 2119 协议

    RFC ,即 Request for Comments,意见征求稿,是由 The Internet Engineering Task Forceopen in new window 制作的文档,其中许多是各种 Internet 协议的官方标准。

    RFC 2119 协议全文:<https://www.ietf.org/rfc/rfc2119.txtopen in new window

    MUST:必须的。通过它描述的对象,是强制要求的。它与 REQUIRED 和 SHALL 含义相同。

    MUST NOT:不允许的。通过它描述的对象也是强制的。与 SHALL NOT 同义。

    SHOULD:在通常情况下,应当这样。但是,特殊情况下除外。与 RECOMMENDED 同义。

    SHOULD NOT:在通常情况下,不是这样。但是,特殊情况下除外。与 NOT RECOMMENDED 同义。

    MAY:可选的描述对象。与 OPTIONAL 同义。

    命名空间

    Namespacing

    CSL XML 命名空间 URI 是 http://purl.org/net/xbiblio/cslopen in new window

    在本规范中,当提及 CSL 元素时,命名空间前缀为 cs: ,但对于根元素 cs:stylecs:locale 的默认命名空间声明(用 xmlns 属性设置),通常省略 cs:

    空格处理

    注意

    Whitespace Handling
    翻译有一些疑惑,请参阅原文,欢迎提出改善意见。

    CSL styles are valid XML, but CSL processors MUST NOT normalize attribute values by trimming leading or trailing whitespace from attributes which define text that is intended for output:

    CSL 样式是有效的 XML,但是 CSL 处理器不会(MUST NOT)通过修剪以下属性值前后的空格来规范输出。

    • after-collapse-delimiter
    • cite-group-delimiter
    • delimiter
    • initialize-with
    • name-delimiter
    • names-delimiter
    • prefix
    • range-delimiter
    • sort-separator
    • suffix
    • year-suffix-delimiter
    • value

    文件类型

    CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl 作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml,其中 xx-XX 表示语言以及其方言,例如 en-US 表示美式英语)。

    独立样式

    独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。

    从属样式

    从属样式是独立样式的别名(alias),其仅包含样式元数据,不包括任何格式的指示。

    通过将具有相同引用风格的期刊(例如 "Nature Biotechnology","Nature Nanotechnology")的从属样式链接到一个单独的独立样式(例如 "Nature Journals"),从属样式就不再需要再重复一遍格式说明。

    译者注

    也就是说从属样式是依赖其他样式的,被依赖的样式成为称为父样式

    本地化文件

    每个本地化文件包含一系列对某种特定的语言 / 方言的本地化数据(术语翻译,本地化日期格式以及语法选项)。

    译者注

    本地化文件主要用于在不同的语言环境中使用样式,比如在中文环境中使用,中文对应的本地化文件可以将英文中的 et al. 替换为

    XML 声明

    XML Declaration

    每个样式或者本地化文件应该以 XML 声明开头,指定具体的 XML 版本以及字符编码。多数情况下,XML 声明可以是:

    <?xml version="1.0" encoding="UTF-8"?>
    +

    样式的结构

    注意

    此节尚未校对完成

    根元素 cs:style

    样式的根元素是 cs:style。在 独立样式 中,根元素有以下几种属性:

    class

    🏳️ Default: none — 决定样式的 引文格式 是 in-text 类型(值 in-text) 或者 note 类型(值 note)。

    译者注

    in-text 表示引文在文字中,note 表示引文不在文字中,可能是脚注等。

    default-locale

    🏳️ Default: none · Optional — 为本地化设值默认的 locale。值必须是 locale codeopen in new window

    译者注:常用 local_code

    zh-CN:中文(中国)
    zh-hk:中文(台湾)
    zh:中文
    en-US:
    可以参阅 Language Strings | Microsoft Docsopen in new window

    version

    🏳️ Default: none · ⚠ Required — 样式的 CSL 版本。对于 CSL 1.0 兼容样式,必须是 1.0

    此外,cs:style 可能携带任意的 全局选项可继承的名称选项

    在这些属性中,从属样式 中,只有 version 是必须的, default-locale 属性可以设置用来代替的默认的本地化文件 。其他的属性是可以忽略的。

    下面是一个 独立样式cs:style 示例,第一行是 XML 声明:

    <?xml version="1.0" encoding="UTF-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="fr-FR"/>
    +

    cs:style 的子元素

    独立样式 中,cs:style 有以下子元素:

    cs:info

    🏳️ Default: none · ⚠ Required · ⚠ 必须为第一个子元素 — 描述样式的元数据 :样式名称(style name)、样式 ID(ID)、样式作者(authors)。

    cs:citation

    🏳️ Default: none · ⚠ Required — 用来描述 in-text 引文或者 notes 引文的具体格式。

    cs:bibliography

    🏳️ Default: none · Optional — 可能会出现一次。描述参考文献列表的格式。

    cs:macro

    🏳️ Default: none · Optional — 可能出现多次。宏可以将格式指示重复使用,使样式更加的紧凑和易维护。

    cs:locale

    🏳️ Default: none · Optional — 可能出现多次。用于指定或者覆盖当前的本地化数据。

    从属样式 中,cs:style 只有 cs:info 一个子元素。

    Info

    cs:info 包含了样式的元数据。其结构基于 Atom Syndication Formatopen in new window。在独立样式中,cs:info 有下面的几个子元素:

    cs:authorcs:contributor

    🏳️ Default: none · Optional — cs:authorcs:contributor 分别用来致谢样式的作者和贡献者,可能被使用多次。

     `cs:name`
    +
    + 🏳️ Default: _none_ ·  ⚠ Required — 作者或贡献者的姓名。
    +
    + `cs:email` 和 `cs:uri`
    +
    + 🏳️ Default: _none_ ·  Optional — 作者或者贡献者邮箱和 URI。
    +
    cs:category

    🏳️ Default: none · Optional — 样式可能被分类到一个或者多个类别,cs:category 可能被使用一次,用来描述 in-text 引文怎么渲染。使用 citation-format 属性设置其为以下几种情形:

    • author-date - 例如 … (Doe, 1999)

    • author - 例如 … (Doe)

    • numeric - 例如 … [1]

    • label - 例如 … [doe99]

    • note - 因为在边注或者脚注出现。

      cs:categroy 也可能在携带 field 属性时多次使用,用来对学科进行分类(见 [附录 I 学科分类](附录 I 学科分类))。

    cs:id

    🏳️ Default: none · ⚠ Required — 必须出现一次。该元素应该包含一个 URI 以建立样式的 ID,对于公开可用的样式,需要一个稳定、唯一的并可以引用的 URI。

    cs:issn/cs:essn/cs:issnl

    🏳️ Default: none · Optional — cs:issn 元素可以多次使用,用来表示该 CSL 对应的期刊的 ISSN 。 cs:eissncs:issnl 可以分别用来表示 eISSN 和 ISSN-Lopen in new window

    🏳️ Default: none · Optional — 可以使用多次。cs:link 必须携带两个属性 hrefrel

    `href`
    +⚠ Required — 用来设置 URI (通常情况下为 URL)
    +
    +`rel`
    +⚠ Required — 表明 URI 与当前样式的关系,它的值有:
    +
    +    - `self` - 该 URI 值为样式本身的 URI
    +    - `template` - 该 URI 是用来编写该样式的模板的 URI
    +    - `documentation` - 该 URI 是该样式的文档
    +
    cs:published

    🏳️ Default: none · Optional — cs:published 必须是一个 时间戳open in new window,用来表明样式创建的时间或者可获得的时间。

    cs:rights

    🏳️ Default: none · Optional — cs:rights 表明了该 CSL 的 license,可能会携带 license 属性。

    cs:summary

    🏳️ Default: none · Optional — 给出该 CSL 的简单描述。

    cs:title

    🏳️ Default: none · ⚠ Required — 其内容应该是该 CSL 展示给使用者的名字。

    cs:title-short

    🏳️ Default: none · Optional — 是上述名字的缩写,比如 APA

    cs:updated

    🏳️ Default: none · — 内容是一个 时间戳open in new window,用来表示该 CSL 的最后更新时间。

    cs:linkcs:rightscs:summarycs:titlecs:title-short 元素可以携带 xml:lang 属性用来表示元素内容的语言(值必须是 xsd:language locale codeopen in new window 中的一个)。对于 cs:link,该属性可以用来表示链接目标的语言。

    在从属格式中,当 cs:link 中的 href 为其父格式的 URI 时,rel 属性必须设置为 "independent-parent"。此外,从属格式的 ref 不能设置为 template,这在独立格式中才能使用。

    下面是一个独立样式 cs:info 的例子:

    <info>
    +  <title>Style Title</title>
    +  <id>http://www.zotero.org/styles/style-title</id>
    +  <link href="http://www.zotero.org/styles/style-title" rel="self"/>
    +  <author>
    +    <name>Author Name</name>
    +    <email>name@domain.com</email>
    +    <uri>http://www.domain.com/name</uri>
    +  </author>
    +  <category citation-format="author-date"/>
    +  <category field="zoology"/>
    +  <updated>2008-10-29T21:01:24+00:00</updated>
    +  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work
    +  is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported
    +  License</rights>
    +</info>
    +

    Citation

    cs:citation 元素描述了引注的格式,其中引注可以是一条或者多条。引注的格式可能是 in-text citations(即文字中的引注)和 notes(注记)。in-text citations 包括 (author,例: [Doe]author-date,例: [Doe 1999]label,例: [doe99],或者 number,例:[1] ) 。这要求 cs:layout 子元素来描述什么样的数据,以及怎么被引用(见 Layout )。在 cs:layout 之前可能会有 cs:sort 元素,用来描述引文的排序(见 排序)。此外,cs:style 可能携带任意的 引文选项可继承的名称选项 中的属性。下面是一个 cs:citation 的例子:

    <citation>
    +  <sort>
    +    <key variable="citation-number"/>
    +  </sort>
    +  <layout>
    +    <text variable="citation-number"/>
    +  </layout>
    +</citation>
    +

    对 CSL 处理器开发者的一个建议

    在 note 格式中,引文通常是一个句子。因此,当注释前面没有内容时,引文的首字母最好大写。在其他情况,引文应该是用原样打印。

    Bioliography

    cs:bioliography 元素描述了参考文献条目的格式。同 cs:citation 相同,其子元素 cs:layout 用来描述每个条目的格式,cs:sort 元素用来描述条目的排序。此外,cs:bibliography 可能携带任意的 参考文献目录选项可继承名称选项 中的属性。下面是一个 cs:bioliography 的例子:

    <bibliography>
    +  <sort>
    +    <key macro="author"/>
    +  </sort>
    +  <layout>
    +    <group delimiter=". ">
    +      <text macro="author"/>
    +      <text variable="title"/>
    +    </group>
    +  </layout>
    +</bibliography>
    +

    Macro

    宏,使用 cs:macro 元素定义,包含了格式的指令。宏可以在其他宏,cs:layout 元素 (cs:citationcs:bioliography 中),cs:key 元素 (cs:sort 元素) 中通过 cs:text 调用。宏在文件中位置的通常建议是:放在 cs:locale 元素后以及 cs:citation 元素前。

    宏通过 cs:macro 元素的属性 name 的值来调用。cs:macro 必须包含一个或者多个 渲染元素

    使用宏可以提高样式的可读性,紧凑性以及可维护性。通过过宏调用来保持 cs:citation 元素和 cs:bioliography 元素的内容紧凑通常是推荐的做法。为了在其他样式中方便的重复使用,宏名字建议使用通用的名字。

    下面是一个实例:引文中包括项目题目,并当条目为 "book" 时,设置字体为 italic

    <style>
    +  <macro name="title">
    +    <choose>
    +      <if type="book">
    +        <text variable="title" font-style="italic"/>
    +      </if>
    +      <else>
    +        <text variable="title"/>
    +      </else>
    +    </choose>
    +  </macro>
    +  <citation>
    +    <layout>
    +      <text macro="title"/>
    +    </layout>
    +  </citation>
    +</style>
    +

    Locale

    来自 "locales-xx-XX.xml"locale file 的本地化数据可以通过 cs:locale 元素来重定义或者补充定义。cs:locale 元素应该放在 cs:info 元素后。

    cs:locale 元素的 xml:lang 属性是可选的,必须设置为 xsd:language locale codeopen in new window 中的一种,用来确定使用的语言环境(或方言,见 [locale fallback](locale fallback))。

    对于 cs:locale 元素的详细使用,另见 术语本地化日期格式本地化选项

    下面是一个 cs:locale 元素的例子:

    <style>
    +  <locale xml:lang="en">
    +    <terms>
    +      <term name="editortranslator" form="short">
    +        <single>ed. &amp; trans.</single>
    +        <multiple>eds. &amp; trans.</multiple>
    +      </term>
    +    </terms>
    +  </locale>
    +</style>
    +

    Locale Fallback

    本地化文件为语言方言提供了本地化数据;可选的 cs:locale 元素的 xml:lang 属性设置为一种语言 (例如, "en" 代表英语 ) 或者方言 (例如, "en-US" 代表美式英语 ) ,xml:lang 属性也可能缺失。Localr fallback 是一种在上述的属性设置中检索来确定本地化单元的机制。这些本地化单元包括日期格式,本地化选项或者术语的特定形式。

    对于同一种语言的方言,一种被称为初级方言,其他都是二级方言。下面展示了部分语言的初级方言和二级方言:

    初级方言二级方言
    de-DEde-AT, de-CH
    en-USen-GB
    pt-PTpt-BR
    zh-CNzh-TW

    这里用一个例子来描述 Locale fallback。如果要选择 "de-AT"(Austrian German) 作为使用环境,本地化单元可以来自下面的源(优先级逐渐降低):

    A. 样式文件中的 cs:locale 元素

    • xml:lang 设置为方言 "de-AT"
    • xml:lang 设置为 "de"
    • xml:lang 不设置

    B. Locale files/本地化文件

    • xml:lang 设置为方言 "de-AT"
    • xml:lang 设置为对应的初级方言 "de-DE" (standard german)
    • xml:lang 设置为 "en-US"

    也就是说,如果要使用 "de-AT" 语言,首先在 Locale files 中寻找 "de" 对应的 locales-de-XX.xml 文件,即 "locales-de-AT.xml""locales-de-DE.xml",由于要设置的语言环境是方言 "de-AT",所以选择 de-AT 对应的 locale file locales-de-AT.xml。接下来,如果 csl 文件中包含 cs:locale 元素,将会覆盖 locales-de-AT.xml 文件的设置。

    本地化文件的结构

    WORK IN PROGRESS

    此页面正在施工中。

    尽管本地化数据可以包括在 csl 文件中 (见 Locale),但是本地化文件可以方便的提供本地化数据的设置,包括术语,日期格式以及语法选项。

    每个本地化文件包括了一种语言方言的本地化数据。本地化文件中根元素为 cs:locale(样式/style 中则为 cs:style 元素)。在 cs:locale 根元素中,属性 xml:lang 用来设置方言。同时这一设置选项也用来对本地化文件命名("xx-XX" 文件名为 locales-xx-XX.xml)。此外,根元素必须携带 version 属性,表明本地化文件的 CSL 版本(对 CSL 1.0 兼容的 locale file 必须设置为 "1.0")。本地化文件有和样式同样的命名空间。cs:locale 元素可能包含 cs:info 作为第一个子元素,同时,必须含有 cs:termscs:datecs:style-options 子元素。下面是一个 本地化文件的部分示例:

    <?xml version="1.0" encoding="UTF-8"?>
    +<locale xml:lang="en-US" version="1.0" xmlns="http://purl.org/net/xbiblio/csl">
    +  <style-options punctuation-in-quote="true"/>
    +  <date form="text">
    +    <date-part name="month" suffix=" "/>
    +    <date-part name="day" suffix=", "/>
    +    <date-part name="year"/>
    +  </date>
    +  <date form="numeric">
    +    <date-part name="year"/>
    +    <date-part name="month" form="numeric" prefix="-" range-delimiter="/"/>
    +    <date-part name="day" prefix="-" range-delimiter="/"/>
    +  </date>
    +  <terms>
    +    <term name="no date">n.d.</term>
    +    <term name="et-al">et al.</term>
    +    <term name="page">
    +      <single>page</single>
    +      <multiple>pages</multiple>
    +    </term>
    +    <term name="page" form="short">
    +      <single>p.</single>
    +      <multiple>pp.</multiple>
    +    </term>
    +  </terms>
    +</locale>
    +

    Info

    cs:info 元素用来给出本地化文件的元数据。它含有以下子元素:

    cs:translator(可选)

    cs:translator 用来致谢翻译者,并且能使用多次。在这个元素中。子元素 cs:name 必须出现一次,cs:uri 则是可选的。这些子元素应该分别包括翻译者的名字,地址和 URI。(与样式中类似)

    cs:rights(可选)

    ​ 可能出现一次。cs:rights 的内容用来指定本地化文件发布版本的 license。该元素可能会携带 license 属性来指定 license 的 URI,xml:lang 属性则用来指定元素内容的语言(值必须是 xsd:language locale codeopen in new window)。

    cs:updates(可选)

    cs:updated 元素的内容必须是一个 [时间戳] 来指定本地化文件最后一次更新的时间。

    Terms(术语)

    术语是本地化的字符串,比如通过使用 "and" 术语,"Doe and Smith" 在语言环境从英语到德语的转换中会自动变为 "Doe und Smith"。术语用 cs:term 元素定义,是 cs:terms 元素的子元素。每个 cs:term 元素必须携带一个 name 属性,其属性值可以设置为 [附录 II 术语](#附录 II 术语) 列表中的值。

    术语可以直接在 cs:term 的内容中定义,或者,在某些情况下,比如在需要单数和复数的情况下可以分别在子元素 cs:singlecs:multiple 中定义, (例如:"page""pages")。

    术语必须使用 cs:term 元素来定义,并在其中使用 form 属性来设置特定格式,form 可以设置的值为:

    • "long" - (默认值), e.g. "editor" and "editors" for the "editor" term
    • "short" - e.g. "ed." and "eds." for the term "editor"
    • "verb" - e.g. "edited by" for the term "editor"
    • "verb-short" - e.g. "ed." for the term "editor"
    • "symbol" - e.g. "§" and "§§" for the term "section"

    如果一个样式使用了一个没有定义的格式,则会会退到其他形式,比如 "werb-short" 会回退到 "verb""symbol" 会回退到 "short""verb""short" 都会回退到 "long"。如果没有可以用的语言环境或者 form 格式,改术语的渲染结果就会显示为空字符串。

    cs:term 元素可以使用 matchgendergender-form 属性来设置数字变量渲染为序数(比如,first2nd)。具体见下面的 序数后缀特定序数

    术语内容不应该包括 Latex 以及 HTML 等标记。上标可以使用 Unicode 上标字符。

    序数后缀

    数字变量可以使用 cs:number 元素以 "ordinal" 格式(即序数格式)渲染,比如:2nd。序数的后缀则是使用术语来定义的。

    "ordinal" 术语定义了默认的序数后缀格式,但这些默认的后缀可以被下面的术语对某些数字进行覆盖:

    • "ordinal-00""ordinal-09" - 默认地,当术语名称的最后一位数字与要渲染的数字的最后一个数字相同时,将使用在这个范围内的对应的术语。比如:"ordinal-00" 能够匹配数字 0 、10、20 等等。通过设置属性 match"last-two-difits"(默认值为 "last-digit"),匹配范围将为变为两位,例如:0、100、200 等。当 match 术语设置为 "whole-number" 时,只有术语与要渲染的数字相同时,才会实现匹配。
    • "ordinal-10""ordinal-99"- 默认地,当要渲染的数字的最后两位和术语中相同时,使用这个范围的术语。当 match 属性设置为 "whole-number" 时(默认为 "last-two-digits"),只有术语与要渲染的数字相同时,才会实现匹配。

    当渲染的数据对上面的两组都匹配时(比如:13 可以同时匹配 "ordinal-03""ordinal-13"),则使用 "ordinal-10""ordinal-99"

    序数术语在 CSL 1.0.1 和 CSL 1.0 中表现时不同的。当样式和本地化文件中都没有定义 "ordinal" 术语,但是定义了 "ordinal-00""ordinal-04",原始的 CSL 1.0 的方案被使用,"ordinal-01" 用于以 1 结尾的数字(以 11 结尾的数字除外)," ordinal-02" 用于以 2 结尾的数字(以 12 结尾的数字除外),"ordinal -03" 表示以 3 结尾(那些以 13 结尾的除外),"ordinal-04" 表示所有其他数字。

    性别特定序数

    一些语言使用特定的有别于性别的序数。例如,如果目标名词是男性,英语中的 "1st" 和 "first" 在法语中就翻译为 "1er" 和 "premier",如果目标名词是女性,就翻译为 "1re" 和 "première"。

    女性和男性在术语使用上的不同可以使用性别格式 gender-form 的属性来设置(分别设置为 femininemasculine),详情见 Ordinals 序数(没有性别的术语表示中性)。这里涉及到两类目标名词:

    1. 数字变量 附带的术语

    2. 月份术语(见 Months 月)。

    在术语设置为 "long"(默认),并且在 gender 属性被设置时(设置为 "feminine""masculine"),这些名词即使用相应的性别变体。当数字变量以序数 "ordinal" 或者 long-ordinal 形式时,将使用相同性别的序数词,如果没定义女性或男性变体,则使用中性变体。当 "day" 日期部分以序数 "ordinal" 形式呈现时,序数性别和月的术语匹配。

    下面给出 1re éd."1st ed.")、"1er janvier""January 1st")和 "3e édition""3rd edition")的示例:

    <?xml version="1.0" encoding="UTF-8"?>
    +<locale xml:lang="fr-FR">
    +  <terms>
    +    <term name="edition" gender="feminine">
    +      <single>édition</single>
    +      <multiple>éditions</multiple>
    +    </term>
    +    <term name="edition" form="short">éd.</term>
    +    <term name="month-01" gender="masculine">janvier</term>
    +    <term name="ordinal">e</term>
    +    <term name="ordinal-01" gender-form="feminine" match="whole-number">re</term>
    +    <term name="ordinal-01" gender-form="masculine" match="whole-number">er</term>
    +  </terms>
    +</locale>
    +

    本地化日期格式

    cs:date 元素中,本地化数据格式有两种格式:一种是 "numeric"(例:12-15-2005),另外一种是 "text"(例:December 15,2005)。格式在 cs:date 元素中,使用 form 属性来设置。

    日期格式使用 cs:date-part 子元素来构建(见 Date-partopen in new window)。当 cs:date-partname 属性设置为 "day""month"、或 "year" 时,反应了日期显示的顺序为日、月河年。日期可以使用 cs:datecs:date-part 元素中的 formattingopen in new windowtext-caseopen in new window 属性设置。cs:date 元素中的 delimiter 属性用来设置 cs:date-part 中不同部分的间隔,并且词缀也可以应用于 cs:date-part 元素。(译注:这里的词缀指的是前后的括号等等。)

    :定义本地化日期格式时,不允许在 cs:date 上使用词缀。此限制适用于将特定于语言环境的词缀(在 cs:date-part 元素上设置)与任何特定于样式的词缀(在调用 cs:date 元素上设置)分开,例如括号:

    <macro name="issued">
    + <date variable="issued" form="numeric" prefix="(" suffix=")"/>
    +</macro>
    +

    本地化选项

    本地化选项有两个,limit-day-ordinals-to-day-1punctuation-in-quote (见 Locale Optionsopen in new window)。这些全局选项(同时影响引文和参考文献条目)在 cs:style-options 中被设置为可选属性。

    渲染元素

    WORK IN PROGRESS

    此页面正在施工中。

    渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据,以及以何种方式排序,并对其格式进行控制。

    Layout

    cs:layout 渲染元素是 cs:citation 元素和 cs:bibliography 元素的的必要子元素。cs:layout 必须包含一个或者多个渲染元素,并且可能携带 affixesformattig 属性。在 cs:citation 元素中,delimiter 属性用来指定一个引文中的不同引用的间隔符。例如:一个 "(1,2)" 类型的引文可以使用下面的代码实现:

    <citation>
    +  <layout prefix="(" suffix=")" delimiter=", ">
    +    <text variable="citation-number"/>
    +  </layout>
    +</citation>
    +

    Text

    cs:text 渲染元素用来输出文字。其必须携带下面的属性来确定什么部分需要渲染:

    • variable- 渲染一个变量的文本内容。属性值必须是 标准变量。可以与 form 属性一起选择变量的 "long"(默认)或 "short" 形式(例如:设置题目,完整题目或者简写)。如果选择了 "short" 形式,但是却没法获得,就使用 "long" 形式来渲染。
    • macro - 渲染宏的文字输出。属性值必须和 cs:macro 元素的 name 属性的值相匹配。
    • term - 渲染术语。属性必须是 [附录 II 术语](#附录 II 术语) 中的术语列表中的一个。通过设置复数属性 plura l 来这只其使用单数还是复数形式,其中 "true" 为默认,表示使用复数形式,设置为 "false" 表示使用单数形式。 使用 form 属性可以设置术语的形式,其值可以为 "long" (默认)、"short""verb""verb-short" 或者 "symbol" (见 术语).
    • value - 渲染属性值自己。

    一个 cs:text 的渲染 title 变量的例子:

    <text variable="title"/>
    +

    cs:text 可能会携带 affixesopen in new windowdisplayopen in new windowformattingopen in new windowquotesopen in new windowstrip-periodsopen in new windowtext-caseopen in new window 属性。

    Date

    cs:date 渲染元素输出必须从 日期变量 列表中的选择。日期可以以本地化或者非本地化格式呈现。

    本地化的日期格式 通过可选的 form 属性来选择,其值必须设置为 "numeric"(完全的数字格式 ,例如:12-15-2005)或者 "text"(非数字的月份格式,例如: December 15, 2005)。本地化日期格式可以通过两种方式进行自定义。第一种:date-parts 属性可以用来设置不同的日期组成部分。其值可以设置为:

    • "year-month-day" - 默认值,渲染年,月,日
    • "year-month" - 渲染年月
    • "year" - 只渲染年

    第二种,cs:date 可以含有一个或者多个 cs:date-part 子元素(见 Date-part)。在这些子元素中可以设置属性来覆盖之前的本地化设置(例如:要获得所有语言环境的缩写月份,可以将月份的 cs:date-part 元素的 form 属性设置为 "short")。这些 cs:date-part 子元素不影响各个日期部分渲染的顺序和以及其是否渲染。cs:date-part 元素中不能使用词缀 Affixes.

    没有属性 form 的情况下,cs:date 则描述了一个自带的非本地化的日期格式。其日期格式使用 cs:date-part 子元素来构建。在使用 name 属性并设置为 daymonthyear 时,这些元素的顺序反应了其显示顺序。日期可以在 cs:date-part 元素中使用 formatting 属性以及多个 cs:date-part 的属性来格式化(见 Date-part)。cs:date 中的 delimiter 属性可以用来设置 cs:date-part 元素不同日期部分的分隔符,此外,词缀 可以用在 cs:date-part elements。

    本地化的日期或者是非本地化的日期,, cs:date 都可能携带 affixesopen in new windowdisplayopen in new windowformattingopen in new windowtext-caseopen in new window 属性。

    Date-part

    cs:date-part 元素用来控制日期的各个部分怎么渲染。除了其父元素 cs:date 调用了本地化日期格式,这些子元素同样可以决定哪些部分出现以及各部分的渲染顺序。cs:date-part 元素描述了 name 属性选择的日期部分,其 name 值可以是:

    "day"

    ​ 对于 "day" 来说,cs:date-part 可能会携带 form 属性,值可以设置为:

    • "numeric" - (默认),例如,每个月第一天显示为 1

    • "numeric-leading-zeros" - 不够的位数用 0 补齐,例如,01

    • "ordinal" - 使用序数形式,例如,1st

      有的语言种,比如法语,只在月份的第一天使用 "oridinal" 也就是序数形式("1er janvier","2 janvier","3 janvier" 等)。这种输出可以通过 "oridinal" 以及 limit-day-oridinals-to-day-1 属性来设置 (see 本地化选项)。

    "month"

    ​ 对于 "month" 来说,cs:date-part 可能会携带 strip-periodsform 属性。在 locale files 中,月份缩写应该后面要加点(例如: "Jan.", "Feb.")。点可以设置 strip-periods"true" 去掉。form 属性可以设置为:

    • "long" - 默认,例如:January
    • "short" - 例如:Jan.
    • "numeric" - 例如:1
    • "numeric-leading-zeros" - 例如:01

    "year"

    ​ 对 "year" 来说,cs:date-part 可能会携带 form 属性,值可以设置为:

    • "long" - 默认,例如:2020
    • "short" - 例如:20

    cs:date-part 也可能携带 formattingopen in new windowtext-caseopen in new windowrange-delimiter 属性。除在 cs:date 元素中使用,其他情况下,cs:date-part 是可以使用词缀的。

    Date Ranges

    默认的日期范围中的分隔符是短线(en-dash),比如:May–July 2008。可以在 cs:date-part 元素中通过 range-delimiter 属性来设置常用的分隔符。当日期范围被渲染的时候,范围分隔符从 cs:date-part 元素中提取,并且匹配两个日期差别中最大的部分("year","month",或 "day")。如下面的例子,将会渲染出类似 "1-4 May 2008", "May–July 2008""May 2008/June 2009" 的日期范围。

    <style>
    +  <citation>
    +    <layout>
    +      <date variable="issued">
    +        <date-part name="day" suffix=" " range-delimiter="-"/>
    +        <date-part name="month" suffix=" "/>
    +        <date-part name="year" range-delimiter="/"/>
    +      </date>
    +    </layout>
    +  </citation>
    +</style>
    +

    AD and BC

    "ad" 一词(Anno Domini)自动附加到小于四位数的正年份(例如,"79" 变为 "79AD")。"bc" 一词(Before Christ)自动附加到负年份(例如,"-2500" 变为 "2500BC")。

    Seasons

    如果日期中包含了季节而不是月份,日期术语 ("season-01""season-04", 分别代表春夏秋冬) 将取代月份术语。比如,下面将会被渲染为 "May 2008""Winter 2009"

    <style>
    +  <citation>
    +    <layout>
    +      <date variable="issued">
    +        <date-part name="month" suffix=" "/>
    +        <date-part name="year"/>
    +      </date>
    +    </layout>
    +  </citation>
    +</style>
    +

    Approximate Dates

    近似日期,在 is-uncertain-date 属性设置为 "true" 时即渲染(见 choose)。例如:下面的例子讲渲染出 2005(正常日期)和 ca.2003(近似日期)的结果。

    <style>
    +  <citation>
    +    <layout>
    +      <choose>
    +        <if is-uncertain-date="issued">
    +          <text term="circa" form="short" suffix=" "/> ## circa 是大约的意思
    +        </if>
    +      </choose>
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </layout>
    +  </citation>
    +</style>
    +

    Number

    cs:number 渲染元素输出 variable 属性选择的数字变量。数字变量标准变量 的子集。

    使用 cs:number 元素来渲染数字变量时,如果只包含数字内容 (使用 is-numeric 属性设置,见 Chooseopen in new window),数字就被提取出来并渲染。变量内容包含非数字内容时,变量内容将呈现为原样。

    在提取的过程中,用连字符分隔的数字将去掉中间的空格("2 - 4" 变为 "2-4")。用逗号分隔的数字在逗号后会添加一个空格,并删掉其余的空格 ("2,3" 和 "2 , 3" 变为 "2, 3")。当数字使用 & 分隔时,在前后各添加一个空格 ("2&3" 变为 "2 & 3")。

    提取的数字可以通过 form 属性行进格式化,其值可以设置为:

    • "numeric" - 默认,例如: "1", "2", "3"
    • "ordinal" - 序数数字,例如: "1st", "2nd", "3rd"。序数后缀可以使用术语定义 (见 序数后缀.
    • "long-ordinal" - 长序数,例如: "first", "second", "third"。畅序数使用术语 "long-ordinal-01" 到 "long-ordinal-10" 定义, 用来在数字 1 到 10 使用。对于其他的数字,长序数渲染的结果讲和序数相同.
    • "roman" - 罗马数字,例如:"i", "ii", "iii"

    带有前缀或者后缀的数字不能使用罗马数字进行排序或者渲染(例如:"2E" 仍然时 "2E")。没有词缀的数字可以被分别转换("2, 3" 可以转换为 "2nd, 3rd", "second, third" 或者 "ii, iii")。

    cs:number 元素可能会携带 affixesopen in new windowdisplayopen in new windowformattingopen in new windowtext-caseopen in new window 属性。

    Names

    cs:names 元素用来输出一个或多个 名字变量的内容(通过必选属性 variable 来选择),每个 names 元素可以包含一个或者多个名称变量(例如:"author" 名称变量会携带引用项中所有的作者名称)。如果选择了多个变量,每个变量将会按顺序单独渲染,但当选择中包括编辑和翻译("editor""translator")不适用。当包含的内容中有两个名字变量相同时,则只渲染一个。另外,如果 cs:names 元素中包含 cs:label 元素,"editortranslator" 将用来代替 "editor""translator"(例如:Doe(editor & tranlator))。cs:names 元素中的 delimiter 属性可以用来分割不同的名字变量(例如:Doe, Smith (editors); Johnson (translator) 中间使用了分号隔开)。

    <names variable="editor translator" delimiter="; ">
    +  <label prefix=" (" suffix=")"/>
    +</names>
    +

    cs:names 有四个子元素:cs:namecs:et-alcs:substitutecs:labelcs:names 元素可能会携带 affixesopen in new window, displayopen in new windowformattingopen in new window 属性。

    Name

    cs:name 元素的一个可选的子元素 cs:names 可以用来描述单个 names 的格式,以及名称变量中不同 names 的分隔。cs:name 可能携带下面的属性:

    and

    ​ 在名称变量中用来设置倒数第二个名字和倒数第一个名字的分隔符。可选的值为 "text"("Doe, Johnson and Smith") 或者 "symbol"(eg: "Doe, Johnson & Smith")。

    delimiter

    ​ 在名称变量中设置字符串来分隔名称。默认的是 ","(e.g. "Doe, Smith")。

    delimiter-precedes-et-al

    ​ 确定在使用 et-al 缩写的情况下,在截断的姓名列表和 et-al 术语之间何时使用分隔符或者空格。该属性可选的值有:

    • "contextual" - (default), 在作者列表中有 2 个及以上的人时使用
      • 1 name: "J. Doe et al."
      • 2 names: "J. Doe, S. Smith, et al." 两个人,则在最后一个人名和 et-al 间使用 , 分隔
    • "after-inverted-name" - 在 name-as-sort-order 属性使当前的名字发生了颠倒时使用。例如:当 name-as-sort-order 属性设置为 "first" 时,第一个名字的前后部分 Doe 和 J 发生了反转,因此在第一个名字后面使用了分隔符 ,
      • "Doe, J., et al."
      • "Doe, J., S. Smith et al."
    • "always" - 不论几个名字或者怎样的设置,总是使用
      • 1 name: "J. Doe, et al."
      • 2 names: "J. Doe, S. Smith, et al."
    • "never" - 禁止使用分隔符,不论几个名字。
      • 1 name: "J. Doe et al."
      • 2 names: "J. Doe, S. Smith et al."

    delimiter-precedes-last

    在名字列表中确定何时使用分隔符来分割最后一个作者和倒数第二个作者。如果 and 没有被设置,则不论 delimiter-precedes-last 属性的值,名字分隔符总是使用。

    • "contextual" - 默认,当名字列表中的名字有 3 个或以上时使用。下面在使用 3 个名字时,在 and 前使用了分隔符 ,
      • 2 个名字: "J. Doe and T. Williams"
      • 3 个名字: "J. Doe, S. Smith, and T. Williams"
    • "after-inverted-name" - 在 name-as-sort-order 属性使当前的名字发生了颠倒时使用。例如:当 name-as-sort-order 属性设置为 "first" 时,仅在第一个名字后使用了分隔符 ,
      • "Doe, J., and T. Williams"
      • "Doe, J., S. Smith and T. Williams"
    • "always" - 分隔符一直使用。
      • 2 names: "J. Doe, and T. Williams"
      • 3 names: "J. Doe, S. Smith, and T. Williams"
    • "never" - 禁用分隔符
      • 2 names: "J. Doe and T. Williams"
      • 3 names: "J. Doe, S. Smith and T. Williams"

    et-al-min/et-al-use-first

    通过设置这两个属性,可是使用 et-al 对名字列表进行缩写。如果名字变量中的名字的数目超过了 et-al-min 属性设置的值,则达到 et-al-use-first 设置的名称数量后,渲染的名字列表将被截断。"et-al"(或者 "and others")术语用来添加到截断列表的后面(见 et-al)。默认地,当名字列表被截断到单个名字,则名字和 "et-al" 术语之间使用空格进行隔开(例如:Doe et al.)。当一个名字列表被截断到两个或者三个名字,则使用分隔符(例如:Doe, Smith, et al.)。这些行为可以使用 delimiter-precedes-et-al 属性来设置。

    et-al-subsequent-min/st-al-subsequent-use-first

    如果使用了这两个属性,则属性的值分别替换 et-al-minet-al-use-first 的值以便后续引用。

    et-al-use-last

    当该属性设置为 "true" 时,(默认为 "false"),则使用下面的格式:截断的名称列表,分隔符,省略号,名称列表最后一个名字。这个属性只能在名称列表有多余两个的名称时使用。例:

    A. Goffeau, B. G. Barrell, H. Bussey, R. W. Davis, B. Dujon, H.
    +Feldmann, … S. G. Oliver
    +

    下面讨论的属性将只会影响单个人的名字,这里先给出名字的组成部分。单个人的名字必须含有 "family" 部分,还可以含有 "given","suffix","non-dropping-particle",和 "dropping particle" 等部分。下面对这些部分分别进行解释:

    • "family" - 姓氏,必须去掉 particle(译注:暂译为粒子)和后缀
    • "given" - 全名 "John Edward" 或者 J. E.
    • "suffix" - 名字后缀,比如:外国人常用的 Jr 或者罗马数字(经常翻译为 xx 世,比如伊丽莎白二世) "Jr." in "John Smith Jr." 或者 "III" in "Bill Gates III"
    • "non-dropping-particle" - 不可删除(省略)的粒子。当只显示姓氏的时候,不能省略 ("de" in the Dutch surname "de Koning") ,但是可能会在姓氏中分别对待,比如在排序的时候
    • "dropping-particle" - 可删除的粒子。当只显示姓氏的是欧,可以省略 ("van" in "Ludwig van Beethoven", which becomes "Beethoven")

    下面的属性将会影响单个人的名称的渲染:

    form

    指定是否显示名字的所有部分(默认为 "long"),或者只显示姓氏和不可省略粒子(值为 "short")。除这两种情况外,还可以设置为 "count",返回使用 cs:names 元素渲染的部分的总数(考虑 et-al 缩写和编辑/翻译等折叠的影响)。

    initialize

    当该属性设置为 "false 时(默认的结果为 "true"),并且 "initialize-with" 属性被设置时,全名将不使用缩写。但是,如果在全名中有单独的大写字母的时候,仍然会添加 ``"initialize-with"的值。例如:当initialize设置为"false",并且initialize-with设置为"."` 时,James T kirk 将会变为 James T. Kirk。

    initialize-with

    当该实行被设置时,全名将会使用缩写。该属性将会在每个首字母后添加属性值,比如:上述的名字会变为 J.J. Doe。对于合成的全名,例如:Jean-luc,可以使用全局的带有连字符的 initialize-with-hyphen 属性来设置其缩写形式(见 人名中的连字符)。

    name-as-sort-order

    指定名字的显示顺序为:姓,然后是名,例如:John Doe 变为 Doe,John。该属性值可以设置为:

    • "first" - 属性只影响名字变量中的第一个名字
    • "all" - 属性将会影响所有的名字

    注意:即使 name-as-sort-order 改变了名字内部的顺序,最终显示的顺序不一定与包含粒子和后缀的名字的相同(见 名字内部顺序)。name-as-sort-order 只影响以拉丁字母或者西里尔字母书写的名字。其他字母书写的名字(比如,亚洲的大部分名字)总是将全名中的姓显示在前面。

    sort-separator

    设置名字的不同部分由于 name-as-sort-order 属性导致的内部位置变换后的分隔符。默认值为 ","(Doe, John)。和 name-as-sort-order 属性相同,该属性只适用于拉丁字母和西里尔字母的名字。

    cs:name 元素也可以携带 词缀格式化

    名字内部顺序

    名字内部各部分的顺序取决于 cs:name 元素中 formname-as-sort-order 属性和 cs:style 元素中的 demote-non-droping-particle 属性的设置。名称各部分的显示和排序的属性通常是不同的。下面将对名字顺序进行简单的介绍:

    拉丁/西里尔名字的显示顺序


    条件:form 属性设置为 "long"

    顺序:1. 名 2. 可省略粒子 3. 不可省略粒子 4. 姓 5. 后缀

    示例:Jean de La Fontaine III


    条件:form 属性设置为 "long"name-as-sort-order 属性激活,demote-non-dropping-particle 属性设置为 "never" 或者 "sort-only"

    顺序:1. 不可省略粒子 2. 姓 3. 名 4. 可省略粒子 5. 后缀

    示例:La Fontaine, Jean de, III


    条件:form 属性设置为 "long"name-as-sort-order 属性激活,demote-non-dropping-particle 属性设置为 "display-and-sort"

    顺序:1. 姓 2. 名 3. 可省略粒子 4. 不可省略粒子 5. 后缀

    示例:Fontaine, Jean de La III


    条件:form 属性设置为 "short"

    顺序:1. 不可省略粒子 2. 姓

    示例:La Fontaine


    拉丁/西里尔名字的排序顺序


    条件:demote-non-dropping-particle 属性设置为 "never"

    顺序:1. 不可省略粒子 + 姓 2. 可省略粒子 3. 名 4. 后缀

    示例:La Fontaine de Jean III


    条件:demote-non-dropping-particle 属性设置为 "sort-only" 或者 "display-and-sort"

    顺序:1. 姓 2. 可省略粒子 + 不可省略粒子 3. 名 4. 后缀

    示例:Fontaine de La Jean III


    非拉丁和非西里尔名字的显示和排序顺序


    条件:form 属性设置为 "long"

    顺序:1. 姓 2. 名

    示例:张三 或者 Zhang San


    条件:form 属性设置为 "short"

    顺序:1. 姓

    示例:张 或者 Zhang


    名字格式化

    cs:name 元素可能会携带一个或者两个 cs:name-part 子元素来对名字的小部分进行特定的格式化。cs:name-part 必须携带 name 属性,设置为 "given" 或者 "family"

    如果设置为 "given"cs:name-part 元素的 格式化文字大小写 属性会影响 "given""dropping-particle" 部分。词缀 出现在 "given" 左右,将该部分扩起来。

    如果设置为 "family"cs:name-part 元素的 格式化文字大小写 属性会影响 "given""non-dropping-particle" 部分。词缀 出现在 "family" 左右,将该部分扩起来。

    "suffix" 部分不受 name-part 部分格式限制。cs:name-part 元素不影响 name-part 渲染的顺序。下面的代码,将产生类似 Jane DOE 的效果:

    <names variable="author">
    +  <name>
    +    <name-part name="family" text-case="uppercase"/>
    +  </name>
    +</names>
    +

    Et-al

    Et-al 缩写通过 et-al-… 属性来控制(见 Name),同时也可以使用可选的 cs:et-al 元素设置,cs:et-al 元素必须放在 cs:name 元素后。term 属性可以被设置为 "et-al"(默认)或者 "and others"格式化 属性可以用来设置 et-al 的格式,下面是 "et-al" 术语的一个例子:

    <names variable="author">
    +  <et-al term="and others" font-style="italic"/>
    +</names>
    +

    Substitute

    可选的 cs:substitute 元素,是 cs:names 的子元素,且必须是最后一个子元素,在父元素 cs:names 中指定的 名字变量 为空时添加替换。替换必须放在 cs:substitute 元素中,并且必须包含一个或者多个渲染元素(除 cs:layout)。cs:names 的简洁版本没有子元素,继承了 cs:names 元素中在 cs:namecs:et-al 子元素的属性值。如果 cs:substitute 元素包含了多个子元素,第一个非空的元素用于替换。替换变量在输出的其余部分被抑制,以防止重复。下面的例子中:"author" 名称变量为空时,就被 "editor" 名称变量替换,在没有 editor 时,则使用 "title" 宏替换。

    <macro name="author">
    +  <names variable="author">
    +    <substitute>
    +      <names variable="editor"/>
    +      <text macro="title"/>
    +    </substitute>
    +  </names>
    +</macro>
    +

    Label in cs:names

    cs:label 元素是可选的(见 Label),而且必须位于 cs:namecs:et-al 元素后,在 cs:substitute 元素前。当 cs:label 作为 cs:names 元素的子元素时,cs:label 不能携带 variable 属性,而是使用父元素 cs:names 中的变量。第二个区别是:form 属性可以设置为 "verb" 或者 "verb-short",其所有允许的值为:

    • "long" - (默认), 例如, "editor" 术语渲染为 "editor" 和 "editors"
    • "short" - 例如,"editor" 术语渲染为 "ed." 和 "eds"
    • "verb" - 例如,"editor" 术语渲染为 "edited by"
    • "verb-short" - 例如,"editor" 术语渲染为 "ed."
    • "symbol" - 例如,"section" 术语渲染为 "§" 和 "§§"

    Label

    cs:label 渲染元素输出与所选变量匹配的术语,该属性必须设置为 "locator"、"page" 或数字变量之一。只有当选择的变量是非空的时候,术语才会渲染。例如:

    <group delimiter=" ">
    +  <label variable="page"/>
    +  <text variable="page"/>
    +</group>
    +

    可以生成 "page 3" 或者 "pages 5-7"cs:label 可能会携带下面的属性:

    form

    ​ 选择术语的形式,可以设置为下面的值:

    • "long" - (默认), 例如: "page" 术语渲染为 "page"/"pages"
    • "short" - 例如: "page" 术语渲染为 "p."/"pp."
    • "symbol" - 例如: "section" 术语渲染为 "§"/"§§"

    plural

    ​ 设置术语的复数形式,可以使用下面的值:

    • "contextual" - (默认),复数形式的渲染和具体的内容相匹配。当内容中包含多个数字时,使用复数形式。如下面的渲染结果:"page 1","pages 1-3","volume 2","volumes 2 & 4"。或者在使用 number-of-pagesnumber-of-volumes 时,数字大于 1,例如: ("1 volume" 和 "3 volumes"。
    • "always" - 总是使用复数形式,不管具体的内容如何。例如:"pages 1" 和 "pages 1-3"
    • "never" - 禁止使用复数形式,不管具体内容: "page 1" 和 "page 1-3"

    cs:label 也可能会携带 affixesopen in new window, formattingopen in new window, text-caseopen in new windowstrip-periodsopen in new window 属性。

    Group

    cs:group 元素必须包含一个或者多个渲染元素(除了 cs:layout)。cs:group 可以携带 delimiter 属性来分隔子元素以及 affixesdisplayformatting 属性。cs:group 隐含的条件,当以下情况出现时,cs:group 和它的子元素将会被抑制:a) 在 cs:group 中至少一个渲染元素调用了变量(直接地或者通过宏调用),b) 所有被调用得变量都为空。

    <layout>
    +  <group delimiter=" ">
    +    <text term="retrieved"/>
    +    <text term="from"/>
    +    <text variable="URL"/>
    +  </group>
    +</layout>
    +

    上述代码可以生成 "retrieved from http://dx.doi.org/10.1128/AEM.02591-07" 类似得结果,但是当 URL 为空的时候,不生成结果。

    Choose

    cs:choose 元素允许有条件的渲染元素。下面的例子的意思为:在 "issud" 日期变量存在的情况下,就实施渲染,如果不存在,就给出 "no date" 术语:

    <choose>
    +  <if variable="issued">
    +    <date variable="issued" form="numeric"/>
    +  </if>
    +  <else>
    +    <text term="no date"/>
    +  </else>
    +</choose>
    +

    cs:choose 元素中必须还有 cs:if 子元素,后面还可以有一个或者多个 cs:else-if 子元素以及一个可选的用来结尾的 cs:else 元素。cs:ifcs:else-if 元素可能回包含任意个除 cs:layout 的渲染元素。由于空的 cs:else 元素是多余的,所以 cs:else 元素必须至少包含一个渲染元素。cs:ifcs:else-if 元素必须含有一个或多个判断条件,这些条件可以使用下买的属性设置:

    disambiguate

    ​ 当改属性设置为 "true"(唯一允许的值) 的时候,在元素内容消除了两个相同的引用时渲染。当所有其他消除歧义的方法都不能识别唯一的目标时,才进行消除歧义的尝试。

    is-numeric

    ​ 测试给定的变量([附录 IV 变量](#附录 IV 变量))是不是包含数字部分。如果内容仅由数字构成,则识别为数字。数字可以带有前缀、后缀("D2","2b","L2d")、并且可能被逗号,连字符或 & 分隔("2, 3","2-4","2 & 4")。 例如, "2nd" 被识别为 "true" ,但 "second" 和 "2nd edition" 被识别为 "false".

    is-uncertain-date

    ​ 判断给定的 日期变量 是不是包含 [近似日期](#Approximate Dates)。

    locator

    ​ 判断位置是不是和给定的位置符合。这里的位置主要是在一个文档中的位置,比如,题目,第几段。使用 "sub-verbo" 判断是不是 "sub-verbo" 类型

    position

    ​ 判断引用的位置湿否和给定的位置匹配。当在 cs:bibliography 中调用时,position 的结果为 "false"。位置可以使用下面的选项测试:

    • "first": 第一个引用项的位置

    • "ibid"/"ibid-with-locator"/"subsequent": 引用先前引用的项目的引用,Such cites may also have the "ibid" or "ibid-with-locator" position when:

      1. the current cite immediately follows on another cite, within the same citation, that references the same item

      or

      1. the current cite is the first cite in the citation, and the previous citation consists of a single cite referencing the same item

      If either requirement is met, the presence of locators determines which position is assigned:

      • Preceding cite does not have a locator: if the current cite has a locator, the position of the current cite is "ibid-with-locator". Otherwise the position is "ibid".
      • Preceding cite does have a locator: if the current cite has the same locator, the position of the current cite is "ibid". If the locator differs the position is "ibid-with-locator". If the current cite lacks a locator its only position is "subsequent".
    • "near-note": position of a cite following another cite referencing the same item. Both cites have to be located in foot or endnotes, and the distance between both cites may not exceed the maximum distance (measured in number of foot or endnotes) set with the near-note-distance option (see Note Distanceopen in new window).

    Whenever position="ibid-with-locator" tests true, position="ibid" also tests true. And whenever position="ibid" or position="near-note" test true, position="subsequent" also tests true.

    type

    ​ 测试项目是不是和给定的类型匹配([附录 III 类型](#附录 III 类型))。这里的类型指条目的类型,例如,书,期刊文献,学位论文。

    variable

    ​ 测试给定变量([附录 IV 变量](#附录 IV 变量))的默认的形式 (long) 是不是为空。


    除了 disambiguate 外,所有的条件都允许有多个测试值,多个测试值使用空格分隔("book thesis")。

    cs:if 元素和 cs:else-if 元素可能会携带 match 属性用来控制判断的逻辑,match 可设置的值为:

    • "all" - 默认,仅当所有给定测试值都为 true 的时候结果才为 true
    • "any" - 当任意一个值为 true 的时候,结果就为 true
    • "none" - 当没有值测试为 true 的时候,结果为 true

    样式的行为

    WORK IN PROGRESS

    此页面正在施工中。

    选项

    样式可以使用不同的元素来进行特定的配置。在 cs:citation 元素中设置元素可以配置特定的 引文选项;在 cs:bibliography 元素和 全局选项(同时影响引文和参考文献条目)中,可以配置特定的参考文献条目。继承的名字选项可以在 cs:style,cs:stylecs:bibliography 中设置。最后,本地化选项 可以在 cs:locale 元素中设置。

    引文选项

    消除歧义

    当一个引用对应多个参考文献条目的时候会产生歧义。下面有四种方法用来消除歧义:

    1. 显示更多作者姓名
    2. 扩展姓名(添加缩写或者完整的名)
    3. 添加年份后缀
    4. cs:choosedisambiguate 属性为 true 的时候,实行渲染

    方法 2 也可以在全局名称歧义消除异己整个文档中有歧义的地方。

    消除歧义的方法在下面属性被设置的时候,将会被激活,并且按上述列表中的方法进行尝试:

    disambiguate-add-names 步骤 1

    ​ 如果设置为 "true"(默认为 false),使用 et-al 缩写锁代替的名字列表会逐个的加入到渲染列表中,知道添加的名字可以消除引用歧义为止。

    disambiguate-add-givenname 步骤 2

    ​ 如果设置为 "true"(默认为 false),产生歧义的名字将被扩展。名字扩展可以使用 givenname-disambiguation-rule 设置。下面是一个例子。

    含有歧义的引用消除歧义的引用
    (Simpson 2005; Simpson 2005)(H. Simpson 2005; B. Simpson 2005)
    (Doe 1950; Doe 1950)(John Doe 1950; Jane Doe 1950)

    如果不能通过扩展名字来实现消除歧义,当 disambiguate-add-names 属性设置为 "true", the names still hidden as a result of et-al abbreviation after the disambiguation attempt of disambiguate-add-names are added one by one to all members of a set of ambiguous cites, until no more cites in the set can be disambiguated by adding expanded names.

    givenname-disambiguation-rule

    用来指定 a) 名字扩展的目的是不是仅限于消除歧义,还是对消除歧义的名字有其他的目的 (只有在后面的情况中,有歧义的名字才会在明确的引用中扩展,例如:从 (Doe 1950; Doe 2000) 扩展到 (Jane Doe 1950; John Doe 2000)) b) 名称扩展是针对全部还是针对每个引用的名字 c) 扩展名字的方法。

    扩展单个名字

    ​ 扩展单个名字的步骤是:

    1. 如果 initialize-with 被设置并且 initialize 的值为默认的 true:
      (a) 可以通过 "long" 而不是 "short" 的形式来渲染首字母 (e.g. Doe 变为 J. Doe)
      (b) 如果 initialize 设置为 "flase",完整的姓名被渲染,而不是首字母(J. Doe 变为 John Doe)
    2. 如果 initialize-with 没有被设置,使用 "long" 格式渲染完整的姓名(Doe 变为 John Doe)

    消除歧义法则

    givenname-disambiguation-rule 属性可设置的值为:

    ​ "all-name"

    ​ 名字扩展具有消除名字歧义和消除引用歧义的双重目的。在渲染的有歧义的名称中,所有的有歧义的或者没有歧义的名字都将被消除歧义。

    ​ "all-names-with-initials"

    ​ 和 "all-name" 一样,但是名称的扩展仅限于缩写。当 initialize-with 没被设置或者 initialize 被设置为 "false" 时,不会进行消除歧义的尝试。

    ​ "primary-name"

    ​ 和 "all-name" 一样,但是消除歧义仅限于每个引用的第一个名字。

    ​ "primary-name-with-initials"

    ​ 和 "all-names-with-initials" 一样,但是消除歧义仅限于每个引用的第一个名字。

    ​ "by-cite"

    ​ 默认,和 "all-name" 一样,但是名称扩展的目的仅限于消除引用的歧义,只有有歧义的名字在有歧义的引用中才会被影响,并且在引用的第一个名字消除歧义后就停止消除歧义。

    disambiguate-add-year-suffix 步骤 3

    如果设置为 "true"(默认为 "false"),字母序的年后缀将会被添加到有歧义的名字上("Doe 2007, Doe 2007" 变为 "Doe 2007a, Doe 2007b")。当字母序到达 "z",后,就会启用两个字母("z", "aa", "ab", …, "az", "ba" 等等)。


    如果应用上述的歧义消除方法后仍然存在歧义,则尝试通过 disambiguate 条件来渲染不同的引用 [步骤 4] (见 choose)。

    引用分组

    通过引用分组,可以将相同名称的文本引用放在一起,比如:(Doe 1999; Smith 2002; Doe 2006; Doe et al. 2007) 将会变为 (Doe 1999; Doe 2006; Smith 2002; Doe et al. 2007)。引用分组在引用排序和消除歧义后执行。分组后的引用保持其相对顺序,并移到第一个改组中引用出现的第一个位置。

    引用分组可以在 cs:citation 元素中通过设置 cite-group-delimiter 属性或者 collapse 属性(见 [cite collapsing](#cite collapsing))激活。

    cite-group-delimiter

    激活引用分组并为引用组中的引用指定分隔符,默认为 ","。例如,当 cs:citation 元素中的 cs:layout 中的 delimiter 设置为 ";" 时,collapse 设置为 "year"cite-group-delimiter 设置为 ",",将生成类似 "(Doe 1999,2001; Jones 2000)" 的引用。

    cite collapsing/引用折叠

    author 或者 author-date 类型的引用格式中的引用分组和数字格式中的引用范围可以通过 collapse 属性来折叠。折叠引用组中分隔符可以是使用 year-suffix-delimiterafter-collapse-delimiter 属性来设置:

    collapse

    激活引用分组和折叠。允许的值为:

    • "citation-number" - 当使用数字样式的时候,折叠引用数字的范围(通过 "citation-number" 变量来渲染) ,例如:[1, 2, 3, 5] 变为 [1–3, 5]。只有升序的引用才可以折叠,比如: [3, 2, 1] 将不会折叠。
    • "year" - 通过压缩相同的名字来折叠引用分组,例如: "(Doe 2000, Doe 2001)" 变为 "(Doe 2000, 2001)"。
    • "year-suffix" - 对名字相同的折叠项,折叠相同的年份,例如: "(Doe 2000a, 2000b)" 变为 "(Doe 2000a, b)"。
    • "year-suffix-ranged" - 对名字相同的折叠项,折叠年份范围,例如: "(Doe 2000a, b, c, e)" 变为 "(Doe 2000a–c,e)"。

    disambiguate-add-year-suffix 设置为 "false" 时,或者引用中包含位置(例如:“(Doe 2000a-c, 2000d, p. 5, 2000e,f)”,"Doe 2000d" 有一个页码位置),"year-suffix" 和 "year-suffix-ranged" 回退到 "year"。

    year-suffix-delimiter

    ​ 设置年份后缀的分隔符。默认在 cs:citation 元素的 cs:layout 中设置。例如:当 collapse 设置为 "year-suffix"cs:citation 中的 cs:layoutdelimiter 元素设置为 ";",并且 year-suffix-delimiter 设置为 "," 时,渲染结果将类似于 "(Doe 1999a,b; Jones 2000)"。

    after-collapse-delimiter

    ​ 设置折叠后的引用组要使用的分隔符。默认在 cs:citation 元素的 cs:layout 中设置。例如:当 collapse 设置为 "year"cs:citation 中的 cs:layoutdelimiter 元素设置为 ",",并且 after-collapse-delimiter 设置为 ";" 时,渲染结果将类似于 "(Doe 1999, 2001; Jones 2000, Brown 2001)"。

    标注距离

    near-note-distance

    当有一个预先的标注时,"near-note" 位置是我引用被判断为真,这种预先的标注可以为 a) 指向同一个项目 b) 当前注视以前的脚注或尾注。(译注:不知道讲了什么)

    参考文献目录选项

    空白

    hanging-indent

    ​ 如果设置为 "true"(默认为 "false"),参考文献列表将采用悬挂缩进渲染。

    second-field-align

    ​ 如果该属性被设置,则书目条目的后续行沿第二字段对齐。 使用 "flush" 时,第一个字段与边距齐平。 对于 "margin",第一个字段放在 margin 中,随后的行与 margin 对齐。例如,当第一个字段设置为 <text variable="citation-number" suffix=". "/>

    9.  Adams, D. (2002). The Ultimate Hitchhiker's Guide to the
    +    Galaxy (1st ed.).
    +10. Asimov, I. (1951). Foundation.
    +

    line-spacing

    ​ 指定垂直方向的行距。默认值为 "1",即单倍行距。可以被设置为任意正整数,用来表示对应倍数的行距。

    entry-spacing

    ​ 指定不同条目垂直方向的距离,默认值为 "1",即一倍距离,可以被设置为任意正整数,用来表示对应倍数的距离。

    参考文献分组

    subsequent-author-substitute

    ​ 如果该属性被设置,则此属性将用上一条条目中的名称替换参考文献条目中的名字。具体的代替方案取决于 subsequent-author-substitute-rule 属性的值。替换仅限于 cs:names 元素中渲染的第一个名字。

    subsequent-author-substitute-rule

    ​ 用来指定 subsequent-author-substitute 的结果怎么替换。允许的值为:

    • "complete-all" - 默认值,当名字变量中的所有渲染的名字和上一个参考文献条目相同时,subsequent-author-substitute 属性的值将代替整个名字列表(包括标点和术语,比如 et-al 和 and 等术语),但 cs:names 元素中设置的后缀将不会被代替。
    • "complete-each" - 和 "complete-all" 一样,需要完整的匹配,但是 subsequent-author-substitute 属性的值将会代替所有被渲染的名字。
    • "partial-each" - 当有一个或者多个名字变量中的渲染名字和上一个条目中相同时,使用 subsequent-author-substitute 属性代替对应的值。匹配从第一个名字开始,直到不匹配的名字为止。
    • "partial-first" - 和 "partial-each" 相同,但是替换仅限于第一个名字。

    对下面的例子:

    Doe. 1999.
    +Doe. 2000.
    +Doe, Johnson & Williams. 2001.
    +Doe & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +Doe, Stevens & Miller. 2004.
    +Doe, Williams et al. 2005.
    +Doe, Williams et al. 2006.
    +

    subsequent-author-substitute 设置为 "-",并且 subsequent-author-substitute-rule 设置为 "complete-all",渲染结果将变为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +Doe & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---. 2004.
    +Doe, Williams et al. 2005.
    +---. 2005.
    +

    subsequent-author-substitute-rule 设置为 "complete-each" 时,渲染的结果为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +Doe & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---, --- & ---. 2004.
    +Doe, Williams et al. 2005.
    +---, --- et al. 2006.
    +

    subsequent-author-substitute-rule 设置为 "partial-each" 时,渲染的结果为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +--- & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---, --- & ---. 2004.
    +Doe, Williams et al. 2005.
    +---, --- et al. 2005.
    +

    subsequent-author-substitute-rule 设置为 "partial-first" 时,渲染的结果为:

    Doe. 1999.
    +---. 2000.
    +Doe, Johnson & Williams. 2001.
    +--- & Smith. 2002.
    +Doe, Stevens & Miller. 2003.
    +---, Stevens & Miller. 2004.
    +Doe, Williams et al. 2005.
    +---, Williams et al. 2005.
    +

    全局选项

    人名中的连字符

    initialize-with-hyphen

    ​ 该属性用来制定合成名字中间是不是使用连字符。例如,"Jean-Luc" 是一个合成名字,如果该属性设置为 "true"(默认),渲染结果为 "J.-L.",如果设置为 "false",渲染结果为 "J.L."

    页码范围

    page-range-format

    ​ 用来设置页码范围的格式,是不是使用简写来压缩。其可选的值有:"chicago" ("321–28"), "expanded" ( "321–328"), "minimal" ("321–8"), 或者 " minimal-two" ("321–28")。每一组值前面表示可选的属性值,后面是渲染结果的例子。也可见 [附录 V 页码范围格式](#附录 V 页码范围格式)。使用 page-range-delimiter 属性可以用来设置页面范围分割的符号,该属性在 CSL 1.0.1 中引入,默认是一个破折号。如果改属性没有设置,就默认使用破折号。

    Name Particles

    ​ 西方人的名字中经常包括一个或者多个小部分,例如,"de" 在荷兰人的名字中 "W. de Koning"。在仅显示姓氏时,这些小部分可以分为必须保留和可删除(或译为不可省略和可省略)两种类型:这两种类型分别称为 non-dropping 部分和 dropping 部分。一个单个的名字可以同时包括这两种类型(不能删除的类型始终位于可删除类型的后面)。例如,"W. de Koning" 和法国名字 "Jean de la Fontaine" 可以被解构为:

    {
    +  "author": [
    +    {
    +      "given": "W.",
    +      "non-dropping-particle": "de",
    +      "family": "Koning"
    +    },
    +    {
    +      "given": "Jean",
    +      "dropping-particle": "de",
    +      "non-dropping-particle": "La",
    +      "family": "Fontaine"
    +    }
    +  ]
    +}
    +

    在仅显示姓氏的时候,只保留不能删除的部分,"De koning""La Fontaine"

    在名字倒写的情况下,即姓氏在名字之前,在姓氏后面始终添加 dropping particle,但是 non-dropping 部分可以前置(例如,"de Koning, W.")或者后置(Koning, W. de)。在名字倒写,不可省略粒子前置时,可以使用下面的方式对名字进行排序:排序 A:将不可省略粒子和姓一起保留作为主排序键值的一部分;排序 B:通过将不可省略粒子和姓分开,并使其成为二级排序键值,并加入可省略粒子(如果有):

    Sort order A: 不可省略粒子不降级

    • 主排序键值 "La Fontaine"
    • 次排序键值 "de"
    • 第三排序键值: "Jean"

    Sort order B: 不可省略粒子降级

    • 主排序键值 "Fontaine"
    • 次排序键值 "de La"
    • 第三排序键值 "Jean"

    对不可省略粒子的设置可以使用 demote-non-dropping-particle 选项:

    demote-non-dropping-particle

    ​ 用来设置在倒写的名字中不可省略粒子的显示和排序方式(例如 Koning W. de)。可设置的值为:

    • "never": 不可省略粒子被作为姓中的一部分对待,并附加可省略粒子("de Koning, W." "La Fontaine, Jean de")。不可省略粒子作为主排序键值的一部分 (排序 A,例如. "de Koning, W." 将出现在首字母 "D" 的区域).
    • "sort-only": 显示的方式和 "never" 相同,但是不可省略粒子降级作为二级排序键值。(排序 B, "de Koning, W." 出现在首字母 "K" 的区域).
    • "display-and-sort" (默认),可省略粒子和不可省略粒子在最后( "Koning, W. de" 和 "Fontaine, Jean de La")。对名字排序,所有的粒子都是二级排序键值的一部分。(排序 B,"Koning, W. de" 出现在首字母 "K" 的区域).

    某些名字中包含的粒子禁止被降级。在这些情况中,粒子将和姓合并到一起,比如,对于法国名字 Charles de Gaulle

    {
    +  "author": [
    +    {
    +      "family": "de Gaulle",
    +      "given": "Charles"
    +    }
    +  ]
    +}
    +

    可继承的名称选项

    cs:namescs:name 元素的属性也可以在 cs:stylecs:citationcs:bibliography 元素中设置。这样就不需要每次在 cs:namescs:name 出现的时候赋值。

    ​ 可以在 cs:name 元素中继承的属性有 and, delimiter-precedes-et-al, delimiter-precedes-last, et-al-min, et-al-use-first, et-al-use-last, et-al-subsequent-min, et-al-subsequent-use-first, initialize, initialize-with, name-as-sort-ordersort-separatorname-form 属性和 name-delimiter 属性对英语 cs:name 元素中的 formdelimiter 属性。同样地,names-delimiter 属性对应 cs:names 元素中的 delimiter 属性。

    ​ 当一个可继承的名称属性在 cs:stylecs:citationcs:bibliography 中设置时,其值将作用于改元素包含的所有的 cs:names 元素。如果一个属性在多个可继承的层次设置,最底层的值发挥作用。

    局部选项

    limit-day-ordinals-to-day-1

    ​ 日期格式在 cs:datecs:date-part 元素中定义。默认地,当 cs:date-part 元素中的 name 设置为 "day"form 属性设置为 "ordinal" 时,所有的天(1 到 31)将会以序数形式渲染,例如:"January 1st","January 2nd" 等等。通过将 limit-day-ordinals-to-day-1 属性设置为 "true"(默认值为 "false"),序数格式将仅限于每个月的第一天,其他的天将不使用序数格式。这在某些语言中出现,比如法语,"1er janvier","2 janvier","3 janvier"。

    punctuation-in-quote

    ​ 当 cs:text 元素渲染时,如果 quotes 属性设置为 "true"(见 格式化),并且在输出后有逗号或者句号,punctuation-in-quote 属性可以控制标点放在括号的内还是外,"false" 为外(默认),"true" 为内。

    排序

    cs:citationcs:bibliography 元素可以在 cs:layout 元素之前携带一个 cs:sort 子元素,来实现对引文或者参考文献条目的排序。在缺失 cs:sort 元素时,引文和文献条目将会使用他们在文章中出现的顺序来排序。

    cs:sort 元素必须包含一个或者多个 cs:key 子元素,可以在该元素中设置变量([附录 IV 变量](#附录 IV 变量))或者宏名来实现排序。对于每个 cs:key 元素,排序的顺序可以通过设置 sort 属性来设置为升序("ascending",默认)或者降序("descending")。属性 names-min,names-use-first,names-use-last 可以用来覆盖 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-firstet-al-use-last 属性的值,并且可以通过 cs:key 影响所有的名字.

    ​ 排序的键值是按顺序求值的,也就是说:首先,使用第一个排序键值对所有的项目进行排序。然后使用第二个键值对第一个键值排序后的结果进行排序,直到所有的键值都完成排序为止。如果键值为空,就放到最后。

    ​ 这里给出一个例子:其中首先引用 "author" 宏进行排序,并且使用 et al. 来对较长的作者序列进行代替。然后,使用 "issued" 变量来进行第二次排序,使用降序:

    <citation>
    +  <sort>
    +    <key macro="author" names-min="3" names-use-first="3"/>
    +    <key variable="issued" sort="descending"/>
    +  </sort>
    +  <layout>
    +    <!-- rendering elements -->
    +  </layout>
    +</citation>
    +

    ​ 变量或者宏的排序键值可以与 "normal" 渲染的输出不同,具体要依赖下面的细节:

    排序变量

    cs:key 元素通过 variable 变量属性调用变量的排序键值。名称变量、日期变量和数字变量除外:

    名称: 名字变量 通过变量属性被调用,例如 <key variable="author"/>,当 form 属性设置为 "long"name-as-sort-order 属性设置为 "all",返回名字列表字符串。

    日期日期变量 通过 variable 属性被调用,返回 YYYYMMDD 格式。使用 0 代替缺失的日期部分,例如:December 2000 渲染为 20001200。因此,简略的日期在升序排列的时候更加靠前,例如:2000, May 2000, May 1st 2000。负数的年份(即公元前)将被反向排序,比如:100BC, 50BC, 50AD, 100AD。排序过程中,季节将被忽略,因为南北半球的季节顺序不同。在日期范围中,开始的日期用于主要排序,结束日期用于次要排序,例如:2000–2001, 2000–2005, 2002–2003, 2002–2009。在具有相同的开始日期时,日期范围将放在单独的日期后,例如:2000, 2000–2002。

    数字数字变量 通过 variable 属性来调用,返回整数(form 设置为 "numeric")如果原始的变量值仅由非数字文本组成,则将该值作为文本字符串返回。

    排序宏

    ​ 变量排序的键值是由字符串值组成,没有富文本标记。通过宏属性中的键值 cs:key 来调用。下面为一些特殊情况。

    ​ 对于名字排序,使用相同的宏而不是直接使用名字变量来渲染和排序有 4 个好处。第一,可以使用替换,例如:可以使用 "editor" 变量代替空的 "author" 变量。第二,可以使用 et-al 缩写,在宏里使用 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-firstet-al-use-last 可选属性,或者覆盖 cs:key 元素中的 names-min, names-use-firstnames-use-last 。当 et-al 缩写出现的时候,"et-al""and others" 术语不会包括在排序键值中。第三,名字可以只使用姓来排序,即使用宏,其中的 cs:nameform 属性设置为 "short"。最后,通过调用宏,将 cs:name 中的 form 属性设置为 "count",可以按姓名列表中姓名的数目进行排序。至于使用 variable 属性对姓名进行排序,将 cs:name 中的 name-as-sort-order 属性设置为 "all",返回值为排序后的名称列表。

    ​ 在宏中带有 cs:number数字变量 的和日期变量的渲染方法和通过变量的调用相同。唯一的区别是:如果通过 variable 属性调用日期变量,将返回完整的日期。相反地,宏调用则只返回原本要渲染的日期部分。例如:

    范围分隔符

    ​ "citation-number" 和 "year-suffix" 变量的折叠范围以短划线分隔,例如 "(1-3,5)" 和 "(Doe 2000a-c,e)"。

    ​ "locator" 变量总是使用一个短划线代替任意的连字符。 对 "page" 变量来说,只有 cs:style 中的 page-ran ge-format 属性被设置时,替换才会执行(见 页码范围)。

    格式化

    ​ 下面的属性可以在 cs:date, cs:date-part, cs:et-al, cs:group, cs:label, cs:layout, cs:name, cs:name-part, cs:names, cs:numbercs:text 中设置:

    font-style

    用来设置字体,可能的值为:

    • "normal" 默认
    • "italic" 设置文字的斜体
    • "oblique" 设置没有斜体的文字倾斜

    font-variant

    Allows for the use of small capitals, 值可以设置为:

    • "normal" 默认
    • "small-caps"

    font-weight

    设置字宽,值可以为:

    • "normal" 默认
    • "bold"
    • "light"

    text-decoration

    设置下划线,值可以为:

    • "none" 默认
    • "underline"

    vertical-align

    设置垂直对齐,值可以为:

    • "baseline" 默认
    • "sup" 上标
    • "sub" 下标

    词缀

    ​ 前缀属性 prefix 和后缀属性 suffix 可以在 cs:date(使用 cs:date 定义本地化格式除外),cs:date-partcs:date 调用本地化格式除外)、cs:groupcs:labelcs:layoutcs:namecs:namescs:number 以及 cs:text 中设置。属性值用来在输出的前面或者后面添加东西,但是只有输出的时候才会渲染。除在 cs:layout 中设置外,词缀将出现在同一个元素的 格式化引用strip-periodstext-case 的影响范围的外面,也就是这些属性的设置对前缀和后缀没有影响。作为一种解决方法,在父元素 cs:group 中设置上述属性,会产生影响。

    分隔符 delimiter

    delimiter 属性可以在 cs:date(用来分隔日期的各部分,如年和月;在 cs:date 调用本地化格日期格式时,分隔符将被禁用)、cs:name(分隔名字变量中不同的名字列表)、cs:name(分隔名字列表中的名字)、cs:group 以及 cs;layout(分隔子元素的输出)中设置分隔符。

    显示 display

    display 属性可用于将各个参考文献条目构成一个或者多个文本块。如果使用该属性,所有的渲染元素都在该属性的控制下。(译注:是用来设置对齐效果的)属性可能的值为:

    • "block" - 两边对其
    • "left-margin" - 左对齐。
    • "right-inline" - 右对齐
    • "indent" - 缩进。

    A. 除使用 second-field-align 外,使用 "left-margin""roght-inline" 可以实现相同的渲染效果。这种操作方式潜在的好处是,可以在最终的输出中进一步控制块的格式,例如,在 HTML 的 CSS 或者 Word 的样式中。

    <bibliography>
    +  <layout>
    +    <text display="left-margin" variable="citation-number"
    +        prefix="[" suffix="]"/>
    +    <group display="right-inline">
    +      <!-- rendering elements -->
    +    </group>
    +  </layout>
    +</bibliography>
    +

    B. 每个作者的出版物列表。当 subsequent-author-substitute 设置为空字符串时,具有相同作者的条目的作者名字只渲染一次。

    <bibliography subsequent-author-substitute="">
    +  <sort>
    +    <key variable="author"/>
    +    <key variable="issued"/>
    +  </sort>
    +  <layout>
    +    <group display="block">
    +      <names variable="author"/>
    +    </group>
    +    <group display="left-margin">
    +      <date variable="issued">
    +        <date-part name="year" />
    +      </date>
    +    </group>
    +    <group display="right-inline">
    +      <text variable="title"/>
    +    </group>
    +  </layout>
    +</bibliography>
    +

    渲染结果将类似下面:

    Author1
    year-publication1title-publication1
    year-publication2title-publication2
    Author2
    year-publication3title-publication3
    year-publication4title-publication4

    C. 带有注释的条目,注释显示在参下方的缩进块中。

    <bibliography>
    +  <layout>
    +    <group display="block">
    +      <!-- rendering elements -->
    +    </group>
    +    <text display="indent" variable="abstract" />
    +  </layout>
    +</bibliography>
    +

    引用 quotes

    quotes 属性可以在 cs:text 中设置。当设置为 "true" 时(默认为 "false"),渲染文本将会被包含在引用中。本地化的 punctuation-in-quote 选项控制用来连接的逗号或者句号是出现在引号的内部还是外部(默认外部),见 [Locale options](#Locale options)。

    Strip-periods

    strip-periods 属性可以在 cs:label 或者 cd:text 中设置,此外,当 name 被设置为 "month" 时,也可以在 cs:date-part 中设置。当该属性被设置为 true 的时候(默认的是 "false"),所有文本中的句号(英文中为点)将会被删除。

    文字大小写

    text-case 属性可以在 cs:date,cs:date-part,cs:label,cs:name-part,cs:numbercs:text 中设置,可设置的值为:

    • "lowercase": 使用小写字母渲染文本
    • "uppercase": 使用大写字母渲染文本
    • "capitalize-first": 如果第一个词是小写的,将首字母设置为大写
    • "capitalize-all": 将每个小写词的首字母设置为大写
    • "sentence": renders text in sentence case(以句子的格式设置?)
    • "title": renders text in title case(以标题的格式来设置?)

    句子大小写转换

    句子大小写转换 (在 "Text-case" 中设置为 "sentence"),

    1. 对于大写字符串,字符串的第一个字符保持为大写。其它字母表示为小写
    2. 对于大小写混合的字符串,如果单词是小写,第一个单词的首字符大写,其它所有单词的大小写保持不变。

    CSL 处理器不能识别专有名词。因此,可以将句子大小写的字符转缺的转换为标题大小写,反之亦然。因此,通常最好在句子大小写的情况下存储注入标题之类的字符串,并且仅在样式需要其它大小写的情况下菜使用文本大小写。

    标题大小写转换

    标题大小写转换 (在 "Text-case" 中设置为 "title") 对英语来说:

    1. 对大写的字符串,每个单词的第一个字母保持大写,其它的字母保持小写。
    2. 对于小写或者是混合的字符串,每个小写字符串的首字母大写。大写的字符串或者是混合的字符串保持原样。

    两种情况下,stop words 必须是小写的,除非他们是第一个或者对后一个单词,或者跟在冒号后面。stop words 包括:"a", "an", "and", "as", "at", "but", "by", "down", "for", "from", "in", "into", "nor", "of", "on", "onto", "or", "over", "so", "the", "till", "to", "up", "via", "with", "yet".

    非英语项目

    ​ 由于许多语言不使用标题大小写,标题大小写转换 (在 "Text-case" 中设置为 "title") 仅影响英语项目。

    ​ 如果 cs:style 中的 default-locale 属性没有设置,或者设置为 en 开头的单词,则假定为英语环境。如果某项的元数据包含一个语言字段,而且该字段不是以 "en" 开头的,才被视为是非英语环境。

    ​ 同样的,default-locale 被这是为除 en 开头的字段,就假定为非英语。如果项目是以 en 开头的字段,就被视为是英语。

    附录 I 学科分类

    WIP

    此小节正在施工中

    • anthropology 人类学
    • astronomy 天文学
    • biology 生物学
    • botany 植物学
    • chemistry 化学
    • communications 通讯
    • engineering 工程学
    • generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 APA
    • geography 地理学
    • geology 地质学
    • history 历史
    • humanities 人文学科
    • law 法学
    • linguistics 语言学
    • literature 文学
    • math 数学
    • medicine 药物学
    • philosophy 哲学
    • physics 物理学
    • political_science 政治科学
    • psychology 心理学
    • science 科学
    • social_science 社会科学
    • sociology 社会学
    • theology 神学
    • zoology 动物学

    附录 II 术语

    WIP

    此小节正在施工中

    术语在本地化文件中使用

    Locators 用来定位的术语

    • book 书
    • chapter 章
    • column
    • figure 图
    • folio 作品集
    • issue 议题/问题
    • line 行
    • note 笔记/注记
    • opus 作品(音乐作品)
    • page 页
    • paragraph 段
    • part 部分
    • section 节
    • sub verbo 词条
    • verse 诗
    • volume 卷

    Months 月

    • month-01
    • month-02
    • month-03
    • month-04
    • month-05
    • month-06
    • month-07
    • month-08
    • month-09
    • month-10
    • month-11
    • month-12

    Ordinals 序数

    • ordinal
    • ordinal-00 through ordinal-99
    • long-ordinal-01
    • long-ordinal-02
    • long-ordinal-03
    • long-ordinal-04
    • long-ordinal-05
    • long-ordinal-06
    • long-ordinal-07
    • long-ordinal-08
    • long-ordinal-09
    • long-ordinal-10

    Quotation marks 引号

    • open-quote
    • close-quote
    • open-inner-quote
    • close-inner-quote

    Roles 角色

    • author 作者
    • collection-editor 文集编辑
    • composer 作曲者
    • container-author 文章作者
    • director 主任/导演
    • editor 编辑
    • editorial-director 编辑部主任
    • editortranslator
    • illustrator 插画者
    • interviewer 采访者
    • original-author 原作者
    • recipient 收件人
    • reviewed-author 复查作者
    • translator 译者

    Seasons 季节

    • season-01
    • season-02
    • season-03
    • season-04

    Miscellaneous 其他

    • accessed
    • ad
    • and
    • and others
    • anonymous
    • at
    • available at
    • bc
    • by
    • circa
    • cited
    • edition
    • et-al
    • forthcoming
    • from
    • ibid
    • in
    • in press
    • internet
    • interview
    • letter
    • no date
    • online
    • presented at
    • reference
    • retrieved
    • scale
    • version

    附录 III 文献类型

    WIP

    此小节正在施工中

    • article 文章
    • article-magazine 杂志文章
    • article-newspaper 新闻文章
    • article-journal 期刊文章
    • bill
    • book 书
    • broadcast
    • chapter 章节
    • dataset 数据集
    • entry
    • entry-dictionary
    • entry-encyclopedia
    • figure 图
    • graphic
    • interview 采访
    • legislation
    • legal_case
    • manuscript
    • map 地图
    • motion_picture
    • musical_score
    • pamphlet
    • paper-conference
    • patent
    • post 海报
    • post-weblog
    • personal_communication 私人交流
    • report 报告
    • review
    • review-book
    • song 歌曲
    • speech 演讲
    • thesis 学位论文
    • treaty
    • webpage 网页

    附录 IV 变量

    WIP

    此小节正在施工中

    标准变量

    • abstract 项目的摘要(例:期刊文章的摘要)

    • annote 读者关于项目内容的笔记

    • archive 保存项目的存档

    • archive_location 存档的位置

    • archive-place 存档的地理位置

    • authority

    • call-number

      call number (to locate the item in a library)

    • citation-label

      label identifying the item in in-text citations of label styles (e.g. "Ferr78"). May be assigned by the CSL processor based on item metadata.

    • citation-number

      index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)

    • collection-title

      title of the collection holding the item (e.g. the series title for a book)

    • container-title

      title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)

    • container-title-short

      short/abbreviated form of "container-title" (also accessible through the "short" form of the "container-title" variable)

    • dimensions

      physical (e.g. size) or temporal (e.g. running time) dimensions of the item

    • DOI

      Digital Object Identifier (e.g. "10.1128/AEM.02591-07")

    • event

      name of the related event (e.g. the conference name when citing a conference paper)

    • event-place

      geographic location of the related event (e.g. "Amsterdam, the Netherlands")

    • first-reference-note-number

      number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.

    • genre

      class, type or genre of the item (e.g. "adventure" for an adventure movie, "PhD dissertation" for a PhD thesis)

    • ISBN

      International Standard Book Number

    • ISSN

      International Standard Serial Number

    • jurisdiction

      geographic scope of relevance (e.g. "US" for a US patent)

    • keyword 关键字

    • locator

      a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the Locatorsopen in new window term list), which determines which term is rendered by cs:label when the "locator" variable is selected.

    • medium

      medium description (e.g. "CD", "DVD", etc.)

    • note

      (short) inline note giving additional item details (e.g. a concise summary or commentary)

    • original-publisher

      original publisher, for items that have been republished by a different publisher

    • original-publisher-place

      geographic location of the original publisher (e.g. "London, UK")

    • original-title 最初版本的题目

    • page 项目的页码范围

    • page-first 页码范围的第一个页码

    • PMCID

      PubMed Central reference number

    • PMID

      PubMed reference number

    • publisher 出版商/出版社

    • publisher-place 出版社的地理位置

    • references

      resources related to the procedural history of a legal case

    • reviewed-title

      title of the item reviewed by the current item

    • scale

      scale of e.g. a map

    • section

      container section holding the item (e.g. "politics" for a newspaper article)

    • source

      from whence the item originates (e.g. a library catalog or database)

    • status

      (publication) status of the item (e.g. "forthcoming")

    • title

      primary title of the item

    • title-short

      short/abbreviated form of "title" (also accessible through the "short" form of the "title" variable)

    • URL 链接

    • version 版本

    • year-suffix

      disambiguating year suffix in author-date styles (e.g. "a" in "Doe, 1999a")

    数字变量

    Number variables are a subset of the Standard Variablesopen in new window.

    • chapter-number

      章序号

    • collection-number

      number identifying the collection holding the item (e.g. the series number for a book)

    • edition

      版本序号(注意和 version 的区别)

    • issue

      (container) issue holding the item (e.g. "5" when citing a journal article from journal volume 2, issue 5)

    • number

      number identifying the item (e.g. a report number)

    • number-of-pages

      引用项目的总的页数

    • number-of-volumes

      total number of volumes, usable for citing multi-volume books and such

    • volume

      (container) volume holding the item (e.g. "2" when citing a chapter from book volume 2)

    日期变量

    • accessed

      date the item has been accessed

    • container

      ?

    • event-date

      date the related event took place

    • issued

      date the item was issued/published

    • original-date

      (issue) date of the original version

    • submitted

      date the item (e.g. a manuscript) has been submitted for publication

    名字变量

    • author

    • collection-editor

      editor of the collection holding the item (e.g. the series editor for a book)

    • composer

      composer (e.g. of a musical score)

    • container-author

      author of the container holding the item (e.g. the book author for a book chapter)

    • director

      director (e.g. of a film)

    • editor

    • editorial-director

      managing editor ("Directeur de la Publication" in French)

    • illustrator

      illustrator (e.g. of a children’s book)

    • interviewer

      interviewer (e.g. of an interview)

    • original-author

    • recipient

      recipient (e.g. of a letter)

    • reviewed-author

      author of the item reviewed by the current item

    • translator

    附录 V 页码范围格式

    WIP

    此小节正在施工中

    cs:style 元素中的 page-range-format 表示了页码的缩写规则,其取值可能是:

    "chicago"

    第一个数字第二个数字
    小于 100使用所有的位数3–10; 71–72
    100 或者 100 的整数使用所有的位数100–104; 600–613; 1100–1123
    100 到 109 (包括对应 100 的倍数的范围)仅使用有变化的部分,忽略不需要的 0107–8; 505–17; 1002–6
    110 到 199 (包括对应 100 的倍数的范围)根据需要使用两位数或者更多321–25; 415–532; 11564–68; 13792–803
    4 位数如果数字是 4 位并且其中有 3 位不同,使用所有的位数1496–1504; 2787–2816

    "expanded"

    ​ 扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816

    "minimal"

    ​ 第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816

    "minimal-two"

    ​ 和 "minimal" 类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。

    附录 VI 链接

    WIP

    此小节正在施工中

    The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules:

    If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows:

    1. url: output as is
    2. doi: prepend with “https://doi.org/open in new window
    3. pmid: prepend with “https://www.ncbi.nlm.nih.gov/pubmed/open in new window
    4. pmcid: prepend with “https://www.ncbi.nlm.nih.gov/pmc/articles/open in new window

    If the identifier is rendered as a URI, include rendered URI components (e.g. “https://doi.org/open in new window”) in the link anchor. Do not include any other affix text in the link anchor (e.g. “Available from: “, “doi: “, “PMID: “).

    Citation processors should include an option flag for calling applications to disable bibliography linking behavior.

    + + + diff --git a/csl-dev-guide/translating-locale-files.html b/csl-dev-guide/translating-locale-files.html new file mode 100644 index 0000000000..55121c5bd3 --- /dev/null +++ b/csl-dev-guide/translating-locale-files.html @@ -0,0 +1,40 @@ + + + + + + + + + + Locale File | Zotero 中文小组 + + + + + +
    跳至主要內容

    Locale File

    Zotero Chinese大约 2 分钟

    Locale File

    注意

    此页面正在施工中。

    前言

    ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。

    ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:"British Psychological Society" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。

    ​ 所有的 CSL 样式,都依赖于 locale file,这些本地化文件中包含了本地化数据,用来指定引文和参考文献目录中的术语,日期格式和语法规则怎么本地化。在单独的本地化文件保存这些数据,而不是在 CSL 样式文件中(尽管 CSL 样式文件中可以使用 cs:locale 元素对本地化文件中的设置进行覆盖),有很多好处:1. 本地化更加容易维护;2. 样式文件更加的紧凑; 3. 样式可以是语言无关的。

    ​ 下面,我们将描述本地化文件的结构,给出如何转换所有部分的指示,并且解释如何提交这些转换。如果想获得更多的有关本地化的信息,可以查看 CSL 规范

    开始

    ​ CSL 本地化文件在 GitHub 的仓库地址为https://github.com/citation-style-language/locales/open in new window

    ​ 每个本地化文件都包含一种对应语言的本地化数据。本地化文件的名字为 "locales-xx-XX.xml",这里的 "xx-XX" 是 BCP 47 langues code 语言代码open in new window 中的一种。这个 GitHub wiki 仓库open in new window 列出了本地化 code,对应的语言和该仓库中储存的所有语言环境的软换状态(是否完成,或在制作中)。

    转换 Locale Files

    todo

    + + + diff --git a/csl-dev-guide/xml-basic.html b/csl-dev-guide/xml-basic.html new file mode 100644 index 0000000000..1e272d2dbd --- /dev/null +++ b/csl-dev-guide/xml-basic.html @@ -0,0 +1,86 @@ + + + + + + + + + + XML 基础 | Zotero 中文小组 + + + + + +
    跳至主要內容

    XML 基础

    Zotero Chinese大约 2 分钟

    XML 基础

    注意

    此页面正在施工中。

    CSL 基于 XML(eXtensible Markup Language)XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  # 文档声明
    +
    +<!-- 这是一个注释 -->  # 注释
    +
    +<hello> # 根元素,文档的第一个元素,有且仅有一个
    +    # 子元素
    +    # 属性
    +    # 元素文本
    +</hello>
    +

    上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。

    第一行为声明,或者称为序言,总是在文档的最前面。包括了XML 的版本、编码信息以及是否依赖外部文档等。这一行代码会告诉解析器或浏览器这个文件应该按照 XML 规则进行解析。

    第二行为 XML 文档的注释。格式为 <!-- 注释-->

    剩下的代码为 XML 文件的根元素,根元素也是元素,根元素是文档的第一个元素,有且仅有一个。

    元素

    元素由开始标签,元素内容和结束标签构成。其中可以包含属性、元素和注释。根元素包含了其他所有元素。

    <title>内容</title>
    +

    title 为元素名。

    元素有 4 种形式。

    1. 空元素
    +<RAM> </RAM>  或者 <RAM/>
    +
    +2. 带有属性的空元素
    +<RAM width="100"/>  或者 <RAM width="100"> <RAM/>
    +
    +3. 带有内容的元素
    +<Price>21000</Price>
    +
    +4. 带有内容和属性的元素
    +<Price MoneyKind="RMB">21000</Price>  # MoneyKind 为属性  21000为元素值
    +或者是
    +<NotebookComputer>
    +Style =" LX2000"
    +CPU =" PIII600"
    +RAM ="128M "
    +</NotebookComputer>
    +
    +

    所有的元素都包含在根元素中,为根元素的子元素,子元素还还可以包含子元素。

    属性

    属性是对元素及其内容的描述,用 = 隔开。属性必须包含在一对单引号或者双引号之间。

    <Movie ID="09001">   # 其中的 id 就是属性  后面的值就是属性值
    +<title>非诚勿扰</title>  # 子元素
    +<price>70</price>
    +</Movie>
    +
    +# 空元素的属性
    +<Rectangle Width="100" Height="80"/>
    +
    +# 属性的另外一种形式
    +<NotebookComputer>
    +Style =" LX2000"
    +CPU =" PIII600"
    +RAM ="128M "
    +</NotebookComputer>
    +

    每个元素中,一个属性最多出现一次,一个属性只能有一个值。

    如果属性有多个值,这需要采取 XML 协议以外的方式来表示,如采用逗号或分号间隔,对于 CSSopen in new window 类或标识符的名字可用空格来分隔。

    预定义实体表

    xml 文件中某些符号无法正常表达,比如 < 或者 >,不处理的话会导致混乱。

    所定义的实体所代表的字符
    &lt;<
    &gt;>``
    &quot;"
    &apos;'
    &amp;&
    <Para1>John asked &quot;What&apos;s your name?&quot;</Para1>
    +
    +中间的结果:
    +John asked "What's your name? "
    +
    + + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000..63d1b1bbf3 Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 0000000000..9747eeccc0 --- /dev/null +++ b/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Zotero 中文小组 | Zotero 中文小组 + + + + + +
    跳至主要內容
    Zotero 中文小组

    Zotero 中文小组

    Zotero 非官方中文小组,维护中文文档等

    Zotero 用户手册 💡插件商店

    关于

    主要维护者

    长期维护者

    全部贡献者

    查看全部贡献者

    组织链接

    GitHub 组织链接

    + + + diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000..63d1b1bbf3 Binary files /dev/null and b/logo.png differ diff --git a/logo.png.bak b/logo.png.bak new file mode 100644 index 0000000000..ccd732e1da Binary files /dev/null and b/logo.png.bak differ diff --git a/logo.svg.bak b/logo.svg.bak new file mode 100644 index 0000000000..364d184e1a --- /dev/null +++ b/logo.svg.bak @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/plugin-dev-guide/development/debug.html b/plugin-dev-guide/development/debug.html new file mode 100644 index 0000000000..364a9e6bc7 --- /dev/null +++ b/plugin-dev-guide/development/debug.html @@ -0,0 +1,40 @@ + + + + + + + + + + 调试代码 | Zotero 中文小组 + + + + + +
    跳至主要內容

    调试代码

    windingwindShareStuffnorthword大约 2 分钟

    调试代码

    通过 Run JavaScript 调试

    菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。

    在左侧键入代码,点击运行即可在右侧看到输出。

    如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。

    通过 Zotero.debug 输出日志

    • 使用 Zotero.debug 输出到 菜单栏 -> 帮助 -> 输出日志排错 -> 查看输出文件
    • 使用 Zotero.log 输出到 菜单栏 -> 工具 -> 开发者 -> Error Console

    通过开发者工具

    如果你不熟悉开发者工具,可参看什么是浏览器开发者工具? - 学习 Web 开发 | MDNopen in new window

    远程调试依赖 beta 版本 Zotero

    远程调试需要 Zotero beta buildsopen in new window 。Windows 开发者可下载 zip 版本,解压缩后即可使用,不会将正式版覆盖。

    截止至最后编辑日期,Zotero 底层基于 Firefox 102 ESR。

    1. 打开 Zotero Beta,打开 菜单栏 -> 编辑 -> 设置 -> 高级 -> 设置编辑器,搜索 debug 并将 devtools.debugger.remote-enabledevtools.debugger.remote-websocket 设置为 true

    2. 使用 --debugger 参数启动 Zotero。
      也可以将启动参数写入快捷方式。

    3. 在 FireFox 102 ESR 中,找到设置 -> 更多工具 -> 远程调试(或者浏览器中输入:about:debugging#/setup),找到网络位置,输入 localhost:6000,点击确定添加即可。

      提示

      端口与第一步打开的高级编辑器中 devtools.debugger.remote-port 一致。

    4. 选择 localhost:6000,然后点击进程中的多线程工具箱进行检查,可进入控制台、无障碍环境等进行调试

    Zotero 正在包含此功能

    Zotero 团队正在将开发者工具嵌入 Zotero,见 PR #3387open in new window,此 PR 合并后即可直接从菜单呼出开发者工具,而无需安装 FireFox。

    模板用户无需手动配置

    模板的启动脚本中已经进行了相关配置,部分实现了上述 PR 的功能,因此你无需再手动执行以上步骤,也不需要安装 Firefox,npm start 后即可打开开发者工具。

    + + + diff --git a/plugin-dev-guide/development/index.html b/plugin-dev-guide/development/index.html new file mode 100644 index 0000000000..cbe64afb16 --- /dev/null +++ b/plugin-dev-guide/development/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Development | Zotero 中文小组 + + + + + + + + + diff --git a/plugin-dev-guide/development/sideloading.html b/plugin-dev-guide/development/sideloading.html new file mode 100644 index 0000000000..dfeb243b55 --- /dev/null +++ b/plugin-dev-guide/development/sideloading.html @@ -0,0 +1,40 @@ + + + + + + + + + + 侧载插件 | Zotero 中文小组 + + + + + +
    跳至主要內容

    侧载插件

    Zotero Chinese小于 1 分钟

    侧载插件

    Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。

    提示

    使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。

    通过代理文件载入插件

    Todo

    此节说明如何通过代理文件将插件侧载入 Zotero,待完善,请参阅:Setting Up a Plugin Development Environmentopen in new window

    通过安装临时插件载入

    Todo

    Zotero 官方尚未提供此种方式的文档,但此种方式是 Firefox 较为推荐的方式,社区维护的框架等也正在逐步迁移至此种方式,在迁移完成之前,可以参考 web-extopen in new window 包来实现。

    + + + diff --git a/plugin-dev-guide/index.html b/plugin-dev-guide/index.html new file mode 100644 index 0000000000..9cb10f9ab6 --- /dev/null +++ b/plugin-dev-guide/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 插件开发指南 | Zotero 中文小组 + + + + + +
    跳至主要內容

    插件开发指南

    windingwind大约 2 分钟

    插件开发指南

    提示

    待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。

    本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档open in new window

    前置基础知识

    Zotero 插件遵循 Firefox 插件的要求。此处列举了编写插件的基础知识。并非所有知识都需要掌握,只需要在遇到问题时能通过查阅文档找到解决方法即可。

    Firefox 插件

    Introduction: Welcome to Software Development the Mozilla Wayopen in new window

    Web 浏览器扩展open in new window

    HTML / XUL

    关于 HTML,可参考网上的任意教程,只需理解基本的树结构,大致清楚元素类型与通用属性即可。
    参考文档:HTML 教程 | 菜鸟教程open in new window
    关于 XUL,在了解 HTML 的基础上只需大概浏览文档即可。在使用时可随时查阅文档。
    参考文档:Huihoo - XML User Interface Language (XUL)open in new windowXUL School Tutorial - Archive of obsolete contentopen in new window

    JavaScript / TypeScript

    如果对其他编程语言有了解,上手 JavaScript 很快,看一下基本语法即可。
    参考文档:JavaScript 教程open in new window

    (非必需)也可以直接学习 TypeScript,它是 JS 的超集,提供了更多特性,并对习惯于 C++/JAVA 等强类型语言的开发者而言更加熟悉。第二章将要介绍的的 Zotero 插件框架支持 TS。
    参考文档:TypeScript 中文网 · TypeScript——JavaScript 的超集open in new window

    Git

    Git 是版本管理的常用工具。
    参考文档:Git 教程 | 菜鸟教程open in new window

    Zotero 官方资料

    Zoero 文档(部分过时或不全):start [Zotero Documentation]open in new window
    Zotero 社区:Recent Discussionsopen in new window
    Zotero 贡献文档:Zotero | Get Involvedopen in new window
    Zotero 开发者群组:https://groups.google.com/g/zotero-devopen in new window
    社区维护的 Zotero Types 接口类型定义包:windingwind / Zotero-typesopen in new window Zotero-typesopen in new window

    本文档的结构

    todo

    + + + diff --git a/plugin-dev-guide/quick-start/index.html b/plugin-dev-guide/quick-start/index.html new file mode 100644 index 0000000000..ba5df78f85 --- /dev/null +++ b/plugin-dev-guide/quick-start/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 快速开始 | Zotero 中文小组 + + + + + +
    跳至主要內容

    快速开始

    Zotero Chinese小于 1 分钟

    快速开始

    此节以官方插件示例 Make It Redopen in new window 为例,说明 Zotero 插件的工作过程。

    Todo

    待完善,请参阅插件仓库:Make It Redopen in new window

    + + + diff --git a/plugin-dev-guide/reference/bootstrap.html b/plugin-dev-guide/reference/bootstrap.html new file mode 100644 index 0000000000..3296deabb7 --- /dev/null +++ b/plugin-dev-guide/reference/bootstrap.html @@ -0,0 +1,98 @@ + + + + + + + + + + 引导脚本 | Zotero 中文小组 + + + + + +
    跳至主要內容

    引导脚本

    windingwindnorthword大约 3 分钟

    引导脚本

    引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。

    内容

    这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。

    生命周期钩子

    // 插件被安装时调用
    +function install(data, reason) {}
    +
    +// 插件启动时调用
    +function startup(data, reason) {}
    +
    +// 插件被禁用时或 Zotero 被关闭时调用
    +function shutdown(data, reason) {}
    +
    +// 插件被卸载时调用
    +function uninstall(data, reason) {}
    +

    插件生命周期挂钩传递两个参数:

    • 具有以下属性的对象:
      • id ,插件 ID
      • version ,插件版本
      • rootURI ,指向插件文件的字符串 URL。对于 XPI,这将是 jar:file:/// URL。该值始终以斜杠结尾,因此您可以附加相对路径来获取与插件捆绑的文件的 URL(例如 rootURI + 'style.css' )。
    • 表示事件原因的数字,可以根据以下常量进行检查: APP_STARTUPAPP_SHUTDOWNADDON_ENABLEADDON_DISABLEADDON_INSTALLADDON_UNINSTALLADDON_UPGRADEADDON_DOWNGRADE

    任何与特定窗口无关的初始化都应由 startup 触发,删除应由 shutdown 触发。

    窗口钩子

    // Zotero 主窗口加载完毕时调用
    +function onMainWindowLoad({ window }) {}
    +
    +// Zotero 主窗口被关闭时调用
    +function onMainWindowUnload({ window }) {}
    +

    窗口钩子传递一个参数:

    • 具有包含目标窗口的 window 属性的对象

    在某些平台上,主窗口可以在 Zotero 会话期间多次打开和关闭,因此任何与窗口相关的活动,例如修改主 UI、添加菜单或绑定快捷方式都必须由 onMainWindowLoad 执行以便新的主窗口包含您的更改。

    然后,当调用 onMainWindowUnload 时,您必须删除对窗口或其中的对象的所有引用,取消任何计时器等,否则每次关闭窗口时都会有造成内存泄漏的风险。添加到窗口的 DOM 元素会在窗口关闭时自动销毁,因此只需删除 shutdown() 中的元素即可,可以通过循环遍历所有窗口来完成:

    function shutdown() {
    +  var windows = Zotero.getMainWindows();
    +  for (let win of windows) {
    +    win.document.getElementById("make-it-red-stylesheet")?.remove();
    +  }
    +}
    +

    (目前仅支持一个主窗口,但有些用户可能会找到打开多个主窗口的方法,这将在未来版本中正式支持。)

    提示

    通常地,在 startup 中初始化插件地本地化系统、设置、兼容性等,在 onMainWindowLoad 中初始化与 Zotero UI 有关的组件,如菜单、侧边栏、自定义列等。

    样例

    关于 bootstrap.js 的样例,可参考前章提到的插件框架。它将插件的根对象注册到全局变量 Zotero 中,在任何引入了 Zotero 的位置均可使用。 或参考 Zutilo 插件。它将插件的根对象注册为一个全局变量。缺陷是在非主窗口内引入插件代码将较为复杂。

    下面是以官方示例 Make It Redbootstrap.js,它在 startup() 中通过 Services.scriptloader.loadSubScript(rootURI + "make-it-red.js"); 将插件脚本载入,在 make-it-red.js 中,在 Zotero 下定义了一个对象 MakeItRed。在 make-it-red.js 加载完成后,调用 MakeItRed 对象下的方法完成插件初始化。

    var MakeItRed;
    +
    +function log(msg) {
    +  Zotero.debug("Make It Red: " + msg);
    +}
    +
    +function install() {
    +  log("Installed 2.0");
    +}
    +
    +async function startup({ id, version, rootURI }) {
    +  log("Starting 2.0");
    +
    +  Services.scriptloader.loadSubScript(rootURI + "make-it-red.js");
    +  MakeItRed.init({ id, version, rootURI });
    +  MakeItRed.addToAllWindows();
    +  await MakeItRed.main();
    +}
    +
    +function onMainWindowLoad({ window }) {
    +  MakeItRed.addToWindow(window);
    +}
    +
    +function onMainWindowUnload({ window }) {
    +  MakeItRed.removeFromWindow(window);
    +}
    +
    +function shutdown() {
    +  log("Shutting down 2.0");
    +  MakeItRed.removeFromAllWindows();
    +  MakeItRed = undefined;
    +}
    +
    +function uninstall() {
    +  log("Uninstalled 2.0");
    +}
    +

    参考资料

    + + + diff --git a/plugin-dev-guide/reference/index.html b/plugin-dev-guide/reference/index.html new file mode 100644 index 0000000000..c23ac48d44 --- /dev/null +++ b/plugin-dev-guide/reference/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 参考 | Zotero 中文小组 + + + + + + + + + diff --git a/plugin-dev-guide/reference/item.html b/plugin-dev-guide/reference/item.html new file mode 100644 index 0000000000..70f48fc0d1 --- /dev/null +++ b/plugin-dev-guide/reference/item.html @@ -0,0 +1,61 @@ + + + + + + + + + + Zotero 条目 | Zotero 中文小组 + + + + + +
    跳至主要內容

    Zotero 条目

    Zotero Chinese小于 1 分钟

    Zotero 条目

    Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一个条目(Item)。

    大多数插件的最终目的就是修改这些条目,例如,添加标签,修改信息,等等。

    创建条目

    new Zotero.Item(itemType);
    +

    获取条目

    declare Zotero.Items.get: (ids: Number | Number[]) => ZoteroItem | ZoteroItem[];
    +declare Zotero.Items.getByLibraryAndKeyAsync: (
    +  libraryID: Number,
    +  itemKey: String
    +) => Promise<ZoteroItem>;
    +declare ZoteroPane.getSelectedItems: () => ZoteroItem[];
    +

    通过 Zotero.Items.get / getByLibraryAndKeyAsync 来从 ID 获取条目;
    通过 ZoteroPane.getSelectedItems 获取当前选中的条目。

    ZoteroPane.itemsView.getRow(2).ref;
    +

    修改条目

    对条目内容进行修改后,请使用 item.save / item.saveTx()来保存。

    var item = new Zotero.Item("computerProgram");
    +item.setType(Zotero.ItemTypes.getID("note"));
    +

    PDF 批注

    Zotero 中的批注也是 Item 类型!

    Zotero.Items.getAll(1).then((i) => i.filter((t) => t.isAnnotation()));
    +

    注释的属性:

    • annotationText:高亮注释的内容
    • parentItem:获得 pdf 条目
    const annotations = Zotero.Items.get(reader.itemID).getAnnotations();
    +reader.navigate({ annotationKey: annotations[0].key });
    +

    从对话框选择条目

    let io = { dataIn: null, dataOut: null, deferred: Zotero.Promise.defer() };
    +window.openDialog(
    +  "chrome://zotero/content/selectItemsDialog.xhtml",
    +  "",
    +  "chrome,dialog=no,centerscreen,resizable=yes",
    +  io
    +);
    +io.deferred.promise.then(() => console.debug(io));
    +
    + + + diff --git a/plugin-dev-guide/reference/localization.html b/plugin-dev-guide/reference/localization.html new file mode 100644 index 0000000000..977314331e --- /dev/null +++ b/plugin-dev-guide/reference/localization.html @@ -0,0 +1,40 @@ + + + + + + + + + + i18n | Zotero 中文小组 + + + + + + + + + diff --git a/plugin-dev-guide/reference/manifest.html b/plugin-dev-guide/reference/manifest.html new file mode 100644 index 0000000000..48874aa091 --- /dev/null +++ b/plugin-dev-guide/reference/manifest.html @@ -0,0 +1,55 @@ + + + + + + + + + + 插件清单 | Zotero 中文小组 + + + + + +
    跳至主要內容

    插件清单

    northword大约 3 分钟

    插件清单

    manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。

    在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。

    此文件与 Web Extension 的 manifest.jsonopen in new window 基本一致,只是减少了一些字段。

    示例

    下面是一个典型的 manifest.json 文件,内容来源于官方插件示例 Make It Red

    {
    +  "manifest_version": 2,
    +  "name": "Make It Red",
    +  "version": "2.0",
    +  "description": "Makes everything red",
    +  "homepage_url": "https://github.com/zotero/make-it-red",
    +  "applications": {
    +    "zotero": {
    +      "id": "make-it-red@example.com",
    +      "update_url": "https://zotero-download.s3.amazonaws.com/tmp/make-it-red/updates-2.0.json",
    +      "strict_min_version": "6.999",
    +      "strict_max_version": "7.0.*"
    +    }
    +  }
    +}
    +

    属性参考

    manifest_version

    • 类型:number
    • 强制性:强制

    此键指定扩展使用的 manifest.json 的版本。

    值须是且仅能是 2

    name

    • 类型:string
    • 强制性:强制

    插件的名称,本地化可参考 manifest 的本地化

    version

    • 类型:string
    • 强制性:强制

    插件的版本,一般格式为由点分隔的数字组成的 ASCII 字符串。

    版本格式

    版本字符串由 1 到 4 个数字组成,数字之间用点分隔,例如 1.2.3.4 。非零数字不得包含前导零。例如,不允许使用 2.01 ;但是, 0.22.0.12.10 是允许的。

    版本比较

    为了确定两个扩展版本中哪一个是最新的,需要从左到右比较版本字符串号。缺少版本字符串元素相当于 0 。例如,1.0 相当于 1.0.0.0。第一个版本字符串的编号大于另一个版本字符串中对应编号的版本字符串是最新的。例如,1.10 是比 1.9 更新的版本。

    applications

    类型:object
    强制性:强制

    此项必须包含属性 zotero

    zotero

    id

    id 即扩展 ID。必填项。通常的,大家都使用邮箱格式来命名插件 ID

    strict_min_version

    插件所能支持的 Zotero 的最小版本号。不允许使用 * 来定义版本号。默认值为 "42a1"。

    strict_max_version

    插件所能支持的 Zotero 的最大版本号。如果安装或运行附加组件的 Firefox 版本号高于这个最大版本号,附加组件将不能运行或不允许被安装。默认值为"*",意思为不对最大版本号做检查。

    update_url

    链接到插件 更新清单 的链接。注意链接必须以“https”开头。这是为了使你自己就能够管理附加组件的更新。

    author

    • 类型:string
    • 强制性:非强制

    附加组件的作者,用于在浏览器用户界面上显示,这样别人下载安装使用该附加组件的时候,就能看见你的大名了。

    description

    • 类型:string
    • 强制性:非强制

    用于在用户下载安装使用界面中显示的一段简短的关于该附加组件的描述。

    这是一个可本地化的键。

    homepage_url

    • 类型:string
    • 强制性:非强制

    如果 developer 键存在且包含 url 属性,它将会覆盖 homepage_url 键。

    这是一个可本地化的键。

    manifest 的本地化

    参考资料

    + + + diff --git a/plugin-dev-guide/reference/more.html b/plugin-dev-guide/reference/more.html new file mode 100644 index 0000000000..e6061779f3 --- /dev/null +++ b/plugin-dev-guide/reference/more.html @@ -0,0 +1,158 @@ + + + + + + + + + + 更多接口 | Zotero 中文小组 + + + + + +
    跳至主要內容

    更多接口

    Zotero Chinese大约 4 分钟

    更多接口

    Zotero Types

    关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-typesopen in new window

    如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。

    ZoteroPane

    ZoteroPane 是 Zotero 中主界面项目视图的抽象。可用于获取选中的项目,等等。

    源码位置:chrome/content/Zotero/zoteroPane.jsopen in new window

    可通过 ZoteroPane.getSelectedItems() 获取选中的条目;
    通过 ZoteroPane.itemsView.onSelect.addListener 添加条目选中事件监听。

    ZoteroPane.selectItem(itemID); // 必须先切换到文库标签页
    +

    Zotero.Collections 与 Zotero.Collection

    Collection(集合)是 Zotero 中所有条目的父层级,是 Library(库)的子层级。

    Zotero.Libraries 与 Zotero.Library

    Libray(库)是 Zotero 中所有条目最终的父层级。Zotero 库分为用户库(id=1)与群组库,库之间的内容存储方式可能具有较大不同。

    Zotero.Reader

    Zotero.Reader 是 PDF 阅读器的接口,但对于阅读器中诸如选中、高亮等许多功能在 viewer.html 内,无法直接从 Zotero 中调用,相关源码在 pdf-reader 仓库。本节仅作介绍 Zotero.Reader。

    源码位置:chrome/content/Zotero/xpcom/reader.jsopen in new window

    基本使用

    通过 Zotero.Reader._readers 访问当前的 ReaderInstance 对象,每个对象有 _iframeWindow 属性,可对其执行界面操作。

    Zotero.Reader.getByTabID(Zotero_Tabs.selectedID);
    +
    const cont = document.getElementById(`${Zotero_Tabs.selectedID}-context`);
    +const box = cont.querySelector("tabbox");
    +box.tabs.append(tab);
    +box.tabpanels.append(panel);
    +

    调用 pdf.js 接口

    ReaderInstance 对象的 _iframeWindow 属性是阅读器的 window 对象,也就是在网页版所看到的内容,它包含了整个 pdf 阅读器的 document 对象与 wrappedJSObject 字段。

    通过调用 ._iframeWindow.wrappedJSObject 可在阅读器命名空间外访问其局部变量,其中的方法有 zoteroCopyImagezoteroSaveImageAs 等。同时他包含了 PDFViewerApplication 对象.

    该部分源码在 pdf-reader/src at master · Zotero/pdf-readeropen in new window

    ._iframeWindow.wrappedJSObject.PDFViewerApplication.pdfViewer.currentPageNumber
    +

    此外,通过注入脚本的方式可以直接访问 PDFViewerApplication 对象来操作阅读器:chartero | chrome/content/reader.jsopen in new window

    案例

    1. 获取 pdf 指定页面所有文字

    以第一页为例,索引为 0:

    const reader = Zotero.Reader.getByTabID(Zotero_Tabs).selectedID);
    +const PDFViewerApplication = reader._iframeWindow.wrappedJSObject.PDFViewerApplication;
    +await PDFViewerApplication.pdfLoadingTask.promise;
    +await PDFViewerApplication.pdfViewer.pagesPromise;
    +let pages = PDFViewerApplication.pdfViewer._pages;
    +let pdfPage = pages[0].pdfPage;
    +let items = (await pdfPage.getTextContent()).items;
    +
    +

    这里以 item=items[0] 为例:

    {
    +  chars: Array(63) [ {}, {}, {},]
    +	dir: "ltr"
    +	fontName: "g_d0_f1"
    +	height: 6.376
    +	str: "Ma, Z., Hu, X., Huang, L., Bi, J., Liu, Y., 2014."
    +	transform: [6.376, 0, 0, 6.376, 42.5197, 732.5289]
    +	width: 202.367864
    +}
    +

    这里的 item.chars 记录了 item.str 的每个字符对应的渲染信息。除了宽高外,item.transform 还提供了(x=item.transform[4], y=item.transform[5])位置信息。这个位置以 pdf 页面左下角为原点。

    根据 pdf 页面内的文字可以解析出所有参考文献,详见:GitHub - MuiseDestiny/Zotero-reference: Zotero 插件,侧边栏显示正在阅读文献的所有参考文献open in new window

    Zotero.Notes

    Zotero.EditorInstance 类是笔记编辑器的抽象;Zotero.EditorInstanceUtilities 对象包括了笔记中一些转换等基础功能。

    源码位置:chrome/content/Zotero/xpcom/editorInstance.jsopen in new window

    Zotero.Notes 是所有 EditorInstance 实例的管理器。

    源码位置:chrome/content/Zotero/xpcom/data/notes.jsopen in new window

    Zotero_Tabs

    Zotero 6 以后的版本引入了标签页(tab)。当打开 PDF 时,默认在新标签页打开。
    源码位置:chrome/content/Zotero/tabs.jsopen in new window

    基本使用

    通过 Zotero_Tabs 访问当前打开的标签页。

    新增标签页

    通过 Zotero_Tabs.add 方法新增标签页,例如 Better Notes 插件中的一段代码:

    let { id, container } = Zotero_Tabs.add({
    +  type: "betternotes",
    +  title: Zotero.locale.includes("zh") ? "工作区" : "Workspace",
    +  index: 1,
    +  data: {},
    +  select: select,
    +  onClose: undefined,
    +});
    +

    请注意此处的 type 将影响菜单栏的显示/隐藏。截至文档更新(2022.08.22),在离开标签时,自定义的标签类型不会被正确隐藏,但在进入标签页时会被显示(相关代码在 ZoteroStandalone.switchMenuType)。因此需要手动处理离开标签页时隐藏自定义标签的部分菜单。

    switchRealMenuBar(hidden: boolean) {
    +    // We only handle hide. The show will be handled by the ZoteroStandalone.switchMenuType
    +    document
    +      .querySelectorAll(".menu-type-betternotes")
    +      .forEach((el) => ((el as HTMLElement).hidden = hidden));
    +
    +    // Disable Zotero pdf export
    +    (document.getElementById("menu_export_files") as XUL.Element).disabled =
    +      !hidden;
    +}
    +

    标签页操作

    通过 select / jump / move / close 等相关方法进行操作。

    Zotero_Tabs.select("zotero-pane");
    +

    文件操作

    Todo

    文件读写已迁移至 IOUtilsopen in new windowPathUtilsopen in new window

    Clipboard API

    Zotero 中关于剪切板的相关接口。由于 Zotero 目前基于 FireFox60,因此无法使用现代浏览器的剪切板接口。
    样例代码为 Better Notes 插件提供的剪切板包装:

    class CopyHelper {
    +  transferable: any;
    +  clipboardService: any;
    +
    +  constructor() {
    +    this.transferable = Components.classes[
    +      "@mozilla.org/widget/transferable;1"
    +    ].createInstance(Components.interfaces.nsITransferable);
    +    this.clipboardService = Components.classes[
    +      "@mozilla.org/widget/clipboard;1"
    +    ].getService(Components.interfaces.nsIClipboard);
    +  }
    +
    +  public addText(source: string, type: "text/html" | "text/unicode") {
    +    const str = Components.classes[
    +      "@mozilla.org/supports-string;1"
    +    ].createInstance(Components.interfaces.nsISupportsString);
    +    str.data = source;
    +    this.transferable.addDataFlavor(type);
    +    this.transferable.setTransferData(type, str, source.length * 2);
    +    return this;
    +  }
    +
    +  // Only Windows
    +  public addImage(source: string) {
    +    const io = Components.classes[
    +      "@mozilla.org/network/io-service;1"
    +    ].getService(Components.interfaces.nsIIOService);
    +    const channel = io.newChannel(source, null, null);
    +    const input = channel.open();
    +    const imgTools = Components.classes[
    +      "@mozilla.org/image/tools;1"
    +    ].getService(Components.interfaces.imgITools);
    +
    +    const buffer = NetUtil.readInputStreamToString(input, input.available());
    +    const container = imgTools.decodeImageFromBuffer(
    +      buffer,
    +      buffer.length,
    +      channel.contentType
    +    );
    +
    +    this.transferable.addDataFlavor(channel.contentType);
    +    this.transferable.setTransferData(channel.contentType, container, -1);
    +    return this;
    +  }
    +
    +  public copy() {
    +    this.clipboardService.setData(
    +      this.transferable,
    +      null,
    +      Components.interfaces.nsIClipboard.kGlobalClipboard
    +    );
    +  }
    +}
    +

    使用样例:

    new CopyHelper()
    +  .addText(html, "text/html")
    +  .addText(this._Addon.parse.parseHTMLToMD(html), "text/unicode")
    +  .copy();
    +

    弹出通知

    const popMsg = new Zotero.ProgressWindow({ closeOnClick: false });
    +popMsg.changeHeadline("[Error]", "", "Chartero");
    +popMsg.addDescription("----------");
    +
    +let prog = new popMsg.ItemProgress("chrome://zotero/skin/cross.png", "No!");
    +prog.setProgress(100); // 默认0是灰色图标,100是正常图标,其他是进度条
    +popMsg.addDescription('<a href="http://github.com">link</a>');
    +
    +// 指定父元素实现缩进
    +let prog1 = new popMsg.ItemProgress(
    +  "chrome://chartero/skin/bookmark.png",
    +  "hello",
    +  prog
    +);
    +
    +popMsg.show();
    +popMsg.startCloseTimer(6666); // 毫秒
    +
    + + + diff --git a/plugin-dev-guide/reference/notify.html b/plugin-dev-guide/reference/notify.html new file mode 100644 index 0000000000..67682a7e1c --- /dev/null +++ b/plugin-dev-guide/reference/notify.html @@ -0,0 +1,156 @@ + + + + + + + + + + Zotero 事件机制 | Zotero 中文小组 + + + + + +
    跳至主要內容

    Zotero 事件机制

    windingwind大约 2 分钟

    Zotero 事件机制

    Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。

    大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregisterObserver 移除事件。

    Notifier 支持的事件类型包括(可能不全):

    type Event =
    +  | "add"
    +  | "modify"
    +  | "delete"
    +  | "move"
    +  | "remove"
    +  | "refresh"
    +  | "redraw"
    +  | "trash"
    +  | "unreadCountUpdated"
    +  | "index"
    +  | "open"
    +  | "close"
    +  | "select";
    +

    支持的事件对象包括:

    type Type =
    +  | "collection"
    +  | "search"
    +  | "share"
    +  | "share-items"
    +  | "item"
    +  | "file"
    +  | "collection-item"
    +  | "item-tag"
    +  | "tag"
    +  | "setting"
    +  | "group"
    +  | "trash"
    +  | "bucket"
    +  | "relation"
    +  | "feed"
    +  | "feedItem"
    +  | "sync"
    +  | "api-key"
    +  | "tab";
    +

    源码位置:chrome\content\Zotero\xpcom\notifier.jsopen in new window

    注册监听器

    declare namespace _ZoteroTypes {
    +  interface Notifier {
    +    /**
    +     * @param {Object} [ref] signature {notify: function(event, type, ids, extraData) {}}
    +     * @param {Array} [types] a list of types of events observer should be triggered on
    +     * @param {String} [id] an id of the observer used in debug output
    +     * @param {Integer} [priority] lower numbers correspond to higher priority of observer execution
    +     * @returns {string}
    +     */
    +    registerObserver(
    +      ref: { notify: Notifier.Notify },
    +      types?: Notifier.Type[],
    +      id?: string,
    +      priority?: number
    +    ): string;
    +  }
    +}
    +

    为 types 事件设置回调 ref,返回监听器 id。

    例:

    notifierCallback = {
    +  notify: async (
    +    event: string,
    +    type: string,
    +    ids: Array<string>,
    +    extraData: object
    +  ) => {
    +    // You can add your code to the corresponding notify type
    +    if (
    +      event == "select" &&
    +      type == "tab" &&
    +      extraData[ids[0]].type == "reader"
    +    ) {
    +      // Select a reader tab
    +    }
    +    if (event == "add" && type == "item") {
    +      // Add an item
    +    }
    +  },
    +};
    +
    +let notifierID = Zotero.Notifier.registerObserver(notifierCallback, [
    +  "tab",
    +  "item",
    +  "file",
    +]);
    +

    注销监听器

    declare namespace _ZoteroTypes {
    +  interface Notifier {
    +    unregisterObserver(id: String): void;
    +  }
    +}
    +

    取消对应 id 的监听器

    例:

    Zotero.Notifier.unregisterObserver(notifierID);
    +

    触发 Notify 事件

    一般情况下,不需要手动触发。

    单个触发

    /**
    +* Trigger a notification to the appropriate observers
    +*
    +* Possible values:
    +*
    +*   event: 'add', 'modify', 'delete', 'move' ('c', for changing parent),
    +*       'remove' (ci, it), 'refresh', 'redraw', 'trash', 'unreadCountUpdated', 'index'
    +*   type - 'collection', 'search', 'item', 'collection-item', 'item-tag', 'tag',
    +*       'group', 'relation', 'feed', 'feedItem'
    +*   ids - single id or array of ids
    +*
    +* Notes:
    +*
    +* - If event queuing is on, events will not fire until commit() is called
    +* unless _force_ is true.
    +*
    +* - New events and types should be added to the order arrays in commit()
    +**/
    +declare Zotero.Notifier.trigger(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean);
    +
    +/**
    + * Queue an event until the end of the current notifier transaction
    + *
    + * Takes the same parameters as trigger()
    + *
    + * @throws If a notifier transaction isn't currently open
    + */
    +declare Zotero.Notifier.queue(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean);
    +

    例:

    Zotero.Notifier.trigger("add", "tab", [id], { [id]: data }, true);
    +

    队列触发

    Zotero.Notifier.commit(queues, (transactionID = true));
    +

    例:

    const notifierQueue = new Zotero.Notifier.Queue(); // Initialize a notifier queue
    +// Do something
    +await Zotero.Notifier.commit(notifierQueue); // Trigger the queued notifies
    +
    + + + diff --git a/plugin-dev-guide/reference/preference.html b/plugin-dev-guide/reference/preference.html new file mode 100644 index 0000000000..20d4fc50be --- /dev/null +++ b/plugin-dev-guide/reference/preference.html @@ -0,0 +1,110 @@ + + + + + + + + + + Zotero 首选项 | Zotero 中文小组 + + + + + +
    跳至主要內容

    Zotero 首选项

    windingwindShareStuffnorthword大约 3 分钟

    Zotero 首选项

    Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。

    Preference 存储于 Zotero 配置文件目录open in new window 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。

    💡 注意:Preference 的值有长度限制,请勿设置太长的字符串。

    默认设置

    在插件根目录新建 prefs.js,并填入如下示例的内容,可以初始化的 Preference 的键和值。键为字符串,值为布尔、数字或字符串其一。

    pref("extensions.zotero.Knowledge4Zotero.syncNoteIds", "");
    +pref("extensions.zotero.Knowledge4Zotero.syncPeriod", 10000);
    +pref("extensions.zotero.Knowledge4Zotero.autoAnnotation", false);
    +

    注意

    请注意,该文件中每一行的 pref 请勿换行。换行可能导致失效,并不会有明显的错误提示,可能导致新用户的默认配置为空。

    首选项窗格

    注册首选项窗格

    Zotero 现在包含一个用于注册首选项窗格的内置接口。在插件的 startup 中:

    Zotero.PreferencePanes.register({
    +  pluginID: "make-it-red@zotero.org",
    +  src: "prefs.xhtml",
    +  scripts: ["prefs.js"],
    +  stylesheets: ["prefs.css"],
    +});
    +

    更多设置项请参考源码:preferencePanes.jsopen in new window

    窗格的 src 应指向包含 XUL/XHTML 片段的文件。片段不能有 <!DOCTYPE 。默认命名空间是 XUL,HTML 标签可在 html: 下访问。一个简单的窗格可能如下所示:

    <vbox onload="MakeItRed_Preferences.init()">
    +	<groupbox>
    +		<label><html:h2>Colors</html:h2></label>
    +		<!-- [...] -->
    +	</groupbox>
    +</vbox>
    +

    要使用 Fluent 进行本地化,请在 XUL <linkset> 中包含一个或多个 HTML <link> 元素:

    <linkset>
    +	<html:link rel="localization" href="make-it-red.ftl"/>
    +</linkset>
    +

    首选项窗格文本的本地化详情请参考:本地化

    设置命名空间以避免冲突

    请注意,首选项窗格中的所有 classiddata-l10n-id 都应命名空间以避免插件之间发生冲突。

    绑定首选项

    通过将标签的 preference 属性设置为首选项的键,即可绑定首选项,例如:

    <html:input type="text" preference="extensions.zotero.makeItRed.color"/>
    +

    增删改查设置项

    源码位置:chrome\content\Zotero\xpcom\prefs.jsopen in new window

    declare namespace Zotero {
    +  interface Prefs {
    +    /**
    +     * Retrieve a preference
    +     */
    +    get(pref: string, global?: boolean): boolean | string | number | undefined;
    +
    +    /**
    +     * Set a preference
    +     */
    +    set(pref: string, value: boolean | string | number, global?: boolean): any;
    +
    +    clear(pref: string, global?: boolean): void;
    +  }
    +}
    +

    Zotero.Prefs.get

    读取名称为 pref 的 Preference。

    pref 为 Preference 的键,global 为是否是全局命名域,默认否。

    注意,对于 extensions.zotero.addonRef.key,在页面绑定以及设置编辑器中,Preference 的键名为 extensions.zotero.addonRef.key,而在 API 中调用时只需要 addonRef.key,否则则需要启用全局命名域。

    例:首选项键 extensions.zotero.formatmetadata.abbr 的值为 true

    Zotero.Prefs.get("pdfpreview.enable"); // true
    +Zotero.Prefs.get("extensions.zotero.formatmetadata.abbr"); // undefined
    +Zotero.Prefs.get("extensions.zotero.formatmetadata.abbr", true); // true
    +Zotero.Prefs.get("formatmetadata.abbr", true); // undefined
    +

    Zotero.Prefs.set

    设置名称为 pref 的 Preference 为 value

    pref 为 Preference 的键,value 为 Preference 的值,global 为是否是全局命名域,默认否。

    例:首选项键 extensions.zotero.pdfpreview.enable 的当前值为 true,需要将其修改为 false

    Zotero.Prefs.set("pdfpreview.enable", false);
    +Zotero.Prefs.get("pdfpreview.enable"); // false
    +

    Zotero.Prefs.clear

    Todo

    辅助函数

    在插件模板中,提供了一个简便的工具函数,来见避免我们每次都要输入 Zotero.Prefs.:

    // src/utils/prefs.ts
    +import { config } from "../../package.json";
    +
    +/**
    + * Get preference value.
    + * Wrapper of `Zotero.Prefs.get`.
    + * @param key
    + */
    +export function getPref(key: string) {
    +  return Zotero.Prefs.get(`${config.prefsPrefix}.${key}`, true);
    +}
    +
    +/**
    + * Set preference value.
    + * Wrapper of `Zotero.Prefs.set`.
    + * @param key
    + * @param value
    + */
    +export function setPref(key: string, value: string | number | boolean) {
    +  return Zotero.Prefs.set(`${config.prefsPrefix}.${key}`, value, true);
    +}
    +
    +/**
    + * Clear preference value.
    + * Wrapper of `Zotero.Prefs.clear`.
    + * @param key
    + */
    +export function clearPref(key: string) {
    +  return Zotero.Prefs.clear(`${config.prefsPrefix}.${key}`, true);
    +}
    +

    有了工具函数,我们就可以通过 getPref("enable") 来简写 Zotero.Prefs.get("pdfpreview.enable");

    参考资料

    + + + diff --git a/plugin-dev-guide/reference/update.html b/plugin-dev-guide/reference/update.html new file mode 100644 index 0000000000..b848f45a63 --- /dev/null +++ b/plugin-dev-guide/reference/update.html @@ -0,0 +1,58 @@ + + + + + + + + + + 更新清单 | Zotero 中文小组 + + + + + +
    跳至主要內容

    更新清单

    Zotero Chinese小于 1 分钟

    更新清单

    update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。

    {
    +  "addons": {
    +    "make-it-red@example.com": {
    +      "updates": [
    +        {
    +          "version": "2.0",
    +          "update_link": "https://zotero-download.s3.amazonaws.com/tmp/make-it-red/make-it-red-2.0.xpi",
    +          "update_hash": "sha256:e5ac442c4a3cffc4ffec8b764673b7036d5984690978faa7df66d78b030761c2",
    +          "applications": {
    +            "zotero": {
    +              "strict_min_version": "6.999"
    +            }
    +          }
    +        }
    +      ]
    +    }
    +  }
    +}
    +
    + + + diff --git a/plugin-dev-guide/reference/zotero.html b/plugin-dev-guide/reference/zotero.html new file mode 100644 index 0000000000..522a64c920 --- /dev/null +++ b/plugin-dev-guide/reference/zotero.html @@ -0,0 +1,40 @@ + + + + + + + + + + Zotero | Zotero 中文小组 + + + + + + + + + diff --git a/plugin-dev-guide/use-template/index.html b/plugin-dev-guide/use-template/index.html new file mode 100644 index 0000000000..6fd7366008 --- /dev/null +++ b/plugin-dev-guide/use-template/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 使用社区模板 | Zotero 中文小组 + + + + + +
    跳至主要內容

    使用社区模板

    Zotero Chinese小于 1 分钟

    使用社区模板

    Todo

    社区模板地址:https://github.com/windingwind/zotero-plugin-templateopen in new window

    考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。

    为什么使用该模板

    • 事件驱动、函数式编程的可扩展框架;
    • 简单易用,开箱即用;
    • ⭐[新特性!]自动热重载!当修改源码时,都会自动编译并重新加载插件;
    • src/modules/examples.ts 中有丰富的示例,涵盖了插件中常用的大部分 API 使用的插件工具包 Zotero-plugin-toolkitopen in new window
    • TypeScript 支持:
      • 为使用 JavaScript 编写的 Zotero 源码提供全面的类型定义支持 (使用类型定义包 Zotero-typesopen in new window
      • 全局变量和环境设置;
    • 插件开发/构建/发布工作流:
      • 自动生成/更新插件 id 和版本、更新配置和设置环境变量 (development/production);
      • 自动在 Zotero 中构建和重新加载代码;
      • 自动发布到 GitHub (使用 release-itopen in new window);
    • 集成 Prettier 和 ES Lint;
    + + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000000..bbc2b712da --- /dev/null +++ b/robots.txt @@ -0,0 +1,5 @@ + +User-agent:* +Disallow: + +Sitemap: https://zotero-chinese.com/sitemap.xml diff --git a/rss.xml b/rss.xml new file mode 100644 index 0000000000..cf2371bb31 --- /dev/null +++ b/rss.xml @@ -0,0 +1,4878 @@ + + + + + Zotero 中文小组 + https://zotero-chinese.com/ + Zotero 非官方中文维护小组 + zh-CN + Sat, 02 Mar 2024 10:47:57 GMT + Sat, 02 Mar 2024 10:47:57 GMT + @vuepress/plugin-feed + https://validator.w3.org/feed/docs/rss2.html + &lt;p xmlns:cc=&apos;http://creativecommons.org/ns#&apos; &gt;本工作以 &lt;a href=&apos;https://creativecommons.org/licenses/by-sa/4.0/deed.zh-hans&apos; target=&apos;_blank&apos; rel=&apos;license noopener noreferrer&apos; style=&apos;display:inline-block;&apos;&gt;CC BY-SA 4.0&lt;img style=&apos;height:22px!important;margin-left:3px;vertical-align:text-bottom;&apos; src=&apos;https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1&apos;&gt;&lt;img style=&apos;height:22px!important;margin-left:3px;vertical-align:text-bottom;&apos; src=&apos;https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1&apos;&gt;&lt;img style=&apos;height:22px!important;margin-left:3px;vertical-align:text-bottom;&apos; src=&apos;https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1&apos;&gt;&lt;/a&gt; 协议授权&lt;/p&gt; + + 术语对照表 + https://zotero-chinese.com/csl-dev-guide/glossary.html + https://zotero-chinese.com/csl-dev-guide/glossary.html + 术语对照表 + 术语对照表 以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。 引注(citation) 在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组... + Fri, 16 Feb 2024 00:51:03 GMT + 以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。

    +

    引注(citation)

    +

    在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组成的简短文本。

    +

    参考文献表(bibliography)

    +

    国标中称为“参考文献表”,亦有部分文献称之为“书目”,是集中展示被引文献详情的列表,可能位于章节末尾、全文末尾、每一页的页脚。

    +

    引用格式(citation format)

    +

    对于“如何在文章中标示参考文献”的规范标准,特指一整个标准体系,如 GB/T 7714-2015,而不是诸如是“作者名需要大写”这样的具体规定。

    +

    条目(item)

    +

    即 Zotero 中的“条目”,指对文献的相关信息的记录,条目中通常含有那些用于分类、引用的信息,并非指文献的内容本身。

    +

    参考文献条目(bibliographic entry)

    +

    参考文献表的组成单位,即参考文献表中的项目,除了 numeric 复合风格之外,一个参考文献条目往往对应一篇被引用的文献。

    +

    风格(style)

    +

    对一些相似的引用格式的统称,如 in-text 风格、note 风格等。

    +

    样式(style)

    +

    特指 CSL 的 style 文件及其代码,是对引用格式的代码实现。注意区别于 Microsoft Word 中的“样式”,在 Microsoft Word 中,“样式”是指若干具体格式的集合。

    +

    术语(term)

    +

    locale file 有关的语境里,“术语”指那些出现在引文或参考文献条目中用于串起相关信息的固定短语,如“xx”、“xx”、“载于xx”中的术语就分别连接着著作人、编者、出版物来源的信息。

    +

    翻译(translation)

    +

    locale file 有关的语境里,“翻译”特指术语(term)在不同语言中的翻译。

    +]]>
    +
    + + 添加附件 + https://zotero-chinese.com/user-guide/add-attachments.html + https://zotero-chinese.com/user-guide/add-attachments.html + 添加附件 + 添加附件 除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。 子附件和独立附件 Todo 参考:https://www.zotero.org/support/attaching_files 存储的附件和链接的附件 存储的附件icon-pdf.png:默认... + Fri, 02 Feb 2024 05:17:44 GMT + 除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。

    +

    子附件和独立附件

    + +

    存储的附件和链接的附件

    +
      +
    • 存储的附件:默认情况下,存储文件存储在 Zotero 数据目录中,Zotero 会自动管理它们,包括在 Zotero 中删除附件项时删除它们。如果使用文件同步功能,Zotero 会自动在设备之间同步存储的附件,并将它们储存在官方网盘(或 WebDAV 网盘)中。
    • +
    • 链接的附件:对于链接文件,Zotero 只存储指向计算机上原始文件位置的链接。链接文件不会同步,如果附件项在 Zotero 中被删除,链接文件也不会被删除,Zotero 程序也不支持链接文件的同步。(可以简单理解为链接的文件在 Zotero 中作用类似于 Windows 的快捷方式)
    • +
    +

    为条目添加附件

    +

    通过拖放

    +
    +

    Todo

    +
    +

    通过附件菜单

    +
    添加附件
    +

    附件重命名

    + +]]>
    +
    + + 编辑条目 + https://zotero-chinese.com/user-guide/edit-items.html + https://zotero-chinese.com/user-guide/edit-items.html + 编辑条目 + 编辑条目 始终及时校准条目 使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。 Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。 我们应始终意识到这个问题,养成导入后随手校正的习惯。 重复条目 Todo:待完善 参考:https://www... + Fri, 02 Feb 2024 05:17:44 GMT +

    +
    +

    始终及时校准条目

    +

    使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。

    +

    Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。

    +

    我们应始终意识到这个问题,养成导入后随手校正的习惯。

    +
    +

    重复条目

    + +

    由于各种原因,您可能会导入一些重复的项目。例如,您可能从同一网页保存同一项目多次,或者以前看的文献没印象了又新导入了一次。当你写论文插入参考文献时,重复条目会严重影响正确性,例如,你可能在不同地方引入同一文献的不同副本,而 Zotero 会认为它们是两个不同的文献。幸运的是,Zotero 可以帮助您识别可能的重复项并允许您合并它们。

    +
    +

    插件推荐

    +

    插件 Linter for ZoteroZopliacte 提供了对新增条目提醒重复的功能。

    +
    +

    条目字段

    +

    从以上方法导入的数据并不一定是完全正确的,最好养成导入条目后随手校正的习惯。

    +

    如下图所示,在中心窗格中选择一个条目后,右侧(标准视图)或下侧(堆栈视图)会显示该条目的书目信息。多数条目都可以直接单击进行编辑,更改自动保存。

    +
    添加条目后信息窗格
    +

    以下是一些比较特殊的字段,拿出来单独介绍:

    +

    条目类型

    +

    请尤其注意这一个选项,这直接决定在引用时,该条目以什么方式出现。且该项在通过浏览器导入时非常容易出错。

    +

    最典型的错误就是将“期刊文章/学位论文”等识别为“网页”。这会导致部分引文格式后出现 [EB/OL] 等文献标识符。

    +

    这时我们应该重新导入或手动更正。

    +

    期刊缩写

    +

    部分期刊要求使用“期刊标题的缩写”进行引用,Zotero 将“期刊名全称”和“期刊名缩写”分别保存在“期刊”和“期刊缩写”两个字段中。

    +

    抓取时不一定能准确获得期刊缩写,写论文引用前最好校正一下。

    +

    通常期刊缩写的差别多数在于加不加 .,例如“Applied Surface Science”可以缩写为“Appl Surf Sci”或“Appl. Surf. Sci.”。我们建议总是存储为加 . 的格式。因为去掉 . 总是比加上 . 更方便,在引用时,对于需要不加 . 的期刊就可以通过 CSL 直接去掉 .

    +
    +

    插件推荐

    +

    插件 Linter for Zotero 提供了自动获取期刊的 ISO 4 缩写的功能,可前往 插件商店下载安装。

    +
    +

    标题

    +

    标题中的上下标

    +
    <sub>下标内容</sub>
    +<sup>上标内容</sup>
    +<i>斜体</i>
    +<b>粗体</b>
    +

    详细请参阅:在 Word 参考文献表中实现斜体及上下标效果

    +
    +

    插件推荐

    +

    插件 Linter for Zotero 提供了辅助输入这些富文本标签的功能,可前往 插件商店下载安装。

    +
    +

    标题的大小写

    +

    我们建议您始终将标题以“句子大小写”的形式存储在 Zotero 库中,这有利于 CSL 进行格式转换。

    +

    什么是“句子大小写”?

    +
    - 标题大小写:Mechanism of Ce-Modified Birnessite-MnO<sub>2</sub> in Promoting SO<sub>2</sub> Poisoning Resistance for Low-Temperature NH<sub>3</sub>-SCR
    +- 句子大小写:Mechanism of Ce-Modified Birnessite-MnO<sub>2</sub> in promoting SO<sub>2</sub> poisoning resistance for low-temperature NH<sub>3</sub>-SCR
    +

    其他 extra

    +

    所有其他自定义字段均应保存在“其他(extra)”字段,保存在该字段的数据应为若干个键值对,每行一个。CSL 引用时可以通过键来调用值。

    +]]>
    +
    + + 插件安装的常见问题 + https://zotero-chinese.com/user-guide/faqs/plugins.html + https://zotero-chinese.com/user-guide/faqs/plugins.html + 插件安装的常见问题 + 插件安装的常见问题 关于插件的安装方法与常用插件介绍,请参见 。 无法打开插件页面 如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如... + Fri, 02 Feb 2024 05:17:44 GMT + 关于插件的安装方法与常用插件介绍,请参见 插件与功能扩展

    +

    无法打开插件页面

    +

    如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如果退出重开后依然没有,请重启电脑,然后再尝试。这是 Zotero 的一个 Bug。

    +

    插件页面显示过大超出屏幕

    +

    如果你能打开窗口,却发现窗口顶部捅破了天际,看不到上面的内容: 请先把窗口左右方向拉窄,这样顶部就回自己跳出来了;然后再把上下方向拉矮,把窗口调整到合适的位置,一段时间之内应该就会都是正常的了。这大概也是 Zotero 的一个祖传 Bug。如果是 Windows 系统,选中该窗口,使用快捷键 WIN + 左或右方向键 调整窗口。

    +

    插件安装包格式特殊

    +

    如果你下载到的插件安装包格式比较特殊 (如 .zoteroplugin 文件或 .zip 文件),这些文件可能不能在手动安装的文件选择窗口中选中。对于这些特殊格式的安装包,你 只需要把安装包文件拖至前文中提到的插件列表页即可安装

    +

    插件安装提示无法安装插件“%S”

    +

    如果安装的时候提示 无法安装插件“%S”……

    +
      +
    1. +

      请检查下载的插件格式。如果从 GitHub 下载,安装包在右侧的 Release 中的 xpi 文件。请不要下载源码。

      +
    2. +
    3. +

      请检查插件安装包是否损坏。重新下载一遍。

      +
    4. +
    +

    插件检查更新时提示未找到更新

    +

    可能是确实没有更新,也可能是无法链接到 GitHub。请在插件镜像寻找你需要的安装包:https://zotero-chinese.gitee.io/zotero-plugins/#/
    +即使你能够打开 GitHub 页面,也并不代表 Zotero 能够顺利下载到插件更新。这取决于网络情况。

    +]]>
    +
    + + 首选项:高级设置 + https://zotero-chinese.com/user-guide/misc/preference.html + https://zotero-chinese.com/user-guide/misc/preference.html + 首选项:高级设置 + 首选项:高级设置 本节是 https://www.zotero.org/support/preferences/hidden_preferences 的翻译版本。 您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级... + Fri, 02 Feb 2024 05:17:44 GMT + +

    本节是 https://www.zotero.org/support/preferences/hidden_preferences 的翻译版本。

    + +

    您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级的用途。

    +

    Zotero

    +

    要查看 Zotero 首选项的完整列表,包括许多隐藏的首选项,请转到 Zotero 首选项的高级窗格并单击“设置编辑器”。 在出现的列表顶部的过滤器字段中输入“Zotero”。 用户可以安全更改的首选项如下所述。
    +大多数 Zotero 隐藏首选项都以“extensions.Zotero”开头。

    +

    通用设置

    +

    这些通用隐藏设置允许您定制化 Zotero 。

    +

    | 设置名称 | 默认值 | 描述 |
    +|

    +]]>
    +
    + + Better Notes + https://zotero-chinese.com/user-guide/plugins/better-notes.html + https://zotero-chinese.com/user-guide/plugins/better-notes.html + Better Notes + Better Notes 提示 深度适配 Zotero 阅读器的笔记插件。 项目主页:https://github.com/windingwind/zotero-better-notes 下载地址: GitHub Release 国内镜像 Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔... + Fri, 02 Feb 2024 05:17:44 GMT + +

    提示

    +

    深度适配 Zotero 阅读器的笔记插件。

    +
    + +

    Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔记插件。它完全开源、免费,支持双链笔记,支持 Markdown 与标记语言,深度集成了文献管理与阅读功能。

    +

    Better Notes 首页 开始了解 Better Notes!

    +]]> + + + Easier Citation for Zotero + https://zotero-chinese.com/user-guide/plugins/easier-citation.html + https://zotero-chinese.com/user-guide/plugins/easier-citation.html + Easier Citation for Zotero + Easier Citation for Zotero Todo + Fri, 02 Feb 2024 05:17:44 GMT + +

    Todo

    + +]]>
    +
    + + 茉莉花 + https://zotero-chinese.com/user-guide/plugins/jasminum.html + https://zotero-chinese.com/user-guide/plugins/jasminum.html + 茉莉花 + 茉莉花 比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。 该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插... + Fri, 02 Feb 2024 05:17:44 GMT + 比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。
    +该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:

    +
    +
      +
    1. 拆分或合并 Zotero 中条目作者姓和名
    2. +
    3. 根据知网上下载的文献文件来抓取引用信息(就是根据文件名)
    4. +
    5. 添加中文 PDF/CAJ 时,自动拉取知网数据,该功能默认关闭。需要到设置中开启,注意添加的文件名需要含有中文,全英文没有效果(还是根据文件名)
    6. +
    7. 为知网的学位论文 PDF 添加书签
    8. +
    9. 更新中文 translators
    10. +
    11. 拉取文献引用次数,是否核心期刊
    12. +
    +
    +

    安装茉莉花

    +

    01. 下载安装 Jasminum 插件

    +

    Latest Release · l0o0/jasminum (GitHub.com) 下载 .xpi 文件,插件安装见 插件与功能扩展

    +

    02. 配置 PDFtk

    +

    2.1 下载与安装 PDFtk

    +

    Windows
    +下载并安装 PDFtk server ,记录安装路径(eg. C: \Program Files (x86)\PDFtk)。
    +macOS
    +MAC 用户参考 这里

    +

    2.2 在茉莉花中配置 PDFtk 路径

    +

    在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 <PDFtk install dir>/bin (eg. C: \Program Files (x86)\PDFtk\bin)(即 PDFtk 可执行文件所在目录)。

    +

    03. 安装中文 Translator

    +

    与上一步同一界面——Unofficial Translator Repository——Refresh——Update all。

    +

    04. 更新中文 Translator

    +

    打开已安装 Zotero Connector 的浏览器,右击 Zotero Connector 图标进入拓展选项,Advanced——Update Translators。

    +

    如果你打开了日志,则会看到绿色标出的提示。

    +]]>
    +
    + + Linter for Zotero + https://zotero-chinese.com/user-guide/plugins/linter.html + https://zotero-chinese.com/user-guide/plugins/linter.html + Linter for Zotero + Linter for Zotero Todo + Fri, 02 Feb 2024 05:17:44 GMT + +

    Todo

    + +]]>
    +
    + + Magic for Zotero + https://zotero-chinese.com/user-guide/plugins/magic.html + https://zotero-chinese.com/user-guide/plugins/magic.html + Magic for Zotero + Magic for Zotero Todo 见:https://wiki.magiczotero.top/ + Fri, 02 Feb 2024 05:17:44 GMT + +

    Todo

    +

    见:https://wiki.magiczotero.top/

    + +]]>
    +
    + + Style for Zotero + https://zotero-chinese.com/user-guide/plugins/style.html + https://zotero-chinese.com/user-guide/plugins/style.html + Style for Zotero + Style for Zotero Todo + Fri, 02 Feb 2024 05:17:44 GMT + +

    Todo

    + +]]>
    +
    + + Translate for Zotero + https://zotero-chinese.com/user-guide/plugins/translate.html + https://zotero-chinese.com/user-guide/plugins/translate.html + Translate for Zotero + Translate for Zotero 提示 深度适配 Zotero 阅读器的翻译插件。 项目主页:https://github.com/windingwind/zotero-pdf-translate 下载地址: GitHub Release Zotero 中文社区插件商店 Zotero PDF Translate 是由 @windingwind ... + Fri, 02 Feb 2024 05:17:44 GMT + +

    提示

    +

    深度适配 Zotero 阅读器的翻译插件。

    + + +

    Zotero PDF Translate 是由 @windingwind 开发的,用于文献管理软件 Zotero 的翻译插件。它完全开源、免费,主要功能有:

    +
      +
    • 划词翻译(自动/手动)
    • +
    • 标题、摘要翻译与源文本/翻译结果显示切换
    • +
    • 批注翻译(自动/手动)
    • +
    • 支持 15+种翻译服务与 4+种字典服务
    • +
    • 自定义翻译侧栏 UI,支持同时使用多种翻译引擎
    • +
    +

    插件深度集成了 Zotero 文献阅读功能。

    +]]>
    +
    + + 移动端 + https://zotero-chinese.com/user-guide/mobile.html + https://zotero-chinese.com/user-guide/mobile.html + 移动端 + 移动端 iOS 官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。 安装 见 。 配置 提示 在进行该部分操作时,请确保您拥有 Zotero账户、具有WebDAV同步功能的网盘、完成PC端相关设置。 在第一次打开 Zotero ... + Fri, 02 Feb 2024 05:17:18 GMT + iOS +

    官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。

    +

    安装

    +

    安装

    +

    配置

    +
    +

    提示

    +

    在进行该部分操作时,请确保您拥有 Zotero账户具有WebDAV同步功能的网盘完成PC端相关设置

    +
    +
      +
    1. +

      在第一次打开 Zotero 时,会提醒登陆,选择 Sign In(此时需要登陆你的 Zotero 账户)

      +
      登陆Zotero账户
      +
    2. +
    3. +

      登陆完成后,返回 app 主页,点击右上角的齿轮图标

      +
      app首页
      +
    4. +
    5. +

      点击 account 进入同步设置

      +
    6. +
    7. +

      从上到下依次为:

      +
        +
      • 附件同步方式:WebDAV
      • +
      • WebDAV 地址:dav.jianguoyun.com/dav
      • +
      • 坚果云账户:邮箱
      • +
      • 密码:此处的密码是在坚果云中创建的应用密码,不是坚果云网盘的登陆密码)
      • +
      +

      验证服务器后显示Verified 表示设置成功。

      +
      iOS同步登陆
      +
    8. +
    9. +

      等待片刻文献即可同步成功。可以点击文献直接阅读,也点击文献右侧的 i 标志查看文献信息
      +

      +
    10. +
    11. +

      在文献阅读时,可以进行高亮内容,任意划线等操作。完成阅读是直接返回,你的阅读记录会后台自动同步到其他客户端。
      +

      +
    12. +
    +

    Android

    +
    +

    提示

    +

    Zotero 官方已经在测试 Android 版本客户端,预计 2024 年会发布。

    +
    +

    目前使用较多的 Android 客户端是 Zoo,开源免费,主要功能有:

    +
      +
    • 查看不同文件目录分类,包括子文件目录。不能编辑
    • +
    • 支持群组条目查看,不能编辑
    • +
    • 支持创建,编辑和删除笔记。这里是笔记,不是 PDF 里的注释笔记
    • +
    • 支持搜索功能,包括条目和笔记
    • +
    • 支持 WebDAV 附件下载与上传
    • +
    +

    安装

    +

    安装

    +

    配置

    +
      +
    1. +

      Zoo 安装成功后,需要使用 Zotero 授权的 API key 才能访问 Zotero 数据库。如果你已有一个 API key,可直接在下图中直接填入。一般刚使用 Zoo 的同学,都需要重新申请一下,输入 Zotero 账号和密码,点击 Got it,在授权页面注意需要选择 7 Save Key。如果不成功,可以多试几次。授权成功后,应用会开始下载文献库信息,文献越多,下载时间越长。如果等了 10-20 分钟还在 Loading,建议重启 APP 试试。详细说明参考下图

      +
      为 Zoo 设置 Zotero API key
      +
      Zoo 加载数据界面
      +
    2. +
    3. +

      一般常用的附件同步方式是使用WebDAV,如果你使用 Zotero 的 300M 空间,可不必进行这一步设置。先打开右上角工作间 Setting,勾选下方的Use webdav to access attachments,再点击Config Webdav跳转到配置页面,填写好相应的网址,用户名和密码,请一定要注意核对网址,用户名和密码的空格,特殊符号等。这里里的网址后面会自动帮你加上 Zotero,填写时要注意

      +
      Zoo 中配置 WebDAV
      +
    4. +
    5. +

      配置完毕,点开某个条目,点击 PDF 图标,会自动下载 PDF。有可能下载失败,重试即可

      +
      Zoo 中下载 PDF
      +
    6. +
    +]]>
    +
    + + 调试代码 + https://zotero-chinese.com/plugin-dev-guide/development/debug.html + https://zotero-chinese.com/plugin-dev-guide/development/debug.html + 调试代码 + 调试代码 通过 Run JavaScript 调试 从 菜单栏 -&gt; 工具 -&gt; 开发者 -&gt; Run JavaScript 打开界面。 在左侧键入代码,点击运行即可在右侧看到输出。 如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。 通过 Zotero.debug 输出日志 使用 Zotero.debug 输出到 菜单栏... + Fri, 02 Feb 2024 05:11:21 GMT + 通过 Run JavaScript 调试 +

    菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。

    +

    在左侧键入代码,点击运行即可在右侧看到输出。

    +

    如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。

    +

    通过 Zotero.debug 输出日志

    +
      +
    • 使用 Zotero.debug 输出到 菜单栏 -> 帮助 -> 输出日志排错 -> 查看输出文件
    • +
    • 使用 Zotero.log 输出到 菜单栏 -> 工具 -> 开发者 -> Error Console
    • +
    +

    通过开发者工具

    +

    如果你不熟悉开发者工具,可参看什么是浏览器开发者工具? - 学习 Web 开发 | MDN

    +
    +

    远程调试依赖 beta 版本 Zotero

    +

    远程调试需要 Zotero beta builds 。Windows 开发者可下载 zip 版本,解压缩后即可使用,不会将正式版覆盖。

    +
    +

    截止至最后编辑日期,Zotero 底层基于 Firefox 102 ESR。

    +
      +
    1. +

      打开 Zotero Beta,打开 菜单栏 -> 编辑 -> 设置 -> 高级 -> 设置编辑器,搜索 debug 并将 devtools.debugger.remote-enabledevtools.debugger.remote-websocket 设置为 true

      +
    2. +
    3. +

      使用 --debugger 参数启动 Zotero。
      +也可以将启动参数写入快捷方式。

      +
    4. +
    5. +

      在 FireFox 102 ESR 中,找到设置 -> 更多工具 -> 远程调试(或者浏览器中输入:about:debugging#/setup),找到网络位置,输入 localhost:6000,点击确定添加即可。

      +
      +

      提示

      +

      端口与第一步打开的高级编辑器中 devtools.debugger.remote-port 一致。

      +
      +
    6. +
    7. +

      选择 localhost:6000,然后点击进程中的多线程工具箱进行检查,可进入控制台、无障碍环境等进行调试

      +
    8. +
    +
    +

    Zotero 正在包含此功能

    +

    Zotero 团队正在将开发者工具嵌入 Zotero,见 PR #3387,此 PR 合并后即可直接从菜单呼出开发者工具,而无需安装 FireFox。

    +
    +
    +

    模板用户无需手动配置

    +

    模板的启动脚本中已经进行了相关配置,部分实现了上述 PR 的功能,因此你无需再手动执行以上步骤,也不需要安装 Firefox,npm start 后即可打开开发者工具。

    +
    +]]>
    +
    + + 侧载插件 + https://zotero-chinese.com/plugin-dev-guide/development/sideloading.html + https://zotero-chinese.com/plugin-dev-guide/development/sideloading.html + 侧载插件 + 侧载插件 Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。 提示 使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。 通过代理文件载入插件 To... + Fri, 02 Feb 2024 05:11:21 GMT + Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。

    +
    +

    提示

    +

    使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。

    +
    +

    通过代理文件载入插件

    +
    +

    Todo

    +

    此节说明如何通过代理文件将插件侧载入 Zotero,待完善,请参阅:Setting Up a Plugin Development Environment

    +
    +

    通过安装临时插件载入

    +
    +

    Todo

    +

    Zotero 官方尚未提供此种方式的文档,但此种方式是 Firefox 较为推荐的方式,社区维护的框架等也正在逐步迁移至此种方式,在迁移完成之前,可以参考 web-ext 包来实现。

    +
    +]]>
    +
    + + 快速开始 + https://zotero-chinese.com/plugin-dev-guide/quick-start/ + https://zotero-chinese.com/plugin-dev-guide/quick-start/ + 快速开始 + 快速开始 此节以官方插件示例 Make It Red 为例,说明 Zotero 插件的工作过程。 Todo 待完善,请参阅插件仓库:Make It Red + Fri, 02 Feb 2024 05:11:21 GMT + 此节以官方插件示例 Make It Red 为例,说明 Zotero 插件的工作过程。

    +
    +

    Todo

    +

    待完善,请参阅插件仓库:Make It Red

    +
    +]]>
    +
    + + 参考 + https://zotero-chinese.com/plugin-dev-guide/reference/ + https://zotero-chinese.com/plugin-dev-guide/reference/ + 参考 + 参考 + Fri, 02 Feb 2024 05:11:21 GMT + + + + 引导脚本 + https://zotero-chinese.com/plugin-dev-guide/reference/bootstrap.html + https://zotero-chinese.com/plugin-dev-guide/reference/bootstrap.html + 引导脚本 + 引导脚本 引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。 内容 这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。 生命周期钩子 插件生命周期挂钩传递两个参数: 具有以下属性的对象: id ,插件 ID version ,插件版本 rootURI ,指向... + Fri, 02 Feb 2024 05:11:21 GMT + 引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。

    +

    内容

    +

    这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。

    +

    生命周期钩子

    +
    // 插件被安装时调用
    +function install(data, reason) {}
    +
    +// 插件启动时调用
    +function startup(data, reason) {}
    +
    +// 插件被禁用时或 Zotero 被关闭时调用
    +function shutdown(data, reason) {}
    +
    +// 插件被卸载时调用
    +function uninstall(data, reason) {}
    +

    插件生命周期挂钩传递两个参数:

    +
      +
    • 具有以下属性的对象: +
        +
      • id ,插件 ID
      • +
      • version ,插件版本
      • +
      • rootURI ,指向插件文件的字符串 URL。对于 XPI,这将是 jar:file:/// URL。该值始终以斜杠结尾,因此您可以附加相对路径来获取与插件捆绑的文件的 URL(例如 rootURI + 'style.css' )。
      • +
      +
    • +
    • 表示事件原因的数字,可以根据以下常量进行检查: APP_STARTUPAPP_SHUTDOWNADDON_ENABLEADDON_DISABLEADDON_INSTALLADDON_UNINSTALLADDON_UPGRADEADDON_DOWNGRADE
    • +
    +

    任何与特定窗口无关的初始化都应由 startup 触发,删除应由 shutdown 触发。

    +

    窗口钩子

    +
    // Zotero 主窗口加载完毕时调用
    +function onMainWindowLoad({ window }) {}
    +
    +// Zotero 主窗口被关闭时调用
    +function onMainWindowUnload({ window }) {}
    +

    窗口钩子传递一个参数:

    +
      +
    • 具有包含目标窗口的 window 属性的对象
    • +
    +

    在某些平台上,主窗口可以在 Zotero 会话期间多次打开和关闭,因此任何与窗口相关的活动,例如修改主 UI、添加菜单或绑定快捷方式都必须由 onMainWindowLoad 执行以便新的主窗口包含您的更改。

    +

    然后,当调用 onMainWindowUnload 时,您必须删除对窗口或其中的对象的所有引用,取消任何计时器等,否则每次关闭窗口时都会有造成内存泄漏的风险。添加到窗口的 DOM 元素会在窗口关闭时自动销毁,因此只需删除 shutdown() 中的元素即可,可以通过循环遍历所有窗口来完成:

    +
    function shutdown() {
    +  var windows = Zotero.getMainWindows();
    +  for (let win of windows) {
    +    win.document.getElementById("make-it-red-stylesheet")?.remove();
    +  }
    +}
    +

    (目前仅支持一个主窗口,但有些用户可能会找到打开多个主窗口的方法,这将在未来版本中正式支持。)

    +
    +

    提示

    +

    通常地,在 startup 中初始化插件地本地化系统、设置、兼容性等,在 onMainWindowLoad 中初始化与 Zotero UI 有关的组件,如菜单、侧边栏、自定义列等。

    +
    +

    样例

    +

    关于 bootstrap.js 的样例,可参考前章提到的插件框架。它将插件的根对象注册到全局变量 Zotero 中,在任何引入了 Zotero 的位置均可使用。 或参考 Zutilo 插件。它将插件的根对象注册为一个全局变量。缺陷是在非主窗口内引入插件代码将较为复杂。

    + +

    下面是以官方示例 Make It Redbootstrap.js,它在 startup() 中通过 Services.scriptloader.loadSubScript(rootURI + "make-it-red.js"); 将插件脚本载入,在 make-it-red.js 中,在 Zotero 下定义了一个对象 MakeItRed。在 make-it-red.js 加载完成后,调用 MakeItRed 对象下的方法完成插件初始化。

    +
    var MakeItRed;
    +
    +function log(msg) {
    +  Zotero.debug("Make It Red: " + msg);
    +}
    +
    +function install() {
    +  log("Installed 2.0");
    +}
    +
    +async function startup({ id, version, rootURI }) {
    +  log("Starting 2.0");
    +
    +  Services.scriptloader.loadSubScript(rootURI + "make-it-red.js");
    +  MakeItRed.init({ id, version, rootURI });
    +  MakeItRed.addToAllWindows();
    +  await MakeItRed.main();
    +}
    +
    +function onMainWindowLoad({ window }) {
    +  MakeItRed.addToWindow(window);
    +}
    +
    +function onMainWindowUnload({ window }) {
    +  MakeItRed.removeFromWindow(window);
    +}
    +
    +function shutdown() {
    +  log("Shutting down 2.0");
    +  MakeItRed.removeFromAllWindows();
    +  MakeItRed = undefined;
    +}
    +
    +function uninstall() {
    +  log("Uninstalled 2.0");
    +}
    +

    参考资料

    + +]]>
    +
    + + Zotero 条目 + https://zotero-chinese.com/plugin-dev-guide/reference/item.html + https://zotero-chinese.com/plugin-dev-guide/reference/item.html + Zotero 条目 + Zotero 条目 Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一... + Fri, 02 Feb 2024 05:11:21 GMT + Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一个条目(Item)。

    +

    大多数插件的最终目的就是修改这些条目,例如,添加标签,修改信息,等等。

    +

    创建条目

    +
    new Zotero.Item(itemType);
    +

    获取条目

    +
    declare Zotero.Items.get: (ids: Number | Number[]) => ZoteroItem | ZoteroItem[];
    +declare Zotero.Items.getByLibraryAndKeyAsync: (
    +  libraryID: Number,
    +  itemKey: String
    +) => Promise<ZoteroItem>;
    +declare ZoteroPane.getSelectedItems: () => ZoteroItem[];
    +

    通过 Zotero.Items.get / getByLibraryAndKeyAsync 来从 ID 获取条目;
    +通过 ZoteroPane.getSelectedItems 获取当前选中的条目。

    +
    ZoteroPane.itemsView.getRow(2).ref;
    +

    修改条目

    +

    对条目内容进行修改后,请使用 item.save / item.saveTx()来保存。

    +
    var item = new Zotero.Item("computerProgram");
    +item.setType(Zotero.ItemTypes.getID("note"));
    +

    PDF 批注

    +
    +

    Zotero 中的批注也是 Item 类型!

    +
    +
    Zotero.Items.getAll(1).then((i) => i.filter((t) => t.isAnnotation()));
    +

    注释的属性:

    +
      +
    • annotationText:高亮注释的内容
    • +
    • parentItem:获得 pdf 条目
    • +
    +
    const annotations = Zotero.Items.get(reader.itemID).getAnnotations();
    +reader.navigate({ annotationKey: annotations[0].key });
    +

    从对话框选择条目

    +
    let io = { dataIn: null, dataOut: null, deferred: Zotero.Promise.defer() };
    +window.openDialog(
    +  "chrome://zotero/content/selectItemsDialog.xhtml",
    +  "",
    +  "chrome,dialog=no,centerscreen,resizable=yes",
    +  io
    +);
    +io.deferred.promise.then(() => console.debug(io));
    +
    ]]>
    +
    + + i18n + https://zotero-chinese.com/plugin-dev-guide/reference/localization.html + https://zotero-chinese.com/plugin-dev-guide/reference/localization.html + i18n + i18n locales/ Todo Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档: Zotero 7 for developers Fluent for Firefox Developers Fluent 文档 + Fri, 02 Feb 2024 05:11:21 GMT + locales/

    +
    +

    Todo

    +

    Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档:

    + +
    +]]>
    +
    + + 插件清单 + https://zotero-chinese.com/plugin-dev-guide/reference/manifest.html + https://zotero-chinese.com/plugin-dev-guide/reference/manifest.html + 插件清单 + 插件清单 manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。 在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。 此文件与 Web Extension 的 manifest.json 基本一致,只是减少了一些字段。 示例 下面是一个典型的 ... + Fri, 02 Feb 2024 05:11:21 GMT + manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。

    +

    在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。

    +

    此文件与 Web Extension 的 manifest.json 基本一致,只是减少了一些字段。

    +

    示例

    +

    下面是一个典型的 manifest.json 文件,内容来源于官方插件示例 Make It Red

    +
    {
    +  "manifest_version": 2,
    +  "name": "Make It Red",
    +  "version": "2.0",
    +  "description": "Makes everything red",
    +  "homepage_url": "https://github.com/zotero/make-it-red",
    +  "applications": {
    +    "zotero": {
    +      "id": "make-it-red@example.com",
    +      "update_url": "https://zotero-download.s3.amazonaws.com/tmp/make-it-red/updates-2.0.json",
    +      "strict_min_version": "6.999",
    +      "strict_max_version": "7.0.*"
    +    }
    +  }
    +}
    +

    属性参考

    +

    manifest_version

    +
      +
    • 类型:number
    • +
    • 强制性:强制
    • +
    +

    此键指定扩展使用的 manifest.json 的版本。

    +

    值须是且仅能是 2

    +

    name

    +
      +
    • 类型:string
    • +
    • 强制性:强制
    • +
    +

    插件的名称,本地化可参考 manifest 的本地化

    +

    version

    +
      +
    • 类型:string
    • +
    • 强制性:强制
    • +
    +

    插件的版本,一般格式为由点分隔的数字组成的 ASCII 字符串。

    +

    版本格式

    +

    版本字符串由 1 到 4 个数字组成,数字之间用点分隔,例如 1.2.3.4 。非零数字不得包含前导零。例如,不允许使用 2.01 ;但是, 0.22.0.12.10 是允许的。

    +

    版本比较

    +

    为了确定两个扩展版本中哪一个是最新的,需要从左到右比较版本字符串号。缺少版本字符串元素相当于 0 。例如,1.0 相当于 1.0.0.0。第一个版本字符串的编号大于另一个版本字符串中对应编号的版本字符串是最新的。例如,1.10 是比 1.9 更新的版本。

    +

    applications

    +

    类型:object
    +强制性:强制

    +

    此项必须包含属性 zotero

    +

    zotero

    +
    id
    +

    id 即扩展 ID。必填项。通常的,大家都使用邮箱格式来命名插件 ID

    +
    strict_min_version
    +

    插件所能支持的 Zotero 的最小版本号。不允许使用 * 来定义版本号。默认值为 "42a1"。

    +
    strict_max_version
    +

    插件所能支持的 Zotero 的最大版本号。如果安装或运行附加组件的 Firefox 版本号高于这个最大版本号,附加组件将不能运行或不允许被安装。默认值为"*",意思为不对最大版本号做检查。

    +
    update_url
    +

    链接到插件 更新清单 的链接。注意链接必须以“https”开头。这是为了使你自己就能够管理附加组件的更新。

    +

    author

    +
      +
    • 类型:string
    • +
    • 强制性:非强制
    • +
    +

    附加组件的作者,用于在浏览器用户界面上显示,这样别人下载安装使用该附加组件的时候,就能看见你的大名了。

    +

    description

    +
      +
    • 类型:string
    • +
    • 强制性:非强制
    • +
    +

    用于在用户下载安装使用界面中显示的一段简短的关于该附加组件的描述。

    +

    这是一个可本地化的键。

    +

    homepage_url

    +
      +
    • 类型:string
    • +
    • 强制性:非强制
    • +
    +

    如果 developer 键存在且包含 url 属性,它将会覆盖 homepage_url 键。

    +

    这是一个可本地化的键。

    +

    manifest 的本地化

    + +

    参考资料

    + +]]>
    +
    + + 更多接口 + https://zotero-chinese.com/plugin-dev-guide/reference/more.html + https://zotero-chinese.com/plugin-dev-guide/reference/more.html + 更多接口 + 更多接口 Zotero Types 关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-types 如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。 ZoteroPane Zotero... + Fri, 02 Feb 2024 05:11:21 GMT + +

    Zotero Types

    +

    关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-types

    +

    如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。

    + +

    ZoteroPane

    +

    ZoteroPane 是 Zotero 中主界面项目视图的抽象。可用于获取选中的项目,等等。

    +

    源码位置:chrome/content/Zotero/zoteroPane.js

    +

    可通过 ZoteroPane.getSelectedItems() 获取选中的条目;
    +通过 ZoteroPane.itemsView.onSelect.addListener 添加条目选中事件监听。

    +
    ZoteroPane.selectItem(itemID); // 必须先切换到文库标签页
    +

    Zotero.Collections 与 Zotero.Collection

    +

    Collection(集合)是 Zotero 中所有条目的父层级,是 Library(库)的子层级。

    + +

    Zotero.Libraries 与 Zotero.Library

    +

    Libray(库)是 Zotero 中所有条目最终的父层级。Zotero 库分为用户库(id=1)与群组库,库之间的内容存储方式可能具有较大不同。

    + +

    Zotero.Reader

    +

    Zotero.Reader 是 PDF 阅读器的接口,但对于阅读器中诸如选中、高亮等许多功能在 viewer.html 内,无法直接从 Zotero 中调用,相关源码在 pdf-reader 仓库。本节仅作介绍 Zotero.Reader。

    +

    源码位置:chrome/content/Zotero/xpcom/reader.js

    +

    基本使用

    +

    通过 Zotero.Reader._readers 访问当前的 ReaderInstance 对象,每个对象有 _iframeWindow 属性,可对其执行界面操作。

    +
    Zotero.Reader.getByTabID(Zotero_Tabs.selectedID);
    +
    const cont = document.getElementById(`${Zotero_Tabs.selectedID}-context`);
    +const box = cont.querySelector("tabbox");
    +box.tabs.append(tab);
    +box.tabpanels.append(panel);
    +

    调用 pdf.js 接口

    +

    ReaderInstance 对象的 _iframeWindow 属性是阅读器的 window 对象,也就是在网页版所看到的内容,它包含了整个 pdf 阅读器的 document 对象与 wrappedJSObject 字段。

    +

    通过调用 ._iframeWindow.wrappedJSObject 可在阅读器命名空间外访问其局部变量,其中的方法有 zoteroCopyImagezoteroSaveImageAs 等。同时他包含了 PDFViewerApplication 对象.

    +

    该部分源码在 pdf-reader/src at master · Zotero/pdf-reader

    +
    ._iframeWindow.wrappedJSObject.PDFViewerApplication.pdfViewer.currentPageNumber
    +

    此外,通过注入脚本的方式可以直接访问 PDFViewerApplication 对象来操作阅读器:chartero | chrome/content/reader.js

    +

    案例

    +
    1. 获取 pdf 指定页面所有文字
    +

    以第一页为例,索引为 0:

    +
    const reader = Zotero.Reader.getByTabID(Zotero_Tabs).selectedID);
    +const PDFViewerApplication = reader._iframeWindow.wrappedJSObject.PDFViewerApplication;
    +await PDFViewerApplication.pdfLoadingTask.promise;
    +await PDFViewerApplication.pdfViewer.pagesPromise;
    +let pages = PDFViewerApplication.pdfViewer._pages;
    +let pdfPage = pages[0].pdfPage;
    +let items = (await pdfPage.getTextContent()).items;
    +
    +

    这里以 item=items[0] 为例:

    +
    {
    +  chars: Array(63) [ {}, {}, {},]
    +	dir: "ltr"
    +	fontName: "g_d0_f1"
    +	height: 6.376
    +	str: "Ma, Z., Hu, X., Huang, L., Bi, J., Liu, Y., 2014."
    +	transform: [6.376, 0, 0, 6.376, 42.5197, 732.5289]
    +	width: 202.367864
    +}
    +

    这里的 item.chars 记录了 item.str 的每个字符对应的渲染信息。除了宽高外,item.transform 还提供了(x=item.transform[4], y=item.transform[5])位置信息。这个位置以 pdf 页面左下角为原点。

    +

    根据 pdf 页面内的文字可以解析出所有参考文献,详见:GitHub - MuiseDestiny/Zotero-reference: Zotero 插件,侧边栏显示正在阅读文献的所有参考文献

    +

    Zotero.Notes

    +

    Zotero.EditorInstance 类是笔记编辑器的抽象;Zotero.EditorInstanceUtilities 对象包括了笔记中一些转换等基础功能。

    +

    源码位置:chrome/content/Zotero/xpcom/editorInstance.js

    +

    Zotero.Notes 是所有 EditorInstance 实例的管理器。

    +

    源码位置:chrome/content/Zotero/xpcom/data/notes.js

    +

    Zotero_Tabs

    +

    Zotero 6 以后的版本引入了标签页(tab)。当打开 PDF 时,默认在新标签页打开。
    +源码位置:chrome/content/Zotero/tabs.js

    +

    基本使用

    +

    通过 Zotero_Tabs 访问当前打开的标签页。

    +

    新增标签页

    +

    通过 Zotero_Tabs.add 方法新增标签页,例如 Better Notes 插件中的一段代码:

    +
    let { id, container } = Zotero_Tabs.add({
    +  type: "betternotes",
    +  title: Zotero.locale.includes("zh") ? "工作区" : "Workspace",
    +  index: 1,
    +  data: {},
    +  select: select,
    +  onClose: undefined,
    +});
    +

    请注意此处的 type 将影响菜单栏的显示/隐藏。截至文档更新(2022.08.22),在离开标签时,自定义的标签类型不会被正确隐藏,但在进入标签页时会被显示(相关代码在 ZoteroStandalone.switchMenuType)。因此需要手动处理离开标签页时隐藏自定义标签的部分菜单。

    +
    switchRealMenuBar(hidden: boolean) {
    +    // We only handle hide. The show will be handled by the ZoteroStandalone.switchMenuType
    +    document
    +      .querySelectorAll(".menu-type-betternotes")
    +      .forEach((el) => ((el as HTMLElement).hidden = hidden));
    +
    +    // Disable Zotero pdf export
    +    (document.getElementById("menu_export_files") as XUL.Element).disabled =
    +      !hidden;
    +}
    +

    标签页操作

    +

    通过 select / jump / move / close 等相关方法进行操作。

    +
    Zotero_Tabs.select("zotero-pane");
    +

    文件操作

    +
    +

    Todo

    +

    文件读写已迁移至 IOUtilsPathUtils

    +
    +

    Clipboard API

    +

    Zotero 中关于剪切板的相关接口。由于 Zotero 目前基于 FireFox60,因此无法使用现代浏览器的剪切板接口。
    +样例代码为 Better Notes 插件提供的剪切板包装:

    +
    class CopyHelper {
    +  transferable: any;
    +  clipboardService: any;
    +
    +  constructor() {
    +    this.transferable = Components.classes[
    +      "@mozilla.org/widget/transferable;1"
    +    ].createInstance(Components.interfaces.nsITransferable);
    +    this.clipboardService = Components.classes[
    +      "@mozilla.org/widget/clipboard;1"
    +    ].getService(Components.interfaces.nsIClipboard);
    +  }
    +
    +  public addText(source: string, type: "text/html" | "text/unicode") {
    +    const str = Components.classes[
    +      "@mozilla.org/supports-string;1"
    +    ].createInstance(Components.interfaces.nsISupportsString);
    +    str.data = source;
    +    this.transferable.addDataFlavor(type);
    +    this.transferable.setTransferData(type, str, source.length * 2);
    +    return this;
    +  }
    +
    +  // Only Windows
    +  public addImage(source: string) {
    +    const io = Components.classes[
    +      "@mozilla.org/network/io-service;1"
    +    ].getService(Components.interfaces.nsIIOService);
    +    const channel = io.newChannel(source, null, null);
    +    const input = channel.open();
    +    const imgTools = Components.classes[
    +      "@mozilla.org/image/tools;1"
    +    ].getService(Components.interfaces.imgITools);
    +
    +    const buffer = NetUtil.readInputStreamToString(input, input.available());
    +    const container = imgTools.decodeImageFromBuffer(
    +      buffer,
    +      buffer.length,
    +      channel.contentType
    +    );
    +
    +    this.transferable.addDataFlavor(channel.contentType);
    +    this.transferable.setTransferData(channel.contentType, container, -1);
    +    return this;
    +  }
    +
    +  public copy() {
    +    this.clipboardService.setData(
    +      this.transferable,
    +      null,
    +      Components.interfaces.nsIClipboard.kGlobalClipboard
    +    );
    +  }
    +}
    +

    使用样例:

    +
    new CopyHelper()
    +  .addText(html, "text/html")
    +  .addText(this._Addon.parse.parseHTMLToMD(html), "text/unicode")
    +  .copy();
    +

    弹出通知

    +
    const popMsg = new Zotero.ProgressWindow({ closeOnClick: false });
    +popMsg.changeHeadline("[Error]", "", "Chartero");
    +popMsg.addDescription("
    ]]>
    +
    + + Zotero 事件机制 + https://zotero-chinese.com/plugin-dev-guide/reference/notify.html + https://zotero-chinese.com/plugin-dev-guide/reference/notify.html + Zotero 事件机制 + Zotero 事件机制 Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。 大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregis... + Fri, 02 Feb 2024 05:11:21 GMT + Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。

    +

    大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregisterObserver 移除事件。

    +

    Notifier 支持的事件类型包括(可能不全):

    +
    type Event =
    +  | "add"
    +  | "modify"
    +  | "delete"
    +  | "move"
    +  | "remove"
    +  | "refresh"
    +  | "redraw"
    +  | "trash"
    +  | "unreadCountUpdated"
    +  | "index"
    +  | "open"
    +  | "close"
    +  | "select";
    +

    支持的事件对象包括:

    +
    type Type =
    +  | "collection"
    +  | "search"
    +  | "share"
    +  | "share-items"
    +  | "item"
    +  | "file"
    +  | "collection-item"
    +  | "item-tag"
    +  | "tag"
    +  | "setting"
    +  | "group"
    +  | "trash"
    +  | "bucket"
    +  | "relation"
    +  | "feed"
    +  | "feedItem"
    +  | "sync"
    +  | "api-key"
    +  | "tab";
    +

    源码位置:chrome\content\Zotero\xpcom\notifier.js

    +

    注册监听器

    +
    declare namespace _ZoteroTypes {
    +  interface Notifier {
    +    /**
    +     * @param {Object} [ref] signature {notify: function(event, type, ids, extraData) {}}
    +     * @param {Array} [types] a list of types of events observer should be triggered on
    +     * @param {String} [id] an id of the observer used in debug output
    +     * @param {Integer} [priority] lower numbers correspond to higher priority of observer execution
    +     * @returns {string}
    +     */
    +    registerObserver(
    +      ref: { notify: Notifier.Notify },
    +      types?: Notifier.Type[],
    +      id?: string,
    +      priority?: number
    +    ): string;
    +  }
    +}
    +

    为 types 事件设置回调 ref,返回监听器 id。

    +

    例:

    +
    notifierCallback = {
    +  notify: async (
    +    event: string,
    +    type: string,
    +    ids: Array<string>,
    +    extraData: object
    +  ) => {
    +    // You can add your code to the corresponding notify type
    +    if (
    +      event == "select" &&
    +      type == "tab" &&
    +      extraData[ids[0]].type == "reader"
    +    ) {
    +      // Select a reader tab
    +    }
    +    if (event == "add" && type == "item") {
    +      // Add an item
    +    }
    +  },
    +};
    +
    +let notifierID = Zotero.Notifier.registerObserver(notifierCallback, [
    +  "tab",
    +  "item",
    +  "file",
    +]);
    +

    注销监听器

    +
    declare namespace _ZoteroTypes {
    +  interface Notifier {
    +    unregisterObserver(id: String): void;
    +  }
    +}
    +

    取消对应 id 的监听器

    +

    例:

    +
    Zotero.Notifier.unregisterObserver(notifierID);
    +

    触发 Notify 事件

    +

    一般情况下,不需要手动触发。

    +

    单个触发

    +
    /**
    +* Trigger a notification to the appropriate observers
    +*
    +* Possible values:
    +*
    +*   event: 'add', 'modify', 'delete', 'move' ('c', for changing parent),
    +*       'remove' (ci, it), 'refresh', 'redraw', 'trash', 'unreadCountUpdated', 'index'
    +*   type - 'collection', 'search', 'item', 'collection-item', 'item-tag', 'tag',
    +*       'group', 'relation', 'feed', 'feedItem'
    +*   ids - single id or array of ids
    +*
    +* Notes:
    +*
    +* - If event queuing is on, events will not fire until commit() is called
    +* unless _force_ is true.
    +*
    +* - New events and types should be added to the order arrays in commit()
    +**/
    +declare Zotero.Notifier.trigger(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean);
    +
    +/**
    + * Queue an event until the end of the current notifier transaction
    + *
    + * Takes the same parameters as trigger()
    + *
    + * @throws If a notifier transaction isn't currently open
    + */
    +declare Zotero.Notifier.queue(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean);
    +

    例:

    +
    Zotero.Notifier.trigger("add", "tab", [id], { [id]: data }, true);
    +

    队列触发

    +
    Zotero.Notifier.commit(queues, (transactionID = true));
    +

    例:

    +
    const notifierQueue = new Zotero.Notifier.Queue(); // Initialize a notifier queue
    +// Do something
    +await Zotero.Notifier.commit(notifierQueue); // Trigger the queued notifies
    +
    ]]>
    +
    + + Zotero 首选项 + https://zotero-chinese.com/plugin-dev-guide/reference/preference.html + https://zotero-chinese.com/plugin-dev-guide/reference/preference.html + Zotero 首选项 + Zotero 首选项 Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。 Preference 存储于 Zotero 配置文件目录 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。 💡 ... + Fri, 02 Feb 2024 05:11:21 GMT + Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。

    +

    Preference 存储于 Zotero 配置文件目录 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。

    +

    💡 注意:Preference 的值有长度限制,请勿设置太长的字符串。

    +

    默认设置

    +

    在插件根目录新建 prefs.js,并填入如下示例的内容,可以初始化的 Preference 的键和值。键为字符串,值为布尔、数字或字符串其一。

    +
    pref("extensions.zotero.Knowledge4Zotero.syncNoteIds", "");
    +pref("extensions.zotero.Knowledge4Zotero.syncPeriod", 10000);
    +pref("extensions.zotero.Knowledge4Zotero.autoAnnotation", false);
    +
    +

    注意

    +

    请注意,该文件中每一行的 pref 请勿换行。换行可能导致失效,并不会有明显的错误提示,可能导致新用户的默认配置为空。

    +
    +

    首选项窗格

    +

    注册首选项窗格

    +

    Zotero 现在包含一个用于注册首选项窗格的内置接口。在插件的 startup 中:

    +
    Zotero.PreferencePanes.register({
    +  pluginID: "make-it-red@zotero.org",
    +  src: "prefs.xhtml",
    +  scripts: ["prefs.js"],
    +  stylesheets: ["prefs.css"],
    +});
    +

    更多设置项请参考源码:preferencePanes.js

    +

    窗格的 src 应指向包含 XUL/XHTML 片段的文件。片段不能有 <!DOCTYPE 。默认命名空间是 XUL,HTML 标签可在 html: 下访问。一个简单的窗格可能如下所示:

    +
    <vbox onload="MakeItRed_Preferences.init()">
    +	<groupbox>
    +		<label><html:h2>Colors</html:h2></label>
    +		<!-- [...] -->
    +	</groupbox>
    +</vbox>
    +

    要使用 Fluent 进行本地化,请在 XUL <linkset> 中包含一个或多个 HTML <link> 元素:

    +
    <linkset>
    +	<html:link rel="localization" href="make-it-red.ftl"/>
    +</linkset>
    +

    首选项窗格文本的本地化详情请参考:本地化

    +
    +

    设置命名空间以避免冲突

    +

    请注意,首选项窗格中的所有 classiddata-l10n-id 都应命名空间以避免插件之间发生冲突。

    +
    +

    绑定首选项

    +

    通过将标签的 preference 属性设置为首选项的键,即可绑定首选项,例如:

    +
    <html:input type="text" preference="extensions.zotero.makeItRed.color"/>
    +

    增删改查设置项

    +

    源码位置:chrome\content\Zotero\xpcom\prefs.js

    +
    declare namespace Zotero {
    +  interface Prefs {
    +    /**
    +     * Retrieve a preference
    +     */
    +    get(pref: string, global?: boolean): boolean | string | number | undefined;
    +
    +    /**
    +     * Set a preference
    +     */
    +    set(pref: string, value: boolean | string | number, global?: boolean): any;
    +
    +    clear(pref: string, global?: boolean): void;
    +  }
    +}
    +

    Zotero.Prefs.get

    +

    读取名称为 pref 的 Preference。

    +

    pref 为 Preference 的键,global 为是否是全局命名域,默认否。

    +

    注意,对于 extensions.zotero.addonRef.key,在页面绑定以及设置编辑器中,Preference 的键名为 extensions.zotero.addonRef.key,而在 API 中调用时只需要 addonRef.key,否则则需要启用全局命名域。

    +

    例:首选项键 extensions.zotero.formatmetadata.abbr 的值为 true

    +
    Zotero.Prefs.get("pdfpreview.enable"); // true
    +Zotero.Prefs.get("extensions.zotero.formatmetadata.abbr"); // undefined
    +Zotero.Prefs.get("extensions.zotero.formatmetadata.abbr", true); // true
    +Zotero.Prefs.get("formatmetadata.abbr", true); // undefined
    +

    Zotero.Prefs.set

    +

    设置名称为 pref 的 Preference 为 value

    +

    pref 为 Preference 的键,value 为 Preference 的值,global 为是否是全局命名域,默认否。

    +

    例:首选项键 extensions.zotero.pdfpreview.enable 的当前值为 true,需要将其修改为 false

    +
    Zotero.Prefs.set("pdfpreview.enable", false);
    +Zotero.Prefs.get("pdfpreview.enable"); // false
    +

    Zotero.Prefs.clear

    +
    +

    Todo

    +
    +

    辅助函数

    +

    在插件模板中,提供了一个简便的工具函数,来见避免我们每次都要输入 Zotero.Prefs.:

    +
    // src/utils/prefs.ts
    +import { config } from "../../package.json";
    +
    +/**
    + * Get preference value.
    + * Wrapper of `Zotero.Prefs.get`.
    + * @param key
    + */
    +export function getPref(key: string) {
    +  return Zotero.Prefs.get(`${config.prefsPrefix}.${key}`, true);
    +}
    +
    +/**
    + * Set preference value.
    + * Wrapper of `Zotero.Prefs.set`.
    + * @param key
    + * @param value
    + */
    +export function setPref(key: string, value: string | number | boolean) {
    +  return Zotero.Prefs.set(`${config.prefsPrefix}.${key}`, value, true);
    +}
    +
    +/**
    + * Clear preference value.
    + * Wrapper of `Zotero.Prefs.clear`.
    + * @param key
    + */
    +export function clearPref(key: string) {
    +  return Zotero.Prefs.clear(`${config.prefsPrefix}.${key}`, true);
    +}
    +

    有了工具函数,我们就可以通过 getPref("enable") 来简写 Zotero.Prefs.get("pdfpreview.enable");

    +

    参考资料

    + +]]>
    +
    + + 更新清单 + https://zotero-chinese.com/plugin-dev-guide/reference/update.html + https://zotero-chinese.com/plugin-dev-guide/reference/update.html + 更新清单 + 更新清单 update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。 Todo 待完善,请参考:Updating your extension - Extension Workshop + Fri, 02 Feb 2024 05:11:21 GMT + update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。

    +
    +

    Todo

    +

    待完善,请参考:Updating your extension - Extension Workshop

    +
    +
    {
    +  "addons": {
    +    "make-it-red@example.com": {
    +      "updates": [
    +        {
    +          "version": "2.0",
    +          "update_link": "https://zotero-download.s3.amazonaws.com/tmp/make-it-red/make-it-red-2.0.xpi",
    +          "update_hash": "sha256:e5ac442c4a3cffc4ffec8b764673b7036d5984690978faa7df66d78b030761c2",
    +          "applications": {
    +            "zotero": {
    +              "strict_min_version": "6.999"
    +            }
    +          }
    +        }
    +      ]
    +    }
    +  }
    +}
    +
    ]]>
    +
    + + Zotero + https://zotero-chinese.com/plugin-dev-guide/reference/zotero.html + https://zotero-chinese.com/plugin-dev-guide/reference/zotero.html + Zotero + Zotero + Fri, 02 Feb 2024 05:11:21 GMT + + + + 使用社区模板 + https://zotero-chinese.com/plugin-dev-guide/use-template/ + https://zotero-chinese.com/plugin-dev-guide/use-template/ + 使用社区模板 + 使用社区模板 Todo 社区模板地址:https://github.com/windingwind/zotero-plugin-template 考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。 为什么使用该模板 事件驱动、函数式编程的可扩展框架; 简单易用,开箱即用; ⭐[新... + Fri, 02 Feb 2024 05:11:21 GMT + +

    Todo

    +

    社区模板地址:https://github.com/windingwind/zotero-plugin-template

    +

    考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。

    + +

    为什么使用该模板

    +
      +
    • 事件驱动、函数式编程的可扩展框架;
    • +
    • 简单易用,开箱即用;
    • +
    • ⭐[新特性!]自动热重载!当修改源码时,都会自动编译并重新加载插件;
    • +
    • src/modules/examples.ts 中有丰富的示例,涵盖了插件中常用的大部分 API 使用的插件工具包 Zotero-plugin-toolkit
    • +
    • TypeScript 支持: +
        +
      • 为使用 JavaScript 编写的 Zotero 源码提供全面的类型定义支持 (使用类型定义包 Zotero-types
      • +
      • 全局变量和环境设置;
      • +
      +
    • +
    • 插件开发/构建/发布工作流: +
        +
      • 自动生成/更新插件 id 和版本、更新配置和设置环境变量 (development/production);
      • +
      • 自动在 Zotero 中构建和重新加载代码;
      • +
      • 自动发布到 GitHub (使用 release-it);
      • +
      +
    • +
    • 集成 Prettier 和 ES Lint;
    • +
    +]]>
    +
    + + Zotero SciHub + https://zotero-chinese.com/user-guide/plugins/Zotero-scihub.html + https://zotero-chinese.com/user-guide/plugins/Zotero-scihub.html + Zotero SciHub + Zotero SciHub 插件介绍 这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。 一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条... + Mon, 18 Dec 2023 08:47:51 GMT + 插件介绍 +

    这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。

    +

    一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条目下。

    +

    同时对于您在安装此插件后添加的任何新论文,将会在后台从 SciHub 上自动下载对应的论文,并附加到 Zotero 中对应的条目下。

    + +

    插件使用方法

    +

    插件设置

    +
    插件设置
    +

    Automatic PDF Download:勾选后,在添加条目以后会自动为带有 DOI 的条目下载 Pdf 格式的论文。

    +

    Scihub URL:这里可自定义 Scihub 镜像的网站的地址。

    +

    常见问题

    +

    部分用户在使用过程中经常会碰到以下弹窗错误:

    +


    +

    +

    这种情况通常是访问次数过多以后,Sichub 服务器识别到了机器人抓取从而出现了验证码验证,您需要登陆 Scihub 输入出现的验证码信息。

    +

    建议在知网抓取文献的时候,建议关闭插件中的 Automatic PDF Download。部分中文文献带有 DOI 字段,在抓取这部分中文文献时,插件会访问 Scihub 进行下载,但由于 Scihub 网站基本上没有收录中文文献,所以插件也不会下载到 Pdf 文件。对 Scihub 网站过于频繁的访问会触发网站的验证机制。

    +
    +

    注意

    +

    请勿在任何网站上使用批量抓取,严重时可能会使您的 IP 地址遭到封禁。

    +
    +

    不使用插件的原始方法

    +
    +

    提示

    +

    这种方法在修改 Scihub 地址时较为繁琐,但优点是不会遇到 Scihub 验证码弹窗。

    +

    当被 Scihub 拒绝时,两种方法都无法抓取文献。

    +
    +
    +

    谨慎使用此方法

    +

    此方法涉及修改隐藏首选项,请谨慎使用。

    +
    +

    操作步骤

    +
      +
    1. +

      在 Zotero 依次点击编辑-首选项-高级-常规-高级设置-编辑器

      +
      编辑器
      +
    2. +
    3. +

      弹出如下图所示的对话框。 点击I accept the risk

      +
      同意承担风险
      +
    4. +
    5. +

      在搜索框中输入 extensions.zotero.findPDFs.resolvers,双击搜索到的 extensions.zotero.findPDFs.resolvers

      +
      同意承担风险
      +
    6. +
    7. +

      将下列代码粘贴进去直接替换原有内容

      +
      [
      +  {
      +    "name": "Sci-Hub",
      +    "method": "GET",
      +    "url": "https://sci-hub.se/{doi}",
      +    "mode": "html",
      +    "selector": "#pdf",
      +    "attribute": "src",
      +    "automatic": true
      +  }
      +]
      +

      其中"url":"https://sci-hub.se/{doi}", 可以替换为其他的 Sci-Hub 镜像地址。
      +如果想要从多个 Sci-Hub 地址抓取,按照如下格式添加

      +
      [
      +  {
      +    "name": "Sci-Hub",
      +    "method": "GET",
      +    "url": "https://sci-hub.se/{doi}",
      +    "mode": "html",
      +    "selector": "#pdf",
      +    "attribute": "src",
      +    "automatic": true
      +  },
      +  {
      +    "name": "Sci-Hub",
      +    "method": "GET",
      +    "url": "https://sci-hub.ru/{doi}",
      +    "mode": "html",
      +    "selector": "#pdf",
      +    "attribute": "src",
      +    "automatic": true
      +  }
      +]
      +
    8. +
    9. +

      添加上述配置后

      +
        +
      • 对于新增的项目,Zotero 会自动增加 Sci-Hub 的源抓取 PDF。
      • +
      • 对于已存在的但缺失 PDF 的项目,可以右键点击查找可用PDF选项尝试重新抓取。
      • +
      +
    10. +
    +]]>
    +
    + + 如何更新 Translator + https://zotero-chinese.com/user-guide/faqs/update-translators.html + https://zotero-chinese.com/user-guide/faqs/update-translators.html + 如何更新 Translator + 如何更新 Translator 在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。... + Thu, 14 Sep 2023 21:17:47 GMT + 在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。

    +
    +

    提醒

    +

    这里的 translator 指的是 Zotero 从浏览器网页抓取文献信息时所需的转换器,在 Zotero 中有时也被称作是“翻译器”。如果你遇到的是语言翻译问题(如标题翻译、摘要翻译、文献阅读中的句段翻译等),通常与本文讲的 translator 无关,请参照 Translate for Zotero 插件的教程进行排查。

    +
    +

    方法 1:一键自动更新

    +
      +
    1. +

      安装新版茉莉花插件

      +

      更新 translator 之前请确保你安装的 茉莉花 插件已经是最新版本。如果你的 茉莉花 插件版本过低,更新可能会失败。最新的 茉莉花 插件安装包可在这里下载,然后覆盖安装即可:

      +

      中文插件商店:https://plugins.zotero-chinese.com/

      +

      茉莉花 插件主页:https://github.com/l0o0/jasminum

      +
      +

      提示

      +

      如果你在安装插件中遇到问题,请阅读 插件安装教程

      +
      +
    2. +
    3. +

      在 Zotero 设置中,进入 高级 设置,点击下方“自动检查转换器和样式的更新”后面的 立即更新 按钮。

      +
      更新官方 translator
      +
      +

      提示

      +

      建议取消勾选“自动检查转换器和样式的更新”前面的复选框,这样可以避免非官方维护中文转换器被意外替换为官方的版本。如果遇到了文献抓取失败的问题,可再按照本文档的方法更新。

      +
      +
    4. +
    5. +

      进入 茉莉花 插件的设置,转到 非官方维护中文翻译器 部分,然后点击 更新全部 按钮。

      +
      更新非官网维护中文翻译器
      +
    6. +
    7. +

      更新 每一个浏览器 中 Zotero Connector 插件里的 translators。

      +
      Google Chrome 和 Microsoft Edge +
        +
      1. +

        右键点击 Zotero Connector 按钮,然后点击 选项

        +
        打开 Zotero Connector 的选项
        +
      2. +
      3. +

        点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        +
        更新 Zotero Connector 中的 translators
        +
      4. +
      +
      +
      Apple Safari +
        +
      1. +

        在网页空白处点鼠标右键,然后点击 Zotero Preference

        +
        打开 Zotero Connector 的选项
        +
      2. +
      3. +

        点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        +
        更新 Zotero Connector 中的 translators
        +
      4. +
      +
      +
      +

      注意

      +

      这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!

      +

      点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。

      +
      +
    8. +
    9. +

      重启浏览器。

      +
    10. +
    11. +

      此时你已经完成了 translators 的更新。此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 4 和步骤 5 。

      +
    12. +
    +

    方法 2:手动替换文件更新

    +
      +
    1. +

      在 Zotero-编辑-设置-高级-文件和文件夹 找到自己的数据储存位置。

      +

      例如,下图中的数据储存位置就是 E:\Zotero File,这里也可以点击“打开数据文件夹”快速打开你的数据文件夹。

      +
      数据储存位置
      +
    2. +
    3. +

      找到数据文件夹中的 translators 文件夹(对上图而言就是 E:\Zotero File\translators),这里是 Zotero translators 的存放位置

      +
      translators的存放位置
      +
    4. +
    5. +

      Zotero translators 中文维护小组 下载最新的 translators

      +
      手动在GitHub上下载translators
      +
    6. +
    7. +

      将下载的 zip 文件解压后选择其中所有的 translators 文件(.js 文件),并复制

      +
      选择所有的translators文件
      +
    8. +
    9. +

      将所有的 translators 粘贴到第 1 步中 translators 文件夹并替换,此时已经完成 Zotero 中 translators 文件的更新

      +
      替换旧的translators
      +
    10. +
    11. +

      更新 每一个浏览器 中 Zotero Connector 插件里的 translators。

      +
      Google Chrome 和 Microsoft Edge +
        +
      1. +

        右键点击 Zotero Connector 按钮,然后点击 选项

        +
        打开 Zotero Connector 的选项
        +
      2. +
      3. +

        点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        +
        更新 Zotero Connector 中的 translators
        +
      4. +
      +
      +
      Apple Safari +
        +
      1. +

        在网页空白处点鼠标右键,然后点击 Zotero Preference

        +
        打开 Zotero Connector 的选项
        +
      2. +
      3. +

        点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        +
        更新 Zotero Connector 中的 translators
        +
      4. +
      +
      +
      +

      注意

      +

      这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!

      +

      点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。

      +
      +
    12. +
    +

    此时你已经完成了 translators 的更新,此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 6。

    +]]>
    +
    + + 贡献者公约 + https://zotero-chinese.com/code_of_conduct.html + https://zotero-chinese.com/code_of_conduct.html + 贡献者公约 + 贡献者公约 我们的承诺 身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。 我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。 我们的准则 有助于为我们的社区创造... + Fri, 24 Nov 2023 02:57:43 GMT + 我们的承诺 +

    身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。

    +

    我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。

    +

    我们的准则

    +

    有助于为我们的社区创造积极环境的行为例子包括但不限于:

    +
      +
    • 表现出对他人的同情和善意
    • +
    • 尊重不同的主张、观点和感受
    • +
    • 提出和大方接受建设性意见
    • +
    • 承担责任并向受我们错误影响的人道歉
    • +
    • 注重社区共同诉求,而非个人得失
    • +
    +

    不当行为例子包括:

    +
      +
    • 使用情色化的语言或图像,及性引诱或挑逗
    • +
    • 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击
    • +
    • 公开或私下的骚扰行为
    • +
    • 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址
    • +
    • 其他有理由认定为违反职业操守的不当行为
    • +
    +

    责任和权力

    +

    社区领袖有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。

    +

    社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。

    +

    适用范围

    +

    本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。

    +

    代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。

    +

    监督

    +

    辱骂、骚扰或其他不可接受的行为可通过 ISSUE 向负责监督的社区领袖报告。
    +所有投诉都将得到及时和公平的审查和调查。

    +

    所有社区领袖都有义务尊重任何事件报告者的隐私和安全。

    +

    处理方针

    +

    社区领袖将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式:

    +

    1. 纠正

    +

    社区影响:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。

    +

    处理意见:由社区领袖发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。

    +

    2. 警告

    +

    社区影响:单个或一系列违规行为。

    +

    处理意见:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。

    +

    3. 临时封禁

    +

    社区影响: 严重违反社区准则,包括持续的不当行为。

    +

    处理意见: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。

    +

    4. 永久封禁

    +

    社区影响:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。

    +

    处理意见:永久禁止在社区内进行任何形式的公开互动。

    +

    参见

    +

    本行为准则改编自 Contributor Covenant 2.1 版, 参见 https://www.contributor-covenant.org/version/2/1/code_of_conduct.html

    +

    社区处理方针灵感来源于 Mozilla's code of conduct enforcement ladder

    +

    有关本行为准则的常见问题的答案,参见 https://www.contributor-covenant.org/faq
    +其他语言翻译参见 https://www.contributor-covenant.org/translations

    +]]>
    +
    + + 从其他软件导入条目 + https://zotero-chinese.com/user-guide/import-from-other-software.html + https://zotero-chinese.com/user-guide/import-from-other-software.html + 从其他软件导入条目 + 从其他软件导入条目 从 Endnote 导入 1、复制要导出的文献到新库(New library) 注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件。 打开 Endnote 软件,点击左上角工具栏【Referrence】=&gt;【Copy Referen... + Tue, 21 Nov 2023 04:24:26 GMT + 从 Endnote 导入 +

    1、复制要导出的文献到新库(New library)

    +

    注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件
    +打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Reference To】=>【New Library...】

    +
    Endnote菜单
    +

    如下图示,在弹出来的文件浏览器页面选择一个容易找到的文件夹(以桌面为例,图中步骤 ①),接着自定义库的名称(后续导入 Zotero 内成为一个新文件夹默认使用该名称,图中步骤 ② 以test为例),点击【Save】

    +
    Endnote输出目录
    +

    Endnote 内打开保存的新库,点击左上角工具栏【File】=>【Export】

    +
    Endnote导出
    +

    2、导出 Endnote 题录和附件

    +

    如下图所示,在弹出的窗口选择1、复制要导出的文献到新库中所保存的新库目录(也可以找到默认目录,该目录下包含“PDF”、“sdb”),但请不要选择“PDF”/“sdb”这两个子目录!!!
    +图中 ② 处请选择 XML 格式,然后点击保存,test.data 文件夹下将会出现一个后缀名为 xml 的文件。

    +
    Endnote XML
    +
    Endnote 选择XML格式
    +

    3、导入 Zotero

    +

    打开 Zotero,在左上角工具栏选择【文件】=>【导入...】

    +
    Zotero 菜单
    +

    如下图示,在弹出的 import 窗口界面选择【A file(BibTex,RIS,Zotero RDF,etc.)】,点击继续

    +
    Zotero导入选项
    +

    在弹出的文件浏览器界面选择步骤2、导出 Endnote 题录和附件中保存的 xml 文件,点击【Open】

    +
    选择文件
    +

    在弹出的 import 界面中如下图选择以下两个选项,将导入的题录单独放在一个文件夹,然后将条目的 PDF 附件也导入到 Zotero 的存储文件夹中,便于 Zotero 同步(否则只是存储文件链接,在其他设备打不开附件),最后点击【继续】。

    +
    Zotero导入向导第二步
    +

    如下图所示,Endnote 的题录和附件则导入成功。

    +
    Zotero 导入完成
    +

    请注意,如下图示,如果 Zotero 在 EndNote XML 数据中遇到它不支持的任何字段(例如,自定义字段、作者地址、作者隶属关系),它会将这些数据添加到附加到导入项目的注释笔记中。这些注释将标记为“_EndnoteXML 导入”。如果导入增加了许多这些注释笔记,Zotero 的性能可能会受到负面影响。您应该查看其中每个注释,以确定是否需要保留数据并删除任何不必要的注释笔记。此外,还应检查这些注释笔记,以确定是否可以将任何数据迁移到正确的 Zotero 字段(如果以非标准方式使用 EndNote 字段,这一点尤其重要)。

    +
    Zotero导入非标字段
    +

    从 Microsoft Word 导入

    +

    1、下载 bibtex.xsl 文件

    +

    下载地址:https://gist.githubusercontent.com/JaimeChavarriaga/40166befb14f2fe5dac390688d9eaf03/raw/faf4aa3f72e553095f81f1440c3dce744c2755a2/bibtex.xsl

    +

    2、Word 软件添加 bibtex 样式

    +

    目录如下(详细步骤以 Mac 为例)

    +

    Mac 目录:

    +

    /Applications/Microsoft Word.app/Contents/Resources/Style

    +

    Windows 目录

    +

    Word 2010 for Windows:

    +

    C:\Program Files\Microsoft Office\<Office version>\Bibliography\Style

    +

    Word 2016/2019/Office 365 for Windows:

    +

    C:\Users\<currentusername>\AppData\Roaming\Microsoft\Bibliography\Style

    +

    打开访达,左上角工具栏点击【前往】=>【前往文件夹】

    +
    Word 导出
    +

    在弹出的窗口粘贴上面提到的 Mac 路径,按 Enter 键

    +
    选择路径
    +

    将下载好的 bibtex.xsl 文件复制到该文件夹下。

    +
    复制bib
    +

    3、Word 引文导出

    +

    打开 Word 文件,如下图中 ① 所示,在选项卡中点击【引用】,紧接着点击图中 ② 所示,切换引文格式

    +
    Word切换引文格式
    +

    选择“Bibtex Export”

    +
    选择bibtex export
    +

    即可看到文末参考文献列表的引文格式发生了变化,复制下图所示区域的代码到剪切板。

    +
    复制代码
    +

    4、导入 Zotero

    +

    打开 Zotero,在“我的文库”中选择(或新建后选中)一个文件夹,用于存放要导入的文献条目,在左上角工具栏点击【文件】=>【从剪切板导入】

    +
    导入Zotero菜单
    +

    即可如下图所示,成功导入 Word 文档中引用的文献。

    +
    导入完成
    +

    其他工具软件

    +

    详细信息请见官方链接:https://www.zotero.org/support/moving_to_zotero

    + +

    Zotero 支持导入的文件格式

    +
      +
    • Zotero RDF
    • +
    • CSL JSON
    • +
    • BibTeX
    • +
    • BibLaTeX
    • +
    • RIS(Can be convenient for quick edits between export & import because of its simple structure)
    • +
    • Bibliontology RDF
    • +
    • MODS (Metadata Object Description Schema)
    • +
    • Endnote XML(Best format for exporting from Endnote)
    • +
    • Citavi XML(Best format for exporting from Citavi)
    • +
    • MAB2
    • +
    • MARC
    • +
    • MARCXML
    • +
    • MEDLINE/nbib
    • +
    • OVID Tagged(使用教程参考https://www.lib.whu.edu.cn/sybz/WHU04134Ovid.pdf)
    • +
    • PubMed XML
    • +
    • RefWorks Tagged(Best format for exporting from RefWorks)
    • +
    • Web of Science Tagged
    • +
    • Refer/BibIX(Generally avoid if any other option is available)
    • +
    • XML ContextObject
    • +
    • Unqualified Dublin Core RDF
    • +
    +

    您还可以通过支持【导出上述文件格式的网站或软件】中导入题录到 Zotero,例如 Reference Manager、RefWorks、Papers、Google Scholar Library、ReadCube 等,方法是下载好以上的标准化的参考格式文件,例如 RIS、BibTeX 或 CSL JSON,然后通过单击“文件”→“导入...”导入 Zotero,然后选择“文件”,即可导入 Zotero。

    +]]>
    +
    + + Feed + https://zotero-chinese.com/user-guide/feed.html + https://zotero-chinese.com/user-guide/feed.html + Feed + Feed RSS Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。 追踪期刊目录更新 追踪数据库中某些【关键词】相关的文献更新情况 订阅任意网站的内容更新,例... + Wed, 15 Nov 2023 11:00:22 GMT +

    +

    Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。

    +
      +
    • 追踪期刊目录更新
    • +
    • 追踪数据库中某些【关键词】相关的文献更新情况
    • +
    • 订阅任意网站的内容更新,例如 b 站 up 主的视频更新...
    • +
    +

    Zotero 订阅设置

    +

    在 Zotero 主界面,左上角工具栏选择 - 新建订阅 - 从网址...

    +
    新建订阅
    +

    之后会弹出以下窗口

    +
    输入网址
    +

    在网址栏填入订阅网址(如何获取请往下拉),Zotero 识别成功之后会自动填入标题(可以自己手动更改,Zotero 不会根据期刊订阅先后给订阅的期刊排序,可以手动在期刊名前面加上 1234 或者字母来排序)并且进行高级选项设置,保存之后即可在主界面左侧订阅处看到订阅的内容及更新。

    +
    订阅条目列表
    +

    订阅来源

    +

    从网址订阅:"从网址订阅"是最直接、最方便的添加 RSS 订阅的方式,只需要提供订阅源的链接即可,是我们用 Zotero 追踪期刊更新时最常用的方式,以下涉及的实例也将基于此方式进行。

    +

    OPML 订阅:"来自 OPML"主要用于之前有使用其它 RSS 阅读器,从其它阅读器中导入已经订阅的内容至 Zotero 中,一般用户很少涉及此方式,故不过多介绍。

    +

    高级选项

    +
    高级选项
    +

    【更新订阅每 N 小时】:即设定订阅间隔,每 N 个小时从订阅 URL 爬取期刊目录,加载在该【订阅】界面。如果 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,如果有内容更新,就会加载出现在 Zotero 订阅界面。

    +

    【删除已读提要题目于之后 N 天】:即点击了该条目查看右侧的条目详细信息(Zotero 会自动设置为"已读"状态)N 天后在期刊订阅界面删除该条目,如果不想删除已读条目,则将 N 设置为一个较大的数值,例如 1000000。

    +

    【删除未读提要条目于之后 N 天】:即该条目一直处于未点击查看该条目的具体信息,N 天后在期刊订阅界面删除该条目。如果不想删除未读条目,则将 N 设置为一个较大的数值,例如 1000000。

    +

    以上三项订阅参数的默认设置入口(Zotero7):

    +

    Win:编辑 - 设置 - 高级 - 订阅

    +

    Mac:Zotero - 设置 - 高级 - 订阅

    +

    在此设置页面中,可以设置对订阅的条目按"最早条目在先" / "最新条目在先"的排序。

    +
    订阅设置
    +

    从"订阅"添加文献条目到"我的文库"/"群组文库"

    +

    Zotero 的订阅内容并不会保存在个人文库中,也不可以直接引用"订阅"中的条目,因此需要引用则需要将其添加到"我的文库"(也可以共享到群组文库)

    +
    添加到文库
    +

    点开 Zotero 某一期刊/RSS 订阅内容,点击具体条目,看到右侧信息栏,点击 中的 ▽ 倒三角图标,选择你想要保存到的本地文库文件夹 📂/在线群组文件夹 📂,再点击"添加到 XXXX",即可从订阅中添加到自己的文献库/某个群组文库中(可以同时添加到若干个文库)。

    +

    订阅界面右键功能介绍

    +
    +

    在订阅界面点击某个具体的订阅期刊,右键即可出现以下菜单选项

    +
    +
    订阅右键菜单
    +
    +

    更新订阅:除了 Zotero 自动按照订阅某期刊时"高级选项"的更新选项去更新订阅外,手动更新订阅,如有最新内容则自动加载到右侧具体条目面板中

    +

    标记订阅为已读:Zotero 订阅界面中未读的期刊/具体文献条目将会加粗显示,点击该选项将会设置该期刊所有内容为已读状态,取消加粗显示。

    +

    编辑订阅:回到"2、高级选项"中的设置界面,可以更改某一个期刊的高级选项,便于进行个性化订阅设置。

    +

    退订订阅:即从订阅面板删除该订阅期刊,会有确认取消窗口避免误删,请慎重选择!

    +
    +

    订阅网址(RSS 链接)获取

    +

    中文期刊订阅

    +]]>
    +
    + + 关于 Zotero 插件 + https://zotero-chinese.com/user-guide/plugins/about-plugin.html + https://zotero-chinese.com/user-guide/plugins/about-plugin.html + 关于 Zotero 插件 + 关于 Zotero 插件 什么是插件?插件可以做什么? 谈到 Zotero 插件,可能指的有三种东西: 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。 (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter... + Fri, 10 Nov 2023 11:48:00 GMT + 什么是插件?插件可以做什么? +

    谈到 Zotero 插件,可能指的有三种东西:

    +
      +
    • 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。
    • +
    • (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter,用于从网页上抓取文献元数据并存到 Zotero 里。
    • +
    • (不是 Zotero 插件,是 Word 加载项)在 Microsoft Word 中的,正确称呼是 Word 加载项,用来插入引用和参考文献信息。
    • +
    +

    获取插件

    + +
    +

    火狐浏览器用户请选择另存为

    +

    插件的后缀名为 .xpi , 如果下载到后缀为 .xpi 的文件,不要解压,解压后会导致插件无法安装。

    +

    .xpi 也是火狐浏览器的插件后缀,因此火狐浏览器无法直接通过点击链接进行下载,需要右击链接,选择另存为,才可将插件保存至本地。

    +
    +
    +

    Zotero 6 与 Zotero 7 的插件互不兼容

    +

    Zotero 6(正式版)和 Zotero 7(测试版)的插件互不兼容,请在下载插件安装包时下载与你 Zotero 版本适配的版本。中文插件商店中有注明兼容的目标 Zotero 版本,下载时请务必注意。

    +

    Zotero 7 目前仍为测试版,使用中可能会遇到一些新问题,相关的解决方案也仍不够完善。对于绝大多数一般用户,建议继续使用 Zotero 6 正式版,并跟随正式版的更新节奏升级。

    +
    +

    安装插件

    +

    依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on),然后将下载的 xpi 文件拖入插件窗口,即可完成安装。

    +

    或者点击右上角的齿轮 => Install Add-on From File... => 选择刚刚下载的 xpi 文件,即可安装成功。

    +
    安装插件
    +
    +

    提示

    +

    对于部分老版本的插件,可能需要点击 Restart now 或者手动重启 Zotero 才可生效。

    +
    +
    无法安装插件"%S"。它可能无法与该版本的 Zotero 兼容 +
    插件安装失败
    +

    一些同学在安装插件的时候发现插件安装失败,Zotero 提醒不兼容。这种情况是由于下载的插件版本与插件所支持 Zotero 的版本不一致所导致的。

    +

    首先需要确定自己 Zotero 的版本,依次点击 帮助 => 关于 Zotero,即可看到自己 Zotero 的版本(如图则是 Zotero 6)

    +
    确定自己的版本号
    +

    国内镜像下载插件时,查看页面中目标 Zotero 版本找到适合自己的插件版本,点击后面的下载链接就可以下载到适合自己的插件。

    +
    目标 Zotero 版本
    +
    +

    更新插件

    +
    升级插件
    +

    依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on) => 右上角的齿轮 => Check for Updates 后 Zotero 会对插件的版本进行检查,并自动对插件进行更新。

    +
    +

    提示

    +

    由于大部分插件的更新页面在 GitHub,国内部分地区可能无法直接访问,从而无法通过以上方式实现对插件的更新。如果无法直接访问插件的更新,可在此处下载最新版:https://plugins.zotero-chinese.com/#/

    +

    下载后,无需卸载原插件,按照安装插件的流程直接覆盖安装即可实现对插件的更新。

    +
    +]]>
    +
    + + “获取更多样式”打不开怎么办 + https://zotero-chinese.com/user-guide/faqs/%E2%80%9C%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E6%A0%B7%E5%BC%8F%E2%80%9D%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E.html + https://zotero-chinese.com/user-guide/faqs/%E2%80%9C%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E6%A0%B7%E5%BC%8F%E2%80%9D%E6%89%93%E4%B8%8D%E5%BC%80%E6%80%8E%E4%B9%88%E5%8A%9E.html + “获取更多样式”打不开怎么办 + “获取更多样式”打不开怎么办 近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题: 点击“获取更多样式”没有反应点击“获取更多样式”没有反应 禁用插件 这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。... + Thu, 26 Oct 2023 20:37:47 GMT + 近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题:

    +
    点击“获取更多样式”没有反应
    +
      +
    1. +

      禁用插件

      +

      这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。
      +可以优先排查Zotero Style插件
      +

      +
    2. +
    3. +

      退出 Zotero 账户。

      +

      依次点击 编辑-设置-同步退出账户,之后重启 Zotero 该问题可解决。

      +
      退出Zotero账户
      +
    4. +
    5. +

      手动安装

      +

      如果前两种方法都不能解决问题,可以手动安装引文样式的方法来实现引文样式的安装。
      +打开从Zotero 样式库下载其他样式,搜索所需要的期刊(例如Nature
      +

      +

      此时,会进行引文格式的安装方式
      +

      +

      ① 选择OK时,Zotero 会将所选择的引文格式自动下载安装,完成后,网页右上角会有完成提醒。
      +

      +

      ② 选择Cancel时,浏览器会下载所选择的引文格式到本地,然后通过Zotero-编辑-设置-引用-样式+安装安装刚刚所下载的引文格式
      +
      +

      +
    6. +
    +]]>
    +
    + + Emoji 变成黑白该如何解决 + https://zotero-chinese.com/user-guide/faqs/Emoji%E5%8F%98%E6%88%90%E4%BA%86%E9%BB%91%E7%99%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3.html + https://zotero-chinese.com/user-guide/faqs/Emoji%E5%8F%98%E6%88%90%E4%BA%86%E9%BB%91%E7%99%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3.html + Emoji 变成黑白该如何解决 + Emoji 变成黑白该怎么办 近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。 emoji变成黑白emoji变成黑白 该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二 一、安装 seguiemj 字体 首先在网盘中下载字体文... + Tue, 24 Oct 2023 11:07:47 GMT + 近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。

    +
    emoji变成黑白
    +

    该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二

    +

    一、安装 seguiemj 字体

    +
      +
    1. +

      首先在网盘中下载字体文件:https://chikit.lanzoul.com/is3U51q0deyj

      +
    2. +
    3. +

      将下载的字体文件(seguiemj.ttf)复制到C:\Windows\Fonts,即可安装完成

      +
    4. +
    5. +

      重启 Zotero 即可完成修复。

      +
    6. +
    +

    二、通过修改 Zotero 设置 来解决

    +

    具体操作步骤如下:

    +
      +
    1. 在菜单编辑选择“设置”:
      +
    2. +
    3. 弹出如下图所示的对话框。
      +点击“I accept the risk”
      +
    4. +
    5. 在搜索框中输入 emoji,双击搜索到的 font.name-list.emoji,由 Segoe UI Emoji, Twemoji Mozilla 修改为 EmojiOne Mozilla
      +
    6. +
    7. 然后重新启动 Zotero,Emoji 成功变回彩色,问题解决
      +
    8. +
    +]]>
    +
    + + 使用 Zotero bib 生成参考文献表 + https://zotero-chinese.com/user-guide/create-bibliographies-via-zbib.html + https://zotero-chinese.com/user-guide/create-bibliographies-via-zbib.html + 使用 Zotero bib 生成参考文献表 + 使用 Zotero bib 生成参考文献表 Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。 地址:https://zbib.org/ 注意 这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想... + Wed, 28 Jun 2023 21:14:03 GMT + Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。

    +

    地址:https://zbib.org/

    +
    +

    注意

    +

    这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想导入这几篇文档到自己的库。

    +
    +

    使用:

    +
      +
    1. +

      打开 https://zbib.org/

      +
    2. +
    3. +

      在下图输入框中输入需要引用的条目链接/识别符等,然后点击“Cite”

      +
      zbib首页
      +
    4. +
    5. +

      该条条目将会显示如下引用信息,你可以在下图红框处选择样式。

      +
      zbib选择样式
      +
    6. +
    7. +

      继续重复第 2 步可以添加多个条目

      +
    8. +
    9. +

      已添加的条目将会存储在浏览器,下次打开网页仍然可以看到,直到你清除浏览器 Cookie 或手动删除。

      +
    10. +
    11. +

      点击“Copy to Clipboard”可以将结果复制到粘贴板。

      +
      zbib复制结果
      +
    12. +
    +]]>
    +
    + + 关于 Word 引用的各种问题 + https://zotero-chinese.com/user-guide/faqs/word-addon.html + https://zotero-chinese.com/user-guide/faqs/word-addon.html + 关于 Word 引用的各种问题 + 关于 Word 引用的各种问题 本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。 如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案。 如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zoter... + Wed, 04 Oct 2023 11:38:09 GMT + 本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。

    +

    如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案

    +

    如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zotero 官方论坛发帖求助。

    + +

    插入参考文献的基础教程

    +

    在开始排查问题之前,请务必先了解 Zotero 的 Word 加载项中各个按钮的功能和用法。在 Word 中插入参考文献的基本操作请阅读:

    +

    在 Word 中插入参考文献的基础教程

    +

    此外,关于 Zotero 参考文献插入及排版的基本教程您还可以观看这个视频:

    +

    Zotero 文献在 Word 中的引用

    +

    其中包括以下问题的解答:

    +
      +
    1. 如何安装/重新安装 Word 中的 Zotero 工具条(Word 加载项)。
    2. +
    3. 如何从 Zotero 官方下载参考文献格式。
    4. +
    5. 如何在 Word 中插入参考文献。
    6. +
    7. 如何在 Word 中设置引用样式。
    8. +
    +
    +

    提醒

    +

    请注意, Zotero 在更新至 6.0.23 或更高版本后,Word 选项卡里的按钮顺序有调整。 新版本交换了第二个和第三个按钮的位置, 在阅读教程的时候请注意点击的按钮具体是哪一个,不要只去数是第几个按钮。

    +
    Zotero Word 插件选项卡
    +
    按钮功能说明 +

    目前新版本里横向布置三个大按钮分别是:

    +
      +
    1. 插入/编辑引注 Add/Edit Citation
    2. +
    +

    在当前光标位置插入或编辑引注。

    +
    +

    提示

    +

    此按钮只是插入引注,不会在文末自动生成参考文献表。要插入参考文献表,请点击 插入/编辑参考文献表 按钮。

    +
    +
      +
    1. 插入/编辑参考文献表 Add/Edit Bibliography
    2. +
    +

    在光标当前位置插入或编辑已存在的参考文献表。

    +
    +

    +

    一般情况下,在文末写一个 参考文献 标题,然后按回车另起一行,再点击这个按钮插入参考文献表。

    +
    +
      +
    1. 插入笔记 Add Note
    2. +
    +

    在光标当前位置插入笔记。

    +
    +

    提示

    +

    此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。

    +
    +

    三个纵向布置的小按钮分别是:

    +
      +
    1. 文档首选项 Document Preferences
    2. +
    +

    更改参考文献样式或语言,开启/关闭自动更新引注功能。

    +
      +
    1. 刷新 Refresh
    2. +
    +

    更新引注引注编号及文末参考文献表内容,关闭自动更新引注功能后需手动点击此按钮更新引注。

    +
      +
    1. 取消链接引注 Unlink Citations
    2. +
    +

    删除所有 Zotero 域代码且断开与 Zotero 文库链接。点击后所有的引注和文末的参考文献表都会变成纯文本。

    +
    +

    注意

    +

    该操作不可逆,一旦断开连接,所有的引注信息都会变成纯文本,无法再自动更新编号和参考文献表,也无法恢复到以前带有链接的状态。因此强烈建议在断开连接之前将文档另存一份备用,仅将用于提交/共享的副本断开连接。

    +
    +
    +
    +
    +

    注意

    +

    在插入文献之前, 请务必先将 Zotero 里英文论文详细信息中的 语言/Language 字段改为 enen-US 等与文献语言一致的信息,否则在中英文混排时可能会遇到错误。具体方法见后文里 中英文混排 部分的内容。

    +
    +

    插入引用常见的操作问题

    +

    在实际使用中,有一些操作上的小技巧,在这里略作整理:

    +
      +
    1. Zotero 有两种插入文献的方式,一种是搜索对话框,另一种是经典视图的选择窗:
    2. +
    +
    引文对话框
    +
    经典引文对话框
    +

    如果你在使用新式搜索框,推荐采用年份 作者姓名进行检索(两个关键词中间敲一个空格)。

    +

    这两种界面可以在插入的时候临时切换,也可以在 Zotero 首选项 里修改默认使用经典选择窗。操作步骤请参见在 Word 中插入参考文献的基础教程

    +
      +
    1. +

      如果你使用搜索框, 输入中文关键词后没有候选项目 ,请 按一下键盘的空格键 ,然后就有候选项了。

      +
    2. +
    3. +

      如果你 在一处位置想同时引用多个文献 ,请在插入引用时 一次性插入每一个文献 ,不要分成两次分开插。

      +
    4. +
    +
    +

    插入多条文献

    +

    在使用搜索窗时 ,先加入第一个文献,然后不要急着按回车确认插入,而是改为 按一下空格然后继续搜下一个文献 。直到所有文献都完成插入之后再按回车确认本次插入。

    +

    在使用经典选择窗时 ,点击左下角的 多重来源/Multiple Sources 来实现同时插入多个文献。具体操作请参见在 Word 中插入参考文献的基础教程

    +
    +

    +

    注:这个窗口内可以多选,可以在左边窗口一次性选择多个条目,然后统一点向右的箭头加到右边。待全部文献添加完成后,再点击确认完成插入。

    +
    +
    +
      +
    1. 如果你 在插入完成后想重新修改引用信息 ,请先在 Word 中插好的编号角标中间点一下,使输入光标在角标内(此时角标会变为灰色),然后点 插入/编辑引注 按钮即可编辑/增删此处引用的文献。
    2. +
    +
    编辑引注
    +
      +
    1. +

      插入/编辑引注 过程中,请务必在选择文献过程中 不要转到其他窗口去翻看查阅 。如果边翻看边插入,很有可能导致插入失败并报错。如果插入过程中希望查阅信息,你可以先按回车键确认本次插入,待查阅完成后再用第 4 点提醒中的方法编辑/补充引用。

      +
    2. +
    3. +

      Zotero 在插入文献时更新角标的速度非常缓慢, 建议关闭自动更新引用 。这一设置在 Word 中的 Zotero 选项卡内:

      +
    4. +
    +
    文档设置
    +

    在关闭之后,你 需要在增删引用项目后手动点 刷新 按钮更新引用信息及编号 。在 Zotero 6.0 新版本下,这个更新可能非常缓慢,你需要多一点耐心。

    +

    格式问题

    +

    调整缩进、行距等格式

    +

    Word 中参考文献书目列表的排版问题是 Word 段落样式控制的。 其中包括:是否首行缩进,是否悬挂缩进,编号和后续文字之间的制表位空白大小,字体及文字大小,是否全部加粗,行间距大小……

    +

    这部分样式你需要 在 Word 中修改“书目”样式 。具体方法详见这一教程:

    +

    如何设置 Zotero 生成的参考文献格式,刷新后不变?

    +

    设置斜体及上下标等

    +

    一些论文的题目需要在参考文献中表现为上标、下标或者斜体:如 CO2,H+Nature,这该如何实现呢?

    +

    方式一:插入参考文献后在 Word 中手动修改,但是这种方法每次刷新后需要重新设置非常麻烦。(这是不正确的方式,不推荐)

    +

    方式二:在 Zotero 中修改该文献的条目信息,通过在题目中添加以下代码来实现上标、下标、斜体、加粗的效果,添加完后返回 Word 刷新引文:

    +
    <sup>上标</sup>
    +<sub>下标</sub>
    +<i>斜体</i>
    +<b>加粗</b>
    +
    示例 +
    +

    标题

    +

    Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR

    +

    Influence of surface active groups on SO<sub>2</sub> resistance of birnessite for low-temperature NH<sub>3</sub>-SCR

    +
    +
    +

    参考文献表

    +

    [1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. https://doi.org/10.1016/j.cej.2020.125798.

    +

    [1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. https://doi.org/10.1016/j.cej.2020.125798.

    +
    +

    如上示例在 Zotero 条目信息中对需要为下标的单词两侧分别加上 <sub></sub>,回到在 Word 中点击 Refresh 刷新条目信息即可看到下标效果已经成功实现。

    +
    点击Refresh刷新条目信息
    +
    +
    +

    使用 Linter 插件快捷插入

    +

    插件 Linter for Zotero 提供了辅助输入这些富文本标签的功能,可前往 插件商店下载安装。

    +
    +
    +

    使用 Quicker 快捷插入

    +

    使用 quicker 动作可以也可以方便的实现同样的效果:

    + +
    +

    中英文混排以及其他特殊要求样式的问题

    +

    Zotero 官方样式对于中英文混排支持得十分差劲,尤其是在 et al. 的处理上。幸运地是,有很多热心的大佬在这方面进行了许多探索。

    +

    csl 格式的样式文件的下载和安装方法可以查看这一教程:

    +

    利用合适的 CSL,结合设置条目语言解决 et al 和等混排问题

    +
    +

    提示

    +

    对于一般的需求,可以在这个项目中寻找最适合你的样式,然后直接拿来用:

    +

    GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程

    +

    GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程

    +

    这里有非常多的常见样式,足以满足几乎所有人的需求。上面的页面里也都附上了相应的使用效果方便挑选。

    +
    +

    安装 csl 样式文件中,会有两个弹窗。第一个弹窗请点击 安装/Install,第二个弹窗请点击 确认/OK

    +
    安装样式
    +

    (上图是第二个弹窗,这个报错不用担心,直接点 OK 即可)

    +

    安装完 csl 样式文件后,你还 需要在 Word 中指定当前文档使用的样式

    +
    文档设置
    +
    +

    注意

    +

    请务必注意, 样式的选择是在 Word 里进行的 ,不是在 Zotero 设置里!Zotero 设置里的列表仅用来安装新样式,不能用作选择默认样式!

    +
    +

    如果上面现成的样式不能满足你的需求……

    +

    你也可以根据你自己的需要修改属于自己的样式文件,可以看一下这个视频教程自行定制样式:

    +

    style csl 文件简单编辑

    +

    注意事项及与样式相关的常见问题

    +
      +
    1. +

      中英文混排的各个样式文件通常是依靠 Zotero 文献条目信息中的 语言/Language,你需要在插入参考文献之前 预先将英文和中文文献的语言设定为相应要求的内容 。一般来说,常见的中英混排 csl 样式文件通常要求将英文文献 Info语言/language 字段修改为en,而中文文献设置成zhzh_CN或其他内容基本都可以。

      +
      +

      注意

      +

      请务必注意,英文文献的语言需要设置为 en ,而不是其他任何内容!(即便设置成 english 也不行!)

      +

      如果你的文献语言设定不规范,可以通过标题或作者字段对所有文献进行排序,然后分别选中英文文献,将其 [语言] 字段的信息统一为 en;取消选中后再选中中文文献,将其 语言 字段的信息统一为zh或者样式文件要求的样子。

      +

      插件 Linter for Zotero 提供了自动识别条目语言并设定语言字段的功能,可前往 插件商店下载安装。

      +
      Linter 自动识别条目语言
      +
      +
    2. +
    3. +

      如果你设置了新样式后,样式仍未变更,你可以在 Word 上 Zotero 插件选项卡中的 Document Preferences 随意切换到任何一个其他样式,确定。等待更新完成后,重新进设置里改回你想用的设置,文档会再次刷新,然后就好了。

      +
    4. +
    5. +

      Word 中参考文献的显示内容是 csl 文件决定的。如果你觉得 参考文献里显示的内容 不符合你的要求,你需要按照前面的教程修改 csl 文件。

      +
    6. +
    7. +

      如果你设置的样式全都正确,却发现有的正文角标里的内容多了点东西(页码),可以编辑一下这一处引用,把不必要的信息删掉:

      +
    8. +
    +
    编辑引文
    +

    Word 中没有 Zotero 选项卡

    +

    一些朋友在 Word 中的 Zotero 选项卡突然消失了,或者使用的时候报错要求重装/升级该加载项。 这一加载项需要在 Zotero 首选项 中安装 。具体步骤如下:

    +
      +
    1. 保存好正在编辑的 Word 文档,并彻底退出 Word
    2. +
    3. 打开 Zotero 首选项
    4. +
    5. 引用/Cite -文字处理软件/Word Processors 中点击 重新安装 Microsoft Word 加载项/Reinstall Microsoft Word Add-in 即可完成安装/更新/重装。
    6. +
    +
    重新安装Word插件
    +
    +

    注意

    +

    如果退出 Word 后重新安装这一加载项仍然报错,建议重启电脑后再尝试。

    +
    +

    若上图的【文字处理软件/Word Processors】没有内容显示,则需要在 Zotero 软件界面,单击打开【工具/Tools】-【插件/Add-ons

    +
    image.png
    +

    找到【Zotero Word for Windows Integration】插件,确保其没有处理禁用状态。

    +
    image.png
    +

    报错“无法与 Zotero 通讯”

    +
    +

    待办

    +
    +

    Zotero 在更新文档时出错

    +
    +

    提示

    +

    本小节在翻译 官方文档 的基础上,进行了再次整合,以 Microsoft Word 为例进行操作。如果您使用的是 Google Docs 或者 LibreOffice ,可访问 官方文档 | 排除文字处理器文档中的错误 获取帮助。

    +
    +
    更新文档时出错
    +

    如果您在尝试在一个新的空文档中使用 Zotero 时出错,请参阅 文字处理器插件故障排除

    +

    如果您可以在新的空 Word 文档中插入引文,但在现有文档中使用 Zotero 时出现错误,可以按照以下步骤进行问题排查:

    +
      +
    1. +

      检查 Word 设置

      +

      文件-选项-高级,勾选 键入内容替换所选文字,问题即可得到解决。
      +如问题未得到解决,请按照后续步骤逐步进行排查。

      +
      键入内容替换所选文字
      +
    2. +
    3. +

      重启 Zotero 和 Word。

      +
    4. +
    5. +

      确保您使用的是最新版本的 Zotero 和 Word。

      +
    6. +
    7. +

      排除故障时,禁用 Word 中的修订功能,因为它在使用 Zotero 时会产生复杂的效果。
      +如果在插入或修改 Zotero 引文时启用了修订功能,它可能会将文档中的许多或所有 Zotero 引文标记为已更改。如果您以前启用了修订功能,请尝试接受所有更改,看看这是否能解决问题。

      +
    8. +
    9. +

      检查图片标题中的引用。Zotero 不会让你插入它们,但如果你将引用复制到标题中,这很可能是问题的根源。删除这部分引用。

      +
    10. +
    11. +

      尝试将文档内容复制并粘贴到新文档中,以查看问题是否消失。您可能需要点击 Document Preferences 按钮,您的旧引用才会被识别。

      +
    12. +
    13. +

      通过复制文件本身,而不是通过复制和粘贴内容,制作文档的副本,用于调试。

      +
    14. +
    15. +

      如果在 Windows 上使用 OneDrive,请将文档的副本保存到本地硬盘,或者尝试删除文件名中的任何空格。OneDrive 会干扰插件的使用,请在使用 Zotero 过程中避免与 Onedrive 同时使用。

      +
    16. +
    17. +

      打开复制的文件,检查切换到不同的参考书目样式后是否出现错误。

      +
    18. +
    19. +

      如果文档有参考书目(bibliography,),请删除它后检查是否仍然出现错误。

      +
    20. +
    21. +

      调试时,如果您在 Word 插件中使用字段模式,显示字段代码而不是格式化文本可能会有所帮助。为此,请在 Word 中按 Alt/Option-F9(或 Alt/Option-Fn-F9)。

      +
    22. +
    23. +

      隔离有问题的引用。
      +在文档副本中,每次删除一半内容,看看错误是否仍然发生。如果没有,使用 "撤消" 恢复已删除的部分,然后尝试删除另一半。对出现错误的部分重复删除一半的过程,如果两个部分都出现错误,则随机选取一个。继续这样做,直到找到出现问题时必须存在的最小部分(最好只有一个引文)。从原始文档中删除孤立的引文,问题就会消失(除非有多个断开的引文,在这种情况下您需要重复该过程)。

      +
    24. +
    +

    域代码相关问题

    +

    您已经修改该引文,是否保留更改?

    +
    image.png
    +

    该弹窗通常是用户手动修改了引文或参考文献表,比如该弹窗即为某文献在文中编码为“[1]”,用户手动把它修改为了“[111]”,Zotero 再次刷新时会询问用户是否保留这些修改?

    +

    如果用户需要保留自己的修改,则点击“是 yes”,如果用户需要抛弃自己的修改,使用 Zotero 生成的内容,则需要选择“否 No”。

    +
    +

    警告

    +

    注意:请谨慎选择“是 Yes”,该操作会让 Zotero 不再更新此处!

    +
    +
    +

    注意

    +

    所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是手动修改!

    +

    所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是手动修改!

    +

    所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目,而不是手动在域代码上修改!

    +
    +

    如果已经点了 “是 yes”,Zotero 不再对这一处引文进行更新,而后续又想要 Zotero 对其更新,可以参照下一节。

    +

    使 Zotero 恢复对引文的更新

    +

    首先分析一下 Word 加载项 在 Word 留下的域代码结构,以 https://doi.org/10.1021/acscatal.0c05697 为例,其正常插入 Word 后产生的域代码为:

    +
    Zotero 引文在 Word 中产生的域代码截图 +
    image.png
    +
    +

    其中标黄部分是标识这是一个 Word 域代码块的声明,可以不去管,重点在包含在其中的 json 内容,为了方便理解,将其格式化后显示如下:

    +
    上述可以正常更新的域代码格式化后的代码 +
    {
    +  "citationID": "gr3uElq7",
    +  "properties": {
    +    "formattedCitation": "\\super [1]\\nosupersub{}",
    +    "plainCitation": "[1]",
    +    "noteIndex": 0
    +  },
    +  "citationItems": [
    +    {
    +      "id": 2220,
    +      "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"],
    +      "itemData": {
    +        "id": 2220,
    +        "type": "article-journal",
    +        "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.",
    +        "archive": "Q1",
    +        "archive_location": "工程技术1区 Top",
    +        "call-number": "8.04",
    +        "collection-title": "无",
    +        "container-title": "Fuel",
    +        "DOI": "10.1016/j.fuel.2022.124116",
    +        "ISSN": "0016-2361",
    +        "journalAbbreviation": "Fuel",
    +        "language": "en",
    +        "license": "8.04",
    +        "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是",
    +        "page": "124116",
    +        "source": "能源与燃料2区 工程:化工1区",
    +        "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen",
    +        "title-short": "Regulating oxygen species for promoted deep oxidation of toluene",
    +        "volume": "321",
    +        "author": [
    +          {
    +            "family": "Zhang",
    +            "given": "Luyue"
    +          },
    +          {
    +            "family": "Liu",
    +            "given": "Yongjun"
    +          },
    +          {
    +            "family": "Fang",
    +            "given": "Xue"
    +          },
    +          {
    +            "family": "Cheng",
    +            "given": "Yan"
    +          }
    +        ],
    +        "issued": {
    +          "date-parts": [["2022", 8, 1]]
    +        }
    +      }
    +    }
    +  ],
    +  "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json"
    +}
    +
    +

    其被修改后,域代码则会变为:

    +
    不能正常更新的域代码 +
    {
    +  "citationID": "gr3uElq7",
    +  "properties": {
    +    "formattedCitation": "\\super [1]\\nosupersub{}",
    +    "plainCitation": "[1]",
    +    "dontUpdate": true,
    +    "noteIndex": 0
    +  },
    +  "citationItems": [
    +    {
    +      "id": 2220,
    +      "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"],
    +      "itemData": {
    +        "id": 2220,
    +        "type": "article-journal",
    +        "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.",
    +        "archive": "Q1",
    +        "archive_location": "工程技术1区 Top",
    +        "call-number": "8.04",
    +        "collection-title": "无",
    +        "container-title": "Fuel",
    +        "DOI": "10.1016/j.fuel.2022.124116",
    +        "ISSN": "0016-2361",
    +        "journalAbbreviation": "Fuel",
    +        "language": "en",
    +        "license": "8.04",
    +        "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是",
    +        "page": "124116",
    +        "source": "能源与燃料2区 工程:化工1区",
    +        "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen",
    +        "title-short": "Regulating oxygen species for promoted deep oxidation of toluene",
    +        "volume": "321",
    +        "author": [
    +          {
    +            "family": "Zhang",
    +            "given": "Luyue"
    +          },
    +          {
    +            "family": "Liu",
    +            "given": "Yongjun"
    +          },
    +          {
    +            "family": "Fang",
    +            "given": "Xue"
    +          },
    +          {
    +            "family": "Cheng",
    +            "given": "Yan"
    +          }
    +        ],
    +        "issued": {
    +          "date-parts": [["2022", 8, 1]]
    +        }
    +      }
    +    }
    +  ],
    +  "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json"
    +}
    +
    +

    可以看到,多了第六行 "dontUpdate": true,,我们将这一行去掉,再更新域代码,即可恢复 Zotero 对该处的更新。

    +

    字段是代码而不是引文/参考书目文本

    + +

    引文或参考书目总是以灰色或其他颜色突出显示

    + +

    没有监测到引用

    + +

    将引注链接到参考文献表

    +

    参阅:将引注链接到参考文献表

    +

    更多教程

    +

    Johnmy 老师也制作了非常多的关于 Zotero 的教程,如果有疑问也请务必在这里多找找多看看:

    +

    GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程

    +

    一些软件使用过程中的技巧,如 Endnote, Zotero 等

    +]]>
    +
    + + 在 Word 中把引注链接到参考文献表 + https://zotero-chinese.com/user-guide/misc/link-citation-to-bibliography.html + https://zotero-chinese.com/user-guide/misc/link-citation-to-bibliography.html + 在 Word 中把引注链接到参考文献表 + 在 Word 中把引注链接到参考文献表 描述 建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -&gt; 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”: EndNote 中关于链接引注和参考文献表的选项E... + Fri, 29 Jul 2022 20:23:17 GMT + 描述 +

    建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:

    +
    EndNote 中关于链接引注和参考文献表的选项
    +

    Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]

    +

    从 Zotero 论坛发现了通过 Word 宏实现的功能 [2],虽有一些缺陷,但基本可以达成需求。

    +

    配置及使用

    +

    在 Word 里新建一个宏,添加宏代码如下:

    +
    Public Sub ZoteroLinkCitation()
    +
    +' get selected area (if applicable)
    +    Dim nStart&, nEnd&
    +    nStart = Selection.Start
    +    nEnd = Selection.End
    +
    +' toggle screen updating
    +    Application.ScreenUpdating = False
    +
    +' define variables
    +    Dim title As String
    +    Dim titleAnchor As String
    +    Dim style As String
    +    Dim fieldCode As String
    +    Dim numOrYear As String
    +    Dim pos&, n1&, n2&, n3&
    +
    +    ActiveWindow.View.ShowFieldCodes = True
    +    Selection.Find.ClearFormatting
    +
    +' find the Zotero bibliography
    +    With Selection.Find
    +        .Text = "^d ADDIN ZOTERO_BIBL"
    +        .Replacement.Text = ""
    +        .Forward = True
    +        .Wrap = wdFindContinue
    +        .Format = False
    +        .MatchCase = False
    +        .MatchWholeWord = False
    +        .MatchWildcards = False
    +        .MatchSoundsLike = False
    +        .MatchAllWordForms = False
    +    End With
    +    Selection.Find.Execute
    +
    +    ' add bookmark for the Zotero bibliography
    +    With ActiveDocument.Bookmarks
    +        .Add Range:=Selection.Range, Name:="Zotero_Bibliography"
    +        .DefaultSorting = wdSortByName
    +        .ShowHidden = True
    +    End With
    +
    +    ' loop through each field in the document
    +    For Each aField In ActiveDocument.Fields
    +        ' check if the field is a Zotero in-text reference
    +        '##################################################
    +        If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then
    +            fieldCode = aField.Code
    +            '#############
    +            ' Prepare
    +            ' Plain citation== Format of Textfield shown
    +            ' must be in Brackets
    +            Dim plain_Cit As String
    +            plCitStrBeg = """plainCitation"":""["
    +            plCitStrEnd = "]"""
    +            n1 = InStr(fieldCode, plCitStrBeg)
    +            n1 = n1 + Len(plCitStrBeg)
    +            n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1
    +            plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2)
    +            'Reference 'as shown' in word as a string
    +
    +            'Title array in fieldCode (all referenced Titles within this field)
    +            Dim array_RefTitle(32) As String
    +            i = 0
    +            Do While InStr(fieldCode, """title"":""") > 0
    +                n1 = InStr(fieldCode, """title"":""") + Len("""title"":""")
    +                n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1
    +                If n2 < n1 Then 'Exception the type 'Article'
    +                    n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1
    +                End If
    +                array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1)
    +                fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1)
    +                i = i + 1
    +            Loop
    +            Titles_in_Cit = i
    +
    +            'Number array with References shown in PlainCit
    +            'Numer is equal or less than Titels, depending on the type
    +            '[3], [8]-[10]; [2]-[4]; [2], [4], [5]
    +            ' All citations have to be in Brackets each! [3], [8] not [3, 8]
    +            ' This doesnt work otherwise!
    +            ' --> treatment of other delimiters could be implemented here
    +            Dim RefNumber(32) As String
    +            i = 0
    +            Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0
    +                n1 = InStr(plain_Cit, "[")
    +                n2 = InStr(plain_Cit, "]")
    +                RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1))
    +                plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1)
    +            i = i + 1
    +            Loop
    +            Refs_in_Cit = i
    +                 'treat only the shown references (skip the rest)
    +            '[3], [8]-[10] --> skip [9]
    +            'Order of titles given from fieldcode, not checked!
    +            If Titles_in_Cit > Refs_in_Cit Then
    +                array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1)
    +                i = 1
    +                Do While Refs_in_Cit + i <= Titles_in_Cit
    +                    array_RefTitle(Refs_in_Cit + i - 1) = ""
    +                    i = i + 1
    +                Loop
    +            End If
    +
    +            '#############
    +            'Make the links
    +            For Refs = 0 To Refs_in_Cit - 1 Step 1
    +                title = array_RefTitle(Refs)
    +                array_RefTitle(Refs) = ""
    +                ' make title a valid bookmark name
    +                titleAnchor = title
    +                titleAnchor = MakeValidBMName(titleAnchor)
    +
    +                ActiveWindow.View.ShowFieldCodes = False
    +                Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography"
    +
    +                '' locate the corresponding reference in the bibliography
    +                '' by searching for its title
    +                Selection.Find.ClearFormatting
    +                With Selection.Find
    +                    .Text = Left(title, 255)
    +                    .Replacement.Text = ""
    +                    .Forward = True
    +                    .Wrap = wdFindContinue
    +                    .Format = False
    +                    .MatchCase = False
    +                    .MatchWholeWord = False
    +                    .MatchWildcards = False
    +                    .MatchSoundsLike = False
    +                    .MatchAllWordForms = False
    +                End With
    +                Selection.Find.Execute
    +
    +                ' select the whole caption (for mouseover tooltip)
    +                Selection.MoveStartUntil ("["), Count:=wdBackward
    +                Selection.MoveEndUntil (vbBack)
    +                lnkcap = "[" & Selection.Text
    +                lnkcap = Left(lnkcap, 70)
    +
    +                ' add bookmark for the reference within the bibliography
    +                Selection.Shrink
    +                With ActiveDocument.Bookmarks
    +                    .Add Range:=Selection.Range, Name:=titleAnchor
    +                    .DefaultSorting = wdSortByName
    +                    .ShowHidden = True
    +                End With
    +
    +                ' jump back to the field
    +                aField.Select
    +                ' find and select the numeric part of the field which will become the hyperlink
    +                Selection.Find.ClearFormatting
    +                With Selection.Find
    +                    .Text = RefNumber(Refs)
    +                    .Replacement.Text = ""
    +                    .Forward = True
    +                    .Wrap = wdFindContinue
    +                    .Format = False
    +                    .MatchCase = False
    +                    .MatchWholeWord = False
    +                    .MatchWildcards = False
    +                    .MatchSoundsLike = False
    +                    .MatchAllWordForms = False
    +                End With
    +                Selection.Find.Execute
    +
    +                numOrYear = Selection.Range.Text & ""
    +
    +                ' store current style
    +                style = Selection.style
    +                ' Generate the Hyperlink -->Forward!
    +                ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear
    +                ' reset the style
    +                Selection.style = style
    +
    +                ' comment if you want standard link style
    +                aField.Select
    +                With Selection.Font
    +                     .Underline = wdUnderlineNone
    +                     .ColorIndex = wdBlack
    +                End With
    +
    +            Next Refs 'References in Cit
    +
    +        End If  'If Zotero-Field
    +        '#########################
    +
    +        Next aField ' next field
    +
    +        ' go back to original range selected
    +        ActiveWindow.View.ShowFieldCodes = False
    +        ActiveDocument.Range(nStart, nEnd).Select
    +
    +    End Sub
    +    Function MakeValidBMName(strIn As String)
    +        Dim pFirstChr As String
    +        Dim i As Long
    +        Dim tempStr As String
    +        strIn = Trim(strIn)
    +        pFirstChr = Left(strIn, 1)
    +        If Not pFirstChr Like "[A-Za-z]" Then
    +            strIn = "A_" & strIn
    +        End If
    +        For i = 1 To Len(strIn)
    +            Select Case Asc(Mid$(strIn, i, 1))
    +            Case 49 To 57, 65 To 90, 97 To 122
    +                tempStr = tempStr & Mid$(strIn, i, 1)
    +            Case Else
    +                tempStr = tempStr & "_"
    +            End Select
    +            Next i
    +            tempStr = Replace(tempStr, "  ", " ")
    +            MakeValidBMName = Left(tempStr, 40)
    +        End Function
    +

    缺陷和注意事项

    +
      +
    • 手动更新引注时会出现引注已被修改的弹窗
    • +
    • 无法实现从参考文献表跳转到引注
    • +
    • 同时引用多个引注时只能链接最后一个。
    • +
    +
    +
    +
      +
    1. 来源添加 ↩︎

      +
    2. +
    3. Word: Possibility to link references and bibliography in a document? -  Zotero Forums ↩︎

      +
    4. +
    +
    +]]>
    +
    + + 通过 VBA 在 WPS 中使用 Word 插件 + https://zotero-chinese.com/user-guide/misc/wps-plugin-vba.html + https://zotero-chinese.com/user-guide/misc/wps-plugin-vba.html + 通过 VBA 在 WPS 中使用 Word 插件 + 通过 VBA 在 WPS 中使用 Word 插件 前言(很重要哦!) 相关信息 Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝 🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载... + Tue, 08 Nov 2022 11:38:09 GMT + 前言(很重要哦!) +
    +

    相关信息

    +

    Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝在 Word 中插入引文

    +
    +
    +

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!(无法正常使用请见本文档 四、Refresh/Unlink Citations 莫名失效

    +
    +
    +

    注意

    +

    以下是 WPS 的 Zotero Word 加载项的常见问题及解决方法,均以 Window 系统为例演示 📝:

    +
    +

    一、没有显示 Zotero 加载项

    +
    image.png
    +
    +

    相关信息

    +

    如上图所示,WPS 的文档界面不显示 Zotero 加载项。解决办法如下

    +
    +

    1、检查 Microsoft Word 加载项

    +

    检查 Zotero 是否已正常安装好Microsoft Word 加载项。安装此加载项的步骤,详见 Zotero 百科全书的 【引文|插件】Word 加载项相关问题(点击左侧蓝字自查)

    +
    重新安装 Word 插件
    +

    2、WPS.VBA 插件的安装

    +

    若 WPS 为个人版,需额外安装 VBA 插件(点击左侧蓝字获取插件)

    +
    +

    注意

    +

    WPS 专业版等版本一般已自带 VBA 宏功能,Zotero 加载项如有使用问题,也可选择安装 VBA 插件。

    +
    +

    1)将 WPS.VBA 安装程序下载并保存到电脑,确保 WPS 程序是 未运行状态。

    +
    image.png
    +

    2)双击打开 WPS. VBA 安装程序,依次单击【Next】,最后单击【Finish】。用 WPS 打开任意一个 Word 文档,检查是否正常显示 Zotero 加载项。

    +
    image.png
    +
    +

    注意

    +

    若 WPS. VBA 安装后,仍未显示 Zotero 加载项,或需将【宏安全性】设成低(但不建议)。除此外可见下方3、补充 Zotero. dotm 文件

    +
    +

    3、补充 Zotero.dotm 文件

    +

    1)在 Zotero 图标处右键单击,单击【打开文件所在的位置】打开 Zotero 安装路径

    +
    image.png
    +

    2)依次双击打开【extensions】-【zoteroWinWordIntegration@zotero.org】-【install】文件夹,复制 Zotero.dotm 文件。

    +
    image.png
    +
    image.png
    +
    +

    注意

    +

    如果上图文件夹位置没有 Zotero.dotm,可点击右侧蓝字获取 Zotero.dotm

    +
    +

    3)在 WPS 图标处右键单击,单击【打开文件所在的位置】打开 WPS 安装路径。

    +
    image.png
    +
    +

    注意

    +

    以上前提是确保 WPS 已关闭,不在运行中!!!

    +
    +

    4)找到并打开版本最新的文件夹(即数字最大),再依次打开【office6】-【startup

    +
    image.png
    +
    image.png
    +

    5)在 WPS 的【startup】启动项文件夹内,粘贴 Zotero.dotm 文件。再次用 WPS 打开任一 Word 文档,检查 WPS 是否已显示 Zotero 加载项。

    +
    image.png
    +

    二、Zotero 加载项出现弹窗报错

    +
    image.png
    +
    +

    相关信息

    +

    如上图所示,在 WPS 使用 Zotero 加载项的各个按钮时,会出现弹窗警告。解决方法如下

    +
    +

    1、解决方法一

    +

    新建一个 Word 文档,先用 Office打开此文档,用 Zotero 加载项 插入一篇文献后,保存此文档即可。

    +
    image.png
    +
    +

    注意

    +

    设置较简单,仅适用于同时安装 Office 和 WPS。以后再使用时,可能还会报错。

    +

    如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部

    +

    解决方法:将光标定位在远离上述位置如正文文字处

    +
    +

    2、解决方法二

    +

    1)单击【开发者工具】-【加载项】,弹出的对话框单击【选用】。

    +
    image.png
    +
    +

    注意

    +

    设置较复杂,适用于 同时装有 Office 和 WPS只装有 WPS

    +
    +
    +

    注意

    +

    若【开发工具】选项卡的内容为灰色,即无法点击操作。

    +

    解决方法:安装 WPS. VBA 插件(详见本文档 WPS. VBA 插件的安装

    +

    或需升级更新 WPS 版本,以及可能需要安装使用 WPS 专业版等版本。

    +
    +

    2)弹出对话框,双击进入上方地址栏并复制地址,或地址栏处右键单击,再单击【将地址复制为文本】。复制好地址后,即可关闭当前窗口。

    +
    image.png
    +

    3)单击【文件】选项卡,再单击【打开】。将 地址 粘贴至【文件名】,【文件类型】选择 所有文件,然后单击【打开】。

    +
    image.png
    +
    image.png
    +

    4)选中 Normal.dotm 文件,单击【打开】,随之打开名为 Normal.dotm 文档。

    +
    image.png
    +

    5)在 Normal.dotm 文档内,依次单击【文件】-【文档加密】-【属性

    +
    image.png
    +

    6)在 Normal.dotm 属性对话框,切换到【自定义】窗口,【名称】和【取值】分别输入 ZOTERO_PREF_11 ,点击【添加】。同理,再添加上 ZOTERO_PREF_21 ,最后点击【确定】。

    +
    image.png
    +

    这一步完成的效果如下:

    +
    image.png
    +

    7)左上角单击【保存】图标或快捷键 Ctrl+S 保存 Normal.dotm 文档。重新用 WPS 打开一个 Word 文档检查是否不再出现报错窗口。

    +
    image.png
    +
    +

    注意

    +

    如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部

    +

    解决方法:将光标定位在远离上述位置如正文文字处

    +
    +

    三、Refresh/Unlink Citations 问号图标

    +
    image.png
    +
    +

    相关信息

    +

    如上图所示,RefreshUnlink Citations图标显示为问号,解决办法如下

    +
    +

    1、直接安装美化后的图标文件

    +

    1)我已创建 5 种 Refresh 和 Unlink Citations 图标(任选其一),可直接安装使用。点击上方蓝字即可获取,首先将其下载并保存到电脑(如下图所示)。

    +
    image.png
    +
    +

    注意

    +

    只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标。

    +
    +

    下方是 5 个已编辑好的 RefreshUnlink Citations图标的图片展示。

    +
    image.png
    +

    2)将上述任一 Zotero文件,粘贴至 WPS 的启动项文件夹内(详见本文档的 补充 Zotero.dotm 文件

    +

    3)用 WPS 打开任一 Word 文档,但是会显示有 2 个 Zotero 加载项。

    +
    image.png
    +
    +

    注意

    +

    因为没更换 Zotero 安装路径的 Zotero.dotm,且 Office Word 的启动项文件夹未放置 Zotero.dotm。

    +
    +
    +

    相关信息

    +

    这样做的考虑是:保持 Office Word 的 Refresh 和 Unlink Citations 图标不变动,同时保留原有的 Zotero. dotm,以备不时之需。当然也可自己按喜好设置更换。

    +
    +

    只保留 1 个 Zotero 加载项

    +

    1)依次单击【开发者工具】-【加载项】。 单击选中 Zotero.dotm,单击【禁用】。

    +
    image.png
    +

    2)Zotero.dotm 前面方框,此刻已更改成 取消勾选,点击【确定】即可。

    +
    image.png
    +

    四、Refresh/Unlink Citations 莫名失效

    +

    有时新建 Word 文档,用 WPS 打开后,无故出现点击 Refresh 和 Unlink Citations 功能失效(即无响应或莫名删掉引文 Citation)。

    +

    解决方法

    +

    1)不要将光标置于插入引文 Citaion 和参考文献 References 的位置(即将光标定位在远离上述位置如正文文字处,再点击 Refresh 按钮)

    +

    2)重启 WPS,或新建一个 Word 文档,再用 WPS 打开。或必要时重启电脑即可正常使用。

    +
    +

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!

    +
    +

    致谢

    +
    +

    相关信息

    +

    👍 到这里,在 WPS 中使用 Zotero Word 加载项的使用已接近尾声。在此由衷地感谢来自 b 站、知乎、CSDN 等网站的大神们分享的有关 WPS 的 Zotero Word 加载项使用的宝贵经验!!!

    +
    +]]>
    +
    + + 如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 + https://zotero-chinese.com/user-guide/faqs/%E8%A7%A3%E5%86%B3pdf%E5%9B%BE%E7%89%87%E4%B8%8A%E7%9A%84%E9%BB%91%E8%89%B2%E9%81%AE%E6%8C%A1.html + https://zotero-chinese.com/user-guide/faqs/%E8%A7%A3%E5%86%B3pdf%E5%9B%BE%E7%89%87%E4%B8%8A%E7%9A%84%E9%BB%91%E8%89%B2%E9%81%AE%E6%8C%A1.html + 如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 + 如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。 黑色遮挡黑色遮挡 根据 Zotero 官方答复 ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。 具... + Thu, 14 Sep 2023 21:17:47 GMT + 部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。

    +
    黑色遮挡
    +

    根据 Zotero 官方答复 ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。

    +

    具体操作步骤如下:

    +
      +
    1. 在菜单编辑选择“设置”:
      +
    2. +
    3. 弹出如下图所示的对话框。
      +点击“I accept the risk”
      +
    4. +
    5. 在搜索框中输入 acceleration,双击搜索到的 layers.acceleration.disabled,Value 将变为 true。然后重新启动 Zotero,即可解决问题。
      +
    6. +
    +]]>
    +
    + + 在 WPS 中插入参考文献 + https://zotero-chinese.com/user-guide/wps-plugin.html + https://zotero-chinese.com/user-guide/wps-plugin.html + 在 WPS 中插入参考文献 + 在 WPS 中插入参考文献 在 WPS 中使用插件参考文献,目前有两种方法 使用 VBA,借用 Word 的插件 使用 WPS JavaScript API 制作的插件 使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)... + Fri, 22 Sep 2023 20:36:31 GMT + 在 WPS 中使用插件参考文献,目前有两种方法

    +
      +
    • 使用 VBA,借用 Word 的插件
    • +
    • 使用 WPS JavaScript API 制作的插件
    • +
    +

    使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)。

    +

    下面是使用 WPS 原生 JavaScript API 插件的教程。

    +
    +

    macOS 系统上的 WPS 用户暂时无法使用

    +

    插件是利用 WPS 提供的 JavaScript API 从 Zotero 获取引文信息,并写入到 WPS 文档中。目前插件可以在Windows 和 Linux 系统下使用,因 WPS 的接口暂时不支持 macOS 系统,所以使用苹果电脑的同学暂时用不上这个插件

    +

    插件地址为 https://github.com/tankwyn/WPS-Zotero

    +
    +

    1. 安装插件

    +

    因为 WPS 接口的一些限制,本插件的使用还需要使用到Python3,Linux 系统内一般默认安装了 Python3, 使用 Windows 的同学,需要提前安装好 Python3。使用 Windows 的同学从下面的 1.1 Windows 下 Python3 环境的安装 部分开始,使用 Linux 的同学可直接跳过这部分,看后面的安装部分就行。

    +

    1.1 Windows 下 Python3 环境的安装

    +

    可能有一些同学的电脑里已经安装 Python3,可以按 WIN + R,在弹出的窗口输入 cmd

    +
    运行CMD
    +

    点击确认后,再出现的小黑屏上输入 python --version

    +
    查看Python版本
    +

    注意看,只要出现 Python 3.xx.xx,就说明 Python3 已经正确安装,直接进入下一步。如果出现其他的,说明 Python3 未正确安装,请按下面的步骤进行安装。

    +

    下载 Python3 安装包,64 位下载地址32 位下载地址,不知道自己电脑是几位的,就选 64 位。如果上面两个链接下载太慢 (不开代理 ,官网下载速度慢已经 10 多年了),可试试安装 miniconda

    +

    这里以 miniconda 示例,安装时默认设置,除了下面截图的设置,要记得打勾,把 Python 添加到环境变量里

    +
    安装miniconda
    +

    安装了官网 Python 的同学,需要手动将 Python 添加到环境变量里

    +
    安装Python
    +

    安装成功后,在小黑屏运行 python --version,出现 Python 3.xx.xx 说明安装成功。

    +

    1.2 安装 WPS 插件

    +

    安装过程非常简单,作者已经帮我们处理好了,只需要一个脚本即可。如果你可流畅访问 GitHub,可直接到 https://github.com/tankwyn/WPS-Zotero 下载,如果访问困难,可到这个 镜像源 下载

    +

    将下载后的压缩包解压后,看到的文件如下

    +
    解压后的文件列表
    +

    Windows 系统

    +

    Windows 系统直接双击 windows安装与卸载.bat 安装文件,你可能会遇到下面的警告提示

    +
    点击更多信息
    +
    点击仍要运行
    +

    运行后出现的提示窗口,输入 1,并按确认,进行安装

    +
    选择1
    +

    安装成功的提示

    +
    安装成功
    +

    Linux 系统

    +

    直接打开 terminal,输入 python3 install.py 进行安装

    +

    2. 插件使用

    +

    WPS 插件的按钮与 Word 插件类似

    +
      +
    • Add/Edit Citation,添加引用文献
    • +
    • Add/Edit Refs,添加参考文献列表
    • +
    • Refresh,刷新文档引用文献信息
    • +
    • Preferences,打开 Zotero 引用设置窗口
    • +
    • Add Note,添加 Zotero 笔记
    • +
    • Unlink,取消链接引注,通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成
    • +
    • Export,导出其他文本编辑器兼容的文本格式
    • +
    • About,插件相关信息
    • +
    +
    WPS插件UI按钮
    +

    具体的操作过程,请参考 在 Word 中插入参考文献

    +

    3. 如何卸载 WPS 安装的旧版 Zotero 扩展

    +

    如果你之前安装把 Word 里的 Zotero 插件强行安装到 WPS,那样出现多个的 Zotero 选项

    +
    多个Zotero选择
    +

    先打开 C:\Users\你的用户名\AppData\Roaming\kingsoft\wps 目录 (注意用户名换成你自己的),找到 startup 目录,删掉里面的 zotero.dotm 文件,这个文件是直接从 Zotero 的 Word 插件里复制到 WPS 里,需要 WPS 有 VBA 环境,现在已经不需要了,可以删掉。

    +
    WPS插件安装路径
    +

    4. 可能遇到的问题

    +

    使用中可能点击按钮后,Zotero 的窗口不会自动出现,可以手动点击一下任务栏中的 Zotero 图标,让 Zotero 的窗口跳到最前。

    +]]>
    +
    + + 关于 Zotero 中文小组 + https://zotero-chinese.com/about.html + https://zotero-chinese.com/about.html + 关于 Zotero 中文小组 + 关于 Zotero 中文小组 提示 待办,关于页面 + Wed, 20 Sep 2023 15:14:00 GMT + +

    提示

    +

    待办,关于页面

    + +]]>
    +
    + + 贡献者名单 + https://zotero-chinese.com/contributors.html + https://zotero-chinese.com/contributors.html + 贡献者名单 + 贡献者名单 本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。 Zotero 中文文档贡献者 以下是 zotero-chinese/wiki 仓库的贡献者们: Zotero 中文文档贡献者Zotero 中文文档贡献者 Zotero 中文插件商店贡献者 以下是 zotero... + Wed, 20 Sep 2023 15:14:00 GMT + 本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。

    +

    Zotero 中文文档贡献者

    +

    以下是 zotero-chinese/wiki 仓库的贡献者们:

    + +
    Zotero 中文文档贡献者
    Zotero 中文文档贡献者
    +

    Zotero 中文插件商店贡献者

    +

    以下是 zotero-chinese/zotero-plugins 仓库的贡献者们:

    +
    Zotero 中文插件商店贡献者
    Zotero 中文插件商店贡献者
    +

    Zotero 中文 translator 贡献者

    +

    以下是 l0o0/translators_CN 仓库的贡献者们:

    +
    Zotero 中文 translator 贡献者
    Zotero 中文 translator 贡献者
    +

    CSL 中文仓库贡献者

    +

    以下是 redleafnew/Chinese-STD-GB-T-7714-related-csl 仓库的贡献者们:

    +
    CSL 中文仓库贡献者
    CSL 中文仓库贡献者
    +]]>
    + +
    + + 构建指南 + https://zotero-chinese.com/contributing/build.html + https://zotero-chinese.com/contributing/build.html + 构建指南 + 构建指南 项目概览 本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。 目前仓库地址为... + Fri, 21 Jul 2023 11:08:04 GMT + 项目概览 +

    本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。

    +

    目前仓库地址为 https://github.com/zotero-chinese/wiki/

    +

    以下介绍了一次完整修改所需的步骤。

    +
    +

    提示

    +

    为了降低操作门槛,本指南所述操作步骤均尽可能使用了图形化界面。对于熟悉 Git 的同学,仍可使用自己喜欢的方式进行操作。

    +
    +

    环境配置

    +

    所需软件安装

    +

    本文的需要 Node.js 和 Git 安装在你的电脑上,后续步骤假定你已经安装这些程序且可以简单使用,若没有安装这些软件请跟随本小节指引完成安装。

    +

    为了方便编辑和提交,我们还推荐安装 VS CodeGitHub Desktop 两个软件。

    +
    安装 Git +

    所有文档均使用 Git 进行版本控制。以下步骤假定

    +

    用户已安装 git。若未安装,可以使用以下命令安装或更新 git:

    + +

    安装完成后,还需设置个人信息。打开终端,运行以下命令

    +

    (将 zotero-user<zotero-user@gmail.com> 替换成个人对应的信息):

    +
    # 设置用户姓名和邮箱
    +$ git config --global user.name "zotero-user"
    +$ git config --global user.email "zotero-user@gmail.com"
    +
    +# 查看 ~/.gitconfig
    +$ cat ~/.gitconfig
    +[user]
    +    name = zotero-user
    +    email = zotero-user@gmail.com
    +
    Git 和 GitHub 学习资料 +

    以下修改文档并提交的步骤中使用了 Git 的一些常用选项,可以参考以下资料学习更多用法:

    + +

    GitHub 相关资料:

    + +
    +
    +
    安装 Node.js +

    安装 Node. js

    +
    +
    安装 VS Code +

    安装

    +
    +
    安装 GitHub Desktop +

    安装 https://desktop.github.com/

    +
    +

    克隆和复制仓库

    +
      +
    1. +

      复制 (fork) 仓库至个人 GitHub 帐号

      +

      点击项目主页 https://github.com/zotero-chinese/wiki/ 右上角的 Fork 按钮,将该项目复刻到个人 GitHub 账户下。

      +
      复刻仓库
      +
      复刻仓库2
      +

      复制完成后,个人 GitHub 帐号下便有了 https://github.com/zotero-user/wiki/ 仓库。

      +
    2. +
    3. +

      克隆个人 GitHub 帐号下的复刻仓库到本地(复刻仓库默认是本地克隆仓库的远程 origin)

      +

      打开 VS Code,点击 欢迎页面克隆 Git 仓库…,在弹出窗口中选中 从 GitHub 克隆,然后选择自己账户下的 fork 仓库,确认,克隆完成后根据提示打开文件夹。

      +
      克隆Git仓库
      +
      从GitHub克隆
      +
      选择仓库
      +
      +

      提示

      +

      如果你对 Git 或命令行不了解,可以考虑使用 GitHub 客户端 或 VS Code 提供的图形化版本控制管理器作为命令行的替代。

      +
      +
    4. +
    +

    安装依赖

    +

    通过下面的命令安装依赖项。

    +
    npm install -g pnpm
    +pnpm install
    +
    安装依赖
    +
    +

    相关信息

    +

    上述“环境配置”步骤只需在第一次修改代码时执行一次,一旦复制或克隆某仓库后,就无需再次复制或克隆。

    +
    +

    修改文档

    +
      +
    1. +

      在本地创建并切换至新分支,假定新分支名为 pr-workflow(分支名需简短、描述性且独特):

      +
      创建新分支
      +
    2. +
    3. +

      启动开发服务器
      +使用以下命令启动开发服务器,如下图,开发服务器启动后,会给出几个本地链接,访问任一链接(通常为 Local)即可得到预览。

      +
      pnpm run docs:dev
      +
      启动开服务器
      +

      开发服务器会监听所有 .md 文件的修改,当有文件发生保存时,服务器会自动更新预览并刷新网页。

      +
      开发服务器
      +
    4. +
    5. +

      在新建分支中对文档做修改,修改过程中,可以随时在浏览器中检查修改效果

      +

      使用 Markdown 语法编写文档,如果你不清楚本文档所用的 Markdown 语法,请参阅 Markdown 语法

      +
    6. +
    7. +

      提交 commit

      +

      在左侧 " 源代码管理 " 选项卡中,输入一个简短的提交描述,点击提交,然后将修改推送到线上。

      +
      提交修改
      +
      推送修改
      +
      +

      提示

      +

      如前所述,提交命令也可以在 GitHub Desktop 中完成。

      +
      +
      +

      注意

      +

      不建议直接在 main 分支中进行修改和提交,这可能会给你自己造成麻烦。

      +

      仓库对 main 分支开启了推送保护,对 main 分支的修改只能通过 Pull Request 进行,无法直接 Push。

      +
      +
    8. +
    +

    Pull Request

    +
      +
    1. +

      提交 PR

      +

      进入个人 GitHub 帐号下的复制仓库(即 https://github.com/你的名字/wiki/)。

      +

      一般 GitHub 会自动提示有可提交的 PR,点击 “Compare & pull request”,输入此 PR 的标题和具体描述,

      +

      最后点击 “Create pull request” 即可。

      +
    2. +
    3. +

      审核、评论以及修改 PR

      +

      文档维护者收到 PR 后,会对代码进行审核、评论以及修改,并决定是否接受(merge)或结束该 PR。

      +

      PR 发起后,Netlify 机器人会自动部署一个预览版本,可以在这里查看预览。

      +
      netlify预览pr
      +

      提交的 PR 在接收前可能需要读者多次修改。这种情况并不要创建新 PR,只需继续本地 pr-workflow 分支中修改并提交,然后再次推送 pr-workflow 分支至远程 origin 即可,修改将自动添加到已提交的 PR 中。

      +

      推送新的修改后,可以选择在该 PR 中留言,以通知维护者已提交新的修改。

      +
    4. +
    5. +

      PR 被接受并合并至官方 main 分支后,则可以更新 main 分支,并删除 pr-workflow 分支

      +
      更新main分支
      +
    6. +
    +

    其他的脚本

    +

    pnpm run docs:build

    +

    构建脚本,用于将 markdown 构建为网页。

    +

    贡献者可以在提交前运行一次,查看是否有报错。

    +

    一般情况下,图片路径错误、链接错误会导致报错。

    +

    pnpm run lint:md

    +

    运行 Markdown Lint。

    +]]>
    +
    + + 贡献指南 + https://zotero-chinese.com/contributing/contributing.html + https://zotero-chinese.com/contributing/contributing.html + 贡献指南 + 贡献指南 Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。 文档维护的内容和主要方式 文档的维护与更新主要包括几个方面: 修正错别字、语句不通等 修正文档中的错误或不清晰的描述 调整章节结构,使文档条理更清晰 增加示例、专题或入门教程 等 参与文档的维护的主要方式: 在 GitHub 上的文档源码仓库下 ... + Thu, 20 Jul 2023 23:05:53 GMT + Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。

    +

    文档维护的内容和主要方式

    +

    文档的维护与更新主要包括几个方面:

    +
      +
    • 修正错别字、语句不通等
    • +
    • 修正文档中的错误或不清晰的描述
    • +
    • 调整章节结构,使文档条理更清晰
    • +
    • 增加示例、专题或入门教程
    • +
    • +
    +

    参与文档的维护的主要方式:

    +
      +
    1. 在 GitHub 上的文档源码仓库下 提交 ISSUE
    2. +
    3. 在 GitHub Zotero Chinese 组织的 Discussions 上讨论(也可以直接点击文档网页底部的“参与讨论”)
    4. +
    5. 在网页底部评论区留言
    6. +
    7. 修改文档源码并提交 Pull Request (不熟悉 Pull Request 的读者可以参考 Pull Request 流程)
    8. +
    +

    提交 / 参与议题 / 讨论

    +

    读者可以在前述的几种途径参与讨论。

    +
    +

    +

    读者需要一个 GitHub 账户才能提交发起或参与讨论。

    +
    +

    修改文档

    +

    若只是对文档做简单的微调,比如修改简单的别字、语句不通或不清晰的描述等,可以直接通过 GitHub 在线修改并提交,参阅后文 简单修改

    +

    若需要对文档做大量修改,可在经过讨论后,选择 线下修改

    +
    +

    +

    文档源码开源托管在 GitHub 上,因此读者需要一个 GitHub 账户才能提交 PR。

    +
    +

    简单修改

    +
      +
    1. +

      在线修改

      +

      打开需要修改的文档网页,点击末尾左下角的 “在 GitHub 上编辑此页”,网页会自动跳转到 GitHub 编辑文档源码的页面。

      +

      如果提示需要 fork 才能继续则点击即可。

      +

      编辑需要修改的地方,文档风格和 Markdown 语法请参阅 文档风格指南 #Markdown 语法

      +
    2. +
    3. +

      提交修改

      +

      修改完后,在下方的 “Commit changes” 中输入有关此次修改的标题和具体描述。输入一个简短的新分支名字。

      +

      点击 “Commit changes” 提交修改。

      +
    4. +
    5. +

      提交 PR

      +

      在 “Open a pull request” 页面中,输入此 PR 的标题和具体描述。点击 “Create pull request” 即可。

      +

      PR 提交后,CI 工具会自动对提交的 PR 生成一个预览链接并评论在 PR 中,可以在此预览修改的结果。

      +

      维护者将尽快审核这些修改。

      +
    6. +
    +

    稍微大量修改

    +

    例如你需要添加一篇文章,上传一些图片等,且对 Git 不甚了解,那么可以使用这种方式在线修改,这可以避免你下载很多软件。

    +

    请参考 使用 vscode.dev 指南

    +

    大量修改

    +

    如果你需要做较大量修改,例如增加几篇文章,或长期贡献/维护仓库,可以采用这种方式:完全本地修改,可以在本地预览修改的效果,修改后再推送到 GitHub。

    +

    请参考 完全构建指南

    +

    注意事项

    +
      +
    • Commit 的注释信息应该是描述性的
    • +
    • 希望读者对审稿人/维护者的评论和意见保持开放的心态,并努力改进代码或文档
    • +
    • 新的 PR 不一定会及时审核,取决于审稿人/维护者的当时的工作时间
    • +
    +]]>
    +
    + + 文档风格指南 + https://zotero-chinese.com/contributing/markdown.html + https://zotero-chinese.com/contributing/markdown.html + 文档风格指南 + 文档风格指南 文件命名 文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。 由于 Windows 不区分文件名大小写,故而 option-B.md 和 option-b.md 在 Windows 下会出现冲突。 我们使用的文件的命名规则是: 文件名一律采用小写字母 文件名应尽量使用单... + Thu, 20 Jul 2023 23:46:54 GMT + 文件命名 +

    文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。
    +由于 Windows 不区分文件名大小写,故而 option-B.mdoption-b.md 在 Windows 下会出现冲突。

    +

    我们使用的文件的命名规则是:

    +
      +
    • 文件名一律采用小写字母
    • +
    • 文件名应尽量使用单词全称,避免使用各种形式的简写
    • +
    • 若文件名中含多个单词,应使用连字符 (hyphen) - 连接
    • +
    +

    文档 Frontmatter 规范

    +

    通过 Frontmatter 为每个 Markdown 页面引入配置。

    +

    Frontmatter 必须在 Markdown 文件的顶部,并且被包裹在一对三短划线中间。下面是一个基本的示例:

    +
    ]]>
    +
    + + 通过 VSCode.dev 网站在线更改本文档 + https://zotero-chinese.com/contributing/vscode-dev.html + https://zotero-chinese.com/contributing/vscode-dev.html + 通过 VSCode.dev 网站在线更改本文档 + 通过 VSCode.dev 网站在线更改本文档 打开 https://vscode.dev/github/zotero-chinese/wiki 等待页面加载完成 根据提示登录 GitHub 账号 根据提示登录 GitHub 账号根据提示登录 GitHub 账号 根据提示安装推荐的插件 安装插件安装插件 新建分支 切换到 源代码管理窗格,依次选择···... + Wed, 20 Sep 2023 15:14:00 GMT + +
  • +

    打开 https://vscode.dev/github/zotero-chinese/wiki

    +
  • +
  • +

    等待页面加载完成

    +
  • +
  • +

    根据提示登录 GitHub 账号

    +
    根据提示登录 GitHub 账号
    +
  • +
  • +

    根据提示安装推荐的插件

    +
    安装插件
    +
  • +
  • +

    新建分支
    +切换到 源代码管理窗格,依次选择··· 按钮——分支——创建分支,输入分支名,并按回车确认。创建完成后根据提示切换到新分支。

    +
    新建分支
    +
    输入新分支的名字
    +
    切换到新分支
    +
    +

    为什么要创建新分支?

    +

    严格地说,所有的修改都应在新分支进行,这有利于 Git 的管理。

    +

    具体的,如果要同时修改多个内容,某一部分内容被合并,但另一部分内容仍在修改,这时候只在主分支修改显然是不够用的。

    +

    此外,主仓库对 PR 采取 splash and merge 策略,这会把某一分支的所有提交压缩为一个提交然后合入主分支,这有利于保持仓库提交历史的简洁和线性关系,fork 仓库全部在主分支修改时,将无法自动保持与主仓库的提交历史同步,而使用新分支修改就没有这些烦恼。

    +
    +
  • +
  • +

    进行对应的修改

    +
    进行对应的修改
    +
    +

    上传文件

    +

    图片可以通过在 src/assets/ 文件夹右击,点击 上传 来上传到仓库。

    +

    也可以直接 ctrl+v 粘贴图片。

    +
    +
    +

    文档风格和语法

    +

    文档的写作风格和语法等请参阅 文档风格指南 #Markdown 语法

    +
    +
  • +
  • +

    提交并推送

    +
    提交并推送
    +
  • +
  • +

    发起 Pull Request

    +
  • +
  • +

    等待社区管理员审核合并

    +
  • + +

    PR 发起后,机器人会自动检查 PR 内容是否符合规范,也会部署一个预览版本,可以在这里查看预览。

    +
    netlify预览pr
    +
    +

    哪些情况会导致检查错误?

    +

    仓库的自动检查包含格式检查和构建检查。格式上,仓库使用 Markdown Lint 作为规范,如果你使用 VS Code 且安装了推荐的插件,那么通常 Lint 检查是可以通过的。

    +

    构建检查失败最可能的原因就是图片、链接等错误,如图片等目录级别错误、大小写错误、相对链接不存在等。

    +
    +
    +

    如何更新 PR?

    +

    已经发起的 PR,可以直接在这个 PR 对应的分支上继续提交新的内容以更新这个 PR。

    +
    +]]>
    +
    + + 添加条目 + https://zotero-chinese.com/user-guide/add-items.html + https://zotero-chinese.com/user-guide/add-items.html + 添加条目 + 添加条目 本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 页面。 条目与附件 在使用 Zotero 之前,我希望可以引入几个术语: 条目 Item Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见... + Wed, 28 Jun 2023 21:14:03 GMT + 本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 添加附件 页面。

    +

    条目与附件

    +

    在使用 Zotero 之前,我希望可以引入几个术语:

    +

    条目 Item

    +

    Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见的条目类别:

    +

    | 图标 | 类型 |
    +| :

    +]]>
    +
    + + 备份 + https://zotero-chinese.com/user-guide/backup.html + https://zotero-chinese.com/user-guide/backup.html + 备份 + 备份 我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。 在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍... + Wed, 28 Jun 2023 21:19:25 GMT + 我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。

    +

    在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍若干种备份这些文件的方式。

    +

    概述

    +

    我们将构成 Zotero 正常运行的文件分为三部分:

    +
      +
    • Zotero 程序文件 (Program Files)
    • +
    • Zotero 数据文件 (Zotero Data Folder)
    • +
    • Zotero 用户配置文件 (Zotero Profile Directory)
    • +
    +

    程序文件

    +

    这些文件构成 Zotero 程序的主体,包含了 Zotero 程序的二进制文件(例如 zotero.exe 等) 和相关的库文件,不包括您的数据和个性化设置。

    +

    这些文件由安装包释放,通常无需额外备份。

    +

    数据文件

    +

    这个目录包含了 Zotero 存储的所有数据,包括您的文献条目信息、笔记、附件、标签、文件夹结构、转换器和引文样式等。这是最重要的部分,因为它包含了您的研究资料。备份数据文件可确保您不会失去已收集的所有信息。

    +

    数据文件位置

    +

    除非您在 Zotero 设置的高级窗格中选择了自定义数据目录,否则您的 Zotero 数据将存储在以下与操作系统相关的目录中:

    +

    | 系统类型 | 默认位置 |
    +|

    +]]>
    +
    + + 引文的样式 + https://zotero-chinese.com/user-guide/citation-styles.html + https://zotero-chinese.com/user-guide/citation-styles.html + 引文的样式 + 引文的样式 Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用... + Wed, 28 Jun 2023 21:17:47 GMT + Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用。

    +

    官方引文格式下载

    +
      +
    1. +

      打开 Zotero 软件,选择“编辑—设置”,在弹出窗口中选择“引用”

      +
      引文格式管理
      +
    2. +
    3. +

      若样式管理器中无符合的样式,可以通过“获取更多样式”,搜索期刊名,即可导入期刊要求的样式

      +
      获取更多引文格式
      +
      官方引文格式下载
      +
    4. +
    +

    第三方引文格式

    +

    如果上述引文格式不符合你的要求,可到中文 CSL 样式下载更多 CSL 引文格式:

    +
      +
    1. +

      首先你需要在 中文 CSL 样式 页面上找到合适的 CSL 样式,并记住其名称,然后将引文格式下载下来:

      +
      下载引文
      +
      +

      注意

      +

      注意需要在 Zotero 处于启动状态时点击,可以直接安装。若 Zotero 没有弹出窗口,则右击 - 另存为,将其保存为 .csl 文件,然后双击打开 CSL 文件。

      +
      +
      +

      提示

      +

      如果上面的网站无法打开,可以访问镜像站:https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-csl

      +
      +
    2. +
    3. +

      在弹出的窗口中点击“确定”后即可将想要的引文格式添加到 Zotero,供后续引用使用。

      +
      确认安装引文格式
      +
      安装引文格式
      +
    4. +
    +]]>
    +
    + + 直接生成参考文献表 + https://zotero-chinese.com/user-guide/create-bibliographies-within-zotero.html + https://zotero-chinese.com/user-guide/create-bibliographies-within-zotero.html + 直接生成参考文献表 + 直接生成参考文献表 除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法: 什么时候使用这种方法? 分享文献引文 需要在 PowerPoint 中添加参考文献表 只是想用文章快速生成参考文献,不想使用 Word 插件 先选择需要引用的文献 选择参考文献选择参考文献 右键,在菜单中选择 用所选条目创建参考文献表 创建参考文献... + Wed, 28 Jun 2023 21:16:47 GMT + 除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法:

    +
    +

    什么时候使用这种方法?

    +
      +
    • 分享文献引文
    • +
    • 需要在 PowerPoint 中添加参考文献表
    • +
    • 只是想用文章快速生成参考文献,不想使用 Word 插件
    • +
    +
    +
      +
    1. +

      先选择需要引用的文献

      +
      选择参考文献
      +
    2. +
    3. +

      右键,在菜单中选择 用所选条目创建参考文献表

      +
      创建参考文献表
      +
    4. +
    5. +

      接着根据自己的需要选择需要的 参考文献格式 以及 输出方式

      +
      选择引文格式及输出方式
      +
    6. +
    7. +

      如果上一步输出方式选择复制到剪贴板中,此时上述文献的参考文献表就已经复制好了,在任意位置粘贴即可看到。

      +
      +

      相关信息

      +

      注意:参考文献表的顺序 与 第一步中选择文献的顺序有关

      +
      +
      粘贴参考文献表
      +
    8. +
    +
    +

    插件推荐

    +

    Zutilo 插件(仅适配 Zotero 6,2023.10.7)提供了生成参考文献表的快捷键。
    +Zotero Actions & Tags 插件(仅适配 Zotero 7,2023.10.7)配合自定义脚本也可以添加生成参考文献表的快捷键。

    +
    +]]>
    +
    + + 群组 + https://zotero-chinese.com/user-guide/group.html + https://zotero-chinese.com/user-guide/group.html + 群组 + 群组 课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。 双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。 Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等) 不限制群... + Wed, 28 Jun 2023 21:19:17 GMT +

    +
      +
    • 课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。
    • +
    • 双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。
    • +
    • Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等)
    • +
    • 不限制群组成员数量
    • +
    • 配合 Chartero 插件可以实时查看成员某文献条目的阅读时间
    • +
    +
    +

    群组依赖 Zotero 账号

    +

    群组的条目和附件同步均能且仅能通过 Zotero 官方同步服务同步,因此在使用群组功能前,你必须登录 Zotero 账户,如果你没有登录,请阅读 同步 小节完成账号注册和登录。

    +
    +

    创建群组

    +

    有两种方式创建群组:

    +
      +
    1. +

      在 Zotero 客户端中点击如下按钮:

      +
      创建群组
      +
    2. +
    3. +

      Zotero 群组页面 点击 Create a New Group 按钮。

      +
    4. +
    +

    在打开的页面中,为群组输入一个名字,选择群组的类型,并依次进行群组设置,即可完成创建。

    +

    群组类型

    +

    群组有三类,分别是 私有群组 (Private)公开, 限定成员制群组 (Public, Closed Membership)公开, 开放成员群组 (Private) 三类,下表对比了三种群组类型的特点。

    +

    | 项 | 私有群组 | 公开,限定成员制 | 公开,开放成员 |
    +|

    +]]>
    +
    + + 安装 + https://zotero-chinese.com/user-guide/install.html + https://zotero-chinese.com/user-guide/install.html + 安装 + 安装 主程序(PC) 请在 Zotero 官网 (https://zotero.org) 下载对应自己操作系统的安装包。 image.pngimage.png 浏览器插件 Zotero Connector Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector ... + Wed, 19 Apr 2023 22:27:07 GMT + 主程序(PC) +

    请在 Zotero 官网 (https://zotero.org) 下载对应自己操作系统的安装包。

    +
    image.png
    +

    浏览器插件 Zotero Connector

    +

    Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。

    +

    请在主程序安装完成后,打开常用的浏览器,点击上图右侧的 Install Connector 按钮下载。

    +

    支持常用浏览器:Chrome(谷歌浏览器),Firefox(火狐浏览器),Edge(微软自带浏览器),Safari(macOS 自带浏览器)。

    +
    +

    提示

    +

    由于 Google Chrome Store 在国内无法正常访问,所以如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。

    +

    如果你使用谷歌浏览器且无法打开插件下载页面,可在其他镜像站下载。例如:

    + +
    +

    下载安装完毕后,在浏览器右上角可看到插件图标(或)。此时,浏览器插件已经安装成功了。

    +

    当你打开一个可抓取文献的网页时,插件图标会显示为,或等。稍后当我们设置完成,点击插件图标即可抓取文献。具体使用方法将在 将条目添加进文献库 小节中展开。

    +

    其他平台客户端

    +

    iOS

    +

    Zotero 官方目前已开发有 iOS 客户端,在 App store 搜索下载 Zotero 即可,APP 首页:Zotero for iOS

    +
    +

    注意

    +

    要使用 iOS 客户端,需要使用官方同步或 WebDAV 同步二者之一,才能顺利同步附件。其他使用 ZotFile 等链接文件的同步方式不支持,未来也不会支持。

    +
    +

    Android

    +

    Zotero 官方现已发布 Zotero for Android 测试版,然而,测试期间存在人数限制,且下载链接在 Google Play,国内下载不便,支持功能也有限,有条件的同学可以自行尝试。

    + +

    在官方版本正式发布前, Android 用户可使用以下第三方客户端:

    + +]]>
    +
    + + 在 Word 中插入参考文献 + https://zotero-chinese.com/user-guide/ms-word-plugin.html + https://zotero-chinese.com/user-guide/ms-word-plugin.html + 在 Word 中插入参考文献 + 这些是使用 Zotero for MS Office Word 插件的说明。 要在 WPS 中使用插件,请参见 。 Zotero Word 插件选项卡 Zotero Word 插件选项卡Zotero Word 插件选项卡 一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero... + Wed, 28 Jun 2023 21:17:07 GMT + 这些是使用 Zotero for MS Office Word 插件的说明。

    +

    要在 WPS 中使用插件,请参见 在 WPS 中使用 Zotero Word 插件

    +

    Zotero Word 插件选项卡

    +
    Zotero Word 插件选项卡
    +

    一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero 选项卡。如果你的 Word 里没有 Zotero 选项卡,请参见 故障排除 | 安装 Zotero 的 Word 插件

    +

    Zotero 选项卡包含以下图标:

    +

    | 名称 | 图标 | 描述 |
    +|

    +]]>
    +
    + + 组织、管理你的文献库 + https://zotero-chinese.com/user-guide/organize-library.html + https://zotero-chinese.com/user-guide/organize-library.html + 组织、管理你的文献库 + 组织、管理你的文献库 本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。 分类管理 分类的图标类似文件夹:image.png。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。 在个人账户中,所有分类都属于... + Wed, 28 Jun 2023 21:14:16 GMT + +

    本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。

    + +

    分类管理

    +

    分类的图标类似文件夹:。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。

    +

    在个人账户中,所有分类都属于。在群组中,分类属于各自的群组。

    +
    image.png
    +
    +

    注意

    +

    ❓ 分类有什么用?

    +

    分类类似于文件夹,你可以将不同主题/领域的文献放在同一个分类下。进一步的,还可以根据细分领域或者方法、时期、参考意义等,根据自己需要进一步归档到子分类。

    +
    +

    新建分类

    +

    在主界面左上角,点击,即可新建分类(collection)。

    +

    或者,在菜单栏=>文件,新建分类:

    +
    image.png
    +
    image.png
    +

    或者,右键单击现有的分类来创建子分类:

    +
    image.png
    +
    +

    💡 如何知道文献属于哪个或哪些分类?
    +用鼠标点击选中文献条目后,按住 Ctrl/Cmd,文献所属的(分类)文件夹就会黄色高亮显示。
    +💡 关于多级分类的显示问题
    +默认情况下,如果分类结构类似:

    +
      +
    • 一级分类 +
        +
      • 二级分类 +
          +
        • 三级分类
        • +
        +
      • +
      +
    • +
    +
    +

    则二、三级分类内的文献都会在一级分类中显示,尽管你可能没有手动将其添加到一级分类。

    +
    +

    可以通过菜单栏=>查看=>从子集合中显示条目来开启/关闭这一功能。关闭后,所有文献仅会在其所属的分类中显示。
    +

    +
    +

    删除分类

    +

    右键单击现有分类,选择删除即可。

    +

    条目管理

    +

    在分类之间移动条目

    +

    复制到新的分类,在主界面直接将条目拖入左侧栏的其他分类,选择的文献条目会同时存在于当前分类和拖入的新分类(类似复制 - 粘贴了一份条目的快捷方式,但两个分类中存放的其实是同一个文献条目)。

    +
    +

    💡 文献条目与分类的关系
    +文献条目在分类中以类似快捷方式的形式存在,你可以同时向多个分类添加、移动、删除其中的文献条目,而文献本身不受影响(因为添加移动删除的都是其快捷方式而非本体)。

    +
    +

    移动到新的分类并从旧的分类中移除(类似于剪切 - 粘贴,文献将不再出现在原本分类),请在拖动时按住 shift。

    +

    移除当前分类下的条目,选中后右键=>移除条目,或者按 delete 键(这不会删除条目)。

    +

    去除重复条目

    +

    在左侧栏有重复条目入口,点击后可以看到整个库中的重复条目,并可以手动确认要保留的版本,然后执行合并。

    +
    image.png
    +

    删除条目

    +

    要删除条目,选中后右键=>删除条目。条目将被移动到回收站。在清空回收站后,条目将被彻底删除。

    +

    在左侧栏打开回收站,可以选择内容并还原/彻底删除。右键点击回收站,可以清空回收站。

    +
    image.png
    +

    导出条目或 PDF

    +

    选中分类或条目,可通过右键导出为 RDF 等方便分享给其他 Zotero 用户或文献管理软件的格式;

    +

    要导出 PDF(带高亮注释),请选中一个或多个条目后,从菜单栏 文件=>导出 PDFs:

    +
    image.png
    +

    标签管理

    +

    Zotero 通过标签来管理文献。对于同一类文献,可为其添加标签,来快速筛选、查找和定位。

    +

    标签根据添加方式分为两类:自动标签与用户标签。自动标签是 Zotero 在抓取文献时提取的关键字;手动标签是用户添加的标签。下图中,橙色为自动标签,蓝色为手动标签。

    +
    image.png
    +
    +

    💡 关于自动标签
    +Zotero 会自动为新文献添加自动标签。可在菜单栏=>编辑=>设置=>常规=>使用关键词和标题自动给条目添加标签来开启/关闭这个功能。

    +
    +
    image.png
    +

    添加/删除标签

    +

    在主界面中,选中条目,在右侧栏的标签面板可以进行添加/删除。点击 Add 可新增标签,点击已有标签右侧的可以删除标签。

    +
    image.png
    +

    如果要删除所有自动标签,可在左下角标签栏的功能按钮中选择“删除此文献库中的自动标签”。

    +
    image.png
    +

    利用标签快速筛选文献

    +

    在主界面的左下角是标签栏,可以点击其中的数个标签来筛选对应的文献条目。

    +
    image.png
    +

    设置彩色标签/设置星级

    +

    Zotero 支持最多 9 种彩色标签。通过为标签赋予颜色,可以:

    +
      +
    • 具有彩色标签的条目上有彩色方块显示:
    • +
    • 如果标签内容是 emoji 表情符号,将会显示符号内容,例如 ⭐:
    • +
    • 通过快捷键(数字 1-9)快速添加标签
    • +
    +

    设置方法是:

    +
      +
    1. +

      通过前述添加标签的方法添加你需要的标签到任意一个文献(例如,⭐)

      +
    2. +
    3. +

      此时可以在主界面左下角的标签管理器中看到这个标签。右键单击,选择“指派颜色”。

      +
      添加标签
      +
    4. +
    5. +

      在弹出窗口中设置一个颜色与快捷键位置(不能重复)。

      +
      选择标签颜色及位置
      +
    6. +
    7. +

      此时在库中可以看到标签颜色或 emoji 图形。

      +
      星标或颜色
      +
    8. +
    +

    自动未读与批量增删标签

    +

    插件 Zotero Tag 提供了许多标签管理的实用功能,包括:

    +
      +
    • 自动为新条目添加未读标签
    • +
    • 自动在 PDF 关闭时移除未读标签
    • +
    • 使用快捷键对条目/PDF 注释批量增加/移除单个或多个标签
    • +
    • 在其他用户自定义的动作触发时自动为条目/PDF 注释设置单个或多个标签
    • +
    • 通过右键菜单批量增加或移除标签
    • +
    • 通过右键菜单移除不常用的标签
    • +
    +

    可在 https://github.com/windingwind/zotero-tag 下载。(如果无法访问 GitHub,可从中文镜像 https://zotero-chinese.gitee.io/zotero-plugins/#/ 下载)

    +]]>
    +
    + + 数据与文件的同步 + https://zotero-chinese.com/user-guide/sync.html + https://zotero-chinese.com/user-guide/sync.html + 数据与文件的同步 + 数据与文件的同步 我们在这里把同步分为“数据的同步”和“文件的同步”。 数据的同步指 条目字段信息、批注、笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。 文件的同步指 PDF 附件、网页附件、Word 文档、EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。 警告... + Wed, 14 Sep 2022 20:52:08 GMT + 我们在这里把同步分为“数据的同步”和“文件的同步”。

    +

    数据的同步指 条目字段信息批注笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。

    +

    文件的同步指 PDF 附件网页附件Word 文档EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。

    +
    +

    警告

    +

    无论你选择何种同步方案, 切勿将 Zotero 的 数据存储位置/Data Directory Location 自定义为任何网盘的同步文件夹中 (包括 iCloud),也切勿使用任何网盘/同步盘的备份功能直接同步/备份这一目录 !(包括但不限于直接使用坚果云的官方客户端直接同步备份这一文件夹)

    +

    这样做在某些情况下可能会导致你的 Zotero 数据库损坏,带来严重的问题!官方对于这一问题的说明见这两篇文章:

    + +
    +

    数据的同步

    +
    +

    提示

    +

    无论如何,您都需要注册一个 Zotero 的官方账户,用于同步条目信息、批注以及笔记。如果您没有注册,可 快速创建一个 Zotero 账户

    +
    +

    之后您可以在 Zotero-编辑-设置-同步-设置中 输入您的帐号密码,进行登陆。

    +
    账号登录
    +

    每个 Zotero 用户都可以获得 300 MB 的免费 Zotero 存储空间,用于存储附加文件,并可 购买更大的存储空间。如果您拥有钞能力,这是最简单的备份方法,在登陆您的 Zotero 账户并完成购买后无需其他任何设置。

    +

    | 存储空间 | 费用 (USD) |
    +| :

    +]]>
    +
    + + 阅读文献、添加笔记 + https://zotero-chinese.com/user-guide/take-notes.html + https://zotero-chinese.com/user-guide/take-notes.html + 阅读文献、添加笔记 + 阅读文献、添加笔记 Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。 注意 内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。 如果你并没有特别依赖第三... + Wed, 28 Jun 2023 21:16:16 GMT + Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。

    +
    +

    注意

    +

    内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。

    +

    如果你并没有特别依赖第三方 PDF 阅读器的某些特殊功能,建议使用 Zotero 阅读器。

    +
    +

    打开文献 PDF

    +

    在主界面中选中文献,双击或回车即可打开文献 PDF。默认以新标签页打开。

    +
    +

    💡 要以单独窗口打开文献,请在打开文献时按住 shift,或在标签页的标题上右键=>移动标签=>移动到新窗口。
    +

    +
    +

    Zotero 会自动记忆打开的文献与当前阅读位置。在下一次打开 Zotero 或在其他设备上打开同一个文献时,将会保持当前阅读位置。

    +

    阅读器功能介绍

    +

    界面区域

    +
      +
    • 左侧是预览栏,可预览缩../目录;
    • +
    • 右侧是信息/笔记栏,可查看当前文献信息或编辑笔记;
    • +
    • 上方横条是工具栏,可在此缩放、移动页面,或使用高亮注释(alt+1),文字注释(alt+2),框选注释(alt+3),设置注释颜色(alt+4 切换);
    • +
    • 中央是阅读区域。
    • +
    +
    image.png
    +

    选中弹窗

    +

    在阅读区域选中文本后,也可以通过弹窗来快速高亮内容(翻译按钮由 PDF Translate 插件提供,详见后续章节):

    +
    image.png
    +

    如果此时右侧打开了笔记,则还可以将选中内容一键添加到笔记:

    +
    image.png
    +

    在阅读器中创建笔记

    +

    右侧笔记栏中,点击 + 按钮即可创建笔记。条目笔记即属于当前文献条目的笔记;通过注释添加笔记即将文献中的所有注释(高亮等)添加到一个新的笔记。

    +
    image
    +

    管理注释

    +

    左侧预览栏中,可预览注释内容。每个注释分为三部分:内容,评论与标签。

    +
    image.png
    +

    内容即注释本身,例如高亮文本、框选的图片等。评论区在内容区下方,可以写文字。标签区在最下方,可以为注释添加标签。

    +
    +

    注意

    +

    目前,注释的标签不支持搜索,也不支持从主界面的标签管理器中筛选。

    +
    +

    注释支持拖放,可以复制或拖到笔记或外部软件。

    +

    在不同的设备上,只要正确设置了同步,注释内容也将一并同步过去。

    +

    笔记功能介绍

    +

    关于笔记的创建及相关功能,详见 https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgb(由 Better Notes 插件提供的文档)。

    +

    此处仅作简单介绍。

    +
    +

    可了解 Better Notes 插件,更方便地在 Zotero 中做笔记,支持双链、支持模板、支持多种导出方式。

    +
    +

    笔记分为两种:

    +
      +
    • 独立笔记。没有父条目,在主界面库视图中,不需要展开即可看到。
    • +
    • 条目笔记。具有父条目,一般在某条文献下,展开可看到。
    • +
    +

    创建笔记

    +

    创建笔记有多种方式:

    +
      +
    1. +

      在 Zotero 主界面,中央上方工具栏选择新建笔记=>新建独立笔记/添加子笔记;

      +
      image
      +
    2. +
    3. +

      在主界面,选中条目,从右键菜单创建条目子笔记;

      +
      image
      +
    4. +
    5. +

      在 PDF 阅读器中,右侧笔记栏右上角的 '+' 按钮可创建条目子笔记;

      +
      image
      +
    6. +
    7. +

      (需要 Better Notes 插件)在 PDF 阅读器中,左侧注释栏的每一个注释右上角的黄色花形按钮,参见 4.3 从注释创建快速笔记/Quick Note from Annotation

      +
      image
      +
    8. +
    +

    导出笔记

    +

    Zotero 提供了一项笔记导出为 markdown 的功能,但图片及许多格式不会被处理。

    +

    建议使用 Better Notes 提供的导出功能,可导出单条或多条笔记为 markdown 文件,或通过剪贴板复制到富文本编辑器(如 OneNote,Word),或导出为 PDF,并且支持自动同步更改(Zotero=>外部导出目录)。关于导出,详见 4.8 笔记导出/Export;关于同步,详见 4.9 笔记同步/Sycn

    +
    image
    +

    可通过以下三种方式导出笔记:

    +
      +
    1. +

      在主界面,选中一个或多个笔记条目,在右键菜单中通过 " 导出笔记及条目子笔记 " 或 " 导出多个笔记 ";

      +
      image
      +
    2. +
    3. +

      在笔记编辑器中,右上角工具栏导出按钮;

      +
      image
      +
    4. +
    5. +

      (不推荐)在主界面中,通过右键菜单使用 Zotero 自带的笔记导出功能。

      +
    6. +
    +]]>
    +
    + + 快速开始 + https://zotero-chinese.com/user-guide/quick-start.html + https://zotero-chinese.com/user-guide/quick-start.html + 快速开始 + 快速开始 提示 本节是 quick start guide [Zotero Documentation] 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。 基础知识 如何安装 Zotero? 阅读 如何打开 Zotero? imageimage 从操作系统的任务栏/程序面板打开 Zotero。 Zotero 是做什么的? imageimage ... + Wed, 28 Jun 2023 20:27:28 GMT + +

    提示

    +

    本节是 quick start guide [Zotero Documentation] 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。

    + +

    基础知识

    +

    如何安装 Zotero?

    +

    阅读 安装 Zotero

    +

    如何打开 Zotero?

    +
    image
    +

    从操作系统的任务栏/程序面板打开 Zotero。

    +

    Zotero 是做什么的?

    +
    image
    +

    Zotero 是一个文献管理软件。它旨在存储、管理和引用参考书目,例如书籍和文章。在 Zotero 中,这些引用中的每一个都构成一个条目。更广泛地说,Zotero 是收集和组织研究信息和资源的强大工具。

    +

    有何种类型的条目?

    +
    image
    +

    每个条目都包含不同的元数据,具体取决于它的类型。条目可以是从书籍、文章和报告到网页、艺术品、电影、信件、手稿、录音、账单、案例或法规等的所有内容。

    +

    关于条目信息

    +
    image
    +

    条目出现在 Zotero 的中间区域。当前选中条目的元数据显示在右侧窗格,包括标题、创作者、出版商、日期、页码以及引用该条目所需的任何其他数据。

    +

    管理文献

    +

    文献分类

    +
    image
    +

    左侧窗格的 我的文库 中包含个人账户下的的所有条目。右键单击 我的文库 或单击 新建分类 按钮(在左窗格上方)创建一个新分类,即一个用于收纳文献条目的文件夹,其中可以放置特定主题相关的条目。将分类想象为音乐播放器中的播放列表:分类中的条目是文库中条目的一个“链接”。同一条目可以同时属于多个分类。

    +

    标签

    +
    image
    +

    可以为条目分配 标签。标签由用户命名。可以根据需要为条目分配任意数量的标签。使用左侧窗格底部的标签选择器或通过右侧窗格中任何条目的标签选项卡添加或删除标签。最多可以为 6 个标签分配颜色。彩色标签在条目列表中显示,并且可以使用键盘上的数字键快速添加或删除。

    +

    搜索

    +
    image
    +

    快速搜索 显示元数据、标签或全文内容与搜索词匹配的条目。单击搜索框左侧的放大镜图标将打开“高级搜索”窗口,允许进行更复杂或更具体的搜索。

    +

    保存的搜索

    +
    image
    +

    高级搜索 可以保存在左窗格中。看起来类似于上面所说的分类,但其中的条目会根据搜索条件自动更新。

    +

    收集文献

    +

    附件

    +
    image
    +

    每个条目可以附有笔记、文件和链接。这些 附件 显示在其父项下方。通过单击其父项旁边的箭头,可以显示或隐藏附件。要全部显示或隐藏,快捷键为 + 与 -。

    +

    笔记

    +
    image
    +

    富文本 笔记 可以附加到任何条目。可以在右侧窗格或独立窗口中进行编辑。单击工具栏中的新建笔记按钮 (以创建笔记。

    +

    文件

    +
    image
    +

    任何类型的文件都可以 附加 到条目上。使用 Zotero 工具栏中的添加附件(回形针)按钮,通过右键单击现有条目或拖放来附加文件。或者,文件不需要附加到现有条目。它们可以直接添加到您的库中。当您使用浏览器中 的 Zotero 连接器导入条目时,也可以自动下载文件。

    +

    链接和快照

    +
    image
    +

    网页 可以作为链接或快照附加到任何条目。Zotero 可以保存网页的快照,快照是网页的本地存储副本,其状态与保存时相同。无需互联网连接即可使用快照。

    +

    抓取条目

    +
    image
    +

    使用适用于 Chrome、Firefox 或 Safari 的 Zotero 连接器,可以轻松地从 Internet 上的可用信息 创建新条目。通过单击按钮,Zotero 可以自动创建适当类型的条目并填充元数据字段,下载全文 PDF(如果可用),并附加有用的链接(例如,到 PubMed 条目)或补充数据文件。

    +

    单个或多个抓取

    +
    image
    +

    如果 保存图标 是书籍、文章、图像或其他单个条目,单击它将将该条目添加到 Zotero 中的当前收藏。如果保存图标是文件夹,则网页包含多个条目。单击它将打开一个对话框,从中可以选择条目并将其保存到 Zotero。

    +

    转换器 Translator(旧称翻译器)

    +
    image
    +

    Zotero 使用称为 转换器 的代码来识别网页上的信息。如果您使用的网站没有支持,请随时在 Zotero 论坛 上请求。

    +

    保存网页

    +
    image
    +

    如果 Zotero 连接器无法识别页面上的数据,您仍然可以单击浏览器工具栏中的保存按钮将页面保存为带有附加快照的 网页条目。 虽然这将保存基本元数据(标题、URL、访问日期),但您可能需要从页面手动填写其他元数据。

    +

    通过标识符添加条目

    +
    image
    +

    Zotero 可以使用 ISBN 号、数字对象标识符 (DOI) 或 PubMed ID自动添加条目。 这可以通过单击 Zotero 工具栏中的按标识符添加条目按钮 (),输入标识符,然后单击确定来完成。您甚至可以一次粘贴或输入(按 Shift+Enter 以获得更大的框)此类标识符的列表。

    +

    订阅

    +
    image
    +

    从您最喜欢的期刊或网站订阅 RSS 提要,以了解最新研究。转到文章网页或单击按钮将条目保存到您的图书馆。

    +

    手动添加条目

    +
    image
    +

    可以通过单击 Zotero 工具栏中的新条目绿色按钮 () 并选择适当的条目类型来 手动添加条目。 然后可以在右侧窗格中手动添加元数据。虽然您通常不应该手动添加条目,但它对于添加在线不可用的文档很有用。

    +

    引用

    +

    引用条目

    +
    image
    +

    Zotero 使用引文样式语言 (CSL) 来正确格式化许多不同书目 样式 的引文。Zotero 支持所有主要风格(Chicago, MLA, APA, Vancouver 等)以及超过 8,000 种期刊和出版商的特定风格。

    +

    Word 集成

    +
    image
    +

    Zotero 的 Word、LibreOffice 和 Google Docs 插件允许用户直接从他们的文字处理软件 插入引文。 这使得引用多个页面或来源或以其他方式自定义引用变得轻而易举。支持文本内引用、脚注和尾注。借助 社区开发的插件,Zotero 还可以与 LaTeX、Scrivener 和许多其他写作程序一起使用。

    +

    自动参考书目

    +
    image
    +

    使用 文字处理器插件 可以从引用的条目自动生成参考书目,并通过单击按钮切换整个文档的引用样式。

    +

    手动引文

    +
    image
    +

    Zotero 还可以将 引文和参考书目 插入到任何文本字段或程序中。只需拖放条目,使用快速复制将引文发送到剪贴板,或将它们直接导出到文件。

    +

    合作

    +

    同步

    +
    image
    +

    通过 Zotero 同步 在多台计算机上使用 Zotero 。图书馆条目和笔记通过 Zotero 服务器同步(无限存储),而附件同步可以使用 Zotero 服务器或您自己的 WebDAV 服务来同步文件,例如 PDF、图像或音频/视频。

    +

    Zotero Servers

    +
    image
    +

    同步到 Zotero 服务器的条目可以通过您的 Zotero.org 帐户在线访问。与他人共享您的图书馆或从选定的条目创建自定义简历。

    +

    使用 My Publications 为读者、公众和其他研究人员在 Zotero.org 上随时提供您的研究副本。

    +

    团队

    +
    image
    +

    Zotero 用户可以创建协作或 。共享组库使在线和通过 Zotero 客户端协作管理研究资源和材料成为可能。Zotero.org 可以成为您所有条目组的研究、交流和组织的中心。

    +]]>
    +
    + + 常见问题 + https://zotero-chinese.com/user-guide/faqs/ + https://zotero-chinese.com/user-guide/faqs/ + 常见问题 + 常见问题 + Wed, 28 Jun 2023 21:38:21 GMT + + + + 其他 + https://zotero-chinese.com/user-guide/misc/ + https://zotero-chinese.com/user-guide/misc/ + 其他 + Wed, 28 Jun 2023 21:45:15 GMT + + + 插件 + https://zotero-chinese.com/user-guide/plugins/ + https://zotero-chinese.com/user-guide/plugins/ + 插件 + 插件 + Wed, 28 Jun 2023 21:38:06 GMT + + + + CSL 介绍 + https://zotero-chinese.com/csl-dev-guide/primer.html + https://zotero-chinese.com/csl-dev-guide/primer.html + CSL 介绍 + CSL 介绍 前言 本节是对 Citation Style Language(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 。 什么是 CSL 如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研... + Mon, 01 Aug 2022 16:23:04 GMT + 前言 +

    本节是对 Citation Style Language(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 CSL 规范

    +

    什么是 CSL

    +

    如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研究联系到一起。但是,手动设置引注格式和参考文献表非常耗时,尤其是当你面对的期刊都有他们自己的引用格式的时候。

    +

    好在参考文献管理软件可以解决这样的问题。像 Zotero、Mendeley、Papers 等软件不仅能帮助你管理研究资料,而且可以自动生成引注和参考文献表。但要想设置特定的引用格式,这些程序需要使用一种可被计算机理解的语言来描述各种引用格式,也许你已经猜到,这种语言就是 Citation Style Language(CSL)。

    +

    引用格式

    +

    世界上有成百上千种不同的引用格式。

    +
    +

    (GB/T 7714-2015)

    +

    在中国,最常见的引用格式是国家标准《信息与文献 参考文献著录规则》,最新的标准号是 (GB/T 7714-2015)

    +
    +

    可幸的是,绝大多数引用格式都属于几个基本类别,CSL 将引用格式分为以下类型:

    +

    In-text 风格

    +

    引用格式可以分为两个主要的类型。第一种类型就是 in-text 风格,在这种风格中,一个引注直接指向参考文献表中的一个或者多个条目。CSL 继续将这种风格细分为 author-dateauthornumericlabel 风格。

    +

    每个引注都指向一个或者多个参考文献条目。在 CSL 中,每个独立的指向关系称为一个引用。例如,引注 (Doe et al. 2002, Smith 1997) 包含两个引用:一个是 Doe et al. 在 2002 年发表的文献,另一个是 Smith 于 1997 年发表的文献。在 CSL 的语境中,参考文献表中的条目有时也称为参考文献。

    +

    author-date 和 author 风格

    +

    author-date 风格的引用会显示作者名字和发表的日期,例如:(Van der Klei et al. 1991; Zwart et al. 1983)。而 author 风格的引用只显示作者名字,例如:(Gidijala et al.)。参考文献条目一般使用字母表顺序对作者进行排序。

    +
    +

    著者-出版年制

    +

    国标中的“著者-出版年制”就属于 author-date 风格。

    +
    +

    应该注意的是,即使这些风格中的大多数与哈佛大学并没有联系,许多风格指南仍使用了令人疑惑的术语“Harvard”来指代”author-date 格式。而且,并不存在一个所谓的官方 Harvard 格式。

    +
    +

    参考文献条目实例

    +

    Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    +

    van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    +

    Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    +
    +

    numeric 风格

    +

    numeric 风格的引用由数字组成,比如 [1,2][3]。参考文献条目一般按照作者首字母或者首次引用的次序来进行排序。

    +
    +

    顺序编码制

    +

    国标中的“顺序编码制”就属于 numeric 风格。

    +
    +
    +

    参考文献条目实例

    +
      +
    1. +

      Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

      +
    2. +
    3. +

      Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

      +
    4. +
    5. +

      van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

      +
    6. +
    +
    +

    numeric 复合风格

    +

    复合风格是 numeric 风格的变体。这种风格在化学领域很流行,参考文献条目可能会包含多个参考文献。一旦某个引注定义了一个这样的参考文献条目(如 [2]),就可以单独引用条目中的项目(如 [2b])。

    +
    +

    注意

    +

    CSL 尚未支持这种格式。

    +
    +
    +

    参考文献条目实例

    +
      +
    1. +

      Gidijala L, et al. (2008) BMC Biotechnol 8: 29.

      +
    2. +
    3. +

      a) Zwart KB, et al. (1983) Antonie van Leeuwenhoek 49: 369-385, b) van der Klei IJ, et al. (1991) Arch Microbiol 156: 15-23.

      +
    4. +
    +
    +

    Label 风格

    +

    Label 风格的引注由简短的构成,例如 [GBKv2008][ZwVH1983; vaHV1991]。这些键也出现在参考文献条目中。因为目前不支持(特定风格的)自定义键格式,CSL 对这种格式支持有限。

    +
    +

    键(key)

    +

    “键”在计算机领域具有丰富的含义,在这里,它是指一串代表被引文献的字符。

    +
    +
    +

    参考文献条目实例

    +

    [GBKv2008] Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.

    +

    [vaHV1991] van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.

    +

    [ZwVH1983] Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.

    +
    +

    Note 风格

    +

    引用格式的第二类为 note 风格。这种风格中,引用文献时会在句子中插入一个标记,这个标记可以是数字或者符号,例如 [*][†]。每个标记都指向脚注或者尾注。CSL 不限制采用哪些数字格式或者符号作为标记,这些应该留交文字处理软件来完成。与前面的 in-text 风格的引注不同,尾注或脚注通常包含辨识引用文献所需的所有信息。有些 note 风格还包含一个参考文献表以显示所有被引文献的概貌,并对文献作更详细的描述。

    +
    +

    字处理软件

    +

    字处理软件,即用于将文字格式化和排版的办公软件,如 Microsoft Word,国内常见的 WPS 就是“文字处理软件(Word Process Software)”的英文缩写。

    +
    +
    +

    参考文献条目实例

    +

    [*] Voyage to St. Kilda’ (3rd edit. 1753), p. 37.

    +

    [†] Sir J. E. Tennent, ‘Ceylon,’ vol. ii. 1859, p. 107.

    +
    +

    CSL 生态

    +

    要明白 CSL 是怎么运作的,首先来看看 CSL 生态系统的各个部分。

    +
    csl-infrastructure
    csl-infrastructure
    +
    +

    图注

    +

    “Style”指的是 CSL 样式,“Item Metadata”指的是每篇参考文献的作者,题目等信息,“Locale Files”是为实现与语言无关(指英语、汉语等)的格式的本地化文件,“Citation Details”指的是影响引注信息或参考文献表表现的细节,比如顺序、位置等。

    +
    +

    独立样式和从属样式

    +

    CSL 世界中的一切都是围绕样式展开的,但是并不是所有的样式都是相似的。主要包括两种样式:独立样式(independent styles)和从属样(dependent styles)。

    +

    独立样式有 2 个职责,首先,需要先定义一种引用格式。具体格式是什么样的,是 author-date 风格还是 note 风格? 引用是按字母排序还是按日期排序?参考文献条目中是不是包含 DOI?使用什么标点符号以及大小写?文献发表年限在文献标题之前还是之后?等等。其次,CSL 样式必须描述它本身,我们称这个自我描述的信息为样式元数据。元数据中可以包括该 CSL 样式对应的期刊标题,以及该期刊的网站,该 CSL 样式的创建者等。

    +

    从属样式则仅包括样式元数据。从属样式仅需引用一个独立样式 (其“父样式”),且应用父样式的引用格式,而无需提供对引用格式的定义。

    +

    当多个 CSL 样式共享相同的引用格式时,从属格式非常有用。以一个出版社旗下的不同期刊为例,如果限制只能使用独立样式,则虽然他们的引用格式都是相同的,但每个期刊的 CSL 样式都要包含对引用格式的完整定义。这会产生大量难以维护的 CSL 样式。如果出版社对它的引用格式作了一点小改动,我们将不得不更新每一个独立样式。

    +

    从属样式正是用来解决这些问题的。例如,《Nature》、《Nature Biotechnology》和 《Nature Chemistry》期刊都使用同样的引用格式。那么,只需为《Nature Biotechnology》和《Nature Chemistry》都创建指向《Nature》的从属样式即可。这样一来,如果 Nature 出版集团想修改《Nature》及其关联期刊的引用格式,只需更改《Nature》 CSL 样式中的引用格式,而无需触及其从属样式。

    +

    本地化文件

    +

    事实上,大多数独立格式并不是完全独立的。

    +

    以下面的参考文献为例:

    +
    +

    Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (1999, September 28). Method and system for placing a purchase order via a communications network. Retrieved from https://www.google.com/patents/US5960411

    +
    +

    你可以在独立样式中将各种特定语言的信息强行编码到样式中来描述这个引用格式。例如,在最后的链接前加上 Retrieved from 这段文本,或者采用 YYYY, Month DD 作为日期的格式。但是这样的样式只能在美式英语中使用,如果使你想要这个引用格式的德语版,就必须修改样式中所有对应的翻译和日期格式。

    +

    幸运的是,独立样式可以依据 CSL locale file(以下也翻译为“本地化文件”)来实现通用术语的翻译以及日期格式和语法的转换。例如:我们可以重写 CSL 样式以便使用 retrievedfrom 的 CSL 术语,并使用本地化的日期格式。如果我们将 CSL 样式的区域设置为美式英语,该样式将从美式英语的本地化文件检索术语的译文和本地化的日期格式,并生成上述引用。但如果将样式区域从英语切换至德语,就会使用德语对应的本地化文件,生成的引用如下:

    +
    +

    Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (28. September 1999). Method and system for placing a purchase order via a communications network. Abgerufen von https://www.google.com/patents/US5960411

    +
    +

    因此,通过本地化文件,可以编写与语言无关的 CSL 样式。正如上面所展示的那样,这样的样式可以在不同的语言中轻松切换。但是语言是很复杂的,对于那些已经有本地化文件的语言,CSL 的自动本地化并不能支持所有语言的特性。不过,如果你要自己修改一个 CSL 样式使其满足你所选的语言,语言无关的样式仍然是有意义的。

    +

    本地化文件还带来一个好处,我们只需要为每种语言定义一次通用的翻译、日期格式和语法。这样可以保证样式紧凑,并使本地化文件更易于维护。由于给定语言的引用格式并不总是采用某种翻译和日期格式,CSL 样式也可以选择性的重写任何在本地化文件中定义过的数据。

    +

    条目元数据

    +

    接下来就是你所要引用的条目在参考文献表中的具体内容:条目元数据。

    +

    例如,一篇期刊文章的参考文献条目可能会显示作者的名字、发表的年份、文章标题、期刊名称、卷和期、出现的页码范围以及 DOI,所有这些信息都有助于读者识别和查找这篇文章。

    +

    参考文献管理软件使创建条目的文库变得简单。虽然许多参考文献管理软件都有它们自己存储条目元数据的方式,但大多数都支持例如 BixTex 和 RIS 这样通用的参考文献数据交换格式。citeproc-js CSL 处理器引入了一种基于 JSON 的格式,这种格式以 citeproc-js 可以理解的方式来存储元数据。一些其他的 CSL 处理器也已经开始采用这种 CSL JSON 格式(又名 citeproc JSON)。

    +

    引用细节

    +

    对于一种给定的引用格式,引注和参考文献表的展现方式不仅取决于被引用条目的元数据,还取决于这些条目被引用处的上下文。我们将这类特定于上下文的信息称为引用细节

    +

    例如,条目的引用顺序会影响他们在参考文献表中的位置。在 Note 风格中,之前已被引用的条目在被继续引用时会写为更紧凑的形式。另一个例子是定位词,其引导读者到被引工作的特定位置,比方说章节中某个参数被提出的页码,例如 (Doe 2000, pp.43-44)

    +

    CSL 处理器

    +

    有了 CSL 样式、locale file、元数据和引用细节,我们现在需要一个软件来解析这些信息,并以正确的格式生成引注和参考文献表条目,那就是 CSL 处理器。

    +

    大多数的参考文献管理软件使用的是像 citeproc-js 这样免费开源的 CSL 处理器。

    +

    理解 CSL 样式

    +

    到现在为止,我们已经了解了什么是 CSL、怎么使用它、以及它是如何运作的。接下来我们将深入到 CSL 样式文件内部,分析它的 XML 代码。

    +

    《XML 基础》一章中简单介绍了 XML,看完后可以读懂并编辑简单的 XML 文件。如果想深入了解 XML,可以在网上查找 XML 教程。

    +

    从属样式解析

    +

    正如前文所述,从属样式比相对的独立样式更紧凑,因为它们并未真正地定义一个引用格式。此外,从属样式还非常常见,并且它们的样式元数据和独立样式中的相似,因此对学习 CSL 而言是一个好的出发点。我们将进一步逐行观察下面这个 CSL 从属样式文件:

    +
    <?xml version="1.0" encoding="utf-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
    +  <!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/asm -->
    +  <info>
    +    <title>Applied and Environmental Microbiology</title>
    +    <id>http://www.zotero.org/styles/applied-and-environmental-microbiology</id>
    +    <link href="http://www.zotero.org/styles/applied-and-environmental-microbiology" rel="self"/>
    +    <link href="http://www.zotero.org/styles/american-society-for-microbiology" rel="independent-parent"/>
    +    <link href="http://aem.asm.org/" rel="documentation"/>
    +    <category citation-format="numeric"/>
    +    <category field="biology"/>
    +    <issn>0099-2240</issn>
    +    <eissn>1098-5336</eissn>
    +    <updated>2014-04-30T03:45:36+00:00</updated>
    +    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +  </info>
    +</style>
    +
    <?xml version="1.0" encoding="utf-8"?>
    +

    XML 格式声明。

    +
    <style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-US">
    +    ...
    +</style>
    +

    cs:style 根元素的起始标签和结束标签。xmlns 属性指定 style 中的所有元素都是 CSL 的一部分,而 version 则表明了 CSL 版本的兼容性。defaults-locale 告诉样式才有特定的语言来生成引注和参考文献表(美式英语)。

    +
    +

    提示

    +

    xmlns 是 XML name space 的缩写,“name space”一般译为命名空间,即一些名称的集合。XML 标记语言允许创建者自定义各种标签和属性的名称,同一个名称在不同场合可能有不同的含义,因此有必要向读者交代这些名称的定义。虽然可以通过在 XML 中书写注释来阐述这些名称,但为了方便起见,一般在一个网页给出这一系列名称的定义和说明,并通过 xmlns 属性链接到 XML 文件中,基于 XML 的 CSL Style 也不例外。

    +

    本文用 cs:style 特指 CSL 命名空间中的 style 元素(因为我们可能会引入其他命名空间),实际书写代码时并不需要写成 <cs:style>...</cs:style>

    +
    +
     <!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/asm -->
    +

    大多数从属格式都是电子表格自动生成的。这个 XML 注释明确地指出这个样式已经被生成,并包含了一个指向电子表格的链接。

    +
    <info>
    +  ...
    +</info>
    +

    cs:info 小节用于存储样式的大部分元数据。

    +
    <title>Applied and Environmental Microbiology</title>
    +

    样式的标题(通常也是该样式所适用的期刊的名称)。

    +
    <id>http://www.zotero.org/styles/applied-and-environmental-microbiology</id>
    +

    样式的 ID,是文献管理软件用来区分不同样式的标志。

    +
    <link href="http://www.zotero.org/styles/applied-and-environmental-microbiology" rel="self"/>
    +

    样式自身的链接。该链接指向了网上的副本。简便起见,对于我们代码仓库中的样式,我们采用相同的 URL 作为样式 ID 和自身链接。

    +
    <link href="http://www.zotero.org/styles/american-society-for-microbiology" rel="independent-parent"/>
    +

    从属样式需要链接到一个独立的父样式,父样式为的引用格式将会应用到这个从属样式中。此处,我们使用 American Society for Microbiology 的样式作为父样式。

    +
    <link href="http://aem.asm.org/" rel="documentation"/>
    +

    如果每一个样式的意图都是清晰的,那维护起一大堆 CSL 样式将更方便。因此我们要求我们的代码仓库中的样式都必须至少包含一个“说明文档”的链接。在本例中,该链接指向期刊主页。

    +
    <category citation-format="numeric"/>
    +<category field="biology"/>
    +

    为了便于对我们的样式进行分类,我们用 cs:category 元素的 citation-format 属性中指定引用格式。出于同样的目的,我们使用 field 属性为每个样式文件分配一个或多个研究领域。

    +
    <issn>0099-2240</issn>
    +<eissn>1098-5336</eissn>
    +

    当为某个期刊创建样式时,可以在 cs:issn 元素和 cs:eissn 元素中保存其印刷品的 ISSN(国际标准连续出版物号)和电子版的 ESSIN(电子国际标准连续出版物号)。

    +
    <updated>2014-04-30T03:45:36+00:00</updated>
    +

    updated 的内容是一个时间戳,指明样式最后一次更新的时间。

    +
    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +

    本文最后一个介绍,但不一定是样式的 cs:info 中的最后一个元素,表示这个样式在哪一个版权协议下发布。

    +

    独立样式解析

    +

    最后是一个真正的独立样式,它确切地定义了引用格式(虽然并不是一个实用的样式)。我们代码仓库中的大多数独立样式都比下面这个简化过的例子还要大很多。但我们下面这个 author-date 样式仍然是一个有效的样式,并且具有与其他独立样式相同的整体结构。

    +
    <?xml version="1.0" encoding="utf-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">
    +  <info>
    +    <title>Example Style</title>
    +    <id>http://www.zotero.org/styles/example</id>
    +    <link href="http://www.zotero.org/styles/example" rel="self"/>
    +    <link href="http://www.zotero.org/styles/apa" rel="template"/>
    +    <link href="http://www.example.com/style-guide/" rel="documentation"/>
    +    <author>
    +      <name>John Doe</name>
    +      <email>JohnDoe@example.com</email>
    +    </author>
    +    <contributor>
    +      <name>Jane Doe</name>
    +    </contributor>
    +    <contributor>
    +      <name>Bill Johnson</name>
    +    </contributor>
    +    <category citation-format="author-date"/>
    +    <category field="science">
    +    <updated>2014-10-15T18:17:09+00:00</updated>
    +    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +  </info>
    +  <locale xml:lang="en">
    +    <terms>
    +      <term name="no date">without date</term>
    +    </terms>
    +  </locale>
    +  <macro name="author">
    +    <names variable="author">
    +      <name initialize-with="."/>
    +    </names>
    +  </macro>
    +  <macro name="issued-year">
    +    <choose>
    +      <if variable="issued">
    +        <date variable="issued">
    +          <date-part name="year"/>
    +        </date>
    +      </if>
    +      <else>
    +        <text term="no date"/>
    +      </else>
    +    </choose>
    +  </macro>
    +  <citation et-al-min="3" et-al-use-first="1">
    +    <sort>
    +      <key macro="author"/>
    +      <key macro="issued-year"/>
    +    </sort>
    +    <layout prefix="(" suffix=")" delimiter="; ">
    +      <group delimiter=", ">
    +        <text macro="author"/>
    +        <text macro="issued-year"/>
    +      </group>
    +    </layout>
    +  </citation>
    +  <bibliography>
    +    <sort>
    +      <key macro="author"/>
    +      <key macro="issued-year"/>
    +      <key variable="title"/>
    +    </sort>
    +    <layout suffix="." delimiter=", ">
    +      <group delimiter=". ">
    +        <text macro="author"/>
    +        <text macro="issued-year"/>
    +        <text variable="title"/>
    +        <text variable="container-title"/>
    +      </group>
    +      <group>
    +        <text variable="volume"/>
    +        <text variable="issue" prefix="(" suffix=")"/>
    +      </group>
    +      <text variable="page"/>
    +    </layout>
    +  </bibliography>
    +</style>
    +

    样式结构

    +

    要理解上面的样式,首先看一下根元素 cs:style 的子元素。

    +
    <?xml version="1.0" encoding="utf-8"?>
    +<style>
    +  <info/>
    +  <locale/>
    +  <macro/>
    +  <macro/>
    +  <citation/>
    +  <bibliography/>
    +</style>
    +

    相比于只有 cs:info 一个子元素的从属样式,可以看到这里还有其他几个元素。除了 cs:info 以外,还有 cs:localecs:macrocs:citationcs:bibliography

    +

    这些元素的作用是什么呢?

    +
      +
    • 必需的 cs:info 元素在在独立样式中的作用和其在从属格式中的相同,都是用来保存样式元数据。
    • +
    • 可选的 cs:locale 元素可以用来重写本地化文件中定义过的数据。
    • +
    • 可选的 cs:macro 用来存储 CSL 代码,这些代码可能应用在 cs:citationcs:bibliography 或者其他 cs:macro 元素中。
    • +
    • 必需的 cs:citation 元素定义引注的格式。
    • +
    • 可选的 cs:bibliography 元素定义参考文献表的格式。
    • +
    +
    +

    重写

    +

    "重写"(override)原本是 OOP(一种编程思想)中的概念,指的是重新定义一个已有的方法(即函数)。本文原文写为“overwrite”,即重新定义本地化文件中已有的任何翻译、日期格式,严格来说与译为“重写”的 override 并不是同一个意思。

    +
    +

    有了以上简单的认识,下面从 cs:style 根元素开始分析。

    +

    cs:style 根元素

    +
    <style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">
    +  ...
    +</style>
    +

    我们已经在从属样式的 cs:style 元素中见到过 xmlnsversion 属性,这个 class 是新出现的属性。CSL 处理器通过 class 属性区分本样式是 in-text 风格还是 note 风格。

    +

    info 元素

    +

    独立样式的元数据通常比从属样式的元数据更加全面:

    +
    <info>
    +  <title>Example Style</title>
    +  <id>http://www.zotero.org/styles/example</id>
    +  <link href="http://www.zotero.org/styles/example" rel="self"/>
    +  <link href="http://www.zotero.org/styles/apa" rel="template"/>
    +  <link href="http://www.example.com/style-guide/" rel="documentation"/>
    +  <author>
    +    <name>John Doe</name>
    +    <email>JohnDoe@example.com</email>
    +  </author>
    +  <contributor>
    +    <name>Jane Doe</name>
    +  </contributor>
    +  <contributor>
    +    <name>Bill Johnson</name>
    +  </contributor>
    +  <category citation-format="author-date"/>
    +  <category field="science">
    +  <updated>2014-10-15T18:17:09+00:00</updated>
    +  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
    +</info>
    +

    title、样式 IDself 链接、category、时间戳和 license,其作用与先前介绍的一致,但还是有些许差别。首先,独立样式不依赖父样式。相反,我们通常是提供一个 template (模板)链接,以表明当前的独立样式是基于哪一个样式来创建的(CSL 样式很少从头写起,因为改写已有的样式往往比较快速)。本例中,所链接的模板是 APA 样式。此外,我们还倾向于放一个或多个 documentation 链接,其指向有关引用格式的在线描述。

    +

    为向 CSL 格式的创建者致以谢意,也可以把他们的名字和联系方式添加到样式文件中。在当前的例子中,有一个作者和两个贡献者。通常来说,作者完成了创建样式的大部分工作,而贡献者只对此作了一些小的改进。

    +

    cs:citation 元素和 cs:macro 元素

    +

    接下来分析 cs:macroscs:citation 元素。cs:citation 元素旨在描述引注的格式(对于 note 风格而言,就是脚注或者尾注的格式)。

    +
    <macro name="author">
    +  <names variable="author">
    +    <name initialize-with="."/>
    +  </names>
    +</macro>
    +<macro name="issued-year">
    +  <choose>
    +    <if variable="issued">
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </if>
    +    <else>
    +      <text term="no date"/>
    +    </else>
    +  </choose>
    +</macro>
    +<citation et-al-min="3" et-al-use-first="1">
    +  <sort>
    +    <key macro="author"/>
    +    <key macro="issued-year"/>
    +  </sort>
    +  <layout prefix="(" suffix=")" delimiter="; ">
    +    <group delimiter=", ">
    +      <text macro="author"/>
    +      <text macro="issued-year"/>
    +    </group>
    +  </layout>
    +</citation>
    +

    上面的代码生成类似 (A.C. Smith et al., 2002; W. Wallace, J. Snow, 1999) 这样的引注。要理解这种引注格式在 CSL 中是如何编码的,我们首先着眼于 cs:citation 元素中的 cs:layout 元素。cs:layout 元素中的 prefixsuffix 属性定义了引注周围的圆括号,而 delimiter 属性的值(;)将相邻的引用分开。每个单独的引用都是由 cs:layout 的内容来决定的,引用由 authorissue-year 宏的输出组成,并以cs:group 元素上的 delimiter 属性(,)分隔。

    +
    +

    宏(macro)

    +

    在英语中,macro 一词的本义是“巨大的、大量的”,与之对应的是 micro “微小的”。在计算机领域,macro 来源于 macro-instruction(宏命令),与之对应的是 micro-instruction(微命令)。micro-instruction 可以理解为基本的、小段的、零碎的代码,而 macro-instruction 就是一系列需要反复使用的小段代码的总称——一大段代码。对于支持 macro 的编程语言,当某段代码需要反复使用时,只需将这段代码定义为 macro,随后的代码中就可以用这个 macro 的名称来代表这一大段代码。之后,这些 macro 会被计算机替换为它所代表的小段代码,这一过程称为宏展开

    +

    在 CSL 中,我们使用 cs:macro 元素来定义 macro,name 属性的值就是这个 macro 的名字,这个名字一般由短横杠连接的小写单词(因为空格用于分隔属性或属性值)组成,cs:macro 的子元素就是它所代表的代码。在这里,我们把 cs:macro 元素显示的结果称为它的输出

    +
    +

    author 宏输出那些存储于所引条目的名称变量 author 的名字。cs:nameinitialize-with 属性指定应当以缩写显示,并且每个缩写后面附带属性值(.)。

    +
    +

    名称变量(name variable)

    +

    名称变量是 CSL 众多变量类型中的一种,即那些代表了某个事物的名称的变量。有关 CSL 的变量类型,详见附录 Ⅳ。

    +
    +

    issued-year 元素以一个cs:choose 元素定义的分支语句开始。如果被引条目具有保存在日期变量 issued 的日期,则输出这个日期的年份,否则输出 no date 术语的值。

    +

    layout 元素中的 group 元素的 author 用来印出在 author 元素中存储的值,issued-year 则用来印出 issued-year 元素储存的值。

    +

    你可能会感到奇怪,为什么不直接把上面两个宏中的 CSL 代码放在 cs:citation 元素中呢?使用宏有什么好处呢?在上面的例子中,宏的使用简化了 cs:citation 元素的结构,使其更易于拓展。此外,上述的两个宏总共被调用了 4 次(两次在 cs:citation 元素中,两次在 cs:bibliography 元素中),如果不使用宏,必须多次重复这些 CSL 代码。因此宏的使用带来了更紧凑的样式。

    +

    还没完,再看 cs:citation 元素,它含有两个属性,即 et-al-minet-al-use-first。这两个属性共同决定了当条目的author 名字大于等于 3 个的时候,只有第一个名字会被输出,并尾随 et al 术语。

    +

    最后,cs:citation 元素中还包含了 cs:sort 元素,cs:sort 又包含了两个 cs:key 元素。这一部分用来决定一个带有引注的引用如何排序。第一个用来排序的author 宏的输出组成(CSL 足够智能,可以先根据姓、再根据名进行排序)第一个键具有相同输出的引用将继续根据第二个键进行排序,即 issued-year 宏的输出。

    +
    +

    键(key)

    +

    到了这里,“键”是指被引注献中那些用于排序的信息。

    +
    +

    cs:bibliography 元素

    +

    cs:citation 负责输出引注和协调引用,cs:bibliography 则用于定义参考文献条目的格式。

    +
    <macro name="author">
    +  <names variable="author">
    +    <name initialize-with="."/>
    +  </names>
    +</macro>
    +<macro name="issued-year">
    +  <choose>
    +    <if variable="issued">
    +      <date variable="issued">
    +        <date-part name="year"/>
    +      </date>
    +    </if>
    +    <else>
    +      <text term="no date"/>
    +    </else>
    +  </choose>
    +</macro>
    +...
    +<bibliography>
    +  <sort>
    +    <key macro="author"/>
    +    <key macro="issued-year"/>
    +    <key variable="title"/>
    +  </sort>
    +  <layout suffix="." delimiter=", ">
    +    <group delimiter=". ">
    +      <text macro="author"/>
    +      <text macro="issued-year"/>
    +      <text variable="title"/>
    +      <text variable="container-title"/>
    +    </group>
    +    <group>
    +      <text variable="volume"/>
    +      <text variable="issue" prefix="(" suffix=")"/>
    +    </group>
    +    <text variable="page"/>
    +  </layout>
    +</bibliography>
    +

    上述的例子中的 cs:bibliography 小节实际上只适用于一种类型:期刊文章。它生成的参考文献条目格式为:

    +
    +

    A.C. Smith, D. Williams, T. Johnson. 2002. Story of my life. Journal of Biographies, 12(2), 24—27. W. Wallace, J. Snow. 1999. Winter is coming. Journal of Climate Dynamics, 6(9), 97—102.

    +
    +

    我们是如何定义这种格式的呢?首先,cs:bibliography 元素和 cs:citation 元素的结构很相似,但这里的 cs:layout 元素用来定义每一个独立的参考文献条目的格式。除了 author 宏和 issued-year 宏,参考文献条目还显示每个条目的 titlecontainer-title(对期刊文章来说,就是期刊的名称),以及这篇文章见刊的 volumeissue,还有文章所在的页码(page)。样式使用 prefixsuffix 属性来将期刊期号括到圆括号里,并依据 cs:layoutcs:group 元素的 suffixdelimiter 属性放置了其它的标点。

    +

    cs:bibliography 也含有一个 cs:sort 元素,它有三个键:authorissued-year 宏,以及第三个键——条目的 title

    +

    cs:locale 元素

    +

    我们这个样式的最后一节是 cs:loacle。正如我们前面提到的那样,CSL 的本地化文件可以将 CSL 样式快速转换为不同的语言。但是,有时需要重写默认的翻译。

    +
    <locale xml:lang="en">
    +  <terms>
    +    <term name="no date">without date</term>
    +  </terms>
    +</locale>
    +

    不出所料,在美式英语的本地化文件中,对 no date 术语的输出就是 no date。但是在我们的示例样式中,我们想使用 without date 来代替它。为了重写默认的翻译,我们可以使用上面所示的 cs:locale 元素。对一个没有发行日期的条目,这种重写会导致引注变成这样: (D. Williams, without date)

    +

    cs:localexml:lang 属性被设置为 en,当样式被用于英语写作的时候,这个属性使 CSL 样式重写 no date。如果我们在德语环境中使用这个样式,它将会依据德语的本地化文件输出翻译(ohne Datum)。

    +

    更进一步

    +

    这里只对 CSL 进行了简单的介绍,有关 CSL 的更多知识可以查看 CSL 标准文档或者其他参考文档。

    +]]>
    + +
    + + CSL 1.0.2 规范 + https://zotero-chinese.com/csl-dev-guide/specification.html + https://zotero-chinese.com/csl-dev-guide/specification.html + CSL 1.0.2 规范 + CSL 1.0.2 规范 主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier 其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、La... + Mon, 01 Aug 2022 16:55:26 GMT + 主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier

    +

    其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、Lars Willighagen and other CSL contributors.

    +

    译者:Mao ZhouNorthword

    +

    此工作以  Creative Commons Attribution-ShareAlike 4.0 International License 授权。

    +

    介绍

    +

    CSL(Citation Style Language,引文样式语言) 是一种基于 XML 的格式,用来描述引文、注释和参考文献的格式,他提供了:

    +
      +
    • 一种开放的 (开源的) 格式
    • +
    • 紧凑、稳定的样式
    • +
    • 对样式要求的广泛支持
    • +
    • 样式自动本地化
    • +
    • 对样式发布和更新的基本支持
    • +
    • 数千种免费提供的样式(CC BY-SA 授权)
    • +
    +

    有关的其他文档,CSL 议程,样式和本地化文件详见 CSL 项目主页

    +

    术语

    +

    关键字 MUST,MUST NOT,REQUIRED,SHALL,SHALL NOT,SHOULD,SHOULD NOT,RECOMMENDED,MAY 和 OPTIONAL 按 IETF RFC 2119 中的描述解释。

    +
    +

    译者注:关于 IETF RFC 2119 协议

    +

    RFC ,即 Request for Comments,意见征求稿,是由 The Internet Engineering Task Force 制作的文档,其中许多是各种 Internet 协议的官方标准。

    +

    RFC 2119 协议全文:<https://www.ietf.org/rfc/rfc2119.txt

    +

    MUST:必须的。通过它描述的对象,是强制要求的。它与 REQUIRED 和 SHALL 含义相同。

    +

    MUST NOT:不允许的。通过它描述的对象也是强制的。与 SHALL NOT 同义。

    +

    SHOULD:在通常情况下,应当这样。但是,特殊情况下除外。与 RECOMMENDED 同义。

    +

    SHOULD NOT:在通常情况下,不是这样。但是,特殊情况下除外。与 NOT RECOMMENDED 同义。

    +

    MAY:可选的描述对象。与 OPTIONAL 同义。

    +
    +

    命名空间

    +
    +

    Namespacing

    +
    +

    CSL XML 命名空间 URI 是 http://purl.org/net/xbiblio/csl

    +

    在本规范中,当提及 CSL 元素时,命名空间前缀为 cs: ,但对于根元素 cs:stylecs:locale 的默认命名空间声明(用 xmlns 属性设置),通常省略 cs:

    +

    空格处理

    +
    +

    注意

    +

    Whitespace Handling
    +翻译有一些疑惑,请参阅原文,欢迎提出改善意见。

    +
    +

    CSL styles are valid XML, but CSL processors MUST NOT normalize attribute values by trimming leading or trailing whitespace from attributes which define text that is intended for output:

    +

    CSL 样式是有效的 XML,但是 CSL 处理器不会(MUST NOT)通过修剪以下属性值前后的空格来规范输出。

    +
      +
    • after-collapse-delimiter
    • +
    • cite-group-delimiter
    • +
    • delimiter
    • +
    • initialize-with
    • +
    • name-delimiter
    • +
    • names-delimiter
    • +
    • prefix
    • +
    • range-delimiter
    • +
    • sort-separator
    • +
    • suffix
    • +
    • year-suffix-delimiter
    • +
    • value
    • +
    +

    文件类型

    +

    CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl 作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml,其中 xx-XX 表示语言以及其方言,例如 en-US 表示美式英语)。

    +

    独立样式

    +

    独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。

    +

    从属样式

    +

    从属样式是独立样式的别名(alias),其仅包含样式元数据,不包括任何格式的指示。

    +

    通过将具有相同引用风格的期刊(例如 "Nature Biotechnology","Nature Nanotechnology")的从属样式链接到一个单独的独立样式(例如 "Nature Journals"),从属样式就不再需要再重复一遍格式说明。

    +
    +

    译者注

    +

    也就是说从属样式是依赖其他样式的,被依赖的样式成为称为父样式

    +
    +

    本地化文件

    +

    每个本地化文件包含一系列对某种特定的语言 / 方言的本地化数据(术语翻译,本地化日期格式以及语法选项)。

    +
    +

    译者注

    +

    本地化文件主要用于在不同的语言环境中使用样式,比如在中文环境中使用,中文对应的本地化文件可以将英文中的 et al. 替换为

    +
    +

    XML 声明

    +
    +

    XML Declaration

    +
    +

    每个样式或者本地化文件应该以 XML 声明开头,指定具体的 XML 版本以及字符编码。多数情况下,XML 声明可以是:

    +
    <?xml version="1.0" encoding="UTF-8"?>
    +

    样式的结构

    +
    +

    注意

    +

    此节尚未校对完成

    +
    +

    根元素 cs:style

    +

    样式的根元素是 cs:style。在 独立样式 中,根元素有以下几种属性:

    +

    class

    +

    🏳️ Default: none — 决定样式的 引文格式 是 in-text 类型(值 in-text) 或者 note 类型(值 note)。

    +
    +

    译者注

    +

    in-text 表示引文在文字中,note 表示引文不在文字中,可能是脚注等。

    +
    +

    default-locale

    +

    🏳️ Default: none · Optional — 为本地化设值默认的 locale。值必须是 locale code

    +
    +

    译者注:常用 local_code

    +

    zh-CN:中文(中国)
    +zh-hk:中文(台湾)
    +zh:中文
    +en-US:
    +可以参阅 Language Strings | Microsoft Docs

    +
    +

    version

    +

    🏳️ Default: none · ⚠ Required — 样式的 CSL 版本。对于 CSL 1.0 兼容样式,必须是 1.0

    +

    此外,cs:style 可能携带任意的 全局选项可继承的名称选项

    +

    在这些属性中,从属样式 中,只有 version 是必须的, default-locale 属性可以设置用来代替的默认的本地化文件 。其他的属性是可以忽略的。

    +

    下面是一个 独立样式cs:style 示例,第一行是 XML 声明:

    +
    <?xml version="1.0" encoding="UTF-8"?>
    +<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="fr-FR"/>
    +

    cs:style 的子元素

    +

    独立样式 中,cs:style 有以下子元素:

    +

    cs:info

    +

    🏳️ Default: none · ⚠ Required · ⚠ 必须为第一个子元素 — 描述样式的元数据 :样式名称(style name)、样式 ID(ID)、样式作者(authors)。

    +

    cs:citation

    +

    🏳️ Default: none · ⚠ Required — 用来描述 in-text 引文或者 notes 引文的具体格式。

    +

    cs:bibliography

    +

    🏳️ Default: none · Optional — 可能会出现一次。描述参考文献列表的格式。

    +

    cs:macro

    +

    🏳️ Default: none · Optional — 可能出现多次。宏可以将格式指示重复使用,使样式更加的紧凑和易维护。

    +

    cs:locale

    +

    🏳️ Default: none · Optional — 可能出现多次。用于指定或者覆盖当前的本地化数据。

    +

    从属样式 中,cs:style 只有 cs:info 一个子元素。

    +

    Info

    +

    cs:info 包含了样式的元数据。其结构基于 Atom Syndication Format。在独立样式中,cs:info 有下面的几个子元素:

    +
    cs:authorcs:contributor
    +

    🏳️ Default: none · Optional — cs:authorcs:contributor 分别用来致谢样式的作者和贡献者,可能被使用多次。

    +
     `cs:name`
    +
    + 🏳️ Default: _none_ ·  ⚠ Required — 作者或贡献者的姓名。
    +
    + `cs:email` 和 `cs:uri`
    +
    + 🏳️ Default: _none_ ·  Optional — 作者或者贡献者邮箱和 URI。
    +
    +
    cs:category
    +

    🏳️ Default: none · Optional — 样式可能被分类到一个或者多个类别,cs:category 可能被使用一次,用来描述 in-text 引文怎么渲染。使用 citation-format 属性设置其为以下几种情形:

    +
      +
    • +

      author-date - 例如 … (Doe, 1999)

      +
    • +
    • +

      author - 例如 … (Doe)

      +
    • +
    • +

      numeric - 例如 … [1]

      +
    • +
    • +

      label - 例如 … [doe99]

      +
    • +
    • +

      note - 因为在边注或者脚注出现。

      +

      cs:categroy 也可能在携带 field 属性时多次使用,用来对学科进行分类(见 [附录 I 学科分类](附录 I 学科分类))。

      +
    • +
    +
    cs:id
    +

    🏳️ Default: none · ⚠ Required — 必须出现一次。该元素应该包含一个 URI 以建立样式的 ID,对于公开可用的样式,需要一个稳定、唯一的并可以引用的 URI。

    +
    cs:issn/cs:essn/cs:issnl
    +

    🏳️ Default: none · Optional — cs:issn 元素可以多次使用,用来表示该 CSL 对应的期刊的 ISSN 。 cs:eissncs:issnl 可以分别用来表示 eISSN 和 ISSN-L

    +
    cs:link
    +

    🏳️ Default: none · Optional — 可以使用多次。cs:link 必须携带两个属性 hrefrel

    +
    `href`
    +⚠ Required — 用来设置 URI (通常情况下为 URL)
    +
    +`rel`
    +⚠ Required — 表明 URI 与当前样式的关系,它的值有:
    +
    +    - `self` - 该 URI 值为样式本身的 URI
    +    - `template` - 该 URI 是用来编写该样式的模板的 URI
    +    - `documentation` - 该 URI 是该样式的文档
    +
    +
    cs:published
    +

    🏳️ Default: none · Optional — cs:published 必须是一个 时间戳,用来表明样式创建的时间或者可获得的时间。

    +
    cs:rights
    +

    🏳️ Default: none · Optional — cs:rights 表明了该 CSL 的 license,可能会携带 license 属性。

    +
    cs:summary
    +

    🏳️ Default: none · Optional — 给出该 CSL 的简单描述。

    +
    cs:title
    +

    🏳️ Default: none · ⚠ Required — 其内容应该是该 CSL 展示给使用者的名字。

    +
    cs:title-short
    +

    🏳️ Default: none · Optional — 是上述名字的缩写,比如 APA

    +
    cs:updated
    +

    🏳️ Default: none · — 内容是一个 时间戳,用来表示该 CSL 的最后更新时间。

    +

    cs:linkcs:rightscs:summarycs:titlecs:title-short 元素可以携带 xml:lang 属性用来表示元素内容的语言(值必须是 xsd:language locale code 中的一个)。对于 cs:link,该属性可以用来表示链接目标的语言。

    +

    在从属格式中,当 cs:link 中的 href 为其父格式的 URI 时,rel 属性必须设置为 "independent-parent"。此外,从属格式的 ref 不能设置为 template,这在独立格式中才能使用。

    +

    下面是一个独立样式 cs:info 的例子:

    +
    <info>
    +  <title>Style Title</title>
    +  <id>http://www.zotero.org/styles/style-title</id>
    +  <link href="http://www.zotero.org/styles/style-title" rel="self"/>
    +  <author>
    +    <name>Author Name</name>
    +    <email>name@domain.com</email>
    +    <uri>http://www.domain.com/name</uri>
    +  </author>
    +  <category citation-format="author-date"/>
    +  <category field="zoology"/>
    +  <updated>2008-10-29T21:01:24+00:00</updated>
    +  <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work
    +  is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported
    +  License</rights>
    +</info>
    +

    Citation

    +

    cs:citation 元素描述了引注的格式,其中引注可以是一条或者多条。引注的格式可能是 in-text citations(即文字中的引注)和 notes(注记)。in-text citations 包括 (author,例: [Doe]author-date,例: [Doe 1999]label,例: [doe99],或者 number,例:[1] ) 。这要求 cs:layout 子元素来描述什么样的数据,以及怎么被引用(见 Layout )。在 cs:layout 之前可能会有 cs:sort 元素,用来描述引文的排序(见 排序)。此外,cs:style 可能携带任意的 引文选项可继承的名称选项 中的属性。下面是一个 cs:citation 的例子:

    +
    <citation>
    +  <sort>
    +    <key variable="citation-number"/>
    +  </sort>
    +  <layout>
    +    <text variable="citation-number"/>
    +  </layout>
    +</citation>
    +

    对 CSL 处理器开发者的一个建议

    +

    在 note 格式中,引文通常是一个句子。因此,当注释前面没有内容时,引文的首字母最好大写。在其他情况,引文应该是用原样打印。

    +

    Bioliography

    +

    cs:bioliography 元素描述了参考文献条目的格式。同 cs:citation 相同,其子元素 cs:layout 用来描述每个条目的格式,cs:sort 元素用来描述条目的排序。此外,cs:bibliography 可能携带任意的 参考文献目录选项可继承名称选项 中的属性。下面是一个 cs:bioliography 的例子:

    +
    <bibliography>
    +  <sort>
    +    <key macro="author"/>
    +  </sort>
    +  <layout>
    +    <group delimiter=". ">
    +      <text macro="author"/>
    +      <text variable="title"/>
    +    </group>
    +  </layout>
    +</bibliography>
    +

    Macro

    +

    宏,使用 cs:macro 元素定义,包含了格式的指令。宏可以在其他宏,cs:layout 元素 (cs:citationcs:bioliography 中),cs:key 元素 (cs:sort 元素) 中通过 cs:text 调用。宏在文件中位置的通常建议是:放在 cs:locale 元素后以及 cs:citation 元素前。

    +

    宏通过 cs:macro 元素的属性 name 的值来调用。cs:macro 必须包含一个或者多个 渲染元素

    +

    使用宏可以提高样式的可读性,紧凑性以及可维护性。通过过宏调用来保持 cs:citation 元素和 cs:bioliography 元素的内容紧凑通常是推荐的做法。为了在其他样式中方便的重复使用,宏名字建议使用通用的名字。

    +

    下面是一个实例:引文中包括项目题目,并当条目为 "book" 时,设置字体为 italic

    +
    <style>
    +  <macro name="title">
    +    <choose>
    +      <if type="book">
    +        <text variable="title" font-style="italic"/>
    +      </if>
    +      <else>
    +        <text variable="title"/>
    +      </else>
    +    </choose>
    +  </macro>
    +  <citation>
    +    <layout>
    +      <text macro="title"/>
    +    </layout>
    +  </citation>
    +</style>
    +

    Locale

    +

    来自 "locales-xx-XX.xml"locale file 的本地化数据可以通过 cs:locale 元素来重定义或者补充定义。cs:locale 元素应该放在 cs:info 元素后。

    +

    cs:locale 元素的 xml:lang 属性是可选的,必须设置为 xsd:language locale code 中的一种,用来确定使用的语言环境(或方言,见 [locale fallback](locale fallback))。

    +

    对于 cs:locale 元素的详细使用,另见 术语本地化日期格式本地化选项

    +

    下面是一个 cs:locale 元素的例子:

    +
    <style>
    +  <locale xml:lang="en">
    +    <terms>
    +      <term name="editortranslator" form="short">
    +        <single>ed. &amp; trans.</single>
    +        <multiple>eds. &amp; trans.</multiple>
    +      </term>
    +    </terms>
    +  </locale>
    +</style>
    +

    Locale Fallback

    +

    本地化文件为语言方言提供了本地化数据;可选的 cs:locale 元素的 xml:lang 属性设置为一种语言 (例如, "en" 代表英语 ) 或者方言 (例如, "en-US" 代表美式英语 ) ,xml:lang 属性也可能缺失。Localr fallback 是一种在上述的属性设置中检索来确定本地化单元的机制。这些本地化单元包括日期格式,本地化选项或者术语的特定形式。

    +

    对于同一种语言的方言,一种被称为初级方言,其他都是二级方言。下面展示了部分语言的初级方言和二级方言:

    +

    | 初级方言 | 二级方言 |
    +|

    +]]>
    +
    + + Locale File + https://zotero-chinese.com/csl-dev-guide/translating-locale-files.html + https://zotero-chinese.com/csl-dev-guide/translating-locale-files.html + Locale File + Locale File 注意 此页面正在施工中。 前言 ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。 ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:&quot;British Psychological Society&quot; 的 CSL 样式将会生成英式英语的引文和参考文献目... + Tue, 02 Aug 2022 16:02:13 GMT + +

    注意

    +

    此页面正在施工中。

    + +

    前言

    +

    ​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。

    +

    ​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:"British Psychological Society" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。

    +

    ​ 所有的 CSL 样式,都依赖于 locale file,这些本地化文件中包含了本地化数据,用来指定引文和参考文献目录中的术语,日期格式和语法规则怎么本地化。在单独的本地化文件保存这些数据,而不是在 CSL 样式文件中(尽管 CSL 样式文件中可以使用 cs:locale 元素对本地化文件中的设置进行覆盖),有很多好处:1. 本地化更加容易维护;2. 样式文件更加的紧凑; 3. 样式可以是语言无关的。

    +

    ​ 下面,我们将描述本地化文件的结构,给出如何转换所有部分的指示,并且解释如何提交这些转换。如果想获得更多的有关本地化的信息,可以查看 CSL 规范

    +

    开始

    +

    ​ CSL 本地化文件在 GitHub 的仓库地址为https://github.com/citation-style-language/locales/

    +

    ​ 每个本地化文件都包含一种对应语言的本地化数据。本地化文件的名字为 "locales-xx-XX.xml",这里的 "xx-XX" 是 BCP 47 langues code 语言代码 中的一种。这个 GitHub wiki 仓库 列出了本地化 code,对应的语言和该仓库中储存的所有语言环境的软换状态(是否完成,或在制作中)。

    +

    转换 Locale Files

    +
    +

    todo

    +
    +]]>
    +
    + + XML 基础 + https://zotero-chinese.com/csl-dev-guide/xml-basic.html + https://zotero-chinese.com/csl-dev-guide/xml-basic.html + XML 基础 + XML 基础 注意 此页面正在施工中。 CSL 基于 XML(eXtensible Markup Language)。XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。 上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。 第一行为声明,... + Mon, 01 Aug 2022 16:23:04 GMT + +

    注意

    +

    此页面正在施工中。

    + +

    CSL 基于 XML(eXtensible Markup Language)XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。

    +
    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  # 文档声明
    +
    +<!-- 这是一个注释 -->  # 注释
    +
    +<hello> # 根元素,文档的第一个元素,有且仅有一个
    +    # 子元素
    +    # 属性
    +    # 元素文本
    +</hello>
    +

    上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。

    +

    第一行为声明,或者称为序言,总是在文档的最前面。包括了XML 的版本、编码信息以及是否依赖外部文档等。这一行代码会告诉解析器或浏览器这个文件应该按照 XML 规则进行解析。

    +

    第二行为 XML 文档的注释。格式为 <!-- 注释-->

    +

    剩下的代码为 XML 文件的根元素,根元素也是元素,根元素是文档的第一个元素,有且仅有一个。

    +

    元素

    +

    元素由开始标签,元素内容和结束标签构成。其中可以包含属性、元素和注释。根元素包含了其他所有元素。

    +
    <title>内容</title>
    +

    title 为元素名。

    +

    元素有 4 种形式。

    +
    1. 空元素
    +<RAM> </RAM>  或者 <RAM/>
    +
    +2. 带有属性的空元素
    +<RAM width="100"/>  或者 <RAM width="100"> <RAM/>
    +
    +3. 带有内容的元素
    +<Price>21000</Price>
    +
    +4. 带有内容和属性的元素
    +<Price MoneyKind="RMB">21000</Price>  # MoneyKind 为属性  21000为元素值
    +或者是
    +<NotebookComputer>
    +Style =" LX2000"
    +CPU =" PIII600"
    +RAM ="128M "
    +</NotebookComputer>
    +
    +

    所有的元素都包含在根元素中,为根元素的子元素,子元素还还可以包含子元素。

    +

    属性

    +

    属性是对元素及其内容的描述,用 = 隔开。属性必须包含在一对单引号或者双引号之间。

    +
    <Movie ID="09001">   # 其中的 id 就是属性  后面的值就是属性值
    +<title>非诚勿扰</title>  # 子元素
    +<price>70</price>
    +</Movie>
    +
    +# 空元素的属性
    +<Rectangle Width="100" Height="80"/>
    +
    +# 属性的另外一种形式
    +<NotebookComputer>
    +Style =" LX2000"
    +CPU =" PIII600"
    +RAM ="128M "
    +</NotebookComputer>
    +

    每个元素中,一个属性最多出现一次,一个属性只能有一个值。

    +

    如果属性有多个值,这需要采取 XML 协议以外的方式来表示,如采用逗号或分号间隔,对于 CSS 类或标识符的名字可用空格来分隔。

    +

    预定义实体表

    +

    xml 文件中某些符号无法正常表达,比如 < 或者 >,不处理的话会导致混乱。

    +

    | 所定义的实体 | 所代表的字符 |
    +|

    +]]>
    +
    + + CSL 中文文档 + https://zotero-chinese.com/csl-dev-guide/ + https://zotero-chinese.com/csl-dev-guide/ + CSL 中文文档 + CSL 中文文档 注意 此页面正在施工中。 CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。 Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zot... + Mon, 01 Aug 2022 16:23:04 GMT + +

    注意

    +

    此页面正在施工中。

    + +

    CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。

    +

    Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。$\LaTeX$ 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 $\LaTeX$ 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 $\LaTeX$ 同样漂亮的引用和参考文献目录。

    +

    由 CSL 编写的 style 定义了引用和参考文献目录的格式。Zotero 就是通过 style 来生成指定格式的引用和参考文献目录。据统计,现在已经有超过 9000 个 style,覆盖了大多数的常见的 SCI 期刊。在 Zotero 中能很容易检索到对应期刊的 style。但是即使有这么多的 style,仍然有可能有的期刊没有对应的 style。此外,有的 style 年代久远,已经不符合期刊 author guideline 中的要求,因此,我们需要学习 CSL 来定制需要的 style,至少能在已有的 style 上修改来满足期刊的要求。但是遗憾的是,国内 CSL 的资料几乎没有。

    +

    本项目是对 CSL 英文文档 的翻译。本人能力有限,理解和翻译有误处请大家谅解,同时欢迎 issue 和 pull。

    +

    本文档基于 Welcome to CSL-chinese’s documentation! — CSL-chinese documentation 修改。

    +
    +

    警告

    +

    文档中,凡标注 Work in progress 的均为正在施工的页面,无法确保与现有英文文档相一致,无法确保译文修改前后的一致性、准确性,请酌情阅读。

    +
    +]]>
    +
    + + 插件开发指南 + https://zotero-chinese.com/plugin-dev-guide/ + https://zotero-chinese.com/plugin-dev-guide/ + 插件开发指南 + 插件开发指南 提示 待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。 本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档。 前置基础知识 Zotero 插件遵循 Firefox 插... + Thu, 20 Apr 2023 10:06:59 GMT + +

    提示

    +

    待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。

    + +

    本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档

    +

    前置基础知识

    +

    Zotero 插件遵循 Firefox 插件的要求。此处列举了编写插件的基础知识。并非所有知识都需要掌握,只需要在遇到问题时能通过查阅文档找到解决方法即可。

    +

    Firefox 插件

    +

    Introduction: Welcome to Software Development the Mozilla Way

    +

    Web 浏览器扩展

    +

    HTML / XUL

    +

    关于 HTML,可参考网上的任意教程,只需理解基本的树结构,大致清楚元素类型与通用属性即可。
    +参考文档:HTML 教程 | 菜鸟教程
    +关于 XUL,在了解 HTML 的基础上只需大概浏览文档即可。在使用时可随时查阅文档。
    +参考文档:Huihoo - XML User Interface Language (XUL)XUL School Tutorial - Archive of obsolete content

    +

    JavaScript / TypeScript

    +

    如果对其他编程语言有了解,上手 JavaScript 很快,看一下基本语法即可。
    +参考文档:JavaScript 教程

    +

    (非必需)也可以直接学习 TypeScript,它是 JS 的超集,提供了更多特性,并对习惯于 C++/JAVA 等强类型语言的开发者而言更加熟悉。第二章将要介绍的的 Zotero 插件框架支持 TS。
    +参考文档:TypeScript 中文网 · TypeScript——JavaScript 的超集

    +

    Git

    +

    Git 是版本管理的常用工具。
    +参考文档:Git 教程 | 菜鸟教程

    +

    Zotero 官方资料

    +

    Zoero 文档(部分过时或不全):start [Zotero Documentation]
    +Zotero 社区:Recent Discussions
    +Zotero 贡献文档:Zotero | Get Involved
    +Zotero 开发者群组:https://groups.google.com/g/zotero-dev
    +社区维护的 Zotero Types 接口类型定义包:windingwind / Zotero-types Zotero-types

    +

    本文档的结构

    +
    +

    todo

    +
    +]]>
    +
    + + Zotero 百科全书 + https://zotero-chinese.com/user-guide/ + https://zotero-chinese.com/user-guide/ + Zotero 百科全书 + Zotero 百科全书 相关信息 在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下! 本文档由 Zotero Chinese 团队维护。有任何问题,欢迎在文档下方留言! 本文档地址:https://zotero-chinese.com/ ⛳️ Zotero 百科全书简介 本文档分为以下几个部分: 为什么使用 Zotero:关于... + Wed, 19 Apr 2023 22:27:07 GMT + +

    相关信息

    +

    在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下!

    +

    本文档由 Zotero Chinese 团队维护。有任何问题,欢迎在文档下方留言!

    +

    本文档地址:https://zotero-chinese.com/

    + +

    ⛳️ Zotero 百科全书简介

    +

    本文档分为以下几个部分:

    +
      +
    • 为什么使用 Zotero:关于 Zotero 的优势,与其他同类软件的对比
    • +
    • 安装:安装 Zotero 桌面端、浏览器插件、移动端的步骤
    • +
    • Zotero 使用教程 +
        +
      • 基础使用:包括导入条目 、编辑条目 、导入文件 、添加分类和标签 、阅读和笔记 等
      • +
      • 创建参考文献:主要包括在 Word 中插入参考文献相关的内容
      • +
      • 同步、备份和协作:包括同步数据 、备份数据 、创建群组 等
      • +
      • 插件:关于如何安装插件、优秀插件推荐等
      • +
      +
    • +
    • Zotero 常见问题:导入条目的问题合集、插入引用的问题合集等,非常规用法等
    • +
    • Zotero 资源合集:施工中
    • +
    +
    +

    内容分级

    +

    文档内容会有标记 、 和 ,读者初次了解 Zotero 时,仅需要掌握“初级”内容,随着了解和使用的深入,再探究更高难度的用法。

    +
    +

    由于内容较多,建议当作字典使用,在遇到问题时通过顶部搜索栏搜索关键字,例如遇到同步问题,则搜索“同步”。

    +

    ⭐️ 常用文档和链接

    + +

    🎯 创建 Zotero 百科全书的目的

    +

    以往的 Zotero 社区存在两大问题:

    +
      +
    • 网络资料不便搜索且良莠不齐
      +网上有许多关于 Zotero 的使用帖子或教程,但分散在各处,不方便搜索。许多内容过时或错误,使用者按照错误的教程操作带来更多问题。
    • +
    • 答疑效率低下
      +以往 Zotero 使用中遇到问题,往往在群里提问,或者在相关教程/视频下留言,消息容易被刷掉或遗漏,效率低下。
    • +
    +

    为了解决上述问题,我们创建了这个 Zotero 百科全书文档,权威、准确、一站式解决 Zotero 使用问题。

    +

    ❤️ 贡献指南

    +
    +

    我如何参与到文档维护中?

    +

    请参阅:贡献指南

    +
    +]]>
    +
    + + 为什么使用 Zotero + https://zotero-chinese.com/user-guide/why-use-zotero.html + https://zotero-chinese.com/user-guide/why-use-zotero.html + 为什么使用 Zotero + 为什么使用 Zotero 相关信息 本节是官方文档的翻译。 Zotero 是什么 Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。 你是否仍在花费大量时间整理阅读过和刚下载的文献? 你是否仍在为找不到自己记忆中那篇文献而苦恼? 你是否还在焦虑刚刚读完文献... + Wed, 19 Apr 2023 22:27:07 GMT + +

    相关信息

    +

    本节是官方文档的翻译。

    + +

    Zotero 是什么

    +

    Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。

    +
      +
    • 你是否仍在花费大量时间整理阅读过和刚下载的文献?
    • +
    • 你是否仍在为找不到自己记忆中那篇文献而苦恼?
    • +
    • 你是否还在焦虑刚刚读完文献却脑袋空空?
    • +
    • 你是否还在手打插入的引文?
    • +
    +

    Zotero 将是你优秀的科研助手!

    +

    为什么用 Zotero 而不是其他?

    +

    Zotero 优势

    +
    浏览器快速抓取文献至Zotero
    +
    清晰明了的分层管理及标签分类
    +
    写作时方便快速的插入引文
    +

    一键抓取文献,保存一切

    +

    拥有多个分级目录与标签管理

    +

    支持海量引用格式

    +

    Zotero 兼具简单的操作方式与强大的功能。通过一份简单的教程(后面的文档)你将快速上手 Zotero 的基本功能,而其他专业的功能你也能够通过社交媒体和 Zotero 官网上丰富的信息逐渐掌握,其中包含大量优秀的插件,这得益于 Zotero 是一款开源软件。

    +

    Zotero 社区的有力支持。当使用 Zotero 遇到问题时,你可以收到 Zotero 开发人员或者专家社区人员的回复,并且 Zotero 的插件编写者与使用爱好者遍布各地,你可以非常方便的通过你的社交媒体联系到他们。

    +

    Zotero 关注你的隐私安全并且无需付费。Zotero 由独立的非营利组织开发,对你的数据没有任何财务利益。并且它是一个开源软件,这意味着如果 Zotero 目前的运营团队并没有将你的利益放在首位,其他任何人都可以自由地获取 Zotero 的源代码,继续对他进行维护和改进。

    +

    EndNote

    +

    EndNote 只支持二级目录,而 Zotero 支持多级分类。

    +

    EndNote 不支持标签,而在 Zotero 中你可以轻松的通过标签进行查找、分类和管理。

    +

    Endnote 是一款收费软件:标准版官网售价 1818RMB,教育版官网售价 1218RMB。

    +

    Mendeley

    +

    Mendeley 免费但不开源。

    +

    Mendeley 的数据迁移到新的电脑比较麻烦,这可能会耗费你大量的时间精力。

    +

    Mendeley 的使用并不能够完全离线,在国内的网络环境下,你可能偶尔会面临无法登陆 Mendeley 网站以致于无法使用软件的情况。

    +

    NoteExpress

    +

    NoteExpress 是一款国产文献管理软件,对中文文献和中文数据库的支持较为优秀,但是他同样是一款付费软件,永久授权标准版 1980RMB。

    +

    NoteExpress 只支持 Windows 系统,Mac 和 Linux 系统则被拒之门外。

    +

    知网研学

    +

    知网研学支持的数据库较少,在 Mac 上甚至只支持 CNKI 学术总库。

    +

    知网研学的订阅费用,高校版 198RMB/年,标准版 998RMB/年,尊享版 3298RMB/年,还请自行体会。

    +]]>
    +
    + + \ No newline at end of file diff --git a/rss.xsl b/rss.xsl new file mode 100644 index 0000000000..972565991d --- /dev/null +++ b/rss.xsl @@ -0,0 +1,506 @@ + + + + + + + RSS Feed + + + + + + +
    + + + +

    + +

    +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Language: + +
    Published Date: + +
    Last Build Date: + +
    Copyright: + +
    + Catetory: + + + , + + +
    +
    + +
    + + +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + , + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    +
    + + + +
    +
    diff --git a/search-pro.worker.js b/search-pro.worker.js new file mode 100644 index 0000000000..8e26617715 --- /dev/null +++ b/search-pro.worker.js @@ -0,0 +1,2 @@ +const L=Object.entries,st=Object.fromEntries,nt="ENTRIES",T="KEYS",R="VALUES",_="";class k{set;_type;_path;constructor(t,s){const n=t._tree,o=Array.from(n.keys());this.set=t,this._type=s,this._path=o.length>0?[{node:n,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:s}=E(this._path);if(E(s)===_)return{done:!1,value:this.result()};const n=t.get(E(s));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=E(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>E(t)).filter(t=>t!==_).join("")}value(){return E(this._path).node.get(_)}result(){switch(this._type){case R:return this.value();case T:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const E=e=>e[e.length-1],ot=(e,t,s)=>{const n=new Map;if(t===void 0)return n;const o=t.length+1,u=o+s,i=new Uint8Array(u*o).fill(s+1);for(let r=0;r{const d=u*i;t:for(const c of e.keys())if(c===_){const a=o[d-1];a<=s&&n.set(r,[e.get(c),a])}else{let a=u;for(let h=0;hs)continue t}W(e.get(c),t,s,n,o,a,i,r+c)}};class C{_tree;_prefix;_size=void 0;constructor(t=new Map,s=""){this._tree=t,this._prefix=s}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[s,n]=x(this._tree,t.slice(this._prefix.length));if(s===void 0){const[o,u]=M(n);for(const i of o.keys())if(i!==_&&i.startsWith(u)){const r=new Map;return r.set(i.slice(u.length),o.get(i)),new C(r,t)}}return new C(s,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,ut(this._tree,t)}entries(){return new k(this,nt)}forEach(t){for(const[s,n]of this)t(s,n,this)}fuzzyGet(t,s){return ot(this._tree,t,s)}get(t){const s=I(this._tree,t);return s!==void 0?s.get(_):void 0}has(t){const s=I(this._tree,t);return s!==void 0&&s.has(_)}keys(){return new k(this,T)}set(t,s){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,O(this._tree,t).set(_,s),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=O(this._tree,t);return n.set(_,s(n.get(_))),this}fetch(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=O(this._tree,t);let o=n.get(_);return o===void 0&&n.set(_,o=s()),o}values(){return new k(this,R)}[Symbol.iterator](){return this.entries()}static from(t){const s=new C;for(const[n,o]of t)s.set(n,o);return s}static fromObject(t){return C.from(Object.entries(t))}}const x=(e,t,s=[])=>{if(t.length===0||e==null)return[e,s];for(const n of e.keys())if(n!==_&&t.startsWith(n))return s.push([e,n]),x(e.get(n),t.slice(n.length),s);return s.push([e,t]),x(void 0,"",s)},I=(e,t)=>{if(t.length===0||e==null)return e;for(const s of e.keys())if(s!==_&&t.startsWith(s))return I(e.get(s),t.slice(s.length))},O=(e,t)=>{const s=t.length;t:for(let n=0;e&&n{const[s,n]=x(e,t);if(s!==void 0){if(s.delete(_),s.size===0)q(n);else if(s.size===1){const[o,u]=s.entries().next().value;$(n,o,u)}}},q=e=>{if(e.length===0)return;const[t,s]=M(e);if(t.delete(s),t.size===0)q(e.slice(0,-1));else if(t.size===1){const[n,o]=t.entries().next().value;n!==_&&$(e.slice(0,-1),n,o)}},$=(e,t,s)=>{if(e.length===0)return;const[n,o]=M(e);n.set(o+t,s),n.delete(o)},M=e=>e[e.length-1],it=(e,t)=>{const s=e._idToShortId.get(t);if(s!=null)return e._storedFields.get(s)},rt=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\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\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\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\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\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-\u2E4F\u3000-\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]+/u,S="or",N="and",ct="and_not",lt=(e,t)=>{e.includes(t)||e.push(t)},P=(e,t)=>{for(const s of t)e.includes(s)||e.push(s)},G=({score:e},{score:t})=>t-e,ht=()=>new Map,b=e=>{const t=new Map;for(const s of Object.keys(e))t.set(parseInt(s,10),e[s]);return t},H=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,dt={[S]:(e,t)=>{for(const s of t.keys()){const n=e.get(s);if(n==null)e.set(s,t.get(s));else{const{score:o,terms:u,match:i}=t.get(s);n.score=n.score+o,n.match=Object.assign(n.match,i),P(n.terms,u)}}return e},[N]:(e,t)=>{const s=new Map;for(const n of t.keys()){const o=e.get(n);if(o==null)continue;const{score:u,terms:i,match:r}=t.get(n);P(o.terms,i),s.set(n,{score:o.score+u,terms:o.terms,match:Object.assign(o.match,r)})}return s},[ct]:(e,t)=>{for(const s of t.keys())e.delete(s);return e}},at=(e,t,s,n,o,u)=>{const{k:i,b:r,d}=u;return Math.log(1+(s-t+.5)/(t+.5))*(d+e*(i+1)/(e+i*(1-r+r*n/o)))},ft=e=>(t,s,n)=>{const o=typeof e.fuzzy=="function"?e.fuzzy(t,s,n):e.fuzzy||!1,u=typeof e.prefix=="function"?e.prefix(t,s,n):e.prefix===!0;return{term:t,fuzzy:o,prefix:u}},J=(e,t,s,n)=>{for(const o of Object.keys(e._fieldIds))if(e._fieldIds[o]===s){e._options.logger("warn",`SlimSearch: document with ID ${e._documentIds.get(t)} has changed before removal: term "${n}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}},gt=(e,t,s,n)=>{if(!e._index.has(n)){J(e,s,t,n);return}const o=e._index.fetch(n,ht),u=o.get(t);u==null||u.get(s)==null?J(e,s,t,n):u.get(s)<=1?u.size<=1?o.delete(t):u.delete(s):u.set(s,u.get(s)-1),e._index.get(n).size===0&&e._index.delete(n)},mt={k:1.2,b:.7,d:.5},pt={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(rt),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof console?.[e]=="function"&&console[e](t)},autoVacuum:!0},U={combineWith:S,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:mt},Ft={combineWith:N,prefix:(e,t,s)=>t===s.length-1},_t={batchSize:1e3,batchWait:10},K={minDirtFactor:.1,minDirtCount:20},yt={..._t,...K},X=Symbol("*"),At=(e,t)=>{const s=new Map,n={...e._options.searchOptions,...t};for(const[o,u]of e._documentIds){const i=n.boostDocument?n.boostDocument(u,"",e._storedFields.get(o)):1;s.set(o,{score:i,terms:[],match:{}})}return s},Y=(e,t=S)=>{if(e.length===0)return new Map;const s=t.toLowerCase(),n=dt[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map},B=(e,t,s,n,o,u,i,r,d=new Map)=>{if(o==null)return d;for(const c of Object.keys(u)){const a=u[c],h=e._fieldIds[c],g=o.get(h);if(g==null)continue;let m=g.size;const p=e._avgFieldLength[h];for(const l of g.keys()){if(!e._documentIds.has(l)){gt(e,h,l,s),m-=1;continue}const f=i?i(e._documentIds.get(l),s,e._storedFields.get(l)):1;if(!f)continue;const y=g.get(l),F=e._fieldLength.get(l)[h],D=at(y,m,e._documentCount,F,p,r),w=n*a*f*D,A=d.get(l);if(A){A.score+=w,lt(A.terms,t);const z=H(A.match,s);z?z.push(c):A.match[s]=[c]}else d.set(l,{score:w,terms:[t],match:{[s]:[c]}})}}return d},Ct=(e,t,s)=>{const n={...e._options.searchOptions,...s},o=(n.fields||e._options.fields).reduce((l,f)=>({...l,[f]:H(n.boost,f)||1}),{}),{boostDocument:u,weights:i,maxFuzzy:r,bm25:d}=n,{fuzzy:c,prefix:a}={...U.weights,...i},h=e._index.get(t.term),g=B(e,t.term,t.term,1,h,o,u,d);let m,p;if(t.prefix&&(m=e._index.atPrefix(t.term)),t.fuzzy){const l=t.fuzzy===!0?.2:t.fuzzy,f=l<1?Math.min(r,Math.round(t.term.length*l)):l;f&&(p=e._index.fuzzyGet(t.term,f))}if(m)for(const[l,f]of m){const y=l.length-t.term.length;if(!y)continue;p?.delete(l);const F=a*l.length/(l.length+.3*y);B(e,t.term,l,F,f,o,u,d,g)}if(p)for(const l of p.keys()){const[f,y]=p.get(l);if(!y)continue;const F=c*l.length/(l.length+y);B(e,t.term,l,F,f,o,u,d,g)}return g},Q=(e,t,s={})=>{if(t===X)return At(e,s);if(typeof t!="string"){const a={...s,...t,queries:void 0},h=t.queries.map(g=>Q(e,g,a));return Y(h,a.combineWith)}const{tokenize:n,processTerm:o,searchOptions:u}=e._options,i={tokenize:n,processTerm:o,...u,...s},{tokenize:r,processTerm:d}=i,c=r(t).flatMap(a=>d(a)).filter(a=>!!a).map(ft(i)).map(a=>Ct(e,a,i));return Y(c,i.combineWith)},Z=(e,t,s={})=>{const n=Q(e,t,s),o=[];for(const[u,{score:i,terms:r,match:d}]of n){const c=r.length||1,a={id:e._documentIds.get(u),score:i*c,terms:Object.keys(d),queryTerms:r,match:d};Object.assign(a,e._storedFields.get(u)),(s.filter==null||s.filter(a))&&o.push(a)}return t===X&&s.boostDocument==null&&e._options.searchOptions.boostDocument==null||o.sort(G),o},Et=(e,t,s={})=>{s={...e._options.autoSuggestOptions,...s};const n=new Map;for(const{score:u,terms:i}of Z(e,t,s)){const r=i.join(" "),d=n.get(r);d!=null?(d.score+=u,d.count+=1):n.set(r,{score:u,terms:i,count:1})}const o=[];for(const[u,{score:i,terms:r,count:d}]of n)o.push({suggestion:u,terms:r,score:i/d});return o.sort(G),o};class wt{_options;_index;_documentCount;_documentIds;_idToShortId;_fieldIds;_fieldLength;_avgFieldLength;_nextId;_storedFields;_dirtCount;_currentVacuum;_enqueuedVacuum;_enqueuedVacuumConditions;constructor(t){if(t?.fields==null)throw new Error('SlimSearch: option "fields" must be provided');const s=t.autoVacuum==null||t.autoVacuum===!0?yt:t.autoVacuum;this._options={...pt,...t,autoVacuum:s,searchOptions:{...U,...t.searchOptions||{}},autoSuggestOptions:{...Ft,...t.autoSuggestOptions||{}}},this._index=new C,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=K,this.addFields(this._options.fields)}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}get documentCount(){return this._documentCount}get termCount(){return this._index.size}toJSON(){const t=[];for(const[s,n]of this._index){const o={};for(const[u,i]of n)o[u]=Object.fromEntries(i);t.push([s,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}addFields(t){for(let s=0;s{if(c!==1&&c!==2)throw new Error("SlimSearch: cannot deserialize an index created with an incompatible version");const h=new wt(a);h._documentCount=t,h._nextId=s,h._documentIds=b(n),h._idToShortId=new Map,h._fieldIds=o,h._fieldLength=b(u),h._avgFieldLength=i,h._storedFields=b(r),h._dirtCount=d||0,h._index=new C;for(const[g,m]of h._documentIds)h._idToShortId.set(m,g);for(const[g,m]of e){const p=new Map;for(const l of Object.keys(m)){let f=m[l];c===1&&(f=f.ds),p.set(parseInt(l,10),b(f))}h._index.set(g,p)}return h},j=(e,t)=>{const s=e.toLowerCase(),n=t.toLowerCase(),o=[];let u=0,i=0;const r=(c,a=!1)=>{let h="";i===0?h=c.length>20?`… ${c.slice(-20)}`:c:a?h=c.length+i>100?`${c.slice(0,100-i)}… `:c:h=c.length>20?`${c.slice(0,20)} … ${c.slice(-20)}`:c,h&&o.push(h),i+=h.length,a||(o.push(["mark",t]),i+=t.length,i>=100&&o.push(" …"))};let d=s.indexOf(n,u);if(d===-1)return null;for(;d>=0;){const c=d+n.length;if(r(e.slice(u,d)),u=c,i>100)break;d=s.indexOf(n,u)}return i<100&&r(e.slice(u),!0),o},xt=(e,t)=>t.contents.reduce((s,[,n])=>s+n,0)-e.contents.reduce((s,[,n])=>s+n,0),bt=(e,t)=>Math.max(...t.contents.map(([,s])=>s))-Math.max(...e.contents.map(([,s])=>s)),tt=(e,t,s={})=>{const n={};return Z(t,e,{boost:{h:2,t:1,c:4},prefix:!0,...s}).forEach(o=>{const{id:u,terms:i,score:r}=o,d=u.includes("@"),c=u.includes("#"),[a,h]=u.split(/[#@]/),g=Number(a),m=i.sort((l,f)=>l.length-f.length).filter((l,f)=>i.slice(f+1).every(y=>!y.includes(l))),{contents:p}=n[g]??={title:"",contents:[]};if(d)p.push([{type:"customField",id:g,index:h,display:m.map(l=>o.c.map(f=>j(f,l))).flat().filter(l=>l!==null)},r]);else{const l=m.map(f=>j(o.h,f)).filter(f=>f!==null);if(l.length&&p.push([{type:c?"heading":"title",id:g,...c&&{anchor:h},display:l},r]),"t"in o)for(const f of o.t){const y=m.map(F=>j(f,F)).filter(F=>F!==null);y.length&&p.push([{type:"text",id:g,...c&&{anchor:h},display:y},r])}}}),L(n).sort(([,o],[,u])=>"max"==="total"?xt(o,u):bt(o,u)).map(([o,{title:u,contents:i}])=>{if(!u){const r=it(t,o);r&&(u=r.h)}return{title:u,contents:i.map(([r])=>r)}})},et=(e,t,s={})=>Et(t,e,{fuzzy:.2,...s}).map(({suggestion:n})=>n),v=st(L(JSON.parse("{\"/\":{\"documentCount\":590,\"nextId\":590,\"documentIds\":{\"0\":\"1\",\"1\":\"2\",\"2\":\"2#我们的承诺\",\"3\":\"2#我们的准则\",\"4\":\"2#责任和权力\",\"5\":\"2#适用范围\",\"6\":\"2#监督\",\"7\":\"2#处理方针\",\"8\":\"2#_1-纠正\",\"9\":\"2#_2-警告\",\"10\":\"2#_3-临时封禁\",\"11\":\"2#_4-永久封禁\",\"12\":\"2#参见\",\"13\":\"3\",\"14\":\"3#zotero-中文文档贡献者\",\"15\":\"3#zotero-中文插件商店贡献者\",\"16\":\"3#zotero-中文-translator-贡献者\",\"17\":\"3#csl-中文仓库贡献者\",\"18\":\"4\",\"19\":\"4#项目概览\",\"20\":\"4#环境配置\",\"21\":\"4#所需软件安装\",\"22\":\"4#克隆和复制仓库\",\"23\":\"4#安装依赖\",\"24\":\"4#修改文档\",\"25\":\"4#pull-request\",\"26\":\"4#其他的脚本\",\"27\":\"4#pnpm-run-docs-build\",\"28\":\"4#pnpm-run-lint-md\",\"29\":\"5\",\"30\":\"5#文档维护的内容和主要方式\",\"31\":\"5#提交-参与议题-讨论\",\"32\":\"5#修改文档\",\"33\":\"5#简单修改\",\"34\":\"5#稍微大量修改\",\"35\":\"5#大量修改\",\"36\":\"5#注意事项\",\"37\":\"6\",\"38\":\"6#文件命名\",\"39\":\"6#文档-frontmatter-规范\",\"40\":\"6#文档语法风格\",\"41\":\"6#标题\",\"42\":\"6#正文文本\",\"43\":\"6#文字样式\",\"44\":\"6#徽章-推荐\",\"45\":\"6#无序列表和有序列表\",\"46\":\"6#链接\",\"47\":\"6#图片\",\"48\":\"6#视频\",\"49\":\"6#表格\",\"50\":\"6#代码\",\"51\":\"6#行内代码\",\"52\":\"6#块级代码\",\"53\":\"6#告示块\",\"54\":\"6#提示\",\"55\":\"6#备注\",\"56\":\"6#注意\",\"57\":\"6#警告\",\"58\":\"6#详情\",\"59\":\"6#自定义标题\",\"60\":\"6#嵌套显示\",\"61\":\"6#脚注\",\"62\":\"6#引用\",\"63\":\"7\",\"64\":\"8\",\"65\":\"9\",\"66\":\"9#引注-citation\",\"67\":\"9#参考文献表-bibliography\",\"68\":\"9#引用格式-citation-format\",\"69\":\"9#条目-item\",\"70\":\"9#参考文献条目-bibliographic-entry\",\"71\":\"9#风格-style\",\"72\":\"9#样式-style\",\"73\":\"9#术语-term\",\"74\":\"9#翻译-translation\",\"75\":\"10\",\"76\":\"10#前言\",\"77\":\"10#什么是-csl\",\"78\":\"10#引用格式\",\"79\":\"10#in-text-风格\",\"80\":\"10#author-date-和-author-风格\",\"81\":\"10#numeric-风格\",\"82\":\"10#numeric-复合风格\",\"83\":\"10#label-风格\",\"84\":\"10#note-风格\",\"85\":\"10#csl-生态\",\"86\":\"10#独立样式和从属样式\",\"87\":\"10#本地化文件\",\"88\":\"10#条目元数据\",\"89\":\"10#引用细节\",\"90\":\"10#csl-处理器\",\"91\":\"10#理解-csl-样式\",\"92\":\"10#从属样式解析\",\"93\":\"10#独立样式解析\",\"94\":\"10#样式结构\",\"95\":\"10#cs-style-根元素\",\"96\":\"10#info-元素\",\"97\":\"10#cs-citation-元素和-cs-macro-元素\",\"98\":\"10#cs-bibliography-元素\",\"99\":\"10#cs-locale-元素\",\"100\":\"10#更进一步\",\"101\":\"11\",\"102\":\"11#介绍\",\"103\":\"11#术语\",\"104\":\"11#命名空间\",\"105\":\"11#空格处理\",\"106\":\"11#文件类型\",\"107\":\"11#独立样式\",\"108\":\"11#从属样式\",\"109\":\"11#本地化文件\",\"110\":\"11#xml-声明\",\"111\":\"11#样式的结构\",\"112\":\"11#根元素-cs-style\",\"113\":\"11#class\",\"114\":\"11#default-locale\",\"115\":\"11#version\",\"116\":\"11#cs-style-的子元素\",\"117\":\"11#info\",\"118\":\"11#cs-author-和-cs-contributor\",\"119\":\"11#cs-category\",\"120\":\"11#cs-id\",\"121\":\"11#cs-issn-cs-essn-cs-issnl\",\"122\":\"11#cs-link\",\"123\":\"11#cs-published\",\"124\":\"11#cs-rights\",\"125\":\"11#cs-summary\",\"126\":\"11#cs-title\",\"127\":\"11#cs-title-short\",\"128\":\"11#cs-updated\",\"129\":\"11#citation\",\"130\":\"11#bioliography\",\"131\":\"11#macro\",\"132\":\"11#locale\",\"133\":\"11#本地化文件的结构\",\"134\":\"11#info-1\",\"135\":\"11#terms-术语\",\"136\":\"11#序数后缀\",\"137\":\"11#性别特定序数\",\"138\":\"11#本地化日期格式\",\"139\":\"11#本地化选项\",\"140\":\"11#渲染元素\",\"141\":\"11#layout\",\"142\":\"11#text\",\"143\":\"11#date\",\"144\":\"11#date-part\",\"145\":\"11#date-ranges\",\"146\":\"11#ad-and-bc\",\"147\":\"11#seasons\",\"148\":\"11#approximate-dates\",\"149\":\"11#number\",\"150\":\"11#names\",\"151\":\"11#name\",\"152\":\"11#名字内部顺序\",\"153\":\"11#名字格式化\",\"154\":\"11#et-al\",\"155\":\"11#substitute\",\"156\":\"11#label-in-cs-names\",\"157\":\"11#label\",\"158\":\"11#group\",\"159\":\"11#choose\",\"160\":\"11#样式的行为\",\"161\":\"11#选项\",\"162\":\"11#引文选项\",\"163\":\"11#消除歧义\",\"164\":\"11#引用分组\",\"165\":\"11#cite-collapsing-引用折叠\",\"166\":\"11#标注距离\",\"167\":\"11#参考文献目录选项\",\"168\":\"11#空白\",\"169\":\"11#参考文献分组\",\"170\":\"11#全局选项\",\"171\":\"11#人名中的连字符\",\"172\":\"11#页码范围\",\"173\":\"11#name-particles\",\"174\":\"11#可继承的名称选项\",\"175\":\"11#局部选项\",\"176\":\"11#排序\",\"177\":\"11#排序变量\",\"178\":\"11#排序宏\",\"179\":\"11#范围分隔符\",\"180\":\"11#格式化\",\"181\":\"11#词缀\",\"182\":\"11#分隔符-delimiter\",\"183\":\"11#显示-display\",\"184\":\"11#引用-quotes\",\"185\":\"11#strip-periods\",\"186\":\"11#文字大小写\",\"187\":\"11#句子大小写转换\",\"188\":\"11#标题大小写转换\",\"189\":\"11#附录-i-学科分类\",\"190\":\"11#附录-ii-术语\",\"191\":\"11#locators-用来定位的术语\",\"192\":\"11#months-月\",\"193\":\"11#ordinals-序数\",\"194\":\"11#quotation-marks-引号\",\"195\":\"11#roles-角色\",\"196\":\"11#seasons-季节\",\"197\":\"11#miscellaneous-其他\",\"198\":\"11#附录-iii-文献类型\",\"199\":\"11#附录-iv-变量\",\"200\":\"11#标准变量\",\"201\":\"11#数字变量\",\"202\":\"11#日期变量\",\"203\":\"11#名字变量\",\"204\":\"11#附录-v-页码范围格式\",\"205\":\"11#附录-vi-链接\",\"206\":\"12\",\"207\":\"12#前言\",\"208\":\"12#开始\",\"209\":\"12#转换-locale-files\",\"210\":\"13\",\"211\":\"13#元素\",\"212\":\"13#属性\",\"213\":\"13#预定义实体表\",\"214\":\"14\",\"215\":\"14#前置基础知识\",\"216\":\"14#firefox-插件\",\"217\":\"14#html-xul\",\"218\":\"14#javascript-typescript\",\"219\":\"14#git\",\"220\":\"14#zotero-官方资料\",\"221\":\"14#本文档的结构\",\"222\":\"15\",\"223\":\"15#⛳️-zotero-百科全书简介\",\"224\":\"15#⭐️-常用文档和链接\",\"225\":\"15#🎯-创建-zotero-百科全书的目的\",\"226\":\"15#❤️-贡献指南\",\"227\":\"16\",\"228\":\"16#子附件和独立附件\",\"229\":\"16#存储的附件和链接的附件\",\"230\":\"16#为条目添加附件\",\"231\":\"16#通过拖放\",\"232\":\"16#通过附件菜单\",\"233\":\"16#附件重命名\",\"234\":\"17\",\"235\":\"17#条目与附件-初级\",\"236\":\"17#条目-item\",\"237\":\"17#附件-attachments\",\"238\":\"17#通过浏览器添加条目-推荐\",\"239\":\"17#通过附件添加条目-推荐\",\"240\":\"17#英文文献附件自动识别\",\"241\":\"17#中文文献附件自动识别\",\"242\":\"17#通过标识符添加条目\",\"243\":\"17#由通用格式的引用信息导入-通用方法\",\"244\":\"17#手动创建条目-万能方法\",\"245\":\"17#从其他工具导入\",\"246\":\"18\",\"247\":\"18#概述\",\"248\":\"18#程序文件\",\"249\":\"18#数据文件\",\"250\":\"18#数据文件位置\",\"251\":\"18#数据文件内容\",\"252\":\"18#用户配置文件\",\"253\":\"18#用户配置文件位置\",\"254\":\"18#用户配置文件内容\",\"255\":\"18#手动备份\",\"256\":\"18#使用插件蒲公英-tara-进行数据的备份和恢复\",\"257\":\"18#创建备份\",\"258\":\"18#恢复备份\",\"259\":\"18#导出备份文件\",\"260\":\"18#在新电脑上进行数据恢复\",\"261\":\"18#在不同电脑上同步备份\",\"262\":\"19\",\"263\":\"19#官方引文格式下载\",\"264\":\"19#第三方引文格式\",\"265\":\"20\",\"266\":\"21\",\"267\":\"22\",\"268\":\"22#重复条目-中级\",\"269\":\"22#条目字段\",\"270\":\"22#条目类型\",\"271\":\"22#期刊缩写\",\"272\":\"22#标题\",\"273\":\"22#标题中的上下标\",\"274\":\"22#标题的大小写\",\"275\":\"22#其他-extra\",\"276\":\"23\",\"277\":\"23#zotero-订阅设置\",\"278\":\"23#订阅来源\",\"279\":\"23#高级选项\",\"280\":\"23#从-订阅-添加文献条目到-我的文库-群组文库\",\"281\":\"23#订阅界面右键功能介绍\",\"282\":\"23#订阅网址-rss-链接-获取\",\"283\":\"23#中文期刊订阅-以知网、万方数据库为例\",\"284\":\"23#知网\",\"285\":\"23#万方数据库\",\"286\":\"23#英文期刊订阅\",\"287\":\"23#关键词订阅-pubmed-为例\",\"288\":\"23#配合-rsshub-radar-订阅任意网站内容\",\"289\":\"23#订阅功能常见问题及解决方法-更新中\",\"290\":\"24\",\"291\":\"24#创建群组\",\"292\":\"24#群组类型\",\"293\":\"24#群组设置\",\"294\":\"24#关于群组的附件\",\"295\":\"24#加入群组\",\"296\":\"24#_1、官网群组搜索-🔍\",\"297\":\"24#_2、群组链接-🔗\",\"298\":\"24#_3、管理员邀请-✉️\",\"299\":\"24#群组管理\",\"300\":\"25\",\"301\":\"25#从-endnote-导入\",\"302\":\"25#从-microsoft-word-导入\",\"303\":\"25#其他工具软件\",\"304\":\"25#zotero-支持导入的文件格式\",\"305\":\"26\",\"306\":\"26#主程序-pc\",\"307\":\"26#浏览器插件-zotero-connector\",\"308\":\"26#其他平台客户端\",\"309\":\"26#ios\",\"310\":\"26#android\",\"311\":\"27\",\"312\":\"27#ios\",\"313\":\"27#安装\",\"314\":\"27#配置\",\"315\":\"27#android\",\"316\":\"27#安装-1\",\"317\":\"27#配置-1\",\"318\":\"28\",\"319\":\"28#zotero-word-插件选项卡\",\"320\":\"28#文档首选项\",\"321\":\"28#添加引注\",\"322\":\"28#包含多个被引用项目的引文\",\"323\":\"28#添加参考文献表\",\"324\":\"28#切换到-经典视图\",\"325\":\"28#经典视图下使用多来源引用\",\"326\":\"28#经典视图下多重来源的引文排序\",\"327\":\"28#自定义引用\",\"328\":\"28#页码和其他定位器-图、表等\",\"329\":\"28#前缀和后缀\",\"330\":\"28#省略作者-在文本中使用作者\",\"331\":\"28#其他更改\",\"332\":\"28#编辑引注\",\"333\":\"28#编辑参考书目\",\"334\":\"28#注意事项与常见问题\",\"335\":\"29\",\"336\":\"29#分类管理\",\"337\":\"29#新建分类\",\"338\":\"29#删除分类\",\"339\":\"29#条目管理\",\"340\":\"29#在分类之间移动条目\",\"341\":\"29#去除重复条目\",\"342\":\"29#删除条目\",\"343\":\"29#导出条目或-pdf\",\"344\":\"29#标签管理\",\"345\":\"29#添加-删除标签\",\"346\":\"29#利用标签快速筛选文献\",\"347\":\"29#设置彩色标签-设置星级\",\"348\":\"29#自动未读与批量增删标签\",\"349\":\"30\",\"350\":\"30#基础知识\",\"351\":\"30#如何安装-zotero\",\"352\":\"30#如何打开-zotero\",\"353\":\"30#zotero-是做什么的\",\"354\":\"30#有何种类型的条目\",\"355\":\"30#关于条目信息\",\"356\":\"30#管理文献\",\"357\":\"30#文献分类\",\"358\":\"30#标签\",\"359\":\"30#搜索\",\"360\":\"30#保存的搜索\",\"361\":\"30#收集文献\",\"362\":\"30#附件\",\"363\":\"30#笔记\",\"364\":\"30#文件\",\"365\":\"30#链接和快照\",\"366\":\"30#抓取条目\",\"367\":\"30#单个或多个抓取\",\"368\":\"30#转换器-translator-旧称翻译器\",\"369\":\"30#保存网页\",\"370\":\"30#通过标识符添加条目\",\"371\":\"30#订阅\",\"372\":\"30#手动添加条目\",\"373\":\"30#引用\",\"374\":\"30#引用条目\",\"375\":\"30#word-集成\",\"376\":\"30#自动参考书目\",\"377\":\"30#手动引文\",\"378\":\"30#合作\",\"379\":\"30#同步\",\"380\":\"30#zotero-servers\",\"381\":\"30#团队\",\"382\":\"31\",\"383\":\"31#数据的同步\",\"384\":\"31#通过-webdav-同步附件\",\"385\":\"31#pc-端\",\"386\":\"31#ios\",\"387\":\"31#android\",\"388\":\"31#通过第三方网盘同步附件\",\"389\":\"32\",\"390\":\"32#打开文献-pdf\",\"391\":\"32#阅读器功能介绍\",\"392\":\"32#界面区域\",\"393\":\"32#选中弹窗\",\"394\":\"32#在阅读器中创建笔记\",\"395\":\"32#管理注释\",\"396\":\"32#笔记功能介绍\",\"397\":\"32#创建笔记\",\"398\":\"32#导出笔记\",\"399\":\"33\",\"400\":\"33#zotero-是什么\",\"401\":\"33#为什么用-zotero-而不是其他\",\"402\":\"33#zotero-优势\",\"403\":\"33#endnote\",\"404\":\"33#mendeley\",\"405\":\"33#noteexpress\",\"406\":\"33#知网研学\",\"407\":\"34\",\"408\":\"34#_1-安装插件\",\"409\":\"34#_1-1-windows-下-python3-环境的安装\",\"410\":\"34#_1-2-安装-wps-插件\",\"411\":\"34#windows-系统\",\"412\":\"34#linux-系统\",\"413\":\"34#_2-插件使用\",\"414\":\"34#_3-如何卸载-wps-安装的旧版-zotero-扩展\",\"415\":\"34#_4-可能遇到的问题\",\"416\":\"35\",\"417\":\"35#通过-run-javascript-调试\",\"418\":\"35#通过-zotero-debug-输出日志\",\"419\":\"35#通过开发者工具\",\"420\":\"36\",\"421\":\"36#通过代理文件载入插件\",\"422\":\"36#通过安装临时插件载入\",\"423\":\"37\",\"424\":\"38\",\"425\":\"39\",\"426\":\"39#内容\",\"427\":\"39#生命周期钩子\",\"428\":\"39#窗口钩子\",\"429\":\"39#样例\",\"430\":\"39#参考资料\",\"431\":\"40\",\"432\":\"40#创建条目\",\"433\":\"40#获取条目\",\"434\":\"40#修改条目\",\"435\":\"40#pdf-批注\",\"436\":\"40#从对话框选择条目\",\"437\":\"41\",\"438\":\"42\",\"439\":\"42#示例\",\"440\":\"42#属性参考\",\"441\":\"42#manifest-version\",\"442\":\"42#name\",\"443\":\"42#version\",\"444\":\"42#版本格式\",\"445\":\"42#版本比较\",\"446\":\"42#applications\",\"447\":\"42#zotero\",\"448\":\"42#id\",\"449\":\"42#strict-min-version\",\"450\":\"42#strict-max-version\",\"451\":\"42#update-url\",\"452\":\"42#author\",\"453\":\"42#description\",\"454\":\"42#homepage-url\",\"455\":\"42#manifest-的本地化\",\"456\":\"42#参考资料\",\"457\":\"43\",\"458\":\"43#zoteropane\",\"459\":\"43#zotero-collections-与-zotero-collection\",\"460\":\"43#zotero-libraries-与-zotero-library\",\"461\":\"43#zotero-reader\",\"462\":\"43#基本使用\",\"463\":\"43#调用-pdf-js-接口\",\"464\":\"43#案例\",\"465\":\"43#_1-获取-pdf-指定页面所有文字\",\"466\":\"43#zotero-notes\",\"467\":\"43#zotero-tabs\",\"468\":\"43#基本使用-1\",\"469\":\"43#新增标签页\",\"470\":\"43#标签页操作\",\"471\":\"43#文件操作\",\"472\":\"43#clipboard-api\",\"473\":\"43#弹出通知\",\"474\":\"44\",\"475\":\"44#注册监听器\",\"476\":\"44#注销监听器\",\"477\":\"44#触发-notify-事件\",\"478\":\"44#单个触发\",\"479\":\"44#队列触发\",\"480\":\"45\",\"481\":\"45#默认设置\",\"482\":\"45#首选项窗格\",\"483\":\"45#注册首选项窗格\",\"484\":\"45#绑定首选项\",\"485\":\"45#增删改查设置项\",\"486\":\"45#zotero-prefs-get\",\"487\":\"45#zotero-prefs-set\",\"488\":\"45#zotero-prefs-clear\",\"489\":\"45#辅助函数\",\"490\":\"45#参考资料\",\"491\":\"46\",\"492\":\"47\",\"493\":\"48\",\"494\":\"48#为什么使用该模板\",\"495\":\"49\",\"496\":\"49#一、安装-seguiemj-字体\",\"497\":\"49#二、通过修改-zotero-设置-来解决\",\"498\":\"50\",\"499\":\"51\",\"500\":\"51#无法打开插件页面\",\"501\":\"51#插件页面显示过大超出屏幕\",\"502\":\"51#插件安装包格式特殊\",\"503\":\"51#插件安装提示无法安装插件-s\",\"504\":\"51#插件检查更新时提示未找到更新\",\"505\":\"52\",\"506\":\"52#方法-1-一键自动更新\",\"507\":\"52#方法-2-手动替换文件更新\",\"508\":\"53\",\"509\":\"53#插入参考文献的基础教程\",\"510\":\"53#插入引用常见的操作问题\",\"511\":\"53#格式问题\",\"512\":\"53#调整缩进、行距等格式\",\"513\":\"53#设置斜体及上下标等\",\"514\":\"53#中英文混排以及其他特殊要求样式的问题\",\"515\":\"53#如果上面现成的样式不能满足你的需求\",\"516\":\"53#注意事项及与样式相关的常见问题\",\"517\":\"53#word-中没有-zotero-选项卡\",\"518\":\"53#报错-无法与-zotero-通讯\",\"519\":\"53#zotero-在更新文档时出错\",\"520\":\"53#域代码相关问题\",\"521\":\"53#您已经修改该引文-是否保留更改\",\"522\":\"53#使-zotero-恢复对引文的更新\",\"523\":\"53#字段是代码而不是引文-参考书目文本\",\"524\":\"53#引文或参考书目总是以灰色或其他颜色突出显示\",\"525\":\"53#没有监测到引用\",\"526\":\"53#将引注链接到参考文献表\",\"527\":\"53#更多教程\",\"528\":\"54\",\"529\":\"55\",\"530\":\"57\",\"531\":\"57#描述\",\"532\":\"57#配置及使用\",\"533\":\"57#缺陷和注意事项\",\"534\":\"58\",\"535\":\"58#zotero\",\"536\":\"58#通用设置\",\"537\":\"58#pdf-reader-阅读器\",\"538\":\"58#note-editor-笔记编辑器\",\"539\":\"58#translator-转换器设置\",\"540\":\"58#全文索引\",\"541\":\"58#report\",\"542\":\"58#引文快速复制设置\",\"543\":\"58#word-插件\",\"544\":\"58#zotero-连接器-connector\",\"545\":\"58#转换器设置\",\"546\":\"59\",\"547\":\"59#前言-很重要哦\",\"548\":\"59#一、没有显示-zotero-加载项\",\"549\":\"59#_1、检查-microsoft-word-加载项\",\"550\":\"59#_2、wps-vba-插件的安装\",\"551\":\"59#_3、补充-zotero-dotm-文件\",\"552\":\"59#二、zotero-加载项出现弹窗报错\",\"553\":\"59#_1、解决方法一\",\"554\":\"59#_2、解决方法二\",\"555\":\"59#三、refresh-unlink-citations-问号图标\",\"556\":\"59#_1、直接安装美化后的图标文件\",\"557\":\"59#只保留-1-个-zotero-加载项\",\"558\":\"59#四、refresh-unlink-citations-莫名失效\",\"559\":\"59#致谢\",\"560\":\"60\",\"561\":\"61\",\"562\":\"61#插件介绍\",\"563\":\"61#插件使用方法\",\"564\":\"61#插件设置\",\"565\":\"61#常见问题\",\"566\":\"61#不使用插件的原始方法\",\"567\":\"61#操作步骤\",\"568\":\"62\",\"569\":\"62#什么是插件-插件可以做什么\",\"570\":\"62#获取插件\",\"571\":\"62#安装插件\",\"572\":\"62#更新插件\",\"573\":\"63\",\"574\":\"64\",\"575\":\"65\",\"576\":\"65#安装茉莉花\",\"577\":\"65#_01-下载安装-jasminum-插件\",\"578\":\"65#_02-配置-pdftk\",\"579\":\"65#_2-1-下载与安装-pdftk\",\"580\":\"65#_2-2-在茉莉花中配置-pdftk-路径\",\"581\":\"65#_03-安装中文-translator\",\"582\":\"65#_04-更新中文-translator\",\"583\":\"66\",\"584\":\"67\",\"585\":\"68\",\"586\":\"69\",\"587\":\"70\",\"588\":\"71\",\"589\":\"72\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[3,3],\"1\":[1],\"2\":[1,25],\"3\":[1,19],\"4\":[1,18],\"5\":[1,5],\"6\":[1,7],\"7\":[1,2],\"8\":[2,8],\"9\":[2,10],\"10\":[2,11],\"11\":[2,7],\"12\":[1,27],\"13\":[1,8],\"14\":[2,7],\"15\":[2,7],\"16\":[4,9],\"17\":[2,12],\"18\":[1],\"19\":[1,34],\"20\":[1],\"21\":[1,72],\"22\":[1,52],\"23\":[1,13],\"24\":[1,67],\"25\":[2,58],\"26\":[1],\"27\":[4,10],\"28\":[4,4],\"29\":[1,6],\"30\":[1,30],\"31\":[3,6],\"32\":[1,18],\"33\":[1,42],\"34\":[1,9],\"35\":[1,11],\"36\":[1,10],\"37\":[1],\"38\":[1,26],\"39\":[3,100],\"40\":[1,5],\"41\":[1,22],\"42\":[1,34],\"43\":[1,19],\"44\":[1,17],\"45\":[1,8],\"46\":[1,6],\"47\":[1,22],\"48\":[1,26],\"49\":[1,22],\"50\":[1],\"51\":[1,3],\"52\":[1,20],\"53\":[1],\"54\":[1,4],\"55\":[1,4],\"56\":[1,4],\"57\":[1,4],\"58\":[1,4],\"59\":[1,14],\"60\":[1,9],\"61\":[1,7],\"62\":[1,13],\"63\":[4,99],\"64\":[2,93],\"65\":[1,8],\"66\":[3,6],\"67\":[3,9],\"68\":[4,13],\"69\":[3,9],\"70\":[4,7],\"71\":[3,8],\"72\":[3,15],\"73\":[3,14],\"74\":[3,9],\"75\":[2],\"76\":[1,16],\"77\":[2,24],\"78\":[1,15],\"79\":[3,34],\"80\":[4,85],\"81\":[2,76],\"82\":[2,44],\"83\":[2,82],\"84\":[2,52],\"85\":[2,27],\"86\":[1,72],\"87\":[1,89],\"88\":[1,31],\"89\":[1,19],\"90\":[2,15],\"91\":[3,18],\"92\":[1,219],\"93\":[1,156],\"94\":[1,66],\"95\":[3,35],\"96\":[2,107],\"97\":[5,210],\"98\":[3,120],\"99\":[3,52],\"100\":[1,7],\"101\":[5,46],\"102\":[1,29],\"103\":[1,56],\"104\":[1,27],\"105\":[1,54],\"106\":[1,23],\"107\":[1,8],\"108\":[1,16],\"109\":[1,13],\"110\":[2,18],\"111\":[1,2],\"112\":[1,8],\"113\":[1,16],\"114\":[1,25],\"115\":[1,57],\"116\":[1,41],\"117\":[1,10],\"118\":[1,20],\"119\":[1,37],\"120\":[1,14],\"121\":[1,18],\"122\":[1,30],\"123\":[1,10],\"124\":[1,13],\"125\":[1,8],\"126\":[1,9],\"127\":[1,7],\"128\":[1,117],\"129\":[1,63],\"130\":[1,38],\"131\":[1,68],\"132\":[1,124],\"133\":[1,110],\"134\":[1,40],\"135\":[3,84],\"136\":[1,81],\"137\":[1,98],\"138\":[1,69],\"139\":[1,21],\"140\":[1,8],\"141\":[1,35],\"142\":[1,74],\"143\":[1,83],\"144\":[2,86],\"145\":[2,47],\"146\":[3,16],\"147\":[1,33],\"148\":[2,46],\"149\":[1,78],\"150\":[1,57],\"151\":[1,264],\"152\":[1,56],\"153\":[1,49],\"154\":[2,36],\"155\":[1,54],\"156\":[2,43],\"157\":[1,71],\"158\":[1,50],\"159\":[1,217],\"160\":[1,5],\"161\":[1,22],\"162\":[1],\"163\":[1,161],\"164\":[1,44],\"165\":[3,74],\"166\":[1,13],\"167\":[1],\"168\":[1,63],\"169\":[1,66],\"170\":[1],\"171\":[1,18],\"172\":[1,34],\"173\":[2,90],\"174\":[1,44],\"175\":[1,57],\"176\":[1,83],\"177\":[1,74],\"178\":[1,75],\"179\":[1,32],\"180\":[1,53],\"181\":[1,39],\"182\":[2,19],\"183\":[2,88],\"184\":[2,22],\"185\":[2,28],\"186\":[1,30],\"187\":[1,21],\"188\":[1,72],\"189\":[3,64],\"190\":[3,3],\"191\":[2,35],\"192\":[2,13],\"193\":[2,15],\"194\":[3,4],\"195\":[2,28],\"196\":[2,5],\"197\":[2,30],\"198\":[3,58],\"199\":[3,2],\"200\":[1,220],\"201\":[1,47],\"202\":[1,25],\"203\":[1,41],\"204\":[3,79],\"205\":[3,82],\"206\":[2,3],\"207\":[1,50],\"208\":[1,32],\"209\":[3,1],\"210\":[2,56],\"211\":[1,50],\"212\":[1,47],\"213\":[1,25],\"214\":[1,15],\"215\":[1,8],\"216\":[2,10],\"217\":[2,24],\"218\":[2,23],\"219\":[1,6],\"220\":[2,27],\"221\":[1,1],\"222\":[2,17],\"223\":[3,52],\"224\":[2,17],\"225\":[4,26],\"226\":[2,3],\"227\":[1,8],\"228\":[1,9],\"229\":[1,28],\"230\":[1],\"231\":[1,1],\"232\":[1,1],\"233\":[1,9],\"234\":[1,15],\"235\":[1,5],\"236\":[2,15],\"237\":[2,18],\"238\":[1,43],\"239\":[3,35],\"240\":[1,56],\"241\":[1,103],\"242\":[1,44],\"243\":[3,121],\"244\":[3,48],\"245\":[1,9],\"246\":[1,16],\"247\":[1,13],\"248\":[1,14],\"249\":[1,13],\"250\":[1,40],\"251\":[1,71],\"252\":[1,7],\"253\":[1,50],\"254\":[1,47],\"255\":[1,50],\"256\":[2,19],\"257\":[1,19],\"258\":[1,8],\"259\":[1,14],\"260\":[1,22],\"261\":[1,39],\"262\":[1,25],\"263\":[1,16],\"264\":[1,44],\"265\":[4,43],\"266\":[1,44],\"267\":[1,15],\"268\":[1,31],\"269\":[1,15],\"270\":[1,15],\"271\":[1,45],\"272\":[1],\"273\":[1,18],\"274\":[1,33],\"275\":[2,9],\"276\":[1,24],\"277\":[2,19],\"278\":[1,20],\"279\":[1,51],\"280\":[6,29],\"281\":[1,27],\"282\":[4],\"283\":[3],\"284\":[1,24],\"285\":[1,36],\"286\":[1,28],\"287\":[4,34],\"288\":[4,59],\"289\":[3,40],\"290\":[1,42],\"291\":[1,19],\"292\":[1,27],\"293\":[1,36],\"294\":[1,32],\"295\":[1],\"296\":[3,26],\"297\":[3,20],\"298\":[3,38],\"299\":[1,27],\"300\":[1],\"301\":[3,118],\"302\":[4,97],\"303\":[1,28],\"304\":[2,89],\"305\":[1],\"306\":[3,9],\"307\":[3,60],\"308\":[1],\"309\":[1,23],\"310\":[1,20],\"311\":[1],\"312\":[1,12],\"313\":[1,2],\"314\":[1,51],\"315\":[1,28],\"316\":[1,2],\"317\":[1,73],\"318\":[3,12],\"319\":[3,46],\"320\":[1,49],\"321\":[1,55],\"322\":[1,51],\"323\":[1,18],\"324\":[3,24],\"325\":[1,5],\"326\":[1,14],\"327\":[1,16],\"328\":[4,40],\"329\":[1,47],\"330\":[2,18],\"331\":[1,26],\"332\":[1,9],\"333\":[1,62],\"334\":[1,23],\"335\":[2,11],\"336\":[1,24],\"337\":[1,33],\"338\":[1,3],\"339\":[1],\"340\":[1,27],\"341\":[1,6],\"342\":[1,12],\"343\":[2,15],\"344\":[1,21],\"345\":[2,13],\"346\":[1,4],\"347\":[2,30],\"348\":[1,32],\"349\":[1,10],\"350\":[1],\"351\":[3,2],\"352\":[3,5],\"353\":[3,12],\"354\":[2,13],\"355\":[1,11],\"356\":[1],\"357\":[1,17],\"358\":[1,12],\"359\":[1,9],\"360\":[1,6],\"361\":[1],\"362\":[1,13],\"363\":[1,8],\"364\":[1,18],\"365\":[1,9],\"366\":[1,25],\"367\":[1,14],\"368\":[4,10],\"369\":[1,12],\"370\":[1,20],\"371\":[1,7],\"372\":[1,10],\"373\":[1],\"374\":[1,18],\"375\":[2,20],\"376\":[1,6],\"377\":[1,9],\"378\":[1],\"379\":[1,17],\"380\":[2,14],\"381\":[1,10],\"382\":[1,64],\"383\":[1,82],\"384\":[3,57],\"385\":[2,58],\"386\":[1,2],\"387\":[1,2],\"388\":[1,10],\"389\":[2,23],\"390\":[2,15],\"391\":[1],\"392\":[1,21],\"393\":[1,11],\"394\":[1,9],\"395\":[1,24],\"396\":[1,37],\"397\":[1,28],\"398\":[1,44],\"399\":[2,3],\"400\":[2,16],\"401\":[4],\"402\":[2,36],\"403\":[1,16],\"404\":[1,9],\"405\":[1,14],\"406\":[1,16],\"407\":[3,47],\"408\":[2,19],\"409\":[5,58],\"410\":[5,19],\"411\":[2,16],\"412\":[2,7],\"413\":[2,35],\"414\":[6,36],\"415\":[2,8],\"416\":[1],\"417\":[4,16],\"418\":[4,15],\"419\":[1,86],\"420\":[1,14],\"421\":[1,12],\"422\":[1,13],\"423\":[1,11],\"424\":[1],\"425\":[1,9],\"426\":[1,4],\"427\":[1,50],\"428\":[1,62],\"429\":[1,75],\"430\":[1,7],\"431\":[2,27],\"432\":[1,5],\"433\":[1,26],\"434\":[1,17],\"435\":[2,32],\"436\":[1,26],\"437\":[1,13],\"438\":[1,23],\"439\":[1,40],\"440\":[1],\"441\":[1,11],\"442\":[1,9],\"443\":[1,9],\"444\":[1,18],\"445\":[1,13],\"446\":[1,7],\"447\":[1],\"448\":[1,6],\"449\":[1,8],\"450\":[1,10],\"451\":[1,7],\"452\":[1,9],\"453\":[1,7],\"454\":[1,14],\"455\":[2,17],\"456\":[1,9],\"457\":[1,24],\"458\":[1,23],\"459\":[4,20],\"460\":[4,22],\"461\":[2,22],\"462\":[1,30],\"463\":[4,39],\"464\":[1],\"465\":[4,81],\"466\":[2,16],\"467\":[2,13],\"468\":[1,5],\"469\":[1,72],\"470\":[1,11],\"471\":[1,6],\"472\":[2,81],\"473\":[1,43],\"474\":[2,60],\"475\":[1,78],\"476\":[1,15],\"477\":[3,3],\"478\":[1,95],\"479\":[1,24],\"480\":[2,22],\"481\":[1,27],\"482\":[1],\"483\":[1,75],\"484\":[1,16],\"485\":[1,29],\"486\":[3,34],\"487\":[3,26],\"488\":[3,1],\"489\":[1,51],\"490\":[1,5],\"491\":[1,40],\"492\":[1],\"493\":[1,16],\"494\":[1,52],\"495\":[2,12],\"496\":[4,17],\"497\":[3,27],\"498\":[1],\"499\":[1,3],\"500\":[1,23],\"501\":[1,22],\"502\":[1,11],\"503\":[3,15],\"504\":[1,17],\"505\":[2,36],\"506\":[3,95],\"507\":[3,85],\"508\":[3,13],\"509\":[1,108],\"510\":[1,88],\"511\":[1],\"512\":[2,21],\"513\":[1,95],\"514\":[1,58],\"515\":[2,5],\"516\":[1,68],\"517\":[4,51],\"518\":[5,1],\"519\":[2,118],\"520\":[1],\"521\":[3,48],\"522\":[3,238],\"523\":[2,10],\"524\":[1,9],\"525\":[1,10],\"526\":[1,2],\"527\":[1,16],\"528\":[3,49],\"529\":[5,34],\"530\":[3],\"531\":[1,38],\"532\":[1,284],\"533\":[1,17],\"534\":[2,19],\"535\":[1,14],\"536\":[1,86],\"537\":[3,11],\"538\":[3,20],\"539\":[2,52],\"540\":[1,18],\"541\":[1,24],\"542\":[1,27],\"543\":[2,15],\"544\":[3,19],\"545\":[1,57],\"546\":[7],\"547\":[3,42],\"548\":[4,10],\"549\":[5,11],\"550\":[4,44],\"551\":[5,46],\"552\":[3,12],\"553\":[2,28],\"554\":[2,96],\"555\":[1,9],\"556\":[2,55],\"557\":[5,18],\"558\":[5,48],\"559\":[1,18],\"560\":[1],\"561\":[2],\"562\":[1,50],\"563\":[1],\"564\":[1,15],\"565\":[1,31],\"566\":[1,13],\"567\":[1,56],\"568\":[3],\"569\":[3,27],\"570\":[1,42],\"571\":[1,51],\"572\":[1,33],\"573\":[2,33],\"574\":[4,1],\"575\":[1,39],\"576\":[1],\"577\":[4,12],\"578\":[3],\"579\":[4,15],\"580\":[4,24],\"581\":[3,8],\"582\":[3,12],\"583\":[3,1],\"584\":[3,7],\"585\":[3,1],\"586\":[3,41],\"587\":[1,3],\"588\":[1],\"589\":[1]},\"averageFieldLength\":[1.6508474576271188,33.08351311638635],\"storedFields\":{\"0\":{\"h\":\"关于 Zotero 中文小组\",\"t\":[\"提示\",\"待办,关于页面\"]},\"1\":{\"h\":\"贡献者公约\"},\"2\":{\"h\":\"我们的承诺\",\"t\":[\"身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。\",\"我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。\"]},\"3\":{\"h\":\"我们的准则\",\"t\":[\"有助于为我们的社区创造积极环境的行为例子包括但不限于:\",\"表现出对他人的同情和善意\",\"尊重不同的主张、观点和感受\",\"提出和大方接受建设性意见\",\"承担责任并向受我们错误影响的人道歉\",\"注重社区共同诉求,而非个人得失\",\"不当行为例子包括:\",\"使用情色化的语言或图像,及性引诱或挑逗\",\"嘲弄、侮辱或诋毁性评论,以及人身或政治攻击\",\"公开或私下的骚扰行为\",\"未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址\",\"其他有理由认定为违反职业操守的不当行为\"]},\"4\":{\"h\":\"责任和权力\",\"t\":[\"社区领袖有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。\",\"社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。\"]},\"5\":{\"h\":\"适用范围\",\"t\":[\"本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。\",\"代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。\"]},\"6\":{\"h\":\"监督\",\"t\":[\"辱骂、骚扰或其他不可接受的行为可通过 ISSUE 向负责监督的社区领袖报告。 所有投诉都将得到及时和公平的审查和调查。\",\"所有社区领袖都有义务尊重任何事件报告者的隐私和安全。\"]},\"7\":{\"h\":\"处理方针\",\"t\":[\"社区领袖将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式:\"]},\"8\":{\"h\":\"1. 纠正\",\"t\":[\"社区影响:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。\",\"处理意见:由社区领袖发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。\"]},\"9\":{\"h\":\"2. 警告\",\"t\":[\"社区影响:单个或一系列违规行为。\",\"处理意见:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。\"]},\"10\":{\"h\":\"3. 临时封禁\",\"t\":[\"社区影响: 严重违反社区准则,包括持续的不当行为。\",\"处理意见: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。\"]},\"11\":{\"h\":\"4. 永久封禁\",\"t\":[\"社区影响:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。\",\"处理意见:永久禁止在社区内进行任何形式的公开互动。\"]},\"12\":{\"h\":\"参见\",\"t\":[\"本行为准则改编自 Contributor Covenant 2.1 版, 参见 https://www.contributor-covenant.org/version/2/1/code_of_conduct.html。\",\"社区处理方针灵感来源于 Mozilla's code of conduct enforcement ladder。\",\"有关本行为准则的常见问题的答案,参见 https://www.contributor-covenant.org/faq。\\n其他语言翻译参见 https://www.contributor-covenant.org/translations。\"]},\"13\":{\"h\":\"贡献者名单\",\"t\":[\"本页面列出了 Zotero 中文社区的部分贡献者。此外还有很多开发者们维护了很多插件、框架等,为 Zotero 社区作出了极大贡献。\"]},\"14\":{\"h\":\"Zotero 中文文档贡献者\",\"t\":[\"以下是 zotero-chinese/wiki 仓库的贡献者们:\",\"Zotero 中文文档贡献者\"]},\"15\":{\"h\":\"Zotero 中文插件商店贡献者\",\"t\":[\"以下是 zotero-chinese/zotero-plugins 仓库的贡献者们:\",\"Zotero 中文插件商店贡献者\"]},\"16\":{\"h\":\"Zotero 中文 translator 贡献者\",\"t\":[\"以下是 l0o0/translators_CN 仓库的贡献者们:\",\"Zotero 中文 translator 贡献者\"]},\"17\":{\"h\":\"CSL 中文仓库贡献者\",\"t\":[\"以下是 redleafnew/Chinese-STD-GB-T-7714-related-csl 仓库的贡献者们:\",\"CSL 中文仓库贡献者\"]},\"18\":{\"h\":\"构建指南\"},\"19\":{\"h\":\"项目概览\",\"t\":[\"本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。\",\"目前仓库地址为 https://github.com/zotero-chinese/wiki/ ,\",\"以下介绍了一次完整修改所需的步骤。\",\"提示\",\"为了降低操作门槛,本指南所述操作步骤均尽可能使用了图形化界面。对于熟悉 Git 的同学,仍可使用自己喜欢的方式进行操作。\"]},\"20\":{\"h\":\"环境配置\"},\"21\":{\"h\":\"所需软件安装\",\"t\":[\"本文的需要 Node.js 和 Git 安装在你的电脑上,后续步骤假定你已经安装这些程序且可以简单使用,若没有安装这些软件请跟随本小节指引完成安装。\",\"为了方便编辑和提交,我们还推荐安装 VS Code 和 GitHub Desktop 两个软件。\",\"安装 Git\",\"所有文档均使用 Git 进行版本控制。以下步骤假定\",\"用户已安装 git。若未安装,可以使用以下命令安装或更新 git:\",\"安装完成后,还需设置个人信息。打开终端,运行以下命令\",\"(将 zotero-user 和 替换成个人对应的信息):\",\"# 设置用户姓名和邮箱 $ git config --global user.name \\\"zotero-user\\\" $ git config --global user.email \\\"zotero-user@gmail.com\\\" # 查看 ~/.gitconfig $ cat ~/.gitconfig [user] name = zotero-user email = zotero-user@gmail.com \",\"Git 和 GitHub 学习资料\",\"以下修改文档并提交的步骤中使用了 Git 的一些常用选项,可以参考以下资料学习更多用法:\",\"git 简明指南\",\"廖雪峰的 Git 教程\",\"GotGitHub\",\"How to Use Git and Git Workflows – a Practical Guide\",\"Pro Git\",\"GitHub 相关资料:\",\"GitHub 中文文档\",\"Understanding the GitHub flow\",\"安装 Node.js\",\"安装 Node. js\",\"安装 VS Code\",\"安装\",\"安装 GitHub Desktop\",\"安装 https://desktop.github.com/\"]},\"22\":{\"h\":\"克隆和复制仓库\",\"t\":[\"复制 (fork) 仓库至个人 GitHub 帐号\",\"点击项目主页 https://github.com/zotero-chinese/wiki/ 右上角的 Fork 按钮,将该项目复刻到个人 GitHub 账户下。\",\"复刻仓库\",\"复刻仓库2\",\"复制完成后,个人 GitHub 帐号下便有了 https://github.com/zotero-user/wiki/ 仓库。\",\"克隆个人 GitHub 帐号下的复刻仓库到本地(复刻仓库默认是本地克隆仓库的远程 origin)\",\"打开 VS Code,点击 欢迎页面 的 克隆 Git 仓库…,在弹出窗口中选中 从 GitHub 克隆,然后选择自己账户下的 fork 仓库,确认,克隆完成后根据提示打开文件夹。\",\"克隆Git仓库\",\"从GitHub克隆\",\"选择仓库\",\"提示\",\"如果你对 Git 或命令行不了解,可以考虑使用 GitHub 客户端 或 VS Code 提供的图形化版本控制管理器作为命令行的替代。\"]},\"23\":{\"h\":\"安装依赖\",\"t\":[\"通过下面的命令安装依赖项。\",\"npm install -g pnpm pnpm install \",\"安装依赖\",\"相关信息\",\"上述“环境配置”步骤只需在第一次修改代码时执行一次,一旦复制或克隆某仓库后,就无需再次复制或克隆。\"]},\"24\":{\"h\":\"修改文档\",\"t\":[\"在本地创建并切换至新分支,假定新分支名为 pr-workflow(分支名需简短、描述性且独特):\",\"创建新分支\",\"启动开发服务器 使用以下命令启动开发服务器,如下图,开发服务器启动后,会给出几个本地链接,访问任一链接(通常为 Local)即可得到预览。\",\"pnpm run docs:dev \",\"启动开服务器\",\"开发服务器会监听所有 .md 文件的修改,当有文件发生保存时,服务器会自动更新预览并刷新网页。\",\"开发服务器\",\"在新建分支中对文档做修改,修改过程中,可以随时在浏览器中检查修改效果\",\"使用 Markdown 语法编写文档,如果你不清楚本文档所用的 Markdown 语法,请参阅 。\",\"提交 commit\",\"在左侧 \\\" 源代码管理 \\\" 选项卡中,输入一个简短的提交描述,点击提交,然后将修改推送到线上。\",\"提交修改\",\"推送修改\",\"提示\",\"如前所述,提交命令也可以在 GitHub Desktop 中完成。\",\"注意\",\"不建议直接在 main 分支中进行修改和提交,这可能会给你自己造成麻烦。\",\"仓库对 main 分支开启了推送保护,对 main 分支的修改只能通过 Pull Request 进行,无法直接 Push。\"]},\"25\":{\"h\":\"Pull Request\",\"t\":[\"提交 PR\",\"进入个人 GitHub 帐号下的复制仓库(即 https://github.com/你的名字/wiki/)。\",\"一般 GitHub 会自动提示有可提交的 PR,点击 “Compare & pull request”,输入此 PR 的标题和具体描述,\",\"最后点击 “Create pull request” 即可。\",\"审核、评论以及修改 PR\",\"文档维护者收到 PR 后,会对代码进行审核、评论以及修改,并决定是否接受(merge)或结束该 PR。\",\"PR 发起后,Netlify 机器人会自动部署一个预览版本,可以在这里查看预览。\",\"netlify预览pr\",\"提交的 PR 在接收前可能需要读者多次修改。这种情况并不要创建新 PR,只需继续本地 pr-workflow 分支中修改并提交,然后再次推送 pr-workflow 分支至远程 origin 即可,修改将自动添加到已提交的 PR 中。\",\"推送新的修改后,可以选择在该 PR 中留言,以通知维护者已提交新的修改。\",\"PR 被接受并合并至官方 main 分支后,则可以更新 main 分支,并删除 pr-workflow 分支\",\"更新main分支\"]},\"26\":{\"h\":\"其他的脚本\"},\"27\":{\"h\":\"pnpm run docs:build\",\"t\":[\"构建脚本,用于将 markdown 构建为网页。\",\"贡献者可以在提交前运行一次,查看是否有报错。\",\"一般情况下,图片路径错误、链接错误会导致报错。\"]},\"28\":{\"h\":\"pnpm run lint:md\",\"t\":[\"运行 Markdown Lint。\"]},\"29\":{\"h\":\"贡献指南\",\"t\":[\"Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。\"]},\"30\":{\"h\":\"文档维护的内容和主要方式\",\"t\":[\"文档的维护与更新主要包括几个方面:\",\"修正错别字、语句不通等\",\"修正文档中的错误或不清晰的描述\",\"调整章节结构,使文档条理更清晰\",\"增加示例、专题或入门教程\",\"等\",\"参与文档的维护的主要方式:\",\"在 GitHub 上的文档源码仓库下 提交 ISSUE\",\"在 GitHub Zotero Chinese 组织的 Discussions 上讨论(也可以直接点击文档网页底部的“参与讨论”)\",\"在网页底部评论区留言\",\"修改文档源码并提交 Pull Request (不熟悉 Pull Request 的读者可以参考 Pull Request 流程)\"]},\"31\":{\"h\":\"提交 / 参与议题 / 讨论\",\"t\":[\"读者可以在前述的几种途径参与讨论。\",\"注\",\"读者需要一个 GitHub 账户才能提交发起或参与讨论。\"]},\"32\":{\"h\":\"修改文档\",\"t\":[\"若只是对文档做简单的微调,比如修改简单的别字、语句不通或不清晰的描述等,可以直接通过 GitHub 在线修改并提交,参阅后文 简单修改。\",\"若需要对文档做大量修改,可在经过讨论后,选择 。\",\"注\",\"文档源码开源托管在 GitHub 上,因此读者需要一个 GitHub 账户才能提交 PR。\"]},\"33\":{\"h\":\"简单修改\",\"t\":[\"在线修改\",\"打开需要修改的文档网页,点击末尾左下角的 “在 GitHub 上编辑此页”,网页会自动跳转到 GitHub 编辑文档源码的页面。\",\"如果提示需要 fork 才能继续则点击即可。\",\"编辑需要修改的地方,文档风格和 Markdown 语法请参阅 。\",\"提交修改\",\"修改完后,在下方的 “Commit changes” 中输入有关此次修改的标题和具体描述。输入一个简短的新分支名字。\",\"点击 “Commit changes” 提交修改。\",\"提交 PR\",\"在 “Open a pull request” 页面中,输入此 PR 的标题和具体描述。点击 “Create pull request” 即可。\",\"PR 提交后,CI 工具会自动对提交的 PR 生成一个预览链接并评论在 PR 中,可以在此预览修改的结果。\",\"维护者将尽快审核这些修改。\"]},\"34\":{\"h\":\"稍微大量修改\",\"t\":[\"例如你需要添加一篇文章,上传一些图片等,且对 Git 不甚了解,那么可以使用这种方式在线修改,这可以避免你下载很多软件。\",\"请参考 。\"]},\"35\":{\"h\":\"大量修改\",\"t\":[\"如果你需要做较大量修改,例如增加几篇文章,或长期贡献/维护仓库,可以采用这种方式:完全本地修改,可以在本地预览修改的效果,修改后再推送到 GitHub。\",\"请参考 。\"]},\"36\":{\"h\":\"注意事项\",\"t\":[\"Commit 的注释信息应该是描述性的\",\"希望读者对审稿人/维护者的评论和意见保持开放的心态,并努力改进代码或文档\",\"新的 PR 不一定会及时审核,取决于审稿人/维护者的当时的工作时间\"]},\"37\":{\"h\":\"文档风格指南\"},\"38\":{\"h\":\"文件命名\",\"t\":[\"文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。 由于 Windows 不区分文件名大小写,故而 option-B.md 和 option-b.md 在 Windows 下会出现冲突。\",\"我们使用的文件的命名规则是:\",\"文件名一律采用小写字母\",\"文件名应尽量使用单词全称,避免使用各种形式的简写\",\"若文件名中含多个单词,应使用连字符 (hyphen) - 连接\"]},\"39\":{\"h\":\"文档 Frontmatter 规范\",\"t\":[\"通过 Frontmatter 为每个 Markdown 页面引入配置。\",\"Frontmatter 必须在 Markdown 文件的顶部,并且被包裹在一对三短划线中间。下面是一个基本的示例:\",\"--- title: 页面的标题 icon: markdown author: - name: 作者1 url: https://github.com/windingwind - name: 作者2 url: https://northword.cn - name: 作者3 date: 2023-07-20 23:46:54 updated: 2023-07-21 18:39:41 --- ... \",\"下面是一些常用的 Frontmatter 键:\",\"键\",\"类型\",\"必填\",\"默认值\",\"描述\",\"title\",\"string\",\"否\",\"第一个一级标题\",\"页面的标题。如果你不在 Frontmatter 中设置 title ,那么页面中第一个一级标题(即 # title)的内容会被当作标题使用。\",\"shortTitle\",\"string\",\"否\",\"标题\",\"当前页面的短标题,会在导航栏、侧边栏和路径导航中作为首选。\",\"icon\",\"string\",\"否\",\"无\",\"当前页面的图标\",\"author\",\"-\",\"否\",\"-\",\"见下述\",\"data\",\"string\",\"否\",\"文件的创建日期\",\"文档的创建日期\",\"update\",\"string\",\"否\",\"文件的更新日期\",\"该值其实无用,页面显示的最后更新时间是 Git 提交时间\",\"`author` 详解\",\"author 由一组 author.name 和 author.url / author.email 组成,其中 url 和 email 都是可选的。\",\"尤其需要注意的是缩进,name 前空二格,加一个短横线 -,空一格。url 或 email 与 name 保持对齐,不需要加 -。\",\"更多的 Frontmatter 可以参考框架的文档\",\"信息 Frontmatter 配置 | vuepress-theme-hope (vuejs.press)\",\"布局 Frontmatter 配置 | vuepress-theme-hope (vuejs.press)\"]},\"40\":{\"h\":\"文档语法风格\",\"t\":[\"所有教程均采用 Markdown 语言编写,下面列出了一些本文档中可能用到的语法和注意事项。\"]},\"41\":{\"h\":\"标题\",\"t\":[\"# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 \",\"提示\",\"一级标题是文档名,对应页面标题。一篇文档应有且只有一个一级标题\",\"文档内容从二级标题开始。\",\"文档中标题级别应逐级递增,例如:二级标题内应跟随三级标题,而不能越过三级标题直接使用四级标题\",\"标题不应含有特殊字符:如 latex 公式,代码块,数字编号等,不应以标点符号结尾\",\"标题前后空一行。\"]},\"42\":{\"h\":\"正文文本\",\"t\":[\"正文段落 1 (空行) 正文段落 2 \",\"提示\",\"中文字符与英文字符和数字之间应加上空格,如 中文 ABC 中文 而非 中文ABC中文中文 123 中文 而非 中文123中文\",\"标点符号采用全角,如 ,、。、:、、、? 等 标点符号与中文字符、英文字符以及数字之间不需加空格\",\"大小写应正确,如:Zotero 不是 zotero,GitHub 不是 github\",\"正文中部分专有词和特殊符号,可以放入 行内代码 来表示,美观且不容易发生错误,例如: 操作步骤:编辑 - 设置 - 引用 。\"]},\"43\":{\"h\":\"文字样式\",\"t\":[\"这是一段文本, **用两对星号包裹的内容会被加粗**, 而*只用一对星号(或下划线)包裹的内容会显示为斜体*, 用~~两对波浪线包裹的内容会显示为删除~~, 上下标:19^th^ H~2~O, 你可以标记 ==重要的内容== 。 \",\"预览: 这是一段文本,用两对星号包裹的内容会被加粗, 而只用一对星号(或下划线)包裹的内容会显示为斜体, 用两对波浪线包裹的内容会显示为删除, 上下标:19th H2O, 你可以标记 重要的内容 。\"]},\"44\":{\"h\":\"徽章\",\"t\":[\"可以通过徽章来标记文档阅读难度、推荐等。语法是将类型放入一对 _ (斜体)中。可以在正文和标题中使用,但是不能在一级标题(页面标题)中使用。\",\"_初级_ _中级_ _高级_ _推荐_ 通过 DOI 更新元数据 _初级_ 。 \",\"通过 DOI 更新元数据 。\"]},\"45\":{\"h\":\"无序列表和有序列表\",\"t\":[\"#### 无序列表 - item 1 - 更多的列表项 - 更多的列表项 - 更多的列表项 - item 2 - item 3 #### 有序列表 1. item 1 2. item 2 3. item 3 \"]},\"46\":{\"h\":\"链接\",\"t\":[\"[相对路径访问主页](../README.md) [相对路径访问贡献指南](./contributing.md) \"]},\"47\":{\"h\":\"图片\",\"t\":[\"![图片描述](../.vuepress/public/assets/icon/chrome-192.png) \",\"提示\",\"所有的图片资源都应放入 src/assets 内,尽量以通俗的方式描述图片内容。\",\"注意\",\"我们不使用 HTML 语法 标签来引入图片,请使用标准的 Markdown 语法。\"]},\"48\":{\"h\":\"视频\",\"t\":[\"一个 B 站视频: 一个自定义空降地址的 B 站视频: \",\"提示\",\"受限于存储空间,文档不支持插入本地视频,引入视频请上传 bilibili,然后以以上语法引入视频。\"]},\"49\":{\"h\":\"表格\",\"t\":[\"使用 GitHub 风格表格:\",\"| 居中 | 右对齐 | 左对齐 | | :-----------: | -------------: | :------------- | | 居中使用`:-:` | 右对齐使用`-:` | 左对齐使用`:-` | | b | aaaaaaaaa | aaaa | | c | aaaa | a | \",\"提示\",\"第二行表示对其方式的 : 不是必须的,当没有时,会默认为居左。\"]},\"50\":{\"h\":\"代码\"},\"51\":{\"h\":\"行内代码\",\"t\":[\"行内代码效果: `code` \",\"行内代码效果: code\"]},\"52\":{\"h\":\"块级代码\",\"t\":[\"```js var foo = function (bar) { return bar++; }; console.log(foo(5)); ``` \",\"三个反引号后跟随代码块语言:md、js、plain(纯文本) 等。\",\"预览:\",\"var foo = function (bar) { return bar++; }; console.log(foo(5)); \"]},\"53\":{\"h\":\"告示块\"},\"54\":{\"h\":\"提示\",\"t\":[\"::: tip 这是一个提示 ::: \",\"提示\",\"这是一个提示\"]},\"55\":{\"h\":\"备注\",\"t\":[\"::: note 这是一个备注 ::: \",\"注\",\"这是一个备注\"]},\"56\":{\"h\":\"注意\",\"t\":[\"::: warning 这是一个注意 ::: \",\"注意\",\"这是一个注意\"]},\"57\":{\"h\":\"警告\",\"t\":[\"::: caution 这是一个警告 ::: \",\"警告\",\"这是一个警告\"]},\"58\":{\"h\":\"详情\",\"t\":[\"::: details 这是一个折叠可见内容 ::: \",\"详情\",\"这是一个折叠可见内容\"]},\"59\":{\"h\":\"自定义标题\",\"t\":[\"自定义标题\",\"通过在 tip、warning、caution、details 后添加文字,可以自定义块标题,例如:\",\"::: tip 自定义标题 通过在 `tip`、`warning`、`caution`、`details` 后添加文字 ::: \"]},\"60\":{\"h\":\"嵌套显示\",\"t\":[\"支持两级嵌套,第一级的标志使用四个冒号::::,例如:\",\":::: details 嵌套显示 ::: tip 这是第二级提示。 ::: :::: \",\"嵌套显示\",\"提示\",\"这是第二级提示。\"]},\"61\":{\"h\":\"脚注\",\"t\":[\"脚注内容就近放置,以方便阅读源文本。\",\"这是一段文本[^1] [^1]: 这是一个脚注 \",\"这是一段文本[1]\"]},\"62\":{\"h\":\"\",\"t\":[\"这是一段正文文本 > 这是一段引用文本 这是另一段正文文本 \",\"这是一段正文文本\",\"这是一段引用文本\",\"这是另一段正文文本\",\"提示\",\"除上述文字样式外,不使用 html 语法改变文字样式,仅在特殊情况下使用 html 语法增添文档的趣味性。\",\"这是一个脚注 ↩︎\"]},\"63\":{\"h\":\"通过 VSCode.dev 网站在线更改本文档\",\"t\":[\"打开 https://vscode.dev/github/zotero-chinese/wiki\",\"等待页面加载完成\",\"根据提示登录 GitHub 账号\",\"根据提示登录 GitHub 账号\",\"根据提示安装推荐的插件\",\"安装插件\",\"新建分支 切换到 源代码管理窗格,依次选择··· 按钮——分支——创建分支,输入分支名,并按回车确认。创建完成后根据提示切换到新分支。\",\"新建分支\",\"输入新分支的名字\",\"切换到新分支\",\"为什么要创建新分支?\",\"严格地说,所有的修改都应在新分支进行,这有利于 Git 的管理。\",\"具体的,如果要同时修改多个内容,某一部分内容被合并,但另一部分内容仍在修改,这时候只在主分支修改显然是不够用的。\",\"此外,主仓库对 PR 采取 splash and merge 策略,这会把某一分支的所有提交压缩为一个提交然后合入主分支,这有利于保持仓库提交历史的简洁和线性关系,fork 仓库全部在主分支修改时,将无法自动保持与主仓库的提交历史同步,而使用新分支修改就没有这些烦恼。\",\"进行对应的修改\",\"进行对应的修改\",\"上传文件\",\"图片可以通过在 src/assets/ 文件夹右击,点击 上传 来上传到仓库。\",\"也可以直接 ctrl+v 粘贴图片。\",\"文档风格和语法\",\"文档的写作风格和语法等请参阅 。\",\"提交并推送\",\"提交并推送\",\"发起 Pull Request\",\"等待社区管理员审核合并\",\"PR 发起后,机器人会自动检查 PR 内容是否符合规范,也会部署一个预览版本,可以在这里查看预览。\",\"netlify预览pr\",\"哪些情况会导致检查错误?\",\"仓库的自动检查包含格式检查和构建检查。格式上,仓库使用 Markdown Lint 作为规范,如果你使用 VS Code 且安装了推荐的插件,那么通常 Lint 检查是可以通过的。\",\"构建检查失败最可能的原因就是图片、链接等错误,如图片等目录级别错误、大小写错误、相对链接不存在等。\",\"如何更新 PR?\",\"已经发起的 PR,可以直接在这个 PR 对应的分支上继续提交新的内容以更新这个 PR。\"]},\"64\":{\"h\":\"CSL 中文文档\",\"t\":[\"注意\",\"此页面正在施工中。\",\"CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。\",\"Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。$\\\\LaTeX$ 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 $\\\\LaTeX$ 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 $\\\\LaTeX$ 同样漂亮的引用和参考文献目录。\",\"由 CSL 编写的 style 定义了引用和参考文献目录的格式。Zotero 就是通过 style 来生成指定格式的引用和参考文献目录。据统计,现在已经有超过 9000 个 style,覆盖了大多数的常见的 SCI 期刊。在 Zotero 中能很容易检索到对应期刊的 style。但是即使有这么多的 style,仍然有可能有的期刊没有对应的 style。此外,有的 style 年代久远,已经不符合期刊 author guideline 中的要求,因此,我们需要学习 CSL 来定制需要的 style,至少能在已有的 style 上修改来满足期刊的要求。但是遗憾的是,国内 CSL 的资料几乎没有。\",\"本项目是对 CSL 英文文档 的翻译。本人能力有限,理解和翻译有误处请大家谅解,同时欢迎 issue 和 pull。\",\"本文档基于 Welcome to CSL-chinese’s documentation! — CSL-chinese documentation 修改。\",\"警告\",\"文档中,凡标注 Work in progress 的均为正在施工的页面,无法确保与现有英文文档相一致,无法确保译文修改前后的一致性、准确性,请酌情阅读。\"]},\"65\":{\"h\":\"术语对照表\",\"t\":[\"以下按照在文中出现的顺序罗列了本文翻译时对某些术语采取的译法,并给出其基本解释,便于读者对照理解。这些术语可能比较少见,或在本文中有特定的含义,其他涉及技术背景的术语已经在正文中给出解释,此处不再赘述。\"]},\"66\":{\"h\":\"引注(citation)\",\"t\":[\"在正文中标注“此处有参考文献”的标志,在不同的引用风格中表现为不同的文本,可能是引用的次序或被引用文献相关信息组成的简短文本。\"]},\"67\":{\"h\":\"参考文献表(bibliography)\",\"t\":[\"国标中称为“参考文献表”,亦有部分文献称之为“书目”,是集中展示被引文献详情的列表,可能位于章节末尾、全文末尾、每一页的页脚。\"]},\"68\":{\"h\":\"引用格式(citation format)\",\"t\":[\"对于“如何在文章中标示参考文献”的规范标准,特指一整个标准体系,如 GB/T 7714-2015,而不是诸如是“作者名需要大写”这样的具体规定。\"]},\"69\":{\"h\":\"条目(item)\",\"t\":[\"即 Zotero 中的“条目”,指对文献的相关信息的记录,条目中通常含有那些用于分类、引用的信息,并非指文献的内容本身。\"]},\"70\":{\"h\":\"参考文献条目(bibliographic entry)\",\"t\":[\"参考文献表的组成单位,即参考文献表中的项目,除了 numeric 复合风格之外,一个参考文献条目往往对应一篇被引用的文献。\"]},\"71\":{\"h\":\"风格(style)\",\"t\":[\"对一些相似的引用格式的统称,如 in-text 风格、note 风格等。\"]},\"72\":{\"h\":\"样式(style)\",\"t\":[\"特指 CSL 的 style 文件及其代码,是对引用格式的代码实现。注意区别于 Microsoft Word 中的“样式”,在 Microsoft Word 中,“样式”是指若干具体格式的集合。\"]},\"73\":{\"h\":\"术语(term)\",\"t\":[\"在 locale file 有关的语境里,“术语”指那些出现在引文或参考文献条目中用于串起相关信息的固定短语,如“xx等”、“xx编”、“载于xx”中的术语就分别连接着著作人、编者、出版物来源的信息。\"]},\"74\":{\"h\":\"翻译(translation)\",\"t\":[\"在 locale file 有关的语境里,“翻译”特指术语(term)在不同语言中的翻译。\"]},\"75\":{\"h\":\"CSL 介绍\"},\"76\":{\"h\":\"前言\",\"t\":[\"本节是对 Citation Style Language(CSL)的简单介绍,CSL 是一种基于 XML 的开放 (开源) 语言,用于描述引注和参考文献表的格式。对 CSL 更技术性、更深入的说明见 。\"]},\"77\":{\"h\":\"什么是 CSL\",\"t\":[\"如果你写过论文的话,你很可能在其中引用了别人的工作。参考文献在学术交流中至关重要,它可以交代缘由,并且把已发表的研究联系到一起。但是,手动设置引注格式和参考文献表非常耗时,尤其是当你面对的期刊都有他们自己的引用格式的时候。\",\"好在参考文献管理软件可以解决这样的问题。像 Zotero、Mendeley、Papers 等软件不仅能帮助你管理研究资料,而且可以自动生成引注和参考文献表。但要想设置特定的引用格式,这些程序需要使用一种可被计算机理解的语言来描述各种引用格式,也许你已经猜到,这种语言就是 Citation Style Language(CSL)。\"]},\"78\":{\"h\":\"引用格式\",\"t\":[\"世界上有成百上千种不同的引用格式。\",\"(GB/T 7714-2015)\",\"在中国,最常见的引用格式是国家标准《信息与文献 参考文献著录规则》,最新的标准号是 (GB/T 7714-2015)。\",\"可幸的是,绝大多数引用格式都属于几个基本类别,CSL 将引用格式分为以下类型:\"]},\"79\":{\"h\":\"In-text 风格\",\"t\":[\"引用格式可以分为两个主要的类型。第一种类型就是 in-text 风格,在这种风格中,一个引注直接指向参考文献表中的一个或者多个条目。CSL 继续将这种风格细分为 author-date、author、numeric 和 label 风格。\",\"每个引注都指向一个或者多个参考文献条目。在 CSL 中,每个独立的指向关系称为一个引用。例如,引注 (Doe et al. 2002, Smith 1997) 包含两个引用:一个是 Doe et al. 在 2002 年发表的文献,另一个是 Smith 于 1997 年发表的文献。在 CSL 的语境中,参考文献表中的条目有时也称为参考文献。\"]},\"80\":{\"h\":\"author-date 和 author 风格\",\"t\":[\"author-date 风格的引用会显示作者名字和发表的日期,例如:(Van der Klei et al. 1991; Zwart et al. 1983)。而 author 风格的引用只显示作者名字,例如:(Gidijala et al.)。参考文献条目一般使用字母表顺序对作者进行排序。\",\"著者-出版年制\",\"国标中的“著者-出版年制”就属于 author-date 风格。\",\"应该注意的是,即使这些风格中的大多数与哈佛大学并没有联系,许多风格指南仍使用了令人疑惑的术语“Harvard”来指代”author-date 格式。而且,并不存在一个所谓的官方 Harvard 格式。\",\"参考文献条目实例\",\"Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.\",\"van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.\",\"Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.\"]},\"81\":{\"h\":\"numeric 风格\",\"t\":[\"numeric 风格的引用由数字组成,比如 [1,2] 和 [3]。参考文献条目一般按照作者首字母或者首次引用的次序来进行排序。\",\"顺序编码制\",\"国标中的“顺序编码制”就属于 numeric 风格。\",\"参考文献条目实例\",\"Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.\",\"Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.\",\"van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.\"]},\"82\":{\"h\":\"numeric 复合风格\",\"t\":[\"复合风格是 numeric 风格的变体。这种风格在化学领域很流行,参考文献条目可能会包含多个参考文献。一旦某个引注定义了一个这样的参考文献条目(如 [2]),就可以单独引用条目中的项目(如 [2b])。\",\"注意\",\"CSL 尚未支持这种格式。\",\"参考文献条目实例\",\"Gidijala L, et al. (2008) BMC Biotechnol 8: 29.\",\"a) Zwart KB, et al. (1983) Antonie van Leeuwenhoek 49: 369-385, b) van der Klei IJ, et al. (1991) Arch Microbiol 156: 15-23.\"]},\"83\":{\"h\":\"Label 风格\",\"t\":[\"Label 风格的引注由简短的键构成,例如 [GBKv2008] 和 [ZwVH1983; vaHV1991]。这些键也出现在参考文献条目中。因为目前不支持(特定风格的)自定义键格式,CSL 对这种格式支持有限。\",\"键(key)\",\"“键”在计算机领域具有丰富的含义,在这里,它是指一串代表被引文献的字符。\",\"参考文献条目实例\",\"[GBKv2008] Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.\",\"[vaHV1991] van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.\",\"[ZwVH1983] Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.\"]},\"84\":{\"h\":\"Note 风格\",\"t\":[\"引用格式的第二类为 note 风格。这种风格中,引用文献时会在句子中插入一个标记,这个标记可以是数字或者符号,例如 [*] 和 [†]。每个标记都指向脚注或者尾注。CSL 不限制采用哪些数字格式或者符号作为标记,这些应该留交文字处理软件来完成。与前面的 in-text 风格的引注不同,尾注或脚注通常包含辨识引用文献所需的所有信息。有些 note 风格还包含一个参考文献表以显示所有被引文献的概貌,并对文献作更详细的描述。\",\"字处理软件\",\"字处理软件,即用于将文字格式化和排版的办公软件,如 Microsoft Word,国内常见的 WPS 就是“文字处理软件(Word Process Software)”的英文缩写。\",\"参考文献条目实例\",\"[*] Voyage to St. Kilda’ (3rd edit. 1753), p. 37.\",\"[†] Sir J. E. Tennent, ‘Ceylon,’ vol. ii. 1859, p. 107.\"]},\"85\":{\"h\":\"CSL 生态\",\"t\":[\"要明白 CSL 是怎么运作的,首先来看看 CSL 生态系统的各个部分。\",\"csl-infrastructure\",\"图注\",\"“Style”指的是 CSL 样式,“Item Metadata”指的是每篇参考文献的作者,题目等信息,“Locale Files”是为实现与语言无关(指英语、汉语等)的格式的本地化文件,“Citation Details”指的是影响引注信息或参考文献表表现的细节,比如顺序、位置等。\"]},\"86\":{\"h\":\"独立样式和从属样式\",\"t\":[\"CSL 世界中的一切都是围绕样式展开的,但是并不是所有的样式都是相似的。主要包括两种样式:独立样式(independent styles)和从属样(dependent styles)。\",\"独立样式有 2 个职责,首先,需要先定义一种引用格式。具体格式是什么样的,是 author-date 风格还是 note 风格? 引用是按字母排序还是按日期排序?参考文献条目中是不是包含 DOI?使用什么标点符号以及大小写?文献发表年限在文献标题之前还是之后?等等。其次,CSL 样式必须描述它本身,我们称这个自我描述的信息为样式元数据。元数据中可以包括该 CSL 样式对应的期刊标题,以及该期刊的网站,该 CSL 样式的创建者等。\",\"从属样式则仅包括样式元数据。从属样式仅需引用一个独立样式 (其“父样式”),且应用父样式的引用格式,而无需提供对引用格式的定义。\",\"当多个 CSL 样式共享相同的引用格式时,从属格式非常有用。以一个出版社旗下的不同期刊为例,如果限制只能使用独立样式,则虽然他们的引用格式都是相同的,但每个期刊的 CSL 样式都要包含对引用格式的完整定义。这会产生大量难以维护的 CSL 样式。如果出版社对它的引用格式作了一点小改动,我们将不得不更新每一个独立样式。\",\"从属样式正是用来解决这些问题的。例如,《Nature》、《Nature Biotechnology》和 《Nature Chemistry》期刊都使用同样的引用格式。那么,只需为《Nature Biotechnology》和《Nature Chemistry》都创建指向《Nature》的从属样式即可。这样一来,如果 Nature 出版集团想修改《Nature》及其关联期刊的引用格式,只需更改《Nature》 CSL 样式中的引用格式,而无需触及其从属样式。\"]},\"87\":{\"h\":\"本地化文件\",\"t\":[\"事实上,大多数独立格式并不是完全独立的。\",\"以下面的参考文献为例:\",\"Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (1999, September 28). Method and system for placing a purchase order via a communications network. Retrieved from https://www.google.com/patents/US5960411\",\"你可以在独立样式中将各种特定语言的信息强行编码到样式中来描述这个引用格式。例如,在最后的链接前加上 Retrieved from 这段文本,或者采用 YYYY, Month DD 作为日期的格式。但是这样的样式只能在美式英语中使用,如果使你想要这个引用格式的德语版,就必须修改样式中所有对应的翻译和日期格式。\",\"幸运的是,独立样式可以依据 CSL locale file(以下也翻译为“本地化文件”)来实现通用术语的翻译以及日期格式和语法的转换。例如:我们可以重写 CSL 样式以便使用 retrieved 和 from 的 CSL 术语,并使用本地化的日期格式。如果我们将 CSL 样式的区域设置为美式英语,该样式将从美式英语的本地化文件检索术语的译文和本地化的日期格式,并生成上述引用。但如果将样式区域从英语切换至德语,就会使用德语对应的本地化文件,生成的引用如下:\",\"Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (28. September 1999). Method and system for placing a purchase order via a communications network. Abgerufen von https://www.google.com/patents/US5960411\",\"因此,通过本地化文件,可以编写与语言无关的 CSL 样式。正如上面所展示的那样,这样的样式可以在不同的语言中轻松切换。但是语言是很复杂的,对于那些已经有本地化文件的语言,CSL 的自动本地化并不能支持所有语言的特性。不过,如果你要自己修改一个 CSL 样式使其满足你所选的语言,语言无关的样式仍然是有意义的。\",\"本地化文件还带来一个好处,我们只需要为每种语言定义一次通用的翻译、日期格式和语法。这样可以保证样式紧凑,并使本地化文件更易于维护。由于给定语言的引用格式并不总是采用某种翻译和日期格式,CSL 样式也可以选择性的重写任何在本地化文件中定义过的数据。\"]},\"88\":{\"h\":\"条目元数据\",\"t\":[\"接下来就是你所要引用的条目在参考文献表中的具体内容:条目元数据。\",\"例如,一篇期刊文章的参考文献条目可能会显示作者的名字、发表的年份、文章标题、期刊名称、卷和期、出现的页码范围以及 DOI,所有这些信息都有助于读者识别和查找这篇文章。\",\"参考文献管理软件使创建条目的文库变得简单。虽然许多参考文献管理软件都有它们自己存储条目元数据的方式,但大多数都支持例如 BixTex 和 RIS 这样通用的参考文献数据交换格式。citeproc-js CSL 处理器引入了一种基于 JSON 的格式,这种格式以 citeproc-js 可以理解的方式来存储元数据。一些其他的 CSL 处理器也已经开始采用这种 CSL JSON 格式(又名 citeproc JSON)。\"]},\"89\":{\"h\":\"引用细节\",\"t\":[\"对于一种给定的引用格式,引注和参考文献表的展现方式不仅取决于被引用条目的元数据,还取决于这些条目被引用处的上下文。我们将这类特定于上下文的信息称为引用细节。\",\"例如,条目的引用顺序会影响他们在参考文献表中的位置。在 Note 风格中,之前已被引用的条目在被继续引用时会写为更紧凑的形式。另一个例子是定位词,其引导读者到被引工作的特定位置,比方说章节中某个参数被提出的页码,例如 (Doe 2000, pp.43-44)。\"]},\"90\":{\"h\":\"CSL 处理器\",\"t\":[\"有了 CSL 样式、locale file、元数据和引用细节,我们现在需要一个软件来解析这些信息,并以正确的格式生成引注和参考文献表条目,那就是 CSL 处理器。\",\"大多数的参考文献管理软件使用的是像 citeproc-js 这样免费开源的 CSL 处理器。\"]},\"91\":{\"h\":\"理解 CSL 样式\",\"t\":[\"到现在为止,我们已经了解了什么是 CSL、怎么使用它、以及它是如何运作的。接下来我们将深入到 CSL 样式文件内部,分析它的 XML 代码。\",\"《XML 基础》一章中简单介绍了 XML,看完后可以读懂并编辑简单的 XML 文件。如果想深入了解 XML,可以在网上查找 XML 教程。\"]},\"92\":{\"h\":\"从属样式解析\",\"t\":[\"正如前文所述,从属样式比相对的独立样式更紧凑,因为它们并未真正地定义一个引用格式。此外,从属样式还非常常见,并且它们的样式元数据和独立样式中的相似,因此对学习 CSL 而言是一个好的出发点。我们将进一步逐行观察下面这个 CSL 从属样式文件:\",\" \",\" \",\"XML 格式声明。\",\" \",\"cs:style 根元素的起始标签和结束标签。xmlns 属性指定 style 中的所有元素都是 CSL 的一部分,而 version 则表明了 CSL 版本的兼容性。defaults-locale 告诉样式才有特定的语言来生成引注和参考文献表(美式英语)。\",\"提示\",\"xmlns 是 XML name space 的缩写,“name space”一般译为命名空间,即一些名称的集合。XML 标记语言允许创建者自定义各种标签和属性的名称,同一个名称在不同场合可能有不同的含义,因此有必要向读者交代这些名称的定义。虽然可以通过在 XML 中书写注释来阐述这些名称,但为了方便起见,一般在一个网页给出这一系列名称的定义和说明,并通过 xmlns 属性链接到 XML 文件中,基于 XML 的 CSL Style 也不例外。\",\"本文用 cs:style 特指 CSL 命名空间中的 style 元素(因为我们可能会引入其他命名空间),实际书写代码时并不需要写成 ...。\",\" \",\"大多数从属格式都是电子表格自动生成的。这个 XML 注释明确地指出这个样式已经被生成,并包含了一个指向电子表格的链接。\",\" ... \",\"cs:info 小节用于存储样式的大部分元数据。\",\"Applied and Environmental Microbiology \",\"样式的标题(通常也是该样式所适用的期刊的名称)。\",\"http://www.zotero.org/styles/applied-and-environmental-microbiology \",\"样式的 ID,是文献管理软件用来区分不同样式的标志。\",\" \",\"样式自身的链接。该链接指向了网上的副本。简便起见,对于我们代码仓库中的样式,我们采用相同的 URL 作为样式 ID 和自身链接。\",\" \",\"从属样式需要链接到一个独立的父样式,父样式为的引用格式将会应用到这个从属样式中。此处,我们使用 American Society for Microbiology 的样式作为父样式。\",\" \",\"如果每一个样式的意图都是清晰的,那维护起一大堆 CSL 样式将更方便。因此我们要求我们的代码仓库中的样式都必须至少包含一个“说明文档”的链接。在本例中,该链接指向期刊主页。\",\" \",\"为了便于对我们的样式进行分类,我们用 cs:category 元素的 citation-format 属性中指定引用格式。出于同样的目的,我们使用 field 属性为每个样式文件分配一个或多个研究领域。\",\"0099-2240 1098-5336 \",\"当为某个期刊创建样式时,可以在 cs:issn 元素和 cs:eissn 元素中保存其印刷品的 ISSN(国际标准连续出版物号)和电子版的 ESSIN(电子国际标准连续出版物号)。\",\"2014-04-30T03:45:36+00:00 \",\"updated 的内容是一个时间戳,指明样式最后一次更新的时间。\",\"This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License \",\"本文最后一个介绍,但不一定是样式的 cs:info 中的最后一个元素,表示这个样式在哪一个版权协议下发布。\"]},\"93\":{\"h\":\"独立样式解析\",\"t\":[\"最后是一个真正的独立样式,它确切地定义了引用格式(虽然并不是一个实用的样式)。我们代码仓库中的大多数独立样式都比下面这个简化过的例子还要大很多。但我们下面这个 author-date 样式仍然是一个有效的样式,并且具有与其他独立样式相同的整体结构。\",\" \"]},\"94\":{\"h\":\"样式结构\",\"t\":[\"要理解上面的样式,首先看一下根元素 cs:style 的子元素。\",\" \",\"相比于只有 cs:info 一个子元素的从属样式,可以看到这里还有其他几个元素。除了 cs:info 以外,还有 cs:locale、cs:macro、cs:citation 和 cs:bibliography。\",\"这些元素的作用是什么呢?\",\"必需的 cs:info 元素在在独立样式中的作用和其在从属格式中的相同,都是用来保存样式元数据。\",\"可选的 cs:locale 元素可以用来重写本地化文件中定义过的数据。\",\"可选的 cs:macro 用来存储 CSL 代码,这些代码可能应用在 cs:citation、cs:bibliography 或者其他 cs:macro 元素中。\",\"必需的 cs:citation 元素定义引注的格式。\",\"可选的 cs:bibliography 元素定义参考文献表的格式。\",\"重写\",\"\\\"重写\\\"(override)原本是 OOP(一种编程思想)中的概念,指的是重新定义一个已有的方法(即函数)。本文原文写为“overwrite”,即重新定义本地化文件中已有的任何翻译、日期格式,严格来说与译为“重写”的 override 并不是同一个意思。\",\"有了以上简单的认识,下面从 cs:style 根元素开始分析。\"]},\"95\":{\"h\":\"cs:style 根元素\",\"t\":[\" \",\"我们已经在从属样式的 cs:style 元素中见到过 xmlns 和 version 属性,这个 class 是新出现的属性。CSL 处理器通过 class 属性区分本样式是 in-text 风格还是 note 风格。\"]},\"96\":{\"h\":\"info 元素\",\"t\":[\"独立样式的元数据通常比从属样式的元数据更加全面:\",\" Example Style http://www.zotero.org/styles/example John Doe JohnDoe@example.com Jane Doe Bill Johnson 2014-10-15T18:17:09+00:00 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License \",\"title、样式 ID、self 链接、category、时间戳和 license,其作用与先前介绍的一致,但还是有些许差别。首先,独立样式不依赖父样式。相反,我们通常是提供一个 template (模板)链接,以表明当前的独立样式是基于哪一个样式来创建的(CSL 样式很少从头写起,因为改写已有的样式往往比较快速)。本例中,所链接的模板是 APA 样式。此外,我们还倾向于放一个或多个 documentation 链接,其指向有关引用格式的在线描述。\",\"为向 CSL 格式的创建者致以谢意,也可以把他们的名字和联系方式添加到样式文件中。在当前的例子中,有一个作者和两个贡献者。通常来说,作者完成了创建样式的大部分工作,而贡献者只对此作了一些小的改进。\"]},\"97\":{\"h\":\"cs:citation 元素和 cs:macro 元素\",\"t\":[\"接下来分析 cs:macros 和 cs:citation 元素。cs:citation 元素旨在描述引注的格式(对于 note 风格而言,就是脚注或者尾注的格式)。\",\" \",\"上面的代码生成类似 (A.C. Smith et al., 2002; W. Wallace, J. Snow, 1999) 这样的引注。要理解这种引注格式在 CSL 中是如何编码的,我们首先着眼于 cs:citation 元素中的 cs:layout 元素。cs:layout 元素中的 prefix 和 suffix 属性定义了引注周围的圆括号,而 delimiter 属性的值(;)将相邻的引用分开。每个单独的引用都是由 cs:layout 的内容来决定的,引用由 author 和 issue-year 宏的输出组成,并以cs:group 元素上的 delimiter 属性(,)分隔。\",\"宏(macro)\",\"在英语中,macro 一词的本义是“巨大的、大量的”,与之对应的是 micro “微小的”。在计算机领域,macro 来源于 macro-instruction(宏命令),与之对应的是 micro-instruction(微命令)。micro-instruction 可以理解为基本的、小段的、零碎的代码,而 macro-instruction 就是一系列需要反复使用的小段代码的总称——一大段代码。对于支持 macro 的编程语言,当某段代码需要反复使用时,只需将这段代码定义为 macro,随后的代码中就可以用这个 macro 的名称来代表这一大段代码。之后,这些 macro 会被计算机替换为它所代表的小段代码,这一过程称为宏展开。\",\"在 CSL 中,我们使用 cs:macro 元素来定义 macro,name 属性的值就是这个 macro 的名字,这个名字一般由短横杠连接的小写单词(因为空格用于分隔属性或属性值)组成,cs:macro 的子元素就是它所代表的代码。在这里,我们把 cs:macro 元素显示的结果称为它的输出。\",\"author 宏输出那些存储于所引条目的名称变量 author 的名字。cs:name 的 initialize-with 属性指定名应当以缩写显示,并且每个缩写后面附带属性值(.)。\",\"名称变量(name variable)\",\"名称变量是 CSL 众多变量类型中的一种,即那些代表了某个事物的名称的变量。有关 CSL 的变量类型,详见附录 Ⅳ。\",\"issued-year 元素以一个cs:choose 元素定义的分支语句开始。如果被引条目具有保存在日期变量 issued 的日期,则输出这个日期的年份,否则输出 no date 术语的值。\",\"layout 元素中的 group 元素的 author 用来印出在 author 元素中存储的值,issued-year 则用来印出 issued-year 元素储存的值。\",\"你可能会感到奇怪,为什么不直接把上面两个宏中的 CSL 代码放在 cs:citation 元素中呢?使用宏有什么好处呢?在上面的例子中,宏的使用简化了 cs:citation 元素的结构,使其更易于拓展。此外,上述的两个宏总共被调用了 4 次(两次在 cs:citation 元素中,两次在 cs:bibliography 元素中),如果不使用宏,必须多次重复这些 CSL 代码。因此宏的使用带来了更紧凑的样式。\",\"还没完,再看 cs:citation 元素,它含有两个属性,即 et-al-min 和 et-al-use-first。这两个属性共同决定了当条目的author 名字大于等于 3 个的时候,只有第一个名字会被输出,并尾随 et al 术语。\",\"最后,cs:citation 元素中还包含了 cs:sort 元素,cs:sort 又包含了两个 cs:key 元素。这一部分用来决定一个带有引注的引用如何排序。第一个用来排序的键由 author 宏的输出组成(CSL 足够智能,可以先根据姓、再根据名进行排序)第一个键具有相同输出的引用将继续根据第二个键进行排序,即 issued-year 宏的输出。\",\"键(key)\",\"到了这里,“键”是指被引注献中那些用于排序的信息。\"]},\"98\":{\"h\":\"cs:bibliography 元素\",\"t\":[\"cs:citation 负责输出引注和协调引用,cs:bibliography 则用于定义参考文献条目的格式。\",\" ... \",\"上述的例子中的 cs:bibliography 小节实际上只适用于一种类型:期刊文章。它生成的参考文献条目格式为:\",\"A.C. Smith, D. Williams, T. Johnson. 2002. Story of my life. Journal of Biographies, 12(2), 24—27. W. Wallace, J. Snow. 1999. Winter is coming. Journal of Climate Dynamics, 6(9), 97—102.\",\"我们是如何定义这种格式的呢?首先,cs:bibliography 元素和 cs:citation 元素的结构很相似,但这里的 cs:layout 元素用来定义每一个独立的参考文献条目的格式。除了 author 宏和 issued-year 宏,参考文献条目还显示每个条目的 title 和 container-title(对期刊文章来说,就是期刊的名称),以及这篇文章见刊的 volume、issue,还有文章所在的页码(page)。样式使用 prefix 和 suffix 属性来将期刊期号括到圆括号里,并依据 cs:layout 和 cs:group 元素的 suffix和 delimiter 属性放置了其它的标点。\",\"cs:bibliography 也含有一个 cs:sort 元素,它有三个键:author 和 issued-year 宏,以及第三个键——条目的 title。\"]},\"99\":{\"h\":\"cs:locale 元素\",\"t\":[\"我们这个样式的最后一节是 cs:loacle。正如我们前面提到的那样,CSL 的本地化文件可以将 CSL 样式快速转换为不同的语言。但是,有时需要重写默认的翻译。\",\" without date \",\"不出所料,在美式英语的本地化文件中,对 no date 术语的输出就是 no date。但是在我们的示例样式中,我们想使用 without date 来代替它。为了重写默认的翻译,我们可以使用上面所示的 cs:locale 元素。对一个没有发行日期的条目,这种重写会导致引注变成这样: (D. Williams, without date) 。\",\"cs:locale 的 xml:lang 属性被设置为 en,当样式被用于英语写作的时候,这个属性使 CSL 样式重写 no date。如果我们在德语环境中使用这个样式,它将会依据德语的本地化文件输出翻译(ohne Datum)。\"]},\"100\":{\"h\":\"更进一步\",\"t\":[\"这里只对 CSL 进行了简单的介绍,有关 CSL 的更多知识可以查看 CSL 标准文档或者其他参考文档。\"]},\"101\":{\"h\":\"CSL 1.0.2 规范\",\"t\":[\"主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier\",\"其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、Lars Willighagen and other CSL contributors.\",\"译者:Mao Zhou、 Northword。\",\"此工作以 Creative Commons Attribution-ShareAlike 4.0 International License 授权。\"]},\"102\":{\"h\":\"介绍\",\"t\":[\"CSL(Citation Style Language,引文样式语言) 是一种基于 XML 的格式,用来描述引文、注释和参考文献的格式,他提供了:\",\"一种开放的 (开源的) 格式\",\"紧凑、稳定的样式\",\"对样式要求的广泛支持\",\"样式自动本地化\",\"对样式发布和更新的基本支持\",\"数千种免费提供的样式(CC BY-SA 授权)\",\"有关的其他文档,CSL 议程,样式和本地化文件详见 CSL 项目主页。\"]},\"103\":{\"h\":\"术语\",\"t\":[\"关键字 MUST,MUST NOT,REQUIRED,SHALL,SHALL NOT,SHOULD,SHOULD NOT,RECOMMENDED,MAY 和 OPTIONAL 按 IETF RFC 2119 中的描述解释。\",\"译者注:关于 IETF RFC 2119 协议\",\"RFC ,即 Request for Comments,意见征求稿,是由 The Internet Engineering Task Force 制作的文档,其中许多是各种 Internet 协议的官方标准。\",\"RFC 2119 协议全文: \"]},\"111\":{\"h\":\"样式的结构\",\"t\":[\"注意\",\"此节尚未校对完成\"]},\"112\":{\"h\":\"根元素\",\"t\":[\"样式的根元素是 cs:style。在 独立样式 中,根元素有以下几种属性:\"]},\"113\":{\"h\":\"\",\"t\":[\"🏳️ Default: none — 决定样式的 是 in-text 类型(值 in-text) 或者 note 类型(值 note)。\",\"译者注\",\"in-text 表示引文在文字中,note 表示引文不在文字中,可能是脚注等。\"]},\"114\":{\"h\":\"\",\"t\":[\"🏳️ Default: none · Optional — 为本地化设值默认的 locale。值必须是 locale code。\",\"译者注:常用 local_code\",\"zh-CN:中文(中国) zh-hk:中文(台湾) zh:中文 en-US: 可以参阅 Language Strings | Microsoft Docs\"]},\"115\":{\"h\":\"\",\"t\":[\"🏳️ Default: none · ⚠ Required — 样式的 CSL 版本。对于 CSL 1.0 兼容样式,必须是 1.0。\",\"此外,cs:style 可能携带任意的 和 。\",\"在这些属性中,从属样式 中,只有 version 是必须的, default-locale 属性可以设置用来代替的默认的本地化文件 。其他的属性是可以忽略的。\",\"下面是一个 独立样式 的 cs:style 示例,第一行是 XML 声明:\",\" \"]},\"132\":{\"h\":\"Locale\",\"t\":[\"来自 \\\"locales-xx-XX.xml\\\"locale file 的本地化数据可以通过 cs:locale 元素来重定义或者补充定义。cs:locale 元素应该放在 cs:info 元素后。\",\"cs:locale 元素的 xml:lang 属性是可选的,必须设置为 xsd:language locale code 中的一种,用来确定使用的语言环境(或方言,见 [locale fallback](locale fallback))。\",\"对于 cs:locale 元素的详细使用,另见 术语、本地化日期格式 和 本地化选项。\",\"下面是一个 cs:locale 元素的例子:\",\" \",\"Locale Fallback\",\"本地化文件为语言方言提供了本地化数据;可选的 cs:locale 元素的 xml:lang 属性设置为一种语言 (例如, \\\"en\\\" 代表英语 ) 或者方言 (例如, \\\"en-US\\\" 代表美式英语 ) ,xml:lang 属性也可能缺失。Localr fallback 是一种在上述的属性设置中检索来确定本地化单元的机制。这些本地化单元包括日期格式,本地化选项或者术语的特定形式。\",\"对于同一种语言的方言,一种被称为初级方言,其他都是二级方言。下面展示了部分语言的初级方言和二级方言:\",\"初级方言\",\"二级方言\",\"de-DE\",\"de-AT, de-CH\",\"en-US\",\"en-GB\",\"pt-PT\",\"pt-BR\",\"zh-CN\",\"zh-TW\",\"这里用一个例子来描述 Locale fallback。如果要选择 \\\"de-AT\\\"(Austrian German) 作为使用环境,本地化单元可以来自下面的源(优先级逐渐降低):\",\"A. 样式文件中的 cs:locale 元素\",\"xml:lang 设置为方言 \\\"de-AT\\\"\",\"xml:lang 设置为 \\\"de\\\"\",\"xml:lang 不设置\",\"B. Locale files/本地化文件\",\"xml:lang 设置为方言 \\\"de-AT\\\"\",\"xml:lang 设置为对应的初级方言 \\\"de-DE\\\" (standard german)\",\"xml:lang 设置为 \\\"en-US\\\"\",\"也就是说,如果要使用 \\\"de-AT\\\" 语言,首先在 Locale files 中寻找 \\\"de\\\" 对应的 locales-de-XX.xml 文件,即 \\\"locales-de-AT.xml\\\" 和 \\\"locales-de-DE.xml\\\",由于要设置的语言环境是方言 \\\"de-AT\\\",所以选择 de-AT 对应的 locale file locales-de-AT.xml。接下来,如果 csl 文件中包含 cs:locale 元素,将会覆盖 locales-de-AT.xml 文件的设置。\"]},\"133\":{\"h\":\"本地化文件的结构\",\"t\":[\"WORK IN PROGRESS\",\"此页面正在施工中。\",\"尽管本地化数据可以包括在 csl 文件中 (见 Locale),但是本地化文件可以方便的提供本地化数据的设置,包括术语,日期格式以及语法选项。\",\"每个本地化文件包括了一种语言方言的本地化数据。本地化文件中根元素为 cs:locale(样式/style 中则为 cs:style 元素)。在 cs:locale 根元素中,属性 xml:lang 用来设置方言。同时这一设置选项也用来对本地化文件命名(\\\"xx-XX\\\" 文件名为 locales-xx-XX.xml)。此外,根元素必须携带 version 属性,表明本地化文件的 CSL 版本(对 CSL 1.0 兼容的 locale file 必须设置为 \\\"1.0\\\")。本地化文件有和样式同样的命名空间。cs:locale 元素可能包含 cs:info 作为第一个子元素,同时,必须含有 cs:terms、cs:date、cs:style-options 子元素。下面是一个 本地化文件的部分示例:\",\" n.d. et al. page pages p. pp. \"]},\"134\":{\"h\":\"Info\",\"t\":[\"cs:info 元素用来给出本地化文件的元数据。它含有以下子元素:\",\"cs:translator(可选)\",\"​ cs:translator 用来致谢翻译者,并且能使用多次。在这个元素中。子元素 cs:name 必须出现一次,cs:uri 则是可选的。这些子元素应该分别包括翻译者的名字,地址和 URI。(与样式中类似)\",\"cs:rights(可选)\",\"​ 可能出现一次。cs:rights 的内容用来指定本地化文件发布版本的 license。该元素可能会携带 license 属性来指定 license 的 URI,xml:lang 属性则用来指定元素内容的语言(值必须是 xsd:language locale code)。\",\"cs:updates(可选)\",\"​ cs:updated 元素的内容必须是一个 [时间戳] 来指定本地化文件最后一次更新的时间。\"]},\"135\":{\"h\":\"Terms(术语)\",\"t\":[\"术语是本地化的字符串,比如通过使用 \\\"and\\\" 术语,\\\"Doe and Smith\\\" 在语言环境从英语到德语的转换中会自动变为 \\\"Doe und Smith\\\"。术语用 cs:term 元素定义,是 cs:terms 元素的子元素。每个 cs:term 元素必须携带一个 name 属性,其属性值可以设置为 [附录 II 术语](#附录 II 术语) 列表中的值。\",\"术语可以直接在 cs:term 的内容中定义,或者,在某些情况下,比如在需要单数和复数的情况下可以分别在子元素 cs:single 和 cs:multiple 中定义, (例如:\\\"page\\\" 和 \\\"pages\\\")。\",\"术语必须使用 cs:term 元素来定义,并在其中使用 form 属性来设置特定格式,form 可以设置的值为:\",\"\\\"long\\\" - (默认值), e.g. \\\"editor\\\" and \\\"editors\\\" for the \\\"editor\\\" term\",\"\\\"short\\\" - e.g. \\\"ed.\\\" and \\\"eds.\\\" for the term \\\"editor\\\"\",\"\\\"verb\\\" - e.g. \\\"edited by\\\" for the term \\\"editor\\\"\",\"\\\"verb-short\\\" - e.g. \\\"ed.\\\" for the term \\\"editor\\\"\",\"\\\"symbol\\\" - e.g. \\\"§\\\" and \\\"§§\\\" for the term \\\"section\\\"\",\"如果一个样式使用了一个没有定义的格式,则会会退到其他形式,比如 \\\"werb-short\\\" 会回退到 \\\"verb\\\",\\\"symbol\\\" 会回退到 \\\"short\\\",\\\"verb\\\" 和 \\\"short\\\" 都会回退到 \\\"long\\\"。如果没有可以用的语言环境或者 form 格式,改术语的渲染结果就会显示为空字符串。\",\"cs:term 元素可以使用 match,gender 和 gender-form 属性来设置数字变量渲染为序数(比如,first,2nd)。具体见下面的 序数后缀 和 特定序数。\",\"术语内容不应该包括 Latex 以及 HTML 等标记。上标可以使用 Unicode 上标字符。\"]},\"136\":{\"h\":\"序数后缀\",\"t\":[\"数字变量可以使用 cs:number 元素以 \\\"ordinal\\\" 格式(即序数格式)渲染,比如:2nd。序数的后缀则是使用术语来定义的。\",\"\\\"ordinal\\\" 术语定义了默认的序数后缀格式,但这些默认的后缀可以被下面的术语对某些数字进行覆盖:\",\"\\\"ordinal-00\\\" 到 \\\"ordinal-09\\\" - 默认地,当术语名称的最后一位数字与要渲染的数字的最后一个数字相同时,将使用在这个范围内的对应的术语。比如:\\\"ordinal-00\\\" 能够匹配数字 0 、10、20 等等。通过设置属性 match 为 \\\"last-two-difits\\\"(默认值为 \\\"last-digit\\\"),匹配范围将为变为两位,例如:0、100、200 等。当 match 术语设置为 \\\"whole-number\\\" 时,只有术语与要渲染的数字相同时,才会实现匹配。\",\"\\\"ordinal-10\\\" 到 \\\"ordinal-99\\\"- 默认地,当要渲染的数字的最后两位和术语中相同时,使用这个范围的术语。当 match 属性设置为 \\\"whole-number\\\" 时(默认为 \\\"last-two-digits\\\"),只有术语与要渲染的数字相同时,才会实现匹配。\",\"当渲染的数据对上面的两组都匹配时(比如:13 可以同时匹配 \\\"ordinal-03\\\" 和 \\\"ordinal-13\\\"),则使用 \\\"ordinal-10\\\" 到 \\\"ordinal-99\\\"。\",\"序数术语在 CSL 1.0.1 和 CSL 1.0 中表现时不同的。当样式和本地化文件中都没有定义 \\\"ordinal\\\" 术语,但是定义了 \\\"ordinal-00\\\" 到 \\\"ordinal-04\\\",原始的 CSL 1.0 的方案被使用,\\\"ordinal-01\\\" 用于以 1 结尾的数字(以 11 结尾的数字除外),\\\" ordinal-02\\\" 用于以 2 结尾的数字(以 12 结尾的数字除外),\\\"ordinal -03\\\" 表示以 3 结尾(那些以 13 结尾的除外),\\\"ordinal-04\\\" 表示所有其他数字。\"]},\"137\":{\"h\":\"性别特定序数\",\"t\":[\"一些语言使用特定的有别于性别的序数。例如,如果目标名词是男性,英语中的 \\\"1st\\\" 和 \\\"first\\\" 在法语中就翻译为 \\\"1er\\\" 和 \\\"premier\\\",如果目标名词是女性,就翻译为 \\\"1re\\\" 和 \\\"première\\\"。\",\"女性和男性在术语使用上的不同可以使用性别格式 gender-form 的属性来设置(分别设置为 feminine 和 masculine),详情见 Ordinals 序数(没有性别的术语表示中性)。这里涉及到两类目标名词:\",\"数字变量 附带的术语\",\"月份术语(见 Months 月)。\",\"在术语设置为 \\\"long\\\"(默认),并且在 gender 属性被设置时(设置为 \\\"feminine\\\" 和 \\\"masculine\\\"),这些名词即使用相应的性别变体。当数字变量以序数 \\\"ordinal\\\" 或者 long-ordinal 形式时,将使用相同性别的序数词,如果没定义女性或男性变体,则使用中性变体。当 \\\"day\\\" 日期部分以序数 \\\"ordinal\\\" 形式呈现时,序数性别和月的术语匹配。\",\"下面给出 1re éd.(\\\"1st ed.\\\")、\\\"1er janvier\\\"(\\\"January 1st\\\")和 \\\"3e édition\\\"(\\\"3rd edition\\\")的示例:\",\" édition éditions éd. janvier e re er \"]},\"138\":{\"h\":\"本地化日期格式\",\"t\":[\"在 cs:date 元素中,本地化数据格式有两种格式:一种是 \\\"numeric\\\"(例:12-15-2005),另外一种是 \\\"text\\\"(例:December 15,2005)。格式在 cs:date 元素中,使用 form 属性来设置。\",\"日期格式使用 cs:date-part 子元素来构建(见 Date-part)。当 cs:date-part 的 name 属性设置为 \\\"day\\\"、\\\"month\\\"、或 \\\"year\\\" 时,反应了日期显示的顺序为日、月河年。日期可以使用 cs:date 和 cs:date-part 元素中的 formatting 和 text-case 属性设置。cs:date 元素中的 delimiter 属性用来设置 cs:date-part 中不同部分的间隔,并且词缀也可以应用于 cs:date-part 元素。(译注:这里的词缀指的是前后的括号等等。)\",\"注:定义本地化日期格式时,不允许在 cs:date 上使用词缀。此限制适用于将特定于语言环境的词缀(在 cs:date-part 元素上设置)与任何特定于样式的词缀(在调用 cs:date 元素上设置)分开,例如括号:\",\" \"]},\"139\":{\"h\":\"本地化选项\",\"t\":[\"本地化选项有两个,limit-day-ordinals-to-day-1 和 punctuation-in-quote (见 Locale Options)。这些全局选项(同时影响引文和参考文献条目)在 cs:style-options 中被设置为可选属性。\"]},\"140\":{\"h\":\"渲染元素\",\"t\":[\"WORK IN PROGRESS\",\"此页面正在施工中。\",\"渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据,以及以何种方式排序,并对其格式进行控制。\"]},\"141\":{\"h\":\"Layout\",\"t\":[\"cs:layout 渲染元素是 cs:citation 元素和 cs:bibliography 元素的的必要子元素。cs:layout 必须包含一个或者多个渲染元素,并且可能携带 affixes 和 formattig 属性。在 cs:citation 元素中,delimiter 属性用来指定一个引文中的不同引用的间隔符。例如:一个 \\\"(1,2)\\\" 类型的引文可以使用下面的代码实现:\",\" \"]},\"142\":{\"h\":\"Text\",\"t\":[\"cs:text 渲染元素用来输出文字。其必须携带下面的属性来确定什么部分需要渲染:\",\"variable- 渲染一个变量的文本内容。属性值必须是 标准变量。可以与 form 属性一起选择变量的 \\\"long\\\"(默认)或 \\\"short\\\" 形式(例如:设置题目,完整题目或者简写)。如果选择了 \\\"short\\\" 形式,但是却没法获得,就使用 \\\"long\\\" 形式来渲染。\",\"macro - 渲染宏的文字输出。属性值必须和 cs:macro 元素的 name 属性的值相匹配。\",\"term - 渲染术语。属性必须是 [附录 II 术语](#附录 II 术语) 中的术语列表中的一个。通过设置复数属性 plura l 来这只其使用单数还是复数形式,其中 \\\"true\\\" 为默认,表示使用复数形式,设置为 \\\"false\\\" 表示使用单数形式。 使用 form 属性可以设置术语的形式,其值可以为 \\\"long\\\" (默认)、\\\"short\\\"、\\\"verb\\\"、\\\"verb-short\\\" 或者 \\\"symbol\\\" (见 术语).\",\"value - 渲染属性值自己。\",\"一个 cs:text 的渲染 title 变量的例子:\",\" \",\"cs:text 可能会携带 affixes,display,formatting,quotes,strip-periods 和 text-case 属性。\"]},\"143\":{\"h\":\"Date\",\"t\":[\"cs:date 渲染元素输出必须从 日期变量 列表中的选择。日期可以以本地化或者非本地化格式呈现。\",\"本地化的日期格式 通过可选的 form 属性来选择,其值必须设置为 \\\"numeric\\\"(完全的数字格式 ,例如:12-15-2005)或者 \\\"text\\\"(非数字的月份格式,例如: December 15, 2005)。本地化日期格式可以通过两种方式进行自定义。第一种:date-parts 属性可以用来设置不同的日期组成部分。其值可以设置为:\",\"\\\"year-month-day\\\" - 默认值,渲染年,月,日\",\"\\\"year-month\\\" - 渲染年月\",\"\\\"year\\\" - 只渲染年\",\"第二种,cs:date 可以含有一个或者多个 cs:date-part 子元素(见 Date-part)。在这些子元素中可以设置属性来覆盖之前的本地化设置(例如:要获得所有语言环境的缩写月份,可以将月份的 cs:date-part 元素的 form 属性设置为 \\\"short\\\")。这些 cs:date-part 子元素不影响各个日期部分渲染的顺序和以及其是否渲染。cs:date-part 元素中不能使用词缀 Affixes.\",\"没有属性 form 的情况下,cs:date 则描述了一个自带的非本地化的日期格式。其日期格式使用 cs:date-part 子元素来构建。在使用 name 属性并设置为 day,month 或 year 时,这些元素的顺序反应了其显示顺序。日期可以在 cs:date-part 元素中使用 formatting 属性以及多个 cs:date-part 的属性来格式化(见 Date-part)。cs:date 中的 delimiter 属性可以用来设置 cs:date-part 元素不同日期部分的分隔符,此外,词缀 可以用在 cs:date-part elements。\",\"本地化的日期或者是非本地化的日期,, cs:date 都可能携带 affixes,display,formatting 和 text-case 属性。\"]},\"144\":{\"h\":\"Date-part\",\"t\":[\"cs:date-part 元素用来控制日期的各个部分怎么渲染。除了其父元素 cs:date 调用了本地化日期格式,这些子元素同样可以决定哪些部分出现以及各部分的渲染顺序。cs:date-part 元素描述了 name 属性选择的日期部分,其 name 值可以是:\",\"\\\"day\\\"\",\"​ 对于 \\\"day\\\" 来说,cs:date-part 可能会携带 form 属性,值可以设置为:\",\"\\\"numeric\\\" - (默认),例如,每个月第一天显示为 1\",\"\\\"numeric-leading-zeros\\\" - 不够的位数用 0 补齐,例如,01\",\"\\\"ordinal\\\" - 使用序数形式,例如,1st\",\"有的语言种,比如法语,只在月份的第一天使用 \\\"oridinal\\\" 也就是序数形式(\\\"1er janvier\\\",\\\"2 janvier\\\",\\\"3 janvier\\\" 等)。这种输出可以通过 \\\"oridinal\\\" 以及 limit-day-oridinals-to-day-1 属性来设置 (see 本地化选项)。\",\"\\\"month\\\"\",\"​ 对于 \\\"month\\\" 来说,cs:date-part 可能会携带 strip-periods 和 form 属性。在 locale files 中,月份缩写应该后面要加点(例如: \\\"Jan.\\\", \\\"Feb.\\\")。点可以设置 strip-periods 为 \\\"true\\\" 去掉。form 属性可以设置为:\",\"\\\"long\\\" - 默认,例如:January\",\"\\\"short\\\" - 例如:Jan.\",\"\\\"numeric\\\" - 例如:1\",\"\\\"numeric-leading-zeros\\\" - 例如:01\",\"\\\"year\\\"\",\"​ 对 \\\"year\\\" 来说,cs:date-part 可能会携带 form 属性,值可以设置为:\",\"\\\"long\\\" - 默认,例如:2020\",\"\\\"short\\\" - 例如:20\",\"cs:date-part 也可能携带 formatting,text-case 和 range-delimiter 属性。除在 cs:date 元素中使用,其他情况下,cs:date-part 是可以使用词缀的。\"]},\"145\":{\"h\":\"Date Ranges\",\"t\":[\"默认的日期范围中的分隔符是短线(en-dash),比如:May–July 2008。可以在 cs:date-part 元素中通过 range-delimiter 属性来设置常用的分隔符。当日期范围被渲染的时候,范围分隔符从 cs:date-part 元素中提取,并且匹配两个日期差别中最大的部分(\\\"year\\\",\\\"month\\\",或 \\\"day\\\")。如下面的例子,将会渲染出类似 \\\"1-4 May 2008\\\", \\\"May–July 2008\\\" 和 \\\"May 2008/June 2009\\\" 的日期范围。\",\" \"]},\"146\":{\"h\":\"AD and BC\",\"t\":[\"\\\"ad\\\" 一词(Anno Domini)自动附加到小于四位数的正年份(例如,\\\"79\\\" 变为 \\\"79AD\\\")。\\\"bc\\\" 一词(Before Christ)自动附加到负年份(例如,\\\"-2500\\\" 变为 \\\"2500BC\\\")。\"]},\"147\":{\"h\":\"Seasons\",\"t\":[\"如果日期中包含了季节而不是月份,日期术语 (\\\"season-01\\\" 到 \\\"season-04\\\", 分别代表春夏秋冬) 将取代月份术语。比如,下面将会被渲染为 \\\"May 2008\\\" 和 \\\"Winter 2009\\\"。\",\" \"]},\"148\":{\"h\":\"Approximate Dates\",\"t\":[\"近似日期,在 is-uncertain-date 属性设置为 \\\"true\\\" 时即渲染(见 choose)。例如:下面的例子讲渲染出 2005(正常日期)和 ca.2003(近似日期)的结果。\",\" \"]},\"149\":{\"h\":\"Number\",\"t\":[\"cs:number 渲染元素输出 variable 属性选择的数字变量。数字变量 是 标准变量 的子集。\",\"使用 cs:number 元素来渲染数字变量时,如果只包含数字内容 (使用 is-numeric 属性设置,见 Choose),数字就被提取出来并渲染。变量内容包含非数字内容时,变量内容将呈现为原样。\",\"在提取的过程中,用连字符分隔的数字将去掉中间的空格(\\\"2 - 4\\\" 变为 \\\"2-4\\\")。用逗号分隔的数字在逗号后会添加一个空格,并删掉其余的空格 (\\\"2,3\\\" 和 \\\"2 , 3\\\" 变为 \\\"2, 3\\\")。当数字使用 & 分隔时,在前后各添加一个空格 (\\\"2&3\\\" 变为 \\\"2 & 3\\\")。\",\"提取的数字可以通过 form 属性行进格式化,其值可以设置为:\",\"\\\"numeric\\\" - 默认,例如: \\\"1\\\", \\\"2\\\", \\\"3\\\"\",\"\\\"ordinal\\\" - 序数数字,例如: \\\"1st\\\", \\\"2nd\\\", \\\"3rd\\\"。序数后缀可以使用术语定义 (见 序数后缀.\",\"\\\"long-ordinal\\\" - 长序数,例如: \\\"first\\\", \\\"second\\\", \\\"third\\\"。畅序数使用术语 \\\"long-ordinal-01\\\" 到 \\\"long-ordinal-10\\\" 定义, 用来在数字 1 到 10 使用。对于其他的数字,长序数渲染的结果讲和序数相同.\",\"\\\"roman\\\" - 罗马数字,例如:\\\"i\\\", \\\"ii\\\", \\\"iii\\\"\",\"带有前缀或者后缀的数字不能使用罗马数字进行排序或者渲染(例如:\\\"2E\\\" 仍然时 \\\"2E\\\")。没有词缀的数字可以被分别转换(\\\"2, 3\\\" 可以转换为 \\\"2nd, 3rd\\\", \\\"second, third\\\" 或者 \\\"ii, iii\\\")。\",\"cs:number 元素可能会携带 affixes,display,formatting 和 text-case 属性。\"]},\"150\":{\"h\":\"Names\",\"t\":[\"cs:names 元素用来输出一个或多个 名字变量的内容(通过必选属性 variable 来选择),每个 names 元素可以包含一个或者多个名称变量(例如:\\\"author\\\" 名称变量会携带引用项中所有的作者名称)。如果选择了多个变量,每个变量将会按顺序单独渲染,但当选择中包括编辑和翻译(\\\"editor\\\" 和 \\\"translator\\\")不适用。当包含的内容中有两个名字变量相同时,则只渲染一个。另外,如果 cs:names 元素中包含 cs:label 元素,\\\"editortranslator\\\" 将用来代替 \\\"editor\\\" 和 \\\"translator\\\"(例如:Doe(editor & tranlator))。cs:names 元素中的 delimiter 属性可以用来分割不同的名字变量(例如:Doe, Smith (editors); Johnson (translator) 中间使用了分号隔开)。\",\" \",\"cs:names 有四个子元素:cs:name,cs:et-al,cs:substitute 和 cs:label。 cs:names 元素可能会携带 affixes, display 和 formatting 属性。\"]},\"151\":{\"h\":\"Name\",\"t\":[\"cs:name 元素的一个可选的子元素 cs:names 可以用来描述单个 names 的格式,以及名称变量中不同 names 的分隔。cs:name 可能携带下面的属性:\",\"and\",\"​ 在名称变量中用来设置倒数第二个名字和倒数第一个名字的分隔符。可选的值为 \\\"text\\\"(\\\"Doe, Johnson and Smith\\\") 或者 \\\"symbol\\\"(eg: \\\"Doe, Johnson & Smith\\\")。\",\"delimiter\",\"​ 在名称变量中设置字符串来分隔名称。默认的是 \\\",\\\"(e.g. \\\"Doe, Smith\\\")。\",\"delimiter-precedes-et-al\",\"​ 确定在使用 et-al 缩写的情况下,在截断的姓名列表和 et-al 术语之间何时使用分隔符或者空格。该属性可选的值有:\",\"\\\"contextual\\\" - (default), 在作者列表中有 2 个及以上的人时使用 \",\"1 name: \\\"J. Doe et al.\\\"\",\"2 names: \\\"J. Doe, S. Smith, et al.\\\" 两个人,则在最后一个人名和 et-al 间使用 , 分隔\",\"\\\"after-inverted-name\\\" - 在 name-as-sort-order 属性使当前的名字发生了颠倒时使用。例如:当 name-as-sort-order 属性设置为 \\\"first\\\" 时,第一个名字的前后部分 Doe 和 J 发生了反转,因此在第一个名字后面使用了分隔符 ,\",\"\\\"Doe, J., et al.\\\"\",\"\\\"Doe, J., S. Smith et al.\\\"\",\"\\\"always\\\" - 不论几个名字或者怎样的设置,总是使用 \",\"1 name: \\\"J. Doe, et al.\\\"\",\"2 names: \\\"J. Doe, S. Smith, et al.\\\"\",\"\\\"never\\\" - 禁止使用分隔符,不论几个名字。 \",\"1 name: \\\"J. Doe et al.\\\"\",\"2 names: \\\"J. Doe, S. Smith et al.\\\"\",\"delimiter-precedes-last\",\"在名字列表中确定何时使用分隔符来分割最后一个作者和倒数第二个作者。如果 and 没有被设置,则不论 delimiter-precedes-last 属性的值,名字分隔符总是使用。\",\"\\\"contextual\\\" - 默认,当名字列表中的名字有 3 个或以上时使用。下面在使用 3 个名字时,在 and 前使用了分隔符 ,\",\"2 个名字: \\\"J. Doe and T. Williams\\\"\",\"3 个名字: \\\"J. Doe, S. Smith, and T. Williams\\\"\",\"\\\"after-inverted-name\\\" - 在 name-as-sort-order 属性使当前的名字发生了颠倒时使用。例如:当 name-as-sort-order 属性设置为 \\\"first\\\" 时,仅在第一个名字后使用了分隔符 ,\",\"\\\"Doe, J., and T. Williams\\\"\",\"\\\"Doe, J., S. Smith and T. Williams\\\"\",\"\\\"always\\\" - 分隔符一直使用。 \",\"2 names: \\\"J. Doe, and T. Williams\\\"\",\"3 names: \\\"J. Doe, S. Smith, and T. Williams\\\"\",\"\\\"never\\\" - 禁用分隔符 \",\"2 names: \\\"J. Doe and T. Williams\\\"\",\"3 names: \\\"J. Doe, S. Smith and T. Williams\\\"\",\"et-al-min/et-al-use-first\",\"通过设置这两个属性,可是使用 et-al 对名字列表进行缩写。如果名字变量中的名字的数目超过了 et-al-min 属性设置的值,则达到 et-al-use-first 设置的名称数量后,渲染的名字列表将被截断。\\\"et-al\\\"(或者 \\\"and others\\\")术语用来添加到截断列表的后面(见 et-al)。默认地,当名字列表被截断到单个名字,则名字和 \\\"et-al\\\" 术语之间使用空格进行隔开(例如:Doe et al.)。当一个名字列表被截断到两个或者三个名字,则使用分隔符(例如:Doe, Smith, et al.)。这些行为可以使用 delimiter-precedes-et-al 属性来设置。\",\"et-al-subsequent-min/st-al-subsequent-use-first\",\"如果使用了这两个属性,则属性的值分别替换 et-al-min 和 et-al-use-first 的值以便后续引用。\",\"et-al-use-last\",\"当该属性设置为 \\\"true\\\" 时,(默认为 \\\"false\\\"),则使用下面的格式:截断的名称列表,分隔符,省略号,名称列表最后一个名字。这个属性只能在名称列表有多余两个的名称时使用。例:\",\"A. Goffeau, B. G. Barrell, H. Bussey, R. W. Davis, B. Dujon, H. Feldmann, … S. G. Oliver \",\"下面讨论的属性将只会影响单个人的名字,这里先给出名字的组成部分。单个人的名字必须含有 \\\"family\\\" 部分,还可以含有 \\\"given\\\",\\\"suffix\\\",\\\"non-dropping-particle\\\",和 \\\"dropping particle\\\" 等部分。下面对这些部分分别进行解释:\",\"\\\"family\\\" - 姓氏,必须去掉 particle(译注:暂译为粒子)和后缀\",\"\\\"given\\\" - 全名 \\\"John Edward\\\" 或者 J. E.\",\"\\\"suffix\\\" - 名字后缀,比如:外国人常用的 Jr 或者罗马数字(经常翻译为 xx 世,比如伊丽莎白二世) \\\"Jr.\\\" in \\\"John Smith Jr.\\\" 或者 \\\"III\\\" in \\\"Bill Gates III\\\"\",\"\\\"non-dropping-particle\\\" - 不可删除(省略)的粒子。当只显示姓氏的时候,不能省略 (\\\"de\\\" in the Dutch surname \\\"de Koning\\\") ,但是可能会在姓氏中分别对待,比如在排序的时候\",\"\\\"dropping-particle\\\" - 可删除的粒子。当只显示姓氏的是欧,可以省略 (\\\"van\\\" in \\\"Ludwig van Beethoven\\\", which becomes \\\"Beethoven\\\")\",\"下面的属性将会影响单个人的名称的渲染:\",\"form\",\"指定是否显示名字的所有部分(默认为 \\\"long\\\"),或者只显示姓氏和不可省略粒子(值为 \\\"short\\\")。除这两种情况外,还可以设置为 \\\"count\\\",返回使用 cs:names 元素渲染的部分的总数(考虑 et-al 缩写和编辑/翻译等折叠的影响)。\",\"initialize\",\"当该属性设置为 \\\"false 时(默认的结果为 \\\"true\\\"),并且 \\\"initialize-with\\\" 属性被设置时,全名将不使用缩写。但是,如果在全名中有单独的大写字母的时候,仍然会添加 ``\\\"initialize-with\\\"的值。例如:当initialize设置为\\\"false\\\",并且initialize-with设置为\\\".\\\"` 时,James T kirk 将会变为 James T. Kirk。\",\"initialize-with\",\"当该实行被设置时,全名将会使用缩写。该属性将会在每个首字母后添加属性值,比如:上述的名字会变为 J.J. Doe。对于合成的全名,例如:Jean-luc,可以使用全局的带有连字符的 initialize-with-hyphen 属性来设置其缩写形式(见 人名中的连字符)。\",\"name-as-sort-order\",\"指定名字的显示顺序为:姓,然后是名,例如:John Doe 变为 Doe,John。该属性值可以设置为:\",\"\\\"first\\\" - 属性只影响名字变量中的第一个名字\",\"\\\"all\\\" - 属性将会影响所有的名字\",\"注意:即使 name-as-sort-order 改变了名字内部的顺序,最终显示的顺序不一定与包含粒子和后缀的名字的相同(见 名字内部顺序)。name-as-sort-order 只影响以拉丁字母或者西里尔字母书写的名字。其他字母书写的名字(比如,亚洲的大部分名字)总是将全名中的姓显示在前面。\",\"sort-separator\",\"设置名字的不同部分由于 name-as-sort-order 属性导致的内部位置变换后的分隔符。默认值为 \\\",\\\"(Doe, John)。和 name-as-sort-order 属性相同,该属性只适用于拉丁字母和西里尔字母的名字。\",\"cs:name 元素也可以携带 词缀 和 格式化。\"]},\"152\":{\"h\":\"名字内部顺序\",\"t\":[\"名字内部各部分的顺序取决于 cs:name 元素中 form 和 name-as-sort-order 属性和 cs:style 元素中的 demote-non-droping-particle 属性的设置。名称各部分的显示和排序的属性通常是不同的。下面将对名字顺序进行简单的介绍:\",\"拉丁/西里尔名字的显示顺序\",\"条件:form 属性设置为 \\\"long\\\"\",\"顺序:1. 名 2. 可省略粒子 3. 不可省略粒子 4. 姓 5. 后缀\",\"示例:Jean de La Fontaine III\",\"条件:form 属性设置为 \\\"long\\\",name-as-sort-order 属性激活,demote-non-dropping-particle 属性设置为 \\\"never\\\" 或者 \\\"sort-only\\\"\",\"顺序:1. 不可省略粒子 2. 姓 3. 名 4. 可省略粒子 5. 后缀\",\"示例:La Fontaine, Jean de, III\",\"条件:form 属性设置为 \\\"long\\\",name-as-sort-order 属性激活,demote-non-dropping-particle 属性设置为 \\\"display-and-sort\\\"\",\"顺序:1. 姓 2. 名 3. 可省略粒子 4. 不可省略粒子 5. 后缀\",\"示例:Fontaine, Jean de La III\",\"条件:form 属性设置为 \\\"short\\\"\",\"顺序:1. 不可省略粒子 2. 姓\",\"示例:La Fontaine\",\"拉丁/西里尔名字的排序顺序\",\"条件:demote-non-dropping-particle 属性设置为 \\\"never\\\"\",\"顺序:1. 不可省略粒子 + 姓 2. 可省略粒子 3. 名 4. 后缀\",\"示例:La Fontaine de Jean III\",\"条件:demote-non-dropping-particle 属性设置为 \\\"sort-only\\\" 或者 \\\"display-and-sort\\\"\",\"顺序:1. 姓 2. 可省略粒子 + 不可省略粒子 3. 名 4. 后缀\",\"示例:Fontaine de La Jean III\",\"非拉丁和非西里尔名字的显示和排序顺序\",\"条件:form 属性设置为 \\\"long\\\"\",\"顺序:1. 姓 2. 名\",\"示例:张三 或者 Zhang San\",\"条件:form 属性设置为 \\\"short\\\"\",\"顺序:1. 姓\",\"示例:张 或者 Zhang\"]},\"153\":{\"h\":\"名字格式化\",\"t\":[\"cs:name 元素可能会携带一个或者两个 cs:name-part 子元素来对名字的小部分进行特定的格式化。cs:name-part 必须携带 name 属性,设置为 \\\"given\\\" 或者 \\\"family\\\"。\",\"如果设置为 \\\"given\\\",cs:name-part 元素的 格式化 和 文字大小写 属性会影响 \\\"given\\\" 和 \\\"dropping-particle\\\" 部分。词缀 出现在 \\\"given\\\" 左右,将该部分扩起来。\",\"如果设置为 \\\"family\\\",cs:name-part 元素的 格式化 和 文字大小写 属性会影响 \\\"given\\\" 和 \\\"non-dropping-particle\\\" 部分。词缀 出现在 \\\"family\\\" 左右,将该部分扩起来。\",\"\\\"suffix\\\" 部分不受 name-part 部分格式限制。cs:name-part 元素不影响 name-part 渲染的顺序。下面的代码,将产生类似 Jane DOE 的效果:\",\" \"]},\"154\":{\"h\":\"Et-al\",\"t\":[\"Et-al 缩写通过 et-al-… 属性来控制(见 Name),同时也可以使用可选的 cs:et-al 元素设置,cs:et-al 元素必须放在 cs:name 元素后。term 属性可以被设置为 \\\"et-al\\\"(默认)或者 \\\"and others\\\"。格式化 属性可以用来设置 et-al 的格式,下面是 \\\"et-al\\\" 术语的一个例子:\",\" \"]},\"155\":{\"h\":\"Substitute\",\"t\":[\"可选的 cs:substitute 元素,是 cs:names 的子元素,且必须是最后一个子元素,在父元素 cs:names 中指定的 名字变量 为空时添加替换。替换必须放在 cs:substitute 元素中,并且必须包含一个或者多个渲染元素(除 cs:layout)。cs:names 的简洁版本没有子元素,继承了 cs:names 元素中在 cs:name 和 cs:et-al 子元素的属性值。如果 cs:substitute 元素包含了多个子元素,第一个非空的元素用于替换。替换变量在输出的其余部分被抑制,以防止重复。下面的例子中:\\\"author\\\" 名称变量为空时,就被 \\\"editor\\\" 名称变量替换,在没有 editor 时,则使用 \\\"title\\\" 宏替换。\",\" \"]},\"156\":{\"h\":\"Label in\",\"t\":[\"cs:label 元素是可选的(见 Label),而且必须位于 cs:name 和 cs:et-al 元素后,在 cs:substitute 元素前。当 cs:label 作为 cs:names 元素的子元素时,cs:label 不能携带 variable 属性,而是使用父元素 cs:names 中的变量。第二个区别是:form 属性可以设置为 \\\"verb\\\" 或者 \\\"verb-short\\\",其所有允许的值为:\",\"\\\"long\\\" - (默认), 例如, \\\"editor\\\" 术语渲染为 \\\"editor\\\" 和 \\\"editors\\\"\",\"\\\"short\\\" - 例如,\\\"editor\\\" 术语渲染为 \\\"ed.\\\" 和 \\\"eds\\\"\",\"\\\"verb\\\" - 例如,\\\"editor\\\" 术语渲染为 \\\"edited by\\\"\",\"\\\"verb-short\\\" - 例如,\\\"editor\\\" 术语渲染为 \\\"ed.\\\"\",\"\\\"symbol\\\" - 例如,\\\"section\\\" 术语渲染为 \\\"§\\\" 和 \\\"§§\\\"\"]},\"157\":{\"h\":\"Label\",\"t\":[\"cs:label 渲染元素输出与所选变量匹配的术语,该属性必须设置为 \\\"locator\\\"、\\\"page\\\" 或数字变量之一。只有当选择的变量是非空的时候,术语才会渲染。例如:\",\" \",\"可以生成 \\\"page 3\\\" 或者 \\\"pages 5-7\\\"。cs:label 可能会携带下面的属性:\",\"form\",\"​ 选择术语的形式,可以设置为下面的值:\",\"\\\"long\\\" - (默认), 例如: \\\"page\\\" 术语渲染为 \\\"page\\\"/\\\"pages\\\"\",\"\\\"short\\\" - 例如: \\\"page\\\" 术语渲染为 \\\"p.\\\"/\\\"pp.\\\"\",\"\\\"symbol\\\" - 例如: \\\"section\\\" 术语渲染为 \\\"§\\\"/\\\"§§\\\"\",\"plural\",\"​ 设置术语的复数形式,可以使用下面的值:\",\"\\\"contextual\\\" - (默认),复数形式的渲染和具体的内容相匹配。当内容中包含多个数字时,使用复数形式。如下面的渲染结果:\\\"page 1\\\",\\\"pages 1-3\\\",\\\"volume 2\\\",\\\"volumes 2 & 4\\\"。或者在使用 number-of-pages 和 number-of-volumes 时,数字大于 1,例如: (\\\"1 volume\\\" 和 \\\"3 volumes\\\"。\",\"\\\"always\\\" - 总是使用复数形式,不管具体的内容如何。例如:\\\"pages 1\\\" 和 \\\"pages 1-3\\\"\",\"\\\"never\\\" - 禁止使用复数形式,不管具体内容: \\\"page 1\\\" 和 \\\"page 1-3\\\"\",\"cs:label 也可能会携带 affixes, formatting, text-case 和 strip-periods 属性。\"]},\"158\":{\"h\":\"Group\",\"t\":[\"cs:group 元素必须包含一个或者多个渲染元素(除了 cs:layout)。cs:group 可以携带 delimiter 属性来分隔子元素以及 affixes、display 和 formatting 属性。cs:group 隐含的条件,当以下情况出现时,cs:group 和它的子元素将会被抑制:a) 在 cs:group 中至少一个渲染元素调用了变量(直接地或者通过宏调用),b) 所有被调用得变量都为空。\",\" \",\"上述代码可以生成 \\\"retrieved from http://dx.doi.org/10.1128/AEM.02591-07\\\" 类似得结果,但是当 URL 为空的时候,不生成结果。\"]},\"159\":{\"h\":\"Choose\",\"t\":[\"cs:choose 元素允许有条件的渲染元素。下面的例子的意思为:在 \\\"issud\\\" 日期变量存在的情况下,就实施渲染,如果不存在,就给出 \\\"no date\\\" 术语:\",\" \",\"cs:choose 元素中必须还有 cs:if 子元素,后面还可以有一个或者多个 cs:else-if 子元素以及一个可选的用来结尾的 cs:else 元素。cs:if 和 cs:else-if 元素可能回包含任意个除 cs:layout 的渲染元素。由于空的 cs:else 元素是多余的,所以 cs:else 元素必须至少包含一个渲染元素。cs:if 和 cs:else-if 元素必须含有一个或多个判断条件,这些条件可以使用下买的属性设置:\",\"disambiguate\",\"​ 当改属性设置为 \\\"true\\\"(唯一允许的值) 的时候,在元素内容消除了两个相同的引用时渲染。当所有其他消除歧义的方法都不能识别唯一的目标时,才进行消除歧义的尝试。\",\"is-numeric\",\"​ 测试给定的变量([附录 IV 变量](#附录 IV 变量))是不是包含数字部分。如果内容仅由数字构成,则识别为数字。数字可以带有前缀、后缀(\\\"D2\\\",\\\"2b\\\",\\\"L2d\\\")、并且可能被逗号,连字符或 & 分隔(\\\"2, 3\\\",\\\"2-4\\\",\\\"2 & 4\\\")。 例如, \\\"2nd\\\" 被识别为 \\\"true\\\" ,但 \\\"second\\\" 和 \\\"2nd edition\\\" 被识别为 \\\"false\\\".\",\"is-uncertain-date\",\"​ 判断给定的 日期变量 是不是包含 [近似日期](#Approximate Dates)。\",\"locator\",\"​ 判断位置是不是和给定的位置符合。这里的位置主要是在一个文档中的位置,比如,题目,第几段。使用 \\\"sub-verbo\\\" 判断是不是 \\\"sub-verbo\\\" 类型\",\"position\",\"​ 判断引用的位置湿否和给定的位置匹配。当在 cs:bibliography 中调用时,position 的结果为 \\\"false\\\"。位置可以使用下面的选项测试:\",\"\\\"first\\\": 第一个引用项的位置\",\"\\\"ibid\\\"/\\\"ibid-with-locator\\\"/\\\"subsequent\\\": 引用先前引用的项目的引用,Such cites may also have the \\\"ibid\\\" or \\\"ibid-with-locator\\\" position when:\",\"the current cite immediately follows on another cite, within the same citation, that references the same item\",\"or\",\"the current cite is the first cite in the citation, and the previous citation consists of a single cite referencing the same item\",\"If either requirement is met, the presence of locators determines which position is assigned:\",\"Preceding cite does not have a locator: if the current cite has a locator, the position of the current cite is \\\"ibid-with-locator\\\". Otherwise the position is \\\"ibid\\\".\",\"Preceding cite does have a locator: if the current cite has the same locator, the position of the current cite is \\\"ibid\\\". If the locator differs the position is \\\"ibid-with-locator\\\". If the current cite lacks a locator its only position is \\\"subsequent\\\".\",\"\\\"near-note\\\": position of a cite following another cite referencing the same item. Both cites have to be located in foot or endnotes, and the distance between both cites may not exceed the maximum distance (measured in number of foot or endnotes) set with the near-note-distance option (see Note Distance).\",\"Whenever position=\\\"ibid-with-locator\\\" tests true, position=\\\"ibid\\\" also tests true. And whenever position=\\\"ibid\\\" or position=\\\"near-note\\\" test true, position=\\\"subsequent\\\" also tests true.\",\"type\",\"​ 测试项目是不是和给定的类型匹配([附录 III 类型](#附录 III 类型))。这里的类型指条目的类型,例如,书,期刊文献,学位论文。\",\"variable\",\"​ 测试给定变量([附录 IV 变量](#附录 IV 变量))的默认的形式 (long) 是不是为空。\",\"除了 disambiguate 外,所有的条件都允许有多个测试值,多个测试值使用空格分隔(\\\"book thesis\\\")。\",\"cs:if 元素和 cs:else-if 元素可能会携带 match 属性用来控制判断的逻辑,match 可设置的值为:\",\"\\\"all\\\" - 默认,仅当所有给定测试值都为 true 的时候结果才为 true\",\"\\\"any\\\" - 当任意一个值为 true 的时候,结果就为 true\",\"\\\"none\\\" - 当没有值测试为 true 的时候,结果为 true\"]},\"160\":{\"h\":\"样式的行为\",\"t\":[\"WORK IN PROGRESS\",\"此页面正在施工中。\"]},\"161\":{\"h\":\"选项\",\"t\":[\"样式可以使用不同的元素来进行特定的配置。在 cs:citation 元素中设置元素可以配置特定的 引文选项;在 cs:bibliography 元素和 全局选项(同时影响引文和参考文献条目)中,可以配置特定的参考文献条目。继承的名字选项可以在 cs:style,cs:style 和 cs:bibliography 中设置。最后,本地化选项 可以在 cs:locale 元素中设置。\"]},\"162\":{\"h\":\"引文选项\"},\"163\":{\"h\":\"消除歧义\",\"t\":[\"当一个引用对应多个参考文献条目的时候会产生歧义。下面有四种方法用来消除歧义:\",\"显示更多作者姓名\",\"扩展姓名(添加缩写或者完整的名)\",\"添加年份后缀\",\"在 cs:choose 的 disambiguate 属性为 true 的时候,实行渲染\",\"方法 2 也可以在全局名称歧义消除异己整个文档中有歧义的地方。\",\"消除歧义的方法在下面属性被设置的时候,将会被激活,并且按上述列表中的方法进行尝试:\",\"disambiguate-add-names 步骤 1\",\"​ 如果设置为 \\\"true\\\"(默认为 false),使用 et-al 缩写锁代替的名字列表会逐个的加入到渲染列表中,知道添加的名字可以消除引用歧义为止。\",\"disambiguate-add-givenname 步骤 2\",\"​ 如果设置为 \\\"true\\\"(默认为 false),产生歧义的名字将被扩展。名字扩展可以使用 givenname-disambiguation-rule 设置。下面是一个例子。\",\"含有歧义的引用\",\"消除歧义的引用\",\"(Simpson 2005; Simpson 2005)\",\"(H. Simpson 2005; B. Simpson 2005)\",\"(Doe 1950; Doe 1950)\",\"(John Doe 1950; Jane Doe 1950)\",\"如果不能通过扩展名字来实现消除歧义,当 disambiguate-add-names 属性设置为 \\\"true\\\", the names still hidden as a result of et-al abbreviation after the disambiguation attempt of disambiguate-add-names are added one by one to all members of a set of ambiguous cites, until no more cites in the set can be disambiguated by adding expanded names.\",\"givenname-disambiguation-rule\",\"用来指定 a) 名字扩展的目的是不是仅限于消除歧义,还是对消除歧义的名字有其他的目的 (只有在后面的情况中,有歧义的名字才会在明确的引用中扩展,例如:从 (Doe 1950; Doe 2000) 扩展到 (Jane Doe 1950; John Doe 2000)) b) 名称扩展是针对全部还是针对每个引用的名字 c) 扩展名字的方法。\",\"扩展单个名字\",\"​ 扩展单个名字的步骤是:\",\"如果 initialize-with 被设置并且 initialize 的值为默认的 true: (a) 可以通过 \\\"long\\\" 而不是 \\\"short\\\" 的形式来渲染首字母 (e.g. Doe 变为 J. Doe) (b) 如果 initialize 设置为 \\\"flase\\\",完整的姓名被渲染,而不是首字母(J. Doe 变为 John Doe)\",\"如果 initialize-with 没有被设置,使用 \\\"long\\\" 格式渲染完整的姓名(Doe 变为 John Doe)\",\"消除歧义法则\",\"​ givenname-disambiguation-rule 属性可设置的值为:\",\"​ \\\"all-name\\\"\",\"​ 名字扩展具有消除名字歧义和消除引用歧义的双重目的。在渲染的有歧义的名称中,所有的有歧义的或者没有歧义的名字都将被消除歧义。\",\"​ \\\"all-names-with-initials\\\"\",\"​ 和 \\\"all-name\\\" 一样,但是名称的扩展仅限于缩写。当 initialize-with 没被设置或者 initialize 被设置为 \\\"false\\\" 时,不会进行消除歧义的尝试。\",\"​ \\\"primary-name\\\"\",\"​ 和 \\\"all-name\\\" 一样,但是消除歧义仅限于每个引用的第一个名字。\",\"​ \\\"primary-name-with-initials\\\"\",\"​ 和 \\\"all-names-with-initials\\\" 一样,但是消除歧义仅限于每个引用的第一个名字。\",\"​ \\\"by-cite\\\"\",\"​ 默认,和 \\\"all-name\\\" 一样,但是名称扩展的目的仅限于消除引用的歧义,只有有歧义的名字在有歧义的引用中才会被影响,并且在引用的第一个名字消除歧义后就停止消除歧义。\",\"disambiguate-add-year-suffix 步骤 3\",\"如果设置为 \\\"true\\\"(默认为 \\\"false\\\"),字母序的年后缀将会被添加到有歧义的名字上(\\\"Doe 2007, Doe 2007\\\" 变为 \\\"Doe 2007a, Doe 2007b\\\")。当字母序到达 \\\"z\\\",后,就会启用两个字母(\\\"z\\\", \\\"aa\\\", \\\"ab\\\", …, \\\"az\\\", \\\"ba\\\" 等等)。\",\"如果应用上述的歧义消除方法后仍然存在歧义,则尝试通过 disambiguate 条件来渲染不同的引用 [步骤 4] (见 choose)。\"]},\"164\":{\"h\":\"引用分组\",\"t\":[\"通过引用分组,可以将相同名称的文本引用放在一起,比如:(Doe 1999; Smith 2002; Doe 2006; Doe et al. 2007) 将会变为 (Doe 1999; Doe 2006; Smith 2002; Doe et al. 2007)。引用分组在引用排序和消除歧义后执行。分组后的引用保持其相对顺序,并移到第一个改组中引用出现的第一个位置。\",\"引用分组可以在 cs:citation 元素中通过设置 cite-group-delimiter 属性或者 collapse 属性(见 [cite collapsing](#cite collapsing))激活。\",\"cite-group-delimiter\",\"激活引用分组并为引用组中的引用指定分隔符,默认为 \\\",\\\"。例如,当 cs:citation 元素中的 cs:layout 中的 delimiter 设置为 \\\";\\\" 时,collapse 设置为 \\\"year\\\",cite-group-delimiter 设置为 \\\",\\\",将生成类似 \\\"(Doe 1999,2001; Jones 2000)\\\" 的引用。\"]},\"165\":{\"h\":\"cite collapsing/引用折叠\",\"t\":[\"author 或者 author-date 类型的引用格式中的引用分组和数字格式中的引用范围可以通过 collapse 属性来折叠。折叠引用组中分隔符可以是使用 year-suffix-delimiter 和 after-collapse-delimiter 属性来设置:\",\"collapse\",\"激活引用分组和折叠。允许的值为:\",\"\\\"citation-number\\\" - 当使用数字样式的时候,折叠引用数字的范围(通过 \\\"citation-number\\\" 变量来渲染) ,例如:[1, 2, 3, 5] 变为 [1–3, 5]。只有升序的引用才可以折叠,比如: [3, 2, 1] 将不会折叠。\",\"\\\"year\\\" - 通过压缩相同的名字来折叠引用分组,例如: \\\"(Doe 2000, Doe 2001)\\\" 变为 \\\"(Doe 2000, 2001)\\\"。\",\"\\\"year-suffix\\\" - 对名字相同的折叠项,折叠相同的年份,例如: \\\"(Doe 2000a, 2000b)\\\" 变为 \\\"(Doe 2000a, b)\\\"。\",\"\\\"year-suffix-ranged\\\" - 对名字相同的折叠项,折叠年份范围,例如: \\\"(Doe 2000a, b, c, e)\\\" 变为 \\\"(Doe 2000a–c,e)\\\"。\",\"当 disambiguate-add-year-suffix 设置为 \\\"false\\\" 时,或者引用中包含位置(例如:“(Doe 2000a-c, 2000d, p. 5, 2000e,f)”,\\\"Doe 2000d\\\" 有一个页码位置),\\\"year-suffix\\\" 和 \\\"year-suffix-ranged\\\" 回退到 \\\"year\\\"。\",\"year-suffix-delimiter\",\"​ 设置年份后缀的分隔符。默认在 cs:citation 元素的 cs:layout 中设置。例如:当 collapse 设置为 \\\"year-suffix\\\",cs:citation 中的 cs:layout 的 delimiter 元素设置为 \\\";\\\",并且 year-suffix-delimiter 设置为 \\\",\\\" 时,渲染结果将类似于 \\\"(Doe 1999a,b; Jones 2000)\\\"。\",\"after-collapse-delimiter\",\"​ 设置折叠后的引用组要使用的分隔符。默认在 cs:citation 元素的 cs:layout 中设置。例如:当 collapse 设置为 \\\"year\\\",cs:citation 中的 cs:layout 的 delimiter 元素设置为 \\\",\\\",并且 after-collapse-delimiter 设置为 \\\";\\\" 时,渲染结果将类似于 \\\"(Doe 1999, 2001; Jones 2000, Brown 2001)\\\"。\"]},\"166\":{\"h\":\"标注距离\",\"t\":[\"near-note-distance\",\"当有一个预先的标注时,\\\"near-note\\\" 位置是我引用被判断为真,这种预先的标注可以为 a) 指向同一个项目 b) 当前注视以前的脚注或尾注。(译注:不知道讲了什么)\"]},\"167\":{\"h\":\"参考文献目录选项\"},\"168\":{\"h\":\"空白\",\"t\":[\"hanging-indent\",\"​ 如果设置为 \\\"true\\\"(默认为 \\\"false\\\"),参考文献列表将采用悬挂缩进渲染。\",\"second-field-align\",\"​ 如果该属性被设置,则书目条目的后续行沿第二字段对齐。 使用 \\\"flush\\\" 时,第一个字段与边距齐平。 对于 \\\"margin\\\",第一个字段放在 margin 中,随后的行与 margin 对齐。例如,当第一个字段设置为 \",\"9. Adams, D. (2002). The Ultimate Hitchhiker's Guide to the Galaxy (1st ed.). 10. Asimov, I. (1951). Foundation. \",\"line-spacing\",\"​ 指定垂直方向的行距。默认值为 \\\"1\\\",即单倍行距。可以被设置为任意正整数,用来表示对应倍数的行距。\",\"entry-spacing\",\"​ 指定不同条目垂直方向的距离,默认值为 \\\"1\\\",即一倍距离,可以被设置为任意正整数,用来表示对应倍数的距离。\"]},\"169\":{\"h\":\"参考文献分组\",\"t\":[\"subsequent-author-substitute\",\"​ 如果该属性被设置,则此属性将用上一条条目中的名称替换参考文献条目中的名字。具体的代替方案取决于 subsequent-author-substitute-rule 属性的值。替换仅限于 cs:names 元素中渲染的第一个名字。\",\"subsequent-author-substitute-rule\",\"​ 用来指定 subsequent-author-substitute 的结果怎么替换。允许的值为:\",\"\\\"complete-all\\\" - 默认值,当名字变量中的所有渲染的名字和上一个参考文献条目相同时,subsequent-author-substitute 属性的值将代替整个名字列表(包括标点和术语,比如 et-al 和 and 等术语),但 cs:names 元素中设置的后缀将不会被代替。\",\"\\\"complete-each\\\" - 和 \\\"complete-all\\\" 一样,需要完整的匹配,但是 subsequent-author-substitute 属性的值将会代替所有被渲染的名字。\",\"\\\"partial-each\\\" - 当有一个或者多个名字变量中的渲染名字和上一个条目中相同时,使用 subsequent-author-substitute 属性代替对应的值。匹配从第一个名字开始,直到不匹配的名字为止。\",\"\\\"partial-first\\\" - 和 \\\"partial-each\\\" 相同,但是替换仅限于第一个名字。\",\"对下面的例子:\",\"Doe. 1999. Doe. 2000. Doe, Johnson & Williams. 2001. Doe & Smith. 2002. Doe, Stevens & Miller. 2003. Doe, Stevens & Miller. 2004. Doe, Williams et al. 2005. Doe, Williams et al. 2006. \",\"当 subsequent-author-substitute 设置为 \\\"-\\\",并且 subsequent-author-substitute-rule 设置为 \\\"complete-all\\\",渲染结果将变为:\",\"Doe. 1999. ---. 2000. Doe, Johnson & Williams. 2001. Doe & Smith. 2002. Doe, Stevens & Miller. 2003. ---. 2004. Doe, Williams et al. 2005. ---. 2005. \",\"当 subsequent-author-substitute-rule 设置为 \\\"complete-each\\\" 时,渲染的结果为:\",\"Doe. 1999. ---. 2000. Doe, Johnson & Williams. 2001. Doe & Smith. 2002. Doe, Stevens & Miller. 2003. ---, --- & ---. 2004. Doe, Williams et al. 2005. ---, --- et al. 2006. \",\"当 subsequent-author-substitute-rule 设置为 \\\"partial-each\\\" 时,渲染的结果为:\",\"Doe. 1999. ---. 2000. Doe, Johnson & Williams. 2001. --- & Smith. 2002. Doe, Stevens & Miller. 2003. ---, --- & ---. 2004. Doe, Williams et al. 2005. ---, --- et al. 2005. \",\"当 subsequent-author-substitute-rule 设置为 \\\"partial-first\\\" 时,渲染的结果为:\",\"Doe. 1999. ---. 2000. Doe, Johnson & Williams. 2001. --- & Smith. 2002. Doe, Stevens & Miller. 2003. ---, Stevens & Miller. 2004. Doe, Williams et al. 2005. ---, Williams et al. 2005. \"]},\"170\":{\"h\":\"全局选项\"},\"171\":{\"h\":\"人名中的连字符\",\"t\":[\"initialize-with-hyphen\",\"​ 该属性用来制定合成名字中间是不是使用连字符。例如,\\\"Jean-Luc\\\" 是一个合成名字,如果该属性设置为 \\\"true\\\"(默认),渲染结果为 \\\"J.-L.\\\",如果设置为 \\\"false\\\",渲染结果为 \\\"J.L.\\\"。\"]},\"172\":{\"h\":\"页码范围\",\"t\":[\"page-range-format\",\"​ 用来设置页码范围的格式,是不是使用简写来压缩。其可选的值有:\\\"chicago\\\" (\\\"321–28\\\"), \\\"expanded\\\" ( \\\"321–328\\\"), \\\"minimal\\\" (\\\"321–8\\\"), 或者 \\\" minimal-two\\\" (\\\"321–28\\\")。每一组值前面表示可选的属性值,后面是渲染结果的例子。也可见 [附录 V 页码范围格式](#附录 V 页码范围格式)。使用 page-range-delimiter 属性可以用来设置页面范围分割的符号,该属性在 CSL 1.0.1 中引入,默认是一个破折号。如果改属性没有设置,就默认使用破折号。\"]},\"173\":{\"h\":\"Name Particles\",\"t\":[\"​ 西方人的名字中经常包括一个或者多个小部分,例如,\\\"de\\\" 在荷兰人的名字中 \\\"W. de Koning\\\"。在仅显示姓氏时,这些小部分可以分为必须保留和可删除(或译为不可省略和可省略)两种类型:这两种类型分别称为 non-dropping 部分和 dropping 部分。一个单个的名字可以同时包括这两种类型(不能删除的类型始终位于可删除类型的后面)。例如,\\\"W. de Koning\\\" 和法国名字 \\\"Jean de la Fontaine\\\" 可以被解构为:\",\"{ \\\"author\\\": [ { \\\"given\\\": \\\"W.\\\", \\\"non-dropping-particle\\\": \\\"de\\\", \\\"family\\\": \\\"Koning\\\" }, { \\\"given\\\": \\\"Jean\\\", \\\"dropping-particle\\\": \\\"de\\\", \\\"non-dropping-particle\\\": \\\"La\\\", \\\"family\\\": \\\"Fontaine\\\" } ] } \",\"在仅显示姓氏的时候,只保留不能删除的部分,\\\"De koning\\\" 和 \\\"La Fontaine\\\"。\",\"在名字倒写的情况下,即姓氏在名字之前,在姓氏后面始终添加 dropping particle,但是 non-dropping 部分可以前置(例如,\\\"de Koning, W.\\\")或者后置(Koning, W. de)。在名字倒写,不可省略粒子前置时,可以使用下面的方式对名字进行排序:排序 A:将不可省略粒子和姓一起保留作为主排序键值的一部分;排序 B:通过将不可省略粒子和姓分开,并使其成为二级排序键值,并加入可省略粒子(如果有):\",\"Sort order A: 不可省略粒子不降级\",\"主排序键值 \\\"La Fontaine\\\"\",\"次排序键值 \\\"de\\\"\",\"第三排序键值: \\\"Jean\\\"\",\"Sort order B: 不可省略粒子降级\",\"主排序键值 \\\"Fontaine\\\"\",\"次排序键值 \\\"de La\\\"\",\"第三排序键值 \\\"Jean\\\"\",\"对不可省略粒子的设置可以使用 demote-non-dropping-particle 选项:\",\"demote-non-dropping-particle\",\"​ 用来设置在倒写的名字中不可省略粒子的显示和排序方式(例如 Koning W. de)。可设置的值为:\",\"\\\"never\\\": 不可省略粒子被作为姓中的一部分对待,并附加可省略粒子(\\\"de Koning, W.\\\" \\\"La Fontaine, Jean de\\\")。不可省略粒子作为主排序键值的一部分 (排序 A,例如. \\\"de Koning, W.\\\" 将出现在首字母 \\\"D\\\" 的区域).\",\"\\\"sort-only\\\": 显示的方式和 \\\"never\\\" 相同,但是不可省略粒子降级作为二级排序键值。(排序 B, \\\"de Koning, W.\\\" 出现在首字母 \\\"K\\\" 的区域).\",\"\\\"display-and-sort\\\" (默认),可省略粒子和不可省略粒子在最后( \\\"Koning, W. de\\\" 和 \\\"Fontaine, Jean de La\\\")。对名字排序,所有的粒子都是二级排序键值的一部分。(排序 B,\\\"Koning, W. de\\\" 出现在首字母 \\\"K\\\" 的区域).\",\"某些名字中包含的粒子禁止被降级。在这些情况中,粒子将和姓合并到一起,比如,对于法国名字 Charles de Gaulle\",\"{ \\\"author\\\": [ { \\\"family\\\": \\\"de Gaulle\\\", \\\"given\\\": \\\"Charles\\\" } ] } \"]},\"174\":{\"h\":\"可继承的名称选项\",\"t\":[\"​ cs:names 和 cs:name 元素的属性也可以在 cs:style、cs:citation 和 cs:bibliography 元素中设置。这样就不需要每次在 cs:names 和 cs:name 出现的时候赋值。\",\"​ 可以在 cs:name 元素中继承的属性有 and, delimiter-precedes-et-al, delimiter-precedes-last, et-al-min, et-al-use-first, et-al-use-last, et-al-subsequent-min, et-al-subsequent-use-first, initialize, initialize-with, name-as-sort-order 和 sort-separator。name-form 属性和 name-delimiter 属性对英语 cs:name 元素中的 form 和 delimiter 属性。同样地,names-delimiter 属性对应 cs:names 元素中的 delimiter 属性。\",\"​ 当一个可继承的名称属性在 cs:style,cs:citation 和 cs:bibliography 中设置时,其值将作用于改元素包含的所有的 cs:names 元素。如果一个属性在多个可继承的层次设置,最底层的值发挥作用。\"]},\"175\":{\"h\":\"局部选项\",\"t\":[\"limit-day-ordinals-to-day-1\",\"​ 日期格式在 cs:date 和 cs:date-part 元素中定义。默认地,当 cs:date-part 元素中的 name 设置为 \\\"day\\\",form 属性设置为 \\\"ordinal\\\" 时,所有的天(1 到 31)将会以序数形式渲染,例如:\\\"January 1st\\\",\\\"January 2nd\\\" 等等。通过将 limit-day-ordinals-to-day-1 属性设置为 \\\"true\\\"(默认值为 \\\"false\\\"),序数格式将仅限于每个月的第一天,其他的天将不使用序数格式。这在某些语言中出现,比如法语,\\\"1er janvier\\\",\\\"2 janvier\\\",\\\"3 janvier\\\"。\",\"punctuation-in-quote\",\"​ 当 cs:text 元素渲染时,如果 quotes 属性设置为 \\\"true\\\"(见 格式化),并且在输出后有逗号或者句号,punctuation-in-quote 属性可以控制标点放在括号的内还是外,\\\"false\\\" 为外(默认),\\\"true\\\" 为内。\"]},\"176\":{\"h\":\"排序\",\"t\":[\"​ cs:citation 和 cs:bibliography 元素可以在 cs:layout 元素之前携带一个 cs:sort 子元素,来实现对引文或者参考文献条目的排序。在缺失 cs:sort 元素时,引文和文献条目将会使用他们在文章中出现的顺序来排序。\",\"​ cs:sort 元素必须包含一个或者多个 cs:key 子元素,可以在该元素中设置变量([附录 IV 变量](#附录 IV 变量))或者宏名来实现排序。对于每个 cs:key 元素,排序的顺序可以通过设置 sort 属性来设置为升序(\\\"ascending\\\",默认)或者降序(\\\"descending\\\")。属性 names-min,names-use-first,names-use-last 可以用来覆盖 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-first 和 et-al-use-last 属性的值,并且可以通过 cs:key 影响所有的名字.\",\"​ 排序的键值是按顺序求值的,也就是说:首先,使用第一个排序键值对所有的项目进行排序。然后使用第二个键值对第一个键值排序后的结果进行排序,直到所有的键值都完成排序为止。如果键值为空,就放到最后。\",\"​ 这里给出一个例子:其中首先引用 \\\"author\\\" 宏进行排序,并且使用 et al. 来对较长的作者序列进行代替。然后,使用 \\\"issued\\\" 变量来进行第二次排序,使用降序:\",\" \",\"​ 变量或者宏的排序键值可以与 \\\"normal\\\" 渲染的输出不同,具体要依赖下面的细节:\"]},\"177\":{\"h\":\"排序变量\",\"t\":[\"​ cs:key 元素通过 variable 变量属性调用变量的排序键值。名称变量、日期变量和数字变量除外:\",\"名称: 名字变量 通过变量属性被调用,例如 ,当 form 属性设置为 \\\"long\\\",name-as-sort-order 属性设置为 \\\"all\\\",返回名字列表字符串。\",\"日期:日期变量 通过 variable 属性被调用,返回 YYYYMMDD 格式。使用 0 代替缺失的日期部分,例如:December 2000 渲染为 20001200。因此,简略的日期在升序排列的时候更加靠前,例如:2000, May 2000, May 1st 2000。负数的年份(即公元前)将被反向排序,比如:100BC, 50BC, 50AD, 100AD。排序过程中,季节将被忽略,因为南北半球的季节顺序不同。在日期范围中,开始的日期用于主要排序,结束日期用于次要排序,例如:2000–2001, 2000–2005, 2002–2003, 2002–2009。在具有相同的开始日期时,日期范围将放在单独的日期后,例如:2000, 2000–2002。\",\"数字:数字变量 通过 variable 属性来调用,返回整数(form 设置为 \\\"numeric\\\")如果原始的变量值仅由非数字文本组成,则将该值作为文本字符串返回。\"]},\"178\":{\"h\":\"排序宏\",\"t\":[\"​ 变量排序的键值是由字符串值组成,没有富文本标记。通过宏属性中的键值 cs:key 来调用。下面为一些特殊情况。\",\"​ 对于名字排序,使用相同的宏而不是直接使用名字变量来渲染和排序有 4 个好处。第一,可以使用替换,例如:可以使用 \\\"editor\\\" 变量代替空的 \\\"author\\\" 变量。第二,可以使用 et-al 缩写,在宏里使用 et-al-min/et-al-subsequent-min, et-al-use-first/et-al-subsequent-use-first 和 et-al-use-last 可选属性,或者覆盖 cs:key 元素中的 names-min, names-use-first 和 names-use-last 。当 et-al 缩写出现的时候,\\\"et-al\\\" 和 \\\"and others\\\" 术语不会包括在排序键值中。第三,名字可以只使用姓来排序,即使用宏,其中的 cs:name 扽 form 属性设置为 \\\"short\\\"。最后,通过调用宏,将 cs:name 中的 form 属性设置为 \\\"count\\\",可以按姓名列表中姓名的数目进行排序。至于使用 variable 属性对姓名进行排序,将 cs:name 中的 name-as-sort-order 属性设置为 \\\"all\\\",返回值为排序后的名称列表。\",\"​ 在宏中带有 cs:number 的 数字变量 的和日期变量的渲染方法和通过变量的调用相同。唯一的区别是:如果通过 variable 属性调用日期变量,将返回完整的日期。相反地,宏调用则只返回原本要渲染的日期部分。例如:\"]},\"179\":{\"h\":\"范围分隔符\",\"t\":[\"​ \\\"citation-number\\\" 和 \\\"year-suffix\\\" 变量的折叠范围以短划线分隔,例如 \\\"(1-3,5)\\\" 和 \\\"(Doe 2000a-c,e)\\\"。\",\"​ \\\"locator\\\" 变量总是使用一个短划线代替任意的连字符。 对 \\\"page\\\" 变量来说,只有 cs:style 中的 page-ran ge-format 属性被设置时,替换才会执行(见 页码范围)。\"]},\"180\":{\"h\":\"格式化\",\"t\":[\"​ 下面的属性可以在 cs:date, cs:date-part, cs:et-al, cs:group, cs:label, cs:layout, cs:name, cs:name-part, cs:names, cs:number 和 cs:text 中设置:\",\"font-style\",\"用来设置字体,可能的值为:\",\"\\\"normal\\\" 默认\",\"\\\"italic\\\" 设置文字的斜体\",\"\\\"oblique\\\" 设置没有斜体的文字倾斜\",\"font-variant\",\"Allows for the use of small capitals, 值可以设置为:\",\"\\\"normal\\\" 默认\",\"\\\"small-caps\\\"\",\"font-weight\",\"设置字宽,值可以为:\",\"\\\"normal\\\" 默认\",\"\\\"bold\\\"\",\"\\\"light\\\"\",\"text-decoration\",\"设置下划线,值可以为:\",\"\\\"none\\\" 默认\",\"\\\"underline\\\"\",\"vertical-align\",\"设置垂直对齐,值可以为:\",\"\\\"baseline\\\" 默认\",\"\\\"sup\\\" 上标\",\"\\\"sub\\\" 下标\"]},\"181\":{\"h\":\"词缀\",\"t\":[\"​ 前缀属性 prefix 和后缀属性 suffix 可以在 cs:date(使用 cs:date 定义本地化格式除外),cs:date-part(cs:date 调用本地化格式除外)、cs:group、cs:label、cs:layout、cs:name、cs:names、cs:number 以及 cs:text 中设置。属性值用来在输出的前面或者后面添加东西,但是只有输出的时候才会渲染。除在 cs:layout 中设置外,词缀将出现在同一个元素的 格式化、引用、strip-periods 和 text-case 的影响范围的外面,也就是这些属性的设置对前缀和后缀没有影响。作为一种解决方法,在父元素 cs:group 中设置上述属性,会产生影响。\"]},\"182\":{\"h\":\"分隔符 delimiter\",\"t\":[\"​ delimiter 属性可以在 cs:date(用来分隔日期的各部分,如年和月;在 cs:date 调用本地化格日期格式时,分隔符将被禁用)、cs:name(分隔名字变量中不同的名字列表)、cs:name(分隔名字列表中的名字)、cs:group 以及 cs;layout(分隔子元素的输出)中设置分隔符。\"]},\"183\":{\"h\":\"显示 display\",\"t\":[\"display 属性可用于将各个参考文献条目构成一个或者多个文本块。如果使用该属性,所有的渲染元素都在该属性的控制下。(译注:是用来设置对齐效果的)属性可能的值为:\",\"\\\"block\\\" - 两边对其\",\"\\\"left-margin\\\" - 左对齐。\",\"\\\"right-inline\\\" - 右对齐\",\"\\\"indent\\\" - 缩进。\",\"例\",\"A. 除使用 second-field-align 外,使用 \\\"left-margin\\\" 和 \\\"roght-inline\\\" 可以实现相同的渲染效果。这种操作方式潜在的好处是,可以在最终的输出中进一步控制块的格式,例如,在 HTML 的 CSS 或者 Word 的样式中。\",\" \",\"B. 每个作者的出版物列表。当 subsequent-author-substitute 设置为空字符串时,具有相同作者的条目的作者名字只渲染一次。\",\" \",\"渲染结果将类似下面:\",\"Author1\",\"year-publication1\",\"title-publication1\",\"year-publication2\",\"title-publication2\",\"Author2\",\"year-publication3\",\"title-publication3\",\"year-publication4\",\"title-publication4\",\"C. 带有注释的条目,注释显示在参下方的缩进块中。\",\" \"]},\"184\":{\"h\":\"引用 quotes\",\"t\":[\"​ quotes 属性可以在 cs:text 中设置。当设置为 \\\"true\\\" 时(默认为 \\\"false\\\"),渲染文本将会被包含在引用中。本地化的 punctuation-in-quote 选项控制用来连接的逗号或者句号是出现在引号的内部还是外部(默认外部),见 [Locale options](#Locale options)。\"]},\"185\":{\"h\":\"Strip-periods\",\"t\":[\"​ strip-periods 属性可以在 cs:label 或者 cd:text 中设置,此外,当 name 被设置为 \\\"month\\\" 时,也可以在 cs:date-part 中设置。当该属性被设置为 true 的时候(默认的是 \\\"false\\\"),所有文本中的句号(英文中为点)将会被删除。\"]},\"186\":{\"h\":\"文字大小写\",\"t\":[\"​ text-case 属性可以在 cs:date,cs:date-part,cs:label,cs:name-part,cs:number 和 cs:text 中设置,可设置的值为:\",\"\\\"lowercase\\\": 使用小写字母渲染文本\",\"\\\"uppercase\\\": 使用大写字母渲染文本\",\"\\\"capitalize-first\\\": 如果第一个词是小写的,将首字母设置为大写\",\"\\\"capitalize-all\\\": 将每个小写词的首字母设置为大写\",\"\\\"sentence\\\": renders text in sentence case(以句子的格式设置?)\",\"\\\"title\\\": renders text in title case(以标题的格式来设置?)\"]},\"187\":{\"h\":\"句子大小写转换\",\"t\":[\"句子大小写转换 (在 \\\"Text-case\\\" 中设置为 \\\"sentence\\\"),\",\"对于大写字符串,字符串的第一个字符保持为大写。其它字母表示为小写\",\"对于大小写混合的字符串,如果单词是小写,第一个单词的首字符大写,其它所有单词的大小写保持不变。\",\"CSL 处理器不能识别专有名词。因此,可以将句子大小写的字符转缺的转换为标题大小写,反之亦然。因此,通常最好在句子大小写的情况下存储注入标题之类的字符串,并且仅在样式需要其它大小写的情况下菜使用文本大小写。\"]},\"188\":{\"h\":\"标题大小写转换\",\"t\":[\"标题大小写转换 (在 \\\"Text-case\\\" 中设置为 \\\"title\\\") 对英语来说:\",\"对大写的字符串,每个单词的第一个字母保持大写,其它的字母保持小写。\",\"对于小写或者是混合的字符串,每个小写字符串的首字母大写。大写的字符串或者是混合的字符串保持原样。\",\"两种情况下,stop words 必须是小写的,除非他们是第一个或者对后一个单词,或者跟在冒号后面。stop words 包括:\\\"a\\\", \\\"an\\\", \\\"and\\\", \\\"as\\\", \\\"at\\\", \\\"but\\\", \\\"by\\\", \\\"down\\\", \\\"for\\\", \\\"from\\\", \\\"in\\\", \\\"into\\\", \\\"nor\\\", \\\"of\\\", \\\"on\\\", \\\"onto\\\", \\\"or\\\", \\\"over\\\", \\\"so\\\", \\\"the\\\", \\\"till\\\", \\\"to\\\", \\\"up\\\", \\\"via\\\", \\\"with\\\", \\\"yet\\\".\",\"非英语项目\",\"​ 由于许多语言不使用标题大小写,标题大小写转换 (在 \\\"Text-case\\\" 中设置为 \\\"title\\\") 仅影响英语项目。\",\"​ 如果 cs:style 中的 default-locale 属性没有设置,或者设置为 en 开头的单词,则假定为英语环境。如果某项的元数据包含一个语言字段,而且该字段不是以 \\\"en\\\" 开头的,才被视为是非英语环境。\",\"​ 同样的,default-locale 被这是为除 en 开头的字段,就假定为非英语。如果项目是以 en 开头的字段,就被视为是英语。\"]},\"189\":{\"h\":\"附录 I 学科分类\",\"t\":[\"WIP\",\"此小节正在施工中\",\"anthropology 人类学\",\"astronomy 天文学\",\"biology 生物学\",\"botany 植物学\",\"chemistry 化学\",\"communications 通讯\",\"engineering 工程学\",\"generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 APA\",\"geography 地理学\",\"geology 地质学\",\"history 历史\",\"humanities 人文学科\",\"law 法学\",\"linguistics 语言学\",\"literature 文学\",\"math 数学\",\"medicine 药物学\",\"philosophy 哲学\",\"physics 物理学\",\"political_science 政治科学\",\"psychology 心理学\",\"science 科学\",\"social_science 社会科学\",\"sociology 社会学\",\"theology 神学\",\"zoology 动物学\"]},\"190\":{\"h\":\"附录 II 术语\",\"t\":[\"WIP\",\"此小节正在施工中\",\"术语在本地化文件中使用\"]},\"191\":{\"h\":\"Locators 用来定位的术语\",\"t\":[\"book 书\",\"chapter 章\",\"column\",\"figure 图\",\"folio 作品集\",\"issue 议题/问题\",\"line 行\",\"note 笔记/注记\",\"opus 作品(音乐作品)\",\"page 页\",\"paragraph 段\",\"part 部分\",\"section 节\",\"sub verbo 词条\",\"verse 诗\",\"volume 卷\"]},\"192\":{\"h\":\"Months 月\",\"t\":[\"month-01\",\"month-02\",\"month-03\",\"month-04\",\"month-05\",\"month-06\",\"month-07\",\"month-08\",\"month-09\",\"month-10\",\"month-11\",\"month-12\"]},\"193\":{\"h\":\"Ordinals 序数\",\"t\":[\"ordinal\",\"ordinal-00 through ordinal-99\",\"long-ordinal-01\",\"long-ordinal-02\",\"long-ordinal-03\",\"long-ordinal-04\",\"long-ordinal-05\",\"long-ordinal-06\",\"long-ordinal-07\",\"long-ordinal-08\",\"long-ordinal-09\",\"long-ordinal-10\"]},\"194\":{\"h\":\"Quotation marks 引号\",\"t\":[\"open-quote\",\"close-quote\",\"open-inner-quote\",\"close-inner-quote\"]},\"195\":{\"h\":\"Roles 角色\",\"t\":[\"author 作者\",\"collection-editor 文集编辑\",\"composer 作曲者\",\"container-author 文章作者\",\"director 主任/导演\",\"editor 编辑\",\"editorial-director 编辑部主任\",\"editortranslator\",\"illustrator 插画者\",\"interviewer 采访者\",\"original-author 原作者\",\"recipient 收件人\",\"reviewed-author 复查作者\",\"translator 译者\"]},\"196\":{\"h\":\"Seasons 季节\",\"t\":[\"season-01\",\"season-02\",\"season-03\",\"season-04\"]},\"197\":{\"h\":\"Miscellaneous 其他\",\"t\":[\"accessed\",\"ad\",\"and\",\"and others\",\"anonymous\",\"at\",\"available at\",\"bc\",\"by\",\"circa\",\"cited\",\"edition\",\"et-al\",\"forthcoming\",\"from\",\"ibid\",\"in\",\"in press\",\"internet\",\"interview\",\"letter\",\"no date\",\"online\",\"presented at\",\"reference\",\"retrieved\",\"scale\",\"version\"]},\"198\":{\"h\":\"附录 III 文献类型\",\"t\":[\"WIP\",\"此小节正在施工中\",\"article 文章\",\"article-magazine 杂志文章\",\"article-newspaper 新闻文章\",\"article-journal 期刊文章\",\"bill\",\"book 书\",\"broadcast\",\"chapter 章节\",\"dataset 数据集\",\"entry\",\"entry-dictionary\",\"entry-encyclopedia\",\"figure 图\",\"graphic\",\"interview 采访\",\"legislation\",\"legal_case\",\"manuscript\",\"map 地图\",\"motion_picture\",\"musical_score\",\"pamphlet\",\"paper-conference\",\"patent\",\"post 海报\",\"post-weblog\",\"personal_communication 私人交流\",\"report 报告\",\"review\",\"review-book\",\"song 歌曲\",\"speech 演讲\",\"thesis 学位论文\",\"treaty\",\"webpage 网页\"]},\"199\":{\"h\":\"附录 IV 变量\",\"t\":[\"WIP\",\"此小节正在施工中\"]},\"200\":{\"h\":\"标准变量\",\"t\":[\"abstract 项目的摘要(例:期刊文章的摘要)\",\"annote 读者关于项目内容的笔记\",\"archive 保存项目的存档\",\"archive_location 存档的位置\",\"archive-place 存档的地理位置\",\"authority\",\"call-number\",\"call number (to locate the item in a library)\",\"citation-label\",\"label identifying the item in in-text citations of label styles (e.g. \\\"Ferr78\\\"). May be assigned by the CSL processor based on item metadata.\",\"citation-number\",\"index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)\",\"collection-title\",\"title of the collection holding the item (e.g. the series title for a book)\",\"container-title\",\"title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)\",\"container-title-short\",\"short/abbreviated form of \\\"container-title\\\" (also accessible through the \\\"short\\\" form of the \\\"container-title\\\" variable)\",\"dimensions\",\"physical (e.g. size) or temporal (e.g. running time) dimensions of the item\",\"DOI\",\"Digital Object Identifier (e.g. \\\"10.1128/AEM.02591-07\\\")\",\"event\",\"name of the related event (e.g. the conference name when citing a conference paper)\",\"event-place\",\"geographic location of the related event (e.g. \\\"Amsterdam, the Netherlands\\\")\",\"first-reference-note-number\",\"number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.\",\"genre\",\"class, type or genre of the item (e.g. \\\"adventure\\\" for an adventure movie, \\\"PhD dissertation\\\" for a PhD thesis)\",\"ISBN\",\"International Standard Book Number\",\"ISSN\",\"International Standard Serial Number\",\"jurisdiction\",\"geographic scope of relevance (e.g. \\\"US\\\" for a US patent)\",\"keyword 关键字\",\"locator\",\"a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the Locators term list), which determines which term is rendered by cs:label when the \\\"locator\\\" variable is selected.\",\"medium\",\"medium description (e.g. \\\"CD\\\", \\\"DVD\\\", etc.)\",\"note\",\"(short) inline note giving additional item details (e.g. a concise summary or commentary)\",\"original-publisher\",\"original publisher, for items that have been republished by a different publisher\",\"original-publisher-place\",\"geographic location of the original publisher (e.g. \\\"London, UK\\\")\",\"original-title 最初版本的题目\",\"page 项目的页码范围\",\"page-first 页码范围的第一个页码\",\"PMCID\",\"PubMed Central reference number\",\"PMID\",\"PubMed reference number\",\"publisher 出版商/出版社\",\"publisher-place 出版社的地理位置\",\"references\",\"resources related to the procedural history of a legal case\",\"reviewed-title\",\"title of the item reviewed by the current item\",\"scale\",\"scale of e.g. a map\",\"section\",\"container section holding the item (e.g. \\\"politics\\\" for a newspaper article)\",\"source\",\"from whence the item originates (e.g. a library catalog or database)\",\"status\",\"(publication) status of the item (e.g. \\\"forthcoming\\\")\",\"title\",\"primary title of the item\",\"title-short\",\"short/abbreviated form of \\\"title\\\" (also accessible through the \\\"short\\\" form of the \\\"title\\\" variable)\",\"URL 链接\",\"version 版本\",\"year-suffix\",\"disambiguating year suffix in author-date styles (e.g. \\\"a\\\" in \\\"Doe, 1999a\\\")\"]},\"201\":{\"h\":\"数字变量\",\"t\":[\"Number variables are a subset of the Standard Variables.\",\"chapter-number\",\"章序号\",\"collection-number\",\"number identifying the collection holding the item (e.g. the series number for a book)\",\"edition\",\"版本序号(注意和 version 的区别)\",\"issue\",\"(container) issue holding the item (e.g. \\\"5\\\" when citing a journal article from journal volume 2, issue 5)\",\"number\",\"number identifying the item (e.g. a report number)\",\"number-of-pages\",\"引用项目的总的页数\",\"number-of-volumes\",\"total number of volumes, usable for citing multi-volume books and such\",\"volume\",\"(container) volume holding the item (e.g. \\\"2\\\" when citing a chapter from book volume 2)\"]},\"202\":{\"h\":\"日期变量\",\"t\":[\"accessed\",\"date the item has been accessed\",\"container\",\"?\",\"event-date\",\"date the related event took place\",\"issued\",\"date the item was issued/published\",\"original-date\",\"(issue) date of the original version\",\"submitted\",\"date the item (e.g. a manuscript) has been submitted for publication\"]},\"203\":{\"h\":\"名字变量\",\"t\":[\"author\",\"collection-editor\",\"editor of the collection holding the item (e.g. the series editor for a book)\",\"composer\",\"composer (e.g. of a musical score)\",\"container-author\",\"author of the container holding the item (e.g. the book author for a book chapter)\",\"director\",\"director (e.g. of a film)\",\"editor\",\"editorial-director\",\"managing editor (\\\"Directeur de la Publication\\\" in French)\",\"illustrator\",\"illustrator (e.g. of a children’s book)\",\"interviewer\",\"interviewer (e.g. of an interview)\",\"original-author\",\"recipient\",\"recipient (e.g. of a letter)\",\"reviewed-author\",\"author of the item reviewed by the current item\",\"translator\"]},\"204\":{\"h\":\"附录 V 页码范围格式\",\"t\":[\"WIP\",\"此小节正在施工中\",\"cs:style 元素中的 page-range-format 表示了页码的缩写规则,其取值可能是:\",\"\\\"chicago\\\"\",\"第一个数字\",\"第二个数字\",\"例\",\"小于 100\",\"使用所有的位数\",\"3–10; 71–72\",\"100 或者 100 的整数\",\"使用所有的位数\",\"100–104; 600–613; 1100–1123\",\"100 到 109 (包括对应 100 的倍数的范围)\",\"仅使用有变化的部分,忽略不需要的 0\",\"107–8; 505–17; 1002–6\",\"110 到 199 (包括对应 100 的倍数的范围)\",\"根据需要使用两位数或者更多\",\"321–25; 415–532; 11564–68; 13792–803\",\"4 位数\",\"如果数字是 4 位并且其中有 3 位不同,使用所有的位数\",\"1496–1504; 2787–2816\",\"\\\"expanded\\\"\",\"​ 扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816\",\"\\\"minimal\\\"\",\"​ 第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816\",\"\\\"minimal-two\\\"\",\"​ 和 \\\"minimal\\\" 类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。\"]},\"205\":{\"h\":\"附录 VI 链接\",\"t\":[\"WIP\",\"此小节正在施工中\",\"The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules:\",\"If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows:\",\"url: output as is\",\"doi: prepend with “https://doi.org/”\",\"pmid: prepend with “https://www.ncbi.nlm.nih.gov/pubmed/”\",\"pmcid: prepend with “https://www.ncbi.nlm.nih.gov/pmc/articles/”\",\"If the identifier is rendered as a URI, include rendered URI components (e.g. “https://doi.org/”) in the link anchor. Do not include any other affix text in the link anchor (e.g. “Available from: “, “doi: “, “PMID: “).\",\"Citation processors should include an option flag for calling applications to disable bibliography linking behavior.\"]},\"206\":{\"h\":\"Locale File\",\"t\":[\"注意\",\"此页面正在施工中。\"]},\"207\":{\"h\":\"前言\",\"t\":[\"​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。\",\"​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:\\\"British Psychological Society\\\" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。\",\"​ 所有的 CSL 样式,都依赖于 locale file,这些本地化文件中包含了本地化数据,用来指定引文和参考文献目录中的术语,日期格式和语法规则怎么本地化。在单独的本地化文件保存这些数据,而不是在 CSL 样式文件中(尽管 CSL 样式文件中可以使用 cs:locale 元素对本地化文件中的设置进行覆盖),有很多好处:1. 本地化更加容易维护;2. 样式文件更加的紧凑; 3. 样式可以是语言无关的。\",\"​ 下面,我们将描述本地化文件的结构,给出如何转换所有部分的指示,并且解释如何提交这些转换。如果想获得更多的有关本地化的信息,可以查看 。\"]},\"208\":{\"h\":\"开始\",\"t\":[\"​ CSL 本地化文件在 GitHub 的仓库地址为https://github.com/citation-style-language/locales/。\",\"​ 每个本地化文件都包含一种对应语言的本地化数据。本地化文件的名字为 \\\"locales-xx-XX.xml\\\",这里的 \\\"xx-XX\\\" 是 BCP 47 langues code 语言代码 中的一种。这个 GitHub wiki 仓库 列出了本地化 code,对应的语言和该仓库中储存的所有语言环境的软换状态(是否完成,或在制作中)。\"]},\"209\":{\"h\":\"转换 Locale Files\",\"t\":[\"todo\"]},\"210\":{\"h\":\"XML 基础\",\"t\":[\"注意\",\"此页面正在施工中。\",\"CSL 基于 XML(eXtensible Markup Language)。XML 是一种标记语言,这里只介绍基本的术语,以理解 CSL 文件格式。\",\" # 文档声明 # 注释 # 根元素,文档的第一个元素,有且仅有一个 # 子元素 # 属性 # 元素文本 \",\"上面的代码时一个简单的 XML 结构。为了方便说明使用了 #符号作为注释符号,#并不是真正的注释符号,XML的注释格式为文档中的第二行所示的形式。\",\"第一行为声明,或者称为序言,总是在文档的最前面。包括了XML 的版本、编码信息以及是否依赖外部文档等。这一行代码会告诉解析器或浏览器这个文件应该按照 XML 规则进行解析。\",\"第二行为 XML 文档的注释。格式为 。\",\"剩下的代码为 XML 文件的根元素,根元素也是元素,根元素是文档的第一个元素,有且仅有一个。\"]},\"211\":{\"h\":\"元素\",\"t\":[\"元素由开始标签,元素内容和结束标签构成。其中可以包含属性、元素和注释。根元素包含了其他所有元素。\",\"内容 \",\"title 为元素名。\",\"元素有 4 种形式。\",\"1. 空元素 或者 2. 带有属性的空元素 或者 3. 带有内容的元素 21000 4. 带有内容和属性的元素 21000 # MoneyKind 为属性 21000为元素值 或者是 Style =\\\" LX2000\\\" CPU =\\\" PIII600\\\" RAM =\\\"128M \\\" \",\"所有的元素都包含在根元素中,为根元素的子元素,子元素还还可以包含子元素。\"]},\"212\":{\"h\":\"属性\",\"t\":[\"属性是对元素及其内容的描述,用 = 隔开。属性必须包含在一对单引号或者双引号之间。\",\" # 其中的 id 就是属性 后面的值就是属性值 非诚勿扰 # 子元素 70 # 空元素的属性 # 属性的另外一种形式 Style =\\\" LX2000\\\" CPU =\\\" PIII600\\\" RAM =\\\"128M \\\" \",\"每个元素中,一个属性最多出现一次,一个属性只能有一个值。\",\"如果属性有多个值,这需要采取 XML 协议以外的方式来表示,如采用逗号或分号间隔,对于 CSS 类或标识符的名字可用空格来分隔。\"]},\"213\":{\"h\":\"预定义实体表\",\"t\":[\"xml 文件中某些符号无法正常表达,比如 < 或者 >,不处理的话会导致混乱。\",\"所定义的实体\",\"所代表的字符\",\"<\",\"<\",\">\",\">``\",\""\",\"\\\"\",\"'\",\"'\",\"&\",\"&\",\"John asked "What's your name?" 中间的结果: John asked \\\"What's your name? \\\" \"]},\"214\":{\"h\":\"插件开发指南\",\"t\":[\"提示\",\"待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。\",\"本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档。\"]},\"215\":{\"h\":\"前置基础知识\",\"t\":[\"Zotero 插件遵循 Firefox 插件的要求。此处列举了编写插件的基础知识。并非所有知识都需要掌握,只需要在遇到问题时能通过查阅文档找到解决方法即可。\"]},\"216\":{\"h\":\"Firefox 插件\",\"t\":[\"Introduction: Welcome to Software Development the Mozilla Way\",\"Web 浏览器扩展\"]},\"217\":{\"h\":\"HTML / XUL\",\"t\":[\"关于 HTML,可参考网上的任意教程,只需理解基本的树结构,大致清楚元素类型与通用属性即可。 参考文档:HTML 教程 | 菜鸟教程 关于 XUL,在了解 HTML 的基础上只需大概浏览文档即可。在使用时可随时查阅文档。 参考文档:Huihoo - XML User Interface Language (XUL),XUL School Tutorial - Archive of obsolete content\"]},\"218\":{\"h\":\"JavaScript / TypeScript\",\"t\":[\"如果对其他编程语言有了解,上手 JavaScript 很快,看一下基本语法即可。 参考文档:JavaScript 教程\",\"(非必需)也可以直接学习 TypeScript,它是 JS 的超集,提供了更多特性,并对习惯于 C++/JAVA 等强类型语言的开发者而言更加熟悉。第二章将要介绍的的 Zotero 插件框架支持 TS。 参考文档:TypeScript 中文网 · TypeScript——JavaScript 的超集\"]},\"219\":{\"h\":\"Git\",\"t\":[\"Git 是版本管理的常用工具。 参考文档:Git 教程 | 菜鸟教程\"]},\"220\":{\"h\":\"Zotero 官方资料\",\"t\":[\"Zoero 文档(部分过时或不全):start [Zotero Documentation] Zotero 社区:Recent Discussions Zotero 贡献文档:Zotero | Get Involved Zotero 开发者群组:https://groups.google.com/g/zotero-dev 社区维护的 Zotero Types 接口类型定义包:windingwind / Zotero-typesZotero-types\"]},\"221\":{\"h\":\"本文档的结构\",\"t\":[\"todo\"]},\"222\":{\"h\":\"Zotero 百科全书\",\"t\":[\"相关信息\",\"在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下!\",\"本文档由 Zotero Chinese 团队维护。有任何问题,欢迎在文档下方留言!\",\"本文档地址:https://zotero-chinese.com/\"]},\"223\":{\"h\":\"⛳️ Zotero 百科全书简介\",\"t\":[\"本文档分为以下几个部分:\",\"为什么使用 Zotero:关于 Zotero 的优势,与其他同类软件的对比\",\"安装:安装 Zotero 桌面端、浏览器插件、移动端的步骤\",\"Zotero 使用教程\",\"基础使用:包括导入条目 、编辑条目 、导入文件 、添加分类和标签 、阅读和笔记 等\",\"创建参考文献:主要包括在 Word 中插入参考文献相关的内容 \",\"同步、备份和协作:包括同步数据 、备份数据 、创建群组 等\",\"插件:关于如何安装插件、优秀插件推荐等 \",\"Zotero 常见问题:导入条目的问题合集、插入引用的问题合集等,非常规用法等\",\"Zotero 资源合集:施工中\",\"内容分级\",\"文档内容会有标记 、 和 ,读者初次了解 Zotero 时,仅需要掌握“初级”内容,随着了解和使用的深入,再探究更高难度的用法。\",\"由于内容较多,建议当作字典使用,在遇到问题时通过顶部搜索栏搜索关键字,例如遇到同步问题,则搜索“同步”。\"]},\"224\":{\"h\":\"⭐️ 常用文档和链接\",\"t\":[\"Zotero 官方 \",\"Zotero 官网\",\"Zotero 官方手册\",\"Zotero 论坛\",\"Zotero 资源 \",\"Zotero 常用插件下载国内镜像\",\"中文 CSL 样式\",\"Zotero 开发者 \",\"更多 Zotero 相关文档 \",\"Zotero Better Notes 笔记插件中文文档:Zotero Better Notes:基于知识的笔记插件\"]},\"225\":{\"h\":\"🎯 创建 Zotero 百科全书的目的\",\"t\":[\"以往的 Zotero 社区存在两大问题:\",\"网络资料不便搜索且良莠不齐 网上有许多关于 Zotero 的使用帖子或教程,但分散在各处,不方便搜索。许多内容过时或错误,使用者按照错误的教程操作带来更多问题。\",\"答疑效率低下 以往 Zotero 使用中遇到问题,往往在群里提问,或者在相关教程/视频下留言,消息容易被刷掉或遗漏,效率低下。\",\"为了解决上述问题,我们创建了这个 Zotero 百科全书文档,权威、准确、一站式解决 Zotero 使用问题。\"]},\"226\":{\"h\":\"❤️ 贡献指南\",\"t\":[\"我如何参与到文档维护中?\",\"请参阅:。\"]},\"227\":{\"h\":\"添加附件\",\"t\":[\"除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。\"]},\"228\":{\"h\":\"子附件和独立附件\",\"t\":[\"Todo\",\"参考:https://www.zotero.org/support/attaching_files\"]},\"229\":{\"h\":\"存储的附件和链接的附件\",\"t\":[\"存储的附件:默认情况下,存储文件存储在 Zotero 数据目录中,Zotero 会自动管理它们,包括在 Zotero 中删除附件项时删除它们。如果使用文件同步功能,Zotero 会自动在设备之间同步存储的附件,并将它们储存在官方网盘(或 WebDAV 网盘)中。\",\"链接的附件:对于链接文件,Zotero 只存储指向计算机上原始文件位置的链接。链接文件不会同步,如果附件项在 Zotero 中被删除,链接文件也不会被删除,Zotero 程序也不支持链接文件的同步。(可以简单理解为链接的文件在 Zotero 中作用类似于 Windows 的快捷方式)\"]},\"230\":{\"h\":\"为条目添加附件\"},\"231\":{\"h\":\"通过拖放\",\"t\":[\"Todo\"]},\"232\":{\"h\":\"通过附件菜单\",\"t\":[\"添加附件\"]},\"233\":{\"h\":\"附件重命名\",\"t\":[\"Todo\",\"参考:https://www.zotero.org/support/file_renaming\"]},\"234\":{\"h\":\"添加条目\",\"t\":[\"本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 页面。\"]},\"235\":{\"h\":\"条目与附件\",\"t\":[\"在使用 Zotero 之前,我希望可以引入几个术语:\"]},\"236\":{\"h\":\"条目 Item\",\"t\":[\"Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见的条目类别:\",\"图标\",\"类型\",\"默认\",\"普通网页\",\"期刊文章\",\"会议论文\",\"学位论文\",\"图书\",\"多个项目\"]},\"237\":{\"h\":\"附件 Attachments\",\"t\":[\"附件,通常是文件,例如论文的全文 PDF、支持材料等。常见的附件包括:\",\"PDF 附件 \",\"笔记附件 \",\"网页快照 \",\"附件既可以作为独立项添加,也可以作为常规 Zotero 条目的子项添加。一般来说,文件当做条目的子项添加。当一篇文献只有附件而没有条目的时候是不能被成功引用的,而一篇文献有条目信息而没有附件时,并不影响正常的引用。\"]},\"238\":{\"h\":\"通过浏览器添加条目\",\"t\":[\"提示\",\"使用这种方法需要确保以安装浏览器插件 Zotero Connector。如未安装,请参考: 。\",\"通过浏览器添加条目是最方便的途径之一,也是 Zotero 的特色功能之一。\",\"当所在的网页呈现出不同的内容类型时,Zotero Connector 会显示不同的图标(各种类别的图标见 #条目-item)。例如,如果打开的是一篇期刊文章,那么图标就会变成下图(红框圈出)。\",\"从浏览器导入条目\",\"点击该图标,将在网页右上角显示如下的对话框,选择保存的合集位置,添加标签,即可将网页对应的文献的元数据录入 Zotero :\",\"从浏览器添加条目-对话框\",\"此时打开 Zotero,将会自动定位到保存时选择的合集:\",\"添加条目后信息窗格\",\"提示\",\"Connector 抓取中文文献能力依靠中文 Translator 支持,更新 Translator 请参考:。\",\"Connector 抓取文献错误解决:从浏览器抓取条目时发生错误 / 抓取时不能自动下载 PDF / 无法自动给添加的 PDF 附件创建条目\",\"如果抓取失败且尝试了上述办法仍然不能解决,请手动下载 PDF 附件并通过附件添加条目。\"]},\"239\":{\"h\":\"通过附件添加条目(推荐)\",\"t\":[\"对于已有 PDF 文件的文献,可以通过将 PDF 文件拖拽到 Zotero 中来添加这篇文献的附件。添加附件后,Zotero 会自动通过 PDF 来识别文献 —— 英文文献通常通过识别 PDF 的元数据,中文文献则识别文件名(中文文献文件识别能力由 茉莉花 插件提供)。\",\"小提示\",\"不管是中文文献还是英文文献,都 存在一定的概率无法成功匹配到信息并自动创建条目 。如果遇到问题了,还是 建议回到期刊官网的论文详情页抓取信息并创建条目 ,然后将 PDF 文件以附件的形式添加到该条目上(将附件拖到该条目上即可,但不要拖到条目之间的间隙里)。如果 Zotero 确实不支持抓取你正在使用的网站,你也可以采用后文的进阶方法创建条目。\",\"如果您通过附件添加条目信息,建议您在添加后检查每一个条目的元数据。这一功能自动匹配的元数据可能存在错误,建议人工核对后再使用。\"]},\"240\":{\"h\":\"英文文献附件自动识别\",\"t\":[\"很多英文文献的 PDF 附件中带有论文的元数据,而 Zotero 也支持通过 PDF 附件中的元数据自动抓取文献信息并自动创建副条目。具体操作如下:\",\"从网页上下载好文献的 PDF 附件。\",\"将 PDF 附件 直接拖入 Zotero 文献列表中的空白区域。\",\"列表种没有空白区域了怎么办?\",\"如果页面上没有空白区域了,可以 将附件拖到任意两个条目中间的间隙处 ,此时相邻条目间隙处会出现一个横线,如上图所示。请不要将附件直接拖到条目上,因为拖到条目上是另一个功能:将这一文件作为附件添加到该条目中。\",\"拖入附件\",\"此时,界面右上角同步按钮旁会多显示一个图标,这意味着 Zotero 正在检索并匹配这一条目信息。\",\"获取元数据\",\"匹配完成后,Zotero 会自动使用元数据创建父条目,并将这一 PDF 文件作为附件添加到新生成的条目中。\",\"获取元数据成功\",\"重新抓取外文 PDF 元数据\",\"如果你 之前添加的外文附件未能自动创建父条目 ,你也可以使用这一功能来重新 手动触发一次检索匹配 :\",\"右键点击 不附属于任何条目的 PDF 附件 。\",\"点击 检索元数据。\",\"检索元数据\",\"Zotero 会弹出一个元数据检索窗口显示检索进度。如果检索完成后仍有部分文件检索失败,这意味着 Zotero 无法为这一文献自动检索元数据,请使用其他方法获取文献元数据。\",\"元数据检索窗口\",\"提示\",\"请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里不会出现 检索元数据 按钮。\"]},\"241\":{\"h\":\"中文文献附件自动识别\",\"t\":[\"中文 PDF/CAJ 识别依赖茉莉花插件\",\"中文论文的 PDF/CAJ 附件中通常并没有完善的论文的元数据,Zotero 本身也并不支持为中文文献抓取元数据。\",\"对于中文文献,茉莉花(Jasminum)插件 可以 通过 文件名 自动检索元数据并创建条目。 添加附件的方式与英文文献相同 ,文献添加后茉莉花会自动检索文献、创建条目并将附件移动到条目中。\",\"获取元数据成功\",\"如果你没有安装茉莉花,请前往 插件商店 下载安装插件。关于什么是插件,请参阅 。\",\"由于为中文文献抓取知网元数据时需要根据文件名检索文献信息, 这一功能对文件名的要求较高。具体要求请看如下说明:\",\"文件名的格式完全符合茉莉花插件设置中的格式(中文文件名必须为:应该是 标题_第一作者.pdf 或 标题_第一作者.caj)。不是该命名格式的文件将直接导致识别失败。\",\"修改文件名识别模板\",\"文件名的命名格式 (用于匹配导入附件的文件名中的文献信息)可以在 Zotero 设置中茉莉花插件的设置中的 文件名模板设置 进行修改。这里 默认的设置内容和知网上直接下载下来的文件名是一致的。\",\"文件名格式\",\"标题/姓名内容中不含(以下划线为代表的)特殊标点符号(可以尝试将这些符号替换为空格再尝试检索匹配)\",\"文件名没有被添加额外的内容(如重复文件自动添加的编号或 xx 看图王一类的无关信息)。\",\"如果文献名称比较特别,或文件名里有标点,或者文件名被编辑过,都很有可能会匹配失败并报错。 如下图所示:\",\"错误文件名\",\"如果因附件名称不规范导致抓取失败,建议你去网页上检索这篇文献并抓取文献信息(元数据),再把这一附件拖入刚刚抓好的文献条目里。\",\"你也可以先将文件名更改成符合前面规定的样子,在 Zotero 中先选中 PDF 附件,然后去右边栏中编辑文件名,并 勾选上“重命名相关文件” ,然后再尝试前文提到的手动触发检索匹配:\",\"重命名附件\",\"请不要一次性大批量导入文献\",\"请务必注意,如果一次性导入的文献过多, 自动检索元数据过于频繁依然可能导致被知网风控 。如果需要导入的文献很多,建议分多次进行,每次仅少量导入一小部分文献。\",\"重新抓取中文 PDF/CAJ 元数据\",\"如果你 之前添加的中文附件未能自动创建父条目 ,你也可以使用这一功能来重新 手动触发一次检索匹配 :\",\"右键点击 不附属于任何条目的 PDF/CAJ 附件 。\",\"点击 知网助手,然后点击 抓取知网元数据。\",\"抓取知网元数据\",\"提示\",\"请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里只会有 更新知网引用数 的功能。\"]},\"242\":{\"h\":\"通过标识符添加条目\",\"t\":[\"如果已知文献的 ISBN、DOI、PMID 或 arXiv ID 等标识符, 则可以通过这些标识符将文献导入到 Zotero 中。\",\"在 Zotero 中,点击, 输入标识符,如 DOI: 10.1016/j.cej.2020.125798,然后回车,则对应的文献就会被导入到库中。\",\"如果要一次输入多个标识符,在输入第一个标识符后按 Shift + Enter 会进入多行模式,随后输入其余标识符(每行一个),并通过 Enter 换行。输入完成后,再按 Shift + Enter 即可一次导入所有项目。\",\"使用标识符导入条目\",\"提示\",\"这一功能对中文文献(论文、书籍等)基本无效。请使用其他方式为中文文献添加条目。\"]},\"243\":{\"h\":\"由通用格式的引用信息导入(通用方法)\",\"t\":[\"大多数学术网站均提供了将文献信息导出为通用格式的功能。如果 Zotero Connector 无法直接从网页抓取文献信息,可以试试从网站上导出通用格式的引用信息,然后再在 Zotero 直接导入这一引文信息,最后再手动将附件附在导入的条目上。这里有 Zotero 支持导入的格式列表:How do I import BibTeX or other standardized formats?\",\"提示\",\"本方法可以用来从网站/其他软件批量导出/迁移文献信息至 Zotero。\",\"注意\",\"请注意,此方法导入的只有文献信息,是不会包含附件的。\",\"对于 外文 文献:你可以右键点击导入后的条目,然后点击“找到可用的 PDF”按钮,由 Zotero 查找可用的附件。如果你安装有 Sci-Hub 插件,也可以借助该插件来补充附件。\",\"对于 中文 文献:知网以外的中文文献基本没有自动补充附件的可能。\",\"请尽量避免批量为多个条目抓取附件! 批量抓取可能导致你被风控或封禁(特别是知网)。\",\"这里以一篇万方上的学位论文为例简要介绍一下这一方法:\",\"打开论文的详情页,点击 引用 按钮;\",\"选择一个 Zotero 支持的通用格式;\",\"从网站导出通用格式的文献数据\",\"下载包含引用信息的文件/复制包含引用信息的文本(具体操作因网站不同而略有区别);\",\"在 Zotero 文献列表页面点击 文件/File -> 导入/Import 或 从剪贴板导入/Import from Clipboard (根据你的实际情况选择使用哪个功能);\",\"点击导入\",\"根据界面提示完成导入(这里以通过文件导入为例演示);\",\"从文件导入\",\"选择导入的文件\",\"设定从文件导入的选项\",\"导入完成后,该条目会混入文库中。你可以在左边栏分类列表最下面的 未分类条目/Unfiled Item 中按照年份排序来方便地找到刚刚导入的条目,将其拖入你需要的分类中:\",\"找到导入的文献\",\"提示\",\"这样导入基本意味着无法自动抓取附件(毕竟,对于好抓取附件的网站,也不会这么难导入)。你需要手动下载附件,然后将附件添加到这一条目上。详见;\",\"不同导出格式里的信息可能略有差异,而且可能都不完整甚至有错,你可以后续自己手动编辑右边栏中的 信息/Info 进行调整;\",\"以万方为例, RefWorks 格式导入的结果中 分类/Type 信息是分类号(TP311.52),而不是学位类型(硕士/博士); EndNote 格式的结果中将导师姓名也写入了作者列表,而且将两个导师的姓名直接写成了第二作者的姓和名; Bibtex 格式的结果中没有摘要,而且分类写为了硕士论文。\",\"你也可以去百度学术这一类的受支持的通用检索网站抓取/导出引用信息。\",\"有条件的话尽量还是直接从网页上抓取,毕竟这么导入有可能出现各种填写不规范的情况,也可能缺少一些信息。\"]},\"244\":{\"h\":\"手动创建条目(万能方法)\",\"t\":[\"如果你的文献非常特殊,全网也检索不到(比如一些古籍),你依然可以使用纯手动的方法为它创建一个条目。\",\"新建一个空白条目;\",\"如果你目前还没有这篇文献的文件,可以直接点击菜单栏里的 文件 -> 新建条目 ,然后选择你所需的文献类型(此处以最常见的 期刊文章 为例):\",\"创建期刊文章条目\",\"如果你已经在 Zotero 文库中添加了文献的文件,可以右键点击这个文件,然后点击 创建父条目... ,并在弹出的窗口中点击 手动录入 :\",\"为已有的附件创建父条目\",\"点击手动录入按钮\",\"在右边栏里完善文献信息。\",\"创建了条目后,Zotero 会自动选中这一新建的条目,此时你可以在右边栏里修改这个条目的类型,也可以完善这个条目的详细信息(也就是这篇文献的元数据)。为了正确地引用这个条目,不漏掉信息,请尽可能全面地填写右边的信息(当然,如果这是你自己的一篇文档,或者是个 PPT,未来也不会用于再文献里引用,那就无所谓了)。\",\"先将条目修改为正确的文献类型(这里以书籍为例):\",\"选择正确的文献类型\",\"然后手动填写文献的相关信息(如标题、作者、发布日期……)\",\"手动填写必要的文献信息\"]},\"245\":{\"h\":\"从其他工具导入\",\"t\":[\"Zotero 可以将条目从 EndNote、Mendeley、Word 引用 等地方迁移到库中,详情请参阅 。\"]},\"246\":{\"h\":\"备份\",\"t\":[\"我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。\",\"在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍若干种备份这些文件的方式。\"]},\"247\":{\"h\":\"概述\",\"t\":[\"我们将构成 Zotero 正常运行的文件分为三部分:\",\"Zotero 程序文件 (Program Files)\",\"Zotero 数据文件 (Zotero Data Folder)\",\"Zotero 用户配置文件 (Zotero Profile Directory)\"]},\"248\":{\"h\":\"程序文件\",\"t\":[\"这些文件构成 Zotero 程序的主体,包含了 Zotero 程序的二进制文件(例如 zotero.exe 等) 和相关的库文件,不包括您的数据和个性化设置。\",\"这些文件由安装包释放,通常无需额外备份。\"]},\"249\":{\"h\":\"数据文件\",\"t\":[\"这个目录包含了 Zotero 存储的所有数据,包括您的文献条目信息、笔记、附件、标签、文件夹结构、转换器和引文样式等。这是最重要的部分,因为它包含了您的研究资料。备份数据文件可确保您不会失去已收集的所有信息。\"]},\"250\":{\"h\":\"数据文件位置\",\"t\":[\"除非您在 Zotero 设置的高级窗格中选择了自定义数据目录,否则您的 Zotero 数据将存储在以下与操作系统相关的目录中:\",\"系统类型\",\"默认位置\",\"macOS\",\"/Users//Zotero\",\"Windows 7 and higher Windows\",\"C:\\\\Users\\\\\\\\Zotero\",\"Windows XP/2000\",\"C:\\\\Documents and Settings\\\\\\\\Zotero\",\"Linux\",\"~/Zotero\",\"提示\",\"查找 Zotero 数据的最简单、最可靠的方法是单击 Zotero 设置 的 高级 选项卡中的 显示数据目录 按钮。这将始终显示当前正在使用的数据目录,并且是查找数据目录的推荐方法。\",\"如果您无法访问 Zotero 设置,搜索文件名zotero.sqlite也可以帮助您找到 Zotero 数据目录。\"]},\"251\":{\"h\":\"数据文件内容\",\"t\":[\"northword@Yoga-Northword MINGW64 /d/Northword/Documents/Zotero $ tree -L 1 . |-- about config.xul |-- cache |-- locate |-- logs |-- storage |-- styles |-- translators |-- zotero.sqlite `-- zotero.sqlite.bak \",\"数据目录中最重要的文件是 zotero.sqlite 文件,它是包含大部分数据的数据库:项目元数据、注释、标签等。当 Zotero 启动时,它会读取 zotero.sqlite 文件。\",\"该目录还包含一个 storage 文件夹,其中包含 8 个字符的子文件夹(例如N7SMB24A),其中包含所有文件附件,例如 PDF、网页快照、音频文件或您导入的任何其他文件。 (链接的文件不会复制到此子文件夹中。)\",\"您的数据目录可能包含其他几个文件和文件夹。其中可以包括 zotero.sqlite.bak ( zotero.sqlite 的自动备份,如果现有 zotero.sqlite.bak 文件在过去 12 小时内未更新,则定期更新)和 zotero.sqlite.[number].bak 文件(在某些 Zotero 更新期间创建的 zotero.sqlite 自动备份),以及诸如 locate 、 logs 等文件夹, pipes 、 styles 和 translators 在 Zotero 启动时自动创建。\",\"注意\",\"在复制、删除或移动任何这些文件之前,请确保 Zotero 已关闭。如果在移动这些文件之前不这样做可能会损坏您的数据。\"]},\"252\":{\"h\":\"用户配置文件\",\"t\":[\"用户配置文件包括您的个性化设置、插件及其配置、数据库位置等。备份用户配置文件可确保您可以轻松地还原您的个性化 Zotero 设置和工作环境。\"]},\"253\":{\"h\":\"用户配置文件位置\",\"t\":[\"系统类型\",\"默认位置\",\"macOS\",\"/Users//Library/Application Support/Zotero/Profiles/\",\"Windows 7 and higher Windows\",\"C:\\\\Users\\\\<用户名>\\\\AppData\\\\Roaming\\\\Zotero\\\\Zotero\\\\Profiles\\\\<8位随机字符>.default\",\"Windows XP/2000\",\"C:\\\\Documents and Settings\\\\\\\\Application Data\\\\Zotero\\\\Zotero\\\\Profiles\\\\\",\"Linux\",\"~/.zotero/zotero/\",\"macOS\",\"默认情况下,/Users/<用户名>/Library 文件夹是隐藏的。要访问它,请单击桌面,按住 Option 键,单击 Finder 的 转到 菜单,然后从菜单中选择 资源库。\",\"Windows\",\"默认情况下, AppData 是隐藏的,可以在资源管理器搜索栏键入 %appdata%,然后按回车,即可进入 AppData\\\\Roaming 目录。\"]},\"254\":{\"h\":\"用户配置文件内容\",\"t\":[\"这个目录包含 Zotero 的配置、插件信息及插件配置等。下面列出了部分目录文件:\",\"northword@Yoga-Northword MINGW64 ~/AppData/Roaming/Zotero/Zotero/Profiles/1y2hj8ud.default $ tree -L 1 . |-- bookmarkbackups |-- browser-extension-data |-- extensions |-- extensions.json |-- prefs.js |-- times.json |-- treePrefs.json |-- webappsstore.sqlite `-- xulstore.json \",\"其中 prefs.js 包含 Zotero 的所有设置,extensions/ 目录 和 extensions.json 包含 Zotero 插件的安装包和安装、启用等信息。\",\"注意\",\"如无必要,不要修改这个目录里的任何文件,不当的修改可能导致 Zotero 无法正常启动。\"]},\"255\":{\"h\":\"手动备份\",\"t\":[\"手动备份可以实现数据的无损备份,包括但不仅限于账户、插件、设置、文献等数据。\",\"首先您需要在新电脑上安装 Zotero,然后将下列表格中旧电脑的数据文件拷贝到新电脑的同一位置。\",\"旧电脑\",\"新电脑\",\"C:\\\\Users<用户名>\\\\AppData\\\\Roaming\\\\Zotero\\\\Zotero\\\\Profiles\\\\*.default 中文件\",\"C:\\\\Users<用户名>\\\\AppData\\\\Roaming\\\\Zotero\\\\Zotero\\\\Profiles\\\\*.default 中\",\"Zotero-设置-高级-文件和文件夹-数据储存位置中的文件\",\"同一路径\",\"例如:电脑的用户名为zotero-chinese,旧电脑将 Zotero 安装在 D:\\\\Program Files\\\\Zotero 目录下,数据储存位置设置为 C:\\\\Users\\\\zotero-chinese\\\\Zotero。\",\"在新电脑中,应该要做的是\",\"安装 Zotero,并确保 Zotero 处于关闭状态。\",\"将 旧电脑****.default 中的文件 拷贝至 新电脑****.default 中(注意不是复制文件夹本身,而是替换其文件和子文件夹)\",\"将 旧电脑C:\\\\Users\\\\zotero-chinese\\\\Zotero 拷贝至 新电脑C:\\\\Users\\\\zotero-chinese\\\\Zotero中\",\"打开 Zotero,即可。\"]},\"256\":{\"h\":\"使用插件蒲公英 进行数据的备份和恢复\",\"t\":[\"Tara\",\"Tara 是一个用于备份和恢复 Zotero 配置的插件,支持备份:\",\"✅ 备份已安装插件 ✅ 备份 CSL 文件 ✅ 备份转换器 (translators) ✅ 备份 Locate 文件夹 ✅ 备份 Zotero 配置及插件配置\",\"下载地址:GitHub 或 中文社区插件合集页\"]},\"257\":{\"h\":\"创建备份\",\"t\":[\"下载安装 Tara 插件后,通过点击 Tara 图标来创建一个备份\",\"开始备份\",\"创建成功后,会在 Zotero 中生成一个 Tara_backup 的条目并自动生成一个 ZIP 格式的附件,这个就是备份文件。\",\"如果你再点一次创建,会再生成个附件,你可以选择不同时间段的备份文件进行恢复。\",\"备份文件\"]},\"258\":{\"h\":\"恢复备份\",\"t\":[\"点击恢复\",\"恢复备份\",\"可以根据时间来选择要恢复的备份\",\"选择要恢复备份\",\"等待备份恢复完成,再重启 Zotero\",\"备份恢复完成\"]},\"259\":{\"h\":\"导出备份文件\",\"t\":[\"点击导出\",\"导出备份\",\"等待完成后,去备份目录查看文件是否生成\",\"导出备份成功\",\"导出时,会将当成的配置信息和插件导出到一个单独 ZIP 文件中,导出的备份会默认储存在 数据储存文件夹\\\\backup 下。\",\"导出的备份文件\"]},\"260\":{\"h\":\"在新电脑上进行数据恢复\",\"t\":[\"在新电脑上安装了 Zotero,此时 Zotero 上没有任何插件,配置都是默认的。这时,你可以把第三步导出的 2 个文件复制到新电脑上。\",\"在新电脑 Zotero 上,先安装 Tara.xpi 插件。\",\"插件安装成功,点击恢复,会出现一个文件选择的窗中,选择第三部中所生成的备份文件,之后 Zotero 会恢复对应的插件及相关配置。\"]},\"261\":{\"h\":\"在不同电脑上同步备份\",\"t\":[\"当你在多个电脑上同时使用 Zotero 时,可以通过 Zotero 的 同步功能 来实现数据的快速备份和恢复。\",\"首先在不同电脑上分别配置同步,然后可以在 A 电脑上创建一个备份,备份文件是随条目一起同步的。那 B 电脑 Zotero 应该会自动同步了创建的备份条目 Tara_backup 及对应的附件。\",\"当你在 B 电脑的 Zotero 上点击恢复,选择 A 电脑上刚创建的备份。这样两台电脑上的 Zotero 配置和插件信息就一起同步了。\",\"注意修改 Tara 的 “备份 Locate” 设置\",\"由于不同系统平台或主机上的文件路径可能不一致,tara 在备份时默认过滤掉了 locate 文件夹,可以通过点击 Tara 图标-设置 进行修改。\"]},\"262\":{\"h\":\"引文的样式\",\"t\":[\"Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用。\"]},\"263\":{\"h\":\"官方引文格式下载\",\"t\":[\"打开 Zotero 软件,选择“编辑—设置”,在弹出窗口中选择“引用”\",\"引文格式管理\",\"若样式管理器中无符合的样式,可以通过“获取更多样式”,搜索期刊名,即可导入期刊要求的样式\",\"获取更多引文格式\",\"官方引文格式下载\"]},\"264\":{\"h\":\"第三方引文格式\",\"t\":[\"如果上述引文格式不符合你的要求,可到中文 CSL 样式下载更多 CSL 引文格式:\",\"首先你需要在 中文 CSL 样式 页面上找到合适的 CSL 样式,并记住其名称,然后将引文格式下载下来:\",\"下载引文\",\"注意\",\"注意需要在 Zotero 处于启动状态时点击,可以直接安装。若 Zotero 没有弹出窗口,则右击 - 另存为,将其保存为 .csl 文件,然后双击打开 CSL 文件。\",\"提示\",\"如果上面的网站无法打开,可以访问镜像站:https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-csl\",\"在弹出的窗口中点击“确定”后即可将想要的引文格式添加到 Zotero,供后续引用使用。\",\"确认安装引文格式\",\"安装引文格式\"]},\"265\":{\"h\":\"使用 Zotero bib 生成参考文献表\",\"t\":[\"Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。\",\"地址:https://zbib.org/\",\"注意\",\"这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想导入这几篇文档到自己的库。\",\"使用:\",\"打开 https://zbib.org/\",\"在下图输入框中输入需要引用的条目链接/识别符等,然后点击“Cite”\",\"zbib首页\",\"该条条目将会显示如下引用信息,你可以在下图红框处选择样式。\",\"zbib选择样式\",\"继续重复第 2 步可以添加多个条目\",\"已添加的条目将会存储在浏览器,下次打开网页仍然可以看到,直到你清除浏览器 Cookie 或手动删除。\",\"点击“Copy to Clipboard”可以将结果复制到粘贴板。\",\"zbib复制结果\"]},\"266\":{\"h\":\"直接生成参考文献表\",\"t\":[\"除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法:\",\"什么时候使用这种方法?\",\"分享文献引文\",\"需要在 PowerPoint 中添加参考文献表\",\"只是想用文章快速生成参考文献,不想使用 Word 插件\",\"先选择需要引用的文献\",\"选择参考文献\",\"右键,在菜单中选择 用所选条目创建参考文献表\",\"创建参考文献表\",\"接着根据自己的需要选择需要的 参考文献格式 以及 输出方式\",\"选择引文格式及输出方式\",\"如果上一步输出方式选择复制到剪贴板中,此时上述文献的参考文献表就已经复制好了,在任意位置粘贴即可看到。\",\"相关信息\",\"注意:参考文献表的顺序 与 第一步中选择文献的顺序有关\",\"粘贴参考文献表\",\"插件推荐\",\"Zutilo 插件(仅适配 Zotero 6,2023.10.7)提供了生成参考文献表的快捷键。Zotero Actions & Tags 插件(仅适配 Zotero 7,2023.10.7)配合自定义脚本也可以添加生成参考文献表的快捷键。\"]},\"267\":{\"h\":\"编辑条目\",\"t\":[\"始终及时校准条目\",\"使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。\",\"Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。\",\"我们应始终意识到这个问题,养成导入后随手校正的习惯。\"]},\"268\":{\"h\":\"重复条目\",\"t\":[\"Todo:待完善\",\"参考:https://www.zotero.org/support/duplicate_detection\",\"由于各种原因,您可能会导入一些重复的项目。例如,您可能从同一网页保存同一项目多次,或者以前看的文献没印象了又新导入了一次。当你写论文插入参考文献时,重复条目会严重影响正确性,例如,你可能在不同地方引入同一文献的不同副本,而 Zotero 会认为它们是两个不同的文献。幸运的是,Zotero 可以帮助您识别可能的重复项并允许您合并它们。\",\"插件推荐\",\"插件 Linter for Zotero 和 Zopliacte 提供了对新增条目提醒重复的功能。\"]},\"269\":{\"h\":\"条目字段\",\"t\":[\"从以上方法导入的数据并不一定是完全正确的,最好养成导入条目后随手校正的习惯。\",\"如下图所示,在中心窗格中选择一个条目后,右侧(标准视图)或下侧(堆栈视图)会显示该条目的书目信息。多数条目都可以直接单击进行编辑,更改自动保存。\",\"添加条目后信息窗格\",\"以下是一些比较特殊的字段,拿出来单独介绍:\"]},\"270\":{\"h\":\"条目类型\",\"t\":[\"请尤其注意这一个选项,这直接决定在引用时,该条目以什么方式出现。且该项在通过浏览器导入时非常容易出错。\",\"最典型的错误就是将“期刊文章/学位论文”等识别为“网页”。这会导致部分引文格式后出现 [EB/OL] 等文献标识符。\",\"这时我们应该重新导入或手动更正。\"]},\"271\":{\"h\":\"期刊缩写\",\"t\":[\"部分期刊要求使用“期刊标题的缩写”进行引用,Zotero 将“期刊名全称”和“期刊名缩写”分别保存在“期刊”和“期刊缩写”两个字段中。\",\"抓取时不一定能准确获得期刊缩写,写论文引用前最好校正一下。\",\"通常期刊缩写的差别多数在于加不加 .,例如“Applied Surface Science”可以缩写为“Appl Surf Sci”或“Appl. Surf. Sci.”。我们建议总是存储为加 . 的格式。因为去掉 . 总是比加上 . 更方便,在引用时,对于需要不加 . 的期刊就可以通过 CSL 直接去掉 .。\",\"插件推荐\",\"插件 Linter for Zotero 提供了自动获取期刊的 ISO 4 缩写的功能,可前往 插件商店下载安装。\"]},\"272\":{\"h\":\"标题\"},\"273\":{\"h\":\"标题中的上下标\",\"t\":[\"下标内容 上标内容 斜体 粗体 \",\"详细请参阅:。\",\"插件推荐\",\"插件 Linter for Zotero 提供了辅助输入这些富文本标签的功能,可前往 插件商店下载安装。\"]},\"274\":{\"h\":\"标题的大小写\",\"t\":[\"我们建议您始终将标题以“句子大小写”的形式存储在 Zotero 库中,这有利于 CSL 进行格式转换。\",\"什么是“句子大小写”?\",\"- 标题大小写:Mechanism of Ce-Modified Birnessite-MnO2 in Promoting SO2 Poisoning Resistance for Low-Temperature NH3-SCR - 句子大小写:Mechanism of Ce-Modified Birnessite-MnO2 in promoting SO2 poisoning resistance for low-temperature NH3-SCR \"]},\"275\":{\"h\":\"其他 extra\",\"t\":[\"所有其他自定义字段均应保存在“其他(extra)”字段,保存在该字段的数据应为若干个键值对,每行一个。CSL 引用时可以通过键来调用值。\"]},\"276\":{\"h\":\"Feed\",\"t\":[\"Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。\",\"追踪期刊目录更新\",\"追踪数据库中某些【关键词】相关的文献更新情况\",\"订阅任意网站的内容更新,例如 b 站 up 主的视频更新...\"]},\"277\":{\"h\":\"Zotero 订阅设置\",\"t\":[\"在 Zotero 主界面,左上角工具栏选择 - 新建订阅 - 从网址...\",\"新建订阅\",\"之后会弹出以下窗口\",\"输入网址\",\"在网址栏填入订阅网址(如何获取请往下拉),Zotero 识别成功之后会自动填入标题(可以自己手动更改,Zotero 不会根据期刊订阅先后给订阅的期刊排序,可以手动在期刊名前面加上 1234 或者字母来排序)并且进行高级选项设置,保存之后即可在主界面左侧订阅处看到订阅的内容及更新。\",\"订阅条目列表\"]},\"278\":{\"h\":\"订阅来源\",\"t\":[\"从网址订阅:\\\"从网址订阅\\\"是最直接、最方便的添加 RSS 订阅的方式,只需要提供订阅源的链接即可,是我们用 Zotero 追踪期刊更新时最常用的方式,以下涉及的实例也将基于此方式进行。\",\"OPML 订阅:\\\"来自 OPML\\\"主要用于之前有使用其它 RSS 阅读器,从其它阅读器中导入已经订阅的内容至 Zotero 中,一般用户很少涉及此方式,故不过多介绍。\"]},\"279\":{\"h\":\"高级选项\",\"t\":[\"高级选项\",\"【更新订阅每 N 小时】:即设定订阅间隔,每 N 个小时从订阅 URL 爬取期刊目录,加载在该【订阅】界面。如果 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,如果有内容更新,就会加载出现在 Zotero 订阅界面。\",\"【删除已读提要题目于之后 N 天】:即点击了该条目查看右侧的条目详细信息(Zotero 会自动设置为\\\"已读\\\"状态)N 天后在期刊订阅界面删除该条目,如果不想删除已读条目,则将 N 设置为一个较大的数值,例如 1000000。\",\"【删除未读提要条目于之后 N 天】:即该条目一直处于未点击查看该条目的具体信息,N 天后在期刊订阅界面删除该条目。如果不想删除未读条目,则将 N 设置为一个较大的数值,例如 1000000。\",\"以上三项订阅参数的默认设置入口(Zotero7):\",\"Win:编辑 - 设置 - 高级 - 订阅\",\"Mac:Zotero - 设置 - 高级 - 订阅\",\"在此设置页面中,可以设置对订阅的条目按\\\"最早条目在先\\\" / \\\"最新条目在先\\\"的排序。\",\"订阅设置\"]},\"280\":{\"h\":\"从\\\"订阅\\\"添加文献条目到\\\"我的文库\\\"/\\\"群组文库\\\"\",\"t\":[\"Zotero 的订阅内容并不会保存在个人文库中,也不可以直接引用\\\"订阅\\\"中的条目,因此需要引用则需要将其添加到\\\"我的文库\\\"(也可以共享到群组文库)\",\"添加到文库\",\"点开 Zotero 某一期刊/RSS 订阅内容,点击具体条目,看到右侧信息栏,点击 中的 ▽ 倒三角图标,选择你想要保存到的本地文库文件夹 📂/在线群组文件夹 📂,再点击\\\"添加到 XXXX\\\",即可从订阅中添加到自己的文献库/某个群组文库中(可以同时添加到若干个文库)。\"]},\"281\":{\"h\":\"订阅界面右键功能介绍\",\"t\":[\"在订阅界面点击某个具体的订阅期刊,右键即可出现以下菜单选项\",\"订阅右键菜单\",\"更新订阅:除了 Zotero 自动按照订阅某期刊时\\\"高级选项\\\"的更新选项去更新订阅外,手动更新订阅,如有最新内容则自动加载到右侧具体条目面板中\",\"标记订阅为已读:Zotero 订阅界面中未读的期刊/具体文献条目将会加粗显示,点击该选项将会设置该期刊所有内容为已读状态,取消加粗显示。\",\"编辑订阅:回到\\\"2、高级选项\\\"中的设置界面,可以更改某一个期刊的高级选项,便于进行个性化订阅设置。\",\"退订订阅:即从订阅面板删除该订阅期刊,会有确认取消窗口避免误删,请慎重选择!\"]},\"282\":{\"h\":\"订阅网址(RSS 链接)获取\"},\"283\":{\"h\":\"中文期刊订阅------以知网、万方数据库为例\"},\"284\":{\"h\":\"知网\",\"t\":[\"进入 知网期刊导航界面,在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【出版来源检索】>\",\"知网搜索期刊\",\"在搜索结果界面,点击进入期刊页面\",\"知网搜索期刊\",\"在期刊主页左上角找到并点击【RSS 订阅】\",\"知网创建rss\",\"复制浏览器地址栏中的网址,进入 Zotero,按照\\\"一、Zotero 订阅设置\\\"步骤填入并设置即可。\",\"知网复制地址\"]},\"285\":{\"h\":\"万方数据库\",\"t\":[\"进入万方智搜(https://c.wanfangdata.com.cn/periodical)界面,在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【搜期刊】\",\"万方搜期刊\",\"进入搜索结果界面点击期刊名称\",\"万方\",\"进入期刊主页后,找到页面中部的【feed 订阅】选项,点击【rss 订阅】\",\"万方\",\"跳转如下页面后,浏览器地址栏的网址即 RSS 订阅链接,复制浏览器地址栏中的网址,进入 Zotero,按照\\\"一、Zotero 订阅设置\\\"步骤填入并设置即可。\",\"万方\"]},\"286\":{\"h\":\"英文期刊订阅\",\"t\":[\"一般而言英文期刊/数据库都在期刊页面提供了 RSS 订阅选项,只需要找 RSS 图标 ,即可获取订阅网址(RSS 地址)\",\"打开 Annual Review of Psychology 网页,找到右上角的 RSS feed 符号,点击打开\",\"Annual Review of Psychology\",\"打开之后如下图示,复制浏览器地址栏的网址,即 RSS 地址,进入 Zotero,按照\\\"一、Zotero 订阅设置\\\"步骤填入并设置即可。\",\"复制链接\"]},\"287\":{\"h\":\"关键词订阅(PubMed 为例)\",\"t\":[\"打开 PubMed 官网,在搜索栏输入你想追踪的文献关键词,例如\\\"heat wave\\\",点击搜索\",\"PubMed\",\"如下图示,点击搜索框下面的\\\"Create RSS\\\",进入该关键词订阅的设置界面\",\"PubMed订阅\",\"在设置界面,修改为合适\\\"Number of items displayed\\\"(追踪的文献条目数量),点击\\\"Create RSS\\\",生成\\\"RSS Feed link\\\"后点击 copy,将其按照\\\"一、Zotero 订阅设置\\\"的方法填入 Zotero,即可订阅追踪该关键词的相关文献进展。\",\"PubMed 修改数量\"]},\"288\":{\"h\":\"配合 RSSHub Radar 订阅任意网站内容\",\"t\":[\"RSSHub Radar 是 RSSHub 的衍生项目,用来快速发现当前网页的 RSS 地址,如果支持 RSSHub 则显示 RSSHub 地址,支持包括Zotero、 Tiny Tiny RSS、FreshRSS、Feedly、Inoreader 在内的 11 款阅读器一键订阅。\",\"主要功能:\",\"快速发现和订阅当前页面自带的 RSS\",\"快速发现和订阅当前页面支持的 RSSHub\",\"快速发现当前网站支持的 RSSHub\",\"支持一键订阅 RSS 到 Tiny Tiny\",\"RSS、Miniflux、FreshRSS、Feedly、Inoreader、Feedbin、The Old Reader、Feeds.Pub、本地阅读器一旦检测出 RSS 地址,RSSHub Radar 就会在角标上显示出数量。\",\"RSSHub Radar 浏览器插件下载与安装(含教程):GitHub 主页、Gitee 镜像主页、RSSHub Radar 与 Zotero 联动。\",\"bili为例\",\"打开你想关注的 UP 主(以 sharestuff 为例),点击浏览器右上角的 RSSHub Radar 插件图标\",\"RSSHUB订阅bili\",\"选择所需要订阅的内容,点击\\\"复制\\\",进入 Zotero 进行 URL 订阅即可。\"]},\"289\":{\"h\":\"订阅功能常见问题及解决方法(更新中)\",\"t\":[\"1、填入网址后不能自动识别与保存的解决方法:检查或更换网络,重启 Zotero 后第一时间进入订阅填入网址,能够自动识别并填充标题即可成功订阅;部分网址需要在科学网络的情况下才能识别成功,如遇外网期刊订阅无法保存时,需要保证自己的网络足够科学。\",\"2、订阅间隔设置不当导致的条目重复问题:在 Zotero6 中该问题较为常见,尚未完美的解决方案,只能根据期刊更新周期设定订阅间隔。例如《社会学研究》为双月刊,建议从其发刊日时添加订阅,N 设定为 2X30X24 小时。某些 Zotero 版本,如果高级选项的【更新订阅每 N 小时】中 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,导致期刊【订阅】界面出现重复文献条目。\"]},\"290\":{\"h\":\"群组\",\"t\":[\"课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。\",\"双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。\",\"Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等)\",\"不限制群组成员数量\",\"配合 Chartero 插件可以实时查看成员某文献条目的阅读时间\",\"群组依赖 Zotero 账号\",\"群组的条目和附件同步均能且仅能通过 Zotero 官方同步服务同步,因此在使用群组功能前,你必须登录 Zotero 账户,如果你没有登录,请阅读 小节完成账号注册和登录。\"]},\"291\":{\"h\":\"创建群组\",\"t\":[\"有两种方式创建群组:\",\"在 Zotero 客户端中点击如下按钮:\",\"创建群组\",\"在Zotero 群组页面 点击 Create a New Group 按钮。\",\"在打开的页面中,为群组输入一个名字,选择群组的类型,并依次进行群组设置,即可完成创建。\"]},\"292\":{\"h\":\"群组类型\",\"t\":[\"群组有三类,分别是 私有群组 (Private)、公开, 限定成员制群组 (Public, Closed Membership) 和 公开, 开放成员群组 (Private) 三类,下表对比了三种群组类型的特点。\",\"项\",\"私有群组\",\"公开,限定成员制\",\"公开,开放成员\",\"谁可以看到\",\"仅成员\",\"所有人\",\"所有人\",\"谁可以加入\",\"邀请\",\"邀请或申请\",\"所有人\",\"条目附件共享\",\"支持\",\"支持\",\"不支持\",\"群组类型也可以之后可以在群组设置继续更改。\"]},\"293\":{\"h\":\"群组设置\",\"t\":[\"群组设置页面主要有三个设置项,分别对应条目的读取、编辑、附件的编辑三类权限。\",\"读取权限:谁可以看到该群组图书馆中的项目? \",\"Anyone on the internet 所有人\",\"Any group member 仅所有群组成员\",\"编辑权限:谁可以在该组的库中添加、编辑和删除项目? \",\"Any group member 所有成员\",\"Only group admins 仅群组管理员\",\"文件编辑权限:谁可以使用组中存储的文件?(公共开放组不能启用文件存储) \",\"Any group member 任何团体成员\",\"Only group admins 仅群组管理员\",\"No group file storage 无群组文件存储\",\"关于群组成员、群组管理员等的设置,请见 群组管理 小节。\"]},\"294\":{\"h\":\"关于群组的附件\",\"t\":[\"一般用户默认会存储和分享群组空间只会占用创建者(即群主)的官方云存储空间(300M 免费)。\",\"群组功能目前仅支持官方云储存空间进行同步附件(例如文献的 PDF、笔记等),因此创建“Private”/“Public Closed”群组类型的用户,建议使用 ,把 300M 免费空间留给群组内文献条目附件的同步。\",\"如果 300M 空间用尽,可以进入 Zotero 官网,在右上角的 Upgrade Storage 中升级付费计划(需要国外 VISA 信用卡)。\",\"Zotero 群组的付费存储空间只需要群主付费,其他成员无需承担。\"]},\"295\":{\"h\":\"加入群组\"},\"296\":{\"h\":\"1、官网群组搜索 🔍\",\"t\":[\"适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。\",\"在 Zotero 官网群组搜索页面,可以通过群组的名称,搜索到目标群组。\",\"搜索群组\",\"在接下来的搜索结果页面中点击目标群组名称,进入该群组的主页\",\"点击群组名称\",\"在主页点击右侧的 Join,即可申请加入该群组。\",\"群组详情页面\",\"Public Open 的群组点击 Join 之后即可加入\",\"Public Closed 需要等管理员或者群主通过申请才可以加入\",\"Zotero 客户端重启之后即可在右侧\\\"群组文库\\\"看到所加入的群组。\"]},\"297\":{\"h\":\"2、群组链接 🔗\",\"t\":[\"适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。\",\"群组成员(群主、管理员、成员)进入 Zotero 群组页面,点击群组名称,进入群组页面,浏览器地址栏的网址即为群组链接,可以分享给他人,他人打开即可申请加入(同上图)。\",\"群组页面链接\"]},\"298\":{\"h\":\"3、管理员邀请 ✉️\",\"t\":[\"适用于所有群组,包括 Private、Public Closed、Public Open 三种类型,仅群主和管理员可以操作。\",\"群组成员(群主、管理员、成员)进入 Zotero 群组页面,点击群组名称下方的 Members Settings\",\"members settings\",\"跳转后点击页面左下角 Send More Invitations\",\"发送邀请链接\",\"在邀请成员界面的方框内,输入被邀请人的 Zotero 用户名或者注册 Zotero 时所用的电子邮箱。可以同时邀请多人(用英文逗号分隔即可),输入完成之后点击下方的 Invite Members,即可完成邀请。被邀请人注册 Zotero 时所用的邮箱将会受到邀请邮件,进入接受邀请即可。\",\"输入被邀请者用户名\"]},\"299\":{\"h\":\"群组管理\",\"t\":[\"群组成员(群主、管理员)进入Zotero 群组页面,点击群组名称下方的 Manage Profile,可以设置头像、名称、群组所属类别等信息,也可在此页面解散群组。\",\"点击 Manage Members 可以管理成员,例如审批加群申请、新增成员、移除成员、改变成员权限等。\",\"点击群组名进入群组详情页,右侧红色按钮 leave 可以退出群组,退出后需要重启 Zotero 客户端。\"]},\"300\":{\"h\":\"从其他软件导入条目\"},\"301\":{\"h\":\"从 Endnote 导入\",\"t\":[\"1、复制要导出的文献到新库(New library)\",\"注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件。 打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Reference To】=>【New Library...】\",\"Endnote菜单\",\"如下图示,在弹出来的文件浏览器页面选择一个容易找到的文件夹(以桌面为例,图中步骤 ①),接着自定义库的名称(后续导入 Zotero 内成为一个新文件夹默认使用该名称,图中步骤 ② 以test为例),点击【Save】\",\"Endnote输出目录\",\"Endnote 内打开保存的新库,点击左上角工具栏【File】=>【Export】\",\"Endnote导出\",\"2、导出 Endnote 题录和附件\",\"如下图所示,在弹出的窗口选择1、复制要导出的文献到新库中所保存的新库目录(也可以找到默认目录,该目录下包含“PDF”、“sdb”),但请不要选择“PDF”/“sdb”这两个子目录!!! 图中 ② 处请选择 XML 格式,然后点击保存,test.data 文件夹下将会出现一个后缀名为 xml 的文件。\",\"Endnote XML\",\"Endnote 选择XML格式\",\"3、导入 Zotero\",\"打开 Zotero,在左上角工具栏选择【文件】=>【导入...】\",\"Zotero 菜单\",\"如下图示,在弹出的 import 窗口界面选择【A file(BibTex,RIS,Zotero RDF,etc.)】,点击继续\",\"Zotero导入选项\",\"在弹出的文件浏览器界面选择步骤2、导出 Endnote 题录和附件中保存的 xml 文件,点击【Open】\",\"选择文件\",\"在弹出的 import 界面中如下图选择以下两个选项,将导入的题录单独放在一个文件夹,然后将条目的 PDF 附件也导入到 Zotero 的存储文件夹中,便于 Zotero 同步(否则只是存储文件链接,在其他设备打不开附件),最后点击【继续】。\",\"Zotero导入向导第二步\",\"如下图所示,Endnote 的题录和附件则导入成功。\",\"Zotero 导入完成\",\"请注意,如下图示,如果 Zotero 在 EndNote XML 数据中遇到它不支持的任何字段(例如,自定义字段、作者地址、作者隶属关系),它会将这些数据添加到附加到导入项目的注释笔记中。这些注释将标记为“_EndnoteXML 导入”。如果导入增加了许多这些注释笔记,Zotero 的性能可能会受到负面影响。您应该查看其中每个注释,以确定是否需要保留数据并删除任何不必要的注释笔记。此外,还应检查这些注释笔记,以确定是否可以将任何数据迁移到正确的 Zotero 字段(如果以非标准方式使用 EndNote 字段,这一点尤其重要)。\",\"Zotero导入非标字段\"]},\"302\":{\"h\":\"从 Microsoft Word 导入\",\"t\":[\"1、下载 bibtex.xsl 文件\",\"下载地址:https://gist.githubusercontent.com/JaimeChavarriaga/40166befb14f2fe5dac390688d9eaf03/raw/faf4aa3f72e553095f81f1440c3dce744c2755a2/bibtex.xsl\",\"2、Word 软件添加 bibtex 样式\",\"目录如下(详细步骤以 Mac 为例)\",\"Mac 目录:\",\"/Applications/Microsoft Word.app/Contents/Resources/Style\",\"Windows 目录\",\"Word 2010 for Windows:\",\"C:\\\\Program Files\\\\Microsoft Office\\\\\\\\Bibliography\\\\Style\",\"Word 2016/2019/Office 365 for Windows:\",\"C:\\\\Users\\\\\\\\AppData\\\\Roaming\\\\Microsoft\\\\Bibliography\\\\Style\",\"打开访达,左上角工具栏点击【前往】=>【前往文件夹】\",\"Word 导出\",\"在弹出的窗口粘贴上面提到的 Mac 路径,按 Enter 键\",\"选择路径\",\"将下载好的 bibtex.xsl 文件复制到该文件夹下。\",\"复制bib\",\"3、Word 引文导出\",\"打开 Word 文件,如下图中 ① 所示,在选项卡中点击【引用】,紧接着点击图中 ② 所示,切换引文格式\",\"Word切换引文格式\",\"选择“Bibtex Export”\",\"选择bibtex export\",\"即可看到文末参考文献列表的引文格式发生了变化,复制下图所示区域的代码到剪切板。\",\"复制代码\",\"4、导入 Zotero\",\"打开 Zotero,在“我的文库”中选择(或新建后选中)一个文件夹,用于存放要导入的文献条目,在左上角工具栏点击【文件】=>【从剪切板导入】\",\"导入Zotero菜单\",\"即可如下图所示,成功导入 Word 文档中引用的文献。\",\"导入完成\"]},\"303\":{\"h\":\"其他工具软件\",\"t\":[\"详细信息请见官方链接:https://www.zotero.org/support/moving_to_zotero。\",\"Mendeley: https://www.zotero.org/support/kb/mendeley_import\",\"Citavi: https://www.zotero.org/support/kb/import_from_citavi\",\"Plain text reference lists: https://www.zotero.org/support/kb/importing_formatted_bibliographies\",\"Bib(La)TeX: https://www.zotero.org/support/kb/importing_standardized_formats\",\"JabRef: https://www.zotero.org/support/kb/importing_standardized_formats\"]},\"304\":{\"h\":\"Zotero 支持导入的文件格式\",\"t\":[\"Zotero RDF\",\"CSL JSON\",\"BibTeX\",\"BibLaTeX\",\"RIS(Can be convenient for quick edits between export & import because of its simple structure)\",\"Bibliontology RDF\",\"MODS (Metadata Object Description Schema)\",\"Endnote XML(Best format for exporting from Endnote)\",\"Citavi XML(Best format for exporting from Citavi)\",\"MAB2\",\"MARC\",\"MARCXML\",\"MEDLINE/nbib\",\"OVID Tagged(使用教程参考https://www.lib.whu.edu.cn/sybz/WHU04134Ovid.pdf)\",\"PubMed XML\",\"RefWorks Tagged(Best format for exporting from RefWorks)\",\"Web of Science Tagged\",\"Refer/BibIX(Generally avoid if any other option is available)\",\"XML ContextObject\",\"Unqualified Dublin Core RDF\",\"您还可以通过支持【导出上述文件格式的网站或软件】中导入题录到 Zotero,例如 Reference Manager、RefWorks、Papers、Google Scholar Library、ReadCube 等,方法是下载好以上的标准化的参考格式文件,例如 RIS、BibTeX 或 CSL JSON,然后通过单击“文件”→“导入...”导入 Zotero,然后选择“文件”,即可导入 Zotero。\"]},\"305\":{\"h\":\"安装\"},\"306\":{\"h\":\"主程序(PC)\",\"t\":[\"请在 Zotero 官网 (https://zotero.org) 下载对应自己操作系统的安装包。\",\"image.png\"]},\"307\":{\"h\":\"浏览器插件 Zotero Connector\",\"t\":[\"Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。\",\"请在主程序安装完成后,打开常用的浏览器,点击上图右侧的 Install Connector 按钮下载。\",\"支持常用浏览器:Chrome(谷歌浏览器),Firefox(火狐浏览器),Edge(微软自带浏览器),Safari(macOS 自带浏览器)。\",\"提示\",\"由于 Google Chrome Store 在国内无法正常访问,所以如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。\",\"如果你使用谷歌浏览器且无法打开插件下载页面,可在其他镜像站下载。例如:\",\"https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc\",\"下载安装完毕后,在浏览器右上角可看到插件图标(或)。此时,浏览器插件已经安装成功了。\",\"当你打开一个可抓取文献的网页时,插件图标会显示为,或等。稍后当我们设置完成,点击插件图标即可抓取文献。具体使用方法将在 将条目添加进文献库 小节中展开。\"]},\"308\":{\"h\":\"其他平台客户端\"},\"309\":{\"h\":\"iOS\",\"t\":[\"Zotero 官方目前已开发有 iOS 客户端,在 App store 搜索下载 Zotero 即可,APP 首页:Zotero for iOS。\",\"注意\",\"要使用 iOS 客户端,需要使用官方同步或 WebDAV 同步二者之一,才能顺利同步附件。其他使用 ZotFile 等链接文件的同步方式不支持,未来也不会支持。\"]},\"310\":{\"h\":\"Android\",\"t\":[\"Zotero 官方现已发布 Zotero for Android 测试版,然而,测试期间存在人数限制,且下载链接在 Google Play,国内下载不便,支持功能也有限,有条件的同学可以自行尝试。\",\"Google Play\",\"LingXingZhong 镜像\",\"在官方版本正式发布前, Android 用户可使用以下第三方客户端:\",\"Zoo for Zotero:\",\"Google Play\",\"LingXingZhong 镜像\",\"Android Apps APK 镜像\"]},\"311\":{\"h\":\"移动端\"},\"312\":{\"h\":\"iOS\",\"t\":[\"官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。\"]},\"313\":{\"h\":\"安装\",\"t\":[\"见 。\"]},\"314\":{\"h\":\"配置\",\"t\":[\"提示\",\"在进行该部分操作时,请确保您拥有 Zotero账户、具有WebDAV同步功能的网盘、完成PC端相关设置。\",\"在第一次打开 Zotero 时,会提醒登陆,选择 Sign In(此时需要登陆你的 Zotero 账户)\",\"登陆Zotero账户\",\"登陆完成后,返回 app 主页,点击右上角的齿轮图标\",\"app首页\",\"点击 account 进入同步设置\",\"从上到下依次为:\",\"附件同步方式:WebDAV\",\"WebDAV 地址:dav.jianguoyun.com/dav\",\"坚果云账户:邮箱\",\"密码:此处的密码是在坚果云中创建的应用密码,不是坚果云网盘的登陆密码)\",\"验证服务器后显示Verified 表示设置成功。\",\"iOS同步登陆\",\"等待片刻文献即可同步成功。可以点击文献直接阅读,也点击文献右侧的 i 标志查看文献信息\",\"在文献阅读时,可以进行高亮内容,任意划线等操作。完成阅读是直接返回,你的阅读记录会后台自动同步到其他客户端。\"]},\"315\":{\"h\":\"Android\",\"t\":[\"提示\",\"Zotero 官方已经在测试 Android 版本客户端,预计 2024 年会发布。\",\"目前使用较多的 Android 客户端是 Zoo,开源免费,主要功能有:\",\"查看不同文件目录分类,包括子文件目录。不能编辑\",\"支持群组条目查看,不能编辑\",\"支持创建,编辑和删除笔记。这里是笔记,不是 PDF 里的注释笔记\",\"支持搜索功能,包括条目和笔记\",\"支持 WebDAV 附件下载与上传\"]},\"316\":{\"h\":\"安装\",\"t\":[\"见 。\"]},\"317\":{\"h\":\"配置\",\"t\":[\"Zoo 安装成功后,需要使用 Zotero 授权的 API key 才能访问 Zotero 数据库。如果你已有一个 API key,可直接在下图中直接填入。一般刚使用 Zoo 的同学,都需要重新申请一下,输入 Zotero 账号和密码,点击 Got it,在授权页面注意需要选择 7 Save Key。如果不成功,可以多试几次。授权成功后,应用会开始下载文献库信息,文献越多,下载时间越长。如果等了 10-20 分钟还在 Loading,建议重启 APP 试试。详细说明参考下图\",\"为 Zoo 设置 Zotero API key\",\"Zoo 加载数据界面\",\"一般常用的附件同步方式是使用WebDAV,如果你使用 Zotero 的 300M 空间,可不必进行这一步设置。先打开右上角工作间 Setting,勾选下方的Use webdav to access attachments,再点击Config Webdav跳转到配置页面,填写好相应的网址,用户名和密码,请一定要注意核对网址,用户名和密码的空格,特殊符号等。这里里的网址后面会自动帮你加上 Zotero,填写时要注意\",\"Zoo 中配置 WebDAV\",\"配置完毕,点开某个条目,点击 PDF 图标,会自动下载 PDF。有可能下载失败,重试即可\",\"Zoo 中下载 PDF\"]},\"318\":{\"h\":\"在 Word 中插入参考文献\",\"t\":[\"这些是使用 Zotero for MS Office Word 插件的说明。\",\"要在 WPS 中使用插件,请参见 。\"]},\"319\":{\"h\":\"Zotero Word 插件选项卡\",\"t\":[\"Zotero Word 插件选项卡\",\"一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero 选项卡。如果你的 Word 里没有 Zotero 选项卡,请参见 。\",\"Zotero 选项卡包含以下图标:\",\"名称\",\"图标\",\"描述\",\"添加/编辑引注\",\"在光标位置添加新引注或编辑文档中的现有引注。\",\"添加/编辑参考文献表\",\"在光标位置插入参考文献表或编辑现有书目。\",\"添加笔记\",\"在光标当前位置插入笔记。请注意,此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。\",\"文档首选项\",\"打开“文档首选项”窗口,例如更改引文样式。\",\"刷新\",\"立即刷新所有引注和参考文献表,更新 Zotero 库中已更改的项目元数据。\",\"取消链接引注\",\"通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成。\"]},\"320\":{\"h\":\"文档首选项\",\"t\":[\"Word文档首选项窗格\",\"“文档首选项”窗口允许您设置以下针对该文档的设置:\",\"引文样式\",\"一般情况下,你只需要修改这一项,其余设置均保持默认即可。\",\"设置引注和参考文献表的格式的语言。\",\"对于基于注释的样式,例如“China National Standard GB/T 7714-2015(note,Chinese)”,引文是插入为脚注还或尾注。\",\"脚注和尾注的样式和格式由 Word(而不是 Zotero)控制。\",\"将引文存储为字段还是书签\",\"默认为“字段”。除非您需要使用 LibreOffice 与同事协作,否则应始终选择“字段”。\",\"对于缩写期刊标题的样式(例如,“Nature”),是否使用 MEDLINE 缩写列表来缩写标题。\",\"如果选择此选项(默认值),则 Zotero 中“ ”字段的内容将被忽略。\",\"是否自动更新引注和参考文献表 一般情况下开启即可。当文档中引文非常多,每次更新都会卡顿时,可以关闭此功能,添加一部分或最终手动进行更新。\"]},\"321\":{\"h\":\"添加引注\",\"t\":[\"您可以通过单击“添加/编辑引注”()按钮开始添加/编辑引用。\",\"在一个未添加过引文的文档中,按下按钮将首先显示“文档首选项”窗口以让用户选择一个样式文件,之后按下按钮将显示引文对话框。\",\"引文对话框用于从 Zotero 库中选择项目,并创建引文。\",\"开始在对话框中键入标题的一部分、一个或多个作者的姓氏和/或年份。匹配项将立即显示在对话框下方。\",\"引文对话框\",\"提示\",\"如果您在输入中文后,对话框下方并未出现相应的匹配项,您可以再输入一个空格,相关的匹配项就可以正常显示了。\",\"通过单击项目或在项目突出显示时按 Enter/Return 键来选择该项目。该项目将以阴影气泡的形式显示在对话框中。完成添加所有引用项目后,再次按 Enter/Return 键以插入引文并关闭“添加引文”框。\",\"引文对话框\",\"小技巧\",\"在“添加引文”对话框中,您可以单击被引用项目的气泡,然后单击“在我的库中打开(或组库的名称)”以在 Zotero 中查看该项目。\",\"孤立的项目(未连接到 Zotero 数据库中的任何项目)将没有“在我的库中打开”按钮。如果孤立项目是由协作者从其“我的媒体库”或您无权访问的群组中插入的,或者您已从 Zotero 资料库中删除了这些项目,则这些项目可能存在。\",\"编辑引文\"]},\"322\":{\"h\":\"包含多个被引用项目的引文\",\"t\":[\"引文对话框\",\"要创建包含多个引文的引文(例如,数字样式为[2,4-6],作者日期样式为“(Smith 1776, Schumpeter 1962)”),请在“添加引文”框中一个接一个地添加它们。选择第一个项目后,不要按 Enter/Return 键,而是键入下一个项目的作者、标题或年份。\",\"提示\",\"如果在连续添加多个引文时,新输入的内容仍被包裹在上一个引用项目的气泡中,您可以先输入一个空格,然后再输入下一个引用项目的信息。\",\"某些引文样式要求一个文本内引文中的项目按字母顺序排序(例如,“(Doe 2000, Grey 1994, Smith 2008)”)或按时间顺序排序(“(Grey 1994, Doe 2000, Smith 2008)”)。Zotero 将自动遵循这些排序规则。\",\"若要禁用引文中引文的自动排序,请拖动引文以在“添加引文”框中重新排列引文。您也可以单击“添加引文”框左侧的“Z”图标,然后取消选中“将源排序”选项。此选项仅对指定引文排序顺序的引文样式显示。 要恢复自动排序,请重新选中“保持源已排序”选项。\"]},\"323\":{\"h\":\"添加参考文献表\",\"t\":[\"单击“添加/编辑参考文献表”()按钮会在光标位置插入参考文献表。\",\"Zotero 将根据文档中的引文自动更新参考书目。\",\"在极少数情况下,如果要将未在文档中引用的项目添加到书目中,可以再次单击“添加/编辑书目”按钮,这将打开 书目编辑器。在 Word 中对书目进行的手动编辑将在下次 Zotero 刷新文档时被覆盖。\"]},\"324\":{\"h\":\"切换到“经典视图”\",\"t\":[\"“添加/编辑引注”对话框有默认版与经典版两种,下图为经典版的示例:\",\"经典引文对话框\",\"您可以通过单击“添加引文对话框”左侧的“Z”图标并选择“经典视图”来切换到“经典视图”引文对话框。\",\"切换经典视图\",\"要永久切换到经典视图,请勾选 Zotero -编辑 -首选项 -“引用”选项卡 -使用经典添加引文对话框。\",\"使用经典引文对话框\"]},\"325\":{\"h\":\"经典视图下使用多来源引用\",\"t\":[\"单击引文选取对话框左下角“多重来源”,右侧会出现多重来源列表,将引文从左侧拾取到右侧即可。\"]},\"326\":{\"h\":\"经典视图下多重来源的引文排序\",\"t\":[\"经典引文对话框-添加多来源\",\"若要禁用引文中引文的自动排序,请在“添加引文”框中拖动引文以重新排列它们。你也可以取消选中“保持来源分类”选项。此选项仅对指定引文排序顺序的引文样式显示。 要恢复自动排序,请重新选中“保持源已排序”选项。\"]},\"327\":{\"h\":\"自定义引用\",\"t\":[\"可以通过各种方式自定义引文。\",\"如果引文只是不正确或缺少数据,请首先确保 Zotero 中的项目元数据正确完整,然后单击插件中的“刷新”以使用任何更改更新文档。\",\"可以通过引文对话框进行其他自定义。单击文档中的现有引文,然后单击“添加/编辑引文”以打开引文对话框,然后单击引文气泡以打开引文选项窗口,您可以在其中进行以下更改。\",\"编辑引文\"]},\"328\":{\"h\":\"页码和其他定位器(图、表等)\",\"t\":[\"在某些情况下,您希望引用项目的某个部分,例如某个页面,页码范围或卷。这种额外的引文特定信息(例如,引文“Doe et al.,2001 年,page 4-7”中的“page 4-7”)被称为“定位器”。\",\"引用选项窗口具有不同定位器类型的下拉列表(默认为“page”),以及一个可在其中输入定位器值(例如“4-7”)的文本框。要引用除所列定位符以外的定位符(例如“表”),请使用“后缀”字段。\",\"您还可以在插入引文时添加页码。搜索项目,在选择项目之前或之后,但在按 Enter 将引文插入到文档中之前,键入“p.34”、“p34”,甚至只是键入“34”,页码将添加到引文中。\"]},\"329\":{\"h\":\"前缀和后缀\",\"t\":[\"“前缀”和“后缀”文本框允许您指定文本,分别位于自动生成的引用之前和之后。例如,您可能想要“cf. Tribe 1999, see also see……”,而不是“Tribe 1999”。\",\"前缀和后缀字段中的任何文本都可以使用 HTML 标记 (斜体)、(粗体)、<子>(下标)和(上标) 进行格式设置。例如,键入 cf。example 将显示为 _cf_. example。\",\"前缀和后缀可以应用于引文中的每个项目,以创建复杂的引文。例如:“(参见 Smith 1776 的经典例子; 马克思 1867 年提出和另一种观点)”。通过在“前缀”和“后缀”字段中输入文本来修改引文始终比直接在 Word 中的引文字段中键入内容更可取。手动修改将阻止 Zotero 自动更新引文。\"]},\"330\":{\"h\":\"省略作者:在文本中使用作者\",\"t\":[\"使用作者日期样式,作者经常被移到文本中,并从以下括号括起来的引文中省略,例如:“……根据史密斯(1776)的说法,劳动分工至关重要……“。要从引用中省略作者,请选中“省略作者”框(这将导致引用类似于“(1776)”而不是“(Smith,1776)”),并将作者的姓名(“Smith”)作为文档中常规文本的一部分。\"]},\"331\":{\"h\":\"其他更改\",\"t\":[\"如果您的引文仍未按所需方式显示,您可以直接在文档中编辑引文,但请注意,这样做会阻止 Zotero 自动更新引文以反映文档中的其他更改(例如,对于“同上”或给定名称消除歧义)。在您进行手动编辑后,Zotero 将要求您确认是否要保留编辑并防止引文自动更新。最好是在要进行的更改的文本中做注释,等到准备好提交文档,然后在使用“取消链接引文”后在文档的副本中进行更改。\",\"如果您认为引用样式中存在错误,请发布到 Zotero 论坛,以便我们可以进行调查,并在必要时更正样式。如果样式已更新,则文档将自动更新,以便在您下次刷新文档时反映任何更改。\"]},\"332\":{\"h\":\"编辑引注\",\"t\":[\"如果您想在之前插入的引注中增加/删除引用项目,或者修改引注中的信息,您可以将光标定位在编号内(此时编号区域会出现灰色阴影),然后单击“添加/编辑引注”()按钮开始编辑引注。\",\"编辑引注\"]},\"333\":{\"h\":\"编辑参考书目\",\"t\":[\"当您在文档中添加和删除引文时,Zotero 将自动更新参考书目以反映您的更改。一般来说,这就是你所要做的。\",\"但是,在极少数情况下,您可能希望将未引用的来源添加到参考书目中(例如,综述中包含的项目,但论文中未引用的项目)或删除文本中引用但不应包含在参考书目中的项目(例如,个人通信)。为此,请再次单击“添加/编辑书目”()按钮以打开“编辑书目”窗口:\",\"编辑参考文献表\",\"然后,您可以使用箭头添加或删除项目。\",\"虽然也可以在此窗口中编辑书目参考文献的文本或格式,但不鼓励这样做。如果您更改了库中的数据,Zotero 不会自动更新此处编辑的引用。在这里编辑参考文献也有些不可靠; 一些用户报告说,当 Zotero 引用时,此处所做的修改有时不会持续存在,以及其他问题。\",\"如果您需要编辑书目中的项目,最好在提交文档之前将其作为最后一步。首先,保存文档的备份副本。然后,单击“取消链接引文”按钮()以断开文档与 Zotero 的连接,并将所有引文和书目转换为常规文本。最后,对参考书目文本进行调整。\",\"此过程可用于对参考书目进行各种细微的修改,包括:\",\"在综述或荟萃分析中包含的参考文献之前添加星号 *\",\"以粗体、斜体或全大写设置特定作者的姓名\",\"添加有关项目的批注或注释\",\"为书目子部分添加标题(例如,主要来源与次要来源)\",\"注意\",\"对样式格式的一般更正应在 CSL 引文样式 进行,而不是在此处进行。\",\"对项目数据的更正应该在 Zotero 库中进行,而不是在这里。\"]},\"334\":{\"h\":\"注意事项与常见问题\",\"t\":[\"注意\",\"所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是直接在 Word 里手动修改! 所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是直接在 Word 里手动修改! 所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目信息,而不是直接在 Word 里手动修改!\",\"常见问题\",\"插入引文中遇到的一些常见问题,请参见 。\"]},\"335\":{\"h\":\"组织、管理你的文献库\",\"t\":[\"本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。\"]},\"336\":{\"h\":\"分类管理\",\"t\":[\"分类的图标类似文件夹:。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。\",\"在个人账户中,所有分类都属于。在群组中,分类属于各自的群组。\",\"image.png\",\"注意\",\"❓ 分类有什么用?\",\"分类类似于文件夹,你可以将不同主题/领域的文献放在同一个分类下。进一步的,还可以根据细分领域或者方法、时期、参考意义等,根据自己需要进一步归档到子分类。\"]},\"337\":{\"h\":\"新建分类\",\"t\":[\"在主界面左上角,点击,即可新建分类(collection)。\",\"或者,在菜单栏=>文件,新建分类:\",\"image.png\",\"image.png\",\"或者,右键单击现有的分类来创建子分类:\",\"image.png\",\"💡 如何知道文献属于哪个或哪些分类? 用鼠标点击选中文献条目后,按住 Ctrl/Cmd,文献所属的(分类)文件夹就会黄色高亮显示。 💡 关于多级分类的显示问题 默认情况下,如果分类结构类似:\",\"一级分类 \",\"二级分类 \",\"三级分类\",\"则二、三级分类内的文献都会在一级分类中显示,尽管你可能没有手动将其添加到一级分类。\",\"可以通过菜单栏=>查看=>从子集合中显示条目来开启/关闭这一功能。关闭后,所有文献仅会在其所属的分类中显示。\"]},\"338\":{\"h\":\"删除分类\",\"t\":[\"右键单击现有分类,选择删除即可。\"]},\"339\":{\"h\":\"条目管理\"},\"340\":{\"h\":\"在分类之间移动条目\",\"t\":[\"要复制到新的分类,在主界面直接将条目拖入左侧栏的其他分类,选择的文献条目会同时存在于当前分类和拖入的新分类(类似复制 - 粘贴了一份条目的快捷方式,但两个分类中存放的其实是同一个文献条目)。\",\"💡 文献条目与分类的关系 文献条目在分类中以类似快捷方式的形式存在,你可以同时向多个分类添加、移动、删除其中的文献条目,而文献本身不受影响(因为添加移动删除的都是其快捷方式而非本体)。\",\"要移动到新的分类并从旧的分类中移除(类似于剪切 - 粘贴,文献将不再出现在原本分类),请在拖动时按住 shift。\",\"要移除当前分类下的条目,选中后右键=>移除条目,或者按 delete 键(这不会删除条目)。\"]},\"341\":{\"h\":\"去除重复条目\",\"t\":[\"在左侧栏有重复条目入口,点击后可以看到整个库中的重复条目,并可以手动确认要保留的版本,然后执行合并。\",\"image.png\"]},\"342\":{\"h\":\"删除条目\",\"t\":[\"要删除条目,选中后右键=>删除条目。条目将被移动到回收站。在清空回收站后,条目将被彻底删除。\",\"在左侧栏打开回收站,可以选择内容并还原/彻底删除。右键点击回收站,可以清空回收站。\",\"image.png\"]},\"343\":{\"h\":\"导出条目或 PDF\",\"t\":[\"选中分类或条目,可通过右键导出为 RDF 等方便分享给其他 Zotero 用户或文献管理软件的格式;\",\"要导出 PDF(带高亮注释),请选中一个或多个条目后,从菜单栏 文件=>导出 PDFs:\",\"image.png\"]},\"344\":{\"h\":\"标签管理\",\"t\":[\"Zotero 通过标签来管理文献。对于同一类文献,可为其添加标签,来快速筛选、查找和定位。\",\"标签根据添加方式分为两类:自动标签与用户标签。自动标签是 Zotero 在抓取文献时提取的关键字;手动标签是用户添加的标签。下图中,橙色为自动标签,蓝色为手动标签。\",\"image.png\",\"💡 关于自动标签 Zotero 会自动为新文献添加自动标签。可在菜单栏=>编辑=>设置=>常规=>使用关键词和标题自动给条目添加标签来开启/关闭这个功能。\",\"image.png\"]},\"345\":{\"h\":\"添加/删除标签\",\"t\":[\"在主界面中,选中条目,在右侧栏的标签面板可以进行添加/删除。点击 Add 可新增标签,点击已有标签右侧的可以删除标签。\",\"image.png\",\"如果要删除所有自动标签,可在左下角标签栏的功能按钮中选择“删除此文献库中的自动标签”。\",\"image.png\"]},\"346\":{\"h\":\"利用标签快速筛选文献\",\"t\":[\"在主界面的左下角是标签栏,可以点击其中的数个标签来筛选对应的文献条目。\",\"image.png\"]},\"347\":{\"h\":\"设置彩色标签/设置星级\",\"t\":[\"Zotero 支持最多 9 种彩色标签。通过为标签赋予颜色,可以:\",\"具有彩色标签的条目上有彩色方块显示:\",\"如果标签内容是 emoji 表情符号,将会显示符号内容,例如 ⭐:\",\"通过快捷键(数字 1-9)快速添加标签\",\"设置方法是:\",\"通过前述添加标签的方法添加你需要的标签到任意一个文献(例如,⭐)\",\"此时可以在主界面左下角的标签管理器中看到这个标签。右键单击,选择“指派颜色”。\",\"添加标签\",\"在弹出窗口中设置一个颜色与快捷键位置(不能重复)。\",\"选择标签颜色及位置\",\"此时在库中可以看到标签颜色或 emoji 图形。\",\"星标或颜色\"]},\"348\":{\"h\":\"自动未读与批量增删标签\",\"t\":[\"插件 Zotero Tag 提供了许多标签管理的实用功能,包括:\",\"自动为新条目添加未读标签\",\"自动在 PDF 关闭时移除未读标签\",\"使用快捷键对条目/PDF 注释批量增加/移除单个或多个标签\",\"在其他用户自定义的动作触发时自动为条目/PDF 注释设置单个或多个标签\",\"通过右键菜单批量增加或移除标签\",\"通过右键菜单移除不常用的标签\",\"可在 https://github.com/windingwind/zotero-tag 下载。(如果无法访问 GitHub,可从中文镜像 https://zotero-chinese.gitee.io/zotero-plugins/#/ 下载)\"]},\"349\":{\"h\":\"快速开始\",\"t\":[\"提示\",\"本节是 quick start guide [Zotero Documentation] 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。\"]},\"350\":{\"h\":\"基础知识\"},\"351\":{\"h\":\"如何安装 Zotero?\",\"t\":[\"阅读 \"]},\"352\":{\"h\":\"如何打开 Zotero?\",\"t\":[\"image\",\"从操作系统的任务栏/程序面板打开 Zotero。\"]},\"353\":{\"h\":\"Zotero 是做什么的?\",\"t\":[\"image\",\"Zotero 是一个文献管理软件。它旨在存储、管理和引用参考书目,例如书籍和文章。在 Zotero 中,这些引用中的每一个都构成一个条目。更广泛地说,Zotero 是收集和组织研究信息和资源的强大工具。\"]},\"354\":{\"h\":\"有何种类型的条目?\",\"t\":[\"image\",\"每个条目都包含不同的元数据,具体取决于它的类型。条目可以是从书籍、文章和报告到网页、艺术品、电影、信件、手稿、录音、账单、案例或法规等的所有内容。\"]},\"355\":{\"h\":\"关于条目信息\",\"t\":[\"image\",\"条目出现在 Zotero 的中间区域。当前选中条目的元数据显示在右侧窗格,包括标题、创作者、出版商、日期、页码以及引用该条目所需的任何其他数据。\"]},\"356\":{\"h\":\"管理文献\"},\"357\":{\"h\":\"文献分类\",\"t\":[\"image\",\"左侧窗格的 我的文库 中包含个人账户下的的所有条目。右键单击 我的文库 或单击 新建分类 按钮(在左窗格上方)创建一个新分类,即一个用于收纳文献条目的文件夹,其中可以放置特定主题相关的条目。将分类想象为音乐播放器中的播放列表:分类中的条目是文库中条目的一个“链接”。同一条目可以同时属于多个分类。\"]},\"358\":{\"h\":\"标签\",\"t\":[\"image\",\"可以为条目分配 标签。标签由用户命名。可以根据需要为条目分配任意数量的标签。使用左侧窗格底部的标签选择器或通过右侧窗格中任何条目的标签选项卡添加或删除标签。最多可以为 6 个标签分配颜色。彩色标签在条目列表中显示,并且可以使用键盘上的数字键快速添加或删除。\"]},\"359\":{\"h\":\"搜索\",\"t\":[\"image\",\"快速搜索 显示元数据、标签或全文内容与搜索词匹配的条目。单击搜索框左侧的放大镜图标将打开“高级搜索”窗口,允许进行更复杂或更具体的搜索。\"]},\"360\":{\"h\":\"保存的搜索\",\"t\":[\"image\",\"高级搜索 可以保存在左窗格中。看起来类似于上面所说的分类,但其中的条目会根据搜索条件自动更新。\"]},\"361\":{\"h\":\"收集文献\"},\"362\":{\"h\":\"附件\",\"t\":[\"image\",\"每个条目可以附有笔记、文件和链接。这些 附件 显示在其父项下方。通过单击其父项旁边的箭头,可以显示或隐藏附件。要全部显示或隐藏,快捷键为 + 与 -。\"]},\"363\":{\"h\":\"笔记\",\"t\":[\"image\",\"富文本 笔记 可以附加到任何条目。可以在右侧窗格或独立窗口中进行编辑。单击工具栏中的新建笔记按钮 (以创建笔记。\"]},\"364\":{\"h\":\"文件\",\"t\":[\"image\",\"任何类型的文件都可以 附加 到条目上。使用 Zotero 工具栏中的添加附件(回形针)按钮,通过右键单击现有条目或拖放来附加文件。或者,文件不需要附加到现有条目。它们可以直接添加到您的库中。当您使用浏览器中 的 Zotero 连接器导入条目时,也可以自动下载文件。\"]},\"365\":{\"h\":\"链接和快照\",\"t\":[\"image\",\"网页 可以作为链接或快照附加到任何条目。Zotero 可以保存网页的快照,快照是网页的本地存储副本,其状态与保存时相同。无需互联网连接即可使用快照。\"]},\"366\":{\"h\":\"抓取条目\",\"t\":[\"image\",\"使用适用于 Chrome、Firefox 或 Safari 的 Zotero 连接器,可以轻松地从 Internet 上的可用信息 创建新条目。通过单击按钮,Zotero 可以自动创建适当类型的条目并填充元数据字段,下载全文 PDF(如果可用),并附加有用的链接(例如,到 PubMed 条目)或补充数据文件。\"]},\"367\":{\"h\":\"单个或多个抓取\",\"t\":[\"image\",\"如果 保存图标 是书籍、文章、图像或其他单个条目,单击它将将该条目添加到 Zotero 中的当前收藏。如果保存图标是文件夹,则网页包含多个条目。单击它将打开一个对话框,从中可以选择条目并将其保存到 Zotero。\"]},\"368\":{\"h\":\"转换器 Translator(旧称翻译器)\",\"t\":[\"image\",\"Zotero 使用称为 转换器 的代码来识别网页上的信息。如果您使用的网站没有支持,请随时在 Zotero 论坛 上请求。\"]},\"369\":{\"h\":\"保存网页\",\"t\":[\"image\",\"如果 Zotero 连接器无法识别页面上的数据,您仍然可以单击浏览器工具栏中的保存按钮将页面保存为带有附加快照的 网页条目。 虽然这将保存基本元数据(标题、URL、访问日期),但您可能需要从页面手动填写其他元数据。\"]},\"370\":{\"h\":\"通过标识符添加条目\",\"t\":[\"image\",\"Zotero 可以使用 ISBN 号、数字对象标识符 (DOI) 或 PubMed ID自动添加条目。 这可以通过单击 Zotero 工具栏中的按标识符添加条目按钮 (),输入标识符,然后单击确定来完成。您甚至可以一次粘贴或输入(按 Shift+Enter 以获得更大的框)此类标识符的列表。\"]},\"371\":{\"h\":\"订阅\",\"t\":[\"image\",\"从您最喜欢的期刊或网站订阅 RSS 提要,以了解最新研究。转到文章网页或单击按钮将条目保存到您的图书馆。\"]},\"372\":{\"h\":\"手动添加条目\",\"t\":[\"image\",\"可以通过单击 Zotero 工具栏中的新条目绿色按钮 () 并选择适当的条目类型来 手动添加条目。 然后可以在右侧窗格中手动添加元数据。虽然您通常不应该手动添加条目,但它对于添加在线不可用的文档很有用。\"]},\"373\":{\"h\":\"引用\"},\"374\":{\"h\":\"引用条目\",\"t\":[\"image\",\"Zotero 使用引文样式语言 (CSL) 来正确格式化许多不同书目 样式 的引文。Zotero 支持所有主要风格(Chicago, MLA, APA, Vancouver 等)以及超过 8,000 种期刊和出版商的特定风格。\"]},\"375\":{\"h\":\"Word 集成\",\"t\":[\"image\",\"Zotero 的 Word、LibreOffice 和 Google Docs 插件允许用户直接从他们的文字处理软件 插入引文。 这使得引用多个页面或来源或以其他方式自定义引用变得轻而易举。支持文本内引用、脚注和尾注。借助 社区开发的插件,Zotero 还可以与 LaTeX、Scrivener 和许多其他写作程序一起使用。\"]},\"376\":{\"h\":\"自动参考书目\",\"t\":[\"image\",\"使用 文字处理器插件 可以从引用的条目自动生成参考书目,并通过单击按钮切换整个文档的引用样式。\"]},\"377\":{\"h\":\"手动引文\",\"t\":[\"image\",\"Zotero 还可以将 引文和参考书目 插入到任何文本字段或程序中。只需拖放条目,使用快速复制将引文发送到剪贴板,或将它们直接导出到文件。\"]},\"378\":{\"h\":\"合作\"},\"379\":{\"h\":\"同步\",\"t\":[\"image\",\"通过 Zotero 同步 在多台计算机上使用 Zotero 。图书馆条目和笔记通过 Zotero 服务器同步(无限存储),而附件同步可以使用 Zotero 服务器或您自己的 WebDAV 服务来同步文件,例如 PDF、图像或音频/视频。\"]},\"380\":{\"h\":\"Zotero Servers\",\"t\":[\"image\",\"同步到 Zotero 服务器的条目可以通过您的 Zotero.org 帐户在线访问。与他人共享您的图书馆或从选定的条目创建自定义简历。\",\"使用 My Publications 为读者、公众和其他研究人员在 Zotero.org 上随时提供您的研究副本。\"]},\"381\":{\"h\":\"团队\",\"t\":[\"image\",\"Zotero 用户可以创建协作或 组。共享组库使在线和通过 Zotero 客户端协作管理研究资源和材料成为可能。Zotero.org 可以成为您所有条目组的研究、交流和组织的中心。\"]},\"382\":{\"h\":\"数据与文件的同步\",\"t\":[\"我们在这里把同步分为“数据的同步”和“文件的同步”。\",\"数据的同步指 条目字段信息、批注、笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。\",\"文件的同步指 PDF 附件、网页附件、Word 文档、EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。\",\"警告\",\"无论你选择何种同步方案, 切勿将 Zotero 的 数据存储位置/Data Directory Location 自定义为任何网盘的同步文件夹中 (包括 iCloud),也切勿使用任何网盘/同步盘的备份功能直接同步/备份这一目录 !(包括但不限于直接使用坚果云的官方客户端直接同步备份这一文件夹)\",\"这样做在某些情况下可能会导致你的 Zotero 数据库损坏,带来严重的问题!官方对于这一问题的说明见这两篇文章:\",\"How can I access my library from multiple computers?\",\"Can I store my Zotero data directory in a cloud storage folder?\"]},\"383\":{\"h\":\"数据的同步\",\"t\":[\"提示\",\"无论如何,您都需要注册一个 Zotero 的官方账户,用于同步条目信息、批注以及笔记。如果您没有注册,可 快速创建一个 Zotero 账户。\",\"之后您可以在 Zotero-编辑-设置-同步-设置中 输入您的帐号密码,进行登陆。\",\"账号登录\",\"每个 Zotero 用户都可以获得 300 MB 的免费 Zotero 存储空间,用于存储附加文件,并可 购买更大的存储空间。如果您拥有钞能力,这是最简单的备份方法,在登陆您的 Zotero 账户并完成购买后无需其他任何设置。\",\"存储空间\",\"费用 (USD)\",\"300 MB\",\"Free\",\"2 GB\",\"$20/year (equal to $1.67 per month)\",\"6 GB\",\"$60/year (equal to $5 per month)\",\"Unlimited 无限\",\"$120/year (equal to $10 per month)\",\"如果您想免费进行进行文件的同步,那么您具有两种网盘同步方式:支持 WebDAV 的网盘(推荐)和第三方同步盘。对于新手,建议从 WebDAV 网盘同步入手,在熟悉各种问题的解决方法和同步原理后,可尝试第三方网盘的同步方式。\",\"提示\",\"无论附件采用何种方式同步,条目信息、批注、笔记始终是通过 Zotero 官方的服务同步的。\",\"不要担心,这部分占用的体积很小,只要不同步附件,官方的空间是足够的。\",\"注意\",\"我们始终建议通过官方服务或 WebDAV 网盘进行附件同步。网上流传较广的 ZotFile 方案已经过时,不再被官方所推荐,且不支持移动端同步。\"]},\"384\":{\"h\":\"通过 WebDAV 同步附件\",\"t\":[\"什么是 WebDAV\",\"WebDAV 是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。 通俗一点儿来说,WebDAV 就是一种互联网方法,应用此方法可以在服务器上划出一块存储空间,可以使用用户名和密码来控制访问,让用户可以直接存储、下载、编辑文件。\",\"目前国内支持 WebDAV 同步的只有坚果云网盘,常见的如百度网盘、阿里云盘、OneDrive 等均不支持 WebDAV 同步。后续教程将以坚果云网盘为例。\",\"如果您没有坚果云网盘的账户,请先 注册坚果云。\",\"坚果云免费用户具有以下限制:\",\"流量与空间限制:每月上传流量 1G/月、下载流量 3G/月、空间受限于上传流量,\",\"文件上传大小限制:当前 WebDAV 客户端和网页端上传大小的限制是一致的,默认为 500M(私有云可以通过相关设置调整)。\",\"访问频率限制:由于 WebDAV 协议比较占用系统资源,免费版用户限制访问频率为每 30 分钟不超过 600 次请求。付费用户限制访问频率为每 30 分钟不超过 1500 次请求。\",\"当然对于大部分用户免费账户是完全够用的(虽然每个月只有 1g 上传流量,但是好处是每个月都可以有 1g,一年最多可以拥有 12g)。对于小部分用户,可通过付费购买专业版或者使用其他支持 WebDAV 同步的网盘。\"]},\"385\":{\"h\":\"PC 端\",\"t\":[\"登陆您的坚果云账户。\",\"登录后点击 右侧用户名=>账户信息\",\"账户信息\",\"选择安全选项,下滑到底,点击添加应用。\",\"添加应用\",\"完成后,记录下生成的密码。\",\"生成应用密码\",\"复制应用密码\",\"打开 Zotero,编辑——设置——同步——文件同步,使用 Zotero 改成 WebDAV,并填写你的坚果云的服务器地址:dav.jianguoyun.com/dav。 用户名是坚果云账号,密码是上一步中的应用密码(非坚果云账号登录密码),设置好后点击 Verify Server 即可。\",\"登陆WebDAV账户\",\"到此处,电脑上关于坚果云的同步设置就完成了。\",\"回到首页,点击右边的绿色的圈就可以同步更新,如果是第一次设置,会提示在坚果云里自动创建一个名叫 Zotero 的文件夹,用于存放同步更新的文件。\",\"同步图标\",\"自定义存放路径\",\"如果在坚果云里新建了一个文件夹,想将文件放在那个文件夹里的话,那么在填写服务器地址时,需要添加对应的文件夹名字(建议文件夹用英文或数字命名),例如 work,那么服务器地址填写如下:\",\"WebDAV网址设置\",\"此时,你的 Zotero 的同步文件将会放在 根目录/work/Zotero 中。\"]},\"386\":{\"h\":\"iOS\",\"t\":[\"见 。\"]},\"387\":{\"h\":\"Android\",\"t\":[\"见 。\"]},\"388\":{\"h\":\"通过第三方网盘同步附件\",\"t\":[\"警告\",\"我们不建议使用第三方网盘结合 ZotFile 的方式进行同步。这会导致很多问题。除非你具备较强的问题排查能力,且对 ZotFile 所提供的功能有刚性需求,否则请不要使用这种方法!\",\"施工中\"]},\"389\":{\"h\":\"阅读文献、添加笔记\",\"t\":[\"Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。\",\"注意\",\"内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。\",\"如果你并没有特别依赖第三方 PDF 阅读器的某些特殊功能,建议使用 Zotero 阅读器。\"]},\"390\":{\"h\":\"打开文献 PDF\",\"t\":[\"在主界面中选中文献,双击或回车即可打开文献 PDF。默认以新标签页打开。\",\"💡 要以单独窗口打开文献,请在打开文献时按住 shift,或在标签页的标题上右键=>移动标签=>移动到新窗口。\",\"Zotero 会自动记忆打开的文献与当前阅读位置。在下一次打开 Zotero 或在其他设备上打开同一个文献时,将会保持当前阅读位置。\"]},\"391\":{\"h\":\"阅读器功能介绍\"},\"392\":{\"h\":\"界面区域\",\"t\":[\"左侧是预览栏,可预览缩../目录;\",\"右侧是信息/笔记栏,可查看当前文献信息或编辑笔记;\",\"上方横条是工具栏,可在此缩放、移动页面,或使用高亮注释(alt+1),文字注释(alt+2),框选注释(alt+3),设置注释颜色(alt+4 切换);\",\"中央是阅读区域。\",\"image.png\"]},\"393\":{\"h\":\"选中弹窗\",\"t\":[\"在阅读区域选中文本后,也可以通过弹窗来快速高亮内容(翻译按钮由 PDF Translate 插件提供,详见后续章节):\",\"image.png\",\"如果此时右侧打开了笔记,则还可以将选中内容一键添加到笔记:\",\"image.png\"]},\"394\":{\"h\":\"在阅读器中创建笔记\",\"t\":[\"右侧笔记栏中,点击 + 按钮即可创建笔记。条目笔记即属于当前文献条目的笔记;通过注释添加笔记即将文献中的所有注释(高亮等)添加到一个新的笔记。\",\"image\"]},\"395\":{\"h\":\"管理注释\",\"t\":[\"左侧预览栏中,可预览注释内容。每个注释分为三部分:内容,评论与标签。\",\"image.png\",\"内容即注释本身,例如高亮文本、框选的图片等。评论区在内容区下方,可以写文字。标签区在最下方,可以为注释添加标签。\",\"注意\",\"目前,注释的标签不支持搜索,也不支持从主界面的标签管理器中筛选。\",\"注释支持拖放,可以复制或拖到笔记或外部软件。\",\"在不同的设备上,只要正确设置了同步,注释内容也将一并同步过去。\"]},\"396\":{\"h\":\"笔记功能介绍\",\"t\":[\"关于笔记的创建及相关功能,详见 https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgb(由 Better Notes 插件提供的文档)。\",\"此处仅作简单介绍。\",\"可了解 Better Notes 插件,更方便地在 Zotero 中做笔记,支持双链、支持模板、支持多种导出方式。\",\"笔记分为两种:\",\"独立笔记。没有父条目,在主界面库视图中,不需要展开即可看到。\",\"条目笔记。具有父条目,一般在某条文献下,展开可看到。\"]},\"397\":{\"h\":\"创建笔记\",\"t\":[\"创建笔记有多种方式:\",\"在 Zotero 主界面,中央上方工具栏选择新建笔记=>新建独立笔记/添加子笔记;\",\"image\",\"在主界面,选中条目,从右键菜单创建条目子笔记;\",\"image\",\"在 PDF 阅读器中,右侧笔记栏右上角的 '+' 按钮可创建条目子笔记;\",\"image\",\"(需要 Better Notes 插件)在 PDF 阅读器中,左侧注释栏的每一个注释右上角的黄色花形按钮,参见 4.3 从注释创建快速笔记/Quick Note from Annotation\",\"image\"]},\"398\":{\"h\":\"导出笔记\",\"t\":[\"Zotero 提供了一项笔记导出为 markdown 的功能,但图片及许多格式不会被处理。\",\"建议使用 Better Notes 提供的导出功能,可导出单条或多条笔记为 markdown 文件,或通过剪贴板复制到富文本编辑器(如 OneNote,Word),或导出为 PDF,并且支持自动同步更改(Zotero=>外部导出目录)。关于导出,详见 4.8 笔记导出/Export;关于同步,详见 4.9 笔记同步/Sycn。\",\"image\",\"可通过以下三种方式导出笔记:\",\"在主界面,选中一个或多个笔记条目,在右键菜单中通过 \\\" 导出笔记及条目子笔记 \\\" 或 \\\" 导出多个笔记 \\\";\",\"image\",\"在笔记编辑器中,右上角工具栏导出按钮;\",\"image\",\"(不推荐)在主界面中,通过右键菜单使用 Zotero 自带的笔记导出功能。\"]},\"399\":{\"h\":\"为什么使用 Zotero\",\"t\":[\"相关信息\",\"本节是官方文档的翻译。\"]},\"400\":{\"h\":\"Zotero 是什么\",\"t\":[\"Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。\",\"你是否仍在花费大量时间整理阅读过和刚下载的文献?\",\"你是否仍在为找不到自己记忆中那篇文献而苦恼?\",\"你是否还在焦虑刚刚读完文献却脑袋空空?\",\"你是否还在手打插入的引文?\",\"Zotero 将是你优秀的科研助手!\"]},\"401\":{\"h\":\"为什么用 Zotero 而不是其他?\"},\"402\":{\"h\":\"Zotero 优势\",\"t\":[\"浏览器快速抓取文献至Zotero\",\"清晰明了的分层管理及标签分类\",\"写作时方便快速的插入引文\",\"一键抓取文献,保存一切\",\"拥有多个分级目录与标签管理\",\"支持海量引用格式\",\"Zotero 兼具简单的操作方式与强大的功能。通过一份简单的教程(后面的文档)你将快速上手 Zotero 的基本功能,而其他专业的功能你也能够通过社交媒体和 Zotero 官网上丰富的信息逐渐掌握,其中包含大量优秀的插件,这得益于 Zotero 是一款开源软件。\",\"Zotero 社区的有力支持。当使用 Zotero 遇到问题时,你可以收到 Zotero 开发人员或者专家社区人员的回复,并且 Zotero 的插件编写者与使用爱好者遍布各地,你可以非常方便的通过你的社交媒体联系到他们。\",\"Zotero 关注你的隐私安全并且无需付费。Zotero 由独立的非营利组织开发,对你的数据没有任何财务利益。并且它是一个开源软件,这意味着如果 Zotero 目前的运营团队并没有将你的利益放在首位,其他任何人都可以自由地获取 Zotero 的源代码,继续对他进行维护和改进。\"]},\"403\":{\"h\":\"EndNote\",\"t\":[\"EndNote 只支持二级目录,而 Zotero 支持多级分类。\",\"EndNote 不支持标签,而在 Zotero 中你可以轻松的通过标签进行查找、分类和管理。\",\"Endnote 是一款收费软件:标准版官网售价 1818RMB,教育版官网售价 1218RMB。\"]},\"404\":{\"h\":\"Mendeley\",\"t\":[\"Mendeley 免费但不开源。\",\"Mendeley 的数据迁移到新的电脑比较麻烦,这可能会耗费你大量的时间精力。\",\"Mendeley 的使用并不能够完全离线,在国内的网络环境下,你可能偶尔会面临无法登陆 Mendeley 网站以致于无法使用软件的情况。\"]},\"405\":{\"h\":\"NoteExpress\",\"t\":[\"NoteExpress 是一款国产文献管理软件,对中文文献和中文数据库的支持较为优秀,但是他同样是一款付费软件,永久授权标准版 1980RMB。\",\"NoteExpress 只支持 Windows 系统,Mac 和 Linux 系统则被拒之门外。\"]},\"406\":{\"h\":\"知网研学\",\"t\":[\"知网研学支持的数据库较少,在 Mac 上甚至只支持 CNKI 学术总库。\",\"知网研学的订阅费用,高校版 198RMB/年,标准版 998RMB/年,尊享版 3298RMB/年,还请自行体会。\"]},\"407\":{\"h\":\"在 WPS 中插入参考文献\",\"t\":[\"在 WPS 中使用插件参考文献,目前有两种方法\",\"使用 VBA,借用 Word 的插件\",\"使用 WPS JavaScript API 制作的插件\",\"使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)。\",\"下面是使用 WPS 原生 JavaScript API 插件的教程。\",\"macOS 系统上的 WPS 用户暂时无法使用\",\"插件是利用 WPS 提供的 JavaScript API 从 Zotero 获取引文信息,并写入到 WPS 文档中。目前插件可以在Windows 和 Linux 系统下使用,因 WPS 的接口暂时不支持 macOS 系统,所以使用苹果电脑的同学暂时用不上这个插件。\",\"插件地址为 https://github.com/tankwyn/WPS-Zotero\"]},\"408\":{\"h\":\"1. 安装插件\",\"t\":[\"因为 WPS 接口的一些限制,本插件的使用还需要使用到Python3,Linux 系统内一般默认安装了 Python3, 使用 Windows 的同学,需要提前安装好 Python3。使用 Windows 的同学从下面的 1.1 Windows 下 Python3 环境的安装 部分开始,使用 Linux 的同学可直接跳过这部分,看后面的安装部分就行。\"]},\"409\":{\"h\":\"1.1 Windows 下 Python3 环境的安装\",\"t\":[\"可能有一些同学的电脑里已经安装 Python3,可以按 WIN + R,在弹出的窗口输入 cmd\",\"运行CMD\",\"点击确认后,再出现的小黑屏上输入 python --version\",\"查看Python版本\",\"注意看,只要出现 Python 3.xx.xx,就说明 Python3 已经正确安装,直接进入下一步。如果出现其他的,说明 Python3 未正确安装,请按下面的步骤进行安装。\",\"下载 Python3 安装包,64 位下载地址,32 位下载地址,不知道自己电脑是几位的,就选 64 位。如果上面两个链接下载太慢 (不开代理 ,官网下载速度慢已经 10 多年了),可试试安装 miniconda。\",\"这里以 miniconda 示例,安装时默认设置,除了下面截图的设置,要记得打勾,把 Python 添加到环境变量里\",\"安装miniconda\",\"安装了官网 Python 的同学,需要手动将 Python 添加到环境变量里\",\"安装Python\",\"安装成功后,在小黑屏运行 python --version,出现 Python 3.xx.xx 说明安装成功。\"]},\"410\":{\"h\":\"1.2 安装 WPS 插件\",\"t\":[\"安装过程非常简单,作者已经帮我们处理好了,只需要一个脚本即可。如果你可流畅访问 GitHub,可直接到 https://github.com/tankwyn/WPS-Zotero 下载,如果访问困难,可到这个 镜像源 下载\",\"将下载后的压缩包解压后,看到的文件如下\",\"解压后的文件列表\"]},\"411\":{\"h\":\"Windows 系统\",\"t\":[\"Windows 系统直接双击 windows安装与卸载.bat 安装文件,你可能会遇到下面的警告提示\",\"点击更多信息\",\"点击仍要运行\",\"运行后出现的提示窗口,输入 1,并按确认,进行安装\",\"选择1\",\"安装成功的提示\",\"安装成功\"]},\"412\":{\"h\":\"Linux 系统\",\"t\":[\"直接打开 terminal,输入 python3 install.py 进行安装\"]},\"413\":{\"h\":\"2. 插件使用\",\"t\":[\"WPS 插件的按钮与 Word 插件类似\",\"Add/Edit Citation,添加引用文献\",\"Add/Edit Refs,添加参考文献列表\",\"Refresh,刷新文档引用文献信息\",\"Preferences,打开 Zotero 引用设置窗口\",\"Add Note,添加 Zotero 笔记\",\"Unlink,取消链接引注,通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成\",\"Export,导出其他文本编辑器兼容的文本格式\",\"About,插件相关信息\",\"WPS插件UI按钮\",\"具体的操作过程,请参考 \"]},\"414\":{\"h\":\"3. 如何卸载 WPS 安装的旧版 Zotero 扩展\",\"t\":[\"如果你之前安装把 Word 里的 Zotero 插件强行安装到 WPS,那样出现多个的 Zotero 选项\",\"多个Zotero选择\",\"先打开 C:\\\\Users\\\\你的用户名\\\\AppData\\\\Roaming\\\\kingsoft\\\\wps 目录 (注意用户名换成你自己的),找到 startup 目录,删掉里面的 zotero.dotm 文件,这个文件是直接从 Zotero 的 Word 插件里复制到 WPS 里,需要 WPS 有 VBA 环境,现在已经不需要了,可以删掉。\",\"WPS插件安装路径\"]},\"415\":{\"h\":\"4. 可能遇到的问题\",\"t\":[\"使用中可能点击按钮后,Zotero 的窗口不会自动出现,可以手动点击一下任务栏中的 Zotero 图标,让 Zotero 的窗口跳到最前。\"]},\"416\":{\"h\":\"调试代码\"},\"417\":{\"h\":\"通过 Run JavaScript 调试\",\"t\":[\"从 菜单栏 -> 工具 -> 开发者 -> Run JavaScript 打开界面。\",\"在左侧键入代码,点击运行即可在右侧看到输出。\",\"如果代码中包含异步语法(async),需要将结果 return 才能在右侧看见。\"]},\"418\":{\"h\":\"通过 Zotero.debug 输出日志\",\"t\":[\"使用 Zotero.debug 输出到 菜单栏 -> 帮助 -> 输出日志排错 -> 查看输出文件;\",\"使用 Zotero.log 输出到 菜单栏 -> 工具 -> 开发者 -> Error Console。\"]},\"419\":{\"h\":\"通过开发者工具\",\"t\":[\"如果你不熟悉开发者工具,可参看什么是浏览器开发者工具? - 学习 Web 开发 | MDN\",\"远程调试依赖 beta 版本 Zotero\",\"远程调试需要 Zotero beta builds 。Windows 开发者可下载 zip 版本,解压缩后即可使用,不会将正式版覆盖。\",\"截止至最后编辑日期,Zotero 底层基于 Firefox 102 ESR。\",\"打开 Zotero Beta,打开 菜单栏 -> 编辑 -> 设置 -> 高级 -> 设置编辑器,搜索 debug 并将 devtools.debugger.remote-enable 和 devtools.debugger.remote-websocket 设置为 true。\",\"使用 --debugger 参数启动 Zotero。 也可以将启动参数写入快捷方式。\",\"在 FireFox 102 ESR 中,找到设置 -> 更多工具 -> 远程调试(或者浏览器中输入:about:debugging#/setup),找到网络位置,输入 localhost:6000,点击确定添加即可。\",\"提示\",\"端口与第一步打开的高级编辑器中 devtools.debugger.remote-port 一致。\",\"选择 localhost:6000,然后点击进程中的多线程工具箱进行检查,可进入控制台、无障碍环境等进行调试\",\"Zotero 正在包含此功能\",\"Zotero 团队正在将开发者工具嵌入 Zotero,见 PR #3387,此 PR 合并后即可直接从菜单呼出开发者工具,而无需安装 FireFox。\",\"模板用户无需手动配置\",\"模板的启动脚本中已经进行了相关配置,部分实现了上述 PR 的功能,因此你无需再手动执行以上步骤,也不需要安装 Firefox,npm start 后即可打开开发者工具。\"]},\"420\":{\"h\":\"侧载插件\",\"t\":[\"Zotero 基于 Firefox,与其相同的,Zotero 侧载插件也有两种方式,分别是通过代理文件在启动时加载插件,和通过远程调试以临时插件的形式载入插件。\",\"提示\",\"使用社区模板的开发者,无需配置这些环境,只需要按照模板要求配置 Zotero 可执行文件路径和配置文件地址即可。模板中的启动脚本将为你自动侧载插件。\"]},\"421\":{\"h\":\"通过代理文件载入插件\",\"t\":[\"Todo\",\"此节说明如何通过代理文件将插件侧载入 Zotero,待完善,请参阅:Setting Up a Plugin Development Environment。\"]},\"422\":{\"h\":\"通过安装临时插件载入\",\"t\":[\"Todo\",\"Zotero 官方尚未提供此种方式的文档,但此种方式是 Firefox 较为推荐的方式,社区维护的框架等也正在逐步迁移至此种方式,在迁移完成之前,可以参考 web-ext 包来实现。\"]},\"423\":{\"h\":\"快速开始\",\"t\":[\"此节以官方插件示例 Make It Red 为例,说明 Zotero 插件的工作过程。\",\"Todo\",\"待完善,请参阅插件仓库:Make It Red\"]},\"424\":{\"h\":\"参考\"},\"425\":{\"h\":\"引导脚本\",\"t\":[\"引导脚本即 bootstrap.js,这是 Zotero 插件的入口脚本文件,此文件必须存在,否则插件将无法被安装。\"]},\"426\":{\"h\":\"内容\",\"t\":[\"这个文件里必须包含以下几个钩子,Zotero 将在对应动作发生时调用对应的钩子。\"]},\"427\":{\"h\":\"生命周期钩子\",\"t\":[\"// 插件被安装时调用 function install(data, reason) {} // 插件启动时调用 function startup(data, reason) {} // 插件被禁用时或 Zotero 被关闭时调用 function shutdown(data, reason) {} // 插件被卸载时调用 function uninstall(data, reason) {} \",\"插件生命周期挂钩传递两个参数:\",\"具有以下属性的对象: \",\"id ,插件 ID\",\"version ,插件版本\",\"rootURI ,指向插件文件的字符串 URL。对于 XPI,这将是 jar:file:/// URL。该值始终以斜杠结尾,因此您可以附加相对路径来获取与插件捆绑的文件的 URL(例如 rootURI + 'style.css' )。\",\"表示事件原因的数字,可以根据以下常量进行检查: APP_STARTUP 、 APP_SHUTDOWN 、 ADDON_ENABLE 、 ADDON_DISABLE 、 ADDON_INSTALL 、 ADDON_UNINSTALL 、 ADDON_UPGRADE 、 ADDON_DOWNGRADE\",\"任何与特定窗口无关的初始化都应由 startup 触发,删除应由 shutdown 触发。\"]},\"428\":{\"h\":\"窗口钩子\",\"t\":[\"// Zotero 主窗口加载完毕时调用 function onMainWindowLoad({ window }) {} // Zotero 主窗口被关闭时调用 function onMainWindowUnload({ window }) {} \",\"窗口钩子传递一个参数:\",\"具有包含目标窗口的 window 属性的对象\",\"在某些平台上,主窗口可以在 Zotero 会话期间多次打开和关闭,因此任何与窗口相关的活动,例如修改主 UI、添加菜单或绑定快捷方式都必须由 onMainWindowLoad 执行以便新的主窗口包含您的更改。\",\"然后,当调用 onMainWindowUnload 时,您必须删除对窗口或其中的对象的所有引用,取消任何计时器等,否则每次关闭窗口时都会有造成内存泄漏的风险。添加到窗口的 DOM 元素会在窗口关闭时自动销毁,因此只需删除 shutdown() 中的元素即可,可以通过循环遍历所有窗口来完成:\",\"function shutdown() { var windows = Zotero.getMainWindows(); for (let win of windows) { win.document.getElementById(\\\"make-it-red-stylesheet\\\")?.remove(); } } \",\"(目前仅支持一个主窗口,但有些用户可能会找到打开多个主窗口的方法,这将在未来版本中正式支持。)\",\"提示\",\"通常地,在 startup 中初始化插件地本地化系统、设置、兼容性等,在 onMainWindowLoad 中初始化与 Zotero UI 有关的组件,如菜单、侧边栏、自定义列等。\"]},\"429\":{\"h\":\"样例\",\"t\":[\"关于 bootstrap.js 的样例,可参考前章提到的插件框架。它将插件的根对象注册到全局变量 Zotero 中,在任何引入了 Zotero 的位置均可使用。 或参考 Zutilo 插件。它将插件的根对象注册为一个全局变量。缺陷是在非主窗口内引入插件代码将较为复杂。\",\"Zotero-addon-template/bootstrap.js at bootstrap · windingwind/Zotero-addon-template\",\"Zutilo/bootstrap.js at master · wshanks/Zutilo\",\"下面是以官方示例 Make It Red 的 bootstrap.js,它在 startup() 中通过 Services.scriptloader.loadSubScript(rootURI + \\\"make-it-red.js\\\"); 将插件脚本载入,在 make-it-red.js 中,在 Zotero 下定义了一个对象 MakeItRed。在 make-it-red.js 加载完成后,调用 MakeItRed 对象下的方法完成插件初始化。\",\"var MakeItRed; function log(msg) { Zotero.debug(\\\"Make It Red: \\\" + msg); } function install() { log(\\\"Installed 2.0\\\"); } async function startup({ id, version, rootURI }) { log(\\\"Starting 2.0\\\"); Services.scriptloader.loadSubScript(rootURI + \\\"make-it-red.js\\\"); MakeItRed.init({ id, version, rootURI }); MakeItRed.addToAllWindows(); await MakeItRed.main(); } function onMainWindowLoad({ window }) { MakeItRed.addToWindow(window); } function onMainWindowUnload({ window }) { MakeItRed.removeFromWindow(window); } function shutdown() { log(\\\"Shutting down 2.0\\\"); MakeItRed.removeFromAllWindows(); MakeItRed = undefined; } function uninstall() { log(\\\"Uninstalled 2.0\\\"); } \"]},\"430\":{\"h\":\"参考资料\",\"t\":[\"Zotero 7 for developers\",\"bootstrapped-extension framework\"]},\"431\":{\"h\":\"Zotero 条目\",\"t\":[\"Item(条目)是 Zotero 中的基础数据元素。条目根据类型又可分为普通条目 (regular item),附件 (attachment item),笔记 (note item) 和注释 (annotation item)。Zotero 中,小到一个 PDF 附件中的一条高亮,大到一个集合(collection),都可以抽象为一个条目(Item)。\",\"大多数插件的最终目的就是修改这些条目,例如,添加标签,修改信息,等等。\"]},\"432\":{\"h\":\"创建条目\",\"t\":[\"new Zotero.Item(itemType); \"]},\"433\":{\"h\":\"获取条目\",\"t\":[\"declare Zotero.Items.get: (ids: Number | Number[]) => ZoteroItem | ZoteroItem[]; declare Zotero.Items.getByLibraryAndKeyAsync: ( libraryID: Number, itemKey: String ) => Promise; declare ZoteroPane.getSelectedItems: () => ZoteroItem[]; \",\"通过 Zotero.Items.get / getByLibraryAndKeyAsync 来从 ID 获取条目; 通过 ZoteroPane.getSelectedItems 获取当前选中的条目。\",\"ZoteroPane.itemsView.getRow(2).ref; \"]},\"434\":{\"h\":\"修改条目\",\"t\":[\"对条目内容进行修改后,请使用 item.save / item.saveTx()来保存。\",\"var item = new Zotero.Item(\\\"computerProgram\\\"); item.setType(Zotero.ItemTypes.getID(\\\"note\\\")); \"]},\"435\":{\"h\":\"PDF 批注\",\"t\":[\"Zotero 中的批注也是 Item 类型!\",\"Zotero.Items.getAll(1).then((i) => i.filter((t) => t.isAnnotation())); \",\"注释的属性:\",\"annotationText:高亮注释的内容\",\"parentItem:获得 pdf 条目\",\"const annotations = Zotero.Items.get(reader.itemID).getAnnotations(); reader.navigate({ annotationKey: annotations[0].key }); \"]},\"436\":{\"h\":\"从对话框选择条目\",\"t\":[\"let io = { dataIn: null, dataOut: null, deferred: Zotero.Promise.defer() }; window.openDialog( \\\"chrome://zotero/content/selectItemsDialog.xhtml\\\", \\\"\\\", \\\"chrome,dialog=no,centerscreen,resizable=yes\\\", io ); io.deferred.promise.then(() => console.debug(io)); \"]},\"437\":{\"h\":\"i18n\",\"t\":[\"locales/\",\"Todo\",\"Zotero 7 已全面使用 Fluent 作为本地化系统,请参考以下几个文档:\",\"Zotero 7 for developers\",\"Fluent for Firefox Developers\",\"Fluent 文档\"]},\"438\":{\"h\":\"插件清单\",\"t\":[\"manifest.json 是插件的清单文件,它是一个允许使用 // 撰写单行注释的、特殊的 JSON 文件。此文件必须存在,否则插件无效。\",\"在这个文件中定义了插件的名称、ID、描述、图标、更新地址、兼容版本等信息。\",\"此文件与 Web Extension 的 manifest.json 基本一致,只是减少了一些字段。\"]},\"439\":{\"h\":\"示例\",\"t\":[\"下面是一个典型的 manifest.json 文件,内容来源于官方插件示例 Make It Red。\",\"{ \\\"manifest_version\\\": 2, \\\"name\\\": \\\"Make It Red\\\", \\\"version\\\": \\\"2.0\\\", \\\"description\\\": \\\"Makes everything red\\\", \\\"homepage_url\\\": \\\"https://github.com/zotero/make-it-red\\\", \\\"applications\\\": { \\\"zotero\\\": { \\\"id\\\": \\\"make-it-red@example.com\\\", \\\"update_url\\\": \\\"https://zotero-download.s3.amazonaws.com/tmp/make-it-red/updates-2.0.json\\\", \\\"strict_min_version\\\": \\\"6.999\\\", \\\"strict_max_version\\\": \\\"7.0.*\\\" } } } \"]},\"440\":{\"h\":\"属性参考\"},\"441\":{\"h\":\"\",\"t\":[\"类型:number\",\"强制性:强制\",\"此键指定扩展使用的 manifest.json 的版本。\",\"值须是且仅能是 2。\"]},\"442\":{\"h\":\"\",\"t\":[\"类型:string\",\"强制性:强制\",\"插件的名称,本地化可参考 manifest 的本地化。\"]},\"443\":{\"h\":\"\",\"t\":[\"类型:string\",\"强制性:强制\",\"插件的版本,一般格式为由点分隔的数字组成的 ASCII 字符串。\"]},\"444\":{\"h\":\"版本格式\",\"t\":[\"版本字符串由 1 到 4 个数字组成,数字之间用点分隔,例如 1.2.3.4 。非零数字不得包含前导零。例如,不允许使用 2.01 ;但是, 0.2 、 2.0.1 和 2.10 是允许的。\"]},\"445\":{\"h\":\"版本比较\",\"t\":[\"为了确定两个扩展版本中哪一个是最新的,需要从左到右比较版本字符串号。缺少版本字符串元素相当于 0 。例如,1.0 相当于 1.0.0.0。第一个版本字符串的编号大于另一个版本字符串中对应编号的版本字符串是最新的。例如,1.10 是比 1.9 更新的版本。\"]},\"446\":{\"h\":\"\",\"t\":[\"类型:object 强制性:强制\",\"此项必须包含属性 zotero。\"]},\"447\":{\"h\":\"\"},\"448\":{\"h\":\"\",\"t\":[\"id 即扩展 ID。必填项。通常的,大家都使用邮箱格式来命名插件 ID\"]},\"449\":{\"h\":\"\",\"t\":[\"插件所能支持的 Zotero 的最小版本号。不允许使用 * 来定义版本号。默认值为 \\\"42a1\\\"。\"]},\"450\":{\"h\":\"\",\"t\":[\"插件所能支持的 Zotero 的最大版本号。如果安装或运行附加组件的 Firefox 版本号高于这个最大版本号,附加组件将不能运行或不允许被安装。默认值为\\\"*\\\",意思为不对最大版本号做检查。\"]},\"451\":{\"h\":\"\",\"t\":[\"链接到插件 的链接。注意链接必须以“https”开头。这是为了使你自己就能够管理附加组件的更新。\"]},\"452\":{\"h\":\"\",\"t\":[\"类型:string\",\"强制性:非强制\",\"附加组件的作者,用于在浏览器用户界面上显示,这样别人下载安装使用该附加组件的时候,就能看见你的大名了。\"]},\"453\":{\"h\":\"\",\"t\":[\"类型:string\",\"强制性:非强制\",\"用于在用户下载安装使用界面中显示的一段简短的关于该附加组件的描述。\",\"这是一个可本地化的键。\"]},\"454\":{\"h\":\"\",\"t\":[\"类型:string\",\"强制性:非强制\",\"如果 developer 键存在且包含 url 属性,它将会覆盖 homepage_url 键。\",\"这是一个可本地化的键。\"]},\"455\":{\"h\":\"manifest 的本地化\",\"t\":[\"Todo\",\"参考:https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Internationalization#国际化_manifest.json\"]},\"456\":{\"h\":\"参考资料\",\"t\":[\"Web Extension 的 manifest.json\",\"Zotero 7 for developers\"]},\"457\":{\"h\":\"更多接口\",\"t\":[\"Zotero Types\",\"关于接口定义,请参见接口定义包:https://github.com/windingwind/zotero-types\",\"如果使用插件模板,该 NPM 包已经内置了;否则,你需要自行安装,请 npm install -D zotero-types 并将其加入 includes 路径。\"]},\"458\":{\"h\":\"ZoteroPane\",\"t\":[\"ZoteroPane 是 Zotero 中主界面项目视图的抽象。可用于获取选中的项目,等等。\",\"源码位置:chrome/content/Zotero/zoteroPane.js\",\"可通过 ZoteroPane.getSelectedItems() 获取选中的条目; 通过 ZoteroPane.itemsView.onSelect.addListener 添加条目选中事件监听。\",\"ZoteroPane.selectItem(itemID); // 必须先切换到文库标签页 \"]},\"459\":{\"h\":\"Zotero.Collections 与 Zotero.Collection\",\"t\":[\"Collection(集合)是 Zotero 中所有条目的父层级,是 Library(库)的子层级。\",\"chrome\\\\content\\\\Zotero\\\\xpcom\\\\data\\\\collection.js 定义了 Zotero.Collection 类\",\"chrome\\\\content\\\\Zotero\\\\xpcom\\\\data\\\\collections.js 定义了 Zotero.Collections 对象,用于访问相关方法\"]},\"460\":{\"h\":\"Zotero.Libraries 与 Zotero.Library\",\"t\":[\"Libray(库)是 Zotero 中所有条目最终的父层级。Zotero 库分为用户库(id=1)与群组库,库之间的内容存储方式可能具有较大不同。\",\"chrome\\\\content\\\\Zotero\\\\xpcom\\\\data\\\\library.js 定义了 Zotero.Library 类\",\"chrome\\\\content\\\\Zotero\\\\xpcom\\\\data\\\\librarys.js 定义了 Zotero.Libraries 方法,用于访问相关方法\"]},\"461\":{\"h\":\"Zotero.Reader\",\"t\":[\"Zotero.Reader 是 PDF 阅读器的接口,但对于阅读器中诸如选中、高亮等许多功能在 viewer.html 内,无法直接从 Zotero 中调用,相关源码在 pdf-reader 仓库。本节仅作介绍 Zotero.Reader。\",\"源码位置:chrome/content/Zotero/xpcom/reader.js\"]},\"462\":{\"h\":\"基本使用\",\"t\":[\"通过 Zotero.Reader._readers 访问当前的 ReaderInstance 对象,每个对象有 _iframeWindow 属性,可对其执行界面操作。\",\"Zotero.Reader.getByTabID(Zotero_Tabs.selectedID); \",\"const cont = document.getElementById(`${Zotero_Tabs.selectedID}-context`); const box = cont.querySelector(\\\"tabbox\\\"); box.tabs.append(tab); box.tabpanels.append(panel); \"]},\"463\":{\"h\":\"调用 pdf.js 接口\",\"t\":[\"ReaderInstance 对象的 _iframeWindow 属性是阅读器的 window 对象,也就是在网页版所看到的内容,它包含了整个 pdf 阅读器的 document 对象与 wrappedJSObject 字段。\",\"通过调用 ._iframeWindow.wrappedJSObject 可在阅读器命名空间外访问其局部变量,其中的方法有 zoteroCopyImage 和 zoteroSaveImageAs 等。同时他包含了 PDFViewerApplication 对象.\",\"该部分源码在 pdf-reader/src at master · Zotero/pdf-reader\",\"._iframeWindow.wrappedJSObject.PDFViewerApplication.pdfViewer.currentPageNumber \",\"此外,通过注入脚本的方式可以直接访问 PDFViewerApplication 对象来操作阅读器:chartero | chrome/content/reader.js\"]},\"464\":{\"h\":\"案例\"},\"465\":{\"h\":\"1. 获取 pdf 指定页面所有文字\",\"t\":[\"以第一页为例,索引为 0:\",\"const reader = Zotero.Reader.getByTabID(Zotero_Tabs).selectedID); const PDFViewerApplication = reader._iframeWindow.wrappedJSObject.PDFViewerApplication; await PDFViewerApplication.pdfLoadingTask.promise; await PDFViewerApplication.pdfViewer.pagesPromise; let pages = PDFViewerApplication.pdfViewer._pages; let pdfPage = pages[0].pdfPage; let items = (await pdfPage.getTextContent()).items; \",\"这里以 item=items[0] 为例:\",\"{ chars: Array(63) [ {…}, {…}, {…}, … ] dir: \\\"ltr\\\" fontName: \\\"g_d0_f1\\\" height: 6.376 str: \\\"Ma, Z., Hu, X., Huang, L., Bi, J., Liu, Y., 2014.\\\" transform: [6.376, 0, 0, 6.376, 42.5197, 732.5289] width: 202.367864 } \",\"这里的 item.chars 记录了 item.str 的每个字符对应的渲染信息。除了宽高外,item.transform 还提供了(x=item.transform[4], y=item.transform[5])位置信息。这个位置以 pdf 页面左下角为原点。\",\"根据 pdf 页面内的文字可以解析出所有参考文献,详见:GitHub - MuiseDestiny/Zotero-reference: Zotero 插件,侧边栏显示正在阅读文献的所有参考文献\"]},\"466\":{\"h\":\"Zotero.Notes\",\"t\":[\"Zotero.EditorInstance 类是笔记编辑器的抽象;Zotero.EditorInstanceUtilities 对象包括了笔记中一些转换等基础功能。\",\"源码位置:chrome/content/Zotero/xpcom/editorInstance.js\",\"Zotero.Notes 是所有 EditorInstance 实例的管理器。\",\"源码位置:chrome/content/Zotero/xpcom/data/notes.js\"]},\"467\":{\"h\":\"Zotero_Tabs\",\"t\":[\"Zotero 6 以后的版本引入了标签页(tab)。当打开 PDF 时,默认在新标签页打开。 源码位置:chrome/content/Zotero/tabs.js\"]},\"468\":{\"h\":\"基本使用\",\"t\":[\"通过 Zotero_Tabs 访问当前打开的标签页。\"]},\"469\":{\"h\":\"新增标签页\",\"t\":[\"通过 Zotero_Tabs.add 方法新增标签页,例如 Better Notes 插件中的一段代码:\",\"let { id, container } = Zotero_Tabs.add({ type: \\\"betternotes\\\", title: Zotero.locale.includes(\\\"zh\\\") ? \\\"工作区\\\" : \\\"Workspace\\\", index: 1, data: {}, select: select, onClose: undefined, }); \",\"请注意此处的 type 将影响菜单栏的显示/隐藏。截至文档更新(2022.08.22),在离开标签时,自定义的标签类型不会被正确隐藏,但在进入标签页时会被显示(相关代码在 ZoteroStandalone.switchMenuType)。因此需要手动处理离开标签页时隐藏自定义标签的部分菜单。\",\"switchRealMenuBar(hidden: boolean) { // We only handle hide. The show will be handled by the ZoteroStandalone.switchMenuType document .querySelectorAll(\\\".menu-type-betternotes\\\") .forEach((el) => ((el as HTMLElement).hidden = hidden)); // Disable Zotero pdf export (document.getElementById(\\\"menu_export_files\\\") as XUL.Element).disabled = !hidden; } \"]},\"470\":{\"h\":\"标签页操作\",\"t\":[\"通过 select / jump / move / close 等相关方法进行操作。\",\"Zotero_Tabs.select(\\\"zotero-pane\\\"); \"]},\"471\":{\"h\":\"文件操作\",\"t\":[\"Todo\",\"文件读写已迁移至 IOUtils 和 PathUtils 。\"]},\"472\":{\"h\":\"Clipboard API\",\"t\":[\"Zotero 中关于剪切板的相关接口。由于 Zotero 目前基于 FireFox60,因此无法使用现代浏览器的剪切板接口。 样例代码为 Better Notes 插件提供的剪切板包装:\",\"class CopyHelper { transferable: any; clipboardService: any; constructor() { this.transferable = Components.classes[ \\\"@mozilla.org/widget/transferable;1\\\" ].createInstance(Components.interfaces.nsITransferable); this.clipboardService = Components.classes[ \\\"@mozilla.org/widget/clipboard;1\\\" ].getService(Components.interfaces.nsIClipboard); } public addText(source: string, type: \\\"text/html\\\" | \\\"text/unicode\\\") { const str = Components.classes[ \\\"@mozilla.org/supports-string;1\\\" ].createInstance(Components.interfaces.nsISupportsString); str.data = source; this.transferable.addDataFlavor(type); this.transferable.setTransferData(type, str, source.length * 2); return this; } // Only Windows public addImage(source: string) { const io = Components.classes[ \\\"@mozilla.org/network/io-service;1\\\" ].getService(Components.interfaces.nsIIOService); const channel = io.newChannel(source, null, null); const input = channel.open(); const imgTools = Components.classes[ \\\"@mozilla.org/image/tools;1\\\" ].getService(Components.interfaces.imgITools); const buffer = NetUtil.readInputStreamToString(input, input.available()); const container = imgTools.decodeImageFromBuffer( buffer, buffer.length, channel.contentType ); this.transferable.addDataFlavor(channel.contentType); this.transferable.setTransferData(channel.contentType, container, -1); return this; } public copy() { this.clipboardService.setData( this.transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard ); } } \",\"使用样例:\",\"new CopyHelper() .addText(html, \\\"text/html\\\") .addText(this._Addon.parse.parseHTMLToMD(html), \\\"text/unicode\\\") .copy(); \"]},\"473\":{\"h\":\"弹出通知\",\"t\":[\"const popMsg = new Zotero.ProgressWindow({ closeOnClick: false }); popMsg.changeHeadline(\\\"[Error]\\\", \\\"\\\", \\\"Chartero\\\"); popMsg.addDescription(\\\"----------\\\"); let prog = new popMsg.ItemProgress(\\\"chrome://zotero/skin/cross.png\\\", \\\"No!\\\"); prog.setProgress(100); // 默认0是灰色图标,100是正常图标,其他是进度条 popMsg.addDescription('link'); // 指定父元素实现缩进 let prog1 = new popMsg.ItemProgress( \\\"chrome://chartero/skin/bookmark.png\\\", \\\"hello\\\", prog ); popMsg.show(); popMsg.startCloseTimer(6666); // 毫秒 \"]},\"474\":{\"h\":\"Zotero 事件机制\",\"t\":[\"Notify 事件是 Zotero 内部的一种事件机制,在包括条目创建修改删除,文件打开关闭,标签页打开选中关闭,同步触发等情况下将发送 Notify 事件。\",\"大部分插件都会用到 Notify 事件,可通过 Zotero.Notifier.registerObserver 添加事件,Zotero.Notifier.unregisterObserver 移除事件。\",\"Notifier 支持的事件类型包括(可能不全):\",\"type Event = | \\\"add\\\" | \\\"modify\\\" | \\\"delete\\\" | \\\"move\\\" | \\\"remove\\\" | \\\"refresh\\\" | \\\"redraw\\\" | \\\"trash\\\" | \\\"unreadCountUpdated\\\" | \\\"index\\\" | \\\"open\\\" | \\\"close\\\" | \\\"select\\\"; \",\"支持的事件对象包括:\",\"type Type = | \\\"collection\\\" | \\\"search\\\" | \\\"share\\\" | \\\"share-items\\\" | \\\"item\\\" | \\\"file\\\" | \\\"collection-item\\\" | \\\"item-tag\\\" | \\\"tag\\\" | \\\"setting\\\" | \\\"group\\\" | \\\"trash\\\" | \\\"bucket\\\" | \\\"relation\\\" | \\\"feed\\\" | \\\"feedItem\\\" | \\\"sync\\\" | \\\"api-key\\\" | \\\"tab\\\"; \",\"源码位置:chrome\\\\content\\\\Zotero\\\\xpcom\\\\notifier.js\"]},\"475\":{\"h\":\"注册监听器\",\"t\":[\"declare namespace _ZoteroTypes { interface Notifier { /** * @param {Object} [ref] signature {notify: function(event, type, ids, extraData) {}} * @param {Array} [types] a list of types of events observer should be triggered on * @param {String} [id] an id of the observer used in debug output * @param {Integer} [priority] lower numbers correspond to higher priority of observer execution * @returns {string} */ registerObserver( ref: { notify: Notifier.Notify }, types?: Notifier.Type[], id?: string, priority?: number ): string; } } \",\"为 types 事件设置回调 ref,返回监听器 id。\",\"例:\",\"notifierCallback = { notify: async ( event: string, type: string, ids: Array, extraData: object ) => { // You can add your code to the corresponding notify type if ( event == \\\"select\\\" && type == \\\"tab\\\" && extraData[ids[0]].type == \\\"reader\\\" ) { // Select a reader tab } if (event == \\\"add\\\" && type == \\\"item\\\") { // Add an item } }, }; let notifierID = Zotero.Notifier.registerObserver(notifierCallback, [ \\\"tab\\\", \\\"item\\\", \\\"file\\\", ]); \"]},\"476\":{\"h\":\"注销监听器\",\"t\":[\"declare namespace _ZoteroTypes { interface Notifier { unregisterObserver(id: String): void; } } \",\"取消对应 id 的监听器\",\"例:\",\"Zotero.Notifier.unregisterObserver(notifierID); \"]},\"477\":{\"h\":\"触发 Notify 事件\",\"t\":[\"一般情况下,不需要手动触发。\"]},\"478\":{\"h\":\"单个触发\",\"t\":[\"/** * Trigger a notification to the appropriate observers * * Possible values: * * event: 'add', 'modify', 'delete', 'move' ('c', for changing parent), * 'remove' (ci, it), 'refresh', 'redraw', 'trash', 'unreadCountUpdated', 'index' * type - 'collection', 'search', 'item', 'collection-item', 'item-tag', 'tag', * 'group', 'relation', 'feed', 'feedItem' * ids - single id or array of ids * * Notes: * * - If event queuing is on, events will not fire until commit() is called * unless _force_ is true. * * - New events and types should be added to the order arrays in commit() **/ declare Zotero.Notifier.trigger(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean); /** * Queue an event until the end of the current notifier transaction * * Takes the same parameters as trigger() * * @throws If a notifier transaction isn't currently open */ declare Zotero.Notifier.queue(event: String, type: String, ids: Number | Number[], extraData?: any, force?: Boolean); \",\"例:\",\"Zotero.Notifier.trigger(\\\"add\\\", \\\"tab\\\", [id], { [id]: data }, true); \"]},\"479\":{\"h\":\"队列触发\",\"t\":[\"Zotero.Notifier.commit(queues, (transactionID = true)); \",\"例:\",\"const notifierQueue = new Zotero.Notifier.Queue(); // Initialize a notifier queue // Do something await Zotero.Notifier.commit(notifierQueue); // Trigger the queued notifies \"]},\"480\":{\"h\":\"Zotero 首选项\",\"t\":[\"Preference 是 Zotero 插件的一种持久化设置能力。与其他代码运行环境相同,变量在 Zotero 重启后会被重置,因此对于用户的设置等需要持久存储的变量,通过 Preference 来存取。\",\"Preference 存储于 Zotero 配置文件目录 下的 prefs.js。除特殊情况,请勿引导用户修改该文件。\",\"💡 注意:Preference 的值有长度限制,请勿设置太长的字符串。\"]},\"481\":{\"h\":\"默认设置\",\"t\":[\"在插件根目录新建 prefs.js,并填入如下示例的内容,可以初始化的 Preference 的键和值。键为字符串,值为布尔、数字或字符串其一。\",\"pref(\\\"extensions.zotero.Knowledge4Zotero.syncNoteIds\\\", \\\"\\\"); pref(\\\"extensions.zotero.Knowledge4Zotero.syncPeriod\\\", 10000); pref(\\\"extensions.zotero.Knowledge4Zotero.autoAnnotation\\\", false); \",\"注意\",\"请注意,该文件中每一行的 pref 请勿换行。换行可能导致失效,并不会有明显的错误提示,可能导致新用户的默认配置为空。\"]},\"482\":{\"h\":\"首选项窗格\"},\"483\":{\"h\":\"注册首选项窗格\",\"t\":[\"Zotero 现在包含一个用于注册首选项窗格的内置接口。在插件的 startup 中:\",\"Zotero.PreferencePanes.register({ pluginID: \\\"make-it-red@zotero.org\\\", src: \\\"prefs.xhtml\\\", scripts: [\\\"prefs.js\\\"], stylesheets: [\\\"prefs.css\\\"], }); \",\"更多设置项请参考源码:preferencePanes.js。\",\"窗格的 src 应指向包含 XUL/XHTML 片段的文件。片段不能有 \",\"要使用 Fluent 进行本地化,请在 XUL 中包含一个或多个 HTML 元素:\",\" \",\"首选项窗格文本的本地化详情请参考:。\",\"设置命名空间以避免冲突\",\"请注意,首选项窗格中的所有 class 、id 和 data-l10n-id 都应命名空间以避免插件之间发生冲突。\"]},\"484\":{\"h\":\"绑定首选项\",\"t\":[\"通过将标签的 preference 属性设置为首选项的键,即可绑定首选项,例如:\",\" \"]},\"485\":{\"h\":\"增删改查设置项\",\"t\":[\"源码位置:chrome\\\\content\\\\Zotero\\\\xpcom\\\\prefs.js\",\"declare namespace Zotero { interface Prefs { /** * Retrieve a preference */ get(pref: string, global?: boolean): boolean | string | number | undefined; /** * Set a preference */ set(pref: string, value: boolean | string | number, global?: boolean): any; clear(pref: string, global?: boolean): void; } } \"]},\"486\":{\"h\":\"Zotero.Prefs.get\",\"t\":[\"读取名称为 pref 的 Preference。\",\"pref 为 Preference 的键,global 为是否是全局命名域,默认否。\",\"注意,对于 extensions.zotero.addonRef.key,在页面绑定以及设置编辑器中,Preference 的键名为 extensions.zotero.addonRef.key,而在 API 中调用时只需要 addonRef.key,否则则需要启用全局命名域。\",\"例:首选项键 extensions.zotero.formatmetadata.abbr 的值为 true。\",\"Zotero.Prefs.get(\\\"pdfpreview.enable\\\"); // true Zotero.Prefs.get(\\\"extensions.zotero.formatmetadata.abbr\\\"); // undefined Zotero.Prefs.get(\\\"extensions.zotero.formatmetadata.abbr\\\", true); // true Zotero.Prefs.get(\\\"formatmetadata.abbr\\\", true); // undefined \"]},\"487\":{\"h\":\"Zotero.Prefs.set\",\"t\":[\"设置名称为 pref 的 Preference 为 value。\",\"pref 为 Preference 的键,value 为 Preference 的值,global 为是否是全局命名域,默认否。\",\"例:首选项键 extensions.zotero.pdfpreview.enable 的当前值为 true,需要将其修改为 false。\",\"Zotero.Prefs.set(\\\"pdfpreview.enable\\\", false); Zotero.Prefs.get(\\\"pdfpreview.enable\\\"); // false \"]},\"488\":{\"h\":\"Zotero.Prefs.clear\",\"t\":[\"Todo\"]},\"489\":{\"h\":\"辅助函数\",\"t\":[\"在插件模板中,提供了一个简便的工具函数,来见避免我们每次都要输入 Zotero.Prefs.:\",\"// src/utils/prefs.ts import { config } from \\\"../../package.json\\\"; /** * Get preference value. * Wrapper of `Zotero.Prefs.get`. * @param key */ export function getPref(key: string) { return Zotero.Prefs.get(`${config.prefsPrefix}.${key}`, true); } /** * Set preference value. * Wrapper of `Zotero.Prefs.set`. * @param key * @param value */ export function setPref(key: string, value: string | number | boolean) { return Zotero.Prefs.set(`${config.prefsPrefix}.${key}`, value, true); } /** * Clear preference value. * Wrapper of `Zotero.Prefs.clear`. * @param key */ export function clearPref(key: string) { return Zotero.Prefs.clear(`${config.prefsPrefix}.${key}`, true); } \",\"有了工具函数,我们就可以通过 getPref(\\\"enable\\\") 来简写 Zotero.Prefs.get(\\\"pdfpreview.enable\\\");。\"]},\"490\":{\"h\":\"参考资料\",\"t\":[\"Zotero 7 for developers\",\"Zotero types\"]},\"491\":{\"h\":\"更新清单\",\"t\":[\"update.json 列出了插件各版本插件兼容的 Zotero 版本及插件的更新地址。\",\"Todo\",\"待完善,请参考:Updating your extension - Extension Workshop\",\"{ \\\"addons\\\": { \\\"make-it-red@example.com\\\": { \\\"updates\\\": [ { \\\"version\\\": \\\"2.0\\\", \\\"update_link\\\": \\\"https://zotero-download.s3.amazonaws.com/tmp/make-it-red/make-it-red-2.0.xpi\\\", \\\"update_hash\\\": \\\"sha256:e5ac442c4a3cffc4ffec8b764673b7036d5984690978faa7df66d78b030761c2\\\", \\\"applications\\\": { \\\"zotero\\\": { \\\"strict_min_version\\\": \\\"6.999\\\" } } } ] } } } \"]},\"492\":{\"h\":\"Zotero\"},\"493\":{\"h\":\"使用社区模板\",\"t\":[\"Todo\",\"社区模板地址:https://github.com/windingwind/zotero-plugin-template\",\"考虑到 Zotero 7 后续仍会有一次比较大的底层架构变更,因此该部分内容暂时挂起,开发者可参考仓库的自述文档来配置模板。\"]},\"494\":{\"h\":\"为什么使用该模板\",\"t\":[\"事件驱动、函数式编程的可扩展框架;\",\"简单易用,开箱即用;\",\"⭐[新特性!]自动热重载!当修改源码时,都会自动编译并重新加载插件;\",\"src/modules/examples.ts 中有丰富的示例,涵盖了插件中常用的大部分 API 使用的插件工具包 Zotero-plugin-toolkit;\",\"TypeScript 支持: \",\"为使用 JavaScript 编写的 Zotero 源码提供全面的类型定义支持 (使用类型定义包 Zotero-types)\",\"全局变量和环境设置;\",\"插件开发/构建/发布工作流: \",\"自动生成/更新插件 id 和版本、更新配置和设置环境变量 (development/production);\",\"自动在 Zotero 中构建和重新加载代码;\",\"自动发布到 GitHub (使用 release-it);\",\"集成 Prettier 和 ES Lint;\"]},\"495\":{\"h\":\"Emoji 变成黑白该如何解决\",\"t\":[\"近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。\",\"emoji变成黑白\",\"该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二\"]},\"496\":{\"h\":\"一、安装 seguiemj 字体\",\"t\":[\"首先在网盘中下载字体文件:https://chikit.lanzoul.com/is3U51q0deyj\",\"将下载的字体文件(seguiemj.ttf)复制到C:\\\\Windows\\\\Fonts,即可安装完成\",\"重启 Zotero 即可完成修复。\"]},\"497\":{\"h\":\"二、通过修改 来解决\",\"t\":[\"具体操作步骤如下:\",\"在菜单编辑选择“设置”:\",\"弹出如下图所示的对话框。 点击“I accept the risk”\",\"在搜索框中输入 emoji,双击搜索到的 font.name-list.emoji,由 Segoe UI Emoji, Twemoji Mozilla 修改为 EmojiOne Mozilla。\",\"然后重新启动 Zotero,Emoji 成功变回彩色,问题解决\"]},\"498\":{\"h\":\"常见问题\"},\"499\":{\"h\":\"插件安装的常见问题\",\"t\":[\"关于插件的安装方法与常用插件介绍,请参见 。\"]},\"500\":{\"h\":\"无法打开插件页面\",\"t\":[\"如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如果退出重开后依然没有,请重启电脑,然后再尝试。这是 Zotero 的一个 Bug。\"]},\"501\":{\"h\":\"插件页面显示过大超出屏幕\",\"t\":[\"如果你能打开窗口,却发现窗口顶部捅破了天际,看不到上面的内容: 请先把窗口左右方向拉窄,这样顶部就回自己跳出来了;然后再把上下方向拉矮,把窗口调整到合适的位置,一段时间之内应该就会都是正常的了。这大概也是 Zotero 的一个祖传 Bug。如果是 Windows 系统,选中该窗口,使用快捷键 WIN + 左或右方向键 调整窗口。\"]},\"502\":{\"h\":\"插件安装包格式特殊\",\"t\":[\"如果你下载到的插件安装包格式比较特殊 (如 .zoteroplugin 文件或 .zip 文件),这些文件可能不能在手动安装的文件选择窗口中选中。对于这些特殊格式的安装包,你 只需要把安装包文件拖至前文中提到的插件列表页即可安装 。\"]},\"503\":{\"h\":\"插件安装提示无法安装插件“%S”\",\"t\":[\"如果安装的时候提示无法安装插件“%S”……:\",\"请检查下载的插件格式。如果从 GitHub 下载,安装包在右侧的 Release 中的 xpi 文件。请不要下载源码。\",\"请检查插件安装包是否损坏。重新下载一遍。\"]},\"504\":{\"h\":\"插件检查更新时提示未找到更新\",\"t\":[\"可能是确实没有更新,也可能是无法链接到 GitHub。请在插件镜像寻找你需要的安装包:https://zotero-chinese.gitee.io/zotero-plugins/#/\\n即使你能够打开 GitHub 页面,也并不代表 Zotero 能够顺利下载到插件更新。这取决于网络情况。\"]},\"505\":{\"h\":\"如何更新 Translator\",\"t\":[\"在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。\",\"提醒\",\"这里的 translator 指的是 Zotero 从浏览器网页抓取文献信息时所需的转换器,在 Zotero 中有时也被称作是“翻译器”。如果你遇到的是语言翻译问题(如标题翻译、摘要翻译、文献阅读中的句段翻译等),通常与本文讲的 translator 无关,请参照 Translate for Zotero 插件的教程进行排查。\"]},\"506\":{\"h\":\"方法 1:一键自动更新\",\"t\":[\"安装新版茉莉花插件\",\"更新 translator 之前请确保你安装的 茉莉花 插件已经是最新版本。如果你的 茉莉花 插件版本过低,更新可能会失败。最新的 茉莉花 插件安装包可在这里下载,然后覆盖安装即可:\",\"中文插件商店:https://plugins.zotero-chinese.com/\",\"茉莉花 插件主页:https://github.com/l0o0/jasminum\",\"提示\",\"如果你在安装插件中遇到问题,请阅读 。\",\"在 Zotero 设置中,进入 高级 设置,点击下方“自动检查转换器和样式的更新”后面的 立即更新 按钮。\",\"更新官方 translator\",\"提示\",\"建议取消勾选“自动检查转换器和样式的更新”前面的复选框,这样可以避免非官方维护中文转换器被意外替换为官方的版本。如果遇到了文献抓取失败的问题,可再按照本文档的方法更新。\",\"进入 茉莉花 插件的设置,转到 非官方维护中文翻译器 部分,然后点击 更新全部 按钮。\",\"更新非官网维护中文翻译器\",\"更新 每一个浏览器 中 Zotero Connector 插件里的 translators。\",\"Google Chrome 和 Microsoft Edge\",\"右键点击 Zotero Connector 按钮,然后点击 选项\",\"打开 Zotero Connector 的选项\",\"点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次\",\"更新 Zotero Connector 中的 translators\",\"Apple Safari\",\"在网页空白处点鼠标右键,然后点击 Zotero Preference\",\"打开 Zotero Connector 的选项\",\"点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次\",\"更新 Zotero Connector 中的 translators\",\"注意\",\"这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!\",\"点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。\",\"重启浏览器。\",\"此时你已经完成了 translators 的更新。此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 4 和步骤 5 。\"]},\"507\":{\"h\":\"方法 2:手动替换文件更新\",\"t\":[\"在 Zotero-编辑-设置-高级-文件和文件夹 找到自己的数据储存位置。\",\"例如,下图中的数据储存位置就是 E:\\\\Zotero File,这里也可以点击“打开数据文件夹”快速打开你的数据文件夹。\",\"数据储存位置\",\"找到数据文件夹中的 translators 文件夹(对上图而言就是 E:\\\\Zotero File\\\\translators),这里是 Zotero translators 的存放位置\",\"translators的存放位置\",\"在 Zotero translators 中文维护小组 下载最新的 translators\",\"手动在GitHub上下载translators\",\"将下载的 zip 文件解压后选择其中所有的 translators 文件(.js 文件),并复制\",\"选择所有的translators文件\",\"将所有的 translators 粘贴到第 1 步中 translators 文件夹并替换,此时已经完成 Zotero 中 translators 文件的更新\",\"替换旧的translators\",\"更新 每一个浏览器 中 Zotero Connector 插件里的 translators。\",\"Google Chrome 和 Microsoft Edge\",\"右键点击 Zotero Connector 按钮,然后点击 选项\",\"打开 Zotero Connector 的选项\",\"点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次\",\"更新 Zotero Connector 中的 translators\",\"Apple Safari\",\"在网页空白处点鼠标右键,然后点击 Zotero Preference\",\"打开 Zotero Connector 的选项\",\"点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次\",\"更新 Zotero Connector 中的 translators\",\"注意\",\"这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!\",\"点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。\",\"此时你已经完成了 translators 的更新,此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 6。\"]},\"508\":{\"h\":\"关于 Word 引用的各种问题\",\"t\":[\"本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。\",\"如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案。\",\"如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zotero 官方论坛发帖求助。\"]},\"509\":{\"h\":\"插入参考文献的基础教程\",\"t\":[\"在开始排查问题之前,请务必先了解 Zotero 的 Word 加载项中各个按钮的功能和用法。在 Word 中插入参考文献的基本操作请阅读:\",\"此外,关于 Zotero 参考文献插入及排版的基本教程您还可以观看这个视频:\",\"Zotero 文献在 Word 中的引用\",\"其中包括以下问题的解答:\",\"如何安装/重新安装 Word 中的 Zotero 工具条(Word 加载项)。\",\"如何从 Zotero 官方下载参考文献格式。\",\"如何在 Word 中插入参考文献。\",\"如何在 Word 中设置引用样式。\",\"提醒\",\"请注意, Zotero 在更新至 6.0.23 或更高版本后,Word 选项卡里的按钮顺序有调整。 新版本交换了第二个和第三个按钮的位置, 在阅读教程的时候请注意点击的按钮具体是哪一个,不要只去数是第几个按钮。\",\"Zotero Word 插件选项卡\",\"按钮功能说明\",\"目前新版本里横向布置三个大按钮分别是:\",\"插入/编辑引注Add/Edit Citation\",\"在当前光标位置插入或编辑引注。\",\"提示\",\"此按钮只是插入引注,不会在文末自动生成参考文献表。要插入参考文献表,请点击 插入/编辑参考文献表 按钮。\",\"插入/编辑参考文献表Add/Edit Bibliography\",\"在光标当前位置插入或编辑已存在的参考文献表。\",\"注\",\"一般情况下,在文末写一个 参考文献 标题,然后按回车另起一行,再点击这个按钮插入参考文献表。\",\"插入笔记Add Note\",\"在光标当前位置插入笔记。\",\"提示\",\"此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。\",\"三个纵向布置的小按钮分别是:\",\"文档首选项Document Preferences\",\"更改参考文献样式或语言,开启/关闭自动更新引注功能。\",\"刷新Refresh\",\"更新引注引注编号及文末参考文献表内容,关闭自动更新引注功能后需手动点击此按钮更新引注。\",\"取消链接引注Unlink Citations\",\"删除所有 Zotero 域代码且断开与 Zotero 文库链接。点击后所有的引注和文末的参考文献表都会变成纯文本。\",\"注意\",\"该操作不可逆,一旦断开连接,所有的引注信息都会变成纯文本,无法再自动更新编号和参考文献表,也无法恢复到以前带有链接的状态。因此强烈建议在断开连接之前将文档另存一份备用,仅将用于提交/共享的副本断开连接。\",\"注意\",\"在插入文献之前, 请务必先将 Zotero 里英文论文详细信息中的 语言/Language 字段改为en 或 en-US 等与文献语言一致的信息,否则在中英文混排时可能会遇到错误。具体方法见后文里 中英文混排 部分的内容。\"]},\"510\":{\"h\":\"插入引用常见的操作问题\",\"t\":[\"在实际使用中,有一些操作上的小技巧,在这里略作整理:\",\"Zotero 有两种插入文献的方式,一种是搜索对话框,另一种是经典视图的选择窗:\",\"引文对话框\",\"经典引文对话框\",\"如果你在使用新式搜索框,推荐采用年份 作者姓名进行检索(两个关键词中间敲一个空格)。\",\"这两种界面可以在插入的时候临时切换,也可以在 Zotero 首选项 里修改默认使用经典选择窗。操作步骤请参见\",\"如果你使用搜索框, 输入中文关键词后没有候选项目 ,请 按一下键盘的空格键 ,然后就有候选项了。\",\"如果你 在一处位置想同时引用多个文献 ,请在插入引用时 一次性插入每一个文献 ,不要分成两次分开插。\",\"插入多条文献\",\"在使用搜索窗时 ,先加入第一个文献,然后不要急着按回车确认插入,而是改为 按一下空格然后继续搜下一个文献 。直到所有文献都完成插入之后再按回车确认本次插入。\",\"在使用经典选择窗时 ,点击左下角的 多重来源/Multiple Sources 来实现同时插入多个文献。具体操作请参见\",\"注\",\"注:这个窗口内可以多选,可以在左边窗口一次性选择多个条目,然后统一点向右的箭头加到右边。待全部文献添加完成后,再点击确认完成插入。\",\"如果你 在插入完成后想重新修改引用信息 ,请先在 Word 中插好的编号角标中间点一下,使输入光标在角标内(此时角标会变为灰色),然后点 插入/编辑引注 按钮即可编辑/增删此处引用的文献。\",\"编辑引注\",\"在 插入/编辑引注 过程中,请务必在选择文献过程中 不要转到其他窗口去翻看查阅 。如果边翻看边插入,很有可能导致插入失败并报错。如果插入过程中希望查阅信息,你可以先按回车键确认本次插入,待查阅完成后再用第 4 点提醒中的方法编辑/补充引用。\",\"Zotero 在插入文献时更新角标的速度非常缓慢, 建议关闭自动更新引用 。这一设置在 Word 中的 Zotero 选项卡内:\",\"文档设置\",\"在关闭之后,你 需要在增删引用项目后手动点 刷新 按钮更新引用信息及编号 。在 Zotero 6.0 新版本下,这个更新可能非常缓慢,你需要多一点耐心。\"]},\"511\":{\"h\":\"格式问题\"},\"512\":{\"h\":\"调整缩进、行距等格式\",\"t\":[\"Word 中参考文献书目列表的排版问题是 Word 段落样式控制的。 其中包括:是否首行缩进,是否悬挂缩进,编号和后续文字之间的制表位空白大小,字体及文字大小,是否全部加粗,行间距大小……\",\"这部分样式你需要 在 Word 中修改“书目”样式 。具体方法详见这一教程:\",\"如何设置 Zotero 生成的参考文献格式,刷新后不变?\"]},\"513\":{\"h\":\"设置斜体及上下标等\",\"t\":[\"一些论文的题目需要在参考文献中表现为上标、下标或者斜体:如 CO2,H+、Nature,这该如何实现呢?\",\"方式一:插入参考文献后在 Word 中手动修改,但是这种方法每次刷新后需要重新设置非常麻烦。(这是不正确的方式,不推荐)\",\"方式二:在 Zotero 中修改该文献的条目信息,通过在题目中添加以下代码来实现上标、下标、斜体、加粗的效果,添加完后返回 Word 刷新引文:\",\"上标 下标 斜体 加粗 \",\"示例\",\"标题\",\"Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR\",\"Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR\",\"参考文献表\",\"[1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. https://doi.org/10.1016/j.cej.2020.125798.\",\"[1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. https://doi.org/10.1016/j.cej.2020.125798.\",\"如上示例在 Zotero 条目信息中对需要为下标的单词两侧分别加上 ,回到在 Word 中点击 Refresh 刷新条目信息即可看到下标效果已经成功实现。\",\"点击Refresh刷新条目信息\",\"使用 Linter 插件快捷插入\",\"插件 Linter for Zotero 提供了辅助输入这些富文本标签的功能,可前往 插件商店下载安装。\",\"使用 Quicker 快捷插入\",\"使用 quicker 动作可以也可以方便的实现同样的效果:\",\"添加斜体标识\",\"添加加粗标识\",\"添加上标标识\",\"添加下标标识\"]},\"514\":{\"h\":\"中英文混排以及其他特殊要求样式的问题\",\"t\":[\"Zotero 官方样式对于中英文混排支持得十分差劲,尤其是在 等 和 et al. 的处理上。幸运地是,有很多热心的大佬在这方面进行了许多探索。\",\"csl 格式的样式文件的下载和安装方法可以查看这一教程:\",\"利用合适的 CSL,结合设置条目语言解决 et al 和等混排问题\",\"提示\",\"对于一般的需求,可以在这个项目中寻找最适合你的样式,然后直接拿来用:\",\"GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程\",\"GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程\",\"这里有非常多的常见样式,足以满足几乎所有人的需求。上面的页面里也都附上了相应的使用效果方便挑选。\",\"安装 csl 样式文件中,会有两个弹窗。第一个弹窗请点击 安装/Install,第二个弹窗请点击 确认/OK:\",\"安装样式\",\"(上图是第二个弹窗,这个报错不用担心,直接点 OK 即可)\",\"安装完 csl 样式文件后,你还 需要在 Word 中指定当前文档使用的样式 :\",\"文档设置\",\"注意\",\"请务必注意, 样式的选择是在 Word 里进行的 ,不是在 Zotero 设置里!Zotero 设置里的列表仅用来安装新样式,不能用作选择默认样式!\"]},\"515\":{\"h\":\"如果上面现成的样式不能满足你的需求……\",\"t\":[\"你也可以根据你自己的需要修改属于自己的样式文件,可以看一下这个视频教程自行定制样式:\",\"style csl 文件简单编辑\"]},\"516\":{\"h\":\"注意事项及与样式相关的常见问题\",\"t\":[\"中英文混排的各个样式文件通常是依靠 Zotero 文献条目信息中的 语言/Language,你需要在插入参考文献之前 预先将英文和中文文献的语言设定为相应要求的内容 。一般来说,常见的中英混排 csl 样式文件通常要求将英文文献 Info 中 语言/language 字段修改为en,而中文文献设置成zh、zh_CN或其他内容基本都可以。\",\"注意\",\"请务必注意,英文文献的语言需要设置为 en ,而不是其他任何内容!(即便设置成 english 也不行!)\",\"如果你的文献语言设定不规范,可以通过标题或作者字段对所有文献进行排序,然后分别选中英文文献,将其 [语言] 字段的信息统一为 en;取消选中后再选中中文文献,将其 语言 字段的信息统一为zh或者样式文件要求的样子。\",\"插件 Linter for Zotero 提供了自动识别条目语言并设定语言字段的功能,可前往 插件商店下载安装。\",\"Linter 自动识别条目语言\",\"如果你设置了新样式后,样式仍未变更,你可以在 Word 上 Zotero 插件选项卡中的 Document Preferences 里 随意切换到任何一个其他样式,确定。等待更新完成后,重新进设置里改回你想用的设置,文档会再次刷新,然后就好了。\",\"Word 中参考文献的显示内容是 csl 文件决定的。如果你觉得 参考文献里显示的内容 不符合你的要求,你需要按照前面的教程修改 csl 文件。\",\"如果你设置的样式全都正确,却发现有的正文角标里的内容多了点东西(页码),可以编辑一下这一处引用,把不必要的信息删掉:\",\"编辑引文\"]},\"517\":{\"h\":\"Word 中没有 Zotero 选项卡\",\"t\":[\"一些朋友在 Word 中的 Zotero 选项卡突然消失了,或者使用的时候报错要求重装/升级该加载项。 这一加载项需要在 Zotero 首选项 中安装 。具体步骤如下:\",\"保存好正在编辑的 Word 文档,并彻底退出 Word。\",\"打开 Zotero 首选项。\",\"在 引用/Cite -文字处理软件/Word Processors 中点击 重新安装 Microsoft Word 加载项/Reinstall Microsoft Word Add-in 即可完成安装/更新/重装。\",\"重新安装Word插件\",\"注意\",\"如果退出 Word 后重新安装这一加载项仍然报错,建议重启电脑后再尝试。\",\"若上图的【文字处理软件/Word Processors】没有内容显示,则需要在 Zotero 软件界面,单击打开【工具/Tools】-【插件/Add-ons】\",\"image.png\",\"找到【Zotero Word for Windows Integration】插件,确保其没有处理禁用状态。\",\"image.png\"]},\"518\":{\"h\":\"报错“无法与 Zotero 通讯”\",\"t\":[\"待办\"]},\"519\":{\"h\":\"Zotero 在更新文档时出错\",\"t\":[\"提示\",\"本小节在翻译 官方文档 的基础上,进行了再次整合,以 Microsoft Word 为例进行操作。如果您使用的是 Google Docs 或者 LibreOffice ,可访问 官方文档 | 排除文字处理器文档中的错误 获取帮助。\",\"更新文档时出错\",\"如果您在尝试在一个新的空文档中使用 Zotero 时出错,请参阅 文字处理器插件故障排除。\",\"如果您可以在新的空 Word 文档中插入引文,但在现有文档中使用 Zotero 时出现错误,可以按照以下步骤进行问题排查:\",\"检查 Word 设置\",\"在文件-选项-高级,勾选 键入内容替换所选文字,问题即可得到解决。 如问题未得到解决,请按照后续步骤逐步进行排查。\",\"键入内容替换所选文字\",\"重启 Zotero 和 Word。\",\"确保您使用的是最新版本的 Zotero 和 Word。\",\"排除故障时,禁用 Word 中的修订功能,因为它在使用 Zotero 时会产生复杂的效果。 如果在插入或修改 Zotero 引文时启用了修订功能,它可能会将文档中的许多或所有 Zotero 引文标记为已更改。如果您以前启用了修订功能,请尝试接受所有更改,看看这是否能解决问题。\",\"检查图片标题中的引用。Zotero 不会让你插入它们,但如果你将引用复制到标题中,这很可能是问题的根源。删除这部分引用。\",\"尝试将文档内容复制并粘贴到新文档中,以查看问题是否消失。您可能需要点击 Document Preferences 按钮,您的旧引用才会被识别。\",\"通过复制文件本身,而不是通过复制和粘贴内容,制作文档的副本,用于调试。\",\"如果在 Windows 上使用 OneDrive,请将文档的副本保存到本地硬盘,或者尝试删除文件名中的任何空格。OneDrive 会干扰插件的使用,请在使用 Zotero 过程中避免与 Onedrive 同时使用。\",\"打开复制的文件,检查切换到不同的参考书目样式后是否出现错误。\",\"如果文档有参考书目(bibliography,),请删除它后检查是否仍然出现错误。\",\"调试时,如果您在 Word 插件中使用字段模式,显示字段代码而不是格式化文本可能会有所帮助。为此,请在 Word 中按 Alt/Option-F9(或 Alt/Option-Fn-F9)。\",\"隔离有问题的引用。 在文档副本中,每次删除一半内容,看看错误是否仍然发生。如果没有,使用 \\\"撤消\\\" 恢复已删除的部分,然后尝试删除另一半。对出现错误的部分重复删除一半的过程,如果两个部分都出现错误,则随机选取一个。继续这样做,直到找到出现问题时必须存在的最小部分(最好只有一个引文)。从原始文档中删除孤立的引文,问题就会消失(除非有多个断开的引文,在这种情况下您需要重复该过程)。\"]},\"520\":{\"h\":\"域代码相关问题\"},\"521\":{\"h\":\"您已经修改该引文,是否保留更改?\",\"t\":[\"image.png\",\"该弹窗通常是用户手动修改了引文或参考文献表,比如该弹窗即为某文献在文中编码为“[1]”,用户手动把它修改为了“[111]”,Zotero 再次刷新时会询问用户是否保留这些修改?\",\"如果用户需要保留自己的修改,则点击“是 yes”,如果用户需要抛弃自己的修改,使用 Zotero 生成的内容,则需要选择“否 No”。\",\"警告\",\"注意:请谨慎选择“是 Yes”,该操作会让 Zotero 不再更新此处!\",\"注意\",\"所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是手动修改!\",\"所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是手动修改!\",\"所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目,而不是手动在域代码上修改!\",\"如果已经点了 “是 yes”,Zotero 不再对这一处引文进行更新,而后续又想要 Zotero 对其更新,可以参照下一节。\"]},\"522\":{\"h\":\"使 Zotero 恢复对引文的更新\",\"t\":[\"首先分析一下 Word 加载项 在 Word 留下的域代码结构,以 https://doi.org/10.1021/acscatal.0c05697 为例,其正常插入 Word 后产生的域代码为:\",\"Zotero 引文在 Word 中产生的域代码截图\",\"image.png\",\"其中标黄部分是标识这是一个 Word 域代码块的声明,可以不去管,重点在包含在其中的 json 内容,为了方便理解,将其格式化后显示如下:\",\"上述可以正常更新的域代码格式化后的代码\",\"{ \\\"citationID\\\": \\\"gr3uElq7\\\", \\\"properties\\\": { \\\"formattedCitation\\\": \\\"\\\\\\\\super [1]\\\\\\\\nosupersub{}\\\", \\\"plainCitation\\\": \\\"[1]\\\", \\\"noteIndex\\\": 0 }, \\\"citationItems\\\": [ { \\\"id\\\": 2220, \\\"uris\\\": [\\\"http://zotero.org/users/7424907/items/SUW7JYI9\\\"], \\\"itemData\\\": { \\\"id\\\": 2220, \\\"type\\\": \\\"article-journal\\\", \\\"abstract\\\": \\\"To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.\\\", \\\"archive\\\": \\\"Q1\\\", \\\"archive_location\\\": \\\"工程技术1区 Top\\\", \\\"call-number\\\": \\\"8.04\\\", \\\"collection-title\\\": \\\"无\\\", \\\"container-title\\\": \\\"Fuel\\\", \\\"DOI\\\": \\\"10.1016/j.fuel.2022.124116\\\", \\\"ISSN\\\": \\\"0016-2361\\\", \\\"journalAbbreviation\\\": \\\"Fuel\\\", \\\"language\\\": \\\"en\\\", \\\"license\\\": \\\"8.04\\\", \\\"note\\\": \\\"JCR分区: Q1\\\\n中科院分区升级版: 工程技术1区\\\\n中科院分区基础版: 工程技术2区\\\\n影响因子: 8.04\\\\n5年影响因子: 6.63\\\\nEI: 是\\\", \\\"page\\\": \\\"124116\\\", \\\"source\\\": \\\"能源与燃料2区 工程:化工1区\\\", \\\"title\\\": \\\"Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen\\\", \\\"title-short\\\": \\\"Regulating oxygen species for promoted deep oxidation of toluene\\\", \\\"volume\\\": \\\"321\\\", \\\"author\\\": [ { \\\"family\\\": \\\"Zhang\\\", \\\"given\\\": \\\"Luyue\\\" }, { \\\"family\\\": \\\"Liu\\\", \\\"given\\\": \\\"Yongjun\\\" }, { \\\"family\\\": \\\"Fang\\\", \\\"given\\\": \\\"Xue\\\" }, { \\\"family\\\": \\\"Cheng\\\", \\\"given\\\": \\\"Yan\\\" } ], \\\"issued\\\": { \\\"date-parts\\\": [[\\\"2022\\\", 8, 1]] } } } ], \\\"schema\\\": \\\"https://github.com/citation-style-language/schema/raw/master/csl-citation.json\\\" } \",\"其被修改后,域代码则会变为:\",\"不能正常更新的域代码\",\"{ \\\"citationID\\\": \\\"gr3uElq7\\\", \\\"properties\\\": { \\\"formattedCitation\\\": \\\"\\\\\\\\super [1]\\\\\\\\nosupersub{}\\\", \\\"plainCitation\\\": \\\"[1]\\\", \\\"dontUpdate\\\": true, \\\"noteIndex\\\": 0 }, \\\"citationItems\\\": [ { \\\"id\\\": 2220, \\\"uris\\\": [\\\"http://zotero.org/users/7424907/items/SUW7JYI9\\\"], \\\"itemData\\\": { \\\"id\\\": 2220, \\\"type\\\": \\\"article-journal\\\", \\\"abstract\\\": \\\"To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.\\\", \\\"archive\\\": \\\"Q1\\\", \\\"archive_location\\\": \\\"工程技术1区 Top\\\", \\\"call-number\\\": \\\"8.04\\\", \\\"collection-title\\\": \\\"无\\\", \\\"container-title\\\": \\\"Fuel\\\", \\\"DOI\\\": \\\"10.1016/j.fuel.2022.124116\\\", \\\"ISSN\\\": \\\"0016-2361\\\", \\\"journalAbbreviation\\\": \\\"Fuel\\\", \\\"language\\\": \\\"en\\\", \\\"license\\\": \\\"8.04\\\", \\\"note\\\": \\\"JCR分区: Q1\\\\n中科院分区升级版: 工程技术1区\\\\n中科院分区基础版: 工程技术2区\\\\n影响因子: 8.04\\\\n5年影响因子: 6.63\\\\nEI: 是\\\", \\\"page\\\": \\\"124116\\\", \\\"source\\\": \\\"能源与燃料2区 工程:化工1区\\\", \\\"title\\\": \\\"Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen\\\", \\\"title-short\\\": \\\"Regulating oxygen species for promoted deep oxidation of toluene\\\", \\\"volume\\\": \\\"321\\\", \\\"author\\\": [ { \\\"family\\\": \\\"Zhang\\\", \\\"given\\\": \\\"Luyue\\\" }, { \\\"family\\\": \\\"Liu\\\", \\\"given\\\": \\\"Yongjun\\\" }, { \\\"family\\\": \\\"Fang\\\", \\\"given\\\": \\\"Xue\\\" }, { \\\"family\\\": \\\"Cheng\\\", \\\"given\\\": \\\"Yan\\\" } ], \\\"issued\\\": { \\\"date-parts\\\": [[\\\"2022\\\", 8, 1]] } } } ], \\\"schema\\\": \\\"https://github.com/citation-style-language/schema/raw/master/csl-citation.json\\\" } \",\"可以看到,多了第六行 \\\"dontUpdate\\\": true,,我们将这一行去掉,再更新域代码,即可恢复 Zotero 对该处的更新。\"]},\"523\":{\"h\":\"字段是代码而不是引文/参考书目文本\",\"t\":[\"待办\",\"https://www.zotero.org/support/kb/word_field_codes\"]},\"524\":{\"h\":\"引文或参考书目总是以灰色或其他颜色突出显示\",\"t\":[\"待办\",\"https://www.zotero.org/support/kb/citations_highlighted\"]},\"525\":{\"h\":\"没有监测到引用\",\"t\":[\"待办\",\"https://www.zotero.org/support/kb/word_field_codes\"]},\"526\":{\"h\":\"将引注链接到参考文献表\",\"t\":[\"参阅: 。\"]},\"527\":{\"h\":\"更多教程\",\"t\":[\"Johnmy 老师也制作了非常多的关于 Zotero 的教程,如果有疑问也请务必在这里多找找多看看:\",\"GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程\",\"一些软件使用过程中的技巧,如 Endnote, Zotero 等\"]},\"528\":{\"h\":\"“获取更多样式”打不开怎么办\",\"t\":[\"近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题:\",\"点击“获取更多样式”没有反应\",\"禁用插件\",\"这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。可以优先排查Zotero Style插件\",\"退出 Zotero 账户。\",\"依次点击 编辑-设置-同步 下 退出账户,之后重启 Zotero 该问题可解决。\",\"退出Zotero账户\",\"手动安装\",\"如果前两种方法都不能解决问题,可以手动安装引文样式的方法来实现引文样式的安装。 打开从Zotero 样式库下载其他样式,搜索所需要的期刊(例如Nature)\",\"此时,会进行引文格式的安装方式\",\"① 选择OK时,Zotero 会将所选择的引文格式自动下载安装,完成后,网页右上角会有完成提醒。\",\"② 选择Cancel时,浏览器会下载所选择的引文格式到本地,然后通过Zotero-编辑-设置-引用-样式 下 +安装安装刚刚所下载的引文格式\"]},\"529\":{\"h\":\"如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题\",\"t\":[\"部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。\",\"黑色遮挡\",\"根据 Zotero 官方答复 ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。\",\"具体操作步骤如下:\",\"在菜单编辑选择“设置”:\",\"弹出如下图所示的对话框。 点击“I accept the risk”\",\"在搜索框中输入 acceleration,双击搜索到的 layers.acceleration.disabled,Value 将变为 true。然后重新启动 Zotero,即可解决问题。\"]},\"530\":{\"h\":\"在 Word 中把引注链接到参考文献表\"},\"531\":{\"h\":\"描述\",\"t\":[\"建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:\",\"EndNote 中关于链接引注和参考文献表的选项\",\"Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]。\",\"从 Zotero 论坛发现了通过 Word 宏实现的功能 [2],虽有一些缺陷,但基本可以达成需求。\"]},\"532\":{\"h\":\"\",\"t\":[\"在 Word 里新建一个宏,添加宏代码如下:\",\"Public Sub ZoteroLinkCitation() ' get selected area (if applicable) Dim nStart&, nEnd& nStart = Selection.Start nEnd = Selection.End ' toggle screen updating Application.ScreenUpdating = False ' define variables Dim title As String Dim titleAnchor As String Dim style As String Dim fieldCode As String Dim numOrYear As String Dim pos&, n1&, n2&, n3& ActiveWindow.View.ShowFieldCodes = True Selection.Find.ClearFormatting ' find the Zotero bibliography With Selection.Find .Text = \\\"^d ADDIN ZOTERO_BIBL\\\" .Replacement.Text = \\\"\\\" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute ' add bookmark for the Zotero bibliography With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:=\\\"Zotero_Bibliography\\\" .DefaultSorting = wdSortByName .ShowHidden = True End With ' loop through each field in the document For Each aField In ActiveDocument.Fields ' check if the field is a Zotero in-text reference '################################################## If InStr(aField.Code, \\\"ADDIN ZOTERO_ITEM\\\") > 0 Then fieldCode = aField.Code '############# ' Prepare ' Plain citation== Format of Textfield shown ' must be in Brackets Dim plain_Cit As String plCitStrBeg = \\\"\\\"\\\"plainCitation\\\"\\\":\\\"\\\"[\\\" plCitStrEnd = \\\"]\\\"\\\"\\\" n1 = InStr(fieldCode, plCitStrBeg) n1 = n1 + Len(plCitStrBeg) n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1 plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2) 'Reference 'as shown' in word as a string 'Title array in fieldCode (all referenced Titles within this field) Dim array_RefTitle(32) As String i = 0 Do While InStr(fieldCode, \\\"\\\"\\\"title\\\"\\\":\\\"\\\"\\\") > 0 n1 = InStr(fieldCode, \\\"\\\"\\\"title\\\"\\\":\\\"\\\"\\\") + Len(\\\"\\\"\\\"title\\\"\\\":\\\"\\\"\\\") n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), \\\"\\\"\\\",\\\"\\\"\\\") - 1 + n1 If n2 < n1 Then 'Exception the type 'Article' n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), \\\"}\\\") - 1 + n1 - 1 End If array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1) fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1) i = i + 1 Loop Titles_in_Cit = i 'Number array with References shown in PlainCit 'Numer is equal or less than Titels, depending on the type '[3], [8]-[10]; [2]-[4]; [2], [4], [5] ' All citations have to be in Brackets each! [3], [8] not [3, 8] ' This doesnt work otherwise! ' --> treatment of other delimiters could be implemented here Dim RefNumber(32) As String i = 0 Do While (InStr(plain_Cit, \\\"]\\\") Or InStr(plain_Cit, \\\"[\\\")) > 0 n1 = InStr(plain_Cit, \\\"[\\\") n2 = InStr(plain_Cit, \\\"]\\\") RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1)) plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1) i = i + 1 Loop Refs_in_Cit = i 'treat only the shown references (skip the rest) '[3], [8]-[10] --> skip [9] 'Order of titles given from fieldcode, not checked! If Titles_in_Cit > Refs_in_Cit Then array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1) i = 1 Do While Refs_in_Cit + i <= Titles_in_Cit array_RefTitle(Refs_in_Cit + i - 1) = \\\"\\\" i = i + 1 Loop End If '############# 'Make the links For Refs = 0 To Refs_in_Cit - 1 Step 1 title = array_RefTitle(Refs) array_RefTitle(Refs) = \\\"\\\" ' make title a valid bookmark name titleAnchor = title titleAnchor = MakeValidBMName(titleAnchor) ActiveWindow.View.ShowFieldCodes = False Selection.GoTo What:=wdGoToBookmark, Name:=\\\"Zotero_Bibliography\\\" '' locate the corresponding reference in the bibliography '' by searching for its title Selection.Find.ClearFormatting With Selection.Find .Text = Left(title, 255) .Replacement.Text = \\\"\\\" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute ' select the whole caption (for mouseover tooltip) Selection.MoveStartUntil (\\\"[\\\"), Count:=wdBackward Selection.MoveEndUntil (vbBack) lnkcap = \\\"[\\\" & Selection.Text lnkcap = Left(lnkcap, 70) ' add bookmark for the reference within the bibliography Selection.Shrink With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:=titleAnchor .DefaultSorting = wdSortByName .ShowHidden = True End With ' jump back to the field aField.Select ' find and select the numeric part of the field which will become the hyperlink Selection.Find.ClearFormatting With Selection.Find .Text = RefNumber(Refs) .Replacement.Text = \\\"\\\" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute numOrYear = Selection.Range.Text & \\\"\\\" ' store current style style = Selection.style ' Generate the Hyperlink -->Forward! ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:=\\\"\\\", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:=\\\"\\\" & numOrYear ' reset the style Selection.style = style ' comment if you want standard link style aField.Select With Selection.Font .Underline = wdUnderlineNone .ColorIndex = wdBlack End With Next Refs 'References in Cit End If 'If Zotero-Field '######################### Next aField ' next field ' go back to original range selected ActiveWindow.View.ShowFieldCodes = False ActiveDocument.Range(nStart, nEnd).Select End Sub Function MakeValidBMName(strIn As String) Dim pFirstChr As String Dim i As Long Dim tempStr As String strIn = Trim(strIn) pFirstChr = Left(strIn, 1) If Not pFirstChr Like \\\"[A-Za-z]\\\" Then strIn = \\\"A_\\\" & strIn End If For i = 1 To Len(strIn) Select Case Asc(Mid$(strIn, i, 1)) Case 49 To 57, 65 To 90, 97 To 122 tempStr = tempStr & Mid$(strIn, i, 1) Case Else tempStr = tempStr & \\\"_\\\" End Select Next i tempStr = Replace(tempStr, \\\" \\\", \\\" \\\") MakeValidBMName = Left(tempStr, 40) End Function \"]},\"533\":{\"h\":\"缺陷和注意事项\",\"t\":[\"手动更新引注时会出现引注已被修改的弹窗\",\"无法实现从参考文献表跳转到引注\",\"同时引用多个引注时只能链接最后一个。\",\"来源添加 ↩︎\",\"Word: Possibility to link references and bibliography in a document? -  Zotero Forums↩︎\"]},\"534\":{\"h\":\"首选项:高级设置\",\"t\":[\"本节是 https://www.zotero.org/support/preferences/hidden_preferences 的翻译版本。\",\"您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级的用途。\"]},\"535\":{\"h\":\"Zotero\",\"t\":[\"要查看 Zotero 首选项的完整列表,包括许多隐藏的首选项,请转到 Zotero 首选项的高级窗格并单击“设置编辑器”。 在出现的列表顶部的过滤器字段中输入“Zotero”。 用户可以安全更改的首选项如下所述。 大多数 Zotero 隐藏首选项都以“extensions.Zotero”开头。\"]},\"536\":{\"h\":\"通用设置\",\"t\":[\"这些通用隐藏设置允许您定制化 Zotero 。\",\"设置名称\",\"默认值\",\"描述\",\"attachmentRenameFormatString\",\"'{%c - }{%y - }{%t{50}}'\",\"Zotero 自动重命名从连接器(又称 translator 浏览器插件,见相关章节)保存的附件。 此字符串控制这些名称的格式。 %c 是创建者,%y 是年份,%t 是标题,每个部分周围的花括号表示“仅当内部指定的字段非空时才包含此部分”,{50} 表示“截断 50 个字符”。 您可以重新排列这些以满足您的需要。\",\"backup.interval\",\"1440\",\"Zotero 自动备份数据库的最长间隔(以分钟为单位)。 默认值为每 24 小时(1440 分钟)\",\"backup.numBackups\",\"2\",\"Zotero 应该保留多少自动数据库备份。 多余的备份最先删除。 这不包括在数据库升级期间进行的备份。 请注意,将其设置得太高可能会导致数据库升级备份被覆盖。\",\"capitalizeTitles\",\"true\",\"默认情况下,Zotero 将重新命名您抓取条目的标题(例如,删除所有大写字母)。 将此首选项切换为 false,您将保留标题的原始信息。\",\"debug.level\",\"5\",\"启用 debug.log 时,确定显示的调试级别中的最低值(1-5,其中 5 为最低)\",\"debug.log\",\"false\",\"用于调试 Zotero。见debug output.\",\"debug.time\",\"false\",\"启用 debug.log 时,显示上一次调试调用的毫秒数\",\"fontSize\",\"“1.0”\",\"此首选项允许您增加或减少 Zotero 界面中文本的大小。\",\"httpServer.enabled\",\"true\",\"如果设置为 true,Zotero 将侦听来自 Zotero 连接器的请求(例如,允许将项目从连接器保存到 Zotero)。\",\"httpServer.port\",\"23119\",\"如果启用了 httpServer.enabled,这是 Zotero 将侦听来自 Zotero 连接器的连接的端口。\",\"sortAttachmentsChronologically\",\"false\",\"如果设置为 true,您的附件将按您添加它们的顺序而不是按字母顺序排序。\",\"sortNotesChronologically\",\"false\",\"如果设置为 true,您的笔记将按您添加它们的顺序而不是按字母顺序排序。\"]},\"537\":{\"h\":\"PDF Reader 阅读器\",\"t\":[\"设置名称\",\"默认值\",\"描述\",\"sortNotesChronologically.reader\",\"true\",\"按时间倒序对条目进行排序。 如果为 false,则按字母顺序排序。\"]},\"538\":{\"h\":\"Note Editor 笔记编辑器\",\"t\":[\"设置名称\",\"默认值\",\"描述\",\"note.fontSize\",\"14\",\"注意字体大小 — 可从“查看”菜单设置,但其他值(包括小数)可以手动设置\",\"note.smartQuotes\",\"true\",\"自动将 straight quotes 转换为 typographic quotes\"]},\"539\":{\"h\":\"Translator 转换器设置\",\"t\":[\"这些隐藏设置允许您控制某些特定条目格式的导入/导出转换器的行为。 所有翻译器隐藏首选项都以“extensions.Zotero.translators”开头。\",\"设置名称\",\"默认值\",\"描述\",\"应用于\",\"RIS.import.ignoreUnknown\",\"true\",\"不要在注释中存储无法映射到 Zotero 字段的值。\",\"RIS import translator\",\"RIS.import.keepID\",\"false\",\"不要从“ID -”标签中删除值。 可用于在 EndNote 中查找项目。\",\"RIS import translator\",\"BibTeX.export.dontProtectInitialCase\",\"false\",\"如果只有第一个字母大写,则不要用大括号将单词括起来。 如果您在 Zotero 中以标题大小写输入标题,则很有用(不推荐)。 false: {Tame {The} {BeaST}}, true: {Tame The {BeaST}} 请注意,如果第一个单词不包含内部大写字母,则永远不会被{}包围\",\"BibTeX export translator\",\"BibTeX.export.simpleCitekey\",\"null\",\"默认情况下,仅对新添加的条目使用 citekey 的新简单格式(不允许除破折号和下划线之外的任何特殊字符)。 将此隐藏键设置为 true,将始终使用这种简单的 citekeys。\",\"BibTeX export translator\"]},\"540\":{\"h\":\"全文索引\",\"t\":[\"这些设置处理 Zotero 从导入文件创建全文索引的能力。\",\"设置名称\",\"默认值\",\"描述\",\"search.useLeftBound\",\"true\",\"确定 Zotero 是仅根据左边界查找单词匹配,还是在单词中的任何位置查找匹配。 将此设置为 false 可能对英语以外的语言有益,但可能会显着减慢 Zotero 的搜索功能。\"]},\"541\":{\"h\":\"Report\",\"t\":[\"这些选项允许您自定义您的 report 显示行为。\",\"设置名称\",\"默认值\",\"描述\",\"report.includeAllChildItems\",\"true\",\"默认情况下,仅选择报告的父项会导致这些项的子注释和附件也包含在内。 如果 includeAllChildItems 设置为 false,则仅包含您选择的项目。 无论此设置如何,选择父项和子项的组合都将导致仅显示选定的项。\",\"report.combineChildItems\",\"true\",\"默认情况下,Zotero 将报告中的子注释和附件分组在其父项下。 将此切换为 false 将导致注释与其父项分开显示。 这对于有兴趣将 Zotero 的笔记功能用作大纲工具的人很有帮助。\"]},\"542\":{\"h\":\"引文快速复制设置\",\"t\":[\"设置名称\",\"默认值\",\"描述\",\"export.quickCopy.compatibility.indentBlockquotes\",\"true\",\"Word 和 TextEdit 不会自行缩进块引用,需要启用此功能。 在 LibreOffice 中产生额外的缩进,可以正确处理块引用。\",\"export.quickCopy.compatibility.Word\",\"false\",\"将 Word Normal 样式添加到段落并启用双倍行距。 LibreOffice 将条件样式代码作为文档注释插入。\",\"quickCopy.quoteBlockquotes.plainText\",\"true\",\"在纯文本输出中的块引用段落周围添加引号\",\"quickCopy.quoteBlockquotes.richText\",\"true\",\"在富文本输出中为块引用段落添加引号\"]},\"543\":{\"h\":\"Word 插件\",\"t\":[\"设置名称\",\"默认值\",\"描述\",\"integration.keepAddCitationDialogRaised\",\"false\",\"如果将其切换为 true,则可以将 Zotero Word 插件界面用于添加引文始终位于最前面。 并防止它隐藏在您正在使用的 Word 窗口后面。\"]},\"544\":{\"h\":\"Zotero 连接器 Connector\",\"t\":[\"要查看 Zotero 连接器的隐藏设置,请打开连接器的首选项(通过右键单击保存按钮并在 Chrome 和 Firefox 中选择首选项/选项,或在 Safari 中长按保存按钮)。 然后,单击“高级”,然后单击“配置编辑器”。\"]},\"545\":{\"h\":\"转换器设置\",\"t\":[\"Zotero 连接器支持一些通常适用于所有转换器或特定网站转换器的设置。 要使用这些设置,在 Zotero 连接器配置编辑器中,单击“添加设置”。 键入或粘贴首选项的名称,然后单击“确定”。 从下表中输入适当的首选项值(例如,true 或 1),然后再次单击“确定”。\",\"设置名称\",\"默认值\",\"描述\",\"应用于\",\"translators.attachSupplementary\",\"false\",\"转换器在导入项目时应尝试附加补充数据。\",\"All web translators implementing this behavior\",\"translators.supplementaryAsLink\",\"false\",\"补充数据附件应作为链接附加,而不是下载。 如果禁用 attachSupplementary,则此选项无效。 将此选项设置为“true”可以保持快速访问补充数据的便利性,但可以加快从 Web 保存项目的速度。\",\"All web translators implementing this behavior\",\"translators.ACS.highResPDF\",\"0\",\"确定附加的全文 PDF 版本: 0 - 带链接的 PDF; 1 - 高分辨率 PDF; 2 - 两者\",\"ACS Publications\",\"注意:补充数据首选项仅适用于转换器支持此行为的网站。 如果您遇到没有导入补充数据的站点,请在 Zotero 论坛上报告: Zotero forums。\"]},\"546\":{\"h\":\"通过 VBA 在 WPS 中使用 Word 插件\"},\"547\":{\"h\":\"前言(很重要哦!)\",\"t\":[\"相关信息\",\"Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝\",\"🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击Refresh和Unlink Citations按钮,检查是否正常使用!!!(无法正常使用请见本文档 四、Refresh/Unlink Citations 莫名失效)\",\"注意\",\"以下是 WPS 的 Zotero Word 加载项的常见问题及解决方法,均以 Window 系统为例演示 📝:\"]},\"548\":{\"h\":\"一、没有显示 Zotero 加载项\",\"t\":[\"image.png\",\"相关信息\",\"如上图所示,WPS 的文档界面不显示 Zotero 加载项。解决办法如下:\"]},\"549\":{\"h\":\"1、检查 Microsoft Word 加载项\",\"t\":[\"检查 Zotero 是否已正常安装好Microsoft Word 加载项。安装此加载项的步骤,详见 Zotero 百科全书的 (点击左侧蓝字自查)\",\"重新安装 Word 插件\"]},\"550\":{\"h\":\"2、WPS.VBA 插件的安装\",\"t\":[\"若 WPS 为个人版,需额外安装 VBA 插件(点击左侧蓝字获取插件)\",\"注意\",\"WPS 专业版等版本一般已自带 VBA 宏功能,Zotero 加载项如有使用问题,也可选择安装 VBA 插件。\",\"1)将 WPS.VBA 安装程序下载并保存到电脑,确保 WPS 程序是 未运行状态。\",\"image.png\",\"2)双击打开 WPS. VBA 安装程序,依次单击【Next】,最后单击【Finish】。用 WPS 打开任意一个 Word 文档,检查是否正常显示 Zotero 加载项。\",\"image.png\",\"注意\",\"若 WPS. VBA 安装后,仍未显示 Zotero 加载项,或需将【宏安全性】设成低(但不建议)。除此外可见下方3、补充 Zotero. dotm 文件\"]},\"551\":{\"h\":\"3、补充 Zotero.dotm 文件\",\"t\":[\"1)在 Zotero 图标处右键单击,单击【打开文件所在的位置】打开 Zotero 安装路径\",\"image.png\",\"2)依次双击打开【extensions】-【zoteroWinWordIntegration@zotero.org】-【install】文件夹,复制 Zotero.dotm 文件。\",\"image.png\",\"image.png\",\"注意\",\"如果上图文件夹位置没有 Zotero.dotm,可点击右侧蓝字获取 Zotero.dotm\",\"3)在 WPS 图标处右键单击,单击【打开文件所在的位置】打开 WPS 安装路径。\",\"image.png\",\"注意\",\"以上前提是确保 WPS 已关闭,不在运行中!!!\",\"4)找到并打开版本最新的文件夹(即数字最大),再依次打开【office6】-【startup】\",\"image.png\",\"image.png\",\"5)在 WPS 的【startup】启动项文件夹内,粘贴 Zotero.dotm 文件。再次用 WPS 打开任一 Word 文档,检查 WPS 是否已显示 Zotero 加载项。\",\"image.png\"]},\"552\":{\"h\":\"二、Zotero 加载项出现弹窗报错\",\"t\":[\"image.png\",\"相关信息\",\"如上图所示,在 WPS 使用 Zotero 加载项的各个按钮时,会出现弹窗警告。解决方法如下:\"]},\"553\":{\"h\":\"1、解决方法一\",\"t\":[\"新建一个 Word 文档,先用 Office打开此文档,用 Zotero 加载项 插入一篇文献后,保存此文档即可。\",\"image.png\",\"注意\",\"设置较简单,仅适用于同时安装 Office 和 WPS。以后再使用时,可能还会报错。\",\"如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部\",\"解决方法:将光标定位在远离上述位置如正文文字处\"]},\"554\":{\"h\":\"2、解决方法二\",\"t\":[\"1)单击【开发者工具】-【加载项】,弹出的对话框单击【选用】。\",\"image.png\",\"注意\",\"设置较复杂,适用于 同时装有 Office 和 WPS或 只装有 WPS\",\"注意\",\"若【开发工具】选项卡的内容为灰色,即无法点击操作。\",\"解决方法:安装 WPS. VBA 插件(详见本文档 WPS. VBA 插件的安装)\",\"或需升级更新 WPS 版本,以及可能需要安装使用 WPS 专业版等版本。\",\"2)弹出对话框,双击进入上方地址栏并复制地址,或地址栏处右键单击,再单击【将地址复制为文本】。复制好地址后,即可关闭当前窗口。\",\"image.png\",\"3)单击【文件】选项卡,再单击【打开】。将 地址 粘贴至【文件名】,【文件类型】选择 所有文件,然后单击【打开】。\",\"image.png\",\"image.png\",\"4)选中 Normal.dotm 文件,单击【打开】,随之打开名为 Normal.dotm 文档。\",\"image.png\",\"5)在 Normal.dotm 文档内,依次单击【文件】-【文档加密】-【属性】\",\"image.png\",\"6)在 Normal.dotm 属性对话框,切换到【自定义】窗口,【名称】和【取值】分别输入 ZOTERO_PREF_1 和 1 ,点击【添加】。同理,再添加上 ZOTERO_PREF_2 和 1 ,最后点击【确定】。\",\"image.png\",\"这一步完成的效果如下:\",\"image.png\",\"7)左上角单击【保存】图标或快捷键 Ctrl+S 保存 Normal.dotm 文档。重新用 WPS 打开一个 Word 文档检查是否不再出现报错窗口。\",\"image.png\",\"注意\",\"如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部\",\"解决方法:将光标定位在远离上述位置如正文文字处\"]},\"555\":{\"h\":\"\",\"t\":[\"image.png\",\"相关信息\",\"如上图所示,Refresh和 Unlink Citations图标显示为问号,解决办法如下:\"]},\"556\":{\"h\":\"1、直接安装美化后的图标文件\",\"t\":[\"1)我已创建 5 种 Refresh 和 Unlink Citations 图标(任选其一),可直接安装使用。点击上方蓝字即可获取,首先将其下载并保存到电脑(如下图所示)。\",\"image.png\",\"注意\",\"只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标。\",\"下方是 5 个已编辑好的 Refresh和 Unlink Citations图标的图片展示。\",\"image.png\",\"2)将上述任一 Zotero文件,粘贴至 WPS 的启动项文件夹内(详见本文档的 补充 Zotero.dotm 文件)\",\"3)用 WPS 打开任一 Word 文档,但是会显示有 2 个 Zotero 加载项。\",\"image.png\",\"注意\",\"因为没更换 Zotero 安装路径的 Zotero.dotm,且 Office Word 的启动项文件夹未放置 Zotero.dotm。\",\"相关信息\",\"这样做的考虑是:保持 Office Word 的 Refresh 和 Unlink Citations 图标不变动,同时保留原有的 Zotero. dotm,以备不时之需。当然也可自己按喜好设置更换。\"]},\"557\":{\"h\":\"只保留 1 个 Zotero 加载项\",\"t\":[\"1)依次单击【开发者工具】-【加载项】。 单击选中 Zotero.dotm,单击【禁用】。\",\"image.png\",\"2)Zotero.dotm 前面方框,此刻已更改成 取消勾选,点击【确定】即可。\",\"image.png\"]},\"558\":{\"h\":\"四、Refresh/Unlink Citations 莫名失效\",\"t\":[\"有时新建 Word 文档,用 WPS 打开后,无故出现点击 Refresh 和 Unlink Citations 功能失效(即无响应或莫名删掉引文 Citation)。\",\"解决方法:\",\"1)不要将光标置于插入引文 Citaion 和参考文献 References 的位置(即将光标定位在远离上述位置如正文文字处,再点击 Refresh 按钮)\",\"2)重启 WPS,或新建一个 Word 文档,再用 WPS 打开。或必要时重启电脑即可正常使用。\",\"🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击Refresh和Unlink Citations按钮,检查是否正常使用!!!\"]},\"559\":{\"h\":\"致谢\",\"t\":[\"相关信息\",\"👍 到这里,在 WPS 中使用 Zotero Word 加载项的使用已接近尾声。在此由衷地感谢来自 b 站、知乎、CSDN 等网站的大神们分享的有关 WPS 的 Zotero Word 加载项使用的宝贵经验!!!\"]},\"560\":{\"h\":\"插件\"},\"561\":{\"h\":\"Zotero SciHub\"},\"562\":{\"h\":\"插件介绍\",\"t\":[\"这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。\",\"一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条目下。\",\"同时对于您在安装此插件后添加的任何新论文,将会在后台从 SciHub 上自动下载对应的论文,并附加到 Zotero 中对应的条目下。\",\"Zotero SciHub 插件的 GitHub 地址: \",\"适配 Zotero 6:https://github.com/ethanwillis/zotero-scihub\",\"适配 Zotero 7:https://github.com/syt2/zotero-scipdf\",\"插件下载:Zotero 插件中文镜像\",\"Scihub 镜像地址:https://sci-hub.se/、https://sci-hub.st/、https://sci-hub.ru/、https://www.sci-hub.ren/\"]},\"563\":{\"h\":\"插件使用方法\"},\"564\":{\"h\":\"插件设置\",\"t\":[\"插件设置\",\"Automatic PDF Download:勾选后,在添加条目以后会自动为带有 DOI 的条目下载 Pdf 格式的论文。\",\"Scihub URL:这里可自定义 Scihub 镜像的网站的地址。\"]},\"565\":{\"h\":\"常见问题\",\"t\":[\"部分用户在使用过程中经常会碰到以下弹窗错误:\",\"这种情况通常是访问次数过多以后,Sichub 服务器识别到了机器人抓取从而出现了验证码验证,您需要登陆 Scihub 输入出现的验证码信息。\",\"建议在知网抓取文献的时候,建议关闭插件中的 Automatic PDF Download。部分中文文献带有 DOI 字段,在抓取这部分中文文献时,插件会访问 Scihub 进行下载,但由于 Scihub 网站基本上没有收录中文文献,所以插件也不会下载到 Pdf 文件。对 Scihub 网站过于频繁的访问会触发网站的验证机制。\",\"注意\",\"请勿在任何网站上使用批量抓取,严重时可能会使您的 IP 地址遭到封禁。\"]},\"566\":{\"h\":\"不使用插件的原始方法\",\"t\":[\"提示\",\"这种方法在修改 Scihub 地址时较为繁琐,但优点是不会遇到 Scihub 验证码弹窗。\",\"当被 Scihub 拒绝时,两种方法都无法抓取文献。\",\"谨慎使用此方法\",\"此方法涉及修改隐藏首选项,请谨慎使用。\"]},\"567\":{\"h\":\"操作步骤\",\"t\":[\"在 Zotero 依次点击编辑-首选项-高级-常规-高级设置-编辑器\",\"编辑器\",\"弹出如下图所示的对话框。 点击I accept the risk\",\"同意承担风险\",\"在搜索框中输入 extensions.zotero.findPDFs.resolvers,双击搜索到的 extensions.zotero.findPDFs.resolvers\",\"同意承担风险\",\"将下列代码粘贴进去直接替换原有内容\",\"[ { \\\"name\\\": \\\"Sci-Hub\\\", \\\"method\\\": \\\"GET\\\", \\\"url\\\": \\\"https://sci-hub.se/{doi}\\\", \\\"mode\\\": \\\"html\\\", \\\"selector\\\": \\\"#pdf\\\", \\\"attribute\\\": \\\"src\\\", \\\"automatic\\\": true } ] \",\"其中\\\"url\\\":\\\"https://sci-hub.se/{doi}\\\", 可以替换为其他的 Sci-Hub 镜像地址。 如果想要从多个 Sci-Hub 地址抓取,按照如下格式添加\",\"[ { \\\"name\\\": \\\"Sci-Hub\\\", \\\"method\\\": \\\"GET\\\", \\\"url\\\": \\\"https://sci-hub.se/{doi}\\\", \\\"mode\\\": \\\"html\\\", \\\"selector\\\": \\\"#pdf\\\", \\\"attribute\\\": \\\"src\\\", \\\"automatic\\\": true }, { \\\"name\\\": \\\"Sci-Hub\\\", \\\"method\\\": \\\"GET\\\", \\\"url\\\": \\\"https://sci-hub.ru/{doi}\\\", \\\"mode\\\": \\\"html\\\", \\\"selector\\\": \\\"#pdf\\\", \\\"attribute\\\": \\\"src\\\", \\\"automatic\\\": true } ] \",\"添加上述配置后\",\"对于新增的项目,Zotero 会自动增加 Sci-Hub 的源抓取 PDF。\",\"对于已存在的但缺失 PDF 的项目,可以右键点击查找可用PDF选项尝试重新抓取。\"]},\"568\":{\"h\":\"关于 Zotero 插件\"},\"569\":{\"h\":\"什么是插件?插件可以做什么?\",\"t\":[\"谈到 Zotero 插件,可能指的有三种东西:\",\"安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。\",\"(不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter,用于从网页上抓取文献元数据并存到 Zotero 里。\",\"(不是 Zotero 插件,是 Word 加载项)在 Microsoft Word 中的,正确称呼是 Word 加载项,用来插入引用和参考文献信息。\"]},\"570\":{\"h\":\"获取插件\",\"t\":[\"官方插件收录链接:https://www.zotero.org/support/plugins\",\"国内镜像:https://plugins.zotero-chinese.com/#/\",\"火狐浏览器用户请选择另存为\",\"插件的后缀名为 .xpi , 如果下载到后缀为 .xpi 的文件,不要解压,解压后会导致插件无法安装。\",\".xpi 也是火狐浏览器的插件后缀,因此火狐浏览器无法直接通过点击链接进行下载,需要右击链接,选择另存为,才可将插件保存至本地。\",\"Zotero 6 与 Zotero 7 的插件互不兼容\",\"Zotero 6(正式版)和 Zotero 7(测试版)的插件互不兼容,请在下载插件安装包时下载与你 Zotero 版本适配的版本。中文插件商店中有注明兼容的目标 Zotero 版本,下载时请务必注意。\",\"Zotero 7 目前仍为测试版,使用中可能会遇到一些新问题,相关的解决方案也仍不够完善。对于绝大多数一般用户,建议继续使用 Zotero 6 正式版,并跟随正式版的更新节奏升级。\"]},\"571\":{\"h\":\"安装插件\",\"t\":[\"依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on),然后将下载的 xpi 文件拖入插件窗口,即可完成安装。\",\"或者点击右上角的齿轮 => Install Add-on From File... => 选择刚刚下载的 xpi 文件,即可安装成功。\",\"安装插件\",\"提示\",\"对于部分老版本的插件,可能需要点击 Restart now 或者手动重启 Zotero 才可生效。\",\"无法安装插件\\\"%S\\\"。它可能无法与该版本的 Zotero 兼容\",\"插件安装失败\",\"一些同学在安装插件的时候发现插件安装失败,Zotero 提醒不兼容。这种情况是由于下载的插件版本与插件所支持 Zotero 的版本不一致所导致的。\",\"首先需要确定自己 Zotero 的版本,依次点击 帮助 => 关于 Zotero,即可看到自己 Zotero 的版本(如图则是 Zotero 6)\",\"确定自己的版本号\",\"在国内镜像下载插件时,查看页面中目标 Zotero 版本找到适合自己的插件版本,点击后面的下载链接就可以下载到适合自己的插件。\",\"目标 Zotero 版本\"]},\"572\":{\"h\":\"更新插件\",\"t\":[\"升级插件\",\"依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on) => 右上角的齿轮 => Check for Updates 后 Zotero 会对插件的版本进行检查,并自动对插件进行更新。\",\"提示\",\"由于大部分插件的更新页面在 GitHub,国内部分地区可能无法直接访问,从而无法通过以上方式实现对插件的更新。如果无法直接访问插件的更新,可在此处下载最新版:https://plugins.zotero-chinese.com/#/\",\"下载后,无需卸载原插件,按照安装插件的流程直接覆盖安装即可实现对插件的更新。\"]},\"573\":{\"h\":\"Better Notes\",\"t\":[\"提示\",\"深度适配 Zotero 阅读器的笔记插件。\",\"项目主页:https://github.com/windingwind/zotero-better-notes\",\"下载地址: \",\"GitHub Release\",\"国内镜像\",\"Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔记插件。它完全开源、免费,支持双链笔记,支持 Markdown 与标记语言,深度集成了文献管理与阅读功能。\",\"从 Better Notes 首页 开始了解 Better Notes!\"]},\"574\":{\"h\":\"Easier Citation for Zotero\",\"t\":[\"Todo\"]},\"575\":{\"h\":\"茉莉花\",\"t\":[\"比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。 该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:\",\"拆分或合并 Zotero 中条目作者姓和名\",\"根据知网上下载的文献文件来抓取引用信息(就是根据文件名)\",\"添加中文 PDF/CAJ 时,自动拉取知网数据,该功能默认关闭。需要到设置中开启,注意添加的文件名需要含有中文,全英文没有效果(还是根据文件名)\",\"为知网的学位论文 PDF 添加书签\",\"更新中文 translators\",\"拉取文献引用次数,是否核心期刊\"]},\"576\":{\"h\":\"安装茉莉花\"},\"577\":{\"h\":\"01. 下载安装 Jasminum 插件\",\"t\":[\"在 Latest Release · l0o0/jasminum (GitHub.com) 下载 .xpi 文件,插件安装见 。\"]},\"578\":{\"h\":\"02. 配置 PDFtk\"},\"579\":{\"h\":\"2.1 下载与安装 PDFtk\",\"t\":[\"Windows 下载并安装 PDFtk server ,记录安装路径(eg. C: \\\\Program Files (x86)\\\\PDFtk)。macOS MAC 用户参考 这里 。\"]},\"580\":{\"h\":\"2.2 在茉莉花中配置 PDFtk 路径\",\"t\":[\"在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 /bin (eg. C: \\\\Program Files (x86)\\\\PDFtk\\\\bin)(即 PDFtk 可执行文件所在目录)。\"]},\"581\":{\"h\":\"03. 安装中文 Translator\",\"t\":[\"与上一步同一界面——Unofficial Translator Repository——Refresh——Update all。\"]},\"582\":{\"h\":\"04. 更新中文 Translator\",\"t\":[\"打开已安装 Zotero Connector 的浏览器,右击 Zotero Connector 图标进入拓展选项,Advanced——Update Translators。\",\"如果你打开了日志,则会看到绿色标出的提示。\"]},\"583\":{\"h\":\"Linter for Zotero\",\"t\":[\"Todo\"]},\"584\":{\"h\":\"Magic for Zotero\",\"t\":[\"Todo\",\"见:https://wiki.magiczotero.top/\"]},\"585\":{\"h\":\"Style for Zotero\",\"t\":[\"Todo\"]},\"586\":{\"h\":\"Translate for Zotero\",\"t\":[\"提示\",\"深度适配 Zotero 阅读器的翻译插件。\",\"项目主页:https://github.com/windingwind/zotero-pdf-translate\",\"下载地址: \",\"GitHub Release\",\"Zotero 中文社区插件商店\",\"Zotero PDF Translate 是由 @windingwind 开发的,用于文献管理软件 Zotero 的翻译插件。它完全开源、免费,主要功能有:\",\"划词翻译(自动/手动)\",\"标题、摘要翻译与源文本/翻译结果显示切换\",\"批注翻译(自动/手动)\",\"支持 15+种翻译服务与 4+种字典服务\",\"自定义翻译侧栏 UI,支持同时使用多种翻译引擎\",\"插件深度集成了 Zotero 文献阅读功能。\"]},\"587\":{\"h\":\"\",\"t\":[\"404 Not Found\"]},\"588\":{\"h\":\"Contributing\"},\"589\":{\"h\":\"Development\"}},\"dirtCount\":0,\"index\":[[\"划词翻译\",{\"1\":{\"586\":1}}],[\"拉取文献引用次数\",{\"1\":{\"575\":1}}],[\"拉丁\",{\"1\":{\"152\":2}}],[\"拆分或合并\",{\"1\":{\"575\":1}}],[\"极大的提高其中文文献抓取能力\",{\"1\":{\"575\":1}}],[\"深度集成了文献管理与阅读功能\",{\"1\":{\"573\":1}}],[\"深度适配\",{\"1\":{\"573\":1,\"586\":1}}],[\"升级插件\",{\"1\":{\"572\":1}}],[\"升级该加载项\",{\"1\":{\"517\":1}}],[\"谈到\",{\"1\":{\"569\":1}}],[\"谨慎使用此方法\",{\"1\":{\"566\":1}}],[\"拒绝时\",{\"1\":{\"566\":1}}],[\"验证码弹窗\",{\"1\":{\"566\":1}}],[\"验证服务器后显示verified\",{\"1\":{\"314\":1}}],[\"适配\",{\"1\":{\"562\":2}}],[\"适用于所有群组\",{\"1\":{\"298\":1}}],[\"适用于\",{\"1\":{\"296\":1,\"297\":1,\"554\":1}}],[\"适用范围\",{\"0\":{\"5\":1}}],[\"致谢\",{\"0\":{\"559\":1}}],[\"功能失效\",{\"1\":{\"558\":1}}],[\"专业版等版本\",{\"1\":{\"554\":1}}],[\"专业版等版本一般已自带\",{\"1\":{\"550\":1}}],[\"专题或入门教程\",{\"1\":{\"30\":1}}],[\"需额外安装\",{\"1\":{\"550\":1}}],[\"需要到设置中开启\",{\"1\":{\"575\":1}}],[\"需要右击链接\",{\"1\":{\"570\":1}}],[\"需要启用此功能\",{\"1\":{\"542\":1}}],[\"需要将其修改为\",{\"1\":{\"487\":1}}],[\"需要将结果\",{\"1\":{\"417\":1}}],[\"需要从左到右比较版本字符串号\",{\"1\":{\"445\":1}}],[\"需要手动将\",{\"1\":{\"409\":1}}],[\"需要提前安装好\",{\"1\":{\"408\":1}}],[\"需要升级到某些付费版本才行\",{\"1\":{\"407\":1}}],[\"需要\",{\"1\":{\"397\":1,\"414\":1}}],[\"需要添加对应的文件夹名字\",{\"1\":{\"385\":1}}],[\"需要使用\",{\"1\":{\"317\":1}}],[\"需要使用官方同步或\",{\"1\":{\"309\":1}}],[\"需要等管理员或者群主通过申请才可以加入\",{\"1\":{\"296\":1}}],[\"需要国外\",{\"1\":{\"294\":1}}],[\"需要保证自己的网络足够科学\",{\"1\":{\"289\":1}}],[\"需要在增删引用项目后手动点\",{\"1\":{\"510\":1}}],[\"需要在\",{\"1\":{\"266\":1,\"514\":1}}],[\"需要完整的匹配\",{\"1\":{\"169\":1}}],[\"需要一个稳定\",{\"1\":{\"120\":1}}],[\"需要先定义一种引用格式\",{\"1\":{\"86\":1}}],[\"均以\",{\"1\":{\"547\":1}}],[\"莫名失效\",{\"0\":{\"558\":1},\"1\":{\"547\":1}}],[\"四\",{\"0\":{\"558\":1},\"1\":{\"547\":1}}],[\"四级标题\",{\"1\":{\"41\":1}}],[\"^d\",{\"1\":{\"532\":1}}],[\"^1\",{\"1\":{\"61\":2}}],[\"虽有一些缺陷\",{\"1\":{\"531\":1}}],[\"虽然每个月只有\",{\"1\":{\"384\":1}}],[\"虽然您通常不应该手动添加条目\",{\"1\":{\"372\":1}}],[\"虽然这将保存基本元数据\",{\"1\":{\"369\":1}}],[\"虽然也可以在此窗口中编辑书目参考文献的文本或格式\",{\"1\":{\"333\":1}}],[\"虽然同步是确保您可以在计算机发生问题时恢复库的好方法\",{\"1\":{\"246\":1}}],[\"虽然它们大多数都是自成一体的\",{\"1\":{\"107\":1}}],[\"虽然并不是一个实用的样式\",{\"1\":{\"93\":1}}],[\"虽然可以通过在\",{\"1\":{\"92\":1}}],[\"虽然许多参考文献管理软件都有它们自己存储条目元数据的方式\",{\"1\":{\"88\":1}}],[\"建立引注\",{\"1\":{\"531\":1}}],[\"建议继续使用\",{\"1\":{\"570\":1}}],[\"建议关闭插件中的\",{\"1\":{\"565\":1}}],[\"建议关闭自动更新引用\",{\"1\":{\"510\":1}}],[\"建议在知网抓取文献的时候\",{\"1\":{\"565\":1}}],[\"建议在国内使用\",{\"1\":{\"307\":1}}],[\"建议取消勾选\",{\"1\":{\"506\":1}}],[\"建议文件夹用英文或数字命名\",{\"1\":{\"385\":1}}],[\"建议从\",{\"1\":{\"383\":1}}],[\"建议从其发刊日时添加订阅\",{\"1\":{\"289\":1}}],[\"建议重启电脑后再尝试\",{\"1\":{\"517\":1}}],[\"建议重启\",{\"1\":{\"317\":1}}],[\"建议使用\",{\"1\":{\"294\":1,\"389\":2,\"398\":1}}],[\"建议分多次进行\",{\"1\":{\"241\":1}}],[\"建议你去网页上检索这篇文献并抓取文献信息\",{\"1\":{\"241\":1}}],[\"建议人工核对后再使用\",{\"1\":{\"239\":1}}],[\"建议您在添加后检查每一个条目的元数据\",{\"1\":{\"239\":1}}],[\"建议回到期刊官网的论文详情页抓取信息并创建条目\",{\"1\":{\"239\":1}}],[\"建议当作字典使用\",{\"1\":{\"223\":1}}],[\"解决方法二\",{\"0\":{\"554\":1}}],[\"解决方法\",{\"1\":{\"553\":1,\"554\":2,\"558\":1}}],[\"解决方法一\",{\"0\":{\"553\":1}}],[\"解决方法如下\",{\"1\":{\"552\":1}}],[\"解决办法如下\",{\"1\":{\"548\":1,\"555\":1}}],[\"解决这个问题\",{\"1\":{\"529\":1}}],[\"解压后会导致插件无法安装\",{\"1\":{\"570\":1}}],[\"解压后的文件列表\",{\"1\":{\"410\":1}}],[\"解压缩后即可使用\",{\"1\":{\"419\":1}}],[\"黑色遮挡\",{\"1\":{\"529\":1}}],[\"打不开怎么办\",{\"0\":{\"528\":1}}],[\"打开已安装\",{\"1\":{\"582\":1}}],[\"打开后\",{\"1\":{\"558\":1}}],[\"打开一个\",{\"1\":{\"554\":1}}],[\"打开任一\",{\"1\":{\"551\":1,\"556\":1}}],[\"打开任意一个\",{\"1\":{\"550\":1}}],[\"打开文件所在的位置\",{\"1\":{\"551\":2}}],[\"打开文献\",{\"0\":{\"390\":1}}],[\"打开撰写论文等情况时\",{\"1\":{\"547\":1,\"558\":1}}],[\"打开从zotero\",{\"1\":{\"528\":1}}],[\"打开复制的文件\",{\"1\":{\"519\":1}}],[\"打开数据文件夹\",{\"1\":{\"507\":1}}],[\"打开界面\",{\"1\":{\"417\":1}}],[\"打开常用的浏览器\",{\"1\":{\"307\":1}}],[\"打开访达\",{\"1\":{\"302\":1}}],[\"打开你想关注的\",{\"1\":{\"288\":1}}],[\"打开之后如下图示\",{\"1\":{\"286\":1}}],[\"打开论文的详情页\",{\"1\":{\"243\":1}}],[\"打开需要修改的文档网页\",{\"1\":{\"33\":1}}],[\"打开\",{\"1\":{\"22\":1,\"63\":1,\"255\":1,\"263\":1,\"265\":1,\"286\":1,\"287\":1,\"301\":2,\"302\":2,\"319\":1,\"385\":1,\"413\":1,\"419\":2,\"506\":2,\"507\":2,\"517\":1,\"551\":2,\"554\":3,\"558\":1}}],[\"打开终端\",{\"1\":{\"21\":1}}],[\"老师也制作了非常多的关于\",{\"1\":{\"527\":1}}],[\"化工1区\",{\"1\":{\"522\":2}}],[\"化学\",{\"1\":{\"189\":1}}],[\"能源与燃料2区\",{\"1\":{\"522\":2}}],[\"能够顺利下载到插件更新\",{\"1\":{\"504\":1}}],[\"能够自动识别并填充标题即可成功订阅\",{\"1\":{\"289\":1}}],[\"能够匹配数字\",{\"1\":{\"136\":1}}],[\"q1\",{\"1\":{\"522\":4}}],[\"queued\",{\"1\":{\"479\":1}}],[\"queues\",{\"1\":{\"479\":1}}],[\"queue\",{\"1\":{\"478\":2,\"479\":2}}],[\"queuing\",{\"1\":{\"478\":1}}],[\"queryselectorall\",{\"1\":{\"469\":1}}],[\"queryselector\",{\"1\":{\"462\":1}}],[\"quickcopy\",{\"1\":{\"542\":4}}],[\"quicker\",{\"1\":{\"513\":2}}],[\"quick\",{\"1\":{\"304\":1,\"349\":1,\"397\":1}}],[\"quot\",{\"1\":{\"213\":3}}],[\"quotation\",{\"0\":{\"194\":1}}],[\"quoteblockquotes\",{\"1\":{\"542\":2}}],[\"quotes\",{\"0\":{\"184\":1},\"1\":{\"142\":1,\"175\":1,\"184\":1,\"538\":2}}],[\"quote\",{\"1\":{\"139\":1,\"175\":2,\"184\":1,\"194\":4}}],[\"quote=\",{\"1\":{\"133\":1}}],[\"留下的域代码结构\",{\"1\":{\"522\":1}}],[\"域代码则会变为\",{\"1\":{\"522\":1}}],[\"域代码块的声明\",{\"1\":{\"522\":1}}],[\"域代码相关问题\",{\"0\":{\"520\":1}}],[\"域代码且断开与\",{\"1\":{\"509\":1}}],[\"恢复对引文的更新\",{\"0\":{\"522\":1}}],[\"恢复已删除的部分\",{\"1\":{\"519\":1}}],[\"恢复备份\",{\"0\":{\"258\":1},\"1\":{\"258\":1}}],[\"撤消\",{\"1\":{\"519\":1}}],[\"隔离有问题的引用\",{\"1\":{\"519\":1}}],[\"隔开\",{\"1\":{\"212\":1}}],[\"制作文档的副本\",{\"1\":{\"519\":1}}],[\"制作的插件\",{\"1\":{\"407\":1}}],[\"制作的文档\",{\"1\":{\"103\":1}}],[\"尝试将文档内容复制并粘贴到新文档中\",{\"1\":{\"519\":1}}],[\"排除故障时\",{\"1\":{\"519\":1}}],[\"排除文字处理器文档中的错误\",{\"1\":{\"519\":1}}],[\"排序宏\",{\"0\":{\"178\":1}}],[\"排序过程中\",{\"1\":{\"177\":1}}],[\"排序变量\",{\"0\":{\"177\":1}}],[\"排序的键值是按顺序求值的\",{\"1\":{\"176\":1}}],[\"排序的顺序可以通过设置\",{\"1\":{\"176\":1}}],[\"排序\",{\"0\":{\"176\":1},\"1\":{\"129\":1,\"173\":5}}],[\"报错\",{\"0\":{\"518\":1}}],[\"报告\",{\"1\":{\"198\":1}}],[\"却发现\",{\"1\":{\"528\":1}}],[\"却发现有的正文角标里的内容多了点东西\",{\"1\":{\"516\":1}}],[\"却发现窗口顶部捅破了天际\",{\"1\":{\"501\":1}}],[\"足以满足几乎所有人的需求\",{\"1\":{\"514\":1}}],[\"足够智能\",{\"1\":{\"97\":1}}],[\"利用合适的\",{\"1\":{\"514\":1}}],[\"利用标签快速筛选文献\",{\"0\":{\"346\":1}}],[\"幸运地是\",{\"1\":{\"514\":1}}],[\"幸运的是\",{\"1\":{\"87\":1,\"268\":1}}],[\"动作可以也可以方便的实现同样的效果\",{\"1\":{\"513\":1}}],[\"动物学\",{\"1\":{\"189\":1}}],[\"补充\",{\"0\":{\"551\":1},\"1\":{\"550\":1,\"556\":1}}],[\"补充数据首选项仅适用于转换器支持此行为的网站\",{\"1\":{\"545\":1}}],[\"补充数据附件应作为链接附加\",{\"1\":{\"545\":1}}],[\"补充引用\",{\"1\":{\"510\":1}}],[\"补齐\",{\"1\":{\"144\":1}}],[\"过程中避免与\",{\"1\":{\"519\":1}}],[\"过程中\",{\"1\":{\"510\":1}}],[\"共享的副本断开连接\",{\"1\":{\"509\":1}}],[\"共享组库使在线和通过\",{\"1\":{\"381\":1}}],[\"十\",{\"1\":{\"506\":3,\"507\":3}}],[\"立即更新\",{\"1\":{\"506\":1}}],[\"立即刷新所有引注和参考文献表\",{\"1\":{\"319\":1}}],[\"摘要翻译与源文本\",{\"1\":{\"586\":1}}],[\"摘要翻译\",{\"1\":{\"505\":1}}],[\"弹出对话框\",{\"1\":{\"554\":1}}],[\"弹出的对话框单击\",{\"1\":{\"554\":1}}],[\"弹出如下图所示的对话框\",{\"1\":{\"497\":1,\"529\":1,\"567\":1}}],[\"弹出通知\",{\"0\":{\"473\":1}}],[\"二\",{\"0\":{\"497\":1,\"552\":1}}],[\"二级分类\",{\"1\":{\"337\":1}}],[\"二级方言\",{\"1\":{\"132\":1}}],[\"二级标题内应跟随三级标题\",{\"1\":{\"41\":1}}],[\"二级标题\",{\"1\":{\"41\":1}}],[\"初步判断这是由于系统更新出现的问题\",{\"1\":{\"495\":1}}],[\"初级方言\",{\"1\":{\"132\":1}}],[\"初级\",{\"1\":{\"44\":2,\"223\":1}}],[\"近期许多同学在添加引文格式的时候\",{\"1\":{\"528\":1}}],[\"近期许多同学在系统更新后发现\",{\"1\":{\"495\":1}}],[\"近似日期\",{\"1\":{\"148\":2,\"159\":1}}],[\"涵盖了插件中常用的大部分\",{\"1\":{\"494\":1}}],[\"函数式编程的可扩展框架\",{\"1\":{\"494\":1}}],[\"辅助函数\",{\"0\":{\"489\":1}}],[\"增删此处引用的文献\",{\"1\":{\"510\":1}}],[\"增删改查设置项\",{\"0\":{\"485\":1}}],[\"增加示例\",{\"1\":{\"30\":1}}],[\"绑定首选项\",{\"0\":{\"484\":1}}],[\"片段不能有\",{\"1\":{\"483\":1}}],[\"片段的文件\",{\"1\":{\"483\":1}}],[\"窗格的\",{\"1\":{\"483\":1}}],[\"窗口后面\",{\"1\":{\"543\":1}}],[\"窗口钩子传递一个参数\",{\"1\":{\"428\":1}}],[\"窗口钩子\",{\"0\":{\"428\":1}}],[\"窗口以让用户选择一个样式文件\",{\"1\":{\"321\":1}}],[\"窗口允许您设置以下针对该文档的设置\",{\"1\":{\"320\":1}}],[\"窗口\",{\"1\":{\"319\":1,\"333\":1,\"359\":1,\"554\":1}}],[\"窗口界面选择\",{\"1\":{\"301\":1}}],[\"现在将有一个名为update\",{\"1\":{\"562\":1}}],[\"现在包含一个用于注册首选项窗格的内置接口\",{\"1\":{\"483\":1}}],[\"现在已经不需要了\",{\"1\":{\"414\":1}}],[\"现在已经有超过\",{\"1\":{\"64\":1}}],[\"队列触发\",{\"0\":{\"479\":1}}],[\"事件驱动\",{\"1\":{\"494\":1}}],[\"事件设置回调\",{\"1\":{\"475\":1}}],[\"事件\",{\"0\":{\"477\":1},\"1\":{\"474\":2}}],[\"事件是\",{\"1\":{\"474\":1}}],[\"事件机制\",{\"0\":{\"474\":1}}],[\"事实上\",{\"1\":{\"87\":1}}],[\"毫秒\",{\"1\":{\"473\":1}}],[\"隐藏首选项都以\",{\"1\":{\"535\":1}}],[\"隐藏\",{\"1\":{\"469\":1}}],[\"隐含的条件\",{\"1\":{\"158\":1}}],[\"记录安装路径\",{\"1\":{\"579\":1}}],[\"记录了\",{\"1\":{\"465\":1}}],[\"记录下生成的密码\",{\"1\":{\"385\":1}}],[\"索引为\",{\"1\":{\"465\":1}}],[\"案例\",{\"0\":{\"464\":1}}],[\"案例或法规等的所有内容\",{\"1\":{\"354\":1}}],[\"集合\",{\"1\":{\"459\":1}}],[\"集成\",{\"0\":{\"375\":1},\"1\":{\"494\":1}}],[\"意思为不对最大版本号做检查\",{\"1\":{\"450\":1}}],[\"意见征求稿\",{\"1\":{\"103\":1}}],[\"缺陷和注意事项\",{\"0\":{\"533\":1}}],[\"缺陷是在非主窗口内引入插件代码将较为复杂\",{\"1\":{\"429\":1}}],[\"缺少版本字符串元素相当于\",{\"1\":{\"445\":1}}],[\"强制\",{\"1\":{\"441\":1,\"442\":1,\"443\":1,\"446\":1}}],[\"强制性\",{\"1\":{\"441\":1,\"442\":1,\"443\":1,\"446\":1,\"452\":1,\"453\":1,\"454\":1}}],[\"撰写单行注释的\",{\"1\":{\"438\":1}}],[\"获得\",{\"1\":{\"435\":1}}],[\"获取插件\",{\"0\":{\"570\":1}}],[\"获取帮助\",{\"1\":{\"519\":1}}],[\"获取选中的条目\",{\"1\":{\"458\":1}}],[\"获取当前选中的条目\",{\"1\":{\"433\":1}}],[\"获取条目\",{\"0\":{\"433\":1},\"1\":{\"433\":1}}],[\"获取引文信息\",{\"1\":{\"407\":1}}],[\"获取\",{\"0\":{\"282\":1,\"465\":1}}],[\"获取更多引文格式\",{\"1\":{\"263\":1}}],[\"获取更多样式\",{\"0\":{\"528\":1},\"1\":{\"263\":1,\"528\":2}}],[\"获取元数据成功\",{\"1\":{\"240\":1,\"241\":1}}],[\"获取元数据\",{\"1\":{\"240\":1}}],[\"样例代码为\",{\"1\":{\"472\":1}}],[\"样例\",{\"0\":{\"429\":1}}],[\"样式添加到段落并启用双倍行距\",{\"1\":{\"542\":1}}],[\"样式库下载其他样式\",{\"1\":{\"528\":1}}],[\"样式仍未变更\",{\"1\":{\"516\":1}}],[\"样式仍然是一个有效的样式\",{\"1\":{\"93\":1}}],[\"样式下载更多\",{\"1\":{\"264\":1}}],[\"样式将会生成英式英语的引文和参考文献目录\",{\"1\":{\"207\":1}}],[\"样式将更方便\",{\"1\":{\"92\":1}}],[\"样式可以是语言无关的\",{\"1\":{\"207\":1}}],[\"样式可以使用不同的元素来进行特定的配置\",{\"1\":{\"161\":1}}],[\"样式可能被分类到一个或者多个类别\",{\"1\":{\"119\":1}}],[\"样式文件通常要求将英文文献\",{\"1\":{\"516\":1}}],[\"样式文件后\",{\"1\":{\"514\":1}}],[\"样式文件更加的紧凑\",{\"1\":{\"207\":1}}],[\"样式文件中可以使用\",{\"1\":{\"207\":1}}],[\"样式文件中\",{\"1\":{\"207\":1,\"514\":1}}],[\"样式文件中的\",{\"1\":{\"132\":1}}],[\"样式文件内部\",{\"1\":{\"91\":1}}],[\"样式作者\",{\"1\":{\"116\":1}}],[\"样式名称\",{\"1\":{\"116\":1}}],[\"样式是有效的\",{\"1\":{\"105\":1}}],[\"样式和本地化文件详见\",{\"1\":{\"102\":1}}],[\"样式自动本地化\",{\"1\":{\"102\":1}}],[\"样式自身的链接\",{\"1\":{\"92\":1}}],[\"样式重写\",{\"1\":{\"99\":1}}],[\"样式快速转换为不同的语言\",{\"1\":{\"99\":1}}],[\"样式使用\",{\"1\":{\"98\":1}}],[\"样式使其满足你所选的语言\",{\"1\":{\"87\":1}}],[\"样式很少从头写起\",{\"1\":{\"96\":1}}],[\"样式结构\",{\"0\":{\"94\":1}}],[\"样式也可以选择性的重写任何在本地化文件中定义过的数据\",{\"1\":{\"87\":1}}],[\"样式的选择是在\",{\"1\":{\"514\":1}}],[\"样式的语言支持\",{\"1\":{\"207\":1}}],[\"样式的行为\",{\"0\":{\"160\":1}}],[\"样式的根元素是\",{\"1\":{\"112\":1}}],[\"样式的结构\",{\"0\":{\"111\":1}}],[\"样式的\",{\"1\":{\"92\":1,\"115\":1}}],[\"样式的标题\",{\"1\":{\"92\":1}}],[\"样式的区域设置为美式英语\",{\"1\":{\"87\":1}}],[\"样式的创建者等\",{\"1\":{\"86\":1}}],[\"样式以便使用\",{\"1\":{\"87\":1}}],[\"样式中的引用格式\",{\"1\":{\"86\":1}}],[\"样式都要包含对引用格式的完整定义\",{\"1\":{\"86\":1}}],[\"样式共享相同的引用格式时\",{\"1\":{\"86\":1}}],[\"样式对应的期刊标题\",{\"1\":{\"86\":1}}],[\"样式必须描述它本身\",{\"1\":{\"86\":1}}],[\"样式\",{\"0\":{\"72\":1,\"91\":1},\"1\":{\"72\":2,\"85\":1,\"86\":1,\"87\":1,\"90\":1,\"96\":2,\"116\":1,\"133\":1,\"207\":1,\"224\":1,\"264\":2,\"302\":1,\"374\":1,\"512\":1,\"528\":1}}],[\"执行以便新的主窗口包含您的更改\",{\"1\":{\"428\":1}}],[\"触发\",{\"0\":{\"477\":1},\"1\":{\"427\":2}}],[\"较为推荐的方式\",{\"1\":{\"422\":1}}],[\"侧边栏显示正在阅读文献的所有参考文献\",{\"1\":{\"465\":1}}],[\"侧边栏\",{\"1\":{\"428\":1}}],[\"侧边栏和路径导航中作为首选\",{\"1\":{\"39\":1}}],[\"侧载插件也有两种方式\",{\"1\":{\"420\":1}}],[\"侧载插件\",{\"0\":{\"420\":1}}],[\"合并后即可直接从菜单呼出开发者工具\",{\"1\":{\"419\":1}}],[\"合作\",{\"0\":{\"378\":1}}],[\"底层基于\",{\"1\":{\"419\":1}}],[\"截断\",{\"1\":{\"536\":1}}],[\"截断的名称列表\",{\"1\":{\"151\":1}}],[\"截至文档更新\",{\"1\":{\"469\":1}}],[\"截止至最后编辑日期\",{\"1\":{\"419\":1}}],[\"远程调试\",{\"1\":{\"419\":1}}],[\"远程调试需要\",{\"1\":{\"419\":1}}],[\"远程调试依赖\",{\"1\":{\"419\":1}}],[\"帮助\",{\"1\":{\"418\":1,\"571\":1}}],[\"让\",{\"1\":{\"415\":1}}],[\"让用户可以直接存储\",{\"1\":{\"384\":1}}],[\"删掉里面的\",{\"1\":{\"414\":1}}],[\"删除这部分引用\",{\"1\":{\"519\":1}}],[\"删除所有大写字母\",{\"1\":{\"536\":1}}],[\"删除所有\",{\"1\":{\"509\":1}}],[\"删除应由\",{\"1\":{\"427\":1}}],[\"删除此文献库中的自动标签\",{\"1\":{\"345\":1}}],[\"删除\",{\"1\":{\"345\":1}}],[\"删除标签\",{\"0\":{\"345\":1}}],[\"删除条目\",{\"0\":{\"342\":1}}],[\"删除其中的文献条目\",{\"1\":{\"340\":1}}],[\"删除分类\",{\"0\":{\"338\":1}}],[\"删除引用项目\",{\"1\":{\"332\":1}}],[\"删除域代码是不可逆的\",{\"1\":{\"319\":1,\"413\":1}}],[\"删除未读提要条目于之后\",{\"1\":{\"279\":1}}],[\"删除已读提要题目于之后\",{\"1\":{\"279\":1}}],[\"删除或移动任何这些文件之前\",{\"1\":{\"251\":1}}],[\"说明安装成功\",{\"1\":{\"409\":1}}],[\"说明\",{\"1\":{\"409\":1,\"423\":1}}],[\"说明文档\",{\"1\":{\"92\":1}}],[\"环境的安装\",{\"0\":{\"409\":1},\"1\":{\"408\":1}}],[\"环境\",{\"1\":{\"407\":1,\"414\":1}}],[\"环境配置\",{\"0\":{\"20\":1},\"1\":{\"23\":1}}],[\"借用\",{\"1\":{\"407\":1}}],[\"借助\",{\"1\":{\"375\":1}}],[\"尊享版\",{\"1\":{\"406\":1}}],[\"尊重不同的主张\",{\"1\":{\"3\":1}}],[\"系统为例演示\",{\"1\":{\"547\":1}}],[\"系统直接双击\",{\"1\":{\"411\":1}}],[\"系统内一般默认安装了\",{\"1\":{\"408\":1}}],[\"系统下使用\",{\"1\":{\"407\":1}}],[\"系统上的\",{\"1\":{\"407\":1}}],[\"系统则被拒之门外\",{\"1\":{\"405\":1}}],[\"系统\",{\"0\":{\"411\":1,\"412\":1},\"1\":{\"405\":1,\"407\":1,\"501\":1}}],[\"系统类型\",{\"1\":{\"250\":1,\"253\":1}}],[\"遇到问题时\",{\"1\":{\"402\":1}}],[\"兼具简单的操作方式与强大的功能\",{\"1\":{\"402\":1}}],[\"兼容\",{\"1\":{\"571\":1}}],[\"兼容版本等信息\",{\"1\":{\"438\":1}}],[\"兼容性等\",{\"1\":{\"428\":1}}],[\"兼容的\",{\"1\":{\"133\":1}}],[\"兼容样式\",{\"1\":{\"115\":1}}],[\"拥有多个分级目录与标签管理\",{\"1\":{\"402\":1}}],[\"写作时方便快速的插入引文\",{\"1\":{\"402\":1}}],[\"写论文引用前最好校正一下\",{\"1\":{\"271\":1}}],[\"清晰明了的分层管理及标签分类\",{\"1\":{\"402\":1}}],[\"展开可看到\",{\"1\":{\"396\":1}}],[\"展示给使用者的名字\",{\"1\":{\"126\":1}}],[\"独立笔记\",{\"1\":{\"396\":1}}],[\"独立样式包含了对引文\",{\"1\":{\"107\":1}}],[\"独立样式不依赖父样式\",{\"1\":{\"96\":1}}],[\"独立样式的元数据通常比从属样式的元数据更加全面\",{\"1\":{\"96\":1}}],[\"独立样式解析\",{\"0\":{\"93\":1}}],[\"独立样式可以依据\",{\"1\":{\"87\":1}}],[\"独立样式有\",{\"1\":{\"86\":1}}],[\"独立样式\",{\"0\":{\"107\":1},\"1\":{\"86\":1,\"106\":1,\"112\":1,\"115\":1,\"116\":1}}],[\"独立样式和从属样式\",{\"0\":{\"86\":1}}],[\"评论区在内容区下方\",{\"1\":{\"395\":1}}],[\"评论与标签\",{\"1\":{\"395\":1}}],[\"评论以及修改\",{\"1\":{\"25\":2}}],[\"高分辨率\",{\"1\":{\"545\":1}}],[\"高亮注释的内容\",{\"1\":{\"435\":1}}],[\"高亮等许多功能在\",{\"1\":{\"461\":1}}],[\"高亮等\",{\"1\":{\"394\":1}}],[\"高校版\",{\"1\":{\"406\":1}}],[\"高级设置\",{\"0\":{\"534\":1},\"1\":{\"567\":1}}],[\"高级搜索\",{\"1\":{\"359\":1,\"360\":1}}],[\"高级选项\",{\"0\":{\"279\":1},\"1\":{\"279\":1,\"281\":2}}],[\"高级\",{\"1\":{\"44\":1,\"250\":1,\"255\":1,\"279\":2,\"419\":1,\"506\":1,\"507\":1,\"519\":1,\"544\":1,\"567\":1}}],[\"双击进入上方地址栏并复制地址\",{\"1\":{\"554\":1}}],[\"双击打开\",{\"1\":{\"550\":1}}],[\"双击搜索到的\",{\"1\":{\"497\":1,\"529\":1,\"567\":1}}],[\"双击或回车即可打开文献\",{\"1\":{\"390\":1}}],[\"双向跨库分享文献条目\",{\"1\":{\"290\":1}}],[\"想将文件放在那个文件夹里的话\",{\"1\":{\"385\":1}}],[\"登录后点击\",{\"1\":{\"385\":1}}],[\"登陆webdav账户\",{\"1\":{\"385\":1}}],[\"登陆您的坚果云账户\",{\"1\":{\"385\":1}}],[\"登陆完成后\",{\"1\":{\"314\":1}}],[\"登陆zotero账户\",{\"1\":{\"314\":1}}],[\"端口与第一步打开的高级编辑器中\",{\"1\":{\"419\":1}}],[\"端\",{\"0\":{\"385\":1}}],[\"端的设置相对比较简单\",{\"1\":{\"312\":1}}],[\"付费用户限制访问频率为每\",{\"1\":{\"384\":1}}],[\"流量与空间限制\",{\"1\":{\"384\":1}}],[\"流程\",{\"1\":{\"30\":1}}],[\"坚果云免费用户具有以下限制\",{\"1\":{\"384\":1}}],[\"坚果云账户\",{\"1\":{\"314\":1}}],[\"阿里云盘\",{\"1\":{\"384\":1}}],[\"费用\",{\"1\":{\"383\":1}}],[\"购买更大的存储空间\",{\"1\":{\"383\":1}}],[\"切勿将\",{\"1\":{\"382\":1}}],[\"切换\",{\"1\":{\"392\":1}}],[\"切换经典视图\",{\"1\":{\"324\":1}}],[\"切换引文格式\",{\"1\":{\"302\":1}}],[\"切换到新分支\",{\"1\":{\"63\":1}}],[\"切换到\",{\"0\":{\"324\":1},\"1\":{\"63\":1,\"554\":1}}],[\"批注翻译\",{\"1\":{\"586\":1}}],[\"批注等不在原始\",{\"1\":{\"389\":1}}],[\"批注以及笔记\",{\"1\":{\"383\":1}}],[\"批注\",{\"0\":{\"435\":1},\"1\":{\"382\":1,\"383\":1}}],[\"批量抓取可能导致你被风控或封禁\",{\"1\":{\"243\":1}}],[\"交流和组织的中心\",{\"1\":{\"381\":1}}],[\"团队正在将开发者工具嵌入\",{\"1\":{\"419\":1}}],[\"团队\",{\"0\":{\"381\":1}}],[\"团队维护\",{\"1\":{\"222\":1}}],[\"帐户在线访问\",{\"1\":{\"380\":1}}],[\"帐号下的复制仓库\",{\"1\":{\"25\":1}}],[\"帐号下的复刻仓库到本地\",{\"1\":{\"22\":1}}],[\"帐号下便有了\",{\"1\":{\"22\":1}}],[\"帐号\",{\"1\":{\"22\":1}}],[\"服务来同步文件\",{\"1\":{\"379\":1}}],[\"服务器识别到了机器人抓取从而出现了验证码验证\",{\"1\":{\"565\":1}}],[\"服务器的条目可以通过您的\",{\"1\":{\"380\":1}}],[\"服务器或您自己的\",{\"1\":{\"379\":1}}],[\"服务器同步\",{\"1\":{\"379\":1}}],[\"服务器仅存储库的最新版本\",{\"1\":{\"246\":1}}],[\"服务器会自动更新预览并刷新网页\",{\"1\":{\"24\":1}}],[\"号\",{\"1\":{\"370\":1}}],[\"访问当前打开的标签页\",{\"1\":{\"468\":1}}],[\"访问当前的\",{\"1\":{\"462\":1}}],[\"访问频率限制\",{\"1\":{\"384\":1}}],[\"访问日期\",{\"1\":{\"369\":1}}],[\"访问任一链接\",{\"1\":{\"24\":1}}],[\"旧称翻译器\",{\"0\":{\"368\":1}}],[\"旧电脑c\",{\"1\":{\"255\":1}}],[\"旧电脑将\",{\"1\":{\"255\":1}}],[\"旧电脑\",{\"1\":{\"255\":2}}],[\"富文本\",{\"1\":{\"363\":1}}],[\"快捷插入\",{\"1\":{\"513\":1}}],[\"快捷键完全退出\",{\"1\":{\"500\":1}}],[\"快捷键为\",{\"1\":{\"362\":1}}],[\"快照是网页的本地存储副本\",{\"1\":{\"365\":1}}],[\"快速定位到你需要的内容\",{\"1\":{\"508\":1}}],[\"快速打开你的数据文件夹\",{\"1\":{\"507\":1}}],[\"快速创建一个\",{\"1\":{\"383\":1}}],[\"快速搜索\",{\"1\":{\"359\":1}}],[\"快速开始\",{\"0\":{\"349\":1,\"423\":1}}],[\"快速添加标签\",{\"1\":{\"347\":1}}],[\"快速发现当前网站支持的\",{\"1\":{\"288\":1}}],[\"快速发现和订阅当前页面支持的\",{\"1\":{\"288\":1}}],[\"快速发现和订阅当前页面自带的\",{\"1\":{\"288\":1}}],[\"允许将项目从连接器保存到\",{\"1\":{\"536\":1}}],[\"允许进行更复杂或更具体的搜索\",{\"1\":{\"359\":1}}],[\"允许的值为\",{\"1\":{\"165\":1,\"169\":1}}],[\"彩色标签在条目列表中显示\",{\"1\":{\"358\":1}}],[\"创作者\",{\"1\":{\"355\":1}}],[\"创建条目\",{\"0\":{\"432\":1}}],[\"创建条目并将附件移动到条目中\",{\"1\":{\"241\":1}}],[\"创建笔记有多种方式\",{\"1\":{\"397\":1}}],[\"创建笔记\",{\"0\":{\"397\":1}}],[\"创建新条目\",{\"1\":{\"366\":1}}],[\"创建新分支\",{\"1\":{\"24\":1}}],[\"创建一个新分类\",{\"1\":{\"357\":1}}],[\"创建成功后\",{\"1\":{\"257\":1}}],[\"创建备份\",{\"0\":{\"257\":1}}],[\"创建了条目后\",{\"1\":{\"244\":1}}],[\"创建父条目\",{\"1\":{\"244\":1}}],[\"创建期刊文章条目\",{\"1\":{\"244\":1}}],[\"创建\",{\"0\":{\"225\":1}}],[\"创建群组\",{\"0\":{\"291\":1},\"1\":{\"223\":1,\"291\":1}}],[\"创建参考文献表\",{\"1\":{\"266\":1}}],[\"创建参考文献\",{\"1\":{\"223\":1}}],[\"创建完成后根据提示切换到新分支\",{\"1\":{\"63\":1}}],[\"创建分支\",{\"1\":{\"63\":1}}],[\"录音\",{\"1\":{\"354\":1}}],[\"手稿\",{\"1\":{\"354\":1}}],[\"手动\",{\"1\":{\"586\":2}}],[\"手动更新引注时会出现引注已被修改的弹窗\",{\"1\":{\"533\":1}}],[\"手动更新订阅\",{\"1\":{\"281\":1}}],[\"手动安装\",{\"1\":{\"528\":1}}],[\"手动在github上下载translators\",{\"1\":{\"507\":1}}],[\"手动替换文件更新\",{\"0\":{\"507\":1}}],[\"手动引文\",{\"0\":{\"377\":1}}],[\"手动添加条目\",{\"0\":{\"372\":1},\"1\":{\"372\":1}}],[\"手动标签是用户添加的标签\",{\"1\":{\"344\":1}}],[\"手动修改将阻止\",{\"1\":{\"329\":1}}],[\"手动备份可以实现数据的无损备份\",{\"1\":{\"255\":1}}],[\"手动备份\",{\"0\":{\"255\":1}}],[\"手动填写必要的文献信息\",{\"1\":{\"244\":1}}],[\"手动录入\",{\"1\":{\"244\":1}}],[\"手动创建条目\",{\"0\":{\"244\":1}}],[\"手动触发一次检索匹配\",{\"1\":{\"240\":1,\"241\":1}}],[\"手动设置引注格式和参考文献表非常耗时\",{\"1\":{\"77\":1}}],[\"艺术品\",{\"1\":{\"354\":1}}],[\"星标或颜色\",{\"1\":{\"347\":1}}],[\"⭐\",{\"1\":{\"347\":2,\"494\":1}}],[\"⭐️\",{\"0\":{\"224\":1}}],[\"蓝色为手动标签\",{\"1\":{\"344\":1}}],[\"橙色为自动标签\",{\"1\":{\"344\":1}}],[\"带链接的\",{\"1\":{\"545\":1}}],[\"带来严重的问题\",{\"1\":{\"382\":1}}],[\"带高亮注释\",{\"1\":{\"343\":1}}],[\"带有内容和属性的元素\",{\"1\":{\"211\":1}}],[\"带有内容的元素\",{\"1\":{\"211\":1}}],[\"带有属性的空元素\",{\"1\":{\"211\":1}}],[\"带有注释的条目\",{\"1\":{\"183\":1}}],[\"带有前缀或者后缀的数字不能使用罗马数字进行排序或者渲染\",{\"1\":{\"149\":1}}],[\"彻底删除\",{\"1\":{\"342\":1}}],[\"领域的文献放在同一个分类下\",{\"1\":{\"336\":1}}],[\"❓\",{\"1\":{\"336\":1}}],[\"管理\",{\"1\":{\"400\":1}}],[\"管理注释\",{\"0\":{\"395\":1}}],[\"管理文献\",{\"0\":{\"356\":1}}],[\"管理和引用参考书目\",{\"1\":{\"353\":1}}],[\"管理你的文献库\",{\"0\":{\"335\":1}}],[\"管理员邀请\",{\"0\":{\"298\":1}}],[\"管理员\",{\"1\":{\"297\":1,\"298\":1,\"299\":1}}],[\"期卷页等\",{\"1\":{\"334\":1,\"521\":1}}],[\"期刊名缩写\",{\"1\":{\"271\":1}}],[\"期刊名全称\",{\"1\":{\"271\":1}}],[\"期刊名称\",{\"1\":{\"88\":1}}],[\"期刊标题的缩写\",{\"1\":{\"271\":1}}],[\"期刊缩写\",{\"0\":{\"271\":1},\"1\":{\"271\":1}}],[\"期刊文献\",{\"1\":{\"159\":1}}],[\"期刊文章的摘要\",{\"1\":{\"200\":1}}],[\"期刊文章\",{\"1\":{\"98\":1,\"198\":1,\"234\":1,\"236\":1,\"244\":1,\"270\":1}}],[\"期刊都使用同样的引用格式\",{\"1\":{\"86\":1}}],[\"期刊\",{\"1\":{\"64\":1,\"271\":1,\"334\":1,\"521\":1}}],[\"综述中包含的项目\",{\"1\":{\"333\":1}}],[\"劳动分工至关重要\",{\"1\":{\"330\":1}}],[\"马克思\",{\"1\":{\"329\":1}}],[\"粗体\",{\"1\":{\"329\":1}}],[\"甚至只是键入\",{\"1\":{\"328\":1}}],[\"定位器\",{\"1\":{\"328\":1}}],[\"定义了\",{\"1\":{\"459\":2,\"460\":2}}],[\"定义了引用和参考文献目录的格式\",{\"1\":{\"64\":1}}],[\"定义的语言环境时\",{\"1\":{\"207\":1}}],[\"定义本地化格式除外\",{\"1\":{\"181\":1}}],[\"定义本地化日期格式时\",{\"1\":{\"138\":1}}],[\"定义\",{\"1\":{\"149\":1}}],[\"资料库中删除了这些项目\",{\"1\":{\"321\":1}}],[\"资源库\",{\"1\":{\"253\":1}}],[\"资源\",{\"1\":{\"224\":1}}],[\"资源合集\",{\"1\":{\"223\":1}}],[\"孤立的项目\",{\"1\":{\"321\":1}}],[\"框选的图片等\",{\"1\":{\"395\":1}}],[\"框选注释\",{\"1\":{\"392\":1}}],[\"框左侧的\",{\"1\":{\"322\":1}}],[\"框中拖动引文以重新排列它们\",{\"1\":{\"326\":1}}],[\"框中重新排列引文\",{\"1\":{\"322\":1}}],[\"框中一个接一个地添加它们\",{\"1\":{\"322\":1}}],[\"框\",{\"1\":{\"321\":1,\"330\":1}}],[\"框架等\",{\"1\":{\"13\":1}}],[\"控制\",{\"1\":{\"320\":1}}],[\"刷新条目信息即可看到下标效果已经成功实现\",{\"1\":{\"513\":1}}],[\"刷新引文\",{\"1\":{\"513\":1}}],[\"刷新后不变\",{\"1\":{\"512\":1}}],[\"刷新refresh\",{\"1\":{\"509\":1}}],[\"刷新文档引用文献信息\",{\"1\":{\"413\":1}}],[\"刷新文档时被覆盖\",{\"1\":{\"323\":1}}],[\"刷新\",{\"1\":{\"319\":1,\"327\":1,\"510\":1}}],[\"里新建一个宏\",{\"1\":{\"532\":1}}],[\"里进行的\",{\"1\":{\"514\":1}}],[\"里修改默认使用经典选择窗\",{\"1\":{\"510\":1}}],[\"里英文论文详细信息中的\",{\"1\":{\"509\":1}}],[\"里\",{\"1\":{\"414\":1,\"516\":1,\"569\":1}}],[\"里的\",{\"1\":{\"414\":1,\"547\":1,\"558\":1,\"569\":1}}],[\"里的注释笔记\",{\"1\":{\"315\":1}}],[\"里手动修改\",{\"1\":{\"334\":3}}],[\"里没有\",{\"1\":{\"319\":1}}],[\"里添加一个\",{\"1\":{\"319\":1}}],[\"填写时要注意\",{\"1\":{\"317\":1}}],[\"填写好相应的网址\",{\"1\":{\"317\":1}}],[\"填入网址后不能自动识别与保存的解决方法\",{\"1\":{\"289\":1}}],[\"勾选后\",{\"1\":{\"564\":1}}],[\"勾选\",{\"1\":{\"519\":1}}],[\"勾选下方的use\",{\"1\":{\"317\":1}}],[\"勾选上\",{\"1\":{\"241\":1}}],[\"试试\",{\"1\":{\"317\":1}}],[\"任选其一\",{\"1\":{\"556\":1}}],[\"任何与特定窗口无关的初始化都应由\",{\"1\":{\"427\":1}}],[\"任何类型的文件都可以\",{\"1\":{\"364\":1}}],[\"任何团体成员\",{\"1\":{\"293\":1}}],[\"任意划线等操作\",{\"1\":{\"314\":1}}],[\"密码是上一步中的应用密码\",{\"1\":{\"385\":1}}],[\"密码\",{\"1\":{\"314\":1}}],[\"邮箱\",{\"1\":{\"314\":1}}],[\"镜像的网站的地址\",{\"1\":{\"564\":1}}],[\"镜像地址\",{\"1\":{\"562\":1,\"567\":1}}],[\"镜像源\",{\"1\":{\"410\":1}}],[\"镜像\",{\"1\":{\"310\":3}}],[\"镜像主页\",{\"1\":{\"288\":1}}],[\"然而\",{\"1\":{\"310\":1}}],[\"然后通过zotero\",{\"1\":{\"528\":1}}],[\"然后通过单击\",{\"1\":{\"304\":1}}],[\"然后尝试删除另一半\",{\"1\":{\"519\":1}}],[\"然后就好了\",{\"1\":{\"516\":1}}],[\"然后就有候选项了\",{\"1\":{\"510\":1}}],[\"然后分别选中英文文献\",{\"1\":{\"516\":1}}],[\"然后直接拿来用\",{\"1\":{\"514\":1}}],[\"然后点\",{\"1\":{\"510\":1}}],[\"然后点击进程中的多线程工具箱进行检查\",{\"1\":{\"419\":1}}],[\"然后点击保存\",{\"1\":{\"301\":1}}],[\"然后点击\",{\"1\":{\"241\":1,\"243\":1,\"244\":1,\"265\":1,\"506\":3,\"507\":2}}],[\"然后统一点向右的箭头加到右边\",{\"1\":{\"510\":1}}],[\"然后不要急着按回车确认插入\",{\"1\":{\"510\":1}}],[\"然后覆盖安装即可\",{\"1\":{\"506\":1}}],[\"然后重新启动\",{\"1\":{\"497\":1,\"529\":1}}],[\"然后执行合并\",{\"1\":{\"341\":1}}],[\"然后在使用\",{\"1\":{\"331\":1}}],[\"然后取消选中\",{\"1\":{\"322\":1}}],[\"然后单击确定来完成\",{\"1\":{\"370\":1}}],[\"然后单击引文气泡以打开引文选项窗口\",{\"1\":{\"327\":1}}],[\"然后单击插件中的\",{\"1\":{\"327\":1}}],[\"然后单击\",{\"1\":{\"321\":1,\"327\":1,\"332\":1,\"544\":1,\"545\":1,\"554\":1}}],[\"然后双击打开\",{\"1\":{\"264\":1}}],[\"然后可以在右侧窗格中手动添加元数据\",{\"1\":{\"372\":1}}],[\"然后可以在\",{\"1\":{\"261\":1}}],[\"然后按回车另起一行\",{\"1\":{\"509\":1}}],[\"然后按回车\",{\"1\":{\"253\":1}}],[\"然后从菜单中选择\",{\"1\":{\"253\":1}}],[\"然后介绍若干种备份这些文件的方式\",{\"1\":{\"246\":1}}],[\"然后手动填写文献的相关信息\",{\"1\":{\"244\":1}}],[\"然后选择\",{\"1\":{\"304\":1}}],[\"然后选择你所需的文献类型\",{\"1\":{\"244\":1}}],[\"然后选择自己账户下的\",{\"1\":{\"22\":1}}],[\"然后回车\",{\"1\":{\"242\":1}}],[\"然后再次单击\",{\"1\":{\"545\":1}}],[\"然后再次推送\",{\"1\":{\"25\":1}}],[\"然后再把上下方向拉矮\",{\"1\":{\"501\":1}}],[\"然后再尝试\",{\"1\":{\"500\":1}}],[\"然后再尝试前文提到的手动触发检索匹配\",{\"1\":{\"241\":1}}],[\"然后再重新尝试\",{\"1\":{\"500\":1}}],[\"然后再输入下一个引用项目的信息\",{\"1\":{\"322\":1}}],[\"然后再在\",{\"1\":{\"243\":1}}],[\"然后去右边栏中编辑文件名\",{\"1\":{\"241\":1}}],[\"然后将下载的\",{\"1\":{\"571\":1}}],[\"然后将下列表格中旧电脑的数据文件拷贝到新电脑的同一位置\",{\"1\":{\"255\":1}}],[\"然后将条目的\",{\"1\":{\"301\":1}}],[\"然后将引文格式下载下来\",{\"1\":{\"264\":1}}],[\"然后将附件添加到这一条目上\",{\"1\":{\"243\":1}}],[\"然后将\",{\"1\":{\"239\":1}}],[\"然后将修改推送到线上\",{\"1\":{\"24\":1}}],[\"然后\",{\"1\":{\"176\":1,\"333\":2,\"428\":1,\"544\":1}}],[\"然后使用第二个键值对第一个键值排序后的结果进行排序\",{\"1\":{\"176\":1}}],[\"然后是名\",{\"1\":{\"151\":1}}],[\"然后以以上语法引入视频\",{\"1\":{\"48\":1}}],[\"首选项的高级窗格并单击\",{\"1\":{\"535\":1}}],[\"首选项的完整列表\",{\"1\":{\"535\":1}}],[\"首选项键\",{\"1\":{\"486\":1,\"487\":1}}],[\"首选项窗格中的所有\",{\"1\":{\"483\":1}}],[\"首选项窗格文本的本地化详情请参考\",{\"1\":{\"483\":1}}],[\"首选项窗格\",{\"0\":{\"482\":1}}],[\"首选项\",{\"0\":{\"480\":1,\"534\":1},\"1\":{\"324\":1,\"510\":1,\"517\":2,\"567\":1}}],[\"首页\",{\"1\":{\"309\":1,\"573\":1}}],[\"首先需要确定自己\",{\"1\":{\"571\":1}}],[\"首先将其下载并保存到电脑\",{\"1\":{\"556\":1}}],[\"首先分析一下\",{\"1\":{\"522\":1}}],[\"首先你需要在\",{\"1\":{\"264\":1}}],[\"首先您需要在新电脑上安装\",{\"1\":{\"255\":1}}],[\"首先在网盘中下载字体文件\",{\"1\":{\"496\":1}}],[\"首先在不同电脑上分别配置同步\",{\"1\":{\"261\":1}}],[\"首先在\",{\"1\":{\"132\":1}}],[\"首先看一下根元素\",{\"1\":{\"94\":1}}],[\"首先\",{\"1\":{\"86\":1,\"96\":1,\"98\":1,\"176\":1,\"333\":1}}],[\"首先来看看\",{\"1\":{\"85\":1}}],[\"稍后当我们设置完成\",{\"1\":{\"307\":1}}],[\"稍微大量修改\",{\"0\":{\"34\":1}}],[\"火狐浏览器用户请选择另存为\",{\"1\":{\"570\":1}}],[\"火狐浏览器\",{\"1\":{\"307\":1}}],[\"谷歌浏览器\",{\"1\":{\"307\":1}}],[\"→\",{\"1\":{\"304\":1}}],[\"成功变回彩色\",{\"1\":{\"497\":1}}],[\"成功导入\",{\"1\":{\"302\":1}}],[\"成员\",{\"1\":{\"297\":1,\"298\":1}}],[\"紧接着点击图中\",{\"1\":{\"302\":1}}],[\"紧凑性以及可维护性\",{\"1\":{\"131\":1}}],[\"紧凑\",{\"1\":{\"102\":1}}],[\"路径\",{\"0\":{\"580\":1},\"1\":{\"302\":1,\"457\":1}}],[\"②\",{\"1\":{\"301\":2,\"302\":1,\"528\":1}}],[\"①\",{\"1\":{\"301\":1,\"302\":1,\"528\":1}}],[\"题录和附件中保存的\",{\"1\":{\"301\":1}}],[\"题录和附件\",{\"1\":{\"301\":2}}],[\"题目\",{\"1\":{\"159\":1}}],[\"题目等信息\",{\"1\":{\"85\":1}}],[\"退出zotero账户\",{\"1\":{\"528\":1}}],[\"退出账户\",{\"1\":{\"528\":1}}],[\"退出\",{\"1\":{\"528\":1}}],[\"退出后需要重启\",{\"1\":{\"299\":1}}],[\"退订订阅\",{\"1\":{\"281\":1}}],[\"移除事件\",{\"1\":{\"474\":1}}],[\"移除单个或多个标签\",{\"1\":{\"348\":1}}],[\"移除成员\",{\"1\":{\"299\":1}}],[\"移动页面\",{\"1\":{\"392\":1}}],[\"移动\",{\"1\":{\"290\":1,\"340\":1}}],[\"移动端\",{\"0\":{\"311\":1},\"1\":{\"290\":1}}],[\"移动端的步骤\",{\"1\":{\"223\":1}}],[\"跳转后点击页面左下角\",{\"1\":{\"298\":1}}],[\"跳转如下页面后\",{\"1\":{\"285\":1}}],[\"✉️\",{\"0\":{\"298\":1}}],[\"他人打开即可申请加入\",{\"1\":{\"297\":1}}],[\"他提供了\",{\"1\":{\"102\":1}}],[\"群主\",{\"1\":{\"297\":1,\"298\":1,\"299\":1}}],[\"群组所属类别等信息\",{\"1\":{\"299\":1}}],[\"群组成员\",{\"1\":{\"297\":1,\"298\":1,\"299\":1}}],[\"群组链接\",{\"0\":{\"297\":1}}],[\"群组详情页面\",{\"1\":{\"296\":1}}],[\"群组的付费存储空间只需要群主付费\",{\"1\":{\"294\":1}}],[\"群组的条目和附件同步均能且仅能通过\",{\"1\":{\"290\":1}}],[\"群组功能目前仅支持官方云储存空间进行同步附件\",{\"1\":{\"294\":1}}],[\"群组管理\",{\"0\":{\"299\":1},\"1\":{\"293\":1}}],[\"群组管理员等的设置\",{\"1\":{\"293\":1}}],[\"群组设置页面主要有三个设置项\",{\"1\":{\"293\":1}}],[\"群组设置\",{\"0\":{\"293\":1}}],[\"群组有三类\",{\"1\":{\"292\":1}}],[\"群组类型的用户\",{\"1\":{\"294\":1}}],[\"群组类型也可以之后可以在群组设置继续更改\",{\"1\":{\"292\":1}}],[\"群组类型\",{\"0\":{\"292\":1}}],[\"群组页面链接\",{\"1\":{\"297\":1}}],[\"群组页面\",{\"1\":{\"291\":1,\"297\":1,\"298\":1,\"299\":1}}],[\"群组依赖\",{\"1\":{\"290\":1}}],[\"群组\",{\"0\":{\"290\":1}}],[\"群组文库\",{\"0\":{\"280\":1},\"1\":{\"290\":1,\"296\":1}}],[\"信件\",{\"1\":{\"354\":1}}],[\"信用卡\",{\"1\":{\"294\":1}}],[\"信息是分类号\",{\"1\":{\"243\":1}}],[\"信息与文献\",{\"1\":{\"78\":1}}],[\"信息\",{\"1\":{\"39\":1,\"243\":1}}],[\"把不必要的信息删掉\",{\"1\":{\"516\":1}}],[\"把窗口调整到合适的位置\",{\"1\":{\"501\":1}}],[\"把\",{\"1\":{\"294\":1,\"409\":1}}],[\"免费但不开源\",{\"1\":{\"404\":1}}],[\"免费版用户限制访问频率为每\",{\"1\":{\"384\":1}}],[\"免费空间留给群组内文献条目附件的同步\",{\"1\":{\"294\":1}}],[\"免费\",{\"1\":{\"294\":1,\"573\":1,\"586\":1}}],[\"读取名称为\",{\"1\":{\"486\":1}}],[\"读取权限\",{\"1\":{\"293\":1}}],[\"读者可以按需下载使用\",{\"1\":{\"262\":1}}],[\"读者可以在前述的几种途径参与讨论\",{\"1\":{\"31\":1}}],[\"读者初次了解\",{\"1\":{\"223\":1}}],[\"读者关于项目内容的笔记\",{\"1\":{\"200\":1}}],[\"读者需要一个\",{\"1\":{\"31\":1}}],[\"邀请或申请\",{\"1\":{\"292\":1}}],[\"邀请\",{\"1\":{\"292\":1}}],[\"谁可以使用组中存储的文件\",{\"1\":{\"293\":1}}],[\"谁可以在该组的库中添加\",{\"1\":{\"293\":1}}],[\"谁可以加入\",{\"1\":{\"292\":1}}],[\"谁可以看到该群组图书馆中的项目\",{\"1\":{\"293\":1}}],[\"谁可以看到\",{\"1\":{\"292\":1}}],[\"限定成员制\",{\"1\":{\"292\":1}}],[\"限定成员制群组\",{\"1\":{\"292\":1}}],[\"项\",{\"1\":{\"292\":1}}],[\"项目\",{\"1\":{\"307\":1}}],[\"项目元数据\",{\"1\":{\"251\":1}}],[\"项目的页码范围\",{\"1\":{\"200\":1}}],[\"项目的摘要\",{\"1\":{\"200\":1}}],[\"项目主页\",{\"1\":{\"102\":1,\"573\":1,\"586\":1}}],[\"项目概览\",{\"0\":{\"19\":1}}],[\"私有云可以通过相关设置调整\",{\"1\":{\"384\":1}}],[\"私有群组\",{\"1\":{\"292\":2}}],[\"私人交流\",{\"1\":{\"198\":1}}],[\"课题组协作\",{\"1\":{\"290\":1}}],[\"尚未完美的解决方案\",{\"1\":{\"289\":1}}],[\"尚未支持这种格式\",{\"1\":{\"82\":1}}],[\"联动\",{\"1\":{\"288\":1}}],[\"款阅读器一键订阅\",{\"1\":{\"288\":1}}],[\"符号\",{\"1\":{\"286\":1}}],[\"符号作为注释符号\",{\"1\":{\"210\":1}}],[\"搜期刊\",{\"1\":{\"285\":1}}],[\"搜索所需要的期刊\",{\"1\":{\"528\":1}}],[\"搜索\",{\"0\":{\"359\":1},\"1\":{\"419\":1}}],[\"搜索项目\",{\"1\":{\"328\":1}}],[\"搜索下载\",{\"1\":{\"309\":1}}],[\"搜索群组\",{\"1\":{\"296\":1}}],[\"搜索到目标群组\",{\"1\":{\"296\":1}}],[\"搜索框\",{\"1\":{\"284\":1,\"285\":1}}],[\"搜索期刊名\",{\"1\":{\"263\":1}}],[\"搜索文件名zotero\",{\"1\":{\"250\":1}}],[\"👍\",{\"1\":{\"559\":1}}],[\"🔊🔊🔊\",{\"1\":{\"547\":1,\"558\":1}}],[\"📝\",{\"1\":{\"547\":2}}],[\"💡\",{\"1\":{\"337\":2,\"340\":1,\"344\":1,\"390\":1,\"480\":1}}],[\"🔗\",{\"0\":{\"297\":1}}],[\"🔍\",{\"0\":{\"296\":1},\"1\":{\"284\":1,\"285\":1}}],[\"📂\",{\"1\":{\"280\":2}}],[\"万方\",{\"1\":{\"285\":3}}],[\"万方搜期刊\",{\"1\":{\"285\":1}}],[\"万方数据库\",{\"0\":{\"285\":1}}],[\"万方数据库为例\",{\"0\":{\"283\":1}}],[\"万能方法\",{\"0\":{\"244\":1}}],[\"便于\",{\"1\":{\"301\":1}}],[\"便于进行个性化订阅设置\",{\"1\":{\"281\":1}}],[\"便于读者对照理解\",{\"1\":{\"65\":1}}],[\"回形针\",{\"1\":{\"364\":1}}],[\"回到在\",{\"1\":{\"513\":1}}],[\"回到首页\",{\"1\":{\"385\":1}}],[\"回到\",{\"1\":{\"281\":1}}],[\"回退到\",{\"1\":{\"165\":1}}],[\"取值\",{\"1\":{\"554\":1}}],[\"取消勾选\",{\"1\":{\"557\":1}}],[\"取消选中后再选中中文文献\",{\"1\":{\"516\":1}}],[\"取消对应\",{\"1\":{\"476\":1}}],[\"取消任何计时器等\",{\"1\":{\"428\":1}}],[\"取消链接引文\",{\"1\":{\"331\":1,\"333\":1}}],[\"取消链接引注unlink\",{\"1\":{\"509\":1}}],[\"取消链接引注\",{\"1\":{\"319\":1,\"413\":1}}],[\"取消加粗显示\",{\"1\":{\"281\":1}}],[\"取决于审稿人\",{\"1\":{\"36\":1}}],[\"倒三角图标\",{\"1\":{\"280\":1}}],[\"▽\",{\"1\":{\"280\":1}}],[\"状态\",{\"1\":{\"279\":1}}],[\"天后在期刊订阅界面删除该条目\",{\"1\":{\"279\":2}}],[\"天\",{\"1\":{\"279\":2}}],[\"天文学\",{\"1\":{\"189\":1}}],[\"界面中文本的大小\",{\"1\":{\"536\":1}}],[\"界面中如下图选择以下两个选项\",{\"1\":{\"301\":1}}],[\"界面区域\",{\"0\":{\"392\":1}}],[\"界面出现重复文献条目\",{\"1\":{\"289\":1}}],[\"界面\",{\"1\":{\"279\":1,\"285\":1}}],[\"界面右上角同步按钮旁会多显示一个图标\",{\"1\":{\"240\":1}}],[\"加粗的效果\",{\"1\":{\"513\":1}}],[\"加载项使用的宝贵经验\",{\"1\":{\"559\":1}}],[\"加载项的使用已接近尾声\",{\"1\":{\"559\":1}}],[\"加载项的各个按钮时\",{\"1\":{\"552\":1}}],[\"加载项的常见问题及解决方法\",{\"1\":{\"547\":1}}],[\"加载项出现弹窗报错\",{\"0\":{\"552\":1}}],[\"加载项如有使用问题\",{\"1\":{\"550\":1}}],[\"加载项插入几个文献\",{\"1\":{\"547\":1,\"558\":1}}],[\"加载项\",{\"0\":{\"548\":1,\"549\":1,\"557\":1},\"1\":{\"509\":1,\"517\":1,\"522\":1,\"548\":1,\"549\":1,\"550\":2,\"551\":1,\"553\":1,\"554\":1,\"556\":1,\"557\":1,\"569\":2}}],[\"加载项中各个按钮的功能和用法\",{\"1\":{\"509\":1}}],[\"加载完成后\",{\"1\":{\"429\":1}}],[\"加载数据界面\",{\"1\":{\"317\":1}}],[\"加载在该\",{\"1\":{\"279\":1}}],[\"加入群组\",{\"0\":{\"295\":1}}],[\"加一个短横线\",{\"1\":{\"39\":1}}],[\"爬取期刊目录\",{\"1\":{\"279\":1}}],[\"故不过多介绍\",{\"1\":{\"278\":1}}],[\"故而\",{\"1\":{\"38\":1}}],[\"阅读文献\",{\"0\":{\"389\":1}}],[\"阅读\",{\"1\":{\"351\":1,\"400\":1}}],[\"阅读器中\",{\"1\":{\"397\":2}}],[\"阅读器功能介绍\",{\"0\":{\"391\":1}}],[\"阅读器的翻译插件\",{\"1\":{\"586\":1}}],[\"阅读器的笔记插件\",{\"1\":{\"573\":1}}],[\"阅读器的\",{\"1\":{\"463\":1}}],[\"阅读器的接口\",{\"1\":{\"461\":1}}],[\"阅读器的某些特殊功能\",{\"1\":{\"389\":1}}],[\"阅读器的批注无法互通\",{\"1\":{\"389\":1}}],[\"阅读器以获得最佳体验\",{\"1\":{\"389\":1}}],[\"阅读器\",{\"0\":{\"537\":1},\"1\":{\"278\":1,\"389\":1}}],[\"阅读和笔记\",{\"1\":{\"223\":1}}],[\"订阅间隔设置不当导致的条目重复问题\",{\"1\":{\"289\":1}}],[\"订阅功能常见问题及解决方法\",{\"0\":{\"289\":1}}],[\"订阅即可\",{\"1\":{\"288\":1}}],[\"订阅任意网站内容\",{\"0\":{\"288\":1}}],[\"订阅任意网站的内容更新\",{\"1\":{\"276\":1}}],[\"订阅选项\",{\"1\":{\"286\":1}}],[\"订阅链接\",{\"1\":{\"285\":1}}],[\"订阅网址\",{\"0\":{\"282\":1}}],[\"订阅右键菜单\",{\"1\":{\"281\":1}}],[\"订阅内容\",{\"1\":{\"280\":1}}],[\"订阅界面中未读的期刊\",{\"1\":{\"281\":1}}],[\"订阅界面右键功能介绍\",{\"0\":{\"281\":1}}],[\"订阅界面\",{\"1\":{\"279\":1}}],[\"订阅界面会\",{\"1\":{\"279\":1,\"289\":1}}],[\"订阅\",{\"0\":{\"280\":1,\"371\":1},\"1\":{\"278\":1,\"279\":3,\"280\":1,\"284\":1,\"285\":2,\"289\":1}}],[\"订阅的方式\",{\"1\":{\"278\":1}}],[\"订阅来源\",{\"0\":{\"278\":1}}],[\"订阅条目列表\",{\"1\":{\"277\":1}}],[\"订阅设置\",{\"0\":{\"277\":1},\"1\":{\"279\":1,\"284\":1,\"285\":1,\"286\":1,\"287\":1}}],[\"站\",{\"1\":{\"276\":1,\"559\":1}}],[\"站视频\",{\"1\":{\"48\":2}}],[\"追踪的文献条目数量\",{\"1\":{\"287\":1}}],[\"追踪期刊更新时最常用的方式\",{\"1\":{\"278\":1}}],[\"追踪期刊目录更新\",{\"1\":{\"276\":1}}],[\"追踪数据库中某些\",{\"1\":{\"276\":1}}],[\"研究小组或其他来源的更新\",{\"1\":{\"276\":1}}],[\"机构\",{\"1\":{\"276\":1}}],[\"机器人会自动检查\",{\"1\":{\"63\":1}}],[\"机器人会自动部署一个预览版本\",{\"1\":{\"25\":1}}],[\"句子大小写\",{\"1\":{\"274\":3}}],[\"句子大小写转换\",{\"0\":{\"187\":1},\"1\":{\"187\":1}}],[\"拿出来单独介绍\",{\"1\":{\"269\":1}}],[\"堆栈视图\",{\"1\":{\"269\":1}}],[\"您需要登陆\",{\"1\":{\"565\":1}}],[\"您将保留标题的原始信息\",{\"1\":{\"536\":1}}],[\"您已经修改该引文\",{\"0\":{\"521\":1}}],[\"您的笔记将按您添加它们的顺序而不是按字母顺序排序\",{\"1\":{\"536\":1}}],[\"您的附件将按您添加它们的顺序而不是按字母顺序排序\",{\"1\":{\"536\":1}}],[\"您的旧引用才会被识别\",{\"1\":{\"519\":1}}],[\"您的数据目录可能包含其他几个文件和文件夹\",{\"1\":{\"251\":1}}],[\"您必须删除对窗口或其中的对象的所有引用\",{\"1\":{\"428\":1}}],[\"您都需要注册一个\",{\"1\":{\"383\":1}}],[\"您甚至可以一次粘贴或输入\",{\"1\":{\"370\":1}}],[\"您仍然可以单击浏览器工具栏中的保存按钮将页面保存为带有附加快照的\",{\"1\":{\"369\":1}}],[\"您也可以参阅其他内部章节以获得更多详细步骤指导\",{\"1\":{\"349\":1}}],[\"您也可以单击\",{\"1\":{\"322\":1}}],[\"您还可以在插入引文时添加页码\",{\"1\":{\"328\":1}}],[\"您还可以通过支持\",{\"1\":{\"304\":1}}],[\"您希望引用项目的某个部分\",{\"1\":{\"328\":1}}],[\"您应该查看其中每个注释\",{\"1\":{\"301\":1}}],[\"您可以重新排列这些以满足您的需要\",{\"1\":{\"536\":1}}],[\"您可以通过\",{\"1\":{\"534\":1}}],[\"您可以通过单击\",{\"1\":{\"321\":1,\"324\":1}}],[\"您可以使用箭头添加或删除项目\",{\"1\":{\"333\":1}}],[\"您可以将光标定位在编号内\",{\"1\":{\"332\":1}}],[\"您可以直接在文档中编辑引文\",{\"1\":{\"331\":1}}],[\"您可以在其中进行以下更改\",{\"1\":{\"327\":1}}],[\"您可以先输入一个空格\",{\"1\":{\"322\":1}}],[\"您可以单击被引用项目的气泡\",{\"1\":{\"321\":1}}],[\"您可以再输入一个空格\",{\"1\":{\"321\":1}}],[\"您可以订阅来自期刊\",{\"1\":{\"276\":1}}],[\"您可能需要点击\",{\"1\":{\"519\":1}}],[\"您可能希望将未引用的来源添加到参考书目中\",{\"1\":{\"333\":1}}],[\"您可能想要\",{\"1\":{\"329\":1}}],[\"您可能从同一网页保存同一项目多次\",{\"1\":{\"268\":1}}],[\"您可能会导入一些重复的项目\",{\"1\":{\"268\":1}}],[\"养成导入后随手校正的习惯\",{\"1\":{\"267\":1}}],[\"收集文献\",{\"0\":{\"361\":1}}],[\"收到的元数据是不完整或不正确的\",{\"1\":{\"267\":1}}],[\"收件人\",{\"1\":{\"195\":1}}],[\"始终及时校准条目\",{\"1\":{\"267\":1}}],[\"配合\",{\"0\":{\"288\":1},\"1\":{\"290\":1}}],[\"配合自定义脚本也可以添加生成参考文献表的快捷键\",{\"1\":{\"266\":1}}],[\"配置编辑器\",{\"1\":{\"544\":1}}],[\"配置文件目录\",{\"1\":{\"480\":1}}],[\"配置完毕\",{\"1\":{\"317\":1}}],[\"配置和插件信息就一起同步了\",{\"1\":{\"261\":1}}],[\"配置都是默认的\",{\"1\":{\"260\":1}}],[\"配置及插件配置\",{\"1\":{\"256\":1}}],[\"配置的插件\",{\"1\":{\"256\":1}}],[\"配置\",{\"0\":{\"314\":1,\"317\":1,\"578\":1},\"1\":{\"39\":2}}],[\"粘贴至\",{\"1\":{\"554\":1,\"556\":1}}],[\"粘贴到第\",{\"1\":{\"507\":1}}],[\"粘贴\",{\"1\":{\"340\":1,\"551\":1}}],[\"粘贴了一份条目的快捷方式\",{\"1\":{\"340\":1}}],[\"粘贴参考文献表\",{\"1\":{\"266\":1}}],[\"粘贴图片\",{\"1\":{\"63\":1}}],[\"输出到\",{\"1\":{\"418\":2}}],[\"输出日志排错\",{\"1\":{\"418\":1}}],[\"输出日志\",{\"0\":{\"418\":1}}],[\"输出方式\",{\"1\":{\"266\":1}}],[\"输入出现的验证码信息\",{\"1\":{\"565\":1}}],[\"输入中文关键词后没有候选项目\",{\"1\":{\"510\":1}}],[\"输入您的帐号密码\",{\"1\":{\"383\":1}}],[\"输入\",{\"1\":{\"317\":1,\"411\":1,\"412\":1,\"419\":1}}],[\"输入被邀请者用户名\",{\"1\":{\"298\":1}}],[\"输入被邀请人的\",{\"1\":{\"298\":1}}],[\"输入完成之后点击下方的\",{\"1\":{\"298\":1}}],[\"输入完成后\",{\"1\":{\"242\":1}}],[\"输入想要订阅的\",{\"1\":{\"284\":1,\"285\":1}}],[\"输入网址\",{\"1\":{\"277\":1}}],[\"输入标识符\",{\"1\":{\"242\":1,\"370\":1}}],[\"输入新分支的名字\",{\"1\":{\"63\":1}}],[\"输入分支名\",{\"1\":{\"63\":1}}],[\"输入一个简短的新分支名字\",{\"1\":{\"33\":1}}],[\"输入一个简短的提交描述\",{\"1\":{\"24\":1}}],[\"输入此\",{\"1\":{\"25\":1,\"33\":1}}],[\"什么时候使用这种方法\",{\"1\":{\"266\":1}}],[\"什么是插件\",{\"0\":{\"569\":1}}],[\"什么是\",{\"0\":{\"77\":1},\"1\":{\"274\":1,\"384\":1}}],[\"步中\",{\"1\":{\"507\":1}}],[\"步可以添加多个条目\",{\"1\":{\"265\":1}}],[\"步骤填入并设置即可\",{\"1\":{\"284\":1,\"285\":1,\"286\":1}}],[\"步骤\",{\"1\":{\"163\":4}}],[\"步骤只需在第一次修改代码时执行一次\",{\"1\":{\"23\":1}}],[\"识别成功之后会自动填入标题\",{\"1\":{\"277\":1}}],[\"识别符等\",{\"1\":{\"265\":1}}],[\"识别依赖茉莉花插件\",{\"1\":{\"241\":1}}],[\"库之间的内容存储方式可能具有较大不同\",{\"1\":{\"460\":1}}],[\"库分为用户库\",{\"1\":{\"460\":1}}],[\"库中进行\",{\"1\":{\"333\":1}}],[\"库中选择项目\",{\"1\":{\"321\":1}}],[\"库中已更改的项目元数据\",{\"1\":{\"319\":1}}],[\"库中\",{\"1\":{\"274\":1,\"276\":1}}],[\"库\",{\"1\":{\"265\":1,\"459\":1,\"460\":1,\"575\":1}}],[\"库的不同方式\",{\"1\":{\"227\":1}}],[\"供后续引用使用\",{\"1\":{\"264\":1}}],[\"软件界面\",{\"1\":{\"517\":1}}],[\"软件添加\",{\"1\":{\"302\":1}}],[\"软件\",{\"1\":{\"263\":1,\"301\":1}}],[\"混排\",{\"1\":{\"262\":1}}],[\"去除重复条目\",{\"0\":{\"341\":1}}],[\"去备份目录查看文件是否生成\",{\"1\":{\"259\":1}}],[\"去掉\",{\"1\":{\"144\":1}}],[\"✅\",{\"1\":{\"256\":5}}],[\"拷贝至\",{\"1\":{\"255\":2}}],[\"处请选择\",{\"1\":{\"301\":1}}],[\"处于启动状态时点击\",{\"1\":{\"264\":1}}],[\"处于关闭状态\",{\"1\":{\"255\":1}}],[\"处理器将\",{\"1\":{\"531\":1}}],[\"处理器不能识别专有名词\",{\"1\":{\"187\":1}}],[\"处理器不会\",{\"1\":{\"105\":1}}],[\"处理器开发者的一个建议\",{\"1\":{\"129\":1}}],[\"处理器通过\",{\"1\":{\"95\":1}}],[\"处理器\",{\"0\":{\"90\":1},\"1\":{\"90\":2}}],[\"处理器也已经开始采用这种\",{\"1\":{\"88\":1}}],[\"处理器引入了一种基于\",{\"1\":{\"88\":1}}],[\"处理意见\",{\"1\":{\"8\":1,\"9\":1,\"10\":1,\"11\":1}}],[\"处理方针\",{\"0\":{\"7\":1}}],[\"电影\",{\"1\":{\"354\":1}}],[\"电脑上关于坚果云的同步设置就完成了\",{\"1\":{\"385\":1}}],[\"电脑上刚创建的备份\",{\"1\":{\"261\":1}}],[\"电脑上创建一个备份\",{\"1\":{\"261\":1}}],[\"电脑的\",{\"1\":{\"261\":1}}],[\"电脑的用户名为zotero\",{\"1\":{\"255\":1}}],[\"电脑\",{\"1\":{\"261\":1}}],[\"电子国际标准连续出版物号\",{\"1\":{\"92\":1}}],[\"启用\",{\"1\":{\"536\":2}}],[\"启用等信息\",{\"1\":{\"254\":1}}],[\"启动项文件夹内\",{\"1\":{\"551\":1}}],[\"启动时自动创建\",{\"1\":{\"251\":1}}],[\"启动时\",{\"1\":{\"251\":1}}],[\"启动开服务器\",{\"1\":{\"24\":1}}],[\"启动开发服务器\",{\"1\":{\"24\":1}}],[\"目标\",{\"1\":{\"571\":1}}],[\"目前仍为测试版\",{\"1\":{\"570\":1}}],[\"目前新版本里横向布置三个大按钮分别是\",{\"1\":{\"509\":1}}],[\"目前基于\",{\"1\":{\"472\":1}}],[\"目前仅支持一个主窗口\",{\"1\":{\"428\":1}}],[\"目前插件可以在windows\",{\"1\":{\"407\":1}}],[\"目前有两种方法\",{\"1\":{\"407\":1}}],[\"目前的运营团队并没有将你的利益放在首位\",{\"1\":{\"402\":1}}],[\"目前\",{\"1\":{\"395\":1}}],[\"目前国内支持\",{\"1\":{\"384\":1}}],[\"目前使用较多的\",{\"1\":{\"315\":1}}],[\"目前也基于\",{\"1\":{\"307\":1}}],[\"目前仓库地址为\",{\"1\":{\"19\":1}}],[\"目录如下\",{\"1\":{\"302\":1}}],[\"目录下\",{\"1\":{\"255\":1}}],[\"目录\",{\"1\":{\"253\":1,\"254\":1,\"302\":2,\"392\":1,\"414\":2}}],[\"菜单设置\",{\"1\":{\"538\":1}}],[\"菜单栏\",{\"1\":{\"417\":1,\"418\":2,\"419\":1,\"571\":1,\"572\":1}}],[\"菜单\",{\"1\":{\"253\":1,\"301\":1}}],[\"菜鸟教程\",{\"1\":{\"217\":1,\"219\":1}}],[\"转到文章网页或单击按钮将条目保存到您的图书馆\",{\"1\":{\"371\":1}}],[\"转到\",{\"1\":{\"253\":1,\"506\":1}}],[\"转换为\",{\"1\":{\"538\":1}}],[\"转换器在导入项目时应尝试附加补充数据\",{\"1\":{\"545\":1}}],[\"转换器设置\",{\"0\":{\"539\":1,\"545\":1}}],[\"转换器\",{\"0\":{\"368\":1},\"1\":{\"368\":1}}],[\"转换器和引文样式等\",{\"1\":{\"249\":1}}],[\"转换\",{\"0\":{\"209\":1}}],[\"单击选中\",{\"1\":{\"557\":1}}],[\"单击打开\",{\"1\":{\"517\":1}}],[\"单击它将打开一个对话框\",{\"1\":{\"367\":1}}],[\"单击它将将该条目添加到\",{\"1\":{\"367\":1}}],[\"单击工具栏中的新建笔记按钮\",{\"1\":{\"363\":1}}],[\"单击搜索框左侧的放大镜图标将打开\",{\"1\":{\"359\":1}}],[\"单击文档中的现有引文\",{\"1\":{\"327\":1}}],[\"单击引文选取对话框左下角\",{\"1\":{\"325\":1}}],[\"单击\",{\"1\":{\"253\":1,\"323\":1,\"333\":1,\"544\":1,\"545\":1,\"551\":2,\"554\":3,\"557\":1}}],[\"单个触发\",{\"0\":{\"478\":1}}],[\"单个或多个抓取\",{\"0\":{\"367\":1}}],[\"单个或一系列违规行为\",{\"1\":{\"9\":1}}],[\"单个人的名字必须含有\",{\"1\":{\"151\":1}}],[\"已全面使用\",{\"1\":{\"437\":1}}],[\"已读\",{\"1\":{\"279\":1}}],[\"已添加的条目将会存储在浏览器\",{\"1\":{\"265\":1}}],[\"已关闭\",{\"1\":{\"251\":1,\"551\":1}}],[\"已经正确安装\",{\"1\":{\"409\":1}}],[\"已经不符合期刊\",{\"1\":{\"64\":1}}],[\"已经发起的\",{\"1\":{\"63\":1}}],[\"音频文件或您导入的任何其他文件\",{\"1\":{\"251\":1}}],[\"音乐作品\",{\"1\":{\"191\":1}}],[\"程序是\",{\"1\":{\"550\":1}}],[\"程序面板打开\",{\"1\":{\"352\":1}}],[\"程序的二进制文件\",{\"1\":{\"248\":1}}],[\"程序的主体\",{\"1\":{\"248\":1}}],[\"程序文件\",{\"0\":{\"248\":1},\"1\":{\"247\":1}}],[\"程序也不支持链接文件的同步\",{\"1\":{\"229\":1}}],[\"概述\",{\"0\":{\"247\":1}}],[\"先用\",{\"1\":{\"553\":1}}],[\"先加入第一个文献\",{\"1\":{\"510\":1}}],[\"先打开\",{\"1\":{\"414\":1}}],[\"先打开右上角工作间\",{\"1\":{\"317\":1}}],[\"先选择需要引用的文献\",{\"1\":{\"266\":1}}],[\"先安装\",{\"1\":{\"260\":1}}],[\"先将条目修改为正确的文献类型\",{\"1\":{\"244\":1}}],[\"先上\",{\"1\":{\"222\":1}}],[\"博士\",{\"1\":{\"243\":1}}],[\"硕士\",{\"1\":{\"243\":1}}],[\"毕竟这么导入有可能出现各种填写不规范的情况\",{\"1\":{\"243\":1}}],[\"毕竟\",{\"1\":{\"243\":1}}],[\"找到并打开版本最新的文件夹\",{\"1\":{\"551\":1}}],[\"找到数据文件夹中的\",{\"1\":{\"507\":1}}],[\"找到自己的数据储存位置\",{\"1\":{\"507\":1}}],[\"找到网络位置\",{\"1\":{\"419\":1}}],[\"找到设置\",{\"1\":{\"419\":1}}],[\"找到\",{\"1\":{\"414\":1,\"517\":1}}],[\"找到右上角的\",{\"1\":{\"286\":1}}],[\"找到页面中部的\",{\"1\":{\"285\":1}}],[\"找到导入的文献\",{\"1\":{\"243\":1}}],[\"找到可用的\",{\"1\":{\"243\":1}}],[\"未运行状态\",{\"1\":{\"550\":1}}],[\"未正确安装\",{\"1\":{\"409\":1}}],[\"未连接到\",{\"1\":{\"321\":1}}],[\"未来也不会支持\",{\"1\":{\"309\":1}}],[\"未来也不会用于再文献里引用\",{\"1\":{\"244\":1}}],[\"未分类条目\",{\"1\":{\"243\":1}}],[\"未经他人明确许可\",{\"1\":{\"3\":1}}],[\"设成低\",{\"1\":{\"550\":1}}],[\"设定为\",{\"1\":{\"289\":1}}],[\"设定从文件导入的选项\",{\"1\":{\"243\":1}}],[\"设置较复杂\",{\"1\":{\"554\":1}}],[\"设置较简单\",{\"1\":{\"553\":1}}],[\"设置里的列表仅用来安装新样式\",{\"1\":{\"514\":1}}],[\"设置里\",{\"1\":{\"514\":1}}],[\"设置斜体及上下标等\",{\"0\":{\"513\":1}}],[\"设置名称\",{\"1\":{\"536\":1,\"537\":1,\"538\":1,\"539\":1,\"540\":1,\"541\":1,\"542\":1,\"543\":1,\"545\":1}}],[\"设置名称为\",{\"1\":{\"487\":1}}],[\"设置名字的不同部分由于\",{\"1\":{\"151\":1}}],[\"设置命名空间以避免冲突\",{\"1\":{\"483\":1}}],[\"设置编辑器\",{\"1\":{\"419\":1,\"535\":1}}],[\"设置注释颜色\",{\"1\":{\"392\":1}}],[\"设置好后点击\",{\"1\":{\"385\":1}}],[\"设置中\",{\"1\":{\"383\":1,\"506\":1}}],[\"设置中茉莉花插件的设置中的\",{\"1\":{\"241\":1}}],[\"设置方法是\",{\"1\":{\"347\":1}}],[\"设置星级\",{\"0\":{\"347\":1}}],[\"设置彩色标签\",{\"0\":{\"347\":1}}],[\"设置引注和参考文献表的格式的语言\",{\"1\":{\"320\":1}}],[\"设置和工作环境\",{\"1\":{\"252\":1}}],[\"设置的高级窗格中选择了自定义数据目录\",{\"1\":{\"250\":1}}],[\"设置的名称数量后\",{\"1\":{\"151\":1}}],[\"设置垂直对齐\",{\"1\":{\"180\":1}}],[\"设置下划线\",{\"1\":{\"180\":1}}],[\"设置字宽\",{\"1\":{\"180\":1}}],[\"设置字体为\",{\"1\":{\"131\":1}}],[\"设置没有斜体的文字倾斜\",{\"1\":{\"180\":1}}],[\"设置文字的斜体\",{\"1\":{\"180\":1}}],[\"设置折叠后的引用组要使用的分隔符\",{\"1\":{\"165\":1}}],[\"设置年份后缀的分隔符\",{\"1\":{\"165\":1}}],[\"设置术语的复数形式\",{\"1\":{\"157\":1}}],[\"设置题目\",{\"1\":{\"142\":1}}],[\"设置为一个较大的数值\",{\"1\":{\"279\":2}}],[\"设置为空字符串时\",{\"1\":{\"183\":1}}],[\"设置为对应的初级方言\",{\"1\":{\"132\":1}}],[\"设置为\",{\"1\":{\"132\":2,\"137\":1,\"142\":1,\"153\":1,\"163\":1,\"164\":3,\"165\":5,\"169\":5,\"175\":1,\"177\":1,\"279\":1,\"289\":1,\"419\":1,\"541\":1}}],[\"设置为方言\",{\"1\":{\"132\":2}}],[\"设置\",{\"1\":{\"42\":1,\"163\":1,\"250\":2,\"255\":2,\"261\":2,\"263\":1,\"279\":2,\"317\":1,\"383\":1,\"385\":1,\"419\":1,\"428\":1,\"497\":1,\"506\":1,\"507\":1,\"519\":1,\"528\":2,\"529\":2,\"534\":1}}],[\"设置用户姓名和邮箱\",{\"1\":{\"21\":1}}],[\"查找和定位\",{\"1\":{\"344\":1}}],[\"查找\",{\"1\":{\"250\":1}}],[\"查找可用的附件\",{\"1\":{\"243\":1}}],[\"查看页面中目标\",{\"1\":{\"571\":1}}],[\"查看输出文件\",{\"1\":{\"418\":1}}],[\"查看python版本\",{\"1\":{\"409\":1}}],[\"查看不同文件目录分类\",{\"1\":{\"315\":1}}],[\"查看是否有报错\",{\"1\":{\"27\":1}}],[\"查看\",{\"1\":{\"21\":1,\"538\":1}}],[\"迁移文献信息至\",{\"1\":{\"243\":1}}],[\"论文\",{\"1\":{\"242\":1}}],[\"论坛上报告\",{\"1\":{\"545\":1}}],[\"论坛发现了通过\",{\"1\":{\"531\":1}}],[\"论坛\",{\"1\":{\"224\":1,\"331\":1,\"368\":1}}],[\"换行可能导致失效\",{\"1\":{\"481\":1}}],[\"换行\",{\"1\":{\"242\":1}}],[\"知乎\",{\"1\":{\"559\":1}}],[\"知网研学的订阅费用\",{\"1\":{\"406\":1}}],[\"知网研学支持的数据库较少\",{\"1\":{\"406\":1}}],[\"知网研学\",{\"0\":{\"406\":1}}],[\"知网复制地址\",{\"1\":{\"284\":1}}],[\"知网创建rss\",{\"1\":{\"284\":1}}],[\"知网搜索期刊\",{\"1\":{\"284\":2}}],[\"知网期刊导航界面\",{\"1\":{\"284\":1}}],[\"知网\",{\"0\":{\"284\":1}}],[\"知网以外的中文文献基本没有自动补充附件的可能\",{\"1\":{\"243\":1}}],[\"知网助手\",{\"1\":{\"241\":1}}],[\"知道添加的名字可以消除引用歧义为止\",{\"1\":{\"163\":1}}],[\"错误文件名\",{\"1\":{\"241\":1}}],[\"检查是否正常显示\",{\"1\":{\"550\":1}}],[\"检查是否正常使用\",{\"1\":{\"547\":1,\"558\":1}}],[\"检查是可以通过的\",{\"1\":{\"63\":1}}],[\"检查切换到不同的参考书目样式后是否出现错误\",{\"1\":{\"519\":1}}],[\"检查图片标题中的引用\",{\"1\":{\"519\":1}}],[\"检查\",{\"0\":{\"549\":1},\"1\":{\"519\":1,\"549\":1,\"551\":1}}],[\"检查或更换网络\",{\"1\":{\"289\":1}}],[\"检索元数据\",{\"1\":{\"240\":3}}],[\"拖入附件\",{\"1\":{\"240\":1}}],[\"很重要哦\",{\"0\":{\"547\":1}}],[\"很有可能导致插入失败并报错\",{\"1\":{\"510\":1}}],[\"很多英文文献的\",{\"1\":{\"240\":1}}],[\"很快\",{\"1\":{\"218\":1}}],[\"茉莉花插件提供了如下功能\",{\"1\":{\"575\":1}}],[\"茉莉花\",{\"0\":{\"575\":1},\"1\":{\"239\":1,\"241\":1,\"505\":2,\"506\":5,\"575\":1}}],[\"抓取条目\",{\"0\":{\"366\":1}}],[\"抓取时不一定能准确获得期刊缩写\",{\"1\":{\"271\":1}}],[\"抓取时不能自动下载\",{\"1\":{\"238\":1}}],[\"抓取知网元数据\",{\"1\":{\"241\":2}}],[\"抓取文献错误解决\",{\"1\":{\"238\":1}}],[\"抓取中文文献能力依靠中文\",{\"1\":{\"238\":1}}],[\"红框圈出\",{\"1\":{\"238\":1}}],[\"各种类别的图标见\",{\"1\":{\"238\":1}}],[\"支持同时使用多种翻译引擎\",{\"1\":{\"586\":1}}],[\"支持的事件对象包括\",{\"1\":{\"474\":1}}],[\"支持的事件类型包括\",{\"1\":{\"474\":1}}],[\"支持的通用格式\",{\"1\":{\"243\":1}}],[\"支持多级分类\",{\"1\":{\"403\":1}}],[\"支持多种导出方式\",{\"1\":{\"396\":1}}],[\"支持海量引用格式\",{\"1\":{\"402\":1}}],[\"支持模板\",{\"1\":{\"396\":1}}],[\"支持双链笔记\",{\"1\":{\"573\":1}}],[\"支持双链\",{\"1\":{\"396\":1}}],[\"支持直接打开并批注\",{\"1\":{\"389\":1}}],[\"支持文本内引用\",{\"1\":{\"375\":1}}],[\"支持所有主要风格\",{\"1\":{\"374\":1}}],[\"支持最多\",{\"1\":{\"347\":1}}],[\"支持搜索功能\",{\"1\":{\"315\":1}}],[\"支持创建\",{\"1\":{\"315\":1}}],[\"支持群组条目查看\",{\"1\":{\"315\":1}}],[\"支持功能也有限\",{\"1\":{\"310\":1}}],[\"支持常用浏览器\",{\"1\":{\"307\":1}}],[\"支持导入的文件格式\",{\"0\":{\"304\":1}}],[\"支持导入的格式列表\",{\"1\":{\"243\":1}}],[\"支持阅读\",{\"1\":{\"290\":1}}],[\"支持一键订阅\",{\"1\":{\"288\":1}}],[\"支持包括zotero\",{\"1\":{\"288\":1}}],[\"支持备份\",{\"1\":{\"256\":1}}],[\"支持\",{\"1\":{\"238\":1,\"292\":2,\"315\":1,\"383\":1,\"494\":1,\"573\":1,\"586\":1}}],[\"支持材料等\",{\"1\":{\"237\":1}}],[\"支持两级嵌套\",{\"1\":{\"60\":1}}],[\"普通网页\",{\"1\":{\"236\":1}}],[\"存在一定的概率无法成功匹配到信息并自动创建条目\",{\"1\":{\"239\":1}}],[\"存储于\",{\"1\":{\"480\":1}}],[\"存储\",{\"1\":{\"400\":1}}],[\"存储空间\",{\"1\":{\"383\":2}}],[\"存储的所有数据\",{\"1\":{\"249\":1}}],[\"存储的附件\",{\"1\":{\"229\":1}}],[\"存储的附件和链接的附件\",{\"0\":{\"229\":1}}],[\"存储文件存储在\",{\"1\":{\"229\":1}}],[\"存档的地理位置\",{\"1\":{\"200\":1}}],[\"存档的位置\",{\"1\":{\"200\":1}}],[\"子附件和独立附件\",{\"0\":{\"228\":1}}],[\"子元素还还可以包含子元素\",{\"1\":{\"211\":1}}],[\"子元素以及一个可选的用来结尾的\",{\"1\":{\"159\":1}}],[\"子元素的属性值\",{\"1\":{\"155\":1}}],[\"子元素不影响各个日期部分渲染的顺序和以及其是否渲染\",{\"1\":{\"143\":1}}],[\"子元素来对名字的小部分进行特定的格式化\",{\"1\":{\"153\":1}}],[\"子元素来构建\",{\"1\":{\"138\":1,\"143\":1}}],[\"子元素来描述什么样的数据\",{\"1\":{\"129\":1}}],[\"子元素\",{\"1\":{\"133\":1,\"134\":1,\"143\":1,\"159\":1,\"176\":2,\"210\":1,\"212\":1}}],[\"我已创建\",{\"1\":{\"556\":1}}],[\"我的媒体库\",{\"1\":{\"321\":1}}],[\"我的文库\",{\"0\":{\"280\":1},\"1\":{\"280\":1,\"290\":1,\"302\":1,\"357\":2}}],[\"我希望可以引入几个术语\",{\"1\":{\"235\":1}}],[\"我如何参与到文档维护中\",{\"1\":{\"226\":1}}],[\"我们也可以手动下载新版的\",{\"1\":{\"505\":1}}],[\"我们经常需要更新\",{\"1\":{\"505\":1}}],[\"我们就可以通过\",{\"1\":{\"489\":1}}],[\"我们不建议使用第三方网盘结合\",{\"1\":{\"388\":1}}],[\"我们不使用\",{\"1\":{\"47\":1}}],[\"我们始终建议通过官方服务或\",{\"1\":{\"383\":1}}],[\"我们在这里把同步分为\",{\"1\":{\"382\":1}}],[\"我们建议您始终将标题以\",{\"1\":{\"274\":1}}],[\"我们建议总是存储为加\",{\"1\":{\"271\":1}}],[\"我们应始终意识到这个问题\",{\"1\":{\"267\":1}}],[\"我们首先介绍\",{\"1\":{\"246\":1}}],[\"我们首先着眼于\",{\"1\":{\"97\":1}}],[\"我们强烈建议您定期备份\",{\"1\":{\"246\":1}}],[\"我们创建了这个\",{\"1\":{\"225\":1}}],[\"我们可以通过第三方\",{\"1\":{\"575\":1}}],[\"我们可以借助\",{\"1\":{\"505\":1}}],[\"我们可以使用上面所示的\",{\"1\":{\"99\":1}}],[\"我们可以重写\",{\"1\":{\"87\":1}}],[\"我们想使用\",{\"1\":{\"99\":1}}],[\"我们这个样式的最后一节是\",{\"1\":{\"99\":1}}],[\"我们是如何定义这种格式的呢\",{\"1\":{\"98\":1}}],[\"我们把\",{\"1\":{\"97\":1}}],[\"我们还倾向于放一个或多个\",{\"1\":{\"96\":1}}],[\"我们还推荐安装\",{\"1\":{\"21\":1}}],[\"我们通常是提供一个\",{\"1\":{\"96\":1}}],[\"我们已经在从属样式的\",{\"1\":{\"95\":1}}],[\"我们已经了解了什么是\",{\"1\":{\"91\":1}}],[\"我们代码仓库中的大多数独立样式都比下面这个简化过的例子还要大很多\",{\"1\":{\"93\":1}}],[\"我们用\",{\"1\":{\"92\":1}}],[\"我们使用\",{\"1\":{\"92\":2,\"97\":1}}],[\"我们使用的文件的命名规则是\",{\"1\":{\"38\":1}}],[\"我们采用相同的\",{\"1\":{\"92\":1}}],[\"我们现在需要一个软件来解析这些信息\",{\"1\":{\"90\":1}}],[\"我们将这一行去掉\",{\"1\":{\"522\":1}}],[\"我们将这类特定于上下文的信息称为引用细节\",{\"1\":{\"89\":1}}],[\"我们将构成\",{\"1\":{\"247\":1}}],[\"我们将描述本地化文件的结构\",{\"1\":{\"207\":1}}],[\"我们将进一步逐行观察下面这个\",{\"1\":{\"92\":1}}],[\"我们将不得不更新每一个独立样式\",{\"1\":{\"86\":1}}],[\"我们只需要为每种语言定义一次通用的翻译\",{\"1\":{\"87\":1}}],[\"我们称这个自我描述的信息为样式元数据\",{\"1\":{\"86\":1}}],[\"我们需要学习\",{\"1\":{\"64\":1}}],[\"我们的准则\",{\"0\":{\"3\":1}}],[\"我们的承诺\",{\"0\":{\"2\":1}}],[\"我们承诺以有助于建立开放\",{\"1\":{\"2\":1}}],[\"我们承诺使社区参与者不受骚扰\",{\"1\":{\"2\":1}}],[\"❤️\",{\"0\":{\"226\":1}}],[\"准确\",{\"1\":{\"225\":1}}],[\"准确性\",{\"1\":{\"64\":1}}],[\"权威\",{\"1\":{\"225\":1}}],[\"效率低下\",{\"1\":{\"225\":1}}],[\"消息容易被刷掉或遗漏\",{\"1\":{\"225\":1}}],[\"消除歧义法则\",{\"1\":{\"163\":1}}],[\"消除歧义的引用\",{\"1\":{\"163\":1}}],[\"消除歧义的方法在下面属性被设置的时候\",{\"1\":{\"163\":1}}],[\"消除歧义\",{\"0\":{\"163\":1}}],[\"往往在群里提问\",{\"1\":{\"225\":1}}],[\"答疑效率低下\",{\"1\":{\"225\":1}}],[\"许多内容过时或错误\",{\"1\":{\"225\":1}}],[\"许多风格指南仍使用了令人疑惑的术语\",{\"1\":{\"80\":1}}],[\"🎯\",{\"0\":{\"225\":1}}],[\"🏳️\",{\"1\":{\"113\":1,\"114\":1,\"115\":1,\"116\":5,\"118\":3,\"119\":1,\"120\":1,\"121\":1,\"122\":1,\"123\":1,\"124\":1,\"125\":1,\"126\":1,\"127\":1,\"128\":1}}],[\"官网下载速度慢已经\",{\"1\":{\"409\":1}}],[\"官网上丰富的信息逐渐掌握\",{\"1\":{\"402\":1}}],[\"官网群组搜索页面\",{\"1\":{\"296\":1}}],[\"官网群组搜索\",{\"0\":{\"296\":1}}],[\"官网\",{\"1\":{\"224\":1,\"287\":1,\"294\":1,\"306\":1}}],[\"官方插件收录链接\",{\"1\":{\"570\":1}}],[\"官方不提供该功能\",{\"1\":{\"531\":1}}],[\"官方答复\",{\"1\":{\"529\":1}}],[\"官方阅读器阅读\",{\"1\":{\"529\":1}}],[\"官方文档\",{\"1\":{\"519\":2}}],[\"官方样式对于中英文混排支持得十分差劲\",{\"1\":{\"514\":1}}],[\"官方下载参考文献格式\",{\"1\":{\"509\":1}}],[\"官方论坛发帖求助\",{\"1\":{\"508\":1}}],[\"官方尚未提供此种方式的文档\",{\"1\":{\"422\":1}}],[\"官方的空间是足够的\",{\"1\":{\"383\":1}}],[\"官方的服务同步的\",{\"1\":{\"383\":1}}],[\"官方对于这一问题的说明见这两篇文章\",{\"1\":{\"382\":1}}],[\"官方服务同步\",{\"1\":{\"382\":1}}],[\"官方提供的服务同步\",{\"1\":{\"382\":1}}],[\"官方提供了一组\",{\"1\":{\"262\":1}}],[\"官方已经在测试\",{\"1\":{\"315\":1}}],[\"官方已经发布了\",{\"1\":{\"312\":1}}],[\"官方现已发布\",{\"1\":{\"310\":1}}],[\"官方目前已开发有\",{\"1\":{\"309\":1}}],[\"官方同步服务同步\",{\"1\":{\"290\":1}}],[\"官方维护的一个引文生成器\",{\"1\":{\"265\":1}}],[\"官方引文格式下载\",{\"0\":{\"263\":1},\"1\":{\"263\":1}}],[\"官方手册\",{\"1\":{\"224\":1}}],[\"官方\",{\"1\":{\"224\":1}}],[\"官方资料\",{\"0\":{\"220\":1}}],[\"随之打开名为\",{\"1\":{\"554\":1}}],[\"随意切换到任何一个其他样式\",{\"1\":{\"516\":1}}],[\"随后输入其余标识符\",{\"1\":{\"242\":1}}],[\"随后的行与\",{\"1\":{\"168\":1}}],[\"随后的代码中就可以用这个\",{\"1\":{\"97\":1}}],[\"随着了解和使用的深入\",{\"1\":{\"223\":1}}],[\"施工中\",{\"1\":{\"223\":1,\"388\":1}}],[\"常规\",{\"1\":{\"567\":1}}],[\"常见的中英混排\",{\"1\":{\"516\":1}}],[\"常见的如百度网盘\",{\"1\":{\"384\":1}}],[\"常见的附件包括\",{\"1\":{\"237\":1}}],[\"常见问题\",{\"0\":{\"498\":1,\"565\":1},\"1\":{\"223\":1,\"334\":1}}],[\"常用插件下载国内镜像\",{\"1\":{\"224\":1}}],[\"常用文档和链接\",{\"0\":{\"224\":1}}],[\"常用\",{\"1\":{\"114\":1}}],[\"优势\",{\"0\":{\"402\":1}}],[\"优秀插件推荐等\",{\"1\":{\"223\":1}}],[\"优先级逐渐降低\",{\"1\":{\"132\":1}}],[\"备份这一目录\",{\"1\":{\"382\":1}}],[\"备份恢复完成\",{\"1\":{\"258\":1}}],[\"备份文件是随条目一起同步的\",{\"1\":{\"261\":1}}],[\"备份文件\",{\"1\":{\"257\":1}}],[\"备份转换器\",{\"1\":{\"256\":1}}],[\"备份已安装插件\",{\"1\":{\"256\":1}}],[\"备份用户配置文件可确保您可以轻松地还原您的个性化\",{\"1\":{\"252\":1}}],[\"备份\",{\"0\":{\"246\":1},\"1\":{\"256\":3,\"261\":1}}],[\"备份数据文件可确保您不会失去已收集的所有信息\",{\"1\":{\"249\":1}}],[\"备份数据\",{\"1\":{\"223\":1}}],[\"备份和协作\",{\"1\":{\"223\":1}}],[\"备注\",{\"0\":{\"55\":1}}],[\"导致期刊\",{\"1\":{\"289\":1}}],[\"导出转换器的行为\",{\"1\":{\"539\":1}}],[\"导出其他文本编辑器兼容的文本格式\",{\"1\":{\"413\":1}}],[\"导出多个笔记\",{\"1\":{\"398\":1}}],[\"导出笔记及条目子笔记\",{\"1\":{\"398\":1}}],[\"导出笔记\",{\"0\":{\"398\":1}}],[\"导出条目或\",{\"0\":{\"343\":1}}],[\"导出上述文件格式的网站或软件\",{\"1\":{\"304\":1}}],[\"导出\",{\"1\":{\"301\":3,\"302\":1}}],[\"导出的备份文件\",{\"1\":{\"259\":1}}],[\"导出的备份会默认储存在\",{\"1\":{\"259\":1}}],[\"导出时\",{\"1\":{\"259\":1}}],[\"导出备份成功\",{\"1\":{\"259\":1}}],[\"导出备份\",{\"1\":{\"259\":1}}],[\"导出备份文件\",{\"0\":{\"259\":1}}],[\"导出引用信息\",{\"1\":{\"243\":1}}],[\"导入zotero菜单\",{\"1\":{\"302\":1}}],[\"导入完成\",{\"1\":{\"301\":1,\"302\":1}}],[\"导入完成后\",{\"1\":{\"243\":1}}],[\"导入\",{\"0\":{\"301\":1,\"302\":1},\"1\":{\"243\":1,\"301\":3,\"302\":1,\"304\":2}}],[\"导入条目的问题合集\",{\"1\":{\"223\":1}}],[\"导入文件\",{\"1\":{\"223\":1}}],[\"导演\",{\"1\":{\"195\":1}}],[\"浏览器会下载所选择的引文格式到本地\",{\"1\":{\"528\":1}}],[\"浏览器快速抓取文献至zotero\",{\"1\":{\"402\":1}}],[\"浏览器地址栏的网址即为群组链接\",{\"1\":{\"297\":1}}],[\"浏览器地址栏的网址即\",{\"1\":{\"285\":1}}],[\"浏览器插件已经安装成功了\",{\"1\":{\"307\":1}}],[\"浏览器插件下载与安装\",{\"1\":{\"288\":1}}],[\"浏览器插件\",{\"0\":{\"307\":1},\"1\":{\"223\":1,\"536\":1}}],[\"浏览器扩展\",{\"1\":{\"216\":1}}],[\"桌面端\",{\"1\":{\"223\":1,\"290\":1}}],[\"⛳️\",{\"0\":{\"223\":1}}],[\"百科全书的\",{\"1\":{\"549\":1}}],[\"百科全书的目的\",{\"0\":{\"225\":1}}],[\"百科全书文档\",{\"1\":{\"225\":1}}],[\"百科全书简介\",{\"0\":{\"223\":1}}],[\"百科全书搜索一下\",{\"1\":{\"222\":1}}],[\"百科全书\",{\"0\":{\"222\":1}}],[\"接口\",{\"0\":{\"463\":1}}],[\"接口的一些限制\",{\"1\":{\"408\":1}}],[\"接口类型定义包\",{\"1\":{\"220\":1}}],[\"接着自定义库的名称\",{\"1\":{\"301\":1}}],[\"接着根据自己的需要选择需要的\",{\"1\":{\"266\":1}}],[\"接下来\",{\"1\":{\"132\":1}}],[\"接下来分析\",{\"1\":{\"97\":1}}],[\"接下来我们将深入到\",{\"1\":{\"91\":1}}],[\"接下来就是你所要引用的条目在参考文献表中的具体内容\",{\"1\":{\"88\":1}}],[\"看看错误是否仍然发生\",{\"1\":{\"519\":1}}],[\"看看这是否能解决问题\",{\"1\":{\"519\":1}}],[\"看不到上面的内容\",{\"1\":{\"501\":1}}],[\"看后面的安装部分就行\",{\"1\":{\"408\":1}}],[\"看起来类似于上面所说的分类\",{\"1\":{\"360\":1}}],[\"看到的文件如下\",{\"1\":{\"410\":1}}],[\"看到所加入的群组\",{\"1\":{\"296\":1}}],[\"看到右侧信息栏\",{\"1\":{\"280\":1}}],[\"看图王一类的无关信息\",{\"1\":{\"241\":1}}],[\"看一下基本语法即可\",{\"1\":{\"218\":1}}],[\"看完后可以读懂并编辑简单的\",{\"1\":{\"91\":1}}],[\"鉴于插件在\",{\"1\":{\"214\":1}}],[\"待查阅完成后再用第\",{\"1\":{\"510\":1}}],[\"待全部文献添加完成后\",{\"1\":{\"510\":1}}],[\"待完善\",{\"1\":{\"214\":1,\"268\":1,\"421\":1,\"423\":1,\"491\":1}}],[\"待办\",{\"1\":{\"0\":1,\"518\":1,\"523\":1,\"524\":1,\"525\":1}}],[\"插入一篇文献后\",{\"1\":{\"553\":1}}],[\"插入参考文献后在\",{\"1\":{\"513\":1}}],[\"插入参考文献的基础教程\",{\"0\":{\"509\":1}}],[\"插入多条文献\",{\"1\":{\"510\":1}}],[\"插入笔记add\",{\"1\":{\"509\":1}}],[\"插入\",{\"1\":{\"509\":3,\"510\":2}}],[\"插入到任何文本字段或程序中\",{\"1\":{\"377\":1}}],[\"插入引用常见的操作问题\",{\"0\":{\"510\":1}}],[\"插入引用的问题合集等\",{\"1\":{\"223\":1}}],[\"插入引文\",{\"1\":{\"375\":1}}],[\"插入引文中遇到的一些常见问题\",{\"1\":{\"334\":1}}],[\"插件深度集成了\",{\"1\":{\"586\":1}}],[\"插件都指这一种\",{\"1\":{\"569\":1}}],[\"插件可以做什么\",{\"0\":{\"569\":1}}],[\"插件可以实时查看成员某文献条目的阅读时间\",{\"1\":{\"290\":1}}],[\"插件会访问\",{\"1\":{\"565\":1}}],[\"插件设置\",{\"0\":{\"564\":1},\"1\":{\"564\":1}}],[\"插件下载\",{\"1\":{\"562\":1}}],[\"插件介绍\",{\"0\":{\"562\":1}}],[\"插件在\",{\"1\":{\"547\":1}}],[\"插件界面用于添加引文始终位于最前面\",{\"1\":{\"543\":1}}],[\"插件中文镜像\",{\"1\":{\"562\":1}}],[\"插件中使用字段模式\",{\"1\":{\"519\":1}}],[\"插件中的一段代码\",{\"1\":{\"469\":1}}],[\"插件快捷插入\",{\"1\":{\"513\":1}}],[\"插件快速完成该操作\",{\"1\":{\"505\":1}}],[\"插件更新\",{\"1\":{\"506\":1,\"507\":1}}],[\"插件里的\",{\"1\":{\"506\":1,\"507\":1}}],[\"插件里复制到\",{\"1\":{\"414\":1}}],[\"插件主页\",{\"1\":{\"506\":1}}],[\"插件已经是最新版本\",{\"1\":{\"506\":1}}],[\"插件出现故障无法完成一键自动更新时\",{\"1\":{\"505\":1}}],[\"插件检查更新时提示未找到更新\",{\"0\":{\"504\":1}}],[\"插件页面显示过大超出屏幕\",{\"0\":{\"501\":1}}],[\"插件安装见\",{\"1\":{\"577\":1}}],[\"插件安装失败\",{\"1\":{\"571\":1}}],[\"插件安装包可在这里下载\",{\"1\":{\"506\":1}}],[\"插件安装包格式特殊\",{\"0\":{\"502\":1}}],[\"插件安装提示无法安装插件\",{\"0\":{\"503\":1}}],[\"插件安装的常见问题\",{\"0\":{\"499\":1}}],[\"插件安装成功\",{\"1\":{\"260\":1}}],[\"插件所能支持的\",{\"1\":{\"449\":1,\"450\":1}}],[\"插件清单\",{\"0\":{\"438\":1}}],[\"插件版本过低\",{\"1\":{\"506\":1}}],[\"插件版本\",{\"1\":{\"427\":1}}],[\"插件生命周期挂钩传递两个参数\",{\"1\":{\"427\":1}}],[\"插件被卸载时调用\",{\"1\":{\"427\":1}}],[\"插件被禁用时或\",{\"1\":{\"427\":1}}],[\"插件被安装时调用\",{\"1\":{\"427\":1}}],[\"插件启动时调用\",{\"1\":{\"427\":1}}],[\"插件强行安装到\",{\"1\":{\"414\":1}}],[\"插件相关信息\",{\"1\":{\"413\":1}}],[\"插件类似\",{\"1\":{\"413\":1}}],[\"插件使用方法\",{\"0\":{\"563\":1}}],[\"插件使用\",{\"0\":{\"413\":1}}],[\"插件地址为\",{\"1\":{\"407\":1}}],[\"插件是利用\",{\"1\":{\"407\":1}}],[\"插件插入参考这篇\",{\"1\":{\"407\":1}}],[\"插件允许用户直接从他们的文字处理软件\",{\"1\":{\"375\":1}}],[\"插件选项卡中的\",{\"1\":{\"516\":1}}],[\"插件选项卡\",{\"0\":{\"319\":1},\"1\":{\"319\":1,\"509\":1}}],[\"插件图标会显示为\",{\"1\":{\"307\":1}}],[\"插件图标\",{\"1\":{\"288\":1}}],[\"插件推荐\",{\"1\":{\"266\":1,\"268\":1,\"271\":1,\"273\":1}}],[\"插件后\",{\"1\":{\"257\":1}}],[\"插件的后缀名为\",{\"1\":{\"570\":1}}],[\"插件的\",{\"1\":{\"562\":1}}],[\"插件的安装\",{\"0\":{\"550\":1},\"1\":{\"554\":1}}],[\"插件的安装包和安装\",{\"1\":{\"254\":1}}],[\"插件的设置\",{\"1\":{\"506\":1}}],[\"插件的一种持久化设置能力\",{\"1\":{\"480\":1}}],[\"插件的版本\",{\"1\":{\"443\":1}}],[\"插件的名称\",{\"1\":{\"442\":1}}],[\"插件的入口脚本文件\",{\"1\":{\"425\":1}}],[\"插件的工作过程\",{\"1\":{\"423\":1}}],[\"插件的按钮与\",{\"1\":{\"413\":1}}],[\"插件的教程进行排查\",{\"1\":{\"505\":1}}],[\"插件的教程\",{\"1\":{\"407\":1}}],[\"插件的说明\",{\"1\":{\"318\":1}}],[\"插件的要求\",{\"1\":{\"215\":1}}],[\"插件信息及插件配置等\",{\"1\":{\"254\":1}}],[\"插件及其配置\",{\"1\":{\"252\":1}}],[\"插件商店下载安装\",{\"1\":{\"271\":1,\"273\":1,\"513\":1,\"516\":1}}],[\"插件商店\",{\"1\":{\"241\":1}}],[\"插件提供的剪切板包装\",{\"1\":{\"472\":1}}],[\"插件提供的文档\",{\"1\":{\"396\":1}}],[\"插件提供\",{\"1\":{\"239\":1,\"393\":1}}],[\"插件框架支持\",{\"1\":{\"218\":1}}],[\"插件\",{\"0\":{\"216\":1,\"410\":1,\"543\":1,\"546\":1,\"560\":1,\"568\":1,\"577\":1},\"1\":{\"223\":1,\"241\":1,\"243\":1,\"255\":1,\"260\":1,\"266\":3,\"268\":1,\"271\":1,\"273\":1,\"319\":1,\"348\":1,\"396\":1,\"397\":1,\"427\":1,\"429\":1,\"465\":1,\"500\":1,\"513\":1,\"516\":1,\"517\":2,\"549\":1,\"550\":2,\"554\":1,\"569\":4}}],[\"插件遵循\",{\"1\":{\"215\":1}}],[\"插件开发文档\",{\"1\":{\"214\":1}}],[\"插件开发文档请参阅\",{\"1\":{\"214\":1}}],[\"插件开发\",{\"1\":{\"214\":1,\"494\":1}}],[\"插件开发指南\",{\"0\":{\"214\":1}}],[\"插画者\",{\"1\":{\"195\":1}}],[\"预先将英文和中文文献的语言设定为相应要求的内容\",{\"1\":{\"516\":1}}],[\"预计\",{\"1\":{\"315\":1}}],[\"预定义实体表\",{\"0\":{\"213\":1}}],[\"预览\",{\"1\":{\"43\":1,\"52\":1}}],[\"剩下的代码为\",{\"1\":{\"210\":1}}],[\"规则进行解析\",{\"1\":{\"210\":1}}],[\"规范\",{\"0\":{\"39\":1,\"101\":1}}],[\"列出了插件各版本插件兼容的\",{\"1\":{\"491\":1}}],[\"列出了本地化\",{\"1\":{\"208\":1}}],[\"列表种没有空白区域了怎么办\",{\"1\":{\"240\":1}}],[\"列表中的选择\",{\"1\":{\"143\":1}}],[\"列表中的值\",{\"1\":{\"135\":1}}],[\"给出如何转换所有部分的指示\",{\"1\":{\"207\":1}}],[\"给出该\",{\"1\":{\"125\":1}}],[\"位\",{\"1\":{\"409\":1}}],[\"位下载地址\",{\"1\":{\"409\":2}}],[\"位不同\",{\"1\":{\"204\":1}}],[\"位并且其中有\",{\"1\":{\"204\":1}}],[\"位数\",{\"1\":{\"204\":1}}],[\"位置的前后或内部\",{\"1\":{\"553\":1,\"554\":1}}],[\"位置信息\",{\"1\":{\"465\":1}}],[\"位置是我引用被判断为真\",{\"1\":{\"166\":1}}],[\"位置可以使用下面的选项测试\",{\"1\":{\"159\":1}}],[\"位置等\",{\"1\":{\"85\":1}}],[\"忽略不需要的\",{\"1\":{\"204\":1}}],[\"保持\",{\"1\":{\"556\":1}}],[\"保持来源分类\",{\"1\":{\"326\":1}}],[\"保持源已排序\",{\"1\":{\"322\":1,\"326\":1}}],[\"保持对齐\",{\"1\":{\"39\":1}}],[\"保存\",{\"1\":{\"554\":2}}],[\"保存此文档即可\",{\"1\":{\"553\":1}}],[\"保存项目的速度\",{\"1\":{\"545\":1}}],[\"保存项目的存档\",{\"1\":{\"200\":1}}],[\"保存的附件\",{\"1\":{\"536\":1}}],[\"保存的搜索\",{\"0\":{\"360\":1}}],[\"保存好正在编辑的\",{\"1\":{\"517\":1}}],[\"保存一切\",{\"1\":{\"402\":1}}],[\"保存网页\",{\"0\":{\"369\":1}}],[\"保存图标\",{\"1\":{\"367\":1}}],[\"保存文档的备份副本\",{\"1\":{\"333\":1}}],[\"保存之后即可在主界面左侧订阅处看到订阅的内容及更新\",{\"1\":{\"277\":1}}],[\"保存在该字段的数据应为若干个键值对\",{\"1\":{\"275\":1}}],[\"演讲\",{\"1\":{\"198\":1}}],[\"歌曲\",{\"1\":{\"198\":1}}],[\"海报\",{\"1\":{\"198\":1}}],[\"杂志文章\",{\"1\":{\"198\":1}}],[\"季节\",{\"0\":{\"196\":1}}],[\"季节将被忽略\",{\"1\":{\"177\":1}}],[\"采访\",{\"1\":{\"198\":1}}],[\"采访者\",{\"1\":{\"195\":1}}],[\"采取\",{\"1\":{\"63\":1}}],[\"角色\",{\"0\":{\"195\":1}}],[\"卷\",{\"1\":{\"191\":1}}],[\"卷和期\",{\"1\":{\"88\":1}}],[\"诗\",{\"1\":{\"191\":1}}],[\"词条\",{\"1\":{\"191\":1}}],[\"词缀将出现在同一个元素的\",{\"1\":{\"181\":1}}],[\"词缀\",{\"0\":{\"181\":1},\"1\":{\"143\":1,\"151\":1,\"153\":2}}],[\"节\",{\"1\":{\"191\":1}}],[\"段落样式控制的\",{\"1\":{\"512\":1}}],[\"段\",{\"1\":{\"191\":1}}],[\"笔记编辑器\",{\"0\":{\"538\":1}}],[\"笔记同步\",{\"1\":{\"398\":1}}],[\"笔记导出\",{\"1\":{\"398\":1}}],[\"笔记分为两种\",{\"1\":{\"396\":1}}],[\"笔记功能介绍\",{\"0\":{\"396\":1}}],[\"笔记栏\",{\"1\":{\"392\":1}}],[\"笔记始终是通过\",{\"1\":{\"383\":1}}],[\"笔记等\",{\"1\":{\"294\":1}}],[\"笔记附件\",{\"1\":{\"237\":1}}],[\"笔记插件中文文档\",{\"1\":{\"224\":1}}],[\"笔记\",{\"0\":{\"363\":1},\"1\":{\"191\":1,\"249\":1,\"290\":1,\"363\":1,\"382\":1,\"413\":1,\"431\":1}}],[\"笔记以及参考书目的描述\",{\"1\":{\"107\":1}}],[\"问题就会消失\",{\"1\":{\"519\":1}}],[\"问题即可得到解决\",{\"1\":{\"519\":1}}],[\"问题解决\",{\"1\":{\"497\":1}}],[\"问题\",{\"1\":{\"191\":1}}],[\"章序号\",{\"1\":{\"201\":1}}],[\"章节\",{\"1\":{\"198\":1}}],[\"章\",{\"1\":{\"191\":1}}],[\"神学\",{\"1\":{\"189\":1}}],[\"科学\",{\"1\":{\"189\":1}}],[\"心理学\",{\"1\":{\"189\":1}}],[\"政治科学\",{\"1\":{\"189\":1}}],[\"物理学\",{\"1\":{\"189\":1}}],[\"哲学\",{\"1\":{\"189\":1}}],[\"药物学\",{\"1\":{\"189\":1}}],[\"法学\",{\"1\":{\"189\":1}}],[\"历史\",{\"1\":{\"189\":1}}],[\"地址抓取\",{\"1\":{\"567\":1}}],[\"地址时较为繁琐\",{\"1\":{\"566\":1}}],[\"地址遭到封禁\",{\"1\":{\"565\":1}}],[\"地址\",{\"1\":{\"265\":1,\"286\":2,\"288\":3,\"314\":1,\"554\":1,\"562\":1}}],[\"地址和\",{\"1\":{\"134\":1}}],[\"地图\",{\"1\":{\"198\":1}}],[\"地质学\",{\"1\":{\"189\":1}}],[\"地理学\",{\"1\":{\"189\":1}}],[\"工程\",{\"1\":{\"522\":2}}],[\"工程技术2区\",{\"1\":{\"522\":2}}],[\"工程技术1区\",{\"1\":{\"522\":4}}],[\"工程学\",{\"1\":{\"189\":1}}],[\"工作区\",{\"1\":{\"469\":1}}],[\"工具条\",{\"1\":{\"509\":1}}],[\"工具\",{\"1\":{\"417\":1,\"418\":1,\"517\":1,\"528\":1,\"571\":1,\"572\":1}}],[\"工具栏中的新条目绿色按钮\",{\"1\":{\"372\":1}}],[\"工具栏中的按标识符添加条目按钮\",{\"1\":{\"370\":1}}],[\"工具栏中的添加附件\",{\"1\":{\"364\":1}}],[\"工具会自动对提交的\",{\"1\":{\"33\":1}}],[\"植物学\",{\"1\":{\"189\":1}}],[\"人文学科\",{\"1\":{\"189\":1}}],[\"人类学\",{\"1\":{\"189\":1}}],[\"人名中的连字符\",{\"0\":{\"171\":1},\"1\":{\"151\":1}}],[\"反之亦然\",{\"1\":{\"187\":1}}],[\"反应了日期显示的顺序为日\",{\"1\":{\"138\":1}}],[\"具有包含目标窗口的\",{\"1\":{\"428\":1}}],[\"具有以下属性的对象\",{\"1\":{\"427\":1}}],[\"具有父条目\",{\"1\":{\"396\":1}}],[\"具有彩色标签的条目上有彩色方块显示\",{\"1\":{\"347\":1}}],[\"具有webdav同步功能的网盘\",{\"1\":{\"314\":1}}],[\"具有相同作者的条目的作者名字只渲染一次\",{\"1\":{\"183\":1}}],[\"具备几乎相同的网络兼容性\",{\"1\":{\"307\":1}}],[\"具体步骤如下\",{\"1\":{\"517\":1}}],[\"具体方法详见这一教程\",{\"1\":{\"512\":1}}],[\"具体方法见后文里\",{\"1\":{\"509\":1}}],[\"具体取决于它的类型\",{\"1\":{\"354\":1}}],[\"具体使用方法将在\",{\"1\":{\"307\":1}}],[\"具体文献条目将会加粗显示\",{\"1\":{\"281\":1}}],[\"具体操作请参见\",{\"1\":{\"510\":1}}],[\"具体操作步骤如下\",{\"1\":{\"497\":1,\"529\":1}}],[\"具体操作因网站不同而略有区别\",{\"1\":{\"243\":1}}],[\"具体操作如下\",{\"1\":{\"240\":1}}],[\"具体要求请看如下说明\",{\"1\":{\"241\":1}}],[\"具体要依赖下面的细节\",{\"1\":{\"176\":1}}],[\"具体见下面的\",{\"1\":{\"135\":1}}],[\"具体格式是什么样的\",{\"1\":{\"86\":1}}],[\"具体的操作过程\",{\"1\":{\"413\":1}}],[\"具体的代替方案取决于\",{\"1\":{\"169\":1}}],[\"具体的\",{\"1\":{\"63\":1}}],[\"缩进\",{\"1\":{\"183\":1}}],[\"缩写列表来缩写标题\",{\"1\":{\"320\":1}}],[\"缩写的功能\",{\"1\":{\"271\":1}}],[\"缩写的情况下\",{\"1\":{\"151\":1}}],[\"缩写出现的时候\",{\"1\":{\"178\":1}}],[\"缩写\",{\"1\":{\"178\":1}}],[\"缩写锁代替的名字列表会逐个的加入到渲染列表中\",{\"1\":{\"163\":1}}],[\"缩写通过\",{\"1\":{\"154\":1}}],[\"缩写和编辑\",{\"1\":{\"151\":1}}],[\"范围分隔符\",{\"0\":{\"179\":1}}],[\"范围分隔符从\",{\"1\":{\"145\":1}}],[\"至于使用\",{\"1\":{\"178\":1}}],[\"至少能在已有的\",{\"1\":{\"64\":1}}],[\"扽\",{\"1\":{\"178\":1}}],[\"负数的年份\",{\"1\":{\"177\":1}}],[\"负责输出引注和协调引用\",{\"1\":{\"98\":1}}],[\"返回监听器\",{\"1\":{\"475\":1}}],[\"返回值为排序后的名称列表\",{\"1\":{\"178\":1}}],[\"返回整数\",{\"1\":{\"177\":1}}],[\"返回\",{\"1\":{\"177\":1,\"314\":1}}],[\"返回名字列表字符串\",{\"1\":{\"177\":1}}],[\"返回使用\",{\"1\":{\"151\":1}}],[\"影响所有的名字\",{\"1\":{\"176\":1}}],[\"局部选项\",{\"0\":{\"175\":1}}],[\"粒子将和姓合并到一起\",{\"1\":{\"173\":1}}],[\"某些引文样式要求一个文本内引文中的项目按字母顺序排序\",{\"1\":{\"322\":1}}],[\"某些\",{\"1\":{\"289\":1}}],[\"某些名字中包含的粒子禁止被降级\",{\"1\":{\"173\":1}}],[\"某个群组文库中\",{\"1\":{\"280\":1}}],[\"某一期刊\",{\"1\":{\"280\":1}}],[\"某一部分内容被合并\",{\"1\":{\"63\":1}}],[\"显示行为\",{\"1\":{\"541\":1}}],[\"显示上一次调试调用的毫秒数\",{\"1\":{\"536\":1}}],[\"显示字段代码而不是格式化文本可能会有所帮助\",{\"1\":{\"519\":1}}],[\"显示在其父项下方\",{\"1\":{\"362\":1}}],[\"显示元数据\",{\"1\":{\"359\":1}}],[\"显示数据目录\",{\"1\":{\"250\":1}}],[\"显示\",{\"0\":{\"183\":1}}],[\"显示的方式和\",{\"1\":{\"173\":1}}],[\"显示更多作者姓名\",{\"1\":{\"163\":1}}],[\"西方人的名字中经常包括一个或者多个小部分\",{\"1\":{\"173\":1}}],[\"西里尔名字的排序顺序\",{\"1\":{\"152\":1}}],[\"西里尔名字的显示顺序\",{\"1\":{\"152\":1}}],[\"页码\",{\"1\":{\"516\":1}}],[\"页码以及引用该条目所需的任何其他数据\",{\"1\":{\"355\":1}}],[\"页码将添加到引文中\",{\"1\":{\"328\":1}}],[\"页码和其他定位器\",{\"0\":{\"328\":1}}],[\"页码范围或卷\",{\"1\":{\"328\":1}}],[\"页码范围的第一个页码\",{\"1\":{\"200\":1}}],[\"页码范围格式\",{\"0\":{\"204\":1},\"1\":{\"172\":2}}],[\"页码范围\",{\"0\":{\"172\":1},\"1\":{\"179\":1}}],[\"页\",{\"1\":{\"191\":1}}],[\"页面内的文字可以解析出所有参考文献\",{\"1\":{\"465\":1}}],[\"页面左下角为原点\",{\"1\":{\"465\":1}}],[\"页面上找到合适的\",{\"1\":{\"264\":1}}],[\"页面\",{\"1\":{\"234\":1,\"504\":1}}],[\"页面标题\",{\"1\":{\"44\":1}}],[\"页面显示的最后更新时间是\",{\"1\":{\"39\":1}}],[\"页面的标题\",{\"1\":{\"39\":2}}],[\"页面引入配置\",{\"1\":{\"39\":1}}],[\"页面中\",{\"1\":{\"33\":1}}],[\"直接安装美化后的图标文件\",{\"0\":{\"556\":1}}],[\"直接点\",{\"1\":{\"514\":1}}],[\"直接打开\",{\"1\":{\"412\":1}}],[\"直接进入下一步\",{\"1\":{\"409\":1}}],[\"直接去掉\",{\"1\":{\"271\":1}}],[\"直接生成参考文献表\",{\"0\":{\"266\":1}}],[\"直接导入这一引文信息\",{\"1\":{\"243\":1}}],[\"直接拖入\",{\"1\":{\"240\":1}}],[\"直接地或者通过宏调用\",{\"1\":{\"158\":1}}],[\"直到找到出现问题时必须存在的最小部分\",{\"1\":{\"519\":1}}],[\"直到所有文献都完成插入之后再按回车确认本次插入\",{\"1\":{\"510\":1}}],[\"直到所有的键值都完成排序为止\",{\"1\":{\"176\":1}}],[\"直到你清除浏览器\",{\"1\":{\"265\":1}}],[\"直到不匹配的名字为止\",{\"1\":{\"169\":1}}],[\"匹配项将立即显示在对话框下方\",{\"1\":{\"321\":1}}],[\"匹配完成后\",{\"1\":{\"240\":1}}],[\"匹配从第一个名字开始\",{\"1\":{\"169\":1}}],[\"匹配范围将为变为两位\",{\"1\":{\"136\":1}}],[\"折叠年份范围\",{\"1\":{\"165\":1}}],[\"折叠相同的年份\",{\"1\":{\"165\":1}}],[\"折叠引用数字的范围\",{\"1\":{\"165\":1}}],[\"折叠引用组中分隔符可以是使用\",{\"1\":{\"165\":1}}],[\"激活引用分组和折叠\",{\"1\":{\"165\":1}}],[\"激活引用分组并为引用组中的引用指定分隔符\",{\"1\":{\"164\":1}}],[\"激活\",{\"1\":{\"164\":1}}],[\"字体及文字大小\",{\"1\":{\"512\":1}}],[\"字体\",{\"0\":{\"496\":1}}],[\"字符串\",{\"1\":{\"443\":1}}],[\"字符串的第一个字符保持为大写\",{\"1\":{\"187\":1}}],[\"字段是代码而不是引文\",{\"0\":{\"523\":1}}],[\"字段的值\",{\"1\":{\"539\":1}}],[\"字段的信息统一为zh或者样式文件要求的样子\",{\"1\":{\"516\":1}}],[\"字段的信息统一为\",{\"1\":{\"516\":1}}],[\"字段的内容将被忽略\",{\"1\":{\"320\":1}}],[\"字段修改为en\",{\"1\":{\"516\":1}}],[\"字段改为en\",{\"1\":{\"509\":1}}],[\"字段中输入文本来修改引文始终比直接在\",{\"1\":{\"329\":1}}],[\"字段\",{\"1\":{\"275\":1,\"301\":2,\"320\":2,\"328\":1,\"463\":1,\"565\":1}}],[\"字母序的年后缀将会被添加到有歧义的名字上\",{\"1\":{\"163\":1}}],[\"字处理软件\",{\"1\":{\"84\":2}}],[\"没被设置或者\",{\"1\":{\"163\":1}}],[\"没有显示\",{\"0\":{\"548\":1}}],[\"没有反应\",{\"1\":{\"528\":1}}],[\"没有监测到引用\",{\"0\":{\"525\":1}}],[\"没有内容显示\",{\"1\":{\"517\":1}}],[\"没有父条目\",{\"1\":{\"396\":1}}],[\"没有弹出窗口\",{\"1\":{\"264\":1}}],[\"没有富文本标记\",{\"1\":{\"178\":1}}],[\"没有被设置\",{\"1\":{\"151\":1,\"163\":1}}],[\"没有词缀的数字可以被分别转换\",{\"1\":{\"149\":1}}],[\"没有属性\",{\"1\":{\"143\":1}}],[\"没有性别的术语表示中性\",{\"1\":{\"137\":1}}],[\"扩展\",{\"0\":{\"414\":1}}],[\"扩展模式\",{\"1\":{\"204\":1}}],[\"扩展单个名字的步骤是\",{\"1\":{\"163\":1}}],[\"扩展单个名字\",{\"1\":{\"163\":1}}],[\"扩展名字的方法\",{\"1\":{\"163\":1}}],[\"扩展到\",{\"1\":{\"163\":1}}],[\"扩展姓名\",{\"1\":{\"163\":1}}],[\"含教程\",{\"1\":{\"288\":1}}],[\"含有歧义的引用\",{\"1\":{\"163\":1}}],[\"含义相同\",{\"1\":{\"103\":1}}],[\"产生歧义的名字将被扩展\",{\"1\":{\"163\":1}}],[\"产生的\",{\"1\":{\"19\":1}}],[\"方式二\",{\"1\":{\"513\":1}}],[\"方式一\",{\"1\":{\"513\":1}}],[\"方案已经过时\",{\"1\":{\"383\":1}}],[\"方法新增标签页\",{\"1\":{\"469\":1}}],[\"方法是下载好以上的标准化的参考格式文件\",{\"1\":{\"304\":1}}],[\"方法\",{\"0\":{\"506\":1,\"507\":1},\"1\":{\"163\":1,\"460\":1}}],[\"方言的本地化数据\",{\"1\":{\"109\":1}}],[\"实例的管理器\",{\"1\":{\"466\":1}}],[\"实现\",{\"1\":{\"307\":1}}],[\"实时共享同步到群组成员的\",{\"1\":{\"290\":1}}],[\"实行渲染\",{\"1\":{\"163\":1}}],[\"实际书写代码时并不需要写成\",{\"1\":{\"92\":1}}],[\"添加书签\",{\"1\":{\"575\":1}}],[\"添加中文\",{\"1\":{\"575\":1}}],[\"添加上述配置后\",{\"1\":{\"567\":1}}],[\"添加上标标识\",{\"1\":{\"513\":1}}],[\"添加设置\",{\"1\":{\"545\":1}}],[\"添加宏代码如下\",{\"1\":{\"532\":1}}],[\"添加下标标识\",{\"1\":{\"513\":1}}],[\"添加加粗标识\",{\"1\":{\"513\":1}}],[\"添加斜体标识\",{\"1\":{\"513\":1}}],[\"添加完后返回\",{\"1\":{\"513\":1}}],[\"添加事件\",{\"1\":{\"474\":1}}],[\"添加菜单或绑定快捷方式都必须由\",{\"1\":{\"428\":1}}],[\"添加参考文献列表\",{\"1\":{\"413\":1}}],[\"添加参考文献表\",{\"0\":{\"323\":1}}],[\"添加子笔记\",{\"1\":{\"397\":1}}],[\"添加应用\",{\"1\":{\"385\":1}}],[\"添加有关项目的批注或注释\",{\"1\":{\"333\":1}}],[\"添加多来源\",{\"1\":{\"326\":1}}],[\"添加引用文献\",{\"1\":{\"413\":1}}],[\"添加引文对话框\",{\"1\":{\"324\":1}}],[\"添加引文\",{\"1\":{\"321\":2,\"322\":3,\"326\":1}}],[\"添加引注\",{\"0\":{\"321\":1}}],[\"添加一部分或最终手动进行更新\",{\"1\":{\"320\":1}}],[\"添加笔记\",{\"0\":{\"389\":1},\"1\":{\"319\":1}}],[\"添加\",{\"0\":{\"345\":1},\"1\":{\"319\":2,\"321\":1,\"323\":2,\"324\":1,\"327\":1,\"332\":1,\"333\":1,\"413\":1,\"554\":1}}],[\"添加到窗口的\",{\"1\":{\"428\":1}}],[\"添加到环境变量里\",{\"1\":{\"409\":2}}],[\"添加到一个新的笔记\",{\"1\":{\"394\":1}}],[\"添加到\",{\"1\":{\"280\":1}}],[\"添加到文库\",{\"1\":{\"280\":1}}],[\"添加文献条目到\",{\"0\":{\"280\":1}}],[\"添加标签\",{\"1\":{\"238\":1,\"347\":1,\"431\":1}}],[\"添加条目选中事件监听\",{\"1\":{\"458\":1}}],[\"添加条目后信息窗格\",{\"1\":{\"238\":1,\"269\":1}}],[\"添加条目\",{\"0\":{\"234\":1}}],[\"添加附件的方式与英文文献相同\",{\"1\":{\"241\":1}}],[\"添加附件后\",{\"1\":{\"239\":1}}],[\"添加附件\",{\"0\":{\"227\":1},\"1\":{\"232\":1}}],[\"添加分类和标签\",{\"1\":{\"223\":1}}],[\"添加年份后缀\",{\"1\":{\"163\":1}}],[\"添加缩写或者完整的名\",{\"1\":{\"163\":1}}],[\"结合设置条目语言解决\",{\"1\":{\"514\":1}}],[\"结构\",{\"1\":{\"210\":1}}],[\"结束日期用于次要排序\",{\"1\":{\"177\":1}}],[\"结果为\",{\"1\":{\"159\":1}}],[\"结果就为\",{\"1\":{\"159\":1}}],[\"结尾的除外\",{\"1\":{\"136\":1}}],[\"结尾的数字除外\",{\"1\":{\"136\":2}}],[\"结尾的数字\",{\"1\":{\"136\":2}}],[\"结尾\",{\"1\":{\"136\":1}}],[\"仅选择报告的父项会导致这些项的子注释和附件也包含在内\",{\"1\":{\"541\":1}}],[\"仅对新添加的条目使用\",{\"1\":{\"539\":1}}],[\"仅当内部指定的字段非空时才包含此部分\",{\"1\":{\"536\":1}}],[\"仅当所有给定测试值都为\",{\"1\":{\"159\":1}}],[\"仅将用于提交\",{\"1\":{\"509\":1}}],[\"仅群主和管理员可以操作\",{\"1\":{\"298\":1}}],[\"仅群组管理员\",{\"1\":{\"293\":2}}],[\"仅所有群组成员\",{\"1\":{\"293\":1}}],[\"仅成员\",{\"1\":{\"292\":1}}],[\"仅适用于同时安装\",{\"1\":{\"553\":1}}],[\"仅适用于临时使用的场景\",{\"1\":{\"265\":1}}],[\"仅适配\",{\"1\":{\"266\":2}}],[\"仅需要掌握\",{\"1\":{\"223\":1}}],[\"仅使用有变化的部分\",{\"1\":{\"204\":1}}],[\"仅影响英语项目\",{\"1\":{\"188\":1}}],[\"仅在第一个名字后使用了分隔符\",{\"1\":{\"151\":1}}],[\"仅在特殊情况下使用\",{\"1\":{\"62\":1}}],[\"外文\",{\"1\":{\"243\":1}}],[\"外\",{\"1\":{\"159\":1,\"183\":1}}],[\"外国人常用的\",{\"1\":{\"151\":1}}],[\"书籍等\",{\"1\":{\"242\":1}}],[\"书\",{\"1\":{\"159\":1,\"191\":1,\"198\":1}}],[\"书目编辑器\",{\"1\":{\"323\":1}}],[\"书目\",{\"1\":{\"67\":1,\"512\":1}}],[\"测试期间存在人数限制\",{\"1\":{\"310\":1}}],[\"测试版\",{\"1\":{\"310\":1,\"570\":1}}],[\"测试给定变量\",{\"1\":{\"159\":1}}],[\"测试给定的变量\",{\"1\":{\"159\":1}}],[\"测试项目是不是和给定的类型匹配\",{\"1\":{\"159\":1}}],[\"判断引用的位置湿否和给定的位置匹配\",{\"1\":{\"159\":1}}],[\"判断是不是\",{\"1\":{\"159\":1}}],[\"判断位置是不是和给定的位置符合\",{\"1\":{\"159\":1}}],[\"判断给定的\",{\"1\":{\"159\":1}}],[\"连续多点几\",{\"1\":{\"506\":3,\"507\":3}}],[\"连字符或\",{\"1\":{\"159\":1}}],[\"连接器配置编辑器中\",{\"1\":{\"545\":1}}],[\"连接器支持一些通常适用于所有转换器或特定网站转换器的设置\",{\"1\":{\"545\":1}}],[\"连接器的隐藏设置\",{\"1\":{\"544\":1}}],[\"连接器的连接的端口\",{\"1\":{\"536\":1}}],[\"连接器的请求\",{\"1\":{\"536\":1}}],[\"连接器都支持额外的隐藏首选项\",{\"1\":{\"534\":1}}],[\"连接器无法识别页面上的数据\",{\"1\":{\"369\":1}}],[\"连接器\",{\"0\":{\"544\":1},\"1\":{\"366\":1}}],[\"连接器导入条目时\",{\"1\":{\"364\":1}}],[\"连接\",{\"1\":{\"38\":1}}],[\"唯一的区别是\",{\"1\":{\"178\":1}}],[\"唯一的并可以引用的\",{\"1\":{\"120\":1}}],[\"唯一允许的值\",{\"1\":{\"159\":1}}],[\"类是笔记编辑器的抽象\",{\"1\":{\"466\":1}}],[\"类\",{\"1\":{\"459\":1,\"460\":1}}],[\"类或标识符的名字可用空格来分隔\",{\"1\":{\"212\":1}}],[\"类似于\",{\"1\":{\"531\":1}}],[\"类似于剪切\",{\"1\":{\"340\":1}}],[\"类似于文件夹的列表\",{\"1\":{\"336\":1}}],[\"类似复制\",{\"1\":{\"340\":1}}],[\"类似\",{\"1\":{\"204\":1,\"547\":1}}],[\"类似得结果\",{\"1\":{\"158\":1}}],[\"类型的引用格式中的引用分组和数字格式中的引用范围可以通过\",{\"1\":{\"165\":1}}],[\"类型的引文可以使用下面的代码实现\",{\"1\":{\"141\":1}}],[\"类型\",{\"1\":{\"39\":1,\"113\":2,\"159\":3,\"236\":1,\"435\":1,\"441\":1,\"442\":1,\"443\":1,\"446\":1,\"452\":1,\"453\":1,\"454\":1}}],[\"继续这样做\",{\"1\":{\"519\":1}}],[\"继续对他进行维护和改进\",{\"1\":{\"402\":1}}],[\"继续\",{\"1\":{\"301\":1}}],[\"继续重复第\",{\"1\":{\"265\":1}}],[\"继续将这种风格细分为\",{\"1\":{\"79\":1}}],[\"继承的名字选项可以在\",{\"1\":{\"161\":1}}],[\"继承了\",{\"1\":{\"155\":1}}],[\"左上角单击\",{\"1\":{\"554\":1}}],[\"左上角工具栏点击\",{\"1\":{\"302\":1}}],[\"左上角工具栏选择\",{\"1\":{\"277\":1}}],[\"左或右方向键\",{\"1\":{\"501\":1}}],[\"左侧注释栏的每一个注释右上角的黄色花形按钮\",{\"1\":{\"397\":1}}],[\"左侧预览栏中\",{\"1\":{\"395\":1}}],[\"左侧是预览栏\",{\"1\":{\"392\":1}}],[\"左侧窗格的\",{\"1\":{\"357\":1}}],[\"左侧的\",{\"1\":{\"324\":1}}],[\"左右\",{\"1\":{\"153\":2}}],[\"左对齐使用`\",{\"1\":{\"49\":1}}],[\"左对齐\",{\"1\":{\"49\":1,\"183\":1}}],[\"张\",{\"1\":{\"152\":1}}],[\"张三\",{\"1\":{\"152\":1}}],[\"非官方维护中文翻译器\",{\"1\":{\"506\":1}}],[\"非强制\",{\"1\":{\"452\":1,\"453\":1,\"454\":1}}],[\"非零数字不得包含前导零\",{\"1\":{\"444\":1}}],[\"非坚果云账号登录密码\",{\"1\":{\"385\":1}}],[\"非常规用法等\",{\"1\":{\"223\":1}}],[\"非必需\",{\"1\":{\"218\":1}}],[\"非英语项目\",{\"1\":{\"188\":1}}],[\"非拉丁和非西里尔名字的显示和排序顺序\",{\"1\":{\"152\":1}}],[\"非数字的月份格式\",{\"1\":{\"143\":1}}],[\"+安装安装刚刚所下载的引文格式\",{\"1\":{\"528\":1}}],[\"+\",{\"1\":{\"152\":2,\"242\":2,\"362\":1,\"394\":1,\"397\":1,\"409\":1,\"427\":1,\"429\":3,\"501\":1,\"532\":17}}],[\"顺序\",{\"1\":{\"152\":8}}],[\"顺序编码制\",{\"1\":{\"81\":2}}],[\"条件来渲染不同的引用\",{\"1\":{\"163\":1}}],[\"条件\",{\"1\":{\"152\":8}}],[\"条目根据类型又可分为普通条目\",{\"1\":{\"431\":1}}],[\"条目笔记\",{\"1\":{\"396\":1}}],[\"条目笔记即属于当前文献条目的笔记\",{\"1\":{\"394\":1}}],[\"条目信息中对需要为下标的单词两侧分别加上\",{\"1\":{\"513\":1}}],[\"条目信息\",{\"1\":{\"383\":1}}],[\"条目出现在\",{\"1\":{\"355\":1}}],[\"条目可以是从书籍\",{\"1\":{\"354\":1}}],[\"条目将被彻底删除\",{\"1\":{\"342\":1}}],[\"条目将被移动到回收站\",{\"1\":{\"342\":1}}],[\"条目管理\",{\"0\":{\"339\":1}}],[\"条目附件共享\",{\"1\":{\"292\":1}}],[\"条目类型\",{\"0\":{\"270\":1}}],[\"条目字段信息\",{\"1\":{\"382\":1}}],[\"条目字段\",{\"0\":{\"269\":1}}],[\"条目与附件\",{\"0\":{\"235\":1}}],[\"条目的子项添加\",{\"1\":{\"237\":1}}],[\"条目的\",{\"1\":{\"98\":1}}],[\"条目的引用顺序会影响他们在参考文献表中的位置\",{\"1\":{\"89\":1}}],[\"条目元数据\",{\"0\":{\"88\":1},\"1\":{\"88\":1}}],[\"条目中通常含有那些用于分类\",{\"1\":{\"69\":1}}],[\"条目\",{\"0\":{\"69\":1,\"236\":1,\"431\":1},\"1\":{\"69\":1,\"238\":1,\"366\":1,\"431\":1,\"435\":1}}],[\"总是比加上\",{\"1\":{\"271\":1}}],[\"总是在文档的最前面\",{\"1\":{\"210\":1}}],[\"总是将全名中的姓显示在前面\",{\"1\":{\"151\":1}}],[\"总是使用复数形式\",{\"1\":{\"157\":1}}],[\"总是使用\",{\"1\":{\"151\":1}}],[\"亚洲的大部分名字\",{\"1\":{\"151\":1}}],[\"改成\",{\"1\":{\"385\":1}}],[\"改变成员权限等\",{\"1\":{\"299\":1}}],[\"改变了名字内部的顺序\",{\"1\":{\"151\":1}}],[\"改术语的渲染结果就会显示为空字符串\",{\"1\":{\"135\":1}}],[\"姓名内容中不含\",{\"1\":{\"241\":1}}],[\"姓\",{\"1\":{\"151\":1,\"152\":8}}],[\"姓氏\",{\"1\":{\"151\":1}}],[\"考虑到\",{\"1\":{\"493\":1}}],[\"考虑\",{\"1\":{\"151\":1}}],[\"省略作者\",{\"0\":{\"330\":1},\"1\":{\"330\":1}}],[\"省略\",{\"1\":{\"151\":1}}],[\"省略号\",{\"1\":{\"151\":1}}],[\"世\",{\"1\":{\"151\":1}}],[\"世界中的一切都是围绕样式展开的\",{\"1\":{\"86\":1}}],[\"世界上有成百上千种不同的引用格式\",{\"1\":{\"78\":1}}],[\"经验上\",{\"1\":{\"506\":1,\"507\":1}}],[\"经验水平\",{\"1\":{\"2\":1}}],[\"经典引文对话框\",{\"1\":{\"324\":1,\"326\":1,\"510\":1}}],[\"经典视图下多重来源的引文排序\",{\"0\":{\"326\":1}}],[\"经典视图下使用多来源引用\",{\"0\":{\"325\":1}}],[\"经典视图\",{\"0\":{\"324\":1},\"1\":{\"324\":2}}],[\"经常翻译为\",{\"1\":{\"151\":1}}],[\"全英文没有效果\",{\"1\":{\"575\":1}}],[\"全局变量和环境设置\",{\"1\":{\"494\":1}}],[\"全局选项\",{\"0\":{\"170\":1},\"1\":{\"161\":1}}],[\"全文索引\",{\"0\":{\"540\":1}}],[\"全文\",{\"1\":{\"290\":1}}],[\"全文末尾\",{\"1\":{\"67\":1}}],[\"全网也检索不到\",{\"1\":{\"244\":1}}],[\"全名将会使用缩写\",{\"1\":{\"151\":1}}],[\"全名将不使用缩写\",{\"1\":{\"151\":1}}],[\"全名\",{\"1\":{\"151\":1}}],[\"暂仅支持\",{\"1\":{\"290\":1}}],[\"暂译为粒子\",{\"1\":{\"151\":1}}],[\"暂时禁止与社区进行任何形式的互动或公开交流\",{\"1\":{\"10\":1}}],[\"部分中文文献带有\",{\"1\":{\"565\":1}}],[\"部分用户在使用过程中经常会碰到以下弹窗错误\",{\"1\":{\"565\":1}}],[\"部分同学在使用\",{\"1\":{\"529\":1}}],[\"部分的内容\",{\"1\":{\"509\":1}}],[\"部分窄屏设备也可能在左侧\",{\"1\":{\"508\":1}}],[\"部分实现了上述\",{\"1\":{\"419\":1}}],[\"部分开始\",{\"1\":{\"408\":1}}],[\"部分网址需要在科学网络的情况下才能识别成功\",{\"1\":{\"289\":1}}],[\"部分期刊要求使用\",{\"1\":{\"271\":1}}],[\"部分过时或不全\",{\"1\":{\"220\":1}}],[\"部分可以前置\",{\"1\":{\"173\":1}}],[\"部分和\",{\"1\":{\"173\":1}}],[\"部分格式限制\",{\"1\":{\"153\":1}}],[\"部分不受\",{\"1\":{\"153\":1}}],[\"部分\",{\"1\":{\"151\":1,\"153\":2,\"173\":1,\"191\":1,\"506\":1}}],[\"禁用插件\",{\"1\":{\"528\":1}}],[\"禁用\",{\"1\":{\"519\":1,\"557\":1}}],[\"禁用分隔符\",{\"1\":{\"151\":1}}],[\"禁止使用复数形式\",{\"1\":{\"157\":1}}],[\"禁止使用分隔符\",{\"1\":{\"151\":1}}],[\"间使用\",{\"1\":{\"151\":1}}],[\"罗马数字\",{\"1\":{\"149\":1}}],[\"畅序数使用术语\",{\"1\":{\"149\":1}}],[\"长序数渲染的结果讲和序数相同\",{\"1\":{\"149\":1}}],[\"长序数\",{\"1\":{\"149\":1}}],[\"变成黑白了\",{\"1\":{\"495\":1}}],[\"变成黑白该如何解决\",{\"0\":{\"495\":1}}],[\"变动较大\",{\"1\":{\"214\":1}}],[\"变量在\",{\"1\":{\"480\":1}}],[\"变量总是使用一个短划线代替任意的连字符\",{\"1\":{\"179\":1}}],[\"变量的折叠范围以短划线分隔\",{\"1\":{\"179\":1}}],[\"变量的例子\",{\"1\":{\"142\":1}}],[\"变量代替空的\",{\"1\":{\"178\":1}}],[\"变量排序的键值是由字符串值组成\",{\"1\":{\"178\":1}}],[\"变量属性调用变量的排序键值\",{\"1\":{\"177\":1}}],[\"变量或者宏的排序键值可以与\",{\"1\":{\"176\":1}}],[\"变量来说\",{\"1\":{\"179\":1}}],[\"变量来进行第二次排序\",{\"1\":{\"176\":1}}],[\"变量来渲染\",{\"1\":{\"165\":1}}],[\"变量\",{\"0\":{\"199\":1},\"1\":{\"159\":4,\"176\":2,\"178\":1}}],[\"变量内容将呈现为原样\",{\"1\":{\"149\":1}}],[\"变量内容包含非数字内容时\",{\"1\":{\"149\":1}}],[\"变为\",{\"1\":{\"146\":2,\"149\":3,\"151\":1,\"163\":4,\"165\":4}}],[\"70\",{\"1\":{\"532\":1}}],[\"7424907\",{\"1\":{\"522\":2}}],[\"732\",{\"1\":{\"465\":1}}],[\"72\",{\"1\":{\"204\":1}}],[\"71\",{\"1\":{\"204\":1}}],[\"7\",{\"1\":{\"157\":1,\"214\":2,\"250\":1,\"253\":1,\"266\":3,\"317\":1,\"328\":3,\"430\":1,\"437\":2,\"439\":1,\"456\":1,\"490\":1,\"493\":1,\"522\":2,\"554\":1,\"562\":1,\"570\":3}}],[\"79ad\",{\"1\":{\"146\":1}}],[\"79\",{\"1\":{\"146\":1}}],[\"7714\",{\"1\":{\"17\":1,\"68\":1,\"78\":2,\"264\":1,\"320\":1,\"514\":2,\"527\":1}}],[\"自带的笔记导出功能\",{\"1\":{\"398\":1}}],[\"自带浏览器\",{\"1\":{\"307\":1}}],[\"自动\",{\"1\":{\"586\":2}}],[\"自动拉取知网数据\",{\"1\":{\"575\":1}}],[\"自动将\",{\"1\":{\"538\":1}}],[\"自动重命名从连接器\",{\"1\":{\"536\":1}}],[\"自动识别条目语言\",{\"1\":{\"516\":1}}],[\"自动检查转换器和样式的更新\",{\"1\":{\"506\":2}}],[\"自动检索元数据过于频繁依然可能导致被知网风控\",{\"1\":{\"241\":1}}],[\"自动检索元数据并创建条目\",{\"1\":{\"241\":1}}],[\"自动发布到\",{\"1\":{\"494\":1}}],[\"自动生成\",{\"1\":{\"494\":1}}],[\"自动热重载\",{\"1\":{\"494\":1}}],[\"自动参考书目\",{\"0\":{\"376\":1}}],[\"自动在\",{\"1\":{\"348\":1,\"494\":1}}],[\"自动为新条目添加未读标签\",{\"1\":{\"348\":1}}],[\"自动未读与批量增删标签\",{\"0\":{\"348\":1}}],[\"自动标签是\",{\"1\":{\"344\":1}}],[\"自动标签与用户标签\",{\"1\":{\"344\":1}}],[\"自动更新引文以反映文档中的其他更改\",{\"1\":{\"331\":1}}],[\"自动更新引文\",{\"1\":{\"329\":1}}],[\"自动按照订阅某期刊时\",{\"1\":{\"281\":1}}],[\"自动备份数据库的最长间隔\",{\"1\":{\"536\":1}}],[\"自动备份\",{\"1\":{\"251\":1}}],[\"自动附加到负年份\",{\"1\":{\"146\":1}}],[\"自动附加到小于四位数的正年份\",{\"1\":{\"146\":1}}],[\"自定义翻译侧栏\",{\"1\":{\"586\":1}}],[\"自定义\",{\"1\":{\"554\":1}}],[\"自定义的标签类型不会被正确隐藏\",{\"1\":{\"469\":1}}],[\"自定义列等\",{\"1\":{\"428\":1}}],[\"自定义存放路径\",{\"1\":{\"385\":1}}],[\"自定义为任何网盘的同步文件夹中\",{\"1\":{\"382\":1}}],[\"自定义引用\",{\"0\":{\"327\":1}}],[\"自定义字段\",{\"1\":{\"301\":1}}],[\"自定义键格式\",{\"1\":{\"83\":1}}],[\"自定义标题\",{\"0\":{\"59\":1},\"1\":{\"59\":2}}],[\"点了但是却一直没有反应\",{\"1\":{\"528\":1}}],[\"点提醒中的方法编辑\",{\"1\":{\"510\":1}}],[\"点开某个条目\",{\"1\":{\"317\":1}}],[\"点开\",{\"1\":{\"280\":1}}],[\"点可以设置\",{\"1\":{\"144\":1}}],[\"点击i\",{\"1\":{\"567\":1}}],[\"点击上方蓝字即可获取\",{\"1\":{\"556\":1}}],[\"点击上图右侧的\",{\"1\":{\"307\":1}}],[\"点击refresh刷新条目信息\",{\"1\":{\"513\":1}}],[\"点击左侧蓝字获取插件\",{\"1\":{\"550\":1}}],[\"点击左侧蓝字自查\",{\"1\":{\"549\":1}}],[\"点击左下角的\",{\"1\":{\"510\":1}}],[\"点击左上角工具栏\",{\"1\":{\"301\":2}}],[\"点击下方蓝字可查看\",{\"1\":{\"547\":1}}],[\"点击下方\",{\"1\":{\"506\":1}}],[\"点击这一按钮的时候却没反应\",{\"1\":{\"500\":1}}],[\"点击确定添加即可\",{\"1\":{\"419\":1}}],[\"点击确认后\",{\"1\":{\"409\":1}}],[\"点击运行即可在右侧看到输出\",{\"1\":{\"417\":1}}],[\"点击仍要运行\",{\"1\":{\"411\":1}}],[\"点击更多信息\",{\"1\":{\"411\":1}}],[\"点击右边的绿色的圈就可以同步更新\",{\"1\":{\"385\":1}}],[\"点击右上角的齿轮图标\",{\"1\":{\"314\":1}}],[\"点击添加应用\",{\"1\":{\"385\":1}}],[\"点击已有标签右侧的可以删除标签\",{\"1\":{\"345\":1}}],[\"点击后面的下载链接就可以下载到适合自己的插件\",{\"1\":{\"571\":1}}],[\"点击后\",{\"1\":{\"562\":1}}],[\"点击后所有的引注和文末的参考文献表都会变成纯文本\",{\"1\":{\"509\":1}}],[\"点击后可以看到整个库中的重复条目\",{\"1\":{\"341\":1}}],[\"点击后会出现黄色插入框\",{\"1\":{\"319\":1,\"509\":1}}],[\"点击插件图标即可抓取文献\",{\"1\":{\"307\":1}}],[\"点击继续\",{\"1\":{\"301\":1}}],[\"点击群组名进入群组详情页\",{\"1\":{\"299\":1}}],[\"点击群组名称下方的\",{\"1\":{\"298\":1,\"299\":1}}],[\"点击群组名称\",{\"1\":{\"296\":1,\"297\":1}}],[\"点击浏览器右上角的\",{\"1\":{\"288\":1}}],[\"点击搜索框下面的\",{\"1\":{\"287\":1}}],[\"点击搜索\",{\"1\":{\"287\":1}}],[\"点击打开\",{\"1\":{\"286\":1}}],[\"点击进入期刊页面\",{\"1\":{\"284\":1}}],[\"点击该选项将会设置该期刊所有内容为已读状态\",{\"1\":{\"281\":1}}],[\"点击该图标\",{\"1\":{\"238\":1}}],[\"点击具体条目\",{\"1\":{\"280\":1}}],[\"点击导出\",{\"1\":{\"259\":1}}],[\"点击导入\",{\"1\":{\"243\":1}}],[\"点击恢复\",{\"1\":{\"258\":1,\"260\":1}}],[\"点击手动录入按钮\",{\"1\":{\"244\":1}}],[\"点击末尾左下角的\",{\"1\":{\"33\":1}}],[\"点击提交\",{\"1\":{\"24\":1}}],[\"点击\",{\"1\":{\"22\":1,\"25\":1,\"33\":2,\"63\":1,\"240\":1,\"241\":1,\"242\":1,\"243\":1,\"265\":1,\"280\":1,\"285\":1,\"287\":1,\"288\":1,\"291\":1,\"299\":1,\"301\":2,\"314\":1,\"317\":2,\"337\":1,\"345\":1,\"394\":1,\"497\":1,\"506\":3,\"507\":3,\"528\":2,\"529\":1,\"554\":1,\"557\":1}}],[\"点击项目主页\",{\"1\":{\"22\":1}}],[\"日\",{\"1\":{\"143\":1}}],[\"日期范围将放在单独的日期后\",{\"1\":{\"177\":1}}],[\"日期\",{\"1\":{\"177\":1,\"355\":1}}],[\"日期术语\",{\"1\":{\"147\":1}}],[\"日期可以在\",{\"1\":{\"143\":1}}],[\"日期可以以本地化或者非本地化格式呈现\",{\"1\":{\"143\":1}}],[\"日期可以使用\",{\"1\":{\"138\":1}}],[\"日期变量和数字变量除外\",{\"1\":{\"177\":1}}],[\"日期变量存在的情况下\",{\"1\":{\"159\":1}}],[\"日期变量\",{\"0\":{\"202\":1},\"1\":{\"143\":1,\"159\":1,\"177\":1}}],[\"日期部分以序数\",{\"1\":{\"137\":1}}],[\"日期格式在\",{\"1\":{\"175\":1}}],[\"日期格式使用\",{\"1\":{\"138\":1}}],[\"日期格式以及语法选项\",{\"1\":{\"133\":1}}],[\"日期格式\",{\"1\":{\"94\":1}}],[\"日期格式和语法规则怎么本地化\",{\"1\":{\"207\":1}}],[\"日期格式和语法\",{\"1\":{\"87\":1}}],[\"完美在\",{\"1\":{\"407\":1}}],[\"完成后\",{\"1\":{\"385\":1,\"528\":1}}],[\"完成添加所有引用项目后\",{\"1\":{\"321\":1}}],[\"完成阅读是直接返回\",{\"1\":{\"314\":1}}],[\"完成pc端相关设置\",{\"1\":{\"314\":1}}],[\"完整的姓名被渲染\",{\"1\":{\"163\":1}}],[\"完整题目或者简写\",{\"1\":{\"142\":1}}],[\"完全的数字格式\",{\"1\":{\"143\":1}}],[\"完全本地修改\",{\"1\":{\"35\":1}}],[\"译注\",{\"1\":{\"138\":1,\"151\":1,\"166\":1,\"183\":1}}],[\"译者注\",{\"1\":{\"103\":1,\"108\":1,\"109\":1,\"113\":1,\"114\":1}}],[\"译者\",{\"1\":{\"101\":1,\"195\":1}}],[\"édition\",{\"1\":{\"137\":1}}],[\"éd\",{\"1\":{\"137\":1}}],[\"形式来渲染\",{\"1\":{\"142\":1}}],[\"形式\",{\"1\":{\"142\":2}}],[\"形式呈现时\",{\"1\":{\"137\":1}}],[\"形式时\",{\"1\":{\"137\":1}}],[\"月份缩写应该后面要加点\",{\"1\":{\"144\":1}}],[\"月份术语\",{\"1\":{\"137\":1}}],[\"月河年\",{\"1\":{\"138\":1}}],[\"月\",{\"0\":{\"192\":1},\"1\":{\"137\":1,\"143\":1,\"384\":2}}],[\"附加组件\",{\"1\":{\"571\":1,\"572\":1}}],[\"附加组件的作者\",{\"1\":{\"452\":1}}],[\"附加组件将不能运行或不允许被安装\",{\"1\":{\"450\":1}}],[\"附加\",{\"1\":{\"364\":1}}],[\"附件组件后禁用第三方插件后\",{\"1\":{\"528\":1}}],[\"附件下载与上传\",{\"1\":{\"315\":1}}],[\"附件同步方式\",{\"1\":{\"314\":1}}],[\"附件也导入到\",{\"1\":{\"301\":1}}],[\"附件的编辑三类权限\",{\"1\":{\"293\":1}}],[\"附件中的一条高亮\",{\"1\":{\"431\":1}}],[\"附件中的元数据自动抓取文献信息并自动创建副条目\",{\"1\":{\"240\":1}}],[\"附件中通常并没有完善的论文的元数据\",{\"1\":{\"241\":1}}],[\"附件中带有论文的元数据\",{\"1\":{\"240\":1}}],[\"附件并通过附件添加条目\",{\"1\":{\"238\":1}}],[\"附件创建条目\",{\"1\":{\"238\":1}}],[\"附件既可以作为独立项添加\",{\"1\":{\"237\":1}}],[\"附件\",{\"0\":{\"237\":1,\"362\":1},\"1\":{\"237\":2,\"240\":3,\"241\":2,\"249\":1,\"362\":1,\"382\":1,\"431\":1}}],[\"附件重命名\",{\"0\":{\"233\":1}}],[\"附带的术语\",{\"1\":{\"137\":1}}],[\"附录\",{\"0\":{\"189\":1,\"190\":1,\"198\":1,\"199\":1,\"204\":1,\"205\":1},\"1\":{\"119\":2,\"135\":2,\"142\":2,\"159\":6,\"172\":2,\"176\":2}}],[\"女性和男性在术语使用上的不同可以使用性别格式\",{\"1\":{\"137\":1}}],[\"英语中的\",{\"1\":{\"137\":1}}],[\"英文期刊订阅\",{\"0\":{\"286\":1}}],[\"英文文献的语言需要设置为\",{\"1\":{\"516\":1}}],[\"英文文献附件自动识别\",{\"0\":{\"240\":1}}],[\"英文文献通常通过识别\",{\"1\":{\"239\":1}}],[\"英文文档\",{\"1\":{\"64\":1}}],[\"英文中为点\",{\"1\":{\"185\":1}}],[\"英文字符以及数字之间不需加空格\",{\"1\":{\"42\":1}}],[\"原生的\",{\"1\":{\"575\":1}}],[\"原生\",{\"1\":{\"407\":1}}],[\"原作者\",{\"1\":{\"195\":1}}],[\"原始的\",{\"1\":{\"136\":1}}],[\"原本是\",{\"1\":{\"94\":1}}],[\"才可生效\",{\"1\":{\"571\":1}}],[\"才可将插件保存至本地\",{\"1\":{\"570\":1}}],[\"才能在右侧看见\",{\"1\":{\"417\":1}}],[\"才能访问\",{\"1\":{\"317\":1}}],[\"才能顺利同步附件\",{\"1\":{\"309\":1}}],[\"才能继续则点击即可\",{\"1\":{\"33\":1}}],[\"才被视为是非英语环境\",{\"1\":{\"188\":1}}],[\"才进行消除歧义的尝试\",{\"1\":{\"159\":1}}],[\"才会实现匹配\",{\"1\":{\"136\":2}}],[\"序数格式将仅限于每个月的第一天\",{\"1\":{\"175\":1}}],[\"序数数字\",{\"1\":{\"149\":1}}],[\"序数性别和月的术语匹配\",{\"1\":{\"137\":1}}],[\"序数\",{\"0\":{\"193\":1},\"1\":{\"137\":1}}],[\"序数术语在\",{\"1\":{\"136\":1}}],[\"序数的后缀则是使用术语来定义的\",{\"1\":{\"136\":1}}],[\"序数后缀可以使用术语定义\",{\"1\":{\"149\":1}}],[\"序数后缀\",{\"0\":{\"136\":1},\"1\":{\"135\":1,\"149\":1}}],[\"渲染文本将会被包含在引用中\",{\"1\":{\"184\":1}}],[\"渲染为一个\",{\"1\":{\"531\":1}}],[\"渲染为\",{\"1\":{\"177\":1}}],[\"渲染结果为\",{\"1\":{\"171\":2}}],[\"渲染结果将类似下面\",{\"1\":{\"183\":1}}],[\"渲染结果将类似于\",{\"1\":{\"165\":2}}],[\"渲染结果将变为\",{\"1\":{\"169\":1}}],[\"渲染的输出不同\",{\"1\":{\"176\":1}}],[\"渲染的结果为\",{\"1\":{\"169\":3}}],[\"渲染的顺序\",{\"1\":{\"153\":1}}],[\"渲染的名字列表将被截断\",{\"1\":{\"151\":1}}],[\"渲染年月\",{\"1\":{\"143\":1}}],[\"渲染年\",{\"1\":{\"143\":1}}],[\"渲染属性值自己\",{\"1\":{\"142\":1}}],[\"渲染术语\",{\"1\":{\"142\":1}}],[\"渲染宏的文字输出\",{\"1\":{\"142\":1}}],[\"渲染一个变量的文本内容\",{\"1\":{\"142\":1}}],[\"渲染\",{\"1\":{\"136\":1}}],[\"渲染元素输出与所选变量匹配的术语\",{\"1\":{\"157\":1}}],[\"渲染元素输出\",{\"1\":{\"149\":1}}],[\"渲染元素输出必须从\",{\"1\":{\"143\":1}}],[\"渲染元素用来输出文字\",{\"1\":{\"142\":1}}],[\"渲染元素是\",{\"1\":{\"141\":1}}],[\"渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据\",{\"1\":{\"140\":1}}],[\"渲染元素\",{\"0\":{\"140\":1},\"1\":{\"131\":1}}],[\"​\",{\"1\":{\"134\":3,\"144\":3,\"151\":3,\"157\":2,\"159\":7,\"163\":14,\"165\":2,\"168\":4,\"169\":2,\"171\":1,\"172\":1,\"173\":2,\"174\":3,\"175\":2,\"176\":5,\"177\":1,\"178\":3,\"179\":2,\"180\":1,\"181\":1,\"182\":1,\"184\":1,\"185\":1,\"186\":1,\"188\":3,\"204\":3,\"207\":4,\"208\":2}}],[\"尽管你可能没有手动将其添加到一级分类\",{\"1\":{\"337\":1}}],[\"尽管可以从\",{\"1\":{\"246\":1}}],[\"尽管\",{\"1\":{\"207\":1}}],[\"尽管本地化数据可以包括在\",{\"1\":{\"133\":1}}],[\"尽量以通俗的方式描述图片内容\",{\"1\":{\"47\":1}}],[\"尽量不要再改动\",{\"1\":{\"38\":1}}],[\"另一种是经典视图的选择窗\",{\"1\":{\"510\":1}}],[\"另一个例子是定位词\",{\"1\":{\"89\":1}}],[\"另一个是\",{\"1\":{\"79\":1}}],[\"另存为\",{\"1\":{\"264\":1}}],[\"另外\",{\"1\":{\"150\":1}}],[\"另外一种是\",{\"1\":{\"138\":1}}],[\"另见\",{\"1\":{\"132\":1}}],[\"放在\",{\"1\":{\"131\":1}}],[\"调整缩进\",{\"0\":{\"512\":1}}],[\"调整窗口\",{\"1\":{\"501\":1}}],[\"调整章节结构\",{\"1\":{\"30\":1}}],[\"调试时\",{\"1\":{\"519\":1}}],[\"调试\",{\"0\":{\"417\":1}}],[\"调试代码\",{\"0\":{\"416\":1}}],[\"调用本地化格日期格式时\",{\"1\":{\"182\":1}}],[\"调用本地化格式除外\",{\"1\":{\"181\":1}}],[\"调用了本地化日期格式\",{\"1\":{\"144\":1}}],[\"调用\",{\"0\":{\"463\":1},\"1\":{\"131\":1,\"429\":1}}],[\"例\",{\"1\":{\"129\":4,\"138\":2,\"151\":1,\"183\":1,\"200\":1,\"204\":1,\"475\":1,\"476\":1,\"478\":1,\"479\":1,\"486\":1,\"487\":1}}],[\"例如nature\",{\"1\":{\"528\":1}}],[\"例如n7smb24a\",{\"1\":{\"251\":1}}],[\"例如修改主\",{\"1\":{\"428\":1}}],[\"例如高亮文本\",{\"1\":{\"395\":1}}],[\"例如某个页面\",{\"1\":{\"328\":1}}],[\"例如某文档确定只需要引几篇文档\",{\"1\":{\"265\":1}}],[\"例如更改引文样式\",{\"1\":{\"319\":1}}],[\"例如审批加群申请\",{\"1\":{\"299\":1}}],[\"例如文献的\",{\"1\":{\"294\":1}}],[\"例如论文的全文\",{\"1\":{\"237\":1}}],[\"例如书籍和文章\",{\"1\":{\"353\":1}}],[\"例如书籍\",{\"1\":{\"234\":1}}],[\"例如遇到同步问题\",{\"1\":{\"223\":1}}],[\"例如括号\",{\"1\":{\"138\":1}}],[\"例如\",{\"1\":{\"41\":1,\"42\":1,\"59\":1,\"60\":1,\"79\":1,\"80\":2,\"83\":1,\"84\":1,\"86\":1,\"87\":2,\"88\":1,\"89\":2,\"106\":1,\"108\":2,\"119\":4,\"132\":2,\"135\":1,\"136\":1,\"137\":1,\"141\":1,\"142\":1,\"143\":3,\"144\":10,\"146\":2,\"148\":1,\"149\":5,\"150\":3,\"151\":7,\"156\":5,\"157\":6,\"159\":2,\"163\":1,\"164\":1,\"165\":7,\"168\":1,\"171\":1,\"173\":5,\"175\":1,\"177\":5,\"178\":2,\"179\":1,\"183\":1,\"207\":1,\"234\":1,\"238\":1,\"248\":1,\"251\":1,\"255\":1,\"268\":2,\"271\":1,\"276\":1,\"279\":2,\"287\":1,\"289\":1,\"301\":1,\"304\":2,\"307\":1,\"320\":2,\"322\":2,\"328\":3,\"329\":3,\"330\":1,\"331\":1,\"333\":3,\"347\":2,\"366\":1,\"379\":1,\"385\":1,\"427\":1,\"431\":1,\"444\":2,\"445\":2,\"469\":1,\"484\":1,\"507\":1,\"536\":2,\"545\":1}}],[\"例如增加几篇文章\",{\"1\":{\"35\":1}}],[\"例如你需要添加一篇文章\",{\"1\":{\"34\":1}}],[\"时会产生复杂的效果\",{\"1\":{\"519\":1}}],[\"时出现错误\",{\"1\":{\"519\":1}}],[\"时出错\",{\"1\":{\"519\":1}}],[\"时期\",{\"1\":{\"336\":1}}],[\"时所用的邮箱将会受到邀请邮件\",{\"1\":{\"298\":1}}],[\"时所用的电子邮箱\",{\"1\":{\"298\":1}}],[\"时即渲染\",{\"1\":{\"148\":1}}],[\"时\",{\"1\":{\"128\":1,\"131\":1,\"136\":2,\"138\":1,\"143\":1,\"151\":5,\"155\":1,\"157\":1,\"163\":1,\"164\":1,\"165\":3,\"168\":1,\"169\":3,\"175\":1,\"184\":1,\"185\":1,\"223\":1,\"261\":1,\"314\":1,\"428\":1,\"467\":1,\"536\":2,\"575\":1}}],[\"时间戳\",{\"1\":{\"123\":1,\"128\":1,\"134\":1}}],[\"时间戳和\",{\"1\":{\"96\":1}}],[\"学习\",{\"1\":{\"419\":1}}],[\"学习资料\",{\"1\":{\"21\":1}}],[\"学术总库\",{\"1\":{\"406\":1}}],[\"学位论文\",{\"1\":{\"159\":1,\"198\":1,\"236\":1,\"270\":1}}],[\"学科分类\",{\"0\":{\"189\":1},\"1\":{\"119\":2}}],[\"见debug\",{\"1\":{\"536\":1}}],[\"见相关章节\",{\"1\":{\"536\":1}}],[\"见\",{\"1\":{\"119\":1,\"129\":2,\"132\":1,\"133\":1,\"137\":1,\"138\":1,\"139\":1,\"142\":1,\"143\":2,\"148\":1,\"149\":2,\"151\":3,\"154\":1,\"156\":1,\"163\":1,\"164\":1,\"175\":1,\"179\":1,\"184\":1,\"313\":1,\"316\":1,\"386\":1,\"387\":1,\"419\":1,\"584\":1}}],[\"见下述\",{\"1\":{\"39\":1}}],[\"示例\",{\"0\":{\"439\":1},\"1\":{\"115\":1,\"152\":8,\"409\":1,\"513\":1}}],[\"⚠\",{\"1\":{\"115\":1,\"116\":3,\"118\":1,\"120\":1,\"122\":2,\"126\":1}}],[\"台湾\",{\"1\":{\"114\":1}}],[\"值须是且仅能是\",{\"1\":{\"441\":1}}],[\"值为布尔\",{\"1\":{\"481\":1}}],[\"值为\",{\"1\":{\"151\":1}}],[\"值为样式本身的\",{\"1\":{\"122\":1}}],[\"值可以为\",{\"1\":{\"180\":3}}],[\"值可以设置为\",{\"1\":{\"144\":2,\"180\":1}}],[\"值可以是\",{\"1\":{\"144\":1}}],[\"值必须是\",{\"1\":{\"114\":1,\"128\":1,\"134\":1}}],[\"值\",{\"1\":{\"113\":2}}],[\"决定样式的\",{\"1\":{\"113\":1}}],[\"多余的备份最先删除\",{\"1\":{\"536\":1}}],[\"多了第六行\",{\"1\":{\"522\":1}}],[\"多年了\",{\"1\":{\"409\":1}}],[\"多选\",{\"1\":{\"335\":1}}],[\"多重来源\",{\"1\":{\"325\":1,\"510\":1}}],[\"多数条目都可以直接单击进行编辑\",{\"1\":{\"269\":1}}],[\"多数情况下\",{\"1\":{\"110\":1}}],[\"多个zotero选择\",{\"1\":{\"414\":1}}],[\"多个项目\",{\"1\":{\"236\":1}}],[\"多个测试值使用空格分隔\",{\"1\":{\"159\":1}}],[\"多样化\",{\"1\":{\"2\":1}}],[\"声明可以是\",{\"1\":{\"110\":1}}],[\"声明开头\",{\"1\":{\"110\":1}}],[\"声明\",{\"0\":{\"110\":1},\"1\":{\"115\":1}}],[\"替换旧的translators\",{\"1\":{\"507\":1}}],[\"替换才会执行\",{\"1\":{\"179\":1}}],[\"替换仅限于\",{\"1\":{\"169\":1}}],[\"替换变量在输出的其余部分被抑制\",{\"1\":{\"155\":1}}],[\"替换必须放在\",{\"1\":{\"155\":1}}],[\"替换为\",{\"1\":{\"109\":1}}],[\"替换成个人对应的信息\",{\"1\":{\"21\":1}}],[\"被关闭时调用\",{\"1\":{\"427\":1}}],[\"被称为\",{\"1\":{\"328\":1}}],[\"被邀请人注册\",{\"1\":{\"298\":1}}],[\"被这是为除\",{\"1\":{\"188\":1}}],[\"被设置为\",{\"1\":{\"163\":1,\"185\":1}}],[\"被设置并且\",{\"1\":{\"163\":1}}],[\"被识别为\",{\"1\":{\"159\":2}}],[\"被依赖的样式成为称为父样式\",{\"1\":{\"108\":1}}],[\"被接受并合并至官方\",{\"1\":{\"25\":1}}],[\"依次双击打开\",{\"1\":{\"551\":1}}],[\"依次单击\",{\"1\":{\"550\":1,\"554\":1,\"557\":1}}],[\"依次点击编辑\",{\"1\":{\"567\":1}}],[\"依次点击\",{\"1\":{\"528\":1,\"571\":2,\"572\":1}}],[\"依次选择\",{\"1\":{\"63\":1}}],[\"依赖于本地化文件\",{\"1\":{\"107\":1}}],[\"默认否\",{\"1\":{\"486\":1,\"487\":1}}],[\"默认命名空间是\",{\"1\":{\"483\":1}}],[\"默认设置\",{\"0\":{\"481\":1}}],[\"默认0是灰色图标\",{\"1\":{\"473\":1}}],[\"默认以新标签页打开\",{\"1\":{\"390\":1}}],[\"默认位置通常在我的文档\",{\"1\":{\"301\":1}}],[\"默认位置\",{\"1\":{\"250\":1,\"253\":1}}],[\"默认情况下\",{\"1\":{\"229\":1,\"253\":2,\"337\":1,\"536\":1,\"539\":1,\"541\":2}}],[\"默认外部\",{\"1\":{\"184\":1}}],[\"默认是一个破折号\",{\"1\":{\"172\":1}}],[\"默认在新标签页打开\",{\"1\":{\"467\":1}}],[\"默认在\",{\"1\":{\"165\":2}}],[\"默认的设置内容和知网上直接下载下来的文件名是一致的\",{\"1\":{\"241\":1}}],[\"默认的结果为\",{\"1\":{\"151\":1}}],[\"默认的是\",{\"1\":{\"151\":1,\"185\":1}}],[\"默认的日期范围中的分隔符是短线\",{\"1\":{\"145\":1}}],[\"默认为\",{\"1\":{\"136\":1,\"151\":2,\"163\":3,\"164\":1,\"168\":1,\"184\":1,\"320\":1,\"328\":1,\"384\":1}}],[\"默认地\",{\"1\":{\"136\":2,\"151\":1,\"175\":1}}],[\"默认\",{\"1\":{\"107\":1,\"137\":1,\"142\":2,\"144\":3,\"149\":1,\"151\":1,\"154\":1,\"156\":1,\"157\":2,\"159\":1,\"163\":1,\"171\":1,\"173\":1,\"175\":1,\"176\":1,\"180\":5,\"236\":1}}],[\"默认值为每\",{\"1\":{\"536\":1}}],[\"默认值为\",{\"1\":{\"136\":1,\"151\":1,\"168\":2,\"175\":1,\"449\":1,\"450\":1}}],[\"默认值\",{\"1\":{\"39\":1,\"135\":1,\"143\":1,\"169\":1,\"320\":1,\"536\":1,\"537\":1,\"538\":1,\"539\":1,\"540\":1,\"541\":1,\"542\":1,\"543\":1,\"545\":1}}],[\"欢迎在文档下方留言\",{\"1\":{\"222\":1}}],[\"欢迎提出改善意见\",{\"1\":{\"105\":1}}],[\"欢迎页面\",{\"1\":{\"22\":1}}],[\"命名空间前缀为\",{\"1\":{\"104\":1}}],[\"命名空间\",{\"0\":{\"104\":1},\"1\":{\"104\":1}}],[\"命名空间中的\",{\"1\":{\"92\":1}}],[\"协议比较占用系统资源\",{\"1\":{\"384\":1}}],[\"协议以外的方式来表示\",{\"1\":{\"212\":1}}],[\"协议全文\",{\"1\":{\"103\":1}}],[\"协议的官方标准\",{\"1\":{\"103\":1}}],[\"协议\",{\"1\":{\"103\":1}}],[\"按时间倒序对条目进行排序\",{\"1\":{\"537\":1}}],[\"按一下空格然后继续搜下一个文献\",{\"1\":{\"510\":1}}],[\"按一下键盘的空格键\",{\"1\":{\"510\":1}}],[\"按下按钮将首先显示\",{\"1\":{\"321\":1}}],[\"按照安装插件的流程直接覆盖安装即可实现对插件的更新\",{\"1\":{\"572\":1}}],[\"按照如下格式添加\",{\"1\":{\"567\":1}}],[\"按照\",{\"1\":{\"284\":1,\"285\":1,\"286\":1}}],[\"按住\",{\"1\":{\"253\":1,\"337\":1}}],[\"按\",{\"1\":{\"103\":1,\"302\":1,\"370\":1}}],[\"按钮更新引用信息及编号\",{\"1\":{\"510\":1}}],[\"按钮即可编辑\",{\"1\":{\"510\":1}}],[\"按钮即可创建笔记\",{\"1\":{\"394\":1}}],[\"按钮功能说明\",{\"1\":{\"509\":1}}],[\"按钮时\",{\"1\":{\"506\":1,\"507\":1}}],[\"按钮可创建条目子笔记\",{\"1\":{\"397\":1}}],[\"按钮以打开\",{\"1\":{\"333\":1}}],[\"按钮开始编辑引注\",{\"1\":{\"332\":1}}],[\"按钮开始添加\",{\"1\":{\"321\":1}}],[\"按钮会在光标位置插入参考文献表\",{\"1\":{\"323\":1}}],[\"按钮下载\",{\"1\":{\"307\":1}}],[\"按钮\",{\"1\":{\"22\":1,\"63\":1,\"240\":1,\"243\":2,\"250\":1,\"291\":1,\"321\":1,\"323\":1,\"333\":1,\"357\":1,\"364\":1,\"506\":5,\"507\":3,\"509\":1,\"519\":1,\"558\":1}}],[\"关注你的隐私安全并且无需付费\",{\"1\":{\"402\":1}}],[\"关闭自动更新引注功能后需手动点击此按钮更新引注\",{\"1\":{\"509\":1}}],[\"关闭自动更新引注功能\",{\"1\":{\"509\":1}}],[\"关闭时移除未读标签\",{\"1\":{\"348\":1}}],[\"关闭这个功能\",{\"1\":{\"344\":1}}],[\"关闭这一功能\",{\"1\":{\"337\":1}}],[\"关闭后\",{\"1\":{\"337\":1}}],[\"关键词订阅\",{\"0\":{\"287\":1}}],[\"关键词\",{\"1\":{\"276\":1}}],[\"关键字\",{\"1\":{\"103\":1,\"200\":1}}],[\"关于插件的安装方法与常用插件介绍\",{\"1\":{\"499\":1}}],[\"关于接口定义\",{\"1\":{\"457\":1}}],[\"关于导出\",{\"1\":{\"398\":1}}],[\"关于笔记的创建及相关功能\",{\"1\":{\"396\":1}}],[\"关于同步\",{\"1\":{\"389\":1,\"398\":1}}],[\"关于条目信息\",{\"0\":{\"355\":1}}],[\"关于自动标签\",{\"1\":{\"344\":1}}],[\"关于多级分类的显示问题\",{\"1\":{\"337\":1}}],[\"关于群组的附件\",{\"0\":{\"294\":1}}],[\"关于群组成员\",{\"1\":{\"293\":1}}],[\"关于什么是插件\",{\"1\":{\"241\":1}}],[\"关于如何安装插件\",{\"1\":{\"223\":1}}],[\"关于页面\",{\"1\":{\"0\":1}}],[\"关于\",{\"0\":{\"0\":1,\"508\":1,\"568\":1},\"1\":{\"103\":1,\"217\":2,\"223\":1,\"429\":1,\"509\":1,\"571\":1}}],[\"议程\",{\"1\":{\"102\":1}}],[\"议题\",{\"1\":{\"4\":1,\"191\":1}}],[\"数据存储位置\",{\"1\":{\"382\":1}}],[\"数据的同步指\",{\"1\":{\"382\":1}}],[\"数据的同步\",{\"0\":{\"383\":1},\"1\":{\"382\":1}}],[\"数据的最简单\",{\"1\":{\"250\":1}}],[\"数据与文件的同步\",{\"0\":{\"382\":1}}],[\"数据中遇到它不支持的任何字段\",{\"1\":{\"301\":1}}],[\"数据库损坏\",{\"1\":{\"382\":1}}],[\"数据库中的任何项目\",{\"1\":{\"321\":1}}],[\"数据库\",{\"1\":{\"317\":1}}],[\"数据库都在期刊页面提供了\",{\"1\":{\"286\":1}}],[\"数据库位置等\",{\"1\":{\"252\":1}}],[\"数据储存文件夹\",{\"1\":{\"259\":1}}],[\"数据储存位置\",{\"1\":{\"507\":1}}],[\"数据储存位置设置为\",{\"1\":{\"255\":1}}],[\"数据储存位置中的文件\",{\"1\":{\"255\":1}}],[\"数据将存储在以下与操作系统相关的目录中\",{\"1\":{\"250\":1}}],[\"数据文件内容\",{\"0\":{\"251\":1}}],[\"数据文件位置\",{\"0\":{\"250\":1}}],[\"数据文件\",{\"0\":{\"249\":1},\"1\":{\"247\":1}}],[\"数据目录\",{\"1\":{\"246\":1,\"250\":1}}],[\"数据目录中最重要的文件是\",{\"1\":{\"251\":1}}],[\"数据目录中\",{\"1\":{\"229\":1}}],[\"数据集\",{\"1\":{\"198\":1}}],[\"数学\",{\"1\":{\"189\":1}}],[\"数字或字符串其一\",{\"1\":{\"481\":1}}],[\"数字之间用点分隔\",{\"1\":{\"444\":1}}],[\"数字对象标识符\",{\"1\":{\"370\":1}}],[\"数字样式为\",{\"1\":{\"322\":1}}],[\"数字\",{\"1\":{\"177\":1,\"347\":1}}],[\"数字可以带有前缀\",{\"1\":{\"159\":1}}],[\"数字大于\",{\"1\":{\"157\":1}}],[\"数字就被提取出来并渲染\",{\"1\":{\"149\":1}}],[\"数字变量\",{\"0\":{\"201\":1},\"1\":{\"137\":1,\"149\":1,\"177\":1,\"178\":1}}],[\"数字变量可以使用\",{\"1\":{\"136\":1}}],[\"数字编号等\",{\"1\":{\"41\":1}}],[\"数千种免费提供的样式\",{\"1\":{\"102\":1}}],[\"稳定的样式\",{\"1\":{\"102\":1}}],[\"授权成功后\",{\"1\":{\"317\":1}}],[\"授权的\",{\"1\":{\"317\":1}}],[\"授权\",{\"1\":{\"101\":1,\"102\":1}}],[\"65\",{\"1\":{\"532\":1}}],[\"6666\",{\"1\":{\"473\":1}}],[\"63\",{\"1\":{\"465\":1,\"522\":2}}],[\"64\",{\"1\":{\"409\":2}}],[\"67\",{\"1\":{\"383\":1}}],[\"68\",{\"1\":{\"204\":1}}],[\"613\",{\"1\":{\"204\":1}}],[\"6\",{\"1\":{\"98\":1,\"204\":1,\"214\":4,\"266\":1,\"322\":1,\"358\":1,\"383\":1,\"439\":1,\"465\":3,\"467\":1,\"491\":1,\"507\":1,\"509\":1,\"510\":1,\"522\":2,\"547\":1,\"554\":1,\"558\":1,\"562\":1,\"570\":3,\"571\":1}}],[\"6000\",{\"1\":{\"419\":2}}],[\"600\",{\"1\":{\"204\":1,\"384\":1}}],[\"60\",{\"1\":{\"48\":1}}],[\"到这里\",{\"1\":{\"559\":1}}],[\"到此处\",{\"1\":{\"385\":1}}],[\"到条目上\",{\"1\":{\"364\":1}}],[\"到\",{\"1\":{\"136\":4,\"147\":1,\"149\":2,\"175\":1,\"204\":2,\"288\":1,\"366\":1,\"444\":1}}],[\"到了这里\",{\"1\":{\"97\":1}}],[\"到现在为止\",{\"1\":{\"91\":1}}],[\"再用\",{\"1\":{\"558\":1}}],[\"再添加上\",{\"1\":{\"554\":1}}],[\"再单击\",{\"1\":{\"554\":2}}],[\"再依次打开\",{\"1\":{\"551\":1}}],[\"再更新域代码\",{\"1\":{\"522\":1}}],[\"再次用\",{\"1\":{\"551\":1}}],[\"再次刷新时会询问用户是否保留这些修改\",{\"1\":{\"521\":1}}],[\"再次按\",{\"1\":{\"321\":1}}],[\"再出现的小黑屏上输入\",{\"1\":{\"409\":1}}],[\"再点击add\",{\"1\":{\"547\":1,\"558\":1}}],[\"再点击确认完成插入\",{\"1\":{\"510\":1}}],[\"再点击这个按钮插入参考文献表\",{\"1\":{\"509\":1}}],[\"再点击config\",{\"1\":{\"317\":1}}],[\"再点击\",{\"1\":{\"280\":1,\"558\":1}}],[\"再重启\",{\"1\":{\"258\":1}}],[\"再按\",{\"1\":{\"242\":1}}],[\"再把这一附件拖入刚刚抓好的文献条目里\",{\"1\":{\"241\":1}}],[\"再探究更高难度的用法\",{\"1\":{\"223\":1}}],[\"再根据名进行排序\",{\"1\":{\"97\":1}}],[\"再看\",{\"1\":{\"97\":1}}],[\"又称\",{\"1\":{\"536\":1}}],[\"又包含了两个\",{\"1\":{\"97\":1}}],[\"又名\",{\"1\":{\"88\":1}}],[\"名\",{\"1\":{\"152\":6}}],[\"名称\",{\"1\":{\"177\":1,\"299\":1,\"319\":1,\"554\":1}}],[\"名称扩展是针对全部还是针对每个引用的名字\",{\"1\":{\"163\":1}}],[\"名称各部分的显示和排序的属性通常是不同的\",{\"1\":{\"152\":1}}],[\"名称列表最后一个名字\",{\"1\":{\"151\":1}}],[\"名称变量替换\",{\"1\":{\"155\":1}}],[\"名称变量为空时\",{\"1\":{\"155\":1}}],[\"名称变量会携带引用项中所有的作者名称\",{\"1\":{\"150\":1}}],[\"名称变量是\",{\"1\":{\"97\":1}}],[\"名称变量\",{\"1\":{\"97\":1,\"177\":1}}],[\"名字可以只使用姓来排序\",{\"1\":{\"178\":1}}],[\"名字扩展具有消除名字歧义和消除引用歧义的双重目的\",{\"1\":{\"163\":1}}],[\"名字扩展的目的是不是仅限于消除歧义\",{\"1\":{\"163\":1}}],[\"名字扩展可以使用\",{\"1\":{\"163\":1}}],[\"名字变量\",{\"0\":{\"203\":1},\"1\":{\"155\":1,\"177\":1}}],[\"名字变量的内容\",{\"1\":{\"150\":1}}],[\"名字格式化\",{\"0\":{\"153\":1}}],[\"名字内部各部分的顺序取决于\",{\"1\":{\"152\":1}}],[\"名字内部顺序\",{\"0\":{\"152\":1},\"1\":{\"151\":1}}],[\"名字后缀\",{\"1\":{\"151\":1}}],[\"名字分隔符总是使用\",{\"1\":{\"151\":1}}],[\"名字为\",{\"1\":{\"106\":1}}],[\"名字大于等于\",{\"1\":{\"97\":1}}],[\"两者\",{\"1\":{\"545\":1}}],[\"两种方法都无法抓取文献\",{\"1\":{\"566\":1}}],[\"两种情况下\",{\"1\":{\"188\":1}}],[\"两种类型的群组\",{\"1\":{\"296\":1,\"297\":1}}],[\"两种类型\",{\"1\":{\"173\":1}}],[\"两边对其\",{\"1\":{\"183\":1}}],[\"两个关键词中间敲一个空格\",{\"1\":{\"510\":1}}],[\"两个字段中\",{\"1\":{\"271\":1}}],[\"两个人\",{\"1\":{\"151\":1}}],[\"两个软件\",{\"1\":{\"21\":1}}],[\"两次在\",{\"1\":{\"97\":2}}],[\"次请求\",{\"1\":{\"384\":2}}],[\"次排序键值\",{\"1\":{\"173\":2}}],[\"次\",{\"1\":{\"97\":1,\"506\":3,\"507\":3}}],[\"ⅳ\",{\"1\":{\"97\":1}}],[\"众多变量类型中的一种\",{\"1\":{\"97\":1}}],[\"之间的单向超链接\",{\"1\":{\"531\":1}}],[\"之前请确保你安装的\",{\"1\":{\"506\":1}}],[\"之前添加的中文附件未能自动创建父条目\",{\"1\":{\"241\":1}}],[\"之前添加的外文附件未能自动创建父条目\",{\"1\":{\"240\":1}}],[\"之前\",{\"1\":{\"235\":1}}],[\"之前可能会有\",{\"1\":{\"129\":1}}],[\"之前已被引用的条目在被继续引用时会写为更紧凑的形式\",{\"1\":{\"89\":1}}],[\"之后重启\",{\"1\":{\"528\":1}}],[\"之后您可以在\",{\"1\":{\"383\":1}}],[\"之后按下按钮将显示引文对话框\",{\"1\":{\"321\":1}}],[\"之后即可加入\",{\"1\":{\"296\":1}}],[\"之后会弹出以下窗口\",{\"1\":{\"277\":1}}],[\"之后\",{\"1\":{\"97\":1,\"260\":1}}],[\"零碎的代码\",{\"1\":{\"97\":1}}],[\"小到一个\",{\"1\":{\"431\":1}}],[\"小技巧\",{\"1\":{\"321\":1}}],[\"小组合作\",{\"1\":{\"290\":1}}],[\"小时加载一次期刊目录\",{\"1\":{\"279\":1,\"289\":1}}],[\"小时会刷新一遍订阅\",{\"1\":{\"279\":1,\"289\":1}}],[\"小时\",{\"1\":{\"279\":1,\"289\":2,\"536\":1}}],[\"小时内未更新\",{\"1\":{\"251\":1}}],[\"小提示\",{\"1\":{\"239\":1}}],[\"小于\",{\"1\":{\"204\":1}}],[\"小节中展开\",{\"1\":{\"307\":1}}],[\"小节\",{\"1\":{\"293\":1}}],[\"小节完成账号注册和登录\",{\"1\":{\"290\":1}}],[\"小节实际上只适用于一种类型\",{\"1\":{\"98\":1}}],[\"小节用于存储样式的大部分元数据\",{\"1\":{\"92\":1}}],[\"小段的\",{\"1\":{\"97\":1}}],[\"微软自带浏览器\",{\"1\":{\"307\":1}}],[\"微命令\",{\"1\":{\"97\":1}}],[\"微小的\",{\"1\":{\"97\":1}}],[\"巨大的\",{\"1\":{\"97\":1}}],[\"宏安全性\",{\"1\":{\"550\":1}}],[\"宏功能\",{\"1\":{\"550\":1}}],[\"宏实现的功能\",{\"1\":{\"531\":1}}],[\"宏调用则只返回原本要渲染的日期部分\",{\"1\":{\"178\":1}}],[\"宏进行排序\",{\"1\":{\"176\":1}}],[\"宏替换\",{\"1\":{\"155\":1}}],[\"宏名字建议使用通用的名字\",{\"1\":{\"131\":1}}],[\"宏通过\",{\"1\":{\"131\":1}}],[\"宏在文件中位置的通常建议是\",{\"1\":{\"131\":1}}],[\"宏可以在其他宏\",{\"1\":{\"131\":1}}],[\"宏可以将格式指示重复使用\",{\"1\":{\"116\":1}}],[\"宏和\",{\"1\":{\"98\":1}}],[\"宏的输出\",{\"1\":{\"97\":1}}],[\"宏的输出组成\",{\"1\":{\"97\":2}}],[\"宏的使用简化了\",{\"1\":{\"97\":1}}],[\"宏输出那些存储于所引条目的名称变量\",{\"1\":{\"97\":1}}],[\"宏命令\",{\"1\":{\"97\":1}}],[\"宏\",{\"1\":{\"97\":1,\"98\":2,\"131\":1}}],[\"模板中的启动脚本将为你自动侧载插件\",{\"1\":{\"420\":1}}],[\"模板的启动脚本中已经进行了相关配置\",{\"1\":{\"419\":1}}],[\"模板用户无需手动配置\",{\"1\":{\"419\":1}}],[\"模板\",{\"1\":{\"96\":1}}],[\"模板外\",{\"1\":{\"64\":1}}],[\"重点在包含在其中的\",{\"1\":{\"522\":1}}],[\"重装\",{\"1\":{\"517\":1}}],[\"重新用\",{\"1\":{\"554\":1}}],[\"重新进设置里改回你想用的设置\",{\"1\":{\"516\":1}}],[\"重新安装word插件\",{\"1\":{\"517\":1}}],[\"重新安装\",{\"1\":{\"509\":1,\"517\":1,\"549\":1}}],[\"重新下载一遍\",{\"1\":{\"503\":1}}],[\"重新抓取中文\",{\"1\":{\"241\":1}}],[\"重新抓取外文\",{\"1\":{\"240\":1}}],[\"重试即可\",{\"1\":{\"317\":1}}],[\"重启浏览器\",{\"1\":{\"506\":1}}],[\"重启后会被重置\",{\"1\":{\"480\":1}}],[\"重启\",{\"1\":{\"289\":1,\"496\":1,\"519\":1,\"528\":1,\"558\":1}}],[\"重复条目会严重影响正确性\",{\"1\":{\"268\":1}}],[\"重复条目\",{\"0\":{\"268\":1}}],[\"重命名附件\",{\"1\":{\"241\":1}}],[\"重命名相关文件\",{\"1\":{\"241\":1}}],[\"重写\",{\"1\":{\"94\":3}}],[\"重要的内容\",{\"1\":{\"43\":1}}],[\"要查看\",{\"1\":{\"535\":1,\"544\":1}}],[\"要插入参考文献表\",{\"1\":{\"509\":1}}],[\"要记得打勾\",{\"1\":{\"409\":1}}],[\"要以单独窗口打开文献\",{\"1\":{\"390\":1}}],[\"要全部显示或隐藏\",{\"1\":{\"362\":1}}],[\"要导出\",{\"1\":{\"343\":1}}],[\"要删除条目\",{\"1\":{\"342\":1}}],[\"要移除当前分类下的条目\",{\"1\":{\"340\":1}}],[\"要移动到新的分类并从旧的分类中移除\",{\"1\":{\"340\":1}}],[\"要复制到新的分类\",{\"1\":{\"340\":1}}],[\"要从引用中省略作者\",{\"1\":{\"330\":1}}],[\"要引用除所列定位符以外的定位符\",{\"1\":{\"328\":1}}],[\"要永久切换到经典视图\",{\"1\":{\"324\":1}}],[\"要恢复自动排序\",{\"1\":{\"322\":1,\"326\":1}}],[\"要创建包含多个引文的引文\",{\"1\":{\"322\":1}}],[\"要在\",{\"1\":{\"318\":1}}],[\"要使用这些设置\",{\"1\":{\"545\":1}}],[\"要使用\",{\"1\":{\"309\":1,\"483\":1}}],[\"要访问它\",{\"1\":{\"253\":1}}],[\"要了解有关添加附件\",{\"1\":{\"234\":1}}],[\"要获得所有语言环境的缩写月份\",{\"1\":{\"143\":1}}],[\"要理解这种引注格式在\",{\"1\":{\"97\":1}}],[\"要理解上面的样式\",{\"1\":{\"94\":1}}],[\"要明白\",{\"1\":{\"85\":1}}],[\"元素会在窗口关闭时自动销毁\",{\"1\":{\"428\":1}}],[\"元素有\",{\"1\":{\"211\":1}}],[\"元素内容和结束标签构成\",{\"1\":{\"211\":1}}],[\"元素由开始标签\",{\"1\":{\"211\":1}}],[\"元素文本\",{\"1\":{\"210\":1}}],[\"元素对本地化文件中的设置进行覆盖\",{\"1\":{\"207\":1}}],[\"元素通过\",{\"1\":{\"177\":1}}],[\"元素之前携带一个\",{\"1\":{\"176\":1}}],[\"元素渲染时\",{\"1\":{\"175\":1}}],[\"元素渲染的部分的总数\",{\"1\":{\"151\":1}}],[\"元素是多余的\",{\"1\":{\"159\":1}}],[\"元素是可选的\",{\"1\":{\"156\":1}}],[\"元素允许有条件的渲染元素\",{\"1\":{\"159\":1}}],[\"元素包含了多个子元素\",{\"1\":{\"155\":1}}],[\"元素必须包含一个或者多个\",{\"1\":{\"176\":1}}],[\"元素必须包含一个或者多个渲染元素\",{\"1\":{\"158\":1}}],[\"元素必须含有一个或多个判断条件\",{\"1\":{\"159\":1}}],[\"元素必须至少包含一个渲染元素\",{\"1\":{\"159\":1}}],[\"元素必须放在\",{\"1\":{\"154\":1}}],[\"元素必须携带一个\",{\"1\":{\"135\":1}}],[\"元素设置为\",{\"1\":{\"165\":2}}],[\"元素设置\",{\"1\":{\"154\":1}}],[\"元素不影响\",{\"1\":{\"153\":1}}],[\"元素不同日期部分的分隔符\",{\"1\":{\"143\":1}}],[\"元素也可以携带\",{\"1\":{\"151\":1}}],[\"元素上设置\",{\"1\":{\"138\":2}}],[\"元素上的\",{\"1\":{\"97\":1}}],[\"元素以\",{\"1\":{\"136\":1}}],[\"元素以一个cs\",{\"1\":{\"97\":1}}],[\"元素可能回包含任意个除\",{\"1\":{\"159\":1}}],[\"元素可能会携带一个或者两个\",{\"1\":{\"153\":1}}],[\"元素可能会携带\",{\"1\":{\"149\":1,\"150\":1,\"159\":1}}],[\"元素可能包含\",{\"1\":{\"133\":1}}],[\"元素可以在\",{\"1\":{\"176\":1}}],[\"元素可以包含一个或者多个名称变量\",{\"1\":{\"150\":1}}],[\"元素可以使用\",{\"1\":{\"135\":1}}],[\"元素可以携带\",{\"1\":{\"128\":1}}],[\"元素可以多次使用\",{\"1\":{\"121\":1}}],[\"元素可以用来重写本地化文件中定义过的数据\",{\"1\":{\"94\":1}}],[\"元素后\",{\"1\":{\"132\":1,\"154\":1,\"156\":1}}],[\"元素后以及\",{\"1\":{\"131\":1}}],[\"元素应该放在\",{\"1\":{\"132\":1}}],[\"元素来渲染数字变量时\",{\"1\":{\"149\":1}}],[\"元素来重定义或者补充定义\",{\"1\":{\"132\":1}}],[\"元素来定义\",{\"1\":{\"97\":1,\"135\":1}}],[\"元素前\",{\"1\":{\"131\":1,\"156\":1}}],[\"元素用来输出一个或多个\",{\"1\":{\"150\":1}}],[\"元素用来控制日期的各个部分怎么渲染\",{\"1\":{\"144\":1}}],[\"元素用来给出本地化文件的元数据\",{\"1\":{\"134\":1}}],[\"元素用来描述条目的排序\",{\"1\":{\"130\":1}}],[\"元素用来定义每一个独立的参考文献条目的格式\",{\"1\":{\"98\":1}}],[\"元素描述了\",{\"1\":{\"144\":1}}],[\"元素描述了参考文献条目的格式\",{\"1\":{\"130\":1}}],[\"元素描述了引注的格式\",{\"1\":{\"129\":1}}],[\"元素时\",{\"1\":{\"104\":1,\"176\":1}}],[\"元素储存的值\",{\"1\":{\"97\":1}}],[\"元素显示的结果称为它的输出\",{\"1\":{\"97\":1}}],[\"元素旨在描述引注的格式\",{\"1\":{\"97\":1}}],[\"元素定义\",{\"1\":{\"131\":1,\"135\":1}}],[\"元素定义的分支语句开始\",{\"1\":{\"97\":1}}],[\"元素定义参考文献表的格式\",{\"1\":{\"94\":1}}],[\"元素定义引注的格式\",{\"1\":{\"94\":1}}],[\"元素中定义\",{\"1\":{\"175\":1}}],[\"元素中继承的属性有\",{\"1\":{\"174\":1}}],[\"元素中渲染的第一个名字\",{\"1\":{\"169\":1}}],[\"元素中设置的后缀将不会被代替\",{\"1\":{\"169\":1}}],[\"元素中设置\",{\"1\":{\"161\":1,\"174\":1}}],[\"元素中设置元素可以配置特定的\",{\"1\":{\"161\":1}}],[\"元素中必须还有\",{\"1\":{\"159\":1}}],[\"元素中在\",{\"1\":{\"155\":1}}],[\"元素中包含\",{\"1\":{\"150\":1}}],[\"元素中提取\",{\"1\":{\"145\":1}}],[\"元素中通过设置\",{\"1\":{\"164\":1}}],[\"元素中通过\",{\"1\":{\"145\":1}}],[\"元素中使用\",{\"1\":{\"143\":1,\"144\":1}}],[\"元素中不能使用词缀\",{\"1\":{\"143\":1}}],[\"元素中还包含了\",{\"1\":{\"97\":1}}],[\"元素中呢\",{\"1\":{\"97\":1}}],[\"元素中存储的值\",{\"1\":{\"97\":1}}],[\"元素中的\",{\"1\":{\"97\":3,\"138\":2,\"150\":1,\"152\":1,\"164\":1,\"174\":2,\"175\":1,\"178\":1,\"204\":1}}],[\"元素中见到过\",{\"1\":{\"95\":1}}],[\"元素中\",{\"1\":{\"94\":1,\"97\":2,\"138\":2,\"141\":1,\"152\":1,\"155\":1}}],[\"元素中保存其印刷品的\",{\"1\":{\"92\":1}}],[\"元素在在独立样式中的作用和其在从属格式中的相同\",{\"1\":{\"94\":1}}],[\"元素和注释\",{\"1\":{\"211\":1}}],[\"元素和\",{\"0\":{\"97\":1},\"1\":{\"92\":1,\"98\":1,\"131\":1,\"141\":1,\"159\":1,\"161\":1}}],[\"元素的一个可选的子元素\",{\"1\":{\"151\":1}}],[\"元素的的必要子元素\",{\"1\":{\"141\":1}}],[\"元素的子元素时\",{\"1\":{\"156\":1}}],[\"元素的子元素\",{\"1\":{\"135\":1}}],[\"元素的内容必须是一个\",{\"1\":{\"134\":1}}],[\"元素的内容紧凑通常是推荐的做法\",{\"1\":{\"131\":1}}],[\"元素的例子\",{\"1\":{\"132\":1}}],[\"元素的详细使用\",{\"1\":{\"132\":1}}],[\"元素的属性也可以在\",{\"1\":{\"174\":1}}],[\"元素的属性\",{\"1\":{\"131\":1}}],[\"元素的结构很相似\",{\"1\":{\"98\":1}}],[\"元素的结构\",{\"1\":{\"97\":1}}],[\"元素的\",{\"1\":{\"92\":1,\"97\":1,\"98\":1,\"132\":2,\"142\":1,\"143\":1,\"153\":2,\"165\":2}}],[\"元素\",{\"0\":{\"96\":1,\"97\":1,\"98\":1,\"99\":1,\"211\":1},\"1\":{\"92\":1,\"97\":5,\"98\":1,\"99\":1,\"129\":1,\"131\":3,\"132\":2,\"133\":1,\"138\":1,\"150\":1,\"155\":1,\"159\":1,\"174\":1,\"176\":1,\"483\":1}}],[\"元数据检索窗口\",{\"1\":{\"240\":1}}],[\"元数据\",{\"1\":{\"240\":1,\"241\":2}}],[\"元数据和引用细节\",{\"1\":{\"90\":1}}],[\"元数据中可以包括该\",{\"1\":{\"86\":1}}],[\"基本使用\",{\"0\":{\"462\":1,\"468\":1}}],[\"基本一致\",{\"1\":{\"438\":1}}],[\"基本无效\",{\"1\":{\"242\":1}}],[\"基于知识的笔记插件\",{\"1\":{\"224\":1}}],[\"基于\",{\"1\":{\"92\":1,\"210\":1,\"420\":1}}],[\"基础知识\",{\"0\":{\"350\":1}}],[\"基础使用\",{\"1\":{\"223\":1}}],[\"基础\",{\"0\":{\"210\":1},\"1\":{\"91\":1}}],[\"属性参考\",{\"0\":{\"440\":1}}],[\"属性是阅读器的\",{\"1\":{\"463\":1}}],[\"属性是对元素及其内容的描述\",{\"1\":{\"212\":1}}],[\"属性是可选的\",{\"1\":{\"132\":1}}],[\"属性没有设置\",{\"1\":{\"188\":1}}],[\"属性值用来在输出的前面或者后面添加东西\",{\"1\":{\"181\":1}}],[\"属性值必须和\",{\"1\":{\"142\":1}}],[\"属性值必须是\",{\"1\":{\"142\":1}}],[\"属性调用日期变量\",{\"1\":{\"178\":1}}],[\"属性被调用\",{\"1\":{\"177\":1}}],[\"属性被设置时\",{\"1\":{\"137\":1,\"151\":1,\"179\":1}}],[\"属性被设置为\",{\"1\":{\"99\":1}}],[\"属性对话框\",{\"1\":{\"554\":1}}],[\"属性对姓名进行排序\",{\"1\":{\"178\":1}}],[\"属性对应\",{\"1\":{\"174\":1}}],[\"属性对英语\",{\"1\":{\"174\":1}}],[\"属性代替对应的值\",{\"1\":{\"169\":1}}],[\"属性或者\",{\"1\":{\"164\":1}}],[\"属性可能的值为\",{\"1\":{\"183\":1}}],[\"属性可用于将各个参考文献条目构成一个或者多个文本块\",{\"1\":{\"183\":1}}],[\"属性可设置的值为\",{\"1\":{\"163\":1}}],[\"属性可以在\",{\"1\":{\"182\":1,\"184\":1,\"185\":1,\"186\":1}}],[\"属性可以控制标点放在括号的内还是外\",{\"1\":{\"175\":1}}],[\"属性可以被设置为\",{\"1\":{\"154\":1}}],[\"属性可以用来分割不同的名字变量\",{\"1\":{\"150\":1}}],[\"属性可以用来设置页面范围分割的符号\",{\"1\":{\"172\":1}}],[\"属性可以用来设置\",{\"1\":{\"143\":1,\"154\":1}}],[\"属性可以用来设置不同的日期组成部分\",{\"1\":{\"143\":1}}],[\"属性可以设置为\",{\"1\":{\"144\":1,\"156\":1}}],[\"属性可以设置术语的形式\",{\"1\":{\"142\":1}}],[\"属性可以设置用来代替的默认的本地化文件\",{\"1\":{\"115\":1}}],[\"属性为\",{\"1\":{\"163\":1}}],[\"属性为每个样式文件分配一个或多个研究领域\",{\"1\":{\"92\":1}}],[\"属性会影响\",{\"1\":{\"153\":2}}],[\"属性激活\",{\"1\":{\"152\":2}}],[\"属性的对象\",{\"1\":{\"428\":1}}],[\"属性的另外一种形式\",{\"1\":{\"212\":1}}],[\"属性的设置\",{\"1\":{\"152\":1}}],[\"属性的值将会代替所有被渲染的名字\",{\"1\":{\"169\":1}}],[\"属性的值将代替整个名字列表\",{\"1\":{\"169\":1}}],[\"属性的值相匹配\",{\"1\":{\"142\":1}}],[\"属性的值就是这个\",{\"1\":{\"97\":1}}],[\"属性的值\",{\"1\":{\"97\":1,\"151\":1,\"169\":1,\"176\":1}}],[\"属性和\",{\"1\":{\"152\":1,\"174\":1}}],[\"属性相同\",{\"1\":{\"151\":1}}],[\"属性导致的内部位置变换后的分隔符\",{\"1\":{\"151\":1}}],[\"属性将会影响所有的名字\",{\"1\":{\"151\":1}}],[\"属性只影响名字变量中的第一个名字\",{\"1\":{\"151\":1}}],[\"属性使当前的名字发生了颠倒时使用\",{\"1\":{\"151\":2}}],[\"属性行进格式化\",{\"1\":{\"149\":1}}],[\"属性选择的数字变量\",{\"1\":{\"149\":1}}],[\"属性选择的日期部分\",{\"1\":{\"144\":1}}],[\"属性以及多个\",{\"1\":{\"143\":1}}],[\"属性并设置为\",{\"1\":{\"143\":1}}],[\"属性必须包含在一对单引号或者双引号之间\",{\"1\":{\"212\":1}}],[\"属性必须是\",{\"1\":{\"142\":1}}],[\"属性必须设置为\",{\"1\":{\"128\":1}}],[\"属性一起选择变量的\",{\"1\":{\"142\":1}}],[\"属性用来控制判断的逻辑\",{\"1\":{\"159\":1}}],[\"属性用来指定一个引文中的不同引用的间隔符\",{\"1\":{\"141\":1}}],[\"属性用来设置\",{\"1\":{\"138\":1}}],[\"属性用来表示元素内容的语言\",{\"1\":{\"128\":1}}],[\"属性则用来指定元素内容的语言\",{\"1\":{\"134\":1}}],[\"属性来调用\",{\"1\":{\"177\":1}}],[\"属性来折叠\",{\"1\":{\"165\":1}}],[\"属性来分隔子元素以及\",{\"1\":{\"158\":1}}],[\"属性来控制\",{\"1\":{\"154\":1}}],[\"属性来选择\",{\"1\":{\"143\":1}}],[\"属性来设置为升序\",{\"1\":{\"176\":1}}],[\"属性来设置其缩写形式\",{\"1\":{\"151\":1}}],[\"属性来设置常用的分隔符\",{\"1\":{\"145\":1}}],[\"属性来设置\",{\"1\":{\"138\":1,\"144\":1,\"151\":1,\"165\":1}}],[\"属性来设置数字变量渲染为序数\",{\"1\":{\"135\":1}}],[\"属性来设置特定格式\",{\"1\":{\"135\":1}}],[\"属性来指定\",{\"1\":{\"134\":1}}],[\"属性来将期刊期号括到圆括号里\",{\"1\":{\"98\":1}}],[\"属性也可能缺失\",{\"1\":{\"132\":1}}],[\"属性时多次使用\",{\"1\":{\"119\":1}}],[\"属性设置的值\",{\"1\":{\"151\":1}}],[\"属性设置为首选项的键\",{\"1\":{\"484\":1}}],[\"属性设置为\",{\"1\":{\"136\":1,\"138\":1,\"143\":1,\"148\":1,\"151\":2,\"152\":10,\"163\":1,\"175\":3,\"177\":2,\"178\":3}}],[\"属性设置为一种语言\",{\"1\":{\"132\":1}}],[\"属性设置其为以下几种情形\",{\"1\":{\"119\":1}}],[\"属性设置\",{\"1\":{\"104\":1,\"138\":1,\"149\":1}}],[\"属性放置了其它的标点\",{\"1\":{\"98\":1}}],[\"属性定义了引注周围的圆括号\",{\"1\":{\"97\":1}}],[\"属性区分本样式是\",{\"1\":{\"95\":1}}],[\"属性\",{\"0\":{\"212\":1},\"1\":{\"95\":1,\"97\":1,\"124\":1,\"133\":2,\"135\":1,\"141\":1,\"142\":1,\"143\":1,\"144\":4,\"149\":1,\"150\":1,\"153\":1,\"156\":1,\"157\":1,\"158\":1,\"164\":1,\"174\":2,\"176\":1,\"210\":1,\"454\":1,\"462\":1,\"554\":1}}],[\"属性中指定引用格式\",{\"1\":{\"92\":1}}],[\"属性链接到\",{\"1\":{\"92\":1}}],[\"属性指定名应当以缩写显示\",{\"1\":{\"97\":1}}],[\"属性指定\",{\"1\":{\"92\":1}}],[\"美式英语\",{\"1\":{\"92\":1}}],[\"美观且不容易发生错误\",{\"1\":{\"42\":1}}],[\"告诉样式才有特定的语言来生成引注和参考文献表\",{\"1\":{\"92\":1}}],[\"告示块\",{\"0\":{\"53\":1}}],[\"根目录\",{\"1\":{\"385\":1}}],[\"根据知网上下载的文献文件来抓取引用信息\",{\"1\":{\"575\":1}}],[\"根据\",{\"1\":{\"465\":1,\"529\":1}}],[\"根据自己需要进一步归档到子分类\",{\"1\":{\"336\":1}}],[\"根据史密斯\",{\"1\":{\"330\":1}}],[\"根据界面提示完成导入\",{\"1\":{\"243\":1}}],[\"根据你的实际情况选择使用哪个功能\",{\"1\":{\"243\":1}}],[\"根据需要使用两位数或者更多\",{\"1\":{\"204\":1}}],[\"根据提示安装推荐的插件\",{\"1\":{\"63\":1}}],[\"根据提示登录\",{\"1\":{\"63\":2}}],[\"根元素包含了其他所有元素\",{\"1\":{\"211\":1}}],[\"根元素是文档的第一个元素\",{\"1\":{\"210\":1}}],[\"根元素也是元素\",{\"1\":{\"210\":1}}],[\"根元素必须携带\",{\"1\":{\"133\":1}}],[\"根元素中\",{\"1\":{\"133\":1}}],[\"根元素有以下几种属性\",{\"1\":{\"112\":1}}],[\"根元素\",{\"0\":{\"95\":1,\"112\":1},\"1\":{\"210\":1}}],[\"根元素开始分析\",{\"1\":{\"94\":1}}],[\"根元素的起始标签和结束标签\",{\"1\":{\"92\":1}}],[\"0c05697\",{\"1\":{\"522\":1}}],[\"08\",{\"1\":{\"192\":1,\"193\":1,\"469\":1}}],[\"06\",{\"1\":{\"192\":1,\"193\":1}}],[\"05\",{\"1\":{\"192\":1,\"193\":1}}],[\"02591\",{\"1\":{\"158\":1,\"200\":1}}],[\"02\",{\"0\":{\"578\":1},\"1\":{\"136\":1,\"192\":1,\"193\":1,\"196\":1}}],[\"03\",{\"0\":{\"581\":1},\"1\":{\"136\":2,\"192\":1,\"193\":1,\"196\":1}}],[\"09001\",{\"1\":{\"212\":1}}],[\"09\",{\"1\":{\"136\":1,\"192\":1,\"193\":1}}],[\"09+00\",{\"1\":{\"93\":1,\"96\":1}}],[\"0016\",{\"1\":{\"522\":2}}],[\"000\",{\"1\":{\"374\":1}}],[\"00\",{\"1\":{\"136\":3,\"193\":1}}],[\"00<\",{\"1\":{\"92\":2,\"93\":1,\"96\":1,\"128\":1}}],[\"01\",{\"0\":{\"577\":1},\"1\":{\"128\":1,\"136\":1,\"137\":3,\"144\":2,\"147\":1,\"149\":1,\"192\":1,\"193\":1,\"196\":1,\"444\":1}}],[\"04\",{\"0\":{\"582\":1},\"1\":{\"92\":2,\"136\":2,\"147\":1,\"192\":1,\"193\":1,\"196\":1,\"522\":6}}],[\"0\",{\"0\":{\"101\":1},\"1\":{\"92\":8,\"93\":4,\"94\":1,\"95\":1,\"96\":2,\"101\":1,\"110\":1,\"115\":4,\"128\":2,\"133\":4,\"136\":5,\"137\":1,\"144\":1,\"172\":1,\"177\":1,\"204\":1,\"210\":1,\"262\":1,\"429\":4,\"435\":1,\"439\":3,\"444\":2,\"445\":5,\"465\":5,\"475\":1,\"491\":2,\"509\":1,\"510\":1,\"522\":4,\"532\":6,\"536\":1,\"545\":2}}],[\"075\",{\"1\":{\"522\":2}}],[\"07\",{\"1\":{\"39\":2,\"158\":1,\"192\":1,\"193\":1,\"200\":1}}],[\"分钟\",{\"1\":{\"536\":1}}],[\"分钟不超过\",{\"1\":{\"384\":2}}],[\"分钟还在\",{\"1\":{\"317\":1}}],[\"分享文献引文\",{\"1\":{\"266\":1}}],[\"分类和管理\",{\"1\":{\"403\":1}}],[\"分类中的条目是文库中条目的一个\",{\"1\":{\"357\":1}}],[\"分类类似于文件夹\",{\"1\":{\"336\":1}}],[\"分类有什么用\",{\"1\":{\"336\":1}}],[\"分类属于各自的群组\",{\"1\":{\"336\":1}}],[\"分类是所有文献条目的父级\",{\"1\":{\"336\":1}}],[\"分类的图标类似文件夹\",{\"1\":{\"336\":1}}],[\"分类管理\",{\"0\":{\"336\":1}}],[\"分类\",{\"1\":{\"243\":1,\"337\":1}}],[\"分组后的引用保持其相对顺序\",{\"1\":{\"164\":1}}],[\"分开\",{\"1\":{\"138\":1}}],[\"分别输入\",{\"1\":{\"554\":1}}],[\"分别位于自动生成的引用之前和之后\",{\"1\":{\"329\":1}}],[\"分别对应条目的读取\",{\"1\":{\"293\":1}}],[\"分别是通过代理文件在启动时加载插件\",{\"1\":{\"420\":1}}],[\"分别是\",{\"1\":{\"292\":1}}],[\"分别保存在\",{\"1\":{\"271\":1}}],[\"分别代表春夏秋冬\",{\"1\":{\"147\":1}}],[\"分别设置为\",{\"1\":{\"137\":1}}],[\"分别用来致谢样式的作者和贡献者\",{\"1\":{\"118\":1}}],[\"分隔子元素的输出\",{\"1\":{\"182\":1}}],[\"分隔名字列表中的名字\",{\"1\":{\"182\":1}}],[\"分隔名字变量中不同的名字列表\",{\"1\":{\"182\":1}}],[\"分隔符将被禁用\",{\"1\":{\"182\":1}}],[\"分隔符\",{\"0\":{\"182\":1},\"1\":{\"151\":1}}],[\"分隔符一直使用\",{\"1\":{\"151\":1}}],[\"分隔时\",{\"1\":{\"149\":1}}],[\"分隔\",{\"1\":{\"97\":1,\"151\":1,\"159\":1}}],[\"分析它的\",{\"1\":{\"91\":1}}],[\"分支\",{\"1\":{\"25\":2,\"63\":1}}],[\"分支后\",{\"1\":{\"25\":1}}],[\"分支至远程\",{\"1\":{\"25\":1}}],[\"分支中修改并提交\",{\"1\":{\"25\":1}}],[\"分支中进行修改和提交\",{\"1\":{\"24\":1}}],[\"分支的修改只能通过\",{\"1\":{\"24\":1}}],[\"分支开启了推送保护\",{\"1\":{\"24\":1}}],[\"分支名需简短\",{\"1\":{\"24\":1}}],[\"怎么使用它\",{\"1\":{\"91\":1}}],[\"理解\",{\"0\":{\"91\":1}}],[\"理解和翻译有误处请大家谅解\",{\"1\":{\"64\":1}}],[\"那样出现多个的\",{\"1\":{\"414\":1}}],[\"那\",{\"1\":{\"261\":1}}],[\"那就无所谓了\",{\"1\":{\"244\":1}}],[\"那就是\",{\"1\":{\"90\":1}}],[\"那些以\",{\"1\":{\"136\":1}}],[\"那维护起一大堆\",{\"1\":{\"92\":1}}],[\"那么服务器地址填写如下\",{\"1\":{\"385\":1}}],[\"那么在填写服务器地址时\",{\"1\":{\"385\":1}}],[\"那么您具有两种网盘同步方式\",{\"1\":{\"383\":1}}],[\"那么图标就会变成下图\",{\"1\":{\"238\":1}}],[\"那么\",{\"1\":{\"86\":1}}],[\"那么通常\",{\"1\":{\"63\":1}}],[\"那么页面中第一个一级标题\",{\"1\":{\"39\":1}}],[\"那么可以使用这种方式在线修改\",{\"1\":{\"34\":1}}],[\"比起其他的文献管理软件\",{\"1\":{\"575\":1}}],[\"比方说章节中某个参数被提出的页码\",{\"1\":{\"89\":1}}],[\"比如该弹窗即为某文献在文中编码为\",{\"1\":{\"521\":1}}],[\"比如一些古籍\",{\"1\":{\"244\":1}}],[\"比如伊丽莎白二世\",{\"1\":{\"151\":1}}],[\"比如法语\",{\"1\":{\"144\":1,\"175\":1}}],[\"比如在排序的时候\",{\"1\":{\"151\":1}}],[\"比如在需要单数和复数的情况下可以分别在子元素\",{\"1\":{\"135\":1}}],[\"比如在中文环境中使用\",{\"1\":{\"109\":1}}],[\"比如通过使用\",{\"1\":{\"135\":1}}],[\"比如顺序\",{\"1\":{\"85\":1}}],[\"比如\",{\"1\":{\"81\":1,\"127\":1,\"135\":2,\"136\":3,\"145\":1,\"147\":1,\"151\":3,\"159\":1,\"164\":1,\"165\":1,\"169\":1,\"173\":1,\"177\":1,\"213\":1}}],[\"比如修改简单的别字\",{\"1\":{\"32\":1}}],[\"还提供了\",{\"1\":{\"465\":1}}],[\"还请自行体会\",{\"1\":{\"406\":1}}],[\"还应检查这些注释笔记\",{\"1\":{\"301\":1}}],[\"还是根据文件名\",{\"1\":{\"575\":1}}],[\"还是在单词中的任何位置查找匹配\",{\"1\":{\"540\":1}}],[\"还是\",{\"1\":{\"239\":1}}],[\"还是对消除歧义的名字有其他的目的\",{\"1\":{\"163\":1}}],[\"还可以将\",{\"1\":{\"377\":1}}],[\"还可以与\",{\"1\":{\"375\":1}}],[\"还可以根据细分领域或者方法\",{\"1\":{\"336\":1}}],[\"还可以用于管理文件\",{\"1\":{\"227\":1}}],[\"还可以设置为\",{\"1\":{\"151\":1}}],[\"还可以含有\",{\"1\":{\"151\":1}}],[\"还没完\",{\"1\":{\"97\":1}}],[\"还有文章所在的页码\",{\"1\":{\"98\":1}}],[\"还有\",{\"1\":{\"94\":1}}],[\"还取决于这些条目被引用处的上下文\",{\"1\":{\"89\":1}}],[\"还需设置个人信息\",{\"1\":{\"21\":1}}],[\"出现\",{\"1\":{\"409\":1}}],[\"出现的时候赋值\",{\"1\":{\"174\":1}}],[\"出现的页码范围以及\",{\"1\":{\"88\":1}}],[\"出现在首字母\",{\"1\":{\"173\":2}}],[\"出现在\",{\"1\":{\"153\":2}}],[\"出于同样的目的\",{\"1\":{\"92\":1}}],[\"出版来源检索\",{\"1\":{\"284\":1}}],[\"出版社的地理位置\",{\"1\":{\"200\":1}}],[\"出版社\",{\"1\":{\"200\":1}}],[\"出版商\",{\"1\":{\"200\":1,\"276\":1,\"355\":1}}],[\"出版集团想修改\",{\"1\":{\"86\":1}}],[\"出版年制\",{\"1\":{\"80\":2}}],[\"出版物来源的信息\",{\"1\":{\"73\":1}}],[\"发布工作流\",{\"1\":{\"494\":1}}],[\"发布日期\",{\"1\":{\"244\":1}}],[\"发送邀请链接\",{\"1\":{\"298\":1}}],[\"发生了反转\",{\"1\":{\"151\":1}}],[\"发表的年份\",{\"1\":{\"88\":1}}],[\"发起\",{\"1\":{\"63\":1}}],[\"发起后\",{\"1\":{\"25\":1,\"63\":1}}],[\"正式版\",{\"1\":{\"570\":2}}],[\"正在包含此功能\",{\"1\":{\"419\":1}}],[\"正在检索并匹配这一条目信息\",{\"1\":{\"240\":1}}],[\"正确称呼是\",{\"1\":{\"569\":1}}],[\"正确的前提下\",{\"1\":{\"506\":1,\"507\":1}}],[\"正确\",{\"1\":{\"267\":1}}],[\"正常运行的文件分为三部分\",{\"1\":{\"247\":1}}],[\"正常日期\",{\"1\":{\"148\":1}}],[\"正如我们前面提到的那样\",{\"1\":{\"99\":1}}],[\"正如前文所述\",{\"1\":{\"92\":1}}],[\"正如上面所展示的那样\",{\"1\":{\"87\":1}}],[\"正文中部分专有词和特殊符号\",{\"1\":{\"42\":1}}],[\"正文段落\",{\"1\":{\"42\":2}}],[\"正文文本\",{\"0\":{\"42\":1}}],[\"yan\",{\"1\":{\"522\":2}}],[\"y=item\",{\"1\":{\"465\":1}}],[\"y\",{\"1\":{\"465\":1,\"513\":4,\"536\":2}}],[\"yuque\",{\"1\":{\"396\":1}}],[\"yongjun\",{\"1\":{\"522\":2}}],[\"you\",{\"1\":{\"475\":1,\"532\":1}}],[\"your\",{\"1\":{\"213\":2,\"475\":1,\"491\":1}}],[\"yoga\",{\"1\":{\"251\":1,\"254\":1}}],[\"yes\",{\"1\":{\"210\":1,\"521\":3}}],[\"yet\",{\"1\":{\"188\":1}}],[\"year\",{\"1\":{\"93\":6,\"97\":9,\"98\":6,\"105\":1,\"133\":2,\"138\":1,\"143\":4,\"144\":2,\"145\":2,\"147\":1,\"148\":1,\"163\":1,\"164\":1,\"165\":12,\"179\":1,\"183\":5,\"200\":2,\"383\":3}}],[\"yeast\",{\"1\":{\"80\":2,\"81\":2,\"83\":2}}],[\"yyyymmdd\",{\"1\":{\"177\":1}}],[\"yyyy\",{\"1\":{\"87\":1}}],[\"及对应的附件\",{\"1\":{\"261\":1}}],[\"及其关联期刊的引用格式\",{\"1\":{\"86\":1}}],[\"及性引诱或挑逗\",{\"1\":{\"3\":1}}],[\"都指的是这一类\",{\"1\":{\"569\":1}}],[\"都会自动编译并重新加载插件\",{\"1\":{\"494\":1}}],[\"都会回退到\",{\"1\":{\"135\":1}}],[\"都应命名空间以避免插件之间发生冲突\",{\"1\":{\"483\":1}}],[\"都应在\",{\"1\":{\"334\":1,\"521\":1}}],[\"都可以抽象为一个条目\",{\"1\":{\"431\":1}}],[\"都可能携带\",{\"1\":{\"143\":1}}],[\"都需要重新申请一下\",{\"1\":{\"317\":1}}],[\"都很有可能会匹配失败并报错\",{\"1\":{\"241\":1}}],[\"都\",{\"1\":{\"239\":1}}],[\"都依赖于\",{\"1\":{\"207\":1}}],[\"都使用\",{\"1\":{\"106\":1}}],[\"都是用来保存样式元数据\",{\"1\":{\"94\":1}}],[\"都是可选的\",{\"1\":{\"39\":1}}],[\"都创建指向\",{\"1\":{\"86\":1}}],[\"则会看到绿色标出的提示\",{\"1\":{\"582\":1}}],[\"则会会退到其他形式\",{\"1\":{\"135\":1}}],[\"则此选项无效\",{\"1\":{\"545\":1}}],[\"则此属性将用上一条条目中的名称替换参考文献条目中的名字\",{\"1\":{\"169\":1}}],[\"则仅包含您选择的项目\",{\"1\":{\"541\":1}}],[\"则永远不会被\",{\"1\":{\"539\":1}}],[\"则很有用\",{\"1\":{\"539\":1}}],[\"则不要用大括号将单词括起来\",{\"1\":{\"539\":1}}],[\"则不论\",{\"1\":{\"151\":1}}],[\"则按字母顺序排序\",{\"1\":{\"537\":1}}],[\"则需要选择\",{\"1\":{\"521\":1}}],[\"则需要在\",{\"1\":{\"517\":1}}],[\"则点击\",{\"1\":{\"521\":1}}],[\"则随机选取一个\",{\"1\":{\"519\":1}}],[\"则还可以将选中内容一键添加到笔记\",{\"1\":{\"393\":1}}],[\"则网页包含多个条目\",{\"1\":{\"367\":1}}],[\"则二\",{\"1\":{\"337\":1}}],[\"则文档将自动更新\",{\"1\":{\"331\":1}}],[\"则这些项目可能存在\",{\"1\":{\"321\":1}}],[\"则\",{\"1\":{\"320\":1}}],[\"则显示\",{\"1\":{\"288\":1}}],[\"则将\",{\"1\":{\"279\":2}}],[\"则将该值作为文本字符串返回\",{\"1\":{\"177\":1}}],[\"则每\",{\"1\":{\"279\":1,\"289\":1}}],[\"则右击\",{\"1\":{\"264\":1}}],[\"则定期更新\",{\"1\":{\"251\":1}}],[\"则对应的文献就会被导入到库中\",{\"1\":{\"242\":1}}],[\"则可以将\",{\"1\":{\"543\":1}}],[\"则可以通过这些标识符将文献导入到\",{\"1\":{\"242\":1}}],[\"则可以更新\",{\"1\":{\"25\":1}}],[\"则搜索\",{\"1\":{\"223\":1}}],[\"则假定为英语环境\",{\"1\":{\"188\":1}}],[\"则书目条目的后续行沿第二字段对齐\",{\"1\":{\"168\":1}}],[\"则尝试通过\",{\"1\":{\"163\":1}}],[\"则识别为数字\",{\"1\":{\"159\":1}}],[\"则属性的值分别替换\",{\"1\":{\"151\":1}}],[\"则名字和\",{\"1\":{\"151\":1}}],[\"则达到\",{\"1\":{\"151\":1}}],[\"则在最后一个人名和\",{\"1\":{\"151\":1}}],[\"则只渲染一个\",{\"1\":{\"150\":1}}],[\"则描述了一个自带的非本地化的日期格式\",{\"1\":{\"143\":1}}],[\"则使用下面的格式\",{\"1\":{\"151\":1}}],[\"则使用分隔符\",{\"1\":{\"151\":1}}],[\"则使用中性变体\",{\"1\":{\"137\":1}}],[\"则使用\",{\"1\":{\"136\":1,\"155\":1}}],[\"则是可选的\",{\"1\":{\"134\":1}}],[\"则用于定义参考文献条目的格式\",{\"1\":{\"98\":1}}],[\"则用来印出\",{\"1\":{\"97\":1}}],[\"则输出这个日期的年份\",{\"1\":{\"97\":1}}],[\"则表明了\",{\"1\":{\"92\":1}}],[\"则虽然他们的引用格式都是相同的\",{\"1\":{\"86\":1}}],[\"父样式为的引用格式将会应用到这个从属样式中\",{\"1\":{\"92\":1}}],[\"父样式\",{\"1\":{\"86\":1}}],[\"该功能默认关闭\",{\"1\":{\"575\":1}}],[\"该库的主要维护者还开发了插件\",{\"1\":{\"575\":1}}],[\"该问题可解决\",{\"1\":{\"528\":1}}],[\"该问题即可解决\",{\"1\":{\"528\":1}}],[\"该问题目前有两个解决方案\",{\"1\":{\"495\":1}}],[\"该操作会让\",{\"1\":{\"521\":1}}],[\"该操作不可逆\",{\"1\":{\"509\":1}}],[\"该弹窗通常是用户手动修改了引文或参考文献表\",{\"1\":{\"521\":1}}],[\"该文件中每一行的\",{\"1\":{\"481\":1}}],[\"该部分源码在\",{\"1\":{\"463\":1}}],[\"该值始终以斜杠结尾\",{\"1\":{\"427\":1}}],[\"该值其实无用\",{\"1\":{\"39\":1}}],[\"该方法这个方法需要依赖\",{\"1\":{\"407\":1}}],[\"该项目将以阴影气泡的形式显示在对话框中\",{\"1\":{\"321\":1}}],[\"该目录下包含\",{\"1\":{\"301\":1}}],[\"该目录还包含一个\",{\"1\":{\"251\":1}}],[\"该条目以什么方式出现\",{\"1\":{\"270\":1}}],[\"该条目会混入文库中\",{\"1\":{\"243\":1}}],[\"该条条目将会显示如下引用信息\",{\"1\":{\"265\":1}}],[\"该属性在\",{\"1\":{\"172\":1}}],[\"该属性用来制定合成名字中间是不是使用连字符\",{\"1\":{\"171\":1}}],[\"该属性必须设置为\",{\"1\":{\"157\":1}}],[\"该属性只适用于拉丁字母和西里尔字母的名字\",{\"1\":{\"151\":1}}],[\"该属性值可以设置为\",{\"1\":{\"151\":1}}],[\"该属性将会在每个首字母后添加属性值\",{\"1\":{\"151\":1}}],[\"该属性可选的值有\",{\"1\":{\"151\":1}}],[\"该属性可以用来表示链接目标的语言\",{\"1\":{\"128\":1}}],[\"该元素可能会携带\",{\"1\":{\"134\":1}}],[\"该元素应该包含一个\",{\"1\":{\"120\":1}}],[\"该链接指向期刊主页\",{\"1\":{\"92\":1}}],[\"该链接指向了网上的副本\",{\"1\":{\"92\":1}}],[\"该样式将从美式英语的本地化文件检索术语的译文和本地化的日期格式\",{\"1\":{\"87\":1}}],[\"该\",{\"1\":{\"86\":1,\"122\":3,\"457\":1}}],[\"主窗口可以在\",{\"1\":{\"428\":1}}],[\"主窗口被关闭时调用\",{\"1\":{\"428\":1}}],[\"主窗口加载完毕时调用\",{\"1\":{\"428\":1}}],[\"主程序\",{\"0\":{\"306\":1}}],[\"主\",{\"1\":{\"288\":1}}],[\"主页\",{\"1\":{\"288\":1,\"314\":1}}],[\"主界面中\",{\"1\":{\"335\":1}}],[\"主界面\",{\"1\":{\"277\":1,\"397\":1}}],[\"主的视频更新\",{\"1\":{\"276\":1}}],[\"主任\",{\"1\":{\"195\":1}}],[\"主排序键值\",{\"1\":{\"173\":2}}],[\"主要来源与次要来源\",{\"1\":{\"333\":1}}],[\"主要功能有\",{\"1\":{\"315\":1,\"586\":1}}],[\"主要功能\",{\"1\":{\"288\":1}}],[\"主要用于之前有使用其它\",{\"1\":{\"278\":1}}],[\"主要包括在\",{\"1\":{\"223\":1}}],[\"主要包括两种样式\",{\"1\":{\"86\":1}}],[\"主要是将\",{\"1\":{\"207\":1}}],[\"主要作者\",{\"1\":{\"101\":1}}],[\"主仓库对\",{\"1\":{\"63\":1}}],[\"汉语等\",{\"1\":{\"85\":1}}],[\"图案发生改变\",{\"1\":{\"495\":1}}],[\"图像或音频\",{\"1\":{\"379\":1}}],[\"图像或其他单个条目\",{\"1\":{\"367\":1}}],[\"图形\",{\"1\":{\"347\":1}}],[\"图中\",{\"1\":{\"301\":1}}],[\"图中步骤\",{\"1\":{\"301\":2}}],[\"图书馆条目和笔记通过\",{\"1\":{\"379\":1}}],[\"图书\",{\"1\":{\"236\":1}}],[\"图标进入拓展选项\",{\"1\":{\"582\":1}}],[\"图标不变动\",{\"1\":{\"556\":1}}],[\"图标或快捷键\",{\"1\":{\"554\":1}}],[\"图标处右键单击\",{\"1\":{\"551\":2}}],[\"图标并选择\",{\"1\":{\"324\":1}}],[\"图标来创建一个备份\",{\"1\":{\"257\":1}}],[\"图标\",{\"1\":{\"236\":1,\"261\":1,\"286\":1,\"317\":1,\"319\":1,\"322\":1,\"415\":1,\"438\":1,\"556\":1}}],[\"图\",{\"0\":{\"328\":1},\"1\":{\"191\":1,\"198\":1}}],[\"图注\",{\"1\":{\"85\":1}}],[\"图片可以通过在\",{\"1\":{\"63\":1}}],[\"图片描述\",{\"1\":{\"47\":1}}],[\"图片\",{\"0\":{\"47\":1}}],[\"图片路径错误\",{\"1\":{\"27\":1}}],[\"生命周期钩子\",{\"0\":{\"427\":1}}],[\"生物学\",{\"1\":{\"189\":1}}],[\"生成的内容\",{\"1\":{\"521\":1}}],[\"生成的参考文献格式\",{\"1\":{\"512\":1}}],[\"生成的引用如下\",{\"1\":{\"87\":1}}],[\"生成应用密码\",{\"1\":{\"385\":1}}],[\"生成\",{\"1\":{\"287\":1}}],[\"生成参考文献表\",{\"0\":{\"265\":1}}],[\"生成一个预览链接并评论在\",{\"1\":{\"33\":1}}],[\"生态系统的各个部分\",{\"1\":{\"85\":1}}],[\"生态\",{\"0\":{\"85\":1}}],[\"jcr分区\",{\"1\":{\"522\":2}}],[\"jianguoyun\",{\"1\":{\"314\":1,\"385\":1}}],[\"jean\",{\"1\":{\"151\":1,\"152\":5,\"171\":1,\"173\":6}}],[\"jar\",{\"1\":{\"427\":1}}],[\"jabref\",{\"1\":{\"303\":1}}],[\"jaimechavarriaga\",{\"1\":{\"302\":1}}],[\"jasminum\",{\"0\":{\"577\":1},\"1\":{\"241\":1,\"506\":1,\"575\":1,\"577\":1,\"580\":1}}],[\"java\",{\"1\":{\"218\":1}}],[\"javascript\",{\"0\":{\"218\":1,\"417\":1},\"1\":{\"218\":3,\"407\":3,\"417\":1,\"494\":1}}],[\"james\",{\"1\":{\"151\":2}}],[\"jane\",{\"1\":{\"153\":1,\"163\":2}}],[\"jan\",{\"1\":{\"144\":2}}],[\"january\",{\"1\":{\"137\":1,\"144\":1,\"175\":2}}],[\"janvier\",{\"1\":{\"137\":1,\"144\":3,\"175\":3}}],[\"jump\",{\"1\":{\"470\":1,\"532\":1}}],[\"jurisdiction\",{\"1\":{\"200\":1}}],[\"june\",{\"1\":{\"145\":1}}],[\"july\",{\"1\":{\"145\":2}}],[\"julien\",{\"1\":{\"101\":1}}],[\"jr\",{\"1\":{\"101\":1,\"151\":3}}],[\"join\",{\"1\":{\"296\":2}}],[\"jones\",{\"1\":{\"164\":1,\"165\":2}}],[\"johnmy\",{\"1\":{\"527\":1}}],[\"john\",{\"1\":{\"151\":5,\"163\":4,\"213\":1}}],[\"johnson\",{\"1\":{\"98\":1,\"150\":1,\"151\":2,\"169\":5}}],[\"johnson<\",{\"1\":{\"93\":1,\"96\":1}}],[\"journalabbreviation\",{\"1\":{\"522\":2}}],[\"journals\",{\"1\":{\"108\":1}}],[\"journal\",{\"1\":{\"98\":2,\"198\":1,\"200\":2,\"201\":2,\"522\":2}}],[\"j\",{\"1\":{\"84\":1,\"87\":4,\"97\":1,\"98\":1,\"151\":20,\"163\":2,\"171\":2,\"242\":1,\"465\":1,\"513\":4,\"522\":2}}],[\"json\",{\"1\":{\"88\":3,\"254\":5,\"304\":2,\"438\":3,\"439\":2,\"441\":1,\"455\":1,\"456\":1,\"489\":1,\"491\":1,\"522\":3}}],[\"js\",{\"0\":{\"463\":1},\"1\":{\"21\":3,\"52\":1,\"88\":2,\"90\":1,\"218\":1,\"254\":2,\"425\":1,\"429\":8,\"458\":1,\"459\":2,\"460\":2,\"461\":1,\"463\":1,\"466\":2,\"467\":1,\"474\":1,\"480\":1,\"481\":1,\"483\":2,\"485\":1,\"507\":1}}],[\"尾注或脚注通常包含辨识引用文献所需的所有信息\",{\"1\":{\"84\":1}}],[\"它完全开源\",{\"1\":{\"573\":1,\"586\":1}}],[\"它可能无法与该版本的\",{\"1\":{\"571\":1}}],[\"它可能会将文档中的许多或所有\",{\"1\":{\"519\":1}}],[\"它可以用于抓取\",{\"1\":{\"400\":1}}],[\"它可以交代缘由\",{\"1\":{\"77\":1}}],[\"它包含了整个\",{\"1\":{\"463\":1}}],[\"它在\",{\"1\":{\"429\":1}}],[\"它将会覆盖\",{\"1\":{\"454\":1}}],[\"它将会依据德语的本地化文件输出翻译\",{\"1\":{\"99\":1}}],[\"它将插件的根对象注册为一个全局变量\",{\"1\":{\"429\":1}}],[\"它将插件的根对象注册到全局变量\",{\"1\":{\"429\":1}}],[\"它们可以直接添加到您的库中\",{\"1\":{\"364\":1}}],[\"它旨在存储\",{\"1\":{\"353\":1}}],[\"它会将这些数据添加到附加到导入项目的注释笔记中\",{\"1\":{\"301\":1}}],[\"它会读取\",{\"1\":{\"251\":1}}],[\"它是一个允许使用\",{\"1\":{\"438\":1}}],[\"它是包含大部分数据的数据库\",{\"1\":{\"251\":1}}],[\"它是\",{\"1\":{\"218\":1}}],[\"它是指一串代表被引文献的字符\",{\"1\":{\"83\":1}}],[\"它含有以下子元素\",{\"1\":{\"134\":1}}],[\"它含有两个属性\",{\"1\":{\"97\":1}}],[\"它的值有\",{\"1\":{\"122\":1}}],[\"它与\",{\"1\":{\"103\":1}}],[\"它有三个键\",{\"1\":{\"98\":1}}],[\"它生成的参考文献条目格式为\",{\"1\":{\"98\":1}}],[\"它确切地定义了引用格式\",{\"1\":{\"93\":1}}],[\"特别是知网\",{\"1\":{\"243\":1}}],[\"特殊的\",{\"1\":{\"438\":1}}],[\"特殊符号等\",{\"1\":{\"317\":1}}],[\"特殊标点符号\",{\"1\":{\"241\":1}}],[\"特殊情况下除外\",{\"1\":{\"103\":2}}],[\"特定序数\",{\"1\":{\"135\":1}}],[\"特定风格的\",{\"1\":{\"83\":1}}],[\"特指术语\",{\"1\":{\"74\":1}}],[\"特指\",{\"1\":{\"72\":1,\"92\":1}}],[\"特指一整个标准体系\",{\"1\":{\"68\":1}}],[\"knowledge4zotero\",{\"1\":{\"481\":3}}],[\"kglobalclipboard\",{\"1\":{\"472\":1}}],[\"k\",{\"1\":{\"173\":2}}],[\"kingsoft\",{\"1\":{\"414\":1}}],[\"kirk\",{\"1\":{\"151\":2}}],[\"kilda\",{\"1\":{\"84\":1}}],[\"koning\",{\"1\":{\"151\":1,\"173\":12}}],[\"keepaddcitationdialograised\",{\"1\":{\"543\":1}}],[\"keepid\",{\"1\":{\"539\":1}}],[\"keil\",{\"1\":{\"101\":1}}],[\"keyword\",{\"1\":{\"200\":1}}],[\"key\",{\"1\":{\"83\":1,\"97\":2,\"131\":1,\"176\":3,\"177\":1,\"178\":2,\"317\":4,\"435\":1,\"474\":1,\"486\":3,\"489\":9}}],[\"karcher\",{\"1\":{\"101\":1}}],[\"kaphan\",{\"1\":{\"87\":2}}],[\"kb\",{\"1\":{\"80\":1,\"81\":1,\"82\":1,\"83\":1,\"303\":5,\"523\":1,\"524\":1,\"525\":1}}],[\"klaassen\",{\"1\":{\"80\":1,\"81\":1,\"83\":1}}],[\"klei\",{\"1\":{\"80\":3,\"81\":2,\"82\":1,\"83\":2}}],[\"80\",{\"1\":{\"212\":1}}],[\"803\",{\"1\":{\"204\":1}}],[\"816\",{\"1\":{\"204\":1}}],[\"8\",{\"1\":{\"80\":1,\"81\":1,\"82\":1,\"83\":1,\"92\":2,\"93\":1,\"94\":1,\"110\":1,\"115\":1,\"133\":1,\"137\":1,\"172\":1,\"204\":2,\"210\":1,\"251\":1,\"374\":1,\"398\":1,\"522\":8,\"532\":4}}],[\"应指向包含\",{\"1\":{\"483\":1}}],[\"应用于\",{\"1\":{\"539\":1,\"545\":1}}],[\"应用此方法可以在服务器上划出一块存储空间\",{\"1\":{\"384\":1}}],[\"应用会开始下载文献库信息\",{\"1\":{\"317\":1}}],[\"应始终检查项目的准确性\",{\"1\":{\"267\":1}}],[\"应该保留多少自动数据库备份\",{\"1\":{\"536\":1}}],[\"应该会自动同步了创建的备份条目\",{\"1\":{\"261\":1}}],[\"应该要做的是\",{\"1\":{\"255\":1}}],[\"应该是\",{\"1\":{\"241\":1}}],[\"应该注意的是\",{\"1\":{\"80\":1}}],[\"应当这样\",{\"1\":{\"103\":1}}],[\"应使用连字符\",{\"1\":{\"38\":1}}],[\"著者\",{\"1\":{\"80\":2}}],[\"za\",{\"1\":{\"532\":1}}],[\"zutilo\",{\"1\":{\"266\":1,\"429\":3}}],[\"zbib复制结果\",{\"1\":{\"265\":1}}],[\"zbib选择样式\",{\"1\":{\"265\":1}}],[\"zbib首页\",{\"1\":{\"265\":1}}],[\"zbib\",{\"1\":{\"265\":2}}],[\"zip\",{\"1\":{\"257\":1,\"259\":1,\"419\":1,\"502\":1,\"507\":1}}],[\"z\",{\"1\":{\"163\":2,\"322\":1,\"324\":1,\"465\":1,\"532\":1}}],[\"zeros\",{\"1\":{\"144\":2}}],[\"zelle\",{\"1\":{\"101\":1}}],[\"zoo\",{\"1\":{\"310\":1,\"315\":1,\"317\":6}}],[\"zoology\",{\"1\":{\"128\":1,\"189\":1}}],[\"zotfile\",{\"1\":{\"309\":1,\"383\":1,\"388\":2}}],[\"zotero文件\",{\"1\":{\"556\":1}}],[\"zoterowinwordintegration\",{\"1\":{\"551\":1}}],[\"zoterolinkcitation\",{\"1\":{\"532\":1}}],[\"zoteroplugin\",{\"1\":{\"502\":1}}],[\"zoteropane\",{\"0\":{\"458\":1},\"1\":{\"433\":3,\"458\":5}}],[\"zoterotypes\",{\"1\":{\"475\":1,\"476\":1}}],[\"zoterostandalone\",{\"1\":{\"469\":2}}],[\"zoterosaveimageas\",{\"1\":{\"463\":1}}],[\"zoterocopyimage\",{\"1\":{\"463\":1}}],[\"zoteroitem\",{\"1\":{\"433\":3}}],[\"zotero=>外部导出目录\",{\"1\":{\"398\":1}}],[\"zotero账户\",{\"1\":{\"314\":1}}],[\"zotero导入非标字段\",{\"1\":{\"301\":1}}],[\"zotero导入向导第二步\",{\"1\":{\"301\":1}}],[\"zotero导入选项\",{\"1\":{\"301\":1}}],[\"zotero6\",{\"1\":{\"289\":1}}],[\"zotero7\",{\"1\":{\"279\":1}}],[\"zotero中\",{\"1\":{\"255\":1}}],[\"zotero\",{\"0\":{\"0\":1,\"14\":1,\"15\":1,\"16\":1,\"220\":1,\"222\":1,\"223\":1,\"225\":1,\"265\":1,\"277\":1,\"304\":1,\"307\":1,\"319\":1,\"351\":1,\"352\":1,\"353\":1,\"380\":1,\"399\":1,\"400\":1,\"401\":1,\"402\":1,\"414\":1,\"418\":1,\"431\":1,\"459\":2,\"460\":2,\"461\":1,\"466\":1,\"467\":1,\"474\":1,\"480\":1,\"486\":1,\"487\":1,\"488\":1,\"492\":1,\"517\":1,\"518\":1,\"519\":1,\"522\":1,\"529\":1,\"535\":1,\"544\":1,\"548\":1,\"551\":1,\"552\":1,\"557\":1,\"561\":1,\"568\":1,\"574\":1,\"583\":1,\"584\":1,\"585\":1,\"586\":1},\"1\":{\"13\":2,\"14\":2,\"15\":3,\"16\":1,\"19\":1,\"21\":5,\"22\":2,\"29\":1,\"30\":1,\"42\":2,\"63\":1,\"64\":7,\"69\":1,\"77\":1,\"92\":6,\"93\":3,\"96\":3,\"128\":2,\"214\":6,\"215\":1,\"218\":1,\"220\":8,\"222\":4,\"223\":7,\"224\":10,\"225\":5,\"227\":2,\"228\":1,\"229\":8,\"233\":1,\"234\":1,\"235\":1,\"236\":1,\"237\":1,\"238\":5,\"239\":3,\"240\":6,\"241\":3,\"242\":2,\"243\":7,\"244\":2,\"245\":1,\"246\":4,\"247\":6,\"248\":3,\"249\":1,\"250\":10,\"251\":14,\"252\":1,\"253\":7,\"254\":6,\"255\":16,\"256\":2,\"257\":1,\"258\":1,\"260\":4,\"261\":5,\"262\":3,\"263\":1,\"264\":3,\"265\":4,\"266\":4,\"267\":3,\"268\":4,\"271\":2,\"273\":1,\"274\":1,\"276\":1,\"277\":3,\"278\":2,\"279\":3,\"280\":2,\"281\":2,\"284\":2,\"285\":2,\"286\":2,\"287\":2,\"288\":2,\"289\":2,\"290\":5,\"291\":1,\"294\":2,\"296\":2,\"297\":1,\"298\":4,\"299\":1,\"301\":11,\"302\":2,\"303\":7,\"304\":4,\"306\":2,\"307\":2,\"309\":3,\"310\":3,\"312\":2,\"314\":2,\"315\":1,\"317\":6,\"318\":1,\"319\":8,\"320\":2,\"321\":4,\"322\":1,\"323\":2,\"324\":1,\"327\":1,\"329\":1,\"331\":3,\"333\":5,\"334\":1,\"335\":1,\"343\":1,\"344\":3,\"347\":1,\"348\":4,\"349\":1,\"352\":1,\"353\":3,\"355\":1,\"364\":2,\"365\":1,\"366\":2,\"367\":2,\"368\":2,\"369\":1,\"370\":2,\"372\":1,\"374\":2,\"375\":2,\"377\":1,\"379\":4,\"380\":3,\"381\":3,\"382\":5,\"383\":7,\"385\":5,\"389\":4,\"390\":2,\"396\":2,\"397\":1,\"398\":2,\"400\":3,\"402\":12,\"403\":2,\"407\":3,\"410\":1,\"413\":3,\"414\":4,\"415\":3,\"418\":2,\"419\":8,\"420\":3,\"421\":1,\"422\":1,\"423\":1,\"425\":1,\"426\":1,\"427\":1,\"428\":5,\"429\":6,\"430\":1,\"431\":2,\"432\":1,\"433\":3,\"434\":2,\"435\":3,\"436\":2,\"437\":2,\"439\":3,\"446\":1,\"449\":1,\"450\":1,\"456\":1,\"457\":3,\"458\":2,\"459\":5,\"460\":6,\"461\":4,\"462\":4,\"463\":1,\"465\":4,\"466\":5,\"467\":2,\"468\":1,\"469\":4,\"470\":2,\"472\":2,\"473\":2,\"474\":4,\"475\":1,\"476\":1,\"478\":3,\"479\":3,\"480\":3,\"481\":3,\"483\":3,\"484\":1,\"485\":2,\"486\":9,\"487\":3,\"489\":5,\"490\":2,\"491\":3,\"493\":2,\"494\":4,\"495\":1,\"496\":1,\"497\":1,\"500\":3,\"501\":1,\"504\":3,\"505\":6,\"506\":10,\"507\":14,\"508\":3,\"509\":10,\"510\":5,\"512\":1,\"513\":3,\"514\":5,\"516\":3,\"517\":5,\"519\":9,\"521\":6,\"522\":4,\"523\":1,\"524\":1,\"525\":1,\"527\":3,\"528\":5,\"529\":4,\"531\":3,\"532\":8,\"533\":1,\"534\":5,\"535\":5,\"536\":12,\"539\":3,\"540\":3,\"541\":2,\"543\":1,\"544\":1,\"545\":4,\"547\":3,\"548\":1,\"549\":2,\"550\":4,\"551\":8,\"552\":1,\"553\":1,\"554\":2,\"556\":6,\"557\":2,\"558\":1,\"559\":2,\"562\":9,\"567\":4,\"569\":9,\"570\":10,\"571\":11,\"572\":3,\"573\":4,\"575\":3,\"580\":1,\"582\":2,\"586\":6}}],[\"zopliacte\",{\"1\":{\"268\":1}}],[\"zoero\",{\"1\":{\"220\":1}}],[\"zhang\",{\"1\":{\"152\":2,\"522\":2}}],[\"zh\",{\"1\":{\"114\":3,\"132\":2,\"455\":1,\"469\":1,\"516\":1}}],[\"zhou\",{\"1\":{\"101\":1}}],[\"zwvh1983\",{\"1\":{\"83\":2}}],[\"zwart\",{\"1\":{\"80\":2,\"81\":1,\"82\":1,\"83\":1}}],[\"于\",{\"1\":{\"79\":1}}],[\"年提出和另一种观点\",{\"1\":{\"329\":1}}],[\"年\",{\"1\":{\"328\":1,\"406\":3}}],[\"年会发布\",{\"1\":{\"315\":1}}],[\"年发表的文献\",{\"1\":{\"79\":2}}],[\"年代久远\",{\"1\":{\"64\":1}}],[\"每月上传流量\",{\"1\":{\"384\":1}}],[\"每次删除一半内容\",{\"1\":{\"519\":1}}],[\"每次更新都会卡顿时\",{\"1\":{\"320\":1}}],[\"每次仅少量导入一小部分文献\",{\"1\":{\"241\":1}}],[\"每\",{\"1\":{\"279\":1}}],[\"每行一个\",{\"1\":{\"242\":1,\"275\":1}}],[\"每一个浏览器\",{\"1\":{\"506\":2,\"507\":2}}],[\"每一组值前面表示可选的属性值\",{\"1\":{\"172\":1}}],[\"每一页的页脚\",{\"1\":{\"67\":1}}],[\"每个部分周围的花括号表示\",{\"1\":{\"536\":1}}],[\"每个对象有\",{\"1\":{\"462\":1}}],[\"每个注释分为三部分\",{\"1\":{\"395\":1}}],[\"每个条目可以附有笔记\",{\"1\":{\"362\":1}}],[\"每个条目都包含不同的元数据\",{\"1\":{\"354\":1}}],[\"每个元素中\",{\"1\":{\"212\":1}}],[\"每个本地化文件都包含一种对应语言的本地化数据\",{\"1\":{\"208\":1}}],[\"每个本地化文件包括了一种语言方言的本地化数据\",{\"1\":{\"133\":1}}],[\"每个本地化文件包含一系列对某种特定的语言\",{\"1\":{\"109\":1}}],[\"每个小写字符串的首字母大写\",{\"1\":{\"188\":1}}],[\"每个单词的第一个字母保持大写\",{\"1\":{\"188\":1}}],[\"每个单独的引用都是由\",{\"1\":{\"97\":1}}],[\"每个作者的出版物列表\",{\"1\":{\"183\":1}}],[\"每个变量将会按顺序单独渲染\",{\"1\":{\"150\":1}}],[\"每个月第一天显示为\",{\"1\":{\"144\":1}}],[\"每个\",{\"1\":{\"135\":1,\"150\":1,\"383\":1}}],[\"每个样式或者本地化文件应该以\",{\"1\":{\"110\":1}}],[\"每个标记都指向脚注或者尾注\",{\"1\":{\"84\":1}}],[\"每个独立的指向关系称为一个引用\",{\"1\":{\"79\":1}}],[\"每个引注都指向一个或者多个参考文献条目\",{\"1\":{\"79\":1}}],[\"绝大多数引用格式都属于几个基本类别\",{\"1\":{\"78\":1}}],[\"最多可以为\",{\"1\":{\"358\":1}}],[\"最好只有一个引文\",{\"1\":{\"519\":1}}],[\"最好在提交文档之前将其作为最后一步\",{\"1\":{\"333\":1}}],[\"最好是在要进行的更改的文本中做注释\",{\"1\":{\"331\":1}}],[\"最好养成导入条目后随手校正的习惯\",{\"1\":{\"269\":1}}],[\"最新的\",{\"1\":{\"506\":1}}],[\"最新的标准号是\",{\"1\":{\"78\":1}}],[\"最新条目在先\",{\"1\":{\"279\":1}}],[\"最早条目在先\",{\"1\":{\"279\":1}}],[\"最方便的添加\",{\"1\":{\"278\":1}}],[\"最典型的错误就是将\",{\"1\":{\"270\":1}}],[\"最可靠的方法是单击\",{\"1\":{\"250\":1}}],[\"最初版本的题目\",{\"1\":{\"200\":1}}],[\"最底层的值发挥作用\",{\"1\":{\"174\":1}}],[\"最终显示的顺序不一定与包含粒子和后缀的名字的相同\",{\"1\":{\"151\":1}}],[\"最后单击\",{\"1\":{\"550\":1}}],[\"最后再手动将附件附在导入的条目上\",{\"1\":{\"243\":1}}],[\"最后\",{\"1\":{\"97\":1,\"161\":1,\"178\":1,\"333\":1}}],[\"最后是一个真正的独立样式\",{\"1\":{\"93\":1}}],[\"最后点击\",{\"1\":{\"25\":1,\"301\":1,\"554\":1}}],[\"最常见的引用格式是国家标准\",{\"1\":{\"78\":1}}],[\"像哈弗和\",{\"1\":{\"189\":1}}],[\"像\",{\"1\":{\"77\":1}}],[\"好在参考文献管理软件可以解决这样的问题\",{\"1\":{\"77\":1}}],[\"尤其是一定要多次点击refresh和unlink\",{\"1\":{\"547\":1,\"558\":1}}],[\"尤其是在\",{\"1\":{\"514\":1}}],[\"尤其是当你面对的期刊都有他们自己的引用格式的时候\",{\"1\":{\"77\":1}}],[\"尤其需要注意的是缩进\",{\"1\":{\"39\":1}}],[\"开启\",{\"1\":{\"509\":1}}],[\"开箱即用\",{\"1\":{\"494\":1}}],[\"开头\",{\"1\":{\"451\":1,\"535\":1,\"539\":1}}],[\"开头的字段\",{\"1\":{\"188\":2}}],[\"开头的\",{\"1\":{\"188\":1}}],[\"开头的单词\",{\"1\":{\"188\":1}}],[\"开放成员\",{\"1\":{\"292\":1}}],[\"开放成员群组\",{\"1\":{\"292\":1}}],[\"开发的\",{\"1\":{\"573\":1,\"586\":1}}],[\"开发工具\",{\"1\":{\"554\":1}}],[\"开发\",{\"1\":{\"419\":1}}],[\"开发人员或者专家社区人员的回复\",{\"1\":{\"402\":1}}],[\"开发者工具\",{\"1\":{\"554\":1,\"557\":1}}],[\"开发者可参考仓库的自述文档来配置模板\",{\"1\":{\"493\":1}}],[\"开发者可下载\",{\"1\":{\"419\":1}}],[\"开发者\",{\"1\":{\"224\":1,\"417\":1,\"418\":1}}],[\"开发者群组\",{\"1\":{\"220\":1}}],[\"开发服务器\",{\"1\":{\"24\":1}}],[\"开发服务器会监听所有\",{\"1\":{\"24\":1}}],[\"开发服务器启动后\",{\"1\":{\"24\":1}}],[\"开始了解\",{\"1\":{\"573\":1}}],[\"开始在对话框中键入标题的一部分\",{\"1\":{\"321\":1}}],[\"开始备份\",{\"1\":{\"257\":1}}],[\"开始\",{\"0\":{\"208\":1}}],[\"开始的日期用于主要排序\",{\"1\":{\"177\":1}}],[\"开源免费\",{\"1\":{\"315\":1}}],[\"开源的\",{\"1\":{\"102\":1}}],[\"开源\",{\"1\":{\"76\":1}}],[\"前面方框\",{\"1\":{\"557\":1}}],[\"前面的复选框\",{\"1\":{\"506\":1}}],[\"前缀\",{\"1\":{\"329\":2}}],[\"前缀和后缀可以应用于引文中的每个项目\",{\"1\":{\"329\":1}}],[\"前缀和后缀字段中的任何文本都可以使用\",{\"1\":{\"329\":1}}],[\"前缀和后缀\",{\"0\":{\"329\":1}}],[\"前缀属性\",{\"1\":{\"181\":1}}],[\"前往文件夹\",{\"1\":{\"302\":1}}],[\"前往\",{\"1\":{\"302\":1}}],[\"前置基础知识\",{\"0\":{\"215\":1}}],[\"前托管于语雀的开发者文档主要针对\",{\"1\":{\"214\":1}}],[\"前使用了分隔符\",{\"1\":{\"151\":1}}],[\"前言\",{\"0\":{\"76\":1,\"207\":1,\"547\":1}}],[\"前空二格\",{\"1\":{\"39\":1}}],[\"介绍\",{\"0\":{\"75\":1,\"102\":1}}],[\"翻译结果显示切换\",{\"1\":{\"586\":1}}],[\"翻译器\",{\"1\":{\"505\":1}}],[\"翻译按钮由\",{\"1\":{\"393\":1}}],[\"翻译为需要的语言\",{\"1\":{\"207\":1}}],[\"翻译等折叠的影响\",{\"1\":{\"151\":1}}],[\"翻译有一些疑惑\",{\"1\":{\"105\":1}}],[\"翻译\",{\"0\":{\"74\":1},\"1\":{\"74\":1}}],[\"载于xx\",{\"1\":{\"73\":1}}],[\"x86\",{\"1\":{\"579\":1,\"580\":1}}],[\"xue\",{\"1\":{\"522\":2}}],[\"xulstore\",{\"1\":{\"254\":1}}],[\"xul\",{\"0\":{\"217\":1},\"1\":{\"217\":3,\"251\":1,\"469\":1,\"483\":3}}],[\"x=item\",{\"1\":{\"465\":1}}],[\"x\",{\"1\":{\"465\":1,\"513\":2}}],[\"xhtml\",{\"1\":{\"436\":1,\"483\":2}}],[\"xsl\",{\"1\":{\"302\":3}}],[\"xsd\",{\"1\":{\"128\":1,\"132\":1,\"134\":1}}],[\"xpcom\",{\"1\":{\"459\":2,\"460\":2,\"461\":1,\"466\":2,\"474\":1,\"485\":1}}],[\"xpi\",{\"1\":{\"260\":1,\"427\":1,\"491\":1,\"503\":1,\"570\":3,\"571\":2,\"577\":1}}],[\"xp\",{\"1\":{\"250\":1,\"253\":1}}],[\"xbiblio\",{\"1\":{\"92\":2,\"93\":1,\"95\":1,\"104\":1,\"115\":1,\"133\":1}}],[\"xxxx\",{\"1\":{\"280\":1}}],[\"xx\",{\"1\":{\"106\":4,\"132\":3,\"133\":4,\"151\":1,\"208\":4,\"241\":1,\"409\":4}}],[\"xx编\",{\"1\":{\"73\":1}}],[\"xx等\",{\"1\":{\"73\":1}}],[\"xml的注释格式为文档中的第二行所示的形式\",{\"1\":{\"210\":1}}],[\"xmlns\",{\"1\":{\"92\":3,\"95\":1,\"104\":1}}],[\"xmlns=\",{\"1\":{\"92\":2,\"93\":1,\"95\":1,\"115\":1,\"133\":1}}],[\"xml\",{\"0\":{\"110\":1,\"210\":1},\"1\":{\"64\":1,\"76\":1,\"91\":6,\"92\":9,\"93\":2,\"94\":1,\"99\":2,\"102\":1,\"104\":1,\"105\":2,\"106\":1,\"110\":5,\"115\":2,\"128\":1,\"132\":16,\"133\":4,\"134\":1,\"137\":2,\"208\":1,\"210\":7,\"212\":1,\"213\":1,\"217\":1,\"301\":5,\"304\":4}}],[\"指向插件文件的字符串\",{\"1\":{\"427\":1}}],[\"指向同一个项目\",{\"1\":{\"166\":1}}],[\"指派颜色\",{\"1\":{\"347\":1}}],[\"指定父元素实现缩进\",{\"1\":{\"473\":1}}],[\"指定页面所有文字\",{\"0\":{\"465\":1}}],[\"指定不同条目垂直方向的距离\",{\"1\":{\"168\":1}}],[\"指定垂直方向的行距\",{\"1\":{\"168\":1}}],[\"指定名字的显示顺序为\",{\"1\":{\"151\":1}}],[\"指定是否显示名字的所有部分\",{\"1\":{\"151\":1}}],[\"指定具体的\",{\"1\":{\"110\":1}}],[\"指明样式最后一次更新的时间\",{\"1\":{\"92\":1}}],[\"指英语\",{\"1\":{\"85\":1}}],[\"指的是重新定义一个已有的方法\",{\"1\":{\"94\":1}}],[\"指的是影响引注信息或参考文献表表现的细节\",{\"1\":{\"85\":1}}],[\"指的是每篇参考文献的作者\",{\"1\":{\"85\":1}}],[\"指的是\",{\"1\":{\"85\":1,\"505\":1}}],[\"指那些出现在引文或参考文献条目中用于串起相关信息的固定短语\",{\"1\":{\"73\":1}}],[\"指对文献的相关信息的记录\",{\"1\":{\"69\":1}}],[\"术语在本地化文件中使用\",{\"1\":{\"190\":1}}],[\"术语不会包括在排序键值中\",{\"1\":{\"178\":1}}],[\"术语才会渲染\",{\"1\":{\"157\":1}}],[\"术语渲染为\",{\"1\":{\"156\":5,\"157\":3}}],[\"术语之间使用空格进行隔开\",{\"1\":{\"151\":1}}],[\"术语之间何时使用分隔符或者空格\",{\"1\":{\"151\":1}}],[\"术语设置为\",{\"1\":{\"136\":1}}],[\"术语定义了默认的序数后缀格式\",{\"1\":{\"136\":1}}],[\"术语内容不应该包括\",{\"1\":{\"135\":1}}],[\"术语必须使用\",{\"1\":{\"135\":1}}],[\"术语可以直接在\",{\"1\":{\"135\":1}}],[\"术语用来添加到截断列表的后面\",{\"1\":{\"151\":1}}],[\"术语用\",{\"1\":{\"135\":1}}],[\"术语是本地化的字符串\",{\"1\":{\"135\":1}}],[\"术语翻译\",{\"1\":{\"109\":1}}],[\"术语的一个例子\",{\"1\":{\"154\":1}}],[\"术语的输出就是\",{\"1\":{\"99\":1}}],[\"术语的值\",{\"1\":{\"97\":1}}],[\"术语\",{\"0\":{\"73\":1,\"103\":1,\"135\":1,\"190\":1},\"1\":{\"73\":1,\"87\":1,\"97\":1,\"132\":1,\"135\":3,\"136\":1,\"142\":3,\"159\":1}}],[\"术语对照表\",{\"0\":{\"65\":1}}],[\"风格而言\",{\"1\":{\"97\":1}}],[\"风格中\",{\"1\":{\"89\":1}}],[\"风格还是\",{\"1\":{\"86\":1,\"95\":1}}],[\"风格还包含一个参考文献表以显示所有被引文献的概貌\",{\"1\":{\"84\":1}}],[\"风格的引注不同\",{\"1\":{\"84\":1}}],[\"风格的引注由简短的键构成\",{\"1\":{\"83\":1}}],[\"风格的引用由数字组成\",{\"1\":{\"81\":1}}],[\"风格的引用只显示作者名字\",{\"1\":{\"80\":1}}],[\"风格的引用会显示作者名字和发表的日期\",{\"1\":{\"80\":1}}],[\"风格的变体\",{\"1\":{\"82\":1}}],[\"风格等\",{\"1\":{\"71\":1}}],[\"风格\",{\"0\":{\"71\":1,\"79\":1,\"80\":1,\"81\":1,\"83\":1,\"84\":1},\"1\":{\"71\":1,\"79\":2,\"80\":1,\"81\":1,\"84\":1,\"86\":1,\"95\":1}}],[\"风格表格\",{\"1\":{\"49\":1}}],[\"除此外可见下方3\",{\"1\":{\"550\":1}}],[\"除特殊情况\",{\"1\":{\"480\":1}}],[\"除非有多个断开的引文\",{\"1\":{\"519\":1}}],[\"除非你具备较强的问题排查能力\",{\"1\":{\"388\":1}}],[\"除非您需要使用\",{\"1\":{\"320\":1}}],[\"除非您在\",{\"1\":{\"250\":1}}],[\"除非他们是第一个或者对后一个单词\",{\"1\":{\"188\":1}}],[\"除使用\",{\"1\":{\"183\":1}}],[\"除\",{\"1\":{\"155\":1}}],[\"除这两种情况外\",{\"1\":{\"151\":1}}],[\"除在\",{\"1\":{\"144\":1,\"181\":1}}],[\"除了宽高外\",{\"1\":{\"465\":1}}],[\"除了下面截图的设置\",{\"1\":{\"409\":1}}],[\"除了前述的在文字处理器中添加引文外\",{\"1\":{\"266\":1}}],[\"除了项目元数据\",{\"1\":{\"227\":1}}],[\"除了其父元素\",{\"1\":{\"144\":1}}],[\"除了\",{\"1\":{\"70\":1,\"94\":1,\"98\":1,\"158\":1,\"159\":1,\"281\":1}}],[\"除上述文字样式外\",{\"1\":{\"62\":1}}],[\"是浏览器插件\",{\"1\":{\"569\":1}}],[\"是仅根据左边界查找单词匹配\",{\"1\":{\"540\":1}}],[\"是标题\",{\"1\":{\"536\":1}}],[\"是年份\",{\"1\":{\"536\":1}}],[\"是创建者\",{\"1\":{\"536\":1}}],[\"是所有\",{\"1\":{\"466\":1}}],[\"是比\",{\"1\":{\"445\":1}}],[\"是允许的\",{\"1\":{\"444\":1}}],[\"是插件的清单文件\",{\"1\":{\"438\":1}}],[\"是什么\",{\"0\":{\"400\":1}}],[\"是书籍\",{\"1\":{\"367\":1}}],[\"是收集和组织研究信息和资源的强大工具\",{\"1\":{\"353\":1}}],[\"是做什么的\",{\"0\":{\"353\":1}}],[\"是否核心期刊\",{\"1\":{\"575\":1}}],[\"是否已显示\",{\"1\":{\"551\":1}}],[\"是否已正常安装好microsoft\",{\"1\":{\"549\":1}}],[\"是否保留更改\",{\"0\":{\"521\":1}}],[\"是否全部加粗\",{\"1\":{\"512\":1}}],[\"是否悬挂缩进\",{\"1\":{\"512\":1}}],[\"是否首行缩进\",{\"1\":{\"512\":1}}],[\"是否自动更新引注和参考文献表\",{\"1\":{\"320\":1}}],[\"是否使用\",{\"1\":{\"320\":1}}],[\"是否完成\",{\"1\":{\"208\":1}}],[\"是我们用\",{\"1\":{\"278\":1}}],[\"是最直接\",{\"1\":{\"278\":1}}],[\"是发现新研究的好方法\",{\"1\":{\"276\":1}}],[\"是隐藏的\",{\"1\":{\"253\":1}}],[\"是不会包含附件的\",{\"1\":{\"243\":1}}],[\"是不是使用简写来压缩\",{\"1\":{\"172\":1}}],[\"是不是为空\",{\"1\":{\"159\":1}}],[\"是不是包含\",{\"1\":{\"159\":1}}],[\"是不是包含数字部分\",{\"1\":{\"159\":1}}],[\"是版本管理的常用工具\",{\"1\":{\"219\":1}}],[\"是用来设置对齐效果的\",{\"1\":{\"183\":1}}],[\"是用来编写该样式的模板的\",{\"1\":{\"122\":1}}],[\"是一款国产文献管理软件\",{\"1\":{\"405\":1}}],[\"是一款收费软件\",{\"1\":{\"403\":1}}],[\"是一款开源软件\",{\"1\":{\"402\":1}}],[\"是一款开源的文献管理软件\",{\"1\":{\"400\":1}}],[\"是一组基于超文本传输协议的技术集合\",{\"1\":{\"384\":1}}],[\"是一个文献管理软件\",{\"1\":{\"353\":1}}],[\"是一个用于备份和恢复\",{\"1\":{\"256\":1}}],[\"是一个合成名字\",{\"1\":{\"171\":1}}],[\"是一种标记语言\",{\"1\":{\"210\":1}}],[\"是一种在上述的属性设置中检索来确定本地化单元的机制\",{\"1\":{\"132\":1}}],[\"是一种基于\",{\"1\":{\"64\":1,\"76\":1,\"102\":1}}],[\"是大约的意思\",{\"1\":{\"148\":1}}],[\"是可以使用词缀的\",{\"1\":{\"144\":1}}],[\"是上述名字的缩写\",{\"1\":{\"127\":1}}],[\"是该样式的文档\",{\"1\":{\"122\":1}}],[\"是必须的\",{\"1\":{\"115\":1}}],[\"是强制要求的\",{\"1\":{\"103\":1}}],[\"是由\",{\"1\":{\"103\":1,\"573\":1,\"586\":1}}],[\"是指被引注献中那些用于排序的信息\",{\"1\":{\"97\":1}}],[\"是指若干具体格式的集合\",{\"1\":{\"72\":1}}],[\"是新出现的属性\",{\"1\":{\"95\":1}}],[\"是文献管理软件用来区分不同样式的标志\",{\"1\":{\"92\":1}}],[\"是\",{\"1\":{\"86\":1,\"92\":1,\"104\":1,\"113\":1,\"135\":1,\"149\":1,\"155\":1,\"208\":1,\"265\":1,\"288\":1,\"431\":1,\"458\":1,\"459\":2,\"460\":1,\"461\":1,\"480\":1,\"521\":3,\"522\":2,\"569\":1}}],[\"是为实现与语言无关\",{\"1\":{\"85\":1}}],[\"是怎么运作的\",{\"1\":{\"85\":1}}],[\"是对引用格式的代码实现\",{\"1\":{\"72\":1}}],[\"是集中展示被引文献详情的列表\",{\"1\":{\"67\":1}}],[\"亦有部分文献称之为\",{\"1\":{\"67\":1}}],[\"凡标注\",{\"1\":{\"64\":1}}],[\"仍未显示\",{\"1\":{\"550\":1}}],[\"仍未支持双语排版\",{\"1\":{\"262\":1}}],[\"仍然会添加\",{\"1\":{\"151\":1}}],[\"仍然时\",{\"1\":{\"149\":1}}],[\"仍然有可能有的期刊没有对应的\",{\"1\":{\"64\":1}}],[\"仍可使用自己喜欢的方式进行操作\",{\"1\":{\"19\":1}}],[\"覆盖了大多数的常见的\",{\"1\":{\"64\":1}}],[\"个已编辑好的\",{\"1\":{\"556\":1}}],[\"个按钮\",{\"1\":{\"547\":1,\"558\":1}}],[\"个字符\",{\"1\":{\"536\":1}}],[\"个字符的子文件夹\",{\"1\":{\"251\":1}}],[\"个数字组成\",{\"1\":{\"444\":1}}],[\"个标签分配颜色\",{\"1\":{\"358\":1}}],[\"个小时从订阅\",{\"1\":{\"279\":1}}],[\"个文件复制到新电脑上\",{\"1\":{\"260\":1}}],[\"个好处\",{\"1\":{\"178\":1}}],[\"个名字\",{\"1\":{\"151\":2}}],[\"个名字时\",{\"1\":{\"151\":1}}],[\"个或以上时使用\",{\"1\":{\"151\":1}}],[\"个及以上的人时使用\",{\"1\":{\"151\":1}}],[\"个的时候\",{\"1\":{\"97\":1}}],[\"个职责\",{\"1\":{\"86\":1}}],[\"个\",{\"0\":{\"557\":1},\"1\":{\"64\":1,\"556\":1}}],[\"个人通信\",{\"1\":{\"333\":1}}],[\"个人\",{\"1\":{\"22\":1}}],[\"据统计\",{\"1\":{\"64\":1}}],[\"就能看见你的大名了\",{\"1\":{\"452\":1}}],[\"就选\",{\"1\":{\"409\":1}}],[\"就说明\",{\"1\":{\"409\":1}}],[\"就假定为非英语\",{\"1\":{\"188\":1}}],[\"就放到最后\",{\"1\":{\"176\":1}}],[\"就默认使用破折号\",{\"1\":{\"172\":1}}],[\"就会在角标上显示出数量\",{\"1\":{\"288\":1}}],[\"就会加载出现在\",{\"1\":{\"279\":1}}],[\"就会实现自动的本地化\",{\"1\":{\"207\":1}}],[\"就会启用两个字母\",{\"1\":{\"163\":1}}],[\"就会使用德语对应的本地化文件\",{\"1\":{\"87\":1}}],[\"就给出\",{\"1\":{\"159\":1}}],[\"就实施渲染\",{\"1\":{\"159\":1}}],[\"就被视为是英语\",{\"1\":{\"188\":1}}],[\"就被\",{\"1\":{\"155\":1}}],[\"就使用\",{\"1\":{\"142\":1}}],[\"就翻译为\",{\"1\":{\"137\":1}}],[\"就必须修改样式中所有对应的翻译和日期格式\",{\"1\":{\"87\":1}}],[\"就是根据文件名\",{\"1\":{\"575\":1}}],[\"就是一种互联网方法\",{\"1\":{\"384\":1}}],[\"就是一系列需要反复使用的小段代码的总称\",{\"1\":{\"97\":1}}],[\"就是属性\",{\"1\":{\"212\":1}}],[\"就是期刊的名称\",{\"1\":{\"98\":1}}],[\"就是脚注或者尾注的格式\",{\"1\":{\"97\":1}}],[\"就是\",{\"1\":{\"84\":1}}],[\"就是通过\",{\"1\":{\"64\":1}}],[\"就可以单独引用条目中的项目\",{\"1\":{\"82\":1}}],[\"就属于\",{\"1\":{\"80\":1,\"81\":1}}],[\"就无需再次复制或克隆\",{\"1\":{\"23\":1}}],[\"编号和后续文字之间的制表位空白大小\",{\"1\":{\"512\":1}}],[\"编码信息以及是否依赖外部文档等\",{\"1\":{\"210\":1}}],[\"编者\",{\"1\":{\"73\":1}}],[\"编写的\",{\"1\":{\"64\":1,\"494\":1}}],[\"编辑器\",{\"1\":{\"567\":2}}],[\"编辑文件\",{\"1\":{\"384\":1}}],[\"编辑文档源码的页面\",{\"1\":{\"33\":1}}],[\"编辑参考书目\",{\"0\":{\"333\":1}}],[\"编辑参考文献表add\",{\"1\":{\"509\":1}}],[\"编辑参考文献表\",{\"1\":{\"319\":1,\"323\":1,\"333\":1,\"509\":1}}],[\"编辑书目\",{\"1\":{\"323\":1,\"333\":2}}],[\"编辑引文\",{\"1\":{\"321\":1,\"327\":2,\"516\":1}}],[\"编辑引用\",{\"1\":{\"321\":1}}],[\"编辑引注add\",{\"1\":{\"509\":1}}],[\"编辑引注\",{\"0\":{\"332\":1},\"1\":{\"319\":1,\"321\":1,\"324\":1,\"332\":2,\"510\":3}}],[\"编辑和删除笔记\",{\"1\":{\"315\":1}}],[\"编辑和删除项目\",{\"1\":{\"293\":1}}],[\"编辑权限\",{\"1\":{\"293\":1}}],[\"编辑订阅\",{\"1\":{\"281\":1}}],[\"编辑条目\",{\"0\":{\"267\":1},\"1\":{\"223\":1}}],[\"编辑部主任\",{\"1\":{\"195\":1}}],[\"编辑需要修改的地方\",{\"1\":{\"33\":1}}],[\"编辑\",{\"1\":{\"4\":1,\"42\":1,\"195\":1,\"263\":1,\"279\":1,\"293\":1,\"324\":1,\"383\":1,\"385\":1,\"419\":1,\"507\":1,\"528\":2}}],[\"编辑或拒绝或拒绝与本行为准则不相符的评论\",{\"1\":{\"4\":1}}],[\"同意承担风险\",{\"1\":{\"567\":2}}],[\"同理\",{\"1\":{\"554\":1}}],[\"同上\",{\"1\":{\"331\":1}}],[\"同上图\",{\"1\":{\"297\":1}}],[\"同一条目可以同时属于多个分类\",{\"1\":{\"357\":1}}],[\"同一路径\",{\"1\":{\"255\":1}}],[\"同一个名称在不同场合可能有不同的含义\",{\"1\":{\"92\":1}}],[\"同步触发等情况下将发送\",{\"1\":{\"474\":1}}],[\"同步等功能深度集成\",{\"1\":{\"389\":1}}],[\"同步图标\",{\"1\":{\"385\":1}}],[\"同步的网盘\",{\"1\":{\"384\":1}}],[\"同步的只有坚果云网盘\",{\"1\":{\"384\":1}}],[\"同步附件\",{\"0\":{\"384\":1}}],[\"同步盘的备份功能直接同步\",{\"1\":{\"382\":1}}],[\"同步到\",{\"1\":{\"380\":1}}],[\"同步二者之一\",{\"1\":{\"309\":1}}],[\"同步功能\",{\"1\":{\"261\":1}}],[\"同步以更改服务器副本\",{\"1\":{\"246\":1}}],[\"同步\",{\"0\":{\"379\":1},\"1\":{\"223\":2,\"301\":1,\"312\":1,\"379\":1,\"383\":1,\"384\":1,\"385\":1,\"528\":1}}],[\"同样的\",{\"1\":{\"188\":1}}],[\"同样地\",{\"1\":{\"174\":1}}],[\"同样漂亮的引用和参考文献目录\",{\"1\":{\"64\":1}}],[\"同\",{\"1\":{\"130\":1}}],[\"同义\",{\"1\":{\"103\":4}}],[\"同时对于您在安装此插件后添加的任何新论文\",{\"1\":{\"562\":1}}],[\"同时保留原有的\",{\"1\":{\"556\":1}}],[\"同时装有\",{\"1\":{\"554\":1}}],[\"同时引用多个引注时只能链接最后一个\",{\"1\":{\"533\":1}}],[\"同时使用\",{\"1\":{\"519\":1}}],[\"同时他包含了\",{\"1\":{\"463\":1}}],[\"同时也可以使用可选的\",{\"1\":{\"154\":1}}],[\"同时影响引文和参考文献条目\",{\"1\":{\"139\":1,\"161\":1}}],[\"同时\",{\"1\":{\"133\":1}}],[\"同时这一设置选项也用来对本地化文件命名\",{\"1\":{\"133\":1}}],[\"同时欢迎\",{\"1\":{\"64\":1}}],[\"同时还支持\",{\"1\":{\"64\":1}}],[\"国际化\",{\"1\":{\"455\":1}}],[\"国际标准连续出版物号\",{\"1\":{\"92\":1}}],[\"国标中的\",{\"1\":{\"80\":1,\"81\":1}}],[\"国标中称为\",{\"1\":{\"67\":1}}],[\"国内部分地区可能无法直接访问\",{\"1\":{\"572\":1}}],[\"国内镜像\",{\"1\":{\"570\":1,\"573\":1}}],[\"国内下载不便\",{\"1\":{\"310\":1}}],[\"国内常见的\",{\"1\":{\"84\":1}}],[\"国内\",{\"1\":{\"64\":1}}],[\"国内投稿或者各种报告大多要求都是\",{\"1\":{\"64\":1}}],[\"国籍\",{\"1\":{\"2\":1}}],[\"格式问题\",{\"0\":{\"511\":1}}],[\"格式的论文\",{\"1\":{\"564\":1}}],[\"格式的论文文件\",{\"1\":{\"562\":1}}],[\"格式的文件\",{\"1\":{\"562\":1}}],[\"格式的样式文件的下载和安装方法可以查看这一教程\",{\"1\":{\"514\":1}}],[\"格式的附件\",{\"1\":{\"257\":1}}],[\"格式的结果中没有摘要\",{\"1\":{\"243\":1}}],[\"格式的结果中将导师姓名也写入了作者列表\",{\"1\":{\"243\":1}}],[\"格式的创建者致以谢意\",{\"1\":{\"96\":1}}],[\"格式导入的结果中\",{\"1\":{\"243\":1}}],[\"格式为\",{\"1\":{\"210\":1}}],[\"格式渲染完整的姓名\",{\"1\":{\"163\":1}}],[\"格式化\",{\"0\":{\"180\":1},\"1\":{\"151\":1,\"153\":2,\"154\":1,\"175\":1,\"181\":1}}],[\"格式在\",{\"1\":{\"138\":1}}],[\"格式中\",{\"1\":{\"129\":1}}],[\"格式声明\",{\"1\":{\"92\":1}}],[\"格式\",{\"1\":{\"64\":1,\"80\":2,\"88\":1,\"102\":1,\"135\":1,\"136\":1,\"177\":1,\"262\":1,\"301\":1}}],[\"格式投稿\",{\"1\":{\"64\":1}}],[\"格式上\",{\"1\":{\"63\":1}}],[\"此方法涉及修改隐藏首选项\",{\"1\":{\"566\":1}}],[\"此方法导入的只有文献信息\",{\"1\":{\"243\":1}}],[\"此刻已更改成\",{\"1\":{\"557\":1}}],[\"此首选项允许您增加或减少\",{\"1\":{\"536\":1}}],[\"此字符串控制这些名称的格式\",{\"1\":{\"536\":1}}],[\"此按钮只是插入引注\",{\"1\":{\"509\":1}}],[\"此项必须包含属性\",{\"1\":{\"446\":1}}],[\"此键指定扩展使用的\",{\"1\":{\"441\":1}}],[\"此文件与\",{\"1\":{\"438\":1}}],[\"此文件必须存在\",{\"1\":{\"425\":1,\"438\":1}}],[\"此节以官方插件示例\",{\"1\":{\"423\":1}}],[\"此节说明如何通过代理文件将插件侧载入\",{\"1\":{\"421\":1}}],[\"此节尚未校对完成\",{\"1\":{\"111\":1}}],[\"此\",{\"1\":{\"419\":1}}],[\"此类标识符的列表\",{\"1\":{\"370\":1}}],[\"此过程可用于对参考书目进行各种细微的修改\",{\"1\":{\"333\":1}}],[\"此选项仅对指定引文排序顺序的引文样式显示\",{\"1\":{\"322\":1,\"326\":1}}],[\"此功能不常用\",{\"1\":{\"319\":1,\"509\":1}}],[\"此步骤使用于无法找到默认库的文件路径的用户\",{\"1\":{\"301\":1}}],[\"此时角标会变为灰色\",{\"1\":{\"510\":1}}],[\"此时已经完成\",{\"1\":{\"507\":1}}],[\"此时如果你的浏览器仍然不能完成对文献的识别\",{\"1\":{\"506\":1,\"507\":1}}],[\"此时你已经完成了\",{\"1\":{\"506\":1,\"507\":1}}],[\"此时你可以在右边栏里修改这个条目的类型\",{\"1\":{\"244\":1}}],[\"此时在库中可以看到标签颜色或\",{\"1\":{\"347\":1}}],[\"此时可以在主界面左下角的标签管理器中看到这个标签\",{\"1\":{\"347\":1}}],[\"此时编号区域会出现灰色阴影\",{\"1\":{\"332\":1}}],[\"此时需要登陆你的\",{\"1\":{\"314\":1}}],[\"此时上述文献的参考文献表就已经复制好了\",{\"1\":{\"266\":1}}],[\"此时\",{\"1\":{\"240\":1,\"260\":1,\"307\":1,\"385\":1,\"528\":1}}],[\"此时相邻条目间隙处会出现一个横线\",{\"1\":{\"240\":1}}],[\"此时打开\",{\"1\":{\"238\":1}}],[\"此小节正在施工中\",{\"1\":{\"189\":1,\"190\":1,\"198\":1,\"199\":1,\"204\":1,\"205\":1}}],[\"此限制适用于将特定于语言环境的词缀\",{\"1\":{\"138\":1}}],[\"此工作以\",{\"1\":{\"101\":1}}],[\"此处仅作简单介绍\",{\"1\":{\"396\":1}}],[\"此处所做的修改有时不会持续存在\",{\"1\":{\"333\":1}}],[\"此处的密码是在坚果云中创建的应用密码\",{\"1\":{\"314\":1}}],[\"此处以最常见的\",{\"1\":{\"244\":1}}],[\"此处列举了编写插件的基础知识\",{\"1\":{\"215\":1}}],[\"此处\",{\"1\":{\"92\":1}}],[\"此处有参考文献\",{\"1\":{\"66\":1}}],[\"此处不再赘述\",{\"1\":{\"65\":1}}],[\"此页面正在施工中\",{\"1\":{\"64\":1,\"133\":1,\"140\":1,\"160\":1,\"206\":1,\"210\":1}}],[\"此外\",{\"1\":{\"63\":1,\"64\":1,\"92\":1,\"96\":1,\"97\":1,\"115\":1,\"128\":1,\"129\":1,\"130\":1,\"133\":1,\"143\":1,\"185\":1,\"301\":1,\"463\":1,\"509\":1}}],[\"此外还有很多开发者们维护了很多插件\",{\"1\":{\"13\":1}}],[\"且\",{\"1\":{\"556\":1}}],[\"且不支持移动端同步\",{\"1\":{\"383\":1}}],[\"且不想导入这几篇文档到自己的库\",{\"1\":{\"265\":1}}],[\"且下载链接在\",{\"1\":{\"310\":1}}],[\"且可以享受在国内完全可用的同步与扩展服务\",{\"1\":{\"307\":1}}],[\"且该项在通过浏览器导入时非常容易出错\",{\"1\":{\"270\":1}}],[\"且目前\",{\"1\":{\"262\":1}}],[\"且必须是最后一个子元素\",{\"1\":{\"155\":1}}],[\"且应用父样式的引用格式\",{\"1\":{\"86\":1}}],[\"且安装了推荐的插件\",{\"1\":{\"63\":1}}],[\"且对\",{\"1\":{\"34\":1,\"388\":1}}],[\"哪些情况会导致检查错误\",{\"1\":{\"63\":1}}],[\"来继续增强\",{\"1\":{\"575\":1}}],[\"来源添加\",{\"1\":{\"533\":1}}],[\"来源于\",{\"1\":{\"97\":1}}],[\"来解决\",{\"0\":{\"497\":1}}],[\"来简写\",{\"1\":{\"489\":1}}],[\"来见避免我们每次都要输入\",{\"1\":{\"489\":1}}],[\"来存取\",{\"1\":{\"480\":1}}],[\"来定义版本号\",{\"1\":{\"449\":1}}],[\"来定制需要的\",{\"1\":{\"64\":1}}],[\"来保存\",{\"1\":{\"434\":1}}],[\"来从\",{\"1\":{\"433\":1}}],[\"来正确格式化许多不同书目\",{\"1\":{\"374\":1}}],[\"来快速筛选\",{\"1\":{\"344\":1}}],[\"来切换到\",{\"1\":{\"324\":1}}],[\"来生成引文格式\",{\"1\":{\"262\":1}}],[\"来生成指定格式的引用和参考文献目录\",{\"1\":{\"64\":1}}],[\"来识别文献\",{\"1\":{\"239\":1}}],[\"来调用\",{\"1\":{\"178\":1}}],[\"来对较长的作者序列进行代替\",{\"1\":{\"176\":1}}],[\"来实现同时插入多个文献\",{\"1\":{\"510\":1}}],[\"来实现从网页快速抓取文献信息\",{\"1\":{\"505\":1}}],[\"来实现数据的快速备份和恢复\",{\"1\":{\"261\":1}}],[\"来实现对引文或者参考文献条目的排序\",{\"1\":{\"176\":1}}],[\"来实现通用术语的翻译以及日期格式和语法的转换\",{\"1\":{\"87\":1}}],[\"来选择\",{\"1\":{\"150\":1}}],[\"来说\",{\"1\":{\"144\":3}}],[\"来这只其使用单数还是复数形式\",{\"1\":{\"142\":1}}],[\"来指定本地化文件最后一次更新的时间\",{\"1\":{\"134\":1}}],[\"来指代\",{\"1\":{\"80\":1}}],[\"来自\",{\"1\":{\"132\":1,\"278\":1}}],[\"来代替它\",{\"1\":{\"99\":1}}],[\"来上传到仓库\",{\"1\":{\"63\":1}}],[\"来表示\",{\"1\":{\"42\":1}}],[\"策略\",{\"1\":{\"63\":1}}],[\"但优点是不会遇到\",{\"1\":{\"566\":1}}],[\"但由于\",{\"1\":{\"565\":1}}],[\"但可以加快从\",{\"1\":{\"545\":1}}],[\"但可能会显着减慢\",{\"1\":{\"540\":1}}],[\"但其他值\",{\"1\":{\"538\":1}}],[\"但其中的条目会根据搜索条件自动更新\",{\"1\":{\"360\":1}}],[\"但基本可以达成需求\",{\"1\":{\"531\":1}}],[\"但如果你将引用复制到标题中\",{\"1\":{\"519\":1}}],[\"但如果将样式区域从英语切换至德语\",{\"1\":{\"87\":1}}],[\"但在现有文档中使用\",{\"1\":{\"519\":1}}],[\"但在进入标签页时会被显示\",{\"1\":{\"469\":1}}],[\"但在按\",{\"1\":{\"328\":1}}],[\"但对于阅读器中诸如选中\",{\"1\":{\"461\":1}}],[\"但对于根元素\",{\"1\":{\"104\":1}}],[\"但有些用户可能会找到打开多个主窗口的方法\",{\"1\":{\"428\":1}}],[\"但此种方式是\",{\"1\":{\"422\":1}}],[\"但图片及许多格式不会被处理\",{\"1\":{\"398\":1}}],[\"但它对于添加在线不可用的文档很有用\",{\"1\":{\"372\":1}}],[\"但它并不能完全替代正确的备份\",{\"1\":{\"246\":1}}],[\"但您可能需要从页面手动填写其他元数据\",{\"1\":{\"369\":1}}],[\"但两个分类中存放的其实是同一个文献条目\",{\"1\":{\"340\":1}}],[\"但论文中未引用的项目\",{\"1\":{\"333\":1}}],[\"但请注意\",{\"1\":{\"331\":1}}],[\"但请不要选择\",{\"1\":{\"301\":1}}],[\"但不建议\",{\"1\":{\"550\":1}}],[\"但不鼓励这样做\",{\"1\":{\"333\":1}}],[\"但不要拖到条目之间的间隙里\",{\"1\":{\"239\":1}}],[\"但不一定是样式的\",{\"1\":{\"92\":1}}],[\"但分散在各处\",{\"1\":{\"225\":1}}],[\"但当\",{\"1\":{\"505\":1}}],[\"但当第二个数字有两个或者两个以上的数字时\",{\"1\":{\"204\":1}}],[\"但当选择中包括编辑和翻译\",{\"1\":{\"150\":1}}],[\"但\",{\"1\":{\"159\":1,\"169\":1}}],[\"但这些默认的后缀可以被下面的术语对某些数字进行覆盖\",{\"1\":{\"136\":1}}],[\"但这里的\",{\"1\":{\"98\":1}}],[\"但还是有些许差别\",{\"1\":{\"96\":1}}],[\"但我们下面这个\",{\"1\":{\"93\":1}}],[\"但为了方便起见\",{\"1\":{\"92\":1}}],[\"但大多数都支持例如\",{\"1\":{\"88\":1}}],[\"但每个期刊的\",{\"1\":{\"86\":1}}],[\"但要想设置特定的引用格式\",{\"1\":{\"77\":1}}],[\"但是得益于开源社区的维护\",{\"1\":{\"575\":1}}],[\"但是会显示有\",{\"1\":{\"556\":1}}],[\"但是这种方法每次刷新后需要重新设置非常麻烦\",{\"1\":{\"513\":1}}],[\"但是这样的样式只能在美式英语中使用\",{\"1\":{\"87\":1}}],[\"但是他同样是一款付费软件\",{\"1\":{\"405\":1}}],[\"但是好处是每个月都可以有\",{\"1\":{\"384\":1}}],[\"但是官方的引用格式对国内期刊支持不全\",{\"1\":{\"262\":1}}],[\"但是只有输出的时候才会渲染\",{\"1\":{\"181\":1}}],[\"但是不可省略粒子降级作为二级排序键值\",{\"1\":{\"173\":1}}],[\"但是不能在一级标题\",{\"1\":{\"44\":1}}],[\"但是替换仅限于第一个名字\",{\"1\":{\"169\":1}}],[\"但是名称扩展的目的仅限于消除引用的歧义\",{\"1\":{\"163\":1}}],[\"但是名称的扩展仅限于缩写\",{\"1\":{\"163\":1}}],[\"但是消除歧义仅限于每个引用的第一个名字\",{\"1\":{\"163\":2}}],[\"但是当\",{\"1\":{\"158\":1}}],[\"但是可能会在姓氏中分别对待\",{\"1\":{\"151\":1}}],[\"但是却没法获得\",{\"1\":{\"142\":1}}],[\"但是定义了\",{\"1\":{\"136\":1}}],[\"但是本地化文件可以方便的提供本地化数据的设置\",{\"1\":{\"133\":1}}],[\"但是在我们的示例样式中\",{\"1\":{\"99\":1}}],[\"但是语言是很复杂的\",{\"1\":{\"87\":1}}],[\"但是并不是所有的样式都是相似的\",{\"1\":{\"86\":1}}],[\"但是\",{\"1\":{\"77\":1,\"99\":1,\"103\":2,\"105\":1,\"107\":1,\"151\":1,\"169\":1,\"173\":1,\"333\":1,\"444\":1,\"534\":1}}],[\"但是遗憾的是\",{\"1\":{\"64\":1}}],[\"但是即使有这么多的\",{\"1\":{\"64\":1}}],[\"但现在的越来越多的国际期刊除提供\",{\"1\":{\"64\":1}}],[\"但另一部分内容仍在修改\",{\"1\":{\"63\":1}}],[\"严重时可能会使您的\",{\"1\":{\"565\":1}}],[\"严重违反社区准则\",{\"1\":{\"10\":1}}],[\"严格来说与译为\",{\"1\":{\"94\":1}}],[\"严格地说\",{\"1\":{\"63\":1}}],[\"新版本下\",{\"1\":{\"510\":1}}],[\"新版本交换了第二个和第三个按钮的位置\",{\"1\":{\"509\":1}}],[\"新特性\",{\"1\":{\"494\":1}}],[\"新增标签页\",{\"0\":{\"469\":1}}],[\"新增成员\",{\"1\":{\"299\":1}}],[\"新输入的内容仍被包裹在上一个引用项目的气泡中\",{\"1\":{\"322\":1}}],[\"新电脑c\",{\"1\":{\"255\":1}}],[\"新电脑\",{\"1\":{\"255\":2}}],[\"新建一个\",{\"1\":{\"553\":1}}],[\"新建一个空白条目\",{\"1\":{\"244\":1}}],[\"新建分类\",{\"0\":{\"337\":1},\"1\":{\"337\":1,\"357\":1}}],[\"新建分支\",{\"1\":{\"63\":2}}],[\"新建订阅\",{\"1\":{\"277\":2}}],[\"新建条目\",{\"1\":{\"244\":1}}],[\"新闻文章\",{\"1\":{\"198\":1}}],[\"新的\",{\"1\":{\"36\":1}}],[\"账单\",{\"1\":{\"354\":1}}],[\"账号登录\",{\"1\":{\"383\":1}}],[\"账号和密码\",{\"1\":{\"317\":1}}],[\"账号\",{\"1\":{\"63\":2,\"290\":1}}],[\"账户信息\",{\"1\":{\"385\":1}}],[\"账户并完成购买后无需其他任何设置\",{\"1\":{\"383\":1}}],[\"账户和完成\",{\"1\":{\"312\":1}}],[\"账户\",{\"1\":{\"290\":1,\"314\":1,\"383\":1,\"528\":1}}],[\"账户才能提交\",{\"1\":{\"32\":1}}],[\"账户才能提交发起或参与讨论\",{\"1\":{\"31\":1}}],[\"账户下\",{\"1\":{\"22\":1}}],[\"网上流传较广的\",{\"1\":{\"383\":1}}],[\"网上有许多关于\",{\"1\":{\"225\":1}}],[\"网站过于频繁的访问会触发网站的验证机制\",{\"1\":{\"565\":1}}],[\"网站基本上没有收录中文文献\",{\"1\":{\"565\":1}}],[\"网站以致于无法使用软件的情况\",{\"1\":{\"404\":1}}],[\"网站\",{\"1\":{\"276\":1}}],[\"网站在线更改本文档\",{\"0\":{\"63\":1}}],[\"网盘进行附件同步\",{\"1\":{\"383\":1}}],[\"网盘同步入手\",{\"1\":{\"383\":1}}],[\"网盘来同步\",{\"1\":{\"382\":1}}],[\"网盘设置即可\",{\"1\":{\"312\":1}}],[\"网盘\",{\"1\":{\"229\":1}}],[\"网络资料不便搜索且良莠不齐\",{\"1\":{\"225\":1}}],[\"网页右上角会有完成提醒\",{\"1\":{\"528\":1}}],[\"网页附件\",{\"1\":{\"382\":1}}],[\"网页条目\",{\"1\":{\"369\":1}}],[\"网页端\",{\"1\":{\"290\":1}}],[\"网页快照\",{\"1\":{\"237\":1,\"251\":1}}],[\"网页等\",{\"1\":{\"234\":1}}],[\"网页\",{\"1\":{\"198\":1,\"270\":1,\"286\":1,\"365\":1}}],[\"网页会自动跳转到\",{\"1\":{\"33\":1}}],[\"↩︎\",{\"1\":{\"62\":1,\"533\":1}}],[\"脚注和尾注\",{\"1\":{\"375\":1}}],[\"脚注和尾注的样式和格式由\",{\"1\":{\"320\":1}}],[\"脚注内容就近放置\",{\"1\":{\"61\":1}}],[\"脚注\",{\"0\":{\"61\":1}}],[\"嵌套显示\",{\"0\":{\"60\":1},\"1\":{\"60\":2}}],[\"详细说明参考下图\",{\"1\":{\"317\":1}}],[\"详细信息请见官方链接\",{\"1\":{\"303\":1}}],[\"详细步骤以\",{\"1\":{\"302\":1}}],[\"详细请参阅\",{\"1\":{\"273\":1}}],[\"详见本文档的\",{\"1\":{\"556\":1}}],[\"详见本文档\",{\"1\":{\"554\":1}}],[\"详见后续章节\",{\"1\":{\"393\":1}}],[\"详见\",{\"1\":{\"243\":1,\"396\":1,\"398\":2,\"465\":1,\"549\":1}}],[\"详见附录\",{\"1\":{\"97\":1}}],[\"详情请参阅\",{\"1\":{\"245\":1}}],[\"详情见\",{\"1\":{\"137\":1}}],[\"详情\",{\"0\":{\"58\":1},\"1\":{\"58\":1}}],[\"详解\",{\"1\":{\"39\":1}}],[\"纯文本\",{\"1\":{\"52\":1}}],[\"三个纵向布置的小按钮分别是\",{\"1\":{\"509\":1}}],[\"三个反引号后跟随代码块语言\",{\"1\":{\"52\":1}}],[\"三级分类内的文献都会在一级分类中显示\",{\"1\":{\"337\":1}}],[\"三级分类\",{\"1\":{\"337\":1}}],[\"三级标题\",{\"1\":{\"41\":1}}],[\"三种类型\",{\"1\":{\"298\":1}}],[\"三类\",{\"1\":{\"292\":1}}],[\"57\",{\"1\":{\"532\":1}}],[\"5197\",{\"1\":{\"465\":1}}],[\"5289\",{\"1\":{\"465\":1}}],[\"52\",{\"1\":{\"243\":1}}],[\"532\",{\"1\":{\"204\":1}}],[\"5336<\",{\"1\":{\"92\":2}}],[\"50\",{\"1\":{\"536\":3}}],[\"500m\",{\"1\":{\"384\":1}}],[\"505\",{\"1\":{\"204\":1}}],[\"50ad\",{\"1\":{\"177\":1}}],[\"50bc\",{\"1\":{\"177\":1}}],[\"5\",{\"1\":{\"52\":2,\"152\":3,\"157\":1,\"165\":3,\"179\":1,\"201\":2,\"204\":1,\"465\":1,\"506\":2,\"507\":1,\"522\":2,\"532\":1,\"536\":3,\"551\":1,\"554\":1,\"556\":2}}],[\"54\",{\"1\":{\"39\":1}}],[\"块级代码\",{\"0\":{\"52\":1}}],[\"第三方引文格式\",{\"0\":{\"264\":1}}],[\"第三\",{\"1\":{\"178\":1}}],[\"第三排序键值\",{\"1\":{\"173\":2}}],[\"第几段\",{\"1\":{\"159\":1}}],[\"第二章将要介绍的的\",{\"1\":{\"218\":1}}],[\"第二行为\",{\"1\":{\"210\":1}}],[\"第二行表示对其方式的\",{\"1\":{\"49\":1}}],[\"第二个弹窗请点击\",{\"1\":{\"514\":1}}],[\"第二个数字至少保留两位\",{\"1\":{\"204\":1}}],[\"第二个数字中重复的所有数字都被省略\",{\"1\":{\"204\":1}}],[\"第二个数字\",{\"1\":{\"204\":1}}],[\"第二个区别是\",{\"1\":{\"156\":1}}],[\"第二\",{\"1\":{\"178\":1}}],[\"第二种\",{\"1\":{\"143\":1}}],[\"第一步中选择文献的顺序有关\",{\"1\":{\"266\":1}}],[\"第一作者\",{\"1\":{\"241\":2}}],[\"第一行为声明\",{\"1\":{\"210\":1}}],[\"第一行是\",{\"1\":{\"115\":1}}],[\"第一\",{\"1\":{\"178\":1}}],[\"第一种\",{\"1\":{\"143\":1}}],[\"第一种类型就是\",{\"1\":{\"79\":1}}],[\"第一个弹窗请点击\",{\"1\":{\"514\":1}}],[\"第一个版本字符串的编号大于另一个版本字符串中对应编号的版本字符串是最新的\",{\"1\":{\"445\":1}}],[\"第一个数字\",{\"1\":{\"204\":1}}],[\"第一个单词的首字符大写\",{\"1\":{\"187\":1}}],[\"第一个字段放在\",{\"1\":{\"168\":1}}],[\"第一个字段与边距齐平\",{\"1\":{\"168\":1}}],[\"第一个引用项的位置\",{\"1\":{\"159\":1}}],[\"第一个非空的元素用于替换\",{\"1\":{\"155\":1}}],[\"第一个名字的前后部分\",{\"1\":{\"151\":1}}],[\"第一个键具有相同输出的引用将继续根据第二个键进行排序\",{\"1\":{\"97\":1}}],[\"第一个用来排序的键由\",{\"1\":{\"97\":1}}],[\"第一个一级标题\",{\"1\":{\"39\":1}}],[\"第一级的标志使用四个冒号\",{\"1\":{\"60\":1}}],[\"`zotero\",{\"1\":{\"489\":3}}],[\"`$\",{\"1\":{\"462\":1,\"489\":3}}],[\"``\",{\"1\":{\"151\":1}}],[\"```\",{\"1\":{\"52\":1}}],[\"```js\",{\"1\":{\"52\":1}}],[\"`documentation`\",{\"1\":{\"122\":1}}],[\"`details`\",{\"1\":{\"59\":1}}],[\"`template`\",{\"1\":{\"122\":1}}],[\"`tip`\",{\"1\":{\"59\":1}}],[\"`self`\",{\"1\":{\"122\":1}}],[\"`rel`\",{\"1\":{\"122\":1}}],[\"`href`\",{\"1\":{\"122\":1}}],[\"`cs\",{\"1\":{\"118\":3}}],[\"`caution`\",{\"1\":{\"59\":1}}],[\"`code`\",{\"1\":{\"51\":1}}],[\"`warning`\",{\"1\":{\"59\":1}}],[\"`\",{\"1\":{\"49\":3,\"151\":1,\"251\":1,\"254\":1,\"489\":3}}],[\"`author`\",{\"1\":{\"39\":1}}],[\"右击\",{\"1\":{\"582\":1}}],[\"右上角工具栏导出按钮\",{\"1\":{\"398\":1}}],[\"右上角的齿轮\",{\"1\":{\"572\":1}}],[\"右上角的\",{\"1\":{\"22\":1}}],[\"右侧笔记栏右上角的\",{\"1\":{\"397\":1}}],[\"右侧笔记栏中\",{\"1\":{\"394\":1}}],[\"右侧是信息\",{\"1\":{\"392\":1}}],[\"右侧用户名=>账户信息\",{\"1\":{\"385\":1}}],[\"右侧会出现多重来源列表\",{\"1\":{\"325\":1}}],[\"右侧红色按钮\",{\"1\":{\"299\":1}}],[\"右侧\",{\"1\":{\"269\":1}}],[\"右键单击你收藏中的任何项目\",{\"1\":{\"562\":1}}],[\"右键单击\",{\"1\":{\"347\":1,\"357\":1}}],[\"右键单击现有分类\",{\"1\":{\"338\":1}}],[\"右键单击现有的分类来创建子分类\",{\"1\":{\"337\":1}}],[\"右键即可出现以下菜单选项\",{\"1\":{\"281\":1}}],[\"右键\",{\"1\":{\"266\":1}}],[\"右键菜单里只会有\",{\"1\":{\"241\":1}}],[\"右键菜单里不会出现\",{\"1\":{\"240\":1}}],[\"右键点击回收站\",{\"1\":{\"342\":1}}],[\"右键点击\",{\"1\":{\"240\":1,\"241\":1,\"506\":1,\"507\":1}}],[\"右对齐使用`\",{\"1\":{\"49\":1}}],[\"右对齐\",{\"1\":{\"49\":1,\"183\":1}}],[\"居中使用`\",{\"1\":{\"49\":1}}],[\"居中\",{\"1\":{\"49\":1}}],[\"表情符号\",{\"1\":{\"347\":1}}],[\"表\",{\"1\":{\"328\":1}}],[\"表等\",{\"0\":{\"328\":1}}],[\"表明本地化文件的\",{\"1\":{\"133\":1}}],[\"表明了该\",{\"1\":{\"124\":1}}],[\"表明\",{\"1\":{\"122\":1}}],[\"表示\",{\"1\":{\"536\":1}}],[\"表示事件原因的数字\",{\"1\":{\"427\":1}}],[\"表示设置成功\",{\"1\":{\"314\":1}}],[\"表示了页码的缩写规则\",{\"1\":{\"204\":1}}],[\"表示使用单数形式\",{\"1\":{\"142\":1}}],[\"表示使用复数形式\",{\"1\":{\"142\":1}}],[\"表示所有其他数字\",{\"1\":{\"136\":1}}],[\"表示以\",{\"1\":{\"136\":1}}],[\"表示引文不在文字中\",{\"1\":{\"113\":1}}],[\"表示引文在文字中\",{\"1\":{\"113\":1}}],[\"表示美式英语\",{\"1\":{\"106\":1}}],[\"表示语言以及其方言\",{\"1\":{\"106\":1}}],[\"表示这个样式在哪一个版权协议下发布\",{\"1\":{\"92\":1}}],[\"表格\",{\"0\":{\"49\":1}}],[\"表现出对他人的同情和善意\",{\"1\":{\"3\":1}}],[\"引导脚本即\",{\"1\":{\"425\":1}}],[\"引导脚本\",{\"0\":{\"425\":1}}],[\"引号\",{\"0\":{\"194\":1}}],[\"引文快速复制设置\",{\"0\":{\"542\":1}}],[\"引文或参考书目总是以灰色或其他颜色突出显示\",{\"0\":{\"524\":1}}],[\"引文或者\",{\"1\":{\"116\":1}}],[\"引文在\",{\"1\":{\"522\":1}}],[\"引文标记为已更改\",{\"1\":{\"519\":1}}],[\"引文时启用了修订功能\",{\"1\":{\"519\":1}}],[\"引文和参考书目\",{\"1\":{\"377\":1}}],[\"引文和文献条目将会使用他们在文章中出现的顺序来排序\",{\"1\":{\"176\":1}}],[\"引文编辑对话框\",{\"1\":{\"334\":1,\"521\":1}}],[\"引文\",{\"1\":{\"328\":1}}],[\"引文对话框\",{\"1\":{\"321\":2,\"322\":1,\"324\":1,\"510\":1}}],[\"引文对话框用于从\",{\"1\":{\"321\":1}}],[\"引文是插入为脚注还或尾注\",{\"1\":{\"320\":1}}],[\"引文样式\",{\"1\":{\"320\":1,\"333\":1}}],[\"引文样式语言\",{\"1\":{\"102\":1}}],[\"引文导出\",{\"1\":{\"302\":1}}],[\"引文格式\",{\"1\":{\"264\":1}}],[\"引文格式管理\",{\"1\":{\"263\":1}}],[\"引文选项\",{\"0\":{\"162\":1},\"1\":{\"161\":1}}],[\"引文中包括项目题目\",{\"1\":{\"131\":1}}],[\"引文应该是用原样打印\",{\"1\":{\"129\":1}}],[\"引文的链接\",{\"1\":{\"319\":1,\"413\":1}}],[\"引文的样式\",{\"0\":{\"262\":1}}],[\"引文的首字母最好大写\",{\"1\":{\"129\":1}}],[\"引文的具体格式\",{\"1\":{\"116\":1}}],[\"引文通常是一个句子\",{\"1\":{\"129\":1}}],[\"引文怎么渲染\",{\"1\":{\"119\":1}}],[\"引注的格式可能是\",{\"1\":{\"129\":1}}],[\"引注和参考文献表的展现方式不仅取决于被引用条目的元数据\",{\"1\":{\"89\":1}}],[\"引注\",{\"0\":{\"66\":1},\"1\":{\"79\":1}}],[\"引入视频请上传\",{\"1\":{\"48\":1}}],[\"引用的各种问题\",{\"0\":{\"508\":1}}],[\"引用的信息\",{\"1\":{\"69\":1}}],[\"引用设置窗口\",{\"1\":{\"413\":1}}],[\"引用文献\",{\"1\":{\"400\":1}}],[\"引用文献时会在句子中插入一个标记\",{\"1\":{\"84\":1}}],[\"引用条目\",{\"0\":{\"374\":1}}],[\"引用选项窗口具有不同定位器类型的下拉列表\",{\"1\":{\"328\":1}}],[\"引用时\",{\"1\":{\"333\":1}}],[\"引用时可以通过键来调用值\",{\"1\":{\"275\":1}}],[\"引用时使用的条目中储存的信息\",{\"1\":{\"236\":1}}],[\"引用项目的总的页数\",{\"1\":{\"201\":1}}],[\"引用折叠\",{\"0\":{\"165\":1}}],[\"引用分组可以在\",{\"1\":{\"164\":1}}],[\"引用分组在引用排序和消除歧义后执行\",{\"1\":{\"164\":1}}],[\"引用分组\",{\"0\":{\"164\":1}}],[\"引用先前引用的项目的引用\",{\"1\":{\"159\":1}}],[\"引用由\",{\"1\":{\"97\":1}}],[\"引用细节\",{\"0\":{\"89\":1}}],[\"引用是按字母排序还是按日期排序\",{\"1\":{\"86\":1}}],[\"引用格式的第二类为\",{\"1\":{\"84\":1}}],[\"引用格式可以分为两个主要的类型\",{\"1\":{\"79\":1}}],[\"引用格式\",{\"0\":{\"68\":1,\"78\":1}}],[\"引用\",{\"0\":{\"184\":1,\"373\":1},\"1\":{\"42\":1,\"181\":1,\"243\":1,\"245\":1,\"263\":1,\"302\":1,\"324\":1,\"517\":1,\"528\":1,\"531\":1}}],[\"受限于存储空间\",{\"1\":{\"48\":1}}],[\"90\",{\"1\":{\"532\":1}}],[\"9000\",{\"1\":{\"64\":1}}],[\"956c\",{\"1\":{\"396\":1}}],[\"999\",{\"1\":{\"439\":1,\"491\":1}}],[\"998rmb\",{\"1\":{\"406\":1}}],[\"99\",{\"1\":{\"136\":2,\"193\":1}}],[\"97\",{\"1\":{\"98\":1,\"532\":1}}],[\"9\",{\"1\":{\"48\":1,\"98\":1,\"168\":1,\"347\":2,\"398\":1,\"445\":1,\"532\":1}}],[\"视频下留言\",{\"1\":{\"225\":1}}],[\"视频\",{\"0\":{\"48\":1},\"1\":{\"379\":1}}],[\"内部\",{\"1\":{\"528\":1}}],[\"内部的一种事件机制\",{\"1\":{\"474\":1}}],[\"内部阅读器所做的高亮\",{\"1\":{\"389\":1}}],[\"内打开保存的新库\",{\"1\":{\"301\":1}}],[\"内成为一个新文件夹默认使用该名称\",{\"1\":{\"301\":1}}],[\"内下载安装\",{\"1\":{\"262\":1}}],[\"内\",{\"1\":{\"47\":1,\"461\":1}}],[\"内容来源于官方插件示例\",{\"1\":{\"439\":1}}],[\"内容即注释本身\",{\"1\":{\"395\":1}}],[\"内容分级\",{\"1\":{\"223\":1}}],[\"内容是一个\",{\"1\":{\"128\":1}}],[\"内容是否符合规范\",{\"1\":{\"63\":1}}],[\"内容\",{\"0\":{\"426\":1},\"1\":{\"39\":1,\"223\":1,\"395\":1,\"522\":1}}],[\"链接到插件\",{\"1\":{\"451\":1}}],[\"链接和快照\",{\"0\":{\"365\":1}}],[\"链接的文件不会复制到此子文件夹中\",{\"1\":{\"251\":1}}],[\"链接的附件\",{\"1\":{\"229\":1}}],[\"链接文件也不会被删除\",{\"1\":{\"229\":1}}],[\"链接文件不会同步\",{\"1\":{\"229\":1}}],[\"链接等错误\",{\"1\":{\"63\":1}}],[\"链接\",{\"0\":{\"46\":1,\"205\":1,\"282\":1},\"1\":{\"96\":3,\"200\":1,\"357\":1}}],[\"链接错误会导致报错\",{\"1\":{\"27\":1}}],[\"斜体或全大写设置特定作者的姓名\",{\"1\":{\"333\":1}}],[\"斜体\",{\"1\":{\"44\":1,\"329\":1,\"513\":1}}],[\"推荐采用年份\",{\"1\":{\"510\":1}}],[\"推荐先尝试方法一\",{\"1\":{\"495\":1}}],[\"推荐\",{\"0\":{\"239\":1},\"1\":{\"44\":1,\"383\":1}}],[\"推荐等\",{\"1\":{\"44\":1}}],[\"推送新的修改后\",{\"1\":{\"25\":1}}],[\"推送修改\",{\"1\":{\"24\":1}}],[\"徽章\",{\"0\":{\"44\":1}}],[\"你还\",{\"1\":{\"514\":1}}],[\"你\",{\"1\":{\"502\":1,\"510\":1}}],[\"你需要按照前面的教程修改\",{\"1\":{\"516\":1}}],[\"你需要在插入参考文献之前\",{\"1\":{\"516\":1}}],[\"你需要多一点耐心\",{\"1\":{\"510\":1}}],[\"你需要自行安装\",{\"1\":{\"457\":1}}],[\"你需要手动下载附件\",{\"1\":{\"243\":1}}],[\"你将快速上手\",{\"1\":{\"402\":1}}],[\"你是否还在手打插入的引文\",{\"1\":{\"400\":1}}],[\"你是否还在焦虑刚刚读完文献却脑袋空空\",{\"1\":{\"400\":1}}],[\"你是否仍在为找不到自己记忆中那篇文献而苦恼\",{\"1\":{\"400\":1}}],[\"你是否仍在花费大量时间整理阅读过和刚下载的文献\",{\"1\":{\"400\":1}}],[\"你只需要修改这一项\",{\"1\":{\"320\":1}}],[\"你的用户名\",{\"1\":{\"414\":1}}],[\"你的\",{\"1\":{\"385\":1}}],[\"你的阅读记录会后台自动同步到其他客户端\",{\"1\":{\"314\":1}}],[\"你的名字\",{\"1\":{\"25\":1}}],[\"你必须登录\",{\"1\":{\"290\":1}}],[\"你依然可以使用纯手动的方法为它创建一个条目\",{\"1\":{\"244\":1}}],[\"你也可以根据你自己的需要修改属于自己的样式文件\",{\"1\":{\"515\":1}}],[\"你也可以取消选中\",{\"1\":{\"326\":1}}],[\"你也可以去百度学术这一类的受支持的通用检索网站抓取\",{\"1\":{\"243\":1}}],[\"你也可以先将文件名更改成符合前面规定的样子\",{\"1\":{\"241\":1}}],[\"你也可以使用这一功能来重新\",{\"1\":{\"240\":1,\"241\":1}}],[\"你也可以采用后文的进阶方法创建条目\",{\"1\":{\"239\":1}}],[\"你可能会遇到下面的警告提示\",{\"1\":{\"411\":1}}],[\"你可能会感到奇怪\",{\"1\":{\"97\":1}}],[\"你可能偶尔会面临无法登陆\",{\"1\":{\"404\":1}}],[\"你可能在不同地方引入同一文献的不同副本\",{\"1\":{\"268\":1}}],[\"你可以先按回车键确认本次插入\",{\"1\":{\"510\":1}}],[\"你可以非常方便的通过你的社交媒体联系到他们\",{\"1\":{\"402\":1}}],[\"你可以收到\",{\"1\":{\"402\":1}}],[\"你可以同时向多个分类添加\",{\"1\":{\"340\":1}}],[\"你可以将不同主题\",{\"1\":{\"336\":1}}],[\"你可以不下载\",{\"1\":{\"265\":1}}],[\"你可以把第三步导出的\",{\"1\":{\"260\":1}}],[\"你可以选择不同时间段的备份文件进行恢复\",{\"1\":{\"257\":1}}],[\"你可以后续自己手动编辑右边栏中的\",{\"1\":{\"243\":1}}],[\"你可以在\",{\"1\":{\"516\":1}}],[\"你可以在右侧大纲栏\",{\"1\":{\"508\":1}}],[\"你可以在下图红框处选择样式\",{\"1\":{\"265\":1}}],[\"你可以在左边栏分类列表最下面的\",{\"1\":{\"243\":1}}],[\"你可以在独立样式中将各种特定语言的信息强行编码到样式中来描述这个引用格式\",{\"1\":{\"87\":1}}],[\"你可以右键点击导入后的条目\",{\"1\":{\"243\":1}}],[\"你可以标记\",{\"1\":{\"43\":2}}],[\"你很可能在其中引用了别人的工作\",{\"1\":{\"77\":1}}],[\"只保留\",{\"0\":{\"557\":1}}],[\"只保留不能删除的部分\",{\"1\":{\"173\":1}}],[\"只装有\",{\"1\":{\"554\":1}}],[\"只是减少了一些字段\",{\"1\":{\"438\":1}}],[\"只是想用文章快速生成参考文献\",{\"1\":{\"266\":1}}],[\"只支持\",{\"1\":{\"405\":1}}],[\"只支持二级目录\",{\"1\":{\"403\":1}}],[\"只要出现\",{\"1\":{\"409\":1}}],[\"只要正确设置了同步\",{\"1\":{\"395\":1}}],[\"只要不同步附件\",{\"1\":{\"383\":1}}],[\"只能根据期刊更新周期设定订阅间隔\",{\"1\":{\"289\":1}}],[\"只存储指向计算机上原始文件位置的链接\",{\"1\":{\"229\":1}}],[\"只影响以拉丁字母或者西里尔字母书写的名字\",{\"1\":{\"151\":1}}],[\"只在月份的第一天使用\",{\"1\":{\"144\":1}}],[\"只渲染年\",{\"1\":{\"143\":1}}],[\"只有升序的引用才可以折叠\",{\"1\":{\"165\":1}}],[\"只有有歧义的名字在有歧义的引用中才会被影响\",{\"1\":{\"163\":1}}],[\"只有在后面的情况中\",{\"1\":{\"163\":1}}],[\"只有当选择的变量是非空的时候\",{\"1\":{\"157\":1}}],[\"只有术语与要渲染的数字相同时\",{\"1\":{\"136\":2}}],[\"只有\",{\"1\":{\"115\":1,\"116\":1,\"179\":1}}],[\"只有第一个名字会被输出\",{\"1\":{\"97\":1}}],[\"只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标\",{\"1\":{\"556\":1}}],[\"只需拖放条目\",{\"1\":{\"377\":1}}],[\"只需要把安装包文件拖至前文中提到的插件列表页即可安装\",{\"1\":{\"502\":1}}],[\"只需要按照模板要求配置\",{\"1\":{\"420\":1}}],[\"只需要一个脚本即可\",{\"1\":{\"410\":1}}],[\"只需要登陆\",{\"1\":{\"312\":1}}],[\"只需要找\",{\"1\":{\"286\":1}}],[\"只需要提供订阅源的链接即可\",{\"1\":{\"278\":1}}],[\"只需要在遇到问题时能通过查阅文档找到解决方法即可\",{\"1\":{\"215\":1}}],[\"只需单击按钮即可将其添加到您的\",{\"1\":{\"276\":1}}],[\"只需理解基本的树结构\",{\"1\":{\"217\":1}}],[\"只需将这段代码定义为\",{\"1\":{\"97\":1}}],[\"只需更改\",{\"1\":{\"86\":1}}],[\"只需为\",{\"1\":{\"86\":1}}],[\"只需继续本地\",{\"1\":{\"25\":1}}],[\"只用一对星号\",{\"1\":{\"43\":1}}],[\"操作步骤请参见\",{\"1\":{\"510\":1}}],[\"操作步骤\",{\"0\":{\"567\":1},\"1\":{\"42\":1}}],[\"行间距大小\",{\"1\":{\"512\":1}}],[\"行距等格式\",{\"0\":{\"512\":1}}],[\"行\",{\"1\":{\"191\":1}}],[\"行内代码效果\",{\"1\":{\"51\":2}}],[\"行内代码\",{\"0\":{\"51\":1},\"1\":{\"42\":1}}],[\"行为模式表现出违反社区准则\",{\"1\":{\"11\":1}}],[\"大部分插件都会用到\",{\"1\":{\"474\":1}}],[\"大家都使用邮箱格式来命名插件\",{\"1\":{\"448\":1}}],[\"大到一个集合\",{\"1\":{\"431\":1}}],[\"大致清楚元素类型与通用属性即可\",{\"1\":{\"217\":1}}],[\"大写的字符串或者是混合的字符串保持原样\",{\"1\":{\"188\":1}}],[\"大量的\",{\"1\":{\"97\":1}}],[\"大量修改\",{\"0\":{\"35\":1}}],[\"大多数\",{\"1\":{\"535\":1}}],[\"大多数插件的最终目的就是修改这些条目\",{\"1\":{\"431\":1}}],[\"大多数学术网站均提供了将文献信息导出为通用格式的功能\",{\"1\":{\"243\":1}}],[\"大多数从属格式都是电子表格自动生成的\",{\"1\":{\"92\":1}}],[\"大多数的参考文献管理软件使用的是像\",{\"1\":{\"90\":1}}],[\"大多数独立格式并不是完全独立的\",{\"1\":{\"87\":1}}],[\"大小写错误\",{\"1\":{\"63\":1}}],[\"大小写应正确\",{\"1\":{\"42\":1}}],[\"标志查看文献信息\",{\"1\":{\"314\":1}}],[\"标记\",{\"1\":{\"329\":1}}],[\"标记订阅为已读\",{\"1\":{\"281\":1}}],[\"标记语言允许创建者自定义各种标签和属性的名称\",{\"1\":{\"92\":1}}],[\"标签中删除值\",{\"1\":{\"539\":1}}],[\"标签可在\",{\"1\":{\"483\":1}}],[\"标签页打开选中关闭\",{\"1\":{\"474\":1}}],[\"标签页操作\",{\"0\":{\"470\":1}}],[\"标签区在最下方\",{\"1\":{\"395\":1}}],[\"标签或全文内容与搜索词匹配的条目\",{\"1\":{\"359\":1}}],[\"标签由用户命名\",{\"1\":{\"358\":1}}],[\"标签根据添加方式分为两类\",{\"1\":{\"344\":1}}],[\"标签管理\",{\"0\":{\"344\":1}}],[\"标签等\",{\"1\":{\"251\":1}}],[\"标签\",{\"0\":{\"358\":1},\"1\":{\"249\":1,\"358\":1}}],[\"标签来引入图片\",{\"1\":{\"47\":1}}],[\"标注距离\",{\"0\":{\"166\":1}}],[\"标准版\",{\"1\":{\"406\":1}}],[\"标准版官网售价\",{\"1\":{\"403\":1}}],[\"标准视图\",{\"1\":{\"269\":1}}],[\"标准变量\",{\"0\":{\"200\":1},\"1\":{\"142\":1,\"149\":1}}],[\"标准文档或者其他参考文档\",{\"1\":{\"100\":1}}],[\"标点符号与中文字符\",{\"1\":{\"42\":1}}],[\"标点符号采用全角\",{\"1\":{\"42\":1}}],[\"标题或年份\",{\"1\":{\"322\":1}}],[\"标题大小写\",{\"1\":{\"274\":1}}],[\"标题大小写转换\",{\"0\":{\"188\":1},\"1\":{\"188\":2}}],[\"标题的大小写\",{\"0\":{\"274\":1}}],[\"标题中的上下标\",{\"0\":{\"273\":1}}],[\"标题前后空一行\",{\"1\":{\"41\":1}}],[\"标题不应含有特殊字符\",{\"1\":{\"41\":1}}],[\"标题\",{\"0\":{\"41\":1,\"272\":1},\"1\":{\"39\":1,\"241\":3,\"334\":1,\"369\":1,\"509\":1,\"513\":1,\"521\":1,\"586\":1}}],[\"空间受限于上传流量\",{\"1\":{\"384\":1}}],[\"空间\",{\"1\":{\"317\":1}}],[\"空间用尽\",{\"1\":{\"294\":1}}],[\"空元素的属性\",{\"1\":{\"212\":1}}],[\"空元素\",{\"1\":{\"211\":1}}],[\"空白\",{\"0\":{\"168\":1}}],[\"空格处理\",{\"0\":{\"105\":1}}],[\"空行\",{\"1\":{\"42\":1}}],[\"空一格\",{\"1\":{\"39\":1}}],[\"而后续又想要\",{\"1\":{\"521\":1}}],[\"而中文文献设置成zh\",{\"1\":{\"516\":1}}],[\"而在\",{\"1\":{\"403\":1,\"486\":1}}],[\"而其他专业的功能你也能够通过社交媒体和\",{\"1\":{\"402\":1}}],[\"而附件同步可以使用\",{\"1\":{\"379\":1}}],[\"而文献本身不受影响\",{\"1\":{\"340\":1}}],[\"而是改为\",{\"1\":{\"510\":1}}],[\"而是键入下一个项目的作者\",{\"1\":{\"322\":1}}],[\"而是替换其文件和子文件夹\",{\"1\":{\"255\":1}}],[\"而是使用父元素\",{\"1\":{\"156\":1}}],[\"而一篇文献有条目信息而没有附件时\",{\"1\":{\"237\":1}}],[\"而贡献者只对此作了一些小的改进\",{\"1\":{\"96\":1}}],[\"而言是一个好的出发点\",{\"1\":{\"92\":1}}],[\"而无需安装\",{\"1\":{\"419\":1}}],[\"而无需触及其从属样式\",{\"1\":{\"86\":1}}],[\"而无需提供对引用格式的定义\",{\"1\":{\"86\":1}}],[\"而且分类写为了硕士论文\",{\"1\":{\"243\":1}}],[\"而且将两个导师的姓名直接写成了第二作者的姓和名\",{\"1\":{\"243\":1}}],[\"而且可能都不完整甚至有错\",{\"1\":{\"243\":1}}],[\"而且可以自动生成引注和参考文献表\",{\"1\":{\"77\":1}}],[\"而且该字段不是以\",{\"1\":{\"188\":1}}],[\"而且必须位于\",{\"1\":{\"156\":1}}],[\"而且\",{\"1\":{\"80\":1}}],[\"而不是下载\",{\"1\":{\"545\":1}}],[\"而不是手动在域代码上修改\",{\"1\":{\"521\":1}}],[\"而不是手动修改\",{\"1\":{\"521\":2}}],[\"而不是通过复制和粘贴内容\",{\"1\":{\"519\":1}}],[\"而不是其他任何内容\",{\"1\":{\"516\":1}}],[\"而不是其他\",{\"0\":{\"401\":1}}],[\"而不是直接在\",{\"1\":{\"334\":3}}],[\"而不是学位类型\",{\"1\":{\"243\":1}}],[\"而不是在这里\",{\"1\":{\"333\":1}}],[\"而不是在此处进行\",{\"1\":{\"333\":1}}],[\"而不是在\",{\"1\":{\"207\":1}}],[\"而不是首字母\",{\"1\":{\"163\":1}}],[\"而不是\",{\"1\":{\"163\":1,\"320\":1,\"329\":1,\"330\":1}}],[\"而不是诸如是\",{\"1\":{\"68\":1}}],[\"而不能越过三级标题直接使用四级标题\",{\"1\":{\"41\":1}}],[\"而使用新分支修改就没有这些烦恼\",{\"1\":{\"63\":1}}],[\"而只用一对星号\",{\"1\":{\"43\":1}}],[\"而\",{\"1\":{\"43\":1,\"80\":1,\"92\":1,\"97\":2,\"240\":1,\"268\":1,\"403\":1}}],[\"而非\",{\"1\":{\"42\":2}}],[\"而非个人得失\",{\"1\":{\"3\":1}}],[\"布局\",{\"1\":{\"39\":1}}],[\"|\",{\"1\":{\"39\":2,\"49\":20,\"114\":1,\"217\":1,\"219\":1,\"220\":1,\"251\":8,\"254\":8,\"419\":1,\"433\":2,\"463\":1,\"472\":1,\"474\":32,\"478\":2,\"485\":5,\"489\":2,\"519\":1}}],[\"与上一步同一界面\",{\"1\":{\"581\":1}}],[\"与标记语言\",{\"1\":{\"573\":1}}],[\"与参考文献表\",{\"1\":{\"531\":1}}],[\"与群组库\",{\"1\":{\"460\":1}}],[\"与其他代码运行环境相同\",{\"1\":{\"480\":1}}],[\"与其他同类软件的对比\",{\"1\":{\"223\":1}}],[\"与其相同的\",{\"1\":{\"420\":1}}],[\"与内部的笔记\",{\"1\":{\"389\":1}}],[\"与他人共享您的图书馆或从选定的条目创建自定义简历\",{\"1\":{\"380\":1}}],[\"与同事协作\",{\"1\":{\"320\":1}}],[\"与任何特定于样式的词缀\",{\"1\":{\"138\":1}}],[\"与样式中类似\",{\"1\":{\"134\":1}}],[\"与当前样式的关系\",{\"1\":{\"122\":1}}],[\"与之对应的是\",{\"1\":{\"97\":2}}],[\"与前面的\",{\"1\":{\"84\":1}}],[\"与\",{\"0\":{\"459\":1,\"460\":1},\"1\":{\"39\":1,\"103\":4,\"262\":1,\"266\":1,\"288\":1,\"307\":1,\"362\":1,\"570\":1}}],[\"其被修改后\",{\"1\":{\"522\":1}}],[\"其正常插入\",{\"1\":{\"522\":1}}],[\"其状态与保存时相同\",{\"1\":{\"365\":1}}],[\"其余设置均保持默认即可\",{\"1\":{\"320\":1}}],[\"其会在\",{\"1\":{\"319\":1}}],[\"其取值可能是\",{\"1\":{\"204\":1}}],[\"其它的字母保持小写\",{\"1\":{\"188\":1}}],[\"其它所有单词的大小写保持不变\",{\"1\":{\"187\":1}}],[\"其它字母表示为小写\",{\"1\":{\"187\":1}}],[\"其可选的值有\",{\"1\":{\"172\":1}}],[\"其所有允许的值为\",{\"1\":{\"156\":1}}],[\"其日期格式使用\",{\"1\":{\"143\":1}}],[\"其值将作用于改元素包含的所有的\",{\"1\":{\"174\":1}}],[\"其值可以设置为\",{\"1\":{\"143\":1,\"149\":1}}],[\"其值可以为\",{\"1\":{\"142\":1}}],[\"其值必须设置为\",{\"1\":{\"143\":1}}],[\"其必须携带下面的属性来确定什么部分需要渲染\",{\"1\":{\"142\":1}}],[\"其属性值可以设置为\",{\"1\":{\"135\":1}}],[\"其子元素\",{\"1\":{\"130\":1}}],[\"其内容应该是该\",{\"1\":{\"126\":1}}],[\"其结构基于\",{\"1\":{\"117\":1}}],[\"其仅包含样式元数据\",{\"1\":{\"108\":1}}],[\"其指向有关引用格式的在线描述\",{\"1\":{\"96\":1}}],[\"其作用与先前介绍的一致\",{\"1\":{\"96\":1}}],[\"其引导读者到被引工作的特定位置\",{\"1\":{\"89\":1}}],[\"其\",{\"1\":{\"86\":1,\"144\":1}}],[\"其次\",{\"1\":{\"86\":1}}],[\"其中标黄部分是标识这是一个\",{\"1\":{\"522\":1}}],[\"其中包括\",{\"1\":{\"512\":1}}],[\"其中包括以下问题的解答\",{\"1\":{\"509\":1}}],[\"其中包含大量优秀的插件\",{\"1\":{\"402\":1}}],[\"其中包含所有文件附件\",{\"1\":{\"251\":1}}],[\"其中包含\",{\"1\":{\"251\":1}}],[\"其中可以放置特定主题相关的条目\",{\"1\":{\"357\":1}}],[\"其中可以包括\",{\"1\":{\"251\":1}}],[\"其中可以包含属性\",{\"1\":{\"211\":1}}],[\"其中的方法有\",{\"1\":{\"463\":1}}],[\"其中的\",{\"1\":{\"178\":1,\"212\":1}}],[\"其中首先引用\",{\"1\":{\"176\":1}}],[\"其中引注可以是一条或者多条\",{\"1\":{\"129\":1}}],[\"其中许多是各种\",{\"1\":{\"103\":1}}],[\"其中\",{\"1\":{\"39\":1,\"106\":1,\"142\":1,\"254\":1,\"536\":1,\"567\":1}}],[\"其他是进度条\",{\"1\":{\"473\":1}}],[\"其他任何人都可以自由地获取\",{\"1\":{\"402\":1}}],[\"其他更改\",{\"0\":{\"331\":1}}],[\"其他使用\",{\"1\":{\"309\":1}}],[\"其他平台客户端\",{\"0\":{\"308\":1}}],[\"其他工具软件\",{\"0\":{\"303\":1}}],[\"其他成员无需承担\",{\"1\":{\"294\":1}}],[\"其他软件批量导出\",{\"1\":{\"243\":1}}],[\"其他\",{\"0\":{\"197\":1,\"275\":1},\"1\":{\"275\":1}}],[\"其他字母书写的名字\",{\"1\":{\"151\":1}}],[\"其他情况下\",{\"1\":{\"144\":1}}],[\"其他都是二级方言\",{\"1\":{\"132\":1}}],[\"其他的天将不使用序数格式\",{\"1\":{\"175\":1}}],[\"其他的属性是可以忽略的\",{\"1\":{\"115\":1}}],[\"其他的脚本\",{\"0\":{\"26\":1}}],[\"其他贡献者\",{\"1\":{\"101\":1}}],[\"其他涉及技术背景的术语已经在正文中给出解释\",{\"1\":{\"65\":1}}],[\"其他语言翻译参见\",{\"1\":{\"12\":1}}],[\"其他有理由认定为违反职业操守的不当行为\",{\"1\":{\"3\":1}}],[\"组\",{\"1\":{\"381\":1}}],[\"组织\",{\"0\":{\"335\":1}}],[\"组织的\",{\"1\":{\"30\":1}}],[\"组成\",{\"1\":{\"39\":1,\"97\":1}}],[\"当被\",{\"1\":{\"566\":1}}],[\"当新建一个空白的\",{\"1\":{\"547\":1,\"558\":1}}],[\"当修改源码时\",{\"1\":{\"494\":1}}],[\"当打开\",{\"1\":{\"467\":1}}],[\"当调用\",{\"1\":{\"428\":1}}],[\"当使用\",{\"1\":{\"402\":1}}],[\"当使用数字样式的时候\",{\"1\":{\"165\":1}}],[\"当您使用浏览器中\",{\"1\":{\"364\":1}}],[\"当您在文档中添加和删除引文时\",{\"1\":{\"333\":1}}],[\"当文档中引文非常多\",{\"1\":{\"320\":1}}],[\"当你打开一个可抓取文献的网页时\",{\"1\":{\"307\":1}}],[\"当你写论文插入参考文献时\",{\"1\":{\"268\":1}}],[\"当你在\",{\"1\":{\"261\":1}}],[\"当你在多个电脑上同时使用\",{\"1\":{\"261\":1}}],[\"当然也可自己按喜好设置更换\",{\"1\":{\"556\":1}}],[\"当然也有破解版\",{\"1\":{\"407\":1}}],[\"当然对于大部分用户免费账户是完全够用的\",{\"1\":{\"384\":1}}],[\"当然\",{\"1\":{\"244\":1}}],[\"当所在的网页呈现出不同的内容类型时\",{\"1\":{\"238\":1}}],[\"当所有其他消除歧义的方法都不能识别唯一的目标时\",{\"1\":{\"159\":1}}],[\"当一篇文献只有附件而没有条目的时候是不能被成功引用的\",{\"1\":{\"237\":1}}],[\"当一个可继承的名称属性在\",{\"1\":{\"174\":1}}],[\"当一个引用对应多个参考文献条目的时候会产生歧义\",{\"1\":{\"163\":1}}],[\"当一个名字列表被截断到两个或者三个名字\",{\"1\":{\"151\":1}}],[\"当设置为\",{\"1\":{\"184\":1}}],[\"当名字变量中的所有渲染的名字和上一个参考文献条目相同时\",{\"1\":{\"169\":1}}],[\"当名字列表被截断到单个名字\",{\"1\":{\"151\":1}}],[\"当名字列表中的名字有\",{\"1\":{\"151\":1}}],[\"当第一个字段设置为\",{\"1\":{\"168\":1}}],[\"当前\",{\"1\":{\"384\":1}}],[\"当前选中条目的元数据显示在右侧窗格\",{\"1\":{\"355\":1}}],[\"当前注视以前的脚注或尾注\",{\"1\":{\"166\":1}}],[\"当前页面的图标\",{\"1\":{\"39\":1}}],[\"当前页面的短标题\",{\"1\":{\"39\":1}}],[\"当有一个或者多个名字变量中的渲染名字和上一个条目中相同时\",{\"1\":{\"169\":1}}],[\"当有一个预先的标注时\",{\"1\":{\"166\":1}}],[\"当有文件发生保存时\",{\"1\":{\"24\":1}}],[\"当字母序到达\",{\"1\":{\"163\":1}}],[\"当没有值测试为\",{\"1\":{\"159\":1}}],[\"当没有时\",{\"1\":{\"49\":1}}],[\"当任意一个值为\",{\"1\":{\"159\":1}}],[\"当在\",{\"1\":{\"159\":1}}],[\"当改属性设置为\",{\"1\":{\"159\":1}}],[\"当以下情况出现时\",{\"1\":{\"158\":1}}],[\"当内容中包含多个数字时\",{\"1\":{\"157\":1}}],[\"当该属性被设置为\",{\"1\":{\"185\":1}}],[\"当该属性设置为\",{\"1\":{\"151\":2}}],[\"当该实行被设置时\",{\"1\":{\"151\":1}}],[\"当initialize设置为\",{\"1\":{\"151\":1}}],[\"当只显示姓氏的是欧\",{\"1\":{\"151\":1}}],[\"当只显示姓氏的时候\",{\"1\":{\"151\":1}}],[\"当包含的内容中有两个名字变量相同时\",{\"1\":{\"150\":1}}],[\"当数字使用\",{\"1\":{\"149\":1}}],[\"当数字变量以序数\",{\"1\":{\"137\":1}}],[\"当日期范围被渲染的时候\",{\"1\":{\"145\":1}}],[\"当样式和本地化文件中都没有定义\",{\"1\":{\"136\":1}}],[\"当样式被用于英语写作的时候\",{\"1\":{\"99\":1}}],[\"当渲染的数据对上面的两组都匹配时\",{\"1\":{\"136\":1}}],[\"当要渲染的数字的最后两位和术语中相同时\",{\"1\":{\"136\":1}}],[\"当术语名称的最后一位数字与要渲染的数字的最后一个数字相同时\",{\"1\":{\"136\":1}}],[\"当注释前面没有内容时\",{\"1\":{\"129\":1}}],[\"当\",{\"1\":{\"128\":1,\"136\":2,\"137\":1,\"138\":1,\"151\":2,\"156\":1,\"163\":2,\"164\":1,\"165\":3,\"169\":4,\"175\":2,\"177\":1,\"178\":1,\"183\":1,\"185\":1,\"251\":1,\"333\":1}}],[\"当提及\",{\"1\":{\"104\":1}}],[\"当某段代码需要反复使用时\",{\"1\":{\"97\":1}}],[\"当为某个期刊创建样式时\",{\"1\":{\"92\":1}}],[\"当多个\",{\"1\":{\"86\":1}}],[\"否则在中英文混排时可能会遇到错误\",{\"1\":{\"509\":1}}],[\"否则则需要启用全局命名域\",{\"1\":{\"486\":1}}],[\"否则\",{\"1\":{\"457\":1}}],[\"否则插件无效\",{\"1\":{\"438\":1}}],[\"否则插件将无法被安装\",{\"1\":{\"425\":1}}],[\"否则每次关闭窗口时都会有造成内存泄漏的风险\",{\"1\":{\"428\":1}}],[\"否则请不要使用这种方法\",{\"1\":{\"388\":1}}],[\"否则应始终选择\",{\"1\":{\"320\":1}}],[\"否则只是存储文件链接\",{\"1\":{\"301\":1}}],[\"否则您的\",{\"1\":{\"250\":1}}],[\"否则输出\",{\"1\":{\"97\":1}}],[\"否\",{\"1\":{\"39\":6,\"521\":1}}],[\"描述参考文献列表的格式\",{\"1\":{\"116\":1}}],[\"描述样式的元数据\",{\"1\":{\"116\":1}}],[\"描述\",{\"0\":{\"531\":1},\"1\":{\"39\":1,\"319\":1,\"438\":1,\"536\":1,\"537\":1,\"538\":1,\"539\":1,\"540\":1,\"541\":1,\"542\":1,\"543\":1,\"545\":1}}],[\"描述性且独特\",{\"1\":{\"24\":1}}],[\"必看\",{\"1\":{\"547\":1,\"558\":1}}],[\"必须先切换到文库标签页\",{\"1\":{\"458\":1}}],[\"必须携带\",{\"1\":{\"153\":1}}],[\"必须携带两个属性\",{\"1\":{\"122\":1}}],[\"必须去掉\",{\"1\":{\"151\":1}}],[\"必须含有\",{\"1\":{\"133\":1}}],[\"必须设置为\",{\"1\":{\"132\":1,\"133\":1}}],[\"必须包含一个或者多个渲染元素\",{\"1\":{\"141\":1}}],[\"必须包含一个或者多个\",{\"1\":{\"131\":1}}],[\"必须出现一次\",{\"1\":{\"120\":1,\"134\":1}}],[\"必须为第一个子元素\",{\"1\":{\"116\":1}}],[\"必须是小写的\",{\"1\":{\"188\":1}}],[\"必须是一个\",{\"1\":{\"123\":1}}],[\"必须是\",{\"1\":{\"115\":1}}],[\"必须的\",{\"1\":{\"103\":1}}],[\"必须多次重复这些\",{\"1\":{\"97\":1}}],[\"必须在\",{\"1\":{\"39\":1}}],[\"必需的\",{\"1\":{\"94\":2}}],[\"必填项\",{\"1\":{\"448\":1}}],[\"必填\",{\"1\":{\"39\":1}}],[\"键为字符串\",{\"1\":{\"481\":1}}],[\"键存在且包含\",{\"1\":{\"454\":1}}],[\"键入或粘贴首选项的名称\",{\"1\":{\"545\":1}}],[\"键入内容替换所选文字\",{\"1\":{\"519\":2}}],[\"键入\",{\"1\":{\"328\":1,\"329\":1}}],[\"键以插入引文并关闭\",{\"1\":{\"321\":1}}],[\"键来选择该项目\",{\"1\":{\"321\":1}}],[\"键关闭黄色插入框\",{\"1\":{\"319\":1,\"509\":1}}],[\"键\",{\"1\":{\"39\":2,\"83\":2,\"97\":2,\"253\":1,\"302\":1,\"322\":1,\"340\":1,\"454\":1}}],[\">forward\",{\"1\":{\"532\":1}}],[\">link<\",{\"1\":{\"473\":1}}],[\">``\",{\"1\":{\"213\":1}}],[\">21000<\",{\"1\":{\"211\":1}}],[\">re<\",{\"1\":{\"137\":1}}],[\">er<\",{\"1\":{\"137\":1}}],[\">e<\",{\"1\":{\"137\":1}}],[\">et\",{\"1\":{\"133\":1}}],[\">janvier<\",{\"1\":{\"137\":1}}],[\">éd\",{\"1\":{\"137\":1}}],[\">n\",{\"1\":{\"133\":1}}],[\">without\",{\"1\":{\"93\":1,\"99\":1}}],[\">this\",{\"1\":{\"92\":2,\"93\":1,\"96\":1,\"128\":1}}],[\">\",{\"1\":{\"39\":1,\"48\":2,\"62\":1,\"92\":16,\"93\":35,\"94\":7,\"95\":1,\"96\":5,\"97\":15,\"98\":20,\"99\":1,\"110\":1,\"115\":2,\"128\":3,\"129\":2,\"130\":4,\"131\":5,\"132\":2,\"133\":13,\"137\":3,\"138\":2,\"141\":2,\"142\":1,\"145\":4,\"147\":3,\"148\":4,\"150\":2,\"153\":2,\"154\":2,\"155\":4,\"157\":3,\"158\":4,\"159\":3,\"168\":1,\"176\":3,\"177\":1,\"183\":16,\"210\":3,\"211\":4,\"212\":2,\"213\":1,\"243\":1,\"244\":1,\"284\":1,\"417\":3,\"418\":6,\"419\":6,\"483\":3,\"484\":1,\"531\":1,\"532\":6}}],[\"<=\",{\"1\":{\"532\":1}}],[\"\",{\"1\":{\"93\":1,\"96\":1,\"128\":1}}],[\"<子>\",{\"1\":{\"329\":1}}],[\"加粗<\",{\"1\":{\"513\":1}}],[\"\",{\"1\":{\"329\":1}}],[\"粗体<\",{\"1\":{\"273\":1}}],[\"\",{\"1\":{\"93\":1,\"98\":1,\"130\":1,\"183\":2}}],[\"\",{\"1\":{\"253\":1}}],[\"<用户名>\",{\"1\":{\"253\":2}}],[\"john\",{\"1\":{\"213\":1}}],[\"70<\",{\"1\":{\"212\":1}}],[\"21000<\",{\"1\":{\"211\":1}}],[\"\",{\"1\":{\"211\":1,\"212\":1}}],[\"\",{\"1\":{\"153\":1}}],[\"author\",{\"1\":{\"128\":1}}],[\"bill\",{\"1\":{\"93\":1,\"96\":1}}],[\"jane\",{\"1\":{\"93\":1,\"96\":1}}],[\"john\",{\"1\":{\"93\":1,\"96\":1}}],[\"\",{\"1\":{\"253\":3}}],[\"\",{\"1\":{\"211\":1}}],[\"\",{\"1\":{\"210\":1}}],[\"éditions<\",{\"1\":{\"137\":1}}],[\"pp\",{\"1\":{\"133\":1}}],[\"pages<\",{\"1\":{\"133\":1}}],[\"eds\",{\"1\":{\"132\":1}}],[\"\",{\"1\":{\"250\":2,\"253\":2}}],[\"2008\",{\"1\":{\"128\":1}}],[\"2014\",{\"1\":{\"92\":2,\"93\":1,\"96\":1}}],[\"http\",{\"1\":{\"128\":1}}],[\"\",{\"1\":{\"483\":1}}],[\"\",{\"1\":{\"93\":1,\"98\":1}}],[\"上标<\",{\"1\":{\"513\":1}}],[\"上标内容<\",{\"1\":{\"273\":1}}],[\"和<\",{\"1\":{\"513\":1}}],[\"下标<\",{\"1\":{\"513\":1}}],[\"下标内容<\",{\"1\":{\"273\":1}}],[\"\",{\"1\":{\"155\":1}}],[\"édition<\",{\"1\":{\"137\":1}}],[\"p\",{\"1\":{\"133\":1}}],[\"page<\",{\"1\":{\"133\":1}}],[\"ed\",{\"1\":{\"132\":1}}],[\"\",{\"1\":{\"93\":2,\"97\":1,\"98\":1,\"129\":1,\"130\":1,\"176\":1,\"183\":1}}],[\" + + +
    +

    Sitemap

    + + + + + + + + + + + + + + + + + + + + + +
    + + PriorityChange FrequencyLast Updated Time
    + + + + + + + + + + + + + 0.5 + + + + + + + + + - + + + + +
    +
    + + + + + diff --git a/user-guide/add-attachments.html b/user-guide/add-attachments.html new file mode 100644 index 0000000000..88afb6e9d7 --- /dev/null +++ b/user-guide/add-attachments.html @@ -0,0 +1,40 @@ + + + + + + + + + + 添加附件 | Zotero 中文小组 + + + + + +
    跳至主要內容

    添加附件

    Zotero Chinese大约 1 分钟

    添加附件

    除了项目元数据、注释和标签之外,Zotero 还可以用于管理文件。本页面介绍了将文件添加到 Zotero 库的不同方式,以及如何存储和同步添加的文件。

    子附件和独立附件

    存储的附件和链接的附件

    • 存储的附件icon-pdf.png:默认情况下,存储文件存储在 Zotero 数据目录中,Zotero 会自动管理它们,包括在 Zotero 中删除附件项时删除它们。如果使用文件同步功能,Zotero 会自动在设备之间同步存储的附件,并将它们储存在官方网盘(或 WebDAV 网盘)中。
    • 链接的附件icon-链接的附件.png:对于链接文件,Zotero 只存储指向计算机上原始文件位置的链接。链接文件不会同步,如果附件项在 Zotero 中被删除,链接文件也不会被删除,Zotero 程序也不支持链接文件的同步。(可以简单理解为链接的文件在 Zotero 中作用类似于 Windows 的快捷方式)

    为条目添加附件

    通过拖放

    Todo

    通过附件菜单

    添加附件
    添加附件

    附件重命名

    + + + diff --git a/user-guide/add-items.html b/user-guide/add-items.html new file mode 100644 index 0000000000..fb8a10e241 --- /dev/null +++ b/user-guide/add-items.html @@ -0,0 +1,40 @@ + + + + + + + + + + 添加条目 | Zotero 中文小组 + + + + + +
    跳至主要內容

    添加条目

    Zotero Chinese大约 14 分钟

    添加条目

    本节描述了在 Zotero 中添加条目(例如书籍、期刊文章、网页等)的各种方法。要了解有关添加附件(例如 PDF 或图像)的更多信息,请参阅 添加附件 页面。

    条目与附件 初级

    在使用 Zotero 之前,我希望可以引入几个术语:

    条目 Item

    Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见的条目类别:

    图标类型
    默认
    webpage普通网页
    journal期刊文章
    会议论文会议论文
    thesis学位论文
    书籍图书
    folder多个项目

    附件 Attachments

    附件,通常是文件,例如论文的全文 PDF、支持材料等。常见的附件包括:

    • PDF 附件 icon-pdf.png
    • 笔记附件 icon-笔记附件.png
    • 网页快照 icon-网页快照.png

    附件既可以作为独立项添加,也可以作为常规 Zotero 条目的子项添加。一般来说,文件当做条目的子项添加。当一篇文献只有附件而没有条目的时候是不能被成功引用的,而一篇文献有条目信息而没有附件时,并不影响正常的引用。

    通过浏览器添加条目 推荐

    提示

    使用这种方法需要确保以安装浏览器插件 Zotero Connector。如未安装,请参考:Zotero 下载与安装

    通过浏览器添加条目是最方便的途径之一,也是 Zotero 的特色功能之一。

    当所在的网页呈现出不同的内容类型时,Zotero Connector 会显示不同的图标(各种类别的图标见 #条目-item)。例如,如果打开的是一篇期刊文章,那么图标就会变成下图(红框圈出)。

    从浏览器导入条目
    从浏览器导入条目

    点击该图标,将在网页右上角显示如下的对话框,选择保存的合集位置,添加标签,即可将网页对应的文献的元数据录入 Zotero :

    从浏览器添加条目-对话框
    从浏览器添加条目-对话框

    此时打开 Zotero,将会自动定位到保存时选择的合集:

    添加条目后信息窗格
    添加条目后信息窗格

    提示

    Connector 抓取中文文献能力依靠中文 Translator 支持,更新 Translator 请参考:
    如何更新 Translator

    Connector 抓取文献错误解决:从浏览器抓取条目时发生错误 / 抓取时不能自动下载 PDF / 无法自动给添加的 PDF 附件创建条目open in new window

    如果抓取失败且尝试了上述办法仍然不能解决,请手动下载 PDF 附件并通过附件添加条目。

    通过附件添加条目(推荐)

    对于已有 PDF 文件的文献,可以通过将 PDF 文件拖拽到 Zotero 中来添加这篇文献的附件。添加附件后,Zotero 会自动通过 PDF 来识别文献 —— 英文文献通常通过识别 PDF 的元数据,中文文献则识别文件名(中文文献文件识别能力由 茉莉花 插件提供)。

    小提示

    不管是中文文献还是英文文献,都 存在一定的概率无法成功匹配到信息并自动创建条目 。如果遇到问题了,还是 建议回到期刊官网的论文详情页抓取信息并创建条目 ,然后将 PDF 文件以附件的形式添加到该条目上(将附件拖到该条目上即可,但不要拖到条目之间的间隙里)。如果 Zotero 确实不支持抓取你正在使用的网站,你也可以采用后文的进阶方法创建条目。

    如果您通过附件添加条目信息,建议您在添加后检查每一个条目的元数据。这一功能自动匹配的元数据可能存在错误,建议人工核对后再使用。

    英文文献附件自动识别

    很多英文文献的 PDF 附件中带有论文的元数据,而 Zotero 也支持通过 PDF 附件中的元数据自动抓取文献信息并自动创建副条目。具体操作如下:

    1. 从网页上下载好文献的 PDF 附件。

    2. 将 PDF 附件 直接拖入 Zotero 文献列表中的空白区域。

      列表种没有空白区域了怎么办?

      如果页面上没有空白区域了,可以 将附件拖到任意两个条目中间的间隙处 ,此时相邻条目间隙处会出现一个横线,如上图所示。请不要将附件直接拖到条目上,因为拖到条目上是另一个功能:将这一文件作为附件添加到该条目中。

      拖入附件
      拖入附件
    3. 此时,界面右上角同步按钮旁会多显示一个图标,这意味着 Zotero 正在检索并匹配这一条目信息。

      获取元数据
      获取元数据
    4. 匹配完成后,Zotero 会自动使用元数据创建父条目,并将这一 PDF 文件作为附件添加到新生成的条目中。

      获取元数据成功
      获取元数据成功
    重新抓取外文 PDF 元数据

    如果你 之前添加的外文附件未能自动创建父条目 ,你也可以使用这一功能来重新 手动触发一次检索匹配

    1. 右键点击 不附属于任何条目的 PDF 附件

    2. 点击 检索元数据。

      检索元数据
      检索元数据

      Zotero 会弹出一个元数据检索窗口显示检索进度。如果检索完成后仍有部分文件检索失败,这意味着 Zotero 无法为这一文献自动检索元数据,请使用其他方法获取文献元数据。

      元数据检索窗口
      元数据检索窗口

      提示

      请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里不会出现 检索元数据 按钮。

    中文文献附件自动识别

    中文 PDF/CAJ 识别依赖茉莉花插件

    中文论文的 PDF/CAJ 附件中通常并没有完善的论文的元数据,Zotero 本身也并不支持为中文文献抓取元数据。

    对于中文文献,茉莉花(Jasminum)插件 可以 通过 文件名 自动检索元数据并创建条目。 添加附件的方式与英文文献相同 ,文献添加后茉莉花会自动检索文献、创建条目并将附件移动到条目中。

    获取元数据成功
    获取元数据成功

    如果你没有安装茉莉花,请前往 插件商店open in new window 下载安装插件。关于什么是插件,请参阅 关于插件

    由于为中文文献抓取知网元数据时需要根据文件名检索文献信息, 这一功能对文件名的要求较高。具体要求请看如下说明:

    1. 文件名的格式完全符合茉莉花插件设置中的格式(中文文件名必须为:应该是 标题_第一作者.pdf标题_第一作者.caj)。不是该命名格式的文件将直接导致识别失败。

      修改文件名识别模板

      文件名的命名格式 (用于匹配导入附件的文件名中的文献信息)可以在 Zotero 设置中茉莉花插件的设置中的 文件名模板设置 进行修改。这里 默认的设置内容和知网上直接下载下来的文件名是一致的。

      文件名格式
      文件名格式
    2. 标题/姓名内容中不含(以下划线为代表的)特殊标点符号(可以尝试将这些符号替换为空格再尝试检索匹配)

    3. 文件名没有被添加额外的内容(如重复文件自动添加的编号或 xx 看图王一类的无关信息)。

      如果文献名称比较特别,或文件名里有标点,或者文件名被编辑过,都很有可能会匹配失败并报错。 如下图所示:

      错误文件名
      错误文件名

    如果因附件名称不规范导致抓取失败,建议你去网页上检索这篇文献并抓取文献信息(元数据),再把这一附件拖入刚刚抓好的文献条目里。

    你也可以先将文件名更改成符合前面规定的样子,在 Zotero 中先选中 PDF 附件,然后去右边栏中编辑文件名,并 勾选上“重命名相关文件” ,然后再尝试前文提到的手动触发检索匹配:

    重命名附件
    重命名附件

    请不要一次性大批量导入文献

    请务必注意,如果一次性导入的文献过多, 自动检索元数据过于频繁依然可能导致被知网风控 。如果需要导入的文献很多,建议分多次进行,每次仅少量导入一小部分文献。

    重新抓取中文 PDF/CAJ 元数据

    如果你 之前添加的中文附件未能自动创建父条目 ,你也可以使用这一功能来重新 手动触发一次检索匹配

    1. 右键点击 不附属于任何条目的 PDF/CAJ 附件

    2. 点击 知网助手,然后点击 抓取知网元数据。

      抓取知网元数据
      抓取知网元数据

      提示

      请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里只会有 更新知网引用数 的功能。

    通过标识符添加条目

    如果已知文献的 ISBN、DOI、PMID 或 arXiv ID 等标识符, 则可以通过这些标识符将文献导入到 Zotero 中。

    在 Zotero 中,点击通过标识符添加条目图标, 输入标识符,如 DOI: 10.1016/j.cej.2020.125798,然后回车,则对应的文献就会被导入到库中。

    如果要一次输入多个标识符,在输入第一个标识符后按 Shift + Enter 会进入多行模式,随后输入其余标识符(每行一个),并通过 Enter 换行。输入完成后,再按 Shift + Enter 即可一次导入所有项目。

    使用标识符导入条目
    使用标识符导入条目

    提示

    这一功能对中文文献(论文、书籍等)基本无效。请使用其他方式为中文文献添加条目。

    由通用格式的引用信息导入(通用方法)

    大多数学术网站均提供了将文献信息导出为通用格式的功能。如果 Zotero Connector 无法直接从网页抓取文献信息,可以试试从网站上导出通用格式的引用信息,然后再在 Zotero 直接导入这一引文信息,最后再手动将附件附在导入的条目上。这里有 Zotero 支持导入的格式列表:
    How do I import BibTeX or other standardized formats?open in new window

    提示

    本方法可以用来从网站/其他软件批量导出/迁移文献信息至 Zotero。

    注意

    请注意,此方法导入的只有文献信息,是不会包含附件的。

    • 对于 外文 文献:你可以右键点击导入后的条目,然后点击“找到可用的 PDF”按钮,由 Zotero 查找可用的附件。如果你安装有 Sci-Hub 插件,也可以借助该插件来补充附件。
    • 对于 中文 文献:知网以外的中文文献基本没有自动补充附件的可能。

    请尽量避免批量为多个条目抓取附件! 批量抓取可能导致你被风控或封禁(特别是知网)。

    这里以一篇万方上的学位论文为例简要介绍一下这一方法:

    1. 打开论文的详情页,点击 引用 按钮;

    2. 选择一个 Zotero 支持的通用格式;

      从网站导出通用格式的文献数据
      从网站导出通用格式的文献数据
    3. 下载包含引用信息的文件/复制包含引用信息的文本(具体操作因网站不同而略有区别);

    4. 在 Zotero 文献列表页面点击 文件/File -> 导入/Import从剪贴板导入/Import from Clipboard (根据你的实际情况选择使用哪个功能);

      点击导入
      点击导入
    5. 根据界面提示完成导入(这里以通过文件导入为例演示);

      从文件导入
      从文件导入
      选择导入的文件
      选择导入的文件
      设定从文件导入的选项
      设定从文件导入的选项
    6. 导入完成后,该条目会混入文库中。你可以在左边栏分类列表最下面的 未分类条目/Unfiled Item 中按照年份排序来方便地找到刚刚导入的条目,将其拖入你需要的分类中:

      找到导入的文献
      找到导入的文献

    提示

    1. 这样导入基本意味着无法自动抓取附件(毕竟,对于好抓取附件的网站,也不会这么难导入)。你需要手动下载附件,然后将附件添加到这一条目上。详见添加附件教程

    2. 不同导出格式里的信息可能略有差异,而且可能都不完整甚至有错,你可以后续自己手动编辑右边栏中的 信息/Info 进行调整;

      以万方为例, RefWorks 格式导入的结果中 分类/Type 信息是分类号(TP311.52),而不是学位类型(硕士/博士); EndNote 格式的结果中将导师姓名也写入了作者列表,而且将两个导师的姓名直接写成了第二作者的姓和名; Bibtex 格式的结果中没有摘要,而且分类写为了硕士论文。

    3. 你也可以去百度学术这一类的受支持的通用检索网站抓取/导出引用信息。

    4. 有条件的话尽量还是直接从网页上抓取,毕竟这么导入有可能出现各种填写不规范的情况,也可能缺少一些信息。

    手动创建条目(万能方法)

    如果你的文献非常特殊,全网也检索不到(比如一些古籍),你依然可以使用纯手动的方法为它创建一个条目。

    1. 新建一个空白条目;
    • 如果你目前还没有这篇文献的文件,可以直接点击菜单栏里的 文件 -> 新建条目 ,然后选择你所需的文献类型(此处以最常见的 期刊文章 为例):

      创建期刊文章条目
      创建期刊文章条目
    • 如果你已经在 Zotero 文库中添加了文献的文件,可以右键点击这个文件,然后点击 创建父条目... ,并在弹出的窗口中点击 手动录入

      为已有的附件创建父条目
      为已有的附件创建父条目
      点击手动录入按钮
      点击手动录入按钮
    1. 在右边栏里完善文献信息。

      创建了条目后,Zotero 会自动选中这一新建的条目,此时你可以在右边栏里修改这个条目的类型,也可以完善这个条目的详细信息(也就是这篇文献的元数据)。为了正确地引用这个条目,不漏掉信息,请尽可能全面地填写右边的信息(当然,如果这是你自己的一篇文档,或者是个 PPT,未来也不会用于再文献里引用,那就无所谓了)。

    • 先将条目修改为正确的文献类型(这里以书籍为例):

      选择正确的文献类型
      选择正确的文献类型
    • 然后手动填写文献的相关信息(如标题、作者、发布日期……)

      手动填写必要的文献信息
      手动填写必要的文献信息

    从其他工具导入

    Zotero 可以将条目从 EndNote、Mendeley、Word 引用 等地方迁移到库中,详情请参阅 从其他工具导入条目到 Zotero

    + + + diff --git a/user-guide/backup.html b/user-guide/backup.html new file mode 100644 index 0000000000..9c8839b589 --- /dev/null +++ b/user-guide/backup.html @@ -0,0 +1,64 @@ + + + + + + + + + + 备份 | Zotero 中文小组 + + + + + +
    跳至主要內容

    备份

    Chikit-LNorthword大约 7 分钟

    备份

    我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。

    在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍若干种备份这些文件的方式。

    概述

    我们将构成 Zotero 正常运行的文件分为三部分:

    • Zotero 程序文件 (Program Files)
    • Zotero 数据文件 (Zotero Data Folder)
    • Zotero 用户配置文件 (Zotero Profile Directory)

    程序文件

    这些文件构成 Zotero 程序的主体,包含了 Zotero 程序的二进制文件(例如 zotero.exe 等) 和相关的库文件,不包括您的数据和个性化设置。

    这些文件由安装包释放,通常无需额外备份。

    数据文件

    这个目录包含了 Zotero 存储的所有数据,包括您的文献条目信息、笔记、附件、标签、文件夹结构、转换器和引文样式等。这是最重要的部分,因为它包含了您的研究资料。备份数据文件可确保您不会失去已收集的所有信息。

    数据文件位置

    除非您在 Zotero 设置的高级窗格中选择了自定义数据目录,否则您的 Zotero 数据将存储在以下与操作系统相关的目录中:

    系统类型默认位置
    macOS/Users/<username>/Zotero
    Windows 7 and higher WindowsC:\Users\<User Name>\Zotero
    Windows XP/2000C:\Documents and Settings\<username>\Zotero
    Linux~/Zotero

    提示

    查找 Zotero 数据的最简单、最可靠的方法是单击 Zotero 设置高级 选项卡中的 显示数据目录 按钮。这将始终显示当前正在使用的数据目录,并且是查找数据目录的推荐方法。

    如果您无法访问 Zotero 设置,搜索文件名zotero.sqlite也可以帮助您找到 Zotero 数据目录。

    数据文件内容

    northword@Yoga-Northword MINGW64 /d/Northword/Documents/Zotero
    +$ tree -L 1
    +.
    +|-- about config.xul
    +|-- cache
    +|-- locate
    +|-- logs
    +|-- storage
    +|-- styles
    +|-- translators
    +|-- zotero.sqlite
    +`-- zotero.sqlite.bak
    +

    数据目录中最重要的文件是 zotero.sqlite 文件,它是包含大部分数据的数据库:项目元数据、注释、标签等。当 Zotero 启动时,它会读取 zotero.sqlite 文件。

    该目录还包含一个 storage 文件夹,其中包含 8 个字符的子文件夹(例如N7SMB24A),其中包含所有文件附件,例如 PDF、网页快照、音频文件或您导入的任何其他文件。 (链接的文件不会复制到此子文件夹中。)

    您的数据目录可能包含其他几个文件和文件夹。其中可以包括 zotero.sqlite.bakzotero.sqlite 的自动备份,如果现有 zotero.sqlite.bak 文件在过去 12 小时内未更新,则定期更新)和 zotero.sqlite.[number].bak 文件(在某些 Zotero 更新期间创建的 zotero.sqlite 自动备份),以及诸如 locatelogs 等文件夹, pipesstylestranslators 在 Zotero 启动时自动创建。

    注意

    在复制、删除或移动任何这些文件之前,请确保 Zotero 已关闭。如果在移动这些文件之前不这样做可能会损坏您的数据。

    用户配置文件

    用户配置文件包括您的个性化设置、插件及其配置、数据库位置等。备份用户配置文件可确保您可以轻松地还原您的个性化 Zotero 设置和工作环境。

    用户配置文件位置

    系统类型默认位置
    macOS/Users/<username>/Library/Application Support/Zotero/Profiles/<randomstring>
    Windows 7 and higher WindowsC:\Users\<用户名>\AppData\Roaming\Zotero\Zotero\Profiles\<8位随机字符>.default
    Windows XP/2000C:\Documents and Settings\<username>\Application Data\Zotero\Zotero\Profiles\<randomstring>
    Linux~/.zotero/zotero/<randomstring>

    macOS

    默认情况下,/Users/<用户名>/Library 文件夹是隐藏的。要访问它,请单击桌面,按住 Option 键,单击 Finder 的 转到 菜单,然后从菜单中选择 资源库

    Windows

    默认情况下, AppData 是隐藏的,可以在资源管理器搜索栏键入 %appdata%,然后按回车,即可进入 AppData\Roaming 目录。

    用户配置文件内容

    这个目录包含 Zotero 的配置、插件信息及插件配置等。下面列出了部分目录文件:

    northword@Yoga-Northword MINGW64 ~/AppData/Roaming/Zotero/Zotero/Profiles/1y2hj8ud.default
    +$ tree -L 1
    +.
    +|-- bookmarkbackups
    +|-- browser-extension-data
    +|-- extensions
    +|-- extensions.json
    +|-- prefs.js
    +|-- times.json
    +|-- treePrefs.json
    +|-- webappsstore.sqlite
    +`-- xulstore.json
    +

    其中 prefs.js 包含 Zotero 的所有设置,extensions/ 目录 和 extensions.json 包含 Zotero 插件的安装包和安装、启用等信息。

    注意

    如无必要,不要修改这个目录里的任何文件,不当的修改可能导致 Zotero 无法正常启动。

    手动备份

    手动备份可以实现数据的无损备份,包括但不仅限于账户、插件、设置、文献等数据。

    首先您需要在新电脑上安装 Zotero,然后将下列表格中旧电脑的数据文件拷贝到新电脑的同一位置。

    旧电脑新电脑
    C:\Users<用户名>\AppData\Roaming\Zotero\Zotero\Profiles\*.default 中文件C:\Users<用户名>\AppData\Roaming\Zotero\Zotero\Profiles\*.default
    Zotero-设置-高级-文件和文件夹-数据储存位置中的文件同一路径

    例如:电脑的用户名为zotero-chinese,旧电脑将 Zotero 安装在 D:\Program Files\Zotero 目录下,数据储存位置设置为 C:\Users\zotero-chinese\Zotero

    在新电脑中,应该要做的是

    1. 安装 Zotero,并确保 Zotero 处于关闭状态。

    2. 旧电脑 ****.default 中的文件 拷贝至 新电脑 ****.default 中(注意不是复制文件夹本身,而是替换其文件和子文件夹)

    3. 旧电脑 C:\Users\zotero-chinese\Zotero 拷贝至 新电脑 C:\Users\zotero-chinese\Zotero

    4. 打开 Zotero,即可。

    使用插件蒲公英 Tara 进行数据的备份和恢复

    Tara

    Taraopen in new window 是一个用于备份和恢复 Zotero 配置的插件,支持备份:

    ✅ 备份已安装插件
    ✅ 备份 CSL 文件
    ✅ 备份转换器 (translators)
    ✅ 备份 Locate 文件夹
    ✅ 备份 Zotero 配置及插件配置

    下载地址:GitHubopen in new window中文社区插件合集页open in new window

    创建备份

    下载安装 Tara 插件后,通过点击 Tara 图标来创建一个备份

    开始备份
    开始备份

    创建成功后,会在 Zotero 中生成一个 Tara_backup 的条目并自动生成一个 ZIP 格式的附件,这个就是备份文件。

    如果你再点一次创建,会再生成个附件,你可以选择不同时间段的备份文件进行恢复。

    备份文件
    备份文件

    恢复备份

    点击恢复

    恢复备份
    恢复备份

    可以根据时间来选择要恢复的备份

    选择要恢复备份
    选择要恢复备份

    等待备份恢复完成,再重启 Zotero

    备份恢复完成
    备份恢复完成

    导出备份文件

    点击导出

    导出备份
    导出备份

    等待完成后,去备份目录查看文件是否生成

    导出备份成功
    导出备份成功

    导出时,会将当成的配置信息和插件导出到一个单独 ZIP 文件中,导出的备份会默认储存在 数据储存文件夹\backup 下。

    导出的备份文件
    导出的备份文件

    在新电脑上进行数据恢复

    在新电脑上安装了 Zotero,此时 Zotero 上没有任何插件,配置都是默认的。这时,你可以把第三步导出的 2 个文件复制到新电脑上。

    在新电脑 Zotero 上,先安装 Tara.xpi 插件。

    插件安装成功,点击恢复,会出现一个文件选择的窗中,选择第三部中所生成的备份文件,之后 Zotero 会恢复对应的插件及相关配置。

    在不同电脑上同步备份

    当你在多个电脑上同时使用 Zotero 时,可以通过 Zotero 的 同步功能 来实现数据的快速备份和恢复。

    首先在不同电脑上分别配置同步,然后可以在 A 电脑上创建一个备份,备份文件是随条目一起同步的。那 B 电脑 Zotero 应该会自动同步了创建的备份条目 Tara_backup 及对应的附件。

    当你在 B 电脑的 Zotero 上点击恢复,选择 A 电脑上刚创建的备份。这样两台电脑上的 Zotero 配置和插件信息就一起同步了。

    注意修改 Tara 的 “备份 Locate” 设置

    由于不同系统平台或主机上的文件路径可能不一致,tara 在备份时默认过滤掉了 locate 文件夹,可以通过点击 Tara 图标-设置 进行修改。

    + + + diff --git a/user-guide/citation-styles.html b/user-guide/citation-styles.html new file mode 100644 index 0000000000..0a7bfcb9a9 --- /dev/null +++ b/user-guide/citation-styles.html @@ -0,0 +1,40 @@ + + + + + + + + + + 引文的样式 | Zotero 中文小组 + + + + + +
    跳至主要內容

    引文的样式

    Zotero Chinese大约 2 分钟

    引文的样式

    Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用。

    官方引文格式下载

    1. 打开 Zotero 软件,选择“编辑—设置”,在弹出窗口中选择“引用”

      引文格式管理
      引文格式管理
    2. 若样式管理器中无符合的样式,可以通过“获取更多样式”,搜索期刊名,即可导入期刊要求的样式

      获取更多引文格式
      获取更多引文格式
      官方引文格式下载
      官方引文格式下载

    第三方引文格式

    如果上述引文格式不符合你的要求,可到中文 CSL 样式open in new window下载更多 CSL 引文格式:

    1. 首先你需要在 中文 CSL 样式open in new window 页面上找到合适的 CSL 样式,并记住其名称,然后将引文格式下载下来:

      下载引文
      下载引文

      注意

      注意需要在 Zotero 处于启动状态时点击,可以直接安装。若 Zotero 没有弹出窗口,则右击 - 另存为,将其保存为 .csl 文件,然后双击打开 CSL 文件。

      提示

      如果上面的网站无法打开,可以访问镜像站:https://gitee.com/redleafnew00/Chinese-STD-GB-T-7714-related-cslopen in new window

    2. 在弹出的窗口中点击“确定”后即可将想要的引文格式添加到 Zotero,供后续引用使用。

      确认安装引文格式
      确认安装引文格式
      安装引文格式
      安装引文格式
    + + + diff --git a/user-guide/create-bibliographies-via-zbib.html b/user-guide/create-bibliographies-via-zbib.html new file mode 100644 index 0000000000..324961826e --- /dev/null +++ b/user-guide/create-bibliographies-via-zbib.html @@ -0,0 +1,40 @@ + + + + + + + + + + 使用 Zotero bib 生成参考文献表 | Zotero 中文小组 + + + + + +
    跳至主要內容

    使用 Zotero bib 生成参考文献表

    Zotero Chinese大约 1 分钟

    使用 Zotero bib 生成参考文献表

    Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。

    地址:https://zbib.org/open in new window

    注意

    这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想导入这几篇文档到自己的库。

    使用:

    1. 打开 https://zbib.org/open in new window

    2. 在下图输入框中输入需要引用的条目链接/识别符等,然后点击“Cite”

      zbib首页
      zbib首页
    3. 该条条目将会显示如下引用信息,你可以在下图红框处选择样式。

      zbib选择样式
      zbib选择样式
    4. 继续重复第 2 步可以添加多个条目

    5. 已添加的条目将会存储在浏览器,下次打开网页仍然可以看到,直到你清除浏览器 Cookie 或手动删除。

    6. 点击“Copy to Clipboard”可以将结果复制到粘贴板。

      zbib复制结果
      zbib复制结果
    + + + diff --git a/user-guide/create-bibliographies-within-zotero.html b/user-guide/create-bibliographies-within-zotero.html new file mode 100644 index 0000000000..a243b6a210 --- /dev/null +++ b/user-guide/create-bibliographies-within-zotero.html @@ -0,0 +1,40 @@ + + + + + + + + + + 直接生成参考文献表 | Zotero 中文小组 + + + + + +
    跳至主要內容

    直接生成参考文献表

    Zotero Chinese大约 1 分钟

    直接生成参考文献表

    除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法:

    什么时候使用这种方法?

    • 分享文献引文
    • 需要在 PowerPoint 中添加参考文献表
    • 只是想用文章快速生成参考文献,不想使用 Word 插件
    1. 先选择需要引用的文献

      选择参考文献
      选择参考文献
    2. 右键,在菜单中选择 用所选条目创建参考文献表

      创建参考文献表
      创建参考文献表
    3. 接着根据自己的需要选择需要的 参考文献格式 以及 输出方式

      选择引文格式及输出方式
      选择引文格式及输出方式
    4. 如果上一步输出方式选择复制到剪贴板中,此时上述文献的参考文献表就已经复制好了,在任意位置粘贴即可看到。

      相关信息

      注意:参考文献表的顺序 与 第一步中选择文献的顺序有关

      粘贴参考文献表
      粘贴参考文献表

    插件推荐

    Zutiloopen in new window 插件(仅适配 Zotero 6,2023.10.7)提供了生成参考文献表的快捷键。
    Zotero Actions & Tagsopen in new window 插件(仅适配 Zotero 7,2023.10.7)配合自定义脚本也可以添加生成参考文献表的快捷键。

    + + + diff --git a/user-guide/edit-items.html b/user-guide/edit-items.html new file mode 100644 index 0000000000..896ac69311 --- /dev/null +++ b/user-guide/edit-items.html @@ -0,0 +1,46 @@ + + + + + + + + + + 编辑条目 | Zotero 中文小组 + + + + + +
    跳至主要內容

    编辑条目

    Zotero Chinese大约 4 分钟

    编辑条目

    中级

    始终及时校准条目

    使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。

    Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。

    我们应始终意识到这个问题,养成导入后随手校正的习惯。

    重复条目 中级

    由于各种原因,您可能会导入一些重复的项目。例如,您可能从同一网页保存同一项目多次,或者以前看的文献没印象了又新导入了一次。当你写论文插入参考文献时,重复条目会严重影响正确性,例如,你可能在不同地方引入同一文献的不同副本,而 Zotero 会认为它们是两个不同的文献。幸运的是,Zotero 可以帮助您识别可能的重复项并允许您合并它们。

    插件推荐

    插件 Linter for Zoteroopen in new windowZopliacteopen in new window 提供了对新增条目提醒重复的功能。

    条目字段

    从以上方法导入的数据并不一定是完全正确的,最好养成导入条目后随手校正的习惯。

    如下图所示,在中心窗格中选择一个条目后,右侧(标准视图)或下侧(堆栈视图)会显示该条目的书目信息。多数条目都可以直接单击进行编辑,更改自动保存。

    添加条目后信息窗格
    添加条目后信息窗格

    以下是一些比较特殊的字段,拿出来单独介绍:

    条目类型

    请尤其注意这一个选项,这直接决定在引用时,该条目以什么方式出现。且该项在通过浏览器导入时非常容易出错。

    最典型的错误就是将“期刊文章/学位论文”等识别为“网页”。这会导致部分引文格式后出现 [EB/OL] 等文献标识符。

    这时我们应该重新导入或手动更正。

    期刊缩写

    部分期刊要求使用“期刊标题的缩写”进行引用,Zotero 将“期刊名全称”和“期刊名缩写”分别保存在“期刊”和“期刊缩写”两个字段中。

    抓取时不一定能准确获得期刊缩写,写论文引用前最好校正一下。

    通常期刊缩写的差别多数在于加不加 .,例如“Applied Surface Science”可以缩写为“Appl Surf Sci”或“Appl. Surf. Sci.”。我们建议总是存储为加 . 的格式。因为去掉 . 总是比加上 . 更方便,在引用时,对于需要不加 . 的期刊就可以通过 CSL 直接去掉 .

    插件推荐

    插件 Linter for Zoteroopen in new window 提供了自动获取期刊的 ISO 4 缩写的功能,可前往 插件商店open in new window下载安装。

    标题

    标题中的上下标

    <sub>下标内容</sub>
    +<sup>上标内容</sup>
    +<i>斜体</i>
    +<b>粗体</b>
    +

    详细请参阅:在 Word 参考文献表中实现斜体及上下标效果

    插件推荐

    插件 Linter for Zoteroopen in new window 提供了辅助输入这些富文本标签的功能,可前往 插件商店open in new window下载安装。

    标题的大小写

    我们建议您始终将标题以“句子大小写”的形式存储在 Zotero 库中,这有利于 CSL 进行格式转换。

    什么是“句子大小写”?

    - 标题大小写:Mechanism of Ce-Modified Birnessite-MnO<sub>2</sub> in Promoting SO<sub>2</sub> Poisoning Resistance for Low-Temperature NH<sub>3</sub>-SCR
    +- 句子大小写:Mechanism of Ce-Modified Birnessite-MnO<sub>2</sub> in promoting SO<sub>2</sub> poisoning resistance for low-temperature NH<sub>3</sub>-SCR
    +

    其他 extra

    所有其他自定义字段均应保存在“其他(extra)”字段,保存在该字段的数据应为若干个键值对,每行一个。CSL 引用时可以通过键来调用值。

    + + + diff --git "a/user-guide/faqs/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.html" "b/user-guide/faqs/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.html" new file mode 100644 index 0000000000..32ee11b046 --- /dev/null +++ "b/user-guide/faqs/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.html" @@ -0,0 +1,40 @@ + + + + + + + + + + Emoji 变成黑白该如何解决 | Zotero 中文小组 + + + + + +
    跳至主要內容

    Emoji 变成黑白该如何解决

    Zotero Chinese大约 1 分钟

    Emoji 变成黑白该怎么办

    近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。

    emoji变成黑白
    emoji变成黑白

    该问题目前有两个解决方案,由于方法二会造成 emoji 图案发生改变,推荐先尝试方法一,如果方法一没有效果再尝试方法二

    一、安装 seguiemj 字体

    1. 首先在网盘中下载字体文件:https://chikit.lanzoul.com/is3U51q0deyjopen in new window

    2. 将下载的字体文件(seguiemj.ttf)复制到C:\Windows\Fonts,即可安装完成

    3. 重启 Zotero 即可完成修复。

    二、通过修改 Zotero 设置 来解决

    具体操作步骤如下:

    1. 在菜单编辑选择“设置”:
      编辑器
    2. 弹出如下图所示的对话框。
      点击“I accept the risk”
      同意承担风险
    3. 在搜索框中输入 emoji,双击搜索到的 font.name-list.emoji,由 Segoe UI Emoji, Twemoji Mozilla 修改为 EmojiOne Mozilla
      修改为"EmojiOne Mozilla"
    4. 然后重新启动 Zotero,Emoji 成功变回彩色,问题解决
      emoji由黑白变成彩色
    + + + diff --git a/user-guide/faqs/index.html b/user-guide/faqs/index.html new file mode 100644 index 0000000000..69e0b1793b --- /dev/null +++ b/user-guide/faqs/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 常见问题 | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/faqs/plugins.html b/user-guide/faqs/plugins.html new file mode 100644 index 0000000000..5fdf4ef537 --- /dev/null +++ b/user-guide/faqs/plugins.html @@ -0,0 +1,40 @@ + + + + + + + + + + 插件安装的常见问题 | Zotero 中文小组 + + + + + +
    跳至主要內容

    插件安装的常见问题

    Zotero Chinese大约 2 分钟

    插件安装的常见问题

    关于插件的安装方法与常用插件介绍,请参见 插件与功能扩展

    无法打开插件页面

    如果你能看到 [插件/Add-ons] 选项,点击这一按钮的时候却没反应: 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如果退出重开后依然没有,请重启电脑,然后再尝试。这是 Zotero 的一个 Bug。

    插件页面显示过大超出屏幕

    如果你能打开窗口,却发现窗口顶部捅破了天际,看不到上面的内容: 请先把窗口左右方向拉窄,这样顶部就回自己跳出来了;然后再把上下方向拉矮,把窗口调整到合适的位置,一段时间之内应该就会都是正常的了。这大概也是 Zotero 的一个祖传 Bug。如果是 Windows 系统,选中该窗口,使用快捷键 WIN + 左或右方向键 调整窗口。

    插件安装包格式特殊

    如果你下载到的插件安装包格式比较特殊 (如 .zoteroplugin 文件或 .zip 文件),这些文件可能不能在手动安装的文件选择窗口中选中。对于这些特殊格式的安装包,你 只需要把安装包文件拖至前文中提到的插件列表页即可安装

    插件安装提示无法安装插件“%S”

    如果安装的时候提示 无法安装插件“%S”……

    1. 请检查下载的插件格式。如果从 GitHub 下载,安装包在右侧的 Release 中的 xpi 文件。请不要下载源码。

    2. 请检查插件安装包是否损坏。重新下载一遍。

    插件检查更新时提示未找到更新

    可能是确实没有更新,也可能是无法链接到 GitHub。请在插件镜像寻找你需要的安装包:https://zotero-chinese.gitee.io/zotero-plugins/#/open in new window
    即使你能够打开 GitHub 页面,也并不代表 Zotero 能够顺利下载到插件更新。这取决于网络情况。

    + + + diff --git a/user-guide/faqs/update-translators.html b/user-guide/faqs/update-translators.html new file mode 100644 index 0000000000..77e3940393 --- /dev/null +++ b/user-guide/faqs/update-translators.html @@ -0,0 +1,40 @@ + + + + + + + + + + 如何更新 Translator | Zotero 中文小组 + + + + + +
    跳至主要內容

    如何更新 Translator

    Zotero Chinese大约 4 分钟

    如何更新 Translator

    在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。

    提醒

    这里的 translator 指的是 Zotero 从浏览器网页抓取文献信息时所需的转换器,在 Zotero 中有时也被称作是“翻译器”。如果你遇到的是语言翻译问题(如标题翻译、摘要翻译、文献阅读中的句段翻译等),通常与本文讲的 translator 无关,请参照 Translate for Zotero 插件的教程进行排查。

    方法 1:一键自动更新

    1. 安装新版茉莉花插件

      更新 translator 之前请确保你安装的 茉莉花 插件已经是最新版本。如果你的 茉莉花 插件版本过低,更新可能会失败。最新的 茉莉花 插件安装包可在这里下载,然后覆盖安装即可:

      中文插件商店:https://plugins.zotero-chinese.com/open in new window

      茉莉花 插件主页:https://github.com/l0o0/jasminumopen in new window

      提示

      如果你在安装插件中遇到问题,请阅读 插件安装教程

    2. 在 Zotero 设置中,进入 高级 设置,点击下方“自动检查转换器和样式的更新”后面的 立即更新 按钮。

      更新官方 translator
      更新官方 translator

      提示

      建议取消勾选“自动检查转换器和样式的更新”前面的复选框,这样可以避免非官方维护中文转换器被意外替换为官方的版本。如果遇到了文献抓取失败的问题,可再按照本文档的方法更新。

    3. 进入 茉莉花 插件的设置,转到 非官方维护中文翻译器 部分,然后点击 更新全部 按钮。

      更新非官网维护中文翻译器
      更新非官网维护中文翻译器
    4. 更新 每一个浏览器 中 Zotero Connector 插件里的 translators。

      Google Chrome 和 Microsoft Edge
      1. 右键点击 Zotero Connector 按钮,然后点击 选项

        打开 Zotero Connector 的选项
        打开 Zotero Connector 的选项
      2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        更新 Zotero Connector 中的 translators
        更新 Zotero Connector 中的 translators
      Apple Safari
      1. 在网页空白处点鼠标右键,然后点击 Zotero Preference

        打开 Zotero Connector 的选项
        打开 Zotero Connector 的选项
      2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        更新 Zotero Connector 中的 translators
        更新 Zotero Connector 中的 translators

      注意

      这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!

      点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。

    5. 重启浏览器。

    6. 此时你已经完成了 translators 的更新。此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 4 和步骤 5 。

    方法 2:手动替换文件更新

    1. 在 Zotero-编辑-设置-高级-文件和文件夹 找到自己的数据储存位置。

      例如,下图中的数据储存位置就是 E:\Zotero File,这里也可以点击“打开数据文件夹”快速打开你的数据文件夹。

      数据储存位置
      数据储存位置
    2. 找到数据文件夹中的 translators 文件夹(对上图而言就是 E:\Zotero File\translators),这里是 Zotero translators 的存放位置

      translators的存放位置
      translators的存放位置
    3. Zotero translators 中文维护小组open in new window 下载最新的 translators

      手动在GitHub上下载translators
      手动在GitHub上下载translators
    4. 将下载的 zip 文件解压后选择其中所有的 translators 文件(.js 文件),并复制

      选择所有的translators文件
      选择所有的translators文件
    5. 将所有的 translators 粘贴到第 1 步中 translators 文件夹并替换,此时已经完成 Zotero 中 translators 文件的更新

      替换旧的translators
      替换旧的translators
    6. 更新 每一个浏览器 中 Zotero Connector 插件里的 translators。

      Google Chrome 和 Microsoft Edge
      1. 右键点击 Zotero Connector 按钮,然后点击 选项

        打开 Zotero Connector 的选项
        打开 Zotero Connector 的选项
      2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        更新 Zotero Connector 中的 translators
        更新 Zotero Connector 中的 translators
      Apple Safari
      1. 在网页空白处点鼠标右键,然后点击 Zotero Preference

        打开 Zotero Connector 的选项
        打开 Zotero Connector 的选项
      2. 点击 Advanced 中的 Update Translators 按钮,连续多点几(十)次

        更新 Zotero Connector 中的 translators
        更新 Zotero Connector 中的 translators

      注意

      这一步骤非常关键! 请务必确保为 每一个浏览器 中的 Zotero Connector 插件更新 translators!

      点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 连续多点几(十)次 通常更有效。

    此时你已经完成了 translators 的更新,此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 6。

    + + + diff --git a/user-guide/faqs/word-addon.html b/user-guide/faqs/word-addon.html new file mode 100644 index 0000000000..c37b6cc664 --- /dev/null +++ b/user-guide/faqs/word-addon.html @@ -0,0 +1,159 @@ + + + + + + + + + + 关于 Word 引用的各种问题 | Zotero 中文小组 + + + + + +
    跳至主要內容

    关于 Word 引用的各种问题

    NorthwordwindingShareStuffChikit_L可口可乐大约 20 分钟

    关于 Word 引用的各种问题

    本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。

    如果没有在本页面找到你需要的问题,可以参考官方文档 Zotero 文字处理插件报告的一些问题以及可能的解决方案open in new window

    如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zotero 官方论坛发帖求助。

    插入参考文献的基础教程

    在开始排查问题之前,请务必先了解 Zotero 的 Word 加载项中各个按钮的功能和用法。在 Word 中插入参考文献的基本操作请阅读:

    在 Word 中插入参考文献的基础教程

    此外,关于 Zotero 参考文献插入及排版的基本教程您还可以观看这个视频:

    Zotero 文献在 Word 中的引用open in new window

    其中包括以下问题的解答:

    1. 如何安装/重新安装 Word 中的 Zotero 工具条(Word 加载项)。
    2. 如何从 Zotero 官方下载参考文献格式。
    3. 如何在 Word 中插入参考文献。
    4. 如何在 Word 中设置引用样式。

    提醒

    请注意, Zotero 在更新至 6.0.23 或更高版本后,Word 选项卡里的按钮顺序有调整。 新版本交换了第二个和第三个按钮的位置, 在阅读教程的时候请注意点击的按钮具体是哪一个,不要只去数是第几个按钮。

    Zotero Word 插件选项卡
    Zotero Word 插件选项卡
    按钮功能说明

    目前新版本里横向布置三个大按钮分别是:

    1. 插入引文 插入/编辑引注 Add/Edit Citation

    在当前光标位置插入或编辑引注。

    提示

    此按钮只是插入引注,不会在文末自动生成参考文献表。要插入参考文献表,请点击 插入/编辑参考文献表 按钮。

    1. 添加参考文献表 插入/编辑参考文献表 Add/Edit Bibliography

    在光标当前位置插入或编辑已存在的参考文献表。

    一般情况下,在文末写一个 参考文献 标题,然后按回车另起一行,再点击这个按钮插入参考文献表。

    1. 插入笔记 Add Note

    在光标当前位置插入笔记。

    提示

    此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。

    三个纵向布置的小按钮分别是:

    1. 文档首选项 文档首选项 Document Preferences

    更改参考文献样式或语言,开启/关闭自动更新引注功能。

    1. 刷新 刷新 Refresh

    更新引注引注编号及文末参考文献表内容,关闭自动更新引注功能后需手动点击此按钮更新引注。

    1. unlink 取消链接引注 Unlink Citations

    删除所有 Zotero 域代码且断开与 Zotero 文库链接。点击后所有的引注和文末的参考文献表都会变成纯文本。

    注意

    该操作不可逆,一旦断开连接,所有的引注信息都会变成纯文本,无法再自动更新编号和参考文献表,也无法恢复到以前带有链接的状态。因此强烈建议在断开连接之前将文档另存一份备用,仅将用于提交/共享的副本断开连接。

    注意

    在插入文献之前, 请务必先将 Zotero 里英文论文详细信息中的 语言/Language 字段改为 enen-US 等与文献语言一致的信息,否则在中英文混排时可能会遇到错误。具体方法见后文里 中英文混排 部分的内容。

    插入引用常见的操作问题

    在实际使用中,有一些操作上的小技巧,在这里略作整理:

    1. Zotero 有两种插入文献的方式,一种是搜索对话框,另一种是经典视图的选择窗:
    引文对话框
    引文对话框
    经典引文对话框
    经典引文对话框

    如果你在使用新式搜索框,推荐采用年份 作者姓名进行检索(两个关键词中间敲一个空格)。

    这两种界面可以在插入的时候临时切换,也可以在 Zotero 首选项 里修改默认使用经典选择窗。操作步骤请参见在 Word 中插入参考文献的基础教程

    1. 如果你使用搜索框, 输入中文关键词后没有候选项目 ,请 按一下键盘的空格键 ,然后就有候选项了。

    2. 如果你 在一处位置想同时引用多个文献 ,请在插入引用时 一次性插入每一个文献 ,不要分成两次分开插。

    插入多条文献

    在使用搜索窗时 ,先加入第一个文献,然后不要急着按回车确认插入,而是改为 按一下空格然后继续搜下一个文献 。直到所有文献都完成插入之后再按回车确认本次插入。

    在使用经典选择窗时 ,点击左下角的 多重来源/Multiple Sources 来实现同时插入多个文献。具体操作请参见在 Word 中插入参考文献的基础教程

    注:这个窗口内可以多选,可以在左边窗口一次性选择多个条目,然后统一点向右的箭头加到右边。待全部文献添加完成后,再点击确认完成插入。

    1. 如果你 在插入完成后想重新修改引用信息 ,请先在 Word 中插好的编号角标中间点一下,使输入光标在角标内(此时角标会变为灰色),然后点 插入/编辑引注 按钮即可编辑/增删此处引用的文献。
    编辑引注
    编辑引注
    1. 插入/编辑引注 过程中,请务必在选择文献过程中 不要转到其他窗口去翻看查阅 。如果边翻看边插入,很有可能导致插入失败并报错。如果插入过程中希望查阅信息,你可以先按回车键确认本次插入,待查阅完成后再用第 4 点提醒中的方法编辑/补充引用。

    2. Zotero 在插入文献时更新角标的速度非常缓慢, 建议关闭自动更新引用 。这一设置在 Word 中的 Zotero 选项卡内:

    文档设置
    文档设置

    在关闭之后,你 需要在增删引用项目后手动点 刷新刷新 按钮更新引用信息及编号 。在 Zotero 6.0 新版本下,这个更新可能非常缓慢,你需要多一点耐心。

    格式问题

    调整缩进、行距等格式

    Word 中参考文献书目列表的排版问题是 Word 段落样式控制的。 其中包括:是否首行缩进,是否悬挂缩进,编号和后续文字之间的制表位空白大小,字体及文字大小,是否全部加粗,行间距大小……

    这部分样式你需要 在 Word 中修改“书目”样式 。具体方法详见这一教程:

    如何设置 Zotero 生成的参考文献格式,刷新后不变?open in new window

    设置斜体及上下标等

    一些论文的题目需要在参考文献中表现为上标、下标或者斜体:如 CO2,H+Nature,这该如何实现呢?

    方式一:插入参考文献后在 Word 中手动修改,但是这种方法每次刷新后需要重新设置非常麻烦。(这是不正确的方式,不推荐)

    方式二:在 Zotero 中修改该文献的条目信息,通过在题目中添加以下代码来实现上标、下标、斜体、加粗的效果,添加完后返回 Word 刷新引文:

    <sup>上标</sup>
    +<sub>下标</sub>
    +<i>斜体</i>
    +<b>加粗</b>
    +
    示例

    标题

    Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR

    Influence of surface active groups on SO<sub>2</sub> resistance of birnessite for low-temperature NH<sub>3</sub>-SCR

    参考文献表

    [1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. https://doi.org/10.1016/j.cej.2020.125798open in new window.

    [1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. https://doi.org/10.1016/j.cej.2020.125798open in new window.

    如上示例在 Zotero 条目信息中对需要为下标的单词两侧分别加上 <sub></sub>,回到在 Word 中点击 Refresh 刷新条目信息即可看到下标效果已经成功实现。

    点击刷新条目信息
    点击Refresh刷新条目信息

    使用 Linter 插件快捷插入

    插件 Linter for Zoteroopen in new window 提供了辅助输入这些富文本标签的功能,可前往 插件商店open in new window下载安装。

    使用 Quicker 快捷插入

    使用 quicker 动作可以也可以方便的实现同样的效果:

    中英文混排以及其他特殊要求样式的问题

    Zotero 官方样式对于中英文混排支持得十分差劲,尤其是在 et al. 的处理上。幸运地是,有很多热心的大佬在这方面进行了许多探索。

    csl 格式的样式文件的下载和安装方法可以查看这一教程:

    利用合适的 CSL,结合设置条目语言解决 et al 和等混排问题open in new window

    提示

    对于一般的需求,可以在这个项目中寻找最适合你的样式,然后直接拿来用:

    GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程open in new window

    GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程open in new window

    这里有非常多的常见样式,足以满足几乎所有人的需求。上面的页面里也都附上了相应的使用效果方便挑选。

    安装 csl 样式文件中,会有两个弹窗。第一个弹窗请点击 安装/Install,第二个弹窗请点击 确认/OK

    安装样式
    安装样式

    (上图是第二个弹窗,这个报错不用担心,直接点 OK 即可)

    安装完 csl 样式文件后,你还 需要在 Word 中指定当前文档使用的样式

    文档设置
    文档设置

    注意

    请务必注意, 样式的选择是在 Word 里进行的 ,不是在 Zotero 设置里!Zotero 设置里的列表仅用来安装新样式,不能用作选择默认样式!

    如果上面现成的样式不能满足你的需求……

    你也可以根据你自己的需要修改属于自己的样式文件,可以看一下这个视频教程自行定制样式:

    style csl 文件简单编辑open in new window

    注意事项及与样式相关的常见问题

    1. 中英文混排的各个样式文件通常是依靠 Zotero 文献条目信息中的 语言/Language,你需要在插入参考文献之前 预先将英文和中文文献的语言设定为相应要求的内容 。一般来说,常见的中英混排 csl 样式文件通常要求将英文文献 Info语言/language 字段修改为en,而中文文献设置成zhzh_CN或其他内容基本都可以。

      注意

      请务必注意,英文文献的语言需要设置为 en ,而不是其他任何内容!(即便设置成 english 也不行!)

      如果你的文献语言设定不规范,可以通过标题或作者字段对所有文献进行排序,然后分别选中英文文献,将其 [语言] 字段的信息统一为 en;取消选中后再选中中文文献,将其 语言 字段的信息统一为zh或者样式文件要求的样子。

      插件 Linter for Zoteroopen in new window 提供了自动识别条目语言并设定语言字段的功能,可前往 插件商店open in new window下载安装。

      Linter 自动识别条目语言
      Linter 自动识别条目语言
    2. 如果你设置了新样式后,样式仍未变更,你可以在 Word 上 Zotero 插件选项卡中的 Document Preferences 随意切换到任何一个其他样式,确定。等待更新完成后,重新进设置里改回你想用的设置,文档会再次刷新,然后就好了。

    3. Word 中参考文献的显示内容是 csl 文件决定的。如果你觉得 参考文献里显示的内容 不符合你的要求,你需要按照前面的教程修改 csl 文件。

    4. 如果你设置的样式全都正确,却发现有的正文角标里的内容多了点东西(页码),可以编辑一下这一处引用,把不必要的信息删掉:

    编辑引文
    编辑引文

    Word 中没有 Zotero 选项卡

    一些朋友在 Word 中的 Zotero 选项卡突然消失了,或者使用的时候报错要求重装/升级该加载项。 这一加载项需要在 Zotero 首选项 中安装 。具体步骤如下:

    1. 保存好正在编辑的 Word 文档,并彻底退出 Word
    2. 打开 Zotero 首选项
    3. 引用/Cite -文字处理软件/Word Processors 中点击 重新安装 Microsoft Word 加载项/Reinstall Microsoft Word Add-in 即可完成安装/更新/重装。
    重新安装Word插件
    重新安装Word插件

    注意

    如果退出 Word 后重新安装这一加载项仍然报错,建议重启电脑后再尝试。

    若上图的【文字处理软件/Word Processors】没有内容显示,则需要在 Zotero 软件界面,单击打开【工具/Tools】-【插件/Add-ons

    image.png
    image.png

    找到【Zotero Word for Windows Integration】插件,确保其没有处理禁用状态。

    image.png
    image.png

    报错“无法与 Zotero 通讯”

    待办

    Zotero 在更新文档时出错

    提示

    本小节在翻译 官方文档open in new window 的基础上,进行了再次整合,以 Microsoft Word 为例进行操作。如果您使用的是 Google Docs 或者 LibreOffice ,可访问 官方文档 | 排除文字处理器文档中的错误open in new window 获取帮助。

    更新文档时出错
    更新文档时出错

    如果您在尝试在一个新的空文档中使用 Zotero 时出错,请参阅 文字处理器插件故障排除open in new window

    如果您可以在新的空 Word 文档中插入引文,但在现有文档中使用 Zotero 时出现错误,可以按照以下步骤进行问题排查:

    1. 检查 Word 设置

      文件-选项-高级,勾选 键入内容替换所选文字,问题即可得到解决。
      如问题未得到解决,请按照后续步骤逐步进行排查。

      键入内容替换所选文字
      键入内容替换所选文字
    2. 重启 Zotero 和 Word。

    3. 确保您使用的是最新版本的 Zotero 和 Word。

    4. 排除故障时,禁用 Word 中的修订功能,因为它在使用 Zotero 时会产生复杂的效果。
      如果在插入或修改 Zotero 引文时启用了修订功能,它可能会将文档中的许多或所有 Zotero 引文标记为已更改。如果您以前启用了修订功能,请尝试接受所有更改,看看这是否能解决问题。

    5. 检查图片标题中的引用。Zotero 不会让你插入它们,但如果你将引用复制到标题中,这很可能是问题的根源。删除这部分引用。

    6. 尝试将文档内容复制并粘贴到新文档中,以查看问题是否消失。您可能需要点击 Document Preferences 按钮,您的旧引用才会被识别。

    7. 通过复制文件本身,而不是通过复制和粘贴内容,制作文档的副本,用于调试。

    8. 如果在 Windows 上使用 OneDrive,请将文档的副本保存到本地硬盘,或者尝试删除文件名中的任何空格。OneDrive 会干扰插件的使用,请在使用 Zotero 过程中避免与 Onedrive 同时使用。

    9. 打开复制的文件,检查切换到不同的参考书目样式后是否出现错误。

    10. 如果文档有参考书目(bibliography,),请删除它后检查是否仍然出现错误。

    11. 调试时,如果您在 Word 插件中使用字段模式,显示字段代码而不是格式化文本可能会有所帮助。为此,请在 Word 中按 Alt/Option-F9(或 Alt/Option-Fn-F9)。

    12. 隔离有问题的引用。
      在文档副本中,每次删除一半内容,看看错误是否仍然发生。如果没有,使用 "撤消" 恢复已删除的部分,然后尝试删除另一半。对出现错误的部分重复删除一半的过程,如果两个部分都出现错误,则随机选取一个。继续这样做,直到找到出现问题时必须存在的最小部分(最好只有一个引文)。从原始文档中删除孤立的引文,问题就会消失(除非有多个断开的引文,在这种情况下您需要重复该过程)。

    域代码相关问题

    您已经修改该引文,是否保留更改?

    image.png
    image.png

    该弹窗通常是用户手动修改了引文或参考文献表,比如该弹窗即为某文献在文中编码为“[1]”,用户手动把它修改为了“[111]”,Zotero 再次刷新时会询问用户是否保留这些修改?

    如果用户需要保留自己的修改,则点击“是 yes”,如果用户需要抛弃自己的修改,使用 Zotero 生成的内容,则需要选择“否 No”。

    警告

    注意:请谨慎选择“是 Yes”,该操作会让 Zotero 不再更新此处!

    注意

    所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是手动修改!

    所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是手动修改!

    所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目,而不是手动在域代码上修改!

    如果已经点了 “是 yes”,Zotero 不再对这一处引文进行更新,而后续又想要 Zotero 对其更新,可以参照下一节。

    使 Zotero 恢复对引文的更新

    首先分析一下 Word 加载项 在 Word 留下的域代码结构,以 https://doi.org/10.1021/acscatal.0c05697open in new window 为例,其正常插入 Word 后产生的域代码为:

    Zotero 引文在 Word 中产生的域代码截图
    image.png
    image.png

    其中标黄部分是标识这是一个 Word 域代码块的声明,可以不去管,重点在包含在其中的 json 内容,为了方便理解,将其格式化后显示如下:

    上述可以正常更新的域代码格式化后的代码
    {
    +  "citationID": "gr3uElq7",
    +  "properties": {
    +    "formattedCitation": "\\super [1]\\nosupersub{}",
    +    "plainCitation": "[1]",
    +    "noteIndex": 0
    +  },
    +  "citationItems": [
    +    {
    +      "id": 2220,
    +      "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"],
    +      "itemData": {
    +        "id": 2220,
    +        "type": "article-journal",
    +        "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.",
    +        "archive": "Q1",
    +        "archive_location": "工程技术1区 Top",
    +        "call-number": "8.04",
    +        "collection-title": "无",
    +        "container-title": "Fuel",
    +        "DOI": "10.1016/j.fuel.2022.124116",
    +        "ISSN": "0016-2361",
    +        "journalAbbreviation": "Fuel",
    +        "language": "en",
    +        "license": "8.04",
    +        "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是",
    +        "page": "124116",
    +        "source": "能源与燃料2区 工程:化工1区",
    +        "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen",
    +        "title-short": "Regulating oxygen species for promoted deep oxidation of toluene",
    +        "volume": "321",
    +        "author": [
    +          {
    +            "family": "Zhang",
    +            "given": "Luyue"
    +          },
    +          {
    +            "family": "Liu",
    +            "given": "Yongjun"
    +          },
    +          {
    +            "family": "Fang",
    +            "given": "Xue"
    +          },
    +          {
    +            "family": "Cheng",
    +            "given": "Yan"
    +          }
    +        ],
    +        "issued": {
    +          "date-parts": [["2022", 8, 1]]
    +        }
    +      }
    +    }
    +  ],
    +  "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json"
    +}
    +

    其被修改后,域代码则会变为:

    不能正常更新的域代码
    {
    +  "citationID": "gr3uElq7",
    +  "properties": {
    +    "formattedCitation": "\\super [1]\\nosupersub{}",
    +    "plainCitation": "[1]",
    +    "dontUpdate": true,
    +    "noteIndex": 0
    +  },
    +  "citationItems": [
    +    {
    +      "id": 2220,
    +      "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"],
    +      "itemData": {
    +        "id": 2220,
    +        "type": "article-journal",
    +        "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.",
    +        "archive": "Q1",
    +        "archive_location": "工程技术1区 Top",
    +        "call-number": "8.04",
    +        "collection-title": "无",
    +        "container-title": "Fuel",
    +        "DOI": "10.1016/j.fuel.2022.124116",
    +        "ISSN": "0016-2361",
    +        "journalAbbreviation": "Fuel",
    +        "language": "en",
    +        "license": "8.04",
    +        "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是",
    +        "page": "124116",
    +        "source": "能源与燃料2区 工程:化工1区",
    +        "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen",
    +        "title-short": "Regulating oxygen species for promoted deep oxidation of toluene",
    +        "volume": "321",
    +        "author": [
    +          {
    +            "family": "Zhang",
    +            "given": "Luyue"
    +          },
    +          {
    +            "family": "Liu",
    +            "given": "Yongjun"
    +          },
    +          {
    +            "family": "Fang",
    +            "given": "Xue"
    +          },
    +          {
    +            "family": "Cheng",
    +            "given": "Yan"
    +          }
    +        ],
    +        "issued": {
    +          "date-parts": [["2022", 8, 1]]
    +        }
    +      }
    +    }
    +  ],
    +  "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json"
    +}
    +





     




















































    可以看到,多了第六行 "dontUpdate": true,,我们将这一行去掉,再更新域代码,即可恢复 Zotero 对该处的更新。

    字段是代码而不是引文/参考书目文本

    引文或参考书目总是以灰色或其他颜色突出显示

    没有监测到引用

    将引注链接到参考文献表

    参阅:将引注链接到参考文献表

    更多教程

    Johnmy 老师也制作了非常多的关于 Zotero 的教程,如果有疑问也请务必在这里多找找多看看:

    GB/T 7714 相关的 csl 以及 Zotero 使用技巧及教程open in new window

    一些软件使用过程中的技巧,如 Endnote, Zotero 等open in new window

    + + + diff --git "a/user-guide/faqs/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.html" "b/user-guide/faqs/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.html" new file mode 100644 index 0000000000..4be30a67a8 --- /dev/null +++ "b/user-guide/faqs/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.html" @@ -0,0 +1,40 @@ + + + + + + + + + + “获取更多样式”打不开怎么办 | Zotero 中文小组 + + + + + +
    跳至主要內容

    “获取更多样式”打不开怎么办

    Zotero Chinese大约 2 分钟

    “获取更多样式”打不开怎么办

    近期许多同学在添加引文格式的时候,却发现 Zotero 内部 获取更多样式 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题:

    点击“获取更多样式”没有反应
    点击“获取更多样式”没有反应
    1. 禁用插件

      这种问题可能是由于安装的插件发生冲突所导致,点击 工具-附件组件后禁用第三方插件后,重启 Zotero 该问题即可解决。
      可以优先排查Zotero Style插件
      禁用插件

    2. 退出 Zotero 账户。

      依次点击 编辑-设置-同步退出账户,之后重启 Zotero 该问题可解决。

      退出Zotero账户
      退出Zotero账户
    3. 手动安装

      如果前两种方法都不能解决问题,可以手动安装引文样式的方法来实现引文样式的安装。
      打开从Zotero 样式库open in new window下载其他样式,搜索所需要的期刊(例如Nature
      选择需要的引文格式下载

      此时,会进行引文格式的安装方式
      引文格式安装方式

      ① 选择OK时,Zotero 会将所选择的引文格式自动下载安装,完成后,网页右上角会有完成提醒。
      引文格式安装完成

      ② 选择Cancel时,浏览器会下载所选择的引文格式到本地,然后通过Zotero-编辑-设置-引用-样式+安装安装刚刚所下载的引文格式
      引文格式下载完成
      安装本地引文格式

    + + + diff --git "a/user-guide/faqs/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.html" "b/user-guide/faqs/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.html" new file mode 100644 index 0000000000..c22b39ede4 --- /dev/null +++ "b/user-guide/faqs/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.html" @@ -0,0 +1,40 @@ + + + + + + + + + + 如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 | Zotero 中文小组 + + + + + +
    跳至主要內容

    如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题

    Zotero Chinese小于 1 分钟

    如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题

    部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。

    黑色遮挡
    黑色遮挡

    根据 Zotero 官方答复open in new window ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。

    具体操作步骤如下:

    1. 在菜单编辑选择“设置”:
      编辑器
    2. 弹出如下图所示的对话框。
      点击“I accept the risk”
      同意承担风险
    3. 在搜索框中输入 acceleration,双击搜索到的 layers.acceleration.disabled,Value 将变为 true。然后重新启动 Zotero,即可解决问题。
      将 layers.acceleration.disabled 设置为 true
    + + + diff --git a/user-guide/feed.html b/user-guide/feed.html new file mode 100644 index 0000000000..a413fb2499 --- /dev/null +++ b/user-guide/feed.html @@ -0,0 +1,40 @@ + + + + + + + + + + Feed | Zotero 中文小组 + + + + + +
    跳至主要內容

    Feed

    阿狸大约 8 分钟

    Feed RSS

    高级

    Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。

    • 追踪期刊目录更新
    • 追踪数据库中某些【关键词】相关的文献更新情况
    • 订阅任意网站的内容更新,例如 b 站 up 主的视频更新...

    Zotero 订阅设置

    在 Zotero 主界面,左上角工具栏选择 群组icon - 新建订阅 - 从网址...

    新建订阅
    新建订阅

    之后会弹出以下窗口

    输入网址
    输入网址

    在网址栏填入订阅网址(如何获取请往下拉),Zotero 识别成功之后会自动填入标题(可以自己手动更改,Zotero 不会根据期刊订阅先后给订阅的期刊排序,可以手动在期刊名前面加上 1234 或者字母来排序)并且进行高级选项设置,保存之后即可在主界面左侧订阅处看到订阅的内容及更新。

    订阅条目列表
    订阅条目列表

    订阅来源

    从网址订阅:"从网址订阅"是最直接、最方便的添加 RSS 订阅的方式,只需要提供订阅源的链接即可,是我们用 Zotero 追踪期刊更新时最常用的方式,以下涉及的实例也将基于此方式进行。

    OPML 订阅:"来自 OPML"主要用于之前有使用其它 RSS 阅读器,从其它阅读器中导入已经订阅的内容至 Zotero 中,一般用户很少涉及此方式,故不过多介绍。

    高级选项

    高级选项
    高级选项

    【更新订阅每 N 小时】:即设定订阅间隔,每 N 个小时从订阅 URL 爬取期刊目录,加载在该【订阅】界面。如果 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,如果有内容更新,就会加载出现在 Zotero 订阅界面。

    【删除已读提要题目于之后 N 天】:即点击了该条目查看右侧的条目详细信息(Zotero 会自动设置为"已读"状态)N 天后在期刊订阅界面删除该条目,如果不想删除已读条目,则将 N 设置为一个较大的数值,例如 1000000。

    【删除未读提要条目于之后 N 天】:即该条目一直处于未点击查看该条目的具体信息,N 天后在期刊订阅界面删除该条目。如果不想删除未读条目,则将 N 设置为一个较大的数值,例如 1000000。

    以上三项订阅参数的默认设置入口(Zotero7):

    Win:编辑 - 设置 - 高级 - 订阅

    Mac:Zotero - 设置 - 高级 - 订阅

    在此设置页面中,可以设置对订阅的条目按"最早条目在先" / "最新条目在先"的排序。

    订阅设置
    订阅设置

    从"订阅"添加文献条目到"我的文库"/"群组文库"

    Zotero 的订阅内容并不会保存在个人文库中,也不可以直接引用"订阅"中的条目,因此需要引用则需要将其添加到"我的文库"(也可以共享到群组文库)

    添加到文库
    添加到文库

    点开 Zotero 某一期刊/RSS 订阅内容,点击具体条目,看到右侧信息栏,点击添加到文库icon 中的 ▽ 倒三角图标,选择你想要保存到的本地文库文件夹 📂/在线群组文件夹 📂,再点击"添加到 XXXX",即可从订阅中添加到自己的文献库/某个群组文库中(可以同时添加到若干个文库)。

    订阅界面右键功能介绍

    在订阅界面点击某个具体的订阅期刊,右键即可出现以下菜单选项

    订阅右键菜单
    订阅右键菜单

    更新订阅:除了 Zotero 自动按照订阅某期刊时"高级选项"的更新选项去更新订阅外,手动更新订阅,如有最新内容则自动加载到右侧具体条目面板中

    标记订阅为已读:Zotero 订阅界面中未读的期刊/具体文献条目将会加粗显示,点击该选项将会设置该期刊所有内容为已读状态,取消加粗显示。

    编辑订阅:回到"2、高级选项"中的设置界面,可以更改某一个期刊的高级选项,便于进行个性化订阅设置。

    退订订阅:即从订阅面板删除该订阅期刊,会有确认取消窗口避免误删,请慎重选择!

    订阅网址(RSS 链接)获取

    中文期刊订阅------以知网、万方数据库为例

    知网

    进入 知网期刊导航界面open in new window,在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【出版来源检索】>

    知网搜索期刊
    知网搜索期刊

    在搜索结果界面,点击进入期刊页面

    知网搜索期刊
    知网搜索期刊

    在期刊主页左上角找到并点击【RSS 订阅】

    知网创建rss
    知网创建rss

    复制浏览器地址栏中的网址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。

    知网复制地址
    知网复制地址

    万方数据库

    进入万方智搜open in new windowhttps://c.wanfangdata.com.cn/periodicalopen in new window)界面,在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【搜期刊】

    万方搜期刊
    万方搜期刊

    进入搜索结果界面点击期刊名称

    万方
    万方

    进入期刊主页后,找到页面中部的【feed 订阅】选项,点击【rss 订阅】

    万方
    万方

    跳转如下页面后,浏览器地址栏的网址即 RSS 订阅链接,复制浏览器地址栏中的网址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。

    万方
    万方

    英文期刊订阅

    一般而言英文期刊/数据库都在期刊页面提供了 RSS 订阅选项,只需要找 RSS 图标RSS图标 ,即可获取订阅网址(RSS 地址)

    打开 Annual Review of Psychology 网页,找到右上角的 RSS feed RSS图标
    符号,点击打开

    Annual Review of Psychology
    Annual Review of Psychology

    打开之后如下图示,复制浏览器地址栏的网址,即 RSS 地址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。

    复制链接
    复制链接

    关键词订阅(PubMed 为例)

    打开 PubMedopen in new window 官网,在搜索栏输入你想追踪的文献关键词,例如"heat wave",点击搜索

    PubMed
    PubMed

    如下图示,点击搜索框下面的"Create RSS",进入该关键词订阅的设置界面

    PubMed订阅
    PubMed订阅

    在设置界面,修改为合适"Number of items displayed"(追踪的文献条目数量),点击"Create RSS",生成"RSS Feed link"后点击 copy,将其按照"一、Zotero 订阅设置"的方法填入 Zotero,即可订阅追踪该关键词的相关文献进展。

    PubMed 修改数量
    PubMed 修改数量

    配合 RSSHub Radar 订阅任意网站内容

    RSSHub Radar 是 RSSHubopen in new window
    的衍生项目,用来快速发现当前网页的 RSS 地址,如果支持 RSSHub 则显示
    RSSHub 地址,支持包括ZoteroTiny Tiny RSSopen in new window、FreshRSS、Feedly、Inoreader 在内的 11 款阅读器一键订阅。

    主要功能:

    • 快速发现和订阅当前页面自带的 RSS
    • 快速发现和订阅当前页面支持的 RSSHub
    • 快速发现当前网站支持的 RSSHub
    • 支持一键订阅 RSS 到 Tiny Tiny

    RSS、Miniflux、FreshRSS、Feedly、Inoreader、Feedbin、The Old Reader、Feeds.Pub、本地阅读器一旦检测出 RSS 地址,RSSHub Radar 就会在角标上显示出数量。

    RSSHub Radar 浏览器插件下载与安装(含教程):GitHub 主页、Gitee 镜像主页、RSSHub Radar 与 Zotero 联动。

    bili为例
    bili为例

    打开你想关注的 UP 主(以 sharestuff 为例),点击浏览器右上角的 RSSHub
    Radar 插件图标

    RSSHUB订阅bili
    RSSHUB订阅bili

    选择所需要订阅的内容,点击"复制",进入 Zotero 进行 URL 订阅即可。

    订阅功能常见问题及解决方法(更新中)

    1、填入网址后不能自动识别与保存的解决方法:检查或更换网络,重启 Zotero 后第一时间进入订阅填入网址,能够自动识别并填充标题即可成功订阅;部分网址需要在科学网络的情况下才能识别成功,如遇外网期刊订阅无法保存时,需要保证自己的网络足够科学。

    2、订阅间隔设置不当导致的条目重复问题:在 Zotero6 中该问题较为常见,尚未完美的解决方案,只能根据期刊更新周期设定订阅间隔。例如《社会学研究》为双月刊,建议从其发刊日时添加订阅,N 设定为 2X30X24 小时。某些 Zotero 版本,如果高级选项的【更新订阅每 N 小时】中 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,导致期刊【订阅】界面出现重复文献条目。

    + + + diff --git a/user-guide/group.html b/user-guide/group.html new file mode 100644 index 0000000000..331521c430 --- /dev/null +++ b/user-guide/group.html @@ -0,0 +1,40 @@ + + + + + + + + + + 群组 | Zotero 中文小组 + + + + + +
    跳至主要內容

    群组

    AliNorthword大约 5 分钟

    群组

    高级

    • 课题组协作、小组合作:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。
    • 双向跨库分享文献条目:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。
    • Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目信息及其附件(笔记、全文 PDF 等)
    • 不限制群组成员数量
    • 配合 Chartero 插件可以实时查看成员某文献条目的阅读时间

    群组依赖 Zotero 账号

    群组的条目和附件同步均能且仅能通过 Zotero 官方同步服务同步,因此在使用群组功能前,你必须登录 Zotero 账户,如果你没有登录,请阅读 同步 小节完成账号注册和登录。

    创建群组

    有两种方式创建群组:

    1. 在 Zotero 客户端中点击如下按钮:

      创建群组
      创建群组
    2. Zotero 群组页面open in new window 点击 Create a New Group 按钮。

    在打开的页面中,为群组输入一个名字,选择群组的类型,并依次进行群组设置,即可完成创建。

    群组类型

    群组有三类,分别是 私有群组 (Private)公开, 限定成员制群组 (Public, Closed Membership)公开, 开放成员群组 (Private) 三类,下表对比了三种群组类型的特点。

    私有群组公开,限定成员制公开,开放成员
    谁可以看到仅成员所有人所有人
    谁可以加入邀请邀请或申请所有人
    条目附件共享支持支持不支持

    群组类型也可以之后可以在群组设置继续更改。

    群组设置

    群组设置页面主要有三个设置项,分别对应条目的读取、编辑、附件的编辑三类权限。

    • 读取权限:谁可以看到该群组图书馆中的项目?
      • Anyone on the internet 所有人
      • Any group member 仅所有群组成员
    • 编辑权限:谁可以在该组的库中添加、编辑和删除项目?
      • Any group member 所有成员
      • Only group admins 仅群组管理员
    • 文件编辑权限:谁可以使用组中存储的文件?(公共开放组不能启用文件存储)
      • Any group member 任何团体成员
      • Only group admins 仅群组管理员
      • No group file storage 无群组文件存储

    关于群组成员、群组管理员等的设置,请见 群组管理 小节。

    关于群组的附件

    1. 一般用户默认会存储和分享群组空间只会占用创建者(即群主)的官方云存储空间(300M 免费)。
    2. 群组功能目前仅支持官方云储存空间进行同步附件(例如文献的 PDF、笔记等),因此创建“Private”/“Public Closed”群组类型的用户,建议使用 WebDAV 方案进行“我的文献库”的同步,把 300M 免费空间留给群组内文献条目附件的同步。
    3. 如果 300M 空间用尽,可以进入 Zotero 官网,在右上角的 Upgrade Storage 中升级付费计划(需要国外 VISA 信用卡)。
    4. Zotero 群组的付费存储空间只需要群主付费,其他成员无需承担。

    加入群组

    1、官网群组搜索 🔍

    适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。

    Zotero 官网群组搜索页面open in new window,可以通过群组的名称,搜索到目标群组。

    搜索群组
    搜索群组

    在接下来的搜索结果页面中点击目标群组名称,进入该群组的主页

    点击群组名称
    点击群组名称

    在主页点击右侧的 Join,即可申请加入该群组。

    群组详情页面
    群组详情页面
    • Public Open 的群组点击 Join 之后即可加入
    • Public Closed 需要等管理员或者群主通过申请才可以加入

    Zotero 客户端重启之后即可在右侧"群组文库"看到所加入的群组。

    2、群组链接 🔗

    适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。

    群组成员(群主、管理员、成员)进入 Zotero 群组页面open in new window,点击群组名称,进入群组页面,浏览器地址栏的网址即为群组链接,可以分享给他人,他人打开即可申请加入(同上图)。

    群组页面链接
    群组页面链接

    3、管理员邀请 ✉️

    适用于所有群组,包括 Private、Public Closed、Public Open 三种类型,仅群主和管理员可以操作。

    群组成员(群主、管理员、成员)进入 Zotero 群组页面open in new window,点击群组名称下方的 Members Settings

    members settings
    members settings

    跳转后点击页面左下角 Send More Invitations

    发送邀请链接
    发送邀请链接

    在邀请成员界面的方框内,输入被邀请人的 Zotero 用户名或者注册 Zotero 时所用的电子邮箱。可以同时邀请多人(用英文逗号分隔即可),输入完成之后点击下方的 Invite Members,即可完成邀请。被邀请人注册 Zotero 时所用的邮箱将会受到邀请邮件,进入接受邀请即可。

    输入被邀请者用户名
    输入被邀请者用户名

    群组管理

    群组成员(群主、管理员)进入Zotero 群组页面open in new window,点击群组名称下方的 Manage Profile,可以设置头像、名称、群组所属类别等信息,也可在此页面解散群组。

    点击 Manage Members 可以管理成员,例如审批加群申请、新增成员、移除成员、改变成员权限等。

    点击群组名进入群组详情页,右侧红色按钮 leave 可以退出群组,退出后需要重启 Zotero 客户端。

    + + + diff --git a/user-guide/import-from-other-software.html b/user-guide/import-from-other-software.html new file mode 100644 index 0000000000..faa54c12d6 --- /dev/null +++ b/user-guide/import-from-other-software.html @@ -0,0 +1,40 @@ + + + + + + + + + + 从其他软件导入条目 | Zotero 中文小组 + + + + + +
    跳至主要內容

    从其他软件导入条目

    阿狸大约 4 分钟

    从其他软件导入条目

    从 Endnote 导入

    1、复制要导出的文献到新库(New library)

    注意:默认位置通常在我的文档/Endnote.data,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到2、导出 Endnote 题录和附件
    打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Reference To】=>【New Library...】

    Endnote菜单
    Endnote菜单

    如下图示,在弹出来的文件浏览器页面选择一个容易找到的文件夹(以桌面为例,图中步骤 ①),接着自定义库的名称(后续导入 Zotero 内成为一个新文件夹默认使用该名称,图中步骤 ② 以test为例),点击【Save】

    Endnote输出目录
    Endnote输出目录

    Endnote 内打开保存的新库,点击左上角工具栏【File】=>【Export】

    Endnote导出
    Endnote导出

    2、导出 Endnote 题录和附件

    如下图所示,在弹出的窗口选择1、复制要导出的文献到新库中所保存的新库目录(也可以找到默认目录,该目录下包含“PDF”、“sdb”),但请不要选择“PDF”/“sdb”这两个子目录!!!
    图中 ② 处请选择 XML 格式,然后点击保存,test.data 文件夹下将会出现一个后缀名为 xml 的文件。

    Endnote XML
    Endnote XML
    Endnote 选择XML格式
    Endnote 选择XML格式

    3、导入 Zotero

    打开 Zotero,在左上角工具栏选择【文件】=>【导入...】

    Zotero 菜单
    Zotero 菜单

    如下图示,在弹出的 import 窗口界面选择【A file(BibTex,RIS,Zotero RDF,etc.)】,点击继续

    Zotero导入选项
    Zotero导入选项

    在弹出的文件浏览器界面选择步骤2、导出 Endnote 题录和附件中保存的 xml 文件,点击【Open】

    选择文件
    选择文件

    在弹出的 import 界面中如下图选择以下两个选项,将导入的题录单独放在一个文件夹,然后将条目的 PDF 附件也导入到 Zotero 的存储文件夹中,便于 Zotero 同步(否则只是存储文件链接,在其他设备打不开附件),最后点击【继续】。

    Zotero导入向导第二步
    Zotero导入向导第二步

    如下图所示,Endnote 的题录和附件则导入成功。

    Zotero 导入完成
    Zotero 导入完成

    请注意,如下图示,如果 Zotero 在 EndNote XML 数据中遇到它不支持的任何字段(例如,自定义字段、作者地址、作者隶属关系),它会将这些数据添加到附加到导入项目的注释笔记中。这些注释将标记为“_EndnoteXML 导入”。如果导入增加了许多这些注释笔记,Zotero 的性能可能会受到负面影响。您应该查看其中每个注释,以确定是否需要保留数据并删除任何不必要的注释笔记。此外,还应检查这些注释笔记,以确定是否可以将任何数据迁移到正确的 Zotero 字段(如果以非标准方式使用 EndNote 字段,这一点尤其重要)。

    Zotero导入非标字段
    Zotero导入非标字段

    从 Microsoft Word 导入

    1、下载 bibtex.xsl 文件

    下载地址:https://gist.githubusercontent.com/JaimeChavarriaga/40166befb14f2fe5dac390688d9eaf03/raw/faf4aa3f72e553095f81f1440c3dce744c2755a2/bibtex.xslopen in new window

    2、Word 软件添加 bibtex 样式

    目录如下(详细步骤以 Mac 为例)

    Mac 目录:

    /Applications/Microsoft Word.app/Contents/Resources/Style

    Windows 目录

    Word 2010 for Windows:

    C:\Program Files\Microsoft Office\<Office version>\Bibliography\Style

    Word 2016/2019/Office 365 for Windows:

    C:\Users\<currentusername>\AppData\Roaming\Microsoft\Bibliography\Style

    打开访达,左上角工具栏点击【前往】=>【前往文件夹】

    Word 导出
    Word 导出

    在弹出的窗口粘贴上面提到的 Mac 路径,按 Enter 键

    选择路径
    选择路径

    将下载好的 bibtex.xsl 文件复制到该文件夹下。

    复制bib
    复制bib

    3、Word 引文导出

    打开 Word 文件,如下图中 ① 所示,在选项卡中点击【引用】,紧接着点击图中 ② 所示,切换引文格式

    Word切换引文格式
    Word切换引文格式

    选择“Bibtex Export”

    选择bibtex export
    选择bibtex export

    即可看到文末参考文献列表的引文格式发生了变化,复制下图所示区域的代码到剪切板。

    复制代码
    复制代码

    4、导入 Zotero

    打开 Zotero,在“我的文库”中选择(或新建后选中)一个文件夹,用于存放要导入的文献条目,在左上角工具栏点击【文件】=>【从剪切板导入】

    导入Zotero菜单
    导入Zotero菜单

    即可如下图所示,成功导入 Word 文档中引用的文献。

    导入完成
    导入完成

    其他工具软件

    详细信息请见官方链接:https://www.zotero.org/support/moving_to_zoteroopen in new window

    Zotero 支持导入的文件格式

    • Zotero RDF
    • CSL JSON
    • BibTeX
    • BibLaTeX
    • RIS(Can be convenient for quick edits between export & import because of its simple structure)
    • Bibliontology RDF
    • MODS (Metadata Object Description Schema)
    • Endnote XML(Best format for exporting from Endnote)
    • Citavi XML(Best format for exporting from Citavi)
    • MAB2
    • MARC
    • MARCXML
    • MEDLINE/nbib
    • OVID Tagged(使用教程参考https://www.lib.whu.edu.cn/sybz/WHU04134Ovid.pdf)open in new window
    • PubMed XML
    • RefWorks Tagged(Best format for exporting from RefWorks)
    • Web of Science Tagged
    • Refer/BibIX(Generally avoid if any other option is available)
    • XML ContextObject
    • Unqualified Dublin Core RDF

    您还可以通过支持【导出上述文件格式的网站或软件】中导入题录到 Zotero,例如 Reference Manager、RefWorks、Papers、Google Scholar Library、ReadCube 等,方法是下载好以上的标准化的参考格式文件,例如 RIS、BibTeX 或 CSL JSON,然后通过单击“文件”→“导入...”导入 Zotero,然后选择“文件”,即可导入 Zotero。

    + + + diff --git a/user-guide/index.html b/user-guide/index.html new file mode 100644 index 0000000000..2dc0bce6b8 --- /dev/null +++ b/user-guide/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Zotero 百科全书 | Zotero 中文小组 + + + + + +
    跳至主要內容

    Zotero 百科全书

    Zotero Chinese大约 3 分钟

    Zotero 百科全书

    相关信息

    在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下!

    本文档由 Zotero Chineseopen in new window 团队维护。有任何问题,欢迎在文档下方留言!

    本文档地址:https://zotero-chinese.com/open in new window

    ⛳️ Zotero 百科全书简介

    本文档分为以下几个部分:

    • 为什么使用 Zotero:关于 Zotero 的优势,与其他同类软件的对比
    • 安装:安装 Zotero 桌面端、浏览器插件、移动端的步骤
    • Zotero 使用教程
      • 基础使用:包括导入条目 初级、编辑条目 中级、导入文件 初级、添加分类和标签 初级、阅读和笔记 初级
      • 创建参考文献:主要包括在 Word 中插入参考文献相关的内容 中级
      • 同步、备份和协作:包括同步数据 中级、备份数据 高级、创建群组 高级
      • 插件:关于如何安装插件、优秀插件推荐等 中级
    • Zotero 常见问题:导入条目的问题合集、插入引用的问题合集等,非常规用法等
    • Zotero 资源合集:施工中

    内容分级

    文档内容会有标记 初级中级高级,读者初次了解 Zotero 时,仅需要掌握“初级”内容,随着了解和使用的深入,再探究更高难度的用法。

    由于内容较多,建议当作字典使用,在遇到问题时通过顶部搜索栏搜索关键字,例如遇到同步问题,则搜索“同步”。

    ⭐️ 常用文档和链接

    🎯 创建 Zotero 百科全书的目的

    以往的 Zotero 社区存在两大问题:

    • 网络资料不便搜索且良莠不齐
      网上有许多关于 Zotero 的使用帖子或教程,但分散在各处,不方便搜索。许多内容过时或错误,使用者按照错误的教程操作带来更多问题。
    • 答疑效率低下
      以往 Zotero 使用中遇到问题,往往在群里提问,或者在相关教程/视频下留言,消息容易被刷掉或遗漏,效率低下。

    为了解决上述问题,我们创建了这个 Zotero 百科全书文档,权威、准确、一站式解决 Zotero 使用问题。

    ❤️ 贡献指南

    我如何参与到文档维护中?

    请参阅:贡献指南

    + + + diff --git a/user-guide/install.html b/user-guide/install.html new file mode 100644 index 0000000000..943e350108 --- /dev/null +++ b/user-guide/install.html @@ -0,0 +1,40 @@ + + + + + + + + + + 安装 | Zotero 中文小组 + + + + + +
    跳至主要內容

    安装

    Zotero Chinese大约 2 分钟

    安装

    主程序(PC)

    请在 Zotero 官网 (https://zotero.org)open in new window 下载对应自己操作系统的安装包。

    image.png
    image.png

    浏览器插件 Zotero Connector

    Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。

    请在主程序安装完成后,打开常用的浏览器,点击上图右侧的 Install Connector 按钮下载。

    支持常用浏览器:Chrome(谷歌浏览器),Firefox(火狐浏览器),Edge(微软自带浏览器),Safari(macOS 自带浏览器)。

    提示

    由于 Google Chrome Store 在国内无法正常访问,所以如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。

    如果你使用谷歌浏览器且无法打开插件下载页面,可在其他镜像站下载。例如:

    下载安装完毕后,在浏览器右上角可看到插件图标(icon-connector-document.pngimage.png)。此时,浏览器插件已经安装成功了。

    当你打开一个可抓取文献的网页时,插件图标会显示为icon-connector-document.pngimage.pngimage.png等。稍后当我们设置完成,点击插件图标即可抓取文献。具体使用方法将在 将条目添加进文献库open in new window 小节中展开。

    其他平台客户端

    iOS

    Zotero 官方目前已开发有 iOS 客户端,在 App store 搜索下载 Zotero 即可,APP 首页:Zotero for iOSopen in new window

    注意

    要使用 iOS 客户端,需要使用官方同步或 WebDAV 同步二者之一,才能顺利同步附件。其他使用 ZotFile 等链接文件的同步方式不支持,未来也不会支持。

    Android

    Zotero 官方现已发布 Zotero for Android 测试版open in new window,然而,测试期间存在人数限制,且下载链接在 Google Play,国内下载不便,支持功能也有限,有条件的同学可以自行尝试。

    在官方版本正式发布前, Android 用户可使用以下第三方客户端:

    + + + diff --git a/user-guide/misc/index.html b/user-guide/misc/index.html new file mode 100644 index 0000000000..426b5877ce --- /dev/null +++ b/user-guide/misc/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 其他 | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/misc/link-citation-to-bibliography.html b/user-guide/misc/link-citation-to-bibliography.html new file mode 100644 index 0000000000..8556651532 --- /dev/null +++ b/user-guide/misc/link-citation-to-bibliography.html @@ -0,0 +1,254 @@ + + + + + + + + + + 在 Word 中把引注链接到参考文献表 | Zotero 中文小组 + + + + + +
    跳至主要內容

    在 Word 中把引注链接到参考文献表

    Northword大约 3 分钟

    在 Word 中把引注链接到参考文献表

    描述

    建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:

    EndNote 中关于链接引注和参考文献表的选项
    EndNote 中关于链接引注和参考文献表的选项

    Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]

    从 Zotero 论坛发现了通过 Word 宏实现的功能 [2],虽有一些缺陷,但基本可以达成需求。

    配置及使用

    在 Word 里新建一个宏,添加宏代码如下:

    Public Sub ZoteroLinkCitation()
    +
    +' get selected area (if applicable)
    +    Dim nStart&, nEnd&
    +    nStart = Selection.Start
    +    nEnd = Selection.End
    +
    +' toggle screen updating
    +    Application.ScreenUpdating = False
    +
    +' define variables
    +    Dim title As String
    +    Dim titleAnchor As String
    +    Dim style As String
    +    Dim fieldCode As String
    +    Dim numOrYear As String
    +    Dim pos&, n1&, n2&, n3&
    +
    +    ActiveWindow.View.ShowFieldCodes = True
    +    Selection.Find.ClearFormatting
    +
    +' find the Zotero bibliography
    +    With Selection.Find
    +        .Text = "^d ADDIN ZOTERO_BIBL"
    +        .Replacement.Text = ""
    +        .Forward = True
    +        .Wrap = wdFindContinue
    +        .Format = False
    +        .MatchCase = False
    +        .MatchWholeWord = False
    +        .MatchWildcards = False
    +        .MatchSoundsLike = False
    +        .MatchAllWordForms = False
    +    End With
    +    Selection.Find.Execute
    +
    +    ' add bookmark for the Zotero bibliography
    +    With ActiveDocument.Bookmarks
    +        .Add Range:=Selection.Range, Name:="Zotero_Bibliography"
    +        .DefaultSorting = wdSortByName
    +        .ShowHidden = True
    +    End With
    +
    +    ' loop through each field in the document
    +    For Each aField In ActiveDocument.Fields
    +        ' check if the field is a Zotero in-text reference
    +        '##################################################
    +        If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then
    +            fieldCode = aField.Code
    +            '#############
    +            ' Prepare
    +            ' Plain citation== Format of Textfield shown
    +            ' must be in Brackets
    +            Dim plain_Cit As String
    +            plCitStrBeg = """plainCitation"":""["
    +            plCitStrEnd = "]"""
    +            n1 = InStr(fieldCode, plCitStrBeg)
    +            n1 = n1 + Len(plCitStrBeg)
    +            n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1
    +            plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2)
    +            'Reference 'as shown' in word as a string
    +
    +            'Title array in fieldCode (all referenced Titles within this field)
    +            Dim array_RefTitle(32) As String
    +            i = 0
    +            Do While InStr(fieldCode, """title"":""") > 0
    +                n1 = InStr(fieldCode, """title"":""") + Len("""title"":""")
    +                n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1
    +                If n2 < n1 Then 'Exception the type 'Article'
    +                    n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1
    +                End If
    +                array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1)
    +                fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1)
    +                i = i + 1
    +            Loop
    +            Titles_in_Cit = i
    +
    +            'Number array with References shown in PlainCit
    +            'Numer is equal or less than Titels, depending on the type
    +            '[3], [8]-[10]; [2]-[4]; [2], [4], [5]
    +            ' All citations have to be in Brackets each! [3], [8] not [3, 8]
    +            ' This doesnt work otherwise!
    +            ' --> treatment of other delimiters could be implemented here
    +            Dim RefNumber(32) As String
    +            i = 0
    +            Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0
    +                n1 = InStr(plain_Cit, "[")
    +                n2 = InStr(plain_Cit, "]")
    +                RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1))
    +                plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1)
    +            i = i + 1
    +            Loop
    +            Refs_in_Cit = i
    +                 'treat only the shown references (skip the rest)
    +            '[3], [8]-[10] --> skip [9]
    +            'Order of titles given from fieldcode, not checked!
    +            If Titles_in_Cit > Refs_in_Cit Then
    +                array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1)
    +                i = 1
    +                Do While Refs_in_Cit + i <= Titles_in_Cit
    +                    array_RefTitle(Refs_in_Cit + i - 1) = ""
    +                    i = i + 1
    +                Loop
    +            End If
    +
    +            '#############
    +            'Make the links
    +            For Refs = 0 To Refs_in_Cit - 1 Step 1
    +                title = array_RefTitle(Refs)
    +                array_RefTitle(Refs) = ""
    +                ' make title a valid bookmark name
    +                titleAnchor = title
    +                titleAnchor = MakeValidBMName(titleAnchor)
    +
    +                ActiveWindow.View.ShowFieldCodes = False
    +                Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography"
    +
    +                '' locate the corresponding reference in the bibliography
    +                '' by searching for its title
    +                Selection.Find.ClearFormatting
    +                With Selection.Find
    +                    .Text = Left(title, 255)
    +                    .Replacement.Text = ""
    +                    .Forward = True
    +                    .Wrap = wdFindContinue
    +                    .Format = False
    +                    .MatchCase = False
    +                    .MatchWholeWord = False
    +                    .MatchWildcards = False
    +                    .MatchSoundsLike = False
    +                    .MatchAllWordForms = False
    +                End With
    +                Selection.Find.Execute
    +
    +                ' select the whole caption (for mouseover tooltip)
    +                Selection.MoveStartUntil ("["), Count:=wdBackward
    +                Selection.MoveEndUntil (vbBack)
    +                lnkcap = "[" & Selection.Text
    +                lnkcap = Left(lnkcap, 70)
    +
    +                ' add bookmark for the reference within the bibliography
    +                Selection.Shrink
    +                With ActiveDocument.Bookmarks
    +                    .Add Range:=Selection.Range, Name:=titleAnchor
    +                    .DefaultSorting = wdSortByName
    +                    .ShowHidden = True
    +                End With
    +
    +                ' jump back to the field
    +                aField.Select
    +                ' find and select the numeric part of the field which will become the hyperlink
    +                Selection.Find.ClearFormatting
    +                With Selection.Find
    +                    .Text = RefNumber(Refs)
    +                    .Replacement.Text = ""
    +                    .Forward = True
    +                    .Wrap = wdFindContinue
    +                    .Format = False
    +                    .MatchCase = False
    +                    .MatchWholeWord = False
    +                    .MatchWildcards = False
    +                    .MatchSoundsLike = False
    +                    .MatchAllWordForms = False
    +                End With
    +                Selection.Find.Execute
    +
    +                numOrYear = Selection.Range.Text & ""
    +
    +                ' store current style
    +                style = Selection.style
    +                ' Generate the Hyperlink -->Forward!
    +                ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear
    +                ' reset the style
    +                Selection.style = style
    +
    +                ' comment if you want standard link style
    +                aField.Select
    +                With Selection.Font
    +                     .Underline = wdUnderlineNone
    +                     .ColorIndex = wdBlack
    +                End With
    +
    +            Next Refs 'References in Cit
    +
    +        End If  'If Zotero-Field
    +        '#########################
    +
    +        Next aField ' next field
    +
    +        ' go back to original range selected
    +        ActiveWindow.View.ShowFieldCodes = False
    +        ActiveDocument.Range(nStart, nEnd).Select
    +
    +    End Sub
    +    Function MakeValidBMName(strIn As String)
    +        Dim pFirstChr As String
    +        Dim i As Long
    +        Dim tempStr As String
    +        strIn = Trim(strIn)
    +        pFirstChr = Left(strIn, 1)
    +        If Not pFirstChr Like "[A-Za-z]" Then
    +            strIn = "A_" & strIn
    +        End If
    +        For i = 1 To Len(strIn)
    +            Select Case Asc(Mid$(strIn, i, 1))
    +            Case 49 To 57, 65 To 90, 97 To 122
    +                tempStr = tempStr & Mid$(strIn, i, 1)
    +            Case Else
    +                tempStr = tempStr & "_"
    +            End Select
    +            Next i
    +            tempStr = Replace(tempStr, "  ", " ")
    +            MakeValidBMName = Left(tempStr, 40)
    +        End Function
    +

    缺陷和注意事项

    • 手动更新引注时会出现引注已被修改的弹窗
    • 无法实现从参考文献表跳转到引注
    • 同时引用多个引注时只能链接最后一个。

    1. 来源添加 ↩︎

    2. Word: Possibility to link references and bibliography in a document? -  Zotero Forumsopen in new window ↩︎

    + + + diff --git a/user-guide/misc/preference.html b/user-guide/misc/preference.html new file mode 100644 index 0000000000..6d62f17331 --- /dev/null +++ b/user-guide/misc/preference.html @@ -0,0 +1,40 @@ + + + + + + + + + + 首选项:高级设置 | Zotero 中文小组 + + + + + +
    跳至主要內容

    首选项:高级设置

    Zotero Chinese大约 6 分钟

    首选项:高级设置

    本节是 https://www.zotero.org/support/preferences/hidden_preferencesopen in new window 的翻译版本。

    您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级的用途。

    Zotero

    要查看 Zotero 首选项的完整列表,包括许多隐藏的首选项,请转到 Zotero 首选项的高级窗格并单击“设置编辑器”。 在出现的列表顶部的过滤器字段中输入“Zotero”。 用户可以安全更改的首选项如下所述。
    大多数 Zotero 隐藏首选项都以“extensions.Zotero”开头。

    通用设置

    这些通用隐藏设置允许您定制化 Zotero 。

    设置名称默认值描述
    attachmentRenameFormatString'{%c - }{%y - }{%t{50}}'Zotero 自动重命名从连接器(又称 translator 浏览器插件,见相关章节)保存的附件。 此字符串控制这些名称的格式。 %c 是创建者,%y 是年份,%t 是标题,每个部分周围的花括号表示“仅当内部指定的字段非空时才包含此部分”,{50} 表示“截断 50 个字符”。 您可以重新排列这些以满足您的需要。
    backup.interval1440Zotero 自动备份数据库的最长间隔(以分钟为单位)。 默认值为每 24 小时(1440 分钟)
    backup.numBackups2Zotero 应该保留多少自动数据库备份。 多余的备份最先删除。 这不包括在数据库升级期间进行的备份。 请注意,将其设置得太高可能会导致数据库升级备份被覆盖。
    capitalizeTitlestrue默认情况下,Zotero 将重新命名您抓取条目的标题(例如,删除所有大写字母)。 将此首选项切换为 false,您将保留标题的原始信息。
    debug.level5启用 debug.log 时,确定显示的调试级别中的最低值(1-5,其中 5 为最低)
    debug.logfalse用于调试 Zotero。见debug outputopen in new window.
    debug.timefalse启用 debug.log 时,显示上一次调试调用的毫秒数
    fontSize“1.0”此首选项允许您增加或减少 Zotero 界面中文本的大小。
    httpServer.enabledtrue如果设置为 true,Zotero 将侦听来自 Zotero 连接器的请求(例如,允许将项目从连接器保存到 Zotero)。
    httpServer.port23119如果启用了 httpServer.enabled,这是 Zotero 将侦听来自 Zotero 连接器的连接的端口。
    sortAttachmentsChronologicallyfalse如果设置为 true,您的附件将按您添加它们的顺序而不是按字母顺序排序。
    sortNotesChronologicallyfalse如果设置为 true,您的笔记将按您添加它们的顺序而不是按字母顺序排序。

    PDF Reader 阅读器

    设置名称默认值描述
    sortNotesChronologically.readertrue按时间倒序对条目进行排序。 如果为 false,则按字母顺序排序。

    Note Editor 笔记编辑器

    设置名称默认值描述
    note.fontSize14注意字体大小 — 可从“查看”菜单设置,但其他值(包括小数)可以手动设置
    note.smartQuotestrue自动将 straight quotes 转换为 typographic quotes

    Translator 转换器设置

    这些隐藏设置允许您控制某些特定条目格式的导入/导出转换器的行为。 所有翻译器隐藏首选项都以“extensions.Zotero.translators”开头。

    设置名称默认值描述应用于
    RIS.import.ignoreUnknowntrue不要在注释中存储无法映射到 Zotero 字段的值。RIS import translator
    RIS.import.keepIDfalse不要从“ID -”标签中删除值。 可用于在 EndNote 中查找项目。RIS import translator
    BibTeX.export.dontProtectInitialCasefalse如果只有第一个字母大写,则不要用大括号将单词括起来。 如果您在 Zotero 中以标题大小写输入标题,则很有用(不推荐)。 false: {Tame {The} {BeaST}}, true: {Tame The {BeaST}} 请注意,如果第一个单词不包含内部大写字母,则永远不会被{}包围BibTeX export translator
    BibTeX.export.simpleCitekeynull默认情况下,仅对新添加的条目使用 citekey 的新简单格式(不允许除破折号和下划线之外的任何特殊字符)。 将此隐藏键设置为 true,将始终使用这种简单的 citekeys。BibTeX export translator

    全文索引

    这些设置处理 Zotero 从导入文件创建全文索引的能力。

    设置名称默认值描述
    search.useLeftBoundtrue确定 Zotero 是仅根据左边界查找单词匹配,还是在单词中的任何位置查找匹配。 将此设置为 false 可能对英语以外的语言有益,但可能会显着减慢 Zotero 的搜索功能。

    Report

    这些选项允许您自定义您的 report 显示行为。

    设置名称默认值描述
    report.includeAllChildItemstrue默认情况下,仅选择报告的父项会导致这些项的子注释和附件也包含在内。 如果 includeAllChildItems 设置为 false,则仅包含您选择的项目。 无论此设置如何,选择父项和子项的组合都将导致仅显示选定的项。
    report.combineChildItemstrue默认情况下,Zotero 将报告中的子注释和附件分组在其父项下。 将此切换为 false 将导致注释与其父项分开显示。 这对于有兴趣将 Zotero 的笔记功能用作大纲工具的人很有帮助。

    引文快速复制设置

    设置名称默认值描述
    export.quickCopy.compatibility.indentBlockquotestrueWord 和 TextEdit 不会自行缩进块引用,需要启用此功能。 在 LibreOffice 中产生额外的缩进,可以正确处理块引用。
    export.quickCopy.compatibility.Wordfalse将 Word Normal 样式添加到段落并启用双倍行距。 LibreOffice 将条件样式代码作为文档注释插入。
    quickCopy.quoteBlockquotes.plainTexttrue在纯文本输出中的块引用段落周围添加引号
    quickCopy.quoteBlockquotes.richTexttrue在富文本输出中为块引用段落添加引号

    Word 插件

    设置名称默认值描述
    integration.keepAddCitationDialogRaisedfalse如果将其切换为 true,则可以将 Zotero Word 插件界面用于添加引文始终位于最前面。 并防止它隐藏在您正在使用的 Word 窗口后面。

    Zotero 连接器 Connector

    要查看 Zotero 连接器的隐藏设置,请打开连接器的首选项(通过右键单击保存按钮并在 Chrome 和 Firefox 中选择首选项/选项,或在 Safari 中长按保存按钮)。 然后,单击“高级”,然后单击“配置编辑器”。

    转换器设置

    Zotero 连接器支持一些通常适用于所有转换器或特定网站转换器的设置。 要使用这些设置,在 Zotero 连接器配置编辑器中,单击“添加设置”。 键入或粘贴首选项的名称,然后单击“确定”。 从下表中输入适当的首选项值(例如,true 或 1),然后再次单击“确定”。

    设置名称默认值描述应用于
    translators.attachSupplementaryfalse转换器在导入项目时应尝试附加补充数据。All web translators implementing this behavioropen in new window
    translators.supplementaryAsLinkfalse补充数据附件应作为链接附加,而不是下载。 如果禁用 attachSupplementary,则此选项无效。 将此选项设置为“true”可以保持快速访问补充数据的便利性,但可以加快从 Web 保存项目的速度。All web translators implementing this behavioropen in new window
    translators.ACS.highResPDF0确定附加的全文 PDF 版本: 0 - 带链接的 PDF; 1 - 高分辨率 PDF; 2 - 两者ACS Publications

    注意:补充数据首选项仅适用于转换器支持此行为的网站。 如果您遇到没有导入补充数据的站点,请在 Zotero 论坛上报告: Zotero forumsopen in new window

    + + + diff --git a/user-guide/misc/wps-plugin-vba.html b/user-guide/misc/wps-plugin-vba.html new file mode 100644 index 0000000000..eedd99e0de --- /dev/null +++ b/user-guide/misc/wps-plugin-vba.html @@ -0,0 +1,40 @@ + + + + + + + + + + 通过 VBA 在 WPS 中使用 Word 插件 | Zotero 中文小组 + + + + + +
    跳至主要內容

    通过 VBA 在 WPS 中使用 Word 插件

    winding不秃燃的小老弟大约 6 分钟

    通过 VBA 在 WPS 中使用 Word 插件

    前言(很重要哦!)

    相关信息

    Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝在 Word 中插入引文

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!(无法正常使用请见本文档 四、Refresh/Unlink Citations 莫名失效

    注意

    以下是 WPS 的 Zotero Word 加载项的常见问题及解决方法,均以 Window 系统为例演示 📝:

    一、没有显示 Zotero 加载项

    image.png
    image.png

    相关信息

    如上图所示,WPS 的文档界面不显示 Zotero 加载项。解决办法如下

    1、检查 Microsoft Word 加载项

    检查 Zotero 是否已正常安装好Microsoft Word 加载项。安装此加载项的步骤,详见 Zotero 百科全书的 【引文|插件】Word 加载项相关问题(点击左侧蓝字自查)

    重新安装 Word 插件
    重新安装 Word 插件

    2、WPS.VBA 插件的安装

    若 WPS 为个人版,需额外安装 VBA 插件open in new window(点击左侧蓝字获取插件)

    注意

    WPS 专业版等版本一般已自带 VBA 宏功能,Zotero 加载项如有使用问题,也可选择安装 VBA 插件。

    1)将 WPS.VBA 安装程序下载并保存到电脑,确保 WPS 程序是 未运行状态。

    image.png
    image.png

    2)双击打开 WPS. VBA 安装程序,依次单击【Next】,最后单击【Finish】。用 WPS 打开任意一个 Word 文档,检查是否正常显示 Zotero 加载项。

    image.png
    image.png

    注意

    若 WPS. VBA 安装后,仍未显示 Zotero 加载项,或需将【宏安全性】设成低(但不建议)。除此外可见下方3、补充 Zotero. dotm 文件

    3、补充 Zotero.dotm 文件

    1)在 Zotero 图标处右键单击,单击【打开文件所在的位置】打开 Zotero 安装路径

    image.png
    image.png

    2)依次双击打开【extensions】-【zoteroWinWordIntegration@zotero.org】-【install】文件夹,复制 Zotero.dotm 文件。

    image.png
    image.png
    image.png
    image.png

    注意

    如果上图文件夹位置没有 Zotero.dotm,可点击右侧蓝字获取 Zotero.dotmopen in new window

    3)在 WPS 图标处右键单击,单击【打开文件所在的位置】打开 WPS 安装路径。

    image.png
    image.png

    注意

    以上前提是确保 WPS 已关闭,不在运行中!!!

    4)找到并打开版本最新的文件夹(即数字最大),再依次打开【office6】-【startup

    image.png
    image.png
    image.png
    image.png

    5)在 WPS 的【startup】启动项文件夹内,粘贴 Zotero.dotm 文件。再次用 WPS 打开任一 Word 文档,检查 WPS 是否已显示 Zotero 加载项。

    image.png
    image.png

    二、Zotero 加载项出现弹窗报错

    image.png
    image.png

    相关信息

    如上图所示,在 WPS 使用 Zotero 加载项的各个按钮时,会出现弹窗警告。解决方法如下

    1、解决方法一

    新建一个 Word 文档,先用 Office打开此文档,用 Zotero 加载项 插入一篇文献后,保存此文档即可。

    image.png
    image.png

    注意

    设置较简单,仅适用于同时安装 Office 和 WPS。以后再使用时,可能还会报错。

    如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部

    解决方法:将光标定位在远离上述位置如正文文字处

    2、解决方法二

    1)单击【开发者工具】-【加载项】,弹出的对话框单击【选用】。

    image.png
    image.png

    注意

    设置较复杂,适用于 同时装有 Office 和 WPS只装有 WPS

    注意

    若【开发工具】选项卡的内容为灰色,即无法点击操作。

    解决方法:安装 WPS. VBA 插件(详见本文档 WPS. VBA 插件的安装

    或需升级更新 WPS 版本,以及可能需要安装使用 WPS 专业版等版本。

    2)弹出对话框,双击进入上方地址栏并复制地址,或地址栏处右键单击,再单击【将地址复制为文本】。复制好地址后,即可关闭当前窗口。

    image.png
    image.png

    3)单击【文件】选项卡,再单击【打开】。将 地址 粘贴至【文件名】,【文件类型】选择 所有文件,然后单击【打开】。

    image.png
    image.png
    image.png
    image.png

    4)选中 Normal.dotm 文件,单击【打开】,随之打开名为 Normal.dotm 文档。

    image.png
    image.png

    5)在 Normal.dotm 文档内,依次单击【文件】-【文档加密】-【属性

    image.png
    image.png

    6)在 Normal.dotm 属性对话框,切换到【自定义】窗口,【名称】和【取值】分别输入 ZOTERO_PREF_11 ,点击【添加】。同理,再添加上 ZOTERO_PREF_21 ,最后点击【确定】。

    image.png
    image.png

    这一步完成的效果如下:

    image.png
    image.png

    7)左上角单击【保存】图标或快捷键 Ctrl+S 保存 Normal.dotm 文档。重新用 WPS 打开一个 Word 文档检查是否不再出现报错窗口。

    image.png
    image.png

    注意

    如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的前后或内部

    解决方法:将光标定位在远离上述位置如正文文字处

    image.png
    image.png

    相关信息

    如上图所示,RefreshUnlink Citations图标显示为问号,解决办法如下

    1、直接安装美化后的图标文件

    1)我已创建 5 种 Refresh 和 Unlink Citations 图标open in new window(任选其一),可直接安装使用。点击上方蓝字即可获取,首先将其下载并保存到电脑(如下图所示)。

    image.png
    image.png

    注意

    只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标。

    下方是 5 个已编辑好的 RefreshUnlink Citations图标的图片展示。

    image.png
    image.png

    2)将上述任一 Zotero文件,粘贴至 WPS 的启动项文件夹内(详见本文档的 补充 Zotero.dotm 文件

    3)用 WPS 打开任一 Word 文档,但是会显示有 2 个 Zotero 加载项。

    image.png
    image.png

    注意

    因为没更换 Zotero 安装路径的 Zotero.dotm,且 Office Word 的启动项文件夹未放置 Zotero.dotm。

    相关信息

    这样做的考虑是:保持 Office Word 的 Refresh 和 Unlink Citations 图标不变动,同时保留原有的 Zotero. dotm,以备不时之需。当然也可自己按喜好设置更换。

    只保留 1 个 Zotero 加载项

    1)依次单击【开发者工具】-【加载项】。 单击选中 Zotero.dotm,单击【禁用】。

    image.png
    image.png

    2)Zotero.dotm 前面方框,此刻已更改成 取消勾选,点击【确定】即可。

    image.png
    image.png

    有时新建 Word 文档,用 WPS 打开后,无故出现点击 Refresh 和 Unlink Citations 功能失效(即无响应或莫名删掉引文 Citation)。

    解决方法

    1)不要将光标置于插入引文 Citaion 和参考文献 References 的位置(即将光标定位在远离上述位置如正文文字处,再点击 Refresh 按钮)

    2)重启 WPS,或新建一个 Word 文档,再用 WPS 打开。或必要时重启电脑即可正常使用。

    🔊🔊🔊 必看!!!:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击Add/Edit Citation 等这 6 个按钮,尤其是一定要多次点击RefreshUnlink Citations按钮,检查是否正常使用!!!

    致谢

    相关信息

    👍 到这里,在 WPS 中使用 Zotero Word 加载项的使用已接近尾声。在此由衷地感谢来自 b 站、知乎、CSDN 等网站的大神们分享的有关 WPS 的 Zotero Word 加载项使用的宝贵经验!!!

    + + + diff --git a/user-guide/mobile.html b/user-guide/mobile.html new file mode 100644 index 0000000000..2a43650f3a --- /dev/null +++ b/user-guide/mobile.html @@ -0,0 +1,40 @@ + + + + + + + + + + 移动端 | Zotero 中文小组 + + + + + +
    跳至主要內容

    移动端

    Zotero Chinese大约 3 分钟

    移动端

    iOS

    官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。

    安装

    安装

    配置

    提示

    在进行该部分操作时,请确保您拥有 Zotero账户具有WebDAV同步功能的网盘完成PC端相关设置

    1. 在第一次打开 Zotero 时,会提醒登陆,选择 Sign In(此时需要登陆你的 Zotero 账户)

      登陆Zotero账户
      登陆Zotero账户
    2. 登陆完成后,返回 app 主页,点击右上角的齿轮图标

      app首页
      app首页
    3. 点击 account 进入同步设置

    4. 从上到下依次为:

      • 附件同步方式:WebDAV
      • WebDAV 地址:dav.jianguoyun.com/dav
      • 坚果云账户:邮箱
      • 密码:此处的密码是在坚果云中创建的应用密码,不是坚果云网盘的登陆密码)

      验证服务器后显示Verified 表示设置成功。

      iOS同步登陆
      iOS同步登陆
    5. 等待片刻文献即可同步成功。可以点击文献直接阅读,也点击文献右侧的 i 标志查看文献信息
      文献同步成功

    6. 在文献阅读时,可以进行高亮内容,任意划线等操作。完成阅读是直接返回,你的阅读记录会后台自动同步到其他客户端。
      文献阅读

    Android

    提示

    Zotero 官方已经在测试 Android 版本客户端,预计 2024 年会发布。

    目前使用较多的 Android 客户端是 Zoo,开源免费,主要功能有:

    • 查看不同文件目录分类,包括子文件目录。不能编辑
    • 支持群组条目查看,不能编辑
    • 支持创建,编辑和删除笔记。这里是笔记,不是 PDF 里的注释笔记
    • 支持搜索功能,包括条目和笔记
    • 支持 WebDAV 附件下载与上传

    安装

    安装

    配置

    1. Zoo 安装成功后,需要使用 Zotero 授权的 API key 才能访问 Zotero 数据库。如果你已有一个 API key,可直接在下图中直接填入。一般刚使用 Zoo 的同学,都需要重新申请一下,输入 Zotero 账号和密码,点击 Got it,在授权页面注意需要选择 7 Save Key。如果不成功,可以多试几次。授权成功后,应用会开始下载文献库信息,文献越多,下载时间越长。如果等了 10-20 分钟还在 Loading,建议重启 APP 试试。详细说明参考下图

      为 Zoo 设置 Zotero API key
      为 Zoo 设置 Zotero API key
      Zoo 加载数据界面
      Zoo 加载数据界面
    2. 一般常用的附件同步方式是使用WebDAV,如果你使用 Zotero 的 300M 空间,可不必进行这一步设置。先打开右上角工作间 Setting,勾选下方的Use webdav to access attachments,再点击Config Webdav跳转到配置页面,填写好相应的网址,用户名和密码,请一定要注意核对网址,用户名和密码的空格,特殊符号等。这里里的网址后面会自动帮你加上 Zotero,填写时要注意

      Zoo 中配置 WebDAV
      Zoo 中配置 WebDAV
    3. 配置完毕,点开某个条目,点击 PDF 图标,会自动下载 PDF。有可能下载失败,重试即可

      Zoo 中下载 PDF
      Zoo 中下载 PDF
    + + + diff --git a/user-guide/ms-word-plugin.html b/user-guide/ms-word-plugin.html new file mode 100644 index 0000000000..dbf9857bd9 --- /dev/null +++ b/user-guide/ms-word-plugin.html @@ -0,0 +1,40 @@ + + + + + + + + + + 在 Word 中插入参考文献 | Zotero 中文小组 + + + + + +
    跳至主要內容

    在 Word 中插入参考文献

    Zotero Chinese大约 13 分钟

    这些是使用 Zotero for MS Office Word 插件的说明。

    要在 WPS 中使用插件,请参见 在 WPS 中使用 Zotero Word 插件

    Zotero Word 插件选项卡

    Zotero Word 插件选项卡
    Zotero Word 插件选项卡

    一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero 选项卡。如果你的 Word 里没有 Zotero 选项卡,请参见 故障排除 | 安装 Zotero 的 Word 插件

    Zotero 选项卡包含以下图标:

    名称图标描述
    添加/编辑引注插入引文在光标位置添加新引注或编辑文档中的现有引注。
    添加/编辑参考文献表添加参考文献表在光标位置插入参考文献表或编辑现有书目。
    添加笔记在光标当前位置插入笔记。请注意,此功能不常用,点击后会出现黄色插入框。如果不小心点开了,可以用键盘上的 Esc 键关闭黄色插入框。
    文档首选项文档首选项打开“文档首选项”窗口,例如更改引文样式。
    刷新刷新立即刷新所有引注和参考文献表,更新 Zotero 库中已更改的项目元数据。
    取消链接引注unlink通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成。

    文档首选项

    Word文档首选项窗格
    Word文档首选项窗格

    “文档首选项”窗口允许您设置以下针对该文档的设置:

    1. 引文样式

      一般情况下,你只需要修改这一项,其余设置均保持默认即可。

    2. 设置引注和参考文献表的格式的语言。

    3. 对于基于注释的样式,例如“China National Standard GB/T 7714-2015(note,Chinese)”,引文是插入为脚注还或尾注。

      脚注和尾注的样式和格式由 Word(而不是 Zotero)控制。

    4. 将引文存储为字段还是书签

      默认为“字段”。除非您需要使用 LibreOffice 与同事协作,否则应始终选择“字段”。

    5. 对于缩写期刊标题的样式(例如,“Nature”),是否使用 MEDLINE 缩写列表来缩写标题。

      如果选择此选项(默认值),则 Zotero 中“ ”字段的内容将被忽略。

    6. 是否自动更新引注和参考文献表
      一般情况下开启即可。当文档中引文非常多,每次更新都会卡顿时,可以关闭此功能,添加一部分或最终手动进行更新。

    添加引注

    您可以通过单击“添加/编辑引注”(插入引文)按钮开始添加/编辑引用。

    在一个未添加过引文的文档中,按下按钮将首先显示“文档首选项”窗口以让用户选择一个样式文件,之后按下按钮将显示引文对话框。

    引文对话框用于从 Zotero 库中选择项目,并创建引文。

    开始在对话框中键入标题的一部分、一个或多个作者的姓氏和/或年份。匹配项将立即显示在对话框下方。

    引文对话框
    引文对话框

    提示

    如果您在输入中文后,对话框下方并未出现相应的匹配项,您可以再输入一个空格,相关的匹配项就可以正常显示了。

    通过单击项目或在项目突出显示时按 Enter/Return 键来选择该项目。该项目将以阴影气泡的形式显示在对话框中。完成添加所有引用项目后,再次按 Enter/Return 键以插入引文并关闭“添加引文”框。

    引文对话框
    引文对话框

    小技巧

    在“添加引文”对话框中,您可以单击被引用项目的气泡,然后单击“在我的库中打开(或组库的名称)”以在 Zotero 中查看该项目。

    孤立的项目(未连接到 Zotero 数据库中的任何项目)将没有“在我的库中打开”按钮。如果孤立项目是由协作者从其“我的媒体库”或您无权访问的群组中插入的,或者您已从 Zotero 资料库中删除了这些项目,则这些项目可能存在。

    编辑引文
    编辑引文

    包含多个被引用项目的引文

    引文对话框
    引文对话框

    要创建包含多个引文的引文(例如,数字样式为[2,4-6],作者日期样式为“(Smith 1776, Schumpeter 1962)”),请在“添加引文”框中一个接一个地添加它们。选择第一个项目后,不要按 Enter/Return 键,而是键入下一个项目的作者、标题或年份。

    提示

    如果在连续添加多个引文时,新输入的内容仍被包裹在上一个引用项目的气泡中,您可以先输入一个空格,然后再输入下一个引用项目的信息。

    某些引文样式要求一个文本内引文中的项目按字母顺序排序(例如,“(Doe 2000, Grey 1994, Smith 2008)”)或按时间顺序排序(“(Grey 1994, Doe 2000, Smith 2008)”)。Zotero 将自动遵循这些排序规则。

    • 若要禁用引文中引文的自动排序,请拖动引文以在“添加引文”框中重新排列引文。您也可以单击“添加引文”框左侧的“Z”图标,然后取消选中“将源排序”选项。此选项仅对指定引文排序顺序的引文样式显示。 要恢复自动排序,请重新选中“保持源已排序”选项。

    添加参考文献表

    单击“添加/编辑参考文献表”(添加参考文献表)按钮会在光标位置插入参考文献表。

    Zotero 将根据文档中的引文自动更新参考书目。

    在极少数情况下,如果要将未在文档中引用的项目添加到书目中,可以再次单击“添加/编辑书目”按钮,这将打开 书目编辑器open in new window。在 Word 中对书目进行的手动编辑将在下次 Zotero 刷新文档时被覆盖。

    切换到“经典视图”

    “添加/编辑引注”对话框有默认版与经典版两种,下图为经典版的示例:

    经典引文对话框
    经典引文对话框

    您可以通过单击“添加引文对话框”左侧的“Z”图标并选择“经典视图”来切换到“经典视图”引文对话框。

    切换经典视图
    切换经典视图

    要永久切换到经典视图,请勾选 Zotero -编辑 -首选项 -“引用”选项卡 -使用经典添加引文对话框。

    使用经典引文对话框
    使用经典引文对话框

    经典视图下使用多来源引用

    单击引文选取对话框左下角“多重来源”,右侧会出现多重来源列表,将引文从左侧拾取到右侧即可。

    经典视图下多重来源的引文排序

    经典引文对话框-添加多来源
    经典引文对话框-添加多来源
    • 若要禁用引文中引文的自动排序,请在“添加引文”框中拖动引文以重新排列它们。你也可以取消选中“保持来源分类”选项。此选项仅对指定引文排序顺序的引文样式显示。 要恢复自动排序,请重新选中“保持源已排序”选项。

    自定义引用

    可以通过各种方式自定义引文。

    如果引文只是不正确或缺少数据,请首先确保 Zotero 中的项目元数据正确完整,然后单击插件中的“刷新”以使用任何更改更新文档。

    可以通过引文对话框进行其他自定义。单击文档中的现有引文,然后单击“添加/编辑引文”以打开引文对话框,然后单击引文气泡以打开引文选项窗口,您可以在其中进行以下更改。

    编辑引文
    编辑引文

    页码和其他定位器(图、表等)

    在某些情况下,您希望引用项目的某个部分,例如某个页面,页码范围或卷。这种额外的引文特定信息(例如,引文“Doe et al.,2001 年,page 4-7”中的“page 4-7”)被称为“定位器”。

    引用选项窗口具有不同定位器类型的下拉列表(默认为“page”),以及一个可在其中输入定位器值(例如“4-7”)的文本框。要引用除所列定位符以外的定位符(例如“表”),请使用“后缀”字段。

    您还可以在插入引文时添加页码。搜索项目,在选择项目之前或之后,但在按 Enter 将引文插入到文档中之前,键入“p.34”、“p34”,甚至只是键入“34”,页码将添加到引文中。

    前缀和后缀

    “前缀”和“后缀”文本框允许您指定文本,分别位于自动生成的引用之前和之后。例如,您可能想要“cf. Tribe 1999, see also see……”,而不是“Tribe 1999”。

    前缀和后缀字段中的任何文本都可以使用 HTML 标记 <i>(斜体)、<b>(粗体)、<子>(下标)和<up>(上标) 进行格式设置。例如,键入 <i>cf</i>example 将显示为 _cf_. example

    前缀和后缀可以应用于引文中的每个项目,以创建复杂的引文。例如:“(参见 Smith 1776 的经典例子; 马克思 1867 年提出和另一种观点)”。通过在“前缀”和“后缀”字段中输入文本来修改引文始终比直接在 Word 中的引文字段中键入内容更可取。手动修改将阻止 Zotero 自动更新引文。

    省略作者:在文本中使用作者

    使用作者日期样式,作者经常被移到文本中,并从以下括号括起来的引文中省略,例如:“……根据史密斯(1776)的说法,劳动分工至关重要……“。要从引用中省略作者,请选中“省略作者”框(这将导致引用类似于“(1776)”而不是“(Smith,1776)”),并将作者的姓名(“Smith”)作为文档中常规文本的一部分。

    其他更改

    如果您的引文仍未按所需方式显示,您可以直接在文档中编辑引文,但请注意,这样做会阻止 Zotero 自动更新引文以反映文档中的其他更改(例如,对于“同上”或给定名称消除歧义)。在您进行手动编辑后,Zotero 将要求您确认是否要保留编辑并防止引文自动更新。最好是在要进行的更改的文本中做注释,等到准备好提交文档,然后在使用“取消链接引文”后在文档的副本中进行更改。

    如果您认为引用样式中存在错误,请发布到 Zotero 论坛,以便我们可以进行调查,并在必要时更正样式。如果样式已更新,则文档将自动更新,以便在您下次刷新文档时反映任何更改。

    编辑引注

    如果您想在之前插入的引注中增加/删除引用项目,或者修改引注中的信息,您可以将光标定位在编号内(此时编号区域会出现灰色阴影),然后单击“添加/编辑引注”(插入引文)按钮开始编辑引注。

    编辑引注
    编辑引注

    编辑参考书目

    当您在文档中添加和删除引文时,Zotero 将自动更新参考书目以反映您的更改。一般来说,这就是你所要做的。

    但是,在极少数情况下,您可能希望将未引用的来源添加到参考书目中(例如,综述中包含的项目,但论文中未引用的项目)或删除文本中引用但不应包含在参考书目中的项目(例如,个人通信)。为此,请再次单击“添加/编辑书目”(添加参考文献表)按钮以打开“编辑书目”窗口:

    编辑参考文献表
    编辑参考文献表

    然后,您可以使用箭头添加或删除项目。

    虽然也可以在此窗口中编辑书目参考文献的文本或格式,但不鼓励这样做。如果您更改了库中的数据,Zotero 不会自动更新此处编辑的引用。在这里编辑参考文献也有些不可靠; 一些用户报告说,当 Zotero 引用时,此处所做的修改有时不会持续存在,以及其他问题。

    如果您需要编辑书目中的项目,最好在提交文档之前将其作为最后一步。首先,保存文档的备份副本。然后,单击“取消链接引文”按钮(icon-Word-unlink)以断开文档与 Zotero 的连接,并将所有引文和书目转换为常规文本。最后,对参考书目文本进行调整。

    此过程可用于对参考书目进行各种细微的修改,包括:

    • 在综述或荟萃分析中包含的参考文献之前添加星号 *
    • 以粗体、斜体或全大写设置特定作者的姓名
    • 添加有关项目的批注或注释
    • 为书目子部分添加标题(例如,主要来源与次要来源)

    注意

    • 对样式格式的一般更正应在 CSL 引文样式open in new window 进行,而不是在此处进行。
    • 对项目数据的更正应该在 Zotero 库中进行,而不是在这里。

    注意事项与常见问题

    注意

    所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是直接在 Word 里手动修改!
    所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是直接在 Word 里手动修改!
    所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目信息,而不是直接在 Word 里手动修改!

    常见问题

    插入引文中遇到的一些常见问题,请参见 关于 Word 引用的各种问题

    + + + diff --git a/user-guide/organize-library.html b/user-guide/organize-library.html new file mode 100644 index 0000000000..13ee6f9785 --- /dev/null +++ b/user-guide/organize-library.html @@ -0,0 +1,40 @@ + + + + + + + + + + 组织、管理你的文献库 | Zotero 中文小组 + + + + + +
    跳至主要內容

    组织、管理你的文献库

    Zotero Chinese大约 6 分钟

    组织、管理你的文献库

    本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。

    分类管理

    分类的图标类似文件夹:image.png。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。

    在个人账户中,所有分类都属于image.png。在群组中,分类属于各自的群组。

    image.png
    image.png

    注意

    ❓ 分类有什么用?

    分类类似于文件夹,你可以将不同主题/领域的文献放在同一个分类下。进一步的,还可以根据细分领域或者方法、时期、参考意义等,根据自己需要进一步归档到子分类。

    新建分类

    在主界面左上角,点击image.png,即可新建分类(collection)。

    或者,在菜单栏=>文件,新建分类:

    image.png
    image.png
    image.png
    image.png

    或者,右键单击现有的分类来创建子分类:

    image.png
    image.png

    💡 如何知道文献属于哪个或哪些分类?
    用鼠标点击选中文献条目后,按住 Ctrl/Cmd,文献所属的(分类)文件夹就会黄色高亮显示。
    💡 关于多级分类的显示问题
    默认情况下,如果分类结构类似:

    • 一级分类
      • 二级分类
        • 三级分类

    则二、三级分类内的文献都会在一级分类中显示,尽管你可能没有手动将其添加到一级分类。

    可以通过菜单栏=>查看=>从子集合中显示条目来开启/关闭这一功能。关闭后,所有文献仅会在其所属的分类中显示。
    image.png

    删除分类

    右键单击现有分类,选择删除即可。

    条目管理

    在分类之间移动条目

    复制到新的分类,在主界面直接将条目拖入左侧栏的其他分类,选择的文献条目会同时存在于当前分类和拖入的新分类(类似复制 - 粘贴了一份条目的快捷方式,但两个分类中存放的其实是同一个文献条目)。

    💡 文献条目与分类的关系
    文献条目在分类中以类似快捷方式的形式存在,你可以同时向多个分类添加、移动、删除其中的文献条目,而文献本身不受影响(因为添加移动删除的都是其快捷方式而非本体)。

    移动到新的分类并从旧的分类中移除(类似于剪切 - 粘贴,文献将不再出现在原本分类),请在拖动时按住 shift。

    移除当前分类下的条目,选中后右键=>移除条目,或者按 delete 键(这不会删除条目)。

    去除重复条目

    在左侧栏有重复条目入口,点击后可以看到整个库中的重复条目,并可以手动确认要保留的版本,然后执行合并。

    image.png
    image.png

    删除条目

    要删除条目,选中后右键=>删除条目。条目将被移动到回收站。在清空回收站后,条目将被彻底删除。

    在左侧栏打开回收站,可以选择内容并还原/彻底删除。右键点击回收站,可以清空回收站。

    image.png
    image.png

    导出条目或 PDF

    选中分类或条目,可通过右键导出为 RDF 等方便分享给其他 Zotero 用户或文献管理软件的格式;

    要导出 PDF(带高亮注释),请选中一个或多个条目后,从菜单栏 文件=>导出 PDFs:

    image.png
    image.png

    标签管理

    Zotero 通过标签来管理文献。对于同一类文献,可为其添加标签,来快速筛选、查找和定位。

    标签根据添加方式分为两类:自动标签与用户标签。自动标签是 Zotero 在抓取文献时提取的关键字;手动标签是用户添加的标签。下图中,橙色为自动标签,蓝色为手动标签。

    image.png
    image.png

    💡 关于自动标签
    Zotero 会自动为新文献添加自动标签。可在菜单栏=>编辑=>设置=>常规=>使用关键词和标题自动给条目添加标签来开启/关闭这个功能。

    image.png
    image.png

    添加/删除标签

    在主界面中,选中条目,在右侧栏的标签面板可以进行添加/删除。点击 Add 可新增标签,点击已有标签右侧的image.png可以删除标签。

    image.png
    image.png

    如果要删除所有自动标签,可在左下角标签栏的功能按钮中选择“删除此文献库中的自动标签”。

    image.png
    image.png

    利用标签快速筛选文献

    在主界面的左下角是标签栏,可以点击其中的数个标签来筛选对应的文献条目。

    image.png
    image.png

    设置彩色标签/设置星级

    Zotero 支持最多 9 种彩色标签。通过为标签赋予颜色,可以:

    • 具有彩色标签的条目上有彩色方块显示:image.png
    • 如果标签内容是 emoji 表情符号,将会显示符号内容,例如 ⭐:image.png
    • 通过快捷键(数字 1-9)快速添加标签

    设置方法是:

    1. 通过前述添加标签的方法添加你需要的标签到任意一个文献(例如,⭐)

    2. 此时可以在主界面左下角的标签管理器中看到这个标签。右键单击,选择“指派颜色”。

      添加标签
      添加标签
    3. 在弹出窗口中设置一个颜色与快捷键位置(不能重复)。

      选择标签颜色及位置
      选择标签颜色及位置
    4. 此时在库中可以看到标签颜色或 emoji 图形。

      星标或颜色
      星标或颜色

    自动未读与批量增删标签

    插件 Zotero Tag 提供了许多标签管理的实用功能,包括:

    • 自动为新条目添加未读标签
    • 自动在 PDF 关闭时移除未读标签
    • 使用快捷键对条目/PDF 注释批量增加/移除单个或多个标签
    • 在其他用户自定义的动作触发时自动为条目/PDF 注释设置单个或多个标签
    • 通过右键菜单批量增加或移除标签
    • 通过右键菜单移除不常用的标签

    可在 https://github.com/windingwind/zotero-tagopen in new window 下载。(如果无法访问 GitHub,可从中文镜像 https://zotero-chinese.gitee.io/zotero-plugins/#/open in new window 下载)

    + + + diff --git a/user-guide/plugins/Zotero-scihub.html b/user-guide/plugins/Zotero-scihub.html new file mode 100644 index 0000000000..e3eed81af3 --- /dev/null +++ b/user-guide/plugins/Zotero-scihub.html @@ -0,0 +1,71 @@ + + + + + + + + + + Zotero SciHub | Zotero 中文小组 + + + + + +
    跳至主要內容

    Zotero SciHub

    Zotero Chinese大约 3 分钟

    Zotero SciHub

    插件介绍

    这是 Zotero 的一个附加组件,会自动从 SciHub 上为带有 DOI 的条目自动下载 pdf 格式的论文文件。

    一旦你安装该插件,右键单击你收藏中的任何项目。现在将有一个名为Update Scihub PDF的菜单选项。点击后,将从 Scihub 下载 PDF 格式的文件,并附加到 Zotero 中对应的条目下。

    同时对于您在安装此插件后添加的任何新论文,将会在后台从 SciHub 上自动下载对应的论文,并附加到 Zotero 中对应的条目下。

    插件使用方法

    插件设置

    插件设置
    插件设置

    Automatic PDF Download:勾选后,在添加条目以后会自动为带有 DOI 的条目下载 Pdf 格式的论文。

    Scihub URL:这里可自定义 Scihub 镜像的网站的地址。

    常见问题

    部分用户在使用过程中经常会碰到以下弹窗错误:

    插件报错
    插件报错

    这种情况通常是访问次数过多以后,Sichub 服务器识别到了机器人抓取从而出现了验证码验证,您需要登陆 Scihub 输入出现的验证码信息。

    建议在知网抓取文献的时候,建议关闭插件中的 Automatic PDF Download。部分中文文献带有 DOI 字段,在抓取这部分中文文献时,插件会访问 Scihub 进行下载,但由于 Scihub 网站基本上没有收录中文文献,所以插件也不会下载到 Pdf 文件。对 Scihub 网站过于频繁的访问会触发网站的验证机制。

    注意

    请勿在任何网站上使用批量抓取,严重时可能会使您的 IP 地址遭到封禁。

    不使用插件的原始方法

    提示

    这种方法open in new window在修改 Scihub 地址时较为繁琐,但优点是不会遇到 Scihub 验证码弹窗。

    当被 Scihub 拒绝时,两种方法都无法抓取文献。

    谨慎使用此方法

    此方法涉及修改隐藏首选项,请谨慎使用。

    操作步骤

    1. 在 Zotero 依次点击编辑-首选项-高级-常规-高级设置-编辑器

      编辑器
      编辑器
    2. 弹出如下图所示的对话框。 点击I accept the risk

      同意承担风险
      同意承担风险
    3. 在搜索框中输入 extensions.zotero.findPDFs.resolvers,双击搜索到的 extensions.zotero.findPDFs.resolvers

      同意承担风险
      同意承担风险
    4. 将下列代码粘贴进去直接替换原有内容

      [
      +  {
      +    "name": "Sci-Hub",
      +    "method": "GET",
      +    "url": "https://sci-hub.se/{doi}",
      +    "mode": "html",
      +    "selector": "#pdf",
      +    "attribute": "src",
      +    "automatic": true
      +  }
      +]
      +

      其中"url":"https://sci-hub.se/{doi}", 可以替换为其他的 Sci-Hub 镜像地址。
      如果想要从多个 Sci-Hub 地址抓取,按照如下格式添加

      [
      +  {
      +    "name": "Sci-Hub",
      +    "method": "GET",
      +    "url": "https://sci-hub.se/{doi}",
      +    "mode": "html",
      +    "selector": "#pdf",
      +    "attribute": "src",
      +    "automatic": true
      +  },
      +  {
      +    "name": "Sci-Hub",
      +    "method": "GET",
      +    "url": "https://sci-hub.ru/{doi}",
      +    "mode": "html",
      +    "selector": "#pdf",
      +    "attribute": "src",
      +    "automatic": true
      +  }
      +]
      +
    5. 添加上述配置后

      • 对于新增的项目,Zotero 会自动增加 Sci-Hub 的源抓取 PDF。
      • 对于已存在的但缺失 PDF 的项目,可以右键点击查找可用PDF选项尝试重新抓取。
    + + + diff --git a/user-guide/plugins/about-plugin.html b/user-guide/plugins/about-plugin.html new file mode 100644 index 0000000000..8543ae87c9 --- /dev/null +++ b/user-guide/plugins/about-plugin.html @@ -0,0 +1,40 @@ + + + + + + + + + + 关于 Zotero 插件 | Zotero 中文小组 + + + + + +
    跳至主要內容

    关于 Zotero 插件

    Zotero Chinese大约 3 分钟

    关于 Zotero 插件

    什么是插件?插件可以做什么?

    谈到 Zotero 插件,可能指的有三种东西:

    • 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 Zotero 插件 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。
    • (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter,用于从网页上抓取文献元数据并存到 Zotero 里。
    • (不是 Zotero 插件,是 Word 加载项)在 Microsoft Word 中的,正确称呼是 Word 加载项,用来插入引用和参考文献信息。

    获取插件

    火狐浏览器用户请选择另存为

    插件的后缀名为 .xpi , 如果下载到后缀为 .xpi 的文件,不要解压,解压后会导致插件无法安装。

    .xpi 也是火狐浏览器的插件后缀,因此火狐浏览器无法直接通过点击链接进行下载,需要右击链接,选择另存为,才可将插件保存至本地。

    Zotero 6 与 Zotero 7 的插件互不兼容

    Zotero 6(正式版)和 Zotero 7(测试版)的插件互不兼容,请在下载插件安装包时下载与你 Zotero 版本适配的版本。中文插件商店open in new window中有注明兼容的目标 Zotero 版本,下载时请务必注意。

    Zotero 7 目前仍为测试版,使用中可能会遇到一些新问题,相关的解决方案也仍不够完善。对于绝大多数一般用户,建议继续使用 Zotero 6 正式版,并跟随正式版的更新节奏升级。

    安装插件

    依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on),然后将下载的 xpi 文件拖入插件窗口,即可完成安装。

    或者点击右上角的齿轮 => Install Add-on From File... => 选择刚刚下载的 xpi 文件,即可安装成功。

    安装插件
    安装插件

    提示

    对于部分老版本的插件,可能需要点击 Restart now 或者手动重启 Zotero 才可生效。

    无法安装插件"%S"。它可能无法与该版本的 Zotero 兼容
    插件安装失败
    插件安装失败

    一些同学在安装插件的时候发现插件安装失败,Zotero 提醒不兼容。这种情况是由于下载的插件版本与插件所支持 Zotero 的版本不一致所导致的。

    首先需要确定自己 Zotero 的版本,依次点击 帮助 => 关于 Zotero,即可看到自己 Zotero 的版本(如图则是 Zotero 6)

    确定自己的版本号
    确定自己的版本号

    国内镜像open in new window下载插件时,查看页面中目标 Zotero 版本找到适合自己的插件版本,点击后面的下载链接就可以下载到适合自己的插件。

    目标 Zotero 版本
    目标 Zotero 版本

    更新插件

    升级插件
    升级插件

    依次点击 Zotero 菜单栏 => 工具(Tools)=> 附加组件(Add-on) => 右上角的齿轮 => Check for Updates 后 Zotero 会对插件的版本进行检查,并自动对插件进行更新。

    提示

    由于大部分插件的更新页面在 GitHub,国内部分地区可能无法直接访问,从而无法通过以上方式实现对插件的更新。如果无法直接访问插件的更新,可在此处下载最新版:https://plugins.zotero-chinese.com/#/open in new window

    下载后,无需卸载原插件,按照安装插件的流程直接覆盖安装即可实现对插件的更新。

    + + + diff --git a/user-guide/plugins/better-notes.html b/user-guide/plugins/better-notes.html new file mode 100644 index 0000000000..18ba398a27 --- /dev/null +++ b/user-guide/plugins/better-notes.html @@ -0,0 +1,40 @@ + + + + + + + + + + Better Notes | Zotero 中文小组 + + + + + +
    跳至主要內容

    Better Notes

    Zotero Chinese小于 1 分钟

    Better Notes

    提示

    深度适配 Zotero 阅读器的笔记插件。

    Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔记插件。它完全开源、免费,支持双链笔记,支持 Markdown 与标记语言,深度集成了文献管理与阅读功能。

    Better Notes 首页open in new window 开始了解 Better Notes!

    + + + diff --git a/user-guide/plugins/easier-citation.html b/user-guide/plugins/easier-citation.html new file mode 100644 index 0000000000..605b636b94 --- /dev/null +++ b/user-guide/plugins/easier-citation.html @@ -0,0 +1,40 @@ + + + + + + + + + + Easier Citation for Zotero | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/plugins/index.html b/user-guide/plugins/index.html new file mode 100644 index 0000000000..2f7590c825 --- /dev/null +++ b/user-guide/plugins/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + 插件 | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/plugins/jasminum.html b/user-guide/plugins/jasminum.html new file mode 100644 index 0000000000..e6778f43db --- /dev/null +++ b/user-guide/plugins/jasminum.html @@ -0,0 +1,40 @@ + + + + + + + + + + 茉莉花 | Zotero 中文小组 + + + + + +
    跳至主要內容

    茉莉花

    Zotero Chinese大约 2 分钟

    茉莉花

    比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 GitHub.com/l0o0/translators_CNopen in new window 极大的提高其中文文献抓取能力。
    该库的主要维护者还开发了插件 Jasminum - 茉莉花open in new window 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:

    1. 拆分或合并 Zotero 中条目作者姓和名
    2. 根据知网上下载的文献文件来抓取引用信息(就是根据文件名)
    3. 添加中文 PDF/CAJ 时,自动拉取知网数据,该功能默认关闭。需要到设置中开启,注意添加的文件名需要含有中文,全英文没有效果(还是根据文件名)
    4. 为知网的学位论文 PDF 添加书签
    5. 更新中文 translators
    6. 拉取文献引用次数,是否核心期刊

    安装茉莉花

    01. 下载安装 Jasminum 插件

    Latest Release · l0o0/jasminum (GitHub.com)open in new window 下载 .xpi 文件,插件安装见 插件与功能扩展

    02. 配置 PDFtk

    2.1 下载与安装 PDFtk

    Windows
    下载并安装 PDFtk serveropen in new window ,记录安装路径(eg. C: \Program Files (x86)\PDFtk)。
    macOS
    MAC 用户参考 这里open in new window

    2.2 在茉莉花中配置 PDFtk 路径

    在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 <PDFtk install dir>/bin (eg. C: \Program Files (x86)\PDFtk\bin)(即 PDFtk 可执行文件所在目录)。

    03. 安装中文 Translator

    与上一步同一界面——Unofficial Translator Repository——Refresh——Update all。

    04. 更新中文 Translator

    打开已安装 Zotero Connector 的浏览器,右击 Zotero Connector 图标进入拓展选项,Advanced——Update Translators。

    如果你打开了日志,则会看到绿色标出的提示。

    + + + diff --git a/user-guide/plugins/linter.html b/user-guide/plugins/linter.html new file mode 100644 index 0000000000..612324fb95 --- /dev/null +++ b/user-guide/plugins/linter.html @@ -0,0 +1,40 @@ + + + + + + + + + + Linter for Zotero | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/plugins/magic.html b/user-guide/plugins/magic.html new file mode 100644 index 0000000000..655c0f946c --- /dev/null +++ b/user-guide/plugins/magic.html @@ -0,0 +1,40 @@ + + + + + + + + + + Magic for Zotero | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/plugins/style.html b/user-guide/plugins/style.html new file mode 100644 index 0000000000..0b4b91f77c --- /dev/null +++ b/user-guide/plugins/style.html @@ -0,0 +1,40 @@ + + + + + + + + + + Style for Zotero | Zotero 中文小组 + + + + + + + + + diff --git a/user-guide/plugins/translate.html b/user-guide/plugins/translate.html new file mode 100644 index 0000000000..a5cb2e9797 --- /dev/null +++ b/user-guide/plugins/translate.html @@ -0,0 +1,40 @@ + + + + + + + + + + Translate for Zotero | Zotero 中文小组 + + + + + +
    跳至主要內容

    Translate for Zotero

    Zotero Chinese小于 1 分钟

    Translate for Zotero

    提示

    深度适配 Zotero 阅读器的翻译插件。

    Zotero PDF Translate 是由 @windingwind 开发的,用于文献管理软件 Zotero 的翻译插件。它完全开源、免费,主要功能有:

    • 划词翻译(自动/手动)
    • 标题、摘要翻译与源文本/翻译结果显示切换
    • 批注翻译(自动/手动)
    • 支持 15+种翻译服务与 4+种字典服务
    • 自定义翻译侧栏 UI,支持同时使用多种翻译引擎

    插件深度集成了 Zotero 文献阅读功能。

    + + + diff --git a/user-guide/quick-start.html b/user-guide/quick-start.html new file mode 100644 index 0000000000..1fde962de2 --- /dev/null +++ b/user-guide/quick-start.html @@ -0,0 +1,40 @@ + + + + + + + + + + 快速开始 | Zotero 中文小组 + + + + + +
    跳至主要內容

    快速开始

    Zotero Chinese大约 7 分钟

    快速开始

    提示

    本节是 quick start guide [Zotero Documentation]open in new window 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。

    基础知识

    如何安装 Zotero?

    阅读 安装 Zotero

    如何打开 Zotero?

    image
    image

    从操作系统的任务栏/程序面板打开 Zotero。

    Zotero 是做什么的?

    image
    image

    Zotero 是一个文献管理软件。它旨在存储、管理和引用参考书目,例如书籍和文章。在 Zotero 中,这些引用中的每一个都构成一个条目。更广泛地说,Zotero 是收集和组织研究信息和资源的强大工具。

    有何种类型的条目?

    image
    image

    每个条目都包含不同的元数据,具体取决于它的类型。条目可以是从书籍、文章和报告到网页、艺术品、电影、信件、手稿、录音、账单、案例或法规等的所有内容。

    关于条目信息

    image
    image

    条目出现在 Zotero 的中间区域。当前选中条目的元数据显示在右侧窗格,包括标题、创作者、出版商、日期、页码以及引用该条目所需的任何其他数据。

    管理文献

    文献分类

    imageopen in new window
    image

    左侧窗格的 我的文库 中包含个人账户下的的所有条目。右键单击 我的文库 或单击 新建分类 按钮(image在左窗格上方)创建一个新分类,即一个用于收纳文献条目的文件夹,其中可以放置特定主题相关的条目。将分类想象为音乐播放器中的播放列表:分类中的条目是文库中条目的一个“链接”。同一条目可以同时属于多个分类。

    标签

    imageopen in new window
    image

    可以为条目分配 标签open in new window。标签由用户命名。可以根据需要为条目分配任意数量的标签。使用左侧窗格底部的标签选择器或通过右侧窗格中任何条目的标签选项卡添加或删除标签。最多可以为 6 个标签分配颜色。彩色标签在条目列表中显示,并且可以使用键盘上的数字键快速添加或删除。

    搜索

    imageopen in new window
    image

    快速搜索open in new window 显示元数据、标签或全文内容与搜索词匹配的条目。单击搜索框左侧的放大镜图标将打开“高级搜索”窗口,允许进行更复杂或更具体的搜索。

    保存的搜索

    imageopen in new window
    image

    高级搜索open in new window 可以保存在左窗格中。看起来类似于上面所说的分类,但其中的条目会根据搜索条件自动更新。

    收集文献

    附件

    imageopen in new window
    image

    每个条目可以附有笔记、文件和链接。这些 附件open in new window 显示在其父项下方。通过单击其父项旁边的箭头,可以显示或隐藏附件。要全部显示或隐藏,快捷键为 + 与 -。

    笔记

    imageopen in new window
    image

    富文本 笔记open in new window 可以附加到任何条目。可以在右侧窗格或独立窗口中进行编辑。单击工具栏中的新建笔记按钮 (image以创建笔记。

    文件

    imageopen in new window
    image

    任何类型的文件都可以 附加open in new window 到条目上。使用 Zotero 工具栏中的添加附件(回形针)按钮,通过右键单击现有条目或拖放来附加文件。或者,文件不需要附加到现有条目。它们可以直接添加到您的库中。当您使用浏览器中open in new window 的 Zotero 连接器导入条目时,也可以自动下载文件。

    链接和快照

    imageopen in new window
    image

    网页open in new window 可以作为链接或快照附加到任何条目。Zotero 可以保存网页的快照,快照是网页的本地存储副本,其状态与保存时相同。无需互联网连接即可使用快照。

    抓取条目

    imageopen in new window
    image

    使用适用于 Chrome、Firefox 或 Safari 的 Zotero 连接器,可以轻松地从 Internet 上的可用信息 创建新条目open in new window。通过单击按钮,Zotero 可以自动创建适当类型的条目并填充元数据字段,下载全文 PDF(如果可用),并附加有用的链接(例如,到 PubMed 条目)或补充数据文件。

    单个或多个抓取

    imageopen in new window
    image

    如果 保存图标open in new window 是书籍、文章、图像或其他单个条目,单击它将将该条目添加到 Zotero 中的当前收藏。如果保存图标是文件夹,则网页包含多个条目。单击它将打开一个对话框,从中可以选择条目并将其保存到 Zotero。

    转换器 Translator(旧称翻译器)

    imageopen in new window
    image

    Zotero 使用称为 转换器open in new window 的代码来识别网页上的信息。如果您使用的网站没有支持,请随时在 Zotero 论坛open in new window 上请求。

    保存网页

    imageopen in new window
    image

    如果 Zotero 连接器无法识别页面上的数据,您仍然可以单击浏览器工具栏中的保存按钮将页面保存为带有附加快照的 网页条目。open in new window 虽然这将保存基本元数据(标题、URL、访问日期),但您可能需要从页面手动填写其他元数据。

    通过标识符添加条目

    imageopen in new window
    image

    Zotero 可以使用 ISBN 号、数字对象标识符 (DOI) 或 PubMed ID自动添加条目。open in new window 这可以通过单击 Zotero 工具栏中的按标识符添加条目按钮 (image),输入标识符,然后单击确定来完成。您甚至可以一次粘贴或输入(按 Shift+Enter 以获得更大的框)此类标识符的列表。

    订阅

    imageopen in new window
    image

    从您最喜欢的期刊或网站订阅 RSS 提要open in new window,以了解最新研究。转到文章网页或单击按钮将条目保存到您的图书馆。

    手动添加条目

    imageopen in new window
    image

    可以通过单击 Zotero 工具栏中的新条目绿色按钮 (image) 并选择适当的条目类型来 手动添加条目。open in new window 然后可以在右侧窗格中手动添加元数据。虽然您通常不应该手动添加条目,但它对于添加在线不可用的文档很有用。

    引用

    引用条目

    imageopen in new window
    image

    Zotero 使用引文样式语言 (CSL) 来正确格式化许多不同书目 样式open in new window 的引文。Zotero 支持所有主要风格(Chicago, MLA, APA, Vancouver 等)以及超过 8,000 种期刊和出版商的特定风格。

    Word 集成

    imageopen in new window
    image

    Zotero 的 Word、LibreOffice 和 Google Docs 插件允许用户直接从他们的文字处理软件 插入引文。open in new window 这使得引用多个页面或来源或以其他方式自定义引用变得轻而易举。支持文本内引用、脚注和尾注。借助 社区开发的插件open in new window,Zotero 还可以与 LaTeX、Scrivener 和许多其他写作程序一起使用。

    自动参考书目

    imageopen in new window
    image

    使用 文字处理器插件open in new window 可以从引用的条目自动生成参考书目,并通过单击按钮切换整个文档的引用样式。

    手动引文

    imageopen in new window
    image

    Zotero 还可以将 引文和参考书目open in new window 插入到任何文本字段或程序中。只需拖放条目,使用快速复制将引文发送到剪贴板,或将它们直接导出到文件。

    合作

    同步

    imageopen in new window
    image

    通过 Zotero 同步open in new window 在多台计算机上使用 Zotero 。图书馆条目和笔记通过 Zotero 服务器同步(无限存储),而附件同步可以使用 Zotero 服务器或您自己的 WebDAV 服务来同步文件,例如 PDF、图像或音频/视频。

    Zotero Servers

    imageopen in new window
    image

    同步到 Zotero 服务器的条目可以通过您的 Zotero.orgopen in new window 帐户在线访问。与他人共享您的图书馆或从选定的条目创建自定义简历。

    使用 My Publicationsopen in new window 为读者、公众和其他研究人员在 Zotero.orgopen in new window 上随时提供您的研究副本。

    团队

    imageopen in new window
    image

    Zotero 用户可以创建协作或 open in new window。共享组库使在线和通过 Zotero 客户端协作管理研究资源和材料成为可能。Zotero.orgopen in new window 可以成为您所有条目组的研究、交流和组织的中心。

    + + + diff --git a/user-guide/sync.html b/user-guide/sync.html new file mode 100644 index 0000000000..9daadee226 --- /dev/null +++ b/user-guide/sync.html @@ -0,0 +1,40 @@ + + + + + + + + + + 数据与文件的同步 | Zotero 中文小组 + + + + + +
    跳至主要內容

    数据与文件的同步

    Zotero Chinese大约 6 分钟

    数据与文件的同步

    我们在这里把同步分为“数据的同步”和“文件的同步”。

    数据的同步指 条目字段信息批注笔记 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。

    文件的同步指 PDF 附件网页附件Word 文档EPub 文件 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。

    警告

    无论你选择何种同步方案, 切勿将 Zotero 的 数据存储位置/Data Directory Location 自定义为任何网盘的同步文件夹中 (包括 iCloud),也切勿使用任何网盘/同步盘的备份功能直接同步/备份这一目录 !(包括但不限于直接使用坚果云的官方客户端直接同步备份这一文件夹)

    这样做在某些情况下可能会导致你的 Zotero 数据库损坏,带来严重的问题!官方对于这一问题的说明见这两篇文章:

    数据的同步

    提示

    无论如何,您都需要注册一个 Zotero 的官方账户,用于同步条目信息、批注以及笔记。如果您没有注册,可 快速创建一个 Zotero 账户open in new window

    之后您可以在 Zotero-编辑-设置-同步-设置中 输入您的帐号密码,进行登陆。

    账号登录
    账号登录

    每个 Zotero 用户都可以获得 300 MB 的免费 Zotero 存储空间,用于存储附加文件,并可 购买更大的存储空间open in new window。如果您拥有钞能力,这是最简单的备份方法,在登陆您的 Zotero 账户并完成购买后无需其他任何设置。

    存储空间费用 (USD)
    300 MBFree
    2 GB$20/year (equal to $1.67 per month)
    6 GB$60/year (equal to $5 per month)
    Unlimited 无限$120/year (equal to $10 per month)

    如果您想免费进行进行文件的同步,那么您具有两种网盘同步方式:支持 WebDAV 的网盘(推荐)第三方同步盘。对于新手,建议从 WebDAV 网盘同步入手,在熟悉各种问题的解决方法和同步原理后,可尝试第三方网盘的同步方式。

    提示

    无论附件采用何种方式同步,条目信息、批注、笔记始终是通过 Zotero 官方的服务同步的。

    不要担心,这部分占用的体积很小,只要不同步附件,官方的空间是足够的。

    注意

    我们始终建议通过官方服务或 WebDAV 网盘进行附件同步。网上流传较广的 ZotFile 方案已经过时,不再被官方所推荐,且不支持移动端同步。

    通过 WebDAV 同步附件

    什么是 WebDAV

    WebDAV 是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。
    通俗一点儿来说,WebDAV 就是一种互联网方法,应用此方法可以在服务器上划出一块存储空间,可以使用用户名和密码来控制访问,让用户可以直接存储、下载、编辑文件。

    目前国内支持 WebDAV 同步的只有坚果云网盘,常见的如百度网盘、阿里云盘、OneDrive 等均不支持 WebDAV 同步。后续教程将以坚果云网盘为例。

    如果您没有坚果云网盘的账户,请先 注册坚果云open in new window

    坚果云免费用户具有以下限制:

    • 流量与空间限制:每月上传流量 1G/月、下载流量 3G/月、空间受限于上传流量,

    • 文件上传大小限制:当前 WebDAV 客户端和网页端上传大小的限制是一致的,默认为 500M(私有云可以通过相关设置调整)。

    • 访问频率限制:由于 WebDAV 协议比较占用系统资源,免费版用户限制访问频率为每 30 分钟不超过 600 次请求。付费用户限制访问频率为每 30 分钟不超过 1500 次请求。

    当然对于大部分用户免费账户是完全够用的(虽然每个月只有 1g 上传流量,但是好处是每个月都可以有 1g,一年最多可以拥有 12g)。对于小部分用户,可通过付费购买专业版open in new window或者使用其他支持 WebDAV 同步的网盘。

    PC 端

    1. 登陆open in new window您的坚果云账户。

    2. 登录后点击 右侧用户名=>账户信息

      账户信息
      账户信息
    3. 选择安全选项,下滑到底,点击添加应用。

      添加应用
      添加应用
    4. 完成后,记录下生成的密码。

      生成应用密码
      生成应用密码
      复制应用密码
      复制应用密码
    5. 打开 Zotero编辑——设置——同步——文件同步,使用 Zotero 改成 WebDAV,并填写你的坚果云的服务器地址:dav.jianguoyun.com/dav
      用户名是坚果云账号,密码是上一步中的应用密码(非坚果云账号登录密码),设置好后点击 Verify Server 即可。

      登陆WebDAV账户
      登陆WebDAV账户
    6. 到此处,电脑上关于坚果云的同步设置就完成了。

    7. 回到首页,点击右边的绿色的圈就可以同步更新,如果是第一次设置,会提示在坚果云里自动创建一个名叫 Zotero 的文件夹,用于存放同步更新的文件。

      同步图标
      同步图标
    自定义存放路径

    如果在坚果云里新建了一个文件夹,想将文件放在那个文件夹里的话,那么在填写服务器地址时,需要添加对应的文件夹名字(建议文件夹用英文或数字命名),例如 work,那么服务器地址填写如下:

    WebDAV网址设置
    WebDAV网址设置

    此时,你的 Zotero 的同步文件将会放在 根目录/work/Zotero 中。

    iOS

    移动端

    Android

    移动端

    通过第三方网盘同步附件

    警告

    我们不建议使用第三方网盘结合 ZotFile 的方式进行同步。这会导致很多问题。除非你具备较强的问题排查能力,且对 ZotFile 所提供的功能有刚性需求,否则请不要使用这种方法

    施工中

    + + + diff --git a/user-guide/take-notes.html b/user-guide/take-notes.html new file mode 100644 index 0000000000..b34e904349 --- /dev/null +++ b/user-guide/take-notes.html @@ -0,0 +1,40 @@ + + + + + + + + + + 阅读文献、添加笔记 | Zotero 中文小组 + + + + + +
    跳至主要內容

    阅读文献、添加笔记

    Zotero Chinese大约 5 分钟

    阅读文献、添加笔记

    Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。

    注意

    内部阅读器所做的高亮、批注等不在原始 PDF 上,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。

    如果你并没有特别依赖第三方 PDF 阅读器的某些特殊功能,建议使用 Zotero 阅读器。

    打开文献 PDF

    在主界面中选中文献,双击或回车即可打开文献 PDF。默认以新标签页打开。

    💡 要以单独窗口打开文献,请在打开文献时按住 shift,或在标签页的标题上右键=>移动标签=>移动到新窗口。
    image.png

    Zotero 会自动记忆打开的文献与当前阅读位置。在下一次打开 Zotero 或在其他设备上打开同一个文献时,将会保持当前阅读位置。

    阅读器功能介绍

    界面区域

    • 左侧是预览栏,可预览缩../目录;
    • 右侧是信息/笔记栏,可查看当前文献信息image.png或编辑笔记image.png
    • 上方横条是工具栏,可在此缩放、移动页面,或使用高亮注释(alt+1)image.png,文字注释(alt+2)image.png,框选注释(alt+3)image.png,设置注释颜色(alt+4 切换)image.png
    • 中央是阅读区域。
    image.png
    image.png

    选中弹窗

    在阅读区域选中文本后,也可以通过弹窗来快速高亮内容(翻译按钮由 PDF Translate 插件提供,详见后续章节):

    image.png
    image.png

    如果此时右侧打开了笔记,则还可以将选中内容一键添加到笔记:

    image.png
    image.png

    在阅读器中创建笔记

    右侧笔记栏中,点击 + 按钮即可创建笔记。条目笔记即属于当前文献条目的笔记;通过注释添加笔记即将文献中的所有注释(高亮等)添加到一个新的笔记。

    image
    image

    管理注释

    左侧预览栏中,可预览注释内容。每个注释分为三部分:内容,评论与标签。

    image.png
    image.png

    内容即注释本身,例如高亮文本、框选的图片等。评论区在内容区下方,可以写文字。标签区在最下方,可以为注释添加标签。

    注意

    目前,注释的标签不支持搜索,也不支持从主界面的标签管理器中筛选。

    注释支持拖放,可以复制或拖到笔记或外部软件。

    在不同的设备上,只要正确设置了同步,注释内容也将一并同步过去。

    笔记功能介绍

    关于笔记的创建及相关功能,详见 https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgbopen in new window(由 Better Notes 插件提供的文档)。

    此处仅作简单介绍。

    可了解 Better Notes 插件open in new window,更方便地在 Zotero 中做笔记,支持双链、支持模板、支持多种导出方式。

    笔记分为两种:

    • 独立笔记。没有父条目,在主界面库视图中,不需要展开即可看到。
    • 条目笔记。具有父条目,一般在某条文献下,展开可看到。

    创建笔记

    创建笔记有多种方式:

    1. 在 Zotero 主界面,中央上方工具栏选择新建笔记=>新建独立笔记/添加子笔记;

      image
      image
    2. 在主界面,选中条目,从右键菜单创建条目子笔记;

      image
      image
    3. 在 PDF 阅读器中,右侧笔记栏右上角的 '+' 按钮可创建条目子笔记;

      image
      image
    4. (需要 Better Notes 插件)在 PDF 阅读器中,左侧注释栏的每一个注释右上角的黄色花形按钮,参见 4.3 从注释创建快速笔记/Quick Note from Annotationopen in new window

      image
      image

    导出笔记

    Zotero 提供了一项笔记导出为 markdown 的功能,但图片及许多格式不会被处理。

    建议使用 Better Notes 提供的导出功能,可导出单条或多条笔记为 markdown 文件,或通过剪贴板复制到富文本编辑器(如 OneNote,Word),或导出为 PDF,并且支持自动同步更改(Zotero=>外部导出目录)。关于导出,详见 4.8 笔记导出/Exportopen in new window;关于同步,详见 4.9 笔记同步/Sycnopen in new window

    image
    image

    可通过以下三种方式导出笔记:

    1. 在主界面,选中一个或多个笔记条目,在右键菜单中通过 " 导出笔记及条目子笔记 " 或 " 导出多个笔记 ";

      image
      image
    2. 在笔记编辑器中,右上角工具栏导出按钮;

      image
      image
    3. (不推荐)在主界面中,通过右键菜单使用 Zotero 自带的笔记导出功能。

    + + + diff --git a/user-guide/why-use-zotero.html b/user-guide/why-use-zotero.html new file mode 100644 index 0000000000..2aeb87dd2c --- /dev/null +++ b/user-guide/why-use-zotero.html @@ -0,0 +1,40 @@ + + + + + + + + + + 为什么使用 Zotero | Zotero 中文小组 + + + + + +
    跳至主要內容

    为什么使用 Zotero

    windingnorthword汪汪大约 3 分钟

    为什么使用 Zotero

    相关信息

    本节是官方文档的翻译。

    Zotero 是什么

    Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。

    • 你是否仍在花费大量时间整理阅读过和刚下载的文献?
    • 你是否仍在为找不到自己记忆中那篇文献而苦恼?
    • 你是否还在焦虑刚刚读完文献却脑袋空空?
    • 你是否还在手打插入的引文?

    Zotero 将是你优秀的科研助手!

    为什么用 Zotero 而不是其他?

    Zotero 优势

    浏览器快速抓取文献至Zotero
    浏览器快速抓取文献至Zotero
    清晰明了的分层管理及标签分类
    清晰明了的分层管理及标签分类
    写作时方便快速的插入引文
    写作时方便快速的插入引文

    一键抓取文献,保存一切

    拥有多个分级目录与标签管理

    支持海量引用格式

    Zotero 兼具简单的操作方式与强大的功能。通过一份简单的教程(后面的文档)你将快速上手 Zotero 的基本功能,而其他专业的功能你也能够通过社交媒体和 Zotero 官网上丰富的信息逐渐掌握,其中包含大量优秀的插件,这得益于 Zotero 是一款开源软件。

    Zotero 社区的有力支持。当使用 Zotero 遇到问题时,你可以收到 Zotero 开发人员或者专家社区人员的回复,并且 Zotero 的插件编写者与使用爱好者遍布各地,你可以非常方便的通过你的社交媒体联系到他们。

    Zotero 关注你的隐私安全并且无需付费。Zotero 由独立的非营利组织开发,对你的数据没有任何财务利益。并且它是一个开源软件,这意味着如果 Zotero 目前的运营团队并没有将你的利益放在首位,其他任何人都可以自由地获取 Zotero 的源代码,继续对他进行维护和改进。

    EndNote

    EndNote 只支持二级目录,而 Zotero 支持多级分类。

    EndNote 不支持标签,而在 Zotero 中你可以轻松的通过标签进行查找、分类和管理。

    Endnote 是一款收费软件:标准版官网售价 1818RMB,教育版官网售价 1218RMB。

    Mendeley

    Mendeley 免费但不开源。

    Mendeley 的数据迁移到新的电脑比较麻烦,这可能会耗费你大量的时间精力。

    Mendeley 的使用并不能够完全离线,在国内的网络环境下,你可能偶尔会面临无法登陆 Mendeley 网站以致于无法使用软件的情况。

    NoteExpress

    NoteExpress 是一款国产文献管理软件,对中文文献和中文数据库的支持较为优秀,但是他同样是一款付费软件,永久授权标准版 1980RMB。

    NoteExpress 只支持 Windows 系统,Mac 和 Linux 系统则被拒之门外。

    知网研学

    知网研学支持的数据库较少,在 Mac 上甚至只支持 CNKI 学术总库。

    知网研学的订阅费用,高校版 198RMB/年,标准版 998RMB/年,尊享版 3298RMB/年,还请自行体会。

    + + + diff --git a/user-guide/wps-plugin.html b/user-guide/wps-plugin.html new file mode 100644 index 0000000000..7358f6bfa2 --- /dev/null +++ b/user-guide/wps-plugin.html @@ -0,0 +1,40 @@ + + + + + + + + + + 在 WPS 中插入参考文献 | Zotero 中文小组 + + + + + +
    跳至主要內容

    在 WPS 中插入参考文献

    Zotero Chinese大约 4 分钟

    在 WPS 中插入参考文献

    在 WPS 中使用插件参考文献,目前有两种方法

    • 使用 VBA,借用 Word 的插件
    • 使用 WPS JavaScript API 制作的插件

    使用 WPS 的 VBA 插件插入参考这篇:完美在 WPS 中使用 Zotero 的方法open in new window,该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)。

    下面是使用 WPS 原生 JavaScript API 插件的教程。

    macOS 系统上的 WPS 用户暂时无法使用

    插件是利用 WPS 提供的 JavaScript API 从 Zotero 获取引文信息,并写入到 WPS 文档中。目前插件可以在Windows 和 Linux 系统下使用,因 WPS 的接口暂时不支持 macOS 系统,所以使用苹果电脑的同学暂时用不上这个插件

    插件地址为 https://github.com/tankwyn/WPS-Zoteroopen in new window

    1. 安装插件

    因为 WPS 接口的一些限制,本插件的使用还需要使用到Python3,Linux 系统内一般默认安装了 Python3, 使用 Windows 的同学,需要提前安装好 Python3。使用 Windows 的同学从下面的 1.1 Windows 下 Python3 环境的安装 部分开始,使用 Linux 的同学可直接跳过这部分,看后面的安装部分就行。

    1.1 Windows 下 Python3 环境的安装

    可能有一些同学的电脑里已经安装 Python3,可以按 WIN + R,在弹出的窗口输入 cmd

    运行CMD
    运行CMD

    点击确认后,再出现的小黑屏上输入 python --version

    查看Python版本
    查看Python版本

    注意看,只要出现 Python 3.xx.xx,就说明 Python3 已经正确安装,直接进入下一步。如果出现其他的,说明 Python3 未正确安装,请按下面的步骤进行安装。

    下载 Python3 安装包,64 位下载地址open in new window32 位下载地址open in new window,不知道自己电脑是几位的,就选 64 位。如果上面两个链接下载太慢 (不开代理 ,官网下载速度慢已经 10 多年了),可试试安装 minicondaopen in new window

    这里以 miniconda 示例,安装时默认设置,除了下面截图的设置,要记得打勾,把 Python 添加到环境变量里

    安装miniconda
    安装miniconda

    安装了官网 Python 的同学,需要手动将 Python 添加到环境变量里

    安装Python
    安装Python

    安装成功后,在小黑屏运行 python --version,出现 Python 3.xx.xx 说明安装成功。

    1.2 安装 WPS 插件

    安装过程非常简单,作者已经帮我们处理好了,只需要一个脚本即可。如果你可流畅访问 GitHub,可直接到 https://github.com/tankwyn/WPS-Zoteroopen in new window 下载,如果访问困难,可到这个 镜像源open in new window 下载

    将下载后的压缩包解压后,看到的文件如下

    解压后的文件列表
    解压后的文件列表

    Windows 系统

    Windows 系统直接双击 windows安装与卸载.bat 安装文件,你可能会遇到下面的警告提示

    点击更多信息
    点击更多信息
    点击仍要运行
    点击仍要运行

    运行后出现的提示窗口,输入 1,并按确认,进行安装

    选择1
    选择1

    安装成功的提示

    安装成功
    安装成功

    Linux 系统

    直接打开 terminal,输入 python3 install.py 进行安装

    2. 插件使用

    WPS 插件的按钮与 Word 插件类似

    • Add/Edit Citation,添加引用文献
    • Add/Edit Refs,添加参考文献列表
    • Refresh,刷新文档引用文献信息
    • Preferences,打开 Zotero 引用设置窗口
    • Add Note,添加 Zotero 笔记
    • Unlink,取消链接引注,通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成
    • Export,导出其他文本编辑器兼容的文本格式
    • About,插件相关信息
    WPS插件UI按钮
    WPS插件UI按钮

    具体的操作过程,请参考 在 Word 中插入参考文献

    3. 如何卸载 WPS 安装的旧版 Zotero 扩展

    如果你之前安装把 Word 里的 Zotero 插件强行安装到 WPS,那样出现多个的 Zotero 选项

    多个Zotero选择
    多个Zotero选择

    先打开 C:\Users\你的用户名\AppData\Roaming\kingsoft\wps 目录 (注意用户名换成你自己的),找到 startup 目录,删掉里面的 zotero.dotm 文件,这个文件是直接从 Zotero 的 Word 插件里复制到 WPS 里,需要 WPS 有 VBA 环境,现在已经不需要了,可以删掉。

    WPS插件安装路径
    WPS插件安装路径

    4. 可能遇到的问题

    使用中可能点击按钮后,Zotero 的窗口不会自动出现,可以手动点击一下任务栏中的 Zotero 图标,让 Zotero 的窗口跳到最前。

    + + +