diff --git a/docs/assets/index-BXBGKmvD.css b/docs/assets/index-BXBGKmvD.css new file mode 100644 index 0000000..321d632 --- /dev/null +++ b/docs/assets/index-BXBGKmvD.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Averia+Libre:ital,wght@0,400;0,700;1,400;1,700&family=Averia+Serif+Libre:ital,wght@0,300;0,700;1,300;1,700&family=Caveat&family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&family=Spectral:ital,wght@0,300;0,600;1,300;1,600&display=swap&family=Noto+Sans+Symbols+2&display=swap";#root{max-width:580px;padding:2rem}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}footer{color:#888;font-size:.825em;margin-top:7em}footer a:link{color:#888;text-decoration:none}footer a:visited{color:#888}details>pre{margin:0;padding:0}details>summary{padding:0px 1ch}body{font-weight:400;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Myriad Web,Geneva,Arial,Helvetica,sans-serif;font-size:1.1em;font-size-adjust:.48}small{font-size:.92em}big{font-size:1.17em}pre{font-family:"Monotype.com",Courier New,monospace}ol li{list-style-type:decimal}ol ol li{list-style-type:lower-alpha}ol ol ol li{list-style-type:lower-roman}table,tbody,tr,td{font-size:1em;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Myriad Web,Geneva,Arial,Helvetica,sans-serif;font-size-adjust:.48}h1{font-family:Impact,Arial Black,Helvetica Black,sans-serif;font-size-adjust:.46;font-size:2.33em;font-weight:400;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h2{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.75em;font-weight:700;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h3{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.58em;font-weight:700;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h4{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.33em;font-weight:600;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h5,dt{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.17em;font-weight:600;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h6{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1em;font-weight:600;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}tfoot,thead{font-size:1em;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46}th{vertical-align:baseline;font-size:1em;font-weight:700;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46}hr{visibility:visible}a,address,blockquote,body,cite,code,dd,del,dfn,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,iframe,img,kbd,li,object,ol,p,q,samp,small,span,strong,sub,sup,ul,var,applet,big,center,dir,font,hr,menu,pre,abbr,acronym,bdo,button,fieldset,ins,label{word-spacing:normal;letter-spacing:normal;text-transform:none;border-style:none}em{font-style:normal;font-weight:700}strong{font-style:italic;font-weight:700}em strong,strong em{text-transform:uppercase;font-style:normal;font-weight:bolder}b{font-weight:700}i{font-style:italic}.warning{text-transform:none;font-style:normal;font-weight:bolder}del{text-decoration:line-through}ins{text-decoration:underline}var,cite,dfn,.note{font-style:italic}address{font-style:normal;letter-spacing:.1em}acronym{font-variant:small-caps;letter-spacing:.1em}#colophon{display:none}col,colgroup,table,tbody,td,tr{text-decoration:none;border-style:none}a:link{font-weight:700}a:visited{font-weight:700;color:#999}a:active{font-weight:700}a.offsite{text-decoration:none;font-weight:400}a,address,blockquote,cite,code,dd,del,dfn,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,iframe,img,kbd,li,object,ol,p,q,samp,small,span,strong,sub,sup,ul,var,applet,b,big,center,dir,font,hr,i,menu,pre,s,strike,tt,u,abbr,acronym,bdo,button,fieldset,ins,label{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;vertical-align:baseline}body{line-height:1.58em}div>p:first-child,body>p:first-child,td>p:first-child{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,div+p,p.initial{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h1,h2,h3,h4,h5,h6{line-height:1.33em}h1{margin-top:1.33em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h2{margin-top:1.75em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h3{margin-top:1.58em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h4{margin-top:1.33em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h5{margin-top:1.17em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h6{margin-top:1em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}p{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}blockquote,fieldset,form,ul,ol,dl,dir,menu{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}dt{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}dd{margin-top:0;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}ul ul,ol ol,li address,li dl,li ol,li p,li ul,li dir,li hr,li menu,li pre,li h1,li h2,li h3,li h4,li h5,li h6,dd address,dd dl,dd ol,dd p,dd ul,dd dir,dd hr,dd menu,dd pre,dd h1,dd h2,dd h3,dd h4,dd h5,dd h6{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}li{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}address{margin-top:1.58em;margin-bottom:1.58em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}pre{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;line-height:1.25em}hr{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;height:1px}div,center{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.subhead{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.stb{margin-top:2.17em;margin-bottom:.75em;padding-top:2.17em;padding-bottom:0;border-top:0;border-bottom:0;border-style:solid}.mtb{margin-top:3.08em;margin-bottom:.75em;padding-top:3.08em;padding-bottom:0;border-top:.1em;border-bottom:0;border-style:solid}.ltb{margin-top:4.34em;margin-bottom:.75em;padding-top:4.34em;padding-bottom:0;border-top:.25em;border-bottom:0;border-style:solid}col,colgroup,table,tbody,td,tfoot,th,thead,tr{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}td,th{line-height:1.33em}a,address,blockquote,cite,code,dd,del,dfn,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,iframe,img,kbd,li,object,ol,p,q,samp,small,span,strong,sub,sup,ul,var,applet,b,big,center,dir,font,hr,i,menu,pre,s,strike,tt,u,abbr,acronym,bdo,button,fieldset,ins,label{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left;float:none;clear:none;list-style-position:outside}address,blockquote,dl,fieldset,form,ol,p,ul,dir,hr,menu,pre{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0}div>p:first-child,body>p:first-child,td>p:first-child{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-align:left;text-indent:0}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,div+p,p.initial{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-align:left;text-indent:0}h1{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}h2{margin-left:4%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}h3{margin-left:7%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}h4,h5,h6{margin-left:11%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}p{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-indent:0}blockquote{margin-left:4%;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0}address,pre{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0}li{margin-left:4%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}dt{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}dd{margin-left:4%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}ul ul,ol ol,li address,li dl,li ol,li p,li ul,li dir,li hr,li menu,li pre,li h1,li h2,li h3,li h4,li h5,li h6,dd address,dd dl,dd ol,dd p,dd ul,dd dir,dd hr,dd menu,dd pre,dd h1,dd h2,dd h3,dd h4,dd h5,dd h6{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}hr{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-align:left;width:100%}center{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}col,colgroup,table,tbody,td,tfoot,th,thead,tr{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;float:none;clear:none}table,td,th,caption{text-align:left}body{margin:1.58em 2% 1.58em 4%;padding:0;border-top:0;border-left:0;border-bottom:0;border-right:0;width:auto}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1b1e23;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;min-height:100vh;counter-reset:h3-counter}h1{font-size:2.2em;line-height:1.1;margin:0}button{border:1px solid transparent;padding:2px 12px;font-size:1em;font-weight:500;font-family:inherit;background-color:#1b1e23;border:2px solid rgba(255,255,255,.57);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.left{text-align:left}code{background:#000;color:#fff;padding:2px 3px 1px;border-radius:3px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}a:has(>h3):visited{color:#ffffffde}a:has(>h3):link{color:#ffffffde}a:has(>h3){color:inherit;text-decoration:none}h3{counter-increment:h3-counter;position:relative}a:hover>h3{text-decoration:underline}a:hover>h3:before{content:"# ";position:absolute;left:-2ch}h3:before{content:counter(h3-counter) ". ";position:absolute;left:-2ch}@font-face{font-family:remixicon;src:url(./remixicon-DUK49BtM.eot?t=1708865856766);src:url(./remixicon-DUK49BtM.eot?t=1708865856766#iefix) format("embedded-opentype"),url(./remixicon-BVOYbT3K.woff2?t=1708865856766) format("woff2"),url(./remixicon-DfzPQSMi.woff?t=1708865856766) format("woff"),url(./remixicon-D9ZyeRwQ.ttf?t=1708865856766) format("truetype"),url(./remixicon-ncU_JTfY.svg?t=1708865856766#remixicon) format("svg");font-display:swap}[class^=ri-],[class*=" ri-"]{font-family:remixicon!important;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-xl{font-size:1.5em;line-height:.6666em;vertical-align:-.075em}.ri-xxs{font-size:.5em}.ri-xs{font-size:.75em}.ri-sm{font-size:.875em}.ri-1x{font-size:1em}.ri-2x{font-size:2em}.ri-3x{font-size:3em}.ri-4x{font-size:4em}.ri-5x{font-size:5em}.ri-6x{font-size:6em}.ri-7x{font-size:7em}.ri-8x{font-size:8em}.ri-9x{font-size:9em}.ri-10x{font-size:10em}.ri-fw{text-align:center;width:1.25em}.ri-24-hours-fill:before{content:""}.ri-24-hours-line:before{content:""}.ri-4k-fill:before{content:""}.ri-4k-line:before{content:""}.ri-a-b:before{content:""}.ri-account-box-fill:before{content:""}.ri-account-box-line:before{content:""}.ri-account-circle-fill:before{content:""}.ri-account-circle-line:before{content:""}.ri-account-pin-box-fill:before{content:""}.ri-account-pin-box-line:before{content:""}.ri-account-pin-circle-fill:before{content:""}.ri-account-pin-circle-line:before{content:""}.ri-add-box-fill:before{content:""}.ri-add-box-line:before{content:""}.ri-add-circle-fill:before{content:""}.ri-add-circle-line:before{content:""}.ri-add-fill:before{content:""}.ri-add-line:before{content:""}.ri-admin-fill:before{content:""}.ri-admin-line:before{content:""}.ri-advertisement-fill:before{content:""}.ri-advertisement-line:before{content:""}.ri-airplay-fill:before{content:""}.ri-airplay-line:before{content:""}.ri-alarm-fill:before{content:""}.ri-alarm-line:before{content:""}.ri-alarm-warning-fill:before{content:""}.ri-alarm-warning-line:before{content:""}.ri-album-fill:before{content:""}.ri-album-line:before{content:""}.ri-alert-fill:before{content:""}.ri-alert-line:before{content:""}.ri-aliens-fill:before{content:""}.ri-aliens-line:before{content:""}.ri-align-bottom:before{content:""}.ri-align-center:before{content:""}.ri-align-justify:before{content:""}.ri-align-left:before{content:""}.ri-align-right:before{content:""}.ri-align-top:before{content:""}.ri-align-vertically:before{content:""}.ri-alipay-fill:before{content:""}.ri-alipay-line:before{content:""}.ri-amazon-fill:before{content:""}.ri-amazon-line:before{content:""}.ri-anchor-fill:before{content:""}.ri-anchor-line:before{content:""}.ri-ancient-gate-fill:before{content:""}.ri-ancient-gate-line:before{content:""}.ri-ancient-pavilion-fill:before{content:""}.ri-ancient-pavilion-line:before{content:""}.ri-android-fill:before{content:""}.ri-android-line:before{content:""}.ri-angularjs-fill:before{content:""}.ri-angularjs-line:before{content:""}.ri-anticlockwise-2-fill:before{content:""}.ri-anticlockwise-2-line:before{content:""}.ri-anticlockwise-fill:before{content:""}.ri-anticlockwise-line:before{content:""}.ri-app-store-fill:before{content:""}.ri-app-store-line:before{content:""}.ri-apple-fill:before{content:""}.ri-apple-line:before{content:""}.ri-apps-2-fill:before{content:""}.ri-apps-2-line:before{content:""}.ri-apps-fill:before{content:""}.ri-apps-line:before{content:""}.ri-archive-drawer-fill:before{content:""}.ri-archive-drawer-line:before{content:""}.ri-archive-fill:before{content:""}.ri-archive-line:before{content:""}.ri-arrow-down-circle-fill:before{content:""}.ri-arrow-down-circle-line:before{content:""}.ri-arrow-down-fill:before{content:""}.ri-arrow-down-line:before{content:""}.ri-arrow-down-s-fill:before{content:""}.ri-arrow-down-s-line:before{content:""}.ri-arrow-drop-down-fill:before{content:""}.ri-arrow-drop-down-line:before{content:""}.ri-arrow-drop-left-fill:before{content:""}.ri-arrow-drop-left-line:before{content:""}.ri-arrow-drop-right-fill:before{content:""}.ri-arrow-drop-right-line:before{content:""}.ri-arrow-drop-up-fill:before{content:""}.ri-arrow-drop-up-line:before{content:""}.ri-arrow-go-back-fill:before{content:""}.ri-arrow-go-back-line:before{content:""}.ri-arrow-go-forward-fill:before{content:""}.ri-arrow-go-forward-line:before{content:""}.ri-arrow-left-circle-fill:before{content:""}.ri-arrow-left-circle-line:before{content:""}.ri-arrow-left-down-fill:before{content:""}.ri-arrow-left-down-line:before{content:""}.ri-arrow-left-fill:before{content:""}.ri-arrow-left-line:before{content:""}.ri-arrow-left-right-fill:before{content:""}.ri-arrow-left-right-line:before{content:""}.ri-arrow-left-s-fill:before{content:""}.ri-arrow-left-s-line:before{content:""}.ri-arrow-left-up-fill:before{content:""}.ri-arrow-left-up-line:before{content:""}.ri-arrow-right-circle-fill:before{content:""}.ri-arrow-right-circle-line:before{content:""}.ri-arrow-right-down-fill:before{content:""}.ri-arrow-right-down-line:before{content:""}.ri-arrow-right-fill:before{content:""}.ri-arrow-right-line:before{content:""}.ri-arrow-right-s-fill:before{content:""}.ri-arrow-right-s-line:before{content:""}.ri-arrow-right-up-fill:before{content:""}.ri-arrow-right-up-line:before{content:""}.ri-arrow-up-circle-fill:before{content:""}.ri-arrow-up-circle-line:before{content:""}.ri-arrow-up-down-fill:before{content:""}.ri-arrow-up-down-line:before{content:""}.ri-arrow-up-fill:before{content:""}.ri-arrow-up-line:before{content:""}.ri-arrow-up-s-fill:before{content:""}.ri-arrow-up-s-line:before{content:""}.ri-artboard-2-fill:before{content:""}.ri-artboard-2-line:before{content:""}.ri-artboard-fill:before{content:""}.ri-artboard-line:before{content:""}.ri-article-fill:before{content:""}.ri-article-line:before{content:""}.ri-aspect-ratio-fill:before{content:""}.ri-aspect-ratio-line:before{content:""}.ri-asterisk:before{content:""}.ri-at-fill:before{content:""}.ri-at-line:before{content:""}.ri-attachment-2:before{content:""}.ri-attachment-fill:before{content:""}.ri-attachment-line:before{content:""}.ri-auction-fill:before{content:""}.ri-auction-line:before{content:""}.ri-award-fill:before{content:""}.ri-award-line:before{content:""}.ri-baidu-fill:before{content:""}.ri-baidu-line:before{content:""}.ri-ball-pen-fill:before{content:""}.ri-ball-pen-line:before{content:""}.ri-bank-card-2-fill:before{content:""}.ri-bank-card-2-line:before{content:""}.ri-bank-card-fill:before{content:""}.ri-bank-card-line:before{content:""}.ri-bank-fill:before{content:""}.ri-bank-line:before{content:""}.ri-bar-chart-2-fill:before{content:""}.ri-bar-chart-2-line:before{content:""}.ri-bar-chart-box-fill:before{content:""}.ri-bar-chart-box-line:before{content:""}.ri-bar-chart-fill:before{content:""}.ri-bar-chart-grouped-fill:before{content:""}.ri-bar-chart-grouped-line:before{content:""}.ri-bar-chart-horizontal-fill:before{content:""}.ri-bar-chart-horizontal-line:before{content:""}.ri-bar-chart-line:before{content:""}.ri-barcode-box-fill:before{content:""}.ri-barcode-box-line:before{content:""}.ri-barcode-fill:before{content:""}.ri-barcode-line:before{content:""}.ri-barricade-fill:before{content:""}.ri-barricade-line:before{content:""}.ri-base-station-fill:before{content:""}.ri-base-station-line:before{content:""}.ri-basketball-fill:before{content:""}.ri-basketball-line:before{content:""}.ri-battery-2-charge-fill:before{content:""}.ri-battery-2-charge-line:before{content:""}.ri-battery-2-fill:before{content:""}.ri-battery-2-line:before{content:""}.ri-battery-charge-fill:before{content:""}.ri-battery-charge-line:before{content:""}.ri-battery-fill:before{content:""}.ri-battery-line:before{content:""}.ri-battery-low-fill:before{content:""}.ri-battery-low-line:before{content:""}.ri-battery-saver-fill:before{content:""}.ri-battery-saver-line:before{content:""}.ri-battery-share-fill:before{content:""}.ri-battery-share-line:before{content:""}.ri-bear-smile-fill:before{content:""}.ri-bear-smile-line:before{content:""}.ri-behance-fill:before{content:""}.ri-behance-line:before{content:""}.ri-bell-fill:before{content:""}.ri-bell-line:before{content:""}.ri-bike-fill:before{content:""}.ri-bike-line:before{content:""}.ri-bilibili-fill:before{content:""}.ri-bilibili-line:before{content:""}.ri-bill-fill:before{content:""}.ri-bill-line:before{content:""}.ri-billiards-fill:before{content:""}.ri-billiards-line:before{content:""}.ri-bit-coin-fill:before{content:""}.ri-bit-coin-line:before{content:""}.ri-blaze-fill:before{content:""}.ri-blaze-line:before{content:""}.ri-bluetooth-connect-fill:before{content:""}.ri-bluetooth-connect-line:before{content:""}.ri-bluetooth-fill:before{content:""}.ri-bluetooth-line:before{content:""}.ri-blur-off-fill:before{content:""}.ri-blur-off-line:before{content:""}.ri-body-scan-fill:before{content:""}.ri-body-scan-line:before{content:""}.ri-bold:before{content:""}.ri-book-2-fill:before{content:""}.ri-book-2-line:before{content:""}.ri-book-3-fill:before{content:""}.ri-book-3-line:before{content:""}.ri-book-fill:before{content:""}.ri-book-line:before{content:""}.ri-book-marked-fill:before{content:""}.ri-book-marked-line:before{content:""}.ri-book-open-fill:before{content:""}.ri-book-open-line:before{content:""}.ri-book-read-fill:before{content:""}.ri-book-read-line:before{content:""}.ri-booklet-fill:before{content:""}.ri-booklet-line:before{content:""}.ri-bookmark-2-fill:before{content:""}.ri-bookmark-2-line:before{content:""}.ri-bookmark-3-fill:before{content:""}.ri-bookmark-3-line:before{content:""}.ri-bookmark-fill:before{content:""}.ri-bookmark-line:before{content:""}.ri-boxing-fill:before{content:""}.ri-boxing-line:before{content:""}.ri-braces-fill:before{content:""}.ri-braces-line:before{content:""}.ri-brackets-fill:before{content:""}.ri-brackets-line:before{content:""}.ri-briefcase-2-fill:before{content:""}.ri-briefcase-2-line:before{content:""}.ri-briefcase-3-fill:before{content:""}.ri-briefcase-3-line:before{content:""}.ri-briefcase-4-fill:before{content:""}.ri-briefcase-4-line:before{content:""}.ri-briefcase-5-fill:before{content:""}.ri-briefcase-5-line:before{content:""}.ri-briefcase-fill:before{content:""}.ri-briefcase-line:before{content:""}.ri-bring-forward:before{content:""}.ri-bring-to-front:before{content:""}.ri-broadcast-fill:before{content:""}.ri-broadcast-line:before{content:""}.ri-brush-2-fill:before{content:""}.ri-brush-2-line:before{content:""}.ri-brush-3-fill:before{content:""}.ri-brush-3-line:before{content:""}.ri-brush-4-fill:before{content:""}.ri-brush-4-line:before{content:""}.ri-brush-fill:before{content:""}.ri-brush-line:before{content:""}.ri-bubble-chart-fill:before{content:""}.ri-bubble-chart-line:before{content:""}.ri-bug-2-fill:before{content:""}.ri-bug-2-line:before{content:""}.ri-bug-fill:before{content:""}.ri-bug-line:before{content:""}.ri-building-2-fill:before{content:""}.ri-building-2-line:before{content:""}.ri-building-3-fill:before{content:""}.ri-building-3-line:before{content:""}.ri-building-4-fill:before{content:""}.ri-building-4-line:before{content:""}.ri-building-fill:before{content:""}.ri-building-line:before{content:""}.ri-bus-2-fill:before{content:""}.ri-bus-2-line:before{content:""}.ri-bus-fill:before{content:""}.ri-bus-line:before{content:""}.ri-bus-wifi-fill:before{content:""}.ri-bus-wifi-line:before{content:""}.ri-cactus-fill:before{content:""}.ri-cactus-line:before{content:""}.ri-cake-2-fill:before{content:""}.ri-cake-2-line:before{content:""}.ri-cake-3-fill:before{content:""}.ri-cake-3-line:before{content:""}.ri-cake-fill:before{content:""}.ri-cake-line:before{content:""}.ri-calculator-fill:before{content:""}.ri-calculator-line:before{content:""}.ri-calendar-2-fill:before{content:""}.ri-calendar-2-line:before{content:""}.ri-calendar-check-fill:before{content:""}.ri-calendar-check-line:before{content:""}.ri-calendar-event-fill:before{content:""}.ri-calendar-event-line:before{content:""}.ri-calendar-fill:before{content:""}.ri-calendar-line:before{content:""}.ri-calendar-todo-fill:before{content:""}.ri-calendar-todo-line:before{content:""}.ri-camera-2-fill:before{content:""}.ri-camera-2-line:before{content:""}.ri-camera-3-fill:before{content:""}.ri-camera-3-line:before{content:""}.ri-camera-fill:before{content:""}.ri-camera-lens-fill:before{content:""}.ri-camera-lens-line:before{content:""}.ri-camera-line:before{content:""}.ri-camera-off-fill:before{content:""}.ri-camera-off-line:before{content:""}.ri-camera-switch-fill:before{content:""}.ri-camera-switch-line:before{content:""}.ri-capsule-fill:before{content:""}.ri-capsule-line:before{content:""}.ri-car-fill:before{content:""}.ri-car-line:before{content:""}.ri-car-washing-fill:before{content:""}.ri-car-washing-line:before{content:""}.ri-caravan-fill:before{content:""}.ri-caravan-line:before{content:""}.ri-cast-fill:before{content:""}.ri-cast-line:before{content:""}.ri-cellphone-fill:before{content:""}.ri-cellphone-line:before{content:""}.ri-celsius-fill:before{content:""}.ri-celsius-line:before{content:""}.ri-centos-fill:before{content:""}.ri-centos-line:before{content:""}.ri-character-recognition-fill:before{content:""}.ri-character-recognition-line:before{content:""}.ri-charging-pile-2-fill:before{content:""}.ri-charging-pile-2-line:before{content:""}.ri-charging-pile-fill:before{content:""}.ri-charging-pile-line:before{content:""}.ri-chat-1-fill:before{content:""}.ri-chat-1-line:before{content:""}.ri-chat-2-fill:before{content:""}.ri-chat-2-line:before{content:""}.ri-chat-3-fill:before{content:""}.ri-chat-3-line:before{content:""}.ri-chat-4-fill:before{content:""}.ri-chat-4-line:before{content:""}.ri-chat-check-fill:before{content:""}.ri-chat-check-line:before{content:""}.ri-chat-delete-fill:before{content:""}.ri-chat-delete-line:before{content:""}.ri-chat-download-fill:before{content:""}.ri-chat-download-line:before{content:""}.ri-chat-follow-up-fill:before{content:""}.ri-chat-follow-up-line:before{content:""}.ri-chat-forward-fill:before{content:""}.ri-chat-forward-line:before{content:""}.ri-chat-heart-fill:before{content:""}.ri-chat-heart-line:before{content:""}.ri-chat-history-fill:before{content:""}.ri-chat-history-line:before{content:""}.ri-chat-new-fill:before{content:""}.ri-chat-new-line:before{content:""}.ri-chat-off-fill:before{content:""}.ri-chat-off-line:before{content:""}.ri-chat-poll-fill:before{content:""}.ri-chat-poll-line:before{content:""}.ri-chat-private-fill:before{content:""}.ri-chat-private-line:before{content:""}.ri-chat-quote-fill:before{content:""}.ri-chat-quote-line:before{content:""}.ri-chat-settings-fill:before{content:""}.ri-chat-settings-line:before{content:""}.ri-chat-smile-2-fill:before{content:""}.ri-chat-smile-2-line:before{content:""}.ri-chat-smile-3-fill:before{content:""}.ri-chat-smile-3-line:before{content:""}.ri-chat-smile-fill:before{content:""}.ri-chat-smile-line:before{content:""}.ri-chat-upload-fill:before{content:""}.ri-chat-upload-line:before{content:""}.ri-chat-voice-fill:before{content:""}.ri-chat-voice-line:before{content:""}.ri-check-double-fill:before{content:""}.ri-check-double-line:before{content:""}.ri-check-fill:before{content:""}.ri-check-line:before{content:""}.ri-checkbox-blank-circle-fill:before{content:""}.ri-checkbox-blank-circle-line:before{content:""}.ri-checkbox-blank-fill:before{content:""}.ri-checkbox-blank-line:before{content:""}.ri-checkbox-circle-fill:before{content:""}.ri-checkbox-circle-line:before{content:""}.ri-checkbox-fill:before{content:""}.ri-checkbox-indeterminate-fill:before{content:""}.ri-checkbox-indeterminate-line:before{content:""}.ri-checkbox-line:before{content:""}.ri-checkbox-multiple-blank-fill:before{content:""}.ri-checkbox-multiple-blank-line:before{content:""}.ri-checkbox-multiple-fill:before{content:""}.ri-checkbox-multiple-line:before{content:""}.ri-china-railway-fill:before{content:""}.ri-china-railway-line:before{content:""}.ri-chrome-fill:before{content:""}.ri-chrome-line:before{content:""}.ri-clapperboard-fill:before{content:""}.ri-clapperboard-line:before{content:""}.ri-clipboard-fill:before{content:""}.ri-clipboard-line:before{content:""}.ri-clockwise-2-fill:before{content:""}.ri-clockwise-2-line:before{content:""}.ri-clockwise-fill:before{content:""}.ri-clockwise-line:before{content:""}.ri-close-circle-fill:before{content:""}.ri-close-circle-line:before{content:""}.ri-close-fill:before{content:""}.ri-close-line:before{content:""}.ri-closed-captioning-fill:before{content:""}.ri-closed-captioning-line:before{content:""}.ri-cloud-fill:before{content:""}.ri-cloud-line:before{content:""}.ri-cloud-off-fill:before{content:""}.ri-cloud-off-line:before{content:""}.ri-cloud-windy-fill:before{content:""}.ri-cloud-windy-line:before{content:""}.ri-cloudy-2-fill:before{content:""}.ri-cloudy-2-line:before{content:""}.ri-cloudy-fill:before{content:""}.ri-cloudy-line:before{content:""}.ri-code-box-fill:before{content:""}.ri-code-box-line:before{content:""}.ri-code-fill:before{content:""}.ri-code-line:before{content:""}.ri-code-s-fill:before{content:""}.ri-code-s-line:before{content:""}.ri-code-s-slash-fill:before{content:""}.ri-code-s-slash-line:before{content:""}.ri-code-view:before{content:""}.ri-codepen-fill:before{content:""}.ri-codepen-line:before{content:""}.ri-coin-fill:before{content:""}.ri-coin-line:before{content:""}.ri-coins-fill:before{content:""}.ri-coins-line:before{content:""}.ri-collage-fill:before{content:""}.ri-collage-line:before{content:""}.ri-command-fill:before{content:""}.ri-command-line:before{content:""}.ri-community-fill:before{content:""}.ri-community-line:before{content:""}.ri-compass-2-fill:before{content:""}.ri-compass-2-line:before{content:""}.ri-compass-3-fill:before{content:""}.ri-compass-3-line:before{content:""}.ri-compass-4-fill:before{content:""}.ri-compass-4-line:before{content:""}.ri-compass-discover-fill:before{content:""}.ri-compass-discover-line:before{content:""}.ri-compass-fill:before{content:""}.ri-compass-line:before{content:""}.ri-compasses-2-fill:before{content:""}.ri-compasses-2-line:before{content:""}.ri-compasses-fill:before{content:""}.ri-compasses-line:before{content:""}.ri-computer-fill:before{content:""}.ri-computer-line:before{content:""}.ri-contacts-book-2-fill:before{content:""}.ri-contacts-book-2-line:before{content:""}.ri-contacts-book-fill:before{content:""}.ri-contacts-book-line:before{content:""}.ri-contacts-book-upload-fill:before{content:""}.ri-contacts-book-upload-line:before{content:""}.ri-contacts-fill:before{content:""}.ri-contacts-line:before{content:""}.ri-contrast-2-fill:before{content:""}.ri-contrast-2-line:before{content:""}.ri-contrast-drop-2-fill:before{content:""}.ri-contrast-drop-2-line:before{content:""}.ri-contrast-drop-fill:before{content:""}.ri-contrast-drop-line:before{content:""}.ri-contrast-fill:before{content:""}.ri-contrast-line:before{content:""}.ri-copper-coin-fill:before{content:""}.ri-copper-coin-line:before{content:""}.ri-copper-diamond-fill:before{content:""}.ri-copper-diamond-line:before{content:""}.ri-copyleft-fill:before{content:""}.ri-copyleft-line:before{content:""}.ri-copyright-fill:before{content:""}.ri-copyright-line:before{content:""}.ri-coreos-fill:before{content:""}.ri-coreos-line:before{content:""}.ri-coupon-2-fill:before{content:""}.ri-coupon-2-line:before{content:""}.ri-coupon-3-fill:before{content:""}.ri-coupon-3-line:before{content:""}.ri-coupon-4-fill:before{content:""}.ri-coupon-4-line:before{content:""}.ri-coupon-5-fill:before{content:""}.ri-coupon-5-line:before{content:""}.ri-coupon-fill:before{content:""}.ri-coupon-line:before{content:""}.ri-cpu-fill:before{content:""}.ri-cpu-line:before{content:""}.ri-creative-commons-by-fill:before{content:""}.ri-creative-commons-by-line:before{content:""}.ri-creative-commons-fill:before{content:""}.ri-creative-commons-line:before{content:""}.ri-creative-commons-nc-fill:before{content:""}.ri-creative-commons-nc-line:before{content:""}.ri-creative-commons-nd-fill:before{content:""}.ri-creative-commons-nd-line:before{content:""}.ri-creative-commons-sa-fill:before{content:""}.ri-creative-commons-sa-line:before{content:""}.ri-creative-commons-zero-fill:before{content:""}.ri-creative-commons-zero-line:before{content:""}.ri-criminal-fill:before{content:""}.ri-criminal-line:before{content:""}.ri-crop-2-fill:before{content:""}.ri-crop-2-line:before{content:""}.ri-crop-fill:before{content:""}.ri-crop-line:before{content:""}.ri-css3-fill:before{content:""}.ri-css3-line:before{content:""}.ri-cup-fill:before{content:""}.ri-cup-line:before{content:""}.ri-currency-fill:before{content:""}.ri-currency-line:before{content:""}.ri-cursor-fill:before{content:""}.ri-cursor-line:before{content:""}.ri-customer-service-2-fill:before{content:""}.ri-customer-service-2-line:before{content:""}.ri-customer-service-fill:before{content:""}.ri-customer-service-line:before{content:""}.ri-dashboard-2-fill:before{content:""}.ri-dashboard-2-line:before{content:""}.ri-dashboard-3-fill:before{content:""}.ri-dashboard-3-line:before{content:""}.ri-dashboard-fill:before{content:""}.ri-dashboard-line:before{content:""}.ri-database-2-fill:before{content:""}.ri-database-2-line:before{content:""}.ri-database-fill:before{content:""}.ri-database-line:before{content:""}.ri-delete-back-2-fill:before{content:""}.ri-delete-back-2-line:before{content:""}.ri-delete-back-fill:before{content:""}.ri-delete-back-line:before{content:""}.ri-delete-bin-2-fill:before{content:""}.ri-delete-bin-2-line:before{content:""}.ri-delete-bin-3-fill:before{content:""}.ri-delete-bin-3-line:before{content:""}.ri-delete-bin-4-fill:before{content:""}.ri-delete-bin-4-line:before{content:""}.ri-delete-bin-5-fill:before{content:""}.ri-delete-bin-5-line:before{content:""}.ri-delete-bin-6-fill:before{content:""}.ri-delete-bin-6-line:before{content:""}.ri-delete-bin-7-fill:before{content:""}.ri-delete-bin-7-line:before{content:""}.ri-delete-bin-fill:before{content:""}.ri-delete-bin-line:before{content:""}.ri-delete-column:before{content:""}.ri-delete-row:before{content:""}.ri-device-fill:before{content:""}.ri-device-line:before{content:""}.ri-device-recover-fill:before{content:""}.ri-device-recover-line:before{content:""}.ri-dingding-fill:before{content:""}.ri-dingding-line:before{content:""}.ri-direction-fill:before{content:""}.ri-direction-line:before{content:""}.ri-disc-fill:before{content:""}.ri-disc-line:before{content:""}.ri-discord-fill:before{content:""}.ri-discord-line:before{content:""}.ri-discuss-fill:before{content:""}.ri-discuss-line:before{content:""}.ri-dislike-fill:before{content:""}.ri-dislike-line:before{content:""}.ri-disqus-fill:before{content:""}.ri-disqus-line:before{content:""}.ri-divide-fill:before{content:""}.ri-divide-line:before{content:""}.ri-donut-chart-fill:before{content:""}.ri-donut-chart-line:before{content:""}.ri-door-closed-fill:before{content:""}.ri-door-closed-line:before{content:""}.ri-door-fill:before{content:""}.ri-door-line:before{content:""}.ri-door-lock-box-fill:before{content:""}.ri-door-lock-box-line:before{content:""}.ri-door-lock-fill:before{content:""}.ri-door-lock-line:before{content:""}.ri-door-open-fill:before{content:""}.ri-door-open-line:before{content:""}.ri-dossier-fill:before{content:""}.ri-dossier-line:before{content:""}.ri-douban-fill:before{content:""}.ri-douban-line:before{content:""}.ri-double-quotes-l:before{content:""}.ri-double-quotes-r:before{content:""}.ri-download-2-fill:before{content:""}.ri-download-2-line:before{content:""}.ri-download-cloud-2-fill:before{content:""}.ri-download-cloud-2-line:before{content:""}.ri-download-cloud-fill:before{content:""}.ri-download-cloud-line:before{content:""}.ri-download-fill:before{content:""}.ri-download-line:before{content:""}.ri-draft-fill:before{content:""}.ri-draft-line:before{content:""}.ri-drag-drop-fill:before{content:""}.ri-drag-drop-line:before{content:""}.ri-drag-move-2-fill:before{content:""}.ri-drag-move-2-line:before{content:""}.ri-drag-move-fill:before{content:""}.ri-drag-move-line:before{content:""}.ri-dribbble-fill:before{content:""}.ri-dribbble-line:before{content:""}.ri-drive-fill:before{content:""}.ri-drive-line:before{content:""}.ri-drizzle-fill:before{content:""}.ri-drizzle-line:before{content:""}.ri-drop-fill:before{content:""}.ri-drop-line:before{content:""}.ri-dropbox-fill:before{content:""}.ri-dropbox-line:before{content:""}.ri-dual-sim-1-fill:before{content:""}.ri-dual-sim-1-line:before{content:""}.ri-dual-sim-2-fill:before{content:""}.ri-dual-sim-2-line:before{content:""}.ri-dv-fill:before{content:""}.ri-dv-line:before{content:""}.ri-dvd-fill:before{content:""}.ri-dvd-line:before{content:""}.ri-e-bike-2-fill:before{content:""}.ri-e-bike-2-line:before{content:""}.ri-e-bike-fill:before{content:""}.ri-e-bike-line:before{content:""}.ri-earth-fill:before{content:""}.ri-earth-line:before{content:""}.ri-earthquake-fill:before{content:""}.ri-earthquake-line:before{content:""}.ri-edge-fill:before{content:""}.ri-edge-line:before{content:""}.ri-edit-2-fill:before{content:""}.ri-edit-2-line:before{content:""}.ri-edit-box-fill:before{content:""}.ri-edit-box-line:before{content:""}.ri-edit-circle-fill:before{content:""}.ri-edit-circle-line:before{content:""}.ri-edit-fill:before{content:""}.ri-edit-line:before{content:""}.ri-eject-fill:before{content:""}.ri-eject-line:before{content:""}.ri-emotion-2-fill:before{content:""}.ri-emotion-2-line:before{content:""}.ri-emotion-fill:before{content:""}.ri-emotion-happy-fill:before{content:""}.ri-emotion-happy-line:before{content:""}.ri-emotion-laugh-fill:before{content:""}.ri-emotion-laugh-line:before{content:""}.ri-emotion-line:before{content:""}.ri-emotion-normal-fill:before{content:""}.ri-emotion-normal-line:before{content:""}.ri-emotion-sad-fill:before{content:""}.ri-emotion-sad-line:before{content:""}.ri-emotion-unhappy-fill:before{content:""}.ri-emotion-unhappy-line:before{content:""}.ri-empathize-fill:before{content:""}.ri-empathize-line:before{content:""}.ri-emphasis-cn:before{content:""}.ri-emphasis:before{content:""}.ri-english-input:before{content:""}.ri-equalizer-fill:before{content:""}.ri-equalizer-line:before{content:""}.ri-eraser-fill:before{content:""}.ri-eraser-line:before{content:""}.ri-error-warning-fill:before{content:""}.ri-error-warning-line:before{content:""}.ri-evernote-fill:before{content:""}.ri-evernote-line:before{content:""}.ri-exchange-box-fill:before{content:""}.ri-exchange-box-line:before{content:""}.ri-exchange-cny-fill:before{content:""}.ri-exchange-cny-line:before{content:""}.ri-exchange-dollar-fill:before{content:""}.ri-exchange-dollar-line:before{content:""}.ri-exchange-fill:before{content:""}.ri-exchange-funds-fill:before{content:""}.ri-exchange-funds-line:before{content:""}.ri-exchange-line:before{content:""}.ri-external-link-fill:before{content:""}.ri-external-link-line:before{content:""}.ri-eye-2-fill:before{content:""}.ri-eye-2-line:before{content:""}.ri-eye-close-fill:before{content:""}.ri-eye-close-line:before{content:""}.ri-eye-fill:before{content:""}.ri-eye-line:before{content:""}.ri-eye-off-fill:before{content:""}.ri-eye-off-line:before{content:""}.ri-facebook-box-fill:before{content:""}.ri-facebook-box-line:before{content:""}.ri-facebook-circle-fill:before{content:""}.ri-facebook-circle-line:before{content:""}.ri-facebook-fill:before{content:""}.ri-facebook-line:before{content:""}.ri-fahrenheit-fill:before{content:""}.ri-fahrenheit-line:before{content:""}.ri-feedback-fill:before{content:""}.ri-feedback-line:before{content:""}.ri-file-2-fill:before{content:""}.ri-file-2-line:before{content:""}.ri-file-3-fill:before{content:""}.ri-file-3-line:before{content:""}.ri-file-4-fill:before{content:""}.ri-file-4-line:before{content:""}.ri-file-add-fill:before{content:""}.ri-file-add-line:before{content:""}.ri-file-chart-2-fill:before{content:""}.ri-file-chart-2-line:before{content:""}.ri-file-chart-fill:before{content:""}.ri-file-chart-line:before{content:""}.ri-file-cloud-fill:before{content:""}.ri-file-cloud-line:before{content:""}.ri-file-code-fill:before{content:""}.ri-file-code-line:before{content:""}.ri-file-copy-2-fill:before{content:""}.ri-file-copy-2-line:before{content:""}.ri-file-copy-fill:before{content:""}.ri-file-copy-line:before{content:""}.ri-file-damage-fill:before{content:""}.ri-file-damage-line:before{content:""}.ri-file-download-fill:before{content:""}.ri-file-download-line:before{content:""}.ri-file-edit-fill:before{content:""}.ri-file-edit-line:before{content:""}.ri-file-excel-2-fill:before{content:""}.ri-file-excel-2-line:before{content:""}.ri-file-excel-fill:before{content:""}.ri-file-excel-line:before{content:""}.ri-file-fill:before{content:""}.ri-file-forbid-fill:before{content:""}.ri-file-forbid-line:before{content:""}.ri-file-gif-fill:before{content:""}.ri-file-gif-line:before{content:""}.ri-file-history-fill:before{content:""}.ri-file-history-line:before{content:""}.ri-file-hwp-fill:before{content:""}.ri-file-hwp-line:before{content:""}.ri-file-info-fill:before{content:""}.ri-file-info-line:before{content:""}.ri-file-line:before{content:""}.ri-file-list-2-fill:before{content:""}.ri-file-list-2-line:before{content:""}.ri-file-list-3-fill:before{content:""}.ri-file-list-3-line:before{content:""}.ri-file-list-fill:before{content:""}.ri-file-list-line:before{content:""}.ri-file-lock-fill:before{content:""}.ri-file-lock-line:before{content:""}.ri-file-marked-fill:before{content:""}.ri-file-marked-line:before{content:""}.ri-file-music-fill:before{content:""}.ri-file-music-line:before{content:""}.ri-file-paper-2-fill:before{content:""}.ri-file-paper-2-line:before{content:""}.ri-file-paper-fill:before{content:""}.ri-file-paper-line:before{content:""}.ri-file-pdf-fill:before{content:""}.ri-file-pdf-line:before{content:""}.ri-file-ppt-2-fill:before{content:""}.ri-file-ppt-2-line:before{content:""}.ri-file-ppt-fill:before{content:""}.ri-file-ppt-line:before{content:""}.ri-file-reduce-fill:before{content:""}.ri-file-reduce-line:before{content:""}.ri-file-search-fill:before{content:""}.ri-file-search-line:before{content:""}.ri-file-settings-fill:before{content:""}.ri-file-settings-line:before{content:""}.ri-file-shield-2-fill:before{content:""}.ri-file-shield-2-line:before{content:""}.ri-file-shield-fill:before{content:""}.ri-file-shield-line:before{content:""}.ri-file-shred-fill:before{content:""}.ri-file-shred-line:before{content:""}.ri-file-text-fill:before{content:""}.ri-file-text-line:before{content:""}.ri-file-transfer-fill:before{content:""}.ri-file-transfer-line:before{content:""}.ri-file-unknow-fill:before{content:""}.ri-file-unknow-line:before{content:""}.ri-file-upload-fill:before{content:""}.ri-file-upload-line:before{content:""}.ri-file-user-fill:before{content:""}.ri-file-user-line:before{content:""}.ri-file-warning-fill:before{content:""}.ri-file-warning-line:before{content:""}.ri-file-word-2-fill:before{content:""}.ri-file-word-2-line:before{content:""}.ri-file-word-fill:before{content:""}.ri-file-word-line:before{content:""}.ri-file-zip-fill:before{content:""}.ri-file-zip-line:before{content:""}.ri-film-fill:before{content:""}.ri-film-line:before{content:""}.ri-filter-2-fill:before{content:""}.ri-filter-2-line:before{content:""}.ri-filter-3-fill:before{content:""}.ri-filter-3-line:before{content:""}.ri-filter-fill:before{content:""}.ri-filter-line:before{content:""}.ri-filter-off-fill:before{content:""}.ri-filter-off-line:before{content:""}.ri-find-replace-fill:before{content:""}.ri-find-replace-line:before{content:""}.ri-finder-fill:before{content:""}.ri-finder-line:before{content:""}.ri-fingerprint-2-fill:before{content:""}.ri-fingerprint-2-line:before{content:""}.ri-fingerprint-fill:before{content:""}.ri-fingerprint-line:before{content:""}.ri-fire-fill:before{content:""}.ri-fire-line:before{content:""}.ri-firefox-fill:before{content:""}.ri-firefox-line:before{content:""}.ri-first-aid-kit-fill:before{content:""}.ri-first-aid-kit-line:before{content:""}.ri-flag-2-fill:before{content:""}.ri-flag-2-line:before{content:""}.ri-flag-fill:before{content:""}.ri-flag-line:before{content:""}.ri-flashlight-fill:before{content:""}.ri-flashlight-line:before{content:""}.ri-flask-fill:before{content:""}.ri-flask-line:before{content:""}.ri-flight-land-fill:before{content:""}.ri-flight-land-line:before{content:""}.ri-flight-takeoff-fill:before{content:""}.ri-flight-takeoff-line:before{content:""}.ri-flood-fill:before{content:""}.ri-flood-line:before{content:""}.ri-flow-chart:before{content:""}.ri-flutter-fill:before{content:""}.ri-flutter-line:before{content:""}.ri-focus-2-fill:before{content:""}.ri-focus-2-line:before{content:""}.ri-focus-3-fill:before{content:""}.ri-focus-3-line:before{content:""}.ri-focus-fill:before{content:""}.ri-focus-line:before{content:""}.ri-foggy-fill:before{content:""}.ri-foggy-line:before{content:""}.ri-folder-2-fill:before{content:""}.ri-folder-2-line:before{content:""}.ri-folder-3-fill:before{content:""}.ri-folder-3-line:before{content:""}.ri-folder-4-fill:before{content:""}.ri-folder-4-line:before{content:""}.ri-folder-5-fill:before{content:""}.ri-folder-5-line:before{content:""}.ri-folder-add-fill:before{content:""}.ri-folder-add-line:before{content:""}.ri-folder-chart-2-fill:before{content:""}.ri-folder-chart-2-line:before{content:""}.ri-folder-chart-fill:before{content:""}.ri-folder-chart-line:before{content:""}.ri-folder-download-fill:before{content:""}.ri-folder-download-line:before{content:""}.ri-folder-fill:before{content:""}.ri-folder-forbid-fill:before{content:""}.ri-folder-forbid-line:before{content:""}.ri-folder-history-fill:before{content:""}.ri-folder-history-line:before{content:""}.ri-folder-info-fill:before{content:""}.ri-folder-info-line:before{content:""}.ri-folder-keyhole-fill:before{content:""}.ri-folder-keyhole-line:before{content:""}.ri-folder-line:before{content:""}.ri-folder-lock-fill:before{content:""}.ri-folder-lock-line:before{content:""}.ri-folder-music-fill:before{content:""}.ri-folder-music-line:before{content:""}.ri-folder-open-fill:before{content:""}.ri-folder-open-line:before{content:""}.ri-folder-received-fill:before{content:""}.ri-folder-received-line:before{content:""}.ri-folder-reduce-fill:before{content:""}.ri-folder-reduce-line:before{content:""}.ri-folder-settings-fill:before{content:""}.ri-folder-settings-line:before{content:""}.ri-folder-shared-fill:before{content:""}.ri-folder-shared-line:before{content:""}.ri-folder-shield-2-fill:before{content:""}.ri-folder-shield-2-line:before{content:""}.ri-folder-shield-fill:before{content:""}.ri-folder-shield-line:before{content:""}.ri-folder-transfer-fill:before{content:""}.ri-folder-transfer-line:before{content:""}.ri-folder-unknow-fill:before{content:""}.ri-folder-unknow-line:before{content:""}.ri-folder-upload-fill:before{content:""}.ri-folder-upload-line:before{content:""}.ri-folder-user-fill:before{content:""}.ri-folder-user-line:before{content:""}.ri-folder-warning-fill:before{content:""}.ri-folder-warning-line:before{content:""}.ri-folder-zip-fill:before{content:""}.ri-folder-zip-line:before{content:""}.ri-folders-fill:before{content:""}.ri-folders-line:before{content:""}.ri-font-color:before{content:""}.ri-font-size-2:before{content:""}.ri-font-size:before{content:""}.ri-football-fill:before{content:""}.ri-football-line:before{content:""}.ri-footprint-fill:before{content:""}.ri-footprint-line:before{content:""}.ri-forbid-2-fill:before{content:""}.ri-forbid-2-line:before{content:""}.ri-forbid-fill:before{content:""}.ri-forbid-line:before{content:""}.ri-format-clear:before{content:""}.ri-fridge-fill:before{content:""}.ri-fridge-line:before{content:""}.ri-fullscreen-exit-fill:before{content:""}.ri-fullscreen-exit-line:before{content:""}.ri-fullscreen-fill:before{content:""}.ri-fullscreen-line:before{content:""}.ri-function-fill:before{content:""}.ri-function-line:before{content:""}.ri-functions:before{content:""}.ri-funds-box-fill:before{content:""}.ri-funds-box-line:before{content:""}.ri-funds-fill:before{content:""}.ri-funds-line:before{content:""}.ri-gallery-fill:before{content:""}.ri-gallery-line:before{content:""}.ri-gallery-upload-fill:before{content:""}.ri-gallery-upload-line:before{content:""}.ri-game-fill:before{content:""}.ri-game-line:before{content:""}.ri-gamepad-fill:before{content:""}.ri-gamepad-line:before{content:""}.ri-gas-station-fill:before{content:""}.ri-gas-station-line:before{content:""}.ri-gatsby-fill:before{content:""}.ri-gatsby-line:before{content:""}.ri-genderless-fill:before{content:""}.ri-genderless-line:before{content:""}.ri-ghost-2-fill:before{content:""}.ri-ghost-2-line:before{content:""}.ri-ghost-fill:before{content:""}.ri-ghost-line:before{content:""}.ri-ghost-smile-fill:before{content:""}.ri-ghost-smile-line:before{content:""}.ri-gift-2-fill:before{content:""}.ri-gift-2-line:before{content:""}.ri-gift-fill:before{content:""}.ri-gift-line:before{content:""}.ri-git-branch-fill:before{content:""}.ri-git-branch-line:before{content:""}.ri-git-commit-fill:before{content:""}.ri-git-commit-line:before{content:""}.ri-git-merge-fill:before{content:""}.ri-git-merge-line:before{content:""}.ri-git-pull-request-fill:before{content:""}.ri-git-pull-request-line:before{content:""}.ri-git-repository-commits-fill:before{content:""}.ri-git-repository-commits-line:before{content:""}.ri-git-repository-fill:before{content:""}.ri-git-repository-line:before{content:""}.ri-git-repository-private-fill:before{content:""}.ri-git-repository-private-line:before{content:""}.ri-github-fill:before{content:""}.ri-github-line:before{content:""}.ri-gitlab-fill:before{content:""}.ri-gitlab-line:before{content:""}.ri-global-fill:before{content:""}.ri-global-line:before{content:""}.ri-globe-fill:before{content:""}.ri-globe-line:before{content:""}.ri-goblet-fill:before{content:""}.ri-goblet-line:before{content:""}.ri-google-fill:before{content:""}.ri-google-line:before{content:""}.ri-google-play-fill:before{content:""}.ri-google-play-line:before{content:""}.ri-government-fill:before{content:""}.ri-government-line:before{content:""}.ri-gps-fill:before{content:""}.ri-gps-line:before{content:""}.ri-gradienter-fill:before{content:""}.ri-gradienter-line:before{content:""}.ri-grid-fill:before{content:""}.ri-grid-line:before{content:""}.ri-group-2-fill:before{content:""}.ri-group-2-line:before{content:""}.ri-group-fill:before{content:""}.ri-group-line:before{content:""}.ri-guide-fill:before{content:""}.ri-guide-line:before{content:""}.ri-h-1:before{content:""}.ri-h-2:before{content:""}.ri-h-3:before{content:""}.ri-h-4:before{content:""}.ri-h-5:before{content:""}.ri-h-6:before{content:""}.ri-hail-fill:before{content:""}.ri-hail-line:before{content:""}.ri-hammer-fill:before{content:""}.ri-hammer-line:before{content:""}.ri-hand-coin-fill:before{content:""}.ri-hand-coin-line:before{content:""}.ri-hand-heart-fill:before{content:""}.ri-hand-heart-line:before{content:""}.ri-hand-sanitizer-fill:before{content:""}.ri-hand-sanitizer-line:before{content:""}.ri-handbag-fill:before{content:""}.ri-handbag-line:before{content:""}.ri-hard-drive-2-fill:before{content:""}.ri-hard-drive-2-line:before{content:""}.ri-hard-drive-fill:before{content:""}.ri-hard-drive-line:before{content:""}.ri-hashtag:before{content:""}.ri-haze-2-fill:before{content:""}.ri-haze-2-line:before{content:""}.ri-haze-fill:before{content:""}.ri-haze-line:before{content:""}.ri-hd-fill:before{content:""}.ri-hd-line:before{content:""}.ri-heading:before{content:""}.ri-headphone-fill:before{content:""}.ri-headphone-line:before{content:""}.ri-health-book-fill:before{content:""}.ri-health-book-line:before{content:""}.ri-heart-2-fill:before{content:""}.ri-heart-2-line:before{content:""}.ri-heart-3-fill:before{content:""}.ri-heart-3-line:before{content:""}.ri-heart-add-fill:before{content:""}.ri-heart-add-line:before{content:""}.ri-heart-fill:before{content:""}.ri-heart-line:before{content:""}.ri-heart-pulse-fill:before{content:""}.ri-heart-pulse-line:before{content:""}.ri-hearts-fill:before{content:""}.ri-hearts-line:before{content:""}.ri-heavy-showers-fill:before{content:""}.ri-heavy-showers-line:before{content:""}.ri-history-fill:before{content:""}.ri-history-line:before{content:""}.ri-home-2-fill:before{content:""}.ri-home-2-line:before{content:""}.ri-home-3-fill:before{content:""}.ri-home-3-line:before{content:""}.ri-home-4-fill:before{content:""}.ri-home-4-line:before{content:""}.ri-home-5-fill:before{content:""}.ri-home-5-line:before{content:""}.ri-home-6-fill:before{content:""}.ri-home-6-line:before{content:""}.ri-home-7-fill:before{content:""}.ri-home-7-line:before{content:""}.ri-home-8-fill:before{content:""}.ri-home-8-line:before{content:""}.ri-home-fill:before{content:""}.ri-home-gear-fill:before{content:""}.ri-home-gear-line:before{content:""}.ri-home-heart-fill:before{content:""}.ri-home-heart-line:before{content:""}.ri-home-line:before{content:""}.ri-home-smile-2-fill:before{content:""}.ri-home-smile-2-line:before{content:""}.ri-home-smile-fill:before{content:""}.ri-home-smile-line:before{content:""}.ri-home-wifi-fill:before{content:""}.ri-home-wifi-line:before{content:""}.ri-honor-of-kings-fill:before{content:""}.ri-honor-of-kings-line:before{content:""}.ri-honour-fill:before{content:""}.ri-honour-line:before{content:""}.ri-hospital-fill:before{content:""}.ri-hospital-line:before{content:""}.ri-hotel-bed-fill:before{content:""}.ri-hotel-bed-line:before{content:""}.ri-hotel-fill:before{content:""}.ri-hotel-line:before{content:""}.ri-hotspot-fill:before{content:""}.ri-hotspot-line:before{content:""}.ri-hq-fill:before{content:""}.ri-hq-line:before{content:""}.ri-html5-fill:before{content:""}.ri-html5-line:before{content:""}.ri-ie-fill:before{content:""}.ri-ie-line:before{content:""}.ri-image-2-fill:before{content:""}.ri-image-2-line:before{content:""}.ri-image-add-fill:before{content:""}.ri-image-add-line:before{content:""}.ri-image-edit-fill:before{content:""}.ri-image-edit-line:before{content:""}.ri-image-fill:before{content:""}.ri-image-line:before{content:""}.ri-inbox-archive-fill:before{content:""}.ri-inbox-archive-line:before{content:""}.ri-inbox-fill:before{content:""}.ri-inbox-line:before{content:""}.ri-inbox-unarchive-fill:before{content:""}.ri-inbox-unarchive-line:before{content:""}.ri-increase-decrease-fill:before{content:""}.ri-increase-decrease-line:before{content:""}.ri-indent-decrease:before{content:""}.ri-indent-increase:before{content:""}.ri-indeterminate-circle-fill:before{content:""}.ri-indeterminate-circle-line:before{content:""}.ri-information-fill:before{content:""}.ri-information-line:before{content:""}.ri-infrared-thermometer-fill:before{content:""}.ri-infrared-thermometer-line:before{content:""}.ri-ink-bottle-fill:before{content:""}.ri-ink-bottle-line:before{content:""}.ri-input-cursor-move:before{content:""}.ri-input-method-fill:before{content:""}.ri-input-method-line:before{content:""}.ri-insert-column-left:before{content:""}.ri-insert-column-right:before{content:""}.ri-insert-row-bottom:before{content:""}.ri-insert-row-top:before{content:""}.ri-instagram-fill:before{content:""}.ri-instagram-line:before{content:""}.ri-install-fill:before{content:""}.ri-install-line:before{content:""}.ri-invision-fill:before{content:""}.ri-invision-line:before{content:""}.ri-italic:before{content:""}.ri-kakao-talk-fill:before{content:""}.ri-kakao-talk-line:before{content:""}.ri-key-2-fill:before{content:""}.ri-key-2-line:before{content:""}.ri-key-fill:before{content:""}.ri-key-line:before{content:""}.ri-keyboard-box-fill:before{content:""}.ri-keyboard-box-line:before{content:""}.ri-keyboard-fill:before{content:""}.ri-keyboard-line:before{content:""}.ri-keynote-fill:before{content:""}.ri-keynote-line:before{content:""}.ri-knife-blood-fill:before{content:""}.ri-knife-blood-line:before{content:""}.ri-knife-fill:before{content:""}.ri-knife-line:before{content:""}.ri-landscape-fill:before{content:""}.ri-landscape-line:before{content:""}.ri-layout-2-fill:before{content:""}.ri-layout-2-line:before{content:""}.ri-layout-3-fill:before{content:""}.ri-layout-3-line:before{content:""}.ri-layout-4-fill:before{content:""}.ri-layout-4-line:before{content:""}.ri-layout-5-fill:before{content:""}.ri-layout-5-line:before{content:""}.ri-layout-6-fill:before{content:""}.ri-layout-6-line:before{content:""}.ri-layout-bottom-2-fill:before{content:""}.ri-layout-bottom-2-line:before{content:""}.ri-layout-bottom-fill:before{content:""}.ri-layout-bottom-line:before{content:""}.ri-layout-column-fill:before{content:""}.ri-layout-column-line:before{content:""}.ri-layout-fill:before{content:""}.ri-layout-grid-fill:before{content:""}.ri-layout-grid-line:before{content:""}.ri-layout-left-2-fill:before{content:""}.ri-layout-left-2-line:before{content:""}.ri-layout-left-fill:before{content:""}.ri-layout-left-line:before{content:""}.ri-layout-line:before{content:""}.ri-layout-masonry-fill:before{content:""}.ri-layout-masonry-line:before{content:""}.ri-layout-right-2-fill:before{content:""}.ri-layout-right-2-line:before{content:""}.ri-layout-right-fill:before{content:""}.ri-layout-right-line:before{content:""}.ri-layout-row-fill:before{content:""}.ri-layout-row-line:before{content:""}.ri-layout-top-2-fill:before{content:""}.ri-layout-top-2-line:before{content:""}.ri-layout-top-fill:before{content:""}.ri-layout-top-line:before{content:""}.ri-leaf-fill:before{content:""}.ri-leaf-line:before{content:""}.ri-lifebuoy-fill:before{content:""}.ri-lifebuoy-line:before{content:""}.ri-lightbulb-fill:before{content:""}.ri-lightbulb-flash-fill:before{content:""}.ri-lightbulb-flash-line:before{content:""}.ri-lightbulb-line:before{content:""}.ri-line-chart-fill:before{content:""}.ri-line-chart-line:before{content:""}.ri-line-fill:before{content:""}.ri-line-height:before{content:""}.ri-line-line:before{content:""}.ri-link-m:before{content:""}.ri-link-unlink-m:before{content:""}.ri-link-unlink:before{content:""}.ri-link:before{content:""}.ri-linkedin-box-fill:before{content:""}.ri-linkedin-box-line:before{content:""}.ri-linkedin-fill:before{content:""}.ri-linkedin-line:before{content:""}.ri-links-fill:before{content:""}.ri-links-line:before{content:""}.ri-list-check-2:before{content:""}.ri-list-check:before{content:""}.ri-list-ordered:before{content:""}.ri-list-settings-fill:before{content:""}.ri-list-settings-line:before{content:""}.ri-list-unordered:before{content:""}.ri-live-fill:before{content:""}.ri-live-line:before{content:""}.ri-loader-2-fill:before{content:""}.ri-loader-2-line:before{content:""}.ri-loader-3-fill:before{content:""}.ri-loader-3-line:before{content:""}.ri-loader-4-fill:before{content:""}.ri-loader-4-line:before{content:""}.ri-loader-5-fill:before{content:""}.ri-loader-5-line:before{content:""}.ri-loader-fill:before{content:""}.ri-loader-line:before{content:""}.ri-lock-2-fill:before{content:""}.ri-lock-2-line:before{content:""}.ri-lock-fill:before{content:""}.ri-lock-line:before{content:""}.ri-lock-password-fill:before{content:""}.ri-lock-password-line:before{content:""}.ri-lock-unlock-fill:before{content:""}.ri-lock-unlock-line:before{content:""}.ri-login-box-fill:before{content:""}.ri-login-box-line:before{content:""}.ri-login-circle-fill:before{content:""}.ri-login-circle-line:before{content:""}.ri-logout-box-fill:before{content:""}.ri-logout-box-line:before{content:""}.ri-logout-box-r-fill:before{content:""}.ri-logout-box-r-line:before{content:""}.ri-logout-circle-fill:before{content:""}.ri-logout-circle-line:before{content:""}.ri-logout-circle-r-fill:before{content:""}.ri-logout-circle-r-line:before{content:""}.ri-luggage-cart-fill:before{content:""}.ri-luggage-cart-line:before{content:""}.ri-luggage-deposit-fill:before{content:""}.ri-luggage-deposit-line:before{content:""}.ri-lungs-fill:before{content:""}.ri-lungs-line:before{content:""}.ri-mac-fill:before{content:""}.ri-mac-line:before{content:""}.ri-macbook-fill:before{content:""}.ri-macbook-line:before{content:""}.ri-magic-fill:before{content:""}.ri-magic-line:before{content:""}.ri-mail-add-fill:before{content:""}.ri-mail-add-line:before{content:""}.ri-mail-check-fill:before{content:""}.ri-mail-check-line:before{content:""}.ri-mail-close-fill:before{content:""}.ri-mail-close-line:before{content:""}.ri-mail-download-fill:before{content:""}.ri-mail-download-line:before{content:""}.ri-mail-fill:before{content:""}.ri-mail-forbid-fill:before{content:""}.ri-mail-forbid-line:before{content:""}.ri-mail-line:before{content:""}.ri-mail-lock-fill:before{content:""}.ri-mail-lock-line:before{content:""}.ri-mail-open-fill:before{content:""}.ri-mail-open-line:before{content:""}.ri-mail-send-fill:before{content:""}.ri-mail-send-line:before{content:""}.ri-mail-settings-fill:before{content:""}.ri-mail-settings-line:before{content:""}.ri-mail-star-fill:before{content:""}.ri-mail-star-line:before{content:""}.ri-mail-unread-fill:before{content:""}.ri-mail-unread-line:before{content:""}.ri-mail-volume-fill:before{content:""}.ri-mail-volume-line:before{content:""}.ri-map-2-fill:before{content:""}.ri-map-2-line:before{content:""}.ri-map-fill:before{content:""}.ri-map-line:before{content:""}.ri-map-pin-2-fill:before{content:""}.ri-map-pin-2-line:before{content:""}.ri-map-pin-3-fill:before{content:""}.ri-map-pin-3-line:before{content:""}.ri-map-pin-4-fill:before{content:""}.ri-map-pin-4-line:before{content:""}.ri-map-pin-5-fill:before{content:""}.ri-map-pin-5-line:before{content:""}.ri-map-pin-add-fill:before{content:""}.ri-map-pin-add-line:before{content:""}.ri-map-pin-fill:before{content:""}.ri-map-pin-line:before{content:""}.ri-map-pin-range-fill:before{content:""}.ri-map-pin-range-line:before{content:""}.ri-map-pin-time-fill:before{content:""}.ri-map-pin-time-line:before{content:""}.ri-map-pin-user-fill:before{content:""}.ri-map-pin-user-line:before{content:""}.ri-mark-pen-fill:before{content:""}.ri-mark-pen-line:before{content:""}.ri-markdown-fill:before{content:""}.ri-markdown-line:before{content:""}.ri-markup-fill:before{content:""}.ri-markup-line:before{content:""}.ri-mastercard-fill:before{content:""}.ri-mastercard-line:before{content:""}.ri-mastodon-fill:before{content:""}.ri-mastodon-line:before{content:""}.ri-medal-2-fill:before{content:""}.ri-medal-2-line:before{content:""}.ri-medal-fill:before{content:""}.ri-medal-line:before{content:""}.ri-medicine-bottle-fill:before{content:""}.ri-medicine-bottle-line:before{content:""}.ri-medium-fill:before{content:""}.ri-medium-line:before{content:""}.ri-men-fill:before{content:""}.ri-men-line:before{content:""}.ri-mental-health-fill:before{content:""}.ri-mental-health-line:before{content:""}.ri-menu-2-fill:before{content:""}.ri-menu-2-line:before{content:""}.ri-menu-3-fill:before{content:""}.ri-menu-3-line:before{content:""}.ri-menu-4-fill:before{content:""}.ri-menu-4-line:before{content:""}.ri-menu-5-fill:before{content:""}.ri-menu-5-line:before{content:""}.ri-menu-add-fill:before{content:""}.ri-menu-add-line:before{content:""}.ri-menu-fill:before{content:""}.ri-menu-fold-fill:before{content:""}.ri-menu-fold-line:before{content:""}.ri-menu-line:before{content:""}.ri-menu-unfold-fill:before{content:""}.ri-menu-unfold-line:before{content:""}.ri-merge-cells-horizontal:before{content:""}.ri-merge-cells-vertical:before{content:""}.ri-message-2-fill:before{content:""}.ri-message-2-line:before{content:""}.ri-message-3-fill:before{content:""}.ri-message-3-line:before{content:""}.ri-message-fill:before{content:""}.ri-message-line:before{content:""}.ri-messenger-fill:before{content:""}.ri-messenger-line:before{content:""}.ri-meteor-fill:before{content:""}.ri-meteor-line:before{content:""}.ri-mic-2-fill:before{content:""}.ri-mic-2-line:before{content:""}.ri-mic-fill:before{content:""}.ri-mic-line:before{content:""}.ri-mic-off-fill:before{content:""}.ri-mic-off-line:before{content:""}.ri-mickey-fill:before{content:""}.ri-mickey-line:before{content:""}.ri-microscope-fill:before{content:""}.ri-microscope-line:before{content:""}.ri-microsoft-fill:before{content:""}.ri-microsoft-line:before{content:""}.ri-mind-map:before{content:""}.ri-mini-program-fill:before{content:""}.ri-mini-program-line:before{content:""}.ri-mist-fill:before{content:""}.ri-mist-line:before{content:""}.ri-money-cny-box-fill:before{content:""}.ri-money-cny-box-line:before{content:""}.ri-money-cny-circle-fill:before{content:""}.ri-money-cny-circle-line:before{content:""}.ri-money-dollar-box-fill:before{content:""}.ri-money-dollar-box-line:before{content:""}.ri-money-dollar-circle-fill:before{content:""}.ri-money-dollar-circle-line:before{content:""}.ri-money-euro-box-fill:before{content:""}.ri-money-euro-box-line:before{content:""}.ri-money-euro-circle-fill:before{content:""}.ri-money-euro-circle-line:before{content:""}.ri-money-pound-box-fill:before{content:""}.ri-money-pound-box-line:before{content:""}.ri-money-pound-circle-fill:before{content:""}.ri-money-pound-circle-line:before{content:""}.ri-moon-clear-fill:before{content:""}.ri-moon-clear-line:before{content:""}.ri-moon-cloudy-fill:before{content:""}.ri-moon-cloudy-line:before{content:""}.ri-moon-fill:before{content:""}.ri-moon-foggy-fill:before{content:""}.ri-moon-foggy-line:before{content:""}.ri-moon-line:before{content:""}.ri-more-2-fill:before{content:""}.ri-more-2-line:before{content:""}.ri-more-fill:before{content:""}.ri-more-line:before{content:""}.ri-motorbike-fill:before{content:""}.ri-motorbike-line:before{content:""}.ri-mouse-fill:before{content:""}.ri-mouse-line:before{content:""}.ri-movie-2-fill:before{content:""}.ri-movie-2-line:before{content:""}.ri-movie-fill:before{content:""}.ri-movie-line:before{content:""}.ri-music-2-fill:before{content:""}.ri-music-2-line:before{content:""}.ri-music-fill:before{content:""}.ri-music-line:before{content:""}.ri-mv-fill:before{content:""}.ri-mv-line:before{content:""}.ri-navigation-fill:before{content:""}.ri-navigation-line:before{content:""}.ri-netease-cloud-music-fill:before{content:""}.ri-netease-cloud-music-line:before{content:""}.ri-netflix-fill:before{content:""}.ri-netflix-line:before{content:""}.ri-newspaper-fill:before{content:""}.ri-newspaper-line:before{content:""}.ri-node-tree:before{content:""}.ri-notification-2-fill:before{content:""}.ri-notification-2-line:before{content:""}.ri-notification-3-fill:before{content:""}.ri-notification-3-line:before{content:""}.ri-notification-4-fill:before{content:""}.ri-notification-4-line:before{content:""}.ri-notification-badge-fill:before{content:""}.ri-notification-badge-line:before{content:""}.ri-notification-fill:before{content:""}.ri-notification-line:before{content:""}.ri-notification-off-fill:before{content:""}.ri-notification-off-line:before{content:""}.ri-npmjs-fill:before{content:""}.ri-npmjs-line:before{content:""}.ri-number-0:before{content:""}.ri-number-1:before{content:""}.ri-number-2:before{content:""}.ri-number-3:before{content:""}.ri-number-4:before{content:""}.ri-number-5:before{content:""}.ri-number-6:before{content:""}.ri-number-7:before{content:""}.ri-number-8:before{content:""}.ri-number-9:before{content:""}.ri-numbers-fill:before{content:""}.ri-numbers-line:before{content:""}.ri-nurse-fill:before{content:""}.ri-nurse-line:before{content:""}.ri-oil-fill:before{content:""}.ri-oil-line:before{content:""}.ri-omega:before{content:""}.ri-open-arm-fill:before{content:""}.ri-open-arm-line:before{content:""}.ri-open-source-fill:before{content:""}.ri-open-source-line:before{content:""}.ri-opera-fill:before{content:""}.ri-opera-line:before{content:""}.ri-order-play-fill:before{content:""}.ri-order-play-line:before{content:""}.ri-organization-chart:before{content:""}.ri-outlet-2-fill:before{content:""}.ri-outlet-2-line:before{content:""}.ri-outlet-fill:before{content:""}.ri-outlet-line:before{content:""}.ri-page-separator:before{content:""}.ri-pages-fill:before{content:""}.ri-pages-line:before{content:""}.ri-paint-brush-fill:before{content:""}.ri-paint-brush-line:before{content:""}.ri-paint-fill:before{content:""}.ri-paint-line:before{content:""}.ri-palette-fill:before{content:""}.ri-palette-line:before{content:""}.ri-pantone-fill:before{content:""}.ri-pantone-line:before{content:""}.ri-paragraph:before{content:""}.ri-parent-fill:before{content:""}.ri-parent-line:before{content:""}.ri-parentheses-fill:before{content:""}.ri-parentheses-line:before{content:""}.ri-parking-box-fill:before{content:""}.ri-parking-box-line:before{content:""}.ri-parking-fill:before{content:""}.ri-parking-line:before{content:""}.ri-passport-fill:before{content:""}.ri-passport-line:before{content:""}.ri-patreon-fill:before{content:""}.ri-patreon-line:before{content:""}.ri-pause-circle-fill:before{content:""}.ri-pause-circle-line:before{content:""}.ri-pause-fill:before{content:""}.ri-pause-line:before{content:""}.ri-pause-mini-fill:before{content:""}.ri-pause-mini-line:before{content:""}.ri-paypal-fill:before{content:""}.ri-paypal-line:before{content:""}.ri-pen-nib-fill:before{content:""}.ri-pen-nib-line:before{content:""}.ri-pencil-fill:before{content:""}.ri-pencil-line:before{content:""}.ri-pencil-ruler-2-fill:before{content:""}.ri-pencil-ruler-2-line:before{content:""}.ri-pencil-ruler-fill:before{content:""}.ri-pencil-ruler-line:before{content:""}.ri-percent-fill:before{content:""}.ri-percent-line:before{content:""}.ri-phone-camera-fill:before{content:""}.ri-phone-camera-line:before{content:""}.ri-phone-fill:before{content:""}.ri-phone-find-fill:before{content:""}.ri-phone-find-line:before{content:""}.ri-phone-line:before{content:""}.ri-phone-lock-fill:before{content:""}.ri-phone-lock-line:before{content:""}.ri-picture-in-picture-2-fill:before{content:""}.ri-picture-in-picture-2-line:before{content:""}.ri-picture-in-picture-exit-fill:before{content:""}.ri-picture-in-picture-exit-line:before{content:""}.ri-picture-in-picture-fill:before{content:""}.ri-picture-in-picture-line:before{content:""}.ri-pie-chart-2-fill:before{content:""}.ri-pie-chart-2-line:before{content:""}.ri-pie-chart-box-fill:before{content:""}.ri-pie-chart-box-line:before{content:""}.ri-pie-chart-fill:before{content:""}.ri-pie-chart-line:before{content:""}.ri-pin-distance-fill:before{content:""}.ri-pin-distance-line:before{content:""}.ri-ping-pong-fill:before{content:""}.ri-ping-pong-line:before{content:""}.ri-pinterest-fill:before{content:""}.ri-pinterest-line:before{content:""}.ri-pinyin-input:before{content:""}.ri-pixelfed-fill:before{content:""}.ri-pixelfed-line:before{content:""}.ri-plane-fill:before{content:""}.ri-plane-line:before{content:""}.ri-plant-fill:before{content:""}.ri-plant-line:before{content:""}.ri-play-circle-fill:before{content:""}.ri-play-circle-line:before{content:""}.ri-play-fill:before{content:""}.ri-play-line:before{content:""}.ri-play-list-2-fill:before{content:""}.ri-play-list-2-line:before{content:""}.ri-play-list-add-fill:before{content:""}.ri-play-list-add-line:before{content:""}.ri-play-list-fill:before{content:""}.ri-play-list-line:before{content:""}.ri-play-mini-fill:before{content:""}.ri-play-mini-line:before{content:""}.ri-playstation-fill:before{content:""}.ri-playstation-line:before{content:""}.ri-plug-2-fill:before{content:""}.ri-plug-2-line:before{content:""}.ri-plug-fill:before{content:""}.ri-plug-line:before{content:""}.ri-polaroid-2-fill:before{content:""}.ri-polaroid-2-line:before{content:""}.ri-polaroid-fill:before{content:""}.ri-polaroid-line:before{content:""}.ri-police-car-fill:before{content:""}.ri-police-car-line:before{content:""}.ri-price-tag-2-fill:before{content:""}.ri-price-tag-2-line:before{content:""}.ri-price-tag-3-fill:before{content:""}.ri-price-tag-3-line:before{content:""}.ri-price-tag-fill:before{content:""}.ri-price-tag-line:before{content:""}.ri-printer-cloud-fill:before{content:""}.ri-printer-cloud-line:before{content:""}.ri-printer-fill:before{content:""}.ri-printer-line:before{content:""}.ri-product-hunt-fill:before{content:""}.ri-product-hunt-line:before{content:""}.ri-profile-fill:before{content:""}.ri-profile-line:before{content:""}.ri-projector-2-fill:before{content:""}.ri-projector-2-line:before{content:""}.ri-projector-fill:before{content:""}.ri-projector-line:before{content:""}.ri-psychotherapy-fill:before{content:""}.ri-psychotherapy-line:before{content:""}.ri-pulse-fill:before{content:""}.ri-pulse-line:before{content:""}.ri-pushpin-2-fill:before{content:""}.ri-pushpin-2-line:before{content:""}.ri-pushpin-fill:before{content:""}.ri-pushpin-line:before{content:""}.ri-qq-fill:before{content:""}.ri-qq-line:before{content:""}.ri-qr-code-fill:before{content:""}.ri-qr-code-line:before{content:""}.ri-qr-scan-2-fill:before{content:""}.ri-qr-scan-2-line:before{content:""}.ri-qr-scan-fill:before{content:""}.ri-qr-scan-line:before{content:""}.ri-question-answer-fill:before{content:""}.ri-question-answer-line:before{content:""}.ri-question-fill:before{content:""}.ri-question-line:before{content:""}.ri-question-mark:before{content:""}.ri-questionnaire-fill:before{content:""}.ri-questionnaire-line:before{content:""}.ri-quill-pen-fill:before{content:""}.ri-quill-pen-line:before{content:""}.ri-radar-fill:before{content:""}.ri-radar-line:before{content:""}.ri-radio-2-fill:before{content:""}.ri-radio-2-line:before{content:""}.ri-radio-button-fill:before{content:""}.ri-radio-button-line:before{content:""}.ri-radio-fill:before{content:""}.ri-radio-line:before{content:""}.ri-rainbow-fill:before{content:""}.ri-rainbow-line:before{content:""}.ri-rainy-fill:before{content:""}.ri-rainy-line:before{content:""}.ri-reactjs-fill:before{content:""}.ri-reactjs-line:before{content:""}.ri-record-circle-fill:before{content:""}.ri-record-circle-line:before{content:""}.ri-record-mail-fill:before{content:""}.ri-record-mail-line:before{content:""}.ri-recycle-fill:before{content:""}.ri-recycle-line:before{content:""}.ri-red-packet-fill:before{content:""}.ri-red-packet-line:before{content:""}.ri-reddit-fill:before{content:""}.ri-reddit-line:before{content:""}.ri-refresh-fill:before{content:""}.ri-refresh-line:before{content:""}.ri-refund-2-fill:before{content:""}.ri-refund-2-line:before{content:""}.ri-refund-fill:before{content:""}.ri-refund-line:before{content:""}.ri-registered-fill:before{content:""}.ri-registered-line:before{content:""}.ri-remixicon-fill:before{content:""}.ri-remixicon-line:before{content:""}.ri-remote-control-2-fill:before{content:""}.ri-remote-control-2-line:before{content:""}.ri-remote-control-fill:before{content:""}.ri-remote-control-line:before{content:""}.ri-repeat-2-fill:before{content:""}.ri-repeat-2-line:before{content:""}.ri-repeat-fill:before{content:""}.ri-repeat-line:before{content:""}.ri-repeat-one-fill:before{content:""}.ri-repeat-one-line:before{content:""}.ri-reply-all-fill:before{content:""}.ri-reply-all-line:before{content:""}.ri-reply-fill:before{content:""}.ri-reply-line:before{content:""}.ri-reserved-fill:before{content:""}.ri-reserved-line:before{content:""}.ri-rest-time-fill:before{content:""}.ri-rest-time-line:before{content:""}.ri-restart-fill:before{content:""}.ri-restart-line:before{content:""}.ri-restaurant-2-fill:before{content:""}.ri-restaurant-2-line:before{content:""}.ri-restaurant-fill:before{content:""}.ri-restaurant-line:before{content:""}.ri-rewind-fill:before{content:""}.ri-rewind-line:before{content:""}.ri-rewind-mini-fill:before{content:""}.ri-rewind-mini-line:before{content:""}.ri-rhythm-fill:before{content:""}.ri-rhythm-line:before{content:""}.ri-riding-fill:before{content:""}.ri-riding-line:before{content:""}.ri-road-map-fill:before{content:""}.ri-road-map-line:before{content:""}.ri-roadster-fill:before{content:""}.ri-roadster-line:before{content:""}.ri-robot-fill:before{content:""}.ri-robot-line:before{content:""}.ri-rocket-2-fill:before{content:""}.ri-rocket-2-line:before{content:""}.ri-rocket-fill:before{content:""}.ri-rocket-line:before{content:""}.ri-rotate-lock-fill:before{content:""}.ri-rotate-lock-line:before{content:""}.ri-rounded-corner:before{content:""}.ri-route-fill:before{content:""}.ri-route-line:before{content:""}.ri-router-fill:before{content:""}.ri-router-line:before{content:""}.ri-rss-fill:before{content:""}.ri-rss-line:before{content:""}.ri-ruler-2-fill:before{content:""}.ri-ruler-2-line:before{content:""}.ri-ruler-fill:before{content:""}.ri-ruler-line:before{content:""}.ri-run-fill:before{content:""}.ri-run-line:before{content:""}.ri-safari-fill:before{content:""}.ri-safari-line:before{content:""}.ri-safe-2-fill:before{content:""}.ri-safe-2-line:before{content:""}.ri-safe-fill:before{content:""}.ri-safe-line:before{content:""}.ri-sailboat-fill:before{content:""}.ri-sailboat-line:before{content:""}.ri-save-2-fill:before{content:""}.ri-save-2-line:before{content:""}.ri-save-3-fill:before{content:""}.ri-save-3-line:before{content:""}.ri-save-fill:before{content:""}.ri-save-line:before{content:""}.ri-scales-2-fill:before{content:""}.ri-scales-2-line:before{content:""}.ri-scales-3-fill:before{content:""}.ri-scales-3-line:before{content:""}.ri-scales-fill:before{content:""}.ri-scales-line:before{content:""}.ri-scan-2-fill:before{content:""}.ri-scan-2-line:before{content:""}.ri-scan-fill:before{content:""}.ri-scan-line:before{content:""}.ri-scissors-2-fill:before{content:""}.ri-scissors-2-line:before{content:""}.ri-scissors-cut-fill:before{content:""}.ri-scissors-cut-line:before{content:""}.ri-scissors-fill:before{content:""}.ri-scissors-line:before{content:""}.ri-screenshot-2-fill:before{content:""}.ri-screenshot-2-line:before{content:""}.ri-screenshot-fill:before{content:""}.ri-screenshot-line:before{content:""}.ri-sd-card-fill:before{content:""}.ri-sd-card-line:before{content:""}.ri-sd-card-mini-fill:before{content:""}.ri-sd-card-mini-line:before{content:""}.ri-search-2-fill:before{content:""}.ri-search-2-line:before{content:""}.ri-search-eye-fill:before{content:""}.ri-search-eye-line:before{content:""}.ri-search-fill:before{content:""}.ri-search-line:before{content:""}.ri-secure-payment-fill:before{content:""}.ri-secure-payment-line:before{content:""}.ri-seedling-fill:before{content:""}.ri-seedling-line:before{content:""}.ri-send-backward:before{content:""}.ri-send-plane-2-fill:before{content:""}.ri-send-plane-2-line:before{content:""}.ri-send-plane-fill:before{content:""}.ri-send-plane-line:before{content:""}.ri-send-to-back:before{content:""}.ri-sensor-fill:before{content:""}.ri-sensor-line:before{content:""}.ri-separator:before{content:""}.ri-server-fill:before{content:""}.ri-server-line:before{content:""}.ri-service-fill:before{content:""}.ri-service-line:before{content:""}.ri-settings-2-fill:before{content:""}.ri-settings-2-line:before{content:""}.ri-settings-3-fill:before{content:""}.ri-settings-3-line:before{content:""}.ri-settings-4-fill:before{content:""}.ri-settings-4-line:before{content:""}.ri-settings-5-fill:before{content:""}.ri-settings-5-line:before{content:""}.ri-settings-6-fill:before{content:""}.ri-settings-6-line:before{content:""}.ri-settings-fill:before{content:""}.ri-settings-line:before{content:""}.ri-shape-2-fill:before{content:""}.ri-shape-2-line:before{content:""}.ri-shape-fill:before{content:""}.ri-shape-line:before{content:""}.ri-share-box-fill:before{content:""}.ri-share-box-line:before{content:""}.ri-share-circle-fill:before{content:""}.ri-share-circle-line:before{content:""}.ri-share-fill:before{content:""}.ri-share-forward-2-fill:before{content:""}.ri-share-forward-2-line:before{content:""}.ri-share-forward-box-fill:before{content:""}.ri-share-forward-box-line:before{content:""}.ri-share-forward-fill:before{content:""}.ri-share-forward-line:before{content:""}.ri-share-line:before{content:""}.ri-shield-check-fill:before{content:""}.ri-shield-check-line:before{content:""}.ri-shield-cross-fill:before{content:""}.ri-shield-cross-line:before{content:""}.ri-shield-fill:before{content:""}.ri-shield-flash-fill:before{content:""}.ri-shield-flash-line:before{content:""}.ri-shield-keyhole-fill:before{content:""}.ri-shield-keyhole-line:before{content:""}.ri-shield-line:before{content:""}.ri-shield-star-fill:before{content:""}.ri-shield-star-line:before{content:""}.ri-shield-user-fill:before{content:""}.ri-shield-user-line:before{content:""}.ri-ship-2-fill:before{content:""}.ri-ship-2-line:before{content:""}.ri-ship-fill:before{content:""}.ri-ship-line:before{content:""}.ri-shirt-fill:before{content:""}.ri-shirt-line:before{content:""}.ri-shopping-bag-2-fill:before{content:""}.ri-shopping-bag-2-line:before{content:""}.ri-shopping-bag-3-fill:before{content:""}.ri-shopping-bag-3-line:before{content:""}.ri-shopping-bag-fill:before{content:""}.ri-shopping-bag-line:before{content:""}.ri-shopping-basket-2-fill:before{content:""}.ri-shopping-basket-2-line:before{content:""}.ri-shopping-basket-fill:before{content:""}.ri-shopping-basket-line:before{content:""}.ri-shopping-cart-2-fill:before{content:""}.ri-shopping-cart-2-line:before{content:""}.ri-shopping-cart-fill:before{content:""}.ri-shopping-cart-line:before{content:""}.ri-showers-fill:before{content:""}.ri-showers-line:before{content:""}.ri-shuffle-fill:before{content:""}.ri-shuffle-line:before{content:""}.ri-shut-down-fill:before{content:""}.ri-shut-down-line:before{content:""}.ri-side-bar-fill:before{content:""}.ri-side-bar-line:before{content:""}.ri-signal-tower-fill:before{content:""}.ri-signal-tower-line:before{content:""}.ri-signal-wifi-1-fill:before{content:""}.ri-signal-wifi-1-line:before{content:""}.ri-signal-wifi-2-fill:before{content:""}.ri-signal-wifi-2-line:before{content:""}.ri-signal-wifi-3-fill:before{content:""}.ri-signal-wifi-3-line:before{content:""}.ri-signal-wifi-error-fill:before{content:""}.ri-signal-wifi-error-line:before{content:""}.ri-signal-wifi-fill:before{content:""}.ri-signal-wifi-line:before{content:""}.ri-signal-wifi-off-fill:before{content:""}.ri-signal-wifi-off-line:before{content:""}.ri-sim-card-2-fill:before{content:""}.ri-sim-card-2-line:before{content:""}.ri-sim-card-fill:before{content:""}.ri-sim-card-line:before{content:""}.ri-single-quotes-l:before{content:""}.ri-single-quotes-r:before{content:""}.ri-sip-fill:before{content:""}.ri-sip-line:before{content:""}.ri-skip-back-fill:before{content:""}.ri-skip-back-line:before{content:""}.ri-skip-back-mini-fill:before{content:""}.ri-skip-back-mini-line:before{content:""}.ri-skip-forward-fill:before{content:""}.ri-skip-forward-line:before{content:""}.ri-skip-forward-mini-fill:before{content:""}.ri-skip-forward-mini-line:before{content:""}.ri-skull-2-fill:before{content:""}.ri-skull-2-line:before{content:""}.ri-skull-fill:before{content:""}.ri-skull-line:before{content:""}.ri-skype-fill:before{content:""}.ri-skype-line:before{content:""}.ri-slack-fill:before{content:""}.ri-slack-line:before{content:""}.ri-slice-fill:before{content:""}.ri-slice-line:before{content:""}.ri-slideshow-2-fill:before{content:""}.ri-slideshow-2-line:before{content:""}.ri-slideshow-3-fill:before{content:""}.ri-slideshow-3-line:before{content:""}.ri-slideshow-4-fill:before{content:""}.ri-slideshow-4-line:before{content:""}.ri-slideshow-fill:before{content:""}.ri-slideshow-line:before{content:""}.ri-smartphone-fill:before{content:""}.ri-smartphone-line:before{content:""}.ri-snapchat-fill:before{content:""}.ri-snapchat-line:before{content:""}.ri-snowy-fill:before{content:""}.ri-snowy-line:before{content:""}.ri-sort-asc:before{content:""}.ri-sort-desc:before{content:""}.ri-sound-module-fill:before{content:""}.ri-sound-module-line:before{content:""}.ri-soundcloud-fill:before{content:""}.ri-soundcloud-line:before{content:""}.ri-space-ship-fill:before{content:""}.ri-space-ship-line:before{content:""}.ri-space:before{content:""}.ri-spam-2-fill:before{content:""}.ri-spam-2-line:before{content:""}.ri-spam-3-fill:before{content:""}.ri-spam-3-line:before{content:""}.ri-spam-fill:before{content:""}.ri-spam-line:before{content:""}.ri-speaker-2-fill:before{content:""}.ri-speaker-2-line:before{content:""}.ri-speaker-3-fill:before{content:""}.ri-speaker-3-line:before{content:""}.ri-speaker-fill:before{content:""}.ri-speaker-line:before{content:""}.ri-spectrum-fill:before{content:""}.ri-spectrum-line:before{content:""}.ri-speed-fill:before{content:""}.ri-speed-line:before{content:""}.ri-speed-mini-fill:before{content:""}.ri-speed-mini-line:before{content:""}.ri-split-cells-horizontal:before{content:""}.ri-split-cells-vertical:before{content:""}.ri-spotify-fill:before{content:""}.ri-spotify-line:before{content:""}.ri-spy-fill:before{content:""}.ri-spy-line:before{content:""}.ri-stack-fill:before{content:""}.ri-stack-line:before{content:""}.ri-stack-overflow-fill:before{content:""}.ri-stack-overflow-line:before{content:""}.ri-stackshare-fill:before{content:""}.ri-stackshare-line:before{content:""}.ri-star-fill:before{content:""}.ri-star-half-fill:before{content:""}.ri-star-half-line:before{content:""}.ri-star-half-s-fill:before{content:""}.ri-star-half-s-line:before{content:""}.ri-star-line:before{content:""}.ri-star-s-fill:before{content:""}.ri-star-s-line:before{content:""}.ri-star-smile-fill:before{content:""}.ri-star-smile-line:before{content:""}.ri-steam-fill:before{content:""}.ri-steam-line:before{content:""}.ri-steering-2-fill:before{content:""}.ri-steering-2-line:before{content:""}.ri-steering-fill:before{content:""}.ri-steering-line:before{content:""}.ri-stethoscope-fill:before{content:""}.ri-stethoscope-line:before{content:""}.ri-sticky-note-2-fill:before{content:""}.ri-sticky-note-2-line:before{content:""}.ri-sticky-note-fill:before{content:""}.ri-sticky-note-line:before{content:""}.ri-stock-fill:before{content:""}.ri-stock-line:before{content:""}.ri-stop-circle-fill:before{content:""}.ri-stop-circle-line:before{content:""}.ri-stop-fill:before{content:""}.ri-stop-line:before{content:""}.ri-stop-mini-fill:before{content:""}.ri-stop-mini-line:before{content:""}.ri-store-2-fill:before{content:""}.ri-store-2-line:before{content:""}.ri-store-3-fill:before{content:""}.ri-store-3-line:before{content:""}.ri-store-fill:before{content:""}.ri-store-line:before{content:""}.ri-strikethrough-2:before{content:""}.ri-strikethrough:before{content:""}.ri-subscript-2:before{content:""}.ri-subscript:before{content:""}.ri-subtract-fill:before{content:""}.ri-subtract-line:before{content:""}.ri-subway-fill:before{content:""}.ri-subway-line:before{content:""}.ri-subway-wifi-fill:before{content:""}.ri-subway-wifi-line:before{content:""}.ri-suitcase-2-fill:before{content:""}.ri-suitcase-2-line:before{content:""}.ri-suitcase-3-fill:before{content:""}.ri-suitcase-3-line:before{content:""}.ri-suitcase-fill:before{content:""}.ri-suitcase-line:before{content:""}.ri-sun-cloudy-fill:before{content:""}.ri-sun-cloudy-line:before{content:""}.ri-sun-fill:before{content:""}.ri-sun-foggy-fill:before{content:""}.ri-sun-foggy-line:before{content:""}.ri-sun-line:before{content:""}.ri-superscript-2:before{content:""}.ri-superscript:before{content:""}.ri-surgical-mask-fill:before{content:""}.ri-surgical-mask-line:before{content:""}.ri-surround-sound-fill:before{content:""}.ri-surround-sound-line:before{content:""}.ri-survey-fill:before{content:""}.ri-survey-line:before{content:""}.ri-swap-box-fill:before{content:""}.ri-swap-box-line:before{content:""}.ri-swap-fill:before{content:""}.ri-swap-line:before{content:""}.ri-switch-fill:before{content:""}.ri-switch-line:before{content:""}.ri-sword-fill:before{content:""}.ri-sword-line:before{content:""}.ri-syringe-fill:before{content:""}.ri-syringe-line:before{content:""}.ri-t-box-fill:before{content:""}.ri-t-box-line:before{content:""}.ri-t-shirt-2-fill:before{content:""}.ri-t-shirt-2-line:before{content:""}.ri-t-shirt-air-fill:before{content:""}.ri-t-shirt-air-line:before{content:""}.ri-t-shirt-fill:before{content:""}.ri-t-shirt-line:before{content:""}.ri-table-2:before{content:""}.ri-table-alt-fill:before{content:""}.ri-table-alt-line:before{content:""}.ri-table-fill:before{content:""}.ri-table-line:before{content:""}.ri-tablet-fill:before{content:""}.ri-tablet-line:before{content:""}.ri-takeaway-fill:before{content:""}.ri-takeaway-line:before{content:""}.ri-taobao-fill:before{content:""}.ri-taobao-line:before{content:""}.ri-tape-fill:before{content:""}.ri-tape-line:before{content:""}.ri-task-fill:before{content:""}.ri-task-line:before{content:""}.ri-taxi-fill:before{content:""}.ri-taxi-line:before{content:""}.ri-taxi-wifi-fill:before{content:""}.ri-taxi-wifi-line:before{content:""}.ri-team-fill:before{content:""}.ri-team-line:before{content:""}.ri-telegram-fill:before{content:""}.ri-telegram-line:before{content:""}.ri-temp-cold-fill:before{content:""}.ri-temp-cold-line:before{content:""}.ri-temp-hot-fill:before{content:""}.ri-temp-hot-line:before{content:""}.ri-terminal-box-fill:before{content:""}.ri-terminal-box-line:before{content:""}.ri-terminal-fill:before{content:""}.ri-terminal-line:before{content:""}.ri-terminal-window-fill:before{content:""}.ri-terminal-window-line:before{content:""}.ri-test-tube-fill:before{content:""}.ri-test-tube-line:before{content:""}.ri-text-direction-l:before{content:""}.ri-text-direction-r:before{content:""}.ri-text-spacing:before{content:""}.ri-text-wrap:before{content:""}.ri-text:before{content:""}.ri-thermometer-fill:before{content:""}.ri-thermometer-line:before{content:""}.ri-thumb-down-fill:before{content:""}.ri-thumb-down-line:before{content:""}.ri-thumb-up-fill:before{content:""}.ri-thumb-up-line:before{content:""}.ri-thunderstorms-fill:before{content:""}.ri-thunderstorms-line:before{content:""}.ri-ticket-2-fill:before{content:""}.ri-ticket-2-line:before{content:""}.ri-ticket-fill:before{content:""}.ri-ticket-line:before{content:""}.ri-time-fill:before{content:""}.ri-time-line:before{content:""}.ri-timer-2-fill:before{content:""}.ri-timer-2-line:before{content:""}.ri-timer-fill:before{content:""}.ri-timer-flash-fill:before{content:""}.ri-timer-flash-line:before{content:""}.ri-timer-line:before{content:""}.ri-todo-fill:before{content:""}.ri-todo-line:before{content:""}.ri-toggle-fill:before{content:""}.ri-toggle-line:before{content:""}.ri-tools-fill:before{content:""}.ri-tools-line:before{content:""}.ri-tornado-fill:before{content:""}.ri-tornado-line:before{content:""}.ri-trademark-fill:before{content:""}.ri-trademark-line:before{content:""}.ri-traffic-light-fill:before{content:""}.ri-traffic-light-line:before{content:""}.ri-train-fill:before{content:""}.ri-train-line:before{content:""}.ri-train-wifi-fill:before{content:""}.ri-train-wifi-line:before{content:""}.ri-translate-2:before{content:""}.ri-translate:before{content:""}.ri-travesti-fill:before{content:""}.ri-travesti-line:before{content:""}.ri-treasure-map-fill:before{content:""}.ri-treasure-map-line:before{content:""}.ri-trello-fill:before{content:""}.ri-trello-line:before{content:""}.ri-trophy-fill:before{content:""}.ri-trophy-line:before{content:""}.ri-truck-fill:before{content:""}.ri-truck-line:before{content:""}.ri-tumblr-fill:before{content:""}.ri-tumblr-line:before{content:""}.ri-tv-2-fill:before{content:""}.ri-tv-2-line:before{content:""}.ri-tv-fill:before{content:""}.ri-tv-line:before{content:""}.ri-twitch-fill:before{content:""}.ri-twitch-line:before{content:""}.ri-twitter-fill:before{content:""}.ri-twitter-line:before{content:""}.ri-typhoon-fill:before{content:""}.ri-typhoon-line:before{content:""}.ri-u-disk-fill:before{content:""}.ri-u-disk-line:before{content:""}.ri-ubuntu-fill:before{content:""}.ri-ubuntu-line:before{content:""}.ri-umbrella-fill:before{content:""}.ri-umbrella-line:before{content:""}.ri-underline:before{content:""}.ri-uninstall-fill:before{content:""}.ri-uninstall-line:before{content:""}.ri-unsplash-fill:before{content:""}.ri-unsplash-line:before{content:""}.ri-upload-2-fill:before{content:""}.ri-upload-2-line:before{content:""}.ri-upload-cloud-2-fill:before{content:""}.ri-upload-cloud-2-line:before{content:""}.ri-upload-cloud-fill:before{content:""}.ri-upload-cloud-line:before{content:""}.ri-upload-fill:before{content:""}.ri-upload-line:before{content:""}.ri-usb-fill:before{content:""}.ri-usb-line:before{content:""}.ri-user-2-fill:before{content:""}.ri-user-2-line:before{content:""}.ri-user-3-fill:before{content:""}.ri-user-3-line:before{content:""}.ri-user-4-fill:before{content:""}.ri-user-4-line:before{content:""}.ri-user-5-fill:before{content:""}.ri-user-5-line:before{content:""}.ri-user-6-fill:before{content:""}.ri-user-6-line:before{content:""}.ri-user-add-fill:before{content:""}.ri-user-add-line:before{content:""}.ri-user-fill:before{content:""}.ri-user-follow-fill:before{content:""}.ri-user-follow-line:before{content:""}.ri-user-heart-fill:before{content:""}.ri-user-heart-line:before{content:""}.ri-user-line:before{content:""}.ri-user-location-fill:before{content:""}.ri-user-location-line:before{content:""}.ri-user-received-2-fill:before{content:""}.ri-user-received-2-line:before{content:""}.ri-user-received-fill:before{content:""}.ri-user-received-line:before{content:""}.ri-user-search-fill:before{content:""}.ri-user-search-line:before{content:""}.ri-user-settings-fill:before{content:""}.ri-user-settings-line:before{content:""}.ri-user-shared-2-fill:before{content:""}.ri-user-shared-2-line:before{content:""}.ri-user-shared-fill:before{content:""}.ri-user-shared-line:before{content:""}.ri-user-smile-fill:before{content:""}.ri-user-smile-line:before{content:""}.ri-user-star-fill:before{content:""}.ri-user-star-line:before{content:""}.ri-user-unfollow-fill:before{content:""}.ri-user-unfollow-line:before{content:""}.ri-user-voice-fill:before{content:""}.ri-user-voice-line:before{content:""}.ri-video-add-fill:before{content:""}.ri-video-add-line:before{content:""}.ri-video-chat-fill:before{content:""}.ri-video-chat-line:before{content:""}.ri-video-download-fill:before{content:""}.ri-video-download-line:before{content:""}.ri-video-fill:before{content:""}.ri-video-line:before{content:""}.ri-video-upload-fill:before{content:""}.ri-video-upload-line:before{content:""}.ri-vidicon-2-fill:before{content:""}.ri-vidicon-2-line:before{content:""}.ri-vidicon-fill:before{content:""}.ri-vidicon-line:before{content:""}.ri-vimeo-fill:before{content:""}.ri-vimeo-line:before{content:""}.ri-vip-crown-2-fill:before{content:""}.ri-vip-crown-2-line:before{content:""}.ri-vip-crown-fill:before{content:""}.ri-vip-crown-line:before{content:""}.ri-vip-diamond-fill:before{content:""}.ri-vip-diamond-line:before{content:""}.ri-vip-fill:before{content:""}.ri-vip-line:before{content:""}.ri-virus-fill:before{content:""}.ri-virus-line:before{content:""}.ri-visa-fill:before{content:""}.ri-visa-line:before{content:""}.ri-voice-recognition-fill:before{content:""}.ri-voice-recognition-line:before{content:""}.ri-voiceprint-fill:before{content:""}.ri-voiceprint-line:before{content:""}.ri-volume-down-fill:before{content:""}.ri-volume-down-line:before{content:""}.ri-volume-mute-fill:before{content:""}.ri-volume-mute-line:before{content:""}.ri-volume-off-vibrate-fill:before{content:""}.ri-volume-off-vibrate-line:before{content:""}.ri-volume-up-fill:before{content:""}.ri-volume-up-line:before{content:""}.ri-volume-vibrate-fill:before{content:""}.ri-volume-vibrate-line:before{content:""}.ri-vuejs-fill:before{content:""}.ri-vuejs-line:before{content:""}.ri-walk-fill:before{content:""}.ri-walk-line:before{content:""}.ri-wallet-2-fill:before{content:""}.ri-wallet-2-line:before{content:""}.ri-wallet-3-fill:before{content:""}.ri-wallet-3-line:before{content:""}.ri-wallet-fill:before{content:""}.ri-wallet-line:before{content:""}.ri-water-flash-fill:before{content:""}.ri-water-flash-line:before{content:""}.ri-webcam-fill:before{content:""}.ri-webcam-line:before{content:""}.ri-wechat-2-fill:before{content:""}.ri-wechat-2-line:before{content:""}.ri-wechat-fill:before{content:""}.ri-wechat-line:before{content:""}.ri-wechat-pay-fill:before{content:""}.ri-wechat-pay-line:before{content:""}.ri-weibo-fill:before{content:""}.ri-weibo-line:before{content:""}.ri-whatsapp-fill:before{content:""}.ri-whatsapp-line:before{content:""}.ri-wheelchair-fill:before{content:""}.ri-wheelchair-line:before{content:""}.ri-wifi-fill:before{content:""}.ri-wifi-line:before{content:""}.ri-wifi-off-fill:before{content:""}.ri-wifi-off-line:before{content:""}.ri-window-2-fill:before{content:""}.ri-window-2-line:before{content:""}.ri-window-fill:before{content:""}.ri-window-line:before{content:""}.ri-windows-fill:before{content:""}.ri-windows-line:before{content:""}.ri-windy-fill:before{content:""}.ri-windy-line:before{content:""}.ri-wireless-charging-fill:before{content:""}.ri-wireless-charging-line:before{content:""}.ri-women-fill:before{content:""}.ri-women-line:before{content:""}.ri-wubi-input:before{content:""}.ri-xbox-fill:before{content:""}.ri-xbox-line:before{content:""}.ri-xing-fill:before{content:""}.ri-xing-line:before{content:""}.ri-youtube-fill:before{content:""}.ri-youtube-line:before{content:""}.ri-zcool-fill:before{content:""}.ri-zcool-line:before{content:""}.ri-zhihu-fill:before{content:""}.ri-zhihu-line:before{content:""}.ri-zoom-in-fill:before{content:""}.ri-zoom-in-line:before{content:""}.ri-zoom-out-fill:before{content:""}.ri-zoom-out-line:before{content:""}.ri-zzz-fill:before{content:""}.ri-zzz-line:before{content:""}.ri-arrow-down-double-fill:before{content:""}.ri-arrow-down-double-line:before{content:""}.ri-arrow-left-double-fill:before{content:""}.ri-arrow-left-double-line:before{content:""}.ri-arrow-right-double-fill:before{content:""}.ri-arrow-right-double-line:before{content:""}.ri-arrow-turn-back-fill:before{content:""}.ri-arrow-turn-back-line:before{content:""}.ri-arrow-turn-forward-fill:before{content:""}.ri-arrow-turn-forward-line:before{content:""}.ri-arrow-up-double-fill:before{content:""}.ri-arrow-up-double-line:before{content:""}.ri-bard-fill:before{content:""}.ri-bard-line:before{content:""}.ri-bootstrap-fill:before{content:""}.ri-bootstrap-line:before{content:""}.ri-box-1-fill:before{content:""}.ri-box-1-line:before{content:""}.ri-box-2-fill:before{content:""}.ri-box-2-line:before{content:""}.ri-box-3-fill:before{content:""}.ri-box-3-line:before{content:""}.ri-brain-fill:before{content:""}.ri-brain-line:before{content:""}.ri-candle-fill:before{content:""}.ri-candle-line:before{content:""}.ri-cash-fill:before{content:""}.ri-cash-line:before{content:""}.ri-contract-left-fill:before{content:""}.ri-contract-left-line:before{content:""}.ri-contract-left-right-fill:before{content:""}.ri-contract-left-right-line:before{content:""}.ri-contract-right-fill:before{content:""}.ri-contract-right-line:before{content:""}.ri-contract-up-down-fill:before{content:""}.ri-contract-up-down-line:before{content:""}.ri-copilot-fill:before{content:""}.ri-copilot-line:before{content:""}.ri-corner-down-left-fill:before{content:""}.ri-corner-down-left-line:before{content:""}.ri-corner-down-right-fill:before{content:""}.ri-corner-down-right-line:before{content:""}.ri-corner-left-down-fill:before{content:""}.ri-corner-left-down-line:before{content:""}.ri-corner-left-up-fill:before{content:""}.ri-corner-left-up-line:before{content:""}.ri-corner-right-down-fill:before{content:""}.ri-corner-right-down-line:before{content:""}.ri-corner-right-up-fill:before{content:""}.ri-corner-right-up-line:before{content:""}.ri-corner-up-left-double-fill:before{content:""}.ri-corner-up-left-double-line:before{content:""}.ri-corner-up-left-fill:before{content:""}.ri-corner-up-left-line:before{content:""}.ri-corner-up-right-double-fill:before{content:""}.ri-corner-up-right-double-line:before{content:""}.ri-corner-up-right-fill:before{content:""}.ri-corner-up-right-line:before{content:""}.ri-cross-fill:before{content:""}.ri-cross-line:before{content:""}.ri-edge-new-fill:before{content:""}.ri-edge-new-line:before{content:""}.ri-equal-fill:before{content:""}.ri-equal-line:before{content:""}.ri-expand-left-fill:before{content:""}.ri-expand-left-line:before{content:""}.ri-expand-left-right-fill:before{content:""}.ri-expand-left-right-line:before{content:""}.ri-expand-right-fill:before{content:""}.ri-expand-right-line:before{content:""}.ri-expand-up-down-fill:before{content:""}.ri-expand-up-down-line:before{content:""}.ri-flickr-fill:before{content:""}.ri-flickr-line:before{content:""}.ri-forward-10-fill:before{content:""}.ri-forward-10-line:before{content:""}.ri-forward-15-fill:before{content:""}.ri-forward-15-line:before{content:""}.ri-forward-30-fill:before{content:""}.ri-forward-30-line:before{content:""}.ri-forward-5-fill:before{content:""}.ri-forward-5-line:before{content:""}.ri-graduation-cap-fill:before{content:""}.ri-graduation-cap-line:before{content:""}.ri-home-office-fill:before{content:""}.ri-home-office-line:before{content:""}.ri-hourglass-2-fill:before{content:""}.ri-hourglass-2-line:before{content:""}.ri-hourglass-fill:before{content:""}.ri-hourglass-line:before{content:""}.ri-javascript-fill:before{content:""}.ri-javascript-line:before{content:""}.ri-loop-left-fill:before{content:""}.ri-loop-left-line:before{content:""}.ri-loop-right-fill:before{content:""}.ri-loop-right-line:before{content:""}.ri-memories-fill:before{content:""}.ri-memories-line:before{content:""}.ri-meta-fill:before{content:""}.ri-meta-line:before{content:""}.ri-microsoft-loop-fill:before{content:""}.ri-microsoft-loop-line:before{content:""}.ri-nft-fill:before{content:""}.ri-nft-line:before{content:""}.ri-notion-fill:before{content:""}.ri-notion-line:before{content:""}.ri-openai-fill:before{content:""}.ri-openai-line:before{content:""}.ri-overline:before{content:""}.ri-p2p-fill:before{content:""}.ri-p2p-line:before{content:""}.ri-presentation-fill:before{content:""}.ri-presentation-line:before{content:""}.ri-replay-10-fill:before{content:""}.ri-replay-10-line:before{content:""}.ri-replay-15-fill:before{content:""}.ri-replay-15-line:before{content:""}.ri-replay-30-fill:before{content:""}.ri-replay-30-line:before{content:""}.ri-replay-5-fill:before{content:""}.ri-replay-5-line:before{content:""}.ri-school-fill:before{content:""}.ri-school-line:before{content:""}.ri-shining-2-fill:before{content:""}.ri-shining-2-line:before{content:""}.ri-shining-fill:before{content:""}.ri-shining-line:before{content:""}.ri-sketching:before{content:""}.ri-skip-down-fill:before{content:""}.ri-skip-down-line:before{content:""}.ri-skip-left-fill:before{content:""}.ri-skip-left-line:before{content:""}.ri-skip-right-fill:before{content:""}.ri-skip-right-line:before{content:""}.ri-skip-up-fill:before{content:""}.ri-skip-up-line:before{content:""}.ri-slow-down-fill:before{content:""}.ri-slow-down-line:before{content:""}.ri-sparkling-2-fill:before{content:""}.ri-sparkling-2-line:before{content:""}.ri-sparkling-fill:before{content:""}.ri-sparkling-line:before{content:""}.ri-speak-fill:before{content:""}.ri-speak-line:before{content:""}.ri-speed-up-fill:before{content:""}.ri-speed-up-line:before{content:""}.ri-tiktok-fill:before{content:""}.ri-tiktok-line:before{content:""}.ri-token-swap-fill:before{content:""}.ri-token-swap-line:before{content:""}.ri-unpin-fill:before{content:""}.ri-unpin-line:before{content:""}.ri-wechat-channels-fill:before{content:""}.ri-wechat-channels-line:before{content:""}.ri-wordpress-fill:before{content:""}.ri-wordpress-line:before{content:""}.ri-blender-fill:before{content:""}.ri-blender-line:before{content:""}.ri-emoji-sticker-fill:before{content:""}.ri-emoji-sticker-line:before{content:""}.ri-git-close-pull-request-fill:before{content:""}.ri-git-close-pull-request-line:before{content:""}.ri-instance-fill:before{content:""}.ri-instance-line:before{content:""}.ri-megaphone-fill:before{content:""}.ri-megaphone-line:before{content:""}.ri-pass-expired-fill:before{content:""}.ri-pass-expired-line:before{content:""}.ri-pass-pending-fill:before{content:""}.ri-pass-pending-line:before{content:""}.ri-pass-valid-fill:before{content:""}.ri-pass-valid-line:before{content:""}.ri-ai-generate:before{content:""}.ri-calendar-close-fill:before{content:""}.ri-calendar-close-line:before{content:""}.ri-draggable:before{content:""}.ri-font-family:before{content:""}.ri-font-mono:before{content:""}.ri-font-sans-serif:before{content:""}.ri-font-sans:before{content:""}.ri-hard-drive-3-fill:before{content:""}.ri-hard-drive-3-line:before{content:""}.ri-kick-fill:before{content:""}.ri-kick-line:before{content:""}.ri-list-check-3:before{content:""}.ri-list-indefinite:before{content:""}.ri-list-ordered-2:before{content:""}.ri-list-radio:before{content:""}.ri-openbase-fill:before{content:""}.ri-openbase-line:before{content:""}.ri-planet-fill:before{content:""}.ri-planet-line:before{content:""}.ri-prohibited-fill:before{content:""}.ri-prohibited-line:before{content:""}.ri-quote-text:before{content:""}.ri-seo-fill:before{content:""}.ri-seo-line:before{content:""}.ri-slash-commands:before{content:""}.ri-archive-2-fill:before{content:""}.ri-archive-2-line:before{content:""}.ri-inbox-2-fill:before{content:""}.ri-inbox-2-line:before{content:""}.ri-shake-hands-fill:before{content:""}.ri-shake-hands-line:before{content:""}.ri-supabase-fill:before{content:""}.ri-supabase-line:before{content:""}.ri-water-percent-fill:before{content:""}.ri-water-percent-line:before{content:""}.ri-yuque-fill:before{content:""}.ri-yuque-line:before{content:""}.ri-crosshair-2-fill:before{content:""}.ri-crosshair-2-line:before{content:""}.ri-crosshair-fill:before{content:""}.ri-crosshair-line:before{content:""}.ri-file-close-fill:before{content:""}.ri-file-close-line:before{content:""}.ri-infinity-fill:before{content:""}.ri-infinity-line:before{content:""}.ri-rfid-fill:before{content:""}.ri-rfid-line:before{content:""}.ri-slash-commands-2:before{content:""}.ri-user-forbid-fill:before{content:""}.ri-user-forbid-line:before{content:""}.ri-beer-fill:before{content:""}.ri-beer-line:before{content:""}.ri-circle-fill:before{content:""}.ri-circle-line:before{content:""}.ri-dropdown-list:before{content:""}.ri-file-image-fill:before{content:""}.ri-file-image-line:before{content:""}.ri-file-pdf-2-fill:before{content:""}.ri-file-pdf-2-line:before{content:""}.ri-file-video-fill:before{content:""}.ri-file-video-line:before{content:""}.ri-folder-image-fill:before{content:""}.ri-folder-image-line:before{content:""}.ri-folder-video-fill:before{content:""}.ri-folder-video-line:before{content:""}.ri-hexagon-fill:before{content:""}.ri-hexagon-line:before{content:""}.ri-menu-search-fill:before{content:""}.ri-menu-search-line:before{content:""}.ri-octagon-fill:before{content:""}.ri-octagon-line:before{content:""}.ri-pentagon-fill:before{content:""}.ri-pentagon-line:before{content:""}.ri-rectangle-fill:before{content:""}.ri-rectangle-line:before{content:""}.ri-robot-2-fill:before{content:""}.ri-robot-2-line:before{content:""}.ri-shapes-fill:before{content:""}.ri-shapes-line:before{content:""}.ri-square-fill:before{content:""}.ri-square-line:before{content:""}.ri-tent-fill:before{content:""}.ri-tent-line:before{content:""}.ri-threads-fill:before{content:""}.ri-threads-line:before{content:""}.ri-tree-fill:before{content:""}.ri-tree-line:before{content:""}.ri-triangle-fill:before{content:""}.ri-triangle-line:before{content:""}.ri-twitter-x-fill:before{content:""}.ri-twitter-x-line:before{content:""}.ri-verified-badge-fill:before{content:""}.ri-verified-badge-line:before{content:""}.ri-armchair-fill:before{content:""}.ri-armchair-line:before{content:""}.ri-bnb-fill:before{content:""}.ri-bnb-line:before{content:""}.ri-bread-fill:before{content:""}.ri-bread-line:before{content:""}.ri-btc-fill:before{content:""}.ri-btc-line:before{content:""}.ri-calendar-schedule-fill:before{content:""}.ri-calendar-schedule-line:before{content:""}.ri-dice-1-fill:before{content:""}.ri-dice-1-line:before{content:""}.ri-dice-2-fill:before{content:""}.ri-dice-2-line:before{content:""}.ri-dice-3-fill:before{content:""}.ri-dice-3-line:before{content:""}.ri-dice-4-fill:before{content:""}.ri-dice-4-line:before{content:""}.ri-dice-5-fill:before{content:""}.ri-dice-5-line:before{content:""}.ri-dice-6-fill:before{content:""}.ri-dice-6-line:before{content:""}.ri-dice-fill:before{content:""}.ri-dice-line:before{content:""}.ri-drinks-fill:before{content:""}.ri-drinks-line:before{content:""}.ri-equalizer-2-fill:before{content:""}.ri-equalizer-2-line:before{content:""}.ri-equalizer-3-fill:before{content:""}.ri-equalizer-3-line:before{content:""}.ri-eth-fill:before{content:""}.ri-eth-line:before{content:""}.ri-flower-fill:before{content:""}.ri-flower-line:before{content:""}.ri-glasses-2-fill:before{content:""}.ri-glasses-2-line:before{content:""}.ri-glasses-fill:before{content:""}.ri-glasses-line:before{content:""}.ri-goggles-fill:before{content:""}.ri-goggles-line:before{content:""}.ri-image-circle-fill:before{content:""}.ri-image-circle-line:before{content:""}.ri-info-i:before{content:""}.ri-money-rupee-circle-fill:before{content:""}.ri-money-rupee-circle-line:before{content:""}.ri-news-fill:before{content:""}.ri-news-line:before{content:""}.ri-robot-3-fill:before{content:""}.ri-robot-3-line:before{content:""}.ri-share-2-fill:before{content:""}.ri-share-2-line:before{content:""}.ri-sofa-fill:before{content:""}.ri-sofa-line:before{content:""}.ri-svelte-fill:before{content:""}.ri-svelte-line:before{content:""}.ri-vk-fill:before{content:""}.ri-vk-line:before{content:""}.ri-xrp-fill:before{content:""}.ri-xrp-line:before{content:""}.ri-xtz-fill:before{content:""}.ri-xtz-line:before{content:""}.ri-archive-stack-fill:before{content:""}.ri-archive-stack-line:before{content:""}.ri-bowl-fill:before{content:""}.ri-bowl-line:before{content:""}.ri-calendar-view:before{content:""}.ri-carousel-view:before{content:""}.ri-code-block:before{content:""}.ri-color-filter-fill:before{content:""}.ri-color-filter-line:before{content:""}.ri-contacts-book-3-fill:before{content:""}.ri-contacts-book-3-line:before{content:""}.ri-contract-fill:before{content:""}.ri-contract-line:before{content:""}.ri-drinks-2-fill:before{content:""}.ri-drinks-2-line:before{content:""}.ri-export-fill:before{content:""}.ri-export-line:before{content:""}.ri-file-check-fill:before{content:""}.ri-file-check-line:before{content:""}.ri-focus-mode:before{content:""}.ri-folder-6-fill:before{content:""}.ri-folder-6-line:before{content:""}.ri-folder-check-fill:before{content:""}.ri-folder-check-line:before{content:""}.ri-folder-close-fill:before{content:""}.ri-folder-close-line:before{content:""}.ri-folder-cloud-fill:before{content:""}.ri-folder-cloud-line:before{content:""}.ri-gallery-view-2:before{content:""}.ri-gallery-view:before{content:""}.ri-hand:before{content:""}.ri-import-fill:before{content:""}.ri-import-line:before{content:""}.ri-information-2-fill:before{content:""}.ri-information-2-line:before{content:""}.ri-kanban-view-2:before{content:""}.ri-kanban-view:before{content:""}.ri-list-view:before{content:""}.ri-lock-star-fill:before{content:""}.ri-lock-star-line:before{content:""}.ri-puzzle-2-fill:before{content:""}.ri-puzzle-2-line:before{content:""}.ri-puzzle-fill:before{content:""}.ri-puzzle-line:before{content:""}.ri-ram-2-fill:before{content:""}.ri-ram-2-line:before{content:""}.ri-ram-fill:before{content:""}.ri-ram-line:before{content:""}.ri-receipt-fill:before{content:""}.ri-receipt-line:before{content:""}.ri-shadow-fill:before{content:""}.ri-shadow-line:before{content:""}.ri-sidebar-fold-fill:before{content:""}.ri-sidebar-fold-line:before{content:""}.ri-sidebar-unfold-fill:before{content:""}.ri-sidebar-unfold-line:before{content:""}.ri-slideshow-view:before{content:""}.ri-sort-alphabet-asc:before{content:""}.ri-sort-alphabet-desc:before{content:""}.ri-sort-number-asc:before{content:""}.ri-sort-number-desc:before{content:""}.ri-stacked-view:before{content:""}.ri-sticky-note-add-fill:before{content:""}.ri-sticky-note-add-line:before{content:""}.ri-swap-2-fill:before{content:""}.ri-swap-2-line:before{content:""}.ri-swap-3-fill:before{content:""}.ri-swap-3-line:before{content:""}.ri-table-3:before{content:""}.ri-table-view:before{content:""}.ri-text-block:before{content:""}.ri-text-snippet:before{content:""}.ri-timeline-view:before{content:""}.ri-blogger-fill:before{content:""}.ri-blogger-line:before{content:""}.ri-chat-thread-fill:before{content:""}.ri-chat-thread-line:before{content:""}.ri-discount-percent-fill:before{content:""}.ri-discount-percent-line:before{content:""}.ri-exchange-2-fill:before{content:""}.ri-exchange-2-line:before{content:""}.ri-git-fork-fill:before{content:""}.ri-git-fork-line:before{content:""}.ri-input-field:before{content:""}.ri-progress-1-fill:before{content:""}.ri-progress-1-line:before{content:""}.ri-progress-2-fill:before{content:""}.ri-progress-2-line:before{content:""}.ri-progress-3-fill:before{content:""}.ri-progress-3-line:before{content:""}.ri-progress-4-fill:before{content:""}.ri-progress-4-line:before{content:""}.ri-progress-5-fill:before{content:""}.ri-progress-5-line:before{content:""}.ri-progress-6-fill:before{content:""}.ri-progress-6-line:before{content:""}.ri-progress-7-fill:before{content:""}.ri-progress-7-line:before{content:""}.ri-progress-8-fill:before{content:""}.ri-progress-8-line:before{content:""}.ri-remix-run-fill:before{content:""}.ri-remix-run-line:before{content:""}.ri-signpost-fill:before{content:""}.ri-signpost-line:before{content:""}.ri-time-zone-fill:before{content:""}.ri-time-zone-line:before{content:""}.ri-arrow-down-wide-fill:before{content:""}.ri-arrow-down-wide-line:before{content:""}.ri-arrow-left-wide-fill:before{content:""}.ri-arrow-left-wide-line:before{content:""}.ri-arrow-right-wide-fill:before{content:""}.ri-arrow-right-wide-line:before{content:""}.ri-arrow-up-wide-fill:before{content:""}.ri-arrow-up-wide-line:before{content:""}.ri-bluesky-fill:before{content:""}.ri-bluesky-line:before{content:""}.ri-expand-height-fill:before{content:""}.ri-expand-height-line:before{content:""}.ri-expand-width-fill:before{content:""}.ri-expand-width-line:before{content:""}.ri-forward-end-fill:before{content:""}.ri-forward-end-line:before{content:""}.ri-forward-end-mini-fill:before{content:""}.ri-forward-end-mini-line:before{content:""}.ri-friendica-fill:before{content:""}.ri-friendica-line:before{content:""}.ri-git-pr-draft-fill:before{content:""}.ri-git-pr-draft-line:before{content:""}.ri-play-reverse-fill:before{content:""}.ri-play-reverse-line:before{content:""}.ri-play-reverse-mini-fill:before{content:""}.ri-play-reverse-mini-line:before{content:""}.ri-rewind-start-fill:before{content:""}.ri-rewind-start-line:before{content:""}.ri-rewind-start-mini-fill:before{content:""}.ri-rewind-start-mini-line:before{content:""}.ri-scroll-to-bottom-fill:before{content:""}.ri-scroll-to-bottom-line:before{content:""}.ri-add-large-fill:before{content:""}.ri-add-large-line:before{content:""}.ri-aed-electrodes-fill:before{content:""}.ri-aed-electrodes-line:before{content:""}.ri-aed-fill:before{content:""}.ri-aed-line:before{content:""}.ri-alibaba-cloud-fill:before{content:""}.ri-alibaba-cloud-line:before{content:""}.ri-align-item-bottom-fill:before{content:""}.ri-align-item-bottom-line:before{content:""}.ri-align-item-horizontal-center-fill:before{content:""}.ri-align-item-horizontal-center-line:before{content:""}.ri-align-item-left-fill:before{content:""}.ri-align-item-left-line:before{content:""}.ri-align-item-right-fill:before{content:""}.ri-align-item-right-line:before{content:""}.ri-align-item-top-fill:before{content:""}.ri-align-item-top-line:before{content:""}.ri-align-item-vertical-center-fill:before{content:""}.ri-align-item-vertical-center-line:before{content:""}.ri-apps-2-add-fill:before{content:""}.ri-apps-2-add-line:before{content:""}.ri-close-large-fill:before{content:""}.ri-close-large-line:before{content:""}.ri-collapse-diagonal-2-fill:before{content:""}.ri-collapse-diagonal-2-line:before{content:""}.ri-collapse-diagonal-fill:before{content:""}.ri-collapse-diagonal-line:before{content:""}.ri-dashboard-horizontal-fill:before{content:""}.ri-dashboard-horizontal-line:before{content:""}.ri-expand-diagonal-2-fill:before{content:""}.ri-expand-diagonal-2-line:before{content:""}.ri-expand-diagonal-fill:before{content:""}.ri-expand-diagonal-line:before{content:""}.ri-firebase-fill:before{content:""}.ri-firebase-line:before{content:""}.ri-flip-horizontal-2-fill:before{content:""}.ri-flip-horizontal-2-line:before{content:""}.ri-flip-horizontal-fill:before{content:""}.ri-flip-horizontal-line:before{content:""}.ri-flip-vertical-2-fill:before{content:""}.ri-flip-vertical-2-line:before{content:""}.ri-flip-vertical-fill:before{content:""}.ri-flip-vertical-line:before{content:""}.ri-formula:before{content:""}.ri-function-add-fill:before{content:""}.ri-function-add-line:before{content:""}.ri-goblet-2-fill:before{content:""}.ri-goblet-2-line:before{content:""}.ri-golf-ball-fill:before{content:""}.ri-golf-ball-line:before{content:""}.ri-group-3-fill:before{content:""}.ri-group-3-line:before{content:""}.ri-heart-add-2-fill:before{content:""}.ri-heart-add-2-line:before{content:""}.ri-id-card-fill:before{content:""}.ri-id-card-line:before{content:""}.ri-information-off-fill:before{content:""}.ri-information-off-line:before{content:""}.ri-java-fill:before{content:""}.ri-java-line:before{content:""}.ri-layout-grid-2-fill:before{content:""}.ri-layout-grid-2-line:before{content:""}.ri-layout-horizontal-fill:before{content:""}.ri-layout-horizontal-line:before{content:""}.ri-layout-vertical-fill:before{content:""}.ri-layout-vertical-line:before{content:""}.ri-menu-fold-2-fill:before{content:""}.ri-menu-fold-2-line:before{content:""}.ri-menu-fold-3-fill:before{content:""}.ri-menu-fold-3-line:before{content:""}.ri-menu-fold-4-fill:before{content:""}.ri-menu-fold-4-line:before{content:""}.ri-menu-unfold-2-fill:before{content:""}.ri-menu-unfold-2-line:before{content:""}.ri-menu-unfold-3-fill:before{content:""}.ri-menu-unfold-3-line:before{content:""}.ri-menu-unfold-4-fill:before{content:""}.ri-menu-unfold-4-line:before{content:""}.ri-mobile-download-fill:before{content:""}.ri-mobile-download-line:before{content:""}.ri-nextjs-fill:before{content:""}.ri-nextjs-line:before{content:""}.ri-nodejs-fill:before{content:""}.ri-nodejs-line:before{content:""}.ri-pause-large-fill:before{content:""}.ri-pause-large-line:before{content:""}.ri-play-large-fill:before{content:""}.ri-play-large-line:before{content:""}.ri-play-reverse-large-fill:before{content:""}.ri-play-reverse-large-line:before{content:""}.ri-police-badge-fill:before{content:""}.ri-police-badge-line:before{content:""}.ri-prohibited-2-fill:before{content:""}.ri-prohibited-2-line:before{content:""}.ri-shopping-bag-4-fill:before{content:""}.ri-shopping-bag-4-line:before{content:""}.ri-snowflake-fill:before{content:""}.ri-snowflake-line:before{content:""}.ri-square-root:before{content:""}.ri-stop-large-fill:before{content:""}.ri-stop-large-line:before{content:""}.ri-tailwind-css-fill:before{content:""}.ri-tailwind-css-line:before{content:""}.ri-tooth-fill:before{content:""}.ri-tooth-line:before{content:""}.ri-video-off-fill:before{content:""}.ri-video-off-line:before{content:""}.ri-video-on-fill:before{content:""}.ri-video-on-line:before{content:""}.ri-webhook-fill:before{content:""}.ri-webhook-line:before{content:""}.ri-weight-fill:before{content:""}.ri-weight-line:before{content:""} diff --git a/docs/assets/index-CEAGp2kb.css b/docs/assets/index-CEAGp2kb.css deleted file mode 100644 index 94a9b81..0000000 --- a/docs/assets/index-CEAGp2kb.css +++ /dev/null @@ -1 +0,0 @@ -@import"https://fonts.googleapis.com/css2?family=Averia+Libre:ital,wght@0,400;0,700;1,400;1,700&family=Averia+Serif+Libre:ital,wght@0,300;0,700;1,300;1,700&family=Caveat&family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&family=Spectral:ital,wght@0,300;0,600;1,300;1,600&display=swap&family=Noto+Sans+Symbols+2&display=swap";#root{max-width:580px;padding:2rem}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}footer{color:#888;font-size:.825em;margin-top:7em}footer a:link{color:#888;text-decoration:none}footer a:visited{color:#888}body{font-weight:400;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Myriad Web,Geneva,Arial,Helvetica,sans-serif;font-size:1.1em;font-size-adjust:.48}small{font-size:.92em}big{font-size:1.17em}pre{font-family:"Monotype.com",Courier New,monospace}ol li{list-style-type:decimal}ol ol li{list-style-type:lower-alpha}ol ol ol li{list-style-type:lower-roman}table,tbody,tr,td{font-size:1em;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Myriad Web,Geneva,Arial,Helvetica,sans-serif;font-size-adjust:.48}h1{font-family:Impact,Arial Black,Helvetica Black,sans-serif;font-size-adjust:.46;font-size:2.33em;font-weight:400;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h2{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.75em;font-weight:700;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h3{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.58em;font-weight:700;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h4{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.33em;font-weight:600;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h5,dt{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1.17em;font-weight:600;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}h6{font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46;font-size:1em;font-weight:600;font-style:normal;text-decoration:none;word-spacing:normal;letter-spacing:normal;text-transform:none}tfoot,thead{font-size:1em;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46}th{vertical-align:baseline;font-size:1em;font-weight:700;word-spacing:normal;letter-spacing:normal;text-transform:none;font-family:Arial Narrow,Helvetica Narrow,sans-serif;font-size-adjust:.46}hr{visibility:visible}a,address,blockquote,body,cite,code,dd,del,dfn,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,iframe,img,kbd,li,object,ol,p,q,samp,small,span,strong,sub,sup,ul,var,applet,big,center,dir,font,hr,menu,pre,abbr,acronym,bdo,button,fieldset,ins,label{word-spacing:normal;letter-spacing:normal;text-transform:none;border-style:none}em{font-style:normal;font-weight:700}strong{font-style:italic;font-weight:700}em strong,strong em{text-transform:uppercase;font-style:normal;font-weight:bolder}b{font-weight:700}i{font-style:italic}.warning{text-transform:none;font-style:normal;font-weight:bolder}del{text-decoration:line-through}ins{text-decoration:underline}var,cite,dfn,.note{font-style:italic}address{font-style:normal;letter-spacing:.1em}acronym{font-variant:small-caps;letter-spacing:.1em}#colophon{display:none}col,colgroup,table,tbody,td,tr{text-decoration:none;border-style:none}a:link{font-weight:700}a:visited{font-weight:700;color:#999}a:active{font-weight:700}a.offsite{text-decoration:none;font-weight:400}a,address,blockquote,cite,code,dd,del,dfn,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,iframe,img,kbd,li,object,ol,p,q,samp,small,span,strong,sub,sup,ul,var,applet,b,big,center,dir,font,hr,i,menu,pre,s,strike,tt,u,abbr,acronym,bdo,button,fieldset,ins,label{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;vertical-align:baseline}body{line-height:1.58em}div>p:first-child,body>p:first-child,td>p:first-child{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,div+p,p.initial{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h1,h2,h3,h4,h5,h6{line-height:1.33em}h1{margin-top:1.33em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h2{margin-top:1.75em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h3{margin-top:1.58em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h4{margin-top:1.33em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h5{margin-top:1.17em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}h6{margin-top:1em;margin-bottom:.33em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}p{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}blockquote,fieldset,form,ul,ol,dl,dir,menu{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}dt{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}dd{margin-top:0;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}ul ul,ol ol,li address,li dl,li ol,li p,li ul,li dir,li hr,li menu,li pre,li h1,li h2,li h3,li h4,li h5,li h6,dd address,dd dl,dd ol,dd p,dd ul,dd dir,dd hr,dd menu,dd pre,dd h1,dd h2,dd h3,dd h4,dd h5,dd h6{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}li{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}address{margin-top:1.58em;margin-bottom:1.58em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}pre{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;line-height:1.25em}hr{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;height:1px}div,center{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.subhead{margin-top:.75em;margin-bottom:.75em;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.stb{margin-top:2.17em;margin-bottom:.75em;padding-top:2.17em;padding-bottom:0;border-top:0;border-bottom:0;border-style:solid}.mtb{margin-top:3.08em;margin-bottom:.75em;padding-top:3.08em;padding-bottom:0;border-top:.1em;border-bottom:0;border-style:solid}.ltb{margin-top:4.34em;margin-bottom:.75em;padding-top:4.34em;padding-bottom:0;border-top:.25em;border-bottom:0;border-style:solid}col,colgroup,table,tbody,td,tfoot,th,thead,tr{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}td,th{line-height:1.33em}a,address,blockquote,cite,code,dd,del,dfn,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,iframe,img,kbd,li,object,ol,p,q,samp,small,span,strong,sub,sup,ul,var,applet,b,big,center,dir,font,hr,i,menu,pre,s,strike,tt,u,abbr,acronym,bdo,button,fieldset,ins,label{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left;float:none;clear:none;list-style-position:outside}address,blockquote,dl,fieldset,form,ol,p,ul,dir,hr,menu,pre{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0}div>p:first-child,body>p:first-child,td>p:first-child{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-align:left;text-indent:0}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,div+p,p.initial{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-align:left;text-indent:0}h1{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}h2{margin-left:4%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}h3{margin-left:7%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}h4,h5,h6{margin-left:11%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}p{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-indent:0}blockquote{margin-left:4%;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0}address,pre{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0}li{margin-left:4%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}dt{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}dd{margin-left:4%;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}ul ul,ol ol,li address,li dl,li ol,li p,li ul,li dir,li hr,li menu,li pre,li h1,li h2,li h3,li h4,li h5,li h6,dd address,dd dl,dd ol,dd p,dd ul,dd dir,dd hr,dd menu,dd pre,dd h1,dd h2,dd h3,dd h4,dd h5,dd h6{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0}hr{margin-left:0;margin-right:0;padding-left:11%;padding-right:0;border-left:0;border-right:0;text-align:left;width:100%}center{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;text-align:left}col,colgroup,table,tbody,td,tfoot,th,thead,tr{margin-left:0;margin-right:0;padding-left:0;padding-right:0;border-left:0;border-right:0;float:none;clear:none}table,td,th,caption{text-align:left}body{margin:1.58em 2% 1.58em 4%;padding:0;border-top:0;border-left:0;border-bottom:0;border-right:0;width:auto}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1b1e23;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;min-height:100vh;counter-reset:h3-counter}h1{font-size:2.2em;line-height:1.1;margin:0}button{border-radius:8px;border:1px solid transparent;padding:.4em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1b1e23;border:2px solid rgba(255,255,255,.57);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.left{text-align:left}code{background:#000;color:#fff;padding:2px 3px 1px;border-radius:3px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}a:has(>h3):visited{color:#ffffffde}a:has(>h3):link{color:#ffffffde}a:has(>h3){color:inherit;text-decoration:none}h3{counter-increment:h3-counter;position:relative}a:hover>h3{text-decoration:underline}a:hover>h3:before{content:"# ";position:absolute;left:-2ch}h3:before{content:counter(h3-counter) ". ";position:absolute;left:-2ch}@font-face{font-family:remixicon;src:url(./remixicon-DUK49BtM.eot?t=1708865856766);src:url(./remixicon-DUK49BtM.eot?t=1708865856766#iefix) format("embedded-opentype"),url(./remixicon-BVOYbT3K.woff2?t=1708865856766) format("woff2"),url(./remixicon-DfzPQSMi.woff?t=1708865856766) format("woff"),url(./remixicon-D9ZyeRwQ.ttf?t=1708865856766) format("truetype"),url(./remixicon-ncU_JTfY.svg?t=1708865856766#remixicon) format("svg");font-display:swap}[class^=ri-],[class*=" ri-"]{font-family:remixicon!important;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-xl{font-size:1.5em;line-height:.6666em;vertical-align:-.075em}.ri-xxs{font-size:.5em}.ri-xs{font-size:.75em}.ri-sm{font-size:.875em}.ri-1x{font-size:1em}.ri-2x{font-size:2em}.ri-3x{font-size:3em}.ri-4x{font-size:4em}.ri-5x{font-size:5em}.ri-6x{font-size:6em}.ri-7x{font-size:7em}.ri-8x{font-size:8em}.ri-9x{font-size:9em}.ri-10x{font-size:10em}.ri-fw{text-align:center;width:1.25em}.ri-24-hours-fill:before{content:""}.ri-24-hours-line:before{content:""}.ri-4k-fill:before{content:""}.ri-4k-line:before{content:""}.ri-a-b:before{content:""}.ri-account-box-fill:before{content:""}.ri-account-box-line:before{content:""}.ri-account-circle-fill:before{content:""}.ri-account-circle-line:before{content:""}.ri-account-pin-box-fill:before{content:""}.ri-account-pin-box-line:before{content:""}.ri-account-pin-circle-fill:before{content:""}.ri-account-pin-circle-line:before{content:""}.ri-add-box-fill:before{content:""}.ri-add-box-line:before{content:""}.ri-add-circle-fill:before{content:""}.ri-add-circle-line:before{content:""}.ri-add-fill:before{content:""}.ri-add-line:before{content:""}.ri-admin-fill:before{content:""}.ri-admin-line:before{content:""}.ri-advertisement-fill:before{content:""}.ri-advertisement-line:before{content:""}.ri-airplay-fill:before{content:""}.ri-airplay-line:before{content:""}.ri-alarm-fill:before{content:""}.ri-alarm-line:before{content:""}.ri-alarm-warning-fill:before{content:""}.ri-alarm-warning-line:before{content:""}.ri-album-fill:before{content:""}.ri-album-line:before{content:""}.ri-alert-fill:before{content:""}.ri-alert-line:before{content:""}.ri-aliens-fill:before{content:""}.ri-aliens-line:before{content:""}.ri-align-bottom:before{content:""}.ri-align-center:before{content:""}.ri-align-justify:before{content:""}.ri-align-left:before{content:""}.ri-align-right:before{content:""}.ri-align-top:before{content:""}.ri-align-vertically:before{content:""}.ri-alipay-fill:before{content:""}.ri-alipay-line:before{content:""}.ri-amazon-fill:before{content:""}.ri-amazon-line:before{content:""}.ri-anchor-fill:before{content:""}.ri-anchor-line:before{content:""}.ri-ancient-gate-fill:before{content:""}.ri-ancient-gate-line:before{content:""}.ri-ancient-pavilion-fill:before{content:""}.ri-ancient-pavilion-line:before{content:""}.ri-android-fill:before{content:""}.ri-android-line:before{content:""}.ri-angularjs-fill:before{content:""}.ri-angularjs-line:before{content:""}.ri-anticlockwise-2-fill:before{content:""}.ri-anticlockwise-2-line:before{content:""}.ri-anticlockwise-fill:before{content:""}.ri-anticlockwise-line:before{content:""}.ri-app-store-fill:before{content:""}.ri-app-store-line:before{content:""}.ri-apple-fill:before{content:""}.ri-apple-line:before{content:""}.ri-apps-2-fill:before{content:""}.ri-apps-2-line:before{content:""}.ri-apps-fill:before{content:""}.ri-apps-line:before{content:""}.ri-archive-drawer-fill:before{content:""}.ri-archive-drawer-line:before{content:""}.ri-archive-fill:before{content:""}.ri-archive-line:before{content:""}.ri-arrow-down-circle-fill:before{content:""}.ri-arrow-down-circle-line:before{content:""}.ri-arrow-down-fill:before{content:""}.ri-arrow-down-line:before{content:""}.ri-arrow-down-s-fill:before{content:""}.ri-arrow-down-s-line:before{content:""}.ri-arrow-drop-down-fill:before{content:""}.ri-arrow-drop-down-line:before{content:""}.ri-arrow-drop-left-fill:before{content:""}.ri-arrow-drop-left-line:before{content:""}.ri-arrow-drop-right-fill:before{content:""}.ri-arrow-drop-right-line:before{content:""}.ri-arrow-drop-up-fill:before{content:""}.ri-arrow-drop-up-line:before{content:""}.ri-arrow-go-back-fill:before{content:""}.ri-arrow-go-back-line:before{content:""}.ri-arrow-go-forward-fill:before{content:""}.ri-arrow-go-forward-line:before{content:""}.ri-arrow-left-circle-fill:before{content:""}.ri-arrow-left-circle-line:before{content:""}.ri-arrow-left-down-fill:before{content:""}.ri-arrow-left-down-line:before{content:""}.ri-arrow-left-fill:before{content:""}.ri-arrow-left-line:before{content:""}.ri-arrow-left-right-fill:before{content:""}.ri-arrow-left-right-line:before{content:""}.ri-arrow-left-s-fill:before{content:""}.ri-arrow-left-s-line:before{content:""}.ri-arrow-left-up-fill:before{content:""}.ri-arrow-left-up-line:before{content:""}.ri-arrow-right-circle-fill:before{content:""}.ri-arrow-right-circle-line:before{content:""}.ri-arrow-right-down-fill:before{content:""}.ri-arrow-right-down-line:before{content:""}.ri-arrow-right-fill:before{content:""}.ri-arrow-right-line:before{content:""}.ri-arrow-right-s-fill:before{content:""}.ri-arrow-right-s-line:before{content:""}.ri-arrow-right-up-fill:before{content:""}.ri-arrow-right-up-line:before{content:""}.ri-arrow-up-circle-fill:before{content:""}.ri-arrow-up-circle-line:before{content:""}.ri-arrow-up-down-fill:before{content:""}.ri-arrow-up-down-line:before{content:""}.ri-arrow-up-fill:before{content:""}.ri-arrow-up-line:before{content:""}.ri-arrow-up-s-fill:before{content:""}.ri-arrow-up-s-line:before{content:""}.ri-artboard-2-fill:before{content:""}.ri-artboard-2-line:before{content:""}.ri-artboard-fill:before{content:""}.ri-artboard-line:before{content:""}.ri-article-fill:before{content:""}.ri-article-line:before{content:""}.ri-aspect-ratio-fill:before{content:""}.ri-aspect-ratio-line:before{content:""}.ri-asterisk:before{content:""}.ri-at-fill:before{content:""}.ri-at-line:before{content:""}.ri-attachment-2:before{content:""}.ri-attachment-fill:before{content:""}.ri-attachment-line:before{content:""}.ri-auction-fill:before{content:""}.ri-auction-line:before{content:""}.ri-award-fill:before{content:""}.ri-award-line:before{content:""}.ri-baidu-fill:before{content:""}.ri-baidu-line:before{content:""}.ri-ball-pen-fill:before{content:""}.ri-ball-pen-line:before{content:""}.ri-bank-card-2-fill:before{content:""}.ri-bank-card-2-line:before{content:""}.ri-bank-card-fill:before{content:""}.ri-bank-card-line:before{content:""}.ri-bank-fill:before{content:""}.ri-bank-line:before{content:""}.ri-bar-chart-2-fill:before{content:""}.ri-bar-chart-2-line:before{content:""}.ri-bar-chart-box-fill:before{content:""}.ri-bar-chart-box-line:before{content:""}.ri-bar-chart-fill:before{content:""}.ri-bar-chart-grouped-fill:before{content:""}.ri-bar-chart-grouped-line:before{content:""}.ri-bar-chart-horizontal-fill:before{content:""}.ri-bar-chart-horizontal-line:before{content:""}.ri-bar-chart-line:before{content:""}.ri-barcode-box-fill:before{content:""}.ri-barcode-box-line:before{content:""}.ri-barcode-fill:before{content:""}.ri-barcode-line:before{content:""}.ri-barricade-fill:before{content:""}.ri-barricade-line:before{content:""}.ri-base-station-fill:before{content:""}.ri-base-station-line:before{content:""}.ri-basketball-fill:before{content:""}.ri-basketball-line:before{content:""}.ri-battery-2-charge-fill:before{content:""}.ri-battery-2-charge-line:before{content:""}.ri-battery-2-fill:before{content:""}.ri-battery-2-line:before{content:""}.ri-battery-charge-fill:before{content:""}.ri-battery-charge-line:before{content:""}.ri-battery-fill:before{content:""}.ri-battery-line:before{content:""}.ri-battery-low-fill:before{content:""}.ri-battery-low-line:before{content:""}.ri-battery-saver-fill:before{content:""}.ri-battery-saver-line:before{content:""}.ri-battery-share-fill:before{content:""}.ri-battery-share-line:before{content:""}.ri-bear-smile-fill:before{content:""}.ri-bear-smile-line:before{content:""}.ri-behance-fill:before{content:""}.ri-behance-line:before{content:""}.ri-bell-fill:before{content:""}.ri-bell-line:before{content:""}.ri-bike-fill:before{content:""}.ri-bike-line:before{content:""}.ri-bilibili-fill:before{content:""}.ri-bilibili-line:before{content:""}.ri-bill-fill:before{content:""}.ri-bill-line:before{content:""}.ri-billiards-fill:before{content:""}.ri-billiards-line:before{content:""}.ri-bit-coin-fill:before{content:""}.ri-bit-coin-line:before{content:""}.ri-blaze-fill:before{content:""}.ri-blaze-line:before{content:""}.ri-bluetooth-connect-fill:before{content:""}.ri-bluetooth-connect-line:before{content:""}.ri-bluetooth-fill:before{content:""}.ri-bluetooth-line:before{content:""}.ri-blur-off-fill:before{content:""}.ri-blur-off-line:before{content:""}.ri-body-scan-fill:before{content:""}.ri-body-scan-line:before{content:""}.ri-bold:before{content:""}.ri-book-2-fill:before{content:""}.ri-book-2-line:before{content:""}.ri-book-3-fill:before{content:""}.ri-book-3-line:before{content:""}.ri-book-fill:before{content:""}.ri-book-line:before{content:""}.ri-book-marked-fill:before{content:""}.ri-book-marked-line:before{content:""}.ri-book-open-fill:before{content:""}.ri-book-open-line:before{content:""}.ri-book-read-fill:before{content:""}.ri-book-read-line:before{content:""}.ri-booklet-fill:before{content:""}.ri-booklet-line:before{content:""}.ri-bookmark-2-fill:before{content:""}.ri-bookmark-2-line:before{content:""}.ri-bookmark-3-fill:before{content:""}.ri-bookmark-3-line:before{content:""}.ri-bookmark-fill:before{content:""}.ri-bookmark-line:before{content:""}.ri-boxing-fill:before{content:""}.ri-boxing-line:before{content:""}.ri-braces-fill:before{content:""}.ri-braces-line:before{content:""}.ri-brackets-fill:before{content:""}.ri-brackets-line:before{content:""}.ri-briefcase-2-fill:before{content:""}.ri-briefcase-2-line:before{content:""}.ri-briefcase-3-fill:before{content:""}.ri-briefcase-3-line:before{content:""}.ri-briefcase-4-fill:before{content:""}.ri-briefcase-4-line:before{content:""}.ri-briefcase-5-fill:before{content:""}.ri-briefcase-5-line:before{content:""}.ri-briefcase-fill:before{content:""}.ri-briefcase-line:before{content:""}.ri-bring-forward:before{content:""}.ri-bring-to-front:before{content:""}.ri-broadcast-fill:before{content:""}.ri-broadcast-line:before{content:""}.ri-brush-2-fill:before{content:""}.ri-brush-2-line:before{content:""}.ri-brush-3-fill:before{content:""}.ri-brush-3-line:before{content:""}.ri-brush-4-fill:before{content:""}.ri-brush-4-line:before{content:""}.ri-brush-fill:before{content:""}.ri-brush-line:before{content:""}.ri-bubble-chart-fill:before{content:""}.ri-bubble-chart-line:before{content:""}.ri-bug-2-fill:before{content:""}.ri-bug-2-line:before{content:""}.ri-bug-fill:before{content:""}.ri-bug-line:before{content:""}.ri-building-2-fill:before{content:""}.ri-building-2-line:before{content:""}.ri-building-3-fill:before{content:""}.ri-building-3-line:before{content:""}.ri-building-4-fill:before{content:""}.ri-building-4-line:before{content:""}.ri-building-fill:before{content:""}.ri-building-line:before{content:""}.ri-bus-2-fill:before{content:""}.ri-bus-2-line:before{content:""}.ri-bus-fill:before{content:""}.ri-bus-line:before{content:""}.ri-bus-wifi-fill:before{content:""}.ri-bus-wifi-line:before{content:""}.ri-cactus-fill:before{content:""}.ri-cactus-line:before{content:""}.ri-cake-2-fill:before{content:""}.ri-cake-2-line:before{content:""}.ri-cake-3-fill:before{content:""}.ri-cake-3-line:before{content:""}.ri-cake-fill:before{content:""}.ri-cake-line:before{content:""}.ri-calculator-fill:before{content:""}.ri-calculator-line:before{content:""}.ri-calendar-2-fill:before{content:""}.ri-calendar-2-line:before{content:""}.ri-calendar-check-fill:before{content:""}.ri-calendar-check-line:before{content:""}.ri-calendar-event-fill:before{content:""}.ri-calendar-event-line:before{content:""}.ri-calendar-fill:before{content:""}.ri-calendar-line:before{content:""}.ri-calendar-todo-fill:before{content:""}.ri-calendar-todo-line:before{content:""}.ri-camera-2-fill:before{content:""}.ri-camera-2-line:before{content:""}.ri-camera-3-fill:before{content:""}.ri-camera-3-line:before{content:""}.ri-camera-fill:before{content:""}.ri-camera-lens-fill:before{content:""}.ri-camera-lens-line:before{content:""}.ri-camera-line:before{content:""}.ri-camera-off-fill:before{content:""}.ri-camera-off-line:before{content:""}.ri-camera-switch-fill:before{content:""}.ri-camera-switch-line:before{content:""}.ri-capsule-fill:before{content:""}.ri-capsule-line:before{content:""}.ri-car-fill:before{content:""}.ri-car-line:before{content:""}.ri-car-washing-fill:before{content:""}.ri-car-washing-line:before{content:""}.ri-caravan-fill:before{content:""}.ri-caravan-line:before{content:""}.ri-cast-fill:before{content:""}.ri-cast-line:before{content:""}.ri-cellphone-fill:before{content:""}.ri-cellphone-line:before{content:""}.ri-celsius-fill:before{content:""}.ri-celsius-line:before{content:""}.ri-centos-fill:before{content:""}.ri-centos-line:before{content:""}.ri-character-recognition-fill:before{content:""}.ri-character-recognition-line:before{content:""}.ri-charging-pile-2-fill:before{content:""}.ri-charging-pile-2-line:before{content:""}.ri-charging-pile-fill:before{content:""}.ri-charging-pile-line:before{content:""}.ri-chat-1-fill:before{content:""}.ri-chat-1-line:before{content:""}.ri-chat-2-fill:before{content:""}.ri-chat-2-line:before{content:""}.ri-chat-3-fill:before{content:""}.ri-chat-3-line:before{content:""}.ri-chat-4-fill:before{content:""}.ri-chat-4-line:before{content:""}.ri-chat-check-fill:before{content:""}.ri-chat-check-line:before{content:""}.ri-chat-delete-fill:before{content:""}.ri-chat-delete-line:before{content:""}.ri-chat-download-fill:before{content:""}.ri-chat-download-line:before{content:""}.ri-chat-follow-up-fill:before{content:""}.ri-chat-follow-up-line:before{content:""}.ri-chat-forward-fill:before{content:""}.ri-chat-forward-line:before{content:""}.ri-chat-heart-fill:before{content:""}.ri-chat-heart-line:before{content:""}.ri-chat-history-fill:before{content:""}.ri-chat-history-line:before{content:""}.ri-chat-new-fill:before{content:""}.ri-chat-new-line:before{content:""}.ri-chat-off-fill:before{content:""}.ri-chat-off-line:before{content:""}.ri-chat-poll-fill:before{content:""}.ri-chat-poll-line:before{content:""}.ri-chat-private-fill:before{content:""}.ri-chat-private-line:before{content:""}.ri-chat-quote-fill:before{content:""}.ri-chat-quote-line:before{content:""}.ri-chat-settings-fill:before{content:""}.ri-chat-settings-line:before{content:""}.ri-chat-smile-2-fill:before{content:""}.ri-chat-smile-2-line:before{content:""}.ri-chat-smile-3-fill:before{content:""}.ri-chat-smile-3-line:before{content:""}.ri-chat-smile-fill:before{content:""}.ri-chat-smile-line:before{content:""}.ri-chat-upload-fill:before{content:""}.ri-chat-upload-line:before{content:""}.ri-chat-voice-fill:before{content:""}.ri-chat-voice-line:before{content:""}.ri-check-double-fill:before{content:""}.ri-check-double-line:before{content:""}.ri-check-fill:before{content:""}.ri-check-line:before{content:""}.ri-checkbox-blank-circle-fill:before{content:""}.ri-checkbox-blank-circle-line:before{content:""}.ri-checkbox-blank-fill:before{content:""}.ri-checkbox-blank-line:before{content:""}.ri-checkbox-circle-fill:before{content:""}.ri-checkbox-circle-line:before{content:""}.ri-checkbox-fill:before{content:""}.ri-checkbox-indeterminate-fill:before{content:""}.ri-checkbox-indeterminate-line:before{content:""}.ri-checkbox-line:before{content:""}.ri-checkbox-multiple-blank-fill:before{content:""}.ri-checkbox-multiple-blank-line:before{content:""}.ri-checkbox-multiple-fill:before{content:""}.ri-checkbox-multiple-line:before{content:""}.ri-china-railway-fill:before{content:""}.ri-china-railway-line:before{content:""}.ri-chrome-fill:before{content:""}.ri-chrome-line:before{content:""}.ri-clapperboard-fill:before{content:""}.ri-clapperboard-line:before{content:""}.ri-clipboard-fill:before{content:""}.ri-clipboard-line:before{content:""}.ri-clockwise-2-fill:before{content:""}.ri-clockwise-2-line:before{content:""}.ri-clockwise-fill:before{content:""}.ri-clockwise-line:before{content:""}.ri-close-circle-fill:before{content:""}.ri-close-circle-line:before{content:""}.ri-close-fill:before{content:""}.ri-close-line:before{content:""}.ri-closed-captioning-fill:before{content:""}.ri-closed-captioning-line:before{content:""}.ri-cloud-fill:before{content:""}.ri-cloud-line:before{content:""}.ri-cloud-off-fill:before{content:""}.ri-cloud-off-line:before{content:""}.ri-cloud-windy-fill:before{content:""}.ri-cloud-windy-line:before{content:""}.ri-cloudy-2-fill:before{content:""}.ri-cloudy-2-line:before{content:""}.ri-cloudy-fill:before{content:""}.ri-cloudy-line:before{content:""}.ri-code-box-fill:before{content:""}.ri-code-box-line:before{content:""}.ri-code-fill:before{content:""}.ri-code-line:before{content:""}.ri-code-s-fill:before{content:""}.ri-code-s-line:before{content:""}.ri-code-s-slash-fill:before{content:""}.ri-code-s-slash-line:before{content:""}.ri-code-view:before{content:""}.ri-codepen-fill:before{content:""}.ri-codepen-line:before{content:""}.ri-coin-fill:before{content:""}.ri-coin-line:before{content:""}.ri-coins-fill:before{content:""}.ri-coins-line:before{content:""}.ri-collage-fill:before{content:""}.ri-collage-line:before{content:""}.ri-command-fill:before{content:""}.ri-command-line:before{content:""}.ri-community-fill:before{content:""}.ri-community-line:before{content:""}.ri-compass-2-fill:before{content:""}.ri-compass-2-line:before{content:""}.ri-compass-3-fill:before{content:""}.ri-compass-3-line:before{content:""}.ri-compass-4-fill:before{content:""}.ri-compass-4-line:before{content:""}.ri-compass-discover-fill:before{content:""}.ri-compass-discover-line:before{content:""}.ri-compass-fill:before{content:""}.ri-compass-line:before{content:""}.ri-compasses-2-fill:before{content:""}.ri-compasses-2-line:before{content:""}.ri-compasses-fill:before{content:""}.ri-compasses-line:before{content:""}.ri-computer-fill:before{content:""}.ri-computer-line:before{content:""}.ri-contacts-book-2-fill:before{content:""}.ri-contacts-book-2-line:before{content:""}.ri-contacts-book-fill:before{content:""}.ri-contacts-book-line:before{content:""}.ri-contacts-book-upload-fill:before{content:""}.ri-contacts-book-upload-line:before{content:""}.ri-contacts-fill:before{content:""}.ri-contacts-line:before{content:""}.ri-contrast-2-fill:before{content:""}.ri-contrast-2-line:before{content:""}.ri-contrast-drop-2-fill:before{content:""}.ri-contrast-drop-2-line:before{content:""}.ri-contrast-drop-fill:before{content:""}.ri-contrast-drop-line:before{content:""}.ri-contrast-fill:before{content:""}.ri-contrast-line:before{content:""}.ri-copper-coin-fill:before{content:""}.ri-copper-coin-line:before{content:""}.ri-copper-diamond-fill:before{content:""}.ri-copper-diamond-line:before{content:""}.ri-copyleft-fill:before{content:""}.ri-copyleft-line:before{content:""}.ri-copyright-fill:before{content:""}.ri-copyright-line:before{content:""}.ri-coreos-fill:before{content:""}.ri-coreos-line:before{content:""}.ri-coupon-2-fill:before{content:""}.ri-coupon-2-line:before{content:""}.ri-coupon-3-fill:before{content:""}.ri-coupon-3-line:before{content:""}.ri-coupon-4-fill:before{content:""}.ri-coupon-4-line:before{content:""}.ri-coupon-5-fill:before{content:""}.ri-coupon-5-line:before{content:""}.ri-coupon-fill:before{content:""}.ri-coupon-line:before{content:""}.ri-cpu-fill:before{content:""}.ri-cpu-line:before{content:""}.ri-creative-commons-by-fill:before{content:""}.ri-creative-commons-by-line:before{content:""}.ri-creative-commons-fill:before{content:""}.ri-creative-commons-line:before{content:""}.ri-creative-commons-nc-fill:before{content:""}.ri-creative-commons-nc-line:before{content:""}.ri-creative-commons-nd-fill:before{content:""}.ri-creative-commons-nd-line:before{content:""}.ri-creative-commons-sa-fill:before{content:""}.ri-creative-commons-sa-line:before{content:""}.ri-creative-commons-zero-fill:before{content:""}.ri-creative-commons-zero-line:before{content:""}.ri-criminal-fill:before{content:""}.ri-criminal-line:before{content:""}.ri-crop-2-fill:before{content:""}.ri-crop-2-line:before{content:""}.ri-crop-fill:before{content:""}.ri-crop-line:before{content:""}.ri-css3-fill:before{content:""}.ri-css3-line:before{content:""}.ri-cup-fill:before{content:""}.ri-cup-line:before{content:""}.ri-currency-fill:before{content:""}.ri-currency-line:before{content:""}.ri-cursor-fill:before{content:""}.ri-cursor-line:before{content:""}.ri-customer-service-2-fill:before{content:""}.ri-customer-service-2-line:before{content:""}.ri-customer-service-fill:before{content:""}.ri-customer-service-line:before{content:""}.ri-dashboard-2-fill:before{content:""}.ri-dashboard-2-line:before{content:""}.ri-dashboard-3-fill:before{content:""}.ri-dashboard-3-line:before{content:""}.ri-dashboard-fill:before{content:""}.ri-dashboard-line:before{content:""}.ri-database-2-fill:before{content:""}.ri-database-2-line:before{content:""}.ri-database-fill:before{content:""}.ri-database-line:before{content:""}.ri-delete-back-2-fill:before{content:""}.ri-delete-back-2-line:before{content:""}.ri-delete-back-fill:before{content:""}.ri-delete-back-line:before{content:""}.ri-delete-bin-2-fill:before{content:""}.ri-delete-bin-2-line:before{content:""}.ri-delete-bin-3-fill:before{content:""}.ri-delete-bin-3-line:before{content:""}.ri-delete-bin-4-fill:before{content:""}.ri-delete-bin-4-line:before{content:""}.ri-delete-bin-5-fill:before{content:""}.ri-delete-bin-5-line:before{content:""}.ri-delete-bin-6-fill:before{content:""}.ri-delete-bin-6-line:before{content:""}.ri-delete-bin-7-fill:before{content:""}.ri-delete-bin-7-line:before{content:""}.ri-delete-bin-fill:before{content:""}.ri-delete-bin-line:before{content:""}.ri-delete-column:before{content:""}.ri-delete-row:before{content:""}.ri-device-fill:before{content:""}.ri-device-line:before{content:""}.ri-device-recover-fill:before{content:""}.ri-device-recover-line:before{content:""}.ri-dingding-fill:before{content:""}.ri-dingding-line:before{content:""}.ri-direction-fill:before{content:""}.ri-direction-line:before{content:""}.ri-disc-fill:before{content:""}.ri-disc-line:before{content:""}.ri-discord-fill:before{content:""}.ri-discord-line:before{content:""}.ri-discuss-fill:before{content:""}.ri-discuss-line:before{content:""}.ri-dislike-fill:before{content:""}.ri-dislike-line:before{content:""}.ri-disqus-fill:before{content:""}.ri-disqus-line:before{content:""}.ri-divide-fill:before{content:""}.ri-divide-line:before{content:""}.ri-donut-chart-fill:before{content:""}.ri-donut-chart-line:before{content:""}.ri-door-closed-fill:before{content:""}.ri-door-closed-line:before{content:""}.ri-door-fill:before{content:""}.ri-door-line:before{content:""}.ri-door-lock-box-fill:before{content:""}.ri-door-lock-box-line:before{content:""}.ri-door-lock-fill:before{content:""}.ri-door-lock-line:before{content:""}.ri-door-open-fill:before{content:""}.ri-door-open-line:before{content:""}.ri-dossier-fill:before{content:""}.ri-dossier-line:before{content:""}.ri-douban-fill:before{content:""}.ri-douban-line:before{content:""}.ri-double-quotes-l:before{content:""}.ri-double-quotes-r:before{content:""}.ri-download-2-fill:before{content:""}.ri-download-2-line:before{content:""}.ri-download-cloud-2-fill:before{content:""}.ri-download-cloud-2-line:before{content:""}.ri-download-cloud-fill:before{content:""}.ri-download-cloud-line:before{content:""}.ri-download-fill:before{content:""}.ri-download-line:before{content:""}.ri-draft-fill:before{content:""}.ri-draft-line:before{content:""}.ri-drag-drop-fill:before{content:""}.ri-drag-drop-line:before{content:""}.ri-drag-move-2-fill:before{content:""}.ri-drag-move-2-line:before{content:""}.ri-drag-move-fill:before{content:""}.ri-drag-move-line:before{content:""}.ri-dribbble-fill:before{content:""}.ri-dribbble-line:before{content:""}.ri-drive-fill:before{content:""}.ri-drive-line:before{content:""}.ri-drizzle-fill:before{content:""}.ri-drizzle-line:before{content:""}.ri-drop-fill:before{content:""}.ri-drop-line:before{content:""}.ri-dropbox-fill:before{content:""}.ri-dropbox-line:before{content:""}.ri-dual-sim-1-fill:before{content:""}.ri-dual-sim-1-line:before{content:""}.ri-dual-sim-2-fill:before{content:""}.ri-dual-sim-2-line:before{content:""}.ri-dv-fill:before{content:""}.ri-dv-line:before{content:""}.ri-dvd-fill:before{content:""}.ri-dvd-line:before{content:""}.ri-e-bike-2-fill:before{content:""}.ri-e-bike-2-line:before{content:""}.ri-e-bike-fill:before{content:""}.ri-e-bike-line:before{content:""}.ri-earth-fill:before{content:""}.ri-earth-line:before{content:""}.ri-earthquake-fill:before{content:""}.ri-earthquake-line:before{content:""}.ri-edge-fill:before{content:""}.ri-edge-line:before{content:""}.ri-edit-2-fill:before{content:""}.ri-edit-2-line:before{content:""}.ri-edit-box-fill:before{content:""}.ri-edit-box-line:before{content:""}.ri-edit-circle-fill:before{content:""}.ri-edit-circle-line:before{content:""}.ri-edit-fill:before{content:""}.ri-edit-line:before{content:""}.ri-eject-fill:before{content:""}.ri-eject-line:before{content:""}.ri-emotion-2-fill:before{content:""}.ri-emotion-2-line:before{content:""}.ri-emotion-fill:before{content:""}.ri-emotion-happy-fill:before{content:""}.ri-emotion-happy-line:before{content:""}.ri-emotion-laugh-fill:before{content:""}.ri-emotion-laugh-line:before{content:""}.ri-emotion-line:before{content:""}.ri-emotion-normal-fill:before{content:""}.ri-emotion-normal-line:before{content:""}.ri-emotion-sad-fill:before{content:""}.ri-emotion-sad-line:before{content:""}.ri-emotion-unhappy-fill:before{content:""}.ri-emotion-unhappy-line:before{content:""}.ri-empathize-fill:before{content:""}.ri-empathize-line:before{content:""}.ri-emphasis-cn:before{content:""}.ri-emphasis:before{content:""}.ri-english-input:before{content:""}.ri-equalizer-fill:before{content:""}.ri-equalizer-line:before{content:""}.ri-eraser-fill:before{content:""}.ri-eraser-line:before{content:""}.ri-error-warning-fill:before{content:""}.ri-error-warning-line:before{content:""}.ri-evernote-fill:before{content:""}.ri-evernote-line:before{content:""}.ri-exchange-box-fill:before{content:""}.ri-exchange-box-line:before{content:""}.ri-exchange-cny-fill:before{content:""}.ri-exchange-cny-line:before{content:""}.ri-exchange-dollar-fill:before{content:""}.ri-exchange-dollar-line:before{content:""}.ri-exchange-fill:before{content:""}.ri-exchange-funds-fill:before{content:""}.ri-exchange-funds-line:before{content:""}.ri-exchange-line:before{content:""}.ri-external-link-fill:before{content:""}.ri-external-link-line:before{content:""}.ri-eye-2-fill:before{content:""}.ri-eye-2-line:before{content:""}.ri-eye-close-fill:before{content:""}.ri-eye-close-line:before{content:""}.ri-eye-fill:before{content:""}.ri-eye-line:before{content:""}.ri-eye-off-fill:before{content:""}.ri-eye-off-line:before{content:""}.ri-facebook-box-fill:before{content:""}.ri-facebook-box-line:before{content:""}.ri-facebook-circle-fill:before{content:""}.ri-facebook-circle-line:before{content:""}.ri-facebook-fill:before{content:""}.ri-facebook-line:before{content:""}.ri-fahrenheit-fill:before{content:""}.ri-fahrenheit-line:before{content:""}.ri-feedback-fill:before{content:""}.ri-feedback-line:before{content:""}.ri-file-2-fill:before{content:""}.ri-file-2-line:before{content:""}.ri-file-3-fill:before{content:""}.ri-file-3-line:before{content:""}.ri-file-4-fill:before{content:""}.ri-file-4-line:before{content:""}.ri-file-add-fill:before{content:""}.ri-file-add-line:before{content:""}.ri-file-chart-2-fill:before{content:""}.ri-file-chart-2-line:before{content:""}.ri-file-chart-fill:before{content:""}.ri-file-chart-line:before{content:""}.ri-file-cloud-fill:before{content:""}.ri-file-cloud-line:before{content:""}.ri-file-code-fill:before{content:""}.ri-file-code-line:before{content:""}.ri-file-copy-2-fill:before{content:""}.ri-file-copy-2-line:before{content:""}.ri-file-copy-fill:before{content:""}.ri-file-copy-line:before{content:""}.ri-file-damage-fill:before{content:""}.ri-file-damage-line:before{content:""}.ri-file-download-fill:before{content:""}.ri-file-download-line:before{content:""}.ri-file-edit-fill:before{content:""}.ri-file-edit-line:before{content:""}.ri-file-excel-2-fill:before{content:""}.ri-file-excel-2-line:before{content:""}.ri-file-excel-fill:before{content:""}.ri-file-excel-line:before{content:""}.ri-file-fill:before{content:""}.ri-file-forbid-fill:before{content:""}.ri-file-forbid-line:before{content:""}.ri-file-gif-fill:before{content:""}.ri-file-gif-line:before{content:""}.ri-file-history-fill:before{content:""}.ri-file-history-line:before{content:""}.ri-file-hwp-fill:before{content:""}.ri-file-hwp-line:before{content:""}.ri-file-info-fill:before{content:""}.ri-file-info-line:before{content:""}.ri-file-line:before{content:""}.ri-file-list-2-fill:before{content:""}.ri-file-list-2-line:before{content:""}.ri-file-list-3-fill:before{content:""}.ri-file-list-3-line:before{content:""}.ri-file-list-fill:before{content:""}.ri-file-list-line:before{content:""}.ri-file-lock-fill:before{content:""}.ri-file-lock-line:before{content:""}.ri-file-marked-fill:before{content:""}.ri-file-marked-line:before{content:""}.ri-file-music-fill:before{content:""}.ri-file-music-line:before{content:""}.ri-file-paper-2-fill:before{content:""}.ri-file-paper-2-line:before{content:""}.ri-file-paper-fill:before{content:""}.ri-file-paper-line:before{content:""}.ri-file-pdf-fill:before{content:""}.ri-file-pdf-line:before{content:""}.ri-file-ppt-2-fill:before{content:""}.ri-file-ppt-2-line:before{content:""}.ri-file-ppt-fill:before{content:""}.ri-file-ppt-line:before{content:""}.ri-file-reduce-fill:before{content:""}.ri-file-reduce-line:before{content:""}.ri-file-search-fill:before{content:""}.ri-file-search-line:before{content:""}.ri-file-settings-fill:before{content:""}.ri-file-settings-line:before{content:""}.ri-file-shield-2-fill:before{content:""}.ri-file-shield-2-line:before{content:""}.ri-file-shield-fill:before{content:""}.ri-file-shield-line:before{content:""}.ri-file-shred-fill:before{content:""}.ri-file-shred-line:before{content:""}.ri-file-text-fill:before{content:""}.ri-file-text-line:before{content:""}.ri-file-transfer-fill:before{content:""}.ri-file-transfer-line:before{content:""}.ri-file-unknow-fill:before{content:""}.ri-file-unknow-line:before{content:""}.ri-file-upload-fill:before{content:""}.ri-file-upload-line:before{content:""}.ri-file-user-fill:before{content:""}.ri-file-user-line:before{content:""}.ri-file-warning-fill:before{content:""}.ri-file-warning-line:before{content:""}.ri-file-word-2-fill:before{content:""}.ri-file-word-2-line:before{content:""}.ri-file-word-fill:before{content:""}.ri-file-word-line:before{content:""}.ri-file-zip-fill:before{content:""}.ri-file-zip-line:before{content:""}.ri-film-fill:before{content:""}.ri-film-line:before{content:""}.ri-filter-2-fill:before{content:""}.ri-filter-2-line:before{content:""}.ri-filter-3-fill:before{content:""}.ri-filter-3-line:before{content:""}.ri-filter-fill:before{content:""}.ri-filter-line:before{content:""}.ri-filter-off-fill:before{content:""}.ri-filter-off-line:before{content:""}.ri-find-replace-fill:before{content:""}.ri-find-replace-line:before{content:""}.ri-finder-fill:before{content:""}.ri-finder-line:before{content:""}.ri-fingerprint-2-fill:before{content:""}.ri-fingerprint-2-line:before{content:""}.ri-fingerprint-fill:before{content:""}.ri-fingerprint-line:before{content:""}.ri-fire-fill:before{content:""}.ri-fire-line:before{content:""}.ri-firefox-fill:before{content:""}.ri-firefox-line:before{content:""}.ri-first-aid-kit-fill:before{content:""}.ri-first-aid-kit-line:before{content:""}.ri-flag-2-fill:before{content:""}.ri-flag-2-line:before{content:""}.ri-flag-fill:before{content:""}.ri-flag-line:before{content:""}.ri-flashlight-fill:before{content:""}.ri-flashlight-line:before{content:""}.ri-flask-fill:before{content:""}.ri-flask-line:before{content:""}.ri-flight-land-fill:before{content:""}.ri-flight-land-line:before{content:""}.ri-flight-takeoff-fill:before{content:""}.ri-flight-takeoff-line:before{content:""}.ri-flood-fill:before{content:""}.ri-flood-line:before{content:""}.ri-flow-chart:before{content:""}.ri-flutter-fill:before{content:""}.ri-flutter-line:before{content:""}.ri-focus-2-fill:before{content:""}.ri-focus-2-line:before{content:""}.ri-focus-3-fill:before{content:""}.ri-focus-3-line:before{content:""}.ri-focus-fill:before{content:""}.ri-focus-line:before{content:""}.ri-foggy-fill:before{content:""}.ri-foggy-line:before{content:""}.ri-folder-2-fill:before{content:""}.ri-folder-2-line:before{content:""}.ri-folder-3-fill:before{content:""}.ri-folder-3-line:before{content:""}.ri-folder-4-fill:before{content:""}.ri-folder-4-line:before{content:""}.ri-folder-5-fill:before{content:""}.ri-folder-5-line:before{content:""}.ri-folder-add-fill:before{content:""}.ri-folder-add-line:before{content:""}.ri-folder-chart-2-fill:before{content:""}.ri-folder-chart-2-line:before{content:""}.ri-folder-chart-fill:before{content:""}.ri-folder-chart-line:before{content:""}.ri-folder-download-fill:before{content:""}.ri-folder-download-line:before{content:""}.ri-folder-fill:before{content:""}.ri-folder-forbid-fill:before{content:""}.ri-folder-forbid-line:before{content:""}.ri-folder-history-fill:before{content:""}.ri-folder-history-line:before{content:""}.ri-folder-info-fill:before{content:""}.ri-folder-info-line:before{content:""}.ri-folder-keyhole-fill:before{content:""}.ri-folder-keyhole-line:before{content:""}.ri-folder-line:before{content:""}.ri-folder-lock-fill:before{content:""}.ri-folder-lock-line:before{content:""}.ri-folder-music-fill:before{content:""}.ri-folder-music-line:before{content:""}.ri-folder-open-fill:before{content:""}.ri-folder-open-line:before{content:""}.ri-folder-received-fill:before{content:""}.ri-folder-received-line:before{content:""}.ri-folder-reduce-fill:before{content:""}.ri-folder-reduce-line:before{content:""}.ri-folder-settings-fill:before{content:""}.ri-folder-settings-line:before{content:""}.ri-folder-shared-fill:before{content:""}.ri-folder-shared-line:before{content:""}.ri-folder-shield-2-fill:before{content:""}.ri-folder-shield-2-line:before{content:""}.ri-folder-shield-fill:before{content:""}.ri-folder-shield-line:before{content:""}.ri-folder-transfer-fill:before{content:""}.ri-folder-transfer-line:before{content:""}.ri-folder-unknow-fill:before{content:""}.ri-folder-unknow-line:before{content:""}.ri-folder-upload-fill:before{content:""}.ri-folder-upload-line:before{content:""}.ri-folder-user-fill:before{content:""}.ri-folder-user-line:before{content:""}.ri-folder-warning-fill:before{content:""}.ri-folder-warning-line:before{content:""}.ri-folder-zip-fill:before{content:""}.ri-folder-zip-line:before{content:""}.ri-folders-fill:before{content:""}.ri-folders-line:before{content:""}.ri-font-color:before{content:""}.ri-font-size-2:before{content:""}.ri-font-size:before{content:""}.ri-football-fill:before{content:""}.ri-football-line:before{content:""}.ri-footprint-fill:before{content:""}.ri-footprint-line:before{content:""}.ri-forbid-2-fill:before{content:""}.ri-forbid-2-line:before{content:""}.ri-forbid-fill:before{content:""}.ri-forbid-line:before{content:""}.ri-format-clear:before{content:""}.ri-fridge-fill:before{content:""}.ri-fridge-line:before{content:""}.ri-fullscreen-exit-fill:before{content:""}.ri-fullscreen-exit-line:before{content:""}.ri-fullscreen-fill:before{content:""}.ri-fullscreen-line:before{content:""}.ri-function-fill:before{content:""}.ri-function-line:before{content:""}.ri-functions:before{content:""}.ri-funds-box-fill:before{content:""}.ri-funds-box-line:before{content:""}.ri-funds-fill:before{content:""}.ri-funds-line:before{content:""}.ri-gallery-fill:before{content:""}.ri-gallery-line:before{content:""}.ri-gallery-upload-fill:before{content:""}.ri-gallery-upload-line:before{content:""}.ri-game-fill:before{content:""}.ri-game-line:before{content:""}.ri-gamepad-fill:before{content:""}.ri-gamepad-line:before{content:""}.ri-gas-station-fill:before{content:""}.ri-gas-station-line:before{content:""}.ri-gatsby-fill:before{content:""}.ri-gatsby-line:before{content:""}.ri-genderless-fill:before{content:""}.ri-genderless-line:before{content:""}.ri-ghost-2-fill:before{content:""}.ri-ghost-2-line:before{content:""}.ri-ghost-fill:before{content:""}.ri-ghost-line:before{content:""}.ri-ghost-smile-fill:before{content:""}.ri-ghost-smile-line:before{content:""}.ri-gift-2-fill:before{content:""}.ri-gift-2-line:before{content:""}.ri-gift-fill:before{content:""}.ri-gift-line:before{content:""}.ri-git-branch-fill:before{content:""}.ri-git-branch-line:before{content:""}.ri-git-commit-fill:before{content:""}.ri-git-commit-line:before{content:""}.ri-git-merge-fill:before{content:""}.ri-git-merge-line:before{content:""}.ri-git-pull-request-fill:before{content:""}.ri-git-pull-request-line:before{content:""}.ri-git-repository-commits-fill:before{content:""}.ri-git-repository-commits-line:before{content:""}.ri-git-repository-fill:before{content:""}.ri-git-repository-line:before{content:""}.ri-git-repository-private-fill:before{content:""}.ri-git-repository-private-line:before{content:""}.ri-github-fill:before{content:""}.ri-github-line:before{content:""}.ri-gitlab-fill:before{content:""}.ri-gitlab-line:before{content:""}.ri-global-fill:before{content:""}.ri-global-line:before{content:""}.ri-globe-fill:before{content:""}.ri-globe-line:before{content:""}.ri-goblet-fill:before{content:""}.ri-goblet-line:before{content:""}.ri-google-fill:before{content:""}.ri-google-line:before{content:""}.ri-google-play-fill:before{content:""}.ri-google-play-line:before{content:""}.ri-government-fill:before{content:""}.ri-government-line:before{content:""}.ri-gps-fill:before{content:""}.ri-gps-line:before{content:""}.ri-gradienter-fill:before{content:""}.ri-gradienter-line:before{content:""}.ri-grid-fill:before{content:""}.ri-grid-line:before{content:""}.ri-group-2-fill:before{content:""}.ri-group-2-line:before{content:""}.ri-group-fill:before{content:""}.ri-group-line:before{content:""}.ri-guide-fill:before{content:""}.ri-guide-line:before{content:""}.ri-h-1:before{content:""}.ri-h-2:before{content:""}.ri-h-3:before{content:""}.ri-h-4:before{content:""}.ri-h-5:before{content:""}.ri-h-6:before{content:""}.ri-hail-fill:before{content:""}.ri-hail-line:before{content:""}.ri-hammer-fill:before{content:""}.ri-hammer-line:before{content:""}.ri-hand-coin-fill:before{content:""}.ri-hand-coin-line:before{content:""}.ri-hand-heart-fill:before{content:""}.ri-hand-heart-line:before{content:""}.ri-hand-sanitizer-fill:before{content:""}.ri-hand-sanitizer-line:before{content:""}.ri-handbag-fill:before{content:""}.ri-handbag-line:before{content:""}.ri-hard-drive-2-fill:before{content:""}.ri-hard-drive-2-line:before{content:""}.ri-hard-drive-fill:before{content:""}.ri-hard-drive-line:before{content:""}.ri-hashtag:before{content:""}.ri-haze-2-fill:before{content:""}.ri-haze-2-line:before{content:""}.ri-haze-fill:before{content:""}.ri-haze-line:before{content:""}.ri-hd-fill:before{content:""}.ri-hd-line:before{content:""}.ri-heading:before{content:""}.ri-headphone-fill:before{content:""}.ri-headphone-line:before{content:""}.ri-health-book-fill:before{content:""}.ri-health-book-line:before{content:""}.ri-heart-2-fill:before{content:""}.ri-heart-2-line:before{content:""}.ri-heart-3-fill:before{content:""}.ri-heart-3-line:before{content:""}.ri-heart-add-fill:before{content:""}.ri-heart-add-line:before{content:""}.ri-heart-fill:before{content:""}.ri-heart-line:before{content:""}.ri-heart-pulse-fill:before{content:""}.ri-heart-pulse-line:before{content:""}.ri-hearts-fill:before{content:""}.ri-hearts-line:before{content:""}.ri-heavy-showers-fill:before{content:""}.ri-heavy-showers-line:before{content:""}.ri-history-fill:before{content:""}.ri-history-line:before{content:""}.ri-home-2-fill:before{content:""}.ri-home-2-line:before{content:""}.ri-home-3-fill:before{content:""}.ri-home-3-line:before{content:""}.ri-home-4-fill:before{content:""}.ri-home-4-line:before{content:""}.ri-home-5-fill:before{content:""}.ri-home-5-line:before{content:""}.ri-home-6-fill:before{content:""}.ri-home-6-line:before{content:""}.ri-home-7-fill:before{content:""}.ri-home-7-line:before{content:""}.ri-home-8-fill:before{content:""}.ri-home-8-line:before{content:""}.ri-home-fill:before{content:""}.ri-home-gear-fill:before{content:""}.ri-home-gear-line:before{content:""}.ri-home-heart-fill:before{content:""}.ri-home-heart-line:before{content:""}.ri-home-line:before{content:""}.ri-home-smile-2-fill:before{content:""}.ri-home-smile-2-line:before{content:""}.ri-home-smile-fill:before{content:""}.ri-home-smile-line:before{content:""}.ri-home-wifi-fill:before{content:""}.ri-home-wifi-line:before{content:""}.ri-honor-of-kings-fill:before{content:""}.ri-honor-of-kings-line:before{content:""}.ri-honour-fill:before{content:""}.ri-honour-line:before{content:""}.ri-hospital-fill:before{content:""}.ri-hospital-line:before{content:""}.ri-hotel-bed-fill:before{content:""}.ri-hotel-bed-line:before{content:""}.ri-hotel-fill:before{content:""}.ri-hotel-line:before{content:""}.ri-hotspot-fill:before{content:""}.ri-hotspot-line:before{content:""}.ri-hq-fill:before{content:""}.ri-hq-line:before{content:""}.ri-html5-fill:before{content:""}.ri-html5-line:before{content:""}.ri-ie-fill:before{content:""}.ri-ie-line:before{content:""}.ri-image-2-fill:before{content:""}.ri-image-2-line:before{content:""}.ri-image-add-fill:before{content:""}.ri-image-add-line:before{content:""}.ri-image-edit-fill:before{content:""}.ri-image-edit-line:before{content:""}.ri-image-fill:before{content:""}.ri-image-line:before{content:""}.ri-inbox-archive-fill:before{content:""}.ri-inbox-archive-line:before{content:""}.ri-inbox-fill:before{content:""}.ri-inbox-line:before{content:""}.ri-inbox-unarchive-fill:before{content:""}.ri-inbox-unarchive-line:before{content:""}.ri-increase-decrease-fill:before{content:""}.ri-increase-decrease-line:before{content:""}.ri-indent-decrease:before{content:""}.ri-indent-increase:before{content:""}.ri-indeterminate-circle-fill:before{content:""}.ri-indeterminate-circle-line:before{content:""}.ri-information-fill:before{content:""}.ri-information-line:before{content:""}.ri-infrared-thermometer-fill:before{content:""}.ri-infrared-thermometer-line:before{content:""}.ri-ink-bottle-fill:before{content:""}.ri-ink-bottle-line:before{content:""}.ri-input-cursor-move:before{content:""}.ri-input-method-fill:before{content:""}.ri-input-method-line:before{content:""}.ri-insert-column-left:before{content:""}.ri-insert-column-right:before{content:""}.ri-insert-row-bottom:before{content:""}.ri-insert-row-top:before{content:""}.ri-instagram-fill:before{content:""}.ri-instagram-line:before{content:""}.ri-install-fill:before{content:""}.ri-install-line:before{content:""}.ri-invision-fill:before{content:""}.ri-invision-line:before{content:""}.ri-italic:before{content:""}.ri-kakao-talk-fill:before{content:""}.ri-kakao-talk-line:before{content:""}.ri-key-2-fill:before{content:""}.ri-key-2-line:before{content:""}.ri-key-fill:before{content:""}.ri-key-line:before{content:""}.ri-keyboard-box-fill:before{content:""}.ri-keyboard-box-line:before{content:""}.ri-keyboard-fill:before{content:""}.ri-keyboard-line:before{content:""}.ri-keynote-fill:before{content:""}.ri-keynote-line:before{content:""}.ri-knife-blood-fill:before{content:""}.ri-knife-blood-line:before{content:""}.ri-knife-fill:before{content:""}.ri-knife-line:before{content:""}.ri-landscape-fill:before{content:""}.ri-landscape-line:before{content:""}.ri-layout-2-fill:before{content:""}.ri-layout-2-line:before{content:""}.ri-layout-3-fill:before{content:""}.ri-layout-3-line:before{content:""}.ri-layout-4-fill:before{content:""}.ri-layout-4-line:before{content:""}.ri-layout-5-fill:before{content:""}.ri-layout-5-line:before{content:""}.ri-layout-6-fill:before{content:""}.ri-layout-6-line:before{content:""}.ri-layout-bottom-2-fill:before{content:""}.ri-layout-bottom-2-line:before{content:""}.ri-layout-bottom-fill:before{content:""}.ri-layout-bottom-line:before{content:""}.ri-layout-column-fill:before{content:""}.ri-layout-column-line:before{content:""}.ri-layout-fill:before{content:""}.ri-layout-grid-fill:before{content:""}.ri-layout-grid-line:before{content:""}.ri-layout-left-2-fill:before{content:""}.ri-layout-left-2-line:before{content:""}.ri-layout-left-fill:before{content:""}.ri-layout-left-line:before{content:""}.ri-layout-line:before{content:""}.ri-layout-masonry-fill:before{content:""}.ri-layout-masonry-line:before{content:""}.ri-layout-right-2-fill:before{content:""}.ri-layout-right-2-line:before{content:""}.ri-layout-right-fill:before{content:""}.ri-layout-right-line:before{content:""}.ri-layout-row-fill:before{content:""}.ri-layout-row-line:before{content:""}.ri-layout-top-2-fill:before{content:""}.ri-layout-top-2-line:before{content:""}.ri-layout-top-fill:before{content:""}.ri-layout-top-line:before{content:""}.ri-leaf-fill:before{content:""}.ri-leaf-line:before{content:""}.ri-lifebuoy-fill:before{content:""}.ri-lifebuoy-line:before{content:""}.ri-lightbulb-fill:before{content:""}.ri-lightbulb-flash-fill:before{content:""}.ri-lightbulb-flash-line:before{content:""}.ri-lightbulb-line:before{content:""}.ri-line-chart-fill:before{content:""}.ri-line-chart-line:before{content:""}.ri-line-fill:before{content:""}.ri-line-height:before{content:""}.ri-line-line:before{content:""}.ri-link-m:before{content:""}.ri-link-unlink-m:before{content:""}.ri-link-unlink:before{content:""}.ri-link:before{content:""}.ri-linkedin-box-fill:before{content:""}.ri-linkedin-box-line:before{content:""}.ri-linkedin-fill:before{content:""}.ri-linkedin-line:before{content:""}.ri-links-fill:before{content:""}.ri-links-line:before{content:""}.ri-list-check-2:before{content:""}.ri-list-check:before{content:""}.ri-list-ordered:before{content:""}.ri-list-settings-fill:before{content:""}.ri-list-settings-line:before{content:""}.ri-list-unordered:before{content:""}.ri-live-fill:before{content:""}.ri-live-line:before{content:""}.ri-loader-2-fill:before{content:""}.ri-loader-2-line:before{content:""}.ri-loader-3-fill:before{content:""}.ri-loader-3-line:before{content:""}.ri-loader-4-fill:before{content:""}.ri-loader-4-line:before{content:""}.ri-loader-5-fill:before{content:""}.ri-loader-5-line:before{content:""}.ri-loader-fill:before{content:""}.ri-loader-line:before{content:""}.ri-lock-2-fill:before{content:""}.ri-lock-2-line:before{content:""}.ri-lock-fill:before{content:""}.ri-lock-line:before{content:""}.ri-lock-password-fill:before{content:""}.ri-lock-password-line:before{content:""}.ri-lock-unlock-fill:before{content:""}.ri-lock-unlock-line:before{content:""}.ri-login-box-fill:before{content:""}.ri-login-box-line:before{content:""}.ri-login-circle-fill:before{content:""}.ri-login-circle-line:before{content:""}.ri-logout-box-fill:before{content:""}.ri-logout-box-line:before{content:""}.ri-logout-box-r-fill:before{content:""}.ri-logout-box-r-line:before{content:""}.ri-logout-circle-fill:before{content:""}.ri-logout-circle-line:before{content:""}.ri-logout-circle-r-fill:before{content:""}.ri-logout-circle-r-line:before{content:""}.ri-luggage-cart-fill:before{content:""}.ri-luggage-cart-line:before{content:""}.ri-luggage-deposit-fill:before{content:""}.ri-luggage-deposit-line:before{content:""}.ri-lungs-fill:before{content:""}.ri-lungs-line:before{content:""}.ri-mac-fill:before{content:""}.ri-mac-line:before{content:""}.ri-macbook-fill:before{content:""}.ri-macbook-line:before{content:""}.ri-magic-fill:before{content:""}.ri-magic-line:before{content:""}.ri-mail-add-fill:before{content:""}.ri-mail-add-line:before{content:""}.ri-mail-check-fill:before{content:""}.ri-mail-check-line:before{content:""}.ri-mail-close-fill:before{content:""}.ri-mail-close-line:before{content:""}.ri-mail-download-fill:before{content:""}.ri-mail-download-line:before{content:""}.ri-mail-fill:before{content:""}.ri-mail-forbid-fill:before{content:""}.ri-mail-forbid-line:before{content:""}.ri-mail-line:before{content:""}.ri-mail-lock-fill:before{content:""}.ri-mail-lock-line:before{content:""}.ri-mail-open-fill:before{content:""}.ri-mail-open-line:before{content:""}.ri-mail-send-fill:before{content:""}.ri-mail-send-line:before{content:""}.ri-mail-settings-fill:before{content:""}.ri-mail-settings-line:before{content:""}.ri-mail-star-fill:before{content:""}.ri-mail-star-line:before{content:""}.ri-mail-unread-fill:before{content:""}.ri-mail-unread-line:before{content:""}.ri-mail-volume-fill:before{content:""}.ri-mail-volume-line:before{content:""}.ri-map-2-fill:before{content:""}.ri-map-2-line:before{content:""}.ri-map-fill:before{content:""}.ri-map-line:before{content:""}.ri-map-pin-2-fill:before{content:""}.ri-map-pin-2-line:before{content:""}.ri-map-pin-3-fill:before{content:""}.ri-map-pin-3-line:before{content:""}.ri-map-pin-4-fill:before{content:""}.ri-map-pin-4-line:before{content:""}.ri-map-pin-5-fill:before{content:""}.ri-map-pin-5-line:before{content:""}.ri-map-pin-add-fill:before{content:""}.ri-map-pin-add-line:before{content:""}.ri-map-pin-fill:before{content:""}.ri-map-pin-line:before{content:""}.ri-map-pin-range-fill:before{content:""}.ri-map-pin-range-line:before{content:""}.ri-map-pin-time-fill:before{content:""}.ri-map-pin-time-line:before{content:""}.ri-map-pin-user-fill:before{content:""}.ri-map-pin-user-line:before{content:""}.ri-mark-pen-fill:before{content:""}.ri-mark-pen-line:before{content:""}.ri-markdown-fill:before{content:""}.ri-markdown-line:before{content:""}.ri-markup-fill:before{content:""}.ri-markup-line:before{content:""}.ri-mastercard-fill:before{content:""}.ri-mastercard-line:before{content:""}.ri-mastodon-fill:before{content:""}.ri-mastodon-line:before{content:""}.ri-medal-2-fill:before{content:""}.ri-medal-2-line:before{content:""}.ri-medal-fill:before{content:""}.ri-medal-line:before{content:""}.ri-medicine-bottle-fill:before{content:""}.ri-medicine-bottle-line:before{content:""}.ri-medium-fill:before{content:""}.ri-medium-line:before{content:""}.ri-men-fill:before{content:""}.ri-men-line:before{content:""}.ri-mental-health-fill:before{content:""}.ri-mental-health-line:before{content:""}.ri-menu-2-fill:before{content:""}.ri-menu-2-line:before{content:""}.ri-menu-3-fill:before{content:""}.ri-menu-3-line:before{content:""}.ri-menu-4-fill:before{content:""}.ri-menu-4-line:before{content:""}.ri-menu-5-fill:before{content:""}.ri-menu-5-line:before{content:""}.ri-menu-add-fill:before{content:""}.ri-menu-add-line:before{content:""}.ri-menu-fill:before{content:""}.ri-menu-fold-fill:before{content:""}.ri-menu-fold-line:before{content:""}.ri-menu-line:before{content:""}.ri-menu-unfold-fill:before{content:""}.ri-menu-unfold-line:before{content:""}.ri-merge-cells-horizontal:before{content:""}.ri-merge-cells-vertical:before{content:""}.ri-message-2-fill:before{content:""}.ri-message-2-line:before{content:""}.ri-message-3-fill:before{content:""}.ri-message-3-line:before{content:""}.ri-message-fill:before{content:""}.ri-message-line:before{content:""}.ri-messenger-fill:before{content:""}.ri-messenger-line:before{content:""}.ri-meteor-fill:before{content:""}.ri-meteor-line:before{content:""}.ri-mic-2-fill:before{content:""}.ri-mic-2-line:before{content:""}.ri-mic-fill:before{content:""}.ri-mic-line:before{content:""}.ri-mic-off-fill:before{content:""}.ri-mic-off-line:before{content:""}.ri-mickey-fill:before{content:""}.ri-mickey-line:before{content:""}.ri-microscope-fill:before{content:""}.ri-microscope-line:before{content:""}.ri-microsoft-fill:before{content:""}.ri-microsoft-line:before{content:""}.ri-mind-map:before{content:""}.ri-mini-program-fill:before{content:""}.ri-mini-program-line:before{content:""}.ri-mist-fill:before{content:""}.ri-mist-line:before{content:""}.ri-money-cny-box-fill:before{content:""}.ri-money-cny-box-line:before{content:""}.ri-money-cny-circle-fill:before{content:""}.ri-money-cny-circle-line:before{content:""}.ri-money-dollar-box-fill:before{content:""}.ri-money-dollar-box-line:before{content:""}.ri-money-dollar-circle-fill:before{content:""}.ri-money-dollar-circle-line:before{content:""}.ri-money-euro-box-fill:before{content:""}.ri-money-euro-box-line:before{content:""}.ri-money-euro-circle-fill:before{content:""}.ri-money-euro-circle-line:before{content:""}.ri-money-pound-box-fill:before{content:""}.ri-money-pound-box-line:before{content:""}.ri-money-pound-circle-fill:before{content:""}.ri-money-pound-circle-line:before{content:""}.ri-moon-clear-fill:before{content:""}.ri-moon-clear-line:before{content:""}.ri-moon-cloudy-fill:before{content:""}.ri-moon-cloudy-line:before{content:""}.ri-moon-fill:before{content:""}.ri-moon-foggy-fill:before{content:""}.ri-moon-foggy-line:before{content:""}.ri-moon-line:before{content:""}.ri-more-2-fill:before{content:""}.ri-more-2-line:before{content:""}.ri-more-fill:before{content:""}.ri-more-line:before{content:""}.ri-motorbike-fill:before{content:""}.ri-motorbike-line:before{content:""}.ri-mouse-fill:before{content:""}.ri-mouse-line:before{content:""}.ri-movie-2-fill:before{content:""}.ri-movie-2-line:before{content:""}.ri-movie-fill:before{content:""}.ri-movie-line:before{content:""}.ri-music-2-fill:before{content:""}.ri-music-2-line:before{content:""}.ri-music-fill:before{content:""}.ri-music-line:before{content:""}.ri-mv-fill:before{content:""}.ri-mv-line:before{content:""}.ri-navigation-fill:before{content:""}.ri-navigation-line:before{content:""}.ri-netease-cloud-music-fill:before{content:""}.ri-netease-cloud-music-line:before{content:""}.ri-netflix-fill:before{content:""}.ri-netflix-line:before{content:""}.ri-newspaper-fill:before{content:""}.ri-newspaper-line:before{content:""}.ri-node-tree:before{content:""}.ri-notification-2-fill:before{content:""}.ri-notification-2-line:before{content:""}.ri-notification-3-fill:before{content:""}.ri-notification-3-line:before{content:""}.ri-notification-4-fill:before{content:""}.ri-notification-4-line:before{content:""}.ri-notification-badge-fill:before{content:""}.ri-notification-badge-line:before{content:""}.ri-notification-fill:before{content:""}.ri-notification-line:before{content:""}.ri-notification-off-fill:before{content:""}.ri-notification-off-line:before{content:""}.ri-npmjs-fill:before{content:""}.ri-npmjs-line:before{content:""}.ri-number-0:before{content:""}.ri-number-1:before{content:""}.ri-number-2:before{content:""}.ri-number-3:before{content:""}.ri-number-4:before{content:""}.ri-number-5:before{content:""}.ri-number-6:before{content:""}.ri-number-7:before{content:""}.ri-number-8:before{content:""}.ri-number-9:before{content:""}.ri-numbers-fill:before{content:""}.ri-numbers-line:before{content:""}.ri-nurse-fill:before{content:""}.ri-nurse-line:before{content:""}.ri-oil-fill:before{content:""}.ri-oil-line:before{content:""}.ri-omega:before{content:""}.ri-open-arm-fill:before{content:""}.ri-open-arm-line:before{content:""}.ri-open-source-fill:before{content:""}.ri-open-source-line:before{content:""}.ri-opera-fill:before{content:""}.ri-opera-line:before{content:""}.ri-order-play-fill:before{content:""}.ri-order-play-line:before{content:""}.ri-organization-chart:before{content:""}.ri-outlet-2-fill:before{content:""}.ri-outlet-2-line:before{content:""}.ri-outlet-fill:before{content:""}.ri-outlet-line:before{content:""}.ri-page-separator:before{content:""}.ri-pages-fill:before{content:""}.ri-pages-line:before{content:""}.ri-paint-brush-fill:before{content:""}.ri-paint-brush-line:before{content:""}.ri-paint-fill:before{content:""}.ri-paint-line:before{content:""}.ri-palette-fill:before{content:""}.ri-palette-line:before{content:""}.ri-pantone-fill:before{content:""}.ri-pantone-line:before{content:""}.ri-paragraph:before{content:""}.ri-parent-fill:before{content:""}.ri-parent-line:before{content:""}.ri-parentheses-fill:before{content:""}.ri-parentheses-line:before{content:""}.ri-parking-box-fill:before{content:""}.ri-parking-box-line:before{content:""}.ri-parking-fill:before{content:""}.ri-parking-line:before{content:""}.ri-passport-fill:before{content:""}.ri-passport-line:before{content:""}.ri-patreon-fill:before{content:""}.ri-patreon-line:before{content:""}.ri-pause-circle-fill:before{content:""}.ri-pause-circle-line:before{content:""}.ri-pause-fill:before{content:""}.ri-pause-line:before{content:""}.ri-pause-mini-fill:before{content:""}.ri-pause-mini-line:before{content:""}.ri-paypal-fill:before{content:""}.ri-paypal-line:before{content:""}.ri-pen-nib-fill:before{content:""}.ri-pen-nib-line:before{content:""}.ri-pencil-fill:before{content:""}.ri-pencil-line:before{content:""}.ri-pencil-ruler-2-fill:before{content:""}.ri-pencil-ruler-2-line:before{content:""}.ri-pencil-ruler-fill:before{content:""}.ri-pencil-ruler-line:before{content:""}.ri-percent-fill:before{content:""}.ri-percent-line:before{content:""}.ri-phone-camera-fill:before{content:""}.ri-phone-camera-line:before{content:""}.ri-phone-fill:before{content:""}.ri-phone-find-fill:before{content:""}.ri-phone-find-line:before{content:""}.ri-phone-line:before{content:""}.ri-phone-lock-fill:before{content:""}.ri-phone-lock-line:before{content:""}.ri-picture-in-picture-2-fill:before{content:""}.ri-picture-in-picture-2-line:before{content:""}.ri-picture-in-picture-exit-fill:before{content:""}.ri-picture-in-picture-exit-line:before{content:""}.ri-picture-in-picture-fill:before{content:""}.ri-picture-in-picture-line:before{content:""}.ri-pie-chart-2-fill:before{content:""}.ri-pie-chart-2-line:before{content:""}.ri-pie-chart-box-fill:before{content:""}.ri-pie-chart-box-line:before{content:""}.ri-pie-chart-fill:before{content:""}.ri-pie-chart-line:before{content:""}.ri-pin-distance-fill:before{content:""}.ri-pin-distance-line:before{content:""}.ri-ping-pong-fill:before{content:""}.ri-ping-pong-line:before{content:""}.ri-pinterest-fill:before{content:""}.ri-pinterest-line:before{content:""}.ri-pinyin-input:before{content:""}.ri-pixelfed-fill:before{content:""}.ri-pixelfed-line:before{content:""}.ri-plane-fill:before{content:""}.ri-plane-line:before{content:""}.ri-plant-fill:before{content:""}.ri-plant-line:before{content:""}.ri-play-circle-fill:before{content:""}.ri-play-circle-line:before{content:""}.ri-play-fill:before{content:""}.ri-play-line:before{content:""}.ri-play-list-2-fill:before{content:""}.ri-play-list-2-line:before{content:""}.ri-play-list-add-fill:before{content:""}.ri-play-list-add-line:before{content:""}.ri-play-list-fill:before{content:""}.ri-play-list-line:before{content:""}.ri-play-mini-fill:before{content:""}.ri-play-mini-line:before{content:""}.ri-playstation-fill:before{content:""}.ri-playstation-line:before{content:""}.ri-plug-2-fill:before{content:""}.ri-plug-2-line:before{content:""}.ri-plug-fill:before{content:""}.ri-plug-line:before{content:""}.ri-polaroid-2-fill:before{content:""}.ri-polaroid-2-line:before{content:""}.ri-polaroid-fill:before{content:""}.ri-polaroid-line:before{content:""}.ri-police-car-fill:before{content:""}.ri-police-car-line:before{content:""}.ri-price-tag-2-fill:before{content:""}.ri-price-tag-2-line:before{content:""}.ri-price-tag-3-fill:before{content:""}.ri-price-tag-3-line:before{content:""}.ri-price-tag-fill:before{content:""}.ri-price-tag-line:before{content:""}.ri-printer-cloud-fill:before{content:""}.ri-printer-cloud-line:before{content:""}.ri-printer-fill:before{content:""}.ri-printer-line:before{content:""}.ri-product-hunt-fill:before{content:""}.ri-product-hunt-line:before{content:""}.ri-profile-fill:before{content:""}.ri-profile-line:before{content:""}.ri-projector-2-fill:before{content:""}.ri-projector-2-line:before{content:""}.ri-projector-fill:before{content:""}.ri-projector-line:before{content:""}.ri-psychotherapy-fill:before{content:""}.ri-psychotherapy-line:before{content:""}.ri-pulse-fill:before{content:""}.ri-pulse-line:before{content:""}.ri-pushpin-2-fill:before{content:""}.ri-pushpin-2-line:before{content:""}.ri-pushpin-fill:before{content:""}.ri-pushpin-line:before{content:""}.ri-qq-fill:before{content:""}.ri-qq-line:before{content:""}.ri-qr-code-fill:before{content:""}.ri-qr-code-line:before{content:""}.ri-qr-scan-2-fill:before{content:""}.ri-qr-scan-2-line:before{content:""}.ri-qr-scan-fill:before{content:""}.ri-qr-scan-line:before{content:""}.ri-question-answer-fill:before{content:""}.ri-question-answer-line:before{content:""}.ri-question-fill:before{content:""}.ri-question-line:before{content:""}.ri-question-mark:before{content:""}.ri-questionnaire-fill:before{content:""}.ri-questionnaire-line:before{content:""}.ri-quill-pen-fill:before{content:""}.ri-quill-pen-line:before{content:""}.ri-radar-fill:before{content:""}.ri-radar-line:before{content:""}.ri-radio-2-fill:before{content:""}.ri-radio-2-line:before{content:""}.ri-radio-button-fill:before{content:""}.ri-radio-button-line:before{content:""}.ri-radio-fill:before{content:""}.ri-radio-line:before{content:""}.ri-rainbow-fill:before{content:""}.ri-rainbow-line:before{content:""}.ri-rainy-fill:before{content:""}.ri-rainy-line:before{content:""}.ri-reactjs-fill:before{content:""}.ri-reactjs-line:before{content:""}.ri-record-circle-fill:before{content:""}.ri-record-circle-line:before{content:""}.ri-record-mail-fill:before{content:""}.ri-record-mail-line:before{content:""}.ri-recycle-fill:before{content:""}.ri-recycle-line:before{content:""}.ri-red-packet-fill:before{content:""}.ri-red-packet-line:before{content:""}.ri-reddit-fill:before{content:""}.ri-reddit-line:before{content:""}.ri-refresh-fill:before{content:""}.ri-refresh-line:before{content:""}.ri-refund-2-fill:before{content:""}.ri-refund-2-line:before{content:""}.ri-refund-fill:before{content:""}.ri-refund-line:before{content:""}.ri-registered-fill:before{content:""}.ri-registered-line:before{content:""}.ri-remixicon-fill:before{content:""}.ri-remixicon-line:before{content:""}.ri-remote-control-2-fill:before{content:""}.ri-remote-control-2-line:before{content:""}.ri-remote-control-fill:before{content:""}.ri-remote-control-line:before{content:""}.ri-repeat-2-fill:before{content:""}.ri-repeat-2-line:before{content:""}.ri-repeat-fill:before{content:""}.ri-repeat-line:before{content:""}.ri-repeat-one-fill:before{content:""}.ri-repeat-one-line:before{content:""}.ri-reply-all-fill:before{content:""}.ri-reply-all-line:before{content:""}.ri-reply-fill:before{content:""}.ri-reply-line:before{content:""}.ri-reserved-fill:before{content:""}.ri-reserved-line:before{content:""}.ri-rest-time-fill:before{content:""}.ri-rest-time-line:before{content:""}.ri-restart-fill:before{content:""}.ri-restart-line:before{content:""}.ri-restaurant-2-fill:before{content:""}.ri-restaurant-2-line:before{content:""}.ri-restaurant-fill:before{content:""}.ri-restaurant-line:before{content:""}.ri-rewind-fill:before{content:""}.ri-rewind-line:before{content:""}.ri-rewind-mini-fill:before{content:""}.ri-rewind-mini-line:before{content:""}.ri-rhythm-fill:before{content:""}.ri-rhythm-line:before{content:""}.ri-riding-fill:before{content:""}.ri-riding-line:before{content:""}.ri-road-map-fill:before{content:""}.ri-road-map-line:before{content:""}.ri-roadster-fill:before{content:""}.ri-roadster-line:before{content:""}.ri-robot-fill:before{content:""}.ri-robot-line:before{content:""}.ri-rocket-2-fill:before{content:""}.ri-rocket-2-line:before{content:""}.ri-rocket-fill:before{content:""}.ri-rocket-line:before{content:""}.ri-rotate-lock-fill:before{content:""}.ri-rotate-lock-line:before{content:""}.ri-rounded-corner:before{content:""}.ri-route-fill:before{content:""}.ri-route-line:before{content:""}.ri-router-fill:before{content:""}.ri-router-line:before{content:""}.ri-rss-fill:before{content:""}.ri-rss-line:before{content:""}.ri-ruler-2-fill:before{content:""}.ri-ruler-2-line:before{content:""}.ri-ruler-fill:before{content:""}.ri-ruler-line:before{content:""}.ri-run-fill:before{content:""}.ri-run-line:before{content:""}.ri-safari-fill:before{content:""}.ri-safari-line:before{content:""}.ri-safe-2-fill:before{content:""}.ri-safe-2-line:before{content:""}.ri-safe-fill:before{content:""}.ri-safe-line:before{content:""}.ri-sailboat-fill:before{content:""}.ri-sailboat-line:before{content:""}.ri-save-2-fill:before{content:""}.ri-save-2-line:before{content:""}.ri-save-3-fill:before{content:""}.ri-save-3-line:before{content:""}.ri-save-fill:before{content:""}.ri-save-line:before{content:""}.ri-scales-2-fill:before{content:""}.ri-scales-2-line:before{content:""}.ri-scales-3-fill:before{content:""}.ri-scales-3-line:before{content:""}.ri-scales-fill:before{content:""}.ri-scales-line:before{content:""}.ri-scan-2-fill:before{content:""}.ri-scan-2-line:before{content:""}.ri-scan-fill:before{content:""}.ri-scan-line:before{content:""}.ri-scissors-2-fill:before{content:""}.ri-scissors-2-line:before{content:""}.ri-scissors-cut-fill:before{content:""}.ri-scissors-cut-line:before{content:""}.ri-scissors-fill:before{content:""}.ri-scissors-line:before{content:""}.ri-screenshot-2-fill:before{content:""}.ri-screenshot-2-line:before{content:""}.ri-screenshot-fill:before{content:""}.ri-screenshot-line:before{content:""}.ri-sd-card-fill:before{content:""}.ri-sd-card-line:before{content:""}.ri-sd-card-mini-fill:before{content:""}.ri-sd-card-mini-line:before{content:""}.ri-search-2-fill:before{content:""}.ri-search-2-line:before{content:""}.ri-search-eye-fill:before{content:""}.ri-search-eye-line:before{content:""}.ri-search-fill:before{content:""}.ri-search-line:before{content:""}.ri-secure-payment-fill:before{content:""}.ri-secure-payment-line:before{content:""}.ri-seedling-fill:before{content:""}.ri-seedling-line:before{content:""}.ri-send-backward:before{content:""}.ri-send-plane-2-fill:before{content:""}.ri-send-plane-2-line:before{content:""}.ri-send-plane-fill:before{content:""}.ri-send-plane-line:before{content:""}.ri-send-to-back:before{content:""}.ri-sensor-fill:before{content:""}.ri-sensor-line:before{content:""}.ri-separator:before{content:""}.ri-server-fill:before{content:""}.ri-server-line:before{content:""}.ri-service-fill:before{content:""}.ri-service-line:before{content:""}.ri-settings-2-fill:before{content:""}.ri-settings-2-line:before{content:""}.ri-settings-3-fill:before{content:""}.ri-settings-3-line:before{content:""}.ri-settings-4-fill:before{content:""}.ri-settings-4-line:before{content:""}.ri-settings-5-fill:before{content:""}.ri-settings-5-line:before{content:""}.ri-settings-6-fill:before{content:""}.ri-settings-6-line:before{content:""}.ri-settings-fill:before{content:""}.ri-settings-line:before{content:""}.ri-shape-2-fill:before{content:""}.ri-shape-2-line:before{content:""}.ri-shape-fill:before{content:""}.ri-shape-line:before{content:""}.ri-share-box-fill:before{content:""}.ri-share-box-line:before{content:""}.ri-share-circle-fill:before{content:""}.ri-share-circle-line:before{content:""}.ri-share-fill:before{content:""}.ri-share-forward-2-fill:before{content:""}.ri-share-forward-2-line:before{content:""}.ri-share-forward-box-fill:before{content:""}.ri-share-forward-box-line:before{content:""}.ri-share-forward-fill:before{content:""}.ri-share-forward-line:before{content:""}.ri-share-line:before{content:""}.ri-shield-check-fill:before{content:""}.ri-shield-check-line:before{content:""}.ri-shield-cross-fill:before{content:""}.ri-shield-cross-line:before{content:""}.ri-shield-fill:before{content:""}.ri-shield-flash-fill:before{content:""}.ri-shield-flash-line:before{content:""}.ri-shield-keyhole-fill:before{content:""}.ri-shield-keyhole-line:before{content:""}.ri-shield-line:before{content:""}.ri-shield-star-fill:before{content:""}.ri-shield-star-line:before{content:""}.ri-shield-user-fill:before{content:""}.ri-shield-user-line:before{content:""}.ri-ship-2-fill:before{content:""}.ri-ship-2-line:before{content:""}.ri-ship-fill:before{content:""}.ri-ship-line:before{content:""}.ri-shirt-fill:before{content:""}.ri-shirt-line:before{content:""}.ri-shopping-bag-2-fill:before{content:""}.ri-shopping-bag-2-line:before{content:""}.ri-shopping-bag-3-fill:before{content:""}.ri-shopping-bag-3-line:before{content:""}.ri-shopping-bag-fill:before{content:""}.ri-shopping-bag-line:before{content:""}.ri-shopping-basket-2-fill:before{content:""}.ri-shopping-basket-2-line:before{content:""}.ri-shopping-basket-fill:before{content:""}.ri-shopping-basket-line:before{content:""}.ri-shopping-cart-2-fill:before{content:""}.ri-shopping-cart-2-line:before{content:""}.ri-shopping-cart-fill:before{content:""}.ri-shopping-cart-line:before{content:""}.ri-showers-fill:before{content:""}.ri-showers-line:before{content:""}.ri-shuffle-fill:before{content:""}.ri-shuffle-line:before{content:""}.ri-shut-down-fill:before{content:""}.ri-shut-down-line:before{content:""}.ri-side-bar-fill:before{content:""}.ri-side-bar-line:before{content:""}.ri-signal-tower-fill:before{content:""}.ri-signal-tower-line:before{content:""}.ri-signal-wifi-1-fill:before{content:""}.ri-signal-wifi-1-line:before{content:""}.ri-signal-wifi-2-fill:before{content:""}.ri-signal-wifi-2-line:before{content:""}.ri-signal-wifi-3-fill:before{content:""}.ri-signal-wifi-3-line:before{content:""}.ri-signal-wifi-error-fill:before{content:""}.ri-signal-wifi-error-line:before{content:""}.ri-signal-wifi-fill:before{content:""}.ri-signal-wifi-line:before{content:""}.ri-signal-wifi-off-fill:before{content:""}.ri-signal-wifi-off-line:before{content:""}.ri-sim-card-2-fill:before{content:""}.ri-sim-card-2-line:before{content:""}.ri-sim-card-fill:before{content:""}.ri-sim-card-line:before{content:""}.ri-single-quotes-l:before{content:""}.ri-single-quotes-r:before{content:""}.ri-sip-fill:before{content:""}.ri-sip-line:before{content:""}.ri-skip-back-fill:before{content:""}.ri-skip-back-line:before{content:""}.ri-skip-back-mini-fill:before{content:""}.ri-skip-back-mini-line:before{content:""}.ri-skip-forward-fill:before{content:""}.ri-skip-forward-line:before{content:""}.ri-skip-forward-mini-fill:before{content:""}.ri-skip-forward-mini-line:before{content:""}.ri-skull-2-fill:before{content:""}.ri-skull-2-line:before{content:""}.ri-skull-fill:before{content:""}.ri-skull-line:before{content:""}.ri-skype-fill:before{content:""}.ri-skype-line:before{content:""}.ri-slack-fill:before{content:""}.ri-slack-line:before{content:""}.ri-slice-fill:before{content:""}.ri-slice-line:before{content:""}.ri-slideshow-2-fill:before{content:""}.ri-slideshow-2-line:before{content:""}.ri-slideshow-3-fill:before{content:""}.ri-slideshow-3-line:before{content:""}.ri-slideshow-4-fill:before{content:""}.ri-slideshow-4-line:before{content:""}.ri-slideshow-fill:before{content:""}.ri-slideshow-line:before{content:""}.ri-smartphone-fill:before{content:""}.ri-smartphone-line:before{content:""}.ri-snapchat-fill:before{content:""}.ri-snapchat-line:before{content:""}.ri-snowy-fill:before{content:""}.ri-snowy-line:before{content:""}.ri-sort-asc:before{content:""}.ri-sort-desc:before{content:""}.ri-sound-module-fill:before{content:""}.ri-sound-module-line:before{content:""}.ri-soundcloud-fill:before{content:""}.ri-soundcloud-line:before{content:""}.ri-space-ship-fill:before{content:""}.ri-space-ship-line:before{content:""}.ri-space:before{content:""}.ri-spam-2-fill:before{content:""}.ri-spam-2-line:before{content:""}.ri-spam-3-fill:before{content:""}.ri-spam-3-line:before{content:""}.ri-spam-fill:before{content:""}.ri-spam-line:before{content:""}.ri-speaker-2-fill:before{content:""}.ri-speaker-2-line:before{content:""}.ri-speaker-3-fill:before{content:""}.ri-speaker-3-line:before{content:""}.ri-speaker-fill:before{content:""}.ri-speaker-line:before{content:""}.ri-spectrum-fill:before{content:""}.ri-spectrum-line:before{content:""}.ri-speed-fill:before{content:""}.ri-speed-line:before{content:""}.ri-speed-mini-fill:before{content:""}.ri-speed-mini-line:before{content:""}.ri-split-cells-horizontal:before{content:""}.ri-split-cells-vertical:before{content:""}.ri-spotify-fill:before{content:""}.ri-spotify-line:before{content:""}.ri-spy-fill:before{content:""}.ri-spy-line:before{content:""}.ri-stack-fill:before{content:""}.ri-stack-line:before{content:""}.ri-stack-overflow-fill:before{content:""}.ri-stack-overflow-line:before{content:""}.ri-stackshare-fill:before{content:""}.ri-stackshare-line:before{content:""}.ri-star-fill:before{content:""}.ri-star-half-fill:before{content:""}.ri-star-half-line:before{content:""}.ri-star-half-s-fill:before{content:""}.ri-star-half-s-line:before{content:""}.ri-star-line:before{content:""}.ri-star-s-fill:before{content:""}.ri-star-s-line:before{content:""}.ri-star-smile-fill:before{content:""}.ri-star-smile-line:before{content:""}.ri-steam-fill:before{content:""}.ri-steam-line:before{content:""}.ri-steering-2-fill:before{content:""}.ri-steering-2-line:before{content:""}.ri-steering-fill:before{content:""}.ri-steering-line:before{content:""}.ri-stethoscope-fill:before{content:""}.ri-stethoscope-line:before{content:""}.ri-sticky-note-2-fill:before{content:""}.ri-sticky-note-2-line:before{content:""}.ri-sticky-note-fill:before{content:""}.ri-sticky-note-line:before{content:""}.ri-stock-fill:before{content:""}.ri-stock-line:before{content:""}.ri-stop-circle-fill:before{content:""}.ri-stop-circle-line:before{content:""}.ri-stop-fill:before{content:""}.ri-stop-line:before{content:""}.ri-stop-mini-fill:before{content:""}.ri-stop-mini-line:before{content:""}.ri-store-2-fill:before{content:""}.ri-store-2-line:before{content:""}.ri-store-3-fill:before{content:""}.ri-store-3-line:before{content:""}.ri-store-fill:before{content:""}.ri-store-line:before{content:""}.ri-strikethrough-2:before{content:""}.ri-strikethrough:before{content:""}.ri-subscript-2:before{content:""}.ri-subscript:before{content:""}.ri-subtract-fill:before{content:""}.ri-subtract-line:before{content:""}.ri-subway-fill:before{content:""}.ri-subway-line:before{content:""}.ri-subway-wifi-fill:before{content:""}.ri-subway-wifi-line:before{content:""}.ri-suitcase-2-fill:before{content:""}.ri-suitcase-2-line:before{content:""}.ri-suitcase-3-fill:before{content:""}.ri-suitcase-3-line:before{content:""}.ri-suitcase-fill:before{content:""}.ri-suitcase-line:before{content:""}.ri-sun-cloudy-fill:before{content:""}.ri-sun-cloudy-line:before{content:""}.ri-sun-fill:before{content:""}.ri-sun-foggy-fill:before{content:""}.ri-sun-foggy-line:before{content:""}.ri-sun-line:before{content:""}.ri-superscript-2:before{content:""}.ri-superscript:before{content:""}.ri-surgical-mask-fill:before{content:""}.ri-surgical-mask-line:before{content:""}.ri-surround-sound-fill:before{content:""}.ri-surround-sound-line:before{content:""}.ri-survey-fill:before{content:""}.ri-survey-line:before{content:""}.ri-swap-box-fill:before{content:""}.ri-swap-box-line:before{content:""}.ri-swap-fill:before{content:""}.ri-swap-line:before{content:""}.ri-switch-fill:before{content:""}.ri-switch-line:before{content:""}.ri-sword-fill:before{content:""}.ri-sword-line:before{content:""}.ri-syringe-fill:before{content:""}.ri-syringe-line:before{content:""}.ri-t-box-fill:before{content:""}.ri-t-box-line:before{content:""}.ri-t-shirt-2-fill:before{content:""}.ri-t-shirt-2-line:before{content:""}.ri-t-shirt-air-fill:before{content:""}.ri-t-shirt-air-line:before{content:""}.ri-t-shirt-fill:before{content:""}.ri-t-shirt-line:before{content:""}.ri-table-2:before{content:""}.ri-table-alt-fill:before{content:""}.ri-table-alt-line:before{content:""}.ri-table-fill:before{content:""}.ri-table-line:before{content:""}.ri-tablet-fill:before{content:""}.ri-tablet-line:before{content:""}.ri-takeaway-fill:before{content:""}.ri-takeaway-line:before{content:""}.ri-taobao-fill:before{content:""}.ri-taobao-line:before{content:""}.ri-tape-fill:before{content:""}.ri-tape-line:before{content:""}.ri-task-fill:before{content:""}.ri-task-line:before{content:""}.ri-taxi-fill:before{content:""}.ri-taxi-line:before{content:""}.ri-taxi-wifi-fill:before{content:""}.ri-taxi-wifi-line:before{content:""}.ri-team-fill:before{content:""}.ri-team-line:before{content:""}.ri-telegram-fill:before{content:""}.ri-telegram-line:before{content:""}.ri-temp-cold-fill:before{content:""}.ri-temp-cold-line:before{content:""}.ri-temp-hot-fill:before{content:""}.ri-temp-hot-line:before{content:""}.ri-terminal-box-fill:before{content:""}.ri-terminal-box-line:before{content:""}.ri-terminal-fill:before{content:""}.ri-terminal-line:before{content:""}.ri-terminal-window-fill:before{content:""}.ri-terminal-window-line:before{content:""}.ri-test-tube-fill:before{content:""}.ri-test-tube-line:before{content:""}.ri-text-direction-l:before{content:""}.ri-text-direction-r:before{content:""}.ri-text-spacing:before{content:""}.ri-text-wrap:before{content:""}.ri-text:before{content:""}.ri-thermometer-fill:before{content:""}.ri-thermometer-line:before{content:""}.ri-thumb-down-fill:before{content:""}.ri-thumb-down-line:before{content:""}.ri-thumb-up-fill:before{content:""}.ri-thumb-up-line:before{content:""}.ri-thunderstorms-fill:before{content:""}.ri-thunderstorms-line:before{content:""}.ri-ticket-2-fill:before{content:""}.ri-ticket-2-line:before{content:""}.ri-ticket-fill:before{content:""}.ri-ticket-line:before{content:""}.ri-time-fill:before{content:""}.ri-time-line:before{content:""}.ri-timer-2-fill:before{content:""}.ri-timer-2-line:before{content:""}.ri-timer-fill:before{content:""}.ri-timer-flash-fill:before{content:""}.ri-timer-flash-line:before{content:""}.ri-timer-line:before{content:""}.ri-todo-fill:before{content:""}.ri-todo-line:before{content:""}.ri-toggle-fill:before{content:""}.ri-toggle-line:before{content:""}.ri-tools-fill:before{content:""}.ri-tools-line:before{content:""}.ri-tornado-fill:before{content:""}.ri-tornado-line:before{content:""}.ri-trademark-fill:before{content:""}.ri-trademark-line:before{content:""}.ri-traffic-light-fill:before{content:""}.ri-traffic-light-line:before{content:""}.ri-train-fill:before{content:""}.ri-train-line:before{content:""}.ri-train-wifi-fill:before{content:""}.ri-train-wifi-line:before{content:""}.ri-translate-2:before{content:""}.ri-translate:before{content:""}.ri-travesti-fill:before{content:""}.ri-travesti-line:before{content:""}.ri-treasure-map-fill:before{content:""}.ri-treasure-map-line:before{content:""}.ri-trello-fill:before{content:""}.ri-trello-line:before{content:""}.ri-trophy-fill:before{content:""}.ri-trophy-line:before{content:""}.ri-truck-fill:before{content:""}.ri-truck-line:before{content:""}.ri-tumblr-fill:before{content:""}.ri-tumblr-line:before{content:""}.ri-tv-2-fill:before{content:""}.ri-tv-2-line:before{content:""}.ri-tv-fill:before{content:""}.ri-tv-line:before{content:""}.ri-twitch-fill:before{content:""}.ri-twitch-line:before{content:""}.ri-twitter-fill:before{content:""}.ri-twitter-line:before{content:""}.ri-typhoon-fill:before{content:""}.ri-typhoon-line:before{content:""}.ri-u-disk-fill:before{content:""}.ri-u-disk-line:before{content:""}.ri-ubuntu-fill:before{content:""}.ri-ubuntu-line:before{content:""}.ri-umbrella-fill:before{content:""}.ri-umbrella-line:before{content:""}.ri-underline:before{content:""}.ri-uninstall-fill:before{content:""}.ri-uninstall-line:before{content:""}.ri-unsplash-fill:before{content:""}.ri-unsplash-line:before{content:""}.ri-upload-2-fill:before{content:""}.ri-upload-2-line:before{content:""}.ri-upload-cloud-2-fill:before{content:""}.ri-upload-cloud-2-line:before{content:""}.ri-upload-cloud-fill:before{content:""}.ri-upload-cloud-line:before{content:""}.ri-upload-fill:before{content:""}.ri-upload-line:before{content:""}.ri-usb-fill:before{content:""}.ri-usb-line:before{content:""}.ri-user-2-fill:before{content:""}.ri-user-2-line:before{content:""}.ri-user-3-fill:before{content:""}.ri-user-3-line:before{content:""}.ri-user-4-fill:before{content:""}.ri-user-4-line:before{content:""}.ri-user-5-fill:before{content:""}.ri-user-5-line:before{content:""}.ri-user-6-fill:before{content:""}.ri-user-6-line:before{content:""}.ri-user-add-fill:before{content:""}.ri-user-add-line:before{content:""}.ri-user-fill:before{content:""}.ri-user-follow-fill:before{content:""}.ri-user-follow-line:before{content:""}.ri-user-heart-fill:before{content:""}.ri-user-heart-line:before{content:""}.ri-user-line:before{content:""}.ri-user-location-fill:before{content:""}.ri-user-location-line:before{content:""}.ri-user-received-2-fill:before{content:""}.ri-user-received-2-line:before{content:""}.ri-user-received-fill:before{content:""}.ri-user-received-line:before{content:""}.ri-user-search-fill:before{content:""}.ri-user-search-line:before{content:""}.ri-user-settings-fill:before{content:""}.ri-user-settings-line:before{content:""}.ri-user-shared-2-fill:before{content:""}.ri-user-shared-2-line:before{content:""}.ri-user-shared-fill:before{content:""}.ri-user-shared-line:before{content:""}.ri-user-smile-fill:before{content:""}.ri-user-smile-line:before{content:""}.ri-user-star-fill:before{content:""}.ri-user-star-line:before{content:""}.ri-user-unfollow-fill:before{content:""}.ri-user-unfollow-line:before{content:""}.ri-user-voice-fill:before{content:""}.ri-user-voice-line:before{content:""}.ri-video-add-fill:before{content:""}.ri-video-add-line:before{content:""}.ri-video-chat-fill:before{content:""}.ri-video-chat-line:before{content:""}.ri-video-download-fill:before{content:""}.ri-video-download-line:before{content:""}.ri-video-fill:before{content:""}.ri-video-line:before{content:""}.ri-video-upload-fill:before{content:""}.ri-video-upload-line:before{content:""}.ri-vidicon-2-fill:before{content:""}.ri-vidicon-2-line:before{content:""}.ri-vidicon-fill:before{content:""}.ri-vidicon-line:before{content:""}.ri-vimeo-fill:before{content:""}.ri-vimeo-line:before{content:""}.ri-vip-crown-2-fill:before{content:""}.ri-vip-crown-2-line:before{content:""}.ri-vip-crown-fill:before{content:""}.ri-vip-crown-line:before{content:""}.ri-vip-diamond-fill:before{content:""}.ri-vip-diamond-line:before{content:""}.ri-vip-fill:before{content:""}.ri-vip-line:before{content:""}.ri-virus-fill:before{content:""}.ri-virus-line:before{content:""}.ri-visa-fill:before{content:""}.ri-visa-line:before{content:""}.ri-voice-recognition-fill:before{content:""}.ri-voice-recognition-line:before{content:""}.ri-voiceprint-fill:before{content:""}.ri-voiceprint-line:before{content:""}.ri-volume-down-fill:before{content:""}.ri-volume-down-line:before{content:""}.ri-volume-mute-fill:before{content:""}.ri-volume-mute-line:before{content:""}.ri-volume-off-vibrate-fill:before{content:""}.ri-volume-off-vibrate-line:before{content:""}.ri-volume-up-fill:before{content:""}.ri-volume-up-line:before{content:""}.ri-volume-vibrate-fill:before{content:""}.ri-volume-vibrate-line:before{content:""}.ri-vuejs-fill:before{content:""}.ri-vuejs-line:before{content:""}.ri-walk-fill:before{content:""}.ri-walk-line:before{content:""}.ri-wallet-2-fill:before{content:""}.ri-wallet-2-line:before{content:""}.ri-wallet-3-fill:before{content:""}.ri-wallet-3-line:before{content:""}.ri-wallet-fill:before{content:""}.ri-wallet-line:before{content:""}.ri-water-flash-fill:before{content:""}.ri-water-flash-line:before{content:""}.ri-webcam-fill:before{content:""}.ri-webcam-line:before{content:""}.ri-wechat-2-fill:before{content:""}.ri-wechat-2-line:before{content:""}.ri-wechat-fill:before{content:""}.ri-wechat-line:before{content:""}.ri-wechat-pay-fill:before{content:""}.ri-wechat-pay-line:before{content:""}.ri-weibo-fill:before{content:""}.ri-weibo-line:before{content:""}.ri-whatsapp-fill:before{content:""}.ri-whatsapp-line:before{content:""}.ri-wheelchair-fill:before{content:""}.ri-wheelchair-line:before{content:""}.ri-wifi-fill:before{content:""}.ri-wifi-line:before{content:""}.ri-wifi-off-fill:before{content:""}.ri-wifi-off-line:before{content:""}.ri-window-2-fill:before{content:""}.ri-window-2-line:before{content:""}.ri-window-fill:before{content:""}.ri-window-line:before{content:""}.ri-windows-fill:before{content:""}.ri-windows-line:before{content:""}.ri-windy-fill:before{content:""}.ri-windy-line:before{content:""}.ri-wireless-charging-fill:before{content:""}.ri-wireless-charging-line:before{content:""}.ri-women-fill:before{content:""}.ri-women-line:before{content:""}.ri-wubi-input:before{content:""}.ri-xbox-fill:before{content:""}.ri-xbox-line:before{content:""}.ri-xing-fill:before{content:""}.ri-xing-line:before{content:""}.ri-youtube-fill:before{content:""}.ri-youtube-line:before{content:""}.ri-zcool-fill:before{content:""}.ri-zcool-line:before{content:""}.ri-zhihu-fill:before{content:""}.ri-zhihu-line:before{content:""}.ri-zoom-in-fill:before{content:""}.ri-zoom-in-line:before{content:""}.ri-zoom-out-fill:before{content:""}.ri-zoom-out-line:before{content:""}.ri-zzz-fill:before{content:""}.ri-zzz-line:before{content:""}.ri-arrow-down-double-fill:before{content:""}.ri-arrow-down-double-line:before{content:""}.ri-arrow-left-double-fill:before{content:""}.ri-arrow-left-double-line:before{content:""}.ri-arrow-right-double-fill:before{content:""}.ri-arrow-right-double-line:before{content:""}.ri-arrow-turn-back-fill:before{content:""}.ri-arrow-turn-back-line:before{content:""}.ri-arrow-turn-forward-fill:before{content:""}.ri-arrow-turn-forward-line:before{content:""}.ri-arrow-up-double-fill:before{content:""}.ri-arrow-up-double-line:before{content:""}.ri-bard-fill:before{content:""}.ri-bard-line:before{content:""}.ri-bootstrap-fill:before{content:""}.ri-bootstrap-line:before{content:""}.ri-box-1-fill:before{content:""}.ri-box-1-line:before{content:""}.ri-box-2-fill:before{content:""}.ri-box-2-line:before{content:""}.ri-box-3-fill:before{content:""}.ri-box-3-line:before{content:""}.ri-brain-fill:before{content:""}.ri-brain-line:before{content:""}.ri-candle-fill:before{content:""}.ri-candle-line:before{content:""}.ri-cash-fill:before{content:""}.ri-cash-line:before{content:""}.ri-contract-left-fill:before{content:""}.ri-contract-left-line:before{content:""}.ri-contract-left-right-fill:before{content:""}.ri-contract-left-right-line:before{content:""}.ri-contract-right-fill:before{content:""}.ri-contract-right-line:before{content:""}.ri-contract-up-down-fill:before{content:""}.ri-contract-up-down-line:before{content:""}.ri-copilot-fill:before{content:""}.ri-copilot-line:before{content:""}.ri-corner-down-left-fill:before{content:""}.ri-corner-down-left-line:before{content:""}.ri-corner-down-right-fill:before{content:""}.ri-corner-down-right-line:before{content:""}.ri-corner-left-down-fill:before{content:""}.ri-corner-left-down-line:before{content:""}.ri-corner-left-up-fill:before{content:""}.ri-corner-left-up-line:before{content:""}.ri-corner-right-down-fill:before{content:""}.ri-corner-right-down-line:before{content:""}.ri-corner-right-up-fill:before{content:""}.ri-corner-right-up-line:before{content:""}.ri-corner-up-left-double-fill:before{content:""}.ri-corner-up-left-double-line:before{content:""}.ri-corner-up-left-fill:before{content:""}.ri-corner-up-left-line:before{content:""}.ri-corner-up-right-double-fill:before{content:""}.ri-corner-up-right-double-line:before{content:""}.ri-corner-up-right-fill:before{content:""}.ri-corner-up-right-line:before{content:""}.ri-cross-fill:before{content:""}.ri-cross-line:before{content:""}.ri-edge-new-fill:before{content:""}.ri-edge-new-line:before{content:""}.ri-equal-fill:before{content:""}.ri-equal-line:before{content:""}.ri-expand-left-fill:before{content:""}.ri-expand-left-line:before{content:""}.ri-expand-left-right-fill:before{content:""}.ri-expand-left-right-line:before{content:""}.ri-expand-right-fill:before{content:""}.ri-expand-right-line:before{content:""}.ri-expand-up-down-fill:before{content:""}.ri-expand-up-down-line:before{content:""}.ri-flickr-fill:before{content:""}.ri-flickr-line:before{content:""}.ri-forward-10-fill:before{content:""}.ri-forward-10-line:before{content:""}.ri-forward-15-fill:before{content:""}.ri-forward-15-line:before{content:""}.ri-forward-30-fill:before{content:""}.ri-forward-30-line:before{content:""}.ri-forward-5-fill:before{content:""}.ri-forward-5-line:before{content:""}.ri-graduation-cap-fill:before{content:""}.ri-graduation-cap-line:before{content:""}.ri-home-office-fill:before{content:""}.ri-home-office-line:before{content:""}.ri-hourglass-2-fill:before{content:""}.ri-hourglass-2-line:before{content:""}.ri-hourglass-fill:before{content:""}.ri-hourglass-line:before{content:""}.ri-javascript-fill:before{content:""}.ri-javascript-line:before{content:""}.ri-loop-left-fill:before{content:""}.ri-loop-left-line:before{content:""}.ri-loop-right-fill:before{content:""}.ri-loop-right-line:before{content:""}.ri-memories-fill:before{content:""}.ri-memories-line:before{content:""}.ri-meta-fill:before{content:""}.ri-meta-line:before{content:""}.ri-microsoft-loop-fill:before{content:""}.ri-microsoft-loop-line:before{content:""}.ri-nft-fill:before{content:""}.ri-nft-line:before{content:""}.ri-notion-fill:before{content:""}.ri-notion-line:before{content:""}.ri-openai-fill:before{content:""}.ri-openai-line:before{content:""}.ri-overline:before{content:""}.ri-p2p-fill:before{content:""}.ri-p2p-line:before{content:""}.ri-presentation-fill:before{content:""}.ri-presentation-line:before{content:""}.ri-replay-10-fill:before{content:""}.ri-replay-10-line:before{content:""}.ri-replay-15-fill:before{content:""}.ri-replay-15-line:before{content:""}.ri-replay-30-fill:before{content:""}.ri-replay-30-line:before{content:""}.ri-replay-5-fill:before{content:""}.ri-replay-5-line:before{content:""}.ri-school-fill:before{content:""}.ri-school-line:before{content:""}.ri-shining-2-fill:before{content:""}.ri-shining-2-line:before{content:""}.ri-shining-fill:before{content:""}.ri-shining-line:before{content:""}.ri-sketching:before{content:""}.ri-skip-down-fill:before{content:""}.ri-skip-down-line:before{content:""}.ri-skip-left-fill:before{content:""}.ri-skip-left-line:before{content:""}.ri-skip-right-fill:before{content:""}.ri-skip-right-line:before{content:""}.ri-skip-up-fill:before{content:""}.ri-skip-up-line:before{content:""}.ri-slow-down-fill:before{content:""}.ri-slow-down-line:before{content:""}.ri-sparkling-2-fill:before{content:""}.ri-sparkling-2-line:before{content:""}.ri-sparkling-fill:before{content:""}.ri-sparkling-line:before{content:""}.ri-speak-fill:before{content:""}.ri-speak-line:before{content:""}.ri-speed-up-fill:before{content:""}.ri-speed-up-line:before{content:""}.ri-tiktok-fill:before{content:""}.ri-tiktok-line:before{content:""}.ri-token-swap-fill:before{content:""}.ri-token-swap-line:before{content:""}.ri-unpin-fill:before{content:""}.ri-unpin-line:before{content:""}.ri-wechat-channels-fill:before{content:""}.ri-wechat-channels-line:before{content:""}.ri-wordpress-fill:before{content:""}.ri-wordpress-line:before{content:""}.ri-blender-fill:before{content:""}.ri-blender-line:before{content:""}.ri-emoji-sticker-fill:before{content:""}.ri-emoji-sticker-line:before{content:""}.ri-git-close-pull-request-fill:before{content:""}.ri-git-close-pull-request-line:before{content:""}.ri-instance-fill:before{content:""}.ri-instance-line:before{content:""}.ri-megaphone-fill:before{content:""}.ri-megaphone-line:before{content:""}.ri-pass-expired-fill:before{content:""}.ri-pass-expired-line:before{content:""}.ri-pass-pending-fill:before{content:""}.ri-pass-pending-line:before{content:""}.ri-pass-valid-fill:before{content:""}.ri-pass-valid-line:before{content:""}.ri-ai-generate:before{content:""}.ri-calendar-close-fill:before{content:""}.ri-calendar-close-line:before{content:""}.ri-draggable:before{content:""}.ri-font-family:before{content:""}.ri-font-mono:before{content:""}.ri-font-sans-serif:before{content:""}.ri-font-sans:before{content:""}.ri-hard-drive-3-fill:before{content:""}.ri-hard-drive-3-line:before{content:""}.ri-kick-fill:before{content:""}.ri-kick-line:before{content:""}.ri-list-check-3:before{content:""}.ri-list-indefinite:before{content:""}.ri-list-ordered-2:before{content:""}.ri-list-radio:before{content:""}.ri-openbase-fill:before{content:""}.ri-openbase-line:before{content:""}.ri-planet-fill:before{content:""}.ri-planet-line:before{content:""}.ri-prohibited-fill:before{content:""}.ri-prohibited-line:before{content:""}.ri-quote-text:before{content:""}.ri-seo-fill:before{content:""}.ri-seo-line:before{content:""}.ri-slash-commands:before{content:""}.ri-archive-2-fill:before{content:""}.ri-archive-2-line:before{content:""}.ri-inbox-2-fill:before{content:""}.ri-inbox-2-line:before{content:""}.ri-shake-hands-fill:before{content:""}.ri-shake-hands-line:before{content:""}.ri-supabase-fill:before{content:""}.ri-supabase-line:before{content:""}.ri-water-percent-fill:before{content:""}.ri-water-percent-line:before{content:""}.ri-yuque-fill:before{content:""}.ri-yuque-line:before{content:""}.ri-crosshair-2-fill:before{content:""}.ri-crosshair-2-line:before{content:""}.ri-crosshair-fill:before{content:""}.ri-crosshair-line:before{content:""}.ri-file-close-fill:before{content:""}.ri-file-close-line:before{content:""}.ri-infinity-fill:before{content:""}.ri-infinity-line:before{content:""}.ri-rfid-fill:before{content:""}.ri-rfid-line:before{content:""}.ri-slash-commands-2:before{content:""}.ri-user-forbid-fill:before{content:""}.ri-user-forbid-line:before{content:""}.ri-beer-fill:before{content:""}.ri-beer-line:before{content:""}.ri-circle-fill:before{content:""}.ri-circle-line:before{content:""}.ri-dropdown-list:before{content:""}.ri-file-image-fill:before{content:""}.ri-file-image-line:before{content:""}.ri-file-pdf-2-fill:before{content:""}.ri-file-pdf-2-line:before{content:""}.ri-file-video-fill:before{content:""}.ri-file-video-line:before{content:""}.ri-folder-image-fill:before{content:""}.ri-folder-image-line:before{content:""}.ri-folder-video-fill:before{content:""}.ri-folder-video-line:before{content:""}.ri-hexagon-fill:before{content:""}.ri-hexagon-line:before{content:""}.ri-menu-search-fill:before{content:""}.ri-menu-search-line:before{content:""}.ri-octagon-fill:before{content:""}.ri-octagon-line:before{content:""}.ri-pentagon-fill:before{content:""}.ri-pentagon-line:before{content:""}.ri-rectangle-fill:before{content:""}.ri-rectangle-line:before{content:""}.ri-robot-2-fill:before{content:""}.ri-robot-2-line:before{content:""}.ri-shapes-fill:before{content:""}.ri-shapes-line:before{content:""}.ri-square-fill:before{content:""}.ri-square-line:before{content:""}.ri-tent-fill:before{content:""}.ri-tent-line:before{content:""}.ri-threads-fill:before{content:""}.ri-threads-line:before{content:""}.ri-tree-fill:before{content:""}.ri-tree-line:before{content:""}.ri-triangle-fill:before{content:""}.ri-triangle-line:before{content:""}.ri-twitter-x-fill:before{content:""}.ri-twitter-x-line:before{content:""}.ri-verified-badge-fill:before{content:""}.ri-verified-badge-line:before{content:""}.ri-armchair-fill:before{content:""}.ri-armchair-line:before{content:""}.ri-bnb-fill:before{content:""}.ri-bnb-line:before{content:""}.ri-bread-fill:before{content:""}.ri-bread-line:before{content:""}.ri-btc-fill:before{content:""}.ri-btc-line:before{content:""}.ri-calendar-schedule-fill:before{content:""}.ri-calendar-schedule-line:before{content:""}.ri-dice-1-fill:before{content:""}.ri-dice-1-line:before{content:""}.ri-dice-2-fill:before{content:""}.ri-dice-2-line:before{content:""}.ri-dice-3-fill:before{content:""}.ri-dice-3-line:before{content:""}.ri-dice-4-fill:before{content:""}.ri-dice-4-line:before{content:""}.ri-dice-5-fill:before{content:""}.ri-dice-5-line:before{content:""}.ri-dice-6-fill:before{content:""}.ri-dice-6-line:before{content:""}.ri-dice-fill:before{content:""}.ri-dice-line:before{content:""}.ri-drinks-fill:before{content:""}.ri-drinks-line:before{content:""}.ri-equalizer-2-fill:before{content:""}.ri-equalizer-2-line:before{content:""}.ri-equalizer-3-fill:before{content:""}.ri-equalizer-3-line:before{content:""}.ri-eth-fill:before{content:""}.ri-eth-line:before{content:""}.ri-flower-fill:before{content:""}.ri-flower-line:before{content:""}.ri-glasses-2-fill:before{content:""}.ri-glasses-2-line:before{content:""}.ri-glasses-fill:before{content:""}.ri-glasses-line:before{content:""}.ri-goggles-fill:before{content:""}.ri-goggles-line:before{content:""}.ri-image-circle-fill:before{content:""}.ri-image-circle-line:before{content:""}.ri-info-i:before{content:""}.ri-money-rupee-circle-fill:before{content:""}.ri-money-rupee-circle-line:before{content:""}.ri-news-fill:before{content:""}.ri-news-line:before{content:""}.ri-robot-3-fill:before{content:""}.ri-robot-3-line:before{content:""}.ri-share-2-fill:before{content:""}.ri-share-2-line:before{content:""}.ri-sofa-fill:before{content:""}.ri-sofa-line:before{content:""}.ri-svelte-fill:before{content:""}.ri-svelte-line:before{content:""}.ri-vk-fill:before{content:""}.ri-vk-line:before{content:""}.ri-xrp-fill:before{content:""}.ri-xrp-line:before{content:""}.ri-xtz-fill:before{content:""}.ri-xtz-line:before{content:""}.ri-archive-stack-fill:before{content:""}.ri-archive-stack-line:before{content:""}.ri-bowl-fill:before{content:""}.ri-bowl-line:before{content:""}.ri-calendar-view:before{content:""}.ri-carousel-view:before{content:""}.ri-code-block:before{content:""}.ri-color-filter-fill:before{content:""}.ri-color-filter-line:before{content:""}.ri-contacts-book-3-fill:before{content:""}.ri-contacts-book-3-line:before{content:""}.ri-contract-fill:before{content:""}.ri-contract-line:before{content:""}.ri-drinks-2-fill:before{content:""}.ri-drinks-2-line:before{content:""}.ri-export-fill:before{content:""}.ri-export-line:before{content:""}.ri-file-check-fill:before{content:""}.ri-file-check-line:before{content:""}.ri-focus-mode:before{content:""}.ri-folder-6-fill:before{content:""}.ri-folder-6-line:before{content:""}.ri-folder-check-fill:before{content:""}.ri-folder-check-line:before{content:""}.ri-folder-close-fill:before{content:""}.ri-folder-close-line:before{content:""}.ri-folder-cloud-fill:before{content:""}.ri-folder-cloud-line:before{content:""}.ri-gallery-view-2:before{content:""}.ri-gallery-view:before{content:""}.ri-hand:before{content:""}.ri-import-fill:before{content:""}.ri-import-line:before{content:""}.ri-information-2-fill:before{content:""}.ri-information-2-line:before{content:""}.ri-kanban-view-2:before{content:""}.ri-kanban-view:before{content:""}.ri-list-view:before{content:""}.ri-lock-star-fill:before{content:""}.ri-lock-star-line:before{content:""}.ri-puzzle-2-fill:before{content:""}.ri-puzzle-2-line:before{content:""}.ri-puzzle-fill:before{content:""}.ri-puzzle-line:before{content:""}.ri-ram-2-fill:before{content:""}.ri-ram-2-line:before{content:""}.ri-ram-fill:before{content:""}.ri-ram-line:before{content:""}.ri-receipt-fill:before{content:""}.ri-receipt-line:before{content:""}.ri-shadow-fill:before{content:""}.ri-shadow-line:before{content:""}.ri-sidebar-fold-fill:before{content:""}.ri-sidebar-fold-line:before{content:""}.ri-sidebar-unfold-fill:before{content:""}.ri-sidebar-unfold-line:before{content:""}.ri-slideshow-view:before{content:""}.ri-sort-alphabet-asc:before{content:""}.ri-sort-alphabet-desc:before{content:""}.ri-sort-number-asc:before{content:""}.ri-sort-number-desc:before{content:""}.ri-stacked-view:before{content:""}.ri-sticky-note-add-fill:before{content:""}.ri-sticky-note-add-line:before{content:""}.ri-swap-2-fill:before{content:""}.ri-swap-2-line:before{content:""}.ri-swap-3-fill:before{content:""}.ri-swap-3-line:before{content:""}.ri-table-3:before{content:""}.ri-table-view:before{content:""}.ri-text-block:before{content:""}.ri-text-snippet:before{content:""}.ri-timeline-view:before{content:""}.ri-blogger-fill:before{content:""}.ri-blogger-line:before{content:""}.ri-chat-thread-fill:before{content:""}.ri-chat-thread-line:before{content:""}.ri-discount-percent-fill:before{content:""}.ri-discount-percent-line:before{content:""}.ri-exchange-2-fill:before{content:""}.ri-exchange-2-line:before{content:""}.ri-git-fork-fill:before{content:""}.ri-git-fork-line:before{content:""}.ri-input-field:before{content:""}.ri-progress-1-fill:before{content:""}.ri-progress-1-line:before{content:""}.ri-progress-2-fill:before{content:""}.ri-progress-2-line:before{content:""}.ri-progress-3-fill:before{content:""}.ri-progress-3-line:before{content:""}.ri-progress-4-fill:before{content:""}.ri-progress-4-line:before{content:""}.ri-progress-5-fill:before{content:""}.ri-progress-5-line:before{content:""}.ri-progress-6-fill:before{content:""}.ri-progress-6-line:before{content:""}.ri-progress-7-fill:before{content:""}.ri-progress-7-line:before{content:""}.ri-progress-8-fill:before{content:""}.ri-progress-8-line:before{content:""}.ri-remix-run-fill:before{content:""}.ri-remix-run-line:before{content:""}.ri-signpost-fill:before{content:""}.ri-signpost-line:before{content:""}.ri-time-zone-fill:before{content:""}.ri-time-zone-line:before{content:""}.ri-arrow-down-wide-fill:before{content:""}.ri-arrow-down-wide-line:before{content:""}.ri-arrow-left-wide-fill:before{content:""}.ri-arrow-left-wide-line:before{content:""}.ri-arrow-right-wide-fill:before{content:""}.ri-arrow-right-wide-line:before{content:""}.ri-arrow-up-wide-fill:before{content:""}.ri-arrow-up-wide-line:before{content:""}.ri-bluesky-fill:before{content:""}.ri-bluesky-line:before{content:""}.ri-expand-height-fill:before{content:""}.ri-expand-height-line:before{content:""}.ri-expand-width-fill:before{content:""}.ri-expand-width-line:before{content:""}.ri-forward-end-fill:before{content:""}.ri-forward-end-line:before{content:""}.ri-forward-end-mini-fill:before{content:""}.ri-forward-end-mini-line:before{content:""}.ri-friendica-fill:before{content:""}.ri-friendica-line:before{content:""}.ri-git-pr-draft-fill:before{content:""}.ri-git-pr-draft-line:before{content:""}.ri-play-reverse-fill:before{content:""}.ri-play-reverse-line:before{content:""}.ri-play-reverse-mini-fill:before{content:""}.ri-play-reverse-mini-line:before{content:""}.ri-rewind-start-fill:before{content:""}.ri-rewind-start-line:before{content:""}.ri-rewind-start-mini-fill:before{content:""}.ri-rewind-start-mini-line:before{content:""}.ri-scroll-to-bottom-fill:before{content:""}.ri-scroll-to-bottom-line:before{content:""}.ri-add-large-fill:before{content:""}.ri-add-large-line:before{content:""}.ri-aed-electrodes-fill:before{content:""}.ri-aed-electrodes-line:before{content:""}.ri-aed-fill:before{content:""}.ri-aed-line:before{content:""}.ri-alibaba-cloud-fill:before{content:""}.ri-alibaba-cloud-line:before{content:""}.ri-align-item-bottom-fill:before{content:""}.ri-align-item-bottom-line:before{content:""}.ri-align-item-horizontal-center-fill:before{content:""}.ri-align-item-horizontal-center-line:before{content:""}.ri-align-item-left-fill:before{content:""}.ri-align-item-left-line:before{content:""}.ri-align-item-right-fill:before{content:""}.ri-align-item-right-line:before{content:""}.ri-align-item-top-fill:before{content:""}.ri-align-item-top-line:before{content:""}.ri-align-item-vertical-center-fill:before{content:""}.ri-align-item-vertical-center-line:before{content:""}.ri-apps-2-add-fill:before{content:""}.ri-apps-2-add-line:before{content:""}.ri-close-large-fill:before{content:""}.ri-close-large-line:before{content:""}.ri-collapse-diagonal-2-fill:before{content:""}.ri-collapse-diagonal-2-line:before{content:""}.ri-collapse-diagonal-fill:before{content:""}.ri-collapse-diagonal-line:before{content:""}.ri-dashboard-horizontal-fill:before{content:""}.ri-dashboard-horizontal-line:before{content:""}.ri-expand-diagonal-2-fill:before{content:""}.ri-expand-diagonal-2-line:before{content:""}.ri-expand-diagonal-fill:before{content:""}.ri-expand-diagonal-line:before{content:""}.ri-firebase-fill:before{content:""}.ri-firebase-line:before{content:""}.ri-flip-horizontal-2-fill:before{content:""}.ri-flip-horizontal-2-line:before{content:""}.ri-flip-horizontal-fill:before{content:""}.ri-flip-horizontal-line:before{content:""}.ri-flip-vertical-2-fill:before{content:""}.ri-flip-vertical-2-line:before{content:""}.ri-flip-vertical-fill:before{content:""}.ri-flip-vertical-line:before{content:""}.ri-formula:before{content:""}.ri-function-add-fill:before{content:""}.ri-function-add-line:before{content:""}.ri-goblet-2-fill:before{content:""}.ri-goblet-2-line:before{content:""}.ri-golf-ball-fill:before{content:""}.ri-golf-ball-line:before{content:""}.ri-group-3-fill:before{content:""}.ri-group-3-line:before{content:""}.ri-heart-add-2-fill:before{content:""}.ri-heart-add-2-line:before{content:""}.ri-id-card-fill:before{content:""}.ri-id-card-line:before{content:""}.ri-information-off-fill:before{content:""}.ri-information-off-line:before{content:""}.ri-java-fill:before{content:""}.ri-java-line:before{content:""}.ri-layout-grid-2-fill:before{content:""}.ri-layout-grid-2-line:before{content:""}.ri-layout-horizontal-fill:before{content:""}.ri-layout-horizontal-line:before{content:""}.ri-layout-vertical-fill:before{content:""}.ri-layout-vertical-line:before{content:""}.ri-menu-fold-2-fill:before{content:""}.ri-menu-fold-2-line:before{content:""}.ri-menu-fold-3-fill:before{content:""}.ri-menu-fold-3-line:before{content:""}.ri-menu-fold-4-fill:before{content:""}.ri-menu-fold-4-line:before{content:""}.ri-menu-unfold-2-fill:before{content:""}.ri-menu-unfold-2-line:before{content:""}.ri-menu-unfold-3-fill:before{content:""}.ri-menu-unfold-3-line:before{content:""}.ri-menu-unfold-4-fill:before{content:""}.ri-menu-unfold-4-line:before{content:""}.ri-mobile-download-fill:before{content:""}.ri-mobile-download-line:before{content:""}.ri-nextjs-fill:before{content:""}.ri-nextjs-line:before{content:""}.ri-nodejs-fill:before{content:""}.ri-nodejs-line:before{content:""}.ri-pause-large-fill:before{content:""}.ri-pause-large-line:before{content:""}.ri-play-large-fill:before{content:""}.ri-play-large-line:before{content:""}.ri-play-reverse-large-fill:before{content:""}.ri-play-reverse-large-line:before{content:""}.ri-police-badge-fill:before{content:""}.ri-police-badge-line:before{content:""}.ri-prohibited-2-fill:before{content:""}.ri-prohibited-2-line:before{content:""}.ri-shopping-bag-4-fill:before{content:""}.ri-shopping-bag-4-line:before{content:""}.ri-snowflake-fill:before{content:""}.ri-snowflake-line:before{content:""}.ri-square-root:before{content:""}.ri-stop-large-fill:before{content:""}.ri-stop-large-line:before{content:""}.ri-tailwind-css-fill:before{content:""}.ri-tailwind-css-line:before{content:""}.ri-tooth-fill:before{content:""}.ri-tooth-line:before{content:""}.ri-video-off-fill:before{content:""}.ri-video-off-line:before{content:""}.ri-video-on-fill:before{content:""}.ri-video-on-line:before{content:""}.ri-webhook-fill:before{content:""}.ri-webhook-line:before{content:""}.ri-weight-fill:before{content:""}.ri-weight-line:before{content:""} diff --git a/docs/assets/index-D6Wr2L7K.js b/docs/assets/index-D6Wr2L7K.js deleted file mode 100644 index c9e8a01..0000000 --- a/docs/assets/index-D6Wr2L7K.js +++ /dev/null @@ -1,246 +0,0 @@ -var mc=Object.defineProperty;var vc=(e,n,t)=>n in e?mc(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var Se=(e,n,t)=>(vc(e,typeof n!="symbol"?n+"":n,t),t);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=t(l);fetch(l.href,i)}})();function yc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var bu={exports:{}},tl={},es={exports:{}},R={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Zt=Symbol.for("react.element"),gc=Symbol.for("react.portal"),wc=Symbol.for("react.fragment"),xc=Symbol.for("react.strict_mode"),Sc=Symbol.for("react.profiler"),kc=Symbol.for("react.provider"),jc=Symbol.for("react.context"),Ec=Symbol.for("react.forward_ref"),Cc=Symbol.for("react.suspense"),_c=Symbol.for("react.memo"),Nc=Symbol.for("react.lazy"),Wo=Symbol.iterator;function Pc(e){return e===null||typeof e!="object"?null:(e=Wo&&e[Wo]||e["@@iterator"],typeof e=="function"?e:null)}var ns={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ts=Object.assign,rs={};function ot(e,n,t){this.props=e,this.context=n,this.refs=rs,this.updater=t||ns}ot.prototype.isReactComponent={};ot.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};ot.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function ls(){}ls.prototype=ot.prototype;function Qi(e,n,t){this.props=e,this.context=n,this.refs=rs,this.updater=t||ns}var Gi=Qi.prototype=new ls;Gi.constructor=Qi;ts(Gi,ot.prototype);Gi.isPureReactComponent=!0;var Vo=Array.isArray,is=Object.prototype.hasOwnProperty,Ki={current:null},os={key:!0,ref:!0,__self:!0,__source:!0};function us(e,n,t){var r,l={},i=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(i=""+n.key),n)is.call(n,r)&&!os.hasOwnProperty(r)&&(l[r]=n[r]);var u=arguments.length-2;if(u===1)l.children=t;else if(1>>1,Z=E[Q];if(0>>1;Ql(xl,z))wnl(tr,xl)?(E[Q]=tr,E[wn]=z,Q=wn):(E[Q]=xl,E[gn]=z,Q=gn);else if(wnl(tr,z))E[Q]=tr,E[wn]=z,Q=wn;else break e}}return P}function l(E,P){var z=E.sortIndex-P.sortIndex;return z!==0?z:E.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var s=[],f=[],m=1,v=null,h=3,w=!1,x=!1,S=!1,M=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(E){for(var P=t(f);P!==null;){if(P.callback===null)r(f);else if(P.startTime<=E)r(f),P.sortIndex=P.expirationTime,n(s,P);else break;P=t(f)}}function y(E){if(S=!1,p(E),!x)if(t(s)!==null)x=!0,gl(j);else{var P=t(f);P!==null&&wl(y,P.startTime-E)}}function j(E,P){x=!1,S&&(S=!1,d(N),N=-1),w=!0;var z=h;try{for(p(P),v=t(s);v!==null&&(!(v.expirationTime>P)||E&&!Pe());){var Q=v.callback;if(typeof Q=="function"){v.callback=null,h=v.priorityLevel;var Z=Q(v.expirationTime<=P);P=e.unstable_now(),typeof Z=="function"?v.callback=Z:v===t(s)&&r(s),p(P)}else r(s);v=t(s)}if(v!==null)var nr=!0;else{var gn=t(f);gn!==null&&wl(y,gn.startTime-P),nr=!1}return nr}finally{v=null,h=z,w=!1}}var C=!1,_=null,N=-1,H=5,T=-1;function Pe(){return!(e.unstable_now()-TE||125Q?(E.sortIndex=z,n(f,E),t(s)===null&&E===t(f)&&(S?(d(N),N=-1):S=!0,wl(y,z-Q))):(E.sortIndex=Z,n(s,E),x||w||(x=!0,gl(j))),E},e.unstable_shouldYield=Pe,e.unstable_wrapCallback=function(E){var P=h;return function(){var z=h;h=P;try{return E.apply(this,arguments)}finally{h=z}}}})(fs);cs.exports=fs;var Ac=cs.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ds=D,ge=Ac;function g(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zl=Object.prototype.hasOwnProperty,$c=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Qo={},Go={};function Wc(e){return Zl.call(Go,e)?!0:Zl.call(Qo,e)?!1:$c.test(e)?Go[e]=!0:(Qo[e]=!0,!1)}function Vc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Hc(e,n,t,r){if(n===null||typeof n>"u"||Vc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ae(e,n,t,r,l,i,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=i,this.removeEmptyString=o}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ne[n]=new ae(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xi=/[\-:]([a-z])/g;function Zi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Xi,Zi);ne[n]=new ae(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Xi,Zi);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Xi,Zi);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ji(e,n,t,r){var l=ne.hasOwnProperty(n)?ne[n]:null;(l!==null?l.type!==0:r||!(2u||l[o]!==i[u]){var s=` -`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=u);break}}}finally{jl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?wt(e):""}function Qc(e){switch(e.tag){case 5:return wt(e.type);case 16:return wt("Lazy");case 13:return wt("Suspense");case 19:return wt("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function ei(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Fn:return"Fragment";case Mn:return"Portal";case Jl:return"Profiler";case qi:return"StrictMode";case ql:return"Suspense";case bl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ms:return(e.displayName||"Context")+".Consumer";case hs:return(e._context.displayName||"Context")+".Provider";case bi:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case eo:return n=e.displayName||null,n!==null?n:ei(e.type)||"Memo";case qe:n=e._payload,e=e._init;try{return ei(e(n))}catch{}}return null}function Gc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ei(n);case 8:return n===qi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function pn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function ys(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Kc(e){var n=ys(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,i=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function ir(e){e._valueTracker||(e._valueTracker=Kc(e))}function gs(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=ys(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Lr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ni(e,n){var t=n.checked;return W({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function Yo(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=pn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function ws(e,n){n=n.checked,n!=null&&Ji(e,"checked",n,!1)}function ti(e,n){ws(e,n);var t=pn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ri(e,n.type,t):n.hasOwnProperty("defaultValue")&&ri(e,n.type,pn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Xo(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ri(e,n,t){(n!=="number"||Lr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var xt=Array.isArray;function Kn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=or.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Ot(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var jt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Yc=["Webkit","ms","Moz","O"];Object.keys(jt).forEach(function(e){Yc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),jt[n]=jt[e]})});function js(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||jt.hasOwnProperty(e)&&jt[e]?(""+n).trim():n+"px"}function Es(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=js(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Xc=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,n){if(n){if(Xc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(g(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(g(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(g(61))}if(n.style!=null&&typeof n.style!="object")throw Error(g(62))}}function ui(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var si=null;function no(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ai=null,Yn=null,Xn=null;function qo(e){if(e=bt(e)){if(typeof ai!="function")throw Error(g(280));var n=e.stateNode;n&&(n=ul(n),ai(e.stateNode,e.type,n))}}function Cs(e){Yn?Xn?Xn.push(e):Xn=[e]:Yn=e}function _s(){if(Yn){var e=Yn,n=Xn;if(Xn=Yn=null,qo(e),n)for(e=0;e>>=0,e===0?32:31-(uf(e)/sf|0)|0}var ur=64,sr=4194304;function St(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Fr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=t&268435455;if(o!==0){var u=o&~l;u!==0?r=St(u):(i&=o,i!==0&&(r=St(i)))}else o=t&~l,o!==0?r=St(o):i!==0&&(r=St(i));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,i=n&-n,l>=i||l===16&&(i&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Jt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Oe(n),e[n]=t}function df(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),uu=" ",su=!1;function Gs(e,n){switch(e){case"keyup":return Af.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Wf(e,n){switch(e){case"compositionend":return Ks(n);case"keypress":return n.which!==32?null:(su=!0,uu);case"textInput":return e=n.data,e===uu&&su?null:e;default:return null}}function Vf(e,n){if(In)return e==="compositionend"||!ao&&Gs(e,n)?(e=Hs(),jr=oo=tn=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=du(t)}}function Js(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Js(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function qs(){for(var e=window,n=Lr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Lr(e.document)}return n}function co(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function qf(e){var n=qs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Js(t.ownerDocument.documentElement,t)){if(r!==null&&co(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=pu(t,i);var o=pu(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Un=null,mi=null,Nt=null,vi=!1;function hu(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;vi||Un==null||Un!==Lr(r)||(r=Un,"selectionStart"in r&&co(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nt&&Bt(Nt,r)||(Nt=r,r=Br(mi,"onSelect"),0$n||(e.current=ki[$n],ki[$n]=null,$n--)}function F(e,n){$n++,ki[$n]=e.current,e.current=n}var hn={},ie=vn(hn),de=vn(!1),Nn=hn;function et(e,n){var t=e.type.contextTypes;if(!t)return hn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in t)l[i]=n[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function $r(){U(de),U(ie)}function Su(e,n,t){if(ie.current!==hn)throw Error(g(168));F(ie,n),F(de,t)}function ua(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(g(108,Gc(e)||"Unknown",l));return W({},t,r)}function Wr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||hn,Nn=ie.current,F(ie,e),F(de,de.current),!0}function ku(e,n,t){var r=e.stateNode;if(!r)throw Error(g(169));t?(e=ua(e,n,Nn),r.__reactInternalMemoizedMergedChildContext=e,U(de),U(ie),F(ie,e)):U(de),F(de,t)}var We=null,sl=!1,Ul=!1;function sa(e){We===null?We=[e]:We.push(e)}function cd(e){sl=!0,sa(e)}function yn(){if(!Ul&&We!==null){Ul=!0;var e=0,n=O;try{var t=We;for(O=1;e>=o,l-=o,Ve=1<<32-Oe(n)+l|t<N?(H=_,_=null):H=_.sibling;var T=h(d,_,p[N],y);if(T===null){_===null&&(_=H);break}e&&_&&T.alternate===null&&n(d,_),c=i(T,c,N),C===null?j=T:C.sibling=T,C=T,_=H}if(N===p.length)return t(d,_),B&&xn(d,N),j;if(_===null){for(;NN?(H=_,_=null):H=_.sibling;var Pe=h(d,_,T.value,y);if(Pe===null){_===null&&(_=H);break}e&&_&&Pe.alternate===null&&n(d,_),c=i(Pe,c,N),C===null?j=Pe:C.sibling=Pe,C=Pe,_=H}if(T.done)return t(d,_),B&&xn(d,N),j;if(_===null){for(;!T.done;N++,T=p.next())T=v(d,T.value,y),T!==null&&(c=i(T,c,N),C===null?j=T:C.sibling=T,C=T);return B&&xn(d,N),j}for(_=r(d,_);!T.done;N++,T=p.next())T=w(_,d,N,T.value,y),T!==null&&(e&&T.alternate!==null&&_.delete(T.key===null?N:T.key),c=i(T,c,N),C===null?j=T:C.sibling=T,C=T);return e&&_.forEach(function(at){return n(d,at)}),B&&xn(d,N),j}function M(d,c,p,y){if(typeof p=="object"&&p!==null&&p.type===Fn&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case lr:e:{for(var j=p.key,C=c;C!==null;){if(C.key===j){if(j=p.type,j===Fn){if(C.tag===7){t(d,C.sibling),c=l(C,p.props.children),c.return=d,d=c;break e}}else if(C.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===qe&&zu(j)===C.type){t(d,C.sibling),c=l(C,p.props),c.ref=vt(d,C,p),c.return=d,d=c;break e}t(d,C);break}else n(d,C);C=C.sibling}p.type===Fn?(c=_n(p.props.children,d.mode,y,p.key),c.return=d,d=c):(y=Tr(p.type,p.key,p.props,null,d.mode,y),y.ref=vt(d,c,p),y.return=d,d=y)}return o(d);case Mn:e:{for(C=p.key;c!==null;){if(c.key===C)if(c.tag===4&&c.stateNode.containerInfo===p.containerInfo&&c.stateNode.implementation===p.implementation){t(d,c.sibling),c=l(c,p.children||[]),c.return=d,d=c;break e}else{t(d,c);break}else n(d,c);c=c.sibling}c=Gl(p,d.mode,y),c.return=d,d=c}return o(d);case qe:return C=p._init,M(d,c,C(p._payload),y)}if(xt(p))return x(d,c,p,y);if(ft(p))return S(d,c,p,y);mr(d,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,c!==null&&c.tag===6?(t(d,c.sibling),c=l(c,p),c.return=d,d=c):(t(d,c),c=Ql(p,d.mode,y),c.return=d,d=c),o(d)):t(d,c)}return M}var tt=va(!0),ya=va(!1),er={},Ae=vn(er),Vt=vn(er),Ht=vn(er);function En(e){if(e===er)throw Error(g(174));return e}function xo(e,n){switch(F(Ht,n),F(Vt,e),F(Ae,er),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:ii(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=ii(n,e)}U(Ae),F(Ae,n)}function rt(){U(Ae),U(Vt),U(Ht)}function ga(e){En(Ht.current);var n=En(Ae.current),t=ii(n,e.type);n!==t&&(F(Vt,e),F(Ae,t))}function So(e){Vt.current===e&&(U(Ae),U(Vt))}var A=vn(0);function Yr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Bl=[];function ko(){for(var e=0;et?t:4,e(!0);var r=Al.transition;Al.transition={};try{e(!1),n()}finally{O=t,Al.transition=r}}function Da(){return Ne().memoizedState}function hd(e,n,t){var r=fn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Ma(e))Fa(n,t);else if(t=da(e,n,t,r),t!==null){var l=ue();De(t,e,r,l),Ia(t,n,r)}}function md(e,n,t){var r=fn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Ma(e))Fa(n,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=n.lastRenderedReducer,i!==null))try{var o=n.lastRenderedState,u=i(o,t);if(l.hasEagerState=!0,l.eagerState=u,Me(u,o)){var s=n.interleaved;s===null?(l.next=l,go(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=da(e,n,l,r),t!==null&&(l=ue(),De(t,e,r,l),Ia(t,n,r))}}function Ma(e){var n=e.alternate;return e===$||n!==null&&n===$}function Fa(e,n){Pt=Xr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Ia(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ro(e,t)}}var Zr={readContext:_e,useCallback:te,useContext:te,useEffect:te,useImperativeHandle:te,useInsertionEffect:te,useLayoutEffect:te,useMemo:te,useReducer:te,useRef:te,useState:te,useDebugValue:te,useDeferredValue:te,useTransition:te,useMutableSource:te,useSyncExternalStore:te,useId:te,unstable_isNewReconciler:!1},vd={readContext:_e,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:_e,useEffect:Tu,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,Nr(4194308,4,za.bind(null,n,e),t)},useLayoutEffect:function(e,n){return Nr(4194308,4,e,n)},useInsertionEffect:function(e,n){return Nr(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=hd.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Ru,useDebugValue:No,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Ru(!1),n=e[0];return e=pd.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(B){if(t===void 0)throw Error(g(407));t=t()}else{if(t=n(),q===null)throw Error(g(349));zn&30||Sa(r,n,t)}l.memoizedState=t;var i={value:t,getSnapshot:n};return l.queue=i,Tu(ja.bind(null,r,i,e),[e]),r.flags|=2048,Kt(9,ka.bind(null,r,i,t,n),void 0,null),t},useId:function(){var e=Ie(),n=q.identifierPrefix;if(B){var t=He,r=Ve;t=(r&~(1<<32-Oe(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Qt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Ue]=n,e[Wt]=r,Ga(e,n,!1,!1),n.stateNode=e;e:{switch(o=ui(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lit&&(n.flags|=128,r=!0,yt(i,!1),n.lanes=4194304)}else{if(!r)if(e=Yr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),yt(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!B)return re(n),null}else 2*G()-i.renderingStartTime>it&&t!==1073741824&&(n.flags|=128,r=!0,yt(i,!1),n.lanes=4194304);i.isBackwards?(o.sibling=n.child,n.child=o):(t=i.last,t!==null?t.sibling=o:n.child=o,i.last=o)}return i.tail!==null?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=G(),n.sibling=null,t=A.current,F(A,r?t&1|2:t&1),n):(re(n),null);case 22:case 23:return Oo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?me&1073741824&&(re(n),n.subtreeFlags&6&&(n.flags|=8192)):re(n),null;case 24:return null;case 25:return null}throw Error(g(156,n.tag))}function Ed(e,n){switch(po(n),n.tag){case 1:return pe(n.type)&&$r(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return rt(),U(de),U(ie),ko(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return So(n),null;case 13:if(U(A),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(g(340));nt()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return U(A),null;case 4:return rt(),null;case 10:return yo(n.type._context),null;case 22:case 23:return Oo(),null;case 24:return null;default:return null}}var yr=!1,le=!1,Cd=typeof WeakSet=="function"?WeakSet:Set,k=null;function Qn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Di(e,n,t){try{t()}catch(r){V(e,n,r)}}var Au=!1;function _d(e,n){if(yi=Ir,e=qs(),co(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{t.nodeType,i.nodeType}catch{t=null;break e}var o=0,u=-1,s=-1,f=0,m=0,v=e,h=null;n:for(;;){for(var w;v!==t||l!==0&&v.nodeType!==3||(u=o+l),v!==i||r!==0&&v.nodeType!==3||(s=o+r),v.nodeType===3&&(o+=v.nodeValue.length),(w=v.firstChild)!==null;)h=v,v=w;for(;;){if(v===e)break n;if(h===t&&++f===l&&(u=o),h===i&&++m===r&&(s=o),(w=v.nextSibling)!==null)break;v=h,h=v.parentNode}v=w}t=u===-1||s===-1?null:{start:u,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(gi={focusedElem:e,selectionRange:t},Ir=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var x=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var S=x.memoizedProps,M=x.memoizedState,d=n.stateNode,c=d.getSnapshotBeforeUpdate(n.elementType===n.type?S:Re(n.type,S),M);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=n.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(y){V(n,n.return,y)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return x=Au,Au=!1,x}function zt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Di(n,t,i)}l=l.next}while(l!==r)}}function fl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Mi(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Xa(e){var n=e.alternate;n!==null&&(e.alternate=null,Xa(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ue],delete n[Wt],delete n[Si],delete n[sd],delete n[ad])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Za(e){return e.tag===5||e.tag===3||e.tag===4}function $u(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Za(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Fi(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Ar));else if(r!==4&&(e=e.child,e!==null))for(Fi(e,n,t),e=e.sibling;e!==null;)Fi(e,n,t),e=e.sibling}function Ii(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ii(e,n,t),e=e.sibling;e!==null;)Ii(e,n,t),e=e.sibling}var b=null,Te=!1;function Je(e,n,t){for(t=t.child;t!==null;)Ja(e,n,t),t=t.sibling}function Ja(e,n,t){if(Be&&typeof Be.onCommitFiberUnmount=="function")try{Be.onCommitFiberUnmount(rl,t)}catch{}switch(t.tag){case 5:le||Qn(t,n);case 6:var r=b,l=Te;b=null,Je(e,n,t),b=r,Te=l,b!==null&&(Te?(e=b,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):b.removeChild(t.stateNode));break;case 18:b!==null&&(Te?(e=b,t=t.stateNode,e.nodeType===8?Il(e.parentNode,t):e.nodeType===1&&Il(e,t),It(e)):Il(b,t.stateNode));break;case 4:r=b,l=Te,b=t.stateNode.containerInfo,Te=!0,Je(e,n,t),b=r,Te=l;break;case 0:case 11:case 14:case 15:if(!le&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Di(t,n,o),l=l.next}while(l!==r)}Je(e,n,t);break;case 1:if(!le&&(Qn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(u){V(t,n,u)}Je(e,n,t);break;case 21:Je(e,n,t);break;case 22:t.mode&1?(le=(r=le)||t.memoizedState!==null,Je(e,n,t),le=r):Je(e,n,t);break;default:Je(e,n,t)}}function Wu(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new Cd),n.forEach(function(r){var l=Md.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function ze(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Pd(r/1960))-r,10e?16:e,rn===null)var r=!1;else{if(e=rn,rn=null,br=0,L&6)throw Error(g(331));var l=L;for(L|=4,k=e.current;k!==null;){var i=k,o=i.child;if(k.flags&16){var u=i.deletions;if(u!==null){for(var s=0;sG()-To?Cn(e,0):Ro|=t),he(e,n)}function ic(e,n){n===0&&(e.mode&1?(n=sr,sr<<=1,!(sr&130023424)&&(sr=4194304)):n=1);var t=ue();e=Ye(e,n),e!==null&&(Jt(e,n,t),he(e,t))}function Dd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),ic(e,t)}function Md(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(g(314))}r!==null&&r.delete(n),ic(e,t)}var oc;oc=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||de.current)fe=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return fe=!1,kd(e,n,t);fe=!!(e.flags&131072)}else fe=!1,B&&n.flags&1048576&&aa(n,Hr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;Pr(e,n),e=n.pendingProps;var l=et(n,ie.current);Jn(n,t),l=Eo(null,n,r,e,l,t);var i=Co();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pe(r)?(i=!0,Wr(n)):i=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,wo(n),l.updater=al,n.stateNode=l,l._reactInternals=n,Ni(n,r,e,t),n=Ri(null,n,r,!0,i,t)):(n.tag=0,B&&i&&fo(n),oe(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(Pr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Id(r),e=Re(r,e),l){case 0:n=zi(null,n,r,e,t);break e;case 1:n=Iu(null,n,r,e,t);break e;case 11:n=Mu(null,n,r,e,t);break e;case 14:n=Fu(null,n,r,Re(r.type,e),t);break e}throw Error(g(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),zi(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),Iu(e,n,r,l,t);case 3:e:{if(Va(n),e===null)throw Error(g(387));r=n.pendingProps,i=n.memoizedState,l=i.element,pa(e,n),Kr(n,r,null,t);var o=n.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=i,n.memoizedState=i,n.flags&256){l=lt(Error(g(423)),n),n=Uu(e,n,r,t,l);break e}else if(r!==l){l=lt(Error(g(424)),n),n=Uu(e,n,r,t,l);break e}else for(ve=sn(n.stateNode.containerInfo.firstChild),ye=n,B=!0,Le=null,t=ya(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(nt(),r===l){n=Xe(e,n,t);break e}oe(e,n,r,t)}n=n.child}return n;case 5:return ga(n),e===null&&Ei(n),r=n.type,l=n.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,wi(r,l)?o=null:i!==null&&wi(r,i)&&(n.flags|=32),Wa(e,n),oe(e,n,o,t),n.child;case 6:return e===null&&Ei(n),null;case 13:return Ha(e,n,t);case 4:return xo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=tt(n,null,r,t):oe(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),Mu(e,n,r,l,t);case 7:return oe(e,n,n.pendingProps,t),n.child;case 8:return oe(e,n,n.pendingProps.children,t),n.child;case 12:return oe(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,i=n.memoizedProps,o=l.value,F(Qr,r._currentValue),r._currentValue=o,i!==null)if(Me(i.value,o)){if(i.children===l.children&&!de.current){n=Xe(e,n,t);break e}}else for(i=n.child,i!==null&&(i.return=n);i!==null;){var u=i.dependencies;if(u!==null){o=i.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=Qe(-1,t&-t),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var m=f.pending;m===null?s.next=s:(s.next=m.next,m.next=s),f.pending=s}}i.lanes|=t,s=i.alternate,s!==null&&(s.lanes|=t),Ci(i.return,t,n),u.lanes|=t;break}s=s.next}}else if(i.tag===10)o=i.type===n.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(g(341));o.lanes|=t,u=o.alternate,u!==null&&(u.lanes|=t),Ci(o,t,n),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===n){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}oe(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Jn(n,t),l=_e(l),r=r(l),n.flags|=1,oe(e,n,r,t),n.child;case 14:return r=n.type,l=Re(r,n.pendingProps),l=Re(r.type,l),Fu(e,n,r,l,t);case 15:return Aa(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),Pr(e,n),n.tag=1,pe(r)?(e=!0,Wr(n)):e=!1,Jn(n,t),ma(n,r,l),Ni(n,r,l,t),Ri(null,n,r,!0,e,t);case 19:return Qa(e,n,t);case 22:return $a(e,n,t)}throw Error(g(156,n.tag))};function uc(e,n){return Os(e,n)}function Fd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,n,t,r){return new Fd(e,n,t,r)}function Mo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Id(e){if(typeof e=="function")return Mo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===bi)return 11;if(e===eo)return 14}return 2}function dn(e,n){var t=e.alternate;return t===null?(t=Ee(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Tr(e,n,t,r,l,i){var o=2;if(r=e,typeof e=="function")Mo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Fn:return _n(t.children,l,i,n);case qi:o=8,l|=8;break;case Jl:return e=Ee(12,t,n,l|2),e.elementType=Jl,e.lanes=i,e;case ql:return e=Ee(13,t,n,l),e.elementType=ql,e.lanes=i,e;case bl:return e=Ee(19,t,n,l),e.elementType=bl,e.lanes=i,e;case vs:return pl(t,l,i,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case hs:o=10;break e;case ms:o=9;break e;case bi:o=11;break e;case eo:o=14;break e;case qe:o=16,r=null;break e}throw Error(g(130,e==null?e:typeof e,""))}return n=Ee(o,t,n,l),n.elementType=e,n.type=r,n.lanes=i,n}function _n(e,n,t,r){return e=Ee(7,e,r,n),e.lanes=t,e}function pl(e,n,t,r){return e=Ee(22,e,r,n),e.elementType=vs,e.lanes=t,e.stateNode={isHidden:!1},e}function Ql(e,n,t){return e=Ee(6,e,null,n),e.lanes=t,e}function Gl(e,n,t){return n=Ee(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ud(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Fo(e,n,t,r,l,i,o,u,s){return e=new Ud(e,n,t,u,s),n===1?(n=1,i===!0&&(n|=8)):n=0,i=Ee(3,null,null,n),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},wo(i),e}function Bd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(fc)}catch(e){console.error(e)}}fc(),as.exports=we;var Hd=as.exports,Zu=Hd;Xl.createRoot=Zu.createRoot,Xl.hydrateRoot=Zu.hydrateRoot;function Qd(e){return n=>{e.forEach(t=>{typeof t=="function"?t(n):t!=null&&(t.current=n)})}}function Gd(e,n){var t=D.useRef(null),r=D.useRef(null);r.current=n;var l=D.useRef(null);D.useEffect(function(){i()});var i=D.useCallback(function(){var o=l.current,u=r.current,s=o||(u?u instanceof Element?u:u.current:null);t.current&&t.current.element===s&&t.current.subscriber===e||(t.current&&t.current.cleanup&&t.current.cleanup(),t.current={element:s,subscriber:e,cleanup:s?e(s):void 0})},[e]);return D.useEffect(function(){return function(){t.current&&t.current.cleanup&&(t.current.cleanup(),t.current=null)}},[]),D.useCallback(function(o){l.current=o,i()},[i])}function Ju(e,n,t){return e[n]?e[n][0]?e[n][0][t]:e[n][t]:n==="contentBoxSize"?e.contentRect[t==="inlineSize"?"width":"height"]:void 0}function Kd(e){e===void 0&&(e={});var n=e.onResize,t=D.useRef(void 0);t.current=n;var r=e.round||Math.round,l=D.useRef(),i=D.useState({width:void 0,height:void 0}),o=i[0],u=i[1],s=D.useRef(!1);D.useEffect(function(){return s.current=!1,function(){s.current=!0}},[]);var f=D.useRef({width:void 0,height:void 0}),m=Gd(D.useCallback(function(v){return(!l.current||l.current.box!==e.box||l.current.round!==r)&&(l.current={box:e.box,round:r,instance:new ResizeObserver(function(h){var w=h[0],x=e.box==="border-box"?"borderBoxSize":e.box==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",S=Ju(w,x,"inlineSize"),M=Ju(w,x,"blockSize"),d=S?r(S):void 0,c=M?r(M):void 0;if(f.current.width!==d||f.current.height!==c){var p={width:d,height:c};f.current.width=d,f.current.height=c,t.current?t.current(p):s.current||u(p)}})}),l.current.instance.observe(v,{box:e.box}),function(){l.current&&l.current.instance.unobserve(v)}},[e.box,r]),e.ref);return D.useMemo(function(){return{ref:m,width:o.width,height:o.height}},[m,o.width,o.height])}function dc(e,n){if(e==null)throw new Error(n||`Expected ${e} to be non nil.`);return e}class Xt{constructor(n,t,r,l){Se(this,"bindGroup");Se(this,"vertices");Se(this,"vertexBuffer");Se(this,"vertexCount");Se(this,"uniformArray");Se(this,"uniformBuffer");Se(this,"channelData");Se(this,"channelDataStorage");Se(this,"cellPipeline");Se(this,"device");Se(this,"context");this.device=r,this.context=l;const i=this.context.canvas;this.vertices=new Float32Array([-1,-1,1,-1,1,1,-1,-1,1,1,-1,1]),this.vertexBuffer=this.device.createBuffer({label:"Cell vertices",size:this.vertices.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST}),this.vertexCount=this.vertices.length/2,this.uniformArray=new Float32Array([1,i.width,i.height,0]),this.uniformBuffer=this.device.createBuffer({label:"Grid Uniforms",size:this.uniformArray.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.channelData=t,this.channelDataStorage=this.device.createBuffer({label:"Channel Data",size:t.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.cellPipeline=n,this.bindGroup=this.device.createBindGroup({label:"Cell renderer bind group",layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.uniformBuffer}},{binding:1,resource:{buffer:this.channelDataStorage}}]})}static async create(n,t){const r=dc(n.getContext("webgpu"));if(!navigator.gpu)throw new Error("WebGPU not supported on this browser.");const l=await navigator.gpu.requestAdapter();if(l==null)throw new Error("No appropriate GPUAdapter found.");const i=await l.requestDevice(),o=navigator.gpu.getPreferredCanvasFormat();return r.configure({device:i,format:o,alphaMode:"premultiplied"}),Xt.createPipeline(t,i,r,o)}static createPipeline(n,t,r,l){const i={arrayStride:8,attributes:[{format:"float32x2",offset:0,shaderLocation:0}]},o=t.createShaderModule({label:"Cell shader",code:` - struct VertexInput { - @location(0) pos: vec2f, - @builtin(instance_index) instance: u32, - }; - - struct VertexOutput { - @builtin(position) pos: vec4f, - @location(0) cell: vec2f, - }; - - @group(0) @binding(0) var uniforms: vec4f; - @group(0) @binding(1) var channelData: array; - - @vertex - fn vertexMain( - @location(0) pos: vec2f, - @builtin(instance_index) instance: u32 - ) -> VertexOutput { - - // let i = f32(instance); - - // Compute the cell coordinate from the instance_index - // let cell = vec2f(i % uniforms[0], floor(i / uniforms[0])); - - var output: VertexOutput; - output.pos = vec4f(pos, 0, 1); - output.cell = vec2f(0, 0); // unused - return output; - } - - struct FragInput { - @location(0) cell: vec2f, - }; - - // 4s = 192,000 samples - - @fragment - fn fragmentMain(input: VertexOutput) -> @location(0) vec4f { - let SCALE_FACTOR = uniforms[0]; - let WIDTH = uniforms[1]; - let HEIGHT = uniforms[2]; - let OFFSET = i32(uniforms[3]); - - let index = i32(floor(input.pos.x * f32(SCALE_FACTOR))); - let sample = channelData[OFFSET + index]; - - var min_sample = sample; - var max_sample = sample; - - var i = 0; - for (; f32(i) < SCALE_FACTOR; i++) { - let fwd = channelData[OFFSET + index + i]; - max_sample = max(max_sample, fwd); - min_sample = min(min_sample, fwd); - // sample = select(sample, fwd, abs(fwd) > abs(sample)); - // i += 1; - } - - // sample = 0.4; - // let c = input.cell / scale; - // return vec4f(c, 1-c.y, 1); - // let red = vec4f(1, 0, 0, 1); - // let cyan = vec4f(0, 1, 1, 1); - // to make red/cyan checkered scale - // let scale = vec2u(input.pos.xy) / 8; - // let checker = (scale.x + scale.y) % 2 == 1; - // return select(red, cyan, checker); - - // PCM is -1 to 1 btw - // normalized -1 to 1, where -1 is down and 1 is up - let yPosNorm = -1 * (2 * (floor(input.pos.y) / HEIGHT) - 1); - - // return select( - // vec4f(0, 0, 0, 0), - // vec4f(0, 1, 0, 1), - // input.pos.y <= HEIGHT - // ); - // return vec4f(0, floor(input.pos.y) / HEIGHT, 0, 1); - - // let checker = - // // same sign - // (yPosNorm * sample) > 0 && - // // closer to 0 - // abs(yPosNorm) <= abs(sample); - // let yval = select(f32(0), f32(1), checker); - // let debugVal = select(f32(0), f32(1), 1 > 0); - // let yToSampleDist = 1 - (abs(sample - yPosNorm)); - // let ytmax = 1 - (abs(max_sample - yPosNorm)); - // let ytmin = 1 - (abs(min_sample - yPosNorm)); - // let s = select(f32(0), f32(1), yToSampleDist > 0.99); - // let sup = select(f32(0), f32(1), ytmax > 0.99); - // let sdown = select(f32(0), f32(1), ytmin > 0.99); - - - // 0.02 just so the lines look connected - let sfinal = select( - vec4f(0, 0, 0, 0), - vec4f(0, 1, 0, 1), - yPosNorm <= max_sample + 0.02 && yPosNorm + 0.02 >= min_sample - ); - - - return sfinal; - } - `}),u=t.createRenderPipeline({label:"Cell pipeline",layout:"auto",vertex:{module:o,entryPoint:"vertexMain",buffers:[i]},fragment:{module:o,entryPoint:"fragmentMain",targets:[{format:l}]}});return new Xt(u,n,t,r)}render(n,t,r,l){const{context:i,device:o}=this,u=this.context.canvas;u.width=r,u.height=l,this.uniformArray[0]=n,this.uniformArray[1]=r,this.uniformArray[2]=l,this.uniformArray[3]=t,o.queue.writeBuffer(this.vertexBuffer,0,this.vertices),o.queue.writeBuffer(this.uniformBuffer,0,this.uniformArray),o.queue.writeBuffer(this.channelDataStorage,0,this.channelData);const s={colorAttachments:[{view:i.getCurrentTexture().createView(),loadOp:"clear",clearValue:{r:0,g:0,b:0,a:0},storeOp:"store"}]},f=o.createCommandEncoder(),m=f.beginRenderPass(s);m.setPipeline(this.cellPipeline),m.setVertexBuffer(0,this.vertexBuffer),m.setBindGroup(0,this.bindGroup),m.draw(this.vertexCount),m.end(),o.queue.submit([f.finish()])}}function Ao(e,n){const[t,r]=D.useState({status:"initializing"});return D.useEffect(()=>{const l=dc(e.current),i=n.getChannelData(0);Xt.create(l,i).then(o=>r({status:"ready",instance:o})).catch(o=>r({status:"error",error:o}))},[n,e]),t}const pc=D.forwardRef(function({audioBuffer:n,scale:t,offset:r=0,...l},i){const o=D.useRef(null),u=Ao(o,n),{width:s,height:f}=Kd({ref:o});return D.useEffect(()=>{if(s==null||f==null||u.status!=="ready")return;const m=t??n.length/s;u.instance.render(m,r,s,f)},[n,f,r,u,t,s]),a.jsx("canvas",{ref:Qd([o,i]),...l})});function Wi(e){const[n,t]=D.useState(()=>(e().then(r=>t(["resolved",r])).catch(r=>t(["rejected",r])),["pending"]));return n}const Vi=new AudioContext;async function Hi(e,n){const r=await(await fetch(n)).arrayBuffer();return e.decodeAudioData(r)}function Kl({render:e}){const n=Wi(()=>Hi(Vi,"Cow-Shaped.wav"));switch(n[0]){case"resolved":const t=e(n[1]);return a.jsx("p",{children:t});case"pending":return a.jsx("p",{children:"loading..."});case"rejected":return a.jsxs("p",{children:["error: ",`${n[1]}`]})}}async function Yd(e,n){const t=n.getChannelData(0),r=await Xt.create(e,t);console.log("result",r),r==null||r.render(800,0,e.width,e.height)}function Xd({audioBuffer:e}){const n=D.useRef(null),t=Ao(n,e);return D.useEffect(()=>{n.current!=null&&Yd(n.current,e).catch(console.error)},[t,e]),a.jsx("canvas",{ref:n,width:300,height:100})}function Zd({audioBuffer:e,width:n,height:t}){const r=D.useRef(null),l=Ao(r,e);return D.useEffect(()=>{l.status==="ready"&&l.instance.render(e.length/n,0,n,t)},[l,e,n,t]),a.jsx("canvas",{ref:r,width:n,height:t})}function Jd({audioBuffer:e}){return a.jsx(pc,{audioBuffer:e,scale:800,width:300,height:100})}function Yl({id:e,children:n}){return a.jsx("a",{href:`#${e}`,children:a.jsx("h3",{id:e,children:n})})}function qu(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...e.components};return a.jsxs(a.Fragment,{children:[a.jsx(n.h1,{id:"webgpu-waveform",children:"webgpu-waveform"}),` -`,a.jsxs(n.p,{children:["Render waveforms to ",a.jsx(n.code,{children:""})," using ",a.jsx(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API",children:"WebGPU"})]}),` -`,a.jsx("p",{children:a.jsxs("a",{href:"#",children:[a.jsx("i",{className:"ri-github-fill"})," View on github"]})}),` -`,a.jsx(n.h2,{id:"usage",children:"Usage"}),` -`,a.jsx(n.p,{children:"There's three ways to use this library:"}),` -`,a.jsxs(n.ul,{children:[` -`,a.jsxs(n.li,{children:["as a class: ",a.jsx("a",{href:"#GPUWaveformRenderer",children:a.jsx(n.code,{children:"GPUWaveformRenderer"})})," (vanilla JS)"]}),` -`,a.jsxs(n.li,{children:["as a hook: ",a.jsx("a",{href:"#useWaveformRenderer",children:a.jsx(n.code,{children:"useWaveformRenderer"})})," (React)"]}),` -`,a.jsxs(n.li,{children:["as a component: ",a.jsx("a",{href:"#GPUWaveform",children:a.jsx(n.code,{children:"GPUWaveform"})})," (React)"]}),` -`]}),` -`,a.jsx(n.p,{children:a.jsxs(n.em,{children:["Note: Examples here use a waveform that looks like a cow. Source: ",a.jsx(n.a,{href:"https://www.youtube.com/watch?v=qeUAHHPt-LY",children:"Japhy Riddle"})]})}),` -`,a.jsx("br",{}),` -`,a.jsxs(Yl,{id:"GPUWaveformRenderer",children:["Using the ",a.jsx(n.code,{children:"GPUWaveformRenderer"})," class"]}),` -`,a.jsxs(n.p,{children:["The class ",a.jsx(n.code,{children:"GPUWaveformRenderer"})," is initialized using the static method ",a.jsx(n.code,{children:".create(...)"}),". It has the following definition:"]}),` -`,a.jsx(n.pre,{children:a.jsxs(n.code,{className:"hljs language-typescript",children:[a.jsx(n.span,{className:"hljs-keyword",children:"static"})," ",a.jsx(n.span,{className:"hljs-keyword",children:"async"})," ",a.jsx(n.span,{className:"hljs-title function_",children:"create"}),`( - `,a.jsx(n.span,{className:"hljs-attr",children:"canvas"}),": ",a.jsx(n.span,{className:"hljs-title class_",children:"HTMLCanvasElement"}),`, - `,a.jsx(n.span,{className:"hljs-attr",children:"channelData"}),": ",a.jsx(n.span,{className:"hljs-title class_",children:"Float32Array"}),` -): `,a.jsx(n.span,{className:"hljs-title class_",children:"GPUWaveformRenderer"}),` -`]})}),` -`,a.jsx(n.p,{children:"It takes in the following arguments:"}),` -`,a.jsxs(n.ul,{children:[` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"canvas: HTMLCanvasElement"})," — the canvas element to render to"]}),` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"channelData: Float32Array"})," — the array of PCM samples to render"]}),` -`]}),` -`,a.jsx(n.p,{children:a.jsx(n.em,{children:"Example:"})}),` -`,a.jsx(n.pre,{children:a.jsxs(n.code,{className:"hljs language-javascript",children:[a.jsx(n.span,{className:"hljs-keyword",children:"async"})," ",a.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",a.jsx(n.span,{className:"hljs-title function_",children:"example"}),"(",a.jsx(n.span,{className:"hljs-params",children:"canvas, audioBuffer"}),`) { - `,a.jsx(n.span,{className:"hljs-keyword",children:"const"})," channelData = audioBuffer.",a.jsx(n.span,{className:"hljs-title function_",children:"getChannelData"}),"(",a.jsx(n.span,{className:"hljs-number",children:"0"}),`); - `,a.jsx(n.span,{className:"hljs-keyword",children:"const"})," renderer = ",a.jsx(n.span,{className:"hljs-keyword",children:"await"})," ",a.jsx(n.span,{className:"hljs-title class_",children:"GPUWaveformRenderer"}),".",a.jsx(n.span,{className:"hljs-title function_",children:"create"}),`(canvas, channelData); - - renderer?.`,a.jsx(n.span,{className:"hljs-title function_",children:"render"}),"(",a.jsx(n.span,{className:"hljs-number",children:"800"}),", ",a.jsx(n.span,{className:"hljs-number",children:"0"}),", canvas.",a.jsx(n.span,{className:"hljs-property",children:"width"}),", canvas.",a.jsx(n.span,{className:"hljs-property",children:"height"}),`); -} -`]})}),` -`,a.jsx(n.p,{children:a.jsx(n.em,{children:"Result:"})}),` -`,a.jsx(Kl,{render:t=>a.jsx(Xd,{audioBuffer:t})}),` -`,a.jsxs(Yl,{id:"useWaveformRenderer",children:["Using the ",a.jsx(n.code,{children:"useWaveformRenderer"})," hook"]}),` -`,a.jsxs(n.p,{children:["The hook ",a.jsx(n.code,{children:"useWaveformRenderer"})," has the following signature:"]}),` -`,a.jsx(n.pre,{children:a.jsxs(n.code,{className:"hljs language-typescript",children:[a.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",a.jsx(n.span,{className:"hljs-title function_",children:"useWaveformRenderer"}),"(",a.jsx(n.span,{className:"hljs-params",children:` - canvasRef: React.RefObject, - audioBuffer: AudioBuffer -`}),"): ",a.jsx(n.span,{className:"hljs-title class_",children:"RendererStatus"}),`; -`]})}),` -`,a.jsx(n.p,{children:"It takes in the following arguments:"}),` -`,a.jsxs(n.ul,{children:[` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"canvasRef: React.RefObject"})," — the canvas element to render to"]}),` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"audioBuffer: AudioBuffer"})," — the buffer to render"]}),` -`]}),` -`,a.jsx(n.p,{children:"And returns an object of the following type:"}),` -`,a.jsx(n.pre,{children:a.jsxs(n.code,{className:"hljs language-typescript",children:[a.jsx(n.span,{className:"hljs-keyword",children:"type"})," ",a.jsx(n.span,{className:"hljs-title class_",children:"RendererStatus"}),` = - | { `,a.jsx(n.span,{className:"hljs-attr",children:"status"}),": ",a.jsx(n.span,{className:"hljs-string",children:'"initializing"'}),` } - | { `,a.jsx(n.span,{className:"hljs-attr",children:"status"}),": ",a.jsx(n.span,{className:"hljs-string",children:'"error"'}),"; ",a.jsx(n.span,{className:"hljs-attr",children:"error"}),": ",a.jsx(n.span,{className:"hljs-built_in",children:"any"}),` } - | { `,a.jsx(n.span,{className:"hljs-attr",children:"status"}),": ",a.jsx(n.span,{className:"hljs-string",children:'"ready"'}),`; - `,a.jsx(n.span,{className:"hljs-attr",children:"instance"}),": ",a.jsx(n.span,{className:"hljs-title class_",children:"GPUWaveformRenderer"}),`; - }; -`]})}),` -`,a.jsx(n.p,{children:"The objects are returned during the following stages of initialization:"}),` -`,a.jsxs(n.ul,{children:[` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:'{ status: "initializing" }'})," — during setup, when connecting to the GPU device"]}),` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:'{ status: "error"; error: any }'})," — if an error happens at initalization"]}),` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:'{ status: "ready"; instance: GPUWaveformRenderer }'})," — if the webgpu device could be initialized, setup was successful, and a renderer for ",a.jsx(n.code,{children:"audioBuffer"})," on ",a.jsx(n.code,{children:"canvas"})," could be successfully created."]}),` -`]}),` -`,a.jsx(n.p,{children:a.jsx(n.strong,{children:"Example:"})}),` -`,a.jsx(n.pre,{children:a.jsxs(n.code,{className:"hljs language-javascript",children:[a.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",a.jsx(n.span,{className:"hljs-title function_",children:"Example"}),"(",a.jsx(n.span,{className:"hljs-params",children:"{audioBuffer, width, height}"}),`) { - `,a.jsx(n.span,{className:"hljs-keyword",children:"const"})," canvasRef = useRef<",a.jsx(n.span,{className:"hljs-title class_",children:"HTMLCanvasElement"}),">(",a.jsx(n.span,{className:"hljs-literal",children:"null"}),`); - `,a.jsx(n.span,{className:"hljs-keyword",children:"const"})," renderer = ",a.jsx(n.span,{className:"hljs-title function_",children:"useWaveformRenderer"}),`(canvasRef, audioBuffer); - - `,a.jsx(n.span,{className:"hljs-title function_",children:"useEffect"}),"(",a.jsx(n.span,{className:"hljs-function",children:"() =>"}),` { - `,a.jsx(n.span,{className:"hljs-keyword",children:"if"})," (renderer.",a.jsx(n.span,{className:"hljs-property",children:"status"})," !== ",a.jsx(n.span,{className:"hljs-string",children:'"ready"'}),`) { - `,a.jsx(n.span,{className:"hljs-keyword",children:"return"}),`; - } - - renderer?.`,a.jsx(n.span,{className:"hljs-title function_",children:"render"}),"(audioBuffer.",a.jsx(n.span,{className:"hljs-property",children:"length"})," / width, ",a.jsx(n.span,{className:"hljs-number",children:"0"}),`, width, height); - }, [renderer, audioBuffer, width, height]); - - `,a.jsx(n.span,{className:"hljs-keyword",children:"return"})," ",a.jsx(n.span,{className:"xml",children:a.jsxs(n.span,{className:"hljs-tag",children:["<",a.jsx(n.span,{className:"hljs-name",children:"canvas"})," ",a.jsx(n.span,{className:"hljs-attr",children:"ref"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{canvasRef}"})," ",a.jsx(n.span,{className:"hljs-attr",children:"width"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{width}"})," ",a.jsx(n.span,{className:"hljs-attr",children:"height"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{height}"})," />"]})}),`; -}; - -`]})}),` -`,a.jsx(n.p,{children:a.jsx(n.strong,{children:"Result:"})}),` -`,a.jsx(Kl,{render:t=>a.jsx(Zd,{audioBuffer:t,width:300,height:100})}),` -`,a.jsxs(Yl,{id:"GPUWaveform",children:["Using the ",a.jsx(n.code,{children:"GPUWaveform"})," component"]}),` -`,a.jsxs(n.p,{children:["The component ",a.jsx(n.code,{children:"GPUWaveform"})," takes the following properties:"]}),` -`,a.jsxs(n.ul,{children:[` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"audioBuffer: AudioBuffer;"})," — the buffer to render"]}),` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"scale?: number;"}),' — the "zoom" level. Namely, number of samples per pixel in the x axis']}),` -`,a.jsxs(n.li,{children:[a.jsx(n.code,{children:"offset?: number;"})," — the number of samples to skip from the beggining of the buffer"]}),` -`,a.jsxs(n.li,{children:["...and all the props of ",a.jsx(n.code,{children:"React.CanvasHTMLAttributes"})," — these are passed directly to the rendered canvas"]}),` -`]}),` -`,a.jsx(n.p,{children:"Example:"}),` -`,a.jsx(n.pre,{children:a.jsxs(n.code,{className:"hljs language-javascript",children:[a.jsx(n.span,{className:"hljs-keyword",children:"export"})," ",a.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",a.jsx(n.span,{className:"hljs-title function_",children:"Example"}),"(",a.jsx(n.span,{className:"hljs-params",children:"{audioBuffer}"}),`) { - `,a.jsx(n.span,{className:"hljs-keyword",children:"return"}),` ( - `,a.jsx(n.span,{className:"xml",children:a.jsxs(n.span,{className:"hljs-tag",children:["<",a.jsx(n.span,{className:"hljs-name",children:"GPUWaveform"}),` - `,a.jsx(n.span,{className:"hljs-attr",children:"audioBuffer"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{audioBuffer}"}),` - `,a.jsx(n.span,{className:"hljs-attr",children:"scale"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{800}"}),` - `,a.jsx(n.span,{className:"hljs-attr",children:"width"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{300}"}),` - `,a.jsx(n.span,{className:"hljs-attr",children:"height"}),"=",a.jsx(n.span,{className:"hljs-string",children:"{100}"}),` - />`]})}),` - ) -} -`]})}),` -`,a.jsx(n.p,{children:"Result:"}),` -`,a.jsx(Kl,{render:t=>a.jsx(Jd,{audioBuffer:t})}),` -`,a.jsx("footer",{children:a.jsxs(n.p,{children:["Built by Kevin Chavez · ",a.jsx("a",{href:"https://twitter.com/aykev",children:a.jsx("i",{className:"ri-twitter-fill"})})," ",a.jsx("a",{href:"https://github.com/mrkev",children:a.jsx("i",{className:"ri-github-fill"})})]})})]})}function qd(e={}){const{wrapper:n}=e.components||{};return n?a.jsx(n,{...e,children:a.jsx(qu,{...e})}):qu(e)}function bd(){const e=Wi(()=>Hi(Vi,"Cow-Shaped.wav"));return Wi(()=>Hi(Vi,"Fish-Shaped.wav")),(()=>{switch(e[0]){case"resolved":return a.jsx(pc,{audioBuffer:e[1],scale:800,width:300,height:100});case"pending":return a.jsx(a.Fragment,{children:"loading..."});case"rejected":return a.jsxs(a.Fragment,{children:["error: ",`${e[1]}`]})}})(),a.jsx(qd,{})}Xl.createRoot(document.getElementById("root")).render(a.jsx(Oc.StrictMode,{children:a.jsx(bd,{})})); diff --git a/docs/assets/index-DdBohDTO.js b/docs/assets/index-DdBohDTO.js new file mode 100644 index 0000000..d0ee363 --- /dev/null +++ b/docs/assets/index-DdBohDTO.js @@ -0,0 +1,292 @@ +var mc=Object.defineProperty;var vc=(e,n,t)=>n in e?mc(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var je=(e,n,t)=>(vc(e,typeof n!="symbol"?n+"":n,t),t);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=t(l);fetch(l.href,i)}})();function yc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eu={exports:{}},rl={},nu={exports:{}},R={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Zt=Symbol.for("react.element"),gc=Symbol.for("react.portal"),xc=Symbol.for("react.fragment"),wc=Symbol.for("react.strict_mode"),jc=Symbol.for("react.profiler"),Sc=Symbol.for("react.provider"),kc=Symbol.for("react.context"),Nc=Symbol.for("react.forward_ref"),Ec=Symbol.for("react.suspense"),Cc=Symbol.for("react.memo"),_c=Symbol.for("react.lazy"),Vo=Symbol.iterator;function Pc(e){return e===null||typeof e!="object"?null:(e=Vo&&e[Vo]||e["@@iterator"],typeof e=="function"?e:null)}var tu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ru=Object.assign,lu={};function ot(e,n,t){this.props=e,this.context=n,this.refs=lu,this.updater=t||tu}ot.prototype.isReactComponent={};ot.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};ot.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function iu(){}iu.prototype=ot.prototype;function Qi(e,n,t){this.props=e,this.context=n,this.refs=lu,this.updater=t||tu}var Gi=Qi.prototype=new iu;Gi.constructor=Qi;ru(Gi,ot.prototype);Gi.isPureReactComponent=!0;var Ho=Array.isArray,ou=Object.prototype.hasOwnProperty,Ki={current:null},su={key:!0,ref:!0,__self:!0,__source:!0};function uu(e,n,t){var r,l={},i=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(i=""+n.key),n)ou.call(n,r)&&!su.hasOwnProperty(r)&&(l[r]=n[r]);var u=arguments.length-2;if(u===1)l.children=t;else if(1>>1,Z=N[Q];if(0>>1;Ql(jl,z))xnl(tr,jl)?(N[Q]=tr,N[xn]=z,Q=xn):(N[Q]=jl,N[gn]=z,Q=gn);else if(xnl(tr,z))N[Q]=tr,N[xn]=z,Q=xn;else break e}}return P}function l(N,P){var z=N.sortIndex-P.sortIndex;return z!==0?z:N.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var a=[],f=[],m=1,v=null,h=3,x=!1,w=!1,j=!1,M=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(N){for(var P=t(f);P!==null;){if(P.callback===null)r(f);else if(P.startTime<=N)r(f),P.sortIndex=P.expirationTime,n(a,P);else break;P=t(f)}}function y(N){if(j=!1,p(N),!w)if(t(a)!==null)w=!0,xl(k);else{var P=t(f);P!==null&&wl(y,P.startTime-N)}}function k(N,P){w=!1,j&&(j=!1,d(_),_=-1),x=!0;var z=h;try{for(p(P),v=t(a);v!==null&&(!(v.expirationTime>P)||N&&!Pe());){var Q=v.callback;if(typeof Q=="function"){v.callback=null,h=v.priorityLevel;var Z=Q(v.expirationTime<=P);P=e.unstable_now(),typeof Z=="function"?v.callback=Z:v===t(a)&&r(a),p(P)}else r(a);v=t(a)}if(v!==null)var nr=!0;else{var gn=t(f);gn!==null&&wl(y,gn.startTime-P),nr=!1}return nr}finally{v=null,h=z,x=!1}}var E=!1,C=null,_=-1,H=5,T=-1;function Pe(){return!(e.unstable_now()-TN||125Q?(N.sortIndex=z,n(f,N),t(a)===null&&N===t(f)&&(j?(d(_),_=-1):j=!0,wl(y,z-Q))):(N.sortIndex=Z,n(a,N),w||x||(w=!0,xl(k))),N},e.unstable_shouldYield=Pe,e.unstable_wrapCallback=function(N){var P=h;return function(){var z=h;h=P;try{return N.apply(this,arguments)}finally{h=z}}}})(du);fu.exports=du;var Ac=fu.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var pu=O,ge=Ac;function g(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zl=Object.prototype.hasOwnProperty,$c=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Go={},Ko={};function Wc(e){return Zl.call(Ko,e)?!0:Zl.call(Go,e)?!1:$c.test(e)?Ko[e]=!0:(Go[e]=!0,!1)}function Vc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Hc(e,n,t,r){if(n===null||typeof n>"u"||Vc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ae(e,n,t,r,l,i,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=i,this.removeEmptyString=o}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new ae(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ne[n]=new ae(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new ae(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new ae(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new ae(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new ae(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new ae(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new ae(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new ae(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xi=/[\-:]([a-z])/g;function Zi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Xi,Zi);ne[n]=new ae(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Xi,Zi);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Xi,Zi);ne[n]=new ae(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new ae("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new ae(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ji(e,n,t,r){var l=ne.hasOwnProperty(n)?ne[n]:null;(l!==null?l.type!==0:r||!(2u||l[o]!==i[u]){var a=` +`+l[o].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=o&&0<=u);break}}}finally{Nl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?xt(e):""}function Qc(e){switch(e.tag){case 5:return xt(e.type);case 16:return xt("Lazy");case 13:return xt("Suspense");case 19:return xt("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function ei(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Fn:return"Fragment";case Mn:return"Portal";case Jl:return"Profiler";case qi:return"StrictMode";case ql:return"Suspense";case bl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vu:return(e.displayName||"Context")+".Consumer";case mu:return(e._context.displayName||"Context")+".Provider";case bi:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case eo:return n=e.displayName||null,n!==null?n:ei(e.type)||"Memo";case qe:n=e._payload,e=e._init;try{return ei(e(n))}catch{}}return null}function Gc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ei(n);case 8:return n===qi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function pn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function gu(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Kc(e){var n=gu(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,i=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function ir(e){e._valueTracker||(e._valueTracker=Kc(e))}function xu(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=gu(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Or(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ni(e,n){var t=n.checked;return W({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function Xo(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=pn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function wu(e,n){n=n.checked,n!=null&&Ji(e,"checked",n,!1)}function ti(e,n){wu(e,n);var t=pn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?ri(e,n.type,t):n.hasOwnProperty("defaultValue")&&ri(e,n.type,pn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Zo(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function ri(e,n,t){(n!=="number"||Or(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var wt=Array.isArray;function Kn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=or.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Ot(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var kt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Yc=["Webkit","ms","Moz","O"];Object.keys(kt).forEach(function(e){Yc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),kt[n]=kt[e]})});function Nu(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||kt.hasOwnProperty(e)&&kt[e]?(""+n).trim():n+"px"}function Eu(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=Nu(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Xc=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function oi(e,n){if(n){if(Xc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(g(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(g(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(g(61))}if(n.style!=null&&typeof n.style!="object")throw Error(g(62))}}function si(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ui=null;function no(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ai=null,Yn=null,Xn=null;function bo(e){if(e=bt(e)){if(typeof ai!="function")throw Error(g(280));var n=e.stateNode;n&&(n=ul(n),ai(e.stateNode,e.type,n))}}function Cu(e){Yn?Xn?Xn.push(e):Xn=[e]:Yn=e}function _u(){if(Yn){var e=Yn,n=Xn;if(Xn=Yn=null,bo(e),n)for(e=0;e>>=0,e===0?32:31-(sf(e)/uf|0)|0}var sr=64,ur=4194304;function jt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ir(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=t&268435455;if(o!==0){var u=o&~l;u!==0?r=jt(u):(i&=o,i!==0&&(r=jt(i)))}else o=t&~l,o!==0?r=jt(o):i!==0&&(r=jt(i));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,i=n&-n,l>=i||l===16&&(i&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Jt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Oe(n),e[n]=t}function df(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Et),us=" ",as=!1;function Ku(e,n){switch(e){case"keyup":return Af.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Wf(e,n){switch(e){case"compositionend":return Yu(n);case"keypress":return n.which!==32?null:(as=!0,us);case"textInput":return e=n.data,e===us&&as?null:e;default:return null}}function Vf(e,n){if(In)return e==="compositionend"||!ao&&Ku(e,n)?(e=Qu(),Nr=oo=tn=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=ps(t)}}function qu(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?qu(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function bu(){for(var e=window,n=Or();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Or(e.document)}return n}function co(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function qf(e){var n=bu(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&qu(t.ownerDocument.documentElement,t)){if(r!==null&&co(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=hs(t,i);var o=hs(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Un=null,mi=null,_t=null,vi=!1;function ms(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;vi||Un==null||Un!==Or(r)||(r=Un,"selectionStart"in r&&co(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_t&&Bt(_t,r)||(_t=r,r=Ar(mi,"onSelect"),0$n||(e.current=Si[$n],Si[$n]=null,$n--)}function F(e,n){$n++,Si[$n]=e.current,e.current=n}var hn={},ie=vn(hn),de=vn(!1),_n=hn;function et(e,n){var t=e.type.contextTypes;if(!t)return hn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in t)l[i]=n[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function pe(e){return e=e.childContextTypes,e!=null}function Wr(){U(de),U(ie)}function Ss(e,n,t){if(ie.current!==hn)throw Error(g(168));F(ie,n),F(de,t)}function ua(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(g(108,Gc(e)||"Unknown",l));return W({},t,r)}function Vr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||hn,_n=ie.current,F(ie,e),F(de,de.current),!0}function ks(e,n,t){var r=e.stateNode;if(!r)throw Error(g(169));t?(e=ua(e,n,_n),r.__reactInternalMemoizedMergedChildContext=e,U(de),U(ie),F(ie,e)):U(de),F(de,t)}var We=null,al=!1,Bl=!1;function aa(e){We===null?We=[e]:We.push(e)}function cd(e){al=!0,aa(e)}function yn(){if(!Bl&&We!==null){Bl=!0;var e=0,n=D;try{var t=We;for(D=1;e>=o,l-=o,Ve=1<<32-Oe(n)+l|t<_?(H=C,C=null):H=C.sibling;var T=h(d,C,p[_],y);if(T===null){C===null&&(C=H);break}e&&C&&T.alternate===null&&n(d,C),c=i(T,c,_),E===null?k=T:E.sibling=T,E=T,C=H}if(_===p.length)return t(d,C),B&&wn(d,_),k;if(C===null){for(;__?(H=C,C=null):H=C.sibling;var Pe=h(d,C,T.value,y);if(Pe===null){C===null&&(C=H);break}e&&C&&Pe.alternate===null&&n(d,C),c=i(Pe,c,_),E===null?k=Pe:E.sibling=Pe,E=Pe,C=H}if(T.done)return t(d,C),B&&wn(d,_),k;if(C===null){for(;!T.done;_++,T=p.next())T=v(d,T.value,y),T!==null&&(c=i(T,c,_),E===null?k=T:E.sibling=T,E=T);return B&&wn(d,_),k}for(C=r(d,C);!T.done;_++,T=p.next())T=x(C,d,_,T.value,y),T!==null&&(e&&T.alternate!==null&&C.delete(T.key===null?_:T.key),c=i(T,c,_),E===null?k=T:E.sibling=T,E=T);return e&&C.forEach(function(at){return n(d,at)}),B&&wn(d,_),k}function M(d,c,p,y){if(typeof p=="object"&&p!==null&&p.type===Fn&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case lr:e:{for(var k=p.key,E=c;E!==null;){if(E.key===k){if(k=p.type,k===Fn){if(E.tag===7){t(d,E.sibling),c=l(E,p.props.children),c.return=d,d=c;break e}}else if(E.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===qe&&Rs(k)===E.type){t(d,E.sibling),c=l(E,p.props),c.ref=vt(d,E,p),c.return=d,d=c;break e}t(d,E);break}else n(d,E);E=E.sibling}p.type===Fn?(c=Cn(p.props.children,d.mode,y,p.key),c.return=d,d=c):(y=Lr(p.type,p.key,p.props,null,d.mode,y),y.ref=vt(d,c,p),y.return=d,d=y)}return o(d);case Mn:e:{for(E=p.key;c!==null;){if(c.key===E)if(c.tag===4&&c.stateNode.containerInfo===p.containerInfo&&c.stateNode.implementation===p.implementation){t(d,c.sibling),c=l(c,p.children||[]),c.return=d,d=c;break e}else{t(d,c);break}else n(d,c);c=c.sibling}c=Kl(p,d.mode,y),c.return=d,d=c}return o(d);case qe:return E=p._init,M(d,c,E(p._payload),y)}if(wt(p))return w(d,c,p,y);if(ft(p))return j(d,c,p,y);mr(d,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,c!==null&&c.tag===6?(t(d,c.sibling),c=l(c,p),c.return=d,d=c):(t(d,c),c=Gl(p,d.mode,y),c.return=d,d=c),o(d)):t(d,c)}return M}var tt=ya(!0),ga=ya(!1),er={},Ae=vn(er),Vt=vn(er),Ht=vn(er);function Nn(e){if(e===er)throw Error(g(174));return e}function wo(e,n){switch(F(Ht,n),F(Vt,e),F(Ae,er),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:ii(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=ii(n,e)}U(Ae),F(Ae,n)}function rt(){U(Ae),U(Vt),U(Ht)}function xa(e){Nn(Ht.current);var n=Nn(Ae.current),t=ii(n,e.type);n!==t&&(F(Vt,e),F(Ae,t))}function jo(e){Vt.current===e&&(U(Ae),U(Vt))}var A=vn(0);function Xr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Al=[];function So(){for(var e=0;et?t:4,e(!0);var r=$l.transition;$l.transition={};try{e(!1),n()}finally{D=t,$l.transition=r}}function Ma(){return _e().memoizedState}function hd(e,n,t){var r=fn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Fa(e))Ia(n,t);else if(t=pa(e,n,t,r),t!==null){var l=se();De(t,e,r,l),Ua(t,n,r)}}function md(e,n,t){var r=fn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Fa(e))Ia(n,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=n.lastRenderedReducer,i!==null))try{var o=n.lastRenderedState,u=i(o,t);if(l.hasEagerState=!0,l.eagerState=u,Me(u,o)){var a=n.interleaved;a===null?(l.next=l,go(n)):(l.next=a.next,a.next=l),n.interleaved=l;return}}catch{}finally{}t=pa(e,n,l,r),t!==null&&(l=se(),De(t,e,r,l),Ua(t,n,r))}}function Fa(e){var n=e.alternate;return e===$||n!==null&&n===$}function Ia(e,n){Pt=Zr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Ua(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ro(e,t)}}var Jr={readContext:Ce,useCallback:te,useContext:te,useEffect:te,useImperativeHandle:te,useInsertionEffect:te,useLayoutEffect:te,useMemo:te,useReducer:te,useRef:te,useState:te,useDebugValue:te,useDeferredValue:te,useTransition:te,useMutableSource:te,useSyncExternalStore:te,useId:te,unstable_isNewReconciler:!1},vd={readContext:Ce,useCallback:function(e,n){return Ie().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:Ls,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,Pr(4194308,4,Ra.bind(null,n,e),t)},useLayoutEffect:function(e,n){return Pr(4194308,4,e,n)},useInsertionEffect:function(e,n){return Pr(4,2,e,n)},useMemo:function(e,n){var t=Ie();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Ie();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=hd.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var n=Ie();return e={current:e},n.memoizedState=e},useState:Ts,useDebugValue:_o,useDeferredValue:function(e){return Ie().memoizedState=e},useTransition:function(){var e=Ts(!1),n=e[0];return e=pd.bind(null,e[1]),Ie().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=$,l=Ie();if(B){if(t===void 0)throw Error(g(407));t=t()}else{if(t=n(),q===null)throw Error(g(349));zn&30||Sa(r,n,t)}l.memoizedState=t;var i={value:t,getSnapshot:n};return l.queue=i,Ls(Na.bind(null,r,i,e),[e]),r.flags|=2048,Kt(9,ka.bind(null,r,i,t,n),void 0,null),t},useId:function(){var e=Ie(),n=q.identifierPrefix;if(B){var t=He,r=Ve;t=(r&~(1<<32-Oe(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Qt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Ue]=n,e[Wt]=r,Ka(e,n,!1,!1),n.stateNode=e;e:{switch(o=si(t,r),t){case"dialog":I("cancel",e),I("close",e),l=r;break;case"iframe":case"object":case"embed":I("load",e),l=r;break;case"video":case"audio":for(l=0;lit&&(n.flags|=128,r=!0,yt(i,!1),n.lanes=4194304)}else{if(!r)if(e=Xr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),yt(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!B)return re(n),null}else 2*G()-i.renderingStartTime>it&&t!==1073741824&&(n.flags|=128,r=!0,yt(i,!1),n.lanes=4194304);i.isBackwards?(o.sibling=n.child,n.child=o):(t=i.last,t!==null?t.sibling=o:n.child=o,i.last=o)}return i.tail!==null?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=G(),n.sibling=null,t=A.current,F(A,r?t&1|2:t&1),n):(re(n),null);case 22:case 23:return Oo(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?me&1073741824&&(re(n),n.subtreeFlags&6&&(n.flags|=8192)):re(n),null;case 24:return null;case 25:return null}throw Error(g(156,n.tag))}function Nd(e,n){switch(po(n),n.tag){case 1:return pe(n.type)&&Wr(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return rt(),U(de),U(ie),So(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return jo(n),null;case 13:if(U(A),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(g(340));nt()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return U(A),null;case 4:return rt(),null;case 10:return yo(n.type._context),null;case 22:case 23:return Oo(),null;case 24:return null;default:return null}}var yr=!1,le=!1,Ed=typeof WeakSet=="function"?WeakSet:Set,S=null;function Qn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Di(e,n,t){try{t()}catch(r){V(e,n,r)}}var $s=!1;function Cd(e,n){if(yi=Ur,e=bu(),co(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{t.nodeType,i.nodeType}catch{t=null;break e}var o=0,u=-1,a=-1,f=0,m=0,v=e,h=null;n:for(;;){for(var x;v!==t||l!==0&&v.nodeType!==3||(u=o+l),v!==i||r!==0&&v.nodeType!==3||(a=o+r),v.nodeType===3&&(o+=v.nodeValue.length),(x=v.firstChild)!==null;)h=v,v=x;for(;;){if(v===e)break n;if(h===t&&++f===l&&(u=o),h===i&&++m===r&&(a=o),(x=v.nextSibling)!==null)break;v=h,h=v.parentNode}v=x}t=u===-1||a===-1?null:{start:u,end:a}}else t=null}t=t||{start:0,end:0}}else t=null;for(gi={focusedElem:e,selectionRange:t},Ur=!1,S=n;S!==null;)if(n=S,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,S=e;else for(;S!==null;){n=S;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var j=w.memoizedProps,M=w.memoizedState,d=n.stateNode,c=d.getSnapshotBeforeUpdate(n.elementType===n.type?j:Re(n.type,j),M);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=n.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(g(163))}}catch(y){V(n,n.return,y)}if(e=n.sibling,e!==null){e.return=n.return,S=e;break}S=n.return}return w=$s,$s=!1,w}function zt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Di(n,t,i)}l=l.next}while(l!==r)}}function dl(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function Mi(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function Za(e){var n=e.alternate;n!==null&&(e.alternate=null,Za(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ue],delete n[Wt],delete n[ji],delete n[ud],delete n[ad])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ja(e){return e.tag===5||e.tag===3||e.tag===4}function Ws(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ja(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Fi(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=$r));else if(r!==4&&(e=e.child,e!==null))for(Fi(e,n,t),e=e.sibling;e!==null;)Fi(e,n,t),e=e.sibling}function Ii(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ii(e,n,t),e=e.sibling;e!==null;)Ii(e,n,t),e=e.sibling}var b=null,Te=!1;function Je(e,n,t){for(t=t.child;t!==null;)qa(e,n,t),t=t.sibling}function qa(e,n,t){if(Be&&typeof Be.onCommitFiberUnmount=="function")try{Be.onCommitFiberUnmount(ll,t)}catch{}switch(t.tag){case 5:le||Qn(t,n);case 6:var r=b,l=Te;b=null,Je(e,n,t),b=r,Te=l,b!==null&&(Te?(e=b,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):b.removeChild(t.stateNode));break;case 18:b!==null&&(Te?(e=b,t=t.stateNode,e.nodeType===8?Ul(e.parentNode,t):e.nodeType===1&&Ul(e,t),It(e)):Ul(b,t.stateNode));break;case 4:r=b,l=Te,b=t.stateNode.containerInfo,Te=!0,Je(e,n,t),b=r,Te=l;break;case 0:case 11:case 14:case 15:if(!le&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Di(t,n,o),l=l.next}while(l!==r)}Je(e,n,t);break;case 1:if(!le&&(Qn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(u){V(t,n,u)}Je(e,n,t);break;case 21:Je(e,n,t);break;case 22:t.mode&1?(le=(r=le)||t.memoizedState!==null,Je(e,n,t),le=r):Je(e,n,t);break;default:Je(e,n,t)}}function Vs(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new Ed),n.forEach(function(r){var l=Md.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function ze(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=G()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Pd(r/1960))-r,10e?16:e,rn===null)var r=!1;else{if(e=rn,rn=null,el=0,L&6)throw Error(g(331));var l=L;for(L|=4,S=e.current;S!==null;){var i=S,o=i.child;if(S.flags&16){var u=i.deletions;if(u!==null){for(var a=0;aG()-To?En(e,0):Ro|=t),he(e,n)}function oc(e,n){n===0&&(e.mode&1?(n=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):n=1);var t=se();e=Ye(e,n),e!==null&&(Jt(e,n,t),he(e,t))}function Dd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),oc(e,t)}function Md(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(g(314))}r!==null&&r.delete(n),oc(e,t)}var sc;sc=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||de.current)fe=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return fe=!1,Sd(e,n,t);fe=!!(e.flags&131072)}else fe=!1,B&&n.flags&1048576&&ca(n,Qr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;zr(e,n),e=n.pendingProps;var l=et(n,ie.current);Jn(n,t),l=No(null,n,r,e,l,t);var i=Eo();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,pe(r)?(i=!0,Vr(n)):i=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,xo(n),l.updater=cl,n.stateNode=l,l._reactInternals=n,_i(n,r,e,t),n=Ri(null,n,r,!0,i,t)):(n.tag=0,B&&i&&fo(n),oe(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(zr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Id(r),e=Re(r,e),l){case 0:n=zi(null,n,r,e,t);break e;case 1:n=Us(null,n,r,e,t);break e;case 11:n=Fs(null,n,r,e,t);break e;case 14:n=Is(null,n,r,Re(r.type,e),t);break e}throw Error(g(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),zi(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),Us(e,n,r,l,t);case 3:e:{if(Ha(n),e===null)throw Error(g(387));r=n.pendingProps,i=n.memoizedState,l=i.element,ha(e,n),Yr(n,r,null,t);var o=n.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=i,n.memoizedState=i,n.flags&256){l=lt(Error(g(423)),n),n=Bs(e,n,r,t,l);break e}else if(r!==l){l=lt(Error(g(424)),n),n=Bs(e,n,r,t,l);break e}else for(ve=un(n.stateNode.containerInfo.firstChild),ye=n,B=!0,Le=null,t=ga(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(nt(),r===l){n=Xe(e,n,t);break e}oe(e,n,r,t)}n=n.child}return n;case 5:return xa(n),e===null&&Ni(n),r=n.type,l=n.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,xi(r,l)?o=null:i!==null&&xi(r,i)&&(n.flags|=32),Va(e,n),oe(e,n,o,t),n.child;case 6:return e===null&&Ni(n),null;case 13:return Qa(e,n,t);case 4:return wo(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=tt(n,null,r,t):oe(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),Fs(e,n,r,l,t);case 7:return oe(e,n,n.pendingProps,t),n.child;case 8:return oe(e,n,n.pendingProps.children,t),n.child;case 12:return oe(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,i=n.memoizedProps,o=l.value,F(Gr,r._currentValue),r._currentValue=o,i!==null)if(Me(i.value,o)){if(i.children===l.children&&!de.current){n=Xe(e,n,t);break e}}else for(i=n.child,i!==null&&(i.return=n);i!==null;){var u=i.dependencies;if(u!==null){o=i.child;for(var a=u.firstContext;a!==null;){if(a.context===r){if(i.tag===1){a=Qe(-1,t&-t),a.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var m=f.pending;m===null?a.next=a:(a.next=m.next,m.next=a),f.pending=a}}i.lanes|=t,a=i.alternate,a!==null&&(a.lanes|=t),Ei(i.return,t,n),u.lanes|=t;break}a=a.next}}else if(i.tag===10)o=i.type===n.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(g(341));o.lanes|=t,u=o.alternate,u!==null&&(u.lanes|=t),Ei(o,t,n),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===n){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}oe(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Jn(n,t),l=Ce(l),r=r(l),n.flags|=1,oe(e,n,r,t),n.child;case 14:return r=n.type,l=Re(r,n.pendingProps),l=Re(r.type,l),Is(e,n,r,l,t);case 15:return $a(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:Re(r,l),zr(e,n),n.tag=1,pe(r)?(e=!0,Vr(n)):e=!1,Jn(n,t),va(n,r,l),_i(n,r,l,t),Ri(null,n,r,!0,e,t);case 19:return Ga(e,n,t);case 22:return Wa(e,n,t)}throw Error(g(156,n.tag))};function uc(e,n){return Du(e,n)}function Fd(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ne(e,n,t,r){return new Fd(e,n,t,r)}function Mo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Id(e){if(typeof e=="function")return Mo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===bi)return 11;if(e===eo)return 14}return 2}function dn(e,n){var t=e.alternate;return t===null?(t=Ne(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Lr(e,n,t,r,l,i){var o=2;if(r=e,typeof e=="function")Mo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Fn:return Cn(t.children,l,i,n);case qi:o=8,l|=8;break;case Jl:return e=Ne(12,t,n,l|2),e.elementType=Jl,e.lanes=i,e;case ql:return e=Ne(13,t,n,l),e.elementType=ql,e.lanes=i,e;case bl:return e=Ne(19,t,n,l),e.elementType=bl,e.lanes=i,e;case yu:return hl(t,l,i,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case mu:o=10;break e;case vu:o=9;break e;case bi:o=11;break e;case eo:o=14;break e;case qe:o=16,r=null;break e}throw Error(g(130,e==null?e:typeof e,""))}return n=Ne(o,t,n,l),n.elementType=e,n.type=r,n.lanes=i,n}function Cn(e,n,t,r){return e=Ne(7,e,r,n),e.lanes=t,e}function hl(e,n,t,r){return e=Ne(22,e,r,n),e.elementType=yu,e.lanes=t,e.stateNode={isHidden:!1},e}function Gl(e,n,t){return e=Ne(6,e,null,n),e.lanes=t,e}function Kl(e,n,t){return n=Ne(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Ud(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Fo(e,n,t,r,l,i,o,u,a){return e=new Ud(e,n,t,u,a),n===1?(n=1,i===!0&&(n|=8)):n=0,i=Ne(3,null,null,n),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},xo(i),e}function Bd(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(dc)}catch(e){console.error(e)}}dc(),cu.exports=xe;var Hd=cu.exports,Js=Hd;Xl.createRoot=Js.createRoot,Xl.hydrateRoot=Js.hydrateRoot;function Qd(e){return n=>{e.forEach(t=>{typeof t=="function"?t(n):t!=null&&(t.current=n)})}}function Gd(e,n){var t=O.useRef(null),r=O.useRef(null);r.current=n;var l=O.useRef(null);O.useEffect(function(){i()});var i=O.useCallback(function(){var o=l.current,u=r.current,a=o||(u?u instanceof Element?u:u.current:null);t.current&&t.current.element===a&&t.current.subscriber===e||(t.current&&t.current.cleanup&&t.current.cleanup(),t.current={element:a,subscriber:e,cleanup:a?e(a):void 0})},[e]);return O.useEffect(function(){return function(){t.current&&t.current.cleanup&&(t.current.cleanup(),t.current=null)}},[]),O.useCallback(function(o){l.current=o,i()},[i])}function qs(e,n,t){return e[n]?e[n][0]?e[n][0][t]:e[n][t]:n==="contentBoxSize"?e.contentRect[t==="inlineSize"?"width":"height"]:void 0}function Kd(e){e===void 0&&(e={});var n=e.onResize,t=O.useRef(void 0);t.current=n;var r=e.round||Math.round,l=O.useRef(),i=O.useState({width:void 0,height:void 0}),o=i[0],u=i[1],a=O.useRef(!1);O.useEffect(function(){return a.current=!1,function(){a.current=!0}},[]);var f=O.useRef({width:void 0,height:void 0}),m=Gd(O.useCallback(function(v){return(!l.current||l.current.box!==e.box||l.current.round!==r)&&(l.current={box:e.box,round:r,instance:new ResizeObserver(function(h){var x=h[0],w=e.box==="border-box"?"borderBoxSize":e.box==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",j=qs(x,w,"inlineSize"),M=qs(x,w,"blockSize"),d=j?r(j):void 0,c=M?r(M):void 0;if(f.current.width!==d||f.current.height!==c){var p={width:d,height:c};f.current.width=d,f.current.height=c,t.current?t.current(p):a.current||u(p)}})}),l.current.instance.observe(v,{box:e.box}),function(){l.current&&l.current.instance.unobserve(v)}},[e.box,r]),e.ref);return O.useMemo(function(){return{ref:m,width:o.width,height:o.height}},[m,o.width,o.height])}function pc(e,n){if(e==null)throw new Error(n||`Expected ${e} to be non nil.`);return e}class Xt{constructor(n,t,r,l){je(this,"bindGroup");je(this,"vertices");je(this,"vertexBuffer");je(this,"vertexCount");je(this,"uniformArray");je(this,"uniformBuffer");je(this,"channelData");je(this,"channelDataStorage");je(this,"cellPipeline");je(this,"device");je(this,"context");this.device=r,this.context=l;const i=this.context.canvas;this.vertices=new Float32Array([-1,-1,1,-1,1,1,-1,-1,1,1,-1,1]),this.vertexBuffer=this.device.createBuffer({label:"Cell vertices",size:this.vertices.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST}),this.vertexCount=this.vertices.length/2,this.uniformArray=new Float32Array([1,i.width,i.height,0]),this.uniformBuffer=this.device.createBuffer({label:"Grid Uniforms",size:this.uniformArray.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.channelData=t,this.channelDataStorage=this.device.createBuffer({label:"Channel Data",size:t.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.cellPipeline=n,this.bindGroup=this.device.createBindGroup({label:"Cell renderer bind group",layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.uniformBuffer}},{binding:1,resource:{buffer:this.channelDataStorage}}]})}static async create(n,t){const r=pc(n.getContext("webgpu"));if(!navigator.gpu)throw new Error("WebGPU not supported on this browser.");const l=await navigator.gpu.requestAdapter();if(l==null)throw new Error("No appropriate GPUAdapter found.");const i=await l.requestDevice(),o=navigator.gpu.getPreferredCanvasFormat();return r.configure({device:i,format:o,alphaMode:"premultiplied"}),Xt.createPipeline(t,i,r,o)}static createPipeline(n,t,r,l){const i={arrayStride:8,attributes:[{format:"float32x2",offset:0,shaderLocation:0}]},o=t.createShaderModule({label:"Cell shader",code:` + struct VertexInput { + @location(0) pos: vec2f, + @builtin(instance_index) instance: u32, + }; + + struct VertexOutput { + @builtin(position) pos: vec4f, + @location(0) cell: vec2f, + }; + + @group(0) @binding(0) var uniforms: vec4f; + @group(0) @binding(1) var channelData: array; + + @vertex + fn vertexMain( + @location(0) pos: vec2f, + @builtin(instance_index) instance: u32 + ) -> VertexOutput { + + // let i = f32(instance); + + // Compute the cell coordinate from the instance_index + // let cell = vec2f(i % uniforms[0], floor(i / uniforms[0])); + + var output: VertexOutput; + output.pos = vec4f(pos, 0, 1); + output.cell = vec2f(0, 0); // unused + return output; + } + + struct FragInput { + @location(0) cell: vec2f, + }; + + // 4s = 192,000 samples + + @fragment + fn fragmentMain(input: VertexOutput) -> @location(0) vec4f { + let SCALE_FACTOR = uniforms[0]; + let WIDTH = uniforms[1]; + let HEIGHT = uniforms[2]; + let OFFSET = i32(uniforms[3]); + + let index = i32(floor(input.pos.x * f32(SCALE_FACTOR))); + let sample = channelData[OFFSET + index]; + + var min_sample = sample; + var max_sample = sample; + + var i = 0; + for (; f32(i) < SCALE_FACTOR; i++) { + let fwd = channelData[OFFSET + index + i]; + max_sample = max(max_sample, fwd); + min_sample = min(min_sample, fwd); + // sample = select(sample, fwd, abs(fwd) > abs(sample)); + // i += 1; + } + + // sample = 0.4; + // let c = input.cell / scale; + // return vec4f(c, 1-c.y, 1); + // let red = vec4f(1, 0, 0, 1); + // let cyan = vec4f(0, 1, 1, 1); + // to make red/cyan checkered scale + // let scale = vec2u(input.pos.xy) / 8; + // let checker = (scale.x + scale.y) % 2 == 1; + // return select(red, cyan, checker); + + // PCM is -1 to 1 btw + // normalized -1 to 1, where -1 is down and 1 is up + let yPosNorm = -1 * (2 * (floor(input.pos.y) / HEIGHT) - 1); + + // return select( + // vec4f(0, 0, 0, 0), + // vec4f(0, 1, 0, 1), + // input.pos.y <= HEIGHT + // ); + // return vec4f(0, floor(input.pos.y) / HEIGHT, 0, 1); + + // let checker = + // // same sign + // (yPosNorm * sample) > 0 && + // // closer to 0 + // abs(yPosNorm) <= abs(sample); + // let yval = select(f32(0), f32(1), checker); + // let debugVal = select(f32(0), f32(1), 1 > 0); + // let yToSampleDist = 1 - (abs(sample - yPosNorm)); + // let ytmax = 1 - (abs(max_sample - yPosNorm)); + // let ytmin = 1 - (abs(min_sample - yPosNorm)); + // let s = select(f32(0), f32(1), yToSampleDist > 0.99); + // let sup = select(f32(0), f32(1), ytmax > 0.99); + // let sdown = select(f32(0), f32(1), ytmin > 0.99); + + + // 0.02 just so the lines look connected + let sfinal = select( + vec4f(0, 0, 0, 0), + vec4f(0, 1, 0, 1), + yPosNorm <= max_sample + 0.02 && yPosNorm + 0.02 >= min_sample + ); + + + return sfinal; + } + `}),u=t.createRenderPipeline({label:"Cell pipeline",layout:"auto",vertex:{module:o,entryPoint:"vertexMain",buffers:[i]},fragment:{module:o,entryPoint:"fragmentMain",targets:[{format:l}]}});return new Xt(u,n,t,r)}render(n,t,r,l){const{context:i,device:o}=this,u=this.context.canvas;u.width=r,u.height=l,this.uniformArray[0]=n,this.uniformArray[1]=r,this.uniformArray[2]=l,this.uniformArray[3]=t,o.queue.writeBuffer(this.vertexBuffer,0,this.vertices),o.queue.writeBuffer(this.uniformBuffer,0,this.uniformArray),o.queue.writeBuffer(this.channelDataStorage,0,this.channelData);const a={colorAttachments:[{view:i.getCurrentTexture().createView(),loadOp:"clear",clearValue:{r:0,g:0,b:0,a:0},storeOp:"store"}]},f=o.createCommandEncoder(),m=f.beginRenderPass(a);m.setPipeline(this.cellPipeline),m.setVertexBuffer(0,this.vertexBuffer),m.setBindGroup(0,this.bindGroup),m.draw(this.vertexCount),m.end(),o.queue.submit([f.finish()])}}function Ao(e,n){const[t,r]=O.useState({status:"initializing"});return O.useEffect(()=>{const l=pc(e.current),i=n.getChannelData(0);Xt.create(l,i).then(o=>r({status:"ready",instance:o})).catch(o=>r({status:"error",error:o}))},[n,e]),t}const $o=O.forwardRef(function({audioBuffer:n,scale:t,offset:r=0,...l},i){const o=O.useRef(null),u=Ao(o,n),{width:a,height:f}=Kd({ref:o});return O.useEffect(()=>{if(a==null||f==null||u.status!=="ready")return;const m=t??n.length/a;u.instance.render(m,r,a,f)},[n,f,r,u,t,a]),s.jsx("canvas",{ref:Qd([o,i]),...l})});function Wi(e){const[n,t]=O.useState(()=>(e().then(r=>t(["resolved",r])).catch(r=>t(["rejected",r])),["pending"]));return n}const Vi=new AudioContext;async function Hi(e,n){const r=await(await fetch(n)).arrayBuffer();return e.decodeAudioData(r)}function wr({render:e}){const n=Wi(()=>Hi(Vi,"Cow-Shaped.wav"));switch(n[0]){case"resolved":const t=e(n[1]);return s.jsx("p",{children:t});case"pending":return s.jsx("p",{children:"loading..."});case"rejected":return s.jsxs("p",{children:["error: ",`${n[1]}`]})}}function Yd({audioBuffer:e}){const[n,t]=O.useState(0),[r,l]=O.useState(441);return s.jsxs("div",{style:{display:"flex",flexDirection:"column",border:"4px solid black",padding:"1ch"},children:[s.jsxs("div",{style:{display:"flex",flexDirection:"row"},children:["Offset:"," ",s.jsx("input",{type:"range",min:0,max:e.length,value:n,onChange:i=>{const o=parseInt(i.target.value);t(o)}})," ",n," frames"]}),s.jsxs("div",{style:{display:"flex",flexDirection:"row"},children:["Scale:"," ",s.jsx("input",{type:"range",min:1,max:1764,value:r,onChange:i=>{const o=parseInt(i.target.value);l(o)}})," ",r," frames / pixel"]}),s.jsx($o,{audioBuffer:e,scale:r,offset:n,height:100})]})}async function Xd(e,n){const t=n.getChannelData(0),r=await Xt.create(e,t);r==null||r.render(800,0,e.width,e.height)}function Zd({audioBuffer:e}){const n=O.useRef(null),t=Ao(n,e);return O.useEffect(()=>{n.current!=null&&Xd(n.current,e).catch(console.error)},[t,e]),s.jsx("canvas",{ref:n,width:300,height:100})}function Jd({audioBuffer:e,width:n,height:t}){const r=O.useRef(null),l=Ao(r,e);return O.useEffect(()=>{l.status==="ready"&&l.instance.render(e.length/n,0,n,t)},[l,e,n,t]),s.jsx("canvas",{ref:r,width:n,height:t})}function qd({audioBuffer:e}){return s.jsx($o,{audioBuffer:e,scale:800,width:300,height:100})}function Yl({id:e,children:n}){return s.jsx("a",{href:`#${e}`,children:s.jsx("h3",{id:e,children:n})})}function bs(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...e.components};return s.jsxs(s.Fragment,{children:[s.jsx(n.h1,{id:"webgpu-waveform",children:"webgpu-waveform"}),` +`,s.jsxs(n.p,{children:["Render waveforms to ",s.jsx(n.code,{children:""})," using ",s.jsx(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API",children:"WebGPU"})]}),` +`,s.jsx("p",{children:s.jsxs("a",{href:"https://github.com/mrkev/webgpu-waveform",children:[s.jsx("i",{className:"ri-github-fill"})," View on github"]})}),` +`,s.jsx(n.h2,{id:"usage",children:"Usage"}),` +`,s.jsx(n.p,{children:"There's three ways to use this library:"}),` +`,s.jsxs(n.ul,{children:[` +`,s.jsxs(n.li,{children:["as a class: ",s.jsx("a",{href:"#GPUWaveformRenderer",children:s.jsx(n.code,{children:"GPUWaveformRenderer"})})," (vanilla JS)"]}),` +`,s.jsxs(n.li,{children:["as a hook: ",s.jsx("a",{href:"#useWaveformRenderer",children:s.jsx(n.code,{children:"useWaveformRenderer"})})," (React)"]}),` +`,s.jsxs(n.li,{children:["as a component: ",s.jsx("a",{href:"#GPUWaveform",children:s.jsx(n.code,{children:"GPUWaveform"})})," (React)"]}),` +`]}),` +`,s.jsx(n.p,{children:s.jsxs(n.em,{children:["Note: Examples here use a waveform that looks like a cow. Source: ",s.jsx(n.a,{href:"https://www.youtube.com/watch?v=qeUAHHPt-LY",children:"Japhy Riddle"})]})}),` +`,s.jsx(wr,{render:t=>s.jsx(Yd,{audioBuffer:t})}),` +`,s.jsx("p",{children:s.jsxs("details",{children:[s.jsx("summary",{style:{background:"black"},children:"Source"}),s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-tsx",children:[s.jsx(n.span,{className:"hljs-keyword",children:"export"})," ",s.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",s.jsx(n.span,{className:"hljs-title function_",children:"Main"}),"(",s.jsx(n.span,{className:"hljs-params",children:"{ audioBuffer }: { audioBuffer: AudioBuffer }"}),`) { + `,s.jsx(n.span,{className:"hljs-keyword",children:"const"})," [offsetFr, setOffsetFr] = ",s.jsx(n.span,{className:"hljs-title function_",children:"useState"}),"(",s.jsx(n.span,{className:"hljs-number",children:"0"}),`); + `,s.jsx(n.span,{className:"hljs-keyword",children:"const"})," [frPerPx, setFrPerPx] = ",s.jsx(n.span,{className:"hljs-title function_",children:"useState"}),"(",s.jsx(n.span,{className:"hljs-number",children:"441"}),`); + + `,s.jsx(n.span,{className:"hljs-keyword",children:"return"}),` ( + `,s.jsxs(n.span,{className:"xml",children:[s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"div"})," ",s.jsx(n.span,{className:"hljs-attr",children:"style"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{{"})," ",s.jsx(n.span,{className:"hljs-attr",children:"display:"}),' "',s.jsx(n.span,{className:"hljs-attr",children:"flex"}),'", ',s.jsx(n.span,{className:"hljs-attr",children:"flexDirection:"}),' "',s.jsx(n.span,{className:"hljs-attr",children:"column"}),'" }}>']}),` + `,s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"div"})," ",s.jsx(n.span,{className:"hljs-attr",children:"style"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{{"})," ",s.jsx(n.span,{className:"hljs-attr",children:"display:"}),' "',s.jsx(n.span,{className:"hljs-attr",children:"flex"}),'", ',s.jsx(n.span,{className:"hljs-attr",children:"flexDirection:"}),' "',s.jsx(n.span,{className:"hljs-attr",children:"row"}),'" }}>']}),` + Offset:{" "} + `,s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"input"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"type"}),"=",s.jsx(n.span,{className:"hljs-string",children:'"range"'}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"min"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{0}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"max"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{audioBuffer.length}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"value"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{offsetFr}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"onChange"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{(v)"})," =>"]}),` { + const value = parseInt(v.target.value); + setOffsetFr(value); + }} + >`,s.jsxs(n.span,{className:"hljs-tag",children:[""]}),`{" "} + {offsetFr} frames + `,s.jsxs(n.span,{className:"hljs-tag",children:[""]}),` + `,s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"div"})," ",s.jsx(n.span,{className:"hljs-attr",children:"style"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{{"})," ",s.jsx(n.span,{className:"hljs-attr",children:"display:"}),' "',s.jsx(n.span,{className:"hljs-attr",children:"flex"}),'", ',s.jsx(n.span,{className:"hljs-attr",children:"flexDirection:"}),' "',s.jsx(n.span,{className:"hljs-attr",children:"row"}),'" }}>']}),` + Scale:{" "} + `,s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"input"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"type"}),"=",s.jsx(n.span,{className:"hljs-string",children:'"range"'}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"min"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{1}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"max"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{1764}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"value"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{frPerPx}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"onChange"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{(v)"})," =>"]}),` { + const value = parseInt(v.target.value); + setFrPerPx(value); + }} + >`,s.jsxs(n.span,{className:"hljs-tag",children:[""]}),`{" "} + {frPerPx} frames / pixel + `,s.jsxs(n.span,{className:"hljs-tag",children:[""]}),` + + `,s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"GPUWaveform"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"audioBuffer"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{audioBuffer}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"scale"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{frPerPx}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"offset"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{offsetFr}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"height"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{50}"}),` + />`]}),` + `,s.jsxs(n.span,{className:"hljs-tag",children:[""]})]}),` + ); +} +`]})})]})}),` +`,s.jsx("br",{}),` +`,s.jsxs(Yl,{id:"GPUWaveformRenderer",children:["Using the ",s.jsx(n.code,{children:"GPUWaveformRenderer"})," class"]}),` +`,s.jsxs(n.p,{children:["The class ",s.jsx(n.code,{children:"GPUWaveformRenderer"})," is initialized using the static method ",s.jsx(n.code,{children:".create(...)"}),". It has the following definition:"]}),` +`,s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-typescript",children:[s.jsx(n.span,{className:"hljs-keyword",children:"static"})," ",s.jsx(n.span,{className:"hljs-keyword",children:"async"})," ",s.jsx(n.span,{className:"hljs-title function_",children:"create"}),`( + `,s.jsx(n.span,{className:"hljs-attr",children:"canvas"}),": ",s.jsx(n.span,{className:"hljs-title class_",children:"HTMLCanvasElement"}),`, + `,s.jsx(n.span,{className:"hljs-attr",children:"channelData"}),": ",s.jsx(n.span,{className:"hljs-title class_",children:"Float32Array"}),` +): `,s.jsx(n.span,{className:"hljs-title class_",children:"GPUWaveformRenderer"}),` +`]})}),` +`,s.jsx(n.p,{children:"It takes in the following arguments:"}),` +`,s.jsxs(n.ul,{children:[` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"canvas: HTMLCanvasElement"})," — the canvas element to render to"]}),` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"channelData: Float32Array"})," — the array of PCM samples to render"]}),` +`]}),` +`,s.jsx(n.p,{children:s.jsx(n.em,{children:"Example:"})}),` +`,s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-javascript",children:[s.jsx(n.span,{className:"hljs-keyword",children:"async"})," ",s.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",s.jsx(n.span,{className:"hljs-title function_",children:"example"}),"(",s.jsx(n.span,{className:"hljs-params",children:"canvas, audioBuffer"}),`) { + `,s.jsx(n.span,{className:"hljs-keyword",children:"const"})," channelData = audioBuffer.",s.jsx(n.span,{className:"hljs-title function_",children:"getChannelData"}),"(",s.jsx(n.span,{className:"hljs-number",children:"0"}),`); + `,s.jsx(n.span,{className:"hljs-keyword",children:"const"})," renderer = ",s.jsx(n.span,{className:"hljs-keyword",children:"await"})," ",s.jsx(n.span,{className:"hljs-title class_",children:"GPUWaveformRenderer"}),".",s.jsx(n.span,{className:"hljs-title function_",children:"create"}),`(canvas, channelData); + + renderer?.`,s.jsx(n.span,{className:"hljs-title function_",children:"render"}),"(",s.jsx(n.span,{className:"hljs-number",children:"800"}),", ",s.jsx(n.span,{className:"hljs-number",children:"0"}),", canvas.",s.jsx(n.span,{className:"hljs-property",children:"width"}),", canvas.",s.jsx(n.span,{className:"hljs-property",children:"height"}),`); +} +`]})}),` +`,s.jsx(n.p,{children:s.jsx(n.em,{children:"Result:"})}),` +`,s.jsx(wr,{render:t=>s.jsx(Zd,{audioBuffer:t})}),` +`,s.jsxs(Yl,{id:"useWaveformRenderer",children:["Using the ",s.jsx(n.code,{children:"useWaveformRenderer"})," hook"]}),` +`,s.jsxs(n.p,{children:["The hook ",s.jsx(n.code,{children:"useWaveformRenderer"})," has the following signature:"]}),` +`,s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-typescript",children:[s.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",s.jsx(n.span,{className:"hljs-title function_",children:"useWaveformRenderer"}),"(",s.jsx(n.span,{className:"hljs-params",children:` + canvasRef: React.RefObject, + audioBuffer: AudioBuffer +`}),"): ",s.jsx(n.span,{className:"hljs-title class_",children:"RendererStatus"}),`; +`]})}),` +`,s.jsx(n.p,{children:"It takes in the following arguments:"}),` +`,s.jsxs(n.ul,{children:[` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"canvasRef: React.RefObject"})," — the canvas element to render to"]}),` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"audioBuffer: AudioBuffer"})," — the buffer to render"]}),` +`]}),` +`,s.jsx(n.p,{children:"And returns an object of the following type:"}),` +`,s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-typescript",children:[s.jsx(n.span,{className:"hljs-keyword",children:"type"})," ",s.jsx(n.span,{className:"hljs-title class_",children:"RendererStatus"}),` = + | { `,s.jsx(n.span,{className:"hljs-attr",children:"status"}),": ",s.jsx(n.span,{className:"hljs-string",children:'"initializing"'}),` } + | { `,s.jsx(n.span,{className:"hljs-attr",children:"status"}),": ",s.jsx(n.span,{className:"hljs-string",children:'"error"'}),"; ",s.jsx(n.span,{className:"hljs-attr",children:"error"}),": ",s.jsx(n.span,{className:"hljs-built_in",children:"any"}),` } + | { `,s.jsx(n.span,{className:"hljs-attr",children:"status"}),": ",s.jsx(n.span,{className:"hljs-string",children:'"ready"'}),`; + `,s.jsx(n.span,{className:"hljs-attr",children:"instance"}),": ",s.jsx(n.span,{className:"hljs-title class_",children:"GPUWaveformRenderer"}),`; + }; +`]})}),` +`,s.jsx(n.p,{children:"The objects are returned during the following stages of initialization:"}),` +`,s.jsxs(n.ul,{children:[` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:'{ status: "initializing" }'})," — during setup, when connecting to the GPU device"]}),` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:'{ status: "error"; error: any }'})," — if an error happens at initalization"]}),` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:'{ status: "ready"; instance: GPUWaveformRenderer }'})," — if the webgpu device could be initialized, setup was successful, and a renderer for ",s.jsx(n.code,{children:"audioBuffer"})," on ",s.jsx(n.code,{children:"canvas"})," could be successfully created."]}),` +`]}),` +`,s.jsx(n.p,{children:s.jsx(n.strong,{children:"Example:"})}),` +`,s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-javascript",children:[s.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",s.jsx(n.span,{className:"hljs-title function_",children:"Example"}),"(",s.jsx(n.span,{className:"hljs-params",children:"{audioBuffer, width, height}"}),`) { + `,s.jsx(n.span,{className:"hljs-keyword",children:"const"})," canvasRef = useRef<",s.jsx(n.span,{className:"hljs-title class_",children:"HTMLCanvasElement"}),">(",s.jsx(n.span,{className:"hljs-literal",children:"null"}),`); + `,s.jsx(n.span,{className:"hljs-keyword",children:"const"})," renderer = ",s.jsx(n.span,{className:"hljs-title function_",children:"useWaveformRenderer"}),`(canvasRef, audioBuffer); + + `,s.jsx(n.span,{className:"hljs-title function_",children:"useEffect"}),"(",s.jsx(n.span,{className:"hljs-function",children:"() =>"}),` { + `,s.jsx(n.span,{className:"hljs-keyword",children:"if"})," (renderer.",s.jsx(n.span,{className:"hljs-property",children:"status"})," !== ",s.jsx(n.span,{className:"hljs-string",children:'"ready"'}),`) { + `,s.jsx(n.span,{className:"hljs-keyword",children:"return"}),`; + } + + renderer?.`,s.jsx(n.span,{className:"hljs-title function_",children:"render"}),"(audioBuffer.",s.jsx(n.span,{className:"hljs-property",children:"length"})," / width, ",s.jsx(n.span,{className:"hljs-number",children:"0"}),`, width, height); + }, [renderer, audioBuffer, width, height]); + + `,s.jsx(n.span,{className:"hljs-keyword",children:"return"})," ",s.jsx(n.span,{className:"xml",children:s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"canvas"})," ",s.jsx(n.span,{className:"hljs-attr",children:"ref"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{canvasRef}"})," ",s.jsx(n.span,{className:"hljs-attr",children:"width"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{width}"})," ",s.jsx(n.span,{className:"hljs-attr",children:"height"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{height}"})," />"]})}),`; +}; + +`]})}),` +`,s.jsx(n.p,{children:s.jsx(n.strong,{children:"Result:"})}),` +`,s.jsx(wr,{render:t=>s.jsx(Jd,{audioBuffer:t,width:300,height:100})}),` +`,s.jsxs(Yl,{id:"GPUWaveform",children:["Using the ",s.jsx(n.code,{children:"GPUWaveform"})," component"]}),` +`,s.jsxs(n.p,{children:["The component ",s.jsx(n.code,{children:"GPUWaveform"})," takes the following properties:"]}),` +`,s.jsxs(n.ul,{children:[` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"audioBuffer: AudioBuffer;"})," — the buffer to render"]}),` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"scale?: number;"}),' — the "zoom" level. Namely, number of samples per pixel in the x axis']}),` +`,s.jsxs(n.li,{children:[s.jsx(n.code,{children:"offset?: number;"})," — the number of samples to skip from the beggining of the buffer"]}),` +`,s.jsxs(n.li,{children:["...and all the props of ",s.jsx(n.code,{children:"React.CanvasHTMLAttributes"})," — these are passed directly to the rendered canvas"]}),` +`]}),` +`,s.jsx(n.p,{children:"Example:"}),` +`,s.jsx(n.pre,{children:s.jsxs(n.code,{className:"hljs language-javascript",children:[s.jsx(n.span,{className:"hljs-keyword",children:"export"})," ",s.jsx(n.span,{className:"hljs-keyword",children:"function"})," ",s.jsx(n.span,{className:"hljs-title function_",children:"Example"}),"(",s.jsx(n.span,{className:"hljs-params",children:"{audioBuffer}"}),`) { + `,s.jsx(n.span,{className:"hljs-keyword",children:"return"}),` ( + `,s.jsx(n.span,{className:"xml",children:s.jsxs(n.span,{className:"hljs-tag",children:["<",s.jsx(n.span,{className:"hljs-name",children:"GPUWaveform"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"audioBuffer"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{audioBuffer}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"scale"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{800}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"width"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{300}"}),` + `,s.jsx(n.span,{className:"hljs-attr",children:"height"}),"=",s.jsx(n.span,{className:"hljs-string",children:"{100}"}),` + />`]})}),` + ) +} +`]})}),` +`,s.jsx(n.p,{children:"Result:"}),` +`,s.jsx(wr,{render:t=>s.jsx(qd,{audioBuffer:t})}),` +`,s.jsx("footer",{children:s.jsxs(n.p,{children:["Built by Kevin Chavez · ",s.jsx("a",{href:"https://twitter.com/aykev",children:s.jsx("i",{className:"ri-twitter-fill"})})," ",s.jsx("a",{href:"https://github.com/mrkev",children:s.jsx("i",{className:"ri-github-fill"})})]})})]})}function bd(e={}){const{wrapper:n}=e.components||{};return n?s.jsx(n,{...e,children:s.jsx(bs,{...e})}):bs(e)}function ep(){const e=Wi(()=>Hi(Vi,"Cow-Shaped.wav"));return Wi(()=>Hi(Vi,"Fish-Shaped.wav")),(()=>{switch(e[0]){case"resolved":return s.jsx($o,{audioBuffer:e[1],scale:800,width:300,height:100});case"pending":return s.jsx(s.Fragment,{children:"loading..."});case"rejected":return s.jsxs(s.Fragment,{children:["error: ",`${e[1]}`]})}})(),s.jsx(bd,{})}Xl.createRoot(document.getElementById("root")).render(s.jsx(Oc.StrictMode,{children:s.jsx(ep,{})})); diff --git a/docs/index.html b/docs/index.html index 7879028..2ca2172 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,9 +13,9 @@ - Simple Vite + React + TS Library Template - - + webgpu-waveform + + diff --git a/src/index.html b/src/index.html index 3c1b5ab..829805b 100644 --- a/src/index.html +++ b/src/index.html @@ -13,7 +13,7 @@ - Simple Vite + React + TS Library Template + webgpu-waveform diff --git a/src/site/App.css b/src/site/App.css index 47b2e27..132e53a 100644 --- a/src/site/App.css +++ b/src/site/App.css @@ -49,3 +49,12 @@ footer a:link { footer a:visited { color: #888; } + +details > pre { + margin: 0; + padding: 0; +} + +details > summary { + padding: 0px 1ch; +} diff --git a/src/site/Examples.tsx b/src/site/Examples.tsx index ed50ad7..3f856c4 100644 --- a/src/site/Examples.tsx +++ b/src/site/Examples.tsx @@ -1,8 +1,9 @@ -import { useEffect, useRef } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { GPUWaveform } from "../lib/GPUWaveform"; import { audioContext, loadSound, usePromise } from "./utils"; import { useWaveformRenderer } from "../lib/useWaveformRenderer"; import { GPUWaveformRenderer } from "../lib/GPUWaveformRenderer"; +import { nullthrows } from "../lib/useWebGPU"; export function Example({ render, @@ -21,12 +22,62 @@ export function Example({ } } +export function Main({ audioBuffer }: { audioBuffer: AudioBuffer }) { + const [offsetFr, setOffsetFr] = useState(0); + const [frPerPx, setFrPerPx] = useState(441); + + return ( +
+
+ Offset:{" "} + { + const value = parseInt(v.target.value); + setOffsetFr(value); + }} + >{" "} + {offsetFr} frames +
+
+ Scale:{" "} + { + const value = parseInt(v.target.value); + setFrPerPx(value); + }} + >{" "} + {frPerPx} frames / pixel +
+ + +
+ ); +} + async function example1(canvas: HTMLCanvasElement, audioBuffer: AudioBuffer) { const channelData = audioBuffer.getChannelData(0); const renderer = await GPUWaveformRenderer.create(canvas, channelData); - console.log("result", renderer); - renderer?.render(800, 0, canvas.width, canvas.height); } diff --git a/src/site/Readme.mdx b/src/site/Readme.mdx index bcda954..6676926 100644 --- a/src/site/Readme.mdx +++ b/src/site/Readme.mdx @@ -1,6 +1,6 @@ import { GPUWaveform, useWaveformRenderer } from "../index"; import { audioContext, loadSound, usePromise } from "./utils"; -import { Example, Example1, Example2, Example3 } from "./Examples" +import { Example, Main, Example1, Example2, Example3 } from "./Examples" import { useRef, useEffect } from 'react' import GitHubButton from 'react-github-btn' @@ -17,7 +17,7 @@ export function H3ID({ id, children }) { Render waveforms to `` using [WebGPU](https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API)

- View on github + View on github

@@ -30,6 +30,60 @@ There's three ways to use this library: _Note: Examples here use a waveform that looks like a cow. Source: [Japhy Riddle](https://www.youtube.com/watch?v=qeUAHHPt-LY)_ +
} /> + +

+

+ Source +```tsx +export function Main({ audioBuffer }: { audioBuffer: AudioBuffer }) { + const [offsetFr, setOffsetFr] = useState(0); + const [frPerPx, setFrPerPx] = useState(441); + + return ( +
+
+ Offset:{" "} + { + const value = parseInt(v.target.value); + setOffsetFr(value); + }} + >{" "} + {offsetFr} frames +
+
+ Scale:{" "} + { + const value = parseInt(v.target.value); + setFrPerPx(value); + }} + >{" "} + {frPerPx} frames / pixel +
+ + +
+ ); +} +``` +
+

+
Using the `GPUWaveformRenderer` class @@ -149,9 +203,6 @@ Result: } /> - - - \ No newline at end of file diff --git a/src/site/index.css b/src/site/index.css index 814f58b..a932163 100644 --- a/src/site/index.css +++ b/src/site/index.css @@ -37,11 +37,10 @@ h1 { line-height: 1.1; margin: 0; } - button { - border-radius: 8px; + /* border-radius: 8px; */ border: 1px solid transparent; - padding: 0.4em 1.2em; + padding: 2px 12px; font-size: 1em; font-weight: 500; font-family: inherit; diff --git a/vite.config.ts b/vite.config.ts index 5f741ac..d4f4ac9 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -9,17 +9,7 @@ import rehypeSlug from "rehype-slug"; // Builds the site // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - react(), - mdx({ rehypePlugins: [highlight, rehypeSlug] }), - // externalizeDeps({ - // deps: false, - // devDeps: false, - // except: [], - // optionalDeps: true, - // peerDeps: true, - // }), - ], + plugins: [react(), mdx({ rehypePlugins: [highlight, rehypeSlug] })], root: "src", build: { outDir: "../docs",