Copy goos: darwin
goarch: arm64
pkg: github.com/panjf2000/gnet/v2
│ old │ new │
│ sec/op │ sec/op vs base │
GC4El100k/Run-4-eventloop-100000-10 30 .74m ± 3 % 19 .68m ± 10 % -35.98% ( p = 0.000 n = 10 )
GC4El200k/Run-4-eventloop-200000-10 63 .64m ± 3 % 38 .16m ± 11 % -40.04% ( p = 0.000 n = 10 )
GC4El500k/Run-4-eventloop-500000-10 177 .28m ± 8 % 95 .21m ± 4 % -46.29% ( p = 0.000 n = 10 )
geomean 70 .26m 41 .51m -40.92%
+Announcing gnet v2.3.0 Hello World! We present you, gnet v2.3.0!
Today, I'm thrilled to announce the official release of gnet v2.3.0 .
P.S. Follow me on Twitter @panjf2000 to get the latest updates about gnet!
# IntroThe two major updates in this release are #460 and #461 .
We introduced a new data structure matrix
in #460 to displace the default map
for managing connections internally, with the help of this new data structure, we can eliminate the pointers in map
and store connections in the form of a matrix (an array of slices), which will significantly reduce GC (Garbage Collection) latency:
Copy goos: darwin
goarch: arm64
pkg: github.com/panjf2000/gnet/v2
│ old │ new │
│ sec/op │ sec/op vs base │
GC4El100k/Run-4-eventloop-100000-10 30 .74m ± 3 % 19 .68m ± 10 % -35.98% ( p = 0.000 n = 10 )
GC4El200k/Run-4-eventloop-200000-10 63 .64m ± 3 % 38 .16m ± 11 % -40.04% ( p = 0.000 n = 10 )
GC4El500k/Run-4-eventloop-500000-10 177 .28m ± 8 % 95 .21m ± 4 % -46.29% ( p = 0.000 n = 10 )
geomean 70 .26m 41 .51m -40.92%
│ old │ new │
│ B/op │ B/op vs base │
GC4El100k/Run-4-eventloop-100000-10 27.50 ± 35 % 25.50 ± 33 % ~ ( p = 0.423 n = 10 )
GC4El200k/Run-4-eventloop-200000-10 27.50 ± 53 % 20.50 ± 66 % ~ ( p = 0.642 n = 10 )
GC4El500k/Run-4-eventloop-500000-10 16.00 ± ? 18.00 ± ? ~ ( p = 0.357 n = 10 )
geomean 22.96 21.11 -8.04%
│ old │ new │
│ allocs/op │ allocs/op vs base │
GC4El100k/Run-4-eventloop-100000-10 0.000 ± 0 % 0.000 ± 0 % ~ ( p = 1.000 n = 10 ) ¹
GC4El200k/Run-4-eventloop-200000-10 0.000 ± 0 % 0.000 ± 0 % ~ ( p = 1.000 n = 10 ) ¹
GC4El500k/Run-4-eventloop-500000-10 0.000 ± 0 % 0.000 ± 0 % ~ ( p = 1.000 n = 10 ) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be > 0 to compute geomean
The more connections there are, the more pronounced the effect.
While we have performed sufficient testing on matrix
, we are still using map
as the default connection storage in this RC version for the sake of caution, but you can enable the new data structure by specifying build tags: -tags=gc_opt. This can be considered as a precautionary measure so that in case matrix
has any unexpected bugs, you can quickly fall back to the default map
. We will consider promoting matrix
to be the default storage for connections in a subsequent official release.
Another significant leap is #461 , you can now run gnet
on Windows, it should be noted that the Windows version of gnet
is intended for development purposes and is not recommended for use in production.
-
+
@@ -56,7 +56,7 @@
-
+
diff --git a/blog/announcing-gnet-v2-5-0/index.html b/blog/announcing-gnet-v2-5-0/index.html
index 79999c3f9..6443fda23 100644
--- a/blog/announcing-gnet-v2-5-0/index.html
+++ b/blog/announcing-gnet-v2-5-0/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -39,12 +39,12 @@
-
Announcing gnet v2.5.0 Hello World! We present you, gnet v2.5.0!
The v2.5.0 for gnet
is officially released!
The two major updates in this release are feat: support edge-triggered I/O and feat: support multiple network addresses binding .
# IntroIn #576 , gnet
implemented edge-triggered I/O on the basis of EPOLLET
in epoll
and EV_CLEAR
in kqueue
. Before v2.5.0, gnet
had been using level-triggered I/O under the hood, now developers are able to switch to edge-triggered I/O via the functional option: EdgeTriggeredIO
when developing and deploying gnet
services. In certain specific scenarios, edge-triggered I/O may outperform level-triggered I/O, as a result of which, switching gnet
from LT mode to ET mode can lead to significant performance improvements. But note that this performance boost is only a theoretical inference and may only occur under specific circumstances. Therefore, please use ET mode with caution and conduct benchmark tests to collect sufficient numbers before the deployment in production.
Another useful new feature is #578 , with which developers are allowed to bind multiple addresses(IP:Port) in one gnet
instance. This feature makes it possible to build and run a gnet
server that serves various protocols or a specific set of backend services.
In addition to these two major features, we've also made a good deal of code optimizations: refactoring and streamlining the core code, as well as optimising the structure.
P.S. Follow me on Twitter @panjf2000 to get the latest updates about gnet!
+
Announcing gnet v2.5.0 Hello World! We present you, gnet v2.5.0!
The v2.5.0 for gnet
is officially released!
The two major updates in this release are feat: support edge-triggered I/O and feat: support multiple network addresses binding .
# IntroIn #576 , gnet
implemented edge-triggered I/O on the basis of EPOLLET
in epoll
and EV_CLEAR
in kqueue
. Before v2.5.0, gnet
had been using level-triggered I/O under the hood, now developers are able to switch to edge-triggered I/O via the functional option: EdgeTriggeredIO
when developing and deploying gnet
services. In certain specific scenarios, edge-triggered I/O may outperform level-triggered I/O, as a result of which, switching gnet
from LT mode to ET mode can lead to significant performance improvements. But note that this performance boost is only a theoretical inference and may only occur under specific circumstances. Therefore, please use ET mode with caution and conduct benchmark tests to collect sufficient numbers before the deployment in production.
Another useful new feature is #578 , with which developers are allowed to bind multiple addresses(IP:Port) in one gnet
instance. This feature makes it possible to build and run a gnet
server that serves various protocols or a specific set of backend services.
In addition to these two major features, we've also made a good deal of code optimizations: refactoring and streamlining the core code, as well as optimising the structure.
P.S. Follow me on Twitter @panjf2000 to get the latest updates about gnet!
-
+
@@ -54,7 +54,7 @@
-
+
diff --git a/blog/announcing-gnet-v2/index.html b/blog/announcing-gnet-v2/index.html
index 42076e22c..49953ba35 100644
--- a/blog/announcing-gnet-v2/index.html
+++ b/blog/announcing-gnet-v2/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -39,7 +39,7 @@
-
Announcing gnet v2.0.0 Hello World! We present you, gnet v2.0.0!
Today, I'm thrilled to announce the release of gnet v2.0.0 , in which we've made plenty of significant improvements and optimizations: added and removed some APIs, redesigned and reimplemented the buffer, optimized the memory pool, etc.
In this blog post, we'll go through the most notable changes to gnet 2.0.
P.S. Follow me on Twitter @panjf2000 to get the latest updates about gnet!
# FeaturesThe built-in codecs have been deprecated and removed, to reduce the complexity and keep gnet simple. From a lot of feedback we've received, this feature does not bring convenience and benefits to users, thus, I decided to take it off from gnet. Cutting those codecs off makes the code on top of gnet more holistic and straightforward, see a simple example for details. gnet.Conn
now implements io.Reader
, io.Writer
, io.ReaderFrom
, io.WriterTo
and net.Conn
, apart from that, it also implements the gnet.Socket
interface, providing more API's for users to manipulate the connections.gnet now supports vectored I/O, allowing users to read from a vector of buffers and write to a single data stream, a vectored I/O implementation can provide improved performance over a linear I/O implementation via internal optimizations. API's for vectored I/O in gnet are Conn.Writev([][]byte)
and Conn.AsyncWritev([][]byte, AsyncCallback)
. Visit gnet API doc for more details.
Note that some event handlers' name has been changed in gnet v2, learn about the details in the table below:
Old event handler New event handler Note OnInitComplete OnBoot OnShutdown OnShutdown OnOpened OnOpen OnClosed OnClose React OnTraffic Tick OnTick PreWrite - Deprecated AfterWrite - Deprecated
# OptimizationsWe redesigned and reimplemented the internal buffers for connections, the diagram shows below:
We go from the ring-buffer to the mixed-buffer that combines ring-buffer and a kind of new buffer type: linked-list buffer, which makes it more flexible and efficient, this new elastic buffer can save more memory.
# PerformanceWe've run a simple echo benchmark on Linux between v1.5.3 and v2.0.0, the results are shown below:
# EnvironmentCopy
OS : Ubuntu 20 . 04 / x86_64
CPU : 8 CPU cores , AMD EPYC 7K62 48 - Core Processor
Memory : 16 . 0 GiB
+Announcing gnet v2.0.0 Hello World! We present you, gnet v2.0.0!
Today, I'm thrilled to announce the release of gnet v2.0.0 , in which we've made plenty of significant improvements and optimizations: added and removed some APIs, redesigned and reimplemented the buffer, optimized the memory pool, etc.
In this blog post, we'll go through the most notable changes to gnet 2.0.
P.S. Follow me on Twitter @panjf2000 to get the latest updates about gnet!
# FeaturesThe built-in codecs have been deprecated and removed, to reduce the complexity and keep gnet simple. From a lot of feedback we've received, this feature does not bring convenience and benefits to users, thus, I decided to take it off from gnet. Cutting those codecs off makes the code on top of gnet more holistic and straightforward, see a simple example for details. gnet.Conn
now implements io.Reader
, io.Writer
, io.ReaderFrom
, io.WriterTo
and net.Conn
, apart from that, it also implements the gnet.Socket
interface, providing more API's for users to manipulate the connections.gnet now supports vectored I/O, allowing users to read from a vector of buffers and write to a single data stream, a vectored I/O implementation can provide improved performance over a linear I/O implementation via internal optimizations. API's for vectored I/O in gnet are Conn.Writev([][]byte)
and Conn.AsyncWritev([][]byte, AsyncCallback)
. Visit gnet API doc for more details.
Note that some event handlers' name has been changed in gnet v2, learn about the details in the table below:
Old event handler New event handler Note OnInitComplete OnBoot OnShutdown OnShutdown OnOpened OnOpen OnClosed OnClose React OnTraffic Tick OnTick PreWrite - Deprecated AfterWrite - Deprecated
# OptimizationsWe redesigned and reimplemented the internal buffers for connections, the diagram shows below:
We go from the ring-buffer to the mixed-buffer that combines ring-buffer and a kind of new buffer type: linked-list buffer, which makes it more flexible and efficient, this new elastic buffer can save more memory.
# PerformanceWe've run a simple echo benchmark on Linux between v1.5.3 and v2.0.0, the results are shown below:
# EnvironmentCopy
OS : Ubuntu 20 . 04 / x86_64
CPU : 8 CPU cores , AMD EPYC 7K62 48 - Core Processor
Memory : 16 . 0 GiB
Go Version : go1 . 17 . 2 linux / amd64
GOMAXPROCS : 8
TCP connections : 1000
Packet size : 1024 bytes
Test duration : 15s
# v1.5.3Copy --- GNET ---
Warming up for 1 seconds .. .
2022 /02/27 17 :23:21 Echo server is listening on 127.0 .0.1:7002 ( multi-cores: true, event-loops: 8 )
@@ -52,7 +52,7 @@
-
+
@@ -62,7 +62,7 @@
-
+
diff --git a/blog/index.html b/blog/index.html
index 21804fc5b..f1ae3af05 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -49,12 +49,12 @@
-
The gnet Blog gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go, created by Andy Pan .
Looking for product updates & announcements?
Check out the highlights section
+
The gnet Blog gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go, created by Andy Pan .
Looking for product updates & announcements?
Check out the highlights section
-
+
@@ -64,7 +64,7 @@
-
+
diff --git a/blog/tags/domain-presentation/index.html b/blog/tags/domain-presentation/index.html
index 1882fed4b..b8433c0ac 100644
--- a/blog/tags/domain-presentation/index.html
+++ b/blog/tags/domain-presentation/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -47,12 +47,12 @@
-
+
@@ -62,7 +62,7 @@
-
+
diff --git "a/blog/tags/domain-\345\261\225\347\244\272/index.html" "b/blog/tags/domain-\345\261\225\347\244\272/index.html"
index 9f03b3cc8..206d7a83c 100644
--- "a/blog/tags/domain-\345\261\225\347\244\272/index.html"
+++ "b/blog/tags/domain-\345\261\225\347\244\272/index.html"
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -41,12 +41,12 @@
-
+
@@ -56,7 +56,7 @@
-
+
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 7569d1ea3..ad5ecb141 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -21,7 +21,7 @@
-
+
@@ -29,7 +29,7 @@
-
+
@@ -37,12 +37,12 @@
-
+
@@ -50,7 +50,7 @@
-
+
diff --git a/blog/tags/type-announcement/index.html b/blog/tags/type-announcement/index.html
index 98d20f4f3..a3e271ecd 100644
--- a/blog/tags/type-announcement/index.html
+++ b/blog/tags/type-announcement/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -47,12 +47,12 @@
-
+
@@ -62,7 +62,7 @@
-
+
diff --git "a/blog/tags/type-\345\256\230\345\256\243/index.html" "b/blog/tags/type-\345\256\230\345\256\243/index.html"
index a9224f037..b1ed7bfdc 100644
--- "a/blog/tags/type-\345\256\230\345\256\243/index.html"
+++ "b/blog/tags/type-\345\256\230\345\256\243/index.html"
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -41,12 +41,12 @@
-
+
@@ -56,7 +56,7 @@
-
+
diff --git a/c4f5d8e4.2ee974aa.js b/c4f5d8e4.a9e9690b.js
similarity index 99%
rename from c4f5d8e4.2ee974aa.js
rename to c4f5d8e4.a9e9690b.js
index 7e8985a44..430fdfca2 100644
--- a/c4f5d8e4.2ee974aa.js
+++ b/c4f5d8e4.a9e9690b.js
@@ -1,2 +1,2 @@
-/*! For license information please see c4f5d8e4.2ee974aa.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[81,4],{246:function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),o=n.n(i),a=n(264),u=n(259),s=n(283),l=n(254),c=n(256),f=n.n(c);var p=function(e){return o.a.createElement(o.a.Fragment,null,e.children)};n(327),n(260),n(53),n(26),n(20),n(19);function d(e,t){if(e.length!==t.length)return!1;for(var n=0;nr&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(v,"$1"+e.trim());case 58:return e.trim()+t.replace(v,"$1"+e.trim());default:if(0<1*n&&0s.charCodeAt(8))break;case 115:a=a.replace(s,"-webkit-"+s)+";"+a;break;case 207:case 102:a=a.replace(s,"-webkit-"+(102u.charCodeAt(0)&&(u=u.trim()),u=[u],0d)&&(B=(U=U.replace(" ",":")).length),0=4;++r,i-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(i){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},k={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var S=/[A-Z]|^ms/g,F=/_EMO_([^_]+?)_([^]*?)_EMO_/g,D=function(e){return 45===e.charCodeAt(1)},I=function(e){return null!=e&&"boolean"!=typeof e},j=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return D(e)?e:e.replace(S,"-$&").toLowerCase()})),N=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(F,(function(e,t,n){return L={name:t,styles:n,next:L},t}))}return 1===k[e]||D(e)||"number"!=typeof t||0===t?t:t+"px"};function M(e,t,n,r){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return L={name:n.name,styles:n.styles,next:L},n.name;if(void 0!==n.styles){var i=n.next;if(void 0!==i)for(;void 0!==i;)L={name:i.name,styles:i.styles,next:L},i=i.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i-1}function oe(e){return ie(e)?window.pageYOffset:e.scrollTop}function ae(e,t){ie(e)?window.scrollTo(0,t):e.scrollTop=t}function ue(e,t,n,r){void 0===n&&(n=200),void 0===r&&(r=ee);var i=oe(e),o=t-i,a=0;!function t(){var u,s=o*((u=(u=a+=10)/n-1)*u*u+1)+i;ae(e,s),a=d)return{placement:"bottom",maxHeight:t};if(O>=d&&!a)return o&&ue(s,C,160),{placement:"bottom",maxHeight:t};if(!a&&O>=r||a&&_>=r)return o&&ue(s,C,160),{placement:"bottom",maxHeight:a?_-b:O-b};if("auto"===i||a){var x=t,k=a?E:w;return k>=r&&(x=Math.min(k-b-u.controlHeight,t)),{placement:"top",maxHeight:x}}if("bottom"===i)return ae(s,C),{placement:"bottom",maxHeight:t};break;case"top":if(E>=d)return{placement:"top",maxHeight:t};if(w>=d&&!a)return o&&ue(s,A,160),{placement:"top",maxHeight:t};if(!a&&w>=r||a&&E>=r){var S=t;return(!a&&w>=r||a&&E>=r)&&(S=a?E-y:w-y),o&&ue(s,A,160),{placement:"top",maxHeight:S}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'+i+'".')}return l}var he=function(e){return"auto"===e?"bottom":e},ve=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i=0||(i[n]=e[n]);return i}(e,["size"]);return q("svg",Se({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Fe},n))},Ie=function(e){return q(De,Se({size:20},e),q("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},je=function(e){return q(De,Se({size:20},e),q("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Ne=function(e){var t=e.isFocused,n=e.theme,r=n.spacing.baseUnit,i=n.colors;return{label:"indicatorContainer",color:t?i.neutral60:i.neutral20,display:"flex",padding:2*r,transition:"color 150ms",":hover":{color:t?i.neutral80:i.neutral40}}},Me=Ne,Le=Ne,Pe=function(){var e=R.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(ke()),Te=function(e){var t=e.delay,n=e.offset;return q("span",{css:R({animation:Pe+" 1s ease-in-out "+t+"ms infinite;",backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":null,height:"1em",verticalAlign:"top",width:"1em"},"")})},Re=function(e){var t=e.className,n=e.cx,r=e.getStyles,i=e.innerProps,o=e.isRtl;return q("div",Se({},i,{css:r("loadingIndicator",e),className:n({indicator:!0,"loading-indicator":!0},t)}),q(Te,{delay:0,offset:o}),q(Te,{delay:160,offset:!0}),q(Te,{delay:320,offset:!o}))};function Be(){return(Be=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,["className","cx","getStyles","theme","selectProps"]));return q("div",Ve({css:r("groupHeading",Ve({theme:i},o)),className:n({"group-heading":!0},t)},o))},IndicatorsContainer:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles;return q("div",{css:i("indicatorsContainer",e),className:r({indicators:!0},n)},t)},IndicatorSeparator:function(e){var t=e.className,n=e.cx,r=e.getStyles,i=e.innerProps;return q("span",Se({},i,{css:r("indicatorSeparator",e),className:n({"indicator-separator":!0},t)}))},Input:function(e){var t=e.className,n=e.cx,r=e.getStyles,i=e.innerRef,o=e.isHidden,a=e.isDisabled,u=e.theme,s=(e.selectProps,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,["className","cx","getStyles","innerRef","isHidden","isDisabled","theme","selectProps"]));return q("div",{css:r("input",ze({theme:u},s))},q(ce.a,ze({className:n({input:!0},t),inputRef:i,inputStyle:Ue(o),disabled:a},s)))},LoadingIndicator:Re,Menu:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.innerRef,a=e.innerProps;return q("div",fe({css:i("menu",e),className:r({menu:!0},n)},a,{ref:o}),t)},MenuList:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.isMulti,a=e.innerRef;return q("div",{css:i("menuList",e),className:r({"menu-list":!0,"menu-list--is-multi":o},n),ref:a},t)},MenuPortal:_e,LoadingMessage:Ee,NoOptionsMessage:ye,MultiValue:qe,MultiValueContainer:$e,MultiValueLabel:Ge,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return q("div",n,t||q(Ie,{size:14}))},Option:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.isDisabled,a=e.isFocused,u=e.isSelected,s=e.innerRef,l=e.innerProps;return q("div",Ye({css:i("option",e),className:r({option:!0,"option--is-disabled":o,"option--is-focused":a,"option--is-selected":u},n),ref:s},l),t)},Placeholder:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.innerProps;return q("div",Ke({css:i("placeholder",e),className:r({placeholder:!0},n)},o),t)},SelectContainer:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.innerProps,a=e.isDisabled,u=e.isRtl;return q("div",xe({css:i("container",e),className:r({"--is-disabled":a,"--is-rtl":u},n)},o),t)},SingleValue:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.isDisabled,a=e.innerProps;return q("div",Ze({css:i("singleValue",e),className:r({"single-value":!0,"single-value--is-disabled":o},n)},a),t)},ValueContainer:function(e){var t=e.children,n=e.className,r=e.cx,i=e.isMulti,o=e.getStyles,a=e.hasValue;return q("div",{css:o("valueContainer",e),className:r({"value-container":!0,"value-container--is-multi":i,"value-container--has-value":a},n)},t)}},Qe=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],et=function(e){for(var t=0;t=0||(i[n]=e[n]);return i}(e,["in","out","onExited","appear","enter","exit","innerRef","emotion"]));return q("input",ut({ref:t},n,{css:R({label:"dummyInput",background:0,border:0,fontSize:"inherit",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(0)"},"")}))}var lt=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.componentDidMount=function(){this.props.innerRef(Object(X.findDOMNode)(this))},i.componentWillUnmount=function(){this.props.innerRef(null)},i.render=function(){return this.props.children},r}(i.Component),ct=["boxSizing","height","overflow","paddingRight","position"],ft={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function pt(e){e.preventDefault()}function dt(e){e.stopPropagation()}function ht(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function vt(){return"ontouchstart"in window||navigator.maxTouchPoints}var mt=!(!window.document||!window.document.createElement),gt=0,bt=function(e){var t,n;function r(){for(var t,n=arguments.length,r=new Array(n),i=0;i0,h=c-f-l,v=!1;h>n&&t.isBottom&&(o&&o(e),t.isBottom=!1),d&&t.isTop&&(u&&u(e),t.isTop=!1),d&&n>h?(i&&!t.isBottom&&i(e),p.scrollTop=c,v=!0,t.isBottom=!0):!d&&-n>l&&(a&&!t.isTop&&a(e),p.scrollTop=0,v=!0,t.isTop=!0),v&&t.cancelScroll(e)},t.onWheel=function(e){t.handleEventDelta(e,e.deltaY)},t.onTouchStart=function(e){t.touchStart=e.changedTouches[0].clientY},t.onTouchMove=function(e){var n=t.touchStart-e.changedTouches[0].clientY;t.handleEventDelta(e,n)},t.getScrollTarget=function(e){t.scrollTarget=e},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.componentDidMount=function(){this.startListening(this.scrollTarget)},i.componentWillUnmount=function(){this.stopListening(this.scrollTarget)},i.startListening=function(e){e&&("function"==typeof e.addEventListener&&e.addEventListener("wheel",this.onWheel,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchstart",this.onTouchStart,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchmove",this.onTouchMove,!1))},i.stopListening=function(e){"function"==typeof e.removeEventListener&&e.removeEventListener("wheel",this.onWheel,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchstart",this.onTouchStart,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchmove",this.onTouchMove,!1)},i.render=function(){return o.a.createElement(lt,{innerRef:this.getScrollTarget},this.props.children)},r}(i.Component);function wt(e){var t=e.isEnabled,n=void 0===t||t,r=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,["isEnabled"]);return n?o.a.createElement(_t,r):r.children}var Ot=function(e,t){void 0===t&&(t={});var n=t,r=n.isSearchable,i=n.isMulti,o=n.label,a=n.isDisabled;switch(e){case"menu":return"Use Up and Down to choose options"+(a?"":", press Enter to select the currently focused option")+", press Escape to exit the menu, press Tab to select the option and exit the menu.";case"input":return(o||"Select")+" is focused "+(r?",type to refine list":"")+", press Down to open the menu, "+(i?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value"}},Ct=function(e,t){var n=t.value,r=t.isDisabled;if(n)switch(e){case"deselect-option":case"pop-value":case"remove-value":return"option "+n+", deselected.";case"select-option":return r?"option "+n+" is disabled. Select another option.":"option "+n+", selected."}},At=function(e){return!!e.isDisabled};var xt={clearIndicator:Le,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":null,pointerEvents:t?"none":null,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,i=r.colors,o=r.borderRadius,a=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?i.neutral5:i.neutral0,borderColor:t?i.neutral10:n?i.primary:i.neutral20,borderRadius:o,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px "+i.primary:null,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:a.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?i.primary:i.neutral30}}},dropdownIndicator:Me,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:"500",marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,i=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?i.neutral10:i.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,i=n.colors;return{margin:r.baseUnit/2,paddingBottom:r.baseUnit/2,paddingTop:r.baseUnit/2,visibility:t?"hidden":"visible",color:i.neutral80}},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,i=r.colors,o=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?i.neutral60:i.neutral20,display:"flex",padding:2*o,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:be,menu:function(e){var t,n=e.placement,r=e.theme,i=r.borderRadius,o=r.spacing,a=r.colors;return(t={label:"menu"})[function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n)]="100%",t.backgroundColor=a.neutral0,t.borderRadius=i,t.boxShadow="0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",t.marginBottom=o.menuGutter,t.marginTop=o.menuGutter,t.position="absolute",t.width="100%",t.zIndex=1,t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,i=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:i?"ellipsis":null,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,i=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused&&i.dangerLight,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:i.dangerLight,color:i.danger}}},noOptionsMessage:ge,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,i=e.theme,o=i.spacing,a=i.colors;return{label:"option",backgroundColor:r?a.primary:n?a.primary25:"transparent",color:t?a.neutral20:r?a.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:2*o.baseUnit+"px "+3*o.baseUnit+"px",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:!t&&(r?a.primary:a.primary50)}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2,position:"absolute",top:"50%",transform:"translateY(-50%)"}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,i=n.colors;return{label:"singleValue",color:t?i.neutral40:i.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"calc(100% - "+2*r.baseUnit+"px)",overflow:"hidden",position:"absolute",textOverflow:"ellipsis",whiteSpace:"nowrap",top:"50%",transform:"translateY(-50%)"}},valueContainer:function(e){var t=e.theme.spacing;return{alignItems:"center",display:"flex",flex:1,flexWrap:"wrap",padding:t.baseUnit/2+"px "+2*t.baseUnit+"px",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}};var kt={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}};function St(){return(St=Object.assign||function(e){for(var t=1;t-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:At,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return t+" result"+(1!==t?"s":"")+" available"},styles:{},tabIndex:"0",tabSelectsValue:!0},jt=1,Nt=function(e){var t,n;function r(t){var n;(n=e.call(this,t)||this).state={ariaLiveSelection:"",ariaLiveContext:"",focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,menuOptions:{render:[],focusable:[]},selectValue:[]},n.blockOptionHover=!1,n.isComposing=!1,n.clearFocusValueOnUpdate=!1,n.commonProps=void 0,n.components=void 0,n.hasGroups=!1,n.initialTouchX=0,n.initialTouchY=0,n.inputIsHiddenAfterUpdate=void 0,n.instancePrefix="",n.openAfterFocus=!1,n.scrollToFocusedOptionOnUpdate=!1,n.userIsDragging=void 0,n.controlRef=null,n.getControlRef=function(e){n.controlRef=e},n.focusedOptionRef=null,n.getFocusedOptionRef=function(e){n.focusedOptionRef=e},n.menuListRef=null,n.getMenuListRef=function(e){n.menuListRef=e},n.inputRef=null,n.getInputRef=function(e){n.inputRef=e},n.cacheComponents=function(e){n.components=Xe({},Je,{components:e}.components)},n.focus=n.focusInput,n.blur=n.blurInput,n.onChange=function(e,t){var r=n.props;(0,r.onChange)(e,St({},t,{name:r.name}))},n.setValue=function(e,t,r){void 0===t&&(t="set-value");var i=n.props,o=i.closeMenuOnSelect,a=i.isMulti;n.onInputChange("",{action:"set-value"}),o&&(n.inputIsHiddenAfterUpdate=!a,n.onMenuClose()),n.clearFocusValueOnUpdate=!0,n.onChange(e,{action:t,option:r})},n.selectOption=function(e){var t=n.props,r=t.blurInputOnSelect,i=t.isMulti,o=n.state.selectValue;if(i)if(n.isOptionSelected(e,o)){var a=n.getOptionValue(e);n.setValue(o.filter((function(e){return n.getOptionValue(e)!==a})),"deselect-option",e),n.announceAriaLiveSelection({event:"deselect-option",context:{value:n.getOptionLabel(e)}})}else n.isOptionDisabled(e,o)?n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e),isDisabled:!0}}):(n.setValue([].concat(o,[e]),"select-option",e),n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e)}}));else n.isOptionDisabled(e,o)?n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e),isDisabled:!0}}):(n.setValue(e,"select-option"),n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e)}}));r&&n.blurInput()},n.removeValue=function(e){var t=n.state.selectValue,r=n.getOptionValue(e),i=t.filter((function(e){return n.getOptionValue(e)!==r}));n.onChange(i.length?i:null,{action:"remove-value",removedValue:e}),n.announceAriaLiveSelection({event:"remove-value",context:{value:e?n.getOptionLabel(e):""}}),n.focusInput()},n.clearValue=function(){var e=n.props.isMulti;n.onChange(e?[]:null,{action:"clear"})},n.popValue=function(){var e=n.state.selectValue,t=e[e.length-1],r=e.slice(0,e.length-1);n.announceAriaLiveSelection({event:"pop-value",context:{value:t?n.getOptionLabel(t):""}}),n.onChange(r.length?r:null,{action:"pop-value",removedValue:t})},n.getOptionLabel=function(e){return n.props.getOptionLabel(e)},n.getOptionValue=function(e){return n.props.getOptionValue(e)},n.getStyles=function(e,t){var r=xt[e](t);r.boxSizing="border-box";var i=n.props.styles[e];return i?i(r,t):r},n.getElementId=function(e){return n.instancePrefix+"-"+e},n.getActiveDescendentId=function(){var e=n.props.menuIsOpen,t=n.state,r=t.menuOptions,i=t.focusedOption;if(i&&e){var o=r.focusable.indexOf(i),a=r.render[o];return a&&a.key}},n.announceAriaLiveSelection=function(e){var t=e.event,r=e.context;n.setState({ariaLiveSelection:Ct(t,r)})},n.announceAriaLiveContext=function(e){var t=e.event,r=e.context;n.setState({ariaLiveContext:Ot(t,St({},r,{label:n.props["aria-label"]}))})},n.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),n.focusInput())},n.onMenuMouseMove=function(e){n.blockOptionHover=!1},n.onControlMouseDown=function(e){var t=n.props.openMenuOnClick;n.state.isFocused?n.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&n.onMenuClose():t&&n.openMenu("first"):(t&&(n.openAfterFocus=!0),n.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()},n.onDropdownIndicatorMouseDown=function(e){if(!(e&&"mousedown"===e.type&&0!==e.button||n.props.isDisabled)){var t=n.props,r=t.isMulti,i=t.menuIsOpen;n.focusInput(),i?(n.inputIsHiddenAfterUpdate=!r,n.onMenuClose()):n.openMenu("first"),e.preventDefault(),e.stopPropagation()}},n.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(n.clearValue(),e.stopPropagation(),n.openAfterFocus=!1,"touchend"===e.type?n.focusInput():setTimeout((function(){return n.focusInput()})))},n.onScroll=function(e){"boolean"==typeof n.props.closeMenuOnScroll?e.target instanceof HTMLElement&&ie(e.target)&&n.props.onMenuClose():"function"==typeof n.props.closeMenuOnScroll&&n.props.closeMenuOnScroll(e)&&n.props.onMenuClose()},n.onCompositionStart=function(){n.isComposing=!0},n.onCompositionEnd=function(){n.isComposing=!1},n.onTouchStart=function(e){var t=e.touches.item(0);t&&(n.initialTouchX=t.clientX,n.initialTouchY=t.clientY,n.userIsDragging=!1)},n.onTouchMove=function(e){var t=e.touches.item(0);if(t){var r=Math.abs(t.clientX-n.initialTouchX),i=Math.abs(t.clientY-n.initialTouchY);n.userIsDragging=r>5||i>5}},n.onTouchEnd=function(e){n.userIsDragging||(n.controlRef&&!n.controlRef.contains(e.target)&&n.menuListRef&&!n.menuListRef.contains(e.target)&&n.blurInput(),n.initialTouchX=0,n.initialTouchY=0)},n.onControlTouchEnd=function(e){n.userIsDragging||n.onControlMouseDown(e)},n.onClearIndicatorTouchEnd=function(e){n.userIsDragging||n.onClearIndicatorMouseDown(e)},n.onDropdownIndicatorTouchEnd=function(e){n.userIsDragging||n.onDropdownIndicatorMouseDown(e)},n.handleInputChange=function(e){var t=e.currentTarget.value;n.inputIsHiddenAfterUpdate=!1,n.onInputChange(t,{action:"input-change"}),n.onMenuOpen()},n.onInputFocus=function(e){var t=n.props,r=t.isSearchable,i=t.isMulti;n.props.onFocus&&n.props.onFocus(e),n.inputIsHiddenAfterUpdate=!1,n.announceAriaLiveContext({event:"input",context:{isSearchable:r,isMulti:i}}),n.setState({isFocused:!0}),(n.openAfterFocus||n.props.openMenuOnFocus)&&n.openMenu("first"),n.openAfterFocus=!1},n.onInputBlur=function(e){n.menuListRef&&n.menuListRef.contains(document.activeElement)?n.inputRef.focus():(n.props.onBlur&&n.props.onBlur(e),n.onInputChange("",{action:"input-blur"}),n.onMenuClose(),n.setState({focusedValue:null,isFocused:!1}))},n.onOptionHover=function(e){n.blockOptionHover||n.state.focusedOption===e||n.setState({focusedOption:e})},n.shouldHideSelectedOptions=function(){var e=n.props,t=e.hideSelectedOptions,r=e.isMulti;return void 0===t?r:t},n.onKeyDown=function(e){var t=n.props,r=t.isMulti,i=t.backspaceRemovesValue,o=t.escapeClearsValue,a=t.inputValue,u=t.isClearable,s=t.isDisabled,l=t.menuIsOpen,c=t.onKeyDown,f=t.tabSelectsValue,p=t.openMenuOnFocus,d=n.state,h=d.focusedOption,v=d.focusedValue,m=d.selectValue;if(!(s||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(n.blockOptionHover=!0,e.key){case"ArrowLeft":if(!r||a)return;n.focusValue("previous");break;case"ArrowRight":if(!r||a)return;n.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(v)n.removeValue(v);else{if(!i)return;r?n.popValue():u&&n.clearValue()}break;case"Tab":if(n.isComposing)return;if(e.shiftKey||!l||!f||!h||p&&n.isOptionSelected(h,m))return;n.selectOption(h);break;case"Enter":if(229===e.keyCode)break;if(l){if(!h)return;if(n.isComposing)return;n.selectOption(h);break}return;case"Escape":l?(n.inputIsHiddenAfterUpdate=!1,n.onInputChange("",{action:"menu-close"}),n.onMenuClose()):u&&o&&n.clearValue();break;case" ":if(a)return;if(!l){n.openMenu("first");break}if(!h)return;n.selectOption(h);break;case"ArrowUp":l?n.focusOption("up"):n.openMenu("last");break;case"ArrowDown":l?n.focusOption("down"):n.openMenu("first");break;case"PageUp":if(!l)return;n.focusOption("pageup");break;case"PageDown":if(!l)return;n.focusOption("pagedown");break;case"Home":if(!l)return;n.focusOption("first");break;case"End":if(!l)return;n.focusOption("last");break;default:return}e.preventDefault()}},n.buildMenuOptions=function(e,t){var r=e.inputValue,i=void 0===r?"":r,o=e.options,a=function(e,r){var o=n.isOptionDisabled(e,t),a=n.isOptionSelected(e,t),u=n.getOptionLabel(e),s=n.getOptionValue(e);if(!(n.shouldHideSelectedOptions()&&a||!n.filterOption({label:u,value:s,data:e},i))){var l=o?void 0:function(){return n.onOptionHover(e)},c=o?void 0:function(){return n.selectOption(e)},f=n.getElementId("option")+"-"+r;return{innerProps:{id:f,onClick:c,onMouseMove:l,onMouseOver:l,tabIndex:-1},data:e,isDisabled:o,isSelected:a,key:f,label:u,type:"option",value:s}}};return o.reduce((function(e,t,r){if(t.options){n.hasGroups||(n.hasGroups=!0);var i=t.options.map((function(t,n){var i=a(t,r+"-"+n);return i&&e.focusable.push(t),i})).filter(Boolean);if(i.length){var o=n.getElementId("group")+"-"+r;e.render.push({type:"group",key:o,data:t,options:i})}}else{var u=a(t,""+r);u&&(e.render.push(u),e.focusable.push(t))}return e}),{render:[],focusable:[]})};var r=t.value;n.cacheComponents=h(n.cacheComponents,Ae).bind(Ft(Ft(n))),n.cacheComponents(t.components),n.instancePrefix="react-select-"+(n.props.instanceId||++jt);var i=re(r);n.buildMenuOptions=h(n.buildMenuOptions,(function(e,t){var n=e,r=n[0],i=n[1],o=t,a=o[0];return Ae(i,o[1])&&Ae(r.inputValue,a.inputValue)&&Ae(r.options,a.options)})).bind(Ft(Ft(n)));var o=t.menuIsOpen?n.buildMenuOptions(t,i):{render:[],focusable:[]};return n.state.menuOptions=o,n.state.selectValue=i,n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.componentDidMount=function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()},i.UNSAFE_componentWillReceiveProps=function(e){var t=this.props,n=t.options,r=t.value,i=t.menuIsOpen,o=t.inputValue;if(this.cacheComponents(e.components),e.value!==r||e.options!==n||e.menuIsOpen!==i||e.inputValue!==o){var a=re(e.value),u=e.menuIsOpen?this.buildMenuOptions(e,a):{render:[],focusable:[]},s=this.getNextFocusedValue(a),l=this.getNextFocusedOption(u.focusable);this.setState({menuOptions:u,selectValue:a,focusedOption:l,focusedValue:s})}null!=this.inputIsHiddenAfterUpdate&&(this.setState({inputIsHidden:this.inputIsHiddenAfterUpdate}),delete this.inputIsHiddenAfterUpdate)},i.componentDidUpdate=function(e){var t,n,r,i,o,a=this.props,u=a.isDisabled,s=a.menuIsOpen,l=this.state.isFocused;(l&&!u&&e.isDisabled||l&&s&&!e.menuIsOpen)&&this.focusInput(),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(t=this.menuListRef,n=this.focusedOptionRef,r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=n.offsetHeight/3,i.bottom+o>r.bottom?ae(t,Math.min(n.offsetTop+n.clientHeight-t.offsetHeight+o,t.scrollHeight)):i.top-o-1&&(u=s)}this.scrollToFocusedOptionOnUpdate=!(i&&this.menuListRef),this.inputIsHiddenAfterUpdate=!1,this.setState({menuOptions:o,focusedValue:null,focusedOption:o.focusable[u]},(function(){t.onMenuOpen(),t.announceAriaLiveContext({event:"menu"})}))},i.focusValue=function(e){var t=this.props,n=t.isMulti,r=t.isSearchable,i=this.state,o=i.selectValue,a=i.focusedValue;if(n){this.setState({focusedOption:null});var u=o.indexOf(a);a||(u=-1,this.announceAriaLiveContext({event:"value"}));var s=o.length-1,l=-1;if(o.length){switch(e){case"previous":l=0===u?0:-1===u?s:u-1;break;case"next":u>-1&&u0?a-1:i.length-1:"down"===e?o=(a+1)%i.length:"pageup"===e?(o=a-t)<0&&(o=0):"pagedown"===e?(o=a+t)>i.length-1&&(o=i.length-1):"last"===e&&(o=i.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:i[o],focusedValue:null}),this.announceAriaLiveContext({event:"menu",context:{isDisabled:At(i[o])}})}},i.getTheme=function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(kt):St({},kt,this.props.theme):kt},i.getCommonProps=function(){var e=this.clearValue,t=this.getStyles,n=this.setValue,r=this.selectOption,i=this.props,o=i.classNamePrefix,a=i.isMulti,u=i.isRtl,s=i.options,l=this.state.selectValue,c=this.hasValue();return{cx:ne.bind(null,o),clearValue:e,getStyles:t,getValue:function(){return l},hasValue:c,isMulti:a,isRtl:u,options:s,selectOption:r,setValue:n,selectProps:i,theme:this.getTheme()}},i.getNextFocusedValue=function(e){if(this.clearFocusValueOnUpdate)return this.clearFocusValueOnUpdate=!1,null;var t=this.state,n=t.focusedValue,r=t.selectValue.indexOf(n);if(r>-1){if(e.indexOf(n)>-1)return n;if(r-1?t:e[0]},i.hasValue=function(){return this.state.selectValue.length>0},i.hasOptions=function(){return!!this.state.menuOptions.render.length},i.countOptions=function(){return this.state.menuOptions.focusable.length},i.isClearable=function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t},i.isOptionDisabled=function(e,t){return"function"==typeof this.props.isOptionDisabled&&this.props.isOptionDisabled(e,t)},i.isOptionSelected=function(e,t){var n=this;if(t.indexOf(e)>-1)return!0;if("function"==typeof this.props.isOptionSelected)return this.props.isOptionSelected(e,t);var r=this.getOptionValue(e);return t.some((function(e){return n.getOptionValue(e)===r}))},i.filterOption=function(e,t){return!this.props.filterOption||this.props.filterOption(e,t)},i.formatOptionLabel=function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)},i.formatGroupLabel=function(e){return this.props.formatGroupLabel(e)},i.startListeningComposition=function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))},i.stopListeningComposition=function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))},i.startListeningToTouch=function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))},i.stopListeningToTouch=function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))},i.constructAriaLiveMessage=function(){var e=this.state,t=e.ariaLiveContext,n=e.selectValue,r=e.focusedValue,i=e.focusedOption,o=this.props,a=o.options,u=o.menuIsOpen,s=o.inputValue,l=o.screenReaderStatus;return(r?function(e){var t=e.focusedValue,n=e.getOptionLabel,r=e.selectValue;return"value "+n(t)+" focused, "+(r.indexOf(t)+1)+" of "+r.length+"."}({focusedValue:r,getOptionLabel:this.getOptionLabel,selectValue:n}):"")+" "+(i&&u?function(e){var t=e.focusedOption,n=e.getOptionLabel,r=e.options;return"option "+n(t)+" focused"+(t.isDisabled?" disabled":"")+", "+(r.indexOf(t)+1)+" of "+r.length+"."}({focusedOption:i,getOptionLabel:this.getOptionLabel,options:a}):"")+" "+function(e){var t=e.inputValue;return e.screenReaderMessage+(t?" for search term "+t:"")+"."}({inputValue:s,screenReaderMessage:l({count:this.countOptions()})})+" "+t},i.renderInput=function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,r=e.inputId,i=e.inputValue,a=e.tabIndex,u=this.components.Input,s=this.state.inputIsHidden,l=r||this.getElementId("input"),c={"aria-autocomplete":"list","aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"]};if(!n)return o.a.createElement(st,St({id:l,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:ee,onFocus:this.onInputFocus,readOnly:!0,disabled:t,tabIndex:a,value:""},c));var f=this.commonProps,p=f.cx,d=f.theme,h=f.selectProps;return o.a.createElement(u,St({autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",cx:p,getStyles:this.getStyles,id:l,innerRef:this.getInputRef,isDisabled:t,isHidden:s,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,selectProps:h,spellCheck:"false",tabIndex:a,theme:d,type:"text",value:i},c))},i.renderPlaceholderOrValue=function(){var e=this,t=this.components,n=t.MultiValue,r=t.MultiValueContainer,i=t.MultiValueLabel,a=t.MultiValueRemove,u=t.SingleValue,s=t.Placeholder,l=this.commonProps,c=this.props,f=c.controlShouldRenderValue,p=c.isDisabled,d=c.isMulti,h=c.inputValue,v=c.placeholder,m=this.state,g=m.selectValue,b=m.focusedValue,y=m.isFocused;if(!this.hasValue()||!f)return h?null:o.a.createElement(s,St({},l,{key:"placeholder",isDisabled:p,isFocused:y}),v);if(d)return g.map((function(t,u){var s=t===b;return o.a.createElement(n,St({},l,{components:{Container:r,Label:i,Remove:a},isFocused:s,isDisabled:p,key:e.getOptionValue(t),index:u,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:t}),e.formatOptionLabel(t,"value"))}));if(h)return null;var E=g[0];return o.a.createElement(u,St({},l,{data:E,isDisabled:p}),this.formatOptionLabel(E,"value"))},i.renderClearIndicator=function(){var e=this.components.ClearIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,i=n.isLoading,a=this.state.isFocused;if(!this.isClearable()||!e||r||!this.hasValue()||i)return null;var u={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,St({},t,{innerProps:u,isFocused:a}))},i.renderLoadingIndicator=function(){var e=this.components.LoadingIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,i=n.isLoading,a=this.state.isFocused;if(!e||!i)return null;return o.a.createElement(e,St({},t,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:a}))},i.renderIndicatorSeparator=function(){var e=this.components,t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var r=this.commonProps,i=this.props.isDisabled,a=this.state.isFocused;return o.a.createElement(n,St({},r,{isDisabled:i,isFocused:a}))},i.renderDropdownIndicator=function(){var e=this.components.DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,r=this.state.isFocused,i={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,St({},t,{innerProps:i,isDisabled:n,isFocused:r}))},i.renderMenu=function(){var e=this,t=this.components,n=t.Group,r=t.GroupHeading,i=t.Menu,a=t.MenuList,u=t.MenuPortal,s=t.LoadingMessage,l=t.NoOptionsMessage,c=t.Option,f=this.commonProps,p=this.state,d=p.focusedOption,h=p.menuOptions,v=this.props,m=v.captureMenuScroll,g=v.inputValue,b=v.isLoading,y=v.loadingMessage,E=v.minMenuHeight,_=v.maxMenuHeight,w=v.menuIsOpen,O=v.menuPlacement,C=v.menuPosition,A=v.menuPortalTarget,x=v.menuShouldBlockScroll,k=v.menuShouldScrollIntoView,S=v.noOptionsMessage,F=v.onMenuScrollToTop,D=v.onMenuScrollToBottom;if(!w)return null;var I,j=function(t){var n=d===t.data;return t.innerRef=n?e.getFocusedOptionRef:void 0,o.a.createElement(c,St({},f,t,{isFocused:n}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())I=h.render.map((function(t){if("group"===t.type){t.type;var i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(t,["type"]),a=t.key+"-heading";return o.a.createElement(n,St({},f,i,{Heading:r,headingProps:{id:a},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return j(e)})))}if("option"===t.type)return j(t)}));else if(b){var N=y({inputValue:g});if(null===N)return null;I=o.a.createElement(s,f,N)}else{var M=S({inputValue:g});if(null===M)return null;I=o.a.createElement(l,f,M)}var L={minMenuHeight:E,maxMenuHeight:_,menuPlacement:O,menuPosition:C,menuShouldScrollIntoView:k},P=o.a.createElement(ve,St({},f,L),(function(t){var n=t.ref,r=t.placerProps,u=r.placement,s=r.maxHeight;return o.a.createElement(i,St({},f,L,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:b,placement:u}),o.a.createElement(wt,{isEnabled:m,onTopArrive:F,onBottomArrive:D},o.a.createElement(Et,{isEnabled:x},o.a.createElement(a,St({},f,{innerRef:e.getMenuListRef,isLoading:b,maxHeight:s}),I))))}));return A||"fixed"===C?o.a.createElement(u,St({},f,{appendTo:A,controlElement:this.controlRef,menuPlacement:O,menuPosition:C}),P):P},i.renderFormField=function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,i=t.isMulti,a=t.name,u=this.state.selectValue;if(a&&!r){if(i){if(n){var s=u.map((function(t){return e.getOptionValue(t)})).join(n);return o.a.createElement("input",{name:a,type:"hidden",value:s})}var l=u.length>0?u.map((function(t,n){return o.a.createElement("input",{key:"i-"+n,name:a,type:"hidden",value:e.getOptionValue(t)})})):o.a.createElement("input",{name:a,type:"hidden"});return o.a.createElement("div",null,l)}var c=u[0]?this.getOptionValue(u[0]):"";return o.a.createElement("input",{name:a,type:"hidden",value:c})}},i.renderLiveRegion=function(){return this.state.isFocused?o.a.createElement(at,{"aria-live":"polite"},o.a.createElement("p",{id:"aria-selection-event"},"\xa0",this.state.ariaLiveSelection),o.a.createElement("p",{id:"aria-context"},"\xa0",this.constructAriaLiveMessage())):null},i.render=function(){var e=this.components,t=e.Control,n=e.IndicatorsContainer,r=e.SelectContainer,i=e.ValueContainer,a=this.props,u=a.className,s=a.id,l=a.isDisabled,c=a.menuIsOpen,f=this.state.isFocused,p=this.commonProps=this.getCommonProps();return o.a.createElement(r,St({},p,{className:u,innerProps:{id:s,onKeyDown:this.onKeyDown},isDisabled:l,isFocused:f}),this.renderLiveRegion(),o.a.createElement(t,St({},p,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:l,isFocused:f,menuIsOpen:c}),o.a.createElement(i,St({},p,{isDisabled:l}),this.renderPlaceholderOrValue(),this.renderInput()),o.a.createElement(n,St({},p,{isDisabled:l}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())},r}(i.Component);function Mt(){return(Mt=Object.assign||function(e){for(var t=1;t1?n-1:0),i=1;i=0||(i[n]=e[n]);return i}(t,["defaultInputValue","defaultMenuIsOpen","defaultValue"]));return o.a.createElement(Pt,Mt({},n,{ref:function(t){e.select=t},inputValue:this.getProp("inputValue"),menuIsOpen:this.getProp("menuIsOpen"),onChange:this.onChange,onInputChange:this.onInputChange,onMenuClose:this.onMenuClose,onMenuOpen:this.onMenuOpen,value:this.getProp("value")}))},r}(i.Component),Tt.defaultProps=Lt,Rt),Vt=n(252),zt=n.n(Vt),Ut=n(383),Wt=n.n(Ut),Ht=n(338);var $t=function(){return Object(i.useContext)(Ht.a)},Gt=37,qt=39;function Yt(e){var t=e.block,n=e.centered,r=e.changeSelectedValue,i=e.className,a=e.handleKeydown,u=e.style,s=e.values,l=e.selectedValue,c=e.tabRefs;return o.a.createElement("div",{className:n?"tabs--centered":null},o.a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:zt()("tabs",i,{"tabs--block":t}),style:u},s.map((function(e){var t=e.value,n=e.label;return o.a.createElement("li",{role:"tab",tabIndex:"0","aria-selected":l===t,className:zt()("tab-item",{"tab-item--active":l===t}),key:t,ref:function(e){return c.push(e)},onKeyDown:function(e){return a(c,e.target,e)},onFocus:function(){return r(t)},onClick:function(){return r(t)}},n)}))))}function Kt(e){var t=e.placeholder,n=e.selectedValue,r=e.changeSelectedValue,i=e.size,a=e.values,u=a;if(u[0].group){var s=_.groupBy(u,"group");u=Object.keys(s).map((function(e){return{label:e,options:s[e]}}))}return o.a.createElement(Bt,{className:"react-select-container react-select--"+i,classNamePrefix:"react-select",options:u,isClearable:n,placeholder:t,value:a.find((function(e){return e.value==n})),onChange:function(e){return r(e?e.value:null)}})}var Zt=function(e){e.block,e.centered;var t=e.children,n=e.defaultValue,a=e.groupId,u=e.label,s=e.placeholder,l=e.select,c=e.size,f=(e.style,e.values),p=e.urlKey,d=$t(),h=d.tabGroupChoices,v=d.setTabGroupChoices,m=Object(i.useState)(n),g=m[0],b=m[1];if(null!=a){var y=h[a];null!=y&&y!==g&&b(y)}var E=function(e){b(e),null!=a&&v(a,e)},_=[],w=function(e,t,n){switch(n.keyCode){case qt:!function(e,t){var n=e.indexOf(t)+1;e[n]?e[n].focus():e[0].focus()}(e,t);break;case Gt:!function(e,t){var n=e.indexOf(t)-1;e[n]?e[n].focus():e[e.length-1].focus()}(e,t)}};return Object(i.useEffect)((function(){if("undefined"!=typeof window&&window.location&&p){var e=Wt.a.parse(window.location.search);e[p]&&b(e[p])}}),[]),o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"margin-bottom--"+(c||"md")},u&&o.a.createElement("div",{className:"margin-vert--sm"},u),f.length>1&&(l?o.a.createElement(Kt,Object(r.a)({changeSelectedValue:E,handleKeydown:w,placeholder:s,selectedValue:g,size:c,tabRefs:_},e)):o.a.createElement(Yt,Object(r.a)({changeSelectedValue:E,handleKeydown:w,selectedValue:g,tabRefs:_},e)))),i.Children.toArray(t).filter((function(e){return e.props.value===g}))[0])},Xt=n(258),Jt=n(318),Qt=n(253),en=n(291),tn=n.n(en),nn=n(224),rn=n.n(nn),on=(n(225),Object(a.a)("h2")),an=[{title:"Ultra-Fast",icon:"zap",description:o.a.createElement(o.a.Fragment,null,"Built in ",o.a.createElement("a",{href:"https://go.dev/"},"Go"),", gnet is ",o.a.createElement("a",{href:"#performance"},"ultra-fast and memory efficient")," based on the event-driven mechanism. It's designed to create a networking server framework for Go that performs on par with Redis and Haproxy for networking packets handling.")},{title:"Lock-Free",icon:"unlock",description:o.a.createElement(o.a.Fragment,null,"gnet is lock-free during the entire runtime, which keeps gnet free from synchronization issues and speeds it up.")},{title:"Concise & Easy-to-use APIs",icon:"layers",description:o.a.createElement(o.a.Fragment,null,"gnet provides concise and easy-to-use APIs for users, it only exposes the essential APIs and takes over most of the tough work for users, minimizing the complexity of business code so that developers are able to concentrate on business logic instead of the underlying implementations.")},{title:"Multiple Protocols",icon:"grid",description:o.a.createElement(o.a.Fragment,null,"gnet supports multiple protocols/IPC mechanism: TCP, UDP and Unix Domain Socket, enabling you to develop a variety of networking applications.")},{title:"Cross Platform",icon:"cpu",description:o.a.createElement(o.a.Fragment,null,"gnet is devised as a cross-platform framework, as a result, it works faultlessly on multiple platforms: Linux, FreeBSD, DragonFly BSD, Windows.")},{title:"Powerful Libraries",icon:"briefcase",description:o.a.createElement(o.a.Fragment,null,"There is a rich set of libraries in gnet, such as memory pool, goroutine pool, elastic buffers, logging package, etc., which makes it convenient for developers to build fast and efficient networking applications.")}];function un(e){var t,n,i=e.features,a=[];for(t=0,n=i.length;t0&&i.a.createElement("div",{className:"row footer__links"},i.a.createElement("div",{className:"col col--5 footer__col"},i.a.createElement("div",{className:"margin-bottom--md"},i.a.createElement(f.a,{className:"navbar__logo",src:"/img/logo-light.svg",alt:"gnet",width:"150",height:"auto"})),i.a.createElement("div",{className:"margin-bottom--md"},i.a.createElement(N,{description:!1,width:"150px"})),i.a.createElement("div",null,i.a.createElement("a",{href:"https://twitter.com/panjf2000",target:"_blank"},i.a.createElement("i",{className:"feather icon-twitter",alt:"gnet's Twitter"})),"\xa0\xa0\xa0\xa0",i.a.createElement("a",{href:"https://github.com/panjf2000/gnet",target:"_blank"},i.a.createElement("i",{className:"feather icon-github",alt:"gnet's Github Repo"})),"\xa0\xa0\xa0\xa0",i.a.createElement("a",{href:"https://strikefreedom.top/rss.xml",target:"_blank"},i.a.createElement("i",{className:"feather icon-rss",alt:"gnet's RSS feed"})))),u.map((function(e,t){return i.a.createElement("div",{key:t,className:"col footer__col"},null!=e.title?i.a.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?i.a.createElement("ul",{className:"footer__items"},e.items.map((function(e,t){return e.html?i.a.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):i.a.createElement("li",{key:e.href||e.to,className:"footer__item"},i.a.createElement(P,e))}))):null)}))),(l||o)&&i.a.createElement("div",{className:"text--center"},l&&l.src&&i.a.createElement("div",{className:"margin-bottom--sm"},l.href?i.a.createElement("a",{href:l.href,target:"_blank",rel:"noopener noreferrer",className:L.a.footerLogoLink},i.a.createElement(T,{alt:l.alt,url:c})):i.a.createElement(T,{alt:l.alt,url:c}),i.a.createElement("br",null),i.a.createElement("a",{href:"https://www.digitalocean.com/",target:"_blank",rel:"noopener noreferrer",className:L.a.footerLogoLink},i.a.createElement("img",{alt:"DigitalOcean",src:"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg",width:"201px"}))),o,i.a.createElement("br",null),i.a.createElement("small",null,i.a.createElement("a",{href:"https://github.com/panjf2000/gnet/security/policy"},"Security Policy"),"\xa0\u2022\xa0",i.a.createElement("a",{href:"https://github.com/panjf2000/gnet/blob/master/PRIVACY.md"},"Privacy Policy"))))):null},B=n(276),V=n(277),z=n(3);n(135);t.a=function(e){var t=Object(h.a)().siteConfig,n=void 0===t?{}:t,r=n.favicon,u=(n.tagline,n.title),s=n.themeConfig.image,l=n.url,c=e.children,f=e.title,p=e.noFooter,d=e.description,v=e.image,m=e.keywords,g=(e.permalink,e.version),b=f?f+" | "+u:u,y=v||s,E=l+Object(O.a)(y),_=Object(O.a)(r),w=Object(z.h)(),C=w?"https://gnet.host"+(w.pathname.endsWith("/")?w.pathname:w.pathname+"/"):null;return i.a.createElement(V.a,null,i.a.createElement(B.a,null,i.a.createElement(a.a,null,i.a.createElement("html",{lang:"en"}),i.a.createElement("meta",{httpEquiv:"x-ua-compatible",content:"ie=edge"}),b&&i.a.createElement("title",null,b),b&&i.a.createElement("meta",{property:"og:title",content:b}),r&&i.a.createElement("link",{rel:"shortcut icon",href:_}),d&&i.a.createElement("meta",{name:"description",content:d}),d&&i.a.createElement("meta",{property:"og:description",content:d}),g&&i.a.createElement("meta",{name:"docsearch:version",content:g}),m&&m.length&&i.a.createElement("meta",{name:"keywords",content:m.join(",")}),y&&i.a.createElement("meta",{property:"og:image",content:E}),y&&i.a.createElement("meta",{property:"twitter:image",content:E}),y&&i.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+b}),y&&i.a.createElement("meta",{name:"twitter:site",content:"@vectordotdev"}),y&&i.a.createElement("meta",{name:"twitter:creator",content:"@vectordotdev"}),C&&i.a.createElement("meta",{property:"og:url",content:C}),i.a.createElement("meta",{name:"twitter:card",content:"summary"}),C&&i.a.createElement("link",{rel:"canonical",href:C})),i.a.createElement(o.a,null),i.a.createElement(I,null),i.a.createElement("div",{className:"main-wrapper"},c),!p&&i.a.createElement(R,null)))}},283:function(e,t,n){"use strict";(function(e){var r=n(1),i=(n(281),n(282),n(78),n(79),n(292),n(0)),o=n.n(i),a=n(293),u=n.n(a),s=n(306),l=n(52),c=n(252),f=n.n(c),p=n(301),d=n(294),h=n.n(d),v=n(253),m=n(262),g=n(136),b=n.n(g);(void 0!==e?e:window).Prism=l.a,n(295),n(296),n(297),n(298),n(299),n(300);var y=/{([\d,-]+)}/,E=/title=".*"/;t.a=function(e){var t=e.children,n=e.className,a=e.metastring,l=Object(v.a)().siteConfig.themeConfig.prism,c=void 0===l?{}:l,d=Object(i.useState)(!1),g=d[0],_=d[1],w=Object(i.useState)(!1),O=w[0],C=w[1];Object(i.useEffect)((function(){C(!0)}),[]);var A=Object(i.useRef)(null),x=Object(i.useRef)(null),k=[],S="",F=Object(m.a)().isDarkTheme,D=c.theme||p.a,I=c.darkTheme||D,j=F?I:D;if(a&&y.test(a)){var N=a.match(y)[1];k=h.a.parse(N).filter((function(e){return e>0}))}a&&E.test(a)&&(S=a.match(E)[0].split("title=")[1].replace(/"+/g,"")),Object(i.useEffect)((function(){var e;return x.current&&(e=new u.a(x.current,{target:function(){return A.current}})),function(){e&&e.destroy()}}),[x.current,A.current]);var M=n&&n.replace(/language-/,"");!M&&c.defaultLanguage&&(M=c.defaultLanguage);var L=function(){window.getSelection().empty(),_(!0),setTimeout((function(){return _(!1)}),2e3)};return o.a.createElement(s.a,Object(r.a)({},s.b,{key:O,theme:j,code:t.trim(),language:M}),(function(e){var t,n,i=e.className,a=e.style,u=e.tokens,s=e.getLineProps,l=e.getTokenProps;return o.a.createElement(o.a.Fragment,null,S&&o.a.createElement("div",{style:a,className:b.a.codeBlockTitle},S),o.a.createElement("div",{className:b.a.codeBlockContent},o.a.createElement("button",{ref:x,type:"button","aria-label":"Copy code to clipboard",className:f()(b.a.copyButton,(t={},t[b.a.copyButtonWithTitle]=S,t)),onClick:L},g?"Copied":"Copy"),o.a.createElement("pre",{className:f()(i,b.a.codeBlock,(n={},n[b.a.codeBlockWithTitle]=S,n))},o.a.createElement("div",{ref:A,className:b.a.codeBlockLines,style:a},u.map((function(e,t){1===e.length&&""===e[0].content&&(e[0].content="\n");var n=s({line:e,key:t});return k.includes(t+1)&&(n.className=n.className+" docusaurus-highlight-code-line"),o.a.createElement("div",Object(r.a)({key:t},n),e.map((function(e,t){return o.a.createElement("span",Object(r.a)({key:t},l({token:e,key:t})))})))}))))))}))}}).call(this,n(77))},291:function(e,t,n){(function(e,r){var i;(function(){var o="Expected a function",a="__lodash_placeholder__",u=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],s="[object Arguments]",l="[object Array]",c="[object Boolean]",f="[object Date]",p="[object Error]",d="[object Function]",h="[object GeneratorFunction]",v="[object Map]",m="[object Number]",g="[object Object]",b="[object RegExp]",y="[object Set]",E="[object String]",_="[object Symbol]",w="[object WeakMap]",O="[object ArrayBuffer]",C="[object DataView]",A="[object Float32Array]",x="[object Float64Array]",k="[object Int8Array]",S="[object Int16Array]",F="[object Int32Array]",D="[object Uint8Array]",I="[object Uint16Array]",j="[object Uint32Array]",N=/\b__p \+= '';/g,M=/\b(__p \+=) '' \+/g,L=/(__e\(.*?\)|\b__t\)) \+\n'';/g,P=/&(?:amp|lt|gt|quot|#39);/g,T=/[&<>"']/g,R=RegExp(P.source),B=RegExp(T.source),V=/<%-([\s\S]+?)%>/g,z=/<%([\s\S]+?)%>/g,U=/<%=([\s\S]+?)%>/g,W=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,H=/^\w*$/,$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/[\\^$.*+?()[\]{}|]/g,q=RegExp(G.source),Y=/^\s+|\s+$/g,K=/^\s+/,Z=/\s+$/,X=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,Q=/,? & /,ee=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,ie=/^[-+]0x[0-9a-f]+$/i,oe=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,ue=/^0o[0-7]+$/i,se=/^(?:0|[1-9]\d*)$/,le=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ce=/($^)/,fe=/['\n\r\u2028\u2029\\]/g,pe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",de="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",ve="["+de+"]",me="["+pe+"]",ge="\\d+",be="[\\u2700-\\u27bf]",ye="[a-z\\xdf-\\xf6\\xf8-\\xff]",Ee="[^\\ud800-\\udfff"+de+ge+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",_e="\\ud83c[\\udffb-\\udfff]",we="[^\\ud800-\\udfff]",Oe="(?:\\ud83c[\\udde6-\\uddff]){2}",Ce="[\\ud800-\\udbff][\\udc00-\\udfff]",Ae="[A-Z\\xc0-\\xd6\\xd8-\\xde]",xe="(?:"+ye+"|"+Ee+")",ke="(?:"+Ae+"|"+Ee+")",Se="(?:"+me+"|"+_e+")"+"?",Fe="[\\ufe0e\\ufe0f]?"+Se+("(?:\\u200d(?:"+[we,Oe,Ce].join("|")+")[\\ufe0e\\ufe0f]?"+Se+")*"),De="(?:"+[be,Oe,Ce].join("|")+")"+Fe,Ie="(?:"+[we+me+"?",me,Oe,Ce,he].join("|")+")",je=RegExp("['\u2019]","g"),Ne=RegExp(me,"g"),Me=RegExp(_e+"(?="+_e+")|"+Ie+Fe,"g"),Le=RegExp([Ae+"?"+ye+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?="+[ve,Ae,"$"].join("|")+")",ke+"+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?="+[ve,Ae+xe,"$"].join("|")+")",Ae+"?"+xe+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ae+"+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ge,De].join("|"),"g"),Pe=RegExp("[\\u200d\\ud800-\\udfff"+pe+"\\ufe0e\\ufe0f]"),Te=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Re=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Be=-1,Ve={};Ve[A]=Ve[x]=Ve[k]=Ve[S]=Ve[F]=Ve[D]=Ve["[object Uint8ClampedArray]"]=Ve[I]=Ve[j]=!0,Ve[s]=Ve[l]=Ve[O]=Ve[c]=Ve[C]=Ve[f]=Ve[p]=Ve[d]=Ve[v]=Ve[m]=Ve[g]=Ve[b]=Ve[y]=Ve[E]=Ve[w]=!1;var ze={};ze[s]=ze[l]=ze[O]=ze[C]=ze[c]=ze[f]=ze[A]=ze[x]=ze[k]=ze[S]=ze[F]=ze[v]=ze[m]=ze[g]=ze[b]=ze[y]=ze[E]=ze[_]=ze[D]=ze["[object Uint8ClampedArray]"]=ze[I]=ze[j]=!0,ze[p]=ze[d]=ze[w]=!1;var Ue={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},We=parseFloat,He=parseInt,$e="object"==typeof e&&e&&e.Object===Object&&e,Ge="object"==typeof self&&self&&self.Object===Object&&self,qe=$e||Ge||Function("return this")(),Ye=t&&!t.nodeType&&t,Ke=Ye&&"object"==typeof r&&r&&!r.nodeType&&r,Ze=Ke&&Ke.exports===Ye,Xe=Ze&&$e.process,Je=function(){try{var e=Ke&&Ke.require&&Ke.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(t){}}(),Qe=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,it=Je&&Je.isTypedArray;function ot(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function pt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Mt(e,t){for(var n=e.length;n--&&_t(t,e[n],0)>-1;);return n}function Lt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Pt=xt({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),Tt=xt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Rt(e){return"\\"+Ue[e]}function Bt(e){return Pe.test(e)}function Vt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function zt(e,t){return function(n){return e(t(n))}}function Ut(e,t){for(var n=-1,r=e.length,i=0,o=[];++n",""":'"',"'":"'"});var Yt=function e(t){var n,r=(t=null==t?qe:Yt.defaults(qe.Object(),t,Yt.pick(qe,Re))).Array,i=t.Date,pe=t.Error,de=t.Function,he=t.Math,ve=t.Object,me=t.RegExp,ge=t.String,be=t.TypeError,ye=r.prototype,Ee=de.prototype,_e=ve.prototype,we=t["__core-js_shared__"],Oe=Ee.toString,Ce=_e.hasOwnProperty,Ae=0,xe=(n=/[^.]+$/.exec(we&&we.keys&&we.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ke=_e.toString,Se=Oe.call(ve),Fe=qe._,De=me("^"+Oe.call(Ce).replace(G,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ie=Ze?t.Buffer:void 0,Me=t.Symbol,Pe=t.Uint8Array,Ue=Ie?Ie.allocUnsafe:void 0,$e=zt(ve.getPrototypeOf,ve),Ge=ve.create,Ye=_e.propertyIsEnumerable,Ke=ye.splice,Xe=Me?Me.isConcatSpreadable:void 0,Je=Me?Me.iterator:void 0,bt=Me?Me.toStringTag:void 0,xt=function(){try{var e=Qi(ve,"defineProperty");return e({},"",{}),e}catch(t){}}(),Kt=t.clearTimeout!==qe.clearTimeout&&t.clearTimeout,Zt=i&&i.now!==qe.Date.now&&i.now,Xt=t.setTimeout!==qe.setTimeout&&t.setTimeout,Jt=he.ceil,Qt=he.floor,en=ve.getOwnPropertySymbols,tn=Ie?Ie.isBuffer:void 0,nn=t.isFinite,rn=ye.join,on=zt(ve.keys,ve),an=he.max,un=he.min,sn=i.now,ln=t.parseInt,cn=he.random,fn=ye.reverse,pn=Qi(t,"DataView"),dn=Qi(t,"Map"),hn=Qi(t,"Promise"),vn=Qi(t,"Set"),mn=Qi(t,"WeakMap"),gn=Qi(ve,"create"),bn=mn&&new mn,yn={},En=ko(pn),_n=ko(dn),wn=ko(hn),On=ko(vn),Cn=ko(mn),An=Me?Me.prototype:void 0,xn=An?An.valueOf:void 0,kn=An?An.toString:void 0;function Sn(e){if(Ha(e)&&!Na(e)&&!(e instanceof jn)){if(e instanceof In)return e;if(Ce.call(e,"__wrapped__"))return So(e)}return new In(e)}var Fn=function(){function e(){}return function(t){if(!Wa(t))return{};if(Ge)return Ge(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function Dn(){}function In(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function jn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Nn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Zn(e,t,n,r,i,o){var a,u=1&t,l=2&t,p=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Wa(e))return e;var w=Na(e);if(w){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&Ce.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!u)return gi(e,a)}else{var N=no(e),M=N==d||N==h;if(Ta(e))return fi(e,u);if(N==g||N==s||M&&!i){if(a=l||M?{}:io(e),!u)return l?function(e,t){return bi(e,to(e),t)}(e,function(e,t){return e&&bi(t,_u(t),e)}(a,e)):function(e,t){return bi(e,eo(e),t)}(e,Gn(a,e))}else{if(!ze[N])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case O:return pi(e);case c:case f:return new r(+e);case C:return function(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case A:case x:case k:case S:case F:case D:case"[object Uint8ClampedArray]":case I:case j:return di(e,n);case v:return new r;case m:case E:return new r(e);case b:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case y:return new r;case _:return i=e,xn?ve(xn.call(i)):{}}var i}(e,N,u)}}o||(o=new Tn);var L=o.get(e);if(L)return L;o.set(e,a),Ka(e)?e.forEach((function(r){a.add(Zn(r,t,n,r,e,o))})):$a(e)&&e.forEach((function(r,i){a.set(i,Zn(r,t,n,i,e,o))}));var P=w?void 0:(p?l?Gi:$i:l?_u:Eu)(e);return ut(P||e,(function(r,i){P&&(r=e[i=r]),Wn(a,i,Zn(r,t,n,i,e,o))})),a}function Xn(e,t,n){var r=n.length;if(null==e)return!r;for(e=ve(e);r--;){var i=n[r],o=t[i],a=e[i];if(void 0===a&&!(i in e)||!o(a))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new be(o);return Eo((function(){e.apply(void 0,n)}),t)}function Qn(e,t,n,r){var i=-1,o=ft,a=!0,u=e.length,s=[],l=t.length;if(!u)return s;n&&(t=dt(t,Dt(n))),r?(o=pt,a=!1):t.length>=200&&(o=jt,a=!1,t=new Pn(t));e:for(;++i-1},Mn.prototype.set=function(e,t){var n=this.__data__,r=Hn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Ln.prototype.clear=function(){this.size=0,this.__data__={hash:new Nn,map:new(dn||Mn),string:new Nn}},Ln.prototype.delete=function(e){var t=Xi(this,e).delete(e);return this.size-=t?1:0,t},Ln.prototype.get=function(e){return Xi(this,e).get(e)},Ln.prototype.has=function(e){return Xi(this,e).has(e)},Ln.prototype.set=function(e,t){var n=Xi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Pn.prototype.add=Pn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Pn.prototype.has=function(e){return this.__data__.has(e)},Tn.prototype.clear=function(){this.__data__=new Mn,this.size=0},Tn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Tn.prototype.get=function(e){return this.__data__.get(e)},Tn.prototype.has=function(e){return this.__data__.has(e)},Tn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Mn){var r=n.__data__;if(!dn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ln(r)}return n.set(e,t),this.size=n.size,this};var er=_i(sr),tr=_i(lr,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function rr(e,t,n){for(var r=-1,i=e.length;++r0&&n(u)?t>1?or(u,t-1,n,r,i):ht(i,u):r||(i[i.length]=u)}return i}var ar=wi(),ur=wi(!0);function sr(e,t){return e&&ar(e,t,Eu)}function lr(e,t){return e&&ur(e,t,Eu)}function cr(e,t){return ct(t,(function(t){return Va(e[t])}))}function fr(e,t){for(var n=0,r=(t=ui(t,e)).length;null!=e&&nt}function vr(e,t){return null!=e&&Ce.call(e,t)}function mr(e,t){return null!=e&&t in ve(e)}function gr(e,t,n){for(var i=n?pt:ft,o=e[0].length,a=e.length,u=a,s=r(a),l=1/0,c=[];u--;){var f=e[u];u&&t&&(f=dt(f,Dt(t))),l=un(f.length,l),s[u]=!n&&(t||o>=120&&f.length>=120)?new Pn(u&&f):void 0}f=e[0];var p=-1,d=s[0];e:for(;++p=u)return s;var l=n[r];return s*("desc"==l?-1:1)}}return e.index-t.index}(e,t,n)}))}function Nr(e,t,n){for(var r=-1,i=t.length,o={};++r-1;)u!==e&&Ke.call(u,s,1),Ke.call(e,s,1);return e}function Lr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;ao(i)?Ke.call(e,i,1):Qr(e,i)}}return e}function Pr(e,t){return e+Qt(cn()*(t-e+1))}function Tr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Qt(t/2))&&(e+=e)}while(t);return n}function Rr(e,t){return _o(vo(e,t,Gu),e+"")}function Br(e){return Bn(Fu(e))}function Vr(e,t){var n=Fu(e);return Co(n,Kn(t,0,n.length))}function zr(e,t,n,r){if(!Wa(e))return e;for(var i=-1,o=(t=ui(t,e)).length,a=o-1,u=e;null!=u&&++io?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i>>1,a=e[o];null!==a&&!Xa(a)&&(n?a<=t:a=200){var l=t?null:Ti(e);if(l)return Wt(l);a=!1,i=jt,s=new Pn}else s=t?[]:u;e:for(;++r=r?e:$r(e,t,n)}var ci=Kt||function(e){return qe.clearTimeout(e)};function fi(e,t){if(t)return e.slice();var n=e.length,r=Ue?Ue(n):new e.constructor(n);return e.copy(r),r}function pi(e){var t=new e.constructor(e.byteLength);return new Pe(t).set(new Pe(e)),t}function di(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function hi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=Xa(e),a=void 0!==t,u=null===t,s=t==t,l=Xa(t);if(!u&&!l&&!o&&e>t||o&&a&&s&&!u&&!l||r&&a&&s||!n&&s||!i)return 1;if(!r&&!o&&!l&&e1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&uo(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=ve(t);++r-1?i[o?t[a]:a]:void 0}}function ki(e){return Hi((function(t){var n=t.length,r=n,i=In.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new be(o);if(i&&!u&&"wrapper"==Yi(a))var u=new In([],!0)}for(r=u?r:n;++r1&&y.reverse(),f&&lu))return!1;var l=o.get(e),c=o.get(t);if(l&&c)return l==t&&c==e;var f=-1,p=!0,d=2&n?new Pn:void 0;for(o.set(e,t),o.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(X,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return ut(u,(function(n){var r="_."+n[0];t&n[1]&&!ft(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(J);return t?t[1].split(Q):[]}(r),n)))}function Oo(e){var t=0,n=0;return function(){var r=sn(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Co(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,Yo(e,n)}));function ta(e){var t=Sn(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Hi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Yn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof jn&&ao(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[i],thisArg:void 0}),new In(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ia=yi((function(e,t,n){Ce.call(e,n)?++e[n]:qn(e,n,1)}));var oa=xi(jo),aa=xi(No);function ua(e,t){return(Na(e)?ut:er)(e,Zi(t,3))}function sa(e,t){return(Na(e)?st:tr)(e,Zi(t,3))}var la=yi((function(e,t,n){Ce.call(e,n)?e[n].push(t):qn(e,n,[t])}));var ca=Rr((function(e,t,n){var i=-1,o="function"==typeof t,a=La(e)?r(e.length):[];return er(e,(function(e){a[++i]=o?ot(t,e,n):br(e,t,n)})),a})),fa=yi((function(e,t,n){qn(e,n,t)}));function pa(e,t){return(Na(e)?dt:kr)(e,Zi(t,3))}var da=yi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Rr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&uo(e,t[0],t[1])?t=[]:n>2&&uo(t[0],t[1],t[2])&&(t=[t[0]]),jr(e,or(t,1),[])})),va=Zt||function(){return qe.Date.now()};function ma(e,t,n){return t=n?void 0:t,Bi(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ga(e,t){var n;if("function"!=typeof t)throw new be(o);return e=ru(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ba=Rr((function(e,t,n){var r=1;if(n.length){var i=Ut(n,Ki(ba));r|=32}return Bi(e,r,t,n,i)})),ya=Rr((function(e,t,n){var r=3;if(n.length){var i=Ut(n,Ki(ya));r|=32}return Bi(t,r,e,n,i)}));function Ea(e,t,n){var r,i,a,u,s,l,c=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new be(o);function h(t){var n=r,o=i;return r=i=void 0,c=t,u=e.apply(o,n)}function v(e){return c=e,s=Eo(g,t),f?h(e):u}function m(e){var n=e-l;return void 0===l||n>=t||n<0||p&&e-c>=a}function g(){var e=va();if(m(e))return b(e);s=Eo(g,function(e){var n=t-(e-l);return p?un(n,a-(e-c)):n}(e))}function b(e){return s=void 0,d&&r?h(e):(r=i=void 0,u)}function y(){var e=va(),n=m(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return v(l);if(p)return ci(s),s=Eo(g,t),h(l)}return void 0===s&&(s=Eo(g,t)),u}return t=ou(t)||0,Wa(n)&&(f=!!n.leading,a=(p="maxWait"in n)?an(ou(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&ci(s),c=0,r=l=i=s=void 0},y.flush=function(){return void 0===s?u:b(va())},y}var _a=Rr((function(e,t){return Jn(e,1,t)})),wa=Rr((function(e,t,n){return Jn(e,ou(t)||0,n)}));function Oa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new be(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Oa.Cache||Ln),n}function Ca(e){if("function"!=typeof e)throw new be(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oa.Cache=Ln;var Aa=si((function(e,t){var n=(t=1==t.length&&Na(t[0])?dt(t[0],Dt(Zi())):dt(or(t,1),Dt(Zi()))).length;return Rr((function(r){for(var i=-1,o=un(r.length,n);++i=t})),ja=yr(function(){return arguments}())?yr:function(e){return Ha(e)&&Ce.call(e,"callee")&&!Ye.call(e,"callee")},Na=r.isArray,Ma=Qe?Dt(Qe):function(e){return Ha(e)&&dr(e)==O};function La(e){return null!=e&&Ua(e.length)&&!Va(e)}function Pa(e){return Ha(e)&&La(e)}var Ta=tn||os,Ra=et?Dt(et):function(e){return Ha(e)&&dr(e)==f};function Ba(e){if(!Ha(e))return!1;var t=dr(e);return t==p||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!qa(e)}function Va(e){if(!Wa(e))return!1;var t=dr(e);return t==d||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function za(e){return"number"==typeof e&&e==ru(e)}function Ua(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Wa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ha(e){return null!=e&&"object"==typeof e}var $a=tt?Dt(tt):function(e){return Ha(e)&&no(e)==v};function Ga(e){return"number"==typeof e||Ha(e)&&dr(e)==m}function qa(e){if(!Ha(e)||dr(e)!=g)return!1;var t=$e(e);if(null===t)return!0;var n=Ce.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Oe.call(n)==Se}var Ya=nt?Dt(nt):function(e){return Ha(e)&&dr(e)==b};var Ka=rt?Dt(rt):function(e){return Ha(e)&&no(e)==y};function Za(e){return"string"==typeof e||!Na(e)&&Ha(e)&&dr(e)==E}function Xa(e){return"symbol"==typeof e||Ha(e)&&dr(e)==_}var Ja=it?Dt(it):function(e){return Ha(e)&&Ua(e.length)&&!!Ve[dr(e)]};var Qa=Mi(xr),eu=Mi((function(e,t){return e<=t}));function tu(e){if(!e)return[];if(La(e))return Za(e)?Gt(e):gi(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=no(e);return(t==v?Vt:t==y?Wt:Fu)(e)}function nu(e){return e?(e=ou(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ru(e){var t=nu(e),n=t%1;return t==t?n?t-n:t:0}function iu(e){return e?Kn(ru(e),0,4294967295):0}function ou(e){if("number"==typeof e)return e;if(Xa(e))return NaN;if(Wa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Wa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Y,"");var n=oe.test(e);return n||ue.test(e)?He(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function au(e){return bi(e,_u(e))}function uu(e){return null==e?"":Xr(e)}var su=Ei((function(e,t){if(fo(t)||La(t))bi(t,Eu(t),e);else for(var n in t)Ce.call(t,n)&&Wn(e,n,t[n])})),lu=Ei((function(e,t){bi(t,_u(t),e)})),cu=Ei((function(e,t,n,r){bi(t,_u(t),e,r)})),fu=Ei((function(e,t,n,r){bi(t,Eu(t),e,r)})),pu=Hi(Yn);var du=Rr((function(e,t){e=ve(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&uo(t[0],t[1],i)&&(r=1);++n1),t})),bi(e,Gi(e),n),r&&(n=Zn(n,7,Ui));for(var i=t.length;i--;)Qr(n,t[i]);return n}));var Au=Hi((function(e,t){return null==e?{}:function(e,t){return Nr(e,t,(function(t,n){return mu(e,n)}))}(e,t)}));function xu(e,t){if(null==e)return{};var n=dt(Gi(e),(function(e){return[e]}));return t=Zi(t),Nr(e,n,(function(e,n){return t(e,n[0])}))}var ku=Ri(Eu),Su=Ri(_u);function Fu(e){return null==e?[]:It(e,Eu(e))}var Du=Ci((function(e,t,n){return t=t.toLowerCase(),e+(n?Iu(t):t)}));function Iu(e){return Bu(uu(e).toLowerCase())}function ju(e){return(e=uu(e))&&e.replace(le,Pt).replace(Ne,"")}var Nu=Ci((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Mu=Ci((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Lu=Oi("toLowerCase");var Pu=Ci((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Tu=Ci((function(e,t,n){return e+(n?" ":"")+Bu(t)}));var Ru=Ci((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Bu=Oi("toUpperCase");function Vu(e,t,n){return e=uu(e),void 0===(t=n?void 0:t)?function(e){return Te.test(e)}(e)?function(e){return e.match(Le)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var zu=Rr((function(e,t){try{return ot(e,void 0,t)}catch(n){return Ba(n)?n:new pe(n)}})),Uu=Hi((function(e,t){return ut(t,(function(t){t=xo(t),qn(e,t,ba(e[t],e))})),e}));function Wu(e){return function(){return e}}var Hu=ki(),$u=ki(!0);function Gu(e){return e}function qu(e){return Or("function"==typeof e?e:Zn(e,1))}var Yu=Rr((function(e,t){return function(n){return br(n,e,t)}})),Ku=Rr((function(e,t){return function(n){return br(e,n,t)}}));function Zu(e,t,n){var r=Eu(t),i=cr(t,r);null!=n||Wa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,Eu(t)));var o=!(Wa(n)&&"chain"in n&&!n.chain),a=Va(e);return ut(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=gi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Xu(){}var Ju=Ii(dt),Qu=Ii(lt),es=Ii(gt);function ts(e){return so(e)?At(xo(e)):function(e){return function(t){return fr(t,e)}}(e)}var ns=Ni(),rs=Ni(!0);function is(){return[]}function os(){return!1}var as=Di((function(e,t){return e+t}),0),us=Pi("ceil"),ss=Di((function(e,t){return e/t}),1),ls=Pi("floor");var cs,fs=Di((function(e,t){return e*t}),1),ps=Pi("round"),ds=Di((function(e,t){return e-t}),0);return Sn.after=function(e,t){if("function"!=typeof t)throw new be(o);return e=ru(e),function(){if(--e<1)return t.apply(this,arguments)}},Sn.ary=ma,Sn.assign=su,Sn.assignIn=lu,Sn.assignInWith=cu,Sn.assignWith=fu,Sn.at=pu,Sn.before=ga,Sn.bind=ba,Sn.bindAll=Uu,Sn.bindKey=ya,Sn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Na(e)?e:[e]},Sn.chain=ta,Sn.chunk=function(e,t,n){t=(n?uo(e,t,n):void 0===t)?1:an(ru(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,u=r(Jt(i/t));oi?0:i+n),(r=void 0===r||r>i?i:ru(r))<0&&(r+=i),r=n>r?0:iu(r);n>>0)?(e=uu(e))&&("string"==typeof t||null!=t&&!Ya(t))&&!(t=Xr(t))&&Bt(e)?li(Gt(e),0,n):e.split(t,n):[]},Sn.spread=function(e,t){if("function"!=typeof e)throw new be(o);return t=null==t?0:an(ru(t),0),Rr((function(n){var r=n[t],i=li(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},Sn.tail=function(e){var t=null==e?0:e.length;return t?$r(e,1,t):[]},Sn.take=function(e,t,n){return e&&e.length?$r(e,0,(t=n||void 0===t?1:ru(t))<0?0:t):[]},Sn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?$r(e,(t=r-(t=n||void 0===t?1:ru(t)))<0?0:t,r):[]},Sn.takeRightWhile=function(e,t){return e&&e.length?ti(e,Zi(t,3),!1,!0):[]},Sn.takeWhile=function(e,t){return e&&e.length?ti(e,Zi(t,3)):[]},Sn.tap=function(e,t){return t(e),e},Sn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new be(o);return Wa(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ea(e,t,{leading:r,maxWait:t,trailing:i})},Sn.thru=na,Sn.toArray=tu,Sn.toPairs=ku,Sn.toPairsIn=Su,Sn.toPath=function(e){return Na(e)?dt(e,xo):Xa(e)?[e]:gi(Ao(uu(e)))},Sn.toPlainObject=au,Sn.transform=function(e,t,n){var r=Na(e),i=r||Ta(e)||Ja(e);if(t=Zi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Wa(e)&&Va(o)?Fn($e(e)):{}}return(i?ut:sr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Sn.unary=function(e){return ma(e,1)},Sn.union=Ho,Sn.unionBy=$o,Sn.unionWith=Go,Sn.uniq=function(e){return e&&e.length?Jr(e):[]},Sn.uniqBy=function(e,t){return e&&e.length?Jr(e,Zi(t,2)):[]},Sn.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},Sn.unset=function(e,t){return null==e||Qr(e,t)},Sn.unzip=qo,Sn.unzipWith=Yo,Sn.update=function(e,t,n){return null==e?e:ei(e,t,ai(n))},Sn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:ei(e,t,ai(n),r)},Sn.values=Fu,Sn.valuesIn=function(e){return null==e?[]:It(e,_u(e))},Sn.without=Ko,Sn.words=Vu,Sn.wrap=function(e,t){return xa(ai(t),e)},Sn.xor=Zo,Sn.xorBy=Xo,Sn.xorWith=Jo,Sn.zip=Qo,Sn.zipObject=function(e,t){return ii(e||[],t||[],Wn)},Sn.zipObjectDeep=function(e,t){return ii(e||[],t||[],zr)},Sn.zipWith=ea,Sn.entries=ku,Sn.entriesIn=Su,Sn.extend=lu,Sn.extendWith=cu,Zu(Sn,Sn),Sn.add=as,Sn.attempt=zu,Sn.camelCase=Du,Sn.capitalize=Iu,Sn.ceil=us,Sn.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=ou(n))==n?n:0),void 0!==t&&(t=(t=ou(t))==t?t:0),Kn(ou(e),t,n)},Sn.clone=function(e){return Zn(e,4)},Sn.cloneDeep=function(e){return Zn(e,5)},Sn.cloneDeepWith=function(e,t){return Zn(e,5,t="function"==typeof t?t:void 0)},Sn.cloneWith=function(e,t){return Zn(e,4,t="function"==typeof t?t:void 0)},Sn.conformsTo=function(e,t){return null==t||Xn(e,t,Eu(t))},Sn.deburr=ju,Sn.defaultTo=function(e,t){return null==e||e!=e?t:e},Sn.divide=ss,Sn.endsWith=function(e,t,n){e=uu(e),t=Xr(t);var r=e.length,i=n=void 0===n?r:Kn(ru(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},Sn.eq=Fa,Sn.escape=function(e){return(e=uu(e))&&B.test(e)?e.replace(T,Tt):e},Sn.escapeRegExp=function(e){return(e=uu(e))&&q.test(e)?e.replace(G,"\\$&"):e},Sn.every=function(e,t,n){var r=Na(e)?lt:nr;return n&&uo(e,t,n)&&(t=void 0),r(e,Zi(t,3))},Sn.find=oa,Sn.findIndex=jo,Sn.findKey=function(e,t){return yt(e,Zi(t,3),sr)},Sn.findLast=aa,Sn.findLastIndex=No,Sn.findLastKey=function(e,t){return yt(e,Zi(t,3),lr)},Sn.floor=ls,Sn.forEach=ua,Sn.forEachRight=sa,Sn.forIn=function(e,t){return null==e?e:ar(e,Zi(t,3),_u)},Sn.forInRight=function(e,t){return null==e?e:ur(e,Zi(t,3),_u)},Sn.forOwn=function(e,t){return e&&sr(e,Zi(t,3))},Sn.forOwnRight=function(e,t){return e&&lr(e,Zi(t,3))},Sn.get=vu,Sn.gt=Da,Sn.gte=Ia,Sn.has=function(e,t){return null!=e&&ro(e,t,vr)},Sn.hasIn=mu,Sn.head=Lo,Sn.identity=Gu,Sn.includes=function(e,t,n,r){e=La(e)?e:Fu(e),n=n&&!r?ru(n):0;var i=e.length;return n<0&&(n=an(i+n,0)),Za(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&_t(e,t,n)>-1},Sn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ru(n);return i<0&&(i=an(r+i,0)),_t(e,t,i)},Sn.inRange=function(e,t,n){return t=nu(t),void 0===n?(n=t,t=0):n=nu(n),function(e,t,n){return e>=un(t,n)&&e=-9007199254740991&&e<=9007199254740991},Sn.isSet=Ka,Sn.isString=Za,Sn.isSymbol=Xa,Sn.isTypedArray=Ja,Sn.isUndefined=function(e){return void 0===e},Sn.isWeakMap=function(e){return Ha(e)&&no(e)==w},Sn.isWeakSet=function(e){return Ha(e)&&"[object WeakSet]"==dr(e)},Sn.join=function(e,t){return null==e?"":rn.call(e,t)},Sn.kebabCase=Nu,Sn.last=Bo,Sn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=ru(n))<0?an(r+i,0):un(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):Et(e,Ot,i,!0)},Sn.lowerCase=Mu,Sn.lowerFirst=Lu,Sn.lt=Qa,Sn.lte=eu,Sn.max=function(e){return e&&e.length?rr(e,Gu,hr):void 0},Sn.maxBy=function(e,t){return e&&e.length?rr(e,Zi(t,2),hr):void 0},Sn.mean=function(e){return Ct(e,Gu)},Sn.meanBy=function(e,t){return Ct(e,Zi(t,2))},Sn.min=function(e){return e&&e.length?rr(e,Gu,xr):void 0},Sn.minBy=function(e,t){return e&&e.length?rr(e,Zi(t,2),xr):void 0},Sn.stubArray=is,Sn.stubFalse=os,Sn.stubObject=function(){return{}},Sn.stubString=function(){return""},Sn.stubTrue=function(){return!0},Sn.multiply=fs,Sn.nth=function(e,t){return e&&e.length?Ir(e,ru(t)):void 0},Sn.noConflict=function(){return qe._===this&&(qe._=Fe),this},Sn.noop=Xu,Sn.now=va,Sn.pad=function(e,t,n){e=uu(e);var r=(t=ru(t))?$t(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return ji(Qt(i),n)+e+ji(Jt(i),n)},Sn.padEnd=function(e,t,n){e=uu(e);var r=(t=ru(t))?$t(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return un(e+i*(t-e+We("1e-"+((i+"").length-1))),t)}return Pr(e,t)},Sn.reduce=function(e,t,n){var r=Na(e)?vt:kt,i=arguments.length<3;return r(e,Zi(t,4),n,i,er)},Sn.reduceRight=function(e,t,n){var r=Na(e)?mt:kt,i=arguments.length<3;return r(e,Zi(t,4),n,i,tr)},Sn.repeat=function(e,t,n){return t=(n?uo(e,t,n):void 0===t)?1:ru(t),Tr(uu(e),t)},Sn.replace=function(){var e=arguments,t=uu(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Sn.result=function(e,t,n){var r=-1,i=(t=ui(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=un(e,4294967295);e-=4294967295;for(var i=Ft(r,t=Zi(t));++n=o)return e;var u=n-$t(r);if(u<1)return r;var s=a?li(a,0,u).join(""):e.slice(0,u);if(void 0===i)return s+r;if(a&&(u+=s.length-u),Ya(i)){if(e.slice(u).search(i)){var l,c=s;for(i.global||(i=me(i.source,uu(re.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;s=s.slice(0,void 0===f?u:f)}}else if(e.indexOf(Xr(i),u)!=u){var p=s.lastIndexOf(i);p>-1&&(s=s.slice(0,p))}return s+r},Sn.unescape=function(e){return(e=uu(e))&&R.test(e)?e.replace(P,qt):e},Sn.uniqueId=function(e){var t=++Ae;return uu(e)+t},Sn.upperCase=Ru,Sn.upperFirst=Bu,Sn.each=ua,Sn.eachRight=sa,Sn.first=Lo,Zu(Sn,(cs={},sr(Sn,(function(e,t){Ce.call(Sn.prototype,t)||(cs[t]=e)})),cs),{chain:!1}),Sn.VERSION="4.17.19",ut(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Sn[e].placeholder=Sn})),ut(["drop","take"],(function(e,t){jn.prototype[e]=function(n){n=void 0===n?1:an(ru(n),0);var r=this.__filtered__&&!t?new jn(this):this.clone();return r.__filtered__?r.__takeCount__=un(n,r.__takeCount__):r.__views__.push({size:un(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},jn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),ut(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;jn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Zi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),ut(["head","last"],(function(e,t){var n="take"+(t?"Right":"");jn.prototype[e]=function(){return this[n](1).value()[0]}})),ut(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");jn.prototype[e]=function(){return this.__filtered__?new jn(this):this[n](1)}})),jn.prototype.compact=function(){return this.filter(Gu)},jn.prototype.find=function(e){return this.filter(e).head()},jn.prototype.findLast=function(e){return this.reverse().find(e)},jn.prototype.invokeMap=Rr((function(e,t){return"function"==typeof e?new jn(this):this.map((function(n){return br(n,e,t)}))})),jn.prototype.reject=function(e){return this.filter(Ca(Zi(e)))},jn.prototype.slice=function(e,t){e=ru(e);var n=this;return n.__filtered__&&(e>0||t<0)?new jn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=ru(t))<0?n.dropRight(-t):n.take(t-e)),n)},jn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},jn.prototype.toArray=function(){return this.take(4294967295)},sr(jn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=Sn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(Sn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,u=t instanceof jn,s=a[0],l=u||Na(t),c=function(e){var t=i.apply(Sn,ht([e],a));return r&&f?t[0]:t};l&&n&&"function"==typeof s&&1!=s.length&&(u=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=o&&!f,h=u&&!p;if(!o&&l){t=h?t:new jn(this);var v=e.apply(t,a);return v.__actions__.push({func:na,args:[c],thisArg:void 0}),new In(v,f)}return d&&h?e.apply(this,a):(v=this.thru(c),d?r?v.value()[0]:v.value():v)})})),ut(["pop","push","shift","sort","splice","unshift"],(function(e){var t=ye[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Sn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Na(i)?i:[],e)}return this[n]((function(n){return t.apply(Na(n)?n:[],e)}))}})),sr(jn.prototype,(function(e,t){var n=Sn[t];if(n){var r=n.name+"";Ce.call(yn,r)||(yn[r]=[]),yn[r].push({name:t,func:n})}})),yn[Si(void 0,2).name]=[{name:"wrapper",func:void 0}],jn.prototype.clone=function(){var e=new jn(this.__wrapped__);return e.__actions__=gi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=gi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=gi(this.__views__),e},jn.prototype.reverse=function(){if(this.__filtered__){var e=new jn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},jn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Na(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Sn.prototype.plant=function(e){for(var t,n=this;n instanceof Dn;){var r=So(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},Sn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof jn){var t=e;return this.__actions__.length&&(t=new jn(this)),(t=t.reverse()).__actions__.push({func:na,args:[Wo],thisArg:void 0}),new In(t,this.__chain__)}return this.thru(Wo)},Sn.prototype.toJSON=Sn.prototype.valueOf=Sn.prototype.value=function(){return ni(this.__wrapped__,this.__actions__)},Sn.prototype.first=Sn.prototype.head,Je&&(Sn.prototype[Je]=function(){return this}),Sn}();qe._=Yt,void 0===(i=function(){return Yt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(77),n(326)(e))},318:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var r=n(253);function i(){var e=Object(r.a)().siteConfig,t=(void 0===e?{}:e).customFields.metadata.latest_post,n=Date.parse(t.date),i=new Date,o=Math.abs(i-n),a=Math.ceil(o/864e5),u=null;return"undefined"!=typeof window&&(u=new Date(parseInt(window.localStorage.getItem("blogViewedAt")||"0"))),a<30&&(!u||u=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(i),i.className=this.props.inputClassName,i.id=this.state.inputId,i.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},i,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}(o.Component);h.propTypes={className:u.default.string,defaultValue:u.default.any,extraWidth:u.default.oneOfType([u.default.number,u.default.string]),id:u.default.string,injectStyles:u.default.bool,inputClassName:u.default.string,inputRef:u.default.func,inputStyle:u.default.object,minWidth:u.default.oneOfType([u.default.number,u.default.string]),onAutosize:u.default.func,onChange:u.default.func,placeholder:u.default.string,placeholderIsMinWidth:u.default.bool,style:u.default.object,value:u.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},383:function(e,t,n){"use strict";var r=n(384),i=n(58);function o(e,t){return t.encode?t.strict?r(e):encodeURIComponent(e):e}t.extract=function(e){return e.split("?")[1]||""},t.parse=function(e,t){var n=function(e){var t;switch(e.arrayFormat){case"index":return function(e,n,r){t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===r[e]&&(r[e]={}),r[e][t[1]]=n):r[e]=n};case"bracket":return function(e,n,r){t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==r[e]?r[e]=[].concat(r[e],n):r[e]=[n]:r[e]=n};default:return function(e,t,n){void 0!==n[e]?n[e]=[].concat(n[e],t):n[e]=t}}}(t=i({arrayFormat:"none"},t)),r=Object.create(null);return"string"!=typeof e?r:(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),i=t.shift(),o=t.length>0?t.join("="):void 0;o=void 0===o?null:decodeURIComponent(o),n(decodeURIComponent(i),o,r)})),Object.keys(r).sort().reduce((function(e,t){var n=r[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=function e(t){return Array.isArray(t)?t.sort():"object"==typeof t?e(Object.keys(t)).sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return t[e]})):t}(n):e[t]=n,e}),Object.create(null))):r},t.stringify=function(e,t){var n=function(e){switch(e.arrayFormat){case"index":return function(t,n,r){return null===n?[o(t,e),"[",r,"]"].join(""):[o(t,e),"[",o(r,e),"]=",o(n,e)].join("")};case"bracket":return function(t,n){return null===n?o(t,e):[o(t,e),"[]=",o(n,e)].join("")};default:return function(t,n){return null===n?o(t,e):[o(t,e),"=",o(n,e)].join("")}}}(t=i({encode:!0,strict:!0,arrayFormat:"none"},t));return e?Object.keys(e).sort().map((function(r){var i=e[r];if(void 0===i)return"";if(null===i)return o(r,t);if(Array.isArray(i)){var a=[];return i.slice().forEach((function(e){void 0!==e&&a.push(n(r,e,a.length))})),a.join("&")}return o(r,t)+"="+o(i,t)})).filter((function(e){return e.length>0})).join("&"):""}},384:function(e,t,n){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}}}]);
\ No newline at end of file
+/*! For license information please see c4f5d8e4.a9e9690b.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[81,4],{246:function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),o=n.n(i),a=n(264),u=n(259),s=n(283),l=n(254),c=n(256),f=n.n(c);var p=function(e){return o.a.createElement(o.a.Fragment,null,e.children)};n(327),n(260),n(53),n(26),n(20),n(19);function d(e,t){if(e.length!==t.length)return!1;for(var n=0;nr&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(v,"$1"+e.trim());case 58:return e.trim()+t.replace(v,"$1"+e.trim());default:if(0<1*n&&0s.charCodeAt(8))break;case 115:a=a.replace(s,"-webkit-"+s)+";"+a;break;case 207:case 102:a=a.replace(s,"-webkit-"+(102u.charCodeAt(0)&&(u=u.trim()),u=[u],0d)&&(B=(U=U.replace(" ",":")).length),0=4;++r,i-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(i){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},k={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var S=/[A-Z]|^ms/g,F=/_EMO_([^_]+?)_([^]*?)_EMO_/g,D=function(e){return 45===e.charCodeAt(1)},I=function(e){return null!=e&&"boolean"!=typeof e},j=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return D(e)?e:e.replace(S,"-$&").toLowerCase()})),N=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(F,(function(e,t,n){return L={name:t,styles:n,next:L},t}))}return 1===k[e]||D(e)||"number"!=typeof t||0===t?t:t+"px"};function M(e,t,n,r){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return L={name:n.name,styles:n.styles,next:L},n.name;if(void 0!==n.styles){var i=n.next;if(void 0!==i)for(;void 0!==i;)L={name:i.name,styles:i.styles,next:L},i=i.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i-1}function oe(e){return ie(e)?window.pageYOffset:e.scrollTop}function ae(e,t){ie(e)?window.scrollTo(0,t):e.scrollTop=t}function ue(e,t,n,r){void 0===n&&(n=200),void 0===r&&(r=ee);var i=oe(e),o=t-i,a=0;!function t(){var u,s=o*((u=(u=a+=10)/n-1)*u*u+1)+i;ae(e,s),a=d)return{placement:"bottom",maxHeight:t};if(O>=d&&!a)return o&&ue(s,C,160),{placement:"bottom",maxHeight:t};if(!a&&O>=r||a&&_>=r)return o&&ue(s,C,160),{placement:"bottom",maxHeight:a?_-b:O-b};if("auto"===i||a){var x=t,k=a?E:w;return k>=r&&(x=Math.min(k-b-u.controlHeight,t)),{placement:"top",maxHeight:x}}if("bottom"===i)return ae(s,C),{placement:"bottom",maxHeight:t};break;case"top":if(E>=d)return{placement:"top",maxHeight:t};if(w>=d&&!a)return o&&ue(s,A,160),{placement:"top",maxHeight:t};if(!a&&w>=r||a&&E>=r){var S=t;return(!a&&w>=r||a&&E>=r)&&(S=a?E-y:w-y),o&&ue(s,A,160),{placement:"top",maxHeight:S}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'+i+'".')}return l}var he=function(e){return"auto"===e?"bottom":e},ve=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i=0||(i[n]=e[n]);return i}(e,["size"]);return q("svg",Se({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Fe},n))},Ie=function(e){return q(De,Se({size:20},e),q("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},je=function(e){return q(De,Se({size:20},e),q("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Ne=function(e){var t=e.isFocused,n=e.theme,r=n.spacing.baseUnit,i=n.colors;return{label:"indicatorContainer",color:t?i.neutral60:i.neutral20,display:"flex",padding:2*r,transition:"color 150ms",":hover":{color:t?i.neutral80:i.neutral40}}},Me=Ne,Le=Ne,Pe=function(){var e=R.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(ke()),Te=function(e){var t=e.delay,n=e.offset;return q("span",{css:R({animation:Pe+" 1s ease-in-out "+t+"ms infinite;",backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":null,height:"1em",verticalAlign:"top",width:"1em"},"")})},Re=function(e){var t=e.className,n=e.cx,r=e.getStyles,i=e.innerProps,o=e.isRtl;return q("div",Se({},i,{css:r("loadingIndicator",e),className:n({indicator:!0,"loading-indicator":!0},t)}),q(Te,{delay:0,offset:o}),q(Te,{delay:160,offset:!0}),q(Te,{delay:320,offset:!o}))};function Be(){return(Be=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,["className","cx","getStyles","theme","selectProps"]));return q("div",Ve({css:r("groupHeading",Ve({theme:i},o)),className:n({"group-heading":!0},t)},o))},IndicatorsContainer:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles;return q("div",{css:i("indicatorsContainer",e),className:r({indicators:!0},n)},t)},IndicatorSeparator:function(e){var t=e.className,n=e.cx,r=e.getStyles,i=e.innerProps;return q("span",Se({},i,{css:r("indicatorSeparator",e),className:n({"indicator-separator":!0},t)}))},Input:function(e){var t=e.className,n=e.cx,r=e.getStyles,i=e.innerRef,o=e.isHidden,a=e.isDisabled,u=e.theme,s=(e.selectProps,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,["className","cx","getStyles","innerRef","isHidden","isDisabled","theme","selectProps"]));return q("div",{css:r("input",ze({theme:u},s))},q(ce.a,ze({className:n({input:!0},t),inputRef:i,inputStyle:Ue(o),disabled:a},s)))},LoadingIndicator:Re,Menu:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.innerRef,a=e.innerProps;return q("div",fe({css:i("menu",e),className:r({menu:!0},n)},a,{ref:o}),t)},MenuList:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.isMulti,a=e.innerRef;return q("div",{css:i("menuList",e),className:r({"menu-list":!0,"menu-list--is-multi":o},n),ref:a},t)},MenuPortal:_e,LoadingMessage:Ee,NoOptionsMessage:ye,MultiValue:qe,MultiValueContainer:$e,MultiValueLabel:Ge,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return q("div",n,t||q(Ie,{size:14}))},Option:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.isDisabled,a=e.isFocused,u=e.isSelected,s=e.innerRef,l=e.innerProps;return q("div",Ye({css:i("option",e),className:r({option:!0,"option--is-disabled":o,"option--is-focused":a,"option--is-selected":u},n),ref:s},l),t)},Placeholder:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.innerProps;return q("div",Ke({css:i("placeholder",e),className:r({placeholder:!0},n)},o),t)},SelectContainer:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.innerProps,a=e.isDisabled,u=e.isRtl;return q("div",xe({css:i("container",e),className:r({"--is-disabled":a,"--is-rtl":u},n)},o),t)},SingleValue:function(e){var t=e.children,n=e.className,r=e.cx,i=e.getStyles,o=e.isDisabled,a=e.innerProps;return q("div",Ze({css:i("singleValue",e),className:r({"single-value":!0,"single-value--is-disabled":o},n)},a),t)},ValueContainer:function(e){var t=e.children,n=e.className,r=e.cx,i=e.isMulti,o=e.getStyles,a=e.hasValue;return q("div",{css:o("valueContainer",e),className:r({"value-container":!0,"value-container--is-multi":i,"value-container--has-value":a},n)},t)}},Qe=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],et=function(e){for(var t=0;t=0||(i[n]=e[n]);return i}(e,["in","out","onExited","appear","enter","exit","innerRef","emotion"]));return q("input",ut({ref:t},n,{css:R({label:"dummyInput",background:0,border:0,fontSize:"inherit",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(0)"},"")}))}var lt=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.componentDidMount=function(){this.props.innerRef(Object(X.findDOMNode)(this))},i.componentWillUnmount=function(){this.props.innerRef(null)},i.render=function(){return this.props.children},r}(i.Component),ct=["boxSizing","height","overflow","paddingRight","position"],ft={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function pt(e){e.preventDefault()}function dt(e){e.stopPropagation()}function ht(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function vt(){return"ontouchstart"in window||navigator.maxTouchPoints}var mt=!(!window.document||!window.document.createElement),gt=0,bt=function(e){var t,n;function r(){for(var t,n=arguments.length,r=new Array(n),i=0;i0,h=c-f-l,v=!1;h>n&&t.isBottom&&(o&&o(e),t.isBottom=!1),d&&t.isTop&&(u&&u(e),t.isTop=!1),d&&n>h?(i&&!t.isBottom&&i(e),p.scrollTop=c,v=!0,t.isBottom=!0):!d&&-n>l&&(a&&!t.isTop&&a(e),p.scrollTop=0,v=!0,t.isTop=!0),v&&t.cancelScroll(e)},t.onWheel=function(e){t.handleEventDelta(e,e.deltaY)},t.onTouchStart=function(e){t.touchStart=e.changedTouches[0].clientY},t.onTouchMove=function(e){var n=t.touchStart-e.changedTouches[0].clientY;t.handleEventDelta(e,n)},t.getScrollTarget=function(e){t.scrollTarget=e},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.componentDidMount=function(){this.startListening(this.scrollTarget)},i.componentWillUnmount=function(){this.stopListening(this.scrollTarget)},i.startListening=function(e){e&&("function"==typeof e.addEventListener&&e.addEventListener("wheel",this.onWheel,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchstart",this.onTouchStart,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchmove",this.onTouchMove,!1))},i.stopListening=function(e){"function"==typeof e.removeEventListener&&e.removeEventListener("wheel",this.onWheel,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchstart",this.onTouchStart,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchmove",this.onTouchMove,!1)},i.render=function(){return o.a.createElement(lt,{innerRef:this.getScrollTarget},this.props.children)},r}(i.Component);function wt(e){var t=e.isEnabled,n=void 0===t||t,r=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,["isEnabled"]);return n?o.a.createElement(_t,r):r.children}var Ot=function(e,t){void 0===t&&(t={});var n=t,r=n.isSearchable,i=n.isMulti,o=n.label,a=n.isDisabled;switch(e){case"menu":return"Use Up and Down to choose options"+(a?"":", press Enter to select the currently focused option")+", press Escape to exit the menu, press Tab to select the option and exit the menu.";case"input":return(o||"Select")+" is focused "+(r?",type to refine list":"")+", press Down to open the menu, "+(i?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value"}},Ct=function(e,t){var n=t.value,r=t.isDisabled;if(n)switch(e){case"deselect-option":case"pop-value":case"remove-value":return"option "+n+", deselected.";case"select-option":return r?"option "+n+" is disabled. Select another option.":"option "+n+", selected."}},At=function(e){return!!e.isDisabled};var xt={clearIndicator:Le,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":null,pointerEvents:t?"none":null,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,i=r.colors,o=r.borderRadius,a=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?i.neutral5:i.neutral0,borderColor:t?i.neutral10:n?i.primary:i.neutral20,borderRadius:o,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px "+i.primary:null,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:a.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?i.primary:i.neutral30}}},dropdownIndicator:Me,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:"500",marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,i=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?i.neutral10:i.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,i=n.colors;return{margin:r.baseUnit/2,paddingBottom:r.baseUnit/2,paddingTop:r.baseUnit/2,visibility:t?"hidden":"visible",color:i.neutral80}},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,i=r.colors,o=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?i.neutral60:i.neutral20,display:"flex",padding:2*o,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:be,menu:function(e){var t,n=e.placement,r=e.theme,i=r.borderRadius,o=r.spacing,a=r.colors;return(t={label:"menu"})[function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n)]="100%",t.backgroundColor=a.neutral0,t.borderRadius=i,t.boxShadow="0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",t.marginBottom=o.menuGutter,t.marginTop=o.menuGutter,t.position="absolute",t.width="100%",t.zIndex=1,t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,i=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:i?"ellipsis":null,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,i=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused&&i.dangerLight,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:i.dangerLight,color:i.danger}}},noOptionsMessage:ge,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,i=e.theme,o=i.spacing,a=i.colors;return{label:"option",backgroundColor:r?a.primary:n?a.primary25:"transparent",color:t?a.neutral20:r?a.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:2*o.baseUnit+"px "+3*o.baseUnit+"px",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:!t&&(r?a.primary:a.primary50)}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2,position:"absolute",top:"50%",transform:"translateY(-50%)"}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,i=n.colors;return{label:"singleValue",color:t?i.neutral40:i.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"calc(100% - "+2*r.baseUnit+"px)",overflow:"hidden",position:"absolute",textOverflow:"ellipsis",whiteSpace:"nowrap",top:"50%",transform:"translateY(-50%)"}},valueContainer:function(e){var t=e.theme.spacing;return{alignItems:"center",display:"flex",flex:1,flexWrap:"wrap",padding:t.baseUnit/2+"px "+2*t.baseUnit+"px",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}};var kt={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}};function St(){return(St=Object.assign||function(e){for(var t=1;t-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:At,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return t+" result"+(1!==t?"s":"")+" available"},styles:{},tabIndex:"0",tabSelectsValue:!0},jt=1,Nt=function(e){var t,n;function r(t){var n;(n=e.call(this,t)||this).state={ariaLiveSelection:"",ariaLiveContext:"",focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,menuOptions:{render:[],focusable:[]},selectValue:[]},n.blockOptionHover=!1,n.isComposing=!1,n.clearFocusValueOnUpdate=!1,n.commonProps=void 0,n.components=void 0,n.hasGroups=!1,n.initialTouchX=0,n.initialTouchY=0,n.inputIsHiddenAfterUpdate=void 0,n.instancePrefix="",n.openAfterFocus=!1,n.scrollToFocusedOptionOnUpdate=!1,n.userIsDragging=void 0,n.controlRef=null,n.getControlRef=function(e){n.controlRef=e},n.focusedOptionRef=null,n.getFocusedOptionRef=function(e){n.focusedOptionRef=e},n.menuListRef=null,n.getMenuListRef=function(e){n.menuListRef=e},n.inputRef=null,n.getInputRef=function(e){n.inputRef=e},n.cacheComponents=function(e){n.components=Xe({},Je,{components:e}.components)},n.focus=n.focusInput,n.blur=n.blurInput,n.onChange=function(e,t){var r=n.props;(0,r.onChange)(e,St({},t,{name:r.name}))},n.setValue=function(e,t,r){void 0===t&&(t="set-value");var i=n.props,o=i.closeMenuOnSelect,a=i.isMulti;n.onInputChange("",{action:"set-value"}),o&&(n.inputIsHiddenAfterUpdate=!a,n.onMenuClose()),n.clearFocusValueOnUpdate=!0,n.onChange(e,{action:t,option:r})},n.selectOption=function(e){var t=n.props,r=t.blurInputOnSelect,i=t.isMulti,o=n.state.selectValue;if(i)if(n.isOptionSelected(e,o)){var a=n.getOptionValue(e);n.setValue(o.filter((function(e){return n.getOptionValue(e)!==a})),"deselect-option",e),n.announceAriaLiveSelection({event:"deselect-option",context:{value:n.getOptionLabel(e)}})}else n.isOptionDisabled(e,o)?n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e),isDisabled:!0}}):(n.setValue([].concat(o,[e]),"select-option",e),n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e)}}));else n.isOptionDisabled(e,o)?n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e),isDisabled:!0}}):(n.setValue(e,"select-option"),n.announceAriaLiveSelection({event:"select-option",context:{value:n.getOptionLabel(e)}}));r&&n.blurInput()},n.removeValue=function(e){var t=n.state.selectValue,r=n.getOptionValue(e),i=t.filter((function(e){return n.getOptionValue(e)!==r}));n.onChange(i.length?i:null,{action:"remove-value",removedValue:e}),n.announceAriaLiveSelection({event:"remove-value",context:{value:e?n.getOptionLabel(e):""}}),n.focusInput()},n.clearValue=function(){var e=n.props.isMulti;n.onChange(e?[]:null,{action:"clear"})},n.popValue=function(){var e=n.state.selectValue,t=e[e.length-1],r=e.slice(0,e.length-1);n.announceAriaLiveSelection({event:"pop-value",context:{value:t?n.getOptionLabel(t):""}}),n.onChange(r.length?r:null,{action:"pop-value",removedValue:t})},n.getOptionLabel=function(e){return n.props.getOptionLabel(e)},n.getOptionValue=function(e){return n.props.getOptionValue(e)},n.getStyles=function(e,t){var r=xt[e](t);r.boxSizing="border-box";var i=n.props.styles[e];return i?i(r,t):r},n.getElementId=function(e){return n.instancePrefix+"-"+e},n.getActiveDescendentId=function(){var e=n.props.menuIsOpen,t=n.state,r=t.menuOptions,i=t.focusedOption;if(i&&e){var o=r.focusable.indexOf(i),a=r.render[o];return a&&a.key}},n.announceAriaLiveSelection=function(e){var t=e.event,r=e.context;n.setState({ariaLiveSelection:Ct(t,r)})},n.announceAriaLiveContext=function(e){var t=e.event,r=e.context;n.setState({ariaLiveContext:Ot(t,St({},r,{label:n.props["aria-label"]}))})},n.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),n.focusInput())},n.onMenuMouseMove=function(e){n.blockOptionHover=!1},n.onControlMouseDown=function(e){var t=n.props.openMenuOnClick;n.state.isFocused?n.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&n.onMenuClose():t&&n.openMenu("first"):(t&&(n.openAfterFocus=!0),n.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()},n.onDropdownIndicatorMouseDown=function(e){if(!(e&&"mousedown"===e.type&&0!==e.button||n.props.isDisabled)){var t=n.props,r=t.isMulti,i=t.menuIsOpen;n.focusInput(),i?(n.inputIsHiddenAfterUpdate=!r,n.onMenuClose()):n.openMenu("first"),e.preventDefault(),e.stopPropagation()}},n.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(n.clearValue(),e.stopPropagation(),n.openAfterFocus=!1,"touchend"===e.type?n.focusInput():setTimeout((function(){return n.focusInput()})))},n.onScroll=function(e){"boolean"==typeof n.props.closeMenuOnScroll?e.target instanceof HTMLElement&&ie(e.target)&&n.props.onMenuClose():"function"==typeof n.props.closeMenuOnScroll&&n.props.closeMenuOnScroll(e)&&n.props.onMenuClose()},n.onCompositionStart=function(){n.isComposing=!0},n.onCompositionEnd=function(){n.isComposing=!1},n.onTouchStart=function(e){var t=e.touches.item(0);t&&(n.initialTouchX=t.clientX,n.initialTouchY=t.clientY,n.userIsDragging=!1)},n.onTouchMove=function(e){var t=e.touches.item(0);if(t){var r=Math.abs(t.clientX-n.initialTouchX),i=Math.abs(t.clientY-n.initialTouchY);n.userIsDragging=r>5||i>5}},n.onTouchEnd=function(e){n.userIsDragging||(n.controlRef&&!n.controlRef.contains(e.target)&&n.menuListRef&&!n.menuListRef.contains(e.target)&&n.blurInput(),n.initialTouchX=0,n.initialTouchY=0)},n.onControlTouchEnd=function(e){n.userIsDragging||n.onControlMouseDown(e)},n.onClearIndicatorTouchEnd=function(e){n.userIsDragging||n.onClearIndicatorMouseDown(e)},n.onDropdownIndicatorTouchEnd=function(e){n.userIsDragging||n.onDropdownIndicatorMouseDown(e)},n.handleInputChange=function(e){var t=e.currentTarget.value;n.inputIsHiddenAfterUpdate=!1,n.onInputChange(t,{action:"input-change"}),n.onMenuOpen()},n.onInputFocus=function(e){var t=n.props,r=t.isSearchable,i=t.isMulti;n.props.onFocus&&n.props.onFocus(e),n.inputIsHiddenAfterUpdate=!1,n.announceAriaLiveContext({event:"input",context:{isSearchable:r,isMulti:i}}),n.setState({isFocused:!0}),(n.openAfterFocus||n.props.openMenuOnFocus)&&n.openMenu("first"),n.openAfterFocus=!1},n.onInputBlur=function(e){n.menuListRef&&n.menuListRef.contains(document.activeElement)?n.inputRef.focus():(n.props.onBlur&&n.props.onBlur(e),n.onInputChange("",{action:"input-blur"}),n.onMenuClose(),n.setState({focusedValue:null,isFocused:!1}))},n.onOptionHover=function(e){n.blockOptionHover||n.state.focusedOption===e||n.setState({focusedOption:e})},n.shouldHideSelectedOptions=function(){var e=n.props,t=e.hideSelectedOptions,r=e.isMulti;return void 0===t?r:t},n.onKeyDown=function(e){var t=n.props,r=t.isMulti,i=t.backspaceRemovesValue,o=t.escapeClearsValue,a=t.inputValue,u=t.isClearable,s=t.isDisabled,l=t.menuIsOpen,c=t.onKeyDown,f=t.tabSelectsValue,p=t.openMenuOnFocus,d=n.state,h=d.focusedOption,v=d.focusedValue,m=d.selectValue;if(!(s||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(n.blockOptionHover=!0,e.key){case"ArrowLeft":if(!r||a)return;n.focusValue("previous");break;case"ArrowRight":if(!r||a)return;n.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(v)n.removeValue(v);else{if(!i)return;r?n.popValue():u&&n.clearValue()}break;case"Tab":if(n.isComposing)return;if(e.shiftKey||!l||!f||!h||p&&n.isOptionSelected(h,m))return;n.selectOption(h);break;case"Enter":if(229===e.keyCode)break;if(l){if(!h)return;if(n.isComposing)return;n.selectOption(h);break}return;case"Escape":l?(n.inputIsHiddenAfterUpdate=!1,n.onInputChange("",{action:"menu-close"}),n.onMenuClose()):u&&o&&n.clearValue();break;case" ":if(a)return;if(!l){n.openMenu("first");break}if(!h)return;n.selectOption(h);break;case"ArrowUp":l?n.focusOption("up"):n.openMenu("last");break;case"ArrowDown":l?n.focusOption("down"):n.openMenu("first");break;case"PageUp":if(!l)return;n.focusOption("pageup");break;case"PageDown":if(!l)return;n.focusOption("pagedown");break;case"Home":if(!l)return;n.focusOption("first");break;case"End":if(!l)return;n.focusOption("last");break;default:return}e.preventDefault()}},n.buildMenuOptions=function(e,t){var r=e.inputValue,i=void 0===r?"":r,o=e.options,a=function(e,r){var o=n.isOptionDisabled(e,t),a=n.isOptionSelected(e,t),u=n.getOptionLabel(e),s=n.getOptionValue(e);if(!(n.shouldHideSelectedOptions()&&a||!n.filterOption({label:u,value:s,data:e},i))){var l=o?void 0:function(){return n.onOptionHover(e)},c=o?void 0:function(){return n.selectOption(e)},f=n.getElementId("option")+"-"+r;return{innerProps:{id:f,onClick:c,onMouseMove:l,onMouseOver:l,tabIndex:-1},data:e,isDisabled:o,isSelected:a,key:f,label:u,type:"option",value:s}}};return o.reduce((function(e,t,r){if(t.options){n.hasGroups||(n.hasGroups=!0);var i=t.options.map((function(t,n){var i=a(t,r+"-"+n);return i&&e.focusable.push(t),i})).filter(Boolean);if(i.length){var o=n.getElementId("group")+"-"+r;e.render.push({type:"group",key:o,data:t,options:i})}}else{var u=a(t,""+r);u&&(e.render.push(u),e.focusable.push(t))}return e}),{render:[],focusable:[]})};var r=t.value;n.cacheComponents=h(n.cacheComponents,Ae).bind(Ft(Ft(n))),n.cacheComponents(t.components),n.instancePrefix="react-select-"+(n.props.instanceId||++jt);var i=re(r);n.buildMenuOptions=h(n.buildMenuOptions,(function(e,t){var n=e,r=n[0],i=n[1],o=t,a=o[0];return Ae(i,o[1])&&Ae(r.inputValue,a.inputValue)&&Ae(r.options,a.options)})).bind(Ft(Ft(n)));var o=t.menuIsOpen?n.buildMenuOptions(t,i):{render:[],focusable:[]};return n.state.menuOptions=o,n.state.selectValue=i,n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.componentDidMount=function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()},i.UNSAFE_componentWillReceiveProps=function(e){var t=this.props,n=t.options,r=t.value,i=t.menuIsOpen,o=t.inputValue;if(this.cacheComponents(e.components),e.value!==r||e.options!==n||e.menuIsOpen!==i||e.inputValue!==o){var a=re(e.value),u=e.menuIsOpen?this.buildMenuOptions(e,a):{render:[],focusable:[]},s=this.getNextFocusedValue(a),l=this.getNextFocusedOption(u.focusable);this.setState({menuOptions:u,selectValue:a,focusedOption:l,focusedValue:s})}null!=this.inputIsHiddenAfterUpdate&&(this.setState({inputIsHidden:this.inputIsHiddenAfterUpdate}),delete this.inputIsHiddenAfterUpdate)},i.componentDidUpdate=function(e){var t,n,r,i,o,a=this.props,u=a.isDisabled,s=a.menuIsOpen,l=this.state.isFocused;(l&&!u&&e.isDisabled||l&&s&&!e.menuIsOpen)&&this.focusInput(),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(t=this.menuListRef,n=this.focusedOptionRef,r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=n.offsetHeight/3,i.bottom+o>r.bottom?ae(t,Math.min(n.offsetTop+n.clientHeight-t.offsetHeight+o,t.scrollHeight)):i.top-o-1&&(u=s)}this.scrollToFocusedOptionOnUpdate=!(i&&this.menuListRef),this.inputIsHiddenAfterUpdate=!1,this.setState({menuOptions:o,focusedValue:null,focusedOption:o.focusable[u]},(function(){t.onMenuOpen(),t.announceAriaLiveContext({event:"menu"})}))},i.focusValue=function(e){var t=this.props,n=t.isMulti,r=t.isSearchable,i=this.state,o=i.selectValue,a=i.focusedValue;if(n){this.setState({focusedOption:null});var u=o.indexOf(a);a||(u=-1,this.announceAriaLiveContext({event:"value"}));var s=o.length-1,l=-1;if(o.length){switch(e){case"previous":l=0===u?0:-1===u?s:u-1;break;case"next":u>-1&&u0?a-1:i.length-1:"down"===e?o=(a+1)%i.length:"pageup"===e?(o=a-t)<0&&(o=0):"pagedown"===e?(o=a+t)>i.length-1&&(o=i.length-1):"last"===e&&(o=i.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:i[o],focusedValue:null}),this.announceAriaLiveContext({event:"menu",context:{isDisabled:At(i[o])}})}},i.getTheme=function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(kt):St({},kt,this.props.theme):kt},i.getCommonProps=function(){var e=this.clearValue,t=this.getStyles,n=this.setValue,r=this.selectOption,i=this.props,o=i.classNamePrefix,a=i.isMulti,u=i.isRtl,s=i.options,l=this.state.selectValue,c=this.hasValue();return{cx:ne.bind(null,o),clearValue:e,getStyles:t,getValue:function(){return l},hasValue:c,isMulti:a,isRtl:u,options:s,selectOption:r,setValue:n,selectProps:i,theme:this.getTheme()}},i.getNextFocusedValue=function(e){if(this.clearFocusValueOnUpdate)return this.clearFocusValueOnUpdate=!1,null;var t=this.state,n=t.focusedValue,r=t.selectValue.indexOf(n);if(r>-1){if(e.indexOf(n)>-1)return n;if(r-1?t:e[0]},i.hasValue=function(){return this.state.selectValue.length>0},i.hasOptions=function(){return!!this.state.menuOptions.render.length},i.countOptions=function(){return this.state.menuOptions.focusable.length},i.isClearable=function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t},i.isOptionDisabled=function(e,t){return"function"==typeof this.props.isOptionDisabled&&this.props.isOptionDisabled(e,t)},i.isOptionSelected=function(e,t){var n=this;if(t.indexOf(e)>-1)return!0;if("function"==typeof this.props.isOptionSelected)return this.props.isOptionSelected(e,t);var r=this.getOptionValue(e);return t.some((function(e){return n.getOptionValue(e)===r}))},i.filterOption=function(e,t){return!this.props.filterOption||this.props.filterOption(e,t)},i.formatOptionLabel=function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)},i.formatGroupLabel=function(e){return this.props.formatGroupLabel(e)},i.startListeningComposition=function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))},i.stopListeningComposition=function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))},i.startListeningToTouch=function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))},i.stopListeningToTouch=function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))},i.constructAriaLiveMessage=function(){var e=this.state,t=e.ariaLiveContext,n=e.selectValue,r=e.focusedValue,i=e.focusedOption,o=this.props,a=o.options,u=o.menuIsOpen,s=o.inputValue,l=o.screenReaderStatus;return(r?function(e){var t=e.focusedValue,n=e.getOptionLabel,r=e.selectValue;return"value "+n(t)+" focused, "+(r.indexOf(t)+1)+" of "+r.length+"."}({focusedValue:r,getOptionLabel:this.getOptionLabel,selectValue:n}):"")+" "+(i&&u?function(e){var t=e.focusedOption,n=e.getOptionLabel,r=e.options;return"option "+n(t)+" focused"+(t.isDisabled?" disabled":"")+", "+(r.indexOf(t)+1)+" of "+r.length+"."}({focusedOption:i,getOptionLabel:this.getOptionLabel,options:a}):"")+" "+function(e){var t=e.inputValue;return e.screenReaderMessage+(t?" for search term "+t:"")+"."}({inputValue:s,screenReaderMessage:l({count:this.countOptions()})})+" "+t},i.renderInput=function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,r=e.inputId,i=e.inputValue,a=e.tabIndex,u=this.components.Input,s=this.state.inputIsHidden,l=r||this.getElementId("input"),c={"aria-autocomplete":"list","aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"]};if(!n)return o.a.createElement(st,St({id:l,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:ee,onFocus:this.onInputFocus,readOnly:!0,disabled:t,tabIndex:a,value:""},c));var f=this.commonProps,p=f.cx,d=f.theme,h=f.selectProps;return o.a.createElement(u,St({autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",cx:p,getStyles:this.getStyles,id:l,innerRef:this.getInputRef,isDisabled:t,isHidden:s,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,selectProps:h,spellCheck:"false",tabIndex:a,theme:d,type:"text",value:i},c))},i.renderPlaceholderOrValue=function(){var e=this,t=this.components,n=t.MultiValue,r=t.MultiValueContainer,i=t.MultiValueLabel,a=t.MultiValueRemove,u=t.SingleValue,s=t.Placeholder,l=this.commonProps,c=this.props,f=c.controlShouldRenderValue,p=c.isDisabled,d=c.isMulti,h=c.inputValue,v=c.placeholder,m=this.state,g=m.selectValue,b=m.focusedValue,y=m.isFocused;if(!this.hasValue()||!f)return h?null:o.a.createElement(s,St({},l,{key:"placeholder",isDisabled:p,isFocused:y}),v);if(d)return g.map((function(t,u){var s=t===b;return o.a.createElement(n,St({},l,{components:{Container:r,Label:i,Remove:a},isFocused:s,isDisabled:p,key:e.getOptionValue(t),index:u,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:t}),e.formatOptionLabel(t,"value"))}));if(h)return null;var E=g[0];return o.a.createElement(u,St({},l,{data:E,isDisabled:p}),this.formatOptionLabel(E,"value"))},i.renderClearIndicator=function(){var e=this.components.ClearIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,i=n.isLoading,a=this.state.isFocused;if(!this.isClearable()||!e||r||!this.hasValue()||i)return null;var u={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,St({},t,{innerProps:u,isFocused:a}))},i.renderLoadingIndicator=function(){var e=this.components.LoadingIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,i=n.isLoading,a=this.state.isFocused;if(!e||!i)return null;return o.a.createElement(e,St({},t,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:a}))},i.renderIndicatorSeparator=function(){var e=this.components,t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var r=this.commonProps,i=this.props.isDisabled,a=this.state.isFocused;return o.a.createElement(n,St({},r,{isDisabled:i,isFocused:a}))},i.renderDropdownIndicator=function(){var e=this.components.DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,r=this.state.isFocused,i={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return o.a.createElement(e,St({},t,{innerProps:i,isDisabled:n,isFocused:r}))},i.renderMenu=function(){var e=this,t=this.components,n=t.Group,r=t.GroupHeading,i=t.Menu,a=t.MenuList,u=t.MenuPortal,s=t.LoadingMessage,l=t.NoOptionsMessage,c=t.Option,f=this.commonProps,p=this.state,d=p.focusedOption,h=p.menuOptions,v=this.props,m=v.captureMenuScroll,g=v.inputValue,b=v.isLoading,y=v.loadingMessage,E=v.minMenuHeight,_=v.maxMenuHeight,w=v.menuIsOpen,O=v.menuPlacement,C=v.menuPosition,A=v.menuPortalTarget,x=v.menuShouldBlockScroll,k=v.menuShouldScrollIntoView,S=v.noOptionsMessage,F=v.onMenuScrollToTop,D=v.onMenuScrollToBottom;if(!w)return null;var I,j=function(t){var n=d===t.data;return t.innerRef=n?e.getFocusedOptionRef:void 0,o.a.createElement(c,St({},f,t,{isFocused:n}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())I=h.render.map((function(t){if("group"===t.type){t.type;var i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(t,["type"]),a=t.key+"-heading";return o.a.createElement(n,St({},f,i,{Heading:r,headingProps:{id:a},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return j(e)})))}if("option"===t.type)return j(t)}));else if(b){var N=y({inputValue:g});if(null===N)return null;I=o.a.createElement(s,f,N)}else{var M=S({inputValue:g});if(null===M)return null;I=o.a.createElement(l,f,M)}var L={minMenuHeight:E,maxMenuHeight:_,menuPlacement:O,menuPosition:C,menuShouldScrollIntoView:k},P=o.a.createElement(ve,St({},f,L),(function(t){var n=t.ref,r=t.placerProps,u=r.placement,s=r.maxHeight;return o.a.createElement(i,St({},f,L,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:b,placement:u}),o.a.createElement(wt,{isEnabled:m,onTopArrive:F,onBottomArrive:D},o.a.createElement(Et,{isEnabled:x},o.a.createElement(a,St({},f,{innerRef:e.getMenuListRef,isLoading:b,maxHeight:s}),I))))}));return A||"fixed"===C?o.a.createElement(u,St({},f,{appendTo:A,controlElement:this.controlRef,menuPlacement:O,menuPosition:C}),P):P},i.renderFormField=function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,i=t.isMulti,a=t.name,u=this.state.selectValue;if(a&&!r){if(i){if(n){var s=u.map((function(t){return e.getOptionValue(t)})).join(n);return o.a.createElement("input",{name:a,type:"hidden",value:s})}var l=u.length>0?u.map((function(t,n){return o.a.createElement("input",{key:"i-"+n,name:a,type:"hidden",value:e.getOptionValue(t)})})):o.a.createElement("input",{name:a,type:"hidden"});return o.a.createElement("div",null,l)}var c=u[0]?this.getOptionValue(u[0]):"";return o.a.createElement("input",{name:a,type:"hidden",value:c})}},i.renderLiveRegion=function(){return this.state.isFocused?o.a.createElement(at,{"aria-live":"polite"},o.a.createElement("p",{id:"aria-selection-event"},"\xa0",this.state.ariaLiveSelection),o.a.createElement("p",{id:"aria-context"},"\xa0",this.constructAriaLiveMessage())):null},i.render=function(){var e=this.components,t=e.Control,n=e.IndicatorsContainer,r=e.SelectContainer,i=e.ValueContainer,a=this.props,u=a.className,s=a.id,l=a.isDisabled,c=a.menuIsOpen,f=this.state.isFocused,p=this.commonProps=this.getCommonProps();return o.a.createElement(r,St({},p,{className:u,innerProps:{id:s,onKeyDown:this.onKeyDown},isDisabled:l,isFocused:f}),this.renderLiveRegion(),o.a.createElement(t,St({},p,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:l,isFocused:f,menuIsOpen:c}),o.a.createElement(i,St({},p,{isDisabled:l}),this.renderPlaceholderOrValue(),this.renderInput()),o.a.createElement(n,St({},p,{isDisabled:l}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())},r}(i.Component);function Mt(){return(Mt=Object.assign||function(e){for(var t=1;t1?n-1:0),i=1;i=0||(i[n]=e[n]);return i}(t,["defaultInputValue","defaultMenuIsOpen","defaultValue"]));return o.a.createElement(Pt,Mt({},n,{ref:function(t){e.select=t},inputValue:this.getProp("inputValue"),menuIsOpen:this.getProp("menuIsOpen"),onChange:this.onChange,onInputChange:this.onInputChange,onMenuClose:this.onMenuClose,onMenuOpen:this.onMenuOpen,value:this.getProp("value")}))},r}(i.Component),Tt.defaultProps=Lt,Rt),Vt=n(252),zt=n.n(Vt),Ut=n(383),Wt=n.n(Ut),Ht=n(338);var $t=function(){return Object(i.useContext)(Ht.a)},Gt=37,qt=39;function Yt(e){var t=e.block,n=e.centered,r=e.changeSelectedValue,i=e.className,a=e.handleKeydown,u=e.style,s=e.values,l=e.selectedValue,c=e.tabRefs;return o.a.createElement("div",{className:n?"tabs--centered":null},o.a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:zt()("tabs",i,{"tabs--block":t}),style:u},s.map((function(e){var t=e.value,n=e.label;return o.a.createElement("li",{role:"tab",tabIndex:"0","aria-selected":l===t,className:zt()("tab-item",{"tab-item--active":l===t}),key:t,ref:function(e){return c.push(e)},onKeyDown:function(e){return a(c,e.target,e)},onFocus:function(){return r(t)},onClick:function(){return r(t)}},n)}))))}function Kt(e){var t=e.placeholder,n=e.selectedValue,r=e.changeSelectedValue,i=e.size,a=e.values,u=a;if(u[0].group){var s=_.groupBy(u,"group");u=Object.keys(s).map((function(e){return{label:e,options:s[e]}}))}return o.a.createElement(Bt,{className:"react-select-container react-select--"+i,classNamePrefix:"react-select",options:u,isClearable:n,placeholder:t,value:a.find((function(e){return e.value==n})),onChange:function(e){return r(e?e.value:null)}})}var Zt=function(e){e.block,e.centered;var t=e.children,n=e.defaultValue,a=e.groupId,u=e.label,s=e.placeholder,l=e.select,c=e.size,f=(e.style,e.values),p=e.urlKey,d=$t(),h=d.tabGroupChoices,v=d.setTabGroupChoices,m=Object(i.useState)(n),g=m[0],b=m[1];if(null!=a){var y=h[a];null!=y&&y!==g&&b(y)}var E=function(e){b(e),null!=a&&v(a,e)},_=[],w=function(e,t,n){switch(n.keyCode){case qt:!function(e,t){var n=e.indexOf(t)+1;e[n]?e[n].focus():e[0].focus()}(e,t);break;case Gt:!function(e,t){var n=e.indexOf(t)-1;e[n]?e[n].focus():e[e.length-1].focus()}(e,t)}};return Object(i.useEffect)((function(){if("undefined"!=typeof window&&window.location&&p){var e=Wt.a.parse(window.location.search);e[p]&&b(e[p])}}),[]),o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"margin-bottom--"+(c||"md")},u&&o.a.createElement("div",{className:"margin-vert--sm"},u),f.length>1&&(l?o.a.createElement(Kt,Object(r.a)({changeSelectedValue:E,handleKeydown:w,placeholder:s,selectedValue:g,size:c,tabRefs:_},e)):o.a.createElement(Yt,Object(r.a)({changeSelectedValue:E,handleKeydown:w,selectedValue:g,tabRefs:_},e)))),i.Children.toArray(t).filter((function(e){return e.props.value===g}))[0])},Xt=n(258),Jt=n(318),Qt=n(253),en=n(291),tn=n.n(en),nn=n(224),rn=n.n(nn),on=(n(225),Object(a.a)("h2")),an=[{title:"Ultra-Fast",icon:"zap",description:o.a.createElement(o.a.Fragment,null,"Built in ",o.a.createElement("a",{href:"https://go.dev/"},"Go"),", gnet is ",o.a.createElement("a",{href:"#performance"},"ultra-fast and memory efficient")," based on the event-driven mechanism. It's designed to create a networking server framework for Go that performs on par with Redis and Haproxy for networking packets handling.")},{title:"Lock-Free",icon:"unlock",description:o.a.createElement(o.a.Fragment,null,"gnet is lock-free during the entire runtime, which keeps gnet free from synchronization issues and speeds it up.")},{title:"Concise & Easy-to-use APIs",icon:"layers",description:o.a.createElement(o.a.Fragment,null,"gnet provides concise and easy-to-use APIs for users, it only exposes the essential APIs and takes over most of the tough work for users, minimizing the complexity of business code so that developers are able to concentrate on business logic instead of the underlying implementations.")},{title:"Multiple Protocols",icon:"grid",description:o.a.createElement(o.a.Fragment,null,"gnet supports multiple protocols/IPC mechanism: TCP, UDP and Unix Domain Socket, enabling you to develop a variety of networking applications.")},{title:"Cross Platform",icon:"cpu",description:o.a.createElement(o.a.Fragment,null,"gnet is devised as a cross-platform framework, as a result, it works faultlessly on multiple platforms: Linux, FreeBSD, DragonFly BSD, Windows.")},{title:"Powerful Libraries",icon:"briefcase",description:o.a.createElement(o.a.Fragment,null,"There is a rich set of libraries in gnet, such as memory pool, goroutine pool, elastic buffers, logging package, etc., which makes it convenient for developers to build fast and efficient networking applications.")}];function un(e){var t,n,i=e.features,a=[];for(t=0,n=i.length;t0&&i.a.createElement("div",{className:"row footer__links"},i.a.createElement("div",{className:"col col--5 footer__col"},i.a.createElement("div",{className:"margin-bottom--md"},i.a.createElement(f.a,{className:"navbar__logo",src:"/img/logo-light.svg",alt:"gnet",width:"150",height:"auto"})),i.a.createElement("div",{className:"margin-bottom--md"},i.a.createElement(N,{description:!1,width:"150px"})),i.a.createElement("div",null,i.a.createElement("a",{href:"https://twitter.com/panjf2000",target:"_blank"},i.a.createElement("i",{className:"feather icon-twitter",alt:"gnet's Twitter"})),"\xa0\xa0\xa0\xa0",i.a.createElement("a",{href:"https://github.com/panjf2000/gnet",target:"_blank"},i.a.createElement("i",{className:"feather icon-github",alt:"gnet's Github Repo"})),"\xa0\xa0\xa0\xa0",i.a.createElement("a",{href:"https://strikefreedom.top/rss.xml",target:"_blank"},i.a.createElement("i",{className:"feather icon-rss",alt:"gnet's RSS feed"})))),u.map((function(e,t){return i.a.createElement("div",{key:t,className:"col footer__col"},null!=e.title?i.a.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?i.a.createElement("ul",{className:"footer__items"},e.items.map((function(e,t){return e.html?i.a.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):i.a.createElement("li",{key:e.href||e.to,className:"footer__item"},i.a.createElement(P,e))}))):null)}))),(l||o)&&i.a.createElement("div",{className:"text--center"},l&&l.src&&i.a.createElement("div",{className:"margin-bottom--sm"},l.href?i.a.createElement("a",{href:l.href,target:"_blank",rel:"noopener noreferrer",className:L.a.footerLogoLink},i.a.createElement(T,{alt:l.alt,url:c})):i.a.createElement(T,{alt:l.alt,url:c}),i.a.createElement("br",null),i.a.createElement("a",{href:"https://www.digitalocean.com/",target:"_blank",rel:"noopener noreferrer",className:L.a.footerLogoLink},i.a.createElement("img",{alt:"DigitalOcean",src:"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg",width:"201px"}))),o,i.a.createElement("br",null),i.a.createElement("small",null,i.a.createElement("a",{href:"https://github.com/panjf2000/gnet/security/policy"},"Security Policy"),"\xa0\u2022\xa0",i.a.createElement("a",{href:"https://github.com/panjf2000/gnet/blob/master/PRIVACY.md"},"Privacy Policy"))))):null},B=n(276),V=n(277),z=n(3);n(135);t.a=function(e){var t=Object(h.a)().siteConfig,n=void 0===t?{}:t,r=n.favicon,u=(n.tagline,n.title),s=n.themeConfig.image,l=n.url,c=e.children,f=e.title,p=e.noFooter,d=e.description,v=e.image,m=e.keywords,g=(e.permalink,e.version),b=f?f+" | "+u:u,y=v||s,E=l+Object(O.a)(y),_=Object(O.a)(r),w=Object(z.h)(),C=w?"https://gnet.host"+(w.pathname.endsWith("/")?w.pathname:w.pathname+"/"):null;return i.a.createElement(V.a,null,i.a.createElement(B.a,null,i.a.createElement(a.a,null,i.a.createElement("html",{lang:"en"}),i.a.createElement("meta",{httpEquiv:"x-ua-compatible",content:"ie=edge"}),b&&i.a.createElement("title",null,b),b&&i.a.createElement("meta",{property:"og:title",content:b}),r&&i.a.createElement("link",{rel:"shortcut icon",href:_}),d&&i.a.createElement("meta",{name:"description",content:d}),d&&i.a.createElement("meta",{property:"og:description",content:d}),g&&i.a.createElement("meta",{name:"docsearch:version",content:g}),m&&m.length&&i.a.createElement("meta",{name:"keywords",content:m.join(",")}),y&&i.a.createElement("meta",{property:"og:image",content:E}),y&&i.a.createElement("meta",{property:"twitter:image",content:E}),y&&i.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+b}),y&&i.a.createElement("meta",{name:"twitter:site",content:"@vectordotdev"}),y&&i.a.createElement("meta",{name:"twitter:creator",content:"@vectordotdev"}),C&&i.a.createElement("meta",{property:"og:url",content:C}),i.a.createElement("meta",{name:"twitter:card",content:"summary"}),C&&i.a.createElement("link",{rel:"canonical",href:C})),i.a.createElement(o.a,null),i.a.createElement(I,null),i.a.createElement("div",{className:"main-wrapper"},c),!p&&i.a.createElement(R,null)))}},283:function(e,t,n){"use strict";(function(e){var r=n(1),i=(n(281),n(282),n(78),n(79),n(292),n(0)),o=n.n(i),a=n(293),u=n.n(a),s=n(306),l=n(52),c=n(252),f=n.n(c),p=n(301),d=n(294),h=n.n(d),v=n(253),m=n(262),g=n(136),b=n.n(g);(void 0!==e?e:window).Prism=l.a,n(295),n(296),n(297),n(298),n(299),n(300);var y=/{([\d,-]+)}/,E=/title=".*"/;t.a=function(e){var t=e.children,n=e.className,a=e.metastring,l=Object(v.a)().siteConfig.themeConfig.prism,c=void 0===l?{}:l,d=Object(i.useState)(!1),g=d[0],_=d[1],w=Object(i.useState)(!1),O=w[0],C=w[1];Object(i.useEffect)((function(){C(!0)}),[]);var A=Object(i.useRef)(null),x=Object(i.useRef)(null),k=[],S="",F=Object(m.a)().isDarkTheme,D=c.theme||p.a,I=c.darkTheme||D,j=F?I:D;if(a&&y.test(a)){var N=a.match(y)[1];k=h.a.parse(N).filter((function(e){return e>0}))}a&&E.test(a)&&(S=a.match(E)[0].split("title=")[1].replace(/"+/g,"")),Object(i.useEffect)((function(){var e;return x.current&&(e=new u.a(x.current,{target:function(){return A.current}})),function(){e&&e.destroy()}}),[x.current,A.current]);var M=n&&n.replace(/language-/,"");!M&&c.defaultLanguage&&(M=c.defaultLanguage);var L=function(){window.getSelection().empty(),_(!0),setTimeout((function(){return _(!1)}),2e3)};return o.a.createElement(s.a,Object(r.a)({},s.b,{key:O,theme:j,code:t.trim(),language:M}),(function(e){var t,n,i=e.className,a=e.style,u=e.tokens,s=e.getLineProps,l=e.getTokenProps;return o.a.createElement(o.a.Fragment,null,S&&o.a.createElement("div",{style:a,className:b.a.codeBlockTitle},S),o.a.createElement("div",{className:b.a.codeBlockContent},o.a.createElement("button",{ref:x,type:"button","aria-label":"Copy code to clipboard",className:f()(b.a.copyButton,(t={},t[b.a.copyButtonWithTitle]=S,t)),onClick:L},g?"Copied":"Copy"),o.a.createElement("pre",{className:f()(i,b.a.codeBlock,(n={},n[b.a.codeBlockWithTitle]=S,n))},o.a.createElement("div",{ref:A,className:b.a.codeBlockLines,style:a},u.map((function(e,t){1===e.length&&""===e[0].content&&(e[0].content="\n");var n=s({line:e,key:t});return k.includes(t+1)&&(n.className=n.className+" docusaurus-highlight-code-line"),o.a.createElement("div",Object(r.a)({key:t},n),e.map((function(e,t){return o.a.createElement("span",Object(r.a)({key:t},l({token:e,key:t})))})))}))))))}))}}).call(this,n(77))},291:function(e,t,n){(function(e,r){var i;(function(){var o="Expected a function",a="__lodash_placeholder__",u=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],s="[object Arguments]",l="[object Array]",c="[object Boolean]",f="[object Date]",p="[object Error]",d="[object Function]",h="[object GeneratorFunction]",v="[object Map]",m="[object Number]",g="[object Object]",b="[object RegExp]",y="[object Set]",E="[object String]",_="[object Symbol]",w="[object WeakMap]",O="[object ArrayBuffer]",C="[object DataView]",A="[object Float32Array]",x="[object Float64Array]",k="[object Int8Array]",S="[object Int16Array]",F="[object Int32Array]",D="[object Uint8Array]",I="[object Uint16Array]",j="[object Uint32Array]",N=/\b__p \+= '';/g,M=/\b(__p \+=) '' \+/g,L=/(__e\(.*?\)|\b__t\)) \+\n'';/g,P=/&(?:amp|lt|gt|quot|#39);/g,T=/[&<>"']/g,R=RegExp(P.source),B=RegExp(T.source),V=/<%-([\s\S]+?)%>/g,z=/<%([\s\S]+?)%>/g,U=/<%=([\s\S]+?)%>/g,W=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,H=/^\w*$/,$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/[\\^$.*+?()[\]{}|]/g,q=RegExp(G.source),Y=/^\s+|\s+$/g,K=/^\s+/,Z=/\s+$/,X=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,Q=/,? & /,ee=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,ie=/^[-+]0x[0-9a-f]+$/i,oe=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,ue=/^0o[0-7]+$/i,se=/^(?:0|[1-9]\d*)$/,le=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ce=/($^)/,fe=/['\n\r\u2028\u2029\\]/g,pe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",de="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",ve="["+de+"]",me="["+pe+"]",ge="\\d+",be="[\\u2700-\\u27bf]",ye="[a-z\\xdf-\\xf6\\xf8-\\xff]",Ee="[^\\ud800-\\udfff"+de+ge+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",_e="\\ud83c[\\udffb-\\udfff]",we="[^\\ud800-\\udfff]",Oe="(?:\\ud83c[\\udde6-\\uddff]){2}",Ce="[\\ud800-\\udbff][\\udc00-\\udfff]",Ae="[A-Z\\xc0-\\xd6\\xd8-\\xde]",xe="(?:"+ye+"|"+Ee+")",ke="(?:"+Ae+"|"+Ee+")",Se="(?:"+me+"|"+_e+")"+"?",Fe="[\\ufe0e\\ufe0f]?"+Se+("(?:\\u200d(?:"+[we,Oe,Ce].join("|")+")[\\ufe0e\\ufe0f]?"+Se+")*"),De="(?:"+[be,Oe,Ce].join("|")+")"+Fe,Ie="(?:"+[we+me+"?",me,Oe,Ce,he].join("|")+")",je=RegExp("['\u2019]","g"),Ne=RegExp(me,"g"),Me=RegExp(_e+"(?="+_e+")|"+Ie+Fe,"g"),Le=RegExp([Ae+"?"+ye+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?="+[ve,Ae,"$"].join("|")+")",ke+"+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?="+[ve,Ae+xe,"$"].join("|")+")",Ae+"?"+xe+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Ae+"+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ge,De].join("|"),"g"),Pe=RegExp("[\\u200d\\ud800-\\udfff"+pe+"\\ufe0e\\ufe0f]"),Te=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Re=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Be=-1,Ve={};Ve[A]=Ve[x]=Ve[k]=Ve[S]=Ve[F]=Ve[D]=Ve["[object Uint8ClampedArray]"]=Ve[I]=Ve[j]=!0,Ve[s]=Ve[l]=Ve[O]=Ve[c]=Ve[C]=Ve[f]=Ve[p]=Ve[d]=Ve[v]=Ve[m]=Ve[g]=Ve[b]=Ve[y]=Ve[E]=Ve[w]=!1;var ze={};ze[s]=ze[l]=ze[O]=ze[C]=ze[c]=ze[f]=ze[A]=ze[x]=ze[k]=ze[S]=ze[F]=ze[v]=ze[m]=ze[g]=ze[b]=ze[y]=ze[E]=ze[_]=ze[D]=ze["[object Uint8ClampedArray]"]=ze[I]=ze[j]=!0,ze[p]=ze[d]=ze[w]=!1;var Ue={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},We=parseFloat,He=parseInt,$e="object"==typeof e&&e&&e.Object===Object&&e,Ge="object"==typeof self&&self&&self.Object===Object&&self,qe=$e||Ge||Function("return this")(),Ye=t&&!t.nodeType&&t,Ke=Ye&&"object"==typeof r&&r&&!r.nodeType&&r,Ze=Ke&&Ke.exports===Ye,Xe=Ze&&$e.process,Je=function(){try{var e=Ke&&Ke.require&&Ke.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(t){}}(),Qe=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,it=Je&&Je.isTypedArray;function ot(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function pt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Mt(e,t){for(var n=e.length;n--&&_t(t,e[n],0)>-1;);return n}function Lt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Pt=xt({\u00c0:"A",\u00c1:"A",\u00c2:"A",\u00c3:"A",\u00c4:"A",\u00c5:"A",\u00e0:"a",\u00e1:"a",\u00e2:"a",\u00e3:"a",\u00e4:"a",\u00e5:"a",\u00c7:"C",\u00e7:"c",\u00d0:"D",\u00f0:"d",\u00c8:"E",\u00c9:"E",\u00ca:"E",\u00cb:"E",\u00e8:"e",\u00e9:"e",\u00ea:"e",\u00eb:"e",\u00cc:"I",\u00cd:"I",\u00ce:"I",\u00cf:"I",\u00ec:"i",\u00ed:"i",\u00ee:"i",\u00ef:"i",\u00d1:"N",\u00f1:"n",\u00d2:"O",\u00d3:"O",\u00d4:"O",\u00d5:"O",\u00d6:"O",\u00d8:"O",\u00f2:"o",\u00f3:"o",\u00f4:"o",\u00f5:"o",\u00f6:"o",\u00f8:"o",\u00d9:"U",\u00da:"U",\u00db:"U",\u00dc:"U",\u00f9:"u",\u00fa:"u",\u00fb:"u",\u00fc:"u",\u00dd:"Y",\u00fd:"y",\u00ff:"y",\u00c6:"Ae",\u00e6:"ae",\u00de:"Th",\u00fe:"th",\u00df:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010a:"C",\u010c:"C",\u0107:"c",\u0109:"c",\u010b:"c",\u010d:"c",\u010e:"D",\u0110:"D",\u010f:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011a:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011b:"e",\u011c:"G",\u011e:"G",\u0120:"G",\u0122:"G",\u011d:"g",\u011f:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012a:"I",\u012c:"I",\u012e:"I",\u0130:"I",\u0129:"i",\u012b:"i",\u012d:"i",\u012f:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013b:"L",\u013d:"L",\u013f:"L",\u0141:"L",\u013a:"l",\u013c:"l",\u013e:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014a:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014b:"n",\u014c:"O",\u014e:"O",\u0150:"O",\u014d:"o",\u014f:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015a:"S",\u015c:"S",\u015e:"S",\u0160:"S",\u015b:"s",\u015d:"s",\u015f:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016a:"U",\u016c:"U",\u016e:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016b:"u",\u016d:"u",\u016f:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017b:"Z",\u017d:"Z",\u017a:"z",\u017c:"z",\u017e:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017f:"s"}),Tt=xt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Rt(e){return"\\"+Ue[e]}function Bt(e){return Pe.test(e)}function Vt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function zt(e,t){return function(n){return e(t(n))}}function Ut(e,t){for(var n=-1,r=e.length,i=0,o=[];++n",""":'"',"'":"'"});var Yt=function e(t){var n,r=(t=null==t?qe:Yt.defaults(qe.Object(),t,Yt.pick(qe,Re))).Array,i=t.Date,pe=t.Error,de=t.Function,he=t.Math,ve=t.Object,me=t.RegExp,ge=t.String,be=t.TypeError,ye=r.prototype,Ee=de.prototype,_e=ve.prototype,we=t["__core-js_shared__"],Oe=Ee.toString,Ce=_e.hasOwnProperty,Ae=0,xe=(n=/[^.]+$/.exec(we&&we.keys&&we.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ke=_e.toString,Se=Oe.call(ve),Fe=qe._,De=me("^"+Oe.call(Ce).replace(G,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ie=Ze?t.Buffer:void 0,Me=t.Symbol,Pe=t.Uint8Array,Ue=Ie?Ie.allocUnsafe:void 0,$e=zt(ve.getPrototypeOf,ve),Ge=ve.create,Ye=_e.propertyIsEnumerable,Ke=ye.splice,Xe=Me?Me.isConcatSpreadable:void 0,Je=Me?Me.iterator:void 0,bt=Me?Me.toStringTag:void 0,xt=function(){try{var e=Qi(ve,"defineProperty");return e({},"",{}),e}catch(t){}}(),Kt=t.clearTimeout!==qe.clearTimeout&&t.clearTimeout,Zt=i&&i.now!==qe.Date.now&&i.now,Xt=t.setTimeout!==qe.setTimeout&&t.setTimeout,Jt=he.ceil,Qt=he.floor,en=ve.getOwnPropertySymbols,tn=Ie?Ie.isBuffer:void 0,nn=t.isFinite,rn=ye.join,on=zt(ve.keys,ve),an=he.max,un=he.min,sn=i.now,ln=t.parseInt,cn=he.random,fn=ye.reverse,pn=Qi(t,"DataView"),dn=Qi(t,"Map"),hn=Qi(t,"Promise"),vn=Qi(t,"Set"),mn=Qi(t,"WeakMap"),gn=Qi(ve,"create"),bn=mn&&new mn,yn={},En=ko(pn),_n=ko(dn),wn=ko(hn),On=ko(vn),Cn=ko(mn),An=Me?Me.prototype:void 0,xn=An?An.valueOf:void 0,kn=An?An.toString:void 0;function Sn(e){if(Ha(e)&&!Na(e)&&!(e instanceof jn)){if(e instanceof In)return e;if(Ce.call(e,"__wrapped__"))return So(e)}return new In(e)}var Fn=function(){function e(){}return function(t){if(!Wa(t))return{};if(Ge)return Ge(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function Dn(){}function In(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function jn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Nn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Zn(e,t,n,r,i,o){var a,u=1&t,l=2&t,p=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Wa(e))return e;var w=Na(e);if(w){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&Ce.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!u)return gi(e,a)}else{var N=no(e),M=N==d||N==h;if(Ta(e))return fi(e,u);if(N==g||N==s||M&&!i){if(a=l||M?{}:io(e),!u)return l?function(e,t){return bi(e,to(e),t)}(e,function(e,t){return e&&bi(t,_u(t),e)}(a,e)):function(e,t){return bi(e,eo(e),t)}(e,Gn(a,e))}else{if(!ze[N])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case O:return pi(e);case c:case f:return new r(+e);case C:return function(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case A:case x:case k:case S:case F:case D:case"[object Uint8ClampedArray]":case I:case j:return di(e,n);case v:return new r;case m:case E:return new r(e);case b:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case y:return new r;case _:return i=e,xn?ve(xn.call(i)):{}}var i}(e,N,u)}}o||(o=new Tn);var L=o.get(e);if(L)return L;o.set(e,a),Ka(e)?e.forEach((function(r){a.add(Zn(r,t,n,r,e,o))})):$a(e)&&e.forEach((function(r,i){a.set(i,Zn(r,t,n,i,e,o))}));var P=w?void 0:(p?l?Gi:$i:l?_u:Eu)(e);return ut(P||e,(function(r,i){P&&(r=e[i=r]),Wn(a,i,Zn(r,t,n,i,e,o))})),a}function Xn(e,t,n){var r=n.length;if(null==e)return!r;for(e=ve(e);r--;){var i=n[r],o=t[i],a=e[i];if(void 0===a&&!(i in e)||!o(a))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new be(o);return Eo((function(){e.apply(void 0,n)}),t)}function Qn(e,t,n,r){var i=-1,o=ft,a=!0,u=e.length,s=[],l=t.length;if(!u)return s;n&&(t=dt(t,Dt(n))),r?(o=pt,a=!1):t.length>=200&&(o=jt,a=!1,t=new Pn(t));e:for(;++i-1},Mn.prototype.set=function(e,t){var n=this.__data__,r=Hn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Ln.prototype.clear=function(){this.size=0,this.__data__={hash:new Nn,map:new(dn||Mn),string:new Nn}},Ln.prototype.delete=function(e){var t=Xi(this,e).delete(e);return this.size-=t?1:0,t},Ln.prototype.get=function(e){return Xi(this,e).get(e)},Ln.prototype.has=function(e){return Xi(this,e).has(e)},Ln.prototype.set=function(e,t){var n=Xi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Pn.prototype.add=Pn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Pn.prototype.has=function(e){return this.__data__.has(e)},Tn.prototype.clear=function(){this.__data__=new Mn,this.size=0},Tn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Tn.prototype.get=function(e){return this.__data__.get(e)},Tn.prototype.has=function(e){return this.__data__.has(e)},Tn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Mn){var r=n.__data__;if(!dn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ln(r)}return n.set(e,t),this.size=n.size,this};var er=_i(sr),tr=_i(lr,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function rr(e,t,n){for(var r=-1,i=e.length;++r0&&n(u)?t>1?or(u,t-1,n,r,i):ht(i,u):r||(i[i.length]=u)}return i}var ar=wi(),ur=wi(!0);function sr(e,t){return e&&ar(e,t,Eu)}function lr(e,t){return e&&ur(e,t,Eu)}function cr(e,t){return ct(t,(function(t){return Va(e[t])}))}function fr(e,t){for(var n=0,r=(t=ui(t,e)).length;null!=e&&nt}function vr(e,t){return null!=e&&Ce.call(e,t)}function mr(e,t){return null!=e&&t in ve(e)}function gr(e,t,n){for(var i=n?pt:ft,o=e[0].length,a=e.length,u=a,s=r(a),l=1/0,c=[];u--;){var f=e[u];u&&t&&(f=dt(f,Dt(t))),l=un(f.length,l),s[u]=!n&&(t||o>=120&&f.length>=120)?new Pn(u&&f):void 0}f=e[0];var p=-1,d=s[0];e:for(;++p=u)return s;var l=n[r];return s*("desc"==l?-1:1)}}return e.index-t.index}(e,t,n)}))}function Nr(e,t,n){for(var r=-1,i=t.length,o={};++r-1;)u!==e&&Ke.call(u,s,1),Ke.call(e,s,1);return e}function Lr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;ao(i)?Ke.call(e,i,1):Qr(e,i)}}return e}function Pr(e,t){return e+Qt(cn()*(t-e+1))}function Tr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Qt(t/2))&&(e+=e)}while(t);return n}function Rr(e,t){return _o(vo(e,t,Gu),e+"")}function Br(e){return Bn(Fu(e))}function Vr(e,t){var n=Fu(e);return Co(n,Kn(t,0,n.length))}function zr(e,t,n,r){if(!Wa(e))return e;for(var i=-1,o=(t=ui(t,e)).length,a=o-1,u=e;null!=u&&++io?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i>>1,a=e[o];null!==a&&!Xa(a)&&(n?a<=t:a=200){var l=t?null:Ti(e);if(l)return Wt(l);a=!1,i=jt,s=new Pn}else s=t?[]:u;e:for(;++r=r?e:$r(e,t,n)}var ci=Kt||function(e){return qe.clearTimeout(e)};function fi(e,t){if(t)return e.slice();var n=e.length,r=Ue?Ue(n):new e.constructor(n);return e.copy(r),r}function pi(e){var t=new e.constructor(e.byteLength);return new Pe(t).set(new Pe(e)),t}function di(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function hi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=Xa(e),a=void 0!==t,u=null===t,s=t==t,l=Xa(t);if(!u&&!l&&!o&&e>t||o&&a&&s&&!u&&!l||r&&a&&s||!n&&s||!i)return 1;if(!r&&!o&&!l&&e1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&uo(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=ve(t);++r-1?i[o?t[a]:a]:void 0}}function ki(e){return Hi((function(t){var n=t.length,r=n,i=In.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new be(o);if(i&&!u&&"wrapper"==Yi(a))var u=new In([],!0)}for(r=u?r:n;++r1&&y.reverse(),f&&lu))return!1;var l=o.get(e),c=o.get(t);if(l&&c)return l==t&&c==e;var f=-1,p=!0,d=2&n?new Pn:void 0;for(o.set(e,t),o.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(X,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return ut(u,(function(n){var r="_."+n[0];t&n[1]&&!ft(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(J);return t?t[1].split(Q):[]}(r),n)))}function Oo(e){var t=0,n=0;return function(){var r=sn(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Co(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,Yo(e,n)}));function ta(e){var t=Sn(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Hi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Yn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof jn&&ao(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[i],thisArg:void 0}),new In(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ia=yi((function(e,t,n){Ce.call(e,n)?++e[n]:qn(e,n,1)}));var oa=xi(jo),aa=xi(No);function ua(e,t){return(Na(e)?ut:er)(e,Zi(t,3))}function sa(e,t){return(Na(e)?st:tr)(e,Zi(t,3))}var la=yi((function(e,t,n){Ce.call(e,n)?e[n].push(t):qn(e,n,[t])}));var ca=Rr((function(e,t,n){var i=-1,o="function"==typeof t,a=La(e)?r(e.length):[];return er(e,(function(e){a[++i]=o?ot(t,e,n):br(e,t,n)})),a})),fa=yi((function(e,t,n){qn(e,n,t)}));function pa(e,t){return(Na(e)?dt:kr)(e,Zi(t,3))}var da=yi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Rr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&uo(e,t[0],t[1])?t=[]:n>2&&uo(t[0],t[1],t[2])&&(t=[t[0]]),jr(e,or(t,1),[])})),va=Zt||function(){return qe.Date.now()};function ma(e,t,n){return t=n?void 0:t,Bi(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ga(e,t){var n;if("function"!=typeof t)throw new be(o);return e=ru(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ba=Rr((function(e,t,n){var r=1;if(n.length){var i=Ut(n,Ki(ba));r|=32}return Bi(e,r,t,n,i)})),ya=Rr((function(e,t,n){var r=3;if(n.length){var i=Ut(n,Ki(ya));r|=32}return Bi(t,r,e,n,i)}));function Ea(e,t,n){var r,i,a,u,s,l,c=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new be(o);function h(t){var n=r,o=i;return r=i=void 0,c=t,u=e.apply(o,n)}function v(e){return c=e,s=Eo(g,t),f?h(e):u}function m(e){var n=e-l;return void 0===l||n>=t||n<0||p&&e-c>=a}function g(){var e=va();if(m(e))return b(e);s=Eo(g,function(e){var n=t-(e-l);return p?un(n,a-(e-c)):n}(e))}function b(e){return s=void 0,d&&r?h(e):(r=i=void 0,u)}function y(){var e=va(),n=m(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return v(l);if(p)return ci(s),s=Eo(g,t),h(l)}return void 0===s&&(s=Eo(g,t)),u}return t=ou(t)||0,Wa(n)&&(f=!!n.leading,a=(p="maxWait"in n)?an(ou(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==s&&ci(s),c=0,r=l=i=s=void 0},y.flush=function(){return void 0===s?u:b(va())},y}var _a=Rr((function(e,t){return Jn(e,1,t)})),wa=Rr((function(e,t,n){return Jn(e,ou(t)||0,n)}));function Oa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new be(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Oa.Cache||Ln),n}function Ca(e){if("function"!=typeof e)throw new be(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Oa.Cache=Ln;var Aa=si((function(e,t){var n=(t=1==t.length&&Na(t[0])?dt(t[0],Dt(Zi())):dt(or(t,1),Dt(Zi()))).length;return Rr((function(r){for(var i=-1,o=un(r.length,n);++i=t})),ja=yr(function(){return arguments}())?yr:function(e){return Ha(e)&&Ce.call(e,"callee")&&!Ye.call(e,"callee")},Na=r.isArray,Ma=Qe?Dt(Qe):function(e){return Ha(e)&&dr(e)==O};function La(e){return null!=e&&Ua(e.length)&&!Va(e)}function Pa(e){return Ha(e)&&La(e)}var Ta=tn||os,Ra=et?Dt(et):function(e){return Ha(e)&&dr(e)==f};function Ba(e){if(!Ha(e))return!1;var t=dr(e);return t==p||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!qa(e)}function Va(e){if(!Wa(e))return!1;var t=dr(e);return t==d||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function za(e){return"number"==typeof e&&e==ru(e)}function Ua(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Wa(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ha(e){return null!=e&&"object"==typeof e}var $a=tt?Dt(tt):function(e){return Ha(e)&&no(e)==v};function Ga(e){return"number"==typeof e||Ha(e)&&dr(e)==m}function qa(e){if(!Ha(e)||dr(e)!=g)return!1;var t=$e(e);if(null===t)return!0;var n=Ce.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Oe.call(n)==Se}var Ya=nt?Dt(nt):function(e){return Ha(e)&&dr(e)==b};var Ka=rt?Dt(rt):function(e){return Ha(e)&&no(e)==y};function Za(e){return"string"==typeof e||!Na(e)&&Ha(e)&&dr(e)==E}function Xa(e){return"symbol"==typeof e||Ha(e)&&dr(e)==_}var Ja=it?Dt(it):function(e){return Ha(e)&&Ua(e.length)&&!!Ve[dr(e)]};var Qa=Mi(xr),eu=Mi((function(e,t){return e<=t}));function tu(e){if(!e)return[];if(La(e))return Za(e)?Gt(e):gi(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=no(e);return(t==v?Vt:t==y?Wt:Fu)(e)}function nu(e){return e?(e=ou(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ru(e){var t=nu(e),n=t%1;return t==t?n?t-n:t:0}function iu(e){return e?Kn(ru(e),0,4294967295):0}function ou(e){if("number"==typeof e)return e;if(Xa(e))return NaN;if(Wa(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Wa(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Y,"");var n=oe.test(e);return n||ue.test(e)?He(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function au(e){return bi(e,_u(e))}function uu(e){return null==e?"":Xr(e)}var su=Ei((function(e,t){if(fo(t)||La(t))bi(t,Eu(t),e);else for(var n in t)Ce.call(t,n)&&Wn(e,n,t[n])})),lu=Ei((function(e,t){bi(t,_u(t),e)})),cu=Ei((function(e,t,n,r){bi(t,_u(t),e,r)})),fu=Ei((function(e,t,n,r){bi(t,Eu(t),e,r)})),pu=Hi(Yn);var du=Rr((function(e,t){e=ve(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&uo(t[0],t[1],i)&&(r=1);++n1),t})),bi(e,Gi(e),n),r&&(n=Zn(n,7,Ui));for(var i=t.length;i--;)Qr(n,t[i]);return n}));var Au=Hi((function(e,t){return null==e?{}:function(e,t){return Nr(e,t,(function(t,n){return mu(e,n)}))}(e,t)}));function xu(e,t){if(null==e)return{};var n=dt(Gi(e),(function(e){return[e]}));return t=Zi(t),Nr(e,n,(function(e,n){return t(e,n[0])}))}var ku=Ri(Eu),Su=Ri(_u);function Fu(e){return null==e?[]:It(e,Eu(e))}var Du=Ci((function(e,t,n){return t=t.toLowerCase(),e+(n?Iu(t):t)}));function Iu(e){return Bu(uu(e).toLowerCase())}function ju(e){return(e=uu(e))&&e.replace(le,Pt).replace(Ne,"")}var Nu=Ci((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Mu=Ci((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Lu=Oi("toLowerCase");var Pu=Ci((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Tu=Ci((function(e,t,n){return e+(n?" ":"")+Bu(t)}));var Ru=Ci((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Bu=Oi("toUpperCase");function Vu(e,t,n){return e=uu(e),void 0===(t=n?void 0:t)?function(e){return Te.test(e)}(e)?function(e){return e.match(Le)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var zu=Rr((function(e,t){try{return ot(e,void 0,t)}catch(n){return Ba(n)?n:new pe(n)}})),Uu=Hi((function(e,t){return ut(t,(function(t){t=xo(t),qn(e,t,ba(e[t],e))})),e}));function Wu(e){return function(){return e}}var Hu=ki(),$u=ki(!0);function Gu(e){return e}function qu(e){return Or("function"==typeof e?e:Zn(e,1))}var Yu=Rr((function(e,t){return function(n){return br(n,e,t)}})),Ku=Rr((function(e,t){return function(n){return br(e,n,t)}}));function Zu(e,t,n){var r=Eu(t),i=cr(t,r);null!=n||Wa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,Eu(t)));var o=!(Wa(n)&&"chain"in n&&!n.chain),a=Va(e);return ut(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=gi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Xu(){}var Ju=Ii(dt),Qu=Ii(lt),es=Ii(gt);function ts(e){return so(e)?At(xo(e)):function(e){return function(t){return fr(t,e)}}(e)}var ns=Ni(),rs=Ni(!0);function is(){return[]}function os(){return!1}var as=Di((function(e,t){return e+t}),0),us=Pi("ceil"),ss=Di((function(e,t){return e/t}),1),ls=Pi("floor");var cs,fs=Di((function(e,t){return e*t}),1),ps=Pi("round"),ds=Di((function(e,t){return e-t}),0);return Sn.after=function(e,t){if("function"!=typeof t)throw new be(o);return e=ru(e),function(){if(--e<1)return t.apply(this,arguments)}},Sn.ary=ma,Sn.assign=su,Sn.assignIn=lu,Sn.assignInWith=cu,Sn.assignWith=fu,Sn.at=pu,Sn.before=ga,Sn.bind=ba,Sn.bindAll=Uu,Sn.bindKey=ya,Sn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Na(e)?e:[e]},Sn.chain=ta,Sn.chunk=function(e,t,n){t=(n?uo(e,t,n):void 0===t)?1:an(ru(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,u=r(Jt(i/t));oi?0:i+n),(r=void 0===r||r>i?i:ru(r))<0&&(r+=i),r=n>r?0:iu(r);n>>0)?(e=uu(e))&&("string"==typeof t||null!=t&&!Ya(t))&&!(t=Xr(t))&&Bt(e)?li(Gt(e),0,n):e.split(t,n):[]},Sn.spread=function(e,t){if("function"!=typeof e)throw new be(o);return t=null==t?0:an(ru(t),0),Rr((function(n){var r=n[t],i=li(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},Sn.tail=function(e){var t=null==e?0:e.length;return t?$r(e,1,t):[]},Sn.take=function(e,t,n){return e&&e.length?$r(e,0,(t=n||void 0===t?1:ru(t))<0?0:t):[]},Sn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?$r(e,(t=r-(t=n||void 0===t?1:ru(t)))<0?0:t,r):[]},Sn.takeRightWhile=function(e,t){return e&&e.length?ti(e,Zi(t,3),!1,!0):[]},Sn.takeWhile=function(e,t){return e&&e.length?ti(e,Zi(t,3)):[]},Sn.tap=function(e,t){return t(e),e},Sn.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new be(o);return Wa(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ea(e,t,{leading:r,maxWait:t,trailing:i})},Sn.thru=na,Sn.toArray=tu,Sn.toPairs=ku,Sn.toPairsIn=Su,Sn.toPath=function(e){return Na(e)?dt(e,xo):Xa(e)?[e]:gi(Ao(uu(e)))},Sn.toPlainObject=au,Sn.transform=function(e,t,n){var r=Na(e),i=r||Ta(e)||Ja(e);if(t=Zi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Wa(e)&&Va(o)?Fn($e(e)):{}}return(i?ut:sr)(e,(function(e,r,i){return t(n,e,r,i)})),n},Sn.unary=function(e){return ma(e,1)},Sn.union=Ho,Sn.unionBy=$o,Sn.unionWith=Go,Sn.uniq=function(e){return e&&e.length?Jr(e):[]},Sn.uniqBy=function(e,t){return e&&e.length?Jr(e,Zi(t,2)):[]},Sn.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},Sn.unset=function(e,t){return null==e||Qr(e,t)},Sn.unzip=qo,Sn.unzipWith=Yo,Sn.update=function(e,t,n){return null==e?e:ei(e,t,ai(n))},Sn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:ei(e,t,ai(n),r)},Sn.values=Fu,Sn.valuesIn=function(e){return null==e?[]:It(e,_u(e))},Sn.without=Ko,Sn.words=Vu,Sn.wrap=function(e,t){return xa(ai(t),e)},Sn.xor=Zo,Sn.xorBy=Xo,Sn.xorWith=Jo,Sn.zip=Qo,Sn.zipObject=function(e,t){return ii(e||[],t||[],Wn)},Sn.zipObjectDeep=function(e,t){return ii(e||[],t||[],zr)},Sn.zipWith=ea,Sn.entries=ku,Sn.entriesIn=Su,Sn.extend=lu,Sn.extendWith=cu,Zu(Sn,Sn),Sn.add=as,Sn.attempt=zu,Sn.camelCase=Du,Sn.capitalize=Iu,Sn.ceil=us,Sn.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=ou(n))==n?n:0),void 0!==t&&(t=(t=ou(t))==t?t:0),Kn(ou(e),t,n)},Sn.clone=function(e){return Zn(e,4)},Sn.cloneDeep=function(e){return Zn(e,5)},Sn.cloneDeepWith=function(e,t){return Zn(e,5,t="function"==typeof t?t:void 0)},Sn.cloneWith=function(e,t){return Zn(e,4,t="function"==typeof t?t:void 0)},Sn.conformsTo=function(e,t){return null==t||Xn(e,t,Eu(t))},Sn.deburr=ju,Sn.defaultTo=function(e,t){return null==e||e!=e?t:e},Sn.divide=ss,Sn.endsWith=function(e,t,n){e=uu(e),t=Xr(t);var r=e.length,i=n=void 0===n?r:Kn(ru(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},Sn.eq=Fa,Sn.escape=function(e){return(e=uu(e))&&B.test(e)?e.replace(T,Tt):e},Sn.escapeRegExp=function(e){return(e=uu(e))&&q.test(e)?e.replace(G,"\\$&"):e},Sn.every=function(e,t,n){var r=Na(e)?lt:nr;return n&&uo(e,t,n)&&(t=void 0),r(e,Zi(t,3))},Sn.find=oa,Sn.findIndex=jo,Sn.findKey=function(e,t){return yt(e,Zi(t,3),sr)},Sn.findLast=aa,Sn.findLastIndex=No,Sn.findLastKey=function(e,t){return yt(e,Zi(t,3),lr)},Sn.floor=ls,Sn.forEach=ua,Sn.forEachRight=sa,Sn.forIn=function(e,t){return null==e?e:ar(e,Zi(t,3),_u)},Sn.forInRight=function(e,t){return null==e?e:ur(e,Zi(t,3),_u)},Sn.forOwn=function(e,t){return e&&sr(e,Zi(t,3))},Sn.forOwnRight=function(e,t){return e&&lr(e,Zi(t,3))},Sn.get=vu,Sn.gt=Da,Sn.gte=Ia,Sn.has=function(e,t){return null!=e&&ro(e,t,vr)},Sn.hasIn=mu,Sn.head=Lo,Sn.identity=Gu,Sn.includes=function(e,t,n,r){e=La(e)?e:Fu(e),n=n&&!r?ru(n):0;var i=e.length;return n<0&&(n=an(i+n,0)),Za(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&_t(e,t,n)>-1},Sn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ru(n);return i<0&&(i=an(r+i,0)),_t(e,t,i)},Sn.inRange=function(e,t,n){return t=nu(t),void 0===n?(n=t,t=0):n=nu(n),function(e,t,n){return e>=un(t,n)&&e=-9007199254740991&&e<=9007199254740991},Sn.isSet=Ka,Sn.isString=Za,Sn.isSymbol=Xa,Sn.isTypedArray=Ja,Sn.isUndefined=function(e){return void 0===e},Sn.isWeakMap=function(e){return Ha(e)&&no(e)==w},Sn.isWeakSet=function(e){return Ha(e)&&"[object WeakSet]"==dr(e)},Sn.join=function(e,t){return null==e?"":rn.call(e,t)},Sn.kebabCase=Nu,Sn.last=Bo,Sn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=ru(n))<0?an(r+i,0):un(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):Et(e,Ot,i,!0)},Sn.lowerCase=Mu,Sn.lowerFirst=Lu,Sn.lt=Qa,Sn.lte=eu,Sn.max=function(e){return e&&e.length?rr(e,Gu,hr):void 0},Sn.maxBy=function(e,t){return e&&e.length?rr(e,Zi(t,2),hr):void 0},Sn.mean=function(e){return Ct(e,Gu)},Sn.meanBy=function(e,t){return Ct(e,Zi(t,2))},Sn.min=function(e){return e&&e.length?rr(e,Gu,xr):void 0},Sn.minBy=function(e,t){return e&&e.length?rr(e,Zi(t,2),xr):void 0},Sn.stubArray=is,Sn.stubFalse=os,Sn.stubObject=function(){return{}},Sn.stubString=function(){return""},Sn.stubTrue=function(){return!0},Sn.multiply=fs,Sn.nth=function(e,t){return e&&e.length?Ir(e,ru(t)):void 0},Sn.noConflict=function(){return qe._===this&&(qe._=Fe),this},Sn.noop=Xu,Sn.now=va,Sn.pad=function(e,t,n){e=uu(e);var r=(t=ru(t))?$t(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return ji(Qt(i),n)+e+ji(Jt(i),n)},Sn.padEnd=function(e,t,n){e=uu(e);var r=(t=ru(t))?$t(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return un(e+i*(t-e+We("1e-"+((i+"").length-1))),t)}return Pr(e,t)},Sn.reduce=function(e,t,n){var r=Na(e)?vt:kt,i=arguments.length<3;return r(e,Zi(t,4),n,i,er)},Sn.reduceRight=function(e,t,n){var r=Na(e)?mt:kt,i=arguments.length<3;return r(e,Zi(t,4),n,i,tr)},Sn.repeat=function(e,t,n){return t=(n?uo(e,t,n):void 0===t)?1:ru(t),Tr(uu(e),t)},Sn.replace=function(){var e=arguments,t=uu(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Sn.result=function(e,t,n){var r=-1,i=(t=ui(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=un(e,4294967295);e-=4294967295;for(var i=Ft(r,t=Zi(t));++n=o)return e;var u=n-$t(r);if(u<1)return r;var s=a?li(a,0,u).join(""):e.slice(0,u);if(void 0===i)return s+r;if(a&&(u+=s.length-u),Ya(i)){if(e.slice(u).search(i)){var l,c=s;for(i.global||(i=me(i.source,uu(re.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;s=s.slice(0,void 0===f?u:f)}}else if(e.indexOf(Xr(i),u)!=u){var p=s.lastIndexOf(i);p>-1&&(s=s.slice(0,p))}return s+r},Sn.unescape=function(e){return(e=uu(e))&&R.test(e)?e.replace(P,qt):e},Sn.uniqueId=function(e){var t=++Ae;return uu(e)+t},Sn.upperCase=Ru,Sn.upperFirst=Bu,Sn.each=ua,Sn.eachRight=sa,Sn.first=Lo,Zu(Sn,(cs={},sr(Sn,(function(e,t){Ce.call(Sn.prototype,t)||(cs[t]=e)})),cs),{chain:!1}),Sn.VERSION="4.17.19",ut(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Sn[e].placeholder=Sn})),ut(["drop","take"],(function(e,t){jn.prototype[e]=function(n){n=void 0===n?1:an(ru(n),0);var r=this.__filtered__&&!t?new jn(this):this.clone();return r.__filtered__?r.__takeCount__=un(n,r.__takeCount__):r.__views__.push({size:un(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},jn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),ut(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;jn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Zi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),ut(["head","last"],(function(e,t){var n="take"+(t?"Right":"");jn.prototype[e]=function(){return this[n](1).value()[0]}})),ut(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");jn.prototype[e]=function(){return this.__filtered__?new jn(this):this[n](1)}})),jn.prototype.compact=function(){return this.filter(Gu)},jn.prototype.find=function(e){return this.filter(e).head()},jn.prototype.findLast=function(e){return this.reverse().find(e)},jn.prototype.invokeMap=Rr((function(e,t){return"function"==typeof e?new jn(this):this.map((function(n){return br(n,e,t)}))})),jn.prototype.reject=function(e){return this.filter(Ca(Zi(e)))},jn.prototype.slice=function(e,t){e=ru(e);var n=this;return n.__filtered__&&(e>0||t<0)?new jn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=ru(t))<0?n.dropRight(-t):n.take(t-e)),n)},jn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},jn.prototype.toArray=function(){return this.take(4294967295)},sr(jn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=Sn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(Sn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,u=t instanceof jn,s=a[0],l=u||Na(t),c=function(e){var t=i.apply(Sn,ht([e],a));return r&&f?t[0]:t};l&&n&&"function"==typeof s&&1!=s.length&&(u=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=o&&!f,h=u&&!p;if(!o&&l){t=h?t:new jn(this);var v=e.apply(t,a);return v.__actions__.push({func:na,args:[c],thisArg:void 0}),new In(v,f)}return d&&h?e.apply(this,a):(v=this.thru(c),d?r?v.value()[0]:v.value():v)})})),ut(["pop","push","shift","sort","splice","unshift"],(function(e){var t=ye[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Sn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Na(i)?i:[],e)}return this[n]((function(n){return t.apply(Na(n)?n:[],e)}))}})),sr(jn.prototype,(function(e,t){var n=Sn[t];if(n){var r=n.name+"";Ce.call(yn,r)||(yn[r]=[]),yn[r].push({name:t,func:n})}})),yn[Si(void 0,2).name]=[{name:"wrapper",func:void 0}],jn.prototype.clone=function(){var e=new jn(this.__wrapped__);return e.__actions__=gi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=gi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=gi(this.__views__),e},jn.prototype.reverse=function(){if(this.__filtered__){var e=new jn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},jn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Na(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Sn.prototype.plant=function(e){for(var t,n=this;n instanceof Dn;){var r=So(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},Sn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof jn){var t=e;return this.__actions__.length&&(t=new jn(this)),(t=t.reverse()).__actions__.push({func:na,args:[Wo],thisArg:void 0}),new In(t,this.__chain__)}return this.thru(Wo)},Sn.prototype.toJSON=Sn.prototype.valueOf=Sn.prototype.value=function(){return ni(this.__wrapped__,this.__actions__)},Sn.prototype.first=Sn.prototype.head,Je&&(Sn.prototype[Je]=function(){return this}),Sn}();qe._=Yt,void 0===(i=function(){return Yt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(77),n(326)(e))},318:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o}));var r=n(253);function i(){var e=Object(r.a)().siteConfig,t=(void 0===e?{}:e).customFields.metadata.latest_post,n=Date.parse(t.date),i=new Date,o=Math.abs(i-n),a=Math.ceil(o/864e5),u=null;return"undefined"!=typeof window&&(u=new Date(parseInt(window.localStorage.getItem("blogViewedAt")||"0"))),a<30&&(!u||u=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(i),i.className=this.props.inputClassName,i.id=this.state.inputId,i.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},i,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}(o.Component);h.propTypes={className:u.default.string,defaultValue:u.default.any,extraWidth:u.default.oneOfType([u.default.number,u.default.string]),id:u.default.string,injectStyles:u.default.bool,inputClassName:u.default.string,inputRef:u.default.func,inputStyle:u.default.object,minWidth:u.default.oneOfType([u.default.number,u.default.string]),onAutosize:u.default.func,onChange:u.default.func,placeholder:u.default.string,placeholderIsMinWidth:u.default.bool,style:u.default.object,value:u.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},383:function(e,t,n){"use strict";var r=n(384),i=n(58);function o(e,t){return t.encode?t.strict?r(e):encodeURIComponent(e):e}t.extract=function(e){return e.split("?")[1]||""},t.parse=function(e,t){var n=function(e){var t;switch(e.arrayFormat){case"index":return function(e,n,r){t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===r[e]&&(r[e]={}),r[e][t[1]]=n):r[e]=n};case"bracket":return function(e,n,r){t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==r[e]?r[e]=[].concat(r[e],n):r[e]=[n]:r[e]=n};default:return function(e,t,n){void 0!==n[e]?n[e]=[].concat(n[e],t):n[e]=t}}}(t=i({arrayFormat:"none"},t)),r=Object.create(null);return"string"!=typeof e?r:(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),i=t.shift(),o=t.length>0?t.join("="):void 0;o=void 0===o?null:decodeURIComponent(o),n(decodeURIComponent(i),o,r)})),Object.keys(r).sort().reduce((function(e,t){var n=r[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=function e(t){return Array.isArray(t)?t.sort():"object"==typeof t?e(Object.keys(t)).sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return t[e]})):t}(n):e[t]=n,e}),Object.create(null))):r},t.stringify=function(e,t){var n=function(e){switch(e.arrayFormat){case"index":return function(t,n,r){return null===n?[o(t,e),"[",r,"]"].join(""):[o(t,e),"[",o(r,e),"]=",o(n,e)].join("")};case"bracket":return function(t,n){return null===n?o(t,e):[o(t,e),"[]=",o(n,e)].join("")};default:return function(t,n){return null===n?o(t,e):[o(t,e),"=",o(n,e)].join("")}}}(t=i({encode:!0,strict:!0,arrayFormat:"none"},t));return e?Object.keys(e).sort().map((function(r){var i=e[r];if(void 0===i)return"";if(null===i)return o(r,t);if(Array.isArray(i)){var a=[];return i.slice().forEach((function(e){void 0!==e&&a.push(n(r,e,a.length))})),a.join("&")}return o(r,t)+"="+o(i,t)})).filter((function(e){return e.length>0})).join("&"):""}},384:function(e,t,n){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}}}]);
\ No newline at end of file
diff --git a/c4f5d8e4.2ee974aa.js.LICENSE.txt b/c4f5d8e4.a9e9690b.js.LICENSE.txt
similarity index 100%
rename from c4f5d8e4.2ee974aa.js.LICENSE.txt
rename to c4f5d8e4.a9e9690b.js.LICENSE.txt
diff --git a/ccc49370.e940ae58.js b/ccc49370.bd615195.js
similarity index 99%
rename from ccc49370.e940ae58.js
rename to ccc49370.bd615195.js
index 667b1670c..a03d41b2c 100644
--- a/ccc49370.e940ae58.js
+++ b/ccc49370.bd615195.js
@@ -1,2 +1,2 @@
-/*! For license information please see ccc49370.e940ae58.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{250:function(e,t,a){"use strict";a.r(t);a(260),a(302),a(19);var n=a(0),r=a.n(n),u=a(278),l=a(314),i=a(259),c=(a(315),a(254));var o=function(e){var t=e.nextItem,a=e.prevItem;return r.a.createElement("nav",{className:"pagination-nav"},r.a.createElement("div",{className:"pagination-nav__item"},a&&r.a.createElement(c.a,{className:"pagination-nav__link",to:a.permalink},r.a.createElement("div",{className:"pagination-nav__link--sublabel"},"Previous Post"),r.a.createElement("div",{className:"pagination-nav__link--label"},"\xab ",a.title))),r.a.createElement("div",{className:"pagination-nav__item pagination-nav__item--next"},t&&r.a.createElement(c.a,{className:"pagination-nav__link",to:t.permalink},r.a.createElement("div",{className:"pagination-nav__link--sublabel"},"Next Post"),r.a.createElement("div",{className:"pagination-nav__link--label"},t.title," \xbb"))))},s=a(285),D=a(251),m=a(279),d=a(252),E=a.n(d),g=a(280),f=a.n(g),b=a(261),p=a(318),h=a(303),v=a.n(h),F=a(228),y=a.n(F);t.default=function(e){var t=e.content,a=t.frontMatter,n=t.metadata,c=a.author_github,d=a.id,g=a.title,h=n.date,F=n.tags,C=v()(t.toString()),N=new Date(Date.parse(h)),_=Object(b.a)(F,"blog").find((function(e){return"domain"==e.category})),w=_?_.value:null,k=Object(p.a)();return k&&k.id==d&&Object(p.b)(),r.a.createElement(i.a,{title:n.title,description:n.description},r.a.createElement("article",{className:y.a.blogPost},r.a.createElement("header",{className:E()("hero","domain-bg","domain-bg--"+w,y.a.header)},r.a.createElement("div",{className:E()("container",y.a.headerContainer)},r.a.createElement("div",{class:"hero--avatar"},r.a.createElement(u.a,{github:c,size:"lg",nameSuffix:r.a.createElement(r.a.Fragment,null," / ",r.a.createElement("time",{pubdate:"pubdate",dateTime:N.toISOString()},f()(N,"mmm dS"))," / ",C.text),rel:"author",subTitle:!1,vertical:!0})),r.a.createElement("h1",null,g),r.a.createElement("div",{className:"hero--subtitle"},n.description),r.a.createElement("div",{className:"hero--tags"},r.a.createElement(m.a,{colorProfile:"blog",tags:F})))),r.a.createElement("div",{className:"container container--xs margin-vert--xl"},r.a.createElement("section",{className:"markdown dropcap"},r.a.createElement(D.a,{components:s.a},r.a.createElement(t,null))),r.a.createElement("section",null,r.a.createElement("h2",null,"Like What You See?"),r.a.createElement(l.a,null)),(n.nextItem||n.prevItem)&&r.a.createElement("div",{className:"margin-vert--xl"},r.a.createElement(o,{nextItem:n.nextItem,prevItem:n.prevItem})))))}},251:function(e,t,a){"use strict";a.d(t,"a",(function(){return D})),a.d(t,"b",(function(){return E}));var n=a(0),r=a.n(n);function u(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=r.a.createContext({}),s=function(e){var t=r.a.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i({},t,{},e)),a},D=function(e){var t=s(e.components);return r.a.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=Object(n.forwardRef)((function(e,t){var a=e.components,n=e.mdxType,u=e.originalType,l=e.parentName,o=c(e,["components","mdxType","originalType","parentName"]),D=s(a),d=n,E=D["".concat(l,".").concat(d)]||D[d]||m[d]||u;return a?r.a.createElement(E,i({ref:t},o,{components:a})):r.a.createElement(E,i({ref:t},o))}));function E(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var u=a.length,l=new Array(u);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var o=2;o0&&r.a.createElement("div",{className:"row footer__links"},r.a.createElement("div",{className:"col col--5 footer__col"},r.a.createElement("div",{className:"margin-bottom--md"},r.a.createElement(D.a,{className:"navbar__logo",src:"/img/logo-light.svg",alt:"gnet",width:"150",height:"auto"})),r.a.createElement("div",{className:"margin-bottom--md"},r.a.createElement(S,{description:!1,width:"150px"})),r.a.createElement("div",null,r.a.createElement("a",{href:"https://twitter.com/panjf2000",target:"_blank"},r.a.createElement("i",{className:"feather icon-twitter",alt:"gnet's Twitter"})),"\xa0\xa0\xa0\xa0",r.a.createElement("a",{href:"https://github.com/panjf2000/gnet",target:"_blank"},r.a.createElement("i",{className:"feather icon-github",alt:"gnet's Github Repo"})),"\xa0\xa0\xa0\xa0",r.a.createElement("a",{href:"https://strikefreedom.top/rss.xml",target:"_blank"},r.a.createElement("i",{className:"feather icon-rss",alt:"gnet's RSS feed"})))),i.map((function(e,t){return r.a.createElement("div",{key:t,className:"col footer__col"},null!=e.title?r.a.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?r.a.createElement("ul",{className:"footer__items"},e.items.map((function(e,t){return e.html?r.a.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):r.a.createElement("li",{key:e.href||e.to,className:"footer__item"},r.a.createElement(P,e))}))):null)}))),(o||u)&&r.a.createElement("div",{className:"text--center"},o&&o.src&&r.a.createElement("div",{className:"margin-bottom--sm"},o.href?r.a.createElement("a",{href:o.href,target:"_blank",rel:"noopener noreferrer",className:B.a.footerLogoLink},r.a.createElement(I,{alt:o.alt,url:s})):r.a.createElement(I,{alt:o.alt,url:s}),r.a.createElement("br",null),r.a.createElement("a",{href:"https://www.digitalocean.com/",target:"_blank",rel:"noopener noreferrer",className:B.a.footerLogoLink},r.a.createElement("img",{alt:"DigitalOcean",src:"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg",width:"201px"}))),u,r.a.createElement("br",null),r.a.createElement("small",null,r.a.createElement("a",{href:"https://github.com/panjf2000/gnet/security/policy"},"Security Policy"),"\xa0\u2022\xa0",r.a.createElement("a",{href:"https://github.com/panjf2000/gnet/blob/master/PRIVACY.md"},"Privacy Policy"))))):null},H=a(276),R=a(277),W=a(3);a(135);t.a=function(e){var t=Object(E.a)().siteConfig,a=void 0===t?{}:t,n=a.favicon,i=(a.tagline,a.title),c=a.themeConfig.image,o=a.url,s=e.children,D=e.title,m=e.noFooter,d=e.description,g=e.image,f=e.keywords,b=(e.permalink,e.version),p=D?D+" | "+i:i,h=g||c,v=o+Object(C.a)(h),F=Object(C.a)(n),y=Object(W.h)(),N=y?"https://gnet.host"+(y.pathname.endsWith("/")?y.pathname:y.pathname+"/"):null;return r.a.createElement(R.a,null,r.a.createElement(H.a,null,r.a.createElement(l.a,null,r.a.createElement("html",{lang:"en"}),r.a.createElement("meta",{httpEquiv:"x-ua-compatible",content:"ie=edge"}),p&&r.a.createElement("title",null,p),p&&r.a.createElement("meta",{property:"og:title",content:p}),n&&r.a.createElement("link",{rel:"shortcut icon",href:F}),d&&r.a.createElement("meta",{name:"description",content:d}),d&&r.a.createElement("meta",{property:"og:description",content:d}),b&&r.a.createElement("meta",{name:"docsearch:version",content:b}),f&&f.length&&r.a.createElement("meta",{name:"keywords",content:f.join(",")}),h&&r.a.createElement("meta",{property:"og:image",content:v}),h&&r.a.createElement("meta",{property:"twitter:image",content:v}),h&&r.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+p}),h&&r.a.createElement("meta",{name:"twitter:site",content:"@vectordotdev"}),h&&r.a.createElement("meta",{name:"twitter:creator",content:"@vectordotdev"}),N&&r.a.createElement("meta",{property:"og:url",content:N}),r.a.createElement("meta",{name:"twitter:card",content:"summary"}),N&&r.a.createElement("link",{rel:"canonical",href:N})),r.a.createElement(u.a,null),r.a.createElement(A,null),r.a.createElement("div",{className:"main-wrapper"},s),!m&&r.a.createElement(L,null)))}},261:function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));a(79),a(284),a(260),a(78);var n=a(265),r=a.n(n);function u(e,t){var a=new r.a;return e.map((function(e){var n=e;return"string"==typeof e&&(n={label:e,permalink:"/"+t+"/tags/"+a.slug(e)}),function(e,t){if(e.enriched)return e;var a=e.label.split(": ",2),n=a[0],r=a[1],u="primary";switch(n){case"domain":u="blue";break;case"type":u="pink";break;default:u="primary"}return{category:n,count:e.count,enriched:!0,label:e.label,permalink:e.permalink,style:u,value:r}}(n)}))}},263:function(e,t,a){var n=a(24).f,r=Function.prototype,u=/^\s*function ([^ (]*)/;"name"in r||a(10)&&n(r,"name",{configurable:!0,get:function(){try{return(""+this).match(u)[1]}catch(e){return""}}})},265:function(e,t,a){var n=a(274);e.exports=i;var r=Object.hasOwnProperty,u=/\s/g,l=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~\u2019]/g;function i(){if(!(this instanceof i))return new i;this.reset()}function c(e,t){return"string"!=typeof e?"":(t||(e=e.toLowerCase()),e.trim().replace(l,"").replace(n(),"").replace(u,"-"))}i.prototype.slug=function(e,t){for(var a=c(e,!0===t),n=a;r.call(this.occurrences,a);)this.occurrences[n]++,a=n+"-"+this.occurrences[n];return this.occurrences[a]=0,a},i.prototype.reset=function(){this.occurrences=Object.create(null)},i.slug=c},273:function(e,t,a){"use strict";var n=a(0),r=a.n(n),u=a(254),l=a(252),i=a.n(l);t.a=function(e){var t=e.count,a=e.label,n=e.permalink,l=e.style,c=e.value,o=e.valueOnly;return r.a.createElement(u.a,{to:n+"/",className:i()("badge","badge--rounded","badge--"+l)},o?c:a,t&&r.a.createElement(r.a.Fragment,null," (",t,")"))}},274:function(e,t){e.exports=function(){return/[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]|\uD83C\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uD83C\uDDFE\uD83C[\uDDEA\uDDF9]|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDFC\uD83C[\uDDEB\uDDF8]|\uD83C\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uD83C\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF8\uDDFE\uDDFF]|\uD83C\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uD83C\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uD83C\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uD83C\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uD83C\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uD83C\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uD83C\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uD83C\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uD83C\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uD83C\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uD83C\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uD83C\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uD83C\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uD83C\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uD83C\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uD83C\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|[#\*0-9]\u20E3/g}},278:function(e,t,a){"use strict";a(263),a(260);var n=a(0),r=a.n(n),u=a(252),l=a.n(u),i=a(253);a(137);t.a=function(e){var t,a=e.bio,n=e.className,u=e.github,c=e.nameSuffix,o=e.rel,s=e.size,D=e.subTitle,m=e.vertical,d=Object(i.a)().siteConfig,E=(void 0===d?{}:d).customFields.metadata.team,g=E.find((function(e){return e.github==u}))||E.find((function(e){return"ben"==e.id}));return r.a.createElement("div",{className:l()("avatar",n,(t={},t["avatar--"+s]=s,t["avatar--vertical"]=m,t))},r.a.createElement("img",{className:l()("avatar__photo","avatar__photo--"+s),src:g.avatar}),r.a.createElement("div",{className:"avatar__intro"},r.a.createElement("div",{className:"avatar__name"},r.a.createElement("a",{href:g.github,target:"_blank",rel:o},g.name),c),D&&r.a.createElement("small",{className:"avatar__subtitle"},D),!D&&a&&r.a.createElement("small",{className:"avatar__subtitle",dangerouslySetInnerHTML:{__html:g.bio}})))}},279:function(e,t,a){"use strict";var n=a(1),r=a(0),u=a.n(r),l=(a(254),a(273)),i=a(252),c=a.n(i),o=a(261),s=a(138),D=a.n(s);t.a=function(e){var t,a=e.block,r=e.colorProfile,i=e.tags,s=e.valuesOnly,m=Object(o.a)(i,r);return u.a.createElement("span",{className:c()(D.a.tags,(t={},t[D.a.tagsBlock]=a,t))},m.map((function(e,t){return u.a.createElement(l.a,Object(n.a)({key:t,valueOnly:s},e))})))}},280:function(e,t,a){var n;!function(r){"use strict";var u,l,i,c=(u=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|"[^"]*"|'[^']*'/g,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,i=/[^-+\dA-Z]/g,function(e,t,a,n){if(1!==arguments.length||"string"!==m(e)||/\d/.test(e)||(t=e,e=void 0),(e=e||new Date)instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");var r=(t=String(c.masks[t]||t||c.masks.default)).slice(0,4);"UTC:"!==r&&"GMT:"!==r||(t=t.slice(4),a=!0,"GMT:"===r&&(n=!0));var d=a?"getUTC":"get",E=e[d+"Date"](),g=e[d+"Day"](),f=e[d+"Month"](),b=e[d+"FullYear"](),p=e[d+"Hours"](),h=e[d+"Minutes"](),v=e[d+"Seconds"](),F=e[d+"Milliseconds"](),y=a?0:e.getTimezoneOffset(),C=s(e),N=D(e),_={d:E,dd:o(E),ddd:c.i18n.dayNames[g],dddd:c.i18n.dayNames[g+7],m:f+1,mm:o(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+12],yy:String(b).slice(2),yyyy:b,h:p%12||12,hh:o(p%12||12),H:p,HH:o(p),M:h,MM:o(h),s:v,ss:o(v),l:o(F,3),L:o(Math.round(F/10)),t:p<12?c.i18n.timeNames[0]:c.i18n.timeNames[1],tt:p<12?c.i18n.timeNames[2]:c.i18n.timeNames[3],T:p<12?c.i18n.timeNames[4]:c.i18n.timeNames[5],TT:p<12?c.i18n.timeNames[6]:c.i18n.timeNames[7],Z:n?"GMT":a?"UTC":(String(e).match(l)||[""]).pop().replace(i,""),o:(y>0?"-":"+")+o(100*Math.floor(Math.abs(y)/60)+Math.abs(y)%60,4),S:["th","st","nd","rd"][E%10>3?0:(E%100-E%10!=10)*E%10],W:C,N:N};return t.replace(u,(function(e){return e in _?_[e]:e.slice(1,e.length-1)}))});function o(e,t){for(e=String(e),t=t||2;e.length0}))}l&&v.test(l)&&(O=l.match(v)[0].split("title=")[1].replace(/"+/g,"")),Object(r.useEffect)((function(){var e;return w.current&&(e=new i.a(w.current,{target:function(){return _.current}})),function(){e&&e.destroy()}}),[w.current,_.current]);var x=a&&a.replace(/language-/,"");!x&&s.defaultLanguage&&(x=s.defaultLanguage);var B=function(){window.getSelection().empty(),F(!0),setTimeout((function(){return F(!1)}),2e3)};return u.a.createElement(c.a,Object(n.a)({},c.b,{key:C,theme:M,code:t.trim(),language:x}),(function(e){var t,a,r=e.className,l=e.style,i=e.tokens,c=e.getLineProps,o=e.getTokenProps;return u.a.createElement(u.a.Fragment,null,O&&u.a.createElement("div",{style:l,className:p.a.codeBlockTitle},O),u.a.createElement("div",{className:p.a.codeBlockContent},u.a.createElement("button",{ref:w,type:"button","aria-label":"Copy code to clipboard",className:D()(p.a.copyButton,(t={},t[p.a.copyButtonWithTitle]=O,t)),onClick:B},b?"Copied":"Copy"),u.a.createElement("pre",{className:D()(r,p.a.codeBlock,(a={},a[p.a.codeBlockWithTitle]=O,a))},u.a.createElement("div",{ref:_,className:p.a.codeBlockLines,style:l},i.map((function(e,t){1===e.length&&""===e[0].content&&(e[0].content="\n");var a=c({line:e,key:t});return k.includes(t+1)&&(a.className=a.className+" docusaurus-highlight-code-line"),u.a.createElement("div",Object(n.a)({key:t},a),e.map((function(e,t){return u.a.createElement("span",Object(n.a)({key:t},o({token:e,key:t})))})))}))))))}))}}).call(this,a(77))},285:function(e,t,a){"use strict";var n=a(1),r=a(0),u=a.n(r),l=a(254),i=a(283),c=a(264),o=a(141),s=a.n(o);t.a={code:function(e){var t=e.children;return"string"==typeof t?u.a.createElement(i.a,e):t},a:function(e){return/\.[^./]+$/.test(e.href)?u.a.createElement("a",e):u.a.createElement(l.a,e)},pre:function(e){return u.a.createElement("div",Object(n.a)({className:s.a.mdxCodeBlock},e))},h1:Object(c.a)("h1"),h2:Object(c.a)("h2"),h3:Object(c.a)("h3"),h4:Object(c.a)("h4"),h5:Object(c.a)("h5"),h6:Object(c.a)("h6")}},302:function(e,t,a){"use strict";a(316);var n=a(8),r=a(81),u=a(10),l=/./.toString,i=function(e){a(15)(RegExp.prototype,"toString",e,!0)};a(13)((function(){return"/a/b"!=l.call({source:"a",flags:"b"})}))?i((function(){var e=n(this);return"/".concat(e.source,"/","flags"in e?e.flags:!u&&e instanceof RegExp?r.call(e):void 0)})):"toString"!=l.name&&i((function(){return l.call(this)}))},303:function(e,t,a){e.exports=a(317)},314:function(e,t,a){"use strict";var n=a(0),r=a.n(n),u=a(252),l=a.n(u);t.a=function(e){var t=e.github,a=e.inline,n=e.size,u=e.style,i=l()("panel","panel--button","panel--"+n,"panel--"+u,{"panel--button--inline":a});return r.a.createElement("div",{className:"row row--squished"},r.a.createElement("div",{className:"col"},r.a.createElement("a",{href:"https://twitter.com/panjf2000",target:"_blank",className:i},r.a.createElement("div",{className:"panel--icon"},r.a.createElement("i",{className:"feather icon-twitter",title:"Twitter"})),r.a.createElement("div",null,r.a.createElement("div",{className:"panel--title"},"Follow @panjf2000"),r.a.createElement("div",{className:"panel--description"},"Get real-time updates!")))),0!=t&&r.a.createElement("div",{className:"col"},r.a.createElement("a",{href:"https://github.com/panjf2000/gnet",target:"_blank",className:i},r.a.createElement("div",{className:"panel--icon"},r.a.createElement("i",{className:"feather icon-github"})),r.a.createElement("div",null,r.a.createElement("div",{className:"panel--title"},"Star panjf2000/gnet"),r.a.createElement("div",{className:"panel--description"},"Star the repo to support us.")))))}},315:function(e,t,a){"use strict";a(260),a(302),a(19);var n=a(0),r=a.n(n),u=a(278),l=a(254),i=(a(285),a(251),a(279)),c=a(252),o=a.n(c),s=a(280),D=a.n(s),m=a(261),d=a(303),E=a.n(d);t.a=function(e){var t=e.children,a=e.frontMatter,n=e.metadata,c=(e.truncated,e.isBlogPostPage,n.date),s=n.description,d=n.permalink,g=n.tags,f=a.author_github,b=a.title,p=E()(t.toString()),h=new Date(Date.parse(c)),v=Object(m.a)(g,"blog").find((function(e){return"domain"==e.category})),F=v?v.value:null;return r.a.createElement(l.a,{to:d+"/",className:o()("panel","domain-bg","domain-bg--hover","domain-bg--"+F)},r.a.createElement("article",null,r.a.createElement("h2",null,b),r.a.createElement("div",{className:"subtitle"},s),r.a.createElement(u.a,{github:f,size:"sm",subTitle:r.a.createElement(r.a.Fragment,null,r.a.createElement("time",{pubdate:"pubdate",dateTime:h.toISOString()},D()(h,"mmm dS"))," / ",p.text),rel:"author"}),r.a.createElement(i.a,{colorProfile:"blog",tags:g})))}},316:function(e,t,a){a(10)&&"g"!=/./g.flags&&a(24).f(RegExp.prototype,"flags",{configurable:!0,get:a(81)})},317:function(e,t,a){"use strict";function n(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}e.exports=function(e,t){var a,r,u=0,l=0,i=e.length-1;for((t=t||{}).wordsPerMinute=t.wordsPerMinute||200,a=t.wordBound||n;a(e[l]);)l++;for(;a(e[i]);)i--;for(r=l;r<=i;){for(;r<=i&&!a(e[r]);r++);for(u++;r<=i&&a(e[r]);r++);}var c=u/t.wordsPerMinute,o=60*c*1e3;return{text:Math.ceil(c.toFixed(2))+" min read",minutes:c,time:o,words:u}}},318:function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return u}));var n=a(253);function r(){var e=Object(n.a)().siteConfig,t=(void 0===e?{}:e).customFields.metadata.latest_post,a=Date.parse(t.date),r=new Date,u=Math.abs(r-a),l=Math.ceil(u/864e5),i=null;return"undefined"!=typeof window&&(i=new Date(parseInt(window.localStorage.getItem("blogViewedAt")||"0"))),l<30&&(!i||i=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=r.a.createContext({}),s=function(e){var t=r.a.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i({},t,{},e)),a},D=function(e){var t=s(e.components);return r.a.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=Object(n.forwardRef)((function(e,t){var a=e.components,n=e.mdxType,u=e.originalType,l=e.parentName,o=c(e,["components","mdxType","originalType","parentName"]),D=s(a),d=n,E=D["".concat(l,".").concat(d)]||D[d]||m[d]||u;return a?r.a.createElement(E,i({ref:t},o,{components:a})):r.a.createElement(E,i({ref:t},o))}));function E(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var u=a.length,l=new Array(u);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var o=2;o0&&r.a.createElement("div",{className:"row footer__links"},r.a.createElement("div",{className:"col col--5 footer__col"},r.a.createElement("div",{className:"margin-bottom--md"},r.a.createElement(D.a,{className:"navbar__logo",src:"/img/logo-light.svg",alt:"gnet",width:"150",height:"auto"})),r.a.createElement("div",{className:"margin-bottom--md"},r.a.createElement(S,{description:!1,width:"150px"})),r.a.createElement("div",null,r.a.createElement("a",{href:"https://twitter.com/panjf2000",target:"_blank"},r.a.createElement("i",{className:"feather icon-twitter",alt:"gnet's Twitter"})),"\xa0\xa0\xa0\xa0",r.a.createElement("a",{href:"https://github.com/panjf2000/gnet",target:"_blank"},r.a.createElement("i",{className:"feather icon-github",alt:"gnet's Github Repo"})),"\xa0\xa0\xa0\xa0",r.a.createElement("a",{href:"https://strikefreedom.top/rss.xml",target:"_blank"},r.a.createElement("i",{className:"feather icon-rss",alt:"gnet's RSS feed"})))),i.map((function(e,t){return r.a.createElement("div",{key:t,className:"col footer__col"},null!=e.title?r.a.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?r.a.createElement("ul",{className:"footer__items"},e.items.map((function(e,t){return e.html?r.a.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):r.a.createElement("li",{key:e.href||e.to,className:"footer__item"},r.a.createElement(P,e))}))):null)}))),(o||u)&&r.a.createElement("div",{className:"text--center"},o&&o.src&&r.a.createElement("div",{className:"margin-bottom--sm"},o.href?r.a.createElement("a",{href:o.href,target:"_blank",rel:"noopener noreferrer",className:B.a.footerLogoLink},r.a.createElement(I,{alt:o.alt,url:s})):r.a.createElement(I,{alt:o.alt,url:s}),r.a.createElement("br",null),r.a.createElement("a",{href:"https://www.digitalocean.com/",target:"_blank",rel:"noopener noreferrer",className:B.a.footerLogoLink},r.a.createElement("img",{alt:"DigitalOcean",src:"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg",width:"201px"}))),u,r.a.createElement("br",null),r.a.createElement("small",null,r.a.createElement("a",{href:"https://github.com/panjf2000/gnet/security/policy"},"Security Policy"),"\xa0\u2022\xa0",r.a.createElement("a",{href:"https://github.com/panjf2000/gnet/blob/master/PRIVACY.md"},"Privacy Policy"))))):null},H=a(276),R=a(277),W=a(3);a(135);t.a=function(e){var t=Object(E.a)().siteConfig,a=void 0===t?{}:t,n=a.favicon,i=(a.tagline,a.title),c=a.themeConfig.image,o=a.url,s=e.children,D=e.title,m=e.noFooter,d=e.description,g=e.image,f=e.keywords,b=(e.permalink,e.version),p=D?D+" | "+i:i,h=g||c,v=o+Object(C.a)(h),F=Object(C.a)(n),y=Object(W.h)(),N=y?"https://gnet.host"+(y.pathname.endsWith("/")?y.pathname:y.pathname+"/"):null;return r.a.createElement(R.a,null,r.a.createElement(H.a,null,r.a.createElement(l.a,null,r.a.createElement("html",{lang:"en"}),r.a.createElement("meta",{httpEquiv:"x-ua-compatible",content:"ie=edge"}),p&&r.a.createElement("title",null,p),p&&r.a.createElement("meta",{property:"og:title",content:p}),n&&r.a.createElement("link",{rel:"shortcut icon",href:F}),d&&r.a.createElement("meta",{name:"description",content:d}),d&&r.a.createElement("meta",{property:"og:description",content:d}),b&&r.a.createElement("meta",{name:"docsearch:version",content:b}),f&&f.length&&r.a.createElement("meta",{name:"keywords",content:f.join(",")}),h&&r.a.createElement("meta",{property:"og:image",content:v}),h&&r.a.createElement("meta",{property:"twitter:image",content:v}),h&&r.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+p}),h&&r.a.createElement("meta",{name:"twitter:site",content:"@vectordotdev"}),h&&r.a.createElement("meta",{name:"twitter:creator",content:"@vectordotdev"}),N&&r.a.createElement("meta",{property:"og:url",content:N}),r.a.createElement("meta",{name:"twitter:card",content:"summary"}),N&&r.a.createElement("link",{rel:"canonical",href:N})),r.a.createElement(u.a,null),r.a.createElement(A,null),r.a.createElement("div",{className:"main-wrapper"},s),!m&&r.a.createElement(L,null)))}},261:function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));a(79),a(284),a(260),a(78);var n=a(265),r=a.n(n);function u(e,t){var a=new r.a;return e.map((function(e){var n=e;return"string"==typeof e&&(n={label:e,permalink:"/"+t+"/tags/"+a.slug(e)}),function(e,t){if(e.enriched)return e;var a=e.label.split(": ",2),n=a[0],r=a[1],u="primary";switch(n){case"domain":u="blue";break;case"type":u="pink";break;default:u="primary"}return{category:n,count:e.count,enriched:!0,label:e.label,permalink:e.permalink,style:u,value:r}}(n)}))}},263:function(e,t,a){var n=a(24).f,r=Function.prototype,u=/^\s*function ([^ (]*)/;"name"in r||a(10)&&n(r,"name",{configurable:!0,get:function(){try{return(""+this).match(u)[1]}catch(e){return""}}})},265:function(e,t,a){var n=a(274);e.exports=i;var r=Object.hasOwnProperty,u=/\s/g,l=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~\u2019]/g;function i(){if(!(this instanceof i))return new i;this.reset()}function c(e,t){return"string"!=typeof e?"":(t||(e=e.toLowerCase()),e.trim().replace(l,"").replace(n(),"").replace(u,"-"))}i.prototype.slug=function(e,t){for(var a=c(e,!0===t),n=a;r.call(this.occurrences,a);)this.occurrences[n]++,a=n+"-"+this.occurrences[n];return this.occurrences[a]=0,a},i.prototype.reset=function(){this.occurrences=Object.create(null)},i.slug=c},273:function(e,t,a){"use strict";var n=a(0),r=a.n(n),u=a(254),l=a(252),i=a.n(l);t.a=function(e){var t=e.count,a=e.label,n=e.permalink,l=e.style,c=e.value,o=e.valueOnly;return r.a.createElement(u.a,{to:n+"/",className:i()("badge","badge--rounded","badge--"+l)},o?c:a,t&&r.a.createElement(r.a.Fragment,null," (",t,")"))}},274:function(e,t){e.exports=function(){return/[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]|\uD83C\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uD83C\uDDFE\uD83C[\uDDEA\uDDF9]|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDFC\uD83C[\uDDEB\uDDF8]|\uD83C\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uD83C\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF8\uDDFE\uDDFF]|\uD83C\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uD83C\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uD83C\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uD83C\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uD83C\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uD83C\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uD83C\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uD83C\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uD83C\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uD83C\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uD83C\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uD83C\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uD83C\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uD83C\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uD83C\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uD83C\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|[#\*0-9]\u20E3/g}},278:function(e,t,a){"use strict";a(263),a(260);var n=a(0),r=a.n(n),u=a(252),l=a.n(u),i=a(253);a(137);t.a=function(e){var t,a=e.bio,n=e.className,u=e.github,c=e.nameSuffix,o=e.rel,s=e.size,D=e.subTitle,m=e.vertical,d=Object(i.a)().siteConfig,E=(void 0===d?{}:d).customFields.metadata.team,g=E.find((function(e){return e.github==u}))||E.find((function(e){return"ben"==e.id}));return r.a.createElement("div",{className:l()("avatar",n,(t={},t["avatar--"+s]=s,t["avatar--vertical"]=m,t))},r.a.createElement("img",{className:l()("avatar__photo","avatar__photo--"+s),src:g.avatar}),r.a.createElement("div",{className:"avatar__intro"},r.a.createElement("div",{className:"avatar__name"},r.a.createElement("a",{href:g.github,target:"_blank",rel:o},g.name),c),D&&r.a.createElement("small",{className:"avatar__subtitle"},D),!D&&a&&r.a.createElement("small",{className:"avatar__subtitle",dangerouslySetInnerHTML:{__html:g.bio}})))}},279:function(e,t,a){"use strict";var n=a(1),r=a(0),u=a.n(r),l=(a(254),a(273)),i=a(252),c=a.n(i),o=a(261),s=a(138),D=a.n(s);t.a=function(e){var t,a=e.block,r=e.colorProfile,i=e.tags,s=e.valuesOnly,m=Object(o.a)(i,r);return u.a.createElement("span",{className:c()(D.a.tags,(t={},t[D.a.tagsBlock]=a,t))},m.map((function(e,t){return u.a.createElement(l.a,Object(n.a)({key:t,valueOnly:s},e))})))}},280:function(e,t,a){var n;!function(r){"use strict";var u,l,i,c=(u=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|"[^"]*"|'[^']*'/g,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,i=/[^-+\dA-Z]/g,function(e,t,a,n){if(1!==arguments.length||"string"!==m(e)||/\d/.test(e)||(t=e,e=void 0),(e=e||new Date)instanceof Date||(e=new Date(e)),isNaN(e))throw TypeError("Invalid date");var r=(t=String(c.masks[t]||t||c.masks.default)).slice(0,4);"UTC:"!==r&&"GMT:"!==r||(t=t.slice(4),a=!0,"GMT:"===r&&(n=!0));var d=a?"getUTC":"get",E=e[d+"Date"](),g=e[d+"Day"](),f=e[d+"Month"](),b=e[d+"FullYear"](),p=e[d+"Hours"](),h=e[d+"Minutes"](),v=e[d+"Seconds"](),F=e[d+"Milliseconds"](),y=a?0:e.getTimezoneOffset(),C=s(e),N=D(e),_={d:E,dd:o(E),ddd:c.i18n.dayNames[g],dddd:c.i18n.dayNames[g+7],m:f+1,mm:o(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+12],yy:String(b).slice(2),yyyy:b,h:p%12||12,hh:o(p%12||12),H:p,HH:o(p),M:h,MM:o(h),s:v,ss:o(v),l:o(F,3),L:o(Math.round(F/10)),t:p<12?c.i18n.timeNames[0]:c.i18n.timeNames[1],tt:p<12?c.i18n.timeNames[2]:c.i18n.timeNames[3],T:p<12?c.i18n.timeNames[4]:c.i18n.timeNames[5],TT:p<12?c.i18n.timeNames[6]:c.i18n.timeNames[7],Z:n?"GMT":a?"UTC":(String(e).match(l)||[""]).pop().replace(i,""),o:(y>0?"-":"+")+o(100*Math.floor(Math.abs(y)/60)+Math.abs(y)%60,4),S:["th","st","nd","rd"][E%10>3?0:(E%100-E%10!=10)*E%10],W:C,N:N};return t.replace(u,(function(e){return e in _?_[e]:e.slice(1,e.length-1)}))});function o(e,t){for(e=String(e),t=t||2;e.length0}))}l&&v.test(l)&&(O=l.match(v)[0].split("title=")[1].replace(/"+/g,"")),Object(r.useEffect)((function(){var e;return w.current&&(e=new i.a(w.current,{target:function(){return _.current}})),function(){e&&e.destroy()}}),[w.current,_.current]);var x=a&&a.replace(/language-/,"");!x&&s.defaultLanguage&&(x=s.defaultLanguage);var B=function(){window.getSelection().empty(),F(!0),setTimeout((function(){return F(!1)}),2e3)};return u.a.createElement(c.a,Object(n.a)({},c.b,{key:C,theme:M,code:t.trim(),language:x}),(function(e){var t,a,r=e.className,l=e.style,i=e.tokens,c=e.getLineProps,o=e.getTokenProps;return u.a.createElement(u.a.Fragment,null,O&&u.a.createElement("div",{style:l,className:p.a.codeBlockTitle},O),u.a.createElement("div",{className:p.a.codeBlockContent},u.a.createElement("button",{ref:w,type:"button","aria-label":"Copy code to clipboard",className:D()(p.a.copyButton,(t={},t[p.a.copyButtonWithTitle]=O,t)),onClick:B},b?"Copied":"Copy"),u.a.createElement("pre",{className:D()(r,p.a.codeBlock,(a={},a[p.a.codeBlockWithTitle]=O,a))},u.a.createElement("div",{ref:_,className:p.a.codeBlockLines,style:l},i.map((function(e,t){1===e.length&&""===e[0].content&&(e[0].content="\n");var a=c({line:e,key:t});return k.includes(t+1)&&(a.className=a.className+" docusaurus-highlight-code-line"),u.a.createElement("div",Object(n.a)({key:t},a),e.map((function(e,t){return u.a.createElement("span",Object(n.a)({key:t},o({token:e,key:t})))})))}))))))}))}}).call(this,a(77))},285:function(e,t,a){"use strict";var n=a(1),r=a(0),u=a.n(r),l=a(254),i=a(283),c=a(264),o=a(141),s=a.n(o);t.a={code:function(e){var t=e.children;return"string"==typeof t?u.a.createElement(i.a,e):t},a:function(e){return/\.[^./]+$/.test(e.href)?u.a.createElement("a",e):u.a.createElement(l.a,e)},pre:function(e){return u.a.createElement("div",Object(n.a)({className:s.a.mdxCodeBlock},e))},h1:Object(c.a)("h1"),h2:Object(c.a)("h2"),h3:Object(c.a)("h3"),h4:Object(c.a)("h4"),h5:Object(c.a)("h5"),h6:Object(c.a)("h6")}},302:function(e,t,a){"use strict";a(316);var n=a(8),r=a(81),u=a(10),l=/./.toString,i=function(e){a(15)(RegExp.prototype,"toString",e,!0)};a(13)((function(){return"/a/b"!=l.call({source:"a",flags:"b"})}))?i((function(){var e=n(this);return"/".concat(e.source,"/","flags"in e?e.flags:!u&&e instanceof RegExp?r.call(e):void 0)})):"toString"!=l.name&&i((function(){return l.call(this)}))},303:function(e,t,a){e.exports=a(317)},314:function(e,t,a){"use strict";var n=a(0),r=a.n(n),u=a(252),l=a.n(u);t.a=function(e){var t=e.github,a=e.inline,n=e.size,u=e.style,i=l()("panel","panel--button","panel--"+n,"panel--"+u,{"panel--button--inline":a});return r.a.createElement("div",{className:"row row--squished"},r.a.createElement("div",{className:"col"},r.a.createElement("a",{href:"https://twitter.com/panjf2000",target:"_blank",className:i},r.a.createElement("div",{className:"panel--icon"},r.a.createElement("i",{className:"feather icon-twitter",title:"Twitter"})),r.a.createElement("div",null,r.a.createElement("div",{className:"panel--title"},"Follow @panjf2000"),r.a.createElement("div",{className:"panel--description"},"Get real-time updates!")))),0!=t&&r.a.createElement("div",{className:"col"},r.a.createElement("a",{href:"https://github.com/panjf2000/gnet",target:"_blank",className:i},r.a.createElement("div",{className:"panel--icon"},r.a.createElement("i",{className:"feather icon-github"})),r.a.createElement("div",null,r.a.createElement("div",{className:"panel--title"},"Star panjf2000/gnet"),r.a.createElement("div",{className:"panel--description"},"Star the repo to support us.")))))}},315:function(e,t,a){"use strict";a(260),a(302),a(19);var n=a(0),r=a.n(n),u=a(278),l=a(254),i=(a(285),a(251),a(279)),c=a(252),o=a.n(c),s=a(280),D=a.n(s),m=a(261),d=a(303),E=a.n(d);t.a=function(e){var t=e.children,a=e.frontMatter,n=e.metadata,c=(e.truncated,e.isBlogPostPage,n.date),s=n.description,d=n.permalink,g=n.tags,f=a.author_github,b=a.title,p=E()(t.toString()),h=new Date(Date.parse(c)),v=Object(m.a)(g,"blog").find((function(e){return"domain"==e.category})),F=v?v.value:null;return r.a.createElement(l.a,{to:d+"/",className:o()("panel","domain-bg","domain-bg--hover","domain-bg--"+F)},r.a.createElement("article",null,r.a.createElement("h2",null,b),r.a.createElement("div",{className:"subtitle"},s),r.a.createElement(u.a,{github:f,size:"sm",subTitle:r.a.createElement(r.a.Fragment,null,r.a.createElement("time",{pubdate:"pubdate",dateTime:h.toISOString()},D()(h,"mmm dS"))," / ",p.text),rel:"author"}),r.a.createElement(i.a,{colorProfile:"blog",tags:g})))}},316:function(e,t,a){a(10)&&"g"!=/./g.flags&&a(24).f(RegExp.prototype,"flags",{configurable:!0,get:a(81)})},317:function(e,t,a){"use strict";function n(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}e.exports=function(e,t){var a,r,u=0,l=0,i=e.length-1;for((t=t||{}).wordsPerMinute=t.wordsPerMinute||200,a=t.wordBound||n;a(e[l]);)l++;for(;a(e[i]);)i--;for(r=l;r<=i;){for(;r<=i&&!a(e[r]);r++);for(u++;r<=i&&a(e[r]);r++);}var c=u/t.wordsPerMinute,o=60*c*1e3;return{text:Math.ceil(c.toFixed(2))+" min read",minutes:c,time:o,words:u}}},318:function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return u}));var n=a(253);function r(){var e=Object(n.a)().siteConfig,t=(void 0===e?{}:e).customFields.metadata.latest_post,a=Date.parse(t.date),r=new Date,u=Math.abs(r-a),l=Math.ceil(u/864e5),i=null;return"undefined"!=typeof window&&(i=new Date(parseInt(window.localStorage.getItem("blogViewedAt")||"0"))),l<30&&(!i||i
-
+
@@ -29,18 +29,18 @@
-
+
-
# Meet The TeamAndy Pan is the creator of gnet and the only core contributor at present, hoping more developers will join me in the future.
+
# Meet The TeamAndy Pan is the creator of gnet and the only core contributor at present, hoping more developers will join me in the future.
-
+
@@ -48,7 +48,7 @@
-
+
diff --git a/contact/index.html b/contact/index.html
index fbc553b59..66d1ccf5d 100644
--- a/contact/index.html
+++ b/contact/index.html
@@ -21,7 +21,7 @@
-
+
@@ -29,18 +29,18 @@
-
+
-
Contact gnet is an open-source software created by
Andy Pan . You can contact the author using any of the options below.
+
Contact gnet is an open-source software created by
Andy Pan . You can contact the author using any of the options below.
-
+
@@ -48,7 +48,7 @@
-
+
diff --git a/docs/about/overview-cn/index.html b/docs/about/overview-cn/index.html
index b29206bb5..f4a18cc00 100644
--- a/docs/about/overview-cn/index.html
+++ b/docs/about/overview-cn/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -45,12 +45,12 @@
-
# gnet 是什么?gnet
是一个基于事件驱动的高性能和轻量级网络框架。这个框架是基于 epoll 和 kqueue 从零开发的,而且相比 Go net ,它能以更低的内存占用实现更高的性能。
gnet
和 net 有着不一样的网络编程模式。因此,用 gnet
开发网络应用和用 net 开发区别很大,而且两者之间不可调和。社区里有其他同类的产品像是 libevent , libuv , netty , twisted , tornado ,gnet
的底层工作原理和这些框架非常类似。
gnet
不是为了取代 net 而生的,而是在 Go 生态中为开发者提供一个开发性能敏感的网络服务的替代品。也正因如此,gnet
在功能上的全面性并不如 Go net ,它只会提供网络应用所需的最核心的功能和最精简的 APIs,而且 gnet
也并没有打算变成一个无所不包的网络框架,因为我觉得 Go net 在这方面已经做得足够好了。
gnet
的卖点在于它是一个高性能、轻量级、非阻塞的纯 Go 语言实现的传输层(TCP/UDP/Unix Domain Socket)网络框架。开发者可以使用 gnet
来实现自己的应用层网络协议(HTTP、RPC、Redis、WebSocket 等等),从而构建出自己的应用层网络服务。比如在 gnet
上实现 HTTP 协议就可以创建出一个 HTTP 服务器 或者 Web 开发框架,实现 Redis 协议就可以创建出自己的 Redis 服务器等等。
gnet
衍生自另一个项目:evio
,但拥有更丰富的功能特性,且性能远胜之。
# 多线程/Go程网络模型# 主从多 Reactorsgnet
重新设计开发了一个新内置的多线程/Go程网络模型:『主从多 Reactors』,这也是 netty
默认的多线程网络模型,下面是这个模型的原理图:
它的运行流程如下面的时序图:
# 主从多 Reactors + 线程/Go程池你可能会问一个问题:如果我的业务逻辑是阻塞的,那么在 EventHandler.OnTraffic
注册方法里的逻辑也会阻塞,从而导致阻塞 event-loop 线程,这时候怎么办?
正如你所知,基于 gnet
编写你的网络服务器有一条最重要的原则:永远不能让你业务逻辑(一般写在 EventHandler.OnTraffic
里)阻塞 event-loop 线程,这也是 netty
的一条最重要的原则,否则的话将会极大地降低服务器的吞吐量。
我的回答是,基于gnet
的另一种多线程/Go程网络模型:『带线程/Go程池的主从多 Reactors』可以解决阻塞问题,这个新网络模型通过引入一个 worker pool 来解决业务逻辑阻塞的问题:它会在启动的时候初始化一个 worker pool,然后在把 EventHandler.OnTraffic
里面的阻塞代码放到 worker pool 里执行,从而避免阻塞 event-loop 线程。
模型的架构图如下所示:
它的运行流程如下面的时序图:
gnet
通过利用 ants goroutine 池(一个基于 Go 开发的高性能的 goroutine 池 ,实现了对大规模 goroutines 的调度管理、goroutines 复用)来实现『主从多 Reactors + 线程/Go程池』网络模型。关于 ants
的全部功能和使用,可以在 ants 文档 里找到。
gnet
内部集成了 ants
以及提供了 pool.goroutine.Default()
方法来初始化一个 ants
goroutine 池,然后你可以把 EventHandler.OnTraffic
中阻塞的业务逻辑提交到 goroutine 池里执行,最后在 goroutine 池里的代码调用 gnet.Conn.AsyncWrite([]byte)
方法把处理完阻塞逻辑之后得到的输出数据异步写回客户端,这样就可以避免阻塞 event-loop 线程。
有关在 gnet
里使用 ants
goroutine 池的细节可以到这里 进一步了解。
# 关键设计# 弹性内存 Buffer# Elastic Ring Buffer
# Elastic Ring&Linked-list Buffer
gnet
内置了inbound 和 outbound 两个 buffers,分别用来缓冲输入输出的网络数据以及管理内存,gnet 里面的 inbound 和 outbound buffer 经过设计和调优,达到重用内存以及按需扩缩容的目的。
对于 TCP 协议的流数据,使用 gnet
不需要业务方为了解析应用层协议而自己维护和管理 buffers,gnet
会替业务方完成缓冲和管理网络数据的任务,降低业务代码的复杂性以及降低开发者的心智负担,使得开发者能够专注于业务逻辑而非一些底层实现。
+
# gnet 是什么?gnet
是一个基于事件驱动的高性能和轻量级网络框架。这个框架是基于 epoll 和 kqueue 从零开发的,而且相比 Go net ,它能以更低的内存占用实现更高的性能。
gnet
和 net 有着不一样的网络编程模式。因此,用 gnet
开发网络应用和用 net 开发区别很大,而且两者之间不可调和。社区里有其他同类的产品像是 libevent , libuv , netty , twisted , tornado ,gnet
的底层工作原理和这些框架非常类似。
gnet
不是为了取代 net 而生的,而是在 Go 生态中为开发者提供一个开发性能敏感的网络服务的替代品。也正因如此,gnet
在功能上的全面性并不如 Go net ,它只会提供网络应用所需的最核心的功能和最精简的 APIs,而且 gnet
也并没有打算变成一个无所不包的网络框架,因为我觉得 Go net 在这方面已经做得足够好了。
gnet
的卖点在于它是一个高性能、轻量级、非阻塞的纯 Go 语言实现的传输层(TCP/UDP/Unix Domain Socket)网络框架。开发者可以使用 gnet
来实现自己的应用层网络协议(HTTP、RPC、Redis、WebSocket 等等),从而构建出自己的应用层网络服务。比如在 gnet
上实现 HTTP 协议就可以创建出一个 HTTP 服务器 或者 Web 开发框架,实现 Redis 协议就可以创建出自己的 Redis 服务器等等。
gnet
衍生自另一个项目:evio
,但拥有更丰富的功能特性,且性能远胜之。
# 多线程/Go程网络模型# 主从多 Reactorsgnet
重新设计开发了一个新内置的多线程/Go程网络模型:『主从多 Reactors』,这也是 netty
默认的多线程网络模型,下面是这个模型的原理图:
它的运行流程如下面的时序图:
# 主从多 Reactors + 线程/Go程池你可能会问一个问题:如果我的业务逻辑是阻塞的,那么在 EventHandler.OnTraffic
注册方法里的逻辑也会阻塞,从而导致阻塞 event-loop 线程,这时候怎么办?
正如你所知,基于 gnet
编写你的网络服务器有一条最重要的原则:永远不能让你业务逻辑(一般写在 EventHandler.OnTraffic
里)阻塞 event-loop 线程,这也是 netty
的一条最重要的原则,否则的话将会极大地降低服务器的吞吐量。
我的回答是,基于gnet
的另一种多线程/Go程网络模型:『带线程/Go程池的主从多 Reactors』可以解决阻塞问题,这个新网络模型通过引入一个 worker pool 来解决业务逻辑阻塞的问题:它会在启动的时候初始化一个 worker pool,然后在把 EventHandler.OnTraffic
里面的阻塞代码放到 worker pool 里执行,从而避免阻塞 event-loop 线程。
模型的架构图如下所示:
它的运行流程如下面的时序图:
gnet
通过利用 ants goroutine 池(一个基于 Go 开发的高性能的 goroutine 池 ,实现了对大规模 goroutines 的调度管理、goroutines 复用)来实现『主从多 Reactors + 线程/Go程池』网络模型。关于 ants
的全部功能和使用,可以在 ants 文档 里找到。
gnet
内部集成了 ants
以及提供了 pool.goroutine.Default()
方法来初始化一个 ants
goroutine 池,然后你可以把 EventHandler.OnTraffic
中阻塞的业务逻辑提交到 goroutine 池里执行,最后在 goroutine 池里的代码调用 gnet.Conn.AsyncWrite([]byte)
方法把处理完阻塞逻辑之后得到的输出数据异步写回客户端,这样就可以避免阻塞 event-loop 线程。
有关在 gnet
里使用 ants
goroutine 池的细节可以到这里 进一步了解。
# 关键设计# 弹性内存 Buffer# Elastic Ring Buffer
# Elastic Ring&Linked-list Buffer
gnet
内置了inbound 和 outbound 两个 buffers,分别用来缓冲输入输出的网络数据以及管理内存,gnet 里面的 inbound 和 outbound buffer 经过设计和调优,达到重用内存以及按需扩缩容的目的。
对于 TCP 协议的流数据,使用 gnet
不需要业务方为了解析应用层协议而自己维护和管理 buffers,gnet
会替业务方完成缓冲和管理网络数据的任务,降低业务代码的复杂性以及降低开发者的心智负担,使得开发者能够专注于业务逻辑而非一些底层实现。
-
+
@@ -60,7 +60,7 @@
-
+
diff --git a/docs/about/overview/index.html b/docs/about/overview/index.html
index 5f76cc41d..ffabf1039 100644
--- a/docs/about/overview/index.html
+++ b/docs/about/overview/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -45,12 +45,12 @@
-
# What is gnet?gnet
is an event-driven networking framework that is ultra-fast and lightweight. It is built from scratch by exploiting epoll and kqueue and it can achieve much higher performance with lower memory consumption than Go net in many specific scenarios.
gnet
and net don't share the same philosophy about network programming. Thus, building network applications with gnet
can be significantly different from building them with net , and the philosophies can't be harmonized. There are other similar products written in other programming languages in the community, such as libevent , libuv , netty , twisted , tornado , etc. which work in a similar pattern as gnet
under the hood.
gnet
is not designed to displace the Go net , but to create an alternative in the Go ecosystem for building performance-sensitive network services. As a result of which, gnet
is not as comprehensive as Go net , it provides only the core functionalities (in a concise API set) required by a network application and it is not planned on being a coverall networking framework, as I think net has done a good enough job in that area.
gnet
sells itself as a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go which works on the transport layer with TCP/UDP protocols and Unix Domain Socket. It enables developers to implement their own protocols(HTTP, RPC, WebSocket, Redis, etc.) of application layer upon gnet
for building diversified network services. For instance, you get an HTTP Server if you implement HTTP protocol upon gnet
while you have a Redis Server done with the implementation of Redis protocol upon gnet
and so on.
gnet
derives from the project: evio
while having a much higher performance and more features.
# Features# Architecture# Networking Model of Multiple Threads/Goroutines# Multiple Reactorsgnet
redesigns and implements a new built-in networking model of multiple threads/goroutines: 『multiple reactors』 which is also the default networking model of multiple threads in netty
, Here's the schematic diagram:
and it works as the following sequence diagram:
# Multiple Reactors + Goroutine PoolYou may ask me a question: what if my business logic in EventHandler.OnTraffic
contains some blocking code which leads to blocking in event-loop of gnet
, what is the solution for this kind of situation?
As you know, there is a most important tenet when writing code under gnet
: you should never block the event-loop goroutine in the EventHandler.OnTraffic
, which is also the most important tenet in netty
, otherwise, it will result in a low throughput in your gnet
server.
And the solution to that could be found in the subsequent networking model of multiple threads/goroutines in gnet
: 『multiple reactors with thread/goroutine pool』which pulls you out from the blocking mire, it will construct a worker-pool with fixed capacity and put those blocking jobs in EventHandler.OnTraffic
into the worker-pool to make the event-loop goroutines non-blocking.
The networking model:『multiple reactors with thread/goroutine pool』dissolves the blocking jobs by introducing a goroutine pool, as shown below:
and it works as the following sequence diagram:
gnet
implements the networking model:『multiple reactors with thread/goroutine pool』by the aid of a high-performance goroutine pool called ants that allows you to manage and recycle a massive number of goroutines in your concurrent programs, the full features and usages in ants
are documented here .
gnet
integrates ants
and provides the pool.goroutine.Default()
method that you can call to instantiate a ants
pool where you are able to put your blocking code logic and call the function gnet.Conn.AsyncWrite([]byte)
to send out data asynchronously after you finish the blocking process and get the output data, which makes the goroutine of event-loop non-blocking.
The details about integrating gnet
with ants
are shown here .
# Key designs# Elastic Buffer# Elastic Ring Buffer
# Elastic Ring & Linked-list Buffer
There are two buffers inside gnet
: inbound buffer (elastic-ring-buffer) and outbound buffer (elastic-ring&linked-list-buffer) to buffer and manage inbound/outbound network data, inbound and outbound buffers inside gnet are designed and tuned to reuse memory and be auto-scaling on demand.
The purpose of implementing inbound and outbound buffers in gnet
is to transfer the logic of buffering and managing network data based on application protocol upon TCP stream from business server to framework and unify the network data buffer, which minimizes the complexity of business code so that developers are able to concentrate on business logic instead of the underlying implementation.
+
# What is gnet?gnet
is an event-driven networking framework that is ultra-fast and lightweight. It is built from scratch by exploiting epoll and kqueue and it can achieve much higher performance with lower memory consumption than Go net in many specific scenarios.
gnet
and net don't share the same philosophy about network programming. Thus, building network applications with gnet
can be significantly different from building them with net , and the philosophies can't be harmonized. There are other similar products written in other programming languages in the community, such as libevent , libuv , netty , twisted , tornado , etc. which work in a similar pattern as gnet
under the hood.
gnet
is not designed to displace the Go net , but to create an alternative in the Go ecosystem for building performance-sensitive network services. As a result of which, gnet
is not as comprehensive as Go net , it provides only the core functionalities (in a concise API set) required by a network application and it is not planned on being a coverall networking framework, as I think net has done a good enough job in that area.
gnet
sells itself as a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go which works on the transport layer with TCP/UDP protocols and Unix Domain Socket. It enables developers to implement their own protocols(HTTP, RPC, WebSocket, Redis, etc.) of application layer upon gnet
for building diversified network services. For instance, you get an HTTP Server if you implement HTTP protocol upon gnet
while you have a Redis Server done with the implementation of Redis protocol upon gnet
and so on.
gnet
derives from the project: evio
while having a much higher performance and more features.
# Features# Architecture# Networking Model of Multiple Threads/Goroutines# Multiple Reactorsgnet
redesigns and implements a new built-in networking model of multiple threads/goroutines: 『multiple reactors』 which is also the default networking model of multiple threads in netty
, Here's the schematic diagram:
and it works as the following sequence diagram:
# Multiple Reactors + Goroutine PoolYou may ask me a question: what if my business logic in EventHandler.OnTraffic
contains some blocking code which leads to blocking in event-loop of gnet
, what is the solution for this kind of situation?
As you know, there is a most important tenet when writing code under gnet
: you should never block the event-loop goroutine in the EventHandler.OnTraffic
, which is also the most important tenet in netty
, otherwise, it will result in a low throughput in your gnet
server.
And the solution to that could be found in the subsequent networking model of multiple threads/goroutines in gnet
: 『multiple reactors with thread/goroutine pool』which pulls you out from the blocking mire, it will construct a worker-pool with fixed capacity and put those blocking jobs in EventHandler.OnTraffic
into the worker-pool to make the event-loop goroutines non-blocking.
The networking model:『multiple reactors with thread/goroutine pool』dissolves the blocking jobs by introducing a goroutine pool, as shown below:
and it works as the following sequence diagram:
gnet
implements the networking model:『multiple reactors with thread/goroutine pool』by the aid of a high-performance goroutine pool called ants that allows you to manage and recycle a massive number of goroutines in your concurrent programs, the full features and usages in ants
are documented here .
gnet
integrates ants
and provides the pool.goroutine.Default()
method that you can call to instantiate a ants
pool where you are able to put your blocking code logic and call the function gnet.Conn.AsyncWrite([]byte)
to send out data asynchronously after you finish the blocking process and get the output data, which makes the goroutine of event-loop non-blocking.
The details about integrating gnet
with ants
are shown here .
# Key designs# Elastic Buffer# Elastic Ring Buffer
# Elastic Ring & Linked-list Buffer
There are two buffers inside gnet
: inbound buffer (elastic-ring-buffer) and outbound buffer (elastic-ring&linked-list-buffer) to buffer and manage inbound/outbound network data, inbound and outbound buffers inside gnet are designed and tuned to reuse memory and be auto-scaling on demand.
The purpose of implementing inbound and outbound buffers in gnet
is to transfer the logic of buffering and managing network data based on application protocol upon TCP stream from business server to framework and unify the network data buffer, which minimizes the complexity of business code so that developers are able to concentrate on business logic instead of the underlying implementation.
-
+
@@ -60,7 +60,7 @@
-
+
diff --git a/docs/benchmark/index.html b/docs/benchmark/index.html
index 65cb95ea1..a208e5ce5 100644
--- a/docs/benchmark/index.html
+++ b/docs/benchmark/index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -45,7 +45,7 @@
-
# Benchmarks on TechEmpowerCopy
* 28 HT Cores Intel ( R ) Xeon ( R ) Gold 5120 CPU @ 3 .20GHz
* 32GB RAM
* Dedicated Cisco 10 -gigabit Ethernet switch
* Debian 12 "bookworm"
* Go1.19.x linux/amd64
This is a leaderboard of the top 50 out of 486 frameworks that encompass various programming languages worldwide, in which gnet
is ranked first .
This is the full framework ranking of Go and gnet
tops all the other frameworks, which makes gnet
the fastest networking framework in Go.
To see the full ranking list, visit TechEmpower Benchmark Round 22 .
# Contrasts to the similar networking libraries# On Linux (epoll)# Test EnvironmentCopy
OS : Ubuntu 20.04 /x86_64
CPU : 8 CPU cores, AMD EPYC 7K62 48 -Core Processor
Memory : 16.0 GiB