crossnote 0.9.9 → 0.9.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/esm/index.mjs CHANGED
@@ -285,7 +285,7 @@ ${ue.plainResult}\`\`\`
285
285
  `+Le+`
286
286
 
287
287
  `)}p=Y3(p,b,x),V.find(Ne=>Ne.includes("pandoc-citeproc")||Ne.includes("--defaults"))===void 0&&(W.bibliography||W.references)&&V.push("--citeproc");let me=j.config.imageFolderPath;me[0]==="/"?me=Cr.resolve(x,"."+me):me=Cr.resolve(b,me),await lA.sync(me);let{outputString:Re}=await Gw(p,{fileDirectoryPath:b,projectDirectoryPath:x,imageDirectoryPath:me,imageFilePrefix:La(Z),useRelativeFilePath:!0,codeChunksData:P,graphsCache:F,addOptionsStr:!0,notebook:j});return await lA.sync(Cr.dirname(Z)),await new Promise((Ne,Le)=>{q3(j.config.pandocPath,V,{cwd:b},Ee=>Ee?Le(Ee.toString()):Ne(Z)).stdin?.end(Re)})}import{execFile as K3}from"child_process";function pM(p,b){return new Promise((x,T)=>{K3("prince",[p,"--javascript","-o",b],I=>{if(I){let B=I.toString();return I.message.indexOf("spawn prince ENOENT")>=0&&(B='"princexml" is required to be installed.'),T(B)}return x()})})}var X3=p=>typeof p=="string"?p.trim().toLowerCase():"",jw=p=>{let b=kD(p.attributes),x=X3(p.language);return b!==p.attributes||x!==p.language?{language:x,attributes:b}:p};var Hw=(p="")=>{let b,x,T,I=p.trim(),B=I.indexOf("{")!==-1?I.match(/^([^\s{]*)\s*\{(.*?)\}/):I.match(/^([^\s]+)\s+(.+?)$/);if(B?(B[1].length&&(b=B[1]),x=B[2]):(b=I,x=""),x)try{T=Vr(x)}catch{T={}}else T={};let P=T.class?T.class.split(/\s+/):[];return b||(b=P[0]||""),P.includes(b)||(T.class=[b,...P].join(" ")),{language:b,attributes:T}};import{Mutex as fz}from"async-mutex";import*as NM from"case-anything";import pz from"markdown-it";import hz from"markdown-it-abbr";import mz from"markdown-it-deflist";import gz from"markdown-it-footnote";import bz from"markdown-it-mark";import yz from"markdown-it-sub";import vz from"markdown-it-sup";import*as en from"path";import{URI as Ez,Utils as wz}from"vscode-uri";var hM=p=>{let T=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function I(){p.block.ruler.after("fence","admonition",P,{alt:[]}),p.renderer.rules.admonition_open=B,p.renderer.rules.admonition_title_open=B,p.renderer.rules.admonition_title_close=B,p.renderer.rules.admonition_close=B}function B(F,j,W,V,Q){let ae=F[j];return ae.type==="admonition_open"?F[j].attrPush(["class","admonition "+ae.info]):ae.type==="admonition_title_open"&&F[j].attrPush(["class","admonition-title"]),Q.renderToken(F,j,W)}function P(F,j,W,V){if(F.tShift[j]-F.blkIndent>=4)return!1;let Q=F.bMarks[j]+F.tShift[j],ae=F.eMarks[j],pe=F.src.charCodeAt(Q);if(pe!==33)return!1;let Z=Q;if(Q=F.skipChars(Q,pe),Q-Z<3)return!1;let ue=F.src.slice(Z,Q),he="",me="",Re=F.src.slice(Q,ae).trim().split(" ");if(he=(Re.shift()??"").toLowerCase(),me=Re.join(" "),T.indexOf(he)<0&&(he="note"),me||(me=he.substr(0,1).toUpperCase()+he.substr(1,he.length-1)),V)return!0;let Ne=F.parentType,Le=F.lineMax,ze=F.blkIndent;F.blkIndent+=4;let Ee=j;for(;Ee++,!(Ee>=W||(Q=Z=F.bMarks[Ee]+F.tShift[Ee],ae=F.eMarks[Ee],Q<ae&&F.sCount[Ee]<F.blkIndent)););F.parentType="admonition",F.lineMax=Ee;let ye=F.push("admonition_open","div",1);return ye.markup=ue,ye.block=!0,ye.info=he,ye.map=[j,j+1],me!=='""'&&(ye=F.push("admonition_title_open","p",1),ye.markup=ue+" "+he,ye.map=[j,j+1],ye=F.push("inline","",0),ye.content=me,ye.map=[j,j+1],ye.children=[],ye=F.push("admonition_title_close","p",-1),ye.markup=ue+" "+he),F.md.block.tokenize(F,j+1,Ee),ye=F.push("admonition_close","div",-1),ye.markup=ue,ye.map=[j,Ee],ye.block=!0,F.parentType=Ne,F.lineMax=Le,F.line=Ee,F.blkIndent=ze,!0}I()};import{escape as qw}from"html-escaper";var mM=p=>{p.renderer.rules.fence=(b,x)=>{let T=b[x],I=T.info.trim(),B=Hw(I),P=jw(B),F=qw(T.content),j=x<b.length&&b[x].type==="list_item_close"?`
288
- `:"";return`<pre data-role="codeBlock" data-info="${qw(I)}" data-parsed-info="${qw(JSON.stringify(B))}" data-normalized-info="${qw(JSON.stringify(P))}" ${"data-source-line"in B.attributes?`data-source-line="${B.attributes["data-source-line"]}"`:""}>${F}</pre>${j}`}};var gM=(p,b)=>{p.inline.ruler.before("strikethrough","critic-markup",(x,T)=>{if(!b.config.enableCriticMarkupSyntax)return!1;let{src:B,pos:P}=x;if(B[P]==="{"&&(B[P+1]==="-"&&B[P+2]==="-"||B[P+1]==="+"&&B[P+2]==="+"||B[P+1]==="~"&&B[P+2]==="~"||B[P+1]==="="&&B[P+2]==="="||B[P+1]===">"&&B[P+2]===">")){let F=B.slice(P+1,P+3),j=F[0]===">"?"<<}":`${F}}`,W=P+3,V=-1,Q=null;for(;W<B.length;){if(B.startsWith(j,W)){V=W;break}W+=1}if(V>=0)Q=B.slice(P+3,V);else return!1;if(Q&&!T){let ae=x.push("critic-markup","",0);return ae.content=Q,ae.tag=F,x.pos=V+j.length,!0}else return!1}else return!1}),p.renderer.rules["critic-markup"]=(x,T)=>{let I=x[T],B=I.tag,P=I.content;if(B==="--")return`<del>${P}</del>`;if(B==="++")return`<ins>${P}</ins>`;if(B==="==")return`<mark>${P}</mark>`;if(B===">>")return`<span style="display:none">${P}</span>`;{let F=P.split("~>");return F.length===2?`<del>${F[0]}</del><ins>${F[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};var bM=p=>{p.core.ruler.push("curly_bracket_attributes",x=>{let T=x.tokens;for(let I=0;I<T.length;I++)if(T[I].type==="heading_open"){let B=T[I+1];if(B.type==="inline"){if(b(B),!B.children||B.children.length===0)continue;let P=B.children[B.children.length-1];if(P.type==="text"){let F=P.content.match(/{([^}]+)}\s*$/);if(F){let j=Vr(F[1]);P.content=P.content.replace(F[0],"");for(let W in j)T[I].attrJoin(W,j[W])}}}}else T[I].type==="inline"&&b(T[I])});function b(x){let T=x.children;if(!(!T||T.length===0))for(let I=0;I<T.length;I++){let B=T[I];if(B.type==="image"&&T[I+1]?.type==="text"){let P=T[I+1].content.match(/^{([^}]+)}/);if(P){let F=Vr(P[1]);T[I+1].content=T[I+1].content.replace(P[0],"");for(let j in F)B.attrJoin(j,F[j])}}else if(B.type==="link_open"){let P=I+1;for(;P<T.length&&T[P].type!=="link_close";)P++;if(I=P,P<T.length-1&&T[P+1].type==="text"){let F=T[P+1].content.match(/^{([^}]+)}/);if(F){let j=Vr(F[1]);T[P+1].content=T[P+1].content.replace(F[0],"");for(let W in j)B.attrJoin(W,j[W])}}}}}};import Q3 from"markdown-it-emoji";import ez from"markdown-it-emoji/lib/data/full.json";var Z3=["fa-accessible-icon","fa-american-sign-language-interpreting","fa-assistive-listening-systems","fa-audio-description","fa-blind","fa-braille","fa-closed-captioning","fa-deaf","fa-low-vision","fa-phone-volume","fa-question-circle","fa-sign-language","fa-tty","fa-universal-access","fa-wheelchair","fa-bell","fa-bell-slash","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-radiation","fa-radiation-alt","fa-skull-crossbones","fa-cat","fa-crow","fa-dog","fa-dove","fa-dragon","fa-feather","fa-feather-alt","fa-fish","fa-frog","fa-hippo","fa-horse","fa-horse-head","fa-kiwi-bird","fa-otter","fa-paw","fa-spider","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-arrow-alt-circle-down","fa-arrow-alt-circle-left","fa-arrow-alt-circle-right","fa-arrow-alt-circle-up","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows-alt","fa-arrows-alt-h","fa-arrows-alt-v","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-down","fa-caret-square-left","fa-caret-square-right","fa-caret-square-up","fa-caret-up","fa-cart-arrow-down","fa-chart-line","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-cloud-download-alt","fa-cloud-upload-alt","fa-compress-alt","fa-compress-arrows-alt","fa-download","fa-exchange-alt","fa-expand-alt","fa-expand-arrows-alt","fa-external-link-alt","fa-external-link-square-alt","fa-hand-point-down","fa-hand-point-left","fa-hand-point-right","fa-hand-point-up","fa-hand-pointer","fa-history","fa-level-down-alt","fa-level-up-alt","fa-location-arrow","fa-long-arrow-alt-down","fa-long-arrow-alt-left","fa-long-arrow-alt-right","fa-long-arrow-alt-up","fa-mouse-pointer","fa-play","fa-random","fa-recycle","fa-redo","fa-redo-alt","fa-reply","fa-reply-all","fa-retweet","fa-share","fa-share-square","fa-sign-in-alt","fa-sign-out-alt","fa-sort","fa-sort-alpha-down","fa-sort-alpha-down-alt","fa-sort-alpha-up","fa-sort-alpha-up-alt","fa-sort-amount-down","fa-sort-amount-down-alt","fa-sort-amount-up","fa-sort-amount-up-alt","fa-sort-down","fa-sort-numeric-down","fa-sort-numeric-down-alt","fa-sort-numeric-up","fa-sort-numeric-up-alt","fa-sort-up","fa-sync","fa-sync-alt","fa-text-height","fa-text-width","fa-undo","fa-undo-alt","fa-upload","fa-audio-description","fa-backward","fa-broadcast-tower","fa-circle","fa-closed-captioning","fa-compress","fa-compress-alt","fa-compress-arrows-alt","fa-eject","fa-expand","fa-expand-alt","fa-expand-arrows-alt","fa-fast-backward","fa-fast-forward","fa-file-audio","fa-file-video","fa-film","fa-forward","fa-headphones","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-music","fa-pause","fa-pause-circle","fa-phone-volume","fa-photo-video","fa-play","fa-play-circle","fa-podcast","fa-random","fa-redo","fa-redo-alt","fa-rss","fa-rss-square","fa-step-backward","fa-step-forward","fa-stop","fa-stop-circle","fa-sync","fa-sync-alt","fa-tv","fa-undo","fa-undo-alt","fa-video","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-youtube","fa-air-freshener","fa-ambulance","fa-bus","fa-bus-alt","fa-car","fa-car-alt","fa-car-battery","fa-car-crash","fa-car-side","fa-caravan","fa-charging-station","fa-gas-pump","fa-motorcycle","fa-oil-can","fa-shuttle-van","fa-tachometer-alt","fa-taxi","fa-trailer","fa-truck","fa-truck-monster","fa-truck-pickup","fa-apple-alt","fa-campground","fa-cloud-sun","fa-drumstick-bite","fa-football-ball","fa-hiking","fa-mountain","fa-tractor","fa-tree","fa-wind","fa-wine-bottle","fa-beer","fa-blender","fa-cocktail","fa-coffee","fa-flask","fa-glass-cheers","fa-glass-martini","fa-glass-martini-alt","fa-glass-whiskey","fa-mug-hot","fa-wine-bottle","fa-wine-glass","fa-wine-glass-alt","fa-archway","fa-building","fa-campground","fa-church","fa-city","fa-clinic-medical","fa-dungeon","fa-gopuram","fa-home","fa-hospital","fa-hospital-alt","fa-hospital-user","fa-hotel","fa-house-damage","fa-igloo","fa-industry","fa-kaaba","fa-landmark","fa-monument","fa-mosque","fa-place-of-worship","fa-school","fa-store","fa-store-alt","fa-synagogue","fa-torii-gate","fa-university","fa-vihara","fa-warehouse","fa-address-book","fa-address-card","fa-archive","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-birthday-cake","fa-book","fa-briefcase","fa-building","fa-bullhorn","fa-bullseye","fa-business-time","fa-calculator","fa-calendar","fa-calendar-alt","fa-certificate","fa-chart-area","fa-chart-bar","fa-chart-line","fa-chart-pie","fa-city","fa-clipboard","fa-coffee","fa-columns","fa-compass","fa-copy","fa-copyright","fa-cut","fa-edit","fa-envelope","fa-envelope-open","fa-envelope-square","fa-eraser","fa-fax","fa-file","fa-file-alt","fa-folder","fa-folder-minus","fa-folder-open","fa-folder-plus","fa-glasses","fa-globe","fa-highlighter","fa-industry","fa-landmark","fa-laptop-house","fa-marker","fa-paperclip","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pen-square","fa-pencil-alt","fa-percent","fa-phone","fa-phone-alt","fa-phone-slash","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-print","fa-project-diagram","fa-registered","fa-save","fa-sitemap","fa-socks","fa-sticky-note","fa-stream","fa-table","fa-tag","fa-tags","fa-tasks","fa-thumbtack","fa-trademark","fa-wallet","fa-binoculars","fa-campground","fa-caravan","fa-compass","fa-faucet","fa-fire","fa-fire-alt","fa-first-aid","fa-frog","fa-hiking","fa-map","fa-map-marked","fa-map-marked-alt","fa-map-signs","fa-mountain","fa-route","fa-toilet-paper","fa-trailer","fa-tree","fa-dollar-sign","fa-donate","fa-dove","fa-gift","fa-globe","fa-hand-holding-heart","fa-hand-holding-usd","fa-hand-holding-water","fa-hands-helping","fa-handshake","fa-heart","fa-leaf","fa-parachute-box","fa-piggy-bank","fa-ribbon","fa-seedling","fa-comment","fa-comment-alt","fa-comment-dots","fa-comment-medical","fa-comment-slash","fa-comments","fa-frown","fa-icons","fa-meh","fa-phone","fa-phone-alt","fa-phone-slash","fa-poo","fa-quote-left","fa-quote-right","fa-smile","fa-sms","fa-video","fa-video-slash","fa-chess","fa-chess-bishop","fa-chess-board","fa-chess-king","fa-chess-knight","fa-chess-pawn","fa-chess-queen","fa-chess-rook","fa-square-full","fa-apple-alt","fa-baby","fa-baby-carriage","fa-bath","fa-biking","fa-birthday-cake","fa-cookie","fa-cookie-bite","fa-gamepad","fa-ice-cream","fa-mitten","fa-robot","fa-school","fa-shapes","fa-snowman","fa-graduation-cap","fa-hat-cowboy","fa-hat-cowboy-side","fa-hat-wizard","fa-mitten","fa-shoe-prints","fa-socks","fa-tshirt","fa-user-tie","fa-archive","fa-barcode","fa-bath","fa-bug","fa-code","fa-code-branch","fa-coffee","fa-file","fa-file-alt","fa-file-code","fa-filter","fa-fire-extinguisher","fa-folder","fa-folder-open","fa-keyboard","fa-laptop-code","fa-microchip","fa-project-diagram","fa-qrcode","fa-shield-alt","fa-sitemap","fa-stream","fa-terminal","fa-user-secret","fa-window-close","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-address-book","fa-address-card","fa-american-sign-language-interpreting","fa-assistive-listening-systems","fa-at","fa-bell","fa-bell-slash","fa-bluetooth","fa-bluetooth-b","fa-broadcast-tower","fa-bullhorn","fa-chalkboard","fa-comment","fa-comment-alt","fa-comments","fa-envelope","fa-envelope-open","fa-envelope-square","fa-fax","fa-inbox","fa-language","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-mobile","fa-mobile-alt","fa-paper-plane","fa-phone","fa-phone-alt","fa-phone-slash","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-rss","fa-rss-square","fa-tty","fa-voicemail","fa-wifi","fa-compact-disc","fa-database","fa-desktop","fa-download","fa-ethernet","fa-hdd","fa-headphones","fa-keyboard","fa-laptop","fa-laptop-house","fa-memory","fa-microchip","fa-mobile","fa-mobile-alt","fa-mouse","fa-plug","fa-power-off","fa-print","fa-satellite","fa-satellite-dish","fa-save","fa-sd-card","fa-server","fa-sim-card","fa-stream","fa-tablet","fa-tablet-alt","fa-tv","fa-upload","fa-brush","fa-drafting-compass","fa-dumpster","fa-hammer","fa-hard-hat","fa-paint-roller","fa-pencil-alt","fa-pencil-ruler","fa-ruler","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-screwdriver","fa-toolbox","fa-tools","fa-truck-pickup","fa-wrench","fa-bitcoin","fa-btc","fa-dollar-sign","fa-ethereum","fa-euro-sign","fa-gg","fa-gg-circle","fa-hryvnia","fa-lira-sign","fa-money-bill","fa-money-bill-alt","fa-money-bill-wave","fa-money-bill-wave-alt","fa-money-check","fa-money-check-alt","fa-pound-sign","fa-ruble-sign","fa-rupee-sign","fa-shekel-sign","fa-tenge","fa-won-sign","fa-yen-sign","fa-bell","fa-bell-slash","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-clock","fa-hourglass","fa-hourglass-end","fa-hourglass-half","fa-hourglass-start","fa-stopwatch","fa-adjust","fa-bezier-curve","fa-brush","fa-clone","fa-copy","fa-crop","fa-crop-alt","fa-crosshairs","fa-cut","fa-drafting-compass","fa-draw-polygon","fa-edit","fa-eraser","fa-eye","fa-eye-dropper","fa-eye-slash","fa-fill","fa-fill-drip","fa-highlighter","fa-icons","fa-layer-group","fa-magic","fa-marker","fa-object-group","fa-object-ungroup","fa-paint-brush","fa-paint-roller","fa-palette","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-pencil-ruler","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-save","fa-splotch","fa-spray-can","fa-stamp","fa-swatchbook","fa-tint","fa-tint-slash","fa-vector-square","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-bold","fa-border-all","fa-border-none","fa-border-style","fa-clipboard","fa-clone","fa-columns","fa-copy","fa-cut","fa-edit","fa-eraser","fa-file","fa-file-alt","fa-font","fa-glasses","fa-heading","fa-highlighter","fa-i-cursor","fa-icons","fa-indent","fa-italic","fa-link","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-marker","fa-outdent","fa-paper-plane","fa-paperclip","fa-paragraph","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-print","fa-quote-left","fa-quote-right","fa-redo","fa-redo-alt","fa-remove-format","fa-reply","fa-reply-all","fa-screwdriver","fa-share","fa-spell-check","fa-strikethrough","fa-subscript","fa-superscript","fa-sync","fa-sync-alt","fa-table","fa-tasks","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-tools","fa-trash","fa-trash-alt","fa-trash-restore","fa-trash-restore-alt","fa-underline","fa-undo","fa-undo-alt","fa-unlink","fa-wrench","fa-apple-alt","fa-atom","fa-award","fa-bell","fa-bell-slash","fa-book-open","fa-book-reader","fa-chalkboard","fa-chalkboard-teacher","fa-graduation-cap","fa-laptop-code","fa-microscope","fa-music","fa-school","fa-shapes","fa-theater-masks","fa-user-graduate","fa-angry","fa-dizzy","fa-flushed","fa-frown","fa-frown-open","fa-grimace","fa-grin","fa-grin-alt","fa-grin-beam","fa-grin-beam-sweat","fa-grin-hearts","fa-grin-squint","fa-grin-squint-tears","fa-grin-stars","fa-grin-tears","fa-grin-tongue","fa-grin-tongue-squint","fa-grin-tongue-wink","fa-grin-wink","fa-kiss","fa-kiss-beam","fa-kiss-wink-heart","fa-laugh","fa-laugh-beam","fa-laugh-squint","fa-laugh-wink","fa-meh","fa-meh-blank","fa-meh-rolling-eyes","fa-sad-cry","fa-sad-tear","fa-smile","fa-smile-beam","fa-smile-wink","fa-surprise","fa-tired","fa-atom","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-broadcast-tower","fa-burn","fa-charging-station","fa-fan","fa-fire","fa-fire-alt","fa-gas-pump","fa-industry","fa-leaf","fa-lightbulb","fa-plug","fa-poop","fa-power-off","fa-radiation","fa-radiation-alt","fa-seedling","fa-solar-panel","fa-sun","fa-water","fa-wind","fa-archive","fa-clone","fa-copy","fa-cut","fa-file","fa-file-alt","fa-file-archive","fa-file-audio","fa-file-code","fa-file-excel","fa-file-image","fa-file-pdf","fa-file-powerpoint","fa-file-video","fa-file-word","fa-folder","fa-folder-open","fa-paste","fa-photo-video","fa-save","fa-sticky-note","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-book","fa-cash-register","fa-chart-line","fa-chart-pie","fa-coins","fa-comment-dollar","fa-comments-dollar","fa-credit-card","fa-donate","fa-file-invoice","fa-file-invoice-dollar","fa-hand-holding-usd","fa-landmark","fa-money-bill","fa-money-bill-alt","fa-money-bill-wave","fa-money-bill-wave-alt","fa-money-check","fa-money-check-alt","fa-percentage","fa-piggy-bank","fa-receipt","fa-stamp","fa-wallet","fa-bicycle","fa-biking","fa-burn","fa-fire-alt","fa-heart","fa-heartbeat","fa-hiking","fa-running","fa-shoe-prints","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-spa","fa-swimmer","fa-walking","fa-apple-alt","fa-bacon","fa-bone","fa-bread-slice","fa-candy-cane","fa-carrot","fa-cheese","fa-cloud-meatball","fa-cookie","fa-drumstick-bite","fa-egg","fa-fish","fa-hamburger","fa-hotdog","fa-ice-cream","fa-lemon","fa-pepper-hot","fa-pizza-slice","fa-seedling","fa-stroopwafel","fa-apple-alt","fa-carrot","fa-leaf","fa-lemon","fa-pepper-hot","fa-seedling","fa-chess","fa-chess-bishop","fa-chess-board","fa-chess-king","fa-chess-knight","fa-chess-pawn","fa-chess-queen","fa-chess-rook","fa-dice","fa-dice-d20","fa-dice-d6","fa-dice-five","fa-dice-four","fa-dice-one","fa-dice-six","fa-dice-three","fa-dice-two","fa-gamepad","fa-ghost","fa-headset","fa-heart","fa-playstation","fa-puzzle-piece","fa-steam","fa-steam-square","fa-steam-symbol","fa-twitch","fa-xbox","fa-acquisitions-incorporated","fa-book-dead","fa-critical-role","fa-d-and-d","fa-d-and-d-beyond","fa-dice-d20","fa-dice-d6","fa-dragon","fa-dungeon","fa-fantasy-flight-games","fa-fist-raised","fa-hat-wizard","fa-penny-arcade","fa-ring","fa-scroll","fa-skull-crossbones","fa-wizards-of-the-coast","fa-genderless","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-mercury","fa-neuter","fa-transgender","fa-transgender-alt","fa-venus","fa-venus-double","fa-venus-mars","fa-book-dead","fa-broom","fa-cat","fa-cloud-moon","fa-crow","fa-ghost","fa-hat-wizard","fa-mask","fa-skull-crossbones","fa-spider","fa-toilet-paper","fa-allergies","fa-fist-raised","fa-hand-holding","fa-hand-holding-heart","fa-hand-holding-medical","fa-hand-holding-usd","fa-hand-holding-water","fa-hand-lizard","fa-hand-middle-finger","fa-hand-paper","fa-hand-peace","fa-hand-point-down","fa-hand-point-left","fa-hand-point-right","fa-hand-point-up","fa-hand-pointer","fa-hand-rock","fa-hand-scissors","fa-hand-sparkles","fa-hand-spock","fa-hands","fa-hands-helping","fa-hands-wash","fa-handshake","fa-handshake-alt-slash","fa-handshake-slash","fa-praying-hands","fa-thumbs-down","fa-thumbs-up","fa-accessible-icon","fa-ambulance","fa-h-square","fa-heart","fa-heartbeat","fa-hospital","fa-medkit","fa-plus-square","fa-prescription","fa-stethoscope","fa-user-md","fa-wheelchair","fa-candy-cane","fa-carrot","fa-cookie-bite","fa-gift","fa-gifts","fa-glass-cheers","fa-holly-berry","fa-mug-hot","fa-sleigh","fa-snowman","fa-baby-carriage","fa-bath","fa-bed","fa-briefcase","fa-car","fa-cocktail","fa-coffee","fa-concierge-bell","fa-dice","fa-dice-five","fa-door-closed","fa-door-open","fa-dumbbell","fa-glass-martini","fa-glass-martini-alt","fa-hot-tub","fa-hotel","fa-infinity","fa-key","fa-luggage-cart","fa-shower","fa-shuttle-van","fa-smoking","fa-smoking-ban","fa-snowflake","fa-spa","fa-suitcase","fa-suitcase-rolling","fa-swimmer","fa-swimming-pool","fa-tv","fa-umbrella-beach","fa-utensils","fa-wheelchair","fa-wifi","fa-bath","fa-bed","fa-bell","fa-blender","fa-box-tissue","fa-chair","fa-coffee","fa-couch","fa-door-closed","fa-door-open","fa-dungeon","fa-fan","fa-faucet","fa-house-user","fa-laptop-house","fa-lightbulb","fa-plug","fa-pump-soap","fa-shower","fa-sink","fa-snowflake","fa-soap","fa-toilet-paper","fa-toilet-paper-slash","fa-tv","fa-adjust","fa-bolt","fa-camera","fa-camera-retro","fa-chalkboard","fa-clone","fa-compress","fa-compress-arrows-alt","fa-expand","fa-eye","fa-eye-dropper","fa-eye-slash","fa-file-image","fa-film","fa-id-badge","fa-id-card","fa-image","fa-images","fa-photo-video","fa-portrait","fa-sliders-h","fa-tint","fa-unsplash","fa-award","fa-ban","fa-barcode","fa-bars","fa-beer","fa-bell","fa-bell-slash","fa-blog","fa-bug","fa-bullhorn","fa-bullseye","fa-calculator","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-certificate","fa-check","fa-check-circle","fa-check-double","fa-check-square","fa-circle","fa-clipboard","fa-clone","fa-cloud","fa-cloud-download-alt","fa-cloud-upload-alt","fa-coffee","fa-cog","fa-cogs","fa-copy","fa-cut","fa-database","fa-dot-circle","fa-download","fa-edit","fa-ellipsis-h","fa-ellipsis-v","fa-envelope","fa-envelope-open","fa-eraser","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-external-link-alt","fa-external-link-square-alt","fa-eye","fa-eye-slash","fa-file","fa-file-alt","fa-file-download","fa-file-export","fa-file-import","fa-file-upload","fa-filter","fa-fingerprint","fa-flag","fa-flag-checkered","fa-folder","fa-folder-open","fa-frown","fa-glasses","fa-grip-horizontal","fa-grip-lines","fa-grip-lines-vertical","fa-grip-vertical","fa-hashtag","fa-heart","fa-history","fa-home","fa-i-cursor","fa-info","fa-info-circle","fa-language","fa-magic","fa-marker","fa-medal","fa-meh","fa-microphone","fa-microphone-alt","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pencil-alt","fa-plus","fa-plus-circle","fa-plus-square","fa-poo","fa-qrcode","fa-question","fa-question-circle","fa-quote-left","fa-quote-right","fa-redo","fa-redo-alt","fa-reply","fa-reply-all","fa-rss","fa-rss-square","fa-save","fa-screwdriver","fa-search","fa-search-minus","fa-search-plus","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-shield-alt","fa-sign-in-alt","fa-sign-out-alt","fa-signal","fa-sitemap","fa-sliders-h","fa-smile","fa-sort","fa-sort-alpha-down","fa-sort-alpha-down-alt","fa-sort-alpha-up","fa-sort-alpha-up-alt","fa-sort-amount-down","fa-sort-amount-down-alt","fa-sort-amount-up","fa-sort-amount-up-alt","fa-sort-down","fa-sort-numeric-down","fa-sort-numeric-down-alt","fa-sort-numeric-up","fa-sort-numeric-up-alt","fa-sort-up","fa-star","fa-star-half","fa-sync","fa-sync-alt","fa-thumbs-down","fa-thumbs-up","fa-times","fa-times-circle","fa-toggle-off","fa-toggle-on","fa-tools","fa-trash","fa-trash-alt","fa-trash-restore","fa-trash-restore-alt","fa-trophy","fa-undo","fa-undo-alt","fa-upload","fa-user","fa-user-alt","fa-user-circle","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-wifi","fa-wrench","fa-box","fa-boxes","fa-clipboard-check","fa-clipboard-list","fa-dolly","fa-dolly-flatbed","fa-hard-hat","fa-pallet","fa-shipping-fast","fa-truck","fa-warehouse","fa-ambulance","fa-anchor","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bath","fa-bed","fa-beer","fa-bell","fa-bell-slash","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-blind","fa-bomb","fa-book","fa-bookmark","fa-briefcase","fa-building","fa-car","fa-coffee","fa-crosshairs","fa-directions","fa-dollar-sign","fa-draw-polygon","fa-eye","fa-eye-slash","fa-fighter-jet","fa-fire","fa-fire-alt","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flask","fa-gamepad","fa-gavel","fa-gift","fa-glass-martini","fa-globe","fa-graduation-cap","fa-h-square","fa-heart","fa-heartbeat","fa-helicopter","fa-home","fa-hospital","fa-image","fa-images","fa-industry","fa-info","fa-info-circle","fa-key","fa-landmark","fa-layer-group","fa-leaf","fa-lemon","fa-life-ring","fa-lightbulb","fa-location-arrow","fa-low-vision","fa-magnet","fa-male","fa-map","fa-map-marker","fa-map-marker-alt","fa-map-pin","fa-map-signs","fa-medkit","fa-money-bill","fa-money-bill-alt","fa-motorcycle","fa-music","fa-newspaper","fa-parking","fa-paw","fa-phone","fa-phone-alt","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-plane","fa-plug","fa-plus","fa-plus-square","fa-print","fa-recycle","fa-restroom","fa-road","fa-rocket","fa-route","fa-search","fa-search-minus","fa-search-plus","fa-ship","fa-shoe-prints","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-snowplow","fa-street-view","fa-subway","fa-suitcase","fa-tag","fa-tags","fa-taxi","fa-thumbtack","fa-ticket-alt","fa-tint","fa-traffic-light","fa-train","fa-tram","fa-tree","fa-trophy","fa-truck","fa-tty","fa-umbrella","fa-university","fa-utensil-spoon","fa-utensils","fa-vest","fa-vest-patches","fa-wheelchair","fa-wifi","fa-wine-glass","fa-wrench","fa-anchor","fa-binoculars","fa-compass","fa-dharmachakra","fa-frog","fa-ship","fa-skull-crossbones","fa-swimmer","fa-water","fa-wind","fa-ad","fa-bullhorn","fa-bullseye","fa-comment-dollar","fa-comments-dollar","fa-envelope-open-text","fa-funnel-dollar","fa-lightbulb","fa-mail-bulk","fa-poll","fa-poll-h","fa-search-dollar","fa-search-location","fa-calculator","fa-divide","fa-equals","fa-greater-than","fa-greater-than-equal","fa-infinity","fa-less-than","fa-less-than-equal","fa-minus","fa-not-equal","fa-percentage","fa-plus","fa-square-root-alt","fa-subscript","fa-superscript","fa-times","fa-wave-square","fa-allergies","fa-ambulance","fa-bacteria","fa-bacterium","fa-band-aid","fa-biohazard","fa-bone","fa-bong","fa-book-medical","fa-brain","fa-briefcase-medical","fa-burn","fa-cannabis","fa-capsules","fa-clinic-medical","fa-comment-medical","fa-crutch","fa-diagnoses","fa-disease","fa-dna","fa-file-medical","fa-file-medical-alt","fa-file-prescription","fa-first-aid","fa-hand-holding-medical","fa-head-side-cough","fa-head-side-cough-slash","fa-head-side-mask","fa-head-side-virus","fa-heart","fa-heartbeat","fa-hospital","fa-hospital-alt","fa-hospital-symbol","fa-hospital-user","fa-id-card-alt","fa-joint","fa-laptop-medical","fa-lungs","fa-lungs-virus","fa-microscope","fa-mortar-pestle","fa-notes-medical","fa-pager","fa-pills","fa-plus","fa-poop","fa-prescription","fa-prescription-bottle","fa-prescription-bottle-alt","fa-procedures","fa-pump-medical","fa-radiation","fa-radiation-alt","fa-shield-virus","fa-smoking","fa-smoking-ban","fa-star-of-life","fa-stethoscope","fa-syringe","fa-tablets","fa-teeth","fa-teeth-open","fa-thermometer","fa-tooth","fa-user-md","fa-user-nurse","fa-vial","fa-vials","fa-virus","fa-virus-slash","fa-viruses","fa-weight","fa-x-ray","fa-archive","fa-box-open","fa-caravan","fa-couch","fa-dolly","fa-people-carry","fa-route","fa-sign","fa-suitcase","fa-tape","fa-trailer","fa-truck-loading","fa-truck-moving","fa-wine-glass","fa-compact-disc","fa-drum","fa-drum-steelpan","fa-file-audio","fa-guitar","fa-headphones","fa-headphones-alt","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-music","fa-napster","fa-play","fa-record-vinyl","fa-sliders-h","fa-soundcloud","fa-spotify","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-ambulance","fa-anchor","fa-archive","fa-award","fa-baby-carriage","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bath","fa-bed","fa-beer","fa-bell","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-blender","fa-bomb","fa-book","fa-book-dead","fa-bookmark","fa-briefcase","fa-broadcast-tower","fa-bug","fa-building","fa-bullhorn","fa-bullseye","fa-bus","fa-calculator","fa-calendar","fa-calendar-alt","fa-camera","fa-camera-retro","fa-candy-cane","fa-car","fa-carrot","fa-church","fa-clipboard","fa-cloud","fa-coffee","fa-cog","fa-cogs","fa-compass","fa-cookie","fa-cookie-bite","fa-copy","fa-cube","fa-cubes","fa-cut","fa-dice","fa-dice-d20","fa-dice-d6","fa-dice-five","fa-dice-four","fa-dice-one","fa-dice-six","fa-dice-three","fa-dice-two","fa-digital-tachograph","fa-door-closed","fa-door-open","fa-drum","fa-drum-steelpan","fa-envelope","fa-envelope-open","fa-eraser","fa-eye","fa-eye-dropper","fa-fax","fa-feather","fa-feather-alt","fa-fighter-jet","fa-file","fa-file-alt","fa-file-prescription","fa-film","fa-fire","fa-fire-alt","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flask","fa-futbol","fa-gamepad","fa-gavel","fa-gem","fa-gift","fa-gifts","fa-glass-cheers","fa-glass-martini","fa-glass-whiskey","fa-glasses","fa-globe","fa-graduation-cap","fa-guitar","fa-hat-wizard","fa-hdd","fa-headphones","fa-headphones-alt","fa-headset","fa-heart","fa-heart-broken","fa-helicopter","fa-highlighter","fa-holly-berry","fa-home","fa-hospital","fa-hourglass","fa-igloo","fa-image","fa-images","fa-industry","fa-key","fa-keyboard","fa-laptop","fa-leaf","fa-lemon","fa-life-ring","fa-lightbulb","fa-lock","fa-lock-open","fa-magic","fa-magnet","fa-map","fa-map-marker","fa-map-marker-alt","fa-map-pin","fa-map-signs","fa-marker","fa-medal","fa-medkit","fa-memory","fa-microchip","fa-microphone","fa-microphone-alt","fa-mitten","fa-mobile","fa-mobile-alt","fa-money-bill","fa-money-bill-alt","fa-money-check","fa-money-check-alt","fa-moon","fa-motorcycle","fa-mug-hot","fa-newspaper","fa-paint-brush","fa-paper-plane","fa-paperclip","fa-paste","fa-paw","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-phone","fa-phone-alt","fa-plane","fa-plug","fa-print","fa-puzzle-piece","fa-ring","fa-road","fa-rocket","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-satellite","fa-satellite-dish","fa-save","fa-school","fa-screwdriver","fa-scroll","fa-sd-card","fa-search","fa-shield-alt","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sim-card","fa-skull-crossbones","fa-sleigh","fa-snowflake","fa-snowplow","fa-space-shuttle","fa-star","fa-sticky-note","fa-stopwatch","fa-stroopwafel","fa-subway","fa-suitcase","fa-sun","fa-tablet","fa-tablet-alt","fa-tachometer-alt","fa-tag","fa-tags","fa-taxi","fa-thumbtack","fa-ticket-alt","fa-toilet","fa-toolbox","fa-tools","fa-train","fa-tram","fa-trash","fa-trash-alt","fa-tree","fa-trophy","fa-truck","fa-tv","fa-umbrella","fa-university","fa-unlock","fa-unlock-alt","fa-utensil-spoon","fa-utensils","fa-wallet","fa-weight","fa-wheelchair","fa-wine-glass","fa-wrench","fa-alipay","fa-amazon-pay","fa-apple-pay","fa-bell","fa-bitcoin","fa-bookmark","fa-btc","fa-bullhorn","fa-camera","fa-camera-retro","fa-cart-arrow-down","fa-cart-plus","fa-cc-amazon-pay","fa-cc-amex","fa-cc-apple-pay","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-credit-card","fa-ethereum","fa-gem","fa-gift","fa-google-pay","fa-google-wallet","fa-handshake","fa-heart","fa-key","fa-money-check","fa-money-check-alt","fa-paypal","fa-receipt","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-star","fa-stripe","fa-stripe-s","fa-tag","fa-tags","fa-thumbs-down","fa-thumbs-up","fa-trophy","fa-band-aid","fa-book-medical","fa-cannabis","fa-capsules","fa-clinic-medical","fa-disease","fa-eye-dropper","fa-file-medical","fa-file-prescription","fa-first-aid","fa-flask","fa-history","fa-joint","fa-laptop-medical","fa-mortar-pestle","fa-notes-medical","fa-pills","fa-prescription","fa-prescription-bottle","fa-prescription-bottle-alt","fa-receipt","fa-skull-crossbones","fa-syringe","fa-tablets","fa-thermometer","fa-vial","fa-vials","fa-award","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bullhorn","fa-check-double","fa-democrat","fa-donate","fa-dove","fa-fist-raised","fa-flag-usa","fa-handshake","fa-person-booth","fa-piggy-bank","fa-republican","fa-vote-yea","fa-ankh","fa-atom","fa-bahai","fa-bible","fa-church","fa-cross","fa-dharmachakra","fa-dove","fa-gopuram","fa-hamsa","fa-hanukiah","fa-jedi","fa-journal-whills","fa-kaaba","fa-khanda","fa-menorah","fa-mosque","fa-om","fa-pastafarianism","fa-peace","fa-place-of-worship","fa-pray","fa-praying-hands","fa-quran","fa-star-and-crescent","fa-star-of-david","fa-synagogue","fa-torah","fa-torii-gate","fa-vihara","fa-yin-yang","fa-atom","fa-biohazard","fa-brain","fa-burn","fa-capsules","fa-clipboard-check","fa-disease","fa-dna","fa-eye-dropper","fa-filter","fa-fire","fa-fire-alt","fa-flask","fa-frog","fa-magnet","fa-microscope","fa-mortar-pestle","fa-pills","fa-prescription-bottle","fa-radiation","fa-radiation-alt","fa-seedling","fa-skull-crossbones","fa-syringe","fa-tablets","fa-temperature-high","fa-temperature-low","fa-vial","fa-vials","fa-atom","fa-galactic-republic","fa-galactic-senate","fa-globe","fa-hand-spock","fa-jedi","fa-jedi-order","fa-journal-whills","fa-meteor","fa-moon","fa-old-republic","fa-robot","fa-rocket","fa-satellite","fa-satellite-dish","fa-space-shuttle","fa-user-astronaut","fa-ban","fa-bug","fa-door-closed","fa-door-open","fa-dungeon","fa-eye","fa-eye-slash","fa-file-contract","fa-file-signature","fa-fingerprint","fa-id-badge","fa-id-card","fa-id-card-alt","fa-key","fa-lock","fa-lock-open","fa-mask","fa-passport","fa-shield-alt","fa-unlock","fa-unlock-alt","fa-user-lock","fa-user-secret","fa-user-shield","fa-bookmark","fa-calendar","fa-certificate","fa-circle","fa-cloud","fa-comment","fa-file","fa-folder","fa-heart","fa-heart-broken","fa-map-marker","fa-play","fa-shapes","fa-square","fa-star","fa-barcode","fa-cart-arrow-down","fa-cart-plus","fa-cash-register","fa-gift","fa-gifts","fa-person-booth","fa-receipt","fa-shipping-fast","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-store","fa-store-alt","fa-store-alt-slash","fa-store-slash","fa-truck","fa-tshirt","fa-bell","fa-birthday-cake","fa-camera","fa-comment","fa-comment-alt","fa-envelope","fa-hashtag","fa-heart","fa-icons","fa-image","fa-images","fa-map-marker","fa-map-marker-alt","fa-photo-video","fa-poll","fa-poll-h","fa-retweet","fa-share","fa-share-alt","fa-share-square","fa-star","fa-thumbs-down","fa-thumbs-up","fa-thumbtack","fa-user","fa-user-circle","fa-user-friends","fa-user-plus","fa-users","fa-video","fa-asterisk","fa-atom","fa-bahai","fa-certificate","fa-circle-notch","fa-cog","fa-compact-disc","fa-compass","fa-crosshairs","fa-dharmachakra","fa-fan","fa-life-ring","fa-palette","fa-ring","fa-slash","fa-snowflake","fa-spinner","fa-stroopwafel","fa-sun","fa-sync","fa-sync-alt","fa-yin-yang","fa-baseball-ball","fa-basketball-ball","fa-biking","fa-bowling-ball","fa-dumbbell","fa-football-ball","fa-futbol","fa-golf-ball","fa-hockey-puck","fa-quidditch","fa-running","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-swimmer","fa-table-tennis","fa-volleyball-ball","fa-allergies","fa-broom","fa-cloud-sun","fa-cloud-sun-rain","fa-frog","fa-rainbow","fa-seedling","fa-umbrella","fa-ban","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bell","fa-bell-slash","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-day","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-calendar-week","fa-cart-arrow-down","fa-cart-plus","fa-comment","fa-comment-alt","fa-comment-slash","fa-compass","fa-door-closed","fa-door-open","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-eye","fa-eye-slash","fa-file","fa-file-alt","fa-folder","fa-folder-open","fa-gas-pump","fa-info","fa-info-circle","fa-lightbulb","fa-lock","fa-lock-open","fa-map-marker","fa-map-marker-alt","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-parking","fa-phone","fa-phone-alt","fa-phone-slash","fa-plus","fa-plus-circle","fa-plus-square","fa-print","fa-question","fa-question-circle","fa-shield-alt","fa-shopping-cart","fa-sign-in-alt","fa-sign-out-alt","fa-signal","fa-smoking-ban","fa-star","fa-star-half","fa-star-half-alt","fa-stream","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumbs-down","fa-thumbs-up","fa-tint","fa-tint-slash","fa-toggle-off","fa-toggle-on","fa-unlock","fa-unlock-alt","fa-user","fa-user-alt","fa-user-alt-slash","fa-user-slash","fa-video","fa-video-slash","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-wifi","fa-anchor","fa-biking","fa-fish","fa-hotdog","fa-ice-cream","fa-lemon","fa-sun","fa-swimmer","fa-swimming-pool","fa-umbrella-beach","fa-volleyball-ball","fa-water","fa-bullseye","fa-check-circle","fa-circle","fa-dot-circle","fa-microphone","fa-microphone-slash","fa-star","fa-star-half","fa-star-half-alt","fa-toggle-off","fa-toggle-on","fa-wifi","fa-archway","fa-atlas","fa-bed","fa-bus","fa-bus-alt","fa-caravan","fa-cocktail","fa-concierge-bell","fa-dumbbell","fa-glass-martini","fa-glass-martini-alt","fa-globe-africa","fa-globe-americas","fa-globe-asia","fa-globe-europe","fa-hot-tub","fa-hotel","fa-luggage-cart","fa-map","fa-map-marked","fa-map-marked-alt","fa-monument","fa-passport","fa-plane","fa-plane-arrival","fa-plane-departure","fa-shuttle-van","fa-spa","fa-suitcase","fa-suitcase-rolling","fa-swimmer","fa-swimming-pool","fa-taxi","fa-tram","fa-tv","fa-umbrella-beach","fa-wine-glass","fa-wine-glass-alt","fa-accessible-icon","fa-address-book","fa-address-card","fa-baby","fa-bed","fa-biking","fa-blind","fa-chalkboard-teacher","fa-child","fa-female","fa-frown","fa-hiking","fa-id-badge","fa-id-card","fa-id-card-alt","fa-male","fa-meh","fa-people-arrows","fa-people-carry","fa-person-booth","fa-poo","fa-portrait","fa-power-off","fa-pray","fa-restroom","fa-running","fa-skating","fa-skiing","fa-skiing-nordic","fa-smile","fa-snowboarding","fa-street-view","fa-swimmer","fa-user","fa-user-alt","fa-user-alt-slash","fa-user-astronaut","fa-user-check","fa-user-circle","fa-user-clock","fa-user-cog","fa-user-edit","fa-user-friends","fa-user-graduate","fa-user-injured","fa-user-lock","fa-user-md","fa-user-minus","fa-user-ninja","fa-user-nurse","fa-user-plus","fa-user-secret","fa-user-shield","fa-user-slash","fa-user-tag","fa-user-tie","fa-user-times","fa-users","fa-users-cog","fa-users-slash","fa-walking","fa-wheelchair","fa-accessible-icon","fa-ambulance","fa-baby-carriage","fa-bicycle","fa-bus","fa-bus-alt","fa-car","fa-car-alt","fa-car-crash","fa-car-side","fa-fighter-jet","fa-helicopter","fa-horse","fa-motorcycle","fa-paper-plane","fa-plane","fa-rocket","fa-ship","fa-shopping-cart","fa-shuttle-van","fa-sleigh","fa-snowplow","fa-space-shuttle","fa-subway","fa-taxi","fa-tractor","fa-train","fa-tram","fa-truck","fa-truck-monster","fa-truck-pickup","fa-wheelchair","fa-bolt","fa-cloud","fa-cloud-meatball","fa-cloud-moon","fa-cloud-moon-rain","fa-cloud-rain","fa-cloud-showers-heavy","fa-cloud-sun","fa-cloud-sun-rain","fa-meteor","fa-moon","fa-poo-storm","fa-rainbow","fa-smog","fa-snowflake","fa-sun","fa-temperature-high","fa-temperature-low","fa-umbrella","fa-water","fa-wind","fa-glass-whiskey","fa-icicles","fa-igloo","fa-mitten","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-snowplow","fa-tram","fa-archive","fa-blog","fa-book","fa-bookmark","fa-edit","fa-envelope","fa-envelope-open","fa-eraser","fa-file","fa-file-alt","fa-folder","fa-folder-open","fa-keyboard","fa-newspaper","fa-paper-plane","fa-paperclip","fa-paragraph","fa-pen","fa-pen-alt","fa-pen-square","fa-pencil-alt","fa-quote-left","fa-quote-right","fa-sticky-note","fa-thumbtack"],J3=["fa-500px","fa-accusoft","fa-adn","fa-adversal","fa-affiliatetheme","fa-airbnb","fa-algolia","fa-amazon","fa-amilia","fa-android","fa-angellist","fa-angrycreative","fa-angular","fa-app-store","fa-app-store-ios","fa-apper","fa-apple","fa-artstation","fa-asymmetrik","fa-atlassian","fa-audible","fa-autoprefixer","fa-avianex","fa-aviato","fa-aws","fa-backspace","fa-bandcamp","fa-battle-net","fa-behance","fa-behance-square","fa-bimobject","fa-bitbucket","fa-bity","fa-black-tie","fa-blackberry","fa-blender-phone","fa-blogger","fa-blogger-b","fa-bootstrap","fa-buffer","fa-buromobelexperte","fa-buy-n-large","fa-buysellads","fa-canadian-maple-leaf","fa-centercode","fa-centos","fa-chrome","fa-chromecast","fa-cloudflare","fa-cloudscale","fa-cloudsmith","fa-cloudversify","fa-codepen","fa-codiepie","fa-confluence","fa-connectdevelop","fa-contao","fa-cotton-bureau","fa-cpanel","fa-creative-commons","fa-creative-commons-by","fa-creative-commons-nc","fa-creative-commons-nc-eu","fa-creative-commons-nc-jp","fa-creative-commons-nd","fa-creative-commons-pd","fa-creative-commons-pd-alt","fa-creative-commons-remix","fa-creative-commons-sa","fa-creative-commons-sampling","fa-creative-commons-sampling-plus","fa-creative-commons-share","fa-creative-commons-zero","fa-crown","fa-css3","fa-css3-alt","fa-cuttlefish","fa-dailymotion","fa-dashcube","fa-deezer","fa-delicious","fa-deploydog","fa-deskpro","fa-dev","fa-deviantart","fa-dhl","fa-diaspora","fa-digg","fa-digital-ocean","fa-discord","fa-discourse","fa-dochub","fa-docker","fa-draft2digital","fa-dribbble","fa-dribbble-square","fa-dropbox","fa-drupal","fa-dumpster-fire","fa-dyalog","fa-earlybirds","fa-ebay","fa-edge","fa-edge-legacy","fa-elementor","fa-ello","fa-ember","fa-empire","fa-envira","fa-erlang","fa-etsy","fa-evernote","fa-expeditedssl","fa-facebook","fa-facebook-f","fa-facebook-messenger","fa-facebook-square","fa-fedex","fa-fedora","fa-figma","fa-file-csv","fa-firefox","fa-firefox-browser","fa-first-order","fa-first-order-alt","fa-firstdraft","fa-flickr","fa-flipboard","fa-fly","fa-font-awesome","fa-font-awesome-alt","fa-font-awesome-flag","fa-font-awesome-logo-full","fa-fonticons","fa-fonticons-fi","fa-fort-awesome","fa-fort-awesome-alt","fa-forumbee","fa-foursquare","fa-free-code-camp","fa-freebsd","fa-fulcrum","fa-get-pocket","fa-git","fa-git-alt","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitkraken","fa-gitlab","fa-gitter","fa-glide","fa-glide-g","fa-gofore","fa-goodreads","fa-goodreads-g","fa-google","fa-google-drive","fa-google-play","fa-google-plus","fa-google-plus-g","fa-google-plus-square","fa-gratipay","fa-grav","fa-gripfire","fa-grunt","fa-guilded","fa-gulp","fa-hacker-news","fa-hacker-news-square","fa-hackerrank","fa-hips","fa-hire-a-helper","fa-hive","fa-hooli","fa-hornbill","fa-hotjar","fa-houzz","fa-html5","fa-hubspot","fa-ideal","fa-imdb","fa-innosoft","fa-instagram","fa-instagram-square","fa-instalod","fa-intercom","fa-internet-explorer","fa-invision","fa-ioxhost","fa-itch-io","fa-itunes","fa-itunes-note","fa-java","fa-jenkins","fa-jira","fa-joget","fa-joomla","fa-js","fa-js-square","fa-jsfiddle","fa-kaggle","fa-keybase","fa-keycdn","fa-kickstarter","fa-kickstarter-k","fa-korvue","fa-laravel","fa-lastfm","fa-lastfm-square","fa-leanpub","fa-less","fa-line","fa-linkedin","fa-linkedin-in","fa-linode","fa-linux","fa-lyft","fa-magento","fa-mailchimp","fa-mandalorian","fa-markdown","fa-mastodon","fa-maxcdn","fa-mdb","fa-medapps","fa-medium","fa-medium-m","fa-medrt","fa-meetup","fa-megaport","fa-mendeley","fa-microblog","fa-microsoft","fa-mix","fa-mixcloud","fa-mixer","fa-mizuni","fa-modx","fa-monero","fa-neos","fa-network-wired","fa-nimblr","fa-node","fa-node-js","fa-npm","fa-ns8","fa-nutritionix","fa-octopus-deploy","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-orcid","fa-osi","fa-page4","fa-pagelines","fa-palfed","fa-patreon","fa-perbyte","fa-periscope","fa-phabricator","fa-phoenix-framework","fa-phoenix-squadron","fa-php","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-hat","fa-pied-piper-pp","fa-pied-piper-square","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane-slash","fa-product-hunt","fa-pushed","fa-python","fa-qq","fa-quinscape","fa-quora","fa-r-project","fa-raspberry-pi","fa-ravelry","fa-react","fa-reacteurope","fa-readme","fa-rebel","fa-red-river","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-redhat","fa-renren","fa-replyd","fa-researchgate","fa-resolving","fa-rev","fa-rocketchat","fa-rockrms","fa-rust","fa-safari","fa-salesforce","fa-sass","fa-schlix","fa-scribd","fa-searchengin","fa-sellcast","fa-sellsy","fa-servicestack","fa-shirtsinbulk","fa-shopify","fa-shopware","fa-signature","fa-simplybuilt","fa-sistrix","fa-sith","fa-sketch","fa-skull","fa-skyatlas","fa-skype","fa-slack","fa-slack-hash","fa-slideshare","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-sourcetree","fa-speakap","fa-speaker-deck","fa-squarespace","fa-stack-exchange","fa-stack-overflow","fa-stackpath","fa-staylinked","fa-sticker-mule","fa-stopwatch-20","fa-strava","fa-studiovinari","fa-stumbleupon","fa-stumbleupon-circle","fa-superpowers","fa-supple","fa-suse","fa-swift","fa-symfony","fa-teamspeak","fa-telegram","fa-telegram-plane","fa-tencent-weibo","fa-the-red-yeti","fa-themeco","fa-themeisle","fa-think-peaks","fa-tiktok","fa-trade-federation","fa-trello","fa-tumblr","fa-tumblr-square","fa-twitter","fa-twitter-square","fa-typo3","fa-uber","fa-ubuntu","fa-uikit","fa-umbraco","fa-uncharted","fa-uniregistry","fa-unity","fa-untappd","fa-ups","fa-usb","fa-usps","fa-ussunnah","fa-vaadin","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-viber","fa-vimeo","fa-vimeo-square","fa-vimeo-v","fa-vine","fa-vk","fa-vnv","fa-vr-cardboard","fa-vuejs","fa-watchman-monitoring","fa-waze","fa-weebly","fa-weibo","fa-weight-hanging","fa-weixin","fa-whatsapp","fa-whatsapp-square","fa-whmcs","fa-wikipedia-w","fa-windows","fa-wix","fa-wodu","fa-wolf-pack-battalion","fa-wordpress","fa-wordpress-simple","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wpressr","fa-xing","fa-xing-square","fa-y-combinator","fa-yahoo","fa-yammer","fa-yandex","fa-yandex-international","fa-yarn","fa-yelp","fa-yoast","fa-youtube-square","fa-zhihu"],Ww={},yM={};J3.forEach(p=>{yM[p]="",Ww[p]=""});Z3.forEach(p=>{Ww[p]=p});var vM=p=>p in yM;var EM=(p,b)=>{p.use(Q3,{defs:{...ez,...Ww}}),p.renderer.rules.emoji=(x,T)=>{let I=x[T];if(b.config.enableEmojiSyntax){let B=I.markup;return B.match("fa-")?`<i class="${vM(B)?"fa-brands":"fa-solid"} ${B}" aria-hidden="true"></i>`:I.content}else return`:${I.markup}:`}};import tz from"markdown-it-html5-embed";var nz=p=>({html5embed:{useImageSyntax:p.config.HTML5EmbedUseImageSyntax,useLinkSyntax:p.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:p.config.HTML5EmbedIsAllowedHttp,attributes:{audio:p.config.HTML5EmbedAudioAttributes,video:p.config.HTML5EmbedVideoAttributes}}}),wM=(p,b)=>{b.config.enableHTML5Embed&&p.use(tz,nz(b))};import{escape as az}from"html-escaper";import rz from"katex";import"katex/contrib/mhchem";var Vw=({content:p,openTag:b,closeTag:x,displayMode:T=!1,renderingOption:I,katexConfig:B})=>{if(!p)return"";if(I==="KaTeX")try{return rz.renderToString(p,Object.assign({},structuredClone(B),{displayMode:T}))}catch(P){return`<span style="color: #ee7f49; font-weight: 500;">${P.toString()}</span>`}else if(I==="MathJax"){let P=(b+p+x).replace(/\n/g," "),F=T?"div":"span";return`<${F} class="mathjax-exps">${az(P)}</${F}>`}else return""};var _M=(p,b)=>{p.inline.ruler.before("escape","math",(x,T)=>{if(b.config.mathRenderingOption==="None")return!1;let I=null,B=null,P=!0,{mathBlockDelimiters:F,mathInlineDelimiters:j}=b.config;for(let ae of F)if(x.src.startsWith(ae[0],x.pos)){[I,B]=ae;break}if(!I){for(let ae of j)if(x.src.startsWith(ae[0],x.pos)){[I,B]=ae,P=!1;break}}if(!I||!B)return!1;let W=null,V=-1,Q=x.pos+I.length;for(;Q<x.src.length;){if(B&&x.src.startsWith(B,Q)){V=Q;break}else x.src[Q]==="\\"&&(Q+=1);Q+=1}if(V>=0)W=x.src.slice(x.pos+I.length,V);else return!1;if(W&&!T){let ae=x.push("math","",0);return ae.content=W.trim(),ae.meta=ae.meta||{},ae.meta.openTag=I,ae.meta.closeTag=B,ae.meta.displayMode=P,x.pos+=W.length+I.length+B.length,!0}else return!1}),p.renderer.rules.math=(x,T)=>{let I=x[T].content??"";return Vw({content:I,openTag:x[T].meta.openTag,closeTag:x[T].meta.closeTag,renderingOption:b.config.mathRenderingOption,displayMode:x[T].meta.displayMode,katexConfig:b.config.katexConfig})}};var kM=p=>{let b=p.renderer.renderToken.bind(p.renderer);p.renderer.renderToken=function(x,T,I){if(!I.sourceMap)return b(x,T,I);let B=x[T];return B.type.endsWith("_open")&&B.map!==null&&B.map[0]!==void 0&&B.attrSet("data-source-line",`${B.map[0]+1}`),b(x,T,I)}};var xM=(p,b)=>{let x=p.renderer.rules.image.bind(p.renderer);p.renderer.rules.image=(T,I,B,P,F)=>{let j=T[I];if(j.children&&j.children[0]?.content==="@embedding"){let W=j.attrGet("error")??"";if(W)return decodeURIComponent(atob(W));{let V=j.attrGet("embedding")??"",Q=decodeURIComponent(atob(V));return b.initMarkdownIt({...p.options,sourceMap:!1}).render(Q)}}return x(T,I,B,P,F)}};var SM=(p,b)=>{p.inline.ruler.before("autolink","wikilink",(x,T)=>{if(!b.config.enableWikiLinkSyntax||!x.src.startsWith("[[",x.pos))return!1;let I=null,B="]]",P=-1,F=x.pos+B.length;for(;F<x.src.length;){if(x.src[F]==="\\")F+=1;else if(x.src.startsWith(B,F)){P=F;break}F+=1}if(P>=0)I=x.src.slice(x.pos+B.length,P);else return!1;if(I&&!T){let j=x.push("wikilink","a",0);return j.content=I,x.pos+=I.length+2*B.length,!0}else return!1}),p.renderer.rules.wikilink=(x,T)=>{let{content:I}=x[T];if(!I)return"";let{text:B,link:P}=b.processWikilink(I);return`<a href="${P}">${B}</a>`}};import*as Yw from"fs";import*as TM from"less";import*as Nd from"path";var AM=typeof window>"u";function uA(){return{startOnLoad:!1}}function cA(){return{tex:{},options:{},loader:{}}}function dA(){return{macros:{}}}function fA(){return{onWillParseMarkdown:async function(p){return p},onDidParseMarkdown:async function(p){return p}}}function ch(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",includeInHeader:"",mermaidConfig:uA(),mathjaxConfig:cA(),katexConfig:dA(),parserConfig:fA(),enablePreviewZenMode:!1,usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,wikiLinkTargetFileExtension:".md",wikiLinkTargetFileNameChangeCase:"none",enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}var iz=(T=>(T.SinglePreview="Single Preview",T.MultiplePreviews="Multiple Previews",T.PreviewsOnly="Previews Only",T))(iz||{});async function pA(p,b,x=!1){let T=ch(),I={globalCss:T.globalCss,includeInHeader:T.includeInHeader,mermaidConfig:T.mermaidConfig,mathjaxConfig:T.mathjaxConfig,katexConfig:T.katexConfig,parserConfig:T.parserConfig};return x&&await b.mkdir(p),await b.exists(p)&&(I.globalCss=await oz(p,b),I.parserConfig=await uz(p,b),I.includeInHeader=await sz(p,b),I={...I,...await lz(p,b)}),I}async function oz(p,b){let x=Nd.join(p,"./style.less"),T;try{T=await b.readFile(x)}catch{T=`
288
+ `:"";return`<pre data-role="codeBlock" data-info="${qw(I)}" data-parsed-info="${qw(JSON.stringify(B))}" data-normalized-info="${qw(JSON.stringify(P))}" ${"data-source-line"in B.attributes?`data-source-line="${B.attributes["data-source-line"]}"`:""}>${F}</pre>${j}`}};var gM=(p,b)=>{p.inline.ruler.before("strikethrough","critic-markup",(x,T)=>{if(!b.config.enableCriticMarkupSyntax)return!1;let{src:B,pos:P}=x;if(B[P]==="{"&&(B[P+1]==="-"&&B[P+2]==="-"||B[P+1]==="+"&&B[P+2]==="+"||B[P+1]==="~"&&B[P+2]==="~"||B[P+1]==="="&&B[P+2]==="="||B[P+1]===">"&&B[P+2]===">")){let F=B.slice(P+1,P+3),j=F[0]===">"?"<<}":`${F}}`,W=P+3,V=-1,Q=null;for(;W<B.length;){if(B.startsWith(j,W)){V=W;break}W+=1}if(V>=0)Q=B.slice(P+3,V);else return!1;if(Q&&!T){let ae=x.push("critic-markup","",0);return ae.content=Q,ae.tag=F,x.pos=V+j.length,!0}else return!1}else return!1}),p.renderer.rules["critic-markup"]=(x,T)=>{let I=x[T],B=I.tag,P=I.content;if(B==="--")return`<del>${P}</del>`;if(B==="++")return`<ins>${P}</ins>`;if(B==="==")return`<mark>${P}</mark>`;if(B===">>")return`<span style="display:none">${P}</span>`;{let F=P.split("~>");return F.length===2?`<del>${F[0]}</del><ins>${F[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};var bM=p=>{p.core.ruler.push("curly_bracket_attributes",x=>{let T=x.tokens;for(let I=0;I<T.length;I++)if(T[I].type==="heading_open"){let B=T[I+1];if(B.type==="inline"){if(b(B),!B.children||B.children.length===0)continue;let P=B.children[B.children.length-1];if(P.type==="text"){let F=P.content.match(/{([^}]+)}\s*$/);if(F){let j=Vr(F[1]);P.content=P.content.replace(F[0],"");for(let W in j)T[I].attrJoin(W,j[W])}}}}else T[I].type==="inline"&&b(T[I])});function b(x){let T=x.children;if(!(!T||T.length===0))for(let I=0;I<T.length;I++){let B=T[I];if(B.type==="image"&&T[I+1]?.type==="text"){let P=T[I+1].content.match(/^{([^}]+)}/);if(P){let F=Vr(P[1]);T[I+1].content=T[I+1].content.replace(P[0],"");for(let j in F)B.attrJoin(j,F[j])}}else if(B.type==="link_open"){let P=I+1;for(;P<T.length&&T[P].type!=="link_close";)P++;if(I=P,P<T.length-1&&T[P+1].type==="text"){let F=T[P+1].content.match(/^{([^}]+)}/);if(F){let j=Vr(F[1]);T[P+1].content=T[P+1].content.replace(F[0],"");for(let W in j)B.attrJoin(W,j[W])}}}}}};import Q3 from"markdown-it-emoji";import ez from"markdown-it-emoji/lib/data/full.json";var Z3=["fa-accessible-icon","fa-american-sign-language-interpreting","fa-assistive-listening-systems","fa-audio-description","fa-blind","fa-braille","fa-closed-captioning","fa-deaf","fa-low-vision","fa-phone-volume","fa-question-circle","fa-sign-language","fa-tty","fa-universal-access","fa-wheelchair","fa-bell","fa-bell-slash","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-radiation","fa-radiation-alt","fa-skull-crossbones","fa-cat","fa-crow","fa-dog","fa-dove","fa-dragon","fa-feather","fa-feather-alt","fa-fish","fa-frog","fa-hippo","fa-horse","fa-horse-head","fa-kiwi-bird","fa-otter","fa-paw","fa-spider","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-arrow-alt-circle-down","fa-arrow-alt-circle-left","fa-arrow-alt-circle-right","fa-arrow-alt-circle-up","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows-alt","fa-arrows-alt-h","fa-arrows-alt-v","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-down","fa-caret-square-left","fa-caret-square-right","fa-caret-square-up","fa-caret-up","fa-cart-arrow-down","fa-chart-line","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-cloud-download-alt","fa-cloud-upload-alt","fa-compress-alt","fa-compress-arrows-alt","fa-download","fa-exchange-alt","fa-expand-alt","fa-expand-arrows-alt","fa-external-link-alt","fa-external-link-square-alt","fa-hand-point-down","fa-hand-point-left","fa-hand-point-right","fa-hand-point-up","fa-hand-pointer","fa-history","fa-level-down-alt","fa-level-up-alt","fa-location-arrow","fa-long-arrow-alt-down","fa-long-arrow-alt-left","fa-long-arrow-alt-right","fa-long-arrow-alt-up","fa-mouse-pointer","fa-play","fa-random","fa-recycle","fa-redo","fa-redo-alt","fa-reply","fa-reply-all","fa-retweet","fa-share","fa-share-square","fa-sign-in-alt","fa-sign-out-alt","fa-sort","fa-sort-alpha-down","fa-sort-alpha-down-alt","fa-sort-alpha-up","fa-sort-alpha-up-alt","fa-sort-amount-down","fa-sort-amount-down-alt","fa-sort-amount-up","fa-sort-amount-up-alt","fa-sort-down","fa-sort-numeric-down","fa-sort-numeric-down-alt","fa-sort-numeric-up","fa-sort-numeric-up-alt","fa-sort-up","fa-sync","fa-sync-alt","fa-text-height","fa-text-width","fa-undo","fa-undo-alt","fa-upload","fa-audio-description","fa-backward","fa-broadcast-tower","fa-circle","fa-closed-captioning","fa-compress","fa-compress-alt","fa-compress-arrows-alt","fa-eject","fa-expand","fa-expand-alt","fa-expand-arrows-alt","fa-fast-backward","fa-fast-forward","fa-file-audio","fa-file-video","fa-film","fa-forward","fa-headphones","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-music","fa-pause","fa-pause-circle","fa-phone-volume","fa-photo-video","fa-play","fa-play-circle","fa-podcast","fa-random","fa-redo","fa-redo-alt","fa-rss","fa-rss-square","fa-step-backward","fa-step-forward","fa-stop","fa-stop-circle","fa-sync","fa-sync-alt","fa-tv","fa-undo","fa-undo-alt","fa-video","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-youtube","fa-air-freshener","fa-ambulance","fa-bus","fa-bus-alt","fa-car","fa-car-alt","fa-car-battery","fa-car-crash","fa-car-side","fa-caravan","fa-charging-station","fa-gas-pump","fa-motorcycle","fa-oil-can","fa-shuttle-van","fa-tachometer-alt","fa-taxi","fa-trailer","fa-truck","fa-truck-monster","fa-truck-pickup","fa-apple-alt","fa-campground","fa-cloud-sun","fa-drumstick-bite","fa-football-ball","fa-hiking","fa-mountain","fa-tractor","fa-tree","fa-wind","fa-wine-bottle","fa-beer","fa-blender","fa-cocktail","fa-coffee","fa-flask","fa-glass-cheers","fa-glass-martini","fa-glass-martini-alt","fa-glass-whiskey","fa-mug-hot","fa-wine-bottle","fa-wine-glass","fa-wine-glass-alt","fa-archway","fa-building","fa-campground","fa-church","fa-city","fa-clinic-medical","fa-dungeon","fa-gopuram","fa-home","fa-hospital","fa-hospital-alt","fa-hospital-user","fa-hotel","fa-house-damage","fa-igloo","fa-industry","fa-kaaba","fa-landmark","fa-monument","fa-mosque","fa-place-of-worship","fa-school","fa-store","fa-store-alt","fa-synagogue","fa-torii-gate","fa-university","fa-vihara","fa-warehouse","fa-address-book","fa-address-card","fa-archive","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-birthday-cake","fa-book","fa-briefcase","fa-building","fa-bullhorn","fa-bullseye","fa-business-time","fa-calculator","fa-calendar","fa-calendar-alt","fa-certificate","fa-chart-area","fa-chart-bar","fa-chart-line","fa-chart-pie","fa-city","fa-clipboard","fa-coffee","fa-columns","fa-compass","fa-copy","fa-copyright","fa-cut","fa-edit","fa-envelope","fa-envelope-open","fa-envelope-square","fa-eraser","fa-fax","fa-file","fa-file-alt","fa-folder","fa-folder-minus","fa-folder-open","fa-folder-plus","fa-glasses","fa-globe","fa-highlighter","fa-industry","fa-landmark","fa-laptop-house","fa-marker","fa-paperclip","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pen-square","fa-pencil-alt","fa-percent","fa-phone","fa-phone-alt","fa-phone-slash","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-print","fa-project-diagram","fa-registered","fa-save","fa-sitemap","fa-socks","fa-sticky-note","fa-stream","fa-table","fa-tag","fa-tags","fa-tasks","fa-thumbtack","fa-trademark","fa-wallet","fa-binoculars","fa-campground","fa-caravan","fa-compass","fa-faucet","fa-fire","fa-fire-alt","fa-first-aid","fa-frog","fa-hiking","fa-map","fa-map-marked","fa-map-marked-alt","fa-map-signs","fa-mountain","fa-route","fa-toilet-paper","fa-trailer","fa-tree","fa-dollar-sign","fa-donate","fa-dove","fa-gift","fa-globe","fa-hand-holding-heart","fa-hand-holding-usd","fa-hand-holding-water","fa-hands-helping","fa-handshake","fa-heart","fa-leaf","fa-parachute-box","fa-piggy-bank","fa-ribbon","fa-seedling","fa-comment","fa-comment-alt","fa-comment-dots","fa-comment-medical","fa-comment-slash","fa-comments","fa-frown","fa-icons","fa-meh","fa-phone","fa-phone-alt","fa-phone-slash","fa-poo","fa-quote-left","fa-quote-right","fa-smile","fa-sms","fa-video","fa-video-slash","fa-chess","fa-chess-bishop","fa-chess-board","fa-chess-king","fa-chess-knight","fa-chess-pawn","fa-chess-queen","fa-chess-rook","fa-square-full","fa-apple-alt","fa-baby","fa-baby-carriage","fa-bath","fa-biking","fa-birthday-cake","fa-cookie","fa-cookie-bite","fa-gamepad","fa-ice-cream","fa-mitten","fa-robot","fa-school","fa-shapes","fa-snowman","fa-graduation-cap","fa-hat-cowboy","fa-hat-cowboy-side","fa-hat-wizard","fa-mitten","fa-shoe-prints","fa-socks","fa-tshirt","fa-user-tie","fa-archive","fa-barcode","fa-bath","fa-bug","fa-code","fa-code-branch","fa-coffee","fa-file","fa-file-alt","fa-file-code","fa-filter","fa-fire-extinguisher","fa-folder","fa-folder-open","fa-keyboard","fa-laptop-code","fa-microchip","fa-project-diagram","fa-qrcode","fa-shield-alt","fa-sitemap","fa-stream","fa-terminal","fa-user-secret","fa-window-close","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-address-book","fa-address-card","fa-american-sign-language-interpreting","fa-assistive-listening-systems","fa-at","fa-bell","fa-bell-slash","fa-bluetooth","fa-bluetooth-b","fa-broadcast-tower","fa-bullhorn","fa-chalkboard","fa-comment","fa-comment-alt","fa-comments","fa-envelope","fa-envelope-open","fa-envelope-square","fa-fax","fa-inbox","fa-language","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-mobile","fa-mobile-alt","fa-paper-plane","fa-phone","fa-phone-alt","fa-phone-slash","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-rss","fa-rss-square","fa-tty","fa-voicemail","fa-wifi","fa-compact-disc","fa-database","fa-desktop","fa-download","fa-ethernet","fa-hdd","fa-headphones","fa-keyboard","fa-laptop","fa-laptop-house","fa-memory","fa-microchip","fa-mobile","fa-mobile-alt","fa-mouse","fa-plug","fa-power-off","fa-print","fa-satellite","fa-satellite-dish","fa-save","fa-sd-card","fa-server","fa-sim-card","fa-stream","fa-tablet","fa-tablet-alt","fa-tv","fa-upload","fa-brush","fa-drafting-compass","fa-dumpster","fa-hammer","fa-hard-hat","fa-paint-roller","fa-pencil-alt","fa-pencil-ruler","fa-ruler","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-screwdriver","fa-toolbox","fa-tools","fa-truck-pickup","fa-wrench","fa-bitcoin","fa-btc","fa-dollar-sign","fa-ethereum","fa-euro-sign","fa-gg","fa-gg-circle","fa-hryvnia","fa-lira-sign","fa-money-bill","fa-money-bill-alt","fa-money-bill-wave","fa-money-bill-wave-alt","fa-money-check","fa-money-check-alt","fa-pound-sign","fa-ruble-sign","fa-rupee-sign","fa-shekel-sign","fa-tenge","fa-won-sign","fa-yen-sign","fa-bell","fa-bell-slash","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-clock","fa-hourglass","fa-hourglass-end","fa-hourglass-half","fa-hourglass-start","fa-stopwatch","fa-adjust","fa-bezier-curve","fa-brush","fa-clone","fa-copy","fa-crop","fa-crop-alt","fa-crosshairs","fa-cut","fa-drafting-compass","fa-draw-polygon","fa-edit","fa-eraser","fa-eye","fa-eye-dropper","fa-eye-slash","fa-fill","fa-fill-drip","fa-highlighter","fa-icons","fa-layer-group","fa-magic","fa-marker","fa-object-group","fa-object-ungroup","fa-paint-brush","fa-paint-roller","fa-palette","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-pencil-ruler","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-save","fa-splotch","fa-spray-can","fa-stamp","fa-swatchbook","fa-tint","fa-tint-slash","fa-vector-square","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-bold","fa-border-all","fa-border-none","fa-border-style","fa-clipboard","fa-clone","fa-columns","fa-copy","fa-cut","fa-edit","fa-eraser","fa-file","fa-file-alt","fa-font","fa-glasses","fa-heading","fa-highlighter","fa-i-cursor","fa-icons","fa-indent","fa-italic","fa-link","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-marker","fa-outdent","fa-paper-plane","fa-paperclip","fa-paragraph","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-print","fa-quote-left","fa-quote-right","fa-redo","fa-redo-alt","fa-remove-format","fa-reply","fa-reply-all","fa-screwdriver","fa-share","fa-spell-check","fa-strikethrough","fa-subscript","fa-superscript","fa-sync","fa-sync-alt","fa-table","fa-tasks","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-tools","fa-trash","fa-trash-alt","fa-trash-restore","fa-trash-restore-alt","fa-underline","fa-undo","fa-undo-alt","fa-unlink","fa-wrench","fa-apple-alt","fa-atom","fa-award","fa-bell","fa-bell-slash","fa-book-open","fa-book-reader","fa-chalkboard","fa-chalkboard-teacher","fa-graduation-cap","fa-laptop-code","fa-microscope","fa-music","fa-school","fa-shapes","fa-theater-masks","fa-user-graduate","fa-angry","fa-dizzy","fa-flushed","fa-frown","fa-frown-open","fa-grimace","fa-grin","fa-grin-alt","fa-grin-beam","fa-grin-beam-sweat","fa-grin-hearts","fa-grin-squint","fa-grin-squint-tears","fa-grin-stars","fa-grin-tears","fa-grin-tongue","fa-grin-tongue-squint","fa-grin-tongue-wink","fa-grin-wink","fa-kiss","fa-kiss-beam","fa-kiss-wink-heart","fa-laugh","fa-laugh-beam","fa-laugh-squint","fa-laugh-wink","fa-meh","fa-meh-blank","fa-meh-rolling-eyes","fa-sad-cry","fa-sad-tear","fa-smile","fa-smile-beam","fa-smile-wink","fa-surprise","fa-tired","fa-atom","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-broadcast-tower","fa-burn","fa-charging-station","fa-fan","fa-fire","fa-fire-alt","fa-gas-pump","fa-industry","fa-leaf","fa-lightbulb","fa-plug","fa-poop","fa-power-off","fa-radiation","fa-radiation-alt","fa-seedling","fa-solar-panel","fa-sun","fa-water","fa-wind","fa-archive","fa-clone","fa-copy","fa-cut","fa-file","fa-file-alt","fa-file-archive","fa-file-audio","fa-file-code","fa-file-excel","fa-file-image","fa-file-pdf","fa-file-powerpoint","fa-file-video","fa-file-word","fa-folder","fa-folder-open","fa-paste","fa-photo-video","fa-save","fa-sticky-note","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-book","fa-cash-register","fa-chart-line","fa-chart-pie","fa-coins","fa-comment-dollar","fa-comments-dollar","fa-credit-card","fa-donate","fa-file-invoice","fa-file-invoice-dollar","fa-hand-holding-usd","fa-landmark","fa-money-bill","fa-money-bill-alt","fa-money-bill-wave","fa-money-bill-wave-alt","fa-money-check","fa-money-check-alt","fa-percentage","fa-piggy-bank","fa-receipt","fa-stamp","fa-wallet","fa-bicycle","fa-biking","fa-burn","fa-fire-alt","fa-heart","fa-heartbeat","fa-hiking","fa-running","fa-shoe-prints","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-spa","fa-swimmer","fa-walking","fa-apple-alt","fa-bacon","fa-bone","fa-bread-slice","fa-candy-cane","fa-carrot","fa-cheese","fa-cloud-meatball","fa-cookie","fa-drumstick-bite","fa-egg","fa-fish","fa-hamburger","fa-hotdog","fa-ice-cream","fa-lemon","fa-pepper-hot","fa-pizza-slice","fa-seedling","fa-stroopwafel","fa-apple-alt","fa-carrot","fa-leaf","fa-lemon","fa-pepper-hot","fa-seedling","fa-chess","fa-chess-bishop","fa-chess-board","fa-chess-king","fa-chess-knight","fa-chess-pawn","fa-chess-queen","fa-chess-rook","fa-dice","fa-dice-d20","fa-dice-d6","fa-dice-five","fa-dice-four","fa-dice-one","fa-dice-six","fa-dice-three","fa-dice-two","fa-gamepad","fa-ghost","fa-headset","fa-heart","fa-playstation","fa-puzzle-piece","fa-steam","fa-steam-square","fa-steam-symbol","fa-twitch","fa-xbox","fa-acquisitions-incorporated","fa-book-dead","fa-critical-role","fa-d-and-d","fa-d-and-d-beyond","fa-dice-d20","fa-dice-d6","fa-dragon","fa-dungeon","fa-fantasy-flight-games","fa-fist-raised","fa-hat-wizard","fa-penny-arcade","fa-ring","fa-scroll","fa-skull-crossbones","fa-wizards-of-the-coast","fa-genderless","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-mercury","fa-neuter","fa-transgender","fa-transgender-alt","fa-venus","fa-venus-double","fa-venus-mars","fa-book-dead","fa-broom","fa-cat","fa-cloud-moon","fa-crow","fa-ghost","fa-hat-wizard","fa-mask","fa-skull-crossbones","fa-spider","fa-toilet-paper","fa-allergies","fa-fist-raised","fa-hand-holding","fa-hand-holding-heart","fa-hand-holding-medical","fa-hand-holding-usd","fa-hand-holding-water","fa-hand-lizard","fa-hand-middle-finger","fa-hand-paper","fa-hand-peace","fa-hand-point-down","fa-hand-point-left","fa-hand-point-right","fa-hand-point-up","fa-hand-pointer","fa-hand-rock","fa-hand-scissors","fa-hand-sparkles","fa-hand-spock","fa-hands","fa-hands-helping","fa-hands-wash","fa-handshake","fa-handshake-alt-slash","fa-handshake-slash","fa-praying-hands","fa-thumbs-down","fa-thumbs-up","fa-accessible-icon","fa-ambulance","fa-h-square","fa-heart","fa-heartbeat","fa-hospital","fa-medkit","fa-plus-square","fa-prescription","fa-stethoscope","fa-user-md","fa-wheelchair","fa-candy-cane","fa-carrot","fa-cookie-bite","fa-gift","fa-gifts","fa-glass-cheers","fa-holly-berry","fa-mug-hot","fa-sleigh","fa-snowman","fa-baby-carriage","fa-bath","fa-bed","fa-briefcase","fa-car","fa-cocktail","fa-coffee","fa-concierge-bell","fa-dice","fa-dice-five","fa-door-closed","fa-door-open","fa-dumbbell","fa-glass-martini","fa-glass-martini-alt","fa-hot-tub","fa-hotel","fa-infinity","fa-key","fa-luggage-cart","fa-shower","fa-shuttle-van","fa-smoking","fa-smoking-ban","fa-snowflake","fa-spa","fa-suitcase","fa-suitcase-rolling","fa-swimmer","fa-swimming-pool","fa-tv","fa-umbrella-beach","fa-utensils","fa-wheelchair","fa-wifi","fa-bath","fa-bed","fa-bell","fa-blender","fa-box-tissue","fa-chair","fa-coffee","fa-couch","fa-door-closed","fa-door-open","fa-dungeon","fa-fan","fa-faucet","fa-house-user","fa-laptop-house","fa-lightbulb","fa-plug","fa-pump-soap","fa-shower","fa-sink","fa-snowflake","fa-soap","fa-toilet-paper","fa-toilet-paper-slash","fa-tv","fa-adjust","fa-bolt","fa-camera","fa-camera-retro","fa-chalkboard","fa-clone","fa-compress","fa-compress-arrows-alt","fa-expand","fa-eye","fa-eye-dropper","fa-eye-slash","fa-file-image","fa-film","fa-id-badge","fa-id-card","fa-image","fa-images","fa-photo-video","fa-portrait","fa-sliders-h","fa-tint","fa-unsplash","fa-award","fa-ban","fa-barcode","fa-bars","fa-beer","fa-bell","fa-bell-slash","fa-blog","fa-bug","fa-bullhorn","fa-bullseye","fa-calculator","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-certificate","fa-check","fa-check-circle","fa-check-double","fa-check-square","fa-circle","fa-clipboard","fa-clone","fa-cloud","fa-cloud-download-alt","fa-cloud-upload-alt","fa-coffee","fa-cog","fa-cogs","fa-copy","fa-cut","fa-database","fa-dot-circle","fa-download","fa-edit","fa-ellipsis-h","fa-ellipsis-v","fa-envelope","fa-envelope-open","fa-eraser","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-external-link-alt","fa-external-link-square-alt","fa-eye","fa-eye-slash","fa-file","fa-file-alt","fa-file-download","fa-file-export","fa-file-import","fa-file-upload","fa-filter","fa-fingerprint","fa-flag","fa-flag-checkered","fa-folder","fa-folder-open","fa-frown","fa-glasses","fa-grip-horizontal","fa-grip-lines","fa-grip-lines-vertical","fa-grip-vertical","fa-hashtag","fa-heart","fa-history","fa-home","fa-i-cursor","fa-info","fa-info-circle","fa-language","fa-magic","fa-marker","fa-medal","fa-meh","fa-microphone","fa-microphone-alt","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pencil-alt","fa-plus","fa-plus-circle","fa-plus-square","fa-poo","fa-qrcode","fa-question","fa-question-circle","fa-quote-left","fa-quote-right","fa-redo","fa-redo-alt","fa-reply","fa-reply-all","fa-rss","fa-rss-square","fa-save","fa-screwdriver","fa-search","fa-search-minus","fa-search-plus","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-shield-alt","fa-sign-in-alt","fa-sign-out-alt","fa-signal","fa-sitemap","fa-sliders-h","fa-smile","fa-sort","fa-sort-alpha-down","fa-sort-alpha-down-alt","fa-sort-alpha-up","fa-sort-alpha-up-alt","fa-sort-amount-down","fa-sort-amount-down-alt","fa-sort-amount-up","fa-sort-amount-up-alt","fa-sort-down","fa-sort-numeric-down","fa-sort-numeric-down-alt","fa-sort-numeric-up","fa-sort-numeric-up-alt","fa-sort-up","fa-star","fa-star-half","fa-sync","fa-sync-alt","fa-thumbs-down","fa-thumbs-up","fa-times","fa-times-circle","fa-toggle-off","fa-toggle-on","fa-tools","fa-trash","fa-trash-alt","fa-trash-restore","fa-trash-restore-alt","fa-trophy","fa-undo","fa-undo-alt","fa-upload","fa-user","fa-user-alt","fa-user-circle","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-wifi","fa-wrench","fa-box","fa-boxes","fa-clipboard-check","fa-clipboard-list","fa-dolly","fa-dolly-flatbed","fa-hard-hat","fa-pallet","fa-shipping-fast","fa-truck","fa-warehouse","fa-ambulance","fa-anchor","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bath","fa-bed","fa-beer","fa-bell","fa-bell-slash","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-blind","fa-bomb","fa-book","fa-bookmark","fa-briefcase","fa-building","fa-car","fa-coffee","fa-crosshairs","fa-directions","fa-dollar-sign","fa-draw-polygon","fa-eye","fa-eye-slash","fa-fighter-jet","fa-fire","fa-fire-alt","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flask","fa-gamepad","fa-gavel","fa-gift","fa-glass-martini","fa-globe","fa-graduation-cap","fa-h-square","fa-heart","fa-heartbeat","fa-helicopter","fa-home","fa-hospital","fa-image","fa-images","fa-industry","fa-info","fa-info-circle","fa-key","fa-landmark","fa-layer-group","fa-leaf","fa-lemon","fa-life-ring","fa-lightbulb","fa-location-arrow","fa-low-vision","fa-magnet","fa-male","fa-map","fa-map-marker","fa-map-marker-alt","fa-map-pin","fa-map-signs","fa-medkit","fa-money-bill","fa-money-bill-alt","fa-motorcycle","fa-music","fa-newspaper","fa-parking","fa-paw","fa-phone","fa-phone-alt","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-plane","fa-plug","fa-plus","fa-plus-square","fa-print","fa-recycle","fa-restroom","fa-road","fa-rocket","fa-route","fa-search","fa-search-minus","fa-search-plus","fa-ship","fa-shoe-prints","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-snowplow","fa-street-view","fa-subway","fa-suitcase","fa-tag","fa-tags","fa-taxi","fa-thumbtack","fa-ticket-alt","fa-tint","fa-traffic-light","fa-train","fa-tram","fa-tree","fa-trophy","fa-truck","fa-tty","fa-umbrella","fa-university","fa-utensil-spoon","fa-utensils","fa-vest","fa-vest-patches","fa-wheelchair","fa-wifi","fa-wine-glass","fa-wrench","fa-anchor","fa-binoculars","fa-compass","fa-dharmachakra","fa-frog","fa-ship","fa-skull-crossbones","fa-swimmer","fa-water","fa-wind","fa-ad","fa-bullhorn","fa-bullseye","fa-comment-dollar","fa-comments-dollar","fa-envelope-open-text","fa-funnel-dollar","fa-lightbulb","fa-mail-bulk","fa-poll","fa-poll-h","fa-search-dollar","fa-search-location","fa-calculator","fa-divide","fa-equals","fa-greater-than","fa-greater-than-equal","fa-infinity","fa-less-than","fa-less-than-equal","fa-minus","fa-not-equal","fa-percentage","fa-plus","fa-square-root-alt","fa-subscript","fa-superscript","fa-times","fa-wave-square","fa-allergies","fa-ambulance","fa-bacteria","fa-bacterium","fa-band-aid","fa-biohazard","fa-bone","fa-bong","fa-book-medical","fa-brain","fa-briefcase-medical","fa-burn","fa-cannabis","fa-capsules","fa-clinic-medical","fa-comment-medical","fa-crutch","fa-diagnoses","fa-disease","fa-dna","fa-file-medical","fa-file-medical-alt","fa-file-prescription","fa-first-aid","fa-hand-holding-medical","fa-head-side-cough","fa-head-side-cough-slash","fa-head-side-mask","fa-head-side-virus","fa-heart","fa-heartbeat","fa-hospital","fa-hospital-alt","fa-hospital-symbol","fa-hospital-user","fa-id-card-alt","fa-joint","fa-laptop-medical","fa-lungs","fa-lungs-virus","fa-microscope","fa-mortar-pestle","fa-notes-medical","fa-pager","fa-pills","fa-plus","fa-poop","fa-prescription","fa-prescription-bottle","fa-prescription-bottle-alt","fa-procedures","fa-pump-medical","fa-radiation","fa-radiation-alt","fa-shield-virus","fa-smoking","fa-smoking-ban","fa-star-of-life","fa-stethoscope","fa-syringe","fa-tablets","fa-teeth","fa-teeth-open","fa-thermometer","fa-tooth","fa-user-md","fa-user-nurse","fa-vial","fa-vials","fa-virus","fa-virus-slash","fa-viruses","fa-weight","fa-x-ray","fa-archive","fa-box-open","fa-caravan","fa-couch","fa-dolly","fa-people-carry","fa-route","fa-sign","fa-suitcase","fa-tape","fa-trailer","fa-truck-loading","fa-truck-moving","fa-wine-glass","fa-compact-disc","fa-drum","fa-drum-steelpan","fa-file-audio","fa-guitar","fa-headphones","fa-headphones-alt","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-music","fa-napster","fa-play","fa-record-vinyl","fa-sliders-h","fa-soundcloud","fa-spotify","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-ambulance","fa-anchor","fa-archive","fa-award","fa-baby-carriage","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bath","fa-bed","fa-beer","fa-bell","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-blender","fa-bomb","fa-book","fa-book-dead","fa-bookmark","fa-briefcase","fa-broadcast-tower","fa-bug","fa-building","fa-bullhorn","fa-bullseye","fa-bus","fa-calculator","fa-calendar","fa-calendar-alt","fa-camera","fa-camera-retro","fa-candy-cane","fa-car","fa-carrot","fa-church","fa-clipboard","fa-cloud","fa-coffee","fa-cog","fa-cogs","fa-compass","fa-cookie","fa-cookie-bite","fa-copy","fa-cube","fa-cubes","fa-cut","fa-dice","fa-dice-d20","fa-dice-d6","fa-dice-five","fa-dice-four","fa-dice-one","fa-dice-six","fa-dice-three","fa-dice-two","fa-digital-tachograph","fa-door-closed","fa-door-open","fa-drum","fa-drum-steelpan","fa-envelope","fa-envelope-open","fa-eraser","fa-eye","fa-eye-dropper","fa-fax","fa-feather","fa-feather-alt","fa-fighter-jet","fa-file","fa-file-alt","fa-file-prescription","fa-film","fa-fire","fa-fire-alt","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flask","fa-futbol","fa-gamepad","fa-gavel","fa-gem","fa-gift","fa-gifts","fa-glass-cheers","fa-glass-martini","fa-glass-whiskey","fa-glasses","fa-globe","fa-graduation-cap","fa-guitar","fa-hat-wizard","fa-hdd","fa-headphones","fa-headphones-alt","fa-headset","fa-heart","fa-heart-broken","fa-helicopter","fa-highlighter","fa-holly-berry","fa-home","fa-hospital","fa-hourglass","fa-igloo","fa-image","fa-images","fa-industry","fa-key","fa-keyboard","fa-laptop","fa-leaf","fa-lemon","fa-life-ring","fa-lightbulb","fa-lock","fa-lock-open","fa-magic","fa-magnet","fa-map","fa-map-marker","fa-map-marker-alt","fa-map-pin","fa-map-signs","fa-marker","fa-medal","fa-medkit","fa-memory","fa-microchip","fa-microphone","fa-microphone-alt","fa-mitten","fa-mobile","fa-mobile-alt","fa-money-bill","fa-money-bill-alt","fa-money-check","fa-money-check-alt","fa-moon","fa-motorcycle","fa-mug-hot","fa-newspaper","fa-paint-brush","fa-paper-plane","fa-paperclip","fa-paste","fa-paw","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-phone","fa-phone-alt","fa-plane","fa-plug","fa-print","fa-puzzle-piece","fa-ring","fa-road","fa-rocket","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-satellite","fa-satellite-dish","fa-save","fa-school","fa-screwdriver","fa-scroll","fa-sd-card","fa-search","fa-shield-alt","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sim-card","fa-skull-crossbones","fa-sleigh","fa-snowflake","fa-snowplow","fa-space-shuttle","fa-star","fa-sticky-note","fa-stopwatch","fa-stroopwafel","fa-subway","fa-suitcase","fa-sun","fa-tablet","fa-tablet-alt","fa-tachometer-alt","fa-tag","fa-tags","fa-taxi","fa-thumbtack","fa-ticket-alt","fa-toilet","fa-toolbox","fa-tools","fa-train","fa-tram","fa-trash","fa-trash-alt","fa-tree","fa-trophy","fa-truck","fa-tv","fa-umbrella","fa-university","fa-unlock","fa-unlock-alt","fa-utensil-spoon","fa-utensils","fa-wallet","fa-weight","fa-wheelchair","fa-wine-glass","fa-wrench","fa-alipay","fa-amazon-pay","fa-apple-pay","fa-bell","fa-bitcoin","fa-bookmark","fa-btc","fa-bullhorn","fa-camera","fa-camera-retro","fa-cart-arrow-down","fa-cart-plus","fa-cc-amazon-pay","fa-cc-amex","fa-cc-apple-pay","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-credit-card","fa-ethereum","fa-gem","fa-gift","fa-google-pay","fa-google-wallet","fa-handshake","fa-heart","fa-key","fa-money-check","fa-money-check-alt","fa-paypal","fa-receipt","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-star","fa-stripe","fa-stripe-s","fa-tag","fa-tags","fa-thumbs-down","fa-thumbs-up","fa-trophy","fa-band-aid","fa-book-medical","fa-cannabis","fa-capsules","fa-clinic-medical","fa-disease","fa-eye-dropper","fa-file-medical","fa-file-prescription","fa-first-aid","fa-flask","fa-history","fa-joint","fa-laptop-medical","fa-mortar-pestle","fa-notes-medical","fa-pills","fa-prescription","fa-prescription-bottle","fa-prescription-bottle-alt","fa-receipt","fa-skull-crossbones","fa-syringe","fa-tablets","fa-thermometer","fa-vial","fa-vials","fa-award","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bullhorn","fa-check-double","fa-democrat","fa-donate","fa-dove","fa-fist-raised","fa-flag-usa","fa-handshake","fa-person-booth","fa-piggy-bank","fa-republican","fa-vote-yea","fa-ankh","fa-atom","fa-bahai","fa-bible","fa-church","fa-cross","fa-dharmachakra","fa-dove","fa-gopuram","fa-hamsa","fa-hanukiah","fa-jedi","fa-journal-whills","fa-kaaba","fa-khanda","fa-menorah","fa-mosque","fa-om","fa-pastafarianism","fa-peace","fa-place-of-worship","fa-pray","fa-praying-hands","fa-quran","fa-star-and-crescent","fa-star-of-david","fa-synagogue","fa-torah","fa-torii-gate","fa-vihara","fa-yin-yang","fa-atom","fa-biohazard","fa-brain","fa-burn","fa-capsules","fa-clipboard-check","fa-disease","fa-dna","fa-eye-dropper","fa-filter","fa-fire","fa-fire-alt","fa-flask","fa-frog","fa-magnet","fa-microscope","fa-mortar-pestle","fa-pills","fa-prescription-bottle","fa-radiation","fa-radiation-alt","fa-seedling","fa-skull-crossbones","fa-syringe","fa-tablets","fa-temperature-high","fa-temperature-low","fa-vial","fa-vials","fa-atom","fa-galactic-republic","fa-galactic-senate","fa-globe","fa-hand-spock","fa-jedi","fa-jedi-order","fa-journal-whills","fa-meteor","fa-moon","fa-old-republic","fa-robot","fa-rocket","fa-satellite","fa-satellite-dish","fa-space-shuttle","fa-user-astronaut","fa-ban","fa-bug","fa-door-closed","fa-door-open","fa-dungeon","fa-eye","fa-eye-slash","fa-file-contract","fa-file-signature","fa-fingerprint","fa-id-badge","fa-id-card","fa-id-card-alt","fa-key","fa-lock","fa-lock-open","fa-mask","fa-passport","fa-shield-alt","fa-unlock","fa-unlock-alt","fa-user-lock","fa-user-secret","fa-user-shield","fa-bookmark","fa-calendar","fa-certificate","fa-circle","fa-cloud","fa-comment","fa-file","fa-folder","fa-heart","fa-heart-broken","fa-map-marker","fa-play","fa-shapes","fa-square","fa-star","fa-barcode","fa-cart-arrow-down","fa-cart-plus","fa-cash-register","fa-gift","fa-gifts","fa-person-booth","fa-receipt","fa-shipping-fast","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-store","fa-store-alt","fa-store-alt-slash","fa-store-slash","fa-truck","fa-tshirt","fa-bell","fa-birthday-cake","fa-camera","fa-comment","fa-comment-alt","fa-envelope","fa-hashtag","fa-heart","fa-icons","fa-image","fa-images","fa-map-marker","fa-map-marker-alt","fa-photo-video","fa-poll","fa-poll-h","fa-retweet","fa-share","fa-share-alt","fa-share-square","fa-star","fa-thumbs-down","fa-thumbs-up","fa-thumbtack","fa-user","fa-user-circle","fa-user-friends","fa-user-plus","fa-users","fa-video","fa-asterisk","fa-atom","fa-bahai","fa-certificate","fa-circle-notch","fa-cog","fa-compact-disc","fa-compass","fa-crosshairs","fa-dharmachakra","fa-fan","fa-life-ring","fa-palette","fa-ring","fa-slash","fa-snowflake","fa-spinner","fa-stroopwafel","fa-sun","fa-sync","fa-sync-alt","fa-yin-yang","fa-baseball-ball","fa-basketball-ball","fa-biking","fa-bowling-ball","fa-dumbbell","fa-football-ball","fa-futbol","fa-golf-ball","fa-hockey-puck","fa-quidditch","fa-running","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-swimmer","fa-table-tennis","fa-volleyball-ball","fa-allergies","fa-broom","fa-cloud-sun","fa-cloud-sun-rain","fa-frog","fa-rainbow","fa-seedling","fa-umbrella","fa-ban","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bell","fa-bell-slash","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-day","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-calendar-week","fa-cart-arrow-down","fa-cart-plus","fa-comment","fa-comment-alt","fa-comment-slash","fa-compass","fa-door-closed","fa-door-open","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-eye","fa-eye-slash","fa-file","fa-file-alt","fa-folder","fa-folder-open","fa-gas-pump","fa-info","fa-info-circle","fa-lightbulb","fa-lock","fa-lock-open","fa-map-marker","fa-map-marker-alt","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-parking","fa-phone","fa-phone-alt","fa-phone-slash","fa-plus","fa-plus-circle","fa-plus-square","fa-print","fa-question","fa-question-circle","fa-shield-alt","fa-shopping-cart","fa-sign-in-alt","fa-sign-out-alt","fa-signal","fa-smoking-ban","fa-star","fa-star-half","fa-star-half-alt","fa-stream","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumbs-down","fa-thumbs-up","fa-tint","fa-tint-slash","fa-toggle-off","fa-toggle-on","fa-unlock","fa-unlock-alt","fa-user","fa-user-alt","fa-user-alt-slash","fa-user-slash","fa-video","fa-video-slash","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-wifi","fa-anchor","fa-biking","fa-fish","fa-hotdog","fa-ice-cream","fa-lemon","fa-sun","fa-swimmer","fa-swimming-pool","fa-umbrella-beach","fa-volleyball-ball","fa-water","fa-bullseye","fa-check-circle","fa-circle","fa-dot-circle","fa-microphone","fa-microphone-slash","fa-star","fa-star-half","fa-star-half-alt","fa-toggle-off","fa-toggle-on","fa-wifi","fa-archway","fa-atlas","fa-bed","fa-bus","fa-bus-alt","fa-caravan","fa-cocktail","fa-concierge-bell","fa-dumbbell","fa-glass-martini","fa-glass-martini-alt","fa-globe-africa","fa-globe-americas","fa-globe-asia","fa-globe-europe","fa-hot-tub","fa-hotel","fa-luggage-cart","fa-map","fa-map-marked","fa-map-marked-alt","fa-monument","fa-passport","fa-plane","fa-plane-arrival","fa-plane-departure","fa-shuttle-van","fa-spa","fa-suitcase","fa-suitcase-rolling","fa-swimmer","fa-swimming-pool","fa-taxi","fa-tram","fa-tv","fa-umbrella-beach","fa-wine-glass","fa-wine-glass-alt","fa-accessible-icon","fa-address-book","fa-address-card","fa-baby","fa-bed","fa-biking","fa-blind","fa-chalkboard-teacher","fa-child","fa-female","fa-frown","fa-hiking","fa-id-badge","fa-id-card","fa-id-card-alt","fa-male","fa-meh","fa-people-arrows","fa-people-carry","fa-person-booth","fa-poo","fa-portrait","fa-power-off","fa-pray","fa-restroom","fa-running","fa-skating","fa-skiing","fa-skiing-nordic","fa-smile","fa-snowboarding","fa-street-view","fa-swimmer","fa-user","fa-user-alt","fa-user-alt-slash","fa-user-astronaut","fa-user-check","fa-user-circle","fa-user-clock","fa-user-cog","fa-user-edit","fa-user-friends","fa-user-graduate","fa-user-injured","fa-user-lock","fa-user-md","fa-user-minus","fa-user-ninja","fa-user-nurse","fa-user-plus","fa-user-secret","fa-user-shield","fa-user-slash","fa-user-tag","fa-user-tie","fa-user-times","fa-users","fa-users-cog","fa-users-slash","fa-walking","fa-wheelchair","fa-accessible-icon","fa-ambulance","fa-baby-carriage","fa-bicycle","fa-bus","fa-bus-alt","fa-car","fa-car-alt","fa-car-crash","fa-car-side","fa-fighter-jet","fa-helicopter","fa-horse","fa-motorcycle","fa-paper-plane","fa-plane","fa-rocket","fa-ship","fa-shopping-cart","fa-shuttle-van","fa-sleigh","fa-snowplow","fa-space-shuttle","fa-subway","fa-taxi","fa-tractor","fa-train","fa-tram","fa-truck","fa-truck-monster","fa-truck-pickup","fa-wheelchair","fa-bolt","fa-cloud","fa-cloud-meatball","fa-cloud-moon","fa-cloud-moon-rain","fa-cloud-rain","fa-cloud-showers-heavy","fa-cloud-sun","fa-cloud-sun-rain","fa-meteor","fa-moon","fa-poo-storm","fa-rainbow","fa-smog","fa-snowflake","fa-sun","fa-temperature-high","fa-temperature-low","fa-umbrella","fa-water","fa-wind","fa-glass-whiskey","fa-icicles","fa-igloo","fa-mitten","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-snowplow","fa-tram","fa-archive","fa-blog","fa-book","fa-bookmark","fa-edit","fa-envelope","fa-envelope-open","fa-eraser","fa-file","fa-file-alt","fa-folder","fa-folder-open","fa-keyboard","fa-newspaper","fa-paper-plane","fa-paperclip","fa-paragraph","fa-pen","fa-pen-alt","fa-pen-square","fa-pencil-alt","fa-quote-left","fa-quote-right","fa-sticky-note","fa-thumbtack"],J3=["fa-500px","fa-accusoft","fa-adn","fa-adversal","fa-affiliatetheme","fa-airbnb","fa-algolia","fa-amazon","fa-amilia","fa-android","fa-angellist","fa-angrycreative","fa-angular","fa-app-store","fa-app-store-ios","fa-apper","fa-apple","fa-artstation","fa-asymmetrik","fa-atlassian","fa-audible","fa-autoprefixer","fa-avianex","fa-aviato","fa-aws","fa-backspace","fa-bandcamp","fa-battle-net","fa-behance","fa-behance-square","fa-bimobject","fa-bitbucket","fa-bity","fa-black-tie","fa-blackberry","fa-blender-phone","fa-blogger","fa-blogger-b","fa-bootstrap","fa-buffer","fa-buromobelexperte","fa-buy-n-large","fa-buysellads","fa-canadian-maple-leaf","fa-centercode","fa-centos","fa-chrome","fa-chromecast","fa-cloudflare","fa-cloudscale","fa-cloudsmith","fa-cloudversify","fa-codepen","fa-codiepie","fa-confluence","fa-connectdevelop","fa-contao","fa-cotton-bureau","fa-cpanel","fa-creative-commons","fa-creative-commons-by","fa-creative-commons-nc","fa-creative-commons-nc-eu","fa-creative-commons-nc-jp","fa-creative-commons-nd","fa-creative-commons-pd","fa-creative-commons-pd-alt","fa-creative-commons-remix","fa-creative-commons-sa","fa-creative-commons-sampling","fa-creative-commons-sampling-plus","fa-creative-commons-share","fa-creative-commons-zero","fa-crown","fa-css3","fa-css3-alt","fa-cuttlefish","fa-dailymotion","fa-dashcube","fa-deezer","fa-delicious","fa-deploydog","fa-deskpro","fa-dev","fa-deviantart","fa-dhl","fa-diaspora","fa-digg","fa-digital-ocean","fa-discord","fa-discourse","fa-dochub","fa-docker","fa-draft2digital","fa-dribbble","fa-dribbble-square","fa-dropbox","fa-drupal","fa-dumpster-fire","fa-dyalog","fa-earlybirds","fa-ebay","fa-edge","fa-edge-legacy","fa-elementor","fa-ello","fa-ember","fa-empire","fa-envira","fa-erlang","fa-etsy","fa-evernote","fa-expeditedssl","fa-facebook","fa-facebook-f","fa-facebook-messenger","fa-facebook-square","fa-fedex","fa-fedora","fa-figma","fa-file-csv","fa-firefox","fa-firefox-browser","fa-first-order","fa-first-order-alt","fa-firstdraft","fa-flickr","fa-flipboard","fa-fly","fa-font-awesome","fa-font-awesome-alt","fa-font-awesome-flag","fa-font-awesome-logo-full","fa-fonticons","fa-fonticons-fi","fa-fort-awesome","fa-fort-awesome-alt","fa-forumbee","fa-foursquare","fa-free-code-camp","fa-freebsd","fa-fulcrum","fa-get-pocket","fa-git","fa-git-alt","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitkraken","fa-gitlab","fa-gitter","fa-glide","fa-glide-g","fa-gofore","fa-goodreads","fa-goodreads-g","fa-google","fa-google-drive","fa-google-play","fa-google-plus","fa-google-plus-g","fa-google-plus-square","fa-gratipay","fa-grav","fa-gripfire","fa-grunt","fa-guilded","fa-gulp","fa-hacker-news","fa-hacker-news-square","fa-hackerrank","fa-hips","fa-hire-a-helper","fa-hive","fa-hooli","fa-hornbill","fa-hotjar","fa-houzz","fa-html5","fa-hubspot","fa-ideal","fa-imdb","fa-innosoft","fa-instagram","fa-instagram-square","fa-instalod","fa-intercom","fa-internet-explorer","fa-invision","fa-ioxhost","fa-itch-io","fa-itunes","fa-itunes-note","fa-java","fa-jenkins","fa-jira","fa-joget","fa-joomla","fa-js","fa-js-square","fa-jsfiddle","fa-kaggle","fa-keybase","fa-keycdn","fa-kickstarter","fa-kickstarter-k","fa-korvue","fa-laravel","fa-lastfm","fa-lastfm-square","fa-leanpub","fa-less","fa-line","fa-linkedin","fa-linkedin-in","fa-linode","fa-linux","fa-lyft","fa-magento","fa-mailchimp","fa-mandalorian","fa-markdown","fa-mastodon","fa-maxcdn","fa-mdb","fa-medapps","fa-medium","fa-medium-m","fa-medrt","fa-meetup","fa-megaport","fa-mendeley","fa-microblog","fa-microsoft","fa-mix","fa-mixcloud","fa-mixer","fa-mizuni","fa-modx","fa-monero","fa-neos","fa-network-wired","fa-nimblr","fa-node","fa-node-js","fa-npm","fa-ns8","fa-nutritionix","fa-octopus-deploy","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-orcid","fa-osi","fa-page4","fa-pagelines","fa-palfed","fa-patreon","fa-perbyte","fa-periscope","fa-phabricator","fa-phoenix-framework","fa-phoenix-squadron","fa-php","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-hat","fa-pied-piper-pp","fa-pied-piper-square","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane-slash","fa-product-hunt","fa-pushed","fa-python","fa-qq","fa-quinscape","fa-quora","fa-r-project","fa-raspberry-pi","fa-ravelry","fa-react","fa-reacteurope","fa-readme","fa-rebel","fa-red-river","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-redhat","fa-renren","fa-replyd","fa-researchgate","fa-resolving","fa-rev","fa-rocketchat","fa-rockrms","fa-rust","fa-safari","fa-salesforce","fa-sass","fa-schlix","fa-scribd","fa-searchengin","fa-sellcast","fa-sellsy","fa-servicestack","fa-shirtsinbulk","fa-shopify","fa-shopware","fa-signature","fa-simplybuilt","fa-sistrix","fa-sith","fa-sketch","fa-skull","fa-skyatlas","fa-skype","fa-slack","fa-slack-hash","fa-slideshare","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-sourcetree","fa-speakap","fa-speaker-deck","fa-squarespace","fa-stack-exchange","fa-stack-overflow","fa-stackpath","fa-staylinked","fa-sticker-mule","fa-stopwatch-20","fa-strava","fa-studiovinari","fa-stumbleupon","fa-stumbleupon-circle","fa-superpowers","fa-supple","fa-suse","fa-swift","fa-symfony","fa-teamspeak","fa-telegram","fa-telegram-plane","fa-tencent-weibo","fa-the-red-yeti","fa-themeco","fa-themeisle","fa-think-peaks","fa-tiktok","fa-trade-federation","fa-trello","fa-tumblr","fa-tumblr-square","fa-twitter","fa-twitter-square","fa-typo3","fa-uber","fa-ubuntu","fa-uikit","fa-umbraco","fa-uncharted","fa-uniregistry","fa-unity","fa-untappd","fa-ups","fa-usb","fa-usps","fa-ussunnah","fa-vaadin","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-viber","fa-vimeo","fa-vimeo-square","fa-vimeo-v","fa-vine","fa-vk","fa-vnv","fa-vr-cardboard","fa-vuejs","fa-watchman-monitoring","fa-waze","fa-weebly","fa-weibo","fa-weight-hanging","fa-weixin","fa-whatsapp","fa-whatsapp-square","fa-whmcs","fa-wikipedia-w","fa-windows","fa-wix","fa-wodu","fa-wolf-pack-battalion","fa-wordpress","fa-wordpress-simple","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wpressr","fa-xing","fa-xing-square","fa-y-combinator","fa-yahoo","fa-yammer","fa-yandex","fa-yandex-international","fa-yarn","fa-yelp","fa-yoast","fa-youtube-square","fa-zhihu"],Ww={},yM={};J3.forEach(p=>{yM[p]="",Ww[p]=""});Z3.forEach(p=>{Ww[p]=p});var vM=p=>p in yM;var EM=(p,b)=>{p.use(Q3,{defs:{...ez,...Ww}}),p.renderer.rules.emoji=(x,T)=>{let I=x[T];if(b.config.enableEmojiSyntax){let B=I.markup;return B.match("fa-")?`<i class="${vM(B)?"fa-brands":"fa-solid"} ${B}" aria-hidden="true"></i>`:I.content}else return`:${I.markup}:`}};import tz from"markdown-it-html5-embed";var nz=p=>({html5embed:{useImageSyntax:p.config.HTML5EmbedUseImageSyntax,useLinkSyntax:p.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:p.config.HTML5EmbedIsAllowedHttp,attributes:{audio:p.config.HTML5EmbedAudioAttributes,video:p.config.HTML5EmbedVideoAttributes}}}),wM=(p,b)=>{b.config.enableHTML5Embed&&p.use(tz,nz(b))};import{escape as az}from"html-escaper";import rz from"katex";import"katex/contrib/mhchem";var Vw=({content:p,openTag:b,closeTag:x,displayMode:T=!1,renderingOption:I,katexConfig:B})=>{if(!p)return"";if(I==="KaTeX")try{return rz.renderToString(p,Object.assign({},structuredClone(B),{displayMode:T}))}catch(P){return`<span style="color: #ee7f49; font-weight: 500;">${P.toString()}</span>`}else if(I==="MathJax"){let P=(b+p+x).replace(/\n/g," "),F=T?"div":"span";return`<${F} class="mathjax-exps">${az(P)}</${F}>`}else return""};var _M=(p,b)=>{p.inline.ruler.before("escape","math",(x,T)=>{if(b.config.mathRenderingOption==="None")return!1;let I=null,B=null,P=!0,{mathBlockDelimiters:F,mathInlineDelimiters:j}=b.config;for(let ae of F)if(x.src.startsWith(ae[0],x.pos)){[I,B]=ae;break}if(!I){for(let ae of j)if(x.src.startsWith(ae[0],x.pos)){[I,B]=ae,P=!1;break}}if(!I||!B)return!1;let W=null,V=-1,Q=x.pos+I.length;for(;Q<x.src.length;){if(B&&x.src.startsWith(B,Q)){V=Q;break}else x.src[Q]==="\\"&&(Q+=1);Q+=1}if(V>=0)W=x.src.slice(x.pos+I.length,V);else return!1;if(W&&!T){let ae=x.push("math","",0);return ae.content=W.trim(),ae.meta=ae.meta||{},ae.meta.openTag=I,ae.meta.closeTag=B,ae.meta.displayMode=P,x.pos+=W.length+I.length+B.length,!0}else return!1}),p.renderer.rules.math=(x,T)=>{let I=x[T].content??"";return Vw({content:I,openTag:x[T].meta.openTag,closeTag:x[T].meta.closeTag,renderingOption:b.config.mathRenderingOption,displayMode:x[T].meta.displayMode,katexConfig:b.config.katexConfig})}};var kM=p=>{let b=p.renderer.renderToken.bind(p.renderer);p.renderer.renderToken=function(x,T,I){if(!I.sourceMap)return b(x,T,I);let B=x[T];return B.type.endsWith("_open")&&B.map!==null&&B.map[0]!==void 0&&B.attrSet("data-source-line",`${B.map[0]+1}`),b(x,T,I)}};var xM=(p,b)=>{let x=p.renderer.rules.image.bind(p.renderer);p.renderer.rules.image=(T,I,B,P,F)=>{let j=T[I];if(j.children&&j.children[0]?.content==="@embedding"){let W=j.attrGet("error")??"";if(W)return decodeURIComponent(atob(W));{let V=j.attrGet("embedding")??"",Q=decodeURIComponent(atob(V));return b.initMarkdownIt({...p.options,sourceMap:!1}).render(Q)}}return x(T,I,B,P,F)}};var SM=(p,b)=>{p.inline.ruler.before("autolink","wikilink",(x,T)=>{if(!b.config.enableWikiLinkSyntax||!x.src.startsWith("[[",x.pos))return!1;let I=null,B="]]",P=-1,F=x.pos+B.length;for(;F<x.src.length;){if(x.src[F]==="\\")F+=1;else if(x.src.startsWith(B,F)){P=F;break}F+=1}if(P>=0)I=x.src.slice(x.pos+B.length,P);else return!1;if(I&&!T){let j=x.push("wikilink","a",0);return j.content=I,x.pos+=I.length+2*B.length,!0}else return!1}),p.renderer.rules.wikilink=(x,T)=>{let{content:I}=x[T];if(!I)return"";let{text:B,link:P}=b.processWikilink(I);return`<a href="${P}">${B}</a>`}};import*as Yw from"fs";import*as TM from"less";import*as Nd from"path";var AM=typeof window>"u";function uA(){return{startOnLoad:!1}}function cA(){return{tex:{},options:{},loader:{}}}function dA(){return{macros:{}}}function fA(){return{onWillParseMarkdown:async function(p){return p},onDidParseMarkdown:async function(p){return p}}}function ch(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd",".mdx"],globalCss:"",includeInHeader:"",mermaidConfig:uA(),mathjaxConfig:cA(),katexConfig:dA(),parserConfig:fA(),enablePreviewZenMode:!1,usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,wikiLinkTargetFileExtension:".md",wikiLinkTargetFileNameChangeCase:"none",enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}var iz=(T=>(T.SinglePreview="Single Preview",T.MultiplePreviews="Multiple Previews",T.PreviewsOnly="Previews Only",T))(iz||{});async function pA(p,b,x=!1){let T=ch(),I={globalCss:T.globalCss,includeInHeader:T.includeInHeader,mermaidConfig:T.mermaidConfig,mathjaxConfig:T.mathjaxConfig,katexConfig:T.katexConfig,parserConfig:T.parserConfig};return x&&await b.mkdir(p),await b.exists(p)&&(I.globalCss=await oz(p,b),I.parserConfig=await uz(p,b),I.includeInHeader=await sz(p,b),I={...I,...await lz(p,b)}),I}async function oz(p,b){let x=Nd.join(p,"./style.less"),T;try{T=await b.readFile(x)}catch{T=`
289
289
  /* Please visit the URL below for more information: */
290
290
  /* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
291
291
 
@@ -436,7 +436,7 @@ window["initRevealPresentation"] = async function() {
436
436
  window.MathJax = (${JSON.stringify(Se)});
437
437
  </script>
438
438
  <script type="text/javascript" async src="${this.notebook.config.mathjaxV3ScriptSrc}"></script>
439
- `}else this.notebook.config.mathRenderingOption==="KaTeX"?T.offline?P=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/katex/katex.min.css")}">`:P=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.9/dist/katex.min.css">`:P="";let F="";b.indexOf('<i class="fa')>=0&&(T.offline?F=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/font-awesome/css/all.min.css")}">`:F=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/@fortawesome/fontawesome-free@6.4.2/css/all.min.css">`);let j="",W="";b.indexOf(' class="mermaid')>=0&&(T.offline?j=`<script type="text/javascript" src="file:///${qe.resolve(Et(),"./dependencies/mermaid/mermaid.min.js")}" charset="UTF-8"></script>`:j=`<script src="https://${this.notebook.config.jsdelivrCdnHost}/npm/mermaid@10.9.0/dist/mermaid.min.js"></script>`,W+=`<script type="module">
439
+ `}else this.notebook.config.mathRenderingOption==="KaTeX"?T.offline?P=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/katex/katex.min.css")}">`:P=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.11/dist/katex.min.css">`:P="";let F="";b.indexOf('<i class="fa')>=0&&(T.offline?F=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/font-awesome/css/all.min.css")}">`:F=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/@fortawesome/fontawesome-free@6.4.2/css/all.min.css">`);let j="",W="";b.indexOf(' class="mermaid')>=0&&(T.offline?j=`<script type="text/javascript" src="file:///${qe.resolve(Et(),"./dependencies/mermaid/mermaid.min.js")}" charset="UTF-8"></script>`:j=`<script src="https://${this.notebook.config.jsdelivrCdnHost}/npm/mermaid@11.1.1/dist/mermaid.min.js"></script>`,W+=`<script type="module">
440
440
  // TODO: If ZenUML gets integrated into mermaid in the future,
441
441
  // we can remove the following lines.
442
442
  ${b.match(/zenuml/i)?`import zenuml from 'https://${this.notebook.config.jsdelivrCdnHost}/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
@@ -551,7 +551,7 @@ sidebarTOCBtn.addEventListener('click', function(event) {
551
551
  ${pe}
552
552
  ${ze}
553
553
  </html>
554
- `,T.embedLocalImages||T.embedSVG){let Se=Dl.load(b);T.embedLocalImages&&await Jw(Se,this.notebook,this.resolveFilePath.bind(this)),T.embedSVG&&await gA(Se,this.notebook,this.resolveFilePath.bind(this)),b=Se.html()}return b.trim()}async openInBrowser({runAllCodeChunks:b=!1}){let x=await this.fs.readFile(this.filePath),T,I;({html:T,yamlConfig:I}=await this.parseMD(x,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:b})),T=await this.generateHTMLTemplateForExport(T,I,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let B=await Yo({prefix:"crossnote",suffix:".html"});Xn.writeFileSync(B.fd,T),Cd(B.path)}async htmlExport({offline:b=!1,runAllCodeChunks:x=!1}){let T=await this.fs.readFile(this.filePath),I,B;({html:I,yamlConfig:B}=await this.parseMD(T,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:x}));let P=B.html||{};"offline"in P&&(b=P.offline);let F=P.embed_local_images,j=!0;"embed_svg"in P&&(j=P.embed_svg);let W=this.filePath,V=qe.extname(W);if(W=W.replace(new RegExp(V+"$"),".html"),I=await this.generateHTMLTemplateForExport(I,B,{isForPrint:!1,isForPrince:!1,embedLocalImages:F,offline:b,embedSVG:j}),!b&&I.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let Q=qe.resolve(qe.dirname(W),"revealjs_deps");Xn.existsSync(Q)||Xn.mkdirSync(Q),Xn.createReadStream(qe.resolve(Et(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(Xn.createWriteStream(qe.resolve(Q,"notes.js"))),Xn.createReadStream(qe.resolve(Et(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(Xn.createWriteStream(qe.resolve(Q,"notes.html")))}return await this.fs.writeFile(W,I),W}async chromeExport({fileType:b="pdf",runAllCodeChunks:x=!1,openFileAfterGeneration:T=!1}){let I=await this.fs.readFile(this.filePath),B,P;({html:B,yamlConfig:P}=await this.parseMD(I,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:x}));let F=this.filePath,j=qe.extname(F);F=F.replace(new RegExp(j+"$"),"."+b),B=await this.generateHTMLTemplateForExport(B,P,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let W="";try{if(W=this.notebook.config.chromePath,!W){let he=(await import("chrome-paths")).default;W=he.chrome||he.chromeCanary||he.chromium}}catch{W=""}if(!W)throw new Error("Chrome executable path is not set.");let Q=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:W,headless:!0}),ae=await Yo({prefix:"crossnote",suffix:".html"});Xn.writeFileSync(ae.fd,B);let pe=await Q.newPage(),Z="file:///"+ae.path+(P.isPresentationMode?"?print-pdf":"");await pe.goto(Z);let te={path:F,...P.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...P.chrome||P.puppeteer||{}},ue=0;return P.chrome&&P.chrome.timeout?ue=P.chrome.timeout:P.puppeteer&&P.puppeteer.timeout&&(ue=P.puppeteer.timeout),ue&&typeof ue=="number"?await pe.waitForTimeout(ue):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await pe.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),b==="pdf"?await pe.pdf(te):(te.fullPage=!0,await pe.screenshot(te)),Q.close(),T&&Cd(F),F}async princeExport({runAllCodeChunks:b=!1,openFileAfterGeneration:x=!1}){let T=await this.fs.readFile(this.filePath),I,B;({html:I,yamlConfig:B}=await this.parseMD(T,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:b}));let P=this.filePath,F=qe.extname(P);P=P.replace(new RegExp(F+"$"),".pdf"),I=await this.generateHTMLTemplateForExport(I,B,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let j=await Yo({prefix:"crossnote",suffix:".html"});return Xn.writeFileSync(j.fd,I),B.isPresentationMode?"file:///"+j.path+"?print-pdf":(await pM(j.path,P),x&&Cd(P),P)}async eBookDownloadImages(b,x){let T=[];(qe.extname(x)===".epub"||qe.extname("dest")===".mobi")&&b("img").each((B,P)=>{let F=b(P);(F.attr("src")||"").match(/^https?:\/\//)&&T.push(F)});let I=T.map(B=>new Promise(P=>{let F=B.attr("src"),j=Math.random().toString(36).substr(2,9)+"_"+qe.basename(F);j=qe.resolve(this.fileDirectoryPath,j),jz(F).pipe(Xn.createWriteStream(j)).on("finish",()=>(B.attr("src","file:///"+j),P(j)))}));return Promise.all(I)}async eBookExport({fileType:b="epub",runAllCodeChunks:x=!1}){let T=await this.fs.readFile(this.filePath),I=b==="pdf",B,P;({html:B,yamlConfig:P}=await this.parseMD(T,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:x,emojiToSvg:I}));let F=this.filePath,j=qe.extname(F);F=F.replace(new RegExp(j+"$"),"."+b.toLowerCase());let W=P.ebook||{};if(!W)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(W.cover){let ye=W.cover;W.cover=Ms(this.resolveFilePath(ye,!1))}let V=Dl.load(`<div>${B}</div>`),Q=[],ae=new Vo,pe=V("div > ul").last();if(pe.length){if(W.include_toc===!1){let ye=pe.prev();ye.length&&ye[0].name.match(/^h\d$/i)&&ye.remove()}V("h1, h2, h3, h4, h5, h6").each((ye,be)=>{let Se=V(be),ke=parseInt(Se[0].name.slice(1),10)-1;Se.attr("ebook-toc-level-"+(ke+1),""),Se.attr("heading",Se.html())}),Z(pe,0),W.include_toc===!1&&pe.remove()}function Z(ye,be){ye.children("li").each((Se,ke)=>{let We=V(ke),Pe=We.children("a").first();if(!Pe.length){We.children().length>=1&&Z(We.children().last(),be+1);return}let De=decodeURIComponent(Pe.attr("href")),lt=Pe.html()??"",gt=ae.generateId("ebook-heading-"+lt);Q.push({level:be,filePath:De,heading:lt,id:gt}),Pe.attr("href","#"+gt),We.children().length>1&&Z(We.children().last(),be+1)})}let te=Q.map(({heading:ye,id:be,level:Se,filePath:ke},We)=>new Promise((Pe,De)=>{if(ke=Ms(ke),ke.match(/^https?:\/\//))return Pe({heading:ye,id:be,level:Se,filePath:ke,html:"",offset:We});Xn.readFile(ke,{encoding:"utf-8"},(lt,gt)=>{if(lt)return De(lt.toString());let kt=qe.dirname(this.filePath);gt=gt.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(an,cn,Gt)=>{let _t=qe.resolve(qe.dirname(ke),Gt),St=qe.relative(kt,_t);return cn+St}),this.parseMD(gt,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:I,fileDirectoryPath:qe.dirname(ke)}).then(({html:an})=>Pe({heading:ye,id:be,level:Se,filePath:ke,html:an,offset:We}))})})),ue=V.html().replace(/^<div>(.+)<\/div>$/,"$1"),he=await Promise.all(te);he=he.sort((ye,be)=>ye.offset-be.offset),he.forEach(({heading:ye,id:be,level:Se,html:ke})=>{let We=Dl.load(`<div>${ke}</div>`);We("a").each((Pe,De)=>{let lt=We(De),gt=lt.attr("href");gt.startsWith("file://")&&he.forEach(kt=>{kt.filePath===Ms(gt)&&lt.attr("href","#"+kt.id)})}),ue+=`<div id="${be}" ebook-toc-level-${Se+1} heading="${ye}">${We.html()}</div>`}),V=Dl.load(ue);let me=await this.eBookDownloadImages(V,F);if(qe.extname(F)===".html"){if(W.cover){let ye=W.cover[0]==="/"?"file:///"+W.cover:W.cover;V(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${ye}">`)}await Jw(V,this.notebook,this.resolveFilePath.bind(this))}ue=V.html();let Re=W.title||"no title",Ne="";ue.indexOf('class="katex"')>0&&(qe.extname(F)===".html"&&W.html&&W.html.cdn?Ne=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.9/dist/katex.min.css">`:Ne=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/katex/katex.min.css")}">`);let Le="";try{Le=(await Promise.all([await this.fs.readFile(qe.resolve(Et(),"./styles/style-template.css")),await this.fs.readFile(qe.resolve(Et(),`./styles/prism_theme/${p.AutoPrismThemeMap[W.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(qe.resolve(Et(),"./styles/twemoji.css")),await this.fs.readFile(qe.resolve(Et(),`./styles/preview_theme/${W.theme||this.notebook.config.previewTheme}`)),ue.indexOf("admonition")>0?await this.fs.readFile(qe.resolve(Et(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{Le=""}let ze="";try{ze=this.notebook.config.globalCss}catch{}if(B=`
554
+ `,T.embedLocalImages||T.embedSVG){let Se=Dl.load(b);T.embedLocalImages&&await Jw(Se,this.notebook,this.resolveFilePath.bind(this)),T.embedSVG&&await gA(Se,this.notebook,this.resolveFilePath.bind(this)),b=Se.html()}return b.trim()}async openInBrowser({runAllCodeChunks:b=!1}){let x=await this.fs.readFile(this.filePath),T,I;({html:T,yamlConfig:I}=await this.parseMD(x,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:b})),T=await this.generateHTMLTemplateForExport(T,I,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let B=await Yo({prefix:"crossnote",suffix:".html"});Xn.writeFileSync(B.fd,T),Cd(B.path)}async htmlExport({offline:b=!1,runAllCodeChunks:x=!1}){let T=await this.fs.readFile(this.filePath),I,B;({html:I,yamlConfig:B}=await this.parseMD(T,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:x}));let P=B.html||{};"offline"in P&&(b=P.offline);let F=P.embed_local_images,j=!0;"embed_svg"in P&&(j=P.embed_svg);let W=this.filePath,V=qe.extname(W);if(W=W.replace(new RegExp(V+"$"),".html"),I=await this.generateHTMLTemplateForExport(I,B,{isForPrint:!1,isForPrince:!1,embedLocalImages:F,offline:b,embedSVG:j}),!b&&I.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let Q=qe.resolve(qe.dirname(W),"revealjs_deps");Xn.existsSync(Q)||Xn.mkdirSync(Q),Xn.createReadStream(qe.resolve(Et(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(Xn.createWriteStream(qe.resolve(Q,"notes.js"))),Xn.createReadStream(qe.resolve(Et(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(Xn.createWriteStream(qe.resolve(Q,"notes.html")))}return await this.fs.writeFile(W,I),W}async chromeExport({fileType:b="pdf",runAllCodeChunks:x=!1,openFileAfterGeneration:T=!1}){let I=await this.fs.readFile(this.filePath),B,P;({html:B,yamlConfig:P}=await this.parseMD(I,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:x}));let F=this.filePath,j=qe.extname(F);F=F.replace(new RegExp(j+"$"),"."+b),B=await this.generateHTMLTemplateForExport(B,P,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let W="";try{if(W=this.notebook.config.chromePath,!W){let he=(await import("chrome-paths")).default;W=he.chrome||he.chromeCanary||he.chromium}}catch{W=""}if(!W)throw new Error("Chrome executable path is not set.");let Q=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:W,headless:!0}),ae=await Yo({prefix:"crossnote",suffix:".html"});Xn.writeFileSync(ae.fd,B);let pe=await Q.newPage(),Z="file:///"+ae.path+(P.isPresentationMode?"?print-pdf":"");await pe.goto(Z);let te={path:F,...P.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...P.chrome||P.puppeteer||{}},ue=0;return P.chrome&&P.chrome.timeout?ue=P.chrome.timeout:P.puppeteer&&P.puppeteer.timeout&&(ue=P.puppeteer.timeout),ue&&typeof ue=="number"?await pe.waitForTimeout(ue):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await pe.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),b==="pdf"?await pe.pdf(te):(te.fullPage=!0,await pe.screenshot(te)),Q.close(),T&&Cd(F),F}async princeExport({runAllCodeChunks:b=!1,openFileAfterGeneration:x=!1}){let T=await this.fs.readFile(this.filePath),I,B;({html:I,yamlConfig:B}=await this.parseMD(T,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:b}));let P=this.filePath,F=qe.extname(P);P=P.replace(new RegExp(F+"$"),".pdf"),I=await this.generateHTMLTemplateForExport(I,B,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let j=await Yo({prefix:"crossnote",suffix:".html"});return Xn.writeFileSync(j.fd,I),B.isPresentationMode?"file:///"+j.path+"?print-pdf":(await pM(j.path,P),x&&Cd(P),P)}async eBookDownloadImages(b,x){let T=[];(qe.extname(x)===".epub"||qe.extname("dest")===".mobi")&&b("img").each((B,P)=>{let F=b(P);(F.attr("src")||"").match(/^https?:\/\//)&&T.push(F)});let I=T.map(B=>new Promise(P=>{let F=B.attr("src"),j=Math.random().toString(36).substr(2,9)+"_"+qe.basename(F);j=qe.resolve(this.fileDirectoryPath,j),jz(F).pipe(Xn.createWriteStream(j)).on("finish",()=>(B.attr("src","file:///"+j),P(j)))}));return Promise.all(I)}async eBookExport({fileType:b="epub",runAllCodeChunks:x=!1}){let T=await this.fs.readFile(this.filePath),I=b==="pdf",B,P;({html:B,yamlConfig:P}=await this.parseMD(T,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:x,emojiToSvg:I}));let F=this.filePath,j=qe.extname(F);F=F.replace(new RegExp(j+"$"),"."+b.toLowerCase());let W=P.ebook||{};if(!W)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(W.cover){let ye=W.cover;W.cover=Ms(this.resolveFilePath(ye,!1))}let V=Dl.load(`<div>${B}</div>`),Q=[],ae=new Vo,pe=V("div > ul").last();if(pe.length){if(W.include_toc===!1){let ye=pe.prev();ye.length&&ye[0].name.match(/^h\d$/i)&&ye.remove()}V("h1, h2, h3, h4, h5, h6").each((ye,be)=>{let Se=V(be),ke=parseInt(Se[0].name.slice(1),10)-1;Se.attr("ebook-toc-level-"+(ke+1),""),Se.attr("heading",Se.html())}),Z(pe,0),W.include_toc===!1&&pe.remove()}function Z(ye,be){ye.children("li").each((Se,ke)=>{let We=V(ke),Pe=We.children("a").first();if(!Pe.length){We.children().length>=1&&Z(We.children().last(),be+1);return}let De=decodeURIComponent(Pe.attr("href")),lt=Pe.html()??"",gt=ae.generateId("ebook-heading-"+lt);Q.push({level:be,filePath:De,heading:lt,id:gt}),Pe.attr("href","#"+gt),We.children().length>1&&Z(We.children().last(),be+1)})}let te=Q.map(({heading:ye,id:be,level:Se,filePath:ke},We)=>new Promise((Pe,De)=>{if(ke=Ms(ke),ke.match(/^https?:\/\//))return Pe({heading:ye,id:be,level:Se,filePath:ke,html:"",offset:We});Xn.readFile(ke,{encoding:"utf-8"},(lt,gt)=>{if(lt)return De(lt.toString());let kt=qe.dirname(this.filePath);gt=gt.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(an,cn,Gt)=>{let _t=qe.resolve(qe.dirname(ke),Gt),St=qe.relative(kt,_t);return cn+St}),this.parseMD(gt,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:I,fileDirectoryPath:qe.dirname(ke)}).then(({html:an})=>Pe({heading:ye,id:be,level:Se,filePath:ke,html:an,offset:We}))})})),ue=V.html().replace(/^<div>(.+)<\/div>$/,"$1"),he=await Promise.all(te);he=he.sort((ye,be)=>ye.offset-be.offset),he.forEach(({heading:ye,id:be,level:Se,html:ke})=>{let We=Dl.load(`<div>${ke}</div>`);We("a").each((Pe,De)=>{let lt=We(De),gt=lt.attr("href");gt.startsWith("file://")&&he.forEach(kt=>{kt.filePath===Ms(gt)&&lt.attr("href","#"+kt.id)})}),ue+=`<div id="${be}" ebook-toc-level-${Se+1} heading="${ye}">${We.html()}</div>`}),V=Dl.load(ue);let me=await this.eBookDownloadImages(V,F);if(qe.extname(F)===".html"){if(W.cover){let ye=W.cover[0]==="/"?"file:///"+W.cover:W.cover;V(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${ye}">`)}await Jw(V,this.notebook,this.resolveFilePath.bind(this))}ue=V.html();let Re=W.title||"no title",Ne="";ue.indexOf('class="katex"')>0&&(qe.extname(F)===".html"&&W.html&&W.html.cdn?Ne=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.11/dist/katex.min.css">`:Ne=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/katex/katex.min.css")}">`);let Le="";try{Le=(await Promise.all([await this.fs.readFile(qe.resolve(Et(),"./styles/style-template.css")),await this.fs.readFile(qe.resolve(Et(),`./styles/prism_theme/${p.AutoPrismThemeMap[W.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(qe.resolve(Et(),"./styles/twemoji.css")),await this.fs.readFile(qe.resolve(Et(),`./styles/preview_theme/${W.theme||this.notebook.config.previewTheme}`)),ue.indexOf("admonition")>0?await this.fs.readFile(qe.resolve(Et(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{Le=""}let ze="";try{ze=this.notebook.config.globalCss}catch{}if(B=`
555
555
  <!DOCTYPE html>
556
556
  <html>
557
557
  <head>
@@ -1 +1 @@
1
- @font-face{font-family:Raleway;font-style:italic;font-weight:400;src:url(https://fonts.gstatic.com/s/raleway/v29/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjMDrMfJQ.ttf) format('truetype')}@font-face{font-family:Raleway;font-style:italic;font-weight:700;src:url(https://fonts.gstatic.com/s/raleway/v29/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4Y_LDrMfJQ.ttf) format('truetype')}@font-face{font-family:Raleway;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/raleway/v29/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrQ.ttf) format('truetype')}@font-face{font-family:Raleway;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/raleway/v29/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrQ.ttf) format('truetype')}body{background:#fcfcfc;color:#111;font-family:Raleway,sans-serif;font-weight:400;font-size:16px}body .math,body .mathjax-exps,body h1,body h2,body h3,body h4,body h5,body h6,body li,body table{color:#111;font-family:Raleway,sans-serif}body h1{font-weight:400;line-height:4rem;margin:0 0 1.75rem;padding:20px 30px;text-align:center;text-transform:uppercase;margin-top:4rem}body h2{font-weight:400;line-height:3rem;margin:0 0 1.9375rem;padding:0 30px;text-align:center;text-transform:uppercase;margin-top:3rem}body h3{font-weight:400}body h4{font-weight:400}body h5{font-size:1.125rem;font-weight:400}body h6{font-size:1rem;font-weight:700}body p{color:#111;font-size:1rem;line-height:1.75rem;margin:0 0 1.25rem}body blockquote{margin-left:1rem;margin-right:0;padding:.5em}body h1{font-size:2.827rem}body h2{font-size:1.999rem}body h3{font-size:1.413rem}body h4{font-size:1.25rem}body h5{font-size:1.15rem}body h6{font-size:1rem}body a{color:#900;text-decoration:none}body a:hover{text-decoration:underline}body table{margin-bottom:20px}body table td,body table th{padding:8px;line-height:1.25rem;vertical-align:top;border-top:1px solid #ddd}body table th{font-weight:700}body table thead th{vertical-align:bottom}body table caption+thead tr:first-child td,body table caption+thead tr:first-child th,body table colgroup+thead tr:first-child td,body table colgroup+thead tr:first-child th,body table thead:first-child tr:first-child td,body table thead:first-child tr:first-child th{border-top:0}body table tbody+tbody{border-top:2px solid #ddd}body code{padding:.5em;color:inherit;border:1px solid #ccc;padding:.1em;font-size:.9em;margin-left:.2em;margin-right:.2em}body pre>code{border:none}body li>p{margin-top:0;margin-bottom:0}body .task-list{padding-left:0}body .task-list-item{list-style:none;margin-left:-2.4em}body .task-list-item input{top:3px;margin-right:1.6em}body .task-list-item input:before{content:'';display:inline-block;width:1rem;height:1rem;vertical-align:middle;text-align:center;border:1px solid gray;background-color:#fdfdfd;margin-left:0;margin-top:-.8rem}body .task-list-item input:checked:before,body .task-list-item input[checked]:before{content:'\25FC';font-size:.8125rem;line-height:.9375rem;margin-top:-1rem}@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){body .task-list-item input:before{margin-top:-.2rem}body .task-list-item input:checked:before,body .task-list-item input[checked]:before{margin-top:-.2rem}}body blockquote{margin:0 0 1.11111rem;padding:.5rem 1.11111rem 0 1.05556rem;border-left:1px solid gray;background-color:#ededed}body blockquote,body blockquote p{line-height:1.6;color:#6f6f6f}body img{max-width:100%}body kbd{color:#111}
1
+ @font-face{font-family:Raleway;font-style:italic;font-weight:400;src:url(https://fonts.gstatic.com/s/raleway/v34/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjMDrMfJQ.ttf) format('truetype')}@font-face{font-family:Raleway;font-style:italic;font-weight:700;src:url(https://fonts.gstatic.com/s/raleway/v34/1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4Y_LDrMfJQ.ttf) format('truetype')}@font-face{font-family:Raleway;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/raleway/v34/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrQ.ttf) format('truetype')}@font-face{font-family:Raleway;font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/raleway/v34/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrQ.ttf) format('truetype')}body{background:#fcfcfc;color:#111;font-family:Raleway,sans-serif;font-weight:400;font-size:16px}body .math,body .mathjax-exps,body h1,body h2,body h3,body h4,body h5,body h6,body li,body table{color:#111;font-family:Raleway,sans-serif}body h1{font-weight:400;line-height:4rem;margin:0 0 1.75rem;padding:20px 30px;text-align:center;text-transform:uppercase;margin-top:4rem}body h2{font-weight:400;line-height:3rem;margin:0 0 1.9375rem;padding:0 30px;text-align:center;text-transform:uppercase;margin-top:3rem}body h3{font-weight:400}body h4{font-weight:400}body h5{font-size:1.125rem;font-weight:400}body h6{font-size:1rem;font-weight:700}body p{color:#111;font-size:1rem;line-height:1.75rem;margin:0 0 1.25rem}body blockquote{margin-left:1rem;margin-right:0;padding:.5em}body h1{font-size:2.827rem}body h2{font-size:1.999rem}body h3{font-size:1.413rem}body h4{font-size:1.25rem}body h5{font-size:1.15rem}body h6{font-size:1rem}body a{color:#900;text-decoration:none}body a:hover{text-decoration:underline}body table{margin-bottom:20px}body table td,body table th{padding:8px;line-height:1.25rem;vertical-align:top;border-top:1px solid #ddd}body table th{font-weight:700}body table thead th{vertical-align:bottom}body table caption+thead tr:first-child td,body table caption+thead tr:first-child th,body table colgroup+thead tr:first-child td,body table colgroup+thead tr:first-child th,body table thead:first-child tr:first-child td,body table thead:first-child tr:first-child th{border-top:0}body table tbody+tbody{border-top:2px solid #ddd}body code{padding:.5em;color:inherit;border:1px solid #ccc;padding:.1em;font-size:.9em;margin-left:.2em;margin-right:.2em}body pre>code{border:none}body li>p{margin-top:0;margin-bottom:0}body .task-list{padding-left:0}body .task-list-item{list-style:none;margin-left:-2.4em}body .task-list-item input{top:3px;margin-right:1.6em}body .task-list-item input:before{content:'';display:inline-block;width:1rem;height:1rem;vertical-align:middle;text-align:center;border:1px solid gray;background-color:#fdfdfd;margin-left:0;margin-top:-.8rem}body .task-list-item input:checked:before,body .task-list-item input[checked]:before{content:'\25FC';font-size:.8125rem;line-height:.9375rem;margin-top:-1rem}@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){body .task-list-item input:before{margin-top:-.2rem}body .task-list-item input:checked:before,body .task-list-item input[checked]:before{margin-top:-.2rem}}body blockquote{margin:0 0 1.11111rem;padding:.5rem 1.11111rem 0 1.05556rem;border-left:1px solid gray;background-color:#ededed}body blockquote,body blockquote p{line-height:1.6;color:#6f6f6f}body img{max-width:100%}body kbd{color:#111}