From e6a964be1563a68ce25cc1fd3c57b00ddff3bc8e Mon Sep 17 00:00:00 2001 From: Vikram Rangnekar Date: Sat, 20 Feb 2021 20:00:42 -0500 Subject: [PATCH] feat: new improved web-ui using graphiql and graphql explorer --- core/internal/sdata/schema.go | 6 - core/internal/sdata/tables.go | 47 +- core/introspec.go | 24 +- examples/webshop/config/dev.yml | 4 +- go.mod | 1 + go.sum | 284 -- internal/serv/http.go | 38 +- internal/serv/rice-box.go | 172 +- internal/serv/web/build/asset-manifest.json | 26 +- internal/serv/web/build/index.html | 2 +- ...nifest.4d3ec297e7d942c49a1c6097d69c2156.js | 30 + ...nifest.f28f35994e2cae4a56b959bdb12b80a7.js | 30 - internal/serv/web/build/service-worker.js | 2 +- .../web/build/static/css/2.bf3fdedd.chunk.css | 2 + .../build/static/css/2.bf3fdedd.chunk.css.map | 1 + .../build/static/css/main.45320ab8.chunk.css | 2 + .../static/css/main.45320ab8.chunk.css.map | 1 + .../build/static/css/main.d75bd24d.chunk.css | 2 - .../static/css/main.d75bd24d.chunk.css.map | 1 - .../web/build/static/js/2.0737febf.chunk.js | 3 - .../static/js/2.0737febf.chunk.js.LICENSE.txt | 131 - .../build/static/js/2.0737febf.chunk.js.map | 1 - .../web/build/static/js/2.d3b1e703.chunk.js | 3 + .../static/js/2.d3b1e703.chunk.js.LICENSE.txt | 34 + .../build/static/js/2.d3b1e703.chunk.js.map | 1 + .../build/static/js/main.0d09a938.chunk.js | 2 + .../static/js/main.0d09a938.chunk.js.map | 1 + .../build/static/js/main.688910ac.chunk.js | 2 - .../static/js/main.688910ac.chunk.js.map | 1 - .../web/build/static/media/logo.57ee3b60.png | Bin 32043 -> 0 bytes internal/serv/web/package.json | 20 +- internal/serv/web/src/App.js | 149 +- internal/serv/web/src/index.css | 14 +- internal/serv/web/src/index.js | 9 +- internal/serv/web/yarn.lock | 3864 +++++++---------- internal/serv/ws.go | 34 +- 36 files changed, 1931 insertions(+), 3013 deletions(-) create mode 100644 internal/serv/web/build/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js delete mode 100644 internal/serv/web/build/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js create mode 100644 internal/serv/web/build/static/css/2.bf3fdedd.chunk.css create mode 100644 internal/serv/web/build/static/css/2.bf3fdedd.chunk.css.map create mode 100644 internal/serv/web/build/static/css/main.45320ab8.chunk.css create mode 100644 internal/serv/web/build/static/css/main.45320ab8.chunk.css.map delete mode 100644 internal/serv/web/build/static/css/main.d75bd24d.chunk.css delete mode 100644 internal/serv/web/build/static/css/main.d75bd24d.chunk.css.map delete mode 100644 internal/serv/web/build/static/js/2.0737febf.chunk.js delete mode 100644 internal/serv/web/build/static/js/2.0737febf.chunk.js.LICENSE.txt delete mode 100644 internal/serv/web/build/static/js/2.0737febf.chunk.js.map create mode 100644 internal/serv/web/build/static/js/2.d3b1e703.chunk.js create mode 100644 internal/serv/web/build/static/js/2.d3b1e703.chunk.js.LICENSE.txt create mode 100644 internal/serv/web/build/static/js/2.d3b1e703.chunk.js.map create mode 100644 internal/serv/web/build/static/js/main.0d09a938.chunk.js create mode 100644 internal/serv/web/build/static/js/main.0d09a938.chunk.js.map delete mode 100644 internal/serv/web/build/static/js/main.688910ac.chunk.js delete mode 100644 internal/serv/web/build/static/js/main.688910ac.chunk.js.map delete mode 100644 internal/serv/web/build/static/media/logo.57ee3b60.png diff --git a/core/internal/sdata/schema.go b/core/internal/sdata/schema.go index 8e7f43cf..973cf790 100644 --- a/core/internal/sdata/schema.go +++ b/core/internal/sdata/schema.go @@ -24,7 +24,6 @@ type DBSchema struct { schema string // db schema name string // db name tables []DBTable // tables - custom []DBTable // custom resolver tables vt map[string]VirtualTable // for polymorphic relationships fm map[string]DBFunction // db functions tindex map[string]nodeInfo // table index @@ -191,7 +190,6 @@ func (s *DBSchema) addRemoteRel(t DBTable) error { return err } - s.custom = append(s.custom, t) return s.addToGraph(t, t.PrimaryCol, pt, pc, RelRemote) } @@ -283,10 +281,6 @@ func (s *DBSchema) GetTables() []DBTable { return s.tables } -func (s *DBSchema) GetCustomTables() []DBTable { - return s.custom -} - func (ti *DBTable) getColumn(name string) (DBColumn, bool) { var c DBColumn if i, ok := ti.colMap[name]; ok { diff --git a/core/internal/sdata/tables.go b/core/internal/sdata/tables.go index 4eccadc8..71582e4a 100644 --- a/core/internal/sdata/tables.go +++ b/core/internal/sdata/tables.go @@ -4,6 +4,8 @@ import ( "database/sql" "fmt" "strings" + + "golang.org/x/sync/errgroup" ) type DBInfo struct { @@ -48,26 +50,39 @@ func GetDBInfo( var dbVersion int var dbSchema, dbName string - var row *sql.Row + var cols []DBColumn + var funcs []DBFunction - switch dbType { - case "mysql": - row = db.QueryRow(mysqlInfo) - default: - row = db.QueryRow(postgresInfo) - } + g := errgroup.Group{} - if err := row.Scan(&dbVersion, &dbSchema, &dbName); err != nil { - return nil, err - } + g.Go(func() error { + var row *sql.Row + switch dbType { + case "mysql": + row = db.QueryRow(mysqlInfo) + default: + row = db.QueryRow(postgresInfo) + } - cols, err := DiscoverColumns(db, dbType, blockList) - if err != nil { - return nil, err - } + if err := row.Scan(&dbVersion, &dbSchema, &dbName); err != nil { + return err + } + return nil + }) - funcs, err := DiscoverFunctions(db, blockList) - if err != nil { + g.Go(func() error { + var err error + if cols, err = DiscoverColumns(db, dbType, blockList); err != nil { + return err + } + + if funcs, err = DiscoverFunctions(db, blockList); err != nil { + return err + } + return nil + }) + + if err := g.Wait(); err != nil { return nil, err } diff --git a/core/introspec.go b/core/introspec.go index f5cd91cd..53732d79 100644 --- a/core/introspec.go +++ b/core/introspec.go @@ -185,16 +185,16 @@ func (in *intro) addTables() error { } } - for _, t := range in.GetCustomTables() { - if err := in.addTable(t.Name, t); err != nil { - return err - } - desc := fmt.Sprintf( - "Table '%s' is a custom resolved table no column information is available", - t.Name, - ) - in.addToTable(t.PrimaryCol.FKeyTable, desc, t) - } + // for _, t := range in.GetCustomTables() { + // if err := in.addTable(t.Name, t); err != nil { + // return err + // } + // desc := fmt.Sprintf( + // "Table '%s' is a custom resolved table no column information is available", + // t.Name, + // ) + // in.addToTable(t.PrimaryCol.FKeyTable, desc, t) + // } return nil } @@ -215,6 +215,10 @@ func (in *intro) addTable(name string, ti sdata.DBTable) error { return nil } + if len(ti.Columns) == 0 { + return nil + } + // outputType ot := &schema.Object{ Name: name + "Output", Fields: schema.FieldList{}, diff --git a/examples/webshop/config/dev.yml b/examples/webshop/config/dev.yml index 49fe2fe1..1828c21f 100644 --- a/examples/webshop/config/dev.yml +++ b/examples/webshop/config/dev.yml @@ -86,8 +86,8 @@ set_user_id: false # ip_header sets the header that contains the client ip. # https://en.wikipedia.org/wiki/Token_bucket rate_limiter: - rate: 2 - bucket: 3 + rate: 100 + bucket: 20 ip_header: X-Forwarded-For # Enable additional debugging logs diff --git a/go.mod b/go.mod index 115f96d2..5d2a0646 100644 --- a/go.mod +++ b/go.mod @@ -51,6 +51,7 @@ require ( golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9 golang.org/x/lint v0.0.0-20200302205851-738671d3881b golang.org/x/perf v0.0.0-20201207232921-bdcc6220ee90 + golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e golang.org/x/tools v0.1.0 gonum.org/v1/gonum v0.8.2 diff --git a/go.sum b/go.sum index 55b12136..2d752063 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,5 @@ 4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a h1:wFEQiK85fRsEVF0CRrPAos5LoAryUsIX1kPW/WrIqFw= 4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= -bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVcx2bQD38uZZeGtdlw= bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= @@ -28,19 +27,15 @@ cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNF cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0 h1:PQcPefKFdaIzjQFbiyOgAqyx8q5djaE7x9Sqe712DPA= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.4.0 h1:A8eudYNUtdspdyoR6OaPoZxSFxE4qu7ctKcxvhGsUOE= cloud.google.com/go/firestore v1.4.0/go.mod h1:NjjGEnxCS3CAKYp+vmALu20QzcqasGodQp48WxJGAYc= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.9.0 h1:KT1LvuKJG2FMHA4HhOC/QFJ/f6i9kdNlXB4U43prxjg= cloud.google.com/go/pubsub v1.9.0/go.mod h1:G3o6/kJvEMIEAN5urdkaP4be49WQsjNiykBIto9LFtY= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= @@ -61,24 +56,19 @@ contrib.go.opencensus.io/exporter/zipkin v0.1.2 h1:YqE293IZrKtqPnpwDPH/lOqTWD/s3 contrib.go.opencensus.io/exporter/zipkin v0.1.2/go.mod h1:mP5xM3rrgOjpn79MM8fZbj3gsxcuytSqtH0dxSWW1RE= contrib.go.opencensus.io/integrations/ocsql v0.1.7 h1:G3k7C0/W44zcqkpRSFyjU9f6HZkbwIrL//qqnlqWZ60= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= github.com/Azure/azure-amqp-common-go/v3 v3.0.1/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= -github.com/Azure/azure-amqp-common-go/v3 v3.1.0 h1:1N4YSkWYWffOpQHromYdOucBSQXhNRKzqtgICy6To8Q= github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= github.com/Azure/azure-sdk-for-go v37.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v49.0.0+incompatible h1:rvYYNgKNBwoxUaBFmd/+TpW3qrd805EHBBvUp5FmFso= github.com/Azure/azure-sdk-for-go v49.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-service-bus-go v0.10.7 h1:fB1FeQYkDJN0m1FF3WWta1zUf0pOCN93UXsGnKtdqWQ= github.com/Azure/azure-service-bus-go v0.10.7/go.mod h1:o5z/3lDG1iT/T/G7vgIwIqVDTx9Qa2wndf5OdzSzpF8= github.com/Azure/azure-storage-blob-go v0.13.0 h1:lgWHvFh+UYBNVQLFHXkvul2f6yOPA9PIH82RTG2cSwc= github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= -github.com/Azure/go-amqp v0.13.1 h1:dXnEJ89Hf7wMkcBbLqvocZlM4a3uiX9uCxJIvU77+Oo= github.com/Azure/go-amqp v0.13.1/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= @@ -123,7 +113,6 @@ github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUM github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Djarvur/go-err113 v0.0.0-20200511133814-5174e21577d5/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Djarvur/go-err113 v0.1.0 h1:uCRZZOdMQ0TZPHYTdYpoC0bLYJKPEHPUJ8MeAa51lNU= @@ -133,9 +122,7 @@ github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo github.com/GeertJohan/go.rice v1.0.0 h1:KkI6O9uMaQU3VEKaj01ulavtF7o1fWT7+pk/4voiMLQ= github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0= github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo= -github.com/GoogleCloudPlatform/cloudsql-proxy v1.19.1 h1:eAKkTWSG0jXkdQ6V2qO+ovXMLcSCcqDqCK+A8xeVYN0= github.com/GoogleCloudPlatform/cloudsql-proxy v1.19.1/go.mod h1:+yYmuKqcBVkgRePGpUhTA9OEg0XsnFE96eZ6nJ2yCQM= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= @@ -155,37 +142,25 @@ github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cq github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.0.1 h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us= github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= -github.com/PuerkitoBio/purell v1.0.0 h1:0GoNN3taZV6QI81IXgCbxMyEaJDXMSIjArYBCYzVVvs= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2 h1:JCHLVE3B+kJde7bIEo5N4J+ZbLhp0J1Fs+ulyRws4gE= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0 h1:E5Dzlk3akC+T2Zj1LBHgfPK1y8YWgLDnNDRmG+tpSKw= github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0/go.mod h1:55qNq4vcpkIuHowELi5C8e+1yUHtoLoOUR9QU5j7Tes= -github.com/aclements/go-moremath v0.0.0-20161014184102-0ff62e0875ff h1:txKOXqsFQUyi7Ht0Prto4QMU4O/0Gby6v5RFqMS0/PM= github.com/aclements/go-moremath v0.0.0-20161014184102-0ff62e0875ff/go.mod h1:idZL3yvz4kzx1dsBOAC+oYv6L92P1oFEhUXUB1A/lwQ= github.com/adjust/gorails v0.0.0-20171013043634-2786ed0c03d3 h1:+qz9Ga6l6lKw6fgvk5RMV5HQznSLvI8Zxajwdj4FhFg= github.com/adjust/gorails v0.0.0-20171013043634-2786ed0c03d3/go.mod h1:FlkD11RtgMTYjVuBnb7cxoHmQGqvPpCsr2atC88nl/M= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af h1:wVe6/Ea46ZMeNkQjjBW6xcqyQA/j5e0D6GytH95g0gQ= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/akavel/rsrc v0.8.0 h1:zjWn7ukO9Kc5Q62DOJCcxGpXC18RawVtYAGdz2aLlfw= github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/alecthomas/kingpin v2.2.6+incompatible h1:5svnBTFgJjZvGKyYBtMB0+m5wvrbUHiqye8wRJMlnYI= github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= @@ -196,37 +171,27 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2c github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexkohler/prealloc v0.0.0-20210204145425-77a5b5dd9799 h1:PIWLjlnnNq9F44hAJcuOf0BKZGPjDE5GxSavQcXaBBg= github.com/alexkohler/prealloc v0.0.0-20210204145425-77a5b5dd9799/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= -github.com/andybalholm/brotli v1.0.0 h1:7UCwP93aiSfvWpapti8g88vVVGp2qqtGyePsSuDafo4= github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0= github.com/apex/log v1.9.0/go.mod h1:m82fZlWIuiWzWP04XCTXmnX0xRkYYbCdYn8jbJeLBEA= -github.com/apex/logs v1.0.0 h1:adOwhOTeXzZTnVuEK13wuJNBFutP0sOfutRS8NY+G6A= github.com/apex/logs v1.0.0/go.mod h1:XzxuLZ5myVHDy9SAmYpamKKRNApGj54PfYLcFrXqDwo= -github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a h1:2KLQMJ8msqoPHIPDufkxVcoTtcmE5+1sL9950m4R9Pk= github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE= -github.com/aphistic/sweet v0.2.0 h1:I4z+fAUqvKfvZV/CHi5dV0QuwbmIvYYFDjG0Ss5QpAs= github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3stzu0Xys= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/ashanbrown/forbidigo v1.0.0/go.mod h1:PH+zMRWE15yW69fYfe7Kn8nYR6yYyafc3ntEGh2BBAg= github.com/ashanbrown/forbidigo v1.1.0 h1:SJOPJyqsrVL3CvR0veFZFmIM0fXS/Kvyikqvfphd0Z4= github.com/ashanbrown/forbidigo v1.1.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/makezero v0.0.0-20201205152432-7b7cdbb3025a h1:/U9tbJzDRof4fOR51vwzWdIBsIH6R2yU0KG1MBRM2Js= github.com/ashanbrown/makezero v0.0.0-20201205152432-7b7cdbb3025a/go.mod h1:oG9Dnez7/ESBqc4EdrdNlryeo7d0KcW1ftXHm7nU/UU= -github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -235,17 +200,13 @@ github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go v1.30.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.36.1 h1:rDgSL20giXXu48Ycx6Qa4vWaNTVTltUl6vA73ObCSVk= github.com/aws/aws-sdk-go v1.36.1/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go-v2 v0.18.0 h1:qZ+woO4SamnH/eEbjM2IDLhRNwIwND/RQyVlBLp3Jqg= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59 h1:WWB576BN5zNSZc/M9d/10pqEx5VHNhaQ/yOVAkmj5Yo= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= @@ -261,11 +222,9 @@ github.com/caarlos0/ctrlc v1.0.0 h1:2DtF8GSIcajgffDFJzyG15vO+1PuBWOMUdFut7NnXhw= github.com/caarlos0/ctrlc v1.0.0/go.mod h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw= github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e h1:V9a67dfYqPLAvzk5hMQOXYJlZ4SLIXgyKIE+ZiHzgGQ= github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e/go.mod h1:9IOqJGCPMSc6E5ydlp5NIonxObaeu/Iub/X03EKPVYo= -github.com/casbin/casbin/v2 v2.1.2 h1:bTwon/ECRx9dwBy2ewRVr5OiqjeXSGiTUY74sDPQi/g= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e h1:hHg27A0RSSp2Om9lubZpiMgVbvn39bsUmW9U5h0twqc= github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= @@ -279,38 +238,27 @@ github.com/charithe/durationcheck v0.0.3 h1:W+9cu38epH7otBF96pdhbFw5vLilsl1oseMO github.com/charithe/durationcheck v0.0.3/go.mod h1:0oCYOIgY8Om3hZxPedxKn0mzy0rneKTWJhRm+r6Gl20= github.com/chirino/graphql v0.0.0-20200723175208-cec7bf430a98 h1:EZLwM65LWcjnX2ry8tiBlg2vEBepDcf4wt1T1Q8J7c0= github.com/chirino/graphql v0.0.0-20200723175208-cec7bf430a98/go.mod h1:QJryzmxY+8v+nP7+HjPsMxT4q+tfZZq387ZdG0md+kU= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354 h1:9kRtNpqLHbZVO/NNxhHp2ymxFxsHOe3x2efJGn//Tas= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= @@ -329,13 +277,10 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/denis-tingajkin/go-header v0.4.2 h1:jEeSF4sdv8/3cT/WY8AgDHUoItNSoEZ7qg9dX7pc218= github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/devigned/tab v0.1.1 h1:3mD6Kb1mUOYeLpJvTVSDwSg5ZsfSxfvxGRTxRsJsITA= github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= @@ -350,27 +295,17 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20200912112403-81ddb8a7cc41 h1:2P55x6IerzvQIv7bdKEQQWl93uIEQgh6417+uwHGtKQ= github.com/dop251/goja v0.0.0-20200912112403-81ddb8a7cc41/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4 h1:qk/FSDDxo05wdJH28W+p5yivv7LuLYLRXPPD8KQCtZs= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elastic/go-elasticsearch/v7 v7.9.0 h1:UEau+a1MiiE/F+UrDj60kqIHFWdzU1M2y/YtBU2NC2M= github.com/elastic/go-elasticsearch/v7 v7.9.0/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1/YsqVWoWNLQO+fusocsw354rqGTZtAgw= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= @@ -378,14 +313,11 @@ github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4s github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7 h1:EARl0OvqMoxq/UMgMSCLnXzkaXbxzskluEBlMQCJPms= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/esimonov/ifshort v1.0.0/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/esimonov/ifshort v1.0.1 h1:p7hlWD15c9XwvwxYg3W7f7UZHmwg7l9hC0hBiF95gd0= github.com/esimonov/ifshort v1.0.1/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= -github.com/evanphx/json-patch v4.9.0+incompatible h1:kLcOMZeuLAJvL2BPWLMIj5oaZQobrkAqrL+WFZwQses= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= @@ -395,17 +327,12 @@ github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4 github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90 h1:WXb3TSNmHp2vHoCroCIB1foO/yQ36swABL8aOVeDpgg= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/friendsofgo/graphiql v0.2.2 h1:ccnuxpjgIkB+Lr9YB2ZouiZm7wvciSfqwpa9ugWzmn0= github.com/friendsofgo/graphiql v0.2.2/go.mod h1:8Y2kZ36AoTGWs78+VRpvATyt3LJBx0SZXmay80ZTRWo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= @@ -415,11 +342,8 @@ github.com/fzipp/gocyclo v0.3.1/go.mod h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASx github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM= github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/git-chglog/git-chglog v0.10.0 h1:xMlfLYG8n7PawZGZJaL5Duy4b2Z1kvvCpzhGH5+sUYo= github.com/git-chglog/git-chglog v0.10.0/go.mod h1:WUa9ClOuSj9JSAGvEtsmVew3urFQPCroKmR2xW3gLeI= @@ -436,47 +360,30 @@ github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbK github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= github.com/go-git/go-git/v5 v5.2.0 h1:YPBLG/3UK1we1ohRkncLjaXWLW+HKp5QNM/jTli2JgI= github.com/go-git/go-git/v5 v5.2.0/go.mod h1:kh02eMX+wdqqxgNMEyq8YgwlIOsDOa9homkUq1PoTMs= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo= github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0 h1:QvGt2nLcHH0WK9orKa+ppBPAxREcH364nPUedEpK0TY= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1 h1:wSt/4CYxs70xbATrGXhokKF1i0tZjENLOo1ioIO13zk= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9 h1:tF+augKRWlWx0J0B7ZyyKSiTyV6E1zZe+7b3qQlcEf8= github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501 h1:C1JKChikHGpXwT5UQDFaryIpDtyyGL/CR6C2kB7F1oc= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87 h1:zP3nY8Tk2E6RTkqGYrarZXuzh+ffyLDljLxCy1iJw80= github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-pkgz/expirable-cache v0.0.3 h1:rTh6qNPp78z0bQE6HDhXBHUwqnV9i09Vm6dksJLXQDc= github.com/go-pkgz/expirable-cache v0.0.3/go.mod h1:+IauqN00R2FqNRLCLA+X5YljQJrwB179PfiAoMPlTlQ= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-redis/redis v6.15.7+incompatible h1:3skhDh95XQMpnqeqNftPkQD9jL9e5e36z/1SUm6dy1U= github.com/go-redis/redis v6.15.7+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-redis/redis/v7 v7.2.0 h1:CrCexy/jYWZjW0AyVoHlcJUeZN19VWlbepTh1Vq6dJs= github.com/go-redis/redis/v7 v7.2.0/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= @@ -484,7 +391,6 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= @@ -494,7 +400,6 @@ github.com/go-toolsmith/astequal v1.0.0 h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0 github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= -github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21 h1:wP6mXeB2V/d1P1K7bZ5vDUO3YqEzcvOREOxZPEu3gVI= github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= @@ -507,62 +412,43 @@ github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYw github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd h1:hSkbZ9XSyjyBirMeqSqUrK+9HboWrweVlzRNqoBi2d4= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0 h1:31atYa/UW9V5q8vMJ+W6wd64OaaTHUrCUXER358zLM4= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU= github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1 h1:iQ0D6SpNXIxu52WESsD+KoQ7af2e3nCfnSBoSF/hKe0= github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211 h1:mSVZ4vj4khv+oThUfS+SQU3UuFIZ5Zo6UNcvK8E8Mz8= github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1 h1:dLg+zb+uOyd/mKeQUYIbwbNmfRsr9hd/WtYWepmayhI= github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2 h1:8thhT+kUJMTMy3HlX4+y9Da+BNJck+p109tqqKp7WDs= github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2 h1:fq9WcL1BYrm36SzK6+aAnZ8hcp+SrmnDyAxhNx8dvJk= github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0 h1:4sGKOD8yaYJ+dek1FDkwcxCHA40M4kfKgFHx8N2kwbU= github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0 h1:Ir9W9XIm9j7bhhkKE9cokvtTl1vBm62A/fene/ZCj6A= github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754 h1:tpom+2CJmpzAWj5/VEHync2rJGi+epHNIeRSWjzGA+4= github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/gofrs/flock v0.8.0 h1:MSdYClljsF3PbENUUEx85nkWfJSGfzYI9yEBZOJz6CY= github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v1.1.0 h1:kFkMAZBNAn4j7K0GiZr8cRYzejq68VbheufiV3YuyFI= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -577,7 +463,6 @@ github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFU github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -595,7 +480,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= @@ -605,7 +489,6 @@ github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6 h1:YYWNAGTKWhKpc github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0= github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613 h1:9kfjN3AdxcbsZBf8NjltjWihK2QfBBBZuv91cMFfDHw= github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= -github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d h1:pXTK/gkVNs7Zyy7WKgLXmpQ5bHTrq5GDsp8R9Qs67g0= github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= @@ -621,7 +504,6 @@ github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZ github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21 h1:leSNB7iYzLYSSx3J/s5sVf4Drkc68W2wm4Ixh/mr0us= github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= github.com/golangci/revgrep v0.0.0-20180812185044-276a5c0a1039/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= @@ -629,18 +511,12 @@ github.com/golangci/revgrep v0.0.0-20210208091834-cd28932614b5 h1:c9Mqqrm/Clj5bi github.com/golangci/revgrep v0.0.0-20210208091834-cd28932614b5/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= -github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac h1:Q0Jsdxl5jbxouNs1TQYt0gxesYMU4VXRbsTlgDloZ50= github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= -github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82 h1:EvokxLQsaaQjcWVWSV38221VAK7qc2zhaO17bKys/18= github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= -github.com/gonum/internal v0.0.0-20181124074243-f884aa714029 h1:8jtTdc+Nfj9AR+0soOeia9UZSvYBvETVHZrugUowJ7M= github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= -github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9 h1:7qnwS9+oeSiOIsiUMajT+0R7HR6hw5NegnKPmn/94oI= github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A= -github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9 h1:V2IgdyerlBa/MxaEFRbV5juy/C3MGdj4ePi+g6ePIp4= github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -662,7 +538,6 @@ github.com/google/go-replayers/httpreplay v0.1.2 h1:HCfx+dQzwN9XbGTHF8qJ+67WN8gl github.com/google/go-replayers/httpreplay v0.1.2/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= @@ -678,13 +553,10 @@ github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200905233945-acf8798be1f7/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c h1:Jx2lEv4nMccTJE+IIZOVIvk+DjNKlRsW0sm1uBr896U= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/rpmpack v0.0.0-20201225075926-0a97c2c4b688 h1:jyGRCFMyDK/gKe6QRZQWci5+wEUBFElvxLHs3iwO3hY= github.com/google/rpmpack v0.0.0-20201225075926-0a97c2c4b688/go.mod h1:+y9lKiqDhR4zkLl+V9h4q0rdyrYVsWWm6LLCQP33DIk= -github.com/google/subcommands v1.0.1 h1:/eqq+otEXm5vhfBrbREPCSVQbvofip6kIz+mX5TUH7k= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -698,9 +570,7 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= -github.com/googleapis/gnostic v0.5.1 h1:A8Yhf6EtqTv9RMsU6MQTyrtV1TjWlR6xU9BsZIwuTCM= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/gookit/color v1.3.6 h1:Rgbazd4JO5AgSTVGS3o0nvaSdwdrS8bzvIXwtK6OiMk= github.com/gookit/color v1.3.6/go.mod h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c h1:7lF+Vz0LqiRidnzC1Oq86fpX1q/iEv2KJdrCtttYjT4= @@ -713,7 +583,6 @@ github.com/goreleaser/goreleaser v0.157.0 h1:lAX+11X9he4z7M9/zG3nhT16NmnlbvcXlqr github.com/goreleaser/goreleaser v0.157.0/go.mod h1:GDgOqiBJi7z1tzW+/t10AbNWrhwtzBhNMMt/dOYlFLo= github.com/goreleaser/nfpm/v2 v2.2.4 h1:ecw+KrCutS/OS93doMEVggjbybSlFdPXnyiL0Hh/4G8= github.com/goreleaser/nfpm/v2 v2.2.4/go.mod h1:d+D1TGGcyZjAIv0d7a5bQrcdEJcKXrUjQuk45H02bD8= -github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= @@ -734,49 +603,34 @@ github.com/gostaticanalysis/analysisutil v0.6.1/go.mod h1:18U/DLpRgIUd459wGxVHE0 github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gostaticanalysis/comment v1.4.1 h1:xHopR5L2lRz6OsjH4R2HG5wRhW9ySl3FsHIvi5pcXwc= github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.3.0 h1:HXNYlRkkM/t+Y/Yhxtwcy02dlYwIaoxzvxPnS+cqy78= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.3.0 h1:UOxjlb4xVNF93jak1mzzoBatyFju9nrkxpVwIp/QqxQ= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-retryablehttp v0.6.4 h1:BbgctKO892xEyOXnGiaAwIoSq1QZ/SS4AhjoAh9DnfY= github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.0 h1:Rqb66Oo1X/eSV1x66xbDccZjhJigjg0+e82kpwzSwCI= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.1 h1:zEfKbn2+PDgroKdiOzqiE8rsmLqU2uwi5PB5pBJ3TkI= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -784,24 +638,17 @@ github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+l github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0 h1:WhIgCr5a7AaVH6jPUwjtRuuE7/RDufnUvzIr48smyxs= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3 h1:EmmoJme1matNzb+hMpDuR/0sbJSUisxyqBGG676r31M= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2 h1:YZ7UKsJv+hKjqGVUUbtE3HNj79Eln2oQ75tniF6iPt0= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/hudl/fargo v1.3.0 h1:0U6+BtN6LhaYuTnIJq4Wyq5cpn6O2kWrxAtcqBmYY6w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= @@ -809,7 +656,6 @@ github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d h1:/WZQPMZNsjZ7IlCpsLGdQBINg5bxKQ1K1sh6awxLtkA= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= @@ -862,7 +708,6 @@ github.com/jackc/pgx/v4 v4.8.1/go.mod h1:4HOLxrl8wToZJReD04/yB20GDwf4KBYETvlHciC github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.1 h1:PJAw7H/9hoWC4Kf3J8iNmL1SwA6E8vfsLqBiL+F6CtI= github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jarcoal/httpmock v1.0.8 h1:8kI16SoO6LQKgPE7PvQuV+YuD/inwHd7fOOe2zMbo4k= github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= @@ -886,22 +731,17 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5 h1:lrdPtrORjGv1HbbEvKWDUAy97mPpFm4B8hp77tcCUJY= github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= @@ -909,12 +749,9 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3 h1:lOpSw2vJP0y5eLBW906QwKsUK/fe/QDyoqM5rnnuPDY= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= @@ -922,7 +759,6 @@ github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0 h1:reN85Pxc5larApoH1keMBiu2GWtPqXQ1nc9gx+jOU+E= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= @@ -931,18 +767,13 @@ github.com/klauspost/compress v1.9.8/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0 github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.3 h1:dB4Bn0tN3wdCzQxnS8r06kV74qN/TAfaIS0bVE8h3jc= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -958,7 +789,6 @@ github.com/kunwardeep/paralleltest v1.0.2 h1:/jJRv0TiqPoEy/Y8dQxCFJhD56uS/pnvtat github.com/kunwardeep/paralleltest v1.0.2/go.mod h1:ZPqNm1fVHPllh5LPVujzbVz1JN2GhLxSfY+oqUsvG30= github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -967,24 +797,17 @@ github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.5.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.9.0 h1:L8nSXQQzAYByakOFMTwpjRoHsMJklur4Gi59b6VivR8= github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e h1:9MlwzLdW7QSDrhDjFlsEYmxpFyIoXmYRon3dt0io31k= github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.4 h1:8KGKTcQQGm0Kv7vEbKFErAoAOFyyacLStRtQSeYtvkY= github.com/magiconair/properties v1.8.4/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a h1:TpvdAwDAt1K4ANVOfcihouRdvP+MgAfDWwBuct4l6ZY= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2 h1:JgVTCPf0uBVcUSWpyXmGpgOc62nK5HWUBKAGc3Qqa5k= github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matoous/godox v0.0.0-20200801072554-4fb83dc2941e h1:2U5rOmpaB96l35w+NDjMtmmrp2e6a6AJKoc4B5+7UwA= @@ -1013,9 +836,7 @@ github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-shellwords v1.0.10 h1:Y7Xqm8piKOO3v10Thp7Z36h4FYFjt5xB//6XvOrs2Gw= github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.5 h1:1IdxlwTNazvbKJQSxoJ5/9ECbEeaTTyeU7sEAZ5KKTQ= github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= -github.com/mattn/goveralls v0.0.2 h1:7eJB6EqsPhRVxvwEXGnqdO2sJI0PTsrWoTMXEk9/OQc= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1028,22 +849,16 @@ github.com/mgechev/revive v1.0.3 h1:z3FL6IFFN3JKzHYHD8O1ExH9g/4lAGJ5x1+9rPZgsFg= github.com/mgechev/revive v1.0.3/go.mod h1:POGGZagSo/0frdr7VeAifzS5Uka0d0GPiM35MsTO8nE= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/miekg/dns v1.0.14 h1:9jZdLNd/P4+SfEJ0TNyxYpsK8N4GtfylBLqtbYN1sbA= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0 h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= -github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -1054,37 +869,25 @@ github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/mozilla/tls-observatory v0.0.0-20201209171846-0547674fceff h1:1l3C92dKs28p0T3Abeem2JDPbtQgEWyNVzflHmyrAwU= github.com/mozilla/tls-observatory v0.0.0-20201209171846-0547674fceff/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d h1:7PxY7LVfSZm7PEeBTyK1rj1gABdCO2mbri6GKO1cMDs= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nakabonne/nestif v0.3.0 h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw= github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2 h1:i2Ly0B+1+rzNZHHWtD4ZwKi+OU5l+uQo1iDHZ2PmiIc= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1 h1:ik3HbLhZ0YABLto7iX80pZLPw/6dx3T+++MZJwLnMrQ= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3 h1:6JrEfig+HzTH85yxzhSVbjHRJv9cn0p6n3IngIcM5/k= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/nbutton23/zxcvbn-go v0.0.0-20201221231540-e56b841a3c88 h1:o+O3Cd1HO9CTgxE3/C8p5I5Y4C0yYWbF8d4IkfOLtcQ= github.com/nbutton23/zxcvbn-go v0.0.0-20201221231540-e56b841a3c88/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= @@ -1098,11 +901,8 @@ github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229 h1:E2B8qYyeSgv github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229/go.mod h1:0aYXnNPJ8l7uZxf45rWW1a/uME32OF0rhiYGNQ2oF2E= github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8= @@ -1127,15 +927,12 @@ github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0C github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= @@ -1144,38 +941,29 @@ github.com/openzipkin/zipkin-go v0.2.4 h1:U5TVrlsR1jPV1oJp7XqkC1XDk32tSZGwQIIywT github.com/openzipkin/zipkin-go v0.2.4/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= github.com/orlangure/gnomock v0.10.1 h1:4RKiWkuETmCKv3P13I0LGyUIMgP9QN1MEKXhPB5/AwE= github.com/orlangure/gnomock v0.10.1/go.mod h1:hTsIl+VEiqfXVkeXxsT6RM/Ed6zlsp31VDc75+aKrgw= -github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= -github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1 h1:F++O52m40owAmADcojzM+9gyjmMOY/T4oYJkgFDH8RE= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/sftp v1.10.1 h1:VasscCm72135zRysgrJDKsntdmPN+OuU3+nnHYA9wyc= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polyfloyd/go-errorlint v0.0.0-20201127212506-19bd8db6546f h1:xAw10KgJqG5NJDfmRqJ05Z0IFblKumjtMeyiOLxj3+4= github.com/polyfloyd/go-errorlint v0.0.0-20201127212506-19bd8db6546f/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= -github.com/posener/complete v1.1.1 h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -1216,43 +1004,35 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/statsd_exporter v0.15.0/go.mod h1:Dv8HnkoLQkeEjkIE4/2ndAA7WL1zHKK7WMqFQqu72rw= github.com/prometheus/statsd_exporter v0.18.0 h1:f/4x3TctafOi+p37DICAMS5IoY03eQ0yMBaPK91nPDo= github.com/prometheus/statsd_exporter v0.18.0/go.mod h1:YL3FWCG8JBBtaUSxAg4Gz2ZYu22bS84XM89ZQXXTWmQ= -github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c h1:JoUA0uz9U0FVFq5p4LjEq4C0VgQ0El320s3Ms0V4eww= github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= github.com/quasilyte/go-ruleguard v0.2.1-0.20201030093329-408e96760278/go.mod h1:2RT/tf0Ce0UDj5y243iWKosQogJd8+1G3Rs2fxmlYnw= github.com/quasilyte/go-ruleguard v0.2.1/go.mod h1:hN2rVc/uS4bQhQKTio2XaSJSafJwqBUWWwtssT3cQmc= github.com/quasilyte/go-ruleguard v0.3.0 h1:A3OfpsK2ynOTbz/KMi62qWzignjGCOZVChATSf4P+A0= github.com/quasilyte/go-ruleguard v0.3.0/go.mod h1:p2miAhLp6fERzFNbcuQ4bevXs8rgK//uCHsUDkumITg= github.com/quasilyte/go-ruleguard/dsl v0.0.0-20210106184943-e47d54850b18/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.0.0-20210115110123-c73ee1cbff1f h1:e+uECJCDesYxvHKYsB1xWY/WpReTQoN6F14Nhny2Vik= github.com/quasilyte/go-ruleguard/dsl v0.0.0-20210115110123-c73ee1cbff1f/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1 h1:PX/E0GYUnSV8vwVfpOUEIBKnPG3KmYunmNOBlL+zDko= github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/regex/syntax v0.0.0-20200805063351-8f842688393c h1:+gtJ/Pwj2dgUGlZgTrNFqajGYKZQc7Piqus/S6DK9CE= github.com/quasilyte/regex/syntax v0.0.0-20200805063351-8f842688393c/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be h1:ta7tUOvsPHVHGom5hKW5VXNc2xZIkfCKP8iaqOyYtUQ= github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be/go.mod h1:MIDFMn7db1kT65GmV94GzpX9Qdi7N/pQlwb+AN8wh+Q= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a h1:9ZKAASQSHhDYGoxY8uLVpewe1GDZ2vu2Tr/vTdVAkFQ= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/renathoaz/flect v0.2.3-0.20200901003717-8573c32cc9d7 h1:oeLbIJf+9co8tpqlerztuaKchkME2GsKWwFbbVaoZhc= github.com/renathoaz/flect v0.2.3-0.20200901003717-8573c32cc9d7/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.1.0 h1:INyGLmTCMGFr6OVIb977ghJvABML2CMVjPoRfNDdYDo= github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.2 h1:aIihoIOHCiLZHxyoNQ+ABL4NKhFTgKLBdMLyEAh98m0= github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0 h1:uPRuwkWF4J6fGsJ2R0Gn2jB1EQiav9k3S6CSdygQJXY= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1260,19 +1040,14 @@ github.com/ryancurrah/gomodguard v1.2.0 h1:YWfhGOrXwLGiqcC/u5EqG6YeS8nh+1fw0HEc8 github.com/ryancurrah/gomodguard v1.2.0/go.mod h1:rNqbC4TOIdUDcVMSIpNNAzTbzXAZa6W5lnUepvuMMgQ= github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f h1:UFr9zpz4xgTnIE5yIMtWAMngCdZ9p/+q6lTbgelo80M= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b h1:+gCnWOZV8Z/8jehJ2CdqB47Z3S+SREmQcuXkRFLNsiI= github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b/go.mod h1:am+Fp8Bt506lA3Rk3QCmSqmYmLMnPDhdDUcosQCAx+I= -github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/securego/gosec/v2 v2.6.1 h1:+KCw+uz16FYfFyJ/A5aU6uP7mnrL+j1TbDnk1yN+8R0= github.com/securego/gosec/v2 v2.6.1/go.mod h1:I76p3NTHBXsGhybUW+cEQ692q2Vp+A0Z6ZLzDIZy+Ao= -github.com/segmentio/kafka-go v0.4.2 h1:QXZ6q9Bu1JkAJQ/CQBb2Av8pFRG8LQ0kWCrLXgQyL8c= github.com/segmentio/kafka-go v0.4.2/go.mod h1:Inh7PqOsxmfgasV8InZYKVXWsdjcCq2d9tFV75GLbuM= github.com/segmentio/ksuid v1.0.2 h1:9yBfKyw4ECGTdALaF09Snw3sLJmYIX6AbPJrAy6MrDc= github.com/segmentio/ksuid v1.0.2/go.mod h1:BXuJDr2byAiHuQaQtSKoXh1J0YmUDurywOXgB2w+OSU= @@ -1281,22 +1056,16 @@ github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada h1:WokF3GuxBeL+n4Lk4Fa8v9mbdjlrl7bHuneF4N1bk2I= github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= -github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 h1:udFKJ0aHUL60LboW/A+DfgoHVedieIzIXE8uylPue0U= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc h1:jUIKcSPO9MoMJBbEoyE/RJoE8vz7Mb8AjvifMMwSyvY= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd h1:ug7PpSOB5RBPK1Kg6qskGBoP3Vnj/aNYFTznWvlkGo0= github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -1308,21 +1077,16 @@ github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v1.0.0 h1:UVQPSSmc3qtTi+zPPkCXvZX9VvW/xT/NsRvKfwY81a8= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= -github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9 h1:hp2CYQUINdZMHdvTdXtPOY2ainKl4IoMcpAXEf2xj3Q= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/smartystreets/gunit v1.0.0 h1:RyPDUFcJbvtXlhJPk7v+wnxZRY2EUokhEYl2EJOPToI= github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= -github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= -github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= @@ -1349,13 +1113,10 @@ github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/ssgreg/nlreturn/v2 v2.1.0 h1:6/s4Rc49L6Uo6RLjhWZGBpWWjfzk2yrf1nIW8m4wgVA= github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= -github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a h1:AhmOdSHeswKHBjhsLs/7+1voOxT+LLrSk/Nxvk35fug= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -1379,7 +1140,6 @@ github.com/tdakkota/asciicheck v0.0.0-20200416200610-e657995f937b/go.mod h1:yHp0 github.com/tetafro/godot v1.4.3/go.mod h1:ah7jjYmOMnIjS9ku2krapvGQrFNtTLo9Z/qB3dGU1eU= github.com/tetafro/godot v1.4.4 h1:VAtLEoAMmopIzHVWVBrztjVWDeYm1OD/DKqhqXR4828= github.com/tetafro/godot v1.4.4/go.mod h1:FVDd4JuKliW3UgjswZfJfHq4vAx0bD/Jd5brJjGeaz4= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94 h1:ig99OeTyDwQWhPe2iw9lwfQVF1KB3Q4fpP3X7/2VBG8= @@ -1387,16 +1147,11 @@ github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94/go.mod h1:Qimiff github.com/tj/assert v0.0.0-20171129193455-018094318fb0/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0= github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk= github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk= -github.com/tj/go-buffer v1.1.0 h1:Lo2OsPHlIxXF24zApe15AbK3bJLAOvkkxEA6Ux4c47M= github.com/tj/go-buffer v1.1.0/go.mod h1:iyiJpfFcR2B9sXu7KvjbT9fpM4mOelRSDTbntVj52Uc= -github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2 h1:eGaGNxrtoZf/mBURsnNQKDR7u50Klgcf2eFDQEnc8Bc= github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eNAjXGDx2yma7uG2XoyRZTq1uv3M/o7imD0= -github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b h1:m74UWYy+HBs+jMFR9mdZU6shPewugMyH5+GV6LNgW8w= github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao= -github.com/tj/go-spin v1.1.0 h1:lhdWZsvImxvZ3q1C5OIB7d72DuOwP4O2NdBg9PyzNds= github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tomarrell/wrapcheck v0.0.0-20200807122107-df9e8bcb914d/go.mod h1:yiFB6fFoV7saXirUGfuK+cPtUh4NX/Hf5y2WC2lehu0= github.com/tomarrell/wrapcheck v0.0.0-20201130113247-1683564d9756 h1:zV5mu0ESwb+WnzqVaW2z1DdbAP0S46UtjY8DHQupQP4= @@ -1411,9 +1166,7 @@ github.com/uber/jaeger-client-go v2.14.1-0.20180928181052-40fb3b2c4120+incompati github.com/uber/jaeger-client-go v2.14.1-0.20180928181052-40fb3b2c4120+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v1.5.0 h1:OHbgr8l656Ub3Fw5k9SWnBfIEwvoHQ+W2y+Aa9D1Uyo= github.com/uber/jaeger-lib v1.5.0/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -1431,41 +1184,30 @@ github.com/uudashr/gocognit v1.0.1 h1:MoG2fZ0b/Eo7NXoIwCVFLG5JED3qgQz5/NEE+rOsjP github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.16.0 h1:9zAqOYLl8Tuy3E5R6ckzGDJ1g8+pw15oQp2iL9Jl6gQ= github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= github.com/valyala/fasttemplate v1.0.1 h1:tY9CJiPnMXf1ERmG2EyK7gNUd+c6RKGD0IfU8WdUSz8= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/valyala/quicktemplate v1.6.3 h1:O7EuMwuH7Q94U2CXD6sOX8AYHqQqWtmIk690IhmpkKA= github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a h1:0R4NLDRDZX6JcmhJgXi5E4b8Wg84ihbmUKp/GvSPEzc= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/xanzy/go-gitlab v0.44.0 h1:cEiGhqu7EpFGuei2a2etAwB+x6403E5CvpLn35y+GPs= github.com/xanzy/go-gitlab v0.44.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c h1:u40Z8hqBAAQyv+vATcGgV0YCnDjqSL7/q/JyPhhJSPk= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xdg/stringprep v1.0.0 h1:d9X0esnoa3dFsV0FG35rAT0RIhYFlPq7MiP+DW89La0= github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1 h1:ruQGxdhGHe7FWOJPT0mKs5+pD2Xs1Bm/kdGlHO04FmM= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/zenazn/goji v0.9.0 h1:RSQQAbXGArQ0dIDEq+PI6WqN6if+5KHu6x2Cx/GXLTQ= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.mongodb.org/mongo-driver v1.3.2 h1:IYppNjEV/C+/3VPbhHVxQ4t04eVW0cLp0/pNdW++6Ug= go.mongodb.org/mongo-driver v1.3.2/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1488,7 +1230,6 @@ go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+ go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -1540,7 +1281,6 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 h1:QE6XYQK6naiK1EPAe1g/ILLxN golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -1554,7 +1294,6 @@ golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -1834,7 +1573,6 @@ gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b h1:Qh4dB5D/WpoUUp3lSod7qgoyEHbDGPUWjIbnqdqqe1k= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.0.0-20170206182103-3d017632ea10/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= @@ -1954,24 +1692,17 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.25 h1:Ev7yu1/f6+d+b3pi5vPdRPc6nNtP1umSfcWiEfRqv6I= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec h1:RlWgLqCMMIYYEVcAR5MDsuHlVkaIPDAF+5Dehzg8L5A= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/kyokomi/emoji.v1 v1.5.1 h1:beetH5mWDMzFznJ+Qzd5KVHp79YKhVUMcdO8LpRLeGw= gopkg.in/kyokomi/emoji.v1 v1.5.1/go.mod h1:N9AZ6hi1jHOPn34PsbpufQZUcKftSD7WgS2pgpmH4Lg= -gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -2000,21 +1731,14 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.6 h1:W18jzjh8mfPez+AwGLxmOImucz/IFjpNlrKVnaj2YVc= honnef.co/go/tools v0.0.1-2020.1.6/go.mod h1:pyyisuGw24ruLjrr1ddx39WE0y9OooInRzEYLhQB2YY= -k8s.io/api v0.19.2 h1:q+/krnHWKsL7OBZg/rxnycsl9569Pud76UJ77MvKXms= k8s.io/api v0.19.2/go.mod h1:IQpK0zFQ1xc5iNIQPqzgoOwuFugaYHK4iCknlAQP9nI= -k8s.io/apimachinery v0.19.2 h1:5Gy9vQpAGTKHPVOh5c4plE274X8D/6cuEiTO2zve7tc= k8s.io/apimachinery v0.19.2/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= -k8s.io/client-go v0.19.2 h1:gMJuU3xJZs86L1oQ99R4EViAADUPMHHtS9jFshasHSc= k8s.io/client-go v0.19.2/go.mod h1:S5wPhCqyDNAlzM9CnEdgTGV4OqhsW3jGO1UM1epwfJA= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac h1:sAvhNk5RRuc6FNYGqe7Ygz3PSo/2wGWbulskmzRX8Vs= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0 h1:XRvcwJozkgZ1UQJmfMGpvRthQHOvihEhYtDfAaxMz/A= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6 h1:+WnxoVtG8TMiudHBSEtrVL1egv36TkkJm+bA8AxicmQ= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20201005171033-6301aaf42dc7 h1:XQ0OMFdRDkDIu0b1zqEKSZdWUD7I4bZ4d4nqr8CLKbQ= k8s.io/utils v0.0.0-20201005171033-6301aaf42dc7/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= @@ -2024,20 +1748,12 @@ mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphD mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7 h1:kAREL6MPwpsk1/PQPFD3Eg7WAQR5mPTWZJaBiG5LDbY= mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/structured-merge-diff/v4 v4.0.1 h1:YXTMot5Qz/X1iBRJhAt+vI+HVttY0WkSqqhKxQ0xVbA= sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/internal/serv/http.go b/internal/serv/http.go index 80231c48..8a3161c5 100644 --- a/internal/serv/http.go +++ b/internal/serv/http.go @@ -36,17 +36,17 @@ type errorResp struct { Error string `json:"error"` } -func apiV1Handler(servConf *ServConfig) http.Handler { - h, err := auth.WithAuth(http.HandlerFunc(apiV1(servConf)), &servConf.conf.Auth) +func apiV1Handler(sc *ServConfig) http.Handler { + h, err := auth.WithAuth(http.HandlerFunc(sc.apiV1()), &sc.conf.Auth) if err != nil { - servConf.log.Fatalf("Error initializing auth: %s", err) + sc.log.Fatalf("Error initializing auth: %s", err) } - if len(servConf.conf.AllowedOrigins) != 0 { + if len(sc.conf.AllowedOrigins) != 0 { c := cors.New(cors.Options{ - AllowedOrigins: servConf.conf.AllowedOrigins, + AllowedOrigins: sc.conf.AllowedOrigins, AllowCredentials: true, - Debug: servConf.conf.DebugCORS, + Debug: sc.conf.DebugCORS, }) return c.Handler(h) } @@ -54,10 +54,10 @@ func apiV1Handler(servConf *ServConfig) http.Handler { return h } -func apiV1(servConf *ServConfig) func(http.ResponseWriter, *http.Request) { +func (sc *ServConfig) apiV1() func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { if websocket.IsWebSocketUpgrade(r) { - apiV1Ws(servConf, w, r) + sc.apiV1Ws(w, r) return } @@ -65,7 +65,7 @@ func apiV1(servConf *ServConfig) func(http.ResponseWriter, *http.Request) { w.Header().Set("Content-Type", "application/json") //nolint: errcheck - if servConf.conf.AuthFailBlock && !auth.IsAuth(ct) { + if sc.conf.AuthFailBlock && !auth.IsAuth(ct) { renderErr(w, errUnauthorized) return } @@ -86,7 +86,7 @@ func apiV1(servConf *ServConfig) func(http.ResponseWriter, *http.Request) { rc := core.ReqConfig{Vars: make(map[string]interface{})} - for k, v := range servConf.conf.HeaderVars { + for k, v := range sc.conf.HeaderVars { rc.Vars[k] = func() string { if v1, ok := r.Header[v]; ok { return v1[0] @@ -98,8 +98,8 @@ func apiV1(servConf *ServConfig) func(http.ResponseWriter, *http.Request) { res, err := gj.GraphQL(ct, req.Query, req.Vars, &rc) if err == nil { - if servConf.conf.CacheControl != "" && res.Operation() == core.OpQuery { - w.Header().Set("Cache-Control", servConf.conf.CacheControl) + if sc.conf.CacheControl != "" && res.Operation() == core.OpQuery { + w.Header().Set("Cache-Control", sc.conf.CacheControl) } //nolint: errcheck @@ -110,7 +110,7 @@ func apiV1(servConf *ServConfig) func(http.ResponseWriter, *http.Request) { renderErr(w, err) } - if servConf.conf.telemetryEnabled() { + if sc.conf.telemetryEnabled() { span := trace.FromContext(ct) span.AddAttributes( @@ -126,28 +126,28 @@ func apiV1(servConf *ServConfig) func(http.ResponseWriter, *http.Request) { ochttp.SetRoute(ct, apiRoute) } - if servConf.logLevel >= LogLevelInfo { - reqLog(servConf, res, err) + if sc.logLevel >= LogLevelInfo { + sc.reqLog(res, err) } } } -func reqLog(servConf *ServConfig, res *core.Result, err error) { +func (sc *ServConfig) reqLog(res *core.Result, err error) { fields := []zapcore.Field{ zap.String("op", res.OperationName()), zap.String("name", res.QueryName()), zap.String("role", res.Role()), } - if servConf.logLevel >= LogLevelDebug { + if sc.logLevel >= LogLevelDebug { fields = append(fields, zap.String("sql", res.SQL())) } if err != nil { fields = append(fields, zap.Error(err)) - servConf.zlog.Error("Query Failed", fields...) + sc.zlog.Error("Query Failed", fields...) } else { - servConf.zlog.Info("Query", fields...) + sc.zlog.Info("Query", fields...) } } diff --git a/internal/serv/rice-box.go b/internal/serv/rice-box.go index 7fe4a906..1567480f 100644 --- a/internal/serv/rice-box.go +++ b/internal/serv/rice-box.go @@ -95,148 +95,148 @@ func init() { // define files filea := &embedded.EmbeddedFile{ Filename: "asset-manifest.json", - FileModTime: time.Unix(1612512060, 0), + FileModTime: time.Unix(1613868993, 0), - Content: string("{\n \"files\": {\n \"main.css\": \"/static/css/main.d75bd24d.chunk.css\",\n \"main.js\": \"/static/js/main.688910ac.chunk.js\",\n \"main.js.map\": \"/static/js/main.688910ac.chunk.js.map\",\n \"runtime-main.js\": \"/static/js/runtime-main.bfca2edd.js\",\n \"runtime-main.js.map\": \"/static/js/runtime-main.bfca2edd.js.map\",\n \"static/js/2.0737febf.chunk.js\": \"/static/js/2.0737febf.chunk.js\",\n \"static/js/2.0737febf.chunk.js.map\": \"/static/js/2.0737febf.chunk.js.map\",\n \"index.html\": \"/index.html\",\n \"precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js\": \"/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js\",\n \"service-worker.js\": \"/service-worker.js\",\n \"static/css/main.d75bd24d.chunk.css.map\": \"/static/css/main.d75bd24d.chunk.css.map\",\n \"static/js/2.0737febf.chunk.js.LICENSE.txt\": \"/static/js/2.0737febf.chunk.js.LICENSE.txt\",\n \"static/media/logo.png\": \"/static/media/logo.57ee3b60.png\"\n },\n \"entrypoints\": [\n \"static/js/runtime-main.bfca2edd.js\",\n \"static/js/2.0737febf.chunk.js\",\n \"static/css/main.d75bd24d.chunk.css\",\n \"static/js/main.688910ac.chunk.js\"\n ]\n}"), + Content: string("{\n \"files\": {\n \"main.css\": \"/static/css/main.45320ab8.chunk.css\",\n \"main.js\": \"/static/js/main.0d09a938.chunk.js\",\n \"main.js.map\": \"/static/js/main.0d09a938.chunk.js.map\",\n \"runtime-main.js\": \"/static/js/runtime-main.bfca2edd.js\",\n \"runtime-main.js.map\": \"/static/js/runtime-main.bfca2edd.js.map\",\n \"static/css/2.bf3fdedd.chunk.css\": \"/static/css/2.bf3fdedd.chunk.css\",\n \"static/js/2.d3b1e703.chunk.js\": \"/static/js/2.d3b1e703.chunk.js\",\n \"static/js/2.d3b1e703.chunk.js.map\": \"/static/js/2.d3b1e703.chunk.js.map\",\n \"index.html\": \"/index.html\",\n \"precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js\": \"/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js\",\n \"service-worker.js\": \"/service-worker.js\",\n \"static/css/2.bf3fdedd.chunk.css.map\": \"/static/css/2.bf3fdedd.chunk.css.map\",\n \"static/css/main.45320ab8.chunk.css.map\": \"/static/css/main.45320ab8.chunk.css.map\",\n \"static/js/2.d3b1e703.chunk.js.LICENSE.txt\": \"/static/js/2.d3b1e703.chunk.js.LICENSE.txt\"\n },\n \"entrypoints\": [\n \"static/js/runtime-main.bfca2edd.js\",\n \"static/css/2.bf3fdedd.chunk.css\",\n \"static/js/2.d3b1e703.chunk.js\",\n \"static/css/main.45320ab8.chunk.css\",\n \"static/js/main.0d09a938.chunk.js\"\n ]\n}"), } fileb := &embedded.EmbeddedFile{ Filename: "favicon.ico", - FileModTime: time.Unix(1612511769, 0), + FileModTime: time.Unix(1613868985, 0), Content: string("\x00\x00\x01\x00\x03\x0000\x00\x00\x01\x00 \x00\xa8%\x00\x006\x00\x00\x00 \x00\x00\x01\x00 \x00\xa8\x10\x00\x00\xde%\x00\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\x00\x866\x00\x00(\x00\x00\x000\x00\x00\x00`\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\f\xaeRW\x18\xaeRW&\xaeRW3\xaeRW>\xaeRWG\xaeRWM\xaeRWP\xaeRWP\xaeRWM\xaeRWG\xaeRW>\xaeRW3\xaeRW&\xaeRW\x18\xaeRW\f\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW*\xaeRWT\xaeRW\u007f\xaeRW\xa4\xaeRW\xc1\xaeRWծRW\xe2\xaeRW\xeb\xaeRW\xf1\xaeRW\xf4\xaeRW\xf6\xaeRW\xf7\xaeRW\xf7\xaeRW\xf6\xaeRW\xf4\xaeRW\xf1\xaeRW\xeb\xaeRW\xe2\xaeRWծRW\xc1\xaeRW\xa4\xaeRW\u007f\xaeRWT\xaeRW*\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW=\xaeRW\x81\xaeRW\xbe\xaeRW\xe4\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xf7\xaeRW\xe4\xaeRW\xbe\xaeRW\x81\xaeRW<\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRW[\xaeRW\xb8\xaeRW\xed\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfd\xaeRW\xed\xaeRW\xb8\xaeRW[\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW,\xaeRW\xaf\xaeRW\xf6\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf6\xaeRW\xaf\xaeRW+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1e\xaeRWŮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRWĮRW\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWi\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWi\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfc\xaeRW\xf7\xaeRW\xee\xaeRW\xe3\xaeRWخRW̮RW®RW\xbb\xaeRW\xb7\xaeRW\xb5\xaeRW\xb5\xaeRW\xb7\xaeRW\xbc\xaeRW®RW̮RWخRW\xe3\xaeRW\xee\xaeRW\xf7\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xf7\xaeRW\xe2\xaeRW\xbf\xaeRW\x97\xaeRWq\xaeRWQ\xaeRW8\xaeRW&\xaeRW\x1a\xaeRW\x12\xaeRW\f\xaeRW\t\xaeRW\a\xaeRW\a\xaeRW\a\xaeRW\a\xaeRW\t\xaeRW\f\xaeRW\x12\xaeRW\x1a\xaeRW&\xaeRW8\xaeRWQ\xaeRWq\xaeRW\x97\xaeRW\xbf\xaeRW\xe2\xaeRW\xf7\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfd\xaeRW\xf9\xaeRW\u05eeRW\x99\xaeRWX\xaeRW'\xaeRW\f\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRV\x01\xaeRW\f\xaeRW'\xaeRWX\xaeRW\x99\xaeRW\u05eeRW\xf9\xaeRW\xfd\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x81\xaeRW\xfb\xaeRW®RWe\xaeRW\x1e\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x06\xaeRW\x12\xaeRW!\xaeRW1\xaeRW?\xaeRWL\xaeRWU\xaeRW[\xaeRW_\xaeRW_\xaeRW[\xaeRWU\xaeRWL\xaeRW?\xaeRW1\xaeRW!\xaeRW\x12\xaeRW\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\x1e\xaeRWf\xaeRW®RW\xfb\xaeRW\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWa\xaeRWl\xaeRW\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRV\x01\xaeRW\x12\xaeRW5\xaeRWb\xaeRW\x8d\xaeRW\xb1\xaeRW̮RWޮRW\xea\xaeRW\xf1\xaeRW\xf6\xaeRW\xf8\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf8\xaeRW\xf6\xaeRW\xf1\xaeRW\xea\xaeRWޮRW̮RW\xb1\xaeRW\x8d\xaeRWb\xaeRW5\xaeRW\x12\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x12\xaeRWl\xaeRWa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\a\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x11\xaeRWI\xaeRW\x8f\xaeRWɮRW\xeb\xaeRW\xfa\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfa\xaeRW\xeb\xaeRWɮRW\x8f\xaeRWI\xaeRW\x11\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x13\xaeRWh\xaeRWĮRW\xf2\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xfe\xaeRW\xf2\xaeRWĮRWh\xaeRW\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW4\xaeRW\xbb\xaeRW\xf9\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xf9\xaeRW\xba\xaeRW4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW#\xaeRW̮RW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW̮RW#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWl\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWl\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfb\xaeRW\xf3\xaeRW\xe9\xaeRWܮRWϮRWîRW\xb9\xaeRW\xb1\xaeRW\xac\xaeRW\xa9\xaeRW\xa9\xaeRW\xac\xaeRW\xb1\xaeRW\xb9\xaeRWîRWϮRWܮRW\xe9\xaeRW\xf3\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfe\xaeRW\xf4\xaeRWۮRW\xb5\xaeRW\x8b\xaeRWe\xaeRWE\xaeRW/\xaeRW\x1f\xaeRW\x14\xaeRW\r\xaeRW\b\xaeRW\x05\xaeRW\x04\xaeRW\x03\xaeRW\x03\xaeRW\x04\xaeRW\x05\xaeRW\b\xaeRW\r\xaeRW\x14\xaeRW\x1f\xaeRW/\xaeRWE\xaeRWe\xaeRW\x8b\xaeRW\xb5\xaeRWۮRW\xf4\xaeRW\xfe\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRWϮRW\x8e\xaeRWL\xaeRW \xaeRW\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW \xaeRWM\xaeRW\x8e\xaeRWЮRW\xf6\xaeRW\xfd\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x82\xaeRW\xf8\xaeRW\xb8\xaeRW[\xaeRW\x18\xaeQW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQV\x01\xaeRW\b\xaeRW\x16\xaeRW'\xaeRW8\xaeRWH\xaeRWV\xaeRWa\xaeRWh\xaeRWk\xaeRWl\xaeRWi\xaeRWc\xaeRWY\xaeRWL\xaeRW<\xaeRW+\xaeRW\x19\xaeRW\v\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQV\x01\xaeRW\x18\xaeRW[\xaeRW\xb8\xaeRW\xf8\xaeRW\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\\\xaeRWa\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\x16\xaeRW<\xaeRWi\xaeRW\x94\xaeRW\xb8\xaeRWҮRW\xe3\xaeRW\xee\xaeRW\xf4\xaeRW\xf8\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xf9\xaeRW\xf6\xaeRW\xf0\xaeRW\xe6\xaeRW֮RW\xbe\xaeRW\x9b\xaeRWp\xaeRWA\xaeRW\x19\xaeRW\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRWa\xaeRW\\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x17\xaeRWS\xaeRW\x9a\xaeRWЮRW\xef\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xf1\xaeRWԮRW\x9d\xaeRWV\xaeRW\x18\xaeQV\x01\x00\x00\x00\x00\xaeRW\x01\xaeRW\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x18\xaeRWr\xaeRW̮RW\xf6\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xf6\xaeRWήRWv\xaeRW\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW:\xaeRW®RW\xfa\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfb\xaeRWŮRW=\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW&\xaeRWѮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRWӮRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWo\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRWo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWi\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWŮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xc1\xaeRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW,\xaeRW\xb0\xaeRW\xf6\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf5\xaeRW\xaa\xaeRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRW[\xaeRW\xb9\xaeRW\xed\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xec\xaeRW\xb5\xaeRWW\xaeRW\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW=\xaeRW\x82\xaeRW\xbe\xaeRW\xe5\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf5\xaeRW\xe1\xaeRW\xba\xaeRW~\xaeRW;\xaeRW\v\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW+\xaeRWT\xaeRW\u007f\xaeRW\xa4\xaeRW\xc1\xaeRW֮RW\xe3\xaeRW\xec\xaeRW\xf1\xaeRW\xf5\xaeRW\xf6\xaeRW\xf7\xaeRW\xf7\xaeRW\xf6\xaeRW\xf4\xaeRW\xf1\xaeRW\xeb\xaeRW\xe1\xaeRWӮRW\xbd\xaeRW\x9f\xaeRWx\xaeRWM\xaeRW&\xaeRW\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\f\xaeRW\x19\xaeRW&\xaeRW3\xaeRW>\xaeRWH\xaeRWN\xaeRWP\xaeRWP\xaeRWM\xaeRWF\xaeRW>\xaeRW2\xaeRW$\xaeRW\x17\xaeRW\n\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xfe\x00\x00\u007f\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x03\xff\xff\xc0\x1f\x00\x00\xf8?\xff\xff\xfc\x1f\x00\x00\xf1\xff\xff\xff\xff\x8f\x00\x00\xff\xfc\x00\x00?\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x03\xff\xff\xc0\x1f\x00\x00\xf8?\xff\xff\xfc\x1f\x00\x00\xf1\xff\xff\xff\xff\x8f\x00\x00\xff\xfc\x00\x00?\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xff\xc0\x00\x00\a\xff\x00\x00\xff\xfe\x00\x00\u007f\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x04\xaeRW\n\xaeRW\x0e\xaeRW\x10\xaeRW\x10\xaeRW\x0e\xaeRW\n\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\r\xaeRW,\xaeRWS\xaeRWw\xaeRW\x95\xaeRW\xaa\xaeRW\xb9\xaeRW\xc1\xaeRWŮRWŮRW\xc1\xaeRW\xb9\xaeRW\xaa\xaeRW\x95\xaeRWw\xaeRWS\xaeRW,\xaeRW\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW3\xaeRW\u007f\xaeRW\xc0\xaeRW\xe6\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf7\xaeRW\xe6\xaeRW\xc0\xaeRW\u007f\xaeRW3\xaeRW\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1b\xaeRW\x92\xaeRW\xe7\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xfd\xaeRW\xe7\xaeRW\x91\xaeRW\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW\xa2\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xa2\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1d\xaeRWܮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWܮRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfc\xaeRW\xfe\xaeRW\xfb\xaeRW\xef\xaeRWڮRWîRW\xad\xaeRW\x9a\xaeRW\x8c\xaeRW\x83\xaeRW\x80\xaeRW\x80\xaeRW\x83\xaeRW\x8c\xaeRW\x9a\xaeRW\xad\xaeRWîRWڮRW\xef\xaeRW\xfb\xaeRW\xfe\xaeRW\xfc\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRW߮RW\xfd\xaeRW\xe0\xaeRW\xa8\xaeRWk\xaeRW;\xaeRW\x1c\xaeRW\t\xaeQV\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQW\x01\xaeRW\t\xaeRW\x1c\xaeRW;\xaeRWk\xaeRW\xa8\xaeRW\xe0\xaeRW\xfd\xaeRW߮RW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRW\xbc\xaeRW}\xaeRW'\xaeRW\x03\x00\x00\x00\x00\xaeRW\a\xaeRW\x1f\xaeRW<\xaeRWW\xaeRWm\xaeRW}\xaeRW\x88\xaeRW\x8d\xaeRW\x8d\xaeRW\x88\xaeRW}\xaeRWm\xaeRWW\xaeRW<\xaeRW\x1f\xaeRW\a\x00\x00\x00\x00\xaeRW\x03\xaeRW'\xaeRW}\xaeRW\xbc\xaeRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\n\xaeRW\x1d\xaeQW\x01\xaeRW\x0e\xaeRWC\xaeRW\x86\xaeRW\xbb\xaeRWݮRW\xf0\xaeRW\xf8\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xf8\xaeRW\xf0\xaeRWݮRW\xbb\xaeRW\x86\xaeRWC\xaeRW\x0e\xaeRW\x01\xaeRW\x1d\xaeRW\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRWX\xaeRW\xbf\xaeRW\xf1\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xf1\xaeRW\xbe\xaeRWX\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRWz\xaeRW\xf3\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf3\xaeRWz\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x19\xaeRW\u05eeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\u05eeRW\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRW\xeb\xaeRWޮRWҮRWǮRW\xc0\xaeRW\xbd\xaeRW\xbd\xaeRW\xc0\xaeRWǮRWҮRWޮRW\xeb\xaeRW\xf6\xaeRW\xfd\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xff\xaeRW\xf8\xaeRWڮRW\xaa\xaeRWx\xaeRWO\xaeRW2\xaeRW\x1f\xaeRW\x12\xaeRW\v\xaeRW\a\xaeRW\x05\xaeRW\x05\xaeRW\a\xaeRW\v\xaeRW\x12\xaeRW\x1f\xaeRW2\xaeRWO\xaeRWx\xaeRW\xaa\xaeRWڮRW\xf8\xaeRW\xff\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW \xaeRW֮RW\xb9\xaeRW^\xaeRW\x1e\xaeRW\x03\x00\x00\x00\x00\xaeRW\x01\xaeRW\r\xaeRW\x1f\xaeRW0\xaeRW>\xaeRWH\xaeRWL\xaeRWM\xaeRWI\xaeRW@\xaeRW2\xaeRW!\xaeRW\x0f\xaeRW\x02\x00\x00\x00\x00\xaeRW\x03\xaeRW\x1e\xaeRW^\xaeRW\xb9\xaeRW֮RW \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x12\xaeRWH\xaeRW\r\x00\x00\x00\x00\xaeRW\x15\xaeRWF\xaeRW{\xaeRW\xa9\xaeRWɮRWޮRW\xea\xaeRW\xf1\xaeRW\xf5\xaeRW\xf6\xaeRW\xf6\xaeRW\xf5\xaeRW\xf2\xaeRW\xec\xaeRW\xe0\xaeRWͮRW\xad\xaeRW\x80\xaeRWI\xaeRW\x16\x00\x00\x00\x00\xaeRW\r\xaeRWH\xaeRW\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW&\xaeRW\x83\xaeRWϮRW\xf2\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xf3\xaeRWЮRW\x86\xaeRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWL\xaeRW֮RW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfd\xaeRWخRWN\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x13\xaeRWɮRW\xff\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xff\xaeRWʮRW\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1d\xaeRWܮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWܮRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW\xa2\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xa0\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1b\xaeRW\x92\xaeRW\xe7\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfd\xaeRW\xe6\xaeRW\x8e\xaeRW\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW3\xaeRW\x80\xaeRW\xc0\xaeRW\xe6\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRW\xe4\xaeRW\xbe\xaeRW~\xaeRW1\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\r\xaeRW,\xaeRWS\xaeRWx\xaeRW\x95\xaeRW\xab\xaeRW\xb9\xaeRW®RWŮRWŮRW\xc1\xaeRW\xb8\xaeRW\xa9\xaeRW\x93\xaeRWt\xaeRWN\xaeRW)\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x04\xaeRW\n\xaeRW\x0e\xaeRW\x10\xaeRW\x10\xaeRW\x0e\xaeRW\t\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xe0\a\xff\xfe\x00\x00\u007f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe1\xff\xff\x87\xef\xfc?\xf7\xfe\x00\x00\u007f\xf8\x00\x00\x1f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\xff\xff\a\xe7\xff\xff\xe7\xff\x80\x00\xff\xf8\x00\x00\x1f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xf0\x00\x00\x0f\xfc\x00\x00\u007f\xff\xe0\a\xff\xff\xff\xff\xff(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x10\xaeRW3\xaeRWW\xaeRWo\xaeRW{\xaeRW{\xaeRWo\xaeRWW\xaeRW3\xaeRW\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0f\xaeRWl\xaeRW\xbf\xaeRW\xe5\xaeRW\xf4\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf4\xaeRW\xe5\xaeRW\xbf\xaeRWl\xaeRW\x0f\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWf\xaeRW\xfa\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfa\xaeRWf\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfe\xaeRW\xfe\xaeRW\xfb\xaeRW\xf7\xaeRW\xf5\xaeRW\xf5\xaeRW\xf7\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xeb\xaeRW\xb4\xaeRW\x83\xaeRWe\xaeRWV\xaeRWQ\xaeRWQ\xaeRWV\xaeRWe\xaeRW\x83\xaeRW\xb4\xaeRW\xeb\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW:\xaeRWF\xaeRWF\xaeRWp\xaeRW\x95\xaeRW\xaa\xaeRW\xb4\xaeRW\xb4\xaeRW\xaa\xaeRW\x95\xaeRWp\xaeRWF\xaeRWF\xaeRW:\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW)\xaeRW\xb0\xaeRW\xee\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xee\xaeRW\xb0\xaeRW)\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWx\xaeRW\xff\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xff\xaeRWx\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfb\xaeRW\xef\xaeRW߮RWҮRWˮRWˮRWҮRW߮RW\xef\xaeRW\xfb\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWt\xaeRW\xb8\xaeRWl\xaeRWG\xaeRW?\xaeRWB\xaeRWE\xaeRWF\xaeRWC\xaeRW@\xaeRWH\xaeRWl\xaeRW\xb8\xaeRWt\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1c\xaeRWC\xaeRW\x81\xaeRW\xb7\xaeRW֮RW\xe4\xaeRW\xea\xaeRW\xea\xaeRW\xe5\xaeRW\u05eeRW\xb9\xaeRW\x83\xaeRWD\xaeRW\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWK\xaeRW\xe4\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xe5\xaeRWL\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWf\xaeRW\xfa\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf9\xaeRWf\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0f\xaeRWl\xaeRW\xbf\xaeRW\xe5\xaeRW\xf4\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf3\xaeRW\xe4\xaeRW\xbe\xaeRWk\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x10\xaeRW4\xaeRWW\xaeRWp\xaeRW{\xaeRW{\xaeRWo\xaeRWU\xaeRW2\xaeRW\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xe0\a\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc7\xe3\x00\x00\xf8\x1f\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xdf\xfb\x00\x00\xe0\a\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xe0\a\x00\x00\xff\xff\x00\x00"), } filec := &embedded.EmbeddedFile{ Filename: "index.html", - FileModTime: time.Unix(1612512060, 0), + FileModTime: time.Unix(1613868993, 0), - Content: string("GraphJin - GraphQL API for Rails
"), + Content: string("GraphJin - GraphQL API for Rails
"), } filed := &embedded.EmbeddedFile{ Filename: "manifest.json", - FileModTime: time.Unix(1612511769, 0), + FileModTime: time.Unix(1613868985, 0), Content: string("{\n \"short_name\": \"GraphJin\",\n \"name\": \"GraphJin - GraphQL API for Rails\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\",\n \"sizes\": \"64x64 32x32 24x24 16x16\",\n \"type\": \"image/x-icon\"\n }\n ],\n \"start_url\": \".\",\n \"display\": \"standalone\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\"\n}\n"), } filee := &embedded.EmbeddedFile{ - Filename: "precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js", - FileModTime: time.Unix(1612512060, 0), + Filename: "precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js", + FileModTime: time.Unix(1613868993, 0), - Content: string("self.__precacheManifest = (self.__precacheManifest || []).concat([\n {\n \"revision\": \"785c686ef1d22ea32dcd3b7c4ddd09ca\",\n \"url\": \"/index.html\"\n },\n {\n \"revision\": \"209ddb37a4c3c22bf230\",\n \"url\": \"/static/css/main.d75bd24d.chunk.css\"\n },\n {\n \"revision\": \"6946b5af11fcde2254b3\",\n \"url\": \"/static/js/2.0737febf.chunk.js\"\n },\n {\n \"revision\": \"c0ee1c9b1d2e771f97e8cc8f3aa92ba1\",\n \"url\": \"/static/js/2.0737febf.chunk.js.LICENSE.txt\"\n },\n {\n \"revision\": \"209ddb37a4c3c22bf230\",\n \"url\": \"/static/js/main.688910ac.chunk.js\"\n },\n {\n \"revision\": \"6981919806c089cef906\",\n \"url\": \"/static/js/runtime-main.bfca2edd.js\"\n },\n {\n \"revision\": \"57ee3b6084cb9d3c754cc12d25a98035\",\n \"url\": \"/static/media/logo.57ee3b60.png\"\n }\n]);"), + Content: string("self.__precacheManifest = (self.__precacheManifest || []).concat([\n {\n \"revision\": \"a0212703a4e59c07949e5c268abf4ba3\",\n \"url\": \"/index.html\"\n },\n {\n \"revision\": \"c67486becc6e2d56a964\",\n \"url\": \"/static/css/2.bf3fdedd.chunk.css\"\n },\n {\n \"revision\": \"acc8e3407652090a48fb\",\n \"url\": \"/static/css/main.45320ab8.chunk.css\"\n },\n {\n \"revision\": \"c67486becc6e2d56a964\",\n \"url\": \"/static/js/2.d3b1e703.chunk.js\"\n },\n {\n \"revision\": \"96d0ece7a4e0825a058acf042ca7527d\",\n \"url\": \"/static/js/2.d3b1e703.chunk.js.LICENSE.txt\"\n },\n {\n \"revision\": \"acc8e3407652090a48fb\",\n \"url\": \"/static/js/main.0d09a938.chunk.js\"\n },\n {\n \"revision\": \"6981919806c089cef906\",\n \"url\": \"/static/js/runtime-main.bfca2edd.js\"\n }\n]);"), } filef := &embedded.EmbeddedFile{ Filename: "service-worker.js", - FileModTime: time.Unix(1612512060, 0), + FileModTime: time.Unix(1613868993, 0), - Content: string("/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app and you should\n * disable HTTP caching for this file too.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\nimportScripts(\"https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js\");\n\nimportScripts(\n \"/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js\"\n);\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox.core.clientsClaim();\n\n/**\n * The workboxSW.precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nself.__precacheManifest = [].concat(self.__precacheManifest || []);\nworkbox.precaching.precacheAndRoute(self.__precacheManifest, {});\n\nworkbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL(\"/index.html\"), {\n \n blacklist: [/^\\/_/,/\\/[^/?]+\\.[^/]+$/],\n});\n"), + Content: string("/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app and you should\n * disable HTTP caching for this file too.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\nimportScripts(\"https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js\");\n\nimportScripts(\n \"/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js\"\n);\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox.core.clientsClaim();\n\n/**\n * The workboxSW.precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nself.__precacheManifest = [].concat(self.__precacheManifest || []);\nworkbox.precaching.precacheAndRoute(self.__precacheManifest, {});\n\nworkbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL(\"/index.html\"), {\n \n blacklist: [/^\\/_/,/\\/[^/?]+\\.[^/]+$/],\n});\n"), } filei := &embedded.EmbeddedFile{ - Filename: "static/css/main.d75bd24d.chunk.css", - FileModTime: time.Unix(1612512060, 0), + Filename: "static/css/2.bf3fdedd.chunk.css", + FileModTime: time.Unix(1613868993, 0), - Content: string("body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Roboto\",\"Oxygen\",\"Ubuntu\",\"Cantarell\",\"Fira Sans\",\"Droid Sans\",\"Helvetica Neue\",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#08151d}code{font-family:source-code-pro,Menlo,Monaco,Consolas,\"Courier New\",monospace}.playground>div:nth-child(2){height:calc(100vh - 105px)}\n/*# sourceMappingURL=main.d75bd24d.chunk.css.map */"), + Content: string(".graphiql-container,.graphiql-container button,.graphiql-container input{color:#141823;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:14px}.graphiql-container{display:flex;flex-direction:row;height:100%;margin:0;overflow:hidden;width:100%}.graphiql-container .editorWrap{display:flex;flex-direction:column;flex:1 1;overflow-x:hidden}.graphiql-container .title{font-size:18px}.graphiql-container .title em{font-family:georgia;font-size:19px}.graphiql-container .topBarWrap{display:flex;flex-direction:row}.graphiql-container .topBar{align-items:center;background:linear-gradient(#f7f7f7,#e2e2e2);border-bottom:1px solid #d0d0d0;cursor:default;display:flex;flex-direction:row;flex:1 1;height:34px;overflow-y:visible;padding:7px 14px 6px;-webkit-user-select:none;user-select:none}.graphiql-container .toolbar{overflow-x:visible;display:flex}.graphiql-container .docExplorerShow,.graphiql-container .historyShow{background:linear-gradient(#f7f7f7,#e2e2e2);border-radius:0;border-bottom:1px solid #d0d0d0;border-right:none;border-top:none;color:#3b5998;cursor:pointer;font-size:14px;margin:0;padding:2px 20px 0 18px}.graphiql-container .docExplorerShow{border-left:1px solid rgba(0,0,0,.2)}.graphiql-container .historyShow{border-right:1px solid rgba(0,0,0,.2);border-left:0}.graphiql-container .docExplorerShow:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:\"\";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .editorBar{display:flex;flex-direction:row;flex:1 1}.graphiql-container .queryWrap,.graphiql-container .resultWrap{display:flex;flex-direction:column;flex:1 1}.graphiql-container .resultWrap{border-left:1px solid #e0e0e0;flex-basis:1em;position:relative}.graphiql-container .docExplorerWrap,.graphiql-container .historyPaneWrap{background:#fff;box-shadow:0 0 8px rgba(0,0,0,.15);position:relative;z-index:3}.graphiql-container .historyPaneWrap{min-width:230px;z-index:5}.graphiql-container .docExplorerResizer{cursor:col-resize;height:100%;left:-5px;position:absolute;top:0;width:10px;z-index:10}.graphiql-container .docExplorerHide{cursor:pointer;font-size:18px;margin:-7px -8px -6px 0;padding:18px 16px 15px 12px;background:0;border:0;line-height:14px}.graphiql-container div .query-editor{flex:1 1;position:relative}.graphiql-container .secondary-editor{display:flex;flex-direction:column;height:30px;position:relative}.graphiql-container .secondary-editor-title{background:#eee;border-bottom:1px solid #d6d6d6;border-top:1px solid #e0e0e0;color:#777;font-feature-settings:\"smcp\";font-variant:small-caps;font-weight:700;letter-spacing:1px;line-height:14px;padding:6px 0 8px 43px;text-transform:lowercase;-webkit-user-select:none;user-select:none}.graphiql-container .codemirrorWrap,.graphiql-container .result-window{flex:1 1;height:100%;position:relative}.graphiql-container .footer{background:#f6f7f8;border-left:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin-left:12px;position:relative}.graphiql-container .footer:before{background:#eee;bottom:0;content:\" \";left:-13px;position:absolute;top:-1px;width:12px}.result-window .CodeMirror{background:#f6f7f8}.graphiql-container .result-window .CodeMirror-gutters{background-color:#eee;border-color:#e0e0e0;cursor:col-resize}.graphiql-container .result-window .CodeMirror-foldgutter,.graphiql-container .result-window .CodeMirror-foldgutter-folded:after,.graphiql-container .result-window .CodeMirror-foldgutter-open:after{padding-left:3px}.graphiql-container .toolbar-button{background:#fdfdfd;background:linear-gradient(#f9f9f9,#ececec);border:0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 1px 0 hsla(0,0%,100%,.7),inset 0 1px #fff;color:#555;cursor:pointer;display:inline-block;margin:0 5px;padding:3px 11px 5px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.graphiql-container .toolbar-button:active{background:linear-gradient(#ececec,#d5d5d5);box-shadow:0 1px 0 hsla(0,0%,100%,.7),inset 0 0 0 1px rgba(0,0,0,.1),inset 0 1px 1px 1px rgba(0,0,0,.12),inset 0 0 5px rgba(0,0,0,.1)}.graphiql-container .toolbar-button.error{background:linear-gradient(#fdf3f3,#e6d6d7);color:#b00}.graphiql-container .toolbar-button-group{margin:0 5px;white-space:nowrap}.graphiql-container .toolbar-button-group>*{margin:0}.graphiql-container .toolbar-button-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.graphiql-container .toolbar-button-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.graphiql-container .execute-button-wrap{height:34px;margin:0 14px 0 28px;position:relative}.graphiql-container .execute-button{background:linear-gradient(#fdfdfd,#d2d3d6);border-radius:17px;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 0 #fff;cursor:pointer;fill:#444;height:34px;margin:0;padding:0;width:34px}.graphiql-container .execute-button svg{pointer-events:none}.graphiql-container .execute-button:active{background:linear-gradient(#e6e6e6,#c3c3c3);box-shadow:0 1px 0 #fff,inset 0 0 2px rgba(0,0,0,.2),inset 0 0 6px rgba(0,0,0,.1)}.graphiql-container .toolbar-menu,.graphiql-container .toolbar-select{position:relative}.graphiql-container .execute-options,.graphiql-container .toolbar-menu-items,.graphiql-container .toolbar-select-options{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.25);margin:0;padding:6px 0;position:absolute;z-index:100}.graphiql-container .execute-options{min-width:100px;top:37px;left:-1px}.graphiql-container .toolbar-menu-items{left:1px;margin-top:-1px;min-width:110%;top:100%;visibility:hidden}.graphiql-container .toolbar-menu-items.open{visibility:visible}.graphiql-container .toolbar-select-options{left:0;min-width:100%;top:-5px;visibility:hidden}.graphiql-container .toolbar-select-options.open{visibility:visible}.graphiql-container .execute-options>li,.graphiql-container .toolbar-menu-items>li,.graphiql-container .toolbar-select-options>li{cursor:pointer;display:block;margin:none;max-width:300px;overflow:hidden;padding:2px 20px 4px 11px;white-space:nowrap}.graphiql-container .execute-options>li.selected,.graphiql-container .history-contents>li:active,.graphiql-container .history-contents>li:hover,.graphiql-container .toolbar-menu-items>li.hover,.graphiql-container .toolbar-menu-items>li:active,.graphiql-container .toolbar-menu-items>li:hover,.graphiql-container .toolbar-select-options>li.hover,.graphiql-container .toolbar-select-options>li:active,.graphiql-container .toolbar-select-options>li:hover{background:#e10098;color:#fff}.graphiql-container .toolbar-select-options>li>svg{display:inline;fill:#666;margin:0 -6px 0 6px;pointer-events:none;vertical-align:middle}.graphiql-container .toolbar-select-options>li.hover>svg,.graphiql-container .toolbar-select-options>li:active>svg,.graphiql-container .toolbar-select-options>li:hover>svg{fill:#fff}.graphiql-container .CodeMirror-scroll{overflow-scrolling:touch}.graphiql-container .CodeMirror{color:#141823;font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;height:100%;left:0;position:absolute;top:0;width:100%}.graphiql-container .CodeMirror-lines{padding:20px 0}.CodeMirror-hint-information .content{box-orient:vertical;color:#141823;display:flex;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-clamp:3;line-height:16px;max-height:48px;overflow:hidden;text-overflow:-o-ellipsis-lastline}.CodeMirror-hint-information .content p:first-child{margin-top:0}.CodeMirror-hint-information .content p:last-child{margin-bottom:0}.CodeMirror-hint-information .infoType{color:#ca9800;cursor:pointer;display:inline;margin-right:.5em}.autoInsertedLeaf.cm-property{animation-duration:6s;animation-name:insertionFade;border-bottom:2px solid hsla(0,0%,100%,0);border-radius:2px;margin:-2px -4px -1px;padding:2px 4px 1px}@keyframes insertionFade{0%,to{background:hsla(0,0%,100%,0);border-color:hsla(0,0%,100%,0)}15%,85%{background:#fbffc9;border-color:#f0f3c0}}div.CodeMirror-lint-tooltip{background-color:#fff;border-radius:2px;border:0;color:#141823;box-shadow:0 1px 3px rgba(0,0,0,.45);font-size:13px;line-height:16px;max-width:430px;opacity:0;padding:8px 10px;transition:opacity .15s;white-space:pre-wrap}div.CodeMirror-lint-tooltip>*{padding-left:23px}div.CodeMirror-lint-tooltip>*+*{margin-top:12px}.graphiql-container .CodeMirror-foldmarker{border-radius:4px;background:#08f;background:linear-gradient(#43a8ff,#0f83e8);box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);color:#fff;font-family:arial;font-size:12px;line-height:0;margin:0 3px;padding:0 4px 1px;text-shadow:0 -1px rgba(0,0,0,.1)}.graphiql-container div.CodeMirror span.CodeMirror-matchingbracket{color:#555;text-decoration:underline}.graphiql-container div.CodeMirror span.CodeMirror-nonmatchingbracket{color:red}.cm-comment{color:#999}.cm-punctuation{color:#555}.cm-keyword{color:#b11a04}.cm-def{color:#d2054e}.cm-property{color:#1f61a0}.cm-qualifier{color:#1c92a9}.cm-attribute{color:#8b2bb9}.cm-number{color:#2882f9}.cm-string{color:#d64292}.cm-builtin{color:#d47509}.cm-string-2{color:#0b7fc7}.cm-variable{color:#397d13}.cm-meta{color:#b33086}.cm-atom{color:#ca9800}.CodeMirror{color:#000;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror .CodeMirror-cursor{border-left:1px solid #000}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{background:#7e7;border:0;width:auto}.CodeMirror.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{animation:blink 1.06s steps(1) infinite;border:0;width:auto}@keyframes blink{0%{background:#7e7}50%{background:none}to{background:#7e7}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-30px;margin-right:-30px;outline:none;overflow:scroll!important;padding-bottom:30px;position:relative}.CodeMirror-sizer{border-right:30px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{min-height:100%;position:absolute;left:0;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-30px;vertical-align:top;white-space:normal;*zoom:1;*display:inline}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper{-webkit-user-select:none;user-select:none}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-webkit-tap-highlight-color:transparent;background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-feature-settings:none;font-variant-ligatures:none;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;word-wrap:normal;z-index:2}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{overflow:auto;position:relative;z-index:2}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:initial}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:\"\"}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background:inherit;color:inherit;left:0;right:0;overflow:hidden;padding:.1em .8em;position:absolute;z-index:15}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{background:transparent;border:1px solid #d3d6db;color:inherit;font-family:monospace;outline:none;width:20em}.CodeMirror-dialog button{font-size:70%}.CodeMirror-foldmarker{color:#00f;cursor:pointer;font-family:arial;line-height:.3;text-shadow:#b9f 1px 1px 2px,#b9f -1px -1px 2px,#b9f 1px -1px 2px,#b9f -1px 1px 2px}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-folded,.CodeMirror-foldgutter-open{cursor:pointer}.CodeMirror-foldgutter-open:after{content:\"\\25BE\"}.CodeMirror-foldgutter-folded:after{content:\"\\25B8\"}.CodeMirror-info{background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.45);box-sizing:border-box;color:#555;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin:8px -8px;max-width:400px;opacity:0;overflow:hidden;padding:8px;position:fixed;transition:opacity .15s;z-index:50}.CodeMirror-info :first-child{margin-top:0}.CodeMirror-info :last-child{margin-bottom:0}.CodeMirror-info p{margin:1em 0}.CodeMirror-info .info-description{color:#777;line-height:16px;margin-top:1em;max-height:80px;overflow:hidden}.CodeMirror-info .info-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px -8px;max-height:80px;overflow:hidden;padding:8px}.CodeMirror-info .info-deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.CodeMirror-info .info-deprecation-label+*{margin-top:0}.CodeMirror-info a{text-decoration:none}.CodeMirror-info a:hover{text-decoration:underline}.CodeMirror-info .type-name{color:#ca9800}.CodeMirror-info .field-name{color:#1f61a0}.CodeMirror-info .enum-value{color:#0b7fc7}.CodeMirror-info .arg-name{color:#8b2bb9}.CodeMirror-info .directive-name{color:#b33086}.CodeMirror-jump-token{text-decoration:underline;cursor:pointer}.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:infobackground;border-radius:4px 4px 4px 4px;border:1px solid #000;color:infotext;font-family:monospace;font-size:10pt;max-width:600px;opacity:0;overflow:hidden;padding:2px 5px;position:fixed;transition:opacity .4s;white-space:pre-wrap;z-index:100}.CodeMirror-lint-mark-error,.CodeMirror-lint-mark-warning{background-position:0 100%;background-repeat:repeat-x}.CodeMirror-lint-mark-error{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==\")}.CodeMirror-lint-mark-warning{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\")}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:16px}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{background-position:0 0;background-repeat:no-repeat;padding-left:18px}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=\")}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\")}.CodeMirror-lint-marker-multiple{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\");background-position:100% 100%;background-repeat:no-repeat;width:100%;height:100%}.graphiql-container .spinner-container{height:36px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:36px;z-index:10}.graphiql-container .spinner{animation:rotation .6s linear infinite;border-radius:100%;border:6px solid hsla(0,0%,58.8%,.15);border-top-color:hsla(0,0%,58.8%,.8);display:inline-block;height:24px;position:absolute;vertical-align:middle;width:24px}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.CodeMirror-hints{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.45);font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;list-style:none;margin:0;max-height:14.5em;overflow:hidden;overflow-y:auto;padding:0;position:absolute;z-index:10}.CodeMirror-hint{border-top:1px solid #f7f7f7;color:#141823;cursor:pointer;margin:0;max-width:300px;overflow:hidden;padding:2px 6px;white-space:pre}li.CodeMirror-hint-active{background-color:#08f;border-top-color:#fff;color:#fff}.CodeMirror-hint-information{border-top:1px solid silver;max-width:300px;padding:4px 6px;position:relative;z-index:1}.CodeMirror-hint-information:first-child{border-bottom:1px solid silver;border-top:none;margin-bottom:-1px}.CodeMirror-hint-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin-top:4px;max-height:80px;overflow:hidden;padding:6px}.CodeMirror-hint-deprecation .deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.CodeMirror-hint-deprecation .deprecation-label+*{margin-top:0}.CodeMirror-hint-deprecation :last-child{margin-bottom:0}.graphiql-container .doc-explorer{background:#fff}.graphiql-container .doc-explorer-title-bar,.graphiql-container .history-title-bar{cursor:default;display:flex;height:34px;line-height:14px;padding:8px 8px 5px;position:relative;-webkit-user-select:none;user-select:none}.graphiql-container .doc-explorer-title,.graphiql-container .history-title{flex:1 1;font-weight:700;overflow-x:hidden;padding:10px 0 10px 10px;text-align:center;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;white-space:nowrap}.graphiql-container .doc-explorer-back{color:#3b5998;cursor:pointer;margin:-7px 0 -6px -8px;overflow-x:hidden;padding:17px 12px 16px 16px;text-overflow:ellipsis;white-space:nowrap;background:0;border:0;line-height:14px}.doc-explorer-narrow .doc-explorer-back{width:0}.graphiql-container .doc-explorer-back:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:\"\";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .doc-explorer-rhs{position:relative}.graphiql-container .doc-explorer-contents,.graphiql-container .history-contents{background-color:#fff;border-top:1px solid #d6d6d6;bottom:0;left:0;overflow-y:auto;padding:20px 15px;position:absolute;right:0;top:47px}.graphiql-container .doc-explorer-contents{min-width:300px}.graphiql-container .doc-type-description blockquote:first-child,.graphiql-container .doc-type-description p:first-child{margin-top:0}.graphiql-container .doc-explorer-contents a{cursor:pointer;text-decoration:none}.graphiql-container .doc-explorer-contents a:hover{text-decoration:underline}.graphiql-container .doc-value-description>:first-child{margin-top:4px}.graphiql-container .doc-value-description>:last-child{margin-bottom:4px}.graphiql-container .doc-category code,.graphiql-container .doc-category pre,.graphiql-container .doc-type-description code,.graphiql-container .doc-type-description pre{--saf-0:rgba(var(--sk_foreground_low,29,28,29),0.13);font-size:12px;line-height:1.50001;font-feature-settings:none;font-variant-ligatures:none;white-space:pre;white-space:pre-wrap;word-wrap:break-word;word-break:normal;-webkit-tab-size:4;-moz-tab-size:4;tab-size:4}.graphiql-container .doc-category code,.graphiql-container .doc-type-description code{padding:2px 3px 1px;border:1px solid var(--saf-0);border-radius:3px;background-color:rgba(var(--sk_foreground_min,29,28,29),.04);color:#e01e5a;background-color:#fff}.graphiql-container .doc-category{margin:20px 0}.graphiql-container .doc-category-title{border-bottom:1px solid #e0e0e0;color:#777;cursor:default;font-size:14px;font-feature-settings:\"smcp\";font-variant:small-caps;font-weight:700;letter-spacing:1px;margin:0 -15px 10px 0;padding:10px 0;-webkit-user-select:none;user-select:none}.graphiql-container .doc-category-item{margin:12px 0;color:#555}.graphiql-container .keyword{color:#b11a04}.graphiql-container .type-name{color:#ca9800}.graphiql-container .field-name{color:#1f61a0}.graphiql-container .field-short-description{color:#999;margin-left:5px;overflow:hidden;text-overflow:ellipsis}.graphiql-container .enum-value{color:#0b7fc7}.graphiql-container .arg-name{color:#8b2bb9}.graphiql-container .arg{display:block;margin-left:1em}.graphiql-container .arg:first-child:last-child,.graphiql-container .arg:first-child:nth-last-child(2),.graphiql-container .arg:first-child:nth-last-child(2)~.arg{display:inherit;margin:inherit}.graphiql-container .arg:first-child:nth-last-child(2):after{content:\", \"}.graphiql-container .arg-default-value{color:#43a047}.graphiql-container .doc-deprecation{background:#fffae8;box-shadow:inset 0 0 1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px;max-height:80px;overflow:hidden;padding:8px;border-radius:3px}.graphiql-container .doc-deprecation:before{content:\"Deprecated:\";color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.graphiql-container .doc-deprecation>:first-child{margin-top:0}.graphiql-container .doc-deprecation>:last-child{margin-bottom:0}.graphiql-container .show-btn{-webkit-appearance:initial;display:block;border-radius:3px;border:1px solid #ccc;text-align:center;padding:8px 12px 10px;width:100%;box-sizing:border-box;background:#fbfcfc;color:#555;cursor:pointer}.graphiql-container .search-box{border-bottom:1px solid #d3d6db;display:flex;align-items:center;font-size:14px;margin:-15px -15px 12px 0;position:relative}.graphiql-container .search-box-icon{cursor:pointer;display:block;font-size:24px;transform:rotate(-45deg);-webkit-user-select:none;user-select:none}.graphiql-container .search-box .search-box-clear{background-color:#d0d0d0;border-radius:12px;color:#fff;cursor:pointer;font-size:11px;padding:1px 5px 2px;position:absolute;right:3px;-webkit-user-select:none;user-select:none;border:0}.graphiql-container .search-box .search-box-clear:hover{background-color:#b9b9b9}.graphiql-container .search-box>input{border:none;box-sizing:border-box;font-size:14px;outline:none;padding:6px 24px 8px 20px;width:100%}.graphiql-container .error-container{font-weight:700;left:0;letter-spacing:1px;opacity:.5;position:absolute;right:0;text-align:center;text-transform:uppercase;top:50%;transform:translateY(-50%)}.graphiql-container .history-contents{font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;margin:0;padding:0}.graphiql-container .history-contents li{align-items:center;display:flex;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:8px;border-bottom:1px solid #e0e0e0}.graphiql-container .history-contents li button:not(.history-label){display:none;margin-left:10px}.graphiql-container .history-contents li:focus-within button:not(.history-label),.graphiql-container .history-contents li:hover button:not(.history-label){display:inline-block}.graphiql-container .history-contents button,.graphiql-container .history-contents input{padding:0;background:0;border:0;font-size:inherit;font-family:inherit;line-height:14px;color:inherit}.graphiql-container .history-contents input{flex-grow:1}.graphiql-container .history-contents input::-webkit-input-placeholder{color:inherit}.graphiql-container .history-contents input::placeholder{color:inherit}.graphiql-container .history-contents button{cursor:pointer;text-align:left}.graphiql-container .history-contents .history-label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}\n/*# sourceMappingURL=2.bf3fdedd.chunk.css.map */"), } filej := &embedded.EmbeddedFile{ - Filename: "static/css/main.d75bd24d.chunk.css.map", - FileModTime: time.Unix(1612512060, 0), + Filename: "static/css/2.bf3fdedd.chunk.css.map", + FileModTime: time.Unix(1613868993, 0), - Content: string("{\"version\":3,\"sources\":[\"index.css\"],\"names\":[],\"mappings\":\"AAAA,KACE,QAAS,CACT,SAAU,CACV,mJAEY,CACZ,kCAAmC,CACnC,iCAAkC,CAClC,wBACF,CAEA,KACE,yEAEF,CAEA,6BACE,0BACF\",\"file\":\"main.d75bd24d.chunk.css\",\"sourcesContent\":[\"body {\\n margin: 0;\\n padding: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\",\\n \\\"Ubuntu\\\", \\\"Cantarell\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\",\\n sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n background-color: #08151d;\\n}\\n\\ncode {\\n font-family: source-code-pro, Menlo, Monaco, Consolas, \\\"Courier New\\\",\\n monospace;\\n}\\n\\n.playground > div:nth-child(2) {\\n height: calc(100vh - 105px);\\n}\\n\"]}"), + Content: string("{\"version\":3,\"sources\":[\"graphiql.min.css\"],\"names\":[],\"mappings\":\"AAAA,yEAAyE,aAAa,CAAC,oJAAoJ,CAAC,cAAc,CAAC,oBAAoB,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,gCAAgC,YAAY,CAAC,qBAAqB,CAAC,QAAM,CAAC,iBAAiB,CAAC,2BAA2B,cAAc,CAAC,8BAA8B,mBAAmB,CAAC,cAAc,CAAC,gCAAgC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,kBAAkB,CAAC,2CAA2C,CAAC,+BAA+B,CAAC,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,6BAA6B,kBAAkB,CAAC,YAAY,CAAC,sEAAsE,2CAA2C,CAAC,eAAe,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,qCAAqC,oCAAoC,CAAC,iCAAiC,qCAAqC,CAAC,aAAa,CAAC,4CAA4C,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,+BAA+B,YAAY,CAAC,kBAAkB,CAAC,QAAM,CAAC,+DAA+D,YAAY,CAAC,qBAAqB,CAAC,QAAM,CAAC,gCAAgC,6BAA6B,CAAC,cAAc,CAAC,iBAAiB,CAAC,0EAA0E,eAAe,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,SAAS,CAAC,qCAAqC,eAAe,CAAC,SAAS,CAAC,wCAAwC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,qCAAqC,cAAc,CAAC,cAAc,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,sCAAsC,QAAM,CAAC,iBAAiB,CAAC,sCAAsC,YAAY,CAAC,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,4CAA4C,eAAe,CAAC,+BAA+B,CAAC,4BAA4B,CAAC,UAAU,CAAC,4BAAuB,CAAvB,uBAAuB,CAAC,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,uEAAuE,QAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,4BAA4B,kBAAkB,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,mCAAmC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,2BAA2B,kBAAkB,CAAC,uDAAuD,qBAAqB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,sMAAsM,gBAAgB,CAAC,oCAAoC,kBAAkB,CAAC,2CAA2C,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qFAAqF,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,YAAY,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,eAAe,CAAC,2CAA2C,2CAA2C,CAAC,qIAAqI,CAAC,0CAA0C,2CAA2C,CAAC,UAAU,CAAC,0CAA0C,YAAY,CAAC,kBAAkB,CAAC,4CAA4C,QAAQ,CAAC,4DAA4D,yBAAyB,CAAC,4BAA4B,CAAC,6DAA6D,wBAAwB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,yCAAyC,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,oCAAoC,2CAA2C,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,wCAAwC,mBAAmB,CAAC,2CAA2C,2CAA2C,CAAC,iFAAiF,CAAC,sEAAsE,iBAAiB,CAAC,yHAAyH,eAAe,CAAC,6DAA6D,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,qCAAqC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,wCAAwC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,6CAA6C,kBAAkB,CAAC,4CAA4C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,iDAAiD,kBAAkB,CAAC,kIAAkI,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,ocAAoc,kBAAkB,CAAC,UAAU,CAAC,mDAAmD,cAAc,CAAC,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,4KAA4K,SAAS,CAAC,uCAAuC,wBAAwB,CAAC,gCAAgC,aAAa,CAAC,iEAAiE,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,sCAAsC,cAAc,CAAC,sCAAsC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,oJAAoJ,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,kCAAkC,CAAC,oDAAoD,YAAY,CAAC,mDAAmD,eAAe,CAAC,uCAAuC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,8BAA8B,qBAAqB,CAAC,4BAA4B,CAAC,yCAAyC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,yBAAyB,MAAM,4BAA4B,CAAC,8BAA8B,CAAC,QAAQ,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,4BAA4B,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,oCAAoC,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,8BAA8B,iBAAiB,CAAC,gCAAgC,eAAe,CAAC,2CAA2C,iBAAiB,CAAC,eAAe,CAAC,2CAA2C,CAAC,kEAAkE,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,mEAAmE,UAAU,CAAC,yBAAyB,CAAC,sEAAsE,SAAS,CAAC,YAAY,UAAU,CAAC,gBAAgB,UAAU,CAAC,YAAY,aAAa,CAAC,QAAQ,aAAa,CAAC,aAAa,aAAa,CAAC,cAAc,aAAa,CAAC,cAAc,aAAa,CAAC,WAAW,aAAa,CAAC,WAAW,aAAa,CAAC,YAAY,aAAa,CAAC,aAAa,aAAa,CAAC,aAAa,aAAa,CAAC,SAAS,aAAa,CAAC,SAAS,aAAa,CAC5mS,YAAY,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,kBAAkB,aAAa,CAAC,gBAAgB,aAAa,CAAC,uDAAuD,qBAAqB,CAAC,oBAAoB,2BAA2B,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,uBAAuB,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,yBAAyB,UAAU,CAAC,gCAAgC,UAAU,CAAC,+BAA+B,0BAA0B,CAAC,2CAA2C,4BAA4B,CAAC,gDAAgD,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,iDAAiD,SAAS,CAAC,uBAAuB,uCAAuC,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,eAAe,CAAC,GAAG,eAAe,CAAC,CAAC,QAAQ,oBAAoB,CAAC,uBAAuB,CAAC,kBAAkB,0BAA0B,CAAC,iBAAiB,CAAC,0BAA0B,UAAU,CAAC,uBAAuB,UAAU,CAAC,yBAAyB,UAAU,CAAC,sBAAsB,UAAU,CAAC,6BAA6B,UAAU,CAAC,6BAA6B,UAAU,CAAC,0BAA0B,UAAU,CAAC,yBAAyB,UAAU,CAAC,2BAA2B,UAAU,CAAC,mDAAmD,UAAU,CAAC,0BAA0B,UAAU,CAAC,0BAA0B,UAAU,CAAC,sBAAsB,UAAU,CAAC,4BAA4B,UAAU,CAAC,yBAAyB,UAAU,CAAC,wBAAwB,UAAU,CAAC,qBAAqB,UAAU,CAAC,uBAAuB,UAAU,CAAC,aAAa,UAAU,CAAC,aAAa,UAAU,CAAC,sBAAsB,eAAe,CAAC,OAAO,iBAAiB,CAAC,SAAS,yBAAyB,CAAC,kBAAkB,4BAA4B,CAAC,wCAAwC,SAAS,CAAC,sBAAsB,uBAAuB,CAAC,+CAA+C,UAAU,CAAC,kDAAkD,UAAU,CAAC,wBAAwB,6BAA6B,CAAC,kCAAkC,kBAAkB,CAAC,YAAY,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,mCAAmC,CAAC,iBAAiB,CAAC,qGAAqG,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,6BAA6B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC,oBAAoB,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,EAAA,MAAQ,EAAA,cAAgB,CAAC,2BAA2B,yBAAyB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,SAAS,CAAC,8BAA8B,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,2BAA2B,wBAAe,CAAf,gBAAgB,CAAC,kBAAkB,WAAW,CAAC,cAAc,CAAC,gBAAgB,uCAAuC,CAAC,sBAAsB,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,0BAA2B,CAA3B,2BAA2B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,qBAAqB,oBAAoB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,2BAA2B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,YAAY,CAAC,mGAAmG,kBAAsB,CAAC,oBAAoB,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,mBAAmB,iBAAiB,CAAC,wBAAwB,eAAe,CAAC,uBAAuB,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,sEAAsE,kBAAkB,CAAC,qBAAqB,kBAAkB,CAAC,yCAAyC,kBAAkB,CAAC,sBAAsB,gBAAgB,CAAC,mGAAmG,kBAAkB,CAAC,kHAAkH,kBAAkB,CAAC,cAAc,eAAe,CAAC,6BAA6B,CAAC,kBAAA,0BAA4C,CAAC,iBAAiB,kBAAkB,CAAC,aAAa,mCAAmC,iBAAiB,CAAC,CAAC,wBAAwB,UAAU,CAAC,6BAA6B,eAAe,CAAC,mBAAmB,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,4BAA4B,CAAC,KAAK,CAAC,0BAA0B,yBAAyB,CAAC,QAAQ,CAAC,yBAAyB,sBAAsB,CAAC,wBAAwB,CAAC,aAAa,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,0BAA0B,aAAa,CAC/4K,uBAAuB,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,mFAAmF,CAAC,uBAAuB,UAAU,CAAC,0DAA0D,cAAc,CAAC,kCAAkC,eAAe,CAAC,oCAAoC,eAAe,CACtX,iBAAiB,eAAe,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,qBAAqB,CAAC,UAAU,CAAC,oJAAoJ,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,8BAA8B,YAAY,CAAC,6BAA6B,eAAe,CAAC,mBAAmB,YAAY,CAAC,mCAAmC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,mCAAmC,kBAAkB,CAAC,uCAAuC,CAAC,aAAa,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,yCAAyC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,2CAA2C,YAAY,CAAC,mBAAmB,oBAAoB,CAAC,yBAAyB,yBAAyB,CAAC,4BAA4B,aAAa,CAAC,6BAA6B,aAAa,CAAC,6BAA6B,aAAa,CAAC,2BAA2B,aAAa,CAAC,iCAAiC,aAAa,CACp4C,uBAAuB,yBAAyB,CAAC,cAAc,CAC/D,yBAAyB,UAAU,CAAC,yBAAyB,+BAA+B,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,cAAc,CAAC,qBAAqB,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,WAAW,CAAC,0DAA0D,0BAA0B,CAAC,0BAA0B,CAAC,4BAA4B,kTAAkT,CAAC,8BAA8B,8UAA8U,CAAC,8DAA8D,uBAAuB,CAAC,2BAA2B,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,gEAAgE,uBAAuB,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,6DAA6D,kTAAkT,CAAC,iEAAiE,sWAAsW,CAAC,iCAAiC,sNAAsN,CAAC,6BAA6B,CAAC,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAC7iF,uCAAuC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,8BAA8B,CAAC,UAAU,CAAC,UAAU,CAAC,6BAA6B,sCAAsC,CAAC,kBAAkB,CAAuC,qCAAoC,CAApC,oCAAoC,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG,wBAAwB,CAAC,CAC3c,kBAAkB,eAAe,CAAC,oCAAoC,CAAC,iEAAiE,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,4BAA4B,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,0BAA0B,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,6BAA6B,2BAA2B,CAAC,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,yCAAyC,8BAA8B,CAAC,eAAe,CAAC,kBAAkB,CAAC,6BAA6B,kBAAkB,CAAC,uCAAuC,CAAC,aAAa,CAAC,oJAAoJ,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,gDAAgD,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,kDAAkD,YAAY,CAAC,yCAAyC,eAAe,CACn3C,kCAAkC,eAAe,CAAC,mFAAmF,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,2EAA2E,QAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,wBAAgB,CAAhB,gBAAgB,CAAC,kBAAkB,CAAC,uCAAuC,aAAa,CAAC,cAAc,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wCAAwC,OAAO,CAAC,8CAA8C,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,sCAAsC,iBAAiB,CAAC,iFAAiF,qBAAqB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,2CAA2C,eAAe,CAAC,yHAAyH,YAAY,CAAC,6CAA6C,cAAc,CAAC,oBAAoB,CAAC,mDAAmD,yBAAyB,CAAC,wDAAwD,cAAc,CAAC,uDAAuD,iBAAiB,CAAC,0KAA0K,oDAAoD,CAAC,cAAc,CAAC,mBAAmB,CAAC,0BAA2B,CAA3B,2BAA2B,CAAC,eAAe,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,sFAAsF,mBAAmB,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,4DAA4D,CAAC,aAAa,CAAC,qBAAqB,CAAC,kCAAkC,aAAa,CAAC,wCAAwC,+BAA+B,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,4BAAuB,CAAvB,uBAAuB,CAAC,eAAe,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,cAAc,CAAC,wBAAe,CAAf,gBAAgB,CAAC,uCAAuC,aAAa,CAAC,UAAU,CAAC,6BAA6B,aAAa,CAAC,+BAA+B,aAAa,CAAC,gCAAgC,aAAa,CAAC,6CAA6C,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,sBAAsB,CAAC,gCAAgC,aAAa,CAAC,8BAA8B,aAAa,CAAC,yBAAyB,aAAa,CAAC,eAAe,CAAC,mKAAmK,eAAe,CAAC,cAAc,CAAC,6DAA6D,YAAY,CAAC,uCAAuC,aAAa,CAAC,qCAAqC,kBAAkB,CAAC,gCAAgC,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,4CAA4C,qBAAqB,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,kDAAkD,YAAY,CAAC,iDAAiD,eAAe,CAAC,8BAA8B,0BAA0B,CAAC,aAAa,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,gCAAgC,+BAA+B,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,qCAAqC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,kDAAkD,wBAAwB,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,CAAC,wBAAgB,CAAhB,gBAAgB,CAAC,QAAQ,CAAC,wDAAwD,wBAAwB,CAAC,sCAAsC,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,YAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,qCAAqC,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,0BAA0B,CACz/J,sCAAsC,iEAAiE,CAAC,QAAQ,CAAC,SAAS,CAAC,yCAAyC,kBAAkB,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,+BAA+B,CAAC,oEAAoE,YAAY,CAAC,gBAAgB,CAAC,2JAA2J,oBAAoB,CAAC,yFAAyF,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,aAAa,CAAC,4CAA4C,WAAW,CAAC,uEAAyD,aAAa,CAAtE,yDAAyD,aAAa,CAAC,6CAA6C,cAAc,CAAC,eAAe,CAAC,qDAAqD,WAAW,CAAC,eAAe,CAAC,sBAAsB\",\"file\":\"2.bf3fdedd.chunk.css\",\"sourcesContent\":[\".graphiql-container,.graphiql-container button,.graphiql-container input{color:#141823;font-family:system,-apple-system,San Francisco,\\\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:14px}.graphiql-container{display:flex;flex-direction:row;height:100%;margin:0;overflow:hidden;width:100%}.graphiql-container .editorWrap{display:flex;flex-direction:column;flex:1;overflow-x:hidden}.graphiql-container .title{font-size:18px}.graphiql-container .title em{font-family:georgia;font-size:19px}.graphiql-container .topBarWrap{display:flex;flex-direction:row}.graphiql-container .topBar{align-items:center;background:linear-gradient(#f7f7f7,#e2e2e2);border-bottom:1px solid #d0d0d0;cursor:default;display:flex;flex-direction:row;flex:1;height:34px;overflow-y:visible;padding:7px 14px 6px;user-select:none}.graphiql-container .toolbar{overflow-x:visible;display:flex}.graphiql-container .docExplorerShow,.graphiql-container .historyShow{background:linear-gradient(#f7f7f7,#e2e2e2);border-radius:0;border-bottom:1px solid #d0d0d0;border-right:none;border-top:none;color:#3b5998;cursor:pointer;font-size:14px;margin:0;padding:2px 20px 0 18px}.graphiql-container .docExplorerShow{border-left:1px solid rgba(0,0,0,.2)}.graphiql-container .historyShow{border-right:1px solid rgba(0,0,0,.2);border-left:0}.graphiql-container .docExplorerShow:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:\\\"\\\";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .editorBar{display:flex;flex-direction:row;flex:1}.graphiql-container .queryWrap,.graphiql-container .resultWrap{display:flex;flex-direction:column;flex:1}.graphiql-container .resultWrap{border-left:1px solid #e0e0e0;flex-basis:1em;position:relative}.graphiql-container .docExplorerWrap,.graphiql-container .historyPaneWrap{background:#fff;box-shadow:0 0 8px rgba(0,0,0,.15);position:relative;z-index:3}.graphiql-container .historyPaneWrap{min-width:230px;z-index:5}.graphiql-container .docExplorerResizer{cursor:col-resize;height:100%;left:-5px;position:absolute;top:0;width:10px;z-index:10}.graphiql-container .docExplorerHide{cursor:pointer;font-size:18px;margin:-7px -8px -6px 0;padding:18px 16px 15px 12px;background:0;border:0;line-height:14px}.graphiql-container div .query-editor{flex:1;position:relative}.graphiql-container .secondary-editor{display:flex;flex-direction:column;height:30px;position:relative}.graphiql-container .secondary-editor-title{background:#eee;border-bottom:1px solid #d6d6d6;border-top:1px solid #e0e0e0;color:#777;font-variant:small-caps;font-weight:700;letter-spacing:1px;line-height:14px;padding:6px 0 8px 43px;text-transform:lowercase;user-select:none}.graphiql-container .codemirrorWrap,.graphiql-container .result-window{flex:1;height:100%;position:relative}.graphiql-container .footer{background:#f6f7f8;border-left:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin-left:12px;position:relative}.graphiql-container .footer:before{background:#eee;bottom:0;content:\\\" \\\";left:-13px;position:absolute;top:-1px;width:12px}.result-window .CodeMirror{background:#f6f7f8}.graphiql-container .result-window .CodeMirror-gutters{background-color:#eee;border-color:#e0e0e0;cursor:col-resize}.graphiql-container .result-window .CodeMirror-foldgutter,.graphiql-container .result-window .CodeMirror-foldgutter-folded:after,.graphiql-container .result-window .CodeMirror-foldgutter-open:after{padding-left:3px}.graphiql-container .toolbar-button{background:#fdfdfd;background:linear-gradient(#f9f9f9,#ececec);border:0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 1px 0 hsla(0,0%,100%,.7),inset 0 1px #fff;color:#555;cursor:pointer;display:inline-block;margin:0 5px;padding:3px 11px 5px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.graphiql-container .toolbar-button:active{background:linear-gradient(#ececec,#d5d5d5);box-shadow:0 1px 0 hsla(0,0%,100%,.7),inset 0 0 0 1px rgba(0,0,0,.1),inset 0 1px 1px 1px rgba(0,0,0,.12),inset 0 0 5px rgba(0,0,0,.1)}.graphiql-container .toolbar-button.error{background:linear-gradient(#fdf3f3,#e6d6d7);color:#b00}.graphiql-container .toolbar-button-group{margin:0 5px;white-space:nowrap}.graphiql-container .toolbar-button-group>*{margin:0}.graphiql-container .toolbar-button-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.graphiql-container .toolbar-button-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.graphiql-container .execute-button-wrap{height:34px;margin:0 14px 0 28px;position:relative}.graphiql-container .execute-button{background:linear-gradient(#fdfdfd,#d2d3d6);border-radius:17px;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 0 #fff;cursor:pointer;fill:#444;height:34px;margin:0;padding:0;width:34px}.graphiql-container .execute-button svg{pointer-events:none}.graphiql-container .execute-button:active{background:linear-gradient(#e6e6e6,#c3c3c3);box-shadow:0 1px 0 #fff,inset 0 0 2px rgba(0,0,0,.2),inset 0 0 6px rgba(0,0,0,.1)}.graphiql-container .toolbar-menu,.graphiql-container .toolbar-select{position:relative}.graphiql-container .execute-options,.graphiql-container .toolbar-menu-items,.graphiql-container .toolbar-select-options{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.25);margin:0;padding:6px 0;position:absolute;z-index:100}.graphiql-container .execute-options{min-width:100px;top:37px;left:-1px}.graphiql-container .toolbar-menu-items{left:1px;margin-top:-1px;min-width:110%;top:100%;visibility:hidden}.graphiql-container .toolbar-menu-items.open{visibility:visible}.graphiql-container .toolbar-select-options{left:0;min-width:100%;top:-5px;visibility:hidden}.graphiql-container .toolbar-select-options.open{visibility:visible}.graphiql-container .execute-options>li,.graphiql-container .toolbar-menu-items>li,.graphiql-container .toolbar-select-options>li{cursor:pointer;display:block;margin:none;max-width:300px;overflow:hidden;padding:2px 20px 4px 11px;white-space:nowrap}.graphiql-container .execute-options>li.selected,.graphiql-container .history-contents>li:active,.graphiql-container .history-contents>li:hover,.graphiql-container .toolbar-menu-items>li.hover,.graphiql-container .toolbar-menu-items>li:active,.graphiql-container .toolbar-menu-items>li:hover,.graphiql-container .toolbar-select-options>li.hover,.graphiql-container .toolbar-select-options>li:active,.graphiql-container .toolbar-select-options>li:hover{background:#e10098;color:#fff}.graphiql-container .toolbar-select-options>li>svg{display:inline;fill:#666;margin:0 -6px 0 6px;pointer-events:none;vertical-align:middle}.graphiql-container .toolbar-select-options>li.hover>svg,.graphiql-container .toolbar-select-options>li:active>svg,.graphiql-container .toolbar-select-options>li:hover>svg{fill:#fff}.graphiql-container .CodeMirror-scroll{overflow-scrolling:touch}.graphiql-container .CodeMirror{color:#141823;font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;height:100%;left:0;position:absolute;top:0;width:100%}.graphiql-container .CodeMirror-lines{padding:20px 0}.CodeMirror-hint-information .content{box-orient:vertical;color:#141823;display:flex;font-family:system,-apple-system,San Francisco,\\\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-clamp:3;line-height:16px;max-height:48px;overflow:hidden;text-overflow:-o-ellipsis-lastline}.CodeMirror-hint-information .content p:first-child{margin-top:0}.CodeMirror-hint-information .content p:last-child{margin-bottom:0}.CodeMirror-hint-information .infoType{color:#ca9800;cursor:pointer;display:inline;margin-right:.5em}.autoInsertedLeaf.cm-property{animation-duration:6s;animation-name:insertionFade;border-bottom:2px solid hsla(0,0%,100%,0);border-radius:2px;margin:-2px -4px -1px;padding:2px 4px 1px}@keyframes insertionFade{0%,to{background:hsla(0,0%,100%,0);border-color:hsla(0,0%,100%,0)}15%,85%{background:#fbffc9;border-color:#f0f3c0}}div.CodeMirror-lint-tooltip{background-color:#fff;border-radius:2px;border:0;color:#141823;box-shadow:0 1px 3px rgba(0,0,0,.45);font-size:13px;line-height:16px;max-width:430px;opacity:0;padding:8px 10px;transition:opacity .15s;white-space:pre-wrap}div.CodeMirror-lint-tooltip>*{padding-left:23px}div.CodeMirror-lint-tooltip>*+*{margin-top:12px}.graphiql-container .CodeMirror-foldmarker{border-radius:4px;background:#08f;background:linear-gradient(#43a8ff,#0f83e8);box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);color:#fff;font-family:arial;font-size:12px;line-height:0;margin:0 3px;padding:0 4px 1px;text-shadow:0 -1px rgba(0,0,0,.1)}.graphiql-container div.CodeMirror span.CodeMirror-matchingbracket{color:#555;text-decoration:underline}.graphiql-container div.CodeMirror span.CodeMirror-nonmatchingbracket{color:red}.cm-comment{color:#999}.cm-punctuation{color:#555}.cm-keyword{color:#b11a04}.cm-def{color:#d2054e}.cm-property{color:#1f61a0}.cm-qualifier{color:#1c92a9}.cm-attribute{color:#8b2bb9}.cm-number{color:#2882f9}.cm-string{color:#d64292}.cm-builtin{color:#d47509}.cm-string-2{color:#0b7fc7}.cm-variable{color:#397d13}.cm-meta{color:#b33086}.cm-atom{color:#ca9800}\\n.CodeMirror{color:#000;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror .CodeMirror-cursor{border-left:1px solid #000}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{background:#7e7;border:0;width:auto}.CodeMirror.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{animation:blink 1.06s steps(1) infinite;border:0;width:auto}@keyframes blink{0%{background:#7e7}50%{background:none}to{background:#7e7}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-30px;margin-right:-30px;outline:none;overflow:scroll!important;padding-bottom:30px;position:relative}.CodeMirror-sizer{border-right:30px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{min-height:100%;position:absolute;left:0;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-30px;vertical-align:top;white-space:normal;*zoom:1;*display:inline}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper{user-select:none}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-webkit-tap-highlight-color:transparent;background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-variant-ligatures:none;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;word-wrap:normal;z-index:2}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{overflow:auto;position:relative;z-index:2}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:\\\"\\\"}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background:inherit;color:inherit;left:0;right:0;overflow:hidden;padding:.1em .8em;position:absolute;z-index:15}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{background:transparent;border:1px solid #d3d6db;color:inherit;font-family:monospace;outline:none;width:20em}.CodeMirror-dialog button{font-size:70%}\\n.CodeMirror-foldmarker{color:#00f;cursor:pointer;font-family:arial;line-height:.3;text-shadow:#b9f 1px 1px 2px,#b9f -1px -1px 2px,#b9f 1px -1px 2px,#b9f -1px 1px 2px}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-folded,.CodeMirror-foldgutter-open{cursor:pointer}.CodeMirror-foldgutter-open:after{content:\\\"\\\\25BE\\\"}.CodeMirror-foldgutter-folded:after{content:\\\"\\\\25B8\\\"}\\n.CodeMirror-info{background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.45);box-sizing:border-box;color:#555;font-family:system,-apple-system,San Francisco,\\\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin:8px -8px;max-width:400px;opacity:0;overflow:hidden;padding:8px;position:fixed;transition:opacity .15s;z-index:50}.CodeMirror-info :first-child{margin-top:0}.CodeMirror-info :last-child{margin-bottom:0}.CodeMirror-info p{margin:1em 0}.CodeMirror-info .info-description{color:#777;line-height:16px;margin-top:1em;max-height:80px;overflow:hidden}.CodeMirror-info .info-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px -8px;max-height:80px;overflow:hidden;padding:8px}.CodeMirror-info .info-deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;user-select:none}.CodeMirror-info .info-deprecation-label+*{margin-top:0}.CodeMirror-info a{text-decoration:none}.CodeMirror-info a:hover{text-decoration:underline}.CodeMirror-info .type-name{color:#ca9800}.CodeMirror-info .field-name{color:#1f61a0}.CodeMirror-info .enum-value{color:#0b7fc7}.CodeMirror-info .arg-name{color:#8b2bb9}.CodeMirror-info .directive-name{color:#b33086}\\n.CodeMirror-jump-token{text-decoration:underline;cursor:pointer}\\n.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:infobackground;border-radius:4px 4px 4px 4px;border:1px solid #000;color:infotext;font-family:monospace;font-size:10pt;max-width:600px;opacity:0;overflow:hidden;padding:2px 5px;position:fixed;transition:opacity .4s;white-space:pre-wrap;z-index:100}.CodeMirror-lint-mark-error,.CodeMirror-lint-mark-warning{background-position:0 100%;background-repeat:repeat-x}.CodeMirror-lint-mark-error{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==\\\")}.CodeMirror-lint-mark-warning{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\\\")}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:16px}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{background-position:0 0;background-repeat:no-repeat;padding-left:18px}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=\\\")}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\\\")}.CodeMirror-lint-marker-multiple{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\\\");background-position:100% 100%;background-repeat:no-repeat;width:100%;height:100%}\\n.graphiql-container .spinner-container{height:36px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:36px;z-index:10}.graphiql-container .spinner{animation:rotation .6s linear infinite;border-radius:100%;border:6px solid hsla(0,0%,58.8%,.15);border-top-color:hsla(0,0%,58.8%,.8);display:inline-block;height:24px;position:absolute;vertical-align:middle;width:24px}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}\\n.CodeMirror-hints{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.45);font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;list-style:none;margin:0;max-height:14.5em;overflow:hidden;overflow-y:auto;padding:0;position:absolute;z-index:10}.CodeMirror-hint{border-top:1px solid #f7f7f7;color:#141823;cursor:pointer;margin:0;max-width:300px;overflow:hidden;padding:2px 6px;white-space:pre}li.CodeMirror-hint-active{background-color:#08f;border-top-color:#fff;color:#fff}.CodeMirror-hint-information{border-top:1px solid silver;max-width:300px;padding:4px 6px;position:relative;z-index:1}.CodeMirror-hint-information:first-child{border-bottom:1px solid silver;border-top:none;margin-bottom:-1px}.CodeMirror-hint-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;font-family:system,-apple-system,San Francisco,\\\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin-top:4px;max-height:80px;overflow:hidden;padding:6px}.CodeMirror-hint-deprecation .deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;user-select:none}.CodeMirror-hint-deprecation .deprecation-label+*{margin-top:0}.CodeMirror-hint-deprecation :last-child{margin-bottom:0}\\n.graphiql-container .doc-explorer{background:#fff}.graphiql-container .doc-explorer-title-bar,.graphiql-container .history-title-bar{cursor:default;display:flex;height:34px;line-height:14px;padding:8px 8px 5px;position:relative;user-select:none}.graphiql-container .doc-explorer-title,.graphiql-container .history-title{flex:1;font-weight:700;overflow-x:hidden;padding:10px 0 10px 10px;text-align:center;text-overflow:ellipsis;user-select:text;white-space:nowrap}.graphiql-container .doc-explorer-back{color:#3b5998;cursor:pointer;margin:-7px 0 -6px -8px;overflow-x:hidden;padding:17px 12px 16px 16px;text-overflow:ellipsis;white-space:nowrap;background:0;border:0;line-height:14px}.doc-explorer-narrow .doc-explorer-back{width:0}.graphiql-container .doc-explorer-back:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:\\\"\\\";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .doc-explorer-rhs{position:relative}.graphiql-container .doc-explorer-contents,.graphiql-container .history-contents{background-color:#fff;border-top:1px solid #d6d6d6;bottom:0;left:0;overflow-y:auto;padding:20px 15px;position:absolute;right:0;top:47px}.graphiql-container .doc-explorer-contents{min-width:300px}.graphiql-container .doc-type-description blockquote:first-child,.graphiql-container .doc-type-description p:first-child{margin-top:0}.graphiql-container .doc-explorer-contents a{cursor:pointer;text-decoration:none}.graphiql-container .doc-explorer-contents a:hover{text-decoration:underline}.graphiql-container .doc-value-description>:first-child{margin-top:4px}.graphiql-container .doc-value-description>:last-child{margin-bottom:4px}.graphiql-container .doc-category code,.graphiql-container .doc-category pre,.graphiql-container .doc-type-description code,.graphiql-container .doc-type-description pre{--saf-0:rgba(var(--sk_foreground_low,29,28,29),0.13);font-size:12px;line-height:1.50001;font-variant-ligatures:none;white-space:pre;white-space:pre-wrap;word-wrap:break-word;word-break:normal;-webkit-tab-size:4;-moz-tab-size:4;tab-size:4}.graphiql-container .doc-category code,.graphiql-container .doc-type-description code{padding:2px 3px 1px;border:1px solid var(--saf-0);border-radius:3px;background-color:rgba(var(--sk_foreground_min,29,28,29),.04);color:#e01e5a;background-color:#fff}.graphiql-container .doc-category{margin:20px 0}.graphiql-container .doc-category-title{border-bottom:1px solid #e0e0e0;color:#777;cursor:default;font-size:14px;font-variant:small-caps;font-weight:700;letter-spacing:1px;margin:0 -15px 10px 0;padding:10px 0;user-select:none}.graphiql-container .doc-category-item{margin:12px 0;color:#555}.graphiql-container .keyword{color:#b11a04}.graphiql-container .type-name{color:#ca9800}.graphiql-container .field-name{color:#1f61a0}.graphiql-container .field-short-description{color:#999;margin-left:5px;overflow:hidden;text-overflow:ellipsis}.graphiql-container .enum-value{color:#0b7fc7}.graphiql-container .arg-name{color:#8b2bb9}.graphiql-container .arg{display:block;margin-left:1em}.graphiql-container .arg:first-child:last-child,.graphiql-container .arg:first-child:nth-last-child(2),.graphiql-container .arg:first-child:nth-last-child(2)~.arg{display:inherit;margin:inherit}.graphiql-container .arg:first-child:nth-last-child(2):after{content:\\\", \\\"}.graphiql-container .arg-default-value{color:#43a047}.graphiql-container .doc-deprecation{background:#fffae8;box-shadow:inset 0 0 1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px;max-height:80px;overflow:hidden;padding:8px;border-radius:3px}.graphiql-container .doc-deprecation:before{content:\\\"Deprecated:\\\";color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;user-select:none}.graphiql-container .doc-deprecation>:first-child{margin-top:0}.graphiql-container .doc-deprecation>:last-child{margin-bottom:0}.graphiql-container .show-btn{-webkit-appearance:initial;display:block;border-radius:3px;border:1px solid #ccc;text-align:center;padding:8px 12px 10px;width:100%;box-sizing:border-box;background:#fbfcfc;color:#555;cursor:pointer}.graphiql-container .search-box{border-bottom:1px solid #d3d6db;display:flex;align-items:center;font-size:14px;margin:-15px -15px 12px 0;position:relative}.graphiql-container .search-box-icon{cursor:pointer;display:block;font-size:24px;transform:rotate(-45deg);user-select:none}.graphiql-container .search-box .search-box-clear{background-color:#d0d0d0;border-radius:12px;color:#fff;cursor:pointer;font-size:11px;padding:1px 5px 2px;position:absolute;right:3px;user-select:none;border:0}.graphiql-container .search-box .search-box-clear:hover{background-color:#b9b9b9}.graphiql-container .search-box>input{border:none;box-sizing:border-box;font-size:14px;outline:none;padding:6px 24px 8px 20px;width:100%}.graphiql-container .error-container{font-weight:700;left:0;letter-spacing:1px;opacity:.5;position:absolute;right:0;text-align:center;text-transform:uppercase;top:50%;transform:translateY(-50%)}\\n.graphiql-container .history-contents{font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;margin:0;padding:0}.graphiql-container .history-contents li{align-items:center;display:flex;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:8px;border-bottom:1px solid #e0e0e0}.graphiql-container .history-contents li button:not(.history-label){display:none;margin-left:10px}.graphiql-container .history-contents li:focus-within button:not(.history-label),.graphiql-container .history-contents li:hover button:not(.history-label){display:inline-block}.graphiql-container .history-contents button,.graphiql-container .history-contents input{padding:0;background:0;border:0;font-size:inherit;font-family:inherit;line-height:14px;color:inherit}.graphiql-container .history-contents input{flex-grow:1}.graphiql-container .history-contents input::placeholder{color:inherit}.graphiql-container .history-contents button{cursor:pointer;text-align:left}.graphiql-container .history-contents .history-label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}\\n\\n/*# sourceMappingURL=graphiql.min.css.map*/\"]}"), } - filel := &embedded.EmbeddedFile{ - Filename: "static/js/2.0737febf.chunk.js", - FileModTime: time.Unix(1612512060, 0), + filek := &embedded.EmbeddedFile{ + Filename: "static/css/main.45320ab8.chunk.css", + FileModTime: time.Unix(1613868993, 0), - Content: string("/*! For license information please see 2.0737febf.chunk.js.LICENSE.txt */\n(this.webpackJsonpweb=this.webpackJsonpweb||[]).push([[2],[function(e,t,n){\"use strict\";n.d(t,\"S\",(function(){return E})),n.d(t,\"x\",(function(){return x})),n.d(t,\"R\",(function(){return D})),n.d(t,\"w\",(function(){return C})),n.d(t,\"N\",(function(){return w})),n.d(t,\"u\",(function(){return S})),n.d(t,\"H\",(function(){return k})),n.d(t,\"o\",(function(){return A})),n.d(t,\"T\",(function(){return T})),n.d(t,\"y\",(function(){return _})),n.d(t,\"E\",(function(){return O})),n.d(t,\"l\",(function(){return F})),n.d(t,\"F\",(function(){return N})),n.d(t,\"m\",(function(){return I})),n.d(t,\"J\",(function(){return M})),n.d(t,\"q\",(function(){return j})),n.d(t,\"L\",(function(){return L})),n.d(t,\"s\",(function(){return P})),n.d(t,\"G\",(function(){return R})),n.d(t,\"n\",(function(){return B})),n.d(t,\"O\",(function(){return U})),n.d(t,\"v\",(function(){return z})),n.d(t,\"I\",(function(){return V})),n.d(t,\"p\",(function(){return q})),n.d(t,\"D\",(function(){return H})),n.d(t,\"k\",(function(){return W})),n.d(t,\"C\",(function(){return G})),n.d(t,\"j\",(function(){return K})),n.d(t,\"d\",(function(){return J})),n.d(t,\"e\",(function(){return Y})),n.d(t,\"U\",(function(){return Q})),n.d(t,\"z\",(function(){return $})),n.d(t,\"M\",(function(){return X})),n.d(t,\"t\",(function(){return Z})),n.d(t,\"B\",(function(){return ee})),n.d(t,\"K\",(function(){return te})),n.d(t,\"r\",(function(){return ne})),n.d(t,\"A\",(function(){return re})),n.d(t,\"g\",(function(){return ae})),n.d(t,\"f\",(function(){return se})),n.d(t,\"i\",(function(){return fe})),n.d(t,\"P\",(function(){return de})),n.d(t,\"c\",(function(){return he})),n.d(t,\"h\",(function(){return me})),n.d(t,\"a\",(function(){return ye})),n.d(t,\"b\",(function(){return ve})),n.d(t,\"Q\",(function(){return Ee}));var r=n(51),i=n(2),o=n(34),a=n(58),s=n(39),u=n(8),c=n(30),l=n(54),p=n(28);function f(e){return e}var d=n(47),h=n(46),m=n(1),g=n(224);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t0?e:void 0}J.prototype.toString=function(){return\"[\"+String(this.ofType)+\"]\"},Object(h.a)(J),Object(d.a)(J),Y.prototype.toString=function(){return String(this.ofType)+\"!\"},Object(h.a)(Y),Object(d.a)(Y);var ae=function(){function e(e){var t=e.parseValue||f;this.name=e.name,this.description=e.description,this.serialize=e.serialize||f,this.parseValue=t,this.parseLiteral=e.parseLiteral||function(e){return t(Object(g.a)(e))},this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.serialize||\"function\"===typeof e.serialize||Object(u.a)(0,\"\".concat(this.name,' must provide \"serialize\" function. If this custom Scalar is also used as an input type, ensure \"parseValue\" and \"parseLiteral\" functions are also provided.')),e.parseLiteral&&(\"function\"===typeof e.parseValue&&\"function\"===typeof e.parseLiteral||Object(u.a)(0,\"\".concat(this.name,' must provide both \"parseValue\" and \"parseLiteral\" functions.')))}var t=e.prototype;return t.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(ae),Object(d.a)(ae);var se=function(){function e(e){this.name=e.name,this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=ce.bind(void 0,e),this._interfaces=ue.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.isTypeOf||\"function\"===typeof e.isTypeOf||Object(u.a)(0,\"\".concat(this.name,' must provide \"isTypeOf\" as a function, ')+\"but got: \".concat(Object(i.a)(e.isTypeOf),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return\"function\"===typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:pe(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ue(e){var t=ie(e.interfaces)||[];return Array.isArray(t)||Object(u.a)(0,\"\".concat(e.name,\" interfaces must be an Array or a function which returns an Array.\")),t}function ce(e){var t=ie(e.fields)||{};return le(t)||Object(u.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(a.a)(t,(function(t,n){le(t)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" field config must be an object\")),!(\"isDeprecated\"in t)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),null==t.resolve||\"function\"===typeof t.resolve||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" field resolver must be a function if \")+\"provided, but got: \".concat(Object(i.a)(t.resolve),\".\"));var o=t.args||{};le(o)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" args must be an object with argument names as keys.\"));var a=Object(r.a)(o).map((function(e){var t=e[0],n=e[1];return{name:t,description:void 0===n.description?null:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&Object(s.a)(n.extensions),astNode:n.astNode}}));return v({},t,{name:n,description:t.description,type:t.type,args:a,resolve:t.resolve,subscribe:t.subscribe,isDeprecated:Boolean(t.deprecationReason),deprecationReason:t.deprecationReason,extensions:t.extensions&&Object(s.a)(t.extensions),astNode:t.astNode})}))}function le(e){return Object(p.a)(e)&&!Array.isArray(e)}function pe(e){return Object(a.a)(e,(function(e){return{description:e.description,type:e.type,args:fe(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}))}function fe(e){return Object(c.a)(e,(function(e){return e.name}),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}))}function de(e){return L(e.type)&&void 0===e.defaultValue}Object(h.a)(se),Object(d.a)(se);var he=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=ce.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.resolveType||\"function\"===typeof e.resolveType||Object(u.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(i.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){return{name:this.name,description:this.description,fields:pe(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(he),Object(d.a)(he);var me=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._types=ge.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.resolveType||\"function\"===typeof e.resolveType||Object(u.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(i.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getTypes=function(){return\"function\"===typeof this._types&&(this._types=this._types()),this._types},t.toConfig=function(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ge(e){var t=ie(e.types)||[];return Array.isArray(t)||Object(u.a)(0,\"Must provide Array of types or a function which returns such an array for Union \".concat(e.name,\".\")),t}Object(h.a)(me),Object(d.a)(me);var ye=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._values=(t=this.name,le(n=e.values)||Object(u.a)(0,\"\".concat(t,\" values must be an object with value names as keys.\")),Object(r.a)(n).map((function(e){var n=e[0],r=e[1];return le(r)||Object(u.a)(0,\"\".concat(t,\".\").concat(n,' must refer to an object with a \"value\" key ')+\"representing an internal value but got: \".concat(Object(i.a)(r),\".\")),!(\"isDeprecated\"in r)||Object(u.a)(0,\"\".concat(t,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),{name:n,description:r.description,value:\"value\"in r?r.value:n,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,extensions:r.extensions&&Object(s.a)(r.extensions),astNode:r.astNode}}))),this._valueLookup=new Map(this._values.map((function(e){return[e.value,e]}))),this._nameLookup=Object(o.a)(this._values,(function(e){return e.name})),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getValues=function(){return this._values},t.getValue=function(e){return this._nameLookup[e]},t.serialize=function(e){var t=this._valueLookup.get(e);if(t)return t.name},t.parseValue=function(e){if(\"string\"===typeof e){var t=this.getValue(e);if(t)return t.value}},t.parseLiteral=function(e,t){if(e.kind===m.a.ENUM){var n=this.getValue(e.value);if(n)return n.value}},t.toConfig=function(){var e=Object(c.a)(this.getValues(),(function(e){return e.name}),(function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(ye),Object(d.a)(ye);var ve=function(){function e(e){this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=be.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){var e=Object(a.a)(this.getFields(),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function be(e){var t=ie(e.fields)||{};return le(t)||Object(u.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(a.a)(t,(function(t,n){return!(\"resolve\"in t)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" field has a resolve property, but Input Types cannot define resolvers.\")),v({},t,{name:n,description:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&Object(s.a)(t.extensions),astNode:t.astNode})}))}function Ee(e){return L(e.type)&&void 0===e.defaultValue}Object(h.a)(ve),Object(d.a)(ve)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var r=Object.freeze({NAME:\"Name\",DOCUMENT:\"Document\",OPERATION_DEFINITION:\"OperationDefinition\",VARIABLE_DEFINITION:\"VariableDefinition\",SELECTION_SET:\"SelectionSet\",FIELD:\"Field\",ARGUMENT:\"Argument\",FRAGMENT_SPREAD:\"FragmentSpread\",INLINE_FRAGMENT:\"InlineFragment\",FRAGMENT_DEFINITION:\"FragmentDefinition\",VARIABLE:\"Variable\",INT:\"IntValue\",FLOAT:\"FloatValue\",STRING:\"StringValue\",BOOLEAN:\"BooleanValue\",NULL:\"NullValue\",ENUM:\"EnumValue\",LIST:\"ListValue\",OBJECT:\"ObjectValue\",OBJECT_FIELD:\"ObjectField\",DIRECTIVE:\"Directive\",NAMED_TYPE:\"NamedType\",LIST_TYPE:\"ListType\",NON_NULL_TYPE:\"NonNullType\",SCHEMA_DEFINITION:\"SchemaDefinition\",OPERATION_TYPE_DEFINITION:\"OperationTypeDefinition\",SCALAR_TYPE_DEFINITION:\"ScalarTypeDefinition\",OBJECT_TYPE_DEFINITION:\"ObjectTypeDefinition\",FIELD_DEFINITION:\"FieldDefinition\",INPUT_VALUE_DEFINITION:\"InputValueDefinition\",INTERFACE_TYPE_DEFINITION:\"InterfaceTypeDefinition\",UNION_TYPE_DEFINITION:\"UnionTypeDefinition\",ENUM_TYPE_DEFINITION:\"EnumTypeDefinition\",ENUM_VALUE_DEFINITION:\"EnumValueDefinition\",INPUT_OBJECT_TYPE_DEFINITION:\"InputObjectTypeDefinition\",DIRECTIVE_DEFINITION:\"DirectiveDefinition\",SCHEMA_EXTENSION:\"SchemaExtension\",SCALAR_TYPE_EXTENSION:\"ScalarTypeExtension\",OBJECT_TYPE_EXTENSION:\"ObjectTypeExtension\",INTERFACE_TYPE_EXTENSION:\"InterfaceTypeExtension\",UNION_TYPE_EXTENSION:\"UnionTypeExtension\",ENUM_TYPE_EXTENSION:\"EnumTypeExtension\",INPUT_OBJECT_TYPE_EXTENSION:\"InputObjectTypeExtension\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(95);function i(e){return(i=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function o(e){return a(e,[])}function a(e,t){switch(i(e)){case\"string\":return JSON.stringify(e);case\"function\":return e.name?\"[function \".concat(e.name,\"]\"):\"[function]\";case\"object\":return null===e?\"null\":function(e,t){if(-1!==t.indexOf(e))return\"[Circular]\";var n=[].concat(t,[e]),i=function(e){var t=e[String(r.a)];if(\"function\"===typeof t)return t;if(\"function\"===typeof e.inspect)return e.inspect}(e);if(void 0!==i){var o=i.call(e);if(o!==e)return\"string\"===typeof o?o:a(o,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return\"[]\";if(t.length>2)return\"[Array]\";for(var n=Math.min(10,e.length),r=e.length-n,i=[],o=0;o1&&i.push(\"... \".concat(r,\" more items\"));return\"[\"+i.join(\", \")+\"]\"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return\"{}\";if(t.length>2)return\"[\"+function(e){var t=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===t&&\"function\"===typeof e.constructor){var n=e.constructor.name;if(\"string\"===typeof n&&\"\"!==n)return n}return t}(e)+\"]\";return\"{ \"+n.map((function(n){return n+\": \"+a(e[n],t)})).join(\", \")+\" }\"}(e,n)}(e,t);default:return String(e)}}},function(e,t,n){\"use strict\";e.exports=n(259)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s}));var r=n(28),i=n(96),o=n(142);function a(e,t,n,o,s,u,c){var l=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,p=n;if(!p&&l){var f=l[0];p=f&&f.loc&&f.loc.source}var d,h=o;!h&&l&&(h=l.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),h&&0===h.length&&(h=void 0),o&&n?d=o.map((function(e){return Object(i.a)(n,e)})):l&&(d=l.reduce((function(e,t){return t.loc&&e.push(Object(i.a)(t.loc.source,t.loc.start)),e}),[]));var m=c;if(null==m&&null!=u){var g=u.extensions;Object(r.a)(g)&&(m=g)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:s||void 0,enumerable:Boolean(s)},nodes:{value:l||void 0},source:{value:p||void 0},positions:{value:h||void 0},originalError:{value:u},extensions:{value:m||void 0,enumerable:Boolean(m)}}),u&&u.stack?Object.defineProperty(this,\"stack\",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,\"stack\",{value:Error().stack,writable:!0,configurable:!0})}function s(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n\",EOF:\"\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return ae})),n.d(t,\"b\",(function(){return L})),n.d(t,\"c\",(function(){return v})),n.d(t,\"d\",(function(){return R})),n.d(t,\"e\",(function(){return x})),n.d(t,\"f\",(function(){return c})),n.d(t,\"g\",(function(){return U})),n.d(t,\"h\",(function(){return K})),n.d(t,\"i\",(function(){return I})),n.d(t,\"j\",(function(){return $})),n.d(t,\"k\",(function(){return z})),n.d(t,\"l\",(function(){return X})),n.d(t,\"m\",(function(){return ue})),n.d(t,\"n\",(function(){return pe})),n.d(t,\"o\",(function(){return oe})),n.d(t,\"p\",(function(){return de})),n.d(t,\"q\",(function(){return j})),n.d(t,\"r\",(function(){return F})),n.d(t,\"s\",(function(){return P})),n.d(t,\"t\",(function(){return q})),n.d(t,\"u\",(function(){return M})),n.d(t,\"v\",(function(){return ve})),n.d(t,\"w\",(function(){return re})),n.d(t,\"x\",(function(){return Y})),n.d(t,\"y\",(function(){return Z})),n.d(t,\"z\",(function(){return ee})),n.d(t,\"A\",(function(){return te})),n.d(t,\"B\",(function(){return ne})),n.d(t,\"C\",(function(){return B})),n.d(t,\"D\",(function(){return se})),n.d(t,\"E\",(function(){return ce})),n.d(t,\"F\",(function(){return le})),n.d(t,\"G\",(function(){return fe})),n.d(t,\"H\",(function(){return he})),n.d(t,\"I\",(function(){return me})),n.d(t,\"J\",(function(){return ge})),n.d(t,\"K\",(function(){return ye})),n.d(t,\"L\",(function(){return V})),n.d(t,\"M\",(function(){return l})),n.d(t,\"N\",(function(){return H})),n.d(t,\"O\",(function(){return N})),n.d(t,\"P\",(function(){return W})),n.d(t,\"Q\",(function(){return G})),n.d(t,\"R\",(function(){return J})),n.d(t,\"S\",(function(){return b})),n.d(t,\"T\",(function(){return k})),n.d(t,\"U\",(function(){return s})),n.d(t,\"V\",(function(){return S})),n.d(t,\"W\",(function(){return E})),n.d(t,\"X\",(function(){return O})),n.d(t,\"Y\",(function(){return h})),n.d(t,\"Z\",(function(){return p})),n.d(t,\"ab\",(function(){return y})),n.d(t,\"bb\",(function(){return d})),n.d(t,\"cb\",(function(){return w})),n.d(t,\"db\",(function(){return u})),n.d(t,\"eb\",(function(){return f})),n.d(t,\"fb\",(function(){return A})),n.d(t,\"gb\",(function(){return C})),n.d(t,\"hb\",(function(){return D}));var r=n(16),i=n(42),o=n(10),a=n(115),s=function(e){return function(){return e}}(!0),u=function(){};var c=function(e){return e};\"function\"===typeof Symbol&&Symbol.asyncIterator&&Symbol.asyncIterator;function l(e,t,n){if(!t(e))throw new Error(n)}var p=function(e,t){Object(i.a)(e,t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach((function(n){e[n]=t[n]}))},f=function(e,t){var n;return(n=[]).concat.apply(n,t.map(e))};function d(e,t){var n=e.indexOf(t);n>=0&&e.splice(n,1)}function h(e){var t=!1;return function(){t||(t=!0,e())}}var m=function(e){throw e},g=function(e){return{value:e,done:!0}};function y(e,t,n){void 0===t&&(t=m),void 0===n&&(n=\"iterator\");var r={meta:{name:n},next:e,throw:t,return:g,isSagaIterator:!0};return\"undefined\"!==typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}function v(e,t){var n=t.sagaStack;console.error(e),console.error(n)}var b=function(e){return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \"+e+\"\\n\")},E=function(e){return Array.apply(null,new Array(e))},x=function(e){return function(t){return e(Object.defineProperty(t,r.f,{value:!0}))}},D=function(e){return e===r.k},C=function(e){return e===r.j},w=function(e){return D(e)||C(e)};function S(e,t){var n=Object.keys(e),r=n.length;var i,a=0,s=Object(o.a)(e)?E(r):{},c={};return n.forEach((function(e){var n=function(n,o){i||(o||w(n)?(t.cancel(),t(n,o)):(s[e]=n,++a===r&&(i=!0,t(s))))};n.cancel=u,c[e]=n})),t.cancel=function(){i||(i=!0,n.forEach((function(e){return c[e].cancel()})))},c}function k(e){return{name:e.name||\"anonymous\",location:A(e)}}function A(e){return e[r.g]}var T={isEmpty:s,put:u,take:u};function _(e,t){void 0===e&&(e=10);var n=new Array(e),r=0,i=0,o=0,a=function(t){n[i]=t,i=(i+1)%e,r++},s=function(){if(0!=r){var t=n[o];return n[o]=null,r--,o=(o+1)%e,t}},u=function(){for(var e=[];r;)e.push(s());return e};return{isEmpty:function(){return 0==r},put:function(s){var c;if(r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;ri;)9===r.charCodeAt(i)?n+=2:n++,i++;return n},this.current=function(){return t._sourceText.slice(t._start,t._pos)},this._start=0,this._pos=0,this._sourceText=e}return e.prototype._testNextCharacter=function(e){var t=this._sourceText.charAt(this._pos);return\"string\"===typeof e?t===e:e instanceof RegExp?e.test(t):e(t)},e}();function i(e){return{ofRule:e}}function o(e,t){return{ofRule:e,isList:!0,separator:t}}function a(e,t){var n=e.match;return e.match=function(e){var r=!1;return n&&(r=n(e)),r&&t.every((function(t){return t.match&&!t.match(e)}))},e}function s(e,t){return{style:t,match:function(t){return t.kind===e}}}function u(e,t){return{style:t||\"punctuation\",match:function(t){return\"Punctuation\"===t.kind&&t.value===e}}}var c,l=function(e){return\" \"===e||\"\\t\"===e||\",\"===e||\"\\n\"===e||\"\\r\"===e||\"\\ufeff\"===e||\"\\xa0\"===e},p={Name:/^[_A-Za-z][_0-9A-Za-z]*/,Punctuation:/^(?:!|\\$|\\(|\\)|\\.\\.\\.|:|=|@|\\[|]|\\{|\\||\\})/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^(?:\"\"\"(?:\\\\\"\"\"|[^\"]|\"[^\"]|\"\"[^\"])*(?:\"\"\")?|\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?)/,Comment:/^#.*/},f={Document:[o(\"Definition\")],Definition:function(e){switch(e.value){case\"{\":return\"ShortQuery\";case\"query\":return\"Query\";case\"mutation\":return\"Mutation\";case\"subscription\":return\"Subscription\";case\"fragment\":return\"FragmentDefinition\";case\"schema\":return\"SchemaDef\";case\"scalar\":return\"ScalarDef\";case\"type\":return\"ObjectTypeDef\";case\"interface\":return\"InterfaceDef\";case\"union\":return\"UnionDef\";case\"enum\":return\"EnumDef\";case\"input\":return\"InputDef\";case\"extend\":return\"ExtendDef\";case\"directive\":return\"DirectiveDef\"}},ShortQuery:[\"SelectionSet\"],Query:[d(\"query\"),i(h(\"def\")),i(\"VariableDefinitions\"),o(\"Directive\"),\"SelectionSet\"],Mutation:[d(\"mutation\"),i(h(\"def\")),i(\"VariableDefinitions\"),o(\"Directive\"),\"SelectionSet\"],Subscription:[d(\"subscription\"),i(h(\"def\")),i(\"VariableDefinitions\"),o(\"Directive\"),\"SelectionSet\"],VariableDefinitions:[u(\"(\"),o(\"VariableDefinition\"),u(\")\")],VariableDefinition:[\"Variable\",u(\":\"),\"Type\",i(\"DefaultValue\")],Variable:[u(\"$\",\"variable\"),h(\"variable\")],DefaultValue:[u(\"=\"),\"Value\"],SelectionSet:[u(\"{\"),o(\"Selection\"),u(\"}\")],Selection:function(e,t){return\"...\"===e.value?t.match(/[\\s\\u00a0,]*(on\\b|@|{)/,!1)?\"InlineFragment\":\"FragmentSpread\":t.match(/[\\s\\u00a0,]*:/,!1)?\"AliasedField\":\"Field\"},AliasedField:[h(\"property\"),u(\":\"),h(\"qualifier\"),i(\"Arguments\"),o(\"Directive\"),i(\"SelectionSet\")],Field:[h(\"property\"),i(\"Arguments\"),o(\"Directive\"),i(\"SelectionSet\")],Arguments:[u(\"(\"),o(\"Argument\"),u(\")\")],Argument:[h(\"attribute\"),u(\":\"),\"Value\"],FragmentSpread:[u(\"...\"),h(\"def\"),o(\"Directive\")],InlineFragment:[u(\"...\"),i(\"TypeCondition\"),o(\"Directive\"),\"SelectionSet\"],FragmentDefinition:[d(\"fragment\"),i(a(h(\"def\"),[d(\"on\")])),\"TypeCondition\",o(\"Directive\"),\"SelectionSet\"],TypeCondition:[d(\"on\"),\"NamedType\"],Value:function(e){switch(e.kind){case\"Number\":return\"NumberValue\";case\"String\":return\"StringValue\";case\"Punctuation\":switch(e.value){case\"[\":return\"ListValue\";case\"{\":return\"ObjectValue\";case\"$\":return\"Variable\"}return null;case\"Name\":switch(e.value){case\"true\":case\"false\":return\"BooleanValue\"}return\"null\"===e.value?\"NullValue\":\"EnumValue\"}},NumberValue:[s(\"Number\",\"number\")],StringValue:[s(\"String\",\"string\")],BooleanValue:[s(\"Name\",\"builtin\")],NullValue:[s(\"Name\",\"keyword\")],EnumValue:[h(\"string-2\")],ListValue:[u(\"[\"),o(\"Value\"),u(\"]\")],ObjectValue:[u(\"{\"),o(\"ObjectField\"),u(\"}\")],ObjectField:[h(\"attribute\"),u(\":\"),\"Value\"],Type:function(e){return\"[\"===e.value?\"ListType\":\"NonNullType\"},ListType:[u(\"[\"),\"Type\",u(\"]\"),i(u(\"!\"))],NonNullType:[\"NamedType\",i(u(\"!\"))],NamedType:[(c=\"atom\",{style:c,match:function(e){return\"Name\"===e.kind},update:function(e,t){e.prevState&&e.prevState.prevState&&(e.name=t.value,e.prevState.prevState.type=t.value)}})],Directive:[u(\"@\",\"meta\"),h(\"meta\"),i(\"Arguments\")],SchemaDef:[d(\"schema\"),o(\"Directive\"),u(\"{\"),o(\"OperationTypeDef\"),u(\"}\")],OperationTypeDef:[h(\"keyword\"),u(\":\"),h(\"atom\")],ScalarDef:[d(\"scalar\"),h(\"atom\"),o(\"Directive\")],ObjectTypeDef:[d(\"type\"),h(\"atom\"),i(\"Implements\"),o(\"Directive\"),u(\"{\"),o(\"FieldDef\"),u(\"}\")],Implements:[d(\"implements\"),o(\"NamedType\")],FieldDef:[h(\"property\"),i(\"ArgumentsDef\"),u(\":\"),\"Type\",o(\"Directive\")],ArgumentsDef:[u(\"(\"),o(\"InputValueDef\"),u(\")\")],InputValueDef:[h(\"attribute\"),u(\":\"),\"Type\",i(\"DefaultValue\"),o(\"Directive\")],InterfaceDef:[d(\"interface\"),h(\"atom\"),o(\"Directive\"),u(\"{\"),o(\"FieldDef\"),u(\"}\")],UnionDef:[d(\"union\"),h(\"atom\"),o(\"Directive\"),u(\"=\"),o(\"UnionMember\",u(\"|\"))],UnionMember:[\"NamedType\"],EnumDef:[d(\"enum\"),h(\"atom\"),o(\"Directive\"),u(\"{\"),o(\"EnumValueDef\"),u(\"}\")],EnumValueDef:[h(\"string-2\"),o(\"Directive\")],InputDef:[d(\"input\"),h(\"atom\"),o(\"Directive\"),u(\"{\"),o(\"InputValueDef\"),u(\"}\")],ExtendDef:[d(\"extend\"),\"ObjectTypeDef\"],DirectiveDef:[d(\"directive\"),u(\"@\",\"meta\"),h(\"meta\"),i(\"ArgumentsDef\"),d(\"on\"),o(\"DirectiveLocation\",u(\"|\"))],DirectiveLocation:[h(\"string-2\")]};function d(e){return{style:\"keyword\",match:function(t){return\"Name\"===t.kind&&t.value===e}}}function h(e){return{style:e,match:function(e){return\"Name\"===e.kind},update:function(e,t){e.name=t.value}}}var m=function(){return(m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&l[l.length-1]2147483647||t<-2147483648)throw new TypeError(\"Int cannot represent non 32-bit signed integer value: \".concat(Object(o.a)(e)));return t},parseValue:function(e){if(!i(e))throw new TypeError(\"Int cannot represent non-integer value: \".concat(Object(o.a)(e)));if(e>2147483647||e<-2147483648)throw new TypeError(\"Int cannot represent non 32-bit signed integer value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){if(e.kind===s.a.INT){var t=parseInt(e.value,10);if(t<=2147483647&&t>=-2147483648)return t}}});var l=new u.g({name:\"Float\",description:\"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).\",serialize:function(e){if(\"boolean\"===typeof e)return e?1:0;var t=e;if(\"string\"===typeof e&&\"\"!==e&&(t=Number(e)),!r(t))throw new TypeError(\"Float cannot represent non numeric value: \".concat(Object(o.a)(e)));return t},parseValue:function(e){if(!r(e))throw new TypeError(\"Float cannot represent non numeric value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.FLOAT||e.kind===s.a.INT?parseFloat(e.value):void 0}});function p(e){if(Object(a.a)(e)){if(\"function\"===typeof e.valueOf){var t=e.valueOf();if(!Object(a.a)(t))return t}if(\"function\"===typeof e.toJSON)return e.toJSON()}return e}var f=new u.g({name:\"String\",description:\"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.\",serialize:function(e){var t=p(e);if(\"string\"===typeof t)return t;if(\"boolean\"===typeof t)return t?\"true\":\"false\";if(r(t))return t.toString();throw new TypeError(\"String cannot represent value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"string\"!==typeof e)throw new TypeError(\"String cannot represent a non string value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.STRING?e.value:void 0}});var d=new u.g({name:\"Boolean\",description:\"The `Boolean` scalar type represents `true` or `false`.\",serialize:function(e){if(\"boolean\"===typeof e)return e;if(r(e))return 0!==e;throw new TypeError(\"Boolean cannot represent a non boolean value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"boolean\"!==typeof e)throw new TypeError(\"Boolean cannot represent a non boolean value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.BOOLEAN?e.value:void 0}});var h=new u.g({name:\"ID\",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var t=p(e);if(\"string\"===typeof t)return t;if(i(t))return String(t);throw new TypeError(\"ID cannot represent value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"string\"===typeof e)return e;if(i(e))return e.toString();throw new TypeError(\"ID cannot represent value: \".concat(Object(o.a)(e)))},parseLiteral:function(e){return e.kind===s.a.STRING||e.kind===s.a.INT?e.value:void 0}}),m=Object.freeze([f,c,l,d,h]);function g(e){return Object(u.R)(e)&&m.some((function(t){var n=t.name;return e.name===n}))}},function(e,t,n){e.exports=function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,n=/gecko\\/\\d/i.test(e),r=/MSIE \\d/.test(e),i=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),o=/Edge\\/(\\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\\//.test(e),c=u&&/Qt\\/\\d+\\.\\d+/.test(e),l=!o&&/Chrome\\//.test(e),p=/Opera\\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),h=/PhantomJS/.test(e),m=!o&&/AppleWebKit/.test(e)&&/Mobile\\/\\w+/.test(e),g=/Android/.test(e),y=m||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=m||/Mac/.test(t),b=/\\bCrOS\\b/.test(e),E=/win/i.test(t),x=p&&e.match(/Version\\/(\\d*\\.\\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(p=!1,u=!0);var D=v&&(c||p&&(null==x||x<12.11)),C=n||a&&s>=9;function w(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var S,k=function(e,t){var n=e.className,r=w(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:\"\")}};function A(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return A(e).appendChild(t)}function _(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?j=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(j=function(e){try{e.select()}catch(t){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=L(this.onTimeout,this)};function U(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var G=[\"\"];function K(e){for(;G.length<=e;)G.push(J(G)+\" \");return G[e]}function J(e){return e[e.length-1]}function Y(e,t){for(var n=[],r=0;r\"\\x80\"&&(e.toUpperCase()!=e.toLowerCase()||X.test(e))}function ee(e,t){return t?!!(t.source.indexOf(\"\\\\w\")>-1&&Z(e))||t.test(e):Z(e)}function te(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ne.test(e)}function ie(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ae=null;function se(e,t,n){var r;ae=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:ae=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:ae=i)}return null!=r?r:ae}var ue=function(){var e=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var u=\"ltr\"==s?\"L\":\"R\";if(0==a.length||\"ltr\"==s&&!e.test(a))return!1;for(var c,l=a.length,p=[],f=0;f-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=fe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function ve(e){e.prototype.on=function(e,t){pe(this,e,t)},e.prototype.off=function(e,t){de(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ee(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function xe(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function De(e){be(e),Ee(e)}function Ce(e){return e.target||e.srcElement}function we(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Se,ke,Ae=function(){if(a&&s<9)return!1;var e=_(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();function Te(e){if(null==Se){var t=_(\"span\",\"\\u200b\");T(e,_(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(Se=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Se?_(\"span\",\"\\u200b\"):_(\"span\",\"\\xa0\",null,\"display: inline-block; width: 1px; margin-right: -1px\");return n.setAttribute(\"cm-text\",\"\"),n}function _e(e){if(null!=ke)return ke;var t=T(e,document.createTextNode(\"A\\u062eA\")),n=S(t,0,1).getBoundingClientRect(),r=S(t,1,2).getBoundingClientRect();return A(e),!(!n||n.left==n.right)&&(ke=r.right-n.right<3)}var Oe=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),a=o.indexOf(\"\\r\");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},Fe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(n){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Ne=function(){var e=_(\"div\");return\"oncopy\"in e||(e.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof e.oncopy)}(),Ie=null,Me={},je={};function Le(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Me[e]=t}function Pe(e){if(\"string\"==typeof e&&je.hasOwnProperty(e))e=je[e];else if(e&&\"string\"==typeof e.name&&je.hasOwnProperty(e.name)){var t=je[e.name];\"string\"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return Pe(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return Pe(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function Re(e,t){t=Pe(t);var n=Me[t.name];if(!n)return Re(e,\"text/plain\");var r=n(e,t);if(Be.hasOwnProperty(t.name)){var i=Be[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r[\"_\"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Be={};function Ue(e,t){P(t,Be.hasOwnProperty(e)?Be[e]:Be[e]={})}function ze(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function qe(e,t,n){return!e.startState||e.startState(t,n)}var He=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function We(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?Ze(n,We(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?Ze(e.line,t):n<0?Ze(e.line,0):e}(t,We(e,t.line).text.length)}function st(e,t){for(var n=[],r=0;r=this.string.length},He.prototype.sol=function(){return this.pos==this.lineStart},He.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},He.prototype.next=function(){if(this.post},He.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},He.prototype.skipToEnd=function(){this.pos=this.string.length},He.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},He.prototype.backUp=function(e){this.pos-=e},He.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},He.prototype.current=function(){return this.string.slice(this.start,this.pos)},He.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},He.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},He.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ut=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function lt(e,t,n,r){var i=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],u=1,c=0;n.state=!0,bt(e,t.text,s.mode,n,(function(e,t){for(var n=u;ce&&i.splice(u,1,e,i[u+1],r),u+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,u-n,e,\"overlay \"+t),u=n+2;else for(;ne.options.maxHighlightLength&&ze(e.doc.mode,r.state),o=lt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function ft(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var u=We(o,s-1),c=u.stateAfter;if(c&&(!n||s+(c instanceof ut?c.lookAhead:0)<=o.modeFrontier))return s;var l=R(u.text,null,e.options.tabSize);(null==i||r>l)&&(i=s-1,r=l)}return i}(e,t,n),a=o>r.first&&We(r,o-1).stateAfter,s=a?ct.fromSaved(r,a,o):new ct(r,qe(r.mode),o);return r.iter(o,t,(function(n){dt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof ut?new ct(e,ze(e.mode,t.state),n,t.lookAhead):new ct(e,ze(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?ze(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ut(t,this.maxLookAhead):t};var gt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function yt(e,t,n,r){var i,o,a=e.doc,s=a.mode,u=We(a,(t=at(a,t)).line),c=ft(e,t.line,n),l=new He(u.text,e.options.tabSize,c);for(r&&(o=[]);(r||l.pose.options.maxHighlightLength?(s=!1,a&&dt(e,t,r,p.pos),p.pos=t.length,u=null):u=vt(mt(n,p,r.state,f),o),f){var d=f[0].name;d&&(u=\"m-\"+(u?d+\" \"+u:d))}if(!s||l!=u){for(;c=t:o.to>t);(r||(r=[])).push(new Dt(a,o.from,s?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&\"bookmark\"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!n||Ft(n,o.marker)<0)&&(n=o.marker)}return n}function Lt(e,t,n,r,i){var o=We(e,t),a=xt&&o.markedSpans;if(a)for(var s=0;s=0&&p<=0||l<=0&&p>=0)&&(l<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.to,n)>=0:et(c.to,n)>0)||l>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.from,r)<=0:et(c.from,r)<0)))return!0}}}function Pt(e){for(var t;t=It(e);)e=t.find(-1,!0).line;return e}function Rt(e,t){var n=We(e,t),r=Pt(n);return n==r?t:Ye(r)}function Bt(e,t){if(t>e.lastLine())return t;var n,r=We(e,t);if(!Ut(e,r))return t;for(;n=Mt(r);)r=n.find(1,!0).line;return Ye(r)+1}function Ut(e,t){var n=xt&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Wt=function(e,t,n){this.text=e,Tt(this,t),this.height=n?n(this):1};function Gt(e){e.parent=null,At(e)}Wt.prototype.lineNo=function(){return Ye(this)},ve(Wt);var Kt={},Jt={};function Yt(e,t){if(!e||/^\\s*$/.test(e))return null;var n=t.addModeClass?Jt:Kt;return n[e]||(n[e]=e.replace(/\\S+/g,\"cm-$&\"))}function Qt(e,t){var n=O(\"span\",null,null,u?\"padding-right: .1px\":null),r={pre:O(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Xt,_e(e.display.measure)&&(a=ce(o,e.doc.direction))&&(r.addToken=Zt(r.addToken,a)),r.map=[],tn(o,r,pt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Te(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\\bcm-tab\\b/.test(s.className)||s.querySelector&&s.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")}return he(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||\"\")),r}function $t(e){var t=_(\"span\",\"\\u2022\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function Xt(e,t,n,r,i,o,u){if(t){var c,l=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r=\"\",i=0;ic&&p.from<=c);f++);if(p.to>=l)return e(n,r,i,o,a,s,u);e(n,r.slice(0,p.to-c),i,o,null,s,u),o=null,r=r.slice(p.to-c),c=p.to}}}function en(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement(\"span\"))),i.setAttribute(\"cm-marker\",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function tn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,u,c,l,p,f,d=i.length,h=0,m=1,g=\"\",y=0;;){if(y==h){u=c=l=s=\"\",f=null,p=null,y=1/0;for(var v=[],b=void 0,E=0;Eh||D.collapsed&&x.to==h&&x.from==h)){if(null!=x.to&&x.to!=h&&y>x.to&&(y=x.to,c=\"\"),D.className&&(u+=\" \"+D.className),D.css&&(s=(s?s+\";\":\"\")+D.css),D.startStyle&&x.from==h&&(l+=\" \"+D.startStyle),D.endStyle&&x.to==y&&(b||(b=[])).push(D.endStyle,x.to),D.title&&((f||(f={})).title=D.title),D.attributes)for(var C in D.attributes)(f||(f={}))[C]=D.attributes[C];D.collapsed&&(!p||Ft(p.marker,D)<0)&&(p=x)}else x.from>h&&y>x.from&&(y=x.from)}if(b)for(var w=0;w=d)break;for(var k=Math.min(d,y);;){if(g){var A=h+g.length;if(!p){var T=A>k?g.slice(0,k-h):g;t.addToken(t,T,a?a+u:u,l,h+T.length==y?c:\"\",s,f)}if(A>=k){g=g.slice(k-h),h=k;break}h=A,l=\"\"}g=i.slice(o,o=n[m++]),a=Yt(n[m++],t.cm.options)}}else for(var _=1;_n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function _n(e,t,n,r){return Nn(e,Fn(e,t),n,r)}function On(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((u.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=jn(t.map,n,r),u=o.node,c=o.start,l=o.end,p=o.collapse;if(3==u.nodeType){for(var f=0;f<4;f++){for(;c&&re(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+l1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;c>0&&(p=r=\"right\"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d[\"right\"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+rr(e.display),top:h.top,bottom:h.bottom}:Mn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,y=(m+g)/2,v=t.view.measure.heights,b=0;bt)&&(i=(o=u-s)-1,t>=u&&(a=\"right\")),null!=i){if(r=e[c+2],s==u&&n==(r.insertLeft?\"left\":\"right\")&&(a=n),\"left\"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a=\"left\";if(\"right\"==n&&i==u-s)for(;c=0&&(n=e[i]).left==n.right;i--);return n}function Pn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(u=r.text.length,c=\"before\"):u<=0&&(u=0,c=\"after\"),!s)return a(\"before\"==c?u-1:u,\"before\"==c);function l(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var p=se(s,u,c),f=ae,d=l(u,p,\"before\"==c);return null!=f&&(d.other=l(u,f,\"before\"!=c)),d}function Kn(e,t){var n=0;t=at(e.doc,t),e.options.lineWrapping||(n=rr(e.display)*t.ch);var r=We(e.doc,t.line),i=Vt(r)+Dn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Jn(e,t,n,r,i){var o=Ze(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Yn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Jn(r.first,0,null,-1,-1);var i=Qe(r,n),o=r.first+r.size-1;if(i>o)return Jn(r.first+r.size-1,We(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=We(r,i);;){var s=Zn(e,a,i,t,n),u=jt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!u)return s;var c=u.find(1);if(c.line==i)return c;a=We(r,i=c.line)}}function Qn(e,t,n,r){r-=Vn(t);var i=t.text.length,o=oe((function(t){return Nn(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=oe((function(t){return Nn(e,n,t).top>r}),o,i)}}function $n(e,t,n,r){return n||(n=Fn(e,t)),Qn(e,t,n,qn(e,t,Nn(e,n,r),\"line\").top)}function Xn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function Zn(e,t,n,r,i){i-=Vt(t);var o=Fn(e,t),a=Vn(t),s=0,u=t.text.length,c=!0,l=ce(t,e.doc.direction);if(l){var p=(e.options.lineWrapping?tr:er)(e,t,n,o,l,r,i);s=(c=1!=p.level)?p.from:p.to-1,u=c?p.to:p.from-1}var f,d,h=null,m=null,g=oe((function(t){var n=Nn(e,o,t);return n.top+=a,n.bottom+=a,!!Xn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,u),y=!1;if(m){var v=r-m.left=E.bottom?1:0}return Jn(n,g=ie(t.text,g,1),d,y,r-f)}function er(e,t,n,r,i,o,a){var s=oe((function(s){var u=i[s],c=1!=u.level;return Xn(Gn(e,Ze(n,c?u.to:u.from,c?\"before\":\"after\"),\"line\",t,r),o,a,!0)}),0,i.length-1),u=i[s];if(s>0){var c=1!=u.level,l=Gn(e,Ze(n,c?u.from:u.to,c?\"after\":\"before\"),\"line\",t,r);Xn(l,o,a,!0)&&l.top>a&&(u=i[s-1])}return u}function tr(e,t,n,r,i,o,a){var s=Qn(e,t,r,a),u=s.begin,c=s.end;/\\s/.test(t.text.charAt(c-1))&&c--;for(var l=null,p=null,f=0;f=c||d.to<=u)){var h=Nn(e,r,1!=d.level?Math.min(c,d.to)-1:Math.max(u,d.from)).right,m=hm)&&(l=d,p=m)}}return l||(l=i[i.length-1]),l.fromc&&(l={from:l.from,to:c,level:l.level}),l}function nr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==In){In=_(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)In.appendChild(document.createTextNode(\"x\")),In.appendChild(_(\"br\"));In.appendChild(document.createTextNode(\"x\"))}T(e.measure,In);var n=In.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),A(e.measure),n||1}function rr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=_(\"span\",\"xxxxxxxxxx\"),n=_(\"pre\",[t],\"CodeMirror-line-like\");T(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function ir(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:or(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function or(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function ar(e){var t=nr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/rr(e.display)-3);return function(i){if(Ut(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(u=We(e.doc,c.line).text).length==c.ch){var l=R(u,u.length,e.options.tabSize)-u.length;c=Ze(c.line,Math.max(0,Math.round((o-wn(e.display).left)/rr(e.display))-l))}return c}function cr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)xt&&Rt(e.doc,t)i.viewFrom?fr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)fr(e);else if(t<=i.viewFrom){var o=dr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):fr(e)}else if(n>=i.viewTo){var a=dr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):fr(e)}else{var s=dr(e,t,t,-1),u=dr(e,n,n+r,1);s&&u?(i.view=i.view.slice(0,s.index).concat(rn(e,s.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):fr(e)}var c=i.externalMeasured;c&&(n=i.lineN&&t=r.viewTo)){var o=r.view[cr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==U(a,n)&&a.push(n)}}}function fr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function dr(e,t,n,r){var i,o=cr(e,t),a=e.display.view;if(!xt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Rt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function hr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(m,n||0,null==r?f:r,(function(e,t,i,p){var g=\"ltr\"==i,y=d(e,g?\"left\":\"right\"),v=d(t-1,g?\"right\":\"left\"),b=null==n&&0==e,E=null==r&&t==f,x=0==p,D=!m||p==m.length-1;if(v.top-y.top<=3){var C=(c?E:b)&&D,w=(c?b:E)&&x?s:(g?y:v).left,S=C?u:(g?v:y).right;l(w,y.top,S-w,y.bottom)}else{var k,A,T,_;g?(k=c&&b&&x?s:y.left,A=c?u:h(e,i,\"before\"),T=c?s:h(t,i,\"after\"),_=c&&E&&D?u:v.right):(k=c?h(e,i,\"before\"):s,A=!c&&b&&x?u:y.right,T=!c&&E&&D?s:v.left,_=c?h(t,i,\"after\"):u),l(k,y.top,A-k,y.bottom),y.bottom0?t.blinker=setInterval((function(){return t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\")}}function xr(e){e.state.focused||(e.display.input.focus(),Cr(e))}function Dr(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,wr(e))}),100)}function Cr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(he(e,\"focus\",e,t),e.state.focused=!0,I(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Er(e))}function wr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,\"blur\",e,t),e.state.focused=!1,k(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Sr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||f<-.005)&&(Je(i.line,u),kr(i.line),i.rest))for(var d=0;de.display.sizerWidth){var h=Math.ceil(c/rr(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function kr(e){if(e.widgets)for(var t=0;t=a&&(o=Qe(t,Vt(We(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function Tr(e,t){var n=e.display,r=nr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=An(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Cn(n),u=t.tops-r;if(t.topi+o){var l=Math.min(t.top,(c?s:t.bottom)-o);l!=i&&(a.scrollTop=l)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=kn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.leftf+p-3&&(a.scrollLeft=t.right+(d?0:10)-f),a}function _r(e,t){null!=t&&(Nr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Or(e){Nr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Fr(e,t,n){null==t&&null==n||Nr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Nr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Ir(e,Kn(e,t.from),Kn(e,t.to),t.margin))}function Ir(e,t,n,r){var i=Tr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Fr(e,i.scrollLeft,i.scrollTop)}function Mr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||si(e,{top:t}),jr(e,t,!0),n&&si(e),ni(e,100))}function jr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Lr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,li(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Pr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Cn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Sn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Rr=function(e,t,n){this.cm=n;var r=this.vert=_(\"div\",[_(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=_(\"div\",[_(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),pe(r,\"scroll\",(function(){r.clientHeight&&t(r.scrollTop,\"vertical\")})),pe(i,\"scroll\",(function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")};Rr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display=\"block\",this.vert.style.bottom=t?r+\"px\":\"0\";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+\"px\"}else this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\";if(t){this.horiz.style.display=\"block\",this.horiz.style.right=n?r+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+\"px\"}else this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Rr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},Rr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},Rr.prototype.zeroWidthHack=function(){var e=v&&!d?\"12px\":\"18px\";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents=\"none\",this.disableHoriz=new B,this.disableVert=new B},Rr.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents=\"auto\",t.set(1e3,(function r(){var i=e.getBoundingClientRect();(\"vert\"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents=\"none\":t.set(1e3,r)}))},Rr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Br=function(){};function Ur(e,t){t||(t=Pr(e));var n=e.display.barWidth,r=e.display.barHeight;zr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Sr(e),zr(e,Pr(e)),n=e.display.barWidth,r=e.display.barHeight}function zr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}Br.prototype.update=function(){return{bottom:0,right:0}},Br.prototype.setScrollLeft=function(){},Br.prototype.setScrollTop=function(){},Br.prototype.clear=function(){};var Vr={native:Rr,null:Br};function qr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&k(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Vr[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),pe(t,\"mousedown\",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute(\"cm-not-content\",\"true\")}),(function(t,n){\"horizontal\"==n?Lr(e,t):Mr(e,t)}),e),e.display.scrollbars.addClass&&I(e.display.wrapper,e.display.scrollbars.addClass)}var Hr=0;function Wr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Hr},t=e.curOp,on?on.ops.push(t):t.ownsGroup=on={ops:[t],delayedCallbacks:[]}}function Gr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ii(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Jr(e){e.updatedDisplay=e.mustUpdate&&oi(e.cm,e.update)}function Yr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Sr(t),e.barMeasure=Pr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=_n(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Sn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-kn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Qr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+\"px\",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=_(\"div\",\"\\u200b\",null,\"position: absolute;\\n top: \"+(t.top-n.viewOffset-Dn(e.display))+\"px;\\n height: \"+(t.bottom-t.top+Sn(e)+n.barHeight)+\"px;\\n left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(n=\"before\"==(t=t.ch?Ze(t.line,\"before\"==t.sticky?t.ch-1:t.ch,\"after\"):t).sticky?Ze(t.line,t.ch+1,\"before\"):t);for(var o=0;o<5;o++){var a=!1,s=Gn(e,t),u=n&&n!=t?Gn(e,n):s,c=Tr(e,i={left:Math.min(s.left,u.left),top:Math.min(s.top,u.top)-r,right:Math.max(s.left,u.left),bottom:Math.max(s.bottom,u.bottom)+r}),l=e.doc.scrollTop,p=e.doc.scrollLeft;if(null!=c.scrollTop&&(Mr(e,c.scrollTop),Math.abs(e.doc.scrollTop-l)>1&&(a=!0)),null!=c.scrollLeft&&(Lr(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-p)>1&&(a=!0)),!a)break}return i}(t,at(r,e.scrollToPos.from),at(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,r=ft(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?ze(t.mode,r.state):null,u=lt(e,o,r,!0);s&&(r.state=s),o.styles=u.styles;var c=o.styleClasses,l=u.classes;l?o.styleClasses=l:c&&(o.styleClasses=null);for(var p=!a||a.length!=o.styles.length||c!=l&&(!c||!l||c.bgClass!=l.bgClass||c.textClass!=l.textClass),f=0;!p&&fn)return ni(e,e.options.workDelay),!0})),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Xr(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==hr(e))return!1;pi(e)&&(fr(e),t.dims=ir(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),xt&&(o=Rt(e.doc,o),a=Bt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=rn(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=rn(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,cr(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=Vt(We(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\";var c=hr(e);if(!s&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var l=function(e){if(e.hasFocus())return null;var t=N();if(!t||!F(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&F(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display=\"none\"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return u&&v&&e.display.currentWheelTarget==t?t.style.display=\"none\":t.parentNode.removeChild(t),n}for(var c=r.view,l=r.viewFrom,p=0;p-1&&(d=!1),cn(e,f,l,n)),d&&(A(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Xe(e.options,l)))),a=f.node.nextSibling}else{var h=gn(e,f,l,n);o.insertBefore(h,a)}l+=f.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=N()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&F(document.body,e.anchorNode)&&F(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(l),A(n.cursorDiv),A(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ni(e,400)),n.updateLineNumbers=null,!0}function ai(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=kn(e))r&&(t.visible=Ar(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Cn(e.display)-An(e),n.top)}),t.visible=Ar(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!oi(e,t))break;Sr(e);var i=Pr(e);mr(e),Ur(e,i),ci(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function si(e,t){var n=new ii(e,t);if(oi(e,n)){Sr(e),ai(e,n);var r=Pr(e);mr(e),Ur(e,r),ci(e,r),n.finish()}}function ui(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\"}function ci(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Sn(e)+\"px\"}function li(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=or(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",a=0;as.clientWidth,l=s.scrollHeight>s.clientHeight;if(i&&c||o&&l){if(o&&v&&u)e:for(var f=t.target,d=a.view;f!=s;f=f.parentNode)for(var h=0;h=0&&et(e,r.to())<=0)return n}return-1};var Di=function(e,t){this.anchor=e,this.head=t};function Ci(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort((function(e,t){return et(e.from(),t.from())})),n=U(t,i);for(var o=1;o0:u>=0){var c=it(s.from(),a.from()),l=rt(s.to(),a.to()),p=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Di(p?l:c,p?c:l))}}return new xi(t,n)}function wi(e,t){return new xi([new Di(e,t||e)],0)}function Si(e){return e.text?Ze(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function ki(e,t){if(et(e,t.from)<0)return e;if(et(e,t.to)<=0)return Si(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Si(t).ch-t.to.ch),Ze(n,r)}function Ai(e,t){for(var n=[],r=0;r1&&e.remove(s.line+1,h-1),e.insert(s.line+1,y)}sn(e,\"change\",e,t)}function Ii(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Ri(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(i,i.lastOp==r)))a=J(o.changes),0==et(t.from,t.to)&&0==et(t.from,a.to)?a.to=Si(t):o.changes.push(Pi(e,t));else{var u=J(i.done);for(u&&u.ranges||zi(e.sel,i.done),o={changes:[Pi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||he(e,\"historyAdded\")}function Ui(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return\"*\"==i||\"+\"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(i.done),t))?i.done[i.done.length-1]=t:zi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Ri(i.undone)}function zi(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Vi(e,t,n,r){var i=t[\"spans_\"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),(function(n){n.markedSpans&&((i||(i=t[\"spans_\"+e.id]={}))[o]=n.markedSpans),++o}))}function qi(e){if(!e)return null;for(var t,n=0;n-1&&(J(s)[p]=c[p],delete c[p])}}}return r}function Gi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=et(t,i)<0;o!=et(n,i)<0?(i=t,t=n):o!=et(t,n)<0&&(t=n)}return new Di(i,t)}return new Di(n||t,t)}function Ki(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Xi(e,new xi([Gi(e.sel.primary(),t,n,i)],0),r)}function Ji(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(he(u,\"beforeCursorEnter\"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var p=u.find(r<0?1:-1),f=void 0;if((r<0?l:c)&&(p=oo(e,p,-r,p&&p.line==t.line?o:null)),p&&p.line==t.line&&(f=et(p,n))&&(r<0?f<0:f>0))return ro(e,p,t,r,i)}var d=u.find(r<0?-1:1);return(r<0?c:l)&&(d=oo(e,d,r,d.line==t.line?o:null)),d?ro(e,d,t,r,i):null}}return t}function io(e,t,n,r,i){var o=r||1,a=ro(e,t,n,o,i)||!i&&ro(e,t,n,o,!0)||ro(e,t,n,-o,i)||!i&&ro(e,t,n,-o,!0);return a||(e.cantEdit=!0,Ze(e.first,0))}function oo(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?at(e,Ze(t.line-1)):null:n>0&&t.ch==(r||We(e,t.line)).text.length?t.line0)){var l=[u,1],p=et(c.from,s.from),f=et(c.to,s.to);(p<0||!a.inclusiveLeft&&!p)&&l.push({from:c.from,to:s.from}),(f>0||!a.inclusiveRight&&!f)&&l.push({from:s.to,to:c.to}),i.splice.apply(i,l),u+=l.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)co(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else co(e,t)}}function co(e,t){if(1!=t.text.length||\"\"!=t.text[0]||0!=et(t.from,t.to)){var n=Ai(e,t);Bi(e,t,n,e.cm?e.cm.curOp.id:NaN),fo(e,t,n,St(e,t));var r=[];Ii(e,(function(e,n){n||-1!=U(r,e.history)||(yo(e.history,t),r.push(e.history)),fo(e,t,null,St(e,t))}))}}function lo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s=\"undo\"==t?o.done:o.undone,u=\"undo\"==t?o.undone:o.done,c=0;c=0;--d){var h=f(d);if(h)return h.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new xi(Y(e.sel.ranges,(function(e){return new Di(Ze(e.anchor.line+t,e.anchor.ch),Ze(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){lr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:Ze(o,We(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ge(e,t.from,t.to),n||(n=Ai(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,u=o.line;e.options.lineWrapping||(u=Ye(Pt(We(r,o.line))),r.iter(u,a.line+1,(function(e){if(e==i.maxLine)return s=!0,!0}))),r.sel.contains(t.from,t.to)>-1&&ge(e),Ni(r,t,n,ar(e)),e.options.lineWrapping||(r.iter(u,o.line+t.text.length,(function(e){var t=qt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=We(e,r).stateAfter;if(i&&(!(i instanceof ut)||r+i.lookAhead1||!(this.children[0]instanceof bo))){var s=[];this.collapse(s),this.children=[new bo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O(\"span\",[o.replacedWith],\"CodeMirror-widget\"),r.handleMouseEvents||o.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Lt(e,t.line,t,n,o)||t.line!=n.line&&Lt(e,n.line,t,n,o))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");xt=!0}o.addToHistory&&Bi(e,{from:t,to:n,origin:\"markText\"},e.sel,NaN);var s,u=t.line,c=e.cm;if(e.iter(u,n.line+1,(function(e){c&&o.collapsed&&!c.options.lineWrapping&&Pt(e)==c.display.maxLine&&(s=!0),o.collapsed&&u!=t.line&&Je(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new Dt(o,u==t.line?t.ch:null,u==n.line?n.ch:null)),++u})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){Ut(e,t)&&Je(t,0)})),o.clearOnEnter&&pe(o,\"beforeCursorEnter\",(function(){return o.clear()})),o.readOnly&&(Et=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Co,o.atomic=!0),c){if(s&&(c.curOp.updateMaxLine=!0),o.collapsed)lr(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var l=t.line;l<=n.line;l++)pr(c,l,\"text\");o.atomic&&to(c.doc),sn(c,\"markerAdded\",c,o)}return o}wo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Wr(e),ye(this,\"clear\")){var n=this.find();n&&sn(this,\"clear\",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=l,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&lr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&to(e.doc)),e&&sn(e,\"markerCleared\",e,this,r,i),t&&Gr(e),this.parent&&this.parent.clear()}},wo.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i=0;u--)uo(this,r[u]);s?$i(this,s):this.cm&&Or(this.cm)})),undo:ti((function(){lo(this,\"undo\")})),redo:ti((function(){lo(this,\"redo\")})),undoSelection:ti((function(){lo(this,\"undo\",!0)})),redoSelection:ti((function(){lo(this,\"redo\",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=at(this,e),t=at(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=u.to||null==u.from&&i!=e.line||null!=u.from&&i==t.line&&u.from>=t.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n})),at(this,Ze(n,t))},indexFromPos:function(e){var t=(e=at(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var p=e.dataTransfer.getData(\"Text\");if(p){var f;if(t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections()),Zi(t.doc,wi(n,n)),f)for(var d=0;d=0;t--)ho(e.doc,\"\",r[t].from,r[t].to,\"+delete\");Or(e)}))}function $o(e,t,n){var r=ie(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Xo(e,t,n){var r=$o(e,t.ch,n);return null==r?null:new Ze(t.line,r,n<0?\"after\":\"before\")}function Zo(e,t,n,r,i){if(e){\"rtl\"==t.doc.direction&&(i=-i);var o=ce(n,t.doc.direction);if(o){var a,s=i<0?J(o):o[0],u=i<0==(1==s.level)?\"after\":\"before\";if(s.level>0||\"rtl\"==t.doc.direction){var c=Fn(t,n);a=i<0?n.text.length-1:0;var l=Nn(t,c,a).top;a=oe((function(e){return Nn(t,c,e).top==l}),i<0==(1==s.level)?s.from:s.to-1,a),\"before\"==u&&(a=$o(n,a,1))}else a=i<0?s.to:s.from;return new Ze(r,a,u)}}return new Ze(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}Vo.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},Vo.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},Vo.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Alt-F\":\"goWordRight\",\"Alt-B\":\"goWordLeft\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-D\":\"delWordAfter\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},Vo.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},Vo.default=v?Vo.macDefault:Vo.pcDefault;var ea={selectAll:ao,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),V)},killLine:function(e){return Qo(e,(function(t){if(t.empty()){var n=We(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new Ze(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),Ze(i.line,i.ch-2),i,\"+transpose\");else if(i.line>e.doc.first){var a=We(e.doc,i.line-1).text;a&&(i=new Ze(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),Ze(i.line-1,a.length-1),i,\"+transpose\"))}n.push(new Di(i,i))}e.setSelections(n)}))},newlineAndIndent:function(e){return Xr(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,\"+input\");t=e.listSelections();for(var r=0;r-1&&(et((i=c.ranges[i]).from(),t)<0||t.xRel>0)&&(et(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,c=Zr(e,(function(t){u&&(i.scroller.draggable=!1),e.state.draggingText=!1,de(i.wrapper.ownerDocument,\"mouseup\",c),de(i.wrapper.ownerDocument,\"mousemove\",l),de(i.scroller,\"dragstart\",p),de(i.scroller,\"drop\",c),o||(be(t),r.addNew||Ki(e.doc,n,null,null,r.extend),u&&!f||a&&9==s?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),l=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},p=function(){return o=!0};u&&(i.scroller.draggable=!0),e.state.draggingText=c,c.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),pe(i.wrapper.ownerDocument,\"mouseup\",c),pe(i.wrapper.ownerDocument,\"mousemove\",l),pe(i.scroller,\"dragstart\",p),pe(i.scroller,\"drop\",c),Dr(e),setTimeout((function(){return i.input.focus()}),20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;be(t);var a,s,u=o.sel,c=u.ranges;if(r.addNew&&!r.extend?(s=o.sel.contains(n),a=s>-1?c[s]:new Di(n,n)):(a=o.sel.primary(),s=o.sel.primIndex),\"rectangle\"==r.unit)r.addNew||(a=new Di(n,n)),n=ur(e,t,!0,!0),s=-1;else{var l=ga(e,n,r.unit);a=r.extend?Gi(a,l.anchor,l.head,r.extend):l}r.addNew?-1==s?(s=c.length,Xi(o,Ci(e,c.concat([a]),s),{scroll:!1,origin:\"*mouse\"})):c.length>1&&c[s].empty()&&\"char\"==r.unit&&!r.extend?(Xi(o,Ci(e,c.slice(0,s).concat(c.slice(s+1)),0),{scroll:!1,origin:\"*mouse\"}),u=o.sel):Yi(o,s,a,q):(s=0,Xi(o,new xi([a],0),q),u=o.sel);var p=n;function f(t){if(0!=et(p,t))if(p=t,\"rectangle\"==r.unit){for(var i=[],c=e.options.tabSize,l=R(We(o,n.line).text,n.ch,c),f=R(We(o,t.line).text,t.ch,c),d=Math.min(l,f),h=Math.max(l,f),m=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=g;m++){var y=We(o,m).text,v=W(y,d,c);d==h?i.push(new Di(Ze(m,v),Ze(m,v))):y.length>v&&i.push(new Di(Ze(m,v),Ze(m,W(y,h,c))))}i.length||i.push(new Di(n,n)),Xi(o,Ci(e,u.ranges.slice(0,s).concat(i),s),{origin:\"*mouse\",scroll:!1}),e.scrollIntoView(t)}else{var b,E=a,x=ga(e,t,r.unit),D=E.anchor;et(x.anchor,D)>0?(b=x.head,D=it(E.from(),x.anchor)):(b=x.anchor,D=rt(E.to(),x.head));var C=u.ranges.slice(0);C[s]=function(e,t){var n=t.anchor,r=t.head,i=We(e.doc,n.line);if(0==et(n,r)&&n.sticky==r.sticky)return t;var o=ce(i);if(!o)return t;var a=se(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var u,c=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==c||c==o.length)return t;if(r.line!=n.line)u=(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1)>0;else{var l=se(o,r.ch,r.sticky),p=l-a||(r.ch-n.ch)*(1==s.level?-1:1);u=l==c-1||l==c?p<0:p>0}var f=o[c+(u?-1:0)],d=u==(1==f.level),h=d?f.from:f.to,m=d?\"after\":\"before\";return n.ch==h&&n.sticky==m?t:new Di(new Ze(n.line,h,m),r)}(e,new Di(at(o,D),b)),Xi(o,Ci(e,C,s),q)}}var d=i.wrapper.getBoundingClientRect(),h=0;function m(t){e.state.selectingText=!1,h=1/0,t&&(be(t),i.input.focus()),de(i.wrapper.ownerDocument,\"mousemove\",g),de(i.wrapper.ownerDocument,\"mouseup\",y),o.history.lastSelOrigin=null}var g=Zr(e,(function(t){0!==t.buttons&&we(t)?function t(n){var a=++h,s=ur(e,n,!0,\"rectangle\"==r.unit);if(s)if(0!=et(s,p)){e.curOp.focus=N(),f(s);var u=Ar(i,o);(s.line>=u.to||s.lined.bottom?20:0;c&&setTimeout(Zr(e,(function(){h==a&&(i.scroller.scrollTop+=c,t(n))})),50)}}(t):m(t)})),y=Zr(e,m);e.state.selectingText=y,pe(i.wrapper.ownerDocument,\"mousemove\",g),pe(i.wrapper.ownerDocument,\"mouseup\",y)}(e,r,t,o)}(t,r,o,e):Ce(e)==n.scroller&&be(e):2==i?(r&&Ki(t.doc,r),setTimeout((function(){return n.input.focus()}),20)):3==i&&(C?t.display.input.onContextMenu(e):Dr(t)))}}function ga(e,t,n){if(\"char\"==n)return new Di(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new Di(Ze(t.line,0),at(e.doc,Ze(t.line+1,0)));var r=n(e,t);return new Di(r.from,r.to)}function ya(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(l){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ye(e,n))return xe(t);o-=s.top-a.viewOffset;for(var u=0;u=i)return he(e,n,e,Qe(e.doc,o),e.display.gutterSpecs[u].className,t),xe(t)}}function va(e,t){return ya(e,t,\"gutterClick\",!0)}function ba(e,t){xn(e.display,t)||function(e,t){return!!ye(e,\"gutterContextMenu\")&&ya(e,t,\"gutterContextMenu\",!1)}(e,t)||me(e,t,\"contextmenu\")||C||e.display.input.onContextMenu(t)}function Ea(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),Bn(e)}ha.prototype.compare=function(e,t,n){return this.time+400>e&&0==et(t,this.pos)&&n==this.button};var xa={toString:function(){return\"CodeMirror.Init\"}},Da={},Ca={};function wa(e,t,n){if(!t!=!(n&&n!=xa)){var r=e.display.dragFunctions,i=t?pe:de;i(e.display.scroller,\"dragstart\",r.start),i(e.display.scroller,\"dragenter\",r.enter),i(e.display.scroller,\"dragover\",r.over),i(e.display.scroller,\"dragleave\",r.leave),i(e.display.scroller,\"drop\",r.drop)}}function Sa(e){e.options.lineWrapping?(I(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(k(e.display.wrapper,\"CodeMirror-wrap\"),Ht(e)),sr(e),lr(e),Bn(e),setTimeout((function(){return Ur(e)}),100)}function ka(e,t){var n=this;if(!(this instanceof ka))return new ka(e,t);this.options=t=t?P(t):{},P(Da,t,!1);var r=t.value;\"string\"==typeof r?r=new Oo(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new ka.inputStyles[t.inputStyle](this),o=this.display=new mi(e,r,i,t);for(var c in o.wrapper.CodeMirror=this,Ea(this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),qr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;pe(t.scroller,\"mousedown\",Zr(e,ma)),pe(t.scroller,\"dblclick\",a&&s<11?Zr(e,(function(t){if(!me(e,t)){var n=ur(e,t);if(n&&!va(e,t)&&!xn(e.display,t)){be(t);var r=e.findWordAt(n);Ki(e.doc,r.anchor,r.head)}}})):function(t){return me(e,t)||be(t)}),pe(t.scroller,\"contextmenu\",(function(t){return ba(e,t)})),pe(t.input.getField(),\"contextmenu\",(function(n){t.scroller.contains(n.target)||ba(e,n)}));var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}pe(t.scroller,\"touchstart\",(function(i){if(!me(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!va(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),pe(t.scroller,\"touchmove\",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),pe(t.scroller,\"touchend\",(function(n){var r=t.activeTouch;if(r&&!xn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,s=e.coordsChar(t.activeTouch,\"page\");a=!r.prev||o(r,r.prev)?new Di(s,s):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(s):new Di(Ze(s.line,0),at(e.doc,Ze(s.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),be(n)}i()})),pe(t.scroller,\"touchcancel\",i),pe(t.scroller,\"scroll\",(function(){t.scroller.clientHeight&&(Mr(e,t.scroller.scrollTop),Lr(e,t.scroller.scrollLeft,!0),he(e,\"scroll\",e))})),pe(t.scroller,\"mousewheel\",(function(t){return Ei(e,t)})),pe(t.scroller,\"DOMMouseScroll\",(function(t){return Ei(e,t)})),pe(t.wrapper,\"scroll\",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){me(e,t)||De(t)},over:function(t){me(e,t)||(function(e,t){var n=ur(e,t);if(n){var r=document.createDocumentFragment();yr(e,n,r),e.display.dragCursor||(e.display.dragCursor=_(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,r)}}(e,t),De(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Fo<100))De(t);else if(!me(e,t)&&!xn(e.display,t)&&(t.dataTransfer.setData(\"Text\",e.getSelection()),t.dataTransfer.effectAllowed=\"copyMove\",t.dataTransfer.setDragImage&&!f)){var n=_(\"img\",null,null,\"position: fixed; left: 0; top: 0;\");n.src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",p&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),p&&n.parentNode.removeChild(n)}}(e,t)},drop:Zr(e,No),leave:function(t){me(e,t)||Io(e)}};var u=t.input.getField();pe(u,\"keyup\",(function(t){return la.call(e,t)})),pe(u,\"keydown\",Zr(e,ca)),pe(u,\"keypress\",Zr(e,pa)),pe(u,\"focus\",(function(t){return Cr(e,t)})),pe(u,\"blur\",(function(t){return wr(e,t)}))}(this),Lo(),Wr(this),this.curOp.forceUpdate=!0,Mi(this,r),t.autofocus&&!y||this.hasFocus()?setTimeout(L(Cr,this),20):wr(this),Ca)Ca.hasOwnProperty(c)&&Ca[c](this,t[c],xa);pi(this),t.finishInit&&t.finishInit(this);for(var l=0;l150)){if(!r)return;n=\"prev\"}}else c=0,n=\"not\";\"prev\"==n?c=t>o.first?R(We(o,t-1).text,null,a):0:\"add\"==n?c=u+e.options.indentUnit:\"subtract\"==n?c=u-e.options.indentUnit:\"number\"==typeof n&&(c=u+n),c=Math.max(0,c);var p=\"\",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d)f+=a,p+=\"\\t\";if(fa,u=Oe(t),c=null;if(s&&r.ranges.length>1)if(_a&&_a.text.join(\"\\n\")==t){if(r.ranges.length%_a.text.length==0){c=[];for(var l=0;l<_a.text.length;l++)c.push(o.splitLines(_a.text[l]))}}else u.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(c=Y(u,(function(e){return[e]})));for(var p=e.curOp.updateInput,f=r.ranges.length-1;f>=0;f--){var d=r.ranges[f],h=d.from(),m=d.to();d.empty()&&(n&&n>0?h=Ze(h.line,h.ch-n):e.state.overwrite&&!s?m=Ze(m.line,Math.min(We(o,m.line).text.length,m.ch+J(u).length)):s&&_a&&_a.lineWise&&_a.text.join(\"\\n\")==t&&(h=m=Ze(h.line,0)));var g={from:h,to:m,text:c?c[f%c.length]:u,origin:i||(s?\"paste\":e.state.cutIncoming>a?\"cut\":\"+input\")};uo(e.doc,g),sn(e,\"inputRead\",e,g)}t&&!s&&Ia(e,t),Or(e),e.curOp.updateInput<2&&(e.curOp.updateInput=p),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Na(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Xr(t,(function(){return Fa(t,n,0,null,\"paste\")})),!0}function Ia(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=Ta(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test(We(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Ta(e,i.head.line,\"smart\"));a&&sn(e,\"electricInput\",e,i.head.line)}}}function Ma(e){for(var t=[],n=[],r=0;r=t.text.length?(n.ch=t.text.length,n.sticky=\"before\"):n.ch<=0&&(n.ch=0,n.sticky=\"after\");var o=se(i,n.ch,n.sticky),a=i[o];if(\"ltr\"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&f>=l.begin)){var d=p?\"before\":\"after\";return new Ze(n.line,f,d)}}var h=function(e,t,r){for(var o=function(e,t){return t?new Ze(n.line,u(e,1),\"before\"):new Ze(n.line,e,\"after\")};e>=0&&e0==(1!=a.level),c=s?r.begin:u(r.end,-1);if(a.from<=c&&c0?l.end:u(l.begin,-1);return null==g||r>0&&g==t.text.length||!(m=h(r>0?0:i.length-1,r,c(g)))?null:m}(e.cm,s,t,n):Xo(s,t,n))){if(r||!function(){var n=t.line+u;return!(n=e.first+e.size)&&(t=new Ze(n,t.ch,t.sticky),s=We(e,n))}())return!1;t=Zo(i,e.cm,s,t.line,u)}else t=o;return!0}if(\"char\"==r)c();else if(\"column\"==r)c(!0);else if(\"word\"==r||\"group\"==r)for(var l=null,p=\"group\"==r,f=e.cm&&e.cm.getHelper(t,\"wordChars\"),d=!0;!(n<0)||c(!d);d=!1){var h=s.text.charAt(t.ch)||\"\\n\",m=ee(h,f)?\"w\":p&&\"\\n\"==h?\"n\":!p||/\\s/.test(h)?null:\"p\";if(!p||d||m||(m=\"s\"),l&&l!=m){n<0&&(n=1,c(),t.sticky=\"after\");break}if(m&&(l=m),n>0&&!c(!d))break}var g=io(e,t,o,a,!0);return tt(o,g)&&(g.hitSide=!0),g}function Ra(e,t,n,r){var i,o,a=e.doc,s=t.left;if(\"page\"==r){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(u-.5*nr(e.display),3);i=(n>0?t.bottom:t.top)+n*c}else\"line\"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Ba=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Ua(e,t){var n=On(e,t.line);if(!n||n.hidden)return null;var r=We(e.doc,t.line),i=Tn(n,r,t.line),o=ce(r,e.doc.direction),a=\"left\";o&&(a=se(o,t.ch)%2?\"right\":\"left\");var s=jn(i.map,t.ch,a);return s.offset=\"right\"==s.collapse?s.end:s.start,s}function za(e,t){return t&&(e.bad=!0),e}function Va(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return za(e.clipPos(Ze(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&Ua(t,i)||{node:u[0].measure.map[2],offset:0},l=o.liner.firstLine()&&(a=Ze(a.line-1,We(r.doc,a.line-1).length)),s.ch==We(r.doc,s.line).text.length&&s.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=cr(r,a.line))?(t=Ye(i.view[0].line),n=i.view[0].node):(t=Ye(i.view[e].line),n=i.view[e-1].node.nextSibling);var u,c,l=cr(r,s.line);if(l==i.view.length-1?(u=i.viewTo-1,c=i.lineDiv.lastChild):(u=Ye(i.view[l+1].line)-1,c=i.view[l+1].node.previousSibling),!n)return!1;for(var p=r.doc.splitLines(function(e,t,n,r,i){var o=\"\",a=!1,s=e.doc.lineSeparator(),u=!1;function c(){a&&(o+=s,u&&(o+=s),a=u=!1)}function l(e){e&&(c(),o+=e)}function p(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)return void l(n);var o,f=t.getAttribute(\"cm-marker\");if(f){var d=e.findMarks(Ze(r,0),Ze(i+1,0),(g=+f,function(e){return e.id==g}));return void(d.length&&(o=d[0].find(0))&&l(Ge(e.doc,o.from,o.to).join(s)))}if(\"false\"==t.getAttribute(\"contenteditable\"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&c();for(var m=0;m1&&f.length>1;)if(J(p)==J(f))p.pop(),f.pop(),u--;else{if(p[0]!=f[0])break;p.shift(),f.shift(),t++}for(var d=0,h=0,m=p[0],g=f[0],y=Math.min(m.length,g.length);da.ch&&v.charCodeAt(v.length-h-1)==b.charCodeAt(b.length-h-1);)d--,h++;p[p.length-1]=v.slice(0,v.length-h).replace(/^\\u200b+/,\"\"),p[0]=p[0].slice(d).replace(/\\u200b+$/,\"\");var x=Ze(t,d),D=Ze(u,f.length?J(f).length-h:0);return p.length>1||p[0]||et(x,D)?(ho(r.doc,p,x,D,\"+input\"),!0):void 0},Ba.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ba.prototype.reset=function(){this.forceCompositionEnd()},Ba.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ba.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},Ba.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Xr(this.cm,(function(){return lr(e.cm)}))},Ba.prototype.setUneditable=function(e){e.contentEditable=\"false\"},Ba.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Zr(this.cm,Fa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Ba.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},Ba.prototype.onContextMenu=function(){},Ba.prototype.resetPosition=function(){},Ba.prototype.needsContentAttribute=!0;var Ha=function(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};Ha.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!me(r,e)){if(r.somethingSelected())Oa({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=Ma(r);Oa({lineWise:!0,text:t.text}),\"cut\"==e.type?r.setSelections(t.ranges,null,V):(n.prevInput=\"\",i.value=t.text.join(\"\\n\"),j(i))}\"cut\"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width=\"0px\"),pe(i,\"input\",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),pe(i,\"paste\",(function(e){me(r,e)||Na(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pe(i,\"cut\",o),pe(i,\"copy\",o),pe(e.scroller,\"paste\",(function(t){if(!xn(e,t)&&!me(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event(\"paste\");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),pe(e.lineSpace,\"selectstart\",(function(t){xn(e,t)||be(t)})),pe(i,\"compositionstart\",(function(){var e=r.getCursor(\"from\");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}})),pe(i,\"compositionend\",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Ha.prototype.createField=function(e){this.wrapper=La(),this.textarea=this.wrapper.firstChild},Ha.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute(\"aria-label\",e):this.textarea.removeAttribute(\"aria-label\")},Ha.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=gr(e);if(e.options.moveInputWithCursor){var i=Gn(e,n.sel.primary().head,\"div\"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Ha.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},Ha.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput=\"\";var n=t.getSelection();this.textarea.value=n,t.state.focused&&j(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value=\"\",a&&s>=9&&(this.hasSelection=null))}},Ha.prototype.getField=function(){return this.textarea},Ha.prototype.supportsTouch=function(){return!1},Ha.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!y||N()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ha.prototype.blur=function(){this.textarea.blur()},Ha.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ha.prototype.receivedFocus=function(){this.slowPoll()},Ha.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Ha.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Ha.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Fe(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||v&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"\\u200b\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var u=0,c=Math.min(r.length,i.length);u1e3||i.indexOf(\"\\n\")>-1?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))})),!0},Ha.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ha.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Ha.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ur(n,e),c=r.scroller.scrollTop;if(o&&!p){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&Zr(n,Xi)(n.doc,wi(o),V);var l,f=i.style.cssText,d=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText=\"position: static\",i.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n top: \"+(e.clientY-h.top-5)+\"px; left: \"+(e.clientX-h.left-5)+\"px;\\n z-index: 1000; background: \"+(a?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",u&&(l=window.scrollY),r.input.focus(),u&&window.scrollTo(null,l),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=\" \"),t.contextMenuPending=g,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&m(),C?(De(e),pe(window,\"mouseup\",(function e(){de(window,\"mouseup\",e),setTimeout(g,20)}))):setTimeout(g,50)}function m(){if(null!=i.selectionStart){var e=n.somethingSelected(),o=\"\\u200b\"+(e?i.value:\"\");i.value=\"\\u21da\",i.value=o,t.prevInput=e?\"\":\"\\u200b\",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function g(){if(t.contextMenuPending==g&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=f,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!a||a&&s<9)&&m();var e=0;r.detectingSelectAll=setTimeout((function o(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&\"\\u200b\"==t.prevInput?Zr(n,ao)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())}),200)}}},Ha.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e},Ha.prototype.setUneditable=function(){},Ha.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=xa&&i(e,t,n)}:i)}e.defineOption=n,e.Init=xa,n(\"value\",\"\",(function(e,t){return e.setValue(t)}),!0),n(\"mode\",null,(function(e,t){e.doc.modeOption=t,_i(e)}),!0),n(\"indentUnit\",2,_i,!0),n(\"indentWithTabs\",!1),n(\"smartIndent\",!0),n(\"tabSize\",4,(function(e){Oi(e),Bn(e),lr(e)}),!0),n(\"lineSeparator\",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter((function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(Ze(r,o))}r++}));for(var i=n.length-1;i>=0;i--)ho(e.doc,t,n[i],Ze(n[i].line,n[i].ch+t.length))}})),n(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200c\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=xa&&e.refresh()})),n(\"specialCharPlaceholder\",$t,(function(e){return e.refresh()}),!0),n(\"electricChars\",!0),n(\"inputStyle\",y?\"contenteditable\":\"textarea\",(function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")}),!0),n(\"spellcheck\",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n(\"autocorrect\",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n(\"autocapitalize\",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n(\"rtlMoveVisually\",!E),n(\"wholeLineUpdateBefore\",!0),n(\"theme\",\"default\",(function(e){Ea(e),hi(e)}),!0),n(\"keyMap\",\"default\",(function(e,t,n){var r=Yo(t),i=n!=xa&&Yo(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)})),n(\"extraKeys\",null),n(\"configureMouse\",null),n(\"lineWrapping\",!1,Sa,!0),n(\"gutters\",[],(function(e,t){e.display.gutterSpecs=fi(t,e.options.lineNumbers),hi(e)}),!0),n(\"fixedGutter\",!0,(function(e,t){e.display.gutters.style.left=t?or(e.display)+\"px\":\"0\",e.refresh()}),!0),n(\"coverGutterNextToScrollbar\",!1,(function(e){return Ur(e)}),!0),n(\"scrollbarStyle\",\"native\",(function(e){qr(e),Ur(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n(\"lineNumbers\",!1,(function(e,t){e.display.gutterSpecs=fi(e.options.gutters,t),hi(e)}),!0),n(\"firstLineNumber\",1,hi,!0),n(\"lineNumberFormatter\",(function(e){return e}),hi,!0),n(\"showCursorWhenSelecting\",!1,mr,!0),n(\"resetSelectionOnContextMenu\",!0),n(\"lineWiseCopyCut\",!0),n(\"pasteLinesPerSelection\",!0),n(\"selectionsMayTouch\",!1),n(\"readOnly\",!1,(function(e,t){\"nocursor\"==t&&(wr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n(\"screenReaderLabel\",null,(function(e,t){t=\"\"===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n(\"disableInput\",!1,(function(e,t){t||e.display.input.reset()}),!0),n(\"dragDrop\",!0,wa),n(\"allowDropFileTypes\",null),n(\"cursorBlinkRate\",530),n(\"cursorScrollMargin\",0),n(\"cursorHeight\",1,mr,!0),n(\"singleCursorHeightPerLine\",!0,mr,!0),n(\"workTime\",100),n(\"workDelay\",100),n(\"flattenSpans\",!0,Oi,!0),n(\"addModeClass\",!1,Oi,!0),n(\"pollInterval\",100),n(\"undoDepth\",200,(function(e,t){return e.doc.history.undoDepth=t})),n(\"historyEventDelay\",1250),n(\"viewportMargin\",10,(function(e){return e.refresh()}),!0),n(\"maxHighlightLength\",1e4,Oi,!0),n(\"moveInputWithCursor\",!0,(function(e,t){t||e.display.input.resetPosition()})),n(\"tabindex\",null,(function(e,t){return e.display.input.getField().tabIndex=t||\"\"})),n(\"autofocus\",null),n(\"direction\",\"ltr\",(function(e,t){return e.doc.setDirection(t)}),!0),n(\"phrases\",null)}(ka),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&\"mode\"!=e||(r[e]=n,t.hasOwnProperty(e)&&Zr(this,t[e])(this,n,i),he(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Ta(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Or(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=s;u0&&Yi(this.doc,r,new Di(o,c[r].to()),V)}}})),getTokenAt:function(e,t){return yt(this,e,t)},getLineTokens:function(e,t){return yt(this,Ze(e),t,!0)},getTokenTypeAt:function(e){e=at(this.doc,e);var t,n=pt(this,We(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=We(this.doc,e)}else r=e;return qn(this,r,{top:0,left:0},t||\"page\",n||i).top+(i?this.doc.height-Vt(r):0)},defaultTextHeight:function(){return nr(this.display)},defaultCharWidth:function(){return rr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display,a=(e=Gn(this,at(this.doc,e))).bottom,s=e.left;if(t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),o.sizer.appendChild(t),\"over\"==r)a=e.top;else if(\"above\"==r||\"near\"==r){var u=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);(\"above\"==r||e.bottom+t.offsetHeight>u)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=u&&(a=e.bottom),s+t.offsetWidth>c&&(s=c-t.offsetWidth)}t.style.top=a+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(s=o.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?s=0:\"middle\"==i&&(s=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+\"px\"),n&&function(e,t){var n=Tr(e,t);null!=n.scrollTop&&Mr(e,n.scrollTop),null!=n.scrollLeft&&Lr(e,n.scrollLeft)}(this,{left:s,top:a,right:s+t.offsetWidth,bottom:a+t.offsetHeight})},triggerOnKeyDown:ei(ca),triggerOnKeyPress:ei(pa),triggerOnKeyUp:la,triggerOnMouseDown:ei(ma),execCommand:function(e){if(ea.hasOwnProperty(e))return ea[e].call(null,this)},triggerElectric:ei((function(e){Ia(this,e)})),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=at(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;r.5||this.options.lineWrapping)&&sr(this),he(this,\"refresh\",this)})),swapDoc:ei((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Mi(this,e),Bn(this),this.display.input.reset(),Fr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,sn(this,\"swapDoc\",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ve(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(ka);var Wa=\"iter insert remove copy getEditor constructor\".split(\" \");for(var Ga in Oo.prototype)Oo.prototype.hasOwnProperty(Ga)&&U(Wa,Ga)<0&&(ka.prototype[Ga]=function(e){return function(){return e.apply(this.doc,arguments)}}(Oo.prototype[Ga]));return ve(Oo),ka.inputStyles={textarea:Ha,contenteditable:Ba},ka.defineMode=function(e){ka.defaults.mode||\"null\"==e||(ka.defaults.mode=e),Le.apply(this,arguments)},ka.defineMIME=function(e,t){je[e]=t},ka.defineMode(\"null\",(function(){return{token:function(e){return e.skipToEnd()}}})),ka.defineMIME(\"text/plain\",\"null\"),ka.defineExtension=function(e,t){ka.prototype[e]=t},ka.defineDocExtension=function(e,t){Oo.prototype[e]=t},ka.fromTextArea=function(e,t){if((t=t?P(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=N();t.autofocus=n==e||null!=e.getAttribute(\"autofocus\")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(pe(e.form,\"submit\",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(u){}}t.finishInit=function(n){n.save=r,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,r(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display=\"\",e.form&&(de(e.form,\"submit\",r),t.leaveSubmitMethodAlone||\"function\"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display=\"none\";var s=ka((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=de,e.on=pe,e.wheelEventPixels=bi,e.Doc=Oo,e.splitLines=Oe,e.countColumn=R,e.findColumn=W,e.isWordChar=Z,e.Pass=z,e.signal=he,e.Line=Wt,e.changeEnd=Si,e.scrollbarModel=Vr,e.Pos=Ze,e.cmpPos=et,e.modes=Me,e.mimeModes=je,e.resolveMode=Pe,e.getMode=Re,e.modeExtensions=Be,e.extendMode=Ue,e.copyState=ze,e.startState=qe,e.innerMode=Ve,e.commands=ea,e.keyMap=Vo,e.keyName=Jo,e.isModifierKey=Go,e.lookupKey=Wo,e.normalizeKeyMap=Ho,e.StringStream=He,e.SharedTextMarker=ko,e.TextMarker=wo,e.LineWidget=xo,e.e_preventDefault=be,e.e_stopPropagation=Ee,e.e_stop=De,e.addClass=I,e.contains=F,e.rmClass=k,e.keyNames=Ro}(ka),ka.version=\"5.55.0\",ka}()},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return s})),n.d(t,\"e\",(function(){return u})),n.d(t,\"f\",(function(){return c})),n.d(t,\"g\",(function(){return h})),n.d(t,\"h\",(function(){return l})),n.d(t,\"i\",(function(){return p})),n.d(t,\"j\",(function(){return f})),n.d(t,\"k\",(function(){return d}));var r=function(e){return\"@@redux-saga/\"+e},i=r(\"CANCEL_PROMISE\"),o=r(\"CHANNEL_END\"),a=r(\"IO\"),s=r(\"MATCH\"),u=r(\"MULTICAST\"),c=r(\"SAGA_ACTION\"),l=r(\"SELF_CANCELLATION\"),p=r(\"TASK\"),f=r(\"TASK_CANCEL\"),d=r(\"TERMINATE\"),h=r(\"LOCATION\")},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return i})),n.d(t,\"a\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return s}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2&&void 0!==arguments[2]?arguments[2]:L;return P(e,t,n)}function L(e,t,n){var r=\"Invalid value \"+Object(l.a)(t);throw e.length>0&&(r+=' at \"value'.concat(T(e),'\": ')),n.message=r+\": \"+n.message,n}function P(e,t,n,r){if(Object(C.L)(t))return null!=e?P(e,t.ofType,n,r):void n(y(r),e,new v.a(\"Expected non-nullable type \".concat(Object(l.a)(t),\" not to be null.\")));if(null==e)return null;if(Object(C.J)(t)){var i=t.ofType;if(Object(c.e)(e)){var o=[];return Object(c.b)(e,(function(e,t){o.push(P(e,i,n,g(r,t)))})),o}return[P(e,i,n,r)]}if(Object(C.F)(t)){if(!Object(m.a)(e))return void n(y(r),e,new v.a(\"Expected type \".concat(t.name,\" to be an object.\")));for(var a={},s=t.getFields(),u=0,f=Object(O.a)(s);u0&&(i+=' at \"'.concat(s).concat(T(e),'\"')),r(new v.a(i+\"; \"+n.message,a,void 0,void 0,void 0,n.originalError))}))},a=0;a=i)throw new v.a(\"Too many errors processing variables, error limit reached. Execution aborted.\");o.push(e)}));if(0===o.length)return{coerced:a}}catch(s){o.push(s)}return{errors:o}}function B(e,t,n){for(var r={},i=Object(A.a)(t.arguments||[],(function(e){return e.name.value})),o=0,a=e.args;o0)return{errors:d};try{t=Object(a.a)(r)}catch(ft){return{errors:[ft]}}var h=Object(s.c)(n,t);return h.length>0?{errors:h}:V({schema:n,document:t,rootValue:i,contextValue:o,variableValues:c,operationName:l,fieldResolver:p,typeResolver:f})}var he=n(50),me=n(14),ge=n(82),ye=n(96),ve=n(142),be=n(97),Ee=n(5),xe=n(23),De=n(11),Ce=n(52);function we(e,t,n){var r,i,o,a,s,u,l=Object(c.c)(e);function p(e){return e.done?e:Se(e.value,t).then(ke,i)}if(\"function\"===typeof l.return&&(r=l.return,i=function(e){var t=function(){return Promise.reject(e)};return r.call(l).then(t,t)}),n){var f=n;o=function(e){return Se(e,f).then(ke,i)}}return a={next:function(){return l.next().then(p,o)},return:function(){return r?r.call(l).then(p,o):Promise.resolve({value:void 0,done:!0})},throw:function(e){return\"function\"===typeof l.throw?l.throw(e).then(p,o):Promise.reject(e).catch(i)}},s=c.a,u=function(){return this},s in a?Object.defineProperty(a,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):a[s]=u,a}function Se(e,t){return new Promise((function(n){return n(t(e))}))}function ke(e){return{value:e,done:!1}}function Ae(e,t,n,r,i,o,a,s){return _e(1===arguments.length?e:{schema:e,document:t,rootValue:n,contextValue:r,variableValues:i,operationName:o,fieldResolver:a,subscribeFieldResolver:s})}function Te(e){if(e instanceof v.a)return{errors:[e]};throw e}function _e(e){var t=e.schema,n=e.document,r=e.rootValue,i=e.contextValue,o=e.variableValues,a=e.operationName,s=e.fieldResolver,u=e.subscribeFieldResolver,l=Oe(t,n,r,i,o,a,u),p=function(e){return V(t,n,e,i,o,a,s)};return l.then((function(e){return Object(c.d)(e)?we(e,p,Te):e}))}function Oe(e,t,n,r,i,o,a){H(e,t,i);try{var s=W(e,t,n,r,i,o,a);if(Array.isArray(s))return Promise.resolve({errors:s});var u=S(e,s.operation),p=K(s,u,s.operation.selectionSet,Object.create(null),Object.create(null)),f=Object.keys(p)[0],d=p[f],h=d[0].name.value,m=le(e,u,h);if(!m)throw new v.a('The subscription field \"'.concat(h,'\" is not defined.'),d);var E=m.subscribe||s.fieldResolver,x=g(void 0,f),D=$(s,m,d,u,x),C=X(s,m,d,E,n,D);return Promise.resolve(C).then((function(e){if(e instanceof Error)return{errors:[b(e,d,y(x))]};if(Object(c.d)(e))return e;throw new Error(\"Subscription field must return Async Iterable. Received: \"+Object(l.a)(e))}))}catch(w){return w instanceof v.a?Promise.resolve({errors:[w]}):Promise.reject(w)}}var Fe=n(98),Ne=n(143),Ie=n(118),Me=n(232),je=n(229),Le=n(147),Pe=n(145),Re=n(234),Be=n(144),Ue=n(227),ze=n(237),Ve=n(239),qe=n(235),He=n(240),We=n(242),Ge=n(236),Ke=n(149),Je=n(231),Ye=n(228),Qe=n(148),$e=n(146),Xe=n(233),Ze=n(150),et=n(226),tt=n(238),nt=n(119),rt=n(230),it=n(241),ot=n(243),at=n(244),st=n(245),ut=n(246),ct=n(247),lt=n(248),pt=n(249),ft=n(48);function dt(e){e||Object(f.a)(0,\"Received null or undefined error.\");var t=e.message||\"An unknown error occurred.\",n=e.locations,r=e.path,i=e.extensions;return i?{message:t,locations:n,path:r,extensions:i}:{message:t,locations:n,path:r}}function ht(e){var t=!(e&&!1===e.descriptions);return\"\\n query IntrospectionQuery {\\n __schema {\\n queryType { name }\\n mutationType { name }\\n subscriptionType { name }\\n types {\\n ...FullType\\n }\\n directives {\\n name\\n \".concat(t?\"description\":\"\",\"\\n locations\\n args {\\n ...InputValue\\n }\\n }\\n }\\n }\\n\\n fragment FullType on __Type {\\n kind\\n name\\n \").concat(t?\"description\":\"\",\"\\n fields(includeDeprecated: true) {\\n name\\n \").concat(t?\"description\":\"\",\"\\n args {\\n ...InputValue\\n }\\n type {\\n ...TypeRef\\n }\\n isDeprecated\\n deprecationReason\\n }\\n inputFields {\\n ...InputValue\\n }\\n interfaces {\\n ...TypeRef\\n }\\n enumValues(includeDeprecated: true) {\\n name\\n \").concat(t?\"description\":\"\",\"\\n isDeprecated\\n deprecationReason\\n }\\n possibleTypes {\\n ...TypeRef\\n }\\n }\\n\\n fragment InputValue on __InputValue {\\n name\\n \").concat(t?\"description\":\"\",\"\\n type { ...TypeRef }\\n defaultValue\\n }\\n\\n fragment TypeRef on __Type {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n \")}var mt=ht(),gt=n(268);function yt(e,t){var n=V(e,Object(a.a)(ht(t)));return!o(n)&&!n.errors&&n.data||Object(p.a)(0),n.data}var vt=n(30);function bt(e,t){Object(m.a)(e)&&Object(m.a)(e.__schema)||Object(f.a)(0,'Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: '+Object(l.a)(e));for(var n=e.__schema,r=Object(vt.a)(n.types,(function(e){return e.name}),(function(e){return function(e){if(e&&e.name&&e.kind)switch(e.kind){case x.TypeKind.SCALAR:return n=e,new C.g({name:n.name,description:n.description});case x.TypeKind.OBJECT:return function(e){if(!e.interfaces)throw new Error(\"Introspection result missing interfaces: \"+Object(l.a)(e));return new C.f({name:e.name,description:e.description,interfaces:function(){return e.interfaces.map(v)},fields:function(){return b(e)}})}(e);case x.TypeKind.INTERFACE:return t=e,new C.c({name:t.name,description:t.description,fields:function(){return b(t)}});case x.TypeKind.UNION:return function(e){if(!e.possibleTypes)throw new Error(\"Introspection result missing possibleTypes: \"+Object(l.a)(e));return new C.h({name:e.name,description:e.description,types:function(){return e.possibleTypes.map(y)}})}(e);case x.TypeKind.ENUM:return function(e){if(!e.enumValues)throw new Error(\"Introspection result missing enumValues: \"+Object(l.a)(e));return new C.a({name:e.name,description:e.description,values:Object(vt.a)(e.enumValues,(function(e){return e.name}),(function(e){return{description:e.description,deprecationReason:e.deprecationReason}}))})}(e);case x.TypeKind.INPUT_OBJECT:return function(e){if(!e.inputFields)throw new Error(\"Introspection result missing inputFields: \"+Object(l.a)(e));return new C.b({name:e.name,description:e.description,fields:function(){return E(e.inputFields)}})}(e)}var t;var n;throw new Error(\"Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema:\"+Object(l.a)(e))}(e)})),i=0,o=[].concat(me.g,x.introspectionTypes);i0?function(){return n.map((function(e){return t.getNamedType(e)}))}:[],o=r&&r.length>0?function(){return wt(r,(function(e){return t.buildField(e)}))}:Object.create(null);return new C.f({name:e.name.value,description:kt(e,this._options),interfaces:i,fields:o,astNode:e})},t._makeInterfaceDef=function(e){var t=this,n=e.fields,r=n&&n.length>0?function(){return wt(n,(function(e){return t.buildField(e)}))}:Object.create(null);return new C.c({name:e.name.value,description:kt(e,this._options),fields:r,astNode:e})},t._makeEnumDef=function(e){var t=this,n=e.values||[];return new C.a({name:e.name.value,description:kt(e,this._options),values:wt(n,(function(e){return t.buildEnumValue(e)})),astNode:e})},t._makeUnionDef=function(e){var t=this,n=e.types,r=n&&n.length>0?function(){return n.map((function(e){return t.getNamedType(e)}))}:[];return new C.h({name:e.name.value,description:kt(e,this._options),types:r,astNode:e})},t._makeScalarDef=function(e){return new C.g({name:e.name.value,description:kt(e,this._options),astNode:e})},t._makeInputObjectDef=function(e){var t=this,n=e.fields;return new C.b({name:e.name.value,description:kt(e,this._options),fields:n?function(){return wt(n,(function(e){return t.buildInputField(e)}))}:Object.create(null),astNode:e})},e}();function wt(e,t){return Object(vt.a)(e,(function(e){return e.name.value}),t)}function St(e){var t=U(D.b,e);return t&&t.reason}function kt(e,t){if(e.description)return e.description.value;if(t&&t.commentDescriptions){var n=function(e){var t=e.loc;if(!t)return;var n=[],r=t.startToken.prev;for(;r&&r.kind===Ee.a.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);n.push(i),r=r.prev}return n.reverse().join(\"\\n\")}(e);if(void 0!==n)return Object(Et.a)(\"\\n\"+n)}}function At(e,t){return xt(Object(a.a)(e,t),t)}var Tt=n(53),_t=n(58);function Ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:\"\";return 0===t.length?\"\":t.every((function(e){return!e.description}))?\"(\"+t.map($t).join(\", \")+\")\":\"(\\n\"+t.map((function(t,r){return Zt(e,t,\" \"+n,!r)+\" \"+n+$t(t)})).join(\"\\n\")+\"\\n\"+n+\")\"}function $t(e){var t=Object(zt.a)(e.defaultValue,e.type),n=e.name+\": \"+String(e.type);return t&&(n+=\" = \".concat(Object(_.print)(t))),n}function Xt(e){if(!e.isDeprecated)return\"\";var t=e.deprecationReason,n=Object(zt.a)(t,me.e);return n&&\"\"!==t&&t!==D.a?\" @deprecated(reason: \"+Object(_.print)(n)+\")\":\" @deprecated\"}function Zt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t.description)return\"\";var i=tn(t.description,120-n.length);if(e&&e.commentDescriptions)return en(i,n,r);var o=i.join(\"\\n\"),a=o.length>70,s=Object(Et.c)(o,\"\",a),u=n&&!r?\"\\n\"+n:n;return u+s.replace(/\\n/g,\"\\n\"+n)+\"\\n\"}function en(e,t,n){for(var r=t&&!n?\"\\n\":\"\",i=0;i0&&(a+=' at \"value'.concat(T(s),'\"')),i.push(new v.a(a+\": \"+o.message,n,void 0,void 0,void 0,o.originalError))}));return i.length>0?{errors:i,value:void 0}:{errors:void 0,value:o}}function an(e,t){var n=on(e,t).errors;return n?n.map((function(e){return e.message})):[]}function sn(e,t){var n=new he.a({}),r={kind:E.a.DOCUMENT,definitions:[]},i=new rn.a(n,void 0,e),o=new Fe.b(n,r,i),a=Object(nt.a)(o);return Object(xe.c)(t,Object(xe.e)(i,a)),o.getErrors()}function un(e){return{kind:\"Document\",definitions:Object(Tt.a)(e,(function(e){return e.definitions}))}}function cn(e){var t,n=[],r=Object.create(null),i=new Map,o=Object.create(null),a=0;Object(xe.c)(e,{OperationDefinition:function(e){t=ln(e),n.push(e),i.set(e,a++)},FragmentDefinition:function(e){t=e.name.value,r[t]=e,i.set(e,a++)},FragmentSpread:function(e){var n=e.name.value;(o[t]||(o[t]=Object.create(null)))[n]=!0}});for(var s=Object.create(null),u=0;u0&&(n=\"\\n\"+n);var i=n[n.length-1];return('\"'===i&&'\\\\\"\"\"'!==n.slice(-4)||\"\\\\\"===i)&&(n+=\"\\n\"),'\"\"\"'+n+'\"\"\"'}var hn=n(64),mn=n(225);function gn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vn=Object.freeze({TYPE_REMOVED:\"TYPE_REMOVED\",TYPE_CHANGED_KIND:\"TYPE_CHANGED_KIND\",TYPE_REMOVED_FROM_UNION:\"TYPE_REMOVED_FROM_UNION\",VALUE_REMOVED_FROM_ENUM:\"VALUE_REMOVED_FROM_ENUM\",REQUIRED_INPUT_FIELD_ADDED:\"REQUIRED_INPUT_FIELD_ADDED\",INTERFACE_REMOVED_FROM_OBJECT:\"INTERFACE_REMOVED_FROM_OBJECT\",FIELD_REMOVED:\"FIELD_REMOVED\",FIELD_CHANGED_KIND:\"FIELD_CHANGED_KIND\",REQUIRED_ARG_ADDED:\"REQUIRED_ARG_ADDED\",ARG_REMOVED:\"ARG_REMOVED\",ARG_CHANGED_KIND:\"ARG_CHANGED_KIND\",DIRECTIVE_REMOVED:\"DIRECTIVE_REMOVED\",DIRECTIVE_ARG_REMOVED:\"DIRECTIVE_ARG_REMOVED\",REQUIRED_DIRECTIVE_ARG_ADDED:\"REQUIRED_DIRECTIVE_ARG_ADDED\",DIRECTIVE_LOCATION_REMOVED:\"DIRECTIVE_LOCATION_REMOVED\"}),bn=Object.freeze({VALUE_ADDED_TO_ENUM:\"VALUE_ADDED_TO_ENUM\",TYPE_ADDED_TO_UNION:\"TYPE_ADDED_TO_UNION\",OPTIONAL_INPUT_FIELD_ADDED:\"OPTIONAL_INPUT_FIELD_ADDED\",OPTIONAL_ARG_ADDED:\"OPTIONAL_ARG_ADDED\",INTERFACE_ADDED_TO_OBJECT:\"INTERFACE_ADDED_TO_OBJECT\",ARG_DEFAULT_VALUE_CHANGE:\"ARG_DEFAULT_VALUE_CHANGE\"});function En(e,t){return Dn(e,t).filter((function(e){return e.type in vn}))}function xn(e,t){return Dn(e,t).filter((function(e){return e.type in bn}))}function Dn(e,t){return[].concat(function(e,t){for(var n=[],r=In(Object(O.a)(e.getTypeMap()),Object(O.a)(t.getTypeMap())),i=0,o=r.removed;i=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!==(65535&e)&&65534!==(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g,u=new RegExp(s.source+\"|\"+/&([a-z#][a-z0-9]{1,31});/gi.source,\"gi\"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(171);var p=/[&<>\"]/,f=/[&<>\"]/g,d={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"};function h(e){return d[e]}var m=/[.?*+^$[\\]\\\\(){}|-]/g;var g=n(105);t.lib={},t.lib.mdurl=n(106),t.lib.ucmicro=n(172),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){if(t){if(\"object\"!==typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach((function(n){e[n]=t[n]}))}})),e},t.isString=function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf(\"\\\\\")<0?e:e.replace(s,\"$1\")},t.unescapeAll=function(e){return e.indexOf(\"\\\\\")<0&&e.indexOf(\"&\")<0?e:e.replace(u,(function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,\"\\\\$&\")},t.normalizeReference=function(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"print\",(function(){return o}));var r=n(23),i=n(56);function o(e){return Object(r.c)(e,{leave:a})}var a={Name:function(e){return e.value},Variable:function(e){return\"$\"+e.name},Document:function(e){return u(e.definitions,\"\\n\\n\")+\"\\n\"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=l(\"(\",u(e.variableDefinitions,\", \"),\")\"),i=u(e.directives,\" \"),o=e.selectionSet;return n||i||r||\"query\"!==t?u([t,u([n,r]),i,o],\" \"):o},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,i=e.directives;return t+\": \"+n+l(\" = \",r)+l(\" \",u(i,\" \"))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,i=e.directives,o=e.selectionSet;return u([l(\"\",t,\": \")+n+l(\"(\",u(r,\", \"),\")\"),u(i,\" \"),o],\" \")},Argument:function(e){return e.name+\": \"+e.value},FragmentSpread:function(e){return\"...\"+e.name+l(\" \",u(e.directives,\" \"))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return u([\"...\",l(\"on \",t),u(n,\" \"),r],\" \")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,i=e.directives,o=e.selectionSet;return\"fragment \".concat(t).concat(l(\"(\",u(r,\", \"),\")\"),\" \")+\"on \".concat(n,\" \").concat(l(\"\",u(i,\" \"),\" \"))+o},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?Object(i.c)(n,\"description\"===t?\"\":\" \"):JSON.stringify(n)},BooleanValue:function(e){return e.value?\"true\":\"false\"},NullValue:function(){return\"null\"},EnumValue:function(e){return e.value},ListValue:function(e){return\"[\"+u(e.values,\", \")+\"]\"},ObjectValue:function(e){return\"{\"+u(e.fields,\", \")+\"}\"},ObjectField:function(e){return e.name+\": \"+e.value},Directive:function(e){return\"@\"+e.name+l(\"(\",u(e.arguments,\", \"),\")\")},NamedType:function(e){return e.name},ListType:function(e){return\"[\"+e.type+\"]\"},NonNullType:function(e){return e.type+\"!\"},SchemaDefinition:function(e){var t=e.directives,n=e.operationTypes;return u([\"schema\",u(t,\" \"),c(n)],\" \")},OperationTypeDefinition:function(e){return e.operation+\": \"+e.type},ScalarTypeDefinition:s((function(e){return u([\"scalar\",e.name,u(e.directives,\" \")],\" \")})),ObjectTypeDefinition:s((function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u([\"type\",t,l(\"implements \",u(n,\" & \")),u(r,\" \"),c(i)],\" \")})),FieldDefinition:s((function(e){var t=e.name,n=e.arguments,r=e.type,i=e.directives;return t+(d(n)?l(\"(\\n\",p(u(n,\"\\n\")),\"\\n)\"):l(\"(\",u(n,\", \"),\")\"))+\": \"+r+l(\" \",u(i,\" \"))})),InputValueDefinition:s((function(e){var t=e.name,n=e.type,r=e.defaultValue,i=e.directives;return u([t+\": \"+n,l(\"= \",r),u(i,\" \")],\" \")})),InterfaceTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.fields;return u([\"interface\",t,u(n,\" \"),c(r)],\" \")})),UnionTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.types;return u([\"union\",t,u(n,\" \"),r&&0!==r.length?\"= \"+u(r,\" | \"):\"\"],\" \")})),EnumTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.values;return u([\"enum\",t,u(n,\" \"),c(r)],\" \")})),EnumValueDefinition:s((function(e){return u([e.name,u(e.directives,\" \")],\" \")})),InputObjectTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.fields;return u([\"input\",t,u(n,\" \"),c(r)],\" \")})),DirectiveDefinition:s((function(e){var t=e.name,n=e.arguments,r=e.repeatable,i=e.locations;return\"directive @\"+t+(d(n)?l(\"(\\n\",p(u(n,\"\\n\")),\"\\n)\"):l(\"(\",u(n,\", \"),\")\"))+(r?\" repeatable\":\"\")+\" on \"+u(i,\" | \")})),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return u([\"extend schema\",u(t,\" \"),c(n)],\" \")},ScalarTypeExtension:function(e){return u([\"extend scalar\",e.name,u(e.directives,\" \")],\" \")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u([\"extend type\",t,l(\"implements \",u(n,\" & \")),u(r,\" \"),c(i)],\" \")},InterfaceTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return u([\"extend interface\",t,u(n,\" \"),c(r)],\" \")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return u([\"extend union\",t,u(n,\" \"),r&&0!==r.length?\"= \"+u(r,\" | \"):\"\"],\" \")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return u([\"extend enum\",t,u(n,\" \"),c(r)],\" \")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return u([\"extend input\",t,u(n,\" \"),c(r)],\" \")}};function s(e){return function(t){return u([t.description,e(t)],\"\\n\")}}function u(e,t){return e?e.filter((function(e){return e})).join(t||\"\"):\"\"}function c(e){return e&&0!==e.length?\"{\\n\"+p(u(e,\"\\n\"))+\"\\n}\":\"\"}function l(e,t,n){return t?e+t+(n||\"\"):\"\"}function p(e){return e&&\" \"+e.replace(/\\n/g,\"\\n \")}function f(e){return-1!==e.indexOf(\"\\n\")}function d(e){return e&&e.some(f)}},function(e,t,n){\"use strict\";var r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function o(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!==(65535&e)&&65534!==(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g,u=new RegExp(s.source+\"|\"+/&([a-z#][a-z0-9]{1,31});/gi.source,\"gi\"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(203);var p=/[&<>\"]/,f=/[&<>\"]/g,d={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"};function h(e){return d[e]}var m=/[.?*+^$[\\]\\\\(){}|-]/g;var g=n(105);t.lib={},t.lib.mdurl=n(106),t.lib.ucmicro=n(172),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){if(t){if(\"object\"!==typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach((function(n){e[n]=t[n]}))}})),e},t.isString=function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf(\"\\\\\")<0?e:e.replace(s,\"$1\")},t.unescapeAll=function(e){return e.indexOf(\"\\\\\")<0&&e.indexOf(\"&\")<0?e:e.replace(u,(function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,\"\\\\$&\")},t.normalizeReference=function(e){return e=e.trim().replace(/\\s+/g,\" \"),\"\\u1e7e\"===\"\\u1e9e\".toLowerCase()&&(e=e.replace(/\\u1e9e/g,\"\\xdf\")),e.toLowerCase().toUpperCase()}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return u})),n.d(t,\"e\",(function(){return c})),n.d(t,\"b\",(function(){return l}));var r=n(2),i={Name:[],Document:[\"definitions\"],OperationDefinition:[\"name\",\"variableDefinitions\",\"directives\",\"selectionSet\"],VariableDefinition:[\"variable\",\"type\",\"defaultValue\",\"directives\"],Variable:[\"name\"],SelectionSet:[\"selections\"],Field:[\"alias\",\"name\",\"arguments\",\"directives\",\"selectionSet\"],Argument:[\"name\",\"value\"],FragmentSpread:[\"name\",\"directives\"],InlineFragment:[\"typeCondition\",\"directives\",\"selectionSet\"],FragmentDefinition:[\"name\",\"variableDefinitions\",\"typeCondition\",\"directives\",\"selectionSet\"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:[\"values\"],ObjectValue:[\"fields\"],ObjectField:[\"name\",\"value\"],Directive:[\"name\",\"arguments\"],NamedType:[\"name\"],ListType:[\"type\"],NonNullType:[\"type\"],SchemaDefinition:[\"directives\",\"operationTypes\"],OperationTypeDefinition:[\"type\"],ScalarTypeDefinition:[\"description\",\"name\",\"directives\"],ObjectTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],FieldDefinition:[\"description\",\"name\",\"arguments\",\"type\",\"directives\"],InputValueDefinition:[\"description\",\"name\",\"type\",\"defaultValue\",\"directives\"],InterfaceTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],UnionTypeDefinition:[\"description\",\"name\",\"directives\",\"types\"],EnumTypeDefinition:[\"description\",\"name\",\"directives\",\"values\"],EnumValueDefinition:[\"description\",\"name\",\"directives\"],InputObjectTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],DirectiveDefinition:[\"description\",\"name\",\"arguments\",\"locations\"],SchemaExtension:[\"directives\",\"operationTypes\"],ScalarTypeExtension:[\"name\",\"directives\"],ObjectTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],InterfaceTypeExtension:[\"name\",\"directives\",\"fields\"],UnionTypeExtension:[\"name\",\"directives\",\"types\"],EnumTypeExtension:[\"name\",\"directives\",\"values\"],InputObjectTypeExtension:[\"name\",\"directives\",\"fields\"]},o=Object.freeze({});function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,a=void 0,u=Array.isArray(e),c=[e],p=-1,f=[],d=void 0,h=void 0,m=void 0,g=[],y=[],v=e;do{var b=++p===c.length,E=b&&0!==f.length;if(b){if(h=0===y.length?void 0:g[g.length-1],d=m,m=y.pop(),E){if(u)d=d.slice();else{for(var x={},D=0,C=Object.keys(d);D=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error(\"Invalid value of type \"+typeof e+\" for \"+n+\" argument when connecting component \"+r.wrappedComponentName+\".\")}}function B(e,t){return e===t}function U(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?w:n,i=t.mapStateToPropsFactories,o=void 0===i?N:i,a=t.mapDispatchToPropsFactories,s=void 0===a?F:a,u=t.mergePropsFactories,c=void 0===u?M:u,l=t.selectorFactory,d=void 0===l?P:l;return function(e,t,n,i){void 0===i&&(i={});var a=i,u=a.pure,l=void 0===u||u,h=a.areStatesEqual,m=void 0===h?B:h,g=a.areOwnPropsEqual,y=void 0===g?k:g,v=a.areStatePropsEqual,b=void 0===v?k:v,E=a.areMergedPropsEqual,x=void 0===E?k:E,D=Object(f.a)(a,[\"pure\",\"areStatesEqual\",\"areOwnPropsEqual\",\"areStatePropsEqual\",\"areMergedPropsEqual\"]),C=R(e,o,\"mapStateToProps\"),w=R(t,s,\"mapDispatchToProps\"),S=R(n,c,\"mergeProps\");return r(d,Object(p.a)({methodName:\"connect\",getDisplayName:function(e){return\"Connect(\"+e+\")\"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:C,initMapDispatchToProps:w,initMergeProps:S,pure:l,areStatesEqual:m,areOwnPropsEqual:y,areStatePropsEqual:b,areMergedPropsEqual:x},D))}}var z=U();function V(){return Object(r.useContext)(o)}function q(e){void 0===e&&(e=o);var t=e===o?V:function(){return Object(r.useContext)(e)};return function(){return t().store}}var H=q();function W(e){void 0===e&&(e=o);var t=e===o?H:q(e);return function(){return t().dispatch}}var G=W(),K=function(e,t){return e===t};function J(e){void 0===e&&(e=o);var t=e===o?V:function(){return Object(r.useContext)(e)};return function(e,n){void 0===n&&(n=K);var i=t();return function(e,t,n,i){var o,a=Object(r.useReducer)((function(e){return e+1}),0)[1],s=Object(r.useMemo)((function(){return new c(n,i)}),[n,i]),u=Object(r.useRef)(),l=Object(r.useRef)(),p=Object(r.useRef)();try{o=e!==l.current||u.current?e(n.getState()):p.current}catch(f){throw u.current&&(f.message+=\"\\nThe error may be correlated with this previous error:\\n\"+u.current.stack+\"\\n\\n\"),f}return g((function(){l.current=e,p.current=o,u.current=void 0})),g((function(){function e(){try{var e=l.current(n.getState());if(t(e,p.current))return;p.current=e}catch(f){u.current=f}a({})}return s.onStateChange=e,s.trySubscribe(),e(),function(){return s.tryUnsubscribe()}}),[n,s]),o}(e,n,i.store,i.subscription)}}var Y,Q=J(),$=n(60);Y=$.unstable_batchedUpdates,a=Y},function(e,t,n){\"use strict\";(function(e){n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s}));var r=n(17),i=Object.setPrototypeOf,o=void 0===i?function(e,t){return e.__proto__=t,e}:i,a=function(e){function t(n){void 0===n&&(n=\"Invariant Violation\");var r=e.call(this,\"number\"===typeof n?\"Invariant Violation: \"+n+\" (see https://github.com/apollographql/invariant-packages)\":n)||this;return r.framesToPop=1,r.name=\"Invariant Violation\",o(r,t.prototype),r}return Object(r.b)(t,e),t}(Error);function s(e,t){if(!e)throw new a(t)}function u(e){return function(){return console[e].apply(console,arguments)}}!function(e){e.warn=u(\"warn\"),e.error=u(\"error\")}(s||(s={}));var c={env:{}};if(\"object\"===typeof e)c=e;else try{Function(\"stub\",\"process = stub\")(c)}catch(l){}}).call(this,n(100))},function(e,t,n){\"use strict\";function r(e,t){return e===t}function i(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,i=0;i1&&void 0!==arguments[1]?arguments[1]:r,n=null,o=null;return function(){return i(t,n,arguments)||(o=e.apply(null,arguments)),n=arguments,o}}function a(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return\"function\"===typeof e}))){var n=t.map((function(e){return typeof e})).join(\", \");throw new Error(\"Selector creators expect all input-selectors to be functions, instead received the following types: [\"+n+\"]\")}return t}function s(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:u;if(\"object\"!==typeof e)throw new Error(\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof e);var n=Object.keys(e);return t(n.map((function(t){return e[t]})),(function(){for(var e=arguments.length,t=Array(e),r=0;r>>0;if(\"\"+n!==t||4294967295===n)return NaN;t=n}return t<0?a(e)+t:t}function u(){return!0}function c(e,t,n){return(0===e&&!d(e)||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function l(e,t){return f(e,t,0)}function p(e,t){return f(e,t,t)}function f(e,t,n){return void 0===e?n:d(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function d(e){return e<0||0===e&&1/e===-1/0}function h(e){return Boolean(e&&e[\"@@__IMMUTABLE_ITERABLE__@@\"])}function m(e){return Boolean(e&&e[\"@@__IMMUTABLE_KEYED__@@\"])}function g(e){return Boolean(e&&e[\"@@__IMMUTABLE_INDEXED__@@\"])}function y(e){return m(e)||g(e)}var v=function(e){return h(e)?e:R(e)},b=function(e){function t(e){return m(e)?e:B(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v),E=function(e){function t(e){return g(e)?e:U(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v),x=function(e){function t(e){return h(e)&&!y(e)?e:z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v);v.Keyed=b,v.Indexed=E,v.Set=x;function D(e){return Boolean(e&&e[\"@@__IMMUTABLE_SEQ__@@\"])}function C(e){return Boolean(e&&e[\"@@__IMMUTABLE_RECORD__@@\"])}function w(e){return h(e)||C(e)}var S=\"@@__IMMUTABLE_ORDERED__@@\";function k(e){return Boolean(e&&e[S])}var A=\"function\"===typeof Symbol&&Symbol.iterator,T=A||\"@@iterator\",_=function(e){this.next=e};function O(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function F(){return{value:void 0,done:!0}}function N(e){return!!j(e)}function I(e){return e&&\"function\"===typeof e.next}function M(e){var t=j(e);return t&&t.call(e)}function j(e){var t=e&&(A&&e[A]||e[\"@@iterator\"]);if(\"function\"===typeof t)return t}_.prototype.toString=function(){return\"[Iterator]\"},_.KEYS=0,_.VALUES=1,_.ENTRIES=2,_.prototype.inspect=_.prototype.toSource=function(){return this.toString()},_.prototype[T]=function(){return this};var L=Object.prototype.hasOwnProperty;function P(e){return!(!Array.isArray(e)&&\"string\"!==typeof e)||e&&\"object\"===typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var R=function(e){function t(e){return null===e||void 0===e?G():w(e)?e.toSeq():function(e){var t=Y(e);if(t)return t;if(\"object\"===typeof e)return new q(e);throw new TypeError(\"Expected Array or collection object of values, or keyed object: \"+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString(\"Seq {\",\"}\")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var n=this._cache;if(n){for(var r=n.length,i=0;i!==r;){var o=n[t?r-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var n=this._cache;if(n){var r=n.length,i=0;return new _((function(){if(i===r)return{value:void 0,done:!0};var o=n[t?r-++i:i++];return O(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(v),B=function(e){function t(e){return null===e||void 0===e?G().toKeyedSeq():h(e)?m(e)?e.toSeq():e.fromEntrySeq():C(e)?e.toSeq():K(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(R),U=function(e){function t(e){return null===e||void 0===e?G():h(e)?m(e)?e.entrySeq():e.toIndexedSeq():C(e)?e.toSeq().entrySeq():J(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString(\"Seq [\",\"]\")},t}(R),z=function(e){function t(e){return(h(e)&&!y(e)?e:U(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(R);R.isSeq=D,R.Keyed=B,R.Set=z,R.Indexed=U,R.prototype[\"@@__IMMUTABLE_SEQ__@@\"]=!0;var V=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[s(this,e)]:t},t.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length,i=0;i!==r;){var o=t?r-++i:i++;if(!1===e(n[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var n=this._array,r=n.length,i=0;return new _((function(){if(i===r)return{value:void 0,done:!0};var o=t?r-++i:i++;return O(e,o,n[o])}))},t}(U),q=function(e){function t(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return L.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length,o=0;o!==i;){var a=r[t?i-++o:o++];if(!1===e(n[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length,o=0;return new _((function(){if(o===i)return{value:void 0,done:!0};var a=r[t?i-++o:o++];return O(e,a,n[a])}))},t}(B);q.prototype[S]=!0;var H,W=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=M(this._collection),r=0;if(I(n))for(var i;!(i=n.next()).done&&!1!==e(i.value,r++,this););return r},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=M(this._collection);if(!I(n))return new _(F);var r=0;return new _((function(){var t=n.next();return t.done?t:O(e,r++,t.value)}))},t}(U);function G(){return H||(H=new V([]))}function K(e){var t=Array.isArray(e)?new V(e):N(e)?new W(e):void 0;if(t)return t.fromEntrySeq();if(\"object\"===typeof e)return new q(e);throw new TypeError(\"Expected Array or collection object of [k, v] entries, or keyed object: \"+e)}function J(e){var t=Y(e);if(t)return t;throw new TypeError(\"Expected Array or collection object of values: \"+e)}function Y(e){return P(e)?new V(e):N(e)?new W(e):void 0}function Q(e){return Boolean(e&&e[\"@@__IMMUTABLE_MAP__@@\"])}function $(e){return Q(e)&&k(e)}function X(e){return Boolean(e&&\"function\"===typeof e.equals&&\"function\"===typeof e.hashCode)}function Z(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if(\"function\"===typeof e.valueOf&&\"function\"===typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!!(X(e)&&X(t)&&e.equals(t))}var ee=\"function\"===typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function te(e){return e>>>1&1073741824|3221225471&e}var ne=Object.prototype.valueOf;function re(e){switch(typeof e){case\"boolean\":return e?1108378657:1108378656;case\"number\":return function(e){if(e!==e||e===1/0)return 0;var t=0|e;t!==e&&(t^=4294967295*e);for(;e>4294967295;)t^=e/=4294967295;return te(t)}(e);case\"string\":return e.length>pe?function(e){var t=he[e];void 0===t&&(t=ie(e),de===fe&&(de=0,he={}),de++,he[e]=t);return t}(e):ie(e);case\"object\":case\"function\":return null===e?1108378658:\"function\"===typeof e.hashCode?te(e.hashCode(e)):(e.valueOf!==ne&&\"function\"===typeof e.valueOf&&(e=e.valueOf(e)),function(e){var t;if(ue&&void 0!==(t=se.get(e)))return t;if(void 0!==(t=e[le]))return t;if(!ae){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[le]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}t=++ce,1073741824&ce&&(ce=0);if(ue)se.set(e,t);else{if(void 0!==oe&&!1===oe(e))throw new Error(\"Non-extensible objects are not allowed as keys.\");if(ae)Object.defineProperty(e,le,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[le]=t;else{if(void 0===e.nodeType)throw new Error(\"Unable to set a non-enumerable property on object.\");e[le]=t}}return t}(e));case\"undefined\":return 1108378659;default:if(\"function\"===typeof e.toString)return ie(e.toString());throw new Error(\"Value type \"+typeof e+\" cannot be hashed.\")}}function ie(e){for(var t=0,n=0;n=0&&(d.get=function(t,n){return(t=s(this,t))>=0&&tu)return{value:void 0,done:!0};var e=i.next();return r||1===t||e.done?e:O(t,s-1,0===t?void 0:e.value[1],e)}))},d}function we(e,t,n,r){var i=Me(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate((function(e,o,c){if(!s||!(s=t.call(n,e,o,c)))return u++,i(e,r?o:u-1,a)})),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(2,o),u=!0,c=0;return new _((function(){var e,o,l;do{if((e=s.next()).done)return r||1===i?e:O(i,c++,0===i?void 0:e.value[1],e);var p=e.value;o=p[0],l=p[1],u&&(u=t.call(n,l,o,a))}while(u);return 2===i?e:O(i,o,l,e)}))},i}function Se(e,t){var n=m(e),r=[e].concat(t).map((function(e){return h(e)?n&&(e=b(e)):e=n?K(e):J(Array.isArray(e)?e:[e]),e})).filter((function(e){return 0!==e.size}));if(0===r.length)return e;if(1===r.length){var i=r[0];if(i===e||n&&m(i)||g(e)&&g(i))return i}var o=new V(r);return n?o=o.toKeyedSeq():g(e)||(o=o.toSetSeq()),(o=o.flatten(!0)).size=r.reduce((function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}}),0),o}function ke(e,t,n){var r=Me(e);return r.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(u,c){u.__iterate((function(o,u){return(!t||c0}function Oe(e,t,n,r){var i=Me(e),o=new V(n).map((function(e){return e.size}));return i.size=r?o.max():o.min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(1,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=n.map((function(e){return e=v(e),M(i?e.reverse():e)})),a=0,s=!1;return new _((function(){var n;return s||(n=o.map((function(e){return e.next()})),s=r?n.every((function(e){return e.done})):n.some((function(e){return e.done}))),s?{value:void 0,done:!0}:O(e,a++,t.apply(null,n.map((function(e){return e.value}))))}))},i}function Fe(e,t){return e===t?e:D(e)?t:e.constructor(t)}function Ne(e){if(e!==Object(e))throw new TypeError(\"Expected [K, V] tuple: \"+e)}function Ie(e){return m(e)?b:g(e)?E:x}function Me(e){return Object.create((m(e)?B:g(e)?U:z).prototype)}function je(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):R.prototype.cacheResult.call(this)}function Le(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[n]=arguments[n+1];if(\"function\"!==typeof e)throw new TypeError(\"Invalid merger function: \"+e);return ot(this,t,e)}function ot(e,t,n){for(var i=[],o=0;o0;)t[n]=arguments[n+1];return pt(e,t)}function st(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return pt(t,n,e)}function ut(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return lt(e,t)}function ct(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return lt(t,n,e)}function lt(e,t,n){return pt(e,t,function(e){return function t(n,r,i){return Ve(n)&&Ve(r)?pt(n,[r],t):e?e(n,r,i):r}}(n))}function pt(e,t,n){if(!Ve(e))throw new TypeError(\"Cannot merge into non-data-structure value: \"+e);if(w(e))return\"function\"===typeof n&&e.mergeWith?e.mergeWith.apply(e,[n].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var r=Array.isArray(e),i=e,o=r?E:b,a=r?function(t){i===e&&(i=Ge(i)),i.push(t)}:function(t,r){var o=L.call(i,r),a=o&&n?n(i[r],t,r):t;o&&a===i[r]||(i===e&&(i=Ge(i)),i[r]=a)},s=0;s0;)t[n]=arguments[n+1];return lt(this,t,e)}function ht(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Ye(this,e,Nt(),(function(e){return pt(e,t)}))}function mt(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Ye(this,e,Nt(),(function(e){return lt(e,t)}))}function gt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function yt(){return this.__ownerID?this:this.__ensureOwner(new o)}function vt(){return this.__ensureOwner()}function bt(){return this.__altered}ge.prototype.cacheResult=me.prototype.cacheResult=ye.prototype.cacheResult=ve.prototype.cacheResult=je;var Et=function(e){function t(t){return null===t||void 0===t?Nt():Q(t)&&!k(t)?t:Nt().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e,t){return n.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Nt().withMutations((function(t){for(var n=0;n=e.length)throw new Error(\"Missing value for key: \"+e[n]);t.set(e[n],e[n+1])}}))},t.prototype.toString=function(){return this.__toString(\"Map {\",\"}\")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return It(this,e,t)},t.prototype.remove=function(e){return It(this,e,r)},t.prototype.deleteAll=function(e){var t=v(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Nt()},t.prototype.sort=function(e){return rn(Ae(this,e))},t.prototype.sortBy=function(e,t){return rn(Ae(this,t,e))},t.prototype.map=function(e,t){return this.withMutations((function(n){n.forEach((function(r,i){n.set(i,e.call(t,r,i,n))}))}))},t.prototype.__iterator=function(e,t){return new Tt(this,e,t)},t.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate((function(t){return r++,e(t[1],t[0],n)}),t),r},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ft(this.size,this._root,e,this.__hash):0===this.size?Nt():(this.__ownerID=e,this.__altered=!1,this)},t}(b);Et.isMap=Q;var xt=Et.prototype;xt[\"@@__IMMUTABLE_MAP__@@\"]=!0,xt.delete=xt.remove,xt.removeAll=xt.deleteAll,xt.setIn=$e,xt.removeIn=xt.deleteIn=Ze,xt.update=tt,xt.updateIn=nt,xt.merge=xt.concat=rt,xt.mergeWith=it,xt.mergeDeep=ft,xt.mergeDeepWith=dt,xt.mergeIn=ht,xt.mergeDeepIn=mt,xt.withMutations=gt,xt.wasAltered=bt,xt.asImmutable=vt,xt[\"@@transducer/init\"]=xt.asMutable=yt,xt[\"@@transducer/step\"]=function(e,t){return e.set(t[0],t[1])},xt[\"@@transducer/result\"]=function(e){return e.asImmutable()};var Dt=function(e,t){this.ownerID=e,this.entries=t};Dt.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o=Bt)return function(e,t,n,r){e||(e=new o);for(var i=new kt(e,re(n),[n,r]),a=0;a>>e)),o=this.bitmap;return 0===(o&i)?r:this.nodes[Pt(o&i-1)].get(e+5,t,n,r)},Ct.prototype.update=function(e,t,n,i,o,a,s){void 0===n&&(n=re(i));var u=31&(0===t?n:n>>>t),c=1<=Ut)return function(e,t,n,r,i){for(var o=0,a=new Array(32),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new wt(e,o+1,a)}(e,d,l,u,m);if(p&&!m&&2===d.length&&jt(d[1^f]))return d[1^f];if(p&&m&&1===d.length&&jt(m))return m;var g=e&&e===this.ownerID,y=p?m?l:l^c:l|c,v=p?m?Rt(d,f,m,g):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a>>e),o=this.nodes[i];return o?o.get(e+5,t,n,r):r},wt.prototype.update=function(e,t,n,i,o,a,s){void 0===n&&(n=re(i));var u=31&(0===t?n:n>>>t),c=o===r,l=this.nodes,p=l[u];if(c&&!p)return this;var f=Mt(p,e,t+5,n,i,o,a,s);if(f===p)return this;var d=this.count;if(p){if(!f&&--d>>n),s=31&(0===n?r:r>>>n),u=a===s?[Lt(e,t,n+5,r,i)]:(o=new kt(t,r,i),a>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Rt(e,t,n,r){var i=r?e:Pe(e);return i[t]=n,i}var Bt=8,Ut=16,zt=8;function Vt(e){return Boolean(e&&e[\"@@__IMMUTABLE_LIST__@@\"])}var qt=function(e){function t(t){var n=Qt();if(null===t||void 0===t)return n;if(Vt(t))return t;var r=e(t),i=r.size;return 0===i?n:(Be(i),i>0&&i<32?Yt(0,i,5,null,new Wt(r.toArray())):n.withMutations((function(e){e.setSize(i),r.forEach((function(t,n){return e.set(n,t)}))})))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"List [\",\"]\")},t.prototype.get=function(e,t){if((e=s(this,e))>=0&&e=e.size||t<0)return e.withMutations((function(e){t<0?en(e,t).set(0,n):en(e,0,t+1).set(t,n)}));t+=e._origin;var r=e._tail,i=e._root,o={value:!1};t>=tn(e._capacity)?r=$t(r,e.__ownerID,0,t,n,o):i=$t(i,e.__ownerID,e._level,t,n,o);if(!o.value)return e;if(e.__ownerID)return e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e;return Yt(e._origin,e._capacity,e._level,i,r)}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):Qt()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(n){en(n,0,t+e.length);for(var r=0;r>>t&31;if(r>=this.array.length)return new Wt([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-5,n))===a&&o)return this}if(o&&!i)return this;var s=Xt(this,e);if(!o)for(var u=0;u>>t&31;if(i>=this.array.length)return this;if(t>0){var o=this.array[i];if((r=o&&o.removeAfter(e,t-5,n))===o&&i===this.array.length-1)return this}var a=Xt(this,e);return a.array.splice(i+1),r&&(a.array[i]=r),a};var Gt,Kt={};function Jt(e,t){var n=e._origin,r=e._capacity,i=tn(r),o=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===i?o&&o.array:e&&e.array,u=a>n?0:n-a,c=r-a;c>32&&(c=32);return function(){if(u===c)return Kt;var e=t?--c:u++;return s&&s[e]}}(e,u):function(e,i,o){var s,u=e&&e.array,c=o>n?0:n-o>>i,l=1+(r-o>>i);l>32&&(l=32);return function(){for(;;){if(s){var e=s();if(e!==Kt)return e;s=null}if(c===l)return Kt;var n=t?--l:c++;s=a(u&&u[n],i-5,o+(n<>>n&31,c=e&&u0){var l=e&&e.array[u],p=$t(l,t,n-5,r,o,a);return p===l?e:((s=Xt(e,t)).array[u]=p,s)}return c&&e.array[u]===o?e:(a&&i(a),s=Xt(e,t),void 0===o&&u===s.array.length-1?s.array.pop():s.array[u]=o,s)}function Xt(e,t){return t&&e&&t===e.ownerID?e:new Wt(e?e.array.slice():[],t)}function Zt(e,t){if(t>=tn(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&31],r-=5;return n}}function en(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new o,i=e._origin,a=e._capacity,s=i+t,u=void 0===n?a:n<0?a+n:i+n;if(s===i&&u===a)return e;if(s>=u)return e.clear();for(var c=e._level,l=e._root,p=0;s+p<0;)l=new Wt(l&&l.array.length?[void 0,l]:[],r),p+=1<<(c+=5);p&&(s+=p,i+=p,u+=p,a+=p);for(var f=tn(a),d=tn(u);d>=1<f?new Wt([],r):h;if(h&&d>f&&s5;y-=5){var v=f>>>y&31;g=g.array[v]=Xt(g.array[v],r)}g.array[f>>>5&31]=h}if(u=d)s-=d,u-=d,c=5,l=null,m=m&&m.removeBefore(r,0,s);else if(s>i||d>>c&31;if(b!==d>>>c&31)break;b&&(p+=(1<i&&(l=l.removeBefore(r,c,s-p)),l&&d>>5<<5}var nn,rn=function(e){function t(e){return null===e||void 0===e?an():$(e)?e:an().withMutations((function(t){var n=b(e);Be(n.size),n.forEach((function(e,n){return t.set(n,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"OrderedMap {\",\"}\")},t.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):an()},t.prototype.set=function(e,t){return sn(this,e,t)},t.prototype.remove=function(e){return sn(this,e,r)},t.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},t.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate((function(t){return t&&e(t[1],t[0],n)}),t)},t.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},t.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?on(t,n,e,this.__hash):0===this.size?an():(this.__ownerID=e,this._map=t,this._list=n,this)},t}(Et);function on(e,t,n,r){var i=Object.create(rn.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function an(){return nn||(nn=on(Nt(),Qt()))}function sn(e,t,n){var i,o,a=e._map,s=e._list,u=a.get(t),c=void 0!==u;if(n===r){if(!c)return e;s.size>=32&&s.size>=2*a.size?(i=(o=s.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(i.__ownerID=o.__ownerID=e.__ownerID)):(i=a.remove(t),o=u===s.size-1?s.pop():s.set(u,void 0))}else if(c){if(n===s.get(u)[1])return e;i=a,o=s.set(u,[t,n])}else i=a.set(t,s.size),o=s.set(s.size,[t,n]);return e.__ownerID?(e.size=i.size,e._map=i,e._list=o,e.__hash=void 0,e):on(i,o)}rn.isOrderedMap=$,rn.prototype[S]=!0,rn.prototype.delete=rn.prototype.remove;function un(e){return Boolean(e&&e[\"@@__IMMUTABLE_STACK__@@\"])}var cn=function(e){function t(e){return null===e||void 0===e?dn():un(e)?e:dn().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"Stack [\",\"]\")},t.prototype.get=function(e,t){var n=this._head;for(e=s(this,e);n&&e--;)n=n.next;return n?n.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,n=this._head,r=arguments.length-1;r>=0;r--)n={value:e[r],next:n};return this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):fn(t,n)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&un(t))return t;Be(t.size);var n=this.size,r=this._head;return t.__iterate((function(e){n++,r={value:e,next:r}}),!0),this.__ownerID?(this.size=n,this._head=r,this.__hash=void 0,this.__altered=!0,this):fn(n,r)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):dn()},t.prototype.slice=function(t,n){if(c(t,n,this.size))return this;var r=l(t,this.size);if(p(n,this.size)!==this.size)return e.prototype.slice.call(this,t,n);for(var i=this.size-r,o=this._head;r--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):fn(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?fn(this.size,this._head,e,this.__hash):0===this.size?dn():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var n=this;if(t)return new V(this.toArray()).__iterate((function(t,r){return e(t,r,n)}),t);for(var r=0,i=this._head;i&&!1!==e(i.value,r++,this);)i=i.next;return r},t.prototype.__iterator=function(e,t){if(t)return new V(this.toArray()).__iterator(e,t);var n=0,r=this._head;return new _((function(){if(r){var t=r.value;return r=r.next,O(e,n++,t)}return{value:void 0,done:!0}}))},t}(E);cn.isStack=un;var ln,pn=cn.prototype;function fn(e,t,n,r){var i=Object.create(pn);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function dn(){return ln||(ln=fn(0))}pn[\"@@__IMMUTABLE_STACK__@@\"]=!0,pn.shift=pn.pop,pn.unshift=pn.push,pn.unshiftAll=pn.pushAll,pn.withMutations=gt,pn.wasAltered=bt,pn.asImmutable=vt,pn[\"@@transducer/init\"]=pn.asMutable=yt,pn[\"@@transducer/step\"]=function(e,t){return e.unshift(t)},pn[\"@@transducer/result\"]=function(e){return e.asImmutable()};function hn(e){return Boolean(e&&e[\"@@__IMMUTABLE_SET__@@\"])}function mn(e){return hn(e)&&k(e)}function gn(e,t){if(e===t)return!0;if(!h(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||m(e)!==m(t)||g(e)!==g(t)||k(e)!==k(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!y(e);if(k(e)){var i=e.entries();return t.every((function(e,t){var r=i.next().value;return r&&Z(r[1],e)&&(n||Z(r[0],t))}))&&i.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)\"function\"===typeof e.cacheResult&&e.cacheResult();else{o=!0;var a=e;e=t,t=a}var s=!0,u=t.__iterate((function(t,i){if(n?!e.has(t):o?!Z(t,e.get(i,r)):!Z(e.get(i,r),t))return s=!1,!1}));return s&&e.size===u}function yn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}function vn(e){if(!e||\"object\"!==typeof e)return e;if(!h(e)){if(!Ve(e))return e;e=R(e)}if(m(e)){var t={};return e.__iterate((function(e,n){t[n]=vn(e)})),t}var n=[];return e.__iterate((function(e){n.push(vn(e))})),n}var bn=function(e){function t(t){return null===t||void 0===t?wn():hn(t)&&!k(t)?t:wn().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e){return n.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(b(e).keySeq())},t.intersect=function(e){return(e=v(e).toArray()).length?xn.intersect.apply(t(e.pop()),e):wn()},t.union=function(e){return(e=v(e).toArray()).length?xn.union.apply(t(e.pop()),e):wn()},t.prototype.toString=function(){return this.__toString(\"Set {\",\"}\")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return Dn(this,this._map.set(e,e))},t.prototype.remove=function(e){return Dn(this,this._map.remove(e))},t.prototype.clear=function(){return Dn(this,this._map.clear())},t.prototype.map=function(e,t){var n=this,r=[],i=[];return this.forEach((function(o){var a=e.call(t,o,o,n);a!==o&&(r.push(o),i.push(a))})),this.withMutations((function(e){r.forEach((function(t){return e.remove(t)})),i.forEach((function(t){return e.add(t)}))}))},t.prototype.union=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(n){for(var r=0;r=0&&t=0&&n>>-15,461845907),t=ee(t<<13|t>>>-13,5),t=ee((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=te((t=ee(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+zn(re(e),re(t))|0}:function(e,t){r=r+zn(re(e),re(t))|0}:t?function(e){r=31*r+re(e)|0}:function(e){r=r+re(e)|0}),r)}(this))}});var Fn=v.prototype;Fn[\"@@__IMMUTABLE_ITERABLE__@@\"]=!0,Fn[T]=Fn.values,Fn.toJSON=Fn.toArray,Fn.__toStringMapper=qe,Fn.inspect=Fn.toSource=function(){return this.toString()},Fn.chain=Fn.flatMap,Fn.contains=Fn.includes,yn(b,{flip:function(){return Fe(this,be(this))},mapEntries:function(e,t){var n=this,r=0;return Fe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],r++,n)})).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Fe(this,this.toSeq().flip().map((function(r,i){return e.call(t,r,i,n)})).flip())}});var Nn=b.prototype;Nn[\"@@__IMMUTABLE_KEYED__@@\"]=!0,Nn[T]=Fn.entries,Nn.toJSON=On,Nn.__toStringMapper=function(e,t){return qe(t)+\": \"+qe(e)},yn(E,{toKeyedSeq:function(){return new me(this,!1)},filter:function(e,t){return Fe(this,De(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Fe(this,xe(this,!1))},slice:function(e,t){return Fe(this,Ce(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(t||0,0),0===n||2===n&&!t)return this;e=l(e,e<0?this.count():this.size);var r=this.slice(0,e);return Fe(this,1===n?r:r.concat(Pe(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Fe(this,ke(this,e,!1))},get:function(e,t){return(e=s(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,n){return n===e}),void 0,t)},has:function(e){return(e=s(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function zn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}In[\"@@__IMMUTABLE_INDEXED__@@\"]=!0,In[S]=!0,yn(x,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),x.prototype.has=Fn.includes,x.prototype.contains=x.prototype.includes,yn(B,b.prototype),yn(U,E.prototype),yn(z,x.prototype);var Vn=function(e){function t(e){return null===e||void 0===e?Gn():mn(e)?e:Gn().withMutations((function(t){var n=x(e);Be(n.size),n.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(b(e).keySeq())},t.prototype.toString=function(){return this.__toString(\"OrderedSet {\",\"}\")},t}(bn);Vn.isOrderedSet=mn;var qn,Hn=Vn.prototype;function Wn(e,t){var n=Object.create(Hn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function Gn(){return qn||(qn=Wn(an()))}Hn[S]=!0,Hn.zip=In.zip,Hn.zipWith=In.zipWith,Hn.__empty=Gn,Hn.__make=Wn;var Kn=function(e,t){var n,r=function(o){var a=this;if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var s=Object.keys(e),u=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var c=0;c2?[]:void 0,{\"\":e})}function nr(e,t){return m(t)?t.toMap():t.toList()}var rr=\"4.0.0-rc.11\",ir={version:rr,Collection:v,Iterable:v,Seq:R,Map:Et,OrderedMap:rn,List:qt,Stack:cn,Set:bn,OrderedSet:Vn,Record:Kn,Range:kn,Repeat:er,is:Z,fromJS:tr,hash:re,isImmutable:w,isCollection:h,isKeyed:m,isIndexed:g,isAssociative:y,isOrdered:k,isValueObject:X,isSeq:D,isList:Vt,isMap:Q,isOrderedMap:$,isStack:un,isSet:hn,isOrderedSet:mn,isRecord:C,get:We,getIn:An,has:He,hasIn:_n,merge:at,mergeDeep:ut,mergeWith:st,mergeDeepWith:ct,remove:Ke,removeIn:Xe,set:Je,setIn:Qe,update:et,updateIn:Ye},or=v;t.default=ir},function(e,t,n){\"use strict\";var r=n(93),i=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],o=[\"scalar\",\"sequence\",\"mapping\"];e.exports=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===i.indexOf(t))throw new r('Unknown option \"'+t+'\" is met in definition of \"'+e+'\" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===o.indexOf(this.kind))throw new r('Unknown kind \"'+this.kind+'\" is specified for \"'+e+'\" YAML type.')}},function(e,t,n){\"use strict\";function r(e,t){return e.reduce((function(e,n){return e[t(n)]=n,e}),Object.create(null))}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);function o(e,t){return function(n){var r;return(r={})[e]=n||t,r}}t.editQuery=(r=i.createActions({EDIT_QUERY:function(e){return{query:e}},EDIT_HEADERS:o(\"headers\"),EDIT_ENDPOINT:o(\"endpoint\"),EDIT_VARIABLES:o(\"variables\"),SET_OPERATION_NAME:o(\"operationName\"),SET_VARIABLE_TO_TYPE:o(\"variableToType\"),SET_OPERATIONS:o(\"operations\"),SET_EDITOR_FLEX:o(\"editorFlex\"),EDIT_NAME:o(\"name\"),OPEN_QUERY_VARIABLES:function(){return{queryVariablesActive:!0}},CLOSE_QUERY_VARIABLES:function(){return{queryVariablesActive:!1}},SET_VARIABLE_EDITOR_HEIGHT:o(\"variableEditorHeight\"),SET_RESPONSE_TRACING_HEIGHT:o(\"responceTracingHeight\"),SET_TRACING_SUPPORTED:o(\"tracingSupported\"),SET_SUBSCRIPTION_ACTIVE:o(\"subscriptionActive\"),SET_QUERY_TYPES:o(\"queryTypes\"),SET_RESPONSE_EXTENSIONS:o(\"responseExtensions\"),SET_CURRENT_QUERY_START_TIME:o(\"currentQueryStartTime\"),SET_CURRENT_QUERY_END_TIME:o(\"currentQueryEndTime\"),UPDATE_QUERY_FACTS:o(),PRETTIFY_QUERY:o(),INJECT_HEADERS:function(e,t){return{headers:e,endpoint:t}},CLOSE_TRACING:o(\"responseTracingHeight\"),OPEN_TRACING:o(\"responseTracingHeight\"),TOGGLE_TRACING:o(),CLOSE_VARIABLES:o(\"variableEditorHeight\"),OPEN_VARIABLES:o(\"variableEditorHeight\"),TOGGLE_VARIABLES:o(),ADD_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},SET_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},CLEAR_RESPONSES:o(),FETCH_SCHEMA:o(),REFETCH_SCHEMA:o(),SET_ENDPOINT_UNREACHABLE:o(\"endpoint\"),SET_SCROLL_TOP:function(e,t){return{sessionId:e,scrollTop:t}},SCHEMA_FETCHING_SUCCESS:function(e,t,n){return{endpoint:e,tracingSupported:t,isPollingSchema:n}},SCHEMA_FETCHING_ERROR:function(e,t){return{endpoint:e,error:t}},RENEW_STACKS:o(),RUN_QUERY:function(e){return{operationName:e}},QUERY_SUCCESS:o(),QUERY_ERROR:o(),RUN_QUERY_AT_POSITION:function(e){return{position:e}},START_QUERY:o(\"queryRunning\",!0),STOP_QUERY:function(e,t){return{workspaceId:t,sessionId:e}},OPEN_SETTINGS_TAB:function(){return{}},OPEN_CONFIG_TAB:function(){return{}},NEW_SESSION:function(e,t){return{endpoint:e,reuseHeaders:t}},NEW_SESSION_FROM_QUERY:function(e){return{query:e}},NEW_FILE_TAB:function(e,t,n){return{fileName:e,filePath:t,file:n}},DUPLICATE_SESSION:o(\"session\"),CLOSE_SELECTED_TAB:function(){return{}},SELECT_NEXT_TAB:function(){return{}},SELECT_PREV_TAB:function(){return{}},SELECT_TAB:o(\"sessionId\"),SELECT_TAB_INDEX:o(\"index\"),CLOSE_TAB:o(\"sessionId\"),REORDER_TABS:function(e,t){return{src:e,dest:t}},EDIT_SETTINGS:o(),SAVE_SETTINGS:o(),EDIT_CONFIG:o(),SAVE_CONFIG:o(),EDIT_FILE:o(),SAVE_FILE:o()})).editQuery,t.editVariables=r.editVariables,t.setOperationName=r.setOperationName,t.editHeaders=r.editHeaders,t.editEndpoint=r.editEndpoint,t.setVariableToType=r.setVariableToType,t.setOperations=r.setOperations,t.startQuery=r.startQuery,t.stopQuery=r.stopQuery,t.setEditorFlex=r.setEditorFlex,t.openQueryVariables=r.openQueryVariables,t.closeQueryVariables=r.closeQueryVariables,t.setVariableEditorHeight=r.setVariableEditorHeight,t.setResponseTracingHeight=r.setResponseTracingHeight,t.setTracingSupported=r.setTracingSupported,t.closeTracing=r.closeTracing,t.openTracing=r.openTracing,t.closeVariables=r.closeVariables,t.openVariables=r.openVariables,t.addResponse=r.addResponse,t.setResponse=r.setResponse,t.clearResponses=r.clearResponses,t.openSettingsTab=r.openSettingsTab,t.schemaFetchingSuccess=r.schemaFetchingSuccess,t.schemaFetchingError=r.schemaFetchingError,t.setEndpointUnreachable=r.setEndpointUnreachable,t.renewStacks=r.renewStacks,t.runQuery=r.runQuery,t.prettifyQuery=r.prettifyQuery,t.fetchSchema=r.fetchSchema,t.updateQueryFacts=r.updateQueryFacts,t.runQueryAtPosition=r.runQueryAtPosition,t.toggleTracing=r.toggleTracing,t.toggleVariables=r.toggleVariables,t.newSession=r.newSession,t.newSessionFromQuery=r.newSessionFromQuery,t.newFileTab=r.newFileTab,t.closeTab=r.closeTab,t.closeSelectedTab=r.closeSelectedTab,t.editSettings=r.editSettings,t.saveSettings=r.saveSettings,t.editConfig=r.editConfig,t.saveConfig=r.saveConfig,t.editFile=r.editFile,t.saveFile=r.saveFile,t.selectTab=r.selectTab,t.selectTabIndex=r.selectTabIndex,t.selectNextTab=r.selectNextTab,t.selectPrevTab=r.selectPrevTab,t.duplicateSession=r.duplicateSession,t.querySuccess=r.querySuccess,t.queryError=r.queryError,t.setSubscriptionActive=r.setSubscriptionActive,t.setQueryTypes=r.setQueryTypes,t.injectHeaders=r.injectHeaders,t.openConfigTab=r.openConfigTab,t.editName=r.editName,t.setResponseExtensions=r.setResponseExtensions,t.setCurrentQueryStartTime=r.setCurrentQueryStartTime,t.setCurrentQueryEndTime=r.setCurrentQueryEndTime,t.refetchSchema=r.refetchSchema,t.setScrollTop=r.setScrollTop,t.reorderTabs=r.reorderTabs},function(e,t,n){\"use strict\";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n1&&l>1&&r[c-1]===i[l-2]&&r[c-2]===i[l-1]&&(n[c][l]=Math.min(n[c][l],n[c-2][l-2]+p))}return n[o][a]}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(e){return void 0===e||e!==e}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"e\",(function(){return s})),n.d(t,\"b\",(function(){return p})),n.d(t,\"a\",(function(){return d})),n.d(t,\"d\",(function(){return h})),n.d(t,\"c\",(function(){return m}));var r=\"function\"===typeof Symbol?Symbol:void 0,i=r&&r.iterator,o=i||\"@@iterator\";function a(e){var t=null!=e&&e.length;return\"number\"===typeof t&&t>=0&&t%1===0}function s(e){return Object(e)===e&&(a(e)||function(e){return!!c(e)}(e))}function u(e){var t=c(e);if(t)return t.call(e)}function c(e){if(null!=e){var t=i&&e[i]||e[\"@@iterator\"];if(\"function\"===typeof t)return t}}function l(e){this._o=e,this._i=0}function p(e,t,n){if(null!=e){if(\"function\"===typeof e.forEach)return e.forEach(t,n);var r=0,i=u(e);if(i){for(var o;!(o=i.next()).done;)if(t.call(n,o.value,r++,e),r>9999999)throw new TypeError(\"Near-infinite iteration.\")}else if(a(e))for(;r=this._o.length?(this._o=void 0,{value:void 0,done:!0}):{value:this._o[this._i++],done:!1}};var f=r&&r.asyncIterator,d=f||\"@@asyncIterator\";function h(e){return!!g(e)}function m(e){var t=g(e);if(t)return t.call(e)}function g(e){if(null!=e){var t=f&&e[f]||e[\"@@asyncIterator\"];if(\"function\"===typeof t)return t}}function y(e){this._i=e}function v(e,t,n){var r;return new Promise((function(i){i((r=e[t](n)).value)})).then((function(e){return{value:e,done:r.done}}))}y.prototype[d]=function(){return this},y.prototype.next=function(e){return v(this._i,\"next\",e)},y.prototype.return=function(e){return this._i.return?v(this._i,\"return\",e):Promise.resolve({value:e,done:!0})},y.prototype.throw=function(e){return this._i.throw?v(this._i,\"throw\",e):Promise.reject(e)}},function(e,t,n){\"use strict\";function r(e){\"function\"===typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(95);function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,r.a&&(e.prototype[r.a]=t)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(4);function i(e,t,n){return new r.a(\"Syntax Error: \".concat(n),void 0,e,[t])}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"combineActions\",(function(){return p})),n.d(t,\"createAction\",(function(){return h})),n.d(t,\"createActions\",(function(){return F})),n.d(t,\"createCurriedAction\",(function(){return P})),n.d(t,\"handleAction\",(function(){return R})),n.d(t,\"handleActions\",(function(){return z}));var r=n(37),i=n.n(r),o=function(e){return\"function\"===typeof e},a=function(e){return 0===e.length},s=function(e){return e.toString()},u=function(e){return\"string\"===typeof e};function c(e){return u(e)||o(e)||(\"symbol\"===typeof(t=e)||\"object\"===typeof t&&\"[object Symbol]\"===Object.prototype.toString.call(t));var t}function l(e){return!a(e)&&e.every(c)}function p(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),i=1;i1?t-1:0),r=1;r2?n-2:0),a=2;a0&&a(t[0]);)t.shift();for(;t.length>0&&a(t[t.length-1]);)t.pop();return t.join(\"\\n\")}function i(e){for(var t=null,n=1;n1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf(\"\\n\"),i=\" \"===e[0]||\"\\t\"===e[0],o='\"'===e[e.length-1],a=!r||o||n,s=\"\";return!a||r&&i||(s+=\"\\n\"+t),s+=t?e.replace(/\\n/g,\"\\n\"+t):e,a&&(s+=\"\\n\"),'\"\"\"'+s.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'}n.d(t,\"a\",(function(){return r})),n.d(t,\"b\",(function(){return i})),n.d(t,\"c\",(function(){return s}))},function(e,t,n){\"use strict\";var r=Array.prototype.find?function(e,t){return Array.prototype.find.call(e,t)}:function(e,t){for(var n=0;n=0||(i[n]=e[n]);return i}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"ApolloLink\",(function(){return b})),n.d(t,\"concat\",(function(){return v})),n.d(t,\"createOperation\",(function(){return f})),n.d(t,\"empty\",(function(){return m})),n.d(t,\"execute\",(function(){return E})),n.d(t,\"from\",(function(){return g})),n.d(t,\"fromError\",(function(){return p})),n.d(t,\"fromPromise\",(function(){return l})),n.d(t,\"makePromise\",(function(){return c})),n.d(t,\"split\",(function(){return y})),n.d(t,\"toPromise\",(function(){return u}));var r=n(40);n.d(t,\"Observable\",(function(){return r.a}));var i=n(26),o=n(17),a=n(114);n.d(t,\"getOperationName\",(function(){return a.a}));!function(e){function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}Object(o.b)(t,e)}(Error);function s(e){return e.request.length<=1}function u(e){var t=!1;return new Promise((function(n,r){e.subscribe({next:function(e){t||(t=!0,n(e))},error:r})}))}var c=u;function l(e){return new r.a((function(t){e.then((function(e){t.next(e),t.complete()})).catch(t.error.bind(t))}))}function p(e){return new r.a((function(t){t.error(e)}))}function f(e,t){var n=Object(o.a)({},e);return Object.defineProperty(t,\"setContext\",{enumerable:!1,value:function(e){n=\"function\"===typeof e?Object(o.a)({},n,e(n)):Object(o.a)({},n,e)}}),Object.defineProperty(t,\"getContext\",{enumerable:!1,value:function(){return Object(o.a)({},n)}}),Object.defineProperty(t,\"toKey\",{enumerable:!1,value:function(){return function(e){var t=e.query,n=e.variables,r=e.operationName;return JSON.stringify([r,t,n])}(t)}}),t}function d(e,t){return t?t(e):r.a.of()}function h(e){return\"function\"===typeof e?new b(e):e}function m(){return new b((function(){return r.a.of()}))}function g(e){return 0===e.length?m():e.map(h).reduce((function(e,t){return e.concat(t)}))}function y(e,t,n){var i=h(t),o=h(n||new b(d));return s(i)&&s(o)?new b((function(t){return e(t)?i.request(t)||r.a.of():o.request(t)||r.a.of()})):new b((function(t,n){return e(t)?i.request(t,n)||r.a.of():o.request(t,n)||r.a.of()}))}var v=function(e,t){var n=h(e);if(s(n))return n;var i=h(t);return s(i)?new b((function(e){return n.request(e,(function(e){return i.request(e)||r.a.of()}))||r.a.of()})):new b((function(e,t){return n.request(e,(function(e){return i.request(e,t)||r.a.of()}))||r.a.of()}))},b=function(){function e(e){e&&(this.request=e)}return e.prototype.split=function(t,n,r){return this.concat(y(t,n,r||new e(d)))},e.prototype.concat=function(e){return v(this,e)},e.prototype.request=function(e,t){throw new i.a(1)},e.empty=m,e.from=g,e.split=y,e.execute=E,e}();function E(e,t){return e.request(f(t.context,function(e){var t={variables:e.variables||{},extensions:e.extensions||{},operationName:e.operationName,query:e.query};return t.operationName||(t.operationName=\"string\"!==typeof t.query?Object(a.a)(t.query):\"\"),t}(function(e){for(var t=[\"query\",\"operationName\",\"variables\",\"extensions\",\"context\"],n=0,r=Object.keys(e);n=0;c--)if(l[c]!==p[c])return!1;for(c=l.length-1;c>=0;c--)if(s=l[c],!b(e[s],t[s],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function E(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function x(e,t){if(!e||!t)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(n){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function D(e,t,n,r){var i;if(\"function\"!==typeof t)throw new TypeError('\"block\" argument must be a function');\"string\"===typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(n){t=n}return t}(t),r=(n&&n.name?\" (\"+n.name+\").\":\".\")+(r?\" \"+r:\".\"),e&&!i&&y(i,n,\"Missing expected exception\"+r);var o=\"string\"===typeof r,s=!e&&i&&!n;if((!e&&a.isError(i)&&o&&x(i,n)||s)&&y(i,n,\"Got unwanted exception\"+r),e&&i&&n&&!x(i,n)||!e&&i)throw i}f.AssertionError=function(e){this.name=\"AssertionError\",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return m(g(e.actual),128)+\" \"+e.operator+\" \"+m(g(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=h(t),o=r.indexOf(\"\\n\"+i);if(o>=0){var a=r.indexOf(\"\\n\",o+1);r=r.substring(a+1)}this.stack=r}}},a.inherits(f.AssertionError,Error),f.fail=y,f.ok=v,f.equal=function(e,t,n){e!=t&&y(e,t,n,\"==\",f.equal)},f.notEqual=function(e,t,n){e==t&&y(e,t,n,\"!=\",f.notEqual)},f.deepEqual=function(e,t,n){b(e,t,!1)||y(e,t,n,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(e,t,n){b(e,t,!0)||y(e,t,n,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(e,t,n){b(e,t,!1)&&y(e,t,n,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&y(t,n,r,\"notDeepStrictEqual\",e)},f.strictEqual=function(e,t,n){e!==t&&y(e,t,n,\"===\",f.strictEqual)},f.notStrictEqual=function(e,t,n){e===t&&y(e,t,n,\"!==\",f.notStrictEqual)},f.throws=function(e,t,n){D(!0,e,t,n)},f.doesNotThrow=function(e,t,n){D(!1,e,t,n)},f.ifError=function(e){if(e)throw e},f.strict=r((function e(t,n){t||y(t,!0,n,\"==\",e)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var C=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}}).call(this,n(41))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return f})),n.d(t,\"c\",(function(){return d})),n.d(t,\"b\",(function(){return h}));var r=n(2),i=n(8),o=n(47),a=n(48),s=n(1),u=n(82),c=n(97),l=n(11),p=n(5);function f(e,t){return new m(e,t).parseDocument()}function d(e,t){var n=new m(e,t);n.expectToken(p.a.SOF);var r=n.parseValueLiteral(!1);return n.expectToken(p.a.EOF),r}function h(e,t){var n=new m(e,t);n.expectToken(p.a.SOF);var r=n.parseTypeReference();return n.expectToken(p.a.EOF),r}var m=function(){function e(e,t){var n=\"string\"===typeof e?new u.a(e):e;n instanceof u.a||Object(i.a)(0,\"Must provide Source. Received: \".concat(Object(r.a)(n))),this._lexer=Object(c.a)(n),this._options=t||{}}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(p.a.NAME);return{kind:s.a.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:s.a.DOCUMENT,definitions:this.many(p.a.SOF,this.parseDefinition,p.a.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(p.a.NAME))switch(this._lexer.token.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return this.parseTypeSystemDefinition();case\"extend\":return this.parseTypeSystemExtension()}else{if(this.peek(p.a.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(p.a.BRACE_L))return{kind:s.a.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(p.a.NAME)&&(t=this.parseName()),{kind:s.a.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(p.a.NAME);switch(e.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(p.a.PAREN_L,this.parseVariableDefinition,p.a.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:s.a.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(p.a.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(p.a.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(p.a.DOLLAR),{kind:s.a.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:s.a.SELECTION_SET,selections:this.many(p.a.BRACE_L,this.parseSelection,p.a.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(p.a.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(p.a.COLON)?(e=r,t=this.parseName()):t=r,{kind:s.a.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(p.a.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(p.a.PAREN_L,t,p.a.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(p.a.COLON),{kind:s.a.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:s.a.ARGUMENT,name:this.parseName(),value:(this.expectToken(p.a.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(p.a.SPREAD);var t=this.expectOptionalKeyword(\"on\");return!t&&this.peek(p.a.NAME)?{kind:s.a.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:s.a.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword(\"fragment\"),this._options.experimentalFragmentVariables?{kind:s.a.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:s.a.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentName=function(){if(\"on\"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case p.a.BRACKET_L:return this.parseList(e);case p.a.BRACE_L:return this.parseObject(e);case p.a.INT:return this._lexer.advance(),{kind:s.a.INT,value:t.value,loc:this.loc(t)};case p.a.FLOAT:return this._lexer.advance(),{kind:s.a.FLOAT,value:t.value,loc:this.loc(t)};case p.a.STRING:case p.a.BLOCK_STRING:return this.parseStringLiteral();case p.a.NAME:return\"true\"===t.value||\"false\"===t.value?(this._lexer.advance(),{kind:s.a.BOOLEAN,value:\"true\"===t.value,loc:this.loc(t)}):\"null\"===t.value?(this._lexer.advance(),{kind:s.a.NULL,loc:this.loc(t)}):(this._lexer.advance(),{kind:s.a.ENUM,value:t.value,loc:this.loc(t)});case p.a.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:s.a.STRING,value:e.value,block:e.kind===p.a.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:s.a.LIST,values:this.any(p.a.BRACKET_L,(function(){return t.parseValueLiteral(e)}),p.a.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:s.a.OBJECT,fields:this.any(p.a.BRACE_L,(function(){return t.parseObjectField(e)}),p.a.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(p.a.COLON),{kind:s.a.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(p.a.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(p.a.AT),{kind:s.a.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(p.a.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(p.a.BRACKET_R),e={kind:s.a.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(p.a.BANG)?{kind:s.a.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:s.a.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===p.a.NAME)switch(e.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(p.a.STRING)||this.peek(p.a.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),n=this.many(p.a.BRACE_L,this.parseOperationTypeDefinition,p.a.BRACE_R);return{kind:s.a.SCHEMA_DEFINITION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(p.a.COLON);var n=this.parseNamedType();return{kind:s.a.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"scalar\");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:s.a.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"type\");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:s.a.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:o,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword(\"implements\")){this.expectOptionalToken(p.a.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(p.a.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(p.a.NAME))}return e},t.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(p.a.BRACE_L)&&this._lexer.lookahead().kind===p.a.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(p.a.BRACE_L,this.parseFieldDefinition,p.a.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(p.a.COLON);var i=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:s.a.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:o,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(p.a.PAREN_L,this.parseInputValueDef,p.a.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(p.a.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(p.a.EQUALS)&&(r=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:s.a.INPUT_VALUE_DEFINITION,description:t,name:n,type:i,defaultValue:r,directives:o,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"interface\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();return{kind:s.a.INTERFACE_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"union\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:s.a.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(p.a.EQUALS)){this.expectOptionalToken(p.a.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(p.a.PIPE))}return e},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"enum\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:s.a.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(p.a.BRACE_L,this.parseEnumValueDefinition,p.a.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:s.a.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"input\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:s.a.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(p.a.BRACE_L,this.parseInputValueDef,p.a.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===p.a.NAME)switch(e.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),n=this.optionalMany(p.a.BRACE_L,this.parseOperationTypeDefinition,p.a.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:s.a.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"scalar\");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:s.a.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"type\");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:s.a.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"interface\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.INTERFACE_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"union\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"enum\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"input\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"directive\"),this.expectToken(p.a.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");var o=this.parseDirectiveLocations();return{kind:s.a.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:o,loc:this.loc(e)}},t.parseDirectiveLocations=function(){this.expectOptionalToken(p.a.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(p.a.PIPE));return e},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==l.a[t.value])return t;throw this.unexpected(e)},t.loc=function(e){if(!this._options.noLocation)return new g(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw Object(a.a)(this._lexer.source,t.start,\"Expected \".concat(e,\", found \").concat(y(t)))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==p.a.NAME||t.value!==e)throw Object(a.a)(this._lexer.source,t.start,'Expected \"'.concat(e,'\", found ').concat(y(t)));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===p.a.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=e||this._lexer.token;return Object(a.a)(this._lexer.source,t.start,\"Unexpected \".concat(y(t)))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r},e}();function g(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function y(e){var t=e.value;return t?\"\".concat(e.kind,' \"').concat(t,'\"'):e.kind}Object(o.a)(g,(function(){return{start:this.start,end:this.end}}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return u}));var r=n(57),i=n(1),o=n(0),a=n(12),s=n(31),u=function(){function e(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=t||c,n&&(Object(o.G)(n)&&this._inputTypeStack.push(n),Object(o.D)(n)&&this._parentTypeStack.push(n),Object(o.O)(n)&&this._typeStack.push(n))}var t=e.prototype;return t.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},t.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},t.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},t.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},t.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},t.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},t.getDirective=function(){return this._directive},t.getArgument=function(){return this._argument},t.getEnumValue=function(){return this._enumValue},t.enter=function(e){var t=this._schema;switch(e.kind){case i.a.SELECTION_SET:var n=Object(o.A)(this.getType());this._parentTypeStack.push(Object(o.D)(n)?n:void 0);break;case i.a.FIELD:var a,u,c=this.getParentType();c&&(a=this._getFieldDef(t,c,e))&&(u=a.type),this._fieldDefStack.push(a),this._typeStack.push(Object(o.O)(u)?u:void 0);break;case i.a.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case i.a.OPERATION_DEFINITION:var l;\"query\"===e.operation?l=t.getQueryType():\"mutation\"===e.operation?l=t.getMutationType():\"subscription\"===e.operation&&(l=t.getSubscriptionType()),this._typeStack.push(Object(o.N)(l)?l:void 0);break;case i.a.INLINE_FRAGMENT:case i.a.FRAGMENT_DEFINITION:var p=e.typeCondition,f=p?Object(s.a)(t,p):Object(o.A)(this.getType());this._typeStack.push(Object(o.O)(f)?f:void 0);break;case i.a.VARIABLE_DEFINITION:var d=Object(s.a)(t,e.type);this._inputTypeStack.push(Object(o.G)(d)?d:void 0);break;case i.a.ARGUMENT:var h,m,g=this.getDirective()||this.getFieldDef();g&&(h=Object(r.a)(g.args,(function(t){return t.name===e.name.value})))&&(m=h.type),this._argument=h,this._defaultValueStack.push(h?h.defaultValue:void 0),this._inputTypeStack.push(Object(o.G)(m)?m:void 0);break;case i.a.LIST:var y=Object(o.B)(this.getInputType()),v=Object(o.J)(y)?y.ofType:y;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Object(o.G)(v)?v:void 0);break;case i.a.OBJECT_FIELD:var b,E,x=Object(o.A)(this.getInputType());Object(o.F)(x)&&(E=x.getFields()[e.name.value])&&(b=E.type),this._defaultValueStack.push(E?E.defaultValue:void 0),this._inputTypeStack.push(Object(o.G)(b)?b:void 0);break;case i.a.ENUM:var D,C=Object(o.A)(this.getInputType());Object(o.E)(C)&&(D=C.getValue(e.value)),this._enumValue=D}},t.leave=function(e){switch(e.kind){case i.a.SELECTION_SET:this._parentTypeStack.pop();break;case i.a.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case i.a.DIRECTIVE:this._directive=null;break;case i.a.OPERATION_DEFINITION:case i.a.INLINE_FRAGMENT:case i.a.FRAGMENT_DEFINITION:this._typeStack.pop();break;case i.a.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case i.a.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case i.a.LIST:case i.a.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case i.a.ENUM:this._enumValue=null}},e}();function c(e,t,n){var r=n.name.value;return r===a.SchemaMetaFieldDef.name&&e.getQueryType()===t?a.SchemaMetaFieldDef:r===a.TypeMetaFieldDef.name&&e.getQueryType()===t?a.TypeMetaFieldDef:r===a.TypeNameMetaFieldDef.name&&Object(o.D)(t)?a.TypeNameMetaFieldDef:Object(o.N)(t)||Object(o.H)(t)?t.getFields()[r]:void 0}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(84),i=n(18),o=n(158),a=n(32);t.columnWidth=300,t.introspectionQuery=i.getIntrospectionQuery(),t.defaultQuery=\"# Write your query or mutation here\\n\",t.modalStyle={overlay:{zIndex:99999,backgroundColor:\"rgba(15,32,46,.9)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},content:{position:\"relative\",width:976,height:\"auto\",top:\"initial\",left:\"initial\",right:\"initial\",bottom:\"initial\",borderRadius:2,padding:0,border:\"none\",background:\"none\",boxShadow:\"0 1px 7px rgba(0,0,0,.2)\"}},t.getDefaultSession=function(e){return{id:r(),query:t.defaultQuery,variables:\"\",responses:a.List([]),endpoint:e,operationName:void 0,hasMutation:!1,hasSubscription:!1,hasQuery:!1,queryTypes:o.getQueryTypes(t.defaultQuery),subscriptionActive:!1,date:new Date,starred:!1,queryRunning:!1,operations:a.List([]),isReloadingSchema:!1,isSchemaPendingUpdate:!1,responseExtensions:{},queryVariablesActive:!1,endpointUnreachable:!1,editorFlex:1,variableEditorOpen:!1,variableEditorHeight:200,responseTracingOpen:!1,responseTracingHeight:300,docExplorerWidth:350,variableToType:a.Map({}),headers:\"\",file:void 0,isFile:!1,name:void 0,filePath:void 0,selectedUserToken:void 0,hasChanged:void 0,absolutePath:void 0,isSettingsTab:void 0,isConfigTab:void 0,currentQueryStartTime:void 0,currentQueryEndTime:void 0,nextQueryStartTime:void 0,tracingSupported:void 0,changed:void 0,scrollTop:void 0}}},function(e,t,n){\"use strict\";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},i=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,\"__esModule\",{value:!0});var o,a,s,u=n(3),c=n(9),l=c.styled.div(o||(o=r([\"\\n /* Comment */\\n .cm-comment {\\n color: \",\";\\n }\\n\\n /* Punctuation */\\n .cm-punctuation {\\n color: \",\";\\n }\\n\\n /* Proppery */\\n .cm-property {\\n color: \",\";\\n }\\n\\n /* Keyword */\\n .cm-keyword {\\n color: \",\";\\n }\\n\\n /* OperationName, FragmentName */\\n .cm-def {\\n color: \",\";\\n }\\n\\n /* FieldAlias */\\n .cm-qualifier {\\n color: \",\";\\n }\\n\\n /* ArgumentName and ObjectFieldName */\\n .cm-attribute {\\n color: \",\";\\n }\\n\\n /* Number */\\n .cm-number {\\n color: \",\";\\n }\\n\\n /* String */\\n .cm-string {\\n color: \",\";\\n }\\n\\n /* Boolean */\\n .cm-builtin {\\n color: \",\";\\n }\\n\\n /* EnumValue */\\n .cm-string-2 {\\n color: \",\";\\n }\\n\\n /* Variable */\\n .cm-variable {\\n color: \",\";\\n }\\n\\n /* Directive */\\n .cm-meta {\\n color: \",\";\\n }\\n\\n /* Type */\\n .cm-atom {\\n color: \",\";\\n }\\n\\n /* Comma */\\n .cm-ws {\\n color: \",\";\\n }\\n position: relative;\\n display: flex;\\n flex: 1 1 0%;\\n flex-flow: column;\\n\\n .CodeMirror {\\n color: rgba(255, 255, 255, 0.3);\\n font-family: \",\";\\n font-size: \",\";\\n height: 100%;\\n left: 0;\\n position: absolute;\\n top: 0;\\n width: 100%;\\n }\\n\\n .CodeMirror-lines {\\n padding: 20px 0;\\n }\\n\\n .CodeMirror-gutters {\\n border-right: none;\\n }\\n\\n .CodeMirror span[role='presentation'] {\\n color: \",\";\\n }\\n\\n /* CURSOR */\\n\\n .CodeMirror div.CodeMirror-cursor {\\n background: \",\";\\n border-left: \",\";\\n border-bottom: \",\";\\n }\\n /* Shown when moving in bi-directional text */\\n .CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver;\\n }\\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\\n background: rgba(255, 255, 255, 0.6);\\n color: white;\\n border: 0;\\n width: auto;\\n }\\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1;\\n }\\n\\n .cm-animate-fat-cursor {\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n border: 0;\\n width: auto;\\n }\\n @-webkit-keyframes blink {\\n 0% {\\n background: #7e7;\\n }\\n 50% {\\n background: none;\\n }\\n 100% {\\n background: #7e7;\\n }\\n }\\n @keyframes blink {\\n 0% {\\n background: #7e7;\\n }\\n 50% {\\n background: none;\\n }\\n 100% {\\n background: #7e7;\\n }\\n }\\n\\n .CodeMirror-foldmarker {\\n border-radius: 4px;\\n background: #08f;\\n background: linear-gradient(#43a8ff, #0f83e8);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\\n color: white;\\n font-family: arial;\\n font-size: 12px;\\n line-height: 0;\\n margin: 0 3px;\\n padding: 0px 4px 1px;\\n text-shadow: 0 -1px rgba(0, 0, 0, 0.1);\\n }\\n\\n div.CodeMirror span.CodeMirror-matchingbracket {\\n /* color: rgba(255, 255, 255, 0.4); */\\n text-decoration: underline;\\n }\\n\\n div.CodeMirror span.CodeMirror-nonmatchingbracket {\\n color: rgb(242, 92, 84);\\n }\\n\\n .toolbar-button {\\n background: #fdfdfd;\\n background: linear-gradient(#fbfbfb, #f8f8f8);\\n border-color: #d3d3d3 #d0d0d0 #bababa;\\n border-radius: 4px;\\n border-style: solid;\\n border-width: 0.5px;\\n box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.13), inset 0 1px #fff;\\n color: #444;\\n cursor: pointer;\\n display: inline-block;\\n margin: 0 5px 0;\\n padding: 2px 8px 4px;\\n text-decoration: none;\\n }\\n .toolbar-button:active {\\n background: linear-gradient(#ececec, #d8d8d8);\\n border-color: #cacaca #c9c9c9 #b0b0b0;\\n box-shadow: 0 1px 0 #fff, inset 0 1px rgba(255, 255, 255, 0.2),\\n inset 0 1px 1px rgba(0, 0, 0, 0.08);\\n }\\n .toolbar-button.error {\\n background: linear-gradient(#fdf3f3, #e6d6d7);\\n color: #b00;\\n }\\n\\n .autoInsertedLeaf.cm-property {\\n -webkit-animation-duration: 6s;\\n animation-duration: 6s;\\n -webkit-animation-name: insertionFade;\\n animation-name: insertionFade;\\n border-bottom: 2px solid rgba(255, 255, 255, 0);\\n border-radius: 2px;\\n margin: -2px -4px -1px;\\n padding: 2px 4px 1px;\\n }\\n\\n @-webkit-keyframes insertionFade {\\n from,\\n to {\\n background: rgba(255, 255, 255, 0);\\n border-color: rgba(255, 255, 255, 0);\\n }\\n\\n 15%,\\n 85% {\\n background: #fbffc9;\\n border-color: #f0f3c0;\\n }\\n }\\n\\n @keyframes insertionFade {\\n from,\\n to {\\n background: rgba(255, 255, 255, 0);\\n border-color: rgba(255, 255, 255, 0);\\n }\\n\\n 15%,\\n 85% {\\n background: #fbffc9;\\n border-color: #f0f3c0;\\n }\\n }\\n\\n .CodeMirror pre {\\n padding: 0 4px; /* Horizontal padding of content */\\n }\\n\\n .CodeMirror-scrollbar-filler,\\n .CodeMirror-gutter-filler {\\n background-color: white; /* The little square between H and V scrollbars */\\n }\\n\\n /* GUTTER */\\n\\n .CodeMirror-gutters {\\n background-color: transparent;\\n border: none;\\n white-space: nowrap;\\n }\\n .CodeMirror-linenumbers {\\n background: \",\";\\n }\\n .CodeMirror-linenumber {\\n font-family: Open Sans, sans-serif;\\n font-weight: 600;\\n font-size: \",\";\\n color: \",\";\\n min-width: 20px;\\n padding: 0 3px 0 5px;\\n text-align: right;\\n white-space: nowrap;\\n }\\n\\n .CodeMirror-guttermarker {\\n color: black;\\n }\\n .CodeMirror-guttermarker-subtle {\\n color: #999;\\n }\\n\\n .cm-tab {\\n display: inline-block;\\n text-decoration: inherit;\\n }\\n\\n .CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n position: absolute;\\n }\\n .cm-negative {\\n color: #d44;\\n }\\n .cm-positive {\\n color: #292;\\n }\\n .cm-header,\\n .cm-strong {\\n font-weight: bold;\\n }\\n .cm-em {\\n font-style: italic;\\n }\\n .cm-link {\\n text-decoration: underline;\\n }\\n .cm-strikethrough {\\n text-decoration: line-through;\\n }\\n\\n .cm-s-default .cm-error {\\n color: #f00;\\n }\\n .cm-invalidchar {\\n color: #f00;\\n }\\n\\n .CodeMirror-composing {\\n border-bottom: 2px solid;\\n }\\n .CodeMirror-matchingtag {\\n background: rgba(255, 150, 0, 0.3);\\n }\\n .CodeMirror-activeline-background {\\n background: #e8f2ff;\\n }\\n\\n /* The rest of this file contains styles related to the mechanics of\\n the editor. You probably shouldn't touch them. */\\n\\n .CodeMirror {\\n background: white;\\n overflow: hidden;\\n line-height: 1.6;\\n }\\n\\n .CodeMirror-scroll {\\n height: 100%;\\n /* 30px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n /* margin-bottom: -30px;\\n margin-right: -30px; */\\n outline: none; /* Prevent dragging from highlighting the element */\\n overflow: hidden;\\n /* padding-bottom: 30px; */\\n position: relative;\\n &:hover {\\n overflow: scroll !important;\\n }\\n }\\n .CodeMirror-sizer {\\n border-right: 30px solid transparent;\\n position: relative;\\n }\\n\\n /* The fake, visible scrollbars. Used to force redraw during scrolling\\n before actual scrolling happens, thus preventing shaking and\\n flickering artifacts. */\\n .CodeMirror-vscrollbar,\\n .CodeMirror-hscrollbar,\\n .CodeMirror-scrollbar-filler,\\n .CodeMirror-gutter-filler {\\n display: none !important;\\n position: absolute;\\n z-index: 6;\\n }\\n .CodeMirror-vscrollbar {\\n overflow-x: hidden;\\n overflow-y: scroll;\\n right: 0;\\n top: 0;\\n }\\n .CodeMirror-hscrollbar {\\n bottom: 0;\\n left: 0;\\n overflow-x: scroll;\\n overflow-y: hidden;\\n }\\n .CodeMirror-scrollbar-filler {\\n right: 0;\\n bottom: 0;\\n }\\n .CodeMirror-gutter-filler {\\n left: 0;\\n bottom: 0;\\n }\\n\\n .CodeMirror-gutters {\\n min-height: 100%;\\n position: absolute;\\n left: 0;\\n top: 0;\\n z-index: 3;\\n margin-left: 3px;\\n }\\n .CodeMirror-gutter {\\n display: inline-block;\\n height: 100%;\\n margin-bottom: -30px;\\n vertical-align: top;\\n white-space: normal;\\n /* Hack to make IE7 behave */\\n *zoom: 1;\\n *display: inline;\\n }\\n .CodeMirror-gutter-wrapper {\\n background: none !important;\\n border: none !important;\\n position: absolute;\\n z-index: 4;\\n }\\n .CodeMirror-gutter-background {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n z-index: 4;\\n }\\n .CodeMirror-gutter-elt {\\n cursor: default;\\n position: absolute;\\n z-index: 4;\\n }\\n .CodeMirror-gutter-wrapper {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n }\\n\\n .CodeMirror-lines {\\n cursor: text;\\n min-height: 1px; /* prevents collapsing before first draw */\\n }\\n .CodeMirror pre {\\n -webkit-tap-highlight-color: transparent;\\n /* Reset some styles that the rest of the page might have set */\\n background: transparent;\\n border-radius: 0;\\n border-width: 0;\\n color: inherit;\\n font-family: inherit;\\n font-size: inherit;\\n -webkit-font-variant-ligatures: none;\\n font-variant-ligatures: none;\\n line-height: inherit;\\n margin: 0;\\n overflow: visible;\\n position: relative;\\n white-space: pre;\\n word-wrap: normal;\\n z-index: 2;\\n }\\n .CodeMirror-wrap pre {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal;\\n }\\n\\n .CodeMirror-linebackground {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n z-index: 0;\\n }\\n\\n .CodeMirror-linewidget {\\n overflow: auto;\\n position: relative;\\n z-index: 2;\\n }\\n\\n .CodeMirror-widget {\\n }\\n\\n .CodeMirror-code {\\n outline: none;\\n }\\n\\n /* Force content-box sizing for the elements where we expect it */\\n .CodeMirror-scroll,\\n .CodeMirror-sizer,\\n .CodeMirror-gutter,\\n .CodeMirror-gutters,\\n .CodeMirror-linenumber {\\n box-sizing: content-box;\\n }\\n\\n .CodeMirror-measure {\\n height: 0;\\n overflow: hidden;\\n position: absolute;\\n visibility: hidden;\\n width: 100%;\\n }\\n\\n .CodeMirror-cursor {\\n position: absolute;\\n }\\n .CodeMirror-measure pre {\\n position: static;\\n }\\n\\n div.CodeMirror-cursors {\\n position: relative;\\n visibility: hidden;\\n z-index: 3;\\n }\\n div.CodeMirror-dragcursors {\\n visibility: visible;\\n }\\n\\n .CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible;\\n }\\n\\n .CodeMirror-selected {\\n background: \",\";\\n }\\n .CodeMirror-focused .CodeMirror-selected {\\n background: \",\";\\n }\\n .CodeMirror-crosshair {\\n cursor: crosshair;\\n }\\n .CodeMirror-line::-moz-selection,\\n .CodeMirror-line > span::-moz-selection,\\n .CodeMirror-line > span > span::-moz-selection {\\n background: \",\";\\n }\\n .CodeMirror-line::selection,\\n .CodeMirror-line > span::selection,\\n .CodeMirror-line > span > span::selection {\\n background: \",\";\\n }\\n .CodeMirror-line::-moz-selection,\\n .CodeMirror-line > span::-moz-selection,\\n .CodeMirror-line > span > span::-moz-selection {\\n background: \",\";\\n }\\n\\n .cm-searching {\\n background: #ffa;\\n background: rgba(255, 255, 0, 0.4);\\n }\\n\\n /* IE7 hack to prevent it from returning funny offsetTops on the spans */\\n .CodeMirror span {\\n *vertical-align: text-bottom;\\n }\\n\\n /* Used to force a border model for a node */\\n .cm-force-border {\\n padding-right: 0.1px;\\n }\\n\\n @media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden;\\n }\\n }\\n\\n /* See issue #2901 */\\n .cm-tab-wrap-hack:after {\\n content: '';\\n }\\n\\n /* Help users use markselection to safely style text background */\\n span.CodeMirror-selectedtext {\\n background: none;\\n }\\n\\n .CodeMirror-dialog {\\n background: inherit;\\n color: inherit;\\n left: 0;\\n right: 0;\\n overflow: hidden;\\n padding: 0.1em 0.8em;\\n position: absolute;\\n z-index: 15;\\n }\\n\\n .CodeMirror-dialog-top {\\n border-bottom: 1px solid #eee;\\n top: 0;\\n }\\n\\n .CodeMirror-dialog-bottom {\\n border-top: 1px solid #eee;\\n bottom: 0;\\n }\\n\\n .CodeMirror-dialog input {\\n background: transparent;\\n border: 1px solid #d3d6db;\\n color: inherit;\\n font-family: monospace;\\n outline: none;\\n width: 20em;\\n }\\n\\n .CodeMirror-dialog button {\\n font-size: 70%;\\n }\\n\\n .CodeMirror-foldgutter {\\n width: 0.7em;\\n }\\n .CodeMirror-foldgutter-open,\\n .CodeMirror-foldgutter-folded {\\n cursor: pointer;\\n }\\n .CodeMirror-foldgutter-open:after {\\n content: '\\u25be';\\n }\\n .CodeMirror-foldgutter-folded:after {\\n content: '\\u25b8';\\n }\\n /* The lint marker gutter */\\n .CodeMirror-lint-markers {\\n width: 16px;\\n }\\n\\n .CodeMirror-jump-token {\\n cursor: pointer;\\n text-decoration: underline;\\n }\\n\"],[\"\\n /* Comment */\\n .cm-comment {\\n color: \",\";\\n }\\n\\n /* Punctuation */\\n .cm-punctuation {\\n color: \",\";\\n }\\n\\n /* Proppery */\\n .cm-property {\\n color: \",\";\\n }\\n\\n /* Keyword */\\n .cm-keyword {\\n color: \",\";\\n }\\n\\n /* OperationName, FragmentName */\\n .cm-def {\\n color: \",\";\\n }\\n\\n /* FieldAlias */\\n .cm-qualifier {\\n color: \",\";\\n }\\n\\n /* ArgumentName and ObjectFieldName */\\n .cm-attribute {\\n color: \",\";\\n }\\n\\n /* Number */\\n .cm-number {\\n color: \",\";\\n }\\n\\n /* String */\\n .cm-string {\\n color: \",\";\\n }\\n\\n /* Boolean */\\n .cm-builtin {\\n color: \",\";\\n }\\n\\n /* EnumValue */\\n .cm-string-2 {\\n color: \",\";\\n }\\n\\n /* Variable */\\n .cm-variable {\\n color: \",\";\\n }\\n\\n /* Directive */\\n .cm-meta {\\n color: \",\";\\n }\\n\\n /* Type */\\n .cm-atom {\\n color: \",\";\\n }\\n\\n /* Comma */\\n .cm-ws {\\n color: \",\";\\n }\\n position: relative;\\n display: flex;\\n flex: 1 1 0%;\\n flex-flow: column;\\n\\n .CodeMirror {\\n color: rgba(255, 255, 255, 0.3);\\n font-family: \",\";\\n font-size: \",\";\\n height: 100%;\\n left: 0;\\n position: absolute;\\n top: 0;\\n width: 100%;\\n }\\n\\n .CodeMirror-lines {\\n padding: 20px 0;\\n }\\n\\n .CodeMirror-gutters {\\n border-right: none;\\n }\\n\\n .CodeMirror span[role='presentation'] {\\n color: \",\";\\n }\\n\\n /* CURSOR */\\n\\n .CodeMirror div.CodeMirror-cursor {\\n background: \",\";\\n border-left: \",\";\\n border-bottom: \",\";\\n }\\n /* Shown when moving in bi-directional text */\\n .CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver;\\n }\\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\\n background: rgba(255, 255, 255, 0.6);\\n color: white;\\n border: 0;\\n width: auto;\\n }\\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1;\\n }\\n\\n .cm-animate-fat-cursor {\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n border: 0;\\n width: auto;\\n }\\n @-webkit-keyframes blink {\\n 0% {\\n background: #7e7;\\n }\\n 50% {\\n background: none;\\n }\\n 100% {\\n background: #7e7;\\n }\\n }\\n @keyframes blink {\\n 0% {\\n background: #7e7;\\n }\\n 50% {\\n background: none;\\n }\\n 100% {\\n background: #7e7;\\n }\\n }\\n\\n .CodeMirror-foldmarker {\\n border-radius: 4px;\\n background: #08f;\\n background: linear-gradient(#43a8ff, #0f83e8);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\\n color: white;\\n font-family: arial;\\n font-size: 12px;\\n line-height: 0;\\n margin: 0 3px;\\n padding: 0px 4px 1px;\\n text-shadow: 0 -1px rgba(0, 0, 0, 0.1);\\n }\\n\\n div.CodeMirror span.CodeMirror-matchingbracket {\\n /* color: rgba(255, 255, 255, 0.4); */\\n text-decoration: underline;\\n }\\n\\n div.CodeMirror span.CodeMirror-nonmatchingbracket {\\n color: rgb(242, 92, 84);\\n }\\n\\n .toolbar-button {\\n background: #fdfdfd;\\n background: linear-gradient(#fbfbfb, #f8f8f8);\\n border-color: #d3d3d3 #d0d0d0 #bababa;\\n border-radius: 4px;\\n border-style: solid;\\n border-width: 0.5px;\\n box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.13), inset 0 1px #fff;\\n color: #444;\\n cursor: pointer;\\n display: inline-block;\\n margin: 0 5px 0;\\n padding: 2px 8px 4px;\\n text-decoration: none;\\n }\\n .toolbar-button:active {\\n background: linear-gradient(#ececec, #d8d8d8);\\n border-color: #cacaca #c9c9c9 #b0b0b0;\\n box-shadow: 0 1px 0 #fff, inset 0 1px rgba(255, 255, 255, 0.2),\\n inset 0 1px 1px rgba(0, 0, 0, 0.08);\\n }\\n .toolbar-button.error {\\n background: linear-gradient(#fdf3f3, #e6d6d7);\\n color: #b00;\\n }\\n\\n .autoInsertedLeaf.cm-property {\\n -webkit-animation-duration: 6s;\\n animation-duration: 6s;\\n -webkit-animation-name: insertionFade;\\n animation-name: insertionFade;\\n border-bottom: 2px solid rgba(255, 255, 255, 0);\\n border-radius: 2px;\\n margin: -2px -4px -1px;\\n padding: 2px 4px 1px;\\n }\\n\\n @-webkit-keyframes insertionFade {\\n from,\\n to {\\n background: rgba(255, 255, 255, 0);\\n border-color: rgba(255, 255, 255, 0);\\n }\\n\\n 15%,\\n 85% {\\n background: #fbffc9;\\n border-color: #f0f3c0;\\n }\\n }\\n\\n @keyframes insertionFade {\\n from,\\n to {\\n background: rgba(255, 255, 255, 0);\\n border-color: rgba(255, 255, 255, 0);\\n }\\n\\n 15%,\\n 85% {\\n background: #fbffc9;\\n border-color: #f0f3c0;\\n }\\n }\\n\\n .CodeMirror pre {\\n padding: 0 4px; /* Horizontal padding of content */\\n }\\n\\n .CodeMirror-scrollbar-filler,\\n .CodeMirror-gutter-filler {\\n background-color: white; /* The little square between H and V scrollbars */\\n }\\n\\n /* GUTTER */\\n\\n .CodeMirror-gutters {\\n background-color: transparent;\\n border: none;\\n white-space: nowrap;\\n }\\n .CodeMirror-linenumbers {\\n background: \",\";\\n }\\n .CodeMirror-linenumber {\\n font-family: Open Sans, sans-serif;\\n font-weight: 600;\\n font-size: \",\";\\n color: \",\";\\n min-width: 20px;\\n padding: 0 3px 0 5px;\\n text-align: right;\\n white-space: nowrap;\\n }\\n\\n .CodeMirror-guttermarker {\\n color: black;\\n }\\n .CodeMirror-guttermarker-subtle {\\n color: #999;\\n }\\n\\n .cm-tab {\\n display: inline-block;\\n text-decoration: inherit;\\n }\\n\\n .CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n position: absolute;\\n }\\n .cm-negative {\\n color: #d44;\\n }\\n .cm-positive {\\n color: #292;\\n }\\n .cm-header,\\n .cm-strong {\\n font-weight: bold;\\n }\\n .cm-em {\\n font-style: italic;\\n }\\n .cm-link {\\n text-decoration: underline;\\n }\\n .cm-strikethrough {\\n text-decoration: line-through;\\n }\\n\\n .cm-s-default .cm-error {\\n color: #f00;\\n }\\n .cm-invalidchar {\\n color: #f00;\\n }\\n\\n .CodeMirror-composing {\\n border-bottom: 2px solid;\\n }\\n .CodeMirror-matchingtag {\\n background: rgba(255, 150, 0, 0.3);\\n }\\n .CodeMirror-activeline-background {\\n background: #e8f2ff;\\n }\\n\\n /* The rest of this file contains styles related to the mechanics of\\n the editor. You probably shouldn't touch them. */\\n\\n .CodeMirror {\\n background: white;\\n overflow: hidden;\\n line-height: 1.6;\\n }\\n\\n .CodeMirror-scroll {\\n height: 100%;\\n /* 30px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n /* margin-bottom: -30px;\\n margin-right: -30px; */\\n outline: none; /* Prevent dragging from highlighting the element */\\n overflow: hidden;\\n /* padding-bottom: 30px; */\\n position: relative;\\n &:hover {\\n overflow: scroll !important;\\n }\\n }\\n .CodeMirror-sizer {\\n border-right: 30px solid transparent;\\n position: relative;\\n }\\n\\n /* The fake, visible scrollbars. Used to force redraw during scrolling\\n before actual scrolling happens, thus preventing shaking and\\n flickering artifacts. */\\n .CodeMirror-vscrollbar,\\n .CodeMirror-hscrollbar,\\n .CodeMirror-scrollbar-filler,\\n .CodeMirror-gutter-filler {\\n display: none !important;\\n position: absolute;\\n z-index: 6;\\n }\\n .CodeMirror-vscrollbar {\\n overflow-x: hidden;\\n overflow-y: scroll;\\n right: 0;\\n top: 0;\\n }\\n .CodeMirror-hscrollbar {\\n bottom: 0;\\n left: 0;\\n overflow-x: scroll;\\n overflow-y: hidden;\\n }\\n .CodeMirror-scrollbar-filler {\\n right: 0;\\n bottom: 0;\\n }\\n .CodeMirror-gutter-filler {\\n left: 0;\\n bottom: 0;\\n }\\n\\n .CodeMirror-gutters {\\n min-height: 100%;\\n position: absolute;\\n left: 0;\\n top: 0;\\n z-index: 3;\\n margin-left: 3px;\\n }\\n .CodeMirror-gutter {\\n display: inline-block;\\n height: 100%;\\n margin-bottom: -30px;\\n vertical-align: top;\\n white-space: normal;\\n /* Hack to make IE7 behave */\\n *zoom: 1;\\n *display: inline;\\n }\\n .CodeMirror-gutter-wrapper {\\n background: none !important;\\n border: none !important;\\n position: absolute;\\n z-index: 4;\\n }\\n .CodeMirror-gutter-background {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n z-index: 4;\\n }\\n .CodeMirror-gutter-elt {\\n cursor: default;\\n position: absolute;\\n z-index: 4;\\n }\\n .CodeMirror-gutter-wrapper {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n }\\n\\n .CodeMirror-lines {\\n cursor: text;\\n min-height: 1px; /* prevents collapsing before first draw */\\n }\\n .CodeMirror pre {\\n -webkit-tap-highlight-color: transparent;\\n /* Reset some styles that the rest of the page might have set */\\n background: transparent;\\n border-radius: 0;\\n border-width: 0;\\n color: inherit;\\n font-family: inherit;\\n font-size: inherit;\\n -webkit-font-variant-ligatures: none;\\n font-variant-ligatures: none;\\n line-height: inherit;\\n margin: 0;\\n overflow: visible;\\n position: relative;\\n white-space: pre;\\n word-wrap: normal;\\n z-index: 2;\\n }\\n .CodeMirror-wrap pre {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal;\\n }\\n\\n .CodeMirror-linebackground {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n z-index: 0;\\n }\\n\\n .CodeMirror-linewidget {\\n overflow: auto;\\n position: relative;\\n z-index: 2;\\n }\\n\\n .CodeMirror-widget {\\n }\\n\\n .CodeMirror-code {\\n outline: none;\\n }\\n\\n /* Force content-box sizing for the elements where we expect it */\\n .CodeMirror-scroll,\\n .CodeMirror-sizer,\\n .CodeMirror-gutter,\\n .CodeMirror-gutters,\\n .CodeMirror-linenumber {\\n box-sizing: content-box;\\n }\\n\\n .CodeMirror-measure {\\n height: 0;\\n overflow: hidden;\\n position: absolute;\\n visibility: hidden;\\n width: 100%;\\n }\\n\\n .CodeMirror-cursor {\\n position: absolute;\\n }\\n .CodeMirror-measure pre {\\n position: static;\\n }\\n\\n div.CodeMirror-cursors {\\n position: relative;\\n visibility: hidden;\\n z-index: 3;\\n }\\n div.CodeMirror-dragcursors {\\n visibility: visible;\\n }\\n\\n .CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible;\\n }\\n\\n .CodeMirror-selected {\\n background: \",\";\\n }\\n .CodeMirror-focused .CodeMirror-selected {\\n background: \",\";\\n }\\n .CodeMirror-crosshair {\\n cursor: crosshair;\\n }\\n .CodeMirror-line::-moz-selection,\\n .CodeMirror-line > span::-moz-selection,\\n .CodeMirror-line > span > span::-moz-selection {\\n background: \",\";\\n }\\n .CodeMirror-line::selection,\\n .CodeMirror-line > span::selection,\\n .CodeMirror-line > span > span::selection {\\n background: \",\";\\n }\\n .CodeMirror-line::-moz-selection,\\n .CodeMirror-line > span::-moz-selection,\\n .CodeMirror-line > span > span::-moz-selection {\\n background: \",\";\\n }\\n\\n .cm-searching {\\n background: #ffa;\\n background: rgba(255, 255, 0, 0.4);\\n }\\n\\n /* IE7 hack to prevent it from returning funny offsetTops on the spans */\\n .CodeMirror span {\\n *vertical-align: text-bottom;\\n }\\n\\n /* Used to force a border model for a node */\\n .cm-force-border {\\n padding-right: 0.1px;\\n }\\n\\n @media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden;\\n }\\n }\\n\\n /* See issue #2901 */\\n .cm-tab-wrap-hack:after {\\n content: '';\\n }\\n\\n /* Help users use markselection to safely style text background */\\n span.CodeMirror-selectedtext {\\n background: none;\\n }\\n\\n .CodeMirror-dialog {\\n background: inherit;\\n color: inherit;\\n left: 0;\\n right: 0;\\n overflow: hidden;\\n padding: 0.1em 0.8em;\\n position: absolute;\\n z-index: 15;\\n }\\n\\n .CodeMirror-dialog-top {\\n border-bottom: 1px solid #eee;\\n top: 0;\\n }\\n\\n .CodeMirror-dialog-bottom {\\n border-top: 1px solid #eee;\\n bottom: 0;\\n }\\n\\n .CodeMirror-dialog input {\\n background: transparent;\\n border: 1px solid #d3d6db;\\n color: inherit;\\n font-family: monospace;\\n outline: none;\\n width: 20em;\\n }\\n\\n .CodeMirror-dialog button {\\n font-size: 70%;\\n }\\n\\n .CodeMirror-foldgutter {\\n width: 0.7em;\\n }\\n .CodeMirror-foldgutter-open,\\n .CodeMirror-foldgutter-folded {\\n cursor: pointer;\\n }\\n .CodeMirror-foldgutter-open:after {\\n content: '\\u25be';\\n }\\n .CodeMirror-foldgutter-folded:after {\\n content: '\\u25b8';\\n }\\n /* The lint marker gutter */\\n .CodeMirror-lint-markers {\\n width: 16px;\\n }\\n\\n .CodeMirror-jump-token {\\n cursor: pointer;\\n text-decoration: underline;\\n }\\n\"])),(function(e){return e.theme.editorColours.comment}),(function(e){return e.theme.editorColours.punctuation}),(function(e){return e.theme.editorColours.property}),(function(e){return e.theme.editorColours.keyword}),(function(e){return e.theme.editorColours.def}),(function(e){return e.theme.editorColours.def}),(function(e){return e.theme.editorColours.attribute}),(function(e){return e.theme.editorColours.number}),(function(e){return e.theme.editorColours.string}),(function(e){return e.theme.editorColours.builtin}),(function(e){return e.theme.editorColours.string2}),(function(e){return e.theme.editorColours.variable}),(function(e){return e.theme.editorColours.meta}),(function(e){return e.theme.editorColours.atom}),(function(e){return e.theme.editorColours.ws}),(function(e){return e.theme.settings[\"editor.fontFamily\"]}),(function(e){return e.theme.settings[\"editor.fontSize\"]+\"px\"}),(function(e){return e.theme.colours.text}),(function(e){return\"block\"===e.theme.settings[\"editor.cursorShape\"]?e.theme.editorColours.cursorColor:\"transparent\"}),(function(e){return\"line\"===e.theme.settings[\"editor.cursorShape\"]?\"1px solid \"+e.theme.editorColours.cursorColor:0}),(function(e){return\"underline\"===e.theme.settings[\"editor.cursorShape\"]?\"1px solid \"+e.theme.editorColours.cursorColor:0}),(function(e){return e.theme.editorColours.editorBackground}),(function(e){return e.theme.settings[\"editor.fontSize\"]-2+\"px\"}),(function(e){return e.theme.colours.textInactive}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection})),p=c.createGlobalStyle(a||(a=r(['\\n *::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 7px;\\n height: 7px;\\n }\\n *::-webkit-scrollbar-track-piece {\\n background-color: rgba(255, 255, 255, 0);\\n }\\n *::-webkit-scrollbar-track {\\n background-color: inherit;\\n }\\n *::-webkit-scrollbar-thumb {\\n max-height: 100px;\\n border-radius: 3px;\\n background-color: rgba(1, 1, 1, 0.23);\\n }\\n *::-webkit-scrollbar-thumb:hover {\\n background-color: rgba(1, 1, 1, 0.35);\\n }\\n *::-webkit-scrollbar-thumb:active {\\n background-color: rgba(1, 1, 1, 0.48);\\n }\\n *::-webkit-scrollbar-corner {\\n background: rgba(0,0,0,0);\\n }\\n\\n\\n .CodeMirror-lint-tooltip, .CodeMirror-info {\\n background-color: white;\\n border-radius: 4px 4px 4px 4px;\\n border: 1px solid black;\\n color: #09141C;\\n font-family: Open Sans, monospace;\\n font-size: 14px;\\n max-width: 600px;\\n opacity: 0;\\n overflow: hidden;\\n padding: 12px 14px;\\n position: fixed;\\n -webkit-transition: opacity 0.4s;\\n transition: opacity 0.4s;\\n z-index: 100;\\n }\\n\\n .CodeMirror-lint-message-error,\\n .CodeMirror-lint-message-warning {\\n padding-left: 18px;\\n }\\n\\n .CodeMirror-lint-mark-error,\\n .CodeMirror-lint-mark-warning {\\n background-position: left bottom;\\n background-repeat: repeat-x;\\n }\\n\\n .CodeMirror-lint-mark-error {\\n background-image: url(\\'data:image/svg+xml;utf8,\\n \\n \\n \\');\\n }\\n\\n .CodeMirror-lint-mark-warning {\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\\');\\n }\\n\\n .CodeMirror-lint-marker-error,\\n .CodeMirror-lint-marker-warning {\\n background-position: center center;\\n background-repeat: no-repeat;\\n cursor: pointer;\\n display: inline-block;\\n height: 16px;\\n position: relative;\\n vertical-align: middle;\\n width: 16px;\\n }\\n\\n .CodeMirror-lint-message-error,\\n .CodeMirror-lint-message-warning {\\n background-position: top left;\\n background-repeat: no-repeat;\\n padding-left: 22px;\\n }\\n\\n .CodeMirror-lint-marker-error,\\n .CodeMirror-lint-message-error {\\n background-image: url(\\'data:image/svg+xml;utf8,\\n \\n \\n \\n \\');\\n background-position: 0 50%;\\n }\\n\\n .CodeMirror-lint-marker-warning,\\n .CodeMirror-lint-message-warning {\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\\');\\n }\\n\\n .CodeMirror-lint-marker-multiple {\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\\');\\n background-position: right bottom;\\n background-repeat: no-repeat;\\n width: 100%;\\n height: 100%;\\n }\\n\\n .CodeMirror-lint-mark-error {\\n &:before {\\n content: \\'\\';\\n width: 50px;\\n height: 14px;\\n position: absolute;\\n background: #FF4F56;\\n left: -80px;\\n top: 50%;\\n transform: translateY(-50%);\\n z-index: 10;\\n }\\n }\\n\\n .CodeMirror-lint-message-error span {\\n color: white;\\n background: #FF4F56;\\n font-family: \\'Source Code Pro\\', monospace;\\n font-weight: 600;\\n border-radius: 2px;\\n padding: 0 4px;\\n }\\n\\n .CodeMirror-hints {\\n background: white;\\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\\n font-size: 14px;\\n list-style: none;\\n margin-left: -6px;\\n margin: 0;\\n max-height: 20em;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n z-index: 10;\\n border-radius: 2px;\\n top: 0;\\n left: 0;\\n &:hover {\\n overflow-y: overlay;\\n }\\n }\\n\\n .CodeMirror-hints-wrapper {\\n font-family: \\'Open Sans\\', sans-serif;\\n background: white;\\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\\n margin-left: -6px;\\n position: absolute;\\n z-index: 10;\\n }\\n\\n .CodeMirror-hints-wrapper .CodeMirror-hints {\\n box-shadow: none;\\n margin-left: 0;\\n position: relative;\\n z-index: 0;\\n }\\n\\n .CodeMirror-hint {\\n color: rgba(15, 32, 45, 0.6);\\n cursor: pointer;\\n margin: 0;\\n max-width: 300px;\\n overflow: hidden;\\n padding: 6px 12px;\\n white-space: pre;\\n }\\n\\n li.CodeMirror-hint-active {\\n background-color: #2a7ed3;\\n border-top-color: white;\\n color: white;\\n }\\n\\n .CodeMirror-hint-information {\\n border-top: solid 1px rgba(0, 0, 0, 0.1);\\n max-width: 300px;\\n padding: 10px 12px;\\n position: relative;\\n z-index: 1;\\n background-color: rgba(15, 32, 45, 0.03);\\n font-size: 14px;\\n }\\n\\n .CodeMirror-hint-information:first-child {\\n border-bottom: solid 1px #c0c0c0;\\n border-top: none;\\n margin-bottom: -1px;\\n }\\n\\n .CodeMirror-hint-information .content {\\n color: rgba(15, 32, 45, 0.6);\\n box-orient: vertical;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n line-clamp: 3;\\n line-height: 1.36;\\n max-height: 59px;\\n overflow: hidden;\\n text-overflow: -o-ellipsis-lastline;\\n }\\n\\n .CodeMirror-hint-information .content p:first-child {\\n margin-top: 0;\\n }\\n\\n .CodeMirror-hint-information .content p:last-child {\\n margin-bottom: 0;\\n }\\n\\n .CodeMirror-hint-information .infoType {\\n color: rgb(241, 143, 1);\\n cursor: pointer;\\n display: inline;\\n margin-right: 0.5em;\\n }\\n'],['\\n *::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 7px;\\n height: 7px;\\n }\\n *::-webkit-scrollbar-track-piece {\\n background-color: rgba(255, 255, 255, 0);\\n }\\n *::-webkit-scrollbar-track {\\n background-color: inherit;\\n }\\n *::-webkit-scrollbar-thumb {\\n max-height: 100px;\\n border-radius: 3px;\\n background-color: rgba(1, 1, 1, 0.23);\\n }\\n *::-webkit-scrollbar-thumb:hover {\\n background-color: rgba(1, 1, 1, 0.35);\\n }\\n *::-webkit-scrollbar-thumb:active {\\n background-color: rgba(1, 1, 1, 0.48);\\n }\\n *::-webkit-scrollbar-corner {\\n background: rgba(0,0,0,0);\\n }\\n\\n\\n .CodeMirror-lint-tooltip, .CodeMirror-info {\\n background-color: white;\\n border-radius: 4px 4px 4px 4px;\\n border: 1px solid black;\\n color: #09141C;\\n font-family: Open Sans, monospace;\\n font-size: 14px;\\n max-width: 600px;\\n opacity: 0;\\n overflow: hidden;\\n padding: 12px 14px;\\n position: fixed;\\n -webkit-transition: opacity 0.4s;\\n transition: opacity 0.4s;\\n z-index: 100;\\n }\\n\\n .CodeMirror-lint-message-error,\\n .CodeMirror-lint-message-warning {\\n padding-left: 18px;\\n }\\n\\n .CodeMirror-lint-mark-error,\\n .CodeMirror-lint-mark-warning {\\n background-position: left bottom;\\n background-repeat: repeat-x;\\n }\\n\\n .CodeMirror-lint-mark-error {\\n background-image: url(\\'data:image/svg+xml;utf8,\\n \\n \\n \\');\\n }\\n\\n .CodeMirror-lint-mark-warning {\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\\');\\n }\\n\\n .CodeMirror-lint-marker-error,\\n .CodeMirror-lint-marker-warning {\\n background-position: center center;\\n background-repeat: no-repeat;\\n cursor: pointer;\\n display: inline-block;\\n height: 16px;\\n position: relative;\\n vertical-align: middle;\\n width: 16px;\\n }\\n\\n .CodeMirror-lint-message-error,\\n .CodeMirror-lint-message-warning {\\n background-position: top left;\\n background-repeat: no-repeat;\\n padding-left: 22px;\\n }\\n\\n .CodeMirror-lint-marker-error,\\n .CodeMirror-lint-message-error {\\n background-image: url(\\'data:image/svg+xml;utf8,\\n \\n \\n \\n \\');\\n background-position: 0 50%;\\n }\\n\\n .CodeMirror-lint-marker-warning,\\n .CodeMirror-lint-message-warning {\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\\');\\n }\\n\\n .CodeMirror-lint-marker-multiple {\\n background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\\');\\n background-position: right bottom;\\n background-repeat: no-repeat;\\n width: 100%;\\n height: 100%;\\n }\\n\\n .CodeMirror-lint-mark-error {\\n &:before {\\n content: \\'\\';\\n width: 50px;\\n height: 14px;\\n position: absolute;\\n background: #FF4F56;\\n left: -80px;\\n top: 50%;\\n transform: translateY(-50%);\\n z-index: 10;\\n }\\n }\\n\\n .CodeMirror-lint-message-error span {\\n color: white;\\n background: #FF4F56;\\n font-family: \\'Source Code Pro\\', monospace;\\n font-weight: 600;\\n border-radius: 2px;\\n padding: 0 4px;\\n }\\n\\n .CodeMirror-hints {\\n background: white;\\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\\n font-size: 14px;\\n list-style: none;\\n margin-left: -6px;\\n margin: 0;\\n max-height: 20em;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n z-index: 10;\\n border-radius: 2px;\\n top: 0;\\n left: 0;\\n &:hover {\\n overflow-y: overlay;\\n }\\n }\\n\\n .CodeMirror-hints-wrapper {\\n font-family: \\'Open Sans\\', sans-serif;\\n background: white;\\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\\n margin-left: -6px;\\n position: absolute;\\n z-index: 10;\\n }\\n\\n .CodeMirror-hints-wrapper .CodeMirror-hints {\\n box-shadow: none;\\n margin-left: 0;\\n position: relative;\\n z-index: 0;\\n }\\n\\n .CodeMirror-hint {\\n color: rgba(15, 32, 45, 0.6);\\n cursor: pointer;\\n margin: 0;\\n max-width: 300px;\\n overflow: hidden;\\n padding: 6px 12px;\\n white-space: pre;\\n }\\n\\n li.CodeMirror-hint-active {\\n background-color: #2a7ed3;\\n border-top-color: white;\\n color: white;\\n }\\n\\n .CodeMirror-hint-information {\\n border-top: solid 1px rgba(0, 0, 0, 0.1);\\n max-width: 300px;\\n padding: 10px 12px;\\n position: relative;\\n z-index: 1;\\n background-color: rgba(15, 32, 45, 0.03);\\n font-size: 14px;\\n }\\n\\n .CodeMirror-hint-information:first-child {\\n border-bottom: solid 1px #c0c0c0;\\n border-top: none;\\n margin-bottom: -1px;\\n }\\n\\n .CodeMirror-hint-information .content {\\n color: rgba(15, 32, 45, 0.6);\\n box-orient: vertical;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n line-clamp: 3;\\n line-height: 1.36;\\n max-height: 59px;\\n overflow: hidden;\\n text-overflow: -o-ellipsis-lastline;\\n }\\n\\n .CodeMirror-hint-information .content p:first-child {\\n margin-top: 0;\\n }\\n\\n .CodeMirror-hint-information .content p:last-child {\\n margin-bottom: 0;\\n }\\n\\n .CodeMirror-hint-information .infoType {\\n color: rgb(241, 143, 1);\\n cursor: pointer;\\n display: inline;\\n margin-right: 0.5em;\\n }\\n']))),f=c.styled.div(s||(s=r([\"\\n color: #141823;\\n display: flex;\\n flex-direction: row;\\n font-family: system, -apple-system, 'San Francisco', '.SFNSDisplay-Regular',\\n 'Segoe UI', Segoe, 'Segoe WP', 'Helvetica Neue', helvetica, 'Lucida Grande',\\n arial, sans-serif;\\n font-size: 14px;\\n height: 100%;\\n margin: 0;\\n overflow: hidden;\\n width: 100%;\\n\"],[\"\\n color: #141823;\\n display: flex;\\n flex-direction: row;\\n font-family: system, -apple-system, 'San Francisco', '.SFNSDisplay-Regular',\\n 'Segoe UI', Segoe, 'Segoe WP', 'Helvetica Neue', helvetica, 'Lucida Grande',\\n arial, sans-serif;\\n font-size: 14px;\\n height: 100%;\\n margin: 0;\\n overflow: hidden;\\n width: 100%;\\n\"]))),d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.getWidth=function(){return t.graphqlContainer.offsetWidth},t.setGraphqlContainer=function(e){t.graphqlContainer=e},t}return i(t,e),t.prototype.render=function(){return u.createElement(f,{ref:this.setGraphqlContainer},this.props.children)},t}(u.PureComponent);t.Container=d,t.default=function(e){var t=e.children;return u.createElement(l,{onMouseMove:function(e){if(e.target.classList.contains(\"CodeMirror-lint-mark-error\"))for(var t=document.getElementsByClassName(\"CodeMirror-lint-message-error\"),n=0,r=Array.from(t);n$1\")}}},t,u.createElement(p,null))}},function(e,t,n){!function(e){\"use strict\";var t,n,r=e.Pos;function i(e,t){for(var n=function(e){var t=e.flags;return null!=t?t:(e.ignoreCase?\"i\":\"\")+(e.global?\"g\":\"\")+(e.multiline?\"m\":\"\")}(e),r=n,i=0;il);p++){var f=e.getLine(c++);s=null==s?f:s+\"\\n\"+f}u*=2,t.lastIndex=n.ch;var d=t.exec(s);if(d){var h=s.slice(0,d.index).split(\"\\n\"),m=d[0].split(\"\\n\"),g=n.line+h.length-1,y=h[h.length-1].length;return{from:r(g,y),to:r(g+m.length-1,1==m.length?y+m[0].length:m[m.length-1].length),match:d}}}}function u(e,t,n){for(var r,i=0;i<=e.length;){t.lastIndex=i;var o=t.exec(e);if(!o)break;var a=o.index+o[0].length;if(a>e.length-n)break;(!r||a>r.index+r[0].length)&&(r=o),i=o.index+1}return r}function c(e,t,n){t=i(t,\"g\");for(var o=n.line,a=n.ch,s=e.firstLine();o>=s;o--,a=-1){var c=e.getLine(o),l=u(c,t,a<0?0:c.length-a);if(l)return{from:r(o,l.index),to:r(o,l.index+l[0].length),match:l}}}function l(e,t,n){if(!o(t))return c(e,t,n);t=i(t,\"gm\");for(var a,s=1,l=e.getLine(n.line).length-n.ch,p=n.line,f=e.firstLine();p>=f;){for(var d=0;d=f;d++){var h=e.getLine(p--);a=null==a?h:h+\"\\n\"+a}s*=2;var m=u(a,t,l);if(m){var g=a.slice(0,m.index).split(\"\\n\"),y=m[0].split(\"\\n\"),v=p+g.length,b=g[g.length-1].length;return{from:r(v,b),to:r(v+y.length-1,1==y.length?b+y[0].length:y[y.length-1].length),match:m}}}}function p(e,t,n,r){if(e.length==t.length)return n;for(var i=0,o=n+Math.max(0,e.length-t.length);;){if(i==o)return i;var a=i+o>>1,s=r(e.slice(0,a)).length;if(s==n)return a;s>n?o=a:i=a+1}}function f(e,i,o,a){if(!i.length)return null;var s=a?t:n,u=s(i).split(/\\r|\\n\\r?/);e:for(var c=o.line,l=o.ch,f=e.lastLine()+1-u.length;c<=f;c++,l=0){var d=e.getLine(c).slice(l),h=s(d);if(1==u.length){var m=h.indexOf(u[0]);if(-1==m)continue e;return o=p(d,h,m,s)+l,{from:r(c,p(d,h,m,s)+l),to:r(c,p(d,h,m+u[0].length,s)+l)}}var g=h.length-u[0].length;if(h.slice(g)==u[0]){for(var y=1;y=f;c--,l=-1){var d=e.getLine(c);l>-1&&(d=d.slice(0,l));var h=s(d);if(1==u.length){var m=h.lastIndexOf(u[0]);if(-1==m)continue e;return{from:r(c,p(d,h,m,s)),to:r(c,p(d,h,m+u[0].length,s))}}var g=u[u.length-1];if(h.slice(0,g.length)==g){var y=1;for(o=c-u.length+1;y0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)}))}(n(15))},function(e,t,n){!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement(\"div\"))).className=r?\"CodeMirror-dialog CodeMirror-dialog-bottom\":\"CodeMirror-dialog CodeMirror-dialog-top\",\"string\"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,\"dialog-opened\"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension(\"openDialog\",(function(r,i,o){o||(o={}),n(this,null);var a=t(this,r,o.bottom),s=!1,u=this;function c(t){if(\"string\"==typeof t)p.value=t;else{if(s)return;s=!0,e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a),u.focus(),o.onClose&&o.onClose(a)}}var l,p=a.getElementsByTagName(\"input\")[0];return p?(p.focus(),o.value&&(p.value=o.value,!1!==o.selectValueOnOpen&&p.select()),o.onInput&&e.on(p,\"input\",(function(e){o.onInput(e,p.value,c)})),o.onKeyUp&&e.on(p,\"keyup\",(function(e){o.onKeyUp(e,p.value,c)})),e.on(p,\"keydown\",(function(t){o&&o.onKeyDown&&o.onKeyDown(t,p.value,c)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(p.blur(),e.e_stop(t),c()),13==t.keyCode&&i(p.value,t))})),!1!==o.closeOnBlur&&e.on(a,\"focusout\",(function(e){null!==e.relatedTarget&&c()}))):(l=a.getElementsByTagName(\"button\")[0])&&(e.on(l,\"click\",(function(){c(),u.focus()})),!1!==o.closeOnBlur&&e.on(l,\"blur\",c),l.focus()),c})),e.defineExtension(\"openConfirm\",(function(r,i,o){n(this,null);var a=t(this,r,o&&o.bottom),s=a.getElementsByTagName(\"button\"),u=!1,c=this,l=1;function p(){u||(u=!0,e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a),c.focus())}s[0].focus();for(var f=0;f\"']/,r=/[&<>\"']/g,i=/[<>\"']|&(?!#?\\w+;)/,o=/[<>\"']|&(?!#?\\w+;)/g,a={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},s=e=>a[e];const u=/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/gi;function c(e){return e.replace(u,(e,t)=>\"colon\"===(t=t.toLowerCase())?\":\":\"#\"===t.charAt(0)?\"x\"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):\"\")}const l=/(^|[^\\[])\\^/g;const p=/[^\\w:]/g,f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;const d={},h=/^[^:]+:\\/*[^/]*$/,m=/^([^:]+:)[\\s\\S]*$/,g=/^([^:]+:\\/*[^/]*)[\\s\\S]*$/;function y(e,t){d[\" \"+e]||(h.test(e)?d[\" \"+e]=e+\"/\":d[\" \"+e]=v(e,\"/\",!0));const n=-1===(e=d[\" \"+e]).indexOf(\":\");return\"//\"===t.substring(0,2)?n?t:e.replace(m,\"$1\")+t:\"/\"===t.charAt(0)?n?t:e.replace(g,\"$1\")+t:e+t}function v(e,t,n){const r=e.length;if(0===r)return\"\";let i=0;for(;i(r=(r=r.source||r).replace(l,\"$1\"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n},cleanUrl:function(e,t,n){if(e){let e;try{e=decodeURIComponent(c(n)).replace(p,\"\").toLowerCase()}catch(r){return null}if(0===e.indexOf(\"javascript:\")||0===e.indexOf(\"vbscript:\")||0===e.indexOf(\"data:\"))return null}t&&!f.test(n)&&(n=y(t,n));try{n=encodeURI(n).replace(/%25/g,\"%\")}catch(r){return null}return n},resolveUrl:y,noopTest:{exec:function(){}},merge:function(e){let t,n,r=1;for(;r{let r=!1,i=t;for(;--i>=0&&\"\\\\\"===n[i];)r=!r;return r?\"|\":\" |\"}).split(/ \\|/);let r=0;if(n.length>t)n.splice(t);else for(;n.length31&&!this.state.collapsed&&this.props.collapsable&&this.setState({collapsed:!0})}},t.prototype.render=function(){var e=this.props,t=e.type,n=e.clickable,r=e.className,i=e.beforeNode,a=e.afterNode,s=e.showParentName,p=e.isActive,f=u.isType(t),d=s&&t.parent?o.createElement(\"span\",null,t.parent.name,\".\",o.createElement(\"b\",null,t.name)):t.name;return o.createElement(C,{active:p,clickable:n,className:\"doc-category-item\"+(r||\"\"),onClick:this.onClick,ref:this.setRef},i,i&&\" \",!f&&o.createElement(\"span\",null,o.createElement(\"span\",{className:\"field-name\"},d),t.args&&t.args.length>0&&[\"(\",o.createElement(\"span\",{key:\"args\"},this.state.collapsed?o.createElement(w,null,\"...\"):t.args.map((function(e){return o.createElement(c.default,{key:e.name,arg:e})}))),\")\"],\": \"),o.createElement(\"span\",{className:\"type-name\"},function e(t){if(t instanceof u.GraphQLNonNull)return o.createElement(\"span\",null,e(t.ofType),\"!\");if(t instanceof u.GraphQLList)return o.createElement(\"span\",null,\"[\",e(t.ofType),\"]\");return o.createElement(\"span\",null,t.name)}(t.type||t)),void 0!==t.defaultValue?o.createElement(k,null,\" \",\"= \",o.createElement(\"span\",null,\"\"+JSON.stringify(t.defaultValue,null,2))):void 0,n&&o.createElement(S,null,o.createElement(l.Triangle,null)),a&&\" \",a)},t.defaultProps={clickable:!0,collapsable:!1},t}(o.Component);var v=m.createSelector([function(e,t){var n=t.x,r=t.y,i=d.getSessionDocsState(e),o=h.getSelectedSessionIdFromRoot(e);if(i){var a=i.navStack.get(n);if(a){var s=a.get(\"x\")===n&&a.get(\"y\")===r;return{isActive:s,keyMove:i.keyMove,lastActive:s&&n===i.navStack.length-1,sessionId:o}}}return{isActive:!1,keyMove:!1,lastActive:!1,sessionId:o}}],(function(e){return e}));t.default=s.connect(v,(function(e){return a.bindActionCreators({addStack:f.addStack},e)}))(p.toJS(y));var b,E,x,D,C=g.styled(\"div\")(b||(b=i([\"\\n position: relative;\\n padding: 6px 16px;\\n overflow: auto;\\n font-size: 14px;\\n transition: 0.1s background-color;\\n background: \",\";\\n\\n cursor: \",\";\\n\\n &:hover {\\n color: \",\";\\n background: #2a7ed3;\\n .field-name,\\n .type-name,\\n .arg-name,\\n span {\\n color: \",\" !important;\\n }\\n }\\n b {\\n font-weight: 600;\\n }\\n\"],[\"\\n position: relative;\\n padding: 6px 16px;\\n overflow: auto;\\n font-size: 14px;\\n transition: 0.1s background-color;\\n background: \",\";\\n\\n cursor: \",\";\\n\\n &:hover {\\n color: \",\";\\n background: #2a7ed3;\\n .field-name,\\n .type-name,\\n .arg-name,\\n span {\\n color: \",\" !important;\\n }\\n }\\n b {\\n font-weight: 600;\\n }\\n\"])),(function(e){return e.active?e.theme.colours.black07:e.theme.colours.white}),(function(e){return e.clickable?\"pointer\":\"select\"}),(function(e){return e.theme.colours.white}),(function(e){return e.theme.colours.white})),w=g.styled.span(E||(E=i([\"\\n font-weight: 600;\\n\"],[\"\\n font-weight: 600;\\n\"]))),S=g.styled.div(x||(x=i([\"\\n position: absolute;\\n right: 10px;\\n top: 50%;\\n transform: translateY(-50%);\\n\"],[\"\\n position: absolute;\\n right: 10px;\\n top: 50%;\\n transform: translateY(-50%);\\n\"]))),k=g.styled.span(D||(D=i([\"\\n color: \",\";\\n span {\\n color: #1f61a9;\\n }\\n\"],[\"\\n color: \",\";\\n span {\\n color: #1f61a9;\\n }\\n\"])),(function(e){return e.theme.colours.black30}))},function(e,t,n){\"use strict\";function r(e){return\"undefined\"===typeof e||null===e}e.exports.isNothing=r,e.exports.isObject=function(e){return\"object\"===typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:r(e)?[]:[e]},e.exports.repeat=function(e,t){var n,r=\"\";for(n=0;n2&&void 0!==arguments[2]?arguments[2]:u.a,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new s.a(e),p=arguments.length>4?arguments[4]:void 0;t||Object(r.a)(0,\"Must provide document\"),Object(a.a)(e);var f=Object.freeze({}),d=[],h=p&&p.maxErrors,m=new c.b(e,t,l,(function(e){if(null!=h&&d.length>=h)throw d.push(new i.a(\"Too many validation errors, error limit reached. Validation aborted.\")),f;d.push(e)})),g=Object(o.d)(n.map((function(e){return e(m)})));try{Object(o.c)(t,Object(o.e)(l,g))}catch(y){if(y!==f)throw y}return d}function p(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.b,r=[],i=new c.a(e,t,(function(e){r.push(e)})),a=n.map((function(e){return e(i)}));return Object(o.c)(e,Object(o.d)(a)),r}function f(e){var t=p(e);if(0!==t.length)throw new Error(t.map((function(e){return e.message})).join(\"\\n\\n\"))}function d(e,t){var n=p(e,t);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join(\"\\n\\n\"))}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(8),i=n(46),o=function(e,t,n){this.body=e,this.name=t||\"GraphQL request\",this.locationOffset=n||{line:1,column:1},this.locationOffset.line>0||Object(r.a)(0,\"line in locationOffset is 1-indexed and must be positive\"),this.locationOffset.column>0||Object(r.a)(0,\"column in locationOffset is 1-indexed and must be positive\")};Object(i.a)(o)},function(e,t,n){\"use strict\";var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){r[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(i){return!1}}()?Object.assign:function(e,t){for(var n,s,u=a(e),c=1;c0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]\"']/g,R=RegExp(L.source),B=RegExp(P.source),U=/<%-([\\s\\S]+?)%>/g,z=/<%([\\s\\S]+?)%>/g,V=/<%=([\\s\\S]+?)%>/g,q=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,H=/^\\w*$/,W=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,G=/[\\\\^$.*+?()[\\]{}|]/g,K=RegExp(G.source),J=/^\\s+|\\s+$/g,Y=/^\\s+/,Q=/\\s+$/,$=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,X=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Z=/,? & /,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\\]$/,se=/^0o[0-7]+$/i,ue=/^(?:0|[1-9]\\d*)$/,ce=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,le=/($^)/,pe=/['\\n\\r\\u2028\\u2029\\\\]/g,fe=\"\\\\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]\",me=\"[\"+de+\"]\",ge=\"[\"+fe+\"]\",ye=\"\\\\d+\",ve=\"[\\\\u2700-\\\\u27bf]\",be=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",Ee=\"[^\\\\ud800-\\\\udfff\"+de+ye+\"\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",xe=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",De=\"[^\\\\ud800-\\\\udfff]\",Ce=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",we=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Se=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",ke=\"(?:\"+be+\"|\"+Ee+\")\",Ae=\"(?:\"+Se+\"|\"+Ee+\")\",Te=\"(?:\"+ge+\"|\"+xe+\")\"+\"?\",_e=\"[\\\\ufe0e\\\\ufe0f]?\"+Te+(\"(?:\\\\u200d(?:\"+[De,Ce,we].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+Te+\")*\"),Oe=\"(?:\"+[ve,Ce,we].join(\"|\")+\")\"+_e,Fe=\"(?:\"+[De+ge+\"?\",ge,Ce,we,he].join(\"|\")+\")\",Ne=RegExp(\"['\\u2019]\",\"g\"),Ie=RegExp(ge,\"g\"),Me=RegExp(xe+\"(?=\"+xe+\")|\"+Fe+_e,\"g\"),je=RegExp([Se+\"?\"+be+\"+(?:['\\u2019](?:d|ll|m|re|s|t|ve))?(?=\"+[me,Se,\"$\"].join(\"|\")+\")\",Ae+\"+(?:['\\u2019](?:D|LL|M|RE|S|T|VE))?(?=\"+[me,Se+ke,\"$\"].join(\"|\")+\")\",Se+\"?\"+ke+\"+(?:['\\u2019](?:d|ll|m|re|s|t|ve))?\",Se+\"+(?:['\\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_])\",ye,Oe].join(\"|\"),\"g\"),Le=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\"+fe+\"\\\\ufe0e\\\\ufe0f]\"),Pe=/[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,Ue={};Ue[S]=Ue[k]=Ue[A]=Ue[T]=Ue[_]=Ue[O]=Ue[\"[object Uint8ClampedArray]\"]=Ue[F]=Ue[N]=!0,Ue[u]=Ue[c]=Ue[C]=Ue[l]=Ue[w]=Ue[p]=Ue[f]=Ue[d]=Ue[m]=Ue[g]=Ue[y]=Ue[v]=Ue[b]=Ue[E]=Ue[D]=!1;var ze={};ze[u]=ze[c]=ze[C]=ze[w]=ze[l]=ze[p]=ze[S]=ze[k]=ze[A]=ze[T]=ze[_]=ze[m]=ze[g]=ze[y]=ze[v]=ze[b]=ze[E]=ze[x]=ze[O]=ze[\"[object Uint8ClampedArray]\"]=ze[F]=ze[N]=!0,ze[f]=ze[d]=ze[D]=!1;var Ve={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},qe=parseFloat,He=parseInt,We=\"object\"==typeof e&&e&&e.Object===Object&&e,Ge=\"object\"==typeof self&&self&&self.Object===Object&&self,Ke=We||Ge||Function(\"return this\")(),Je=t&&!t.nodeType&&t,Ye=Je&&\"object\"==typeof r&&r&&!r.nodeType&&r,Qe=Ye&&Ye.exports===Je,$e=Qe&&We.process,Xe=function(){try{var e=Ye&&Ye.require&&Ye.require(\"util\").types;return e||$e&&$e.binding&&$e.binding(\"util\")}catch(t){}}(),Ze=Xe&&Xe.isArrayBuffer,et=Xe&&Xe.isDate,tt=Xe&&Xe.isMap,nt=Xe&&Xe.isRegExp,rt=Xe&&Xe.isSet,it=Xe&&Xe.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 ft(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--&&xt(t,e[n],0)>-1;);return n}function jt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Lt=kt({\"\\xc0\":\"A\",\"\\xc1\":\"A\",\"\\xc2\":\"A\",\"\\xc3\":\"A\",\"\\xc4\":\"A\",\"\\xc5\":\"A\",\"\\xe0\":\"a\",\"\\xe1\":\"a\",\"\\xe2\":\"a\",\"\\xe3\":\"a\",\"\\xe4\":\"a\",\"\\xe5\":\"a\",\"\\xc7\":\"C\",\"\\xe7\":\"c\",\"\\xd0\":\"D\",\"\\xf0\":\"d\",\"\\xc8\":\"E\",\"\\xc9\":\"E\",\"\\xca\":\"E\",\"\\xcb\":\"E\",\"\\xe8\":\"e\",\"\\xe9\":\"e\",\"\\xea\":\"e\",\"\\xeb\":\"e\",\"\\xcc\":\"I\",\"\\xcd\":\"I\",\"\\xce\":\"I\",\"\\xcf\":\"I\",\"\\xec\":\"i\",\"\\xed\":\"i\",\"\\xee\":\"i\",\"\\xef\":\"i\",\"\\xd1\":\"N\",\"\\xf1\":\"n\",\"\\xd2\":\"O\",\"\\xd3\":\"O\",\"\\xd4\":\"O\",\"\\xd5\":\"O\",\"\\xd6\":\"O\",\"\\xd8\":\"O\",\"\\xf2\":\"o\",\"\\xf3\":\"o\",\"\\xf4\":\"o\",\"\\xf5\":\"o\",\"\\xf6\":\"o\",\"\\xf8\":\"o\",\"\\xd9\":\"U\",\"\\xda\":\"U\",\"\\xdb\":\"U\",\"\\xdc\":\"U\",\"\\xf9\":\"u\",\"\\xfa\":\"u\",\"\\xfb\":\"u\",\"\\xfc\":\"u\",\"\\xdd\":\"Y\",\"\\xfd\":\"y\",\"\\xff\":\"y\",\"\\xc6\":\"Ae\",\"\\xe6\":\"ae\",\"\\xde\":\"Th\",\"\\xfe\":\"th\",\"\\xdf\":\"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\"}),Pt=kt({\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"});function Rt(e){return\"\\\\\"+Ve[e]}function Bt(e){return Le.test(e)}function Ut(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 Vt(e,t){for(var n=-1,r=e.length,i=0,o=[];++n\",\""\":'\"',\"'\":\"'\"});var Jt=function e(t){var n=(t=null==t?Ke:Jt.defaults(Ke.Object(),t,Jt.pick(Ke,Re))).Array,r=t.Date,i=t.Error,fe=t.Function,de=t.Math,he=t.Object,me=t.RegExp,ge=t.String,ye=t.TypeError,ve=n.prototype,be=fe.prototype,Ee=he.prototype,xe=t[\"__core-js_shared__\"],De=be.toString,Ce=Ee.hasOwnProperty,we=0,Se=function(){var e=/[^.]+$/.exec(xe&&xe.keys&&xe.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),ke=Ee.toString,Ae=De.call(he),Te=Ke._,_e=me(\"^\"+De.call(Ce).replace(G,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Oe=Qe?t.Buffer:void 0,Fe=t.Symbol,Me=t.Uint8Array,Le=Oe?Oe.allocUnsafe:void 0,Ve=zt(he.getPrototypeOf,he),We=he.create,Ge=Ee.propertyIsEnumerable,Je=ve.splice,Ye=Fe?Fe.isConcatSpreadable:void 0,$e=Fe?Fe.iterator:void 0,Xe=Fe?Fe.toStringTag:void 0,vt=function(){try{var e=Xi(he,\"defineProperty\");return e({},\"\",{}),e}catch(t){}}(),kt=t.clearTimeout!==Ke.clearTimeout&&t.clearTimeout,Yt=r&&r.now!==Ke.Date.now&&r.now,Qt=t.setTimeout!==Ke.setTimeout&&t.setTimeout,$t=de.ceil,Xt=de.floor,Zt=he.getOwnPropertySymbols,en=Oe?Oe.isBuffer:void 0,tn=t.isFinite,nn=ve.join,rn=zt(he.keys,he),on=de.max,an=de.min,sn=r.now,un=t.parseInt,cn=de.random,ln=ve.reverse,pn=Xi(t,\"DataView\"),fn=Xi(t,\"Map\"),dn=Xi(t,\"Promise\"),hn=Xi(t,\"Set\"),mn=Xi(t,\"WeakMap\"),gn=Xi(he,\"create\"),yn=mn&&new mn,vn={},bn=ko(pn),En=ko(fn),xn=ko(dn),Dn=ko(hn),Cn=ko(mn),wn=Fe?Fe.prototype:void 0,Sn=wn?wn.valueOf:void 0,kn=wn?wn.toString:void 0;function An(e){if(qa(e)&&!Na(e)&&!(e instanceof Fn)){if(e instanceof On)return e;if(Ce.call(e,\"__wrapped__\"))return Ao(e)}return new On(e)}var Tn=function(){function e(){}return function(t){if(!Va(t))return{};if(We)return We(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function _n(){}function On(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Fn(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 Yn(e,t,n,r,i,o){var a,s=1&t,c=2&t,f=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Va(e))return e;var D=Na(e);if(D){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),!s)return gi(e,a)}else{var I=to(e),M=I==d||I==h;if(La(e))return li(e,s);if(I==y||I==u||M&&!i){if(a=c||M?{}:ro(e),!s)return c?function(e,t){return yi(e,eo(e),t)}(e,function(e,t){return e&&yi(t,Es(t),e)}(a,e)):function(e,t){return yi(e,Zi(e),t)}(e,Wn(a,e))}else{if(!ze[I])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case C:return pi(e);case l:case p:return new r(+e);case w:return function(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case k:case A:case T:case _:case O:case\"[object Uint8ClampedArray]\":case F:case N:return fi(e,n);case m:return new r;case g:case E:return new r(e);case v:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case x:return i=e,Sn?he(Sn.call(i)):{}}var i}(e,I,s)}}o||(o=new Ln);var j=o.get(e);if(j)return j;o.set(e,a),Ja(e)?e.forEach((function(r){a.add(Yn(r,t,n,r,e,o))})):Ha(e)&&e.forEach((function(r,i){a.set(i,Yn(r,t,n,i,e,o))}));var L=D?void 0:(f?c?Wi:Hi:c?Es:bs)(e);return st(L||e,(function(r,i){L&&(r=e[i=r]),Vn(a,i,Yn(r,t,n,i,e,o))})),a}function Qn(e,t,n){var r=n.length;if(null==e)return!r;for(e=he(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 $n(e,t,n){if(\"function\"!=typeof e)throw new ye(o);return bo((function(){e.apply(void 0,n)}),t)}function Xn(e,t,n,r){var i=-1,o=pt,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=dt(t,Ot(n))),r?(o=ft,a=!1):t.length>=200&&(o=Nt,a=!1,t=new jn(t));e:for(;++i-1},In.prototype.set=function(e,t){var n=this.__data__,r=qn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Mn.prototype.clear=function(){this.size=0,this.__data__={hash:new Nn,map:new(fn||In),string:new Nn}},Mn.prototype.delete=function(e){var t=Qi(this,e).delete(e);return this.size-=t?1:0,t},Mn.prototype.get=function(e){return Qi(this,e).get(e)},Mn.prototype.has=function(e){return Qi(this,e).has(e)},Mn.prototype.set=function(e,t){var n=Qi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},jn.prototype.add=jn.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},jn.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.clear=function(){this.__data__=new In,this.size=0},Ln.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ln.prototype.get=function(e){return this.__data__.get(e)},Ln.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.set=function(e,t){var n=this.__data__;if(n instanceof In){var r=n.__data__;if(!fn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Mn(r)}return n.set(e,t),this.size=n.size,this};var Zn=Ei(sr),er=Ei(ur,!0);function tr(e,t){var n=!0;return Zn(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function nr(e,t,n){for(var r=-1,i=e.length;++r0&&n(s)?t>1?ir(s,t-1,n,r,i):ht(i,s):r||(i[i.length]=s)}return i}var or=xi(),ar=xi(!0);function sr(e,t){return e&&or(e,t,bs)}function ur(e,t){return e&&ar(e,t,bs)}function cr(e,t){return lt(t,(function(t){return Ba(e[t])}))}function lr(e,t){for(var n=0,r=(t=ai(t,e)).length;null!=e&&nt}function hr(e,t){return null!=e&&Ce.call(e,t)}function mr(e,t){return null!=e&&t in he(e)}function gr(e,t,r){for(var i=r?ft:pt,o=e[0].length,a=e.length,s=a,u=n(a),c=1/0,l=[];s--;){var p=e[s];s&&t&&(p=dt(p,Ot(t))),c=an(p.length,c),u[s]=!r&&(t||o>=120&&p.length>=120)?new jn(s&&p):void 0}p=e[0];var f=-1,d=u[0];e:for(;++f=s)return u;var c=n[r];return u*(\"desc\"==c?-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;)s!==e&&Je.call(s,u,1),Je.call(e,u,1);return e}function Mr(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;oo(i)?Je.call(e,i,1):Xr(e,i)}}return e}function jr(e,t){return e+Xt(cn()*(t-e+1))}function Lr(e,t){var n=\"\";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Xt(t/2))&&(e+=e)}while(t);return n}function Pr(e,t){return Eo(ho(e,t,Ws),e+\"\")}function Rr(e){return Rn(Ts(e))}function Br(e,t){var n=Ts(e);return Co(n,Jn(t,0,n.length))}function Ur(e,t,n,r){if(!Va(e))return e;for(var i=-1,o=(t=ai(t,e)).length,a=o-1,s=e;null!=s&&++io?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var a=n(o);++i>>1,a=e[o];null!==a&&!Qa(a)&&(n?a<=t:a=200){var c=t?null:Li(e);if(c)return qt(c);a=!1,i=Nt,u=new jn}else u=t?[]:s;e:for(;++r=r?e:Hr(e,t,n)}var ci=kt||function(e){return Ke.clearTimeout(e)};function li(e,t){if(t)return e.slice();var n=e.length,r=Le?Le(n):new e.constructor(n);return e.copy(r),r}function pi(e){var t=new e.constructor(e.byteLength);return new Me(t).set(new Me(e)),t}function fi(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function di(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e===e,o=Qa(e),a=void 0!==t,s=null===t,u=t===t,c=Qa(t);if(!s&&!c&&!o&&e>t||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&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&&ao(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=he(t);++r-1?i[o?t[a]:a]:void 0}}function ki(e){return qi((function(t){var n=t.length,r=n,i=On.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if(\"function\"!=typeof a)throw new ye(o);if(i&&!s&&\"wrapper\"==Ki(a))var s=new On([],!0)}for(r=s?r:n;++r1&&b.reverse(),p&&cs))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var l=-1,p=!0,f=2&n?new jn:void 0;for(o.set(e,t),o.set(t,e);++l-1&&e%1==0&&e1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace($,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(r,function(e,t){return st(s,(function(n){var r=\"_.\"+n[0];t&n[1]&&!pt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(X);return t?t[1].split(Z):[]}(r),n)))}function Do(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,Ko(e,n)}));function ea(e){var t=An(e);return t.__chain__=!0,t}function ta(e,t){return t(e)}var na=qi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Kn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Fn&&oo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ta,args:[i],thisArg:void 0}),new On(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ra=vi((function(e,t,n){Ce.call(e,n)?++e[n]:Gn(e,n,1)}));var ia=Si(Fo),oa=Si(No);function aa(e,t){return(Na(e)?st:Zn)(e,Yi(t,3))}function sa(e,t){return(Na(e)?ut:er)(e,Yi(t,3))}var ua=vi((function(e,t,n){Ce.call(e,n)?e[n].push(t):Gn(e,n,[t])}));var ca=Pr((function(e,t,r){var i=-1,o=\"function\"==typeof t,a=Ma(e)?n(e.length):[];return Zn(e,(function(e){a[++i]=o?ot(t,e,r):yr(e,t,r)})),a})),la=vi((function(e,t,n){Gn(e,n,t)}));function pa(e,t){return(Na(e)?dt:kr)(e,Yi(t,3))}var fa=vi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var da=Pr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ao(e,t[0],t[1])?t=[]:n>2&&ao(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,ir(t,1),[])})),ha=Yt||function(){return Ke.Date.now()};function ma(e,t,n){return t=n?void 0:t,Ri(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 ye(o);return e=ns(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Pr((function(e,t,n){var r=1;if(n.length){var i=Vt(n,Ji(ya));r|=32}return Ri(e,r,t,n,i)})),va=Pr((function(e,t,n){var r=3;if(n.length){var i=Vt(n,Ji(va));r|=32}return Ri(t,r,e,n,i)}));function ba(e,t,n){var r,i,a,s,u,c,l=0,p=!1,f=!1,d=!0;if(\"function\"!=typeof e)throw new ye(o);function h(t){var n=r,o=i;return r=i=void 0,l=t,s=e.apply(o,n)}function m(e){return l=e,u=bo(y,t),p?h(e):s}function g(e){var n=e-c;return void 0===c||n>=t||n<0||f&&e-l>=a}function y(){var e=ha();if(g(e))return v(e);u=bo(y,function(e){var n=t-(e-c);return f?an(n,a-(e-l)):n}(e))}function v(e){return u=void 0,d&&r?h(e):(r=i=void 0,s)}function b(){var e=ha(),n=g(e);if(r=arguments,i=this,c=e,n){if(void 0===u)return m(c);if(f)return ci(u),u=bo(y,t),h(c)}return void 0===u&&(u=bo(y,t)),s}return t=is(t)||0,Va(n)&&(p=!!n.leading,a=(f=\"maxWait\"in n)?on(is(n.maxWait)||0,t):a,d=\"trailing\"in n?!!n.trailing:d),b.cancel=function(){void 0!==u&&ci(u),l=0,r=c=i=u=void 0},b.flush=function(){return void 0===u?s:v(ha())},b}var Ea=Pr((function(e,t){return $n(e,1,t)})),xa=Pr((function(e,t,n){return $n(e,is(t)||0,n)}));function Da(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new ye(o);var n=function n(){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(Da.Cache||Mn),n}function Ca(e){if(\"function\"!=typeof e)throw new ye(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)}}Da.Cache=Mn;var wa=si((function(e,t){var n=(t=1==t.length&&Na(t[0])?dt(t[0],Ot(Yi())):dt(ir(t,1),Ot(Yi()))).length;return Pr((function(r){for(var i=-1,o=an(r.length,n);++i=t})),Fa=vr(function(){return arguments}())?vr:function(e){return qa(e)&&Ce.call(e,\"callee\")&&!Ge.call(e,\"callee\")},Na=n.isArray,Ia=Ze?Ot(Ze):function(e){return qa(e)&&fr(e)==C};function Ma(e){return null!=e&&za(e.length)&&!Ba(e)}function ja(e){return qa(e)&&Ma(e)}var La=en||iu,Pa=et?Ot(et):function(e){return qa(e)&&fr(e)==p};function Ra(e){if(!qa(e))return!1;var t=fr(e);return t==f||\"[object DOMException]\"==t||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!Ga(e)}function Ba(e){if(!Va(e))return!1;var t=fr(e);return t==d||t==h||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function Ua(e){return\"number\"==typeof e&&e==ns(e)}function za(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Va(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function qa(e){return null!=e&&\"object\"==typeof e}var Ha=tt?Ot(tt):function(e){return qa(e)&&to(e)==m};function Wa(e){return\"number\"==typeof e||qa(e)&&fr(e)==g}function Ga(e){if(!qa(e)||fr(e)!=y)return!1;var t=Ve(e);if(null===t)return!0;var n=Ce.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&De.call(n)==Ae}var Ka=nt?Ot(nt):function(e){return qa(e)&&fr(e)==v};var Ja=rt?Ot(rt):function(e){return qa(e)&&to(e)==b};function Ya(e){return\"string\"==typeof e||!Na(e)&&qa(e)&&fr(e)==E}function Qa(e){return\"symbol\"==typeof e||qa(e)&&fr(e)==x}var $a=it?Ot(it):function(e){return qa(e)&&za(e.length)&&!!Ue[fr(e)]};var Xa=Ii(Sr),Za=Ii((function(e,t){return e<=t}));function es(e){if(!e)return[];if(Ma(e))return Ya(e)?Gt(e):gi(e);if($e&&e[$e])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[$e]());var t=to(e);return(t==m?Ut:t==b?qt:Ts)(e)}function ts(e){return e?(e=is(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e===e?e:0:0===e?e:0}function ns(e){var t=ts(e),n=t%1;return t===t?n?t-n:t:0}function rs(e){return e?Jn(ns(e),0,4294967295):0}function is(e){if(\"number\"==typeof e)return e;if(Qa(e))return NaN;if(Va(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=Va(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(J,\"\");var n=oe.test(e);return n||se.test(e)?He(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function os(e){return yi(e,Es(e))}function as(e){return null==e?\"\":Qr(e)}var ss=bi((function(e,t){if(lo(t)||Ma(t))yi(t,bs(t),e);else for(var n in t)Ce.call(t,n)&&Vn(e,n,t[n])})),us=bi((function(e,t){yi(t,Es(t),e)})),cs=bi((function(e,t,n,r){yi(t,Es(t),e,r)})),ls=bi((function(e,t,n,r){yi(t,bs(t),e,r)})),ps=qi(Kn);var fs=Pr((function(e,t){e=he(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&ao(t[0],t[1],i)&&(r=1);++n1),t})),yi(e,Wi(e),n),r&&(n=Yn(n,7,zi));for(var i=t.length;i--;)Xr(n,t[i]);return n}));var ws=qi((function(e,t){return null==e?{}:function(e,t){return Nr(e,t,(function(t,n){return ms(e,n)}))}(e,t)}));function Ss(e,t){if(null==e)return{};var n=dt(Wi(e),(function(e){return[e]}));return t=Yi(t),Nr(e,n,(function(e,n){return t(e,n[0])}))}var ks=Pi(bs),As=Pi(Es);function Ts(e){return null==e?[]:Ft(e,bs(e))}var _s=Ci((function(e,t,n){return t=t.toLowerCase(),e+(n?Os(t):t)}));function Os(e){return Rs(as(e).toLowerCase())}function Fs(e){return(e=as(e))&&e.replace(ce,Lt).replace(Ie,\"\")}var Ns=Ci((function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()})),Is=Ci((function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()})),Ms=Di(\"toLowerCase\");var js=Ci((function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}));var Ls=Ci((function(e,t,n){return e+(n?\" \":\"\")+Rs(t)}));var Ps=Ci((function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()})),Rs=Di(\"toUpperCase\");function Bs(e,t,n){return e=as(e),void 0===(t=n?void 0:t)?function(e){return Pe.test(e)}(e)?function(e){return e.match(je)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var Us=Pr((function(e,t){try{return ot(e,void 0,t)}catch(n){return Ra(n)?n:new i(n)}})),zs=qi((function(e,t){return st(t,(function(t){t=So(t),Gn(e,t,ya(e[t],e))})),e}));function Vs(e){return function(){return e}}var qs=ki(),Hs=ki(!0);function Ws(e){return e}function Gs(e){return Dr(\"function\"==typeof e?e:Yn(e,1))}var Ks=Pr((function(e,t){return function(n){return yr(n,e,t)}})),Js=Pr((function(e,t){return function(n){return yr(e,n,t)}}));function Ys(e,t,n){var r=bs(t),i=cr(t,r);null!=n||Va(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,bs(t)));var o=!(Va(n)&&\"chain\"in n)||!!n.chain,a=Ba(e);return st(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 Qs(){}var $s=Oi(dt),Xs=Oi(ct),Zs=Oi(yt);function eu(e){return so(e)?St(So(e)):function(e){return function(t){return lr(t,e)}}(e)}var tu=Ni(),nu=Ni(!0);function ru(){return[]}function iu(){return!1}var ou=_i((function(e,t){return e+t}),0),au=ji(\"ceil\"),su=_i((function(e,t){return e/t}),1),uu=ji(\"floor\");var cu=_i((function(e,t){return e*t}),1),lu=ji(\"round\"),pu=_i((function(e,t){return e-t}),0);return An.after=function(e,t){if(\"function\"!=typeof t)throw new ye(o);return e=ns(e),function(){if(--e<1)return t.apply(this,arguments)}},An.ary=ma,An.assign=ss,An.assignIn=us,An.assignInWith=cs,An.assignWith=ls,An.at=ps,An.before=ga,An.bind=ya,An.bindAll=zs,An.bindKey=va,An.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Na(e)?e:[e]},An.chain=ea,An.chunk=function(e,t,r){t=(r?ao(e,t,r):void 0===t)?1:on(ns(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,s=n($t(i/t));oi?0:i+n),(r=void 0===r||r>i?i:ns(r))<0&&(r+=i),r=n>r?0:rs(r);n>>0)?(e=as(e))&&(\"string\"==typeof t||null!=t&&!Ka(t))&&!(t=Qr(t))&&Bt(e)?ui(Gt(e),0,n):e.split(t,n):[]},An.spread=function(e,t){if(\"function\"!=typeof e)throw new ye(o);return t=null==t?0:on(ns(t),0),Pr((function(n){var r=n[t],i=ui(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},An.tail=function(e){var t=null==e?0:e.length;return t?Hr(e,1,t):[]},An.take=function(e,t,n){return e&&e.length?Hr(e,0,(t=n||void 0===t?1:ns(t))<0?0:t):[]},An.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Hr(e,(t=r-(t=n||void 0===t?1:ns(t)))<0?0:t,r):[]},An.takeRightWhile=function(e,t){return e&&e.length?ei(e,Yi(t,3),!1,!0):[]},An.takeWhile=function(e,t){return e&&e.length?ei(e,Yi(t,3)):[]},An.tap=function(e,t){return t(e),e},An.throttle=function(e,t,n){var r=!0,i=!0;if(\"function\"!=typeof e)throw new ye(o);return Va(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),ba(e,t,{leading:r,maxWait:t,trailing:i})},An.thru=ta,An.toArray=es,An.toPairs=ks,An.toPairsIn=As,An.toPath=function(e){return Na(e)?dt(e,So):Qa(e)?[e]:gi(wo(as(e)))},An.toPlainObject=os,An.transform=function(e,t,n){var r=Na(e),i=r||La(e)||$a(e);if(t=Yi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Va(e)&&Ba(o)?Tn(Ve(e)):{}}return(i?st:sr)(e,(function(e,r,i){return t(n,e,r,i)})),n},An.unary=function(e){return ma(e,1)},An.union=qo,An.unionBy=Ho,An.unionWith=Wo,An.uniq=function(e){return e&&e.length?$r(e):[]},An.uniqBy=function(e,t){return e&&e.length?$r(e,Yi(t,2)):[]},An.uniqWith=function(e,t){return t=\"function\"==typeof t?t:void 0,e&&e.length?$r(e,void 0,t):[]},An.unset=function(e,t){return null==e||Xr(e,t)},An.unzip=Go,An.unzipWith=Ko,An.update=function(e,t,n){return null==e?e:Zr(e,t,oi(n))},An.updateWith=function(e,t,n,r){return r=\"function\"==typeof r?r:void 0,null==e?e:Zr(e,t,oi(n),r)},An.values=Ts,An.valuesIn=function(e){return null==e?[]:Ft(e,Es(e))},An.without=Jo,An.words=Bs,An.wrap=function(e,t){return Sa(oi(t),e)},An.xor=Yo,An.xorBy=Qo,An.xorWith=$o,An.zip=Xo,An.zipObject=function(e,t){return ri(e||[],t||[],Vn)},An.zipObjectDeep=function(e,t){return ri(e||[],t||[],Ur)},An.zipWith=Zo,An.entries=ks,An.entriesIn=As,An.extend=us,An.extendWith=cs,Ys(An,An),An.add=ou,An.attempt=Us,An.camelCase=_s,An.capitalize=Os,An.ceil=au,An.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=is(n))===n?n:0),void 0!==t&&(t=(t=is(t))===t?t:0),Jn(is(e),t,n)},An.clone=function(e){return Yn(e,4)},An.cloneDeep=function(e){return Yn(e,5)},An.cloneDeepWith=function(e,t){return Yn(e,5,t=\"function\"==typeof t?t:void 0)},An.cloneWith=function(e,t){return Yn(e,4,t=\"function\"==typeof t?t:void 0)},An.conformsTo=function(e,t){return null==t||Qn(e,t,bs(t))},An.deburr=Fs,An.defaultTo=function(e,t){return null==e||e!==e?t:e},An.divide=su,An.endsWith=function(e,t,n){e=as(e),t=Qr(t);var r=e.length,i=n=void 0===n?r:Jn(ns(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},An.eq=Ta,An.escape=function(e){return(e=as(e))&&B.test(e)?e.replace(P,Pt):e},An.escapeRegExp=function(e){return(e=as(e))&&K.test(e)?e.replace(G,\"\\\\$&\"):e},An.every=function(e,t,n){var r=Na(e)?ct:tr;return n&&ao(e,t,n)&&(t=void 0),r(e,Yi(t,3))},An.find=ia,An.findIndex=Fo,An.findKey=function(e,t){return bt(e,Yi(t,3),sr)},An.findLast=oa,An.findLastIndex=No,An.findLastKey=function(e,t){return bt(e,Yi(t,3),ur)},An.floor=uu,An.forEach=aa,An.forEachRight=sa,An.forIn=function(e,t){return null==e?e:or(e,Yi(t,3),Es)},An.forInRight=function(e,t){return null==e?e:ar(e,Yi(t,3),Es)},An.forOwn=function(e,t){return e&&sr(e,Yi(t,3))},An.forOwnRight=function(e,t){return e&&ur(e,Yi(t,3))},An.get=hs,An.gt=_a,An.gte=Oa,An.has=function(e,t){return null!=e&&no(e,t,hr)},An.hasIn=ms,An.head=Mo,An.identity=Ws,An.includes=function(e,t,n,r){e=Ma(e)?e:Ts(e),n=n&&!r?ns(n):0;var i=e.length;return n<0&&(n=on(i+n,0)),Ya(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&xt(e,t,n)>-1},An.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ns(n);return i<0&&(i=on(r+i,0)),xt(e,t,i)},An.inRange=function(e,t,n){return t=ts(t),void 0===n?(n=t,t=0):n=ts(n),function(e,t,n){return e>=an(t,n)&&e=-9007199254740991&&e<=9007199254740991},An.isSet=Ja,An.isString=Ya,An.isSymbol=Qa,An.isTypedArray=$a,An.isUndefined=function(e){return void 0===e},An.isWeakMap=function(e){return qa(e)&&to(e)==D},An.isWeakSet=function(e){return qa(e)&&\"[object WeakSet]\"==fr(e)},An.join=function(e,t){return null==e?\"\":nn.call(e,t)},An.kebabCase=Ns,An.last=Ro,An.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=ns(n))<0?on(r+i,0):an(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,Ct,i,!0)},An.lowerCase=Is,An.lowerFirst=Ms,An.lt=Xa,An.lte=Za,An.max=function(e){return e&&e.length?nr(e,Ws,dr):void 0},An.maxBy=function(e,t){return e&&e.length?nr(e,Yi(t,2),dr):void 0},An.mean=function(e){return wt(e,Ws)},An.meanBy=function(e,t){return wt(e,Yi(t,2))},An.min=function(e){return e&&e.length?nr(e,Ws,Sr):void 0},An.minBy=function(e,t){return e&&e.length?nr(e,Yi(t,2),Sr):void 0},An.stubArray=ru,An.stubFalse=iu,An.stubObject=function(){return{}},An.stubString=function(){return\"\"},An.stubTrue=function(){return!0},An.multiply=cu,An.nth=function(e,t){return e&&e.length?Or(e,ns(t)):void 0},An.noConflict=function(){return Ke._===this&&(Ke._=Te),this},An.noop=Qs,An.now=ha,An.pad=function(e,t,n){e=as(e);var r=(t=ns(t))?Wt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(Xt(i),n)+e+Fi($t(i),n)},An.padEnd=function(e,t,n){e=as(e);var r=(t=ns(t))?Wt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return an(e+i*(t-e+qe(\"1e-\"+((i+\"\").length-1))),t)}return jr(e,t)},An.reduce=function(e,t,n){var r=Na(e)?mt:At,i=arguments.length<3;return r(e,Yi(t,4),n,i,Zn)},An.reduceRight=function(e,t,n){var r=Na(e)?gt:At,i=arguments.length<3;return r(e,Yi(t,4),n,i,er)},An.repeat=function(e,t,n){return t=(n?ao(e,t,n):void 0===t)?1:ns(t),Lr(as(e),t)},An.replace=function(){var e=arguments,t=as(e[0]);return e.length<3?t:t.replace(e[1],e[2])},An.result=function(e,t,n){var r=-1,i=(t=ai(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=an(e,4294967295);e-=4294967295;for(var i=_t(r,t=Yi(t));++n=o)return e;var s=n-Wt(r);if(s<1)return r;var u=a?ui(a,0,s).join(\"\"):e.slice(0,s);if(void 0===i)return u+r;if(a&&(s+=u.length-s),Ka(i)){if(e.slice(s).search(i)){var c,l=u;for(i.global||(i=me(i.source,as(re.exec(i))+\"g\")),i.lastIndex=0;c=i.exec(l);)var p=c.index;u=u.slice(0,void 0===p?s:p)}}else if(e.indexOf(Qr(i),s)!=s){var f=u.lastIndexOf(i);f>-1&&(u=u.slice(0,f))}return u+r},An.unescape=function(e){return(e=as(e))&&R.test(e)?e.replace(L,Kt):e},An.uniqueId=function(e){var t=++we;return as(e)+t},An.upperCase=Ps,An.upperFirst=Rs,An.each=aa,An.eachRight=sa,An.first=Mo,Ys(An,function(){var e={};return sr(An,(function(t,n){Ce.call(An.prototype,n)||(e[n]=t)})),e}(),{chain:!1}),An.VERSION=\"4.17.15\",st([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],(function(e){An[e].placeholder=An})),st([\"drop\",\"take\"],(function(e,t){Fn.prototype[e]=function(n){n=void 0===n?1:on(ns(n),0);var r=this.__filtered__&&!t?new Fn(this):this.clone();return r.__filtered__?r.__takeCount__=an(n,r.__takeCount__):r.__views__.push({size:an(n,4294967295),type:e+(r.__dir__<0?\"Right\":\"\")}),r},Fn.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}})),st([\"filter\",\"map\",\"takeWhile\"],(function(e,t){var n=t+1,r=1==n||3==n;Fn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Yi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),st([\"head\",\"last\"],(function(e,t){var n=\"take\"+(t?\"Right\":\"\");Fn.prototype[e]=function(){return this[n](1).value()[0]}})),st([\"initial\",\"tail\"],(function(e,t){var n=\"drop\"+(t?\"\":\"Right\");Fn.prototype[e]=function(){return this.__filtered__?new Fn(this):this[n](1)}})),Fn.prototype.compact=function(){return this.filter(Ws)},Fn.prototype.find=function(e){return this.filter(e).head()},Fn.prototype.findLast=function(e){return this.reverse().find(e)},Fn.prototype.invokeMap=Pr((function(e,t){return\"function\"==typeof e?new Fn(this):this.map((function(n){return yr(n,e,t)}))})),Fn.prototype.reject=function(e){return this.filter(Ca(Yi(e)))},Fn.prototype.slice=function(e,t){e=ns(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Fn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=ns(t))<0?n.dropRight(-t):n.take(t-e)),n)},Fn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Fn.prototype.toArray=function(){return this.take(4294967295)},sr(Fn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=An[r?\"take\"+(\"last\"==t?\"Right\":\"\"):t],o=r||/^find/.test(t);i&&(An.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,s=t instanceof Fn,u=a[0],c=s||Na(t),l=function(e){var t=i.apply(An,ht([e],a));return r&&p?t[0]:t};c&&n&&\"function\"==typeof u&&1!=u.length&&(s=c=!1);var p=this.__chain__,f=!!this.__actions__.length,d=o&&!p,h=s&&!f;if(!o&&c){t=h?t:new Fn(this);var m=e.apply(t,a);return m.__actions__.push({func:ta,args:[l],thisArg:void 0}),new On(m,p)}return d&&h?e.apply(this,a):(m=this.thru(l),d?r?m.value()[0]:m.value():m)})})),st([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],(function(e){var t=ve[e],n=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(e);An.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(Fn.prototype,(function(e,t){var n=An[t];if(n){var r=n.name+\"\";Ce.call(vn,r)||(vn[r]=[]),vn[r].push({name:t,func:n})}})),vn[Ai(void 0,2).name]=[{name:\"wrapper\",func:void 0}],Fn.prototype.clone=function(){var e=new Fn(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},Fn.prototype.reverse=function(){if(this.__filtered__){var e=new Fn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Fn.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__++]}},An.prototype.plant=function(e){for(var t,n=this;n instanceof _n;){var r=Ao(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},An.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Fn){var t=e;return this.__actions__.length&&(t=new Fn(this)),(t=t.reverse()).__actions__.push({func:ta,args:[Vo],thisArg:void 0}),new On(t,this.__chain__)}return this.thru(Vo)},An.prototype.toJSON=An.prototype.valueOf=An.prototype.value=function(){return ti(this.__wrapped__,this.__actions__)},An.prototype.first=An.prototype.head,$e&&(An.prototype[$e]=function(){return this}),An}();Ke._=Jt,void 0===(i=function(){return Jt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(41),n(169)(e))},function(e,t){function n(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:\"\",highlight:null,langPrefix:\"language-\",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}}e.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:\"\",highlight:null,langPrefix:\"language-\",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1},getDefaults:n,changeDefaults:function(t){e.exports.defaults=t}}},function(e,t,n){!function(e){var t=/MSIE \\d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={\"(\":\")>\",\")\":\"(<\",\"[\":\"]>\",\"]\":\"[<\",\"{\":\"}>\",\"}\":\"{<\",\"<\":\">>\",\">\":\"<<\"};function i(e){return e&&e.bracketRegex||/[(){}[\\]]/}function o(e,t,o){var s=e.getLineHandle(t.line),u=t.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var l=i(o),p=!c&&u>=0&&l.test(s.text.charAt(u))&&r[s.text.charAt(u)]||l.test(s.text.charAt(u+1))&&r[s.text.charAt(++u)];if(!p)return null;var f=\">\"==p.charAt(1)?1:-1;if(o&&o.strict&&f>0!=(u==t.ch))return null;var d=e.getTokenTypeAt(n(t.line,u+1)),h=a(e,n(t.line,u+(f>0?1:0)),f,d||null,o);return null==h?null:{from:n(t.line,u),to:h&&h.pos,match:h&&h.ch==p.charAt(0),forward:f>0}}function a(e,t,o,a,s){for(var u=s&&s.maxScanLineLength||1e4,c=s&&s.maxScanLines||1e3,l=[],p=i(s),f=o>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),d=t.line;d!=f;d+=o){var h=e.getLine(d);if(h){var m=o>0?0:h.length-1,g=o>0?h.length:-1;if(!(h.length>u))for(d==t.line&&(m=t.ch-(o<0?1:0));m!=g;m+=o){var y=h.charAt(m);if(p.test(y)&&(void 0===a||e.getTokenTypeAt(n(d,m+1))==a)){var v=r[y];if(v&&\">\"==v.charAt(1)==o>0)l.push(y);else{if(!l.length)return{pos:n(d,m),ch:y};l.pop()}}}}}return d-o!=(o>0?e.lastLine():e.firstLine())&&null}function s(e,r,i){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,s=[],u=e.listSelections(),c=0;ct.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));if(/\\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),\"keyword\"!=r.type||\"import\"!=r.string)return null;for(var i=n,o=Math.min(t.lastLine(),n+10);i<=o;++i){var a=t.getLine(i).indexOf(\";\");if(-1!=a)return{startCh:r.end,end:e.Pos(i,a)}}}var i,o=n.line,a=r(o);if(!a||r(o-1)||(i=r(o-2))&&i.end.line==o-1)return null;for(var s=a.end;;){var u=r(s.line+1);if(null==u)break;s=u.end}return{from:t.clipPos(e.Pos(o,a.startCh+1)),to:s}})),e.registerHelper(\"fold\",\"include\",(function(t,n){function r(n){if(nt.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));return/\\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),\"meta\"==r.type&&\"#include\"==r.string.slice(0,8)?r.start+8:void 0}var i=n.line,o=r(i);if(null==o||null!=r(i-1))return null;for(var a=i;null!=r(a+1);)++a;return{from:e.Pos(i,o+1),to:t.clipPos(e.Pos(a))}}))}(n(15))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(e){return function(t){return t.general.get(e)}};t.getFixedEndpoint=r(\"fixedEndpoint\"),t.getHistoryOpen=r(\"historyOpen\"),t.getConfigString=r(\"configString\")},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.setSettingsString=(r=i.createActions({SET_SETTINGS_STRING:function(e){return{settingsString:e}},SET_CONFIG_STRING:function(e){return{configString:e}},OPEN_HISTORY:function(){return{}},CLOSE_HISTORY:function(){return{}}})).setSettingsString,t.setConfigString=r.setConfigString,t.openHistory=r.openHistory,t.closeHistory=r.closeHistory},function(e,t,n){\"use strict\";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n-1)return i;var o=r.fields.indexOf(n);if(o>-1)return r.interfaces.length+o;var s=r.args.indexOf(n);if(s>-1)return r.interfaces.length+r.fields.length+s;var u=r.implementations.indexOf(n);return u>-1?r.interfaces.length+r.fields.length+r.args.length+u:0}t.getNewStack=function(e,t,n){for(var r=n.getIn([\"field\",\"path\"]),i=r.split(\"/\"),a=null,u=0,c=null,l=-1,p=function(){var n=i.shift();if(0===u)a=e[n],l=Object.keys(e).indexOf(n);else{var r=a.args.find((function(e){return e.name===n}));c=a,r?a=r:(a.type.ofType&&(a=o(a.type.ofType)),a.type&&(a=a.type),a=a.getFields()[n]||a.getInterfaces().find((function(e){return e.name===n})))}c&&(l=s(t,c,a)),u++};i.length>0;)p();return a?(a.path=r,a.parent=c,n.merge({y:l,field:a})):null},t.getDeeperType=o,t.getRootMap=function(e){return r(r(r({},e.getQueryType().getFields()),e.getMutationType&&e.getMutationType()&&e.getMutationType().getFields()),e.getSubscriptionType&&e.getSubscriptionType()&&e.getSubscriptionType().getFields())},t.serializeRoot=function(e){var t={queries:[],mutations:[],subscriptions:[]},n=e.getQueryType().getFields();t.queries=Object.keys(n).map((function(e){var t=n[e];return t.path=e,t.parent=null,t}));var r=e.getMutationType&&e.getMutationType();if(r){var i=r.getFields();t.mutations=Object.keys(i).map((function(e){var t=i[e];return t.path=e,t.parent=null,t}))}window.ss=e;var o=e.getSubscriptionType&&e.getSubscriptionType();if(o){var a=o.getFields();t.subscriptions=Object.keys(a).map((function(e){var t=a[e];return t.path=e,t.parent=null,t}))}return t},t.getElementRoot=function(e,t){var n=0;return e.queries[t+n]?e.queries[t+n]:(n+=e.queries.length,e.mutations[t-n]?e.mutations[t-n]:(n+=e.mutations.length,e.subscriptions[t-n]?e.subscriptions[t-n]:void 0))},t.serialize=a,t.getElement=function(e,t){var n=0;return e.interfaces[t+n]?e.interfaces[t+n]:(n+=e.interfaces.length,e.fields[t-n]?e.fields[t-n]:(n+=e.fields.length,e.args[t-n]?e.args[t-n]:(n+=e.args.length,e.implementations[t-n]?e.implementations[t-n]:void 0)))},t.getElementIndex=s},function(e,t,n){\"use strict\";function r(e,t){Error.call(this),this.name=\"YAMLException\",this.reason=e,this.mark=t,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\"}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(e){var t=this.name+\": \";return t+=this.reason||\"(unknown reason)\",!e&&this.mark&&(t+=\" \"+this.mark.toString()),t},e.exports=r},function(e,t,n){\"use strict\";var r=n(78);e.exports=new r({include:[n(217)],implicit:[n(501),n(502)],explicit:[n(503),n(508),n(509),n(510)]})},function(e,t,n){\"use strict\";var r=\"function\"===typeof Symbol&&\"function\"===typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):void 0;t.a=r},function(e,t,n){\"use strict\";function r(e,t){for(var n,r=/\\r\\n|[\\n\\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index=s)return new p(a.a.EOF,s,s,c,l,t);var d=r.charCodeAt(u);switch(d){case 33:return new p(a.a.BANG,u,u+1,c,l,t);case 35:return function(e,t,n,r,i){var o,s=e.body,u=t;do{o=s.charCodeAt(++u)}while(!isNaN(o)&&(o>31||9===o));return new p(a.a.COMMENT,t,u,n,r,i,s.slice(t+1,u))}(n,u,c,l,t);case 36:return new p(a.a.DOLLAR,u,u+1,c,l,t);case 38:return new p(a.a.AMP,u,u+1,c,l,t);case 40:return new p(a.a.PAREN_L,u,u+1,c,l,t);case 41:return new p(a.a.PAREN_R,u,u+1,c,l,t);case 46:if(46===r.charCodeAt(u+1)&&46===r.charCodeAt(u+2))return new p(a.a.SPREAD,u,u+3,c,l,t);break;case 58:return new p(a.a.COLON,u,u+1,c,l,t);case 61:return new p(a.a.EQUALS,u,u+1,c,l,t);case 64:return new p(a.a.AT,u,u+1,c,l,t);case 91:return new p(a.a.BRACKET_L,u,u+1,c,l,t);case 93:return new p(a.a.BRACKET_R,u,u+1,c,l,t);case 123:return new p(a.a.BRACE_L,u,u+1,c,l,t);case 124:return new p(a.a.PIPE,u,u+1,c,l,t);case 125:return new p(a.a.BRACE_R,u,u+1,c,l,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,s=o.length,u=t+1,c=0;for(;u!==s&&!isNaN(c=o.charCodeAt(u))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++u;return new p(a.a.NAME,t,u,n,r,i,o.slice(t,u))}(n,u,c,l,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,o,s){var u=e.body,c=n,l=t,d=!1;45===c&&(c=u.charCodeAt(++l));if(48===c){if((c=u.charCodeAt(++l))>=48&&c<=57)throw Object(i.a)(e,l,\"Invalid number, unexpected digit after 0: \".concat(f(c),\".\"))}else l=h(e,l,c),c=u.charCodeAt(l);46===c&&(d=!0,c=u.charCodeAt(++l),l=h(e,l,c),c=u.charCodeAt(l));69!==c&&101!==c||(d=!0,43!==(c=u.charCodeAt(++l))&&45!==c||(c=u.charCodeAt(++l)),l=h(e,l,c),c=u.charCodeAt(l));if(46===c||69===c||101===c)throw Object(i.a)(e,l,\"Invalid number, expected digit but got: \".concat(f(c),\".\"));return new p(d?a.a.FLOAT:a.a.INT,t,l,r,o,s,u.slice(t,l))}(n,u,d,c,l,t);case 34:return 34===r.charCodeAt(u+1)&&34===r.charCodeAt(u+2)?function(e,t,n,r,s,u){var c=e.body,l=t+3,d=l,h=0,m=\"\";for(;l=48&&a<=57){do{a=r.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw Object(i.a)(e,o,\"Invalid number, expected digit but got: \".concat(f(a),\".\"))}function m(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}Object(r.a)(p,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return u})),n.d(t,\"b\",(function(){return c}));var r=n(1),i=n(23),o=n(67);function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var s=function(){function e(e,t){this._ast=e,this._errors=[],this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}var t=e.prototype;return t.reportError=function(e){this._errors.push(e),this._onError&&this._onError(e)},t.getErrors=function(){return this._errors},t.getDocument=function(){return this._ast},t.getFragment=function(e){var t=this._fragments;return t||(this._fragments=t=this.getDocument().definitions.reduce((function(e,t){return t.kind===r.a.FRAGMENT_DEFINITION&&(e[t.name.value]=t),e}),Object.create(null))),t[e]},t.getFragmentSpreads=function(e){var t=this._fragmentSpreads.get(e);if(!t){t=[];for(var n=[e];0!==n.length;)for(var i=0,o=n.pop().selections;i1)for(var n=1;n0&&(e.responses.size>20||e.responses.get(0).date.length>2e3)&&(t.responses=a.List()),a.merge(e,t)},t}(a.Record(l.getDefaultSession(\"\")));t.Session=h;var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(a.Record({resultID:\"\",date:\"\",time:new Date,isSchemaError:!1}));function g(e){return void 0===e&&(e=\"\"),new h({endpoint:e}).set(\"id\",p())}t.ResponseRecord=m,t.sessionFromTab=function(e){return new h(o(o({},e),{headers:e.headers?JSON.stringify(e.headers,null,2):\"\",responses:e.responses&&e.responses.length>0?a.List(e.responses.map((function(e){return new m({date:e})}))):a.List()})).set(\"id\",p())};var y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(a.Record({sessions:a.OrderedMap({}),selectedSessionId:\"\",sessionCount:0,headers:\"\"}));function v(e){var t,n=new h({endpoint:e||\"\"});return new y({sessions:a.OrderedMap((t={},t[n.id]=n,t)),selectedSessionId:n.id,sessionCount:1})}t.SessionState=y,t.makeSessionState=v;var b=s.handleActions(((r={})[s.combineActions(u.editQuery,u.editVariables,u.editHeaders,u.editEndpoint,u.setEditorFlex,u.openQueryVariables,u.closeQueryVariables,u.setVariableEditorHeight,u.setResponseTracingHeight,u.setTracingSupported,u.setVariableToType,u.setOperations,u.setOperationName,u.setSubscriptionActive,u.startQuery,u.setQueryTypes,u.editName,u.setResponseExtensions,u.setCurrentQueryStartTime,u.setCurrentQueryEndTime)]=function(e,t){var n=t.payload,r=Object.keys(n),i=1===r.length?r[0]:r[1],o=[\"sessions\",c.getSelectedSessionId(e),i];return e.setIn(o,n[i])},r.START_QUERY=function(e){return e.setIn([\"sessions\",c.getSelectedSessionId(e),\"queryRunning\"],!0).setIn([\"sessions\",c.getSelectedSessionId(e),\"responseExtensions\"],void 0)},r.CLOSE_TRACING=function(e,t){var n=t.payload.responseTracingHeight;return e.mergeDeepIn([\"sessions\",c.getSelectedSessionId(e)],a.Map({responseTracingHeight:n,responseTracingOpen:!1}))},r.TOGGLE_TRACING=function(e){var t=[\"sessions\",c.getSelectedSessionId(e),\"responseTracingOpen\"];return e.setIn(t,!e.getIn(t))},r.OPEN_TRACING=function(e,t){var n=t.payload.responseTracingHeight;return e.mergeDeepIn([\"sessions\",c.getSelectedSessionId(e)],a.Map({responseTracingHeight:n,responseTracingOpen:!0}))},r.CLOSE_VARIABLES=function(e,t){var n=t.payload.variableEditorHeight;return e.mergeDeepIn([\"sessions\",c.getSelectedSessionId(e)],a.Map({variableEditorHeight:n,variableEditorOpen:!1}))},r.OPEN_VARIABLES=function(e,t){var n=t.payload.variableEditorHeight;return e.mergeDeepIn([\"sessions\",c.getSelectedSessionId(e)],a.Map({variableEditorHeight:n,variableEditorOpen:!0}))},r.TOGGLE_VARIABLES=function(e){var t=[\"sessions\",c.getSelectedSessionId(e),\"variableEditorOpen\"];return e.setIn(t,!e.getIn(t))},r.ADD_RESPONSE=function(e,t){var n=t.payload,r=n.response,i=n.sessionId;return e.updateIn([\"sessions\",i,\"responses\"],(function(e){return e.push(r)}))},r.SET_RESPONSE=function(e,t){var n=t.payload,r=n.response,i=n.sessionId;return e.setIn([\"sessions\",i,\"responses\"],a.List([r]))},r.CLEAR_RESPONSES=function(e){return e.setIn([\"sessions\",c.getSelectedSessionId(e),\"responses\"],a.List())},r.FETCH_SCHEMA=function(e){return e.setIn([\"sessions\",c.getSelectedSessionId(e),\"isReloadingSchema\"],!0)},r.REFETCH_SCHEMA=function(e){return e.setIn([\"sessions\",c.getSelectedSessionId(e),\"isReloadingSchema\"],!0)},r.STOP_QUERY=function(e,t){var n=t.payload.sessionId;return e.mergeIn([\"sessions\",n],{queryRunning:!1,subscriptionActive:!1})},r.SET_SCROLL_TOP=function(e,t){var n=t.payload,r=n.sessionId,i=n.scrollTop;return e.sessions.get(r)?e.setIn([\"sessions\",r,\"scrollTop\"],i):e},r.SCHEMA_FETCHING_SUCCESS=function(e,t){var n=t.payload,r=e.get(\"sessions\").map((function(e){if(e.endpoint===n.endpoint){var t={tracingSupported:n.tracingSupported,isReloadingSchema:!1,endpointUnreachable:!1},r=e.responses?e.responses.first():null;return r&&1===e.responses.size&&r.isSchemaError&&(t.responses=a.List([])),e.merge(a.Map(t))}return e}));return e.set(\"sessions\",r)},r.SET_ENDPOINT_UNREACHABLE=function(e,t){var n=t.payload,r=e.get(\"sessions\").map((function(e,t){return e.get(\"endpoint\")===n.endpoint?e.merge(a.Map({endpointUnreachable:!0})):e}));return e.set(\"sessions\",r)},r.SCHEMA_FETCHING_ERROR=function(e,t){var n=t.payload,r=e.get(\"sessions\").map((function(e,t){if(e.get(\"endpoint\")===n.endpoint){var r=e.responses;if(r.size<=1){var i=e.responses?e.responses.first():null;i&&!i.isSchemaError||(i=new m({resultID:p(),isSchemaError:!0,date:JSON.stringify(f.formatError(n.error,!0),null,2),time:new Date})),r=a.List([i])}return e.merge(a.Map({isReloadingSchema:!1,endpointUnreachable:!0,responses:r}))}return e}));return e.set(\"sessions\",r)},r.SET_SELECTED_SESSION_ID=function(e,t){var n=t.payload.sessionId;return e.set(\"selectedSessionId\",n)},r.OPEN_SETTINGS_TAB=function(e){var t=e,n=e.sessions.find((function(e){return e.get(\"isSettingsTab\",!1)}));return n||(n=g().merge({isSettingsTab:!0,isFile:!0,name:\"Settings\",changed:!1}),t=t.setIn([\"sessions\",n.id],n)),t.set(\"selectedSessionId\",n.id)},r.OPEN_CONFIG_TAB=function(e){var t=e,n=e.sessions.find((function(e){return e.get(\"isConfigTab\",!1)}));return n||(n=g().merge({isConfigTab:!0,isFile:!0,name:\"GraphQL Config\",changed:!1}),t=t.setIn([\"sessions\",n.id],n)),t.set(\"selectedSessionId\",n.id)},r.NEW_FILE_TAB=function(e,t){var n=t.payload,r=n.fileName,i=n.filePath,o=n.file,a=e,s=e.sessions.find((function(e){return e.get(\"name\",\"\")===r}));return s||(s=g().merge({isFile:!0,name:r,changed:!1,file:o,filePath:i}),a=a.setIn([\"sessions\",s.id],s)),a.set(\"selectedSessionId\",s.id).set(\"sessionCount\",a.sessions.size)},r.NEW_SESSION=function(e,t){var n=t.payload,r=n.reuseHeaders,i=n.endpoint,o=e.sessions.first(),a={query:\"\",isReloadingSchema:o.isReloadingSchema,endpointUnreachable:o.endpointUnreachable};o.endpointUnreachable&&(a.responses=o.responses);var s=g(i||o.endpoint).merge(a);if(r){var u=c.getSelectedSessionId(e),l=e.sessions.get(u);s=s.set(\"headers\",l.headers)}else s=s.set(\"headers\",e.headers);return e.setIn([\"sessions\",s.id],s).set(\"selectedSessionId\",s.id).set(\"sessionCount\",e.sessions.size+1)},r.INJECT_HEADERS=function(e,t){var n=t.payload,r=n.headers,i=n.endpoint;if(!r||\"\"===r||0===Object.keys(r).length)return e;var o=\"string\"===typeof r?r:JSON.stringify(r,null,2),a=c.getSelectedSessionId(e),s=e.set(\"headers\",o),u=e.sessions.get(a);if(u.headers===o)return s;if(u.query===l.defaultQuery)return s.setIn([\"sessions\",a,\"headers\"],o);var p=g(i).set(\"headers\",o);return s.setIn([\"sessions\",p.id],p).set(\"selectedSessionId\",p.id).set(\"sessionCount\",e.sessions.size+1)},r.DUPLICATE_SESSION=function(e,t){var n=t.payload.session.set(\"id\",p());return e.setIn([\"sessions\",n.id],n).set(\"selectedSessionId\",n.id).set(\"sessionCount\",e.sessions.size+1)},r.NEW_SESSION_FROM_QUERY=function(e,t){var n=t.payload.query,r=g().set(\"query\",n);return e.setIn([\"sessions\",r.id],r).set(\"sessionCount\",e.sessions.size+1)},r.CLOSE_SELECTED_TAB=function(e){return E(e,c.getSelectedSessionId(e)).set(\"sessionCount\",e.sessions.size-1)},r.SELECT_NEXT_TAB=function(e){var t=c.getSelectedSessionId(e),n=e.sessions.size,r=e.sessions.keySeq(),i=r.indexOf(t);return i+1=0?e.set(\"selectedSessionId\",r.get(i-1)):e.set(\"selectedSessionId\",r.get(n-1))},r.SELECT_TAB_INDEX=function(e,t){var n=t.payload.index,r=e.sessions.keySeq();return e.set(\"selectedSessionId\",r.get(n))},r.SELECT_TAB=function(e,t){var n=t.payload.sessionId;return e.set(\"selectedSessionId\",n)},r.CLOSE_TAB=function(e,t){return E(e,t.payload.sessionId).set(\"sessionCount\",e.sessions.size-1)},r.REORDER_TABS=function(e,t){for(var n=t.payload,r=n.src,i=n.dest,o=e.sessions.toIndexedSeq(),s=[],u=0;u0?n.set(\"selectedSessionId\",e.sessions.first().id):n}},function(e,t,n){\"use strict\";function r(e){return(r=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=r.length)for(var i=n-r.length;1+i--;)r.push(void 0);return r.splice(n,0,r.splice(t,1)[0]),r},t.omit=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rt)return t;return n},t.getElementMargin=function(e){var t=window.getComputedStyle(e);return{top:a(t.marginTop),right:a(t.marginRight),bottom:a(t.marginBottom),left:a(t.marginLeft)}},t.provideDisplayName=function(e,t){var n=t.displayName||t.name;return n?e+\"(\"+n+\")\":e},t.getPosition=function(e){return e.touches&&e.touches.length?{x:e.touches[0].pageX,y:e.touches[0].pageY}:e.changedTouches&&e.changedTouches.length?{x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY}:{x:e.pageX,y:e.pageY}},t.isTouchEvent=function(e){return e.touches&&e.touches.length||e.changedTouches&&e.changedTouches.length},t.getEdgeOffset=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{top:0,left:0};if(t){var i={top:r.top+t.offsetTop,left:r.left+t.offsetLeft};return t.parentNode!==n?e(t.parentNode,n,i):i}},t.getLockPixelOffset=function(e){var t=e.lockOffset,n=e.width,r=e.height,i=t,a=t,s=\"px\";if(\"string\"===typeof t){var u=/^[+-]?\\d*(?:\\.\\d*)?(px|%)$/.exec(t);(0,o.default)(null!==u,'lockOffset value should be a number or a string of a number followed by \"px\" or \"%\". Given %s',t),i=a=parseFloat(t),s=u[1]}(0,o.default)(isFinite(i)&&isFinite(a),\"lockOffset value should be a finite. Given %s\",t),\"%\"===s&&(i=i*n/100,a=a*r/100);return{x:i,y:a}};var r,i=n(37),o=(r=i)&&r.__esModule?r:{default:r};t.events={start:[\"touchstart\",\"mousedown\"],move:[\"touchmove\",\"mousemove\"],end:[\"touchend\",\"touchcancel\",\"mouseup\"]},t.vendorPrefix=function(){if(\"undefined\"===typeof window||\"undefined\"===typeof document)return\"\";var e=window.getComputedStyle(document.documentElement,\"\")||[\"-moz-hidden-iframe\"],t=(Array.prototype.slice.call(e).join(\"\").match(/-(moz|webkit|ms)-/)||\"\"===e.OLink&&[\"\",\"o\"])[1];switch(t){case\"ms\":return\"ms\";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):\"\"}}();function a(e){return\"px\"===e.substr(-2)?parseFloat(e):0}},function(e,t){e.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/},function(e,t,n){\"use strict\";e.exports.encode=n(312),e.exports.decode=n(313),e.exports.format=n(314),e.exports.parse=n(315)},function(e,t,n){!function(e){\"use strict\";e.defineOption(\"foldGutter\",!1,(function(t,r,i){var o;i&&i!=e.Init&&(t.clearGutter(t.state.foldGutter.options.gutter),t.state.foldGutter=null,t.off(\"gutterClick\",u),t.off(\"changes\",c),t.off(\"viewportChange\",l),t.off(\"fold\",p),t.off(\"unfold\",p),t.off(\"swapDoc\",c)),r&&(t.state.foldGutter=new n((!0===(o=r)&&(o={}),null==o.gutter&&(o.gutter=\"CodeMirror-foldgutter\"),null==o.indicatorOpen&&(o.indicatorOpen=\"CodeMirror-foldgutter-open\"),null==o.indicatorFolded&&(o.indicatorFolded=\"CodeMirror-foldgutter-folded\"),o)),s(t),t.on(\"gutterClick\",u),t.on(\"changes\",c),t.on(\"viewportChange\",l),t.on(\"fold\",p),t.on(\"unfold\",p),t.on(\"swapDoc\",c))}));var t=e.Pos;function n(e){this.options=e,this.from=this.to=0}function r(e,n){for(var r=e.findMarks(t(n,0),t(n+1,0)),i=0;i=c){if(f&&a&&f.test(a.className))return;o=i(s.indicatorOpen)}}(o||a)&&e.setGutterMarker(n,s.gutter,o)}))}function a(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}function s(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation((function(){o(e,t.from,t.to)})),n.from=t.from,n.to=t.to)}function u(e,n,i){var o=e.state.foldGutter;if(o){var a=o.options;if(i==a.gutter){var s=r(e,n);s?s.clear():e.foldCode(t(n,0),a)}}}function c(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){s(e)}),n.foldOnChangeTimeSpan||600)}}function l(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?s(e):e.operation((function(){n.fromt.to&&(o(e,t.to,n.to),t.to=n.to)}))}),n.updateViewportTimeSpan||400)}}function p(e,t){var n=e.state.foldGutter;if(n){var r=t.line;r>=n.from&&r '+e.phrase(\"(Use line:column or scroll% syntax)\")+\"\"}(e),e.phrase(\"Jump to line:\"),n.line+1+\":\"+n.ch,(function(r){var i;if(r)if(i=/^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(r))e.setCursor(t(e,i[1]),Number(i[2]));else if(i=/^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(r)){var o=Math.round(e.lineCount()*Number(i[1])/100);/^[-+]/.test(i[1])&&(o=n.line+o+1),e.setCursor(o-1,n.ch)}else(i=/^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(r))&&e.setCursor(t(e,i[1]),n.ch)}))},e.keyMap.default[\"Alt-G\"]=\"jumpToLine\"}(n(15),n(71))},function(e,t,n){!function(e){\"use strict\";var t=e.commands,n=e.Pos;function r(t,r){t.extendSelectionsBy((function(i){return t.display.shift||t.doc.extend||i.empty()?function(t,r,i){if(i<0&&0==r.ch)return t.clipPos(n(r.line-1));var o=t.getLine(r.line);if(i>0&&r.ch>=o.length)return t.clipPos(n(r.line+1,0));for(var a,s=\"start\",u=r.ch,c=u,l=i<0?0:o.length,p=0;c!=l;c+=i,p++){var f=o.charAt(i<0?c-1:c),d=\"_\"!=f&&e.isWordChar(f)?\"w\":\"o\";if(\"w\"==d&&f.toUpperCase()==f&&(d=\"W\"),\"start\"==s)\"o\"!=d?(s=\"in\",a=d):u=c+i;else if(\"in\"==s&&a!=d){if(\"w\"==a&&\"W\"==d&&i<0&&c--,\"W\"==a&&\"w\"==d&&i>0){if(c==u+1){a=\"w\";continue}c--}break}}return n(r.line,c)}(t.doc,i.head,r):r<0?i.from():i.to()}))}function i(t,r){if(t.isReadOnly())return e.Pass;t.operation((function(){for(var e=t.listSelections().length,i=[],o=-1,a=0;a=0;s--){var c=r[i[s]];if(!(u&&e.cmpPos(c.head,u)>0)){var l=o(t,c.head);u=l.from,t.replaceRange(n(l.word),l.from,l.to)}}}))}function p(t){var n=t.getCursor(\"from\"),r=t.getCursor(\"to\");if(0==e.cmpPos(n,r)){var i=o(t,n);if(!i.word)return;n=i.from,r=i.to}return{from:n,to:r,query:t.getRange(n,r),word:i}}function f(e,t){var r=p(e);if(r){var i=r.query,o=e.getSearchCursor(i,t?r.to:r.from);(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):(o=e.getSearchCursor(i,t?n(e.firstLine(),0):e.clipPos(n(e.lastLine()))),(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):r.word&&e.setSelection(r.from,r.to))}}t.goSubwordLeft=function(e){r(e,-1)},t.goSubwordRight=function(e){r(e,1)},t.scrollLineUp=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top+t.clientHeight,\"local\");e.getCursor().line>=n&&e.execCommand(\"goLineUp\")}e.scrollTo(null,t.top-e.defaultTextHeight())},t.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,\"local\")+1;e.getCursor().line<=n&&e.execCommand(\"goLineDown\")}e.scrollTo(null,t.top+e.defaultTextHeight())},t.splitSelectionByLine=function(e){for(var t=e.listSelections(),r=[],i=0;io.line&&s==a.line&&0==a.ch||r.push({anchor:s==o.line?o:n(s,0),head:s==a.line?a:n(s)});e.setSelections(r,0)},t.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},t.selectLine=function(e){for(var t=e.listSelections(),r=[],i=0;io?i.push(c,l):i.length&&(i[i.length-1]=l),o=l}t.operation((function(){for(var e=0;et.lastLine()?t.replaceRange(\"\\n\"+s,n(t.lastLine()),null,\"+swapLine\"):t.replaceRange(s+\"\\n\",n(o,0),null,\"+swapLine\")}t.setSelections(a),t.scrollIntoView()}))},t.swapLineDown=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.lastLine()+1,a=r.length-1;a>=0;a--){var s=r[a],u=s.to().line+1,c=s.from().line;0!=s.to().ch||s.empty()||u--,u=0;e-=2){var r=i[e],o=i[e+1],a=t.getLine(r);r==t.lastLine()?t.replaceRange(\"\",n(r-1),n(r),\"+swapLine\"):t.replaceRange(\"\",n(r,0),n(r+1,0),\"+swapLine\"),t.replaceRange(a+\"\\n\",n(o,0),null,\"+swapLine\")}t.scrollIntoView()}))},t.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},t.joinLines=function(e){for(var t=e.listSelections(),r=[],i=0;i=0;o--){var a=r[o].head,s=t.getRange({line:a.line,ch:0},a),u=e.countColumn(s,null,t.getOption(\"tabSize\")),c=t.findPosH(a,-1,\"char\",!1);if(s&&!/\\S/.test(s)&&u%i==0){var l=new n(a.line,e.findColumn(s,u-i,i));l.ch!=a.ch&&(c=l)}t.replaceRange(\"\",c,a,\"+delete\")}}))},t.delLineRight=function(e){e.operation((function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange(\"\",t[r].anchor,n(t[r].to().line),\"+delete\");e.scrollIntoView()}))},t.upcaseAtCursor=function(e){l(e,(function(e){return e.toUpperCase()}))},t.downcaseAtCursor=function(e){l(e,(function(e){return e.toLowerCase()}))},t.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},t.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},t.deleteToSublimeMark=function(t){var n=t.state.sublimeMark&&t.state.sublimeMark.find();if(n){var r=t.getCursor(),i=n;if(e.cmpPos(r,i)>0){var o=i;i=r,r=o}t.state.sublimeKilled=t.getRange(r,i),t.replaceRange(\"\",r,i)}},t.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},t.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,\"paste\")},t.showInCenter=function(e){var t=e.cursorCoords(null,\"local\");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},t.findUnder=function(e){f(e,!0)},t.findUnderPrevious=function(e){f(e,!1)},t.findAllUnder=function(e){var t=p(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],i=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&i++;e.setSelections(r,i)}};var d=e.keyMap;d.macSublime={\"Cmd-Left\":\"goLineStartSmart\",\"Shift-Tab\":\"indentLess\",\"Shift-Ctrl-K\":\"deleteLine\",\"Alt-Q\":\"wrapLines\",\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Ctrl-Alt-Up\":\"scrollLineUp\",\"Ctrl-Alt-Down\":\"scrollLineDown\",\"Cmd-L\":\"selectLine\",\"Shift-Cmd-L\":\"splitSelectionByLine\",Esc:\"singleSelectionTop\",\"Cmd-Enter\":\"insertLineAfter\",\"Shift-Cmd-Enter\":\"insertLineBefore\",\"Cmd-D\":\"selectNextOccurrence\",\"Shift-Cmd-Space\":\"selectScope\",\"Shift-Cmd-M\":\"selectBetweenBrackets\",\"Cmd-M\":\"goToBracket\",\"Cmd-Ctrl-Up\":\"swapLineUp\",\"Cmd-Ctrl-Down\":\"swapLineDown\",\"Cmd-/\":\"toggleCommentIndented\",\"Cmd-J\":\"joinLines\",\"Shift-Cmd-D\":\"duplicateLine\",F5:\"sortLines\",\"Cmd-F5\":\"sortLinesInsensitive\",F2:\"nextBookmark\",\"Shift-F2\":\"prevBookmark\",\"Cmd-F2\":\"toggleBookmark\",\"Shift-Cmd-F2\":\"clearBookmarks\",\"Alt-F2\":\"selectBookmarks\",Backspace:\"smartBackspace\",\"Cmd-K Cmd-D\":\"skipAndSelectNextOccurrence\",\"Cmd-K Cmd-K\":\"delLineRight\",\"Cmd-K Cmd-U\":\"upcaseAtCursor\",\"Cmd-K Cmd-L\":\"downcaseAtCursor\",\"Cmd-K Cmd-Space\":\"setSublimeMark\",\"Cmd-K Cmd-A\":\"selectToSublimeMark\",\"Cmd-K Cmd-W\":\"deleteToSublimeMark\",\"Cmd-K Cmd-X\":\"swapWithSublimeMark\",\"Cmd-K Cmd-Y\":\"sublimeYank\",\"Cmd-K Cmd-C\":\"showInCenter\",\"Cmd-K Cmd-G\":\"clearBookmarks\",\"Cmd-K Cmd-Backspace\":\"delLineLeft\",\"Cmd-K Cmd-1\":\"foldAll\",\"Cmd-K Cmd-0\":\"unfoldAll\",\"Cmd-K Cmd-J\":\"unfoldAll\",\"Ctrl-Shift-Up\":\"addCursorToPrevLine\",\"Ctrl-Shift-Down\":\"addCursorToNextLine\",\"Cmd-F3\":\"findUnder\",\"Shift-Cmd-F3\":\"findUnderPrevious\",\"Alt-F3\":\"findAllUnder\",\"Shift-Cmd-[\":\"fold\",\"Shift-Cmd-]\":\"unfold\",\"Cmd-I\":\"findIncremental\",\"Shift-Cmd-I\":\"findIncrementalReverse\",\"Cmd-H\":\"replace\",F3:\"findNext\",\"Shift-F3\":\"findPrev\",fallthrough:\"macDefault\"},e.normalizeKeyMap(d.macSublime),d.pcSublime={\"Shift-Tab\":\"indentLess\",\"Shift-Ctrl-K\":\"deleteLine\",\"Alt-Q\":\"wrapLines\",\"Ctrl-T\":\"transposeChars\",\"Alt-Left\":\"goSubwordLeft\",\"Alt-Right\":\"goSubwordRight\",\"Ctrl-Up\":\"scrollLineUp\",\"Ctrl-Down\":\"scrollLineDown\",\"Ctrl-L\":\"selectLine\",\"Shift-Ctrl-L\":\"splitSelectionByLine\",Esc:\"singleSelectionTop\",\"Ctrl-Enter\":\"insertLineAfter\",\"Shift-Ctrl-Enter\":\"insertLineBefore\",\"Ctrl-D\":\"selectNextOccurrence\",\"Shift-Ctrl-Space\":\"selectScope\",\"Shift-Ctrl-M\":\"selectBetweenBrackets\",\"Ctrl-M\":\"goToBracket\",\"Shift-Ctrl-Up\":\"swapLineUp\",\"Shift-Ctrl-Down\":\"swapLineDown\",\"Ctrl-/\":\"toggleCommentIndented\",\"Ctrl-J\":\"joinLines\",\"Shift-Ctrl-D\":\"duplicateLine\",F9:\"sortLines\",\"Ctrl-F9\":\"sortLinesInsensitive\",F2:\"nextBookmark\",\"Shift-F2\":\"prevBookmark\",\"Ctrl-F2\":\"toggleBookmark\",\"Shift-Ctrl-F2\":\"clearBookmarks\",\"Alt-F2\":\"selectBookmarks\",Backspace:\"smartBackspace\",\"Ctrl-K Ctrl-D\":\"skipAndSelectNextOccurrence\",\"Ctrl-K Ctrl-K\":\"delLineRight\",\"Ctrl-K Ctrl-U\":\"upcaseAtCursor\",\"Ctrl-K Ctrl-L\":\"downcaseAtCursor\",\"Ctrl-K Ctrl-Space\":\"setSublimeMark\",\"Ctrl-K Ctrl-A\":\"selectToSublimeMark\",\"Ctrl-K Ctrl-W\":\"deleteToSublimeMark\",\"Ctrl-K Ctrl-X\":\"swapWithSublimeMark\",\"Ctrl-K Ctrl-Y\":\"sublimeYank\",\"Ctrl-K Ctrl-C\":\"showInCenter\",\"Ctrl-K Ctrl-G\":\"clearBookmarks\",\"Ctrl-K Ctrl-Backspace\":\"delLineLeft\",\"Ctrl-K Ctrl-1\":\"foldAll\",\"Ctrl-K Ctrl-0\":\"unfoldAll\",\"Ctrl-K Ctrl-J\":\"unfoldAll\",\"Ctrl-Alt-Up\":\"addCursorToPrevLine\",\"Ctrl-Alt-Down\":\"addCursorToNextLine\",\"Ctrl-F3\":\"findUnder\",\"Shift-Ctrl-F3\":\"findUnderPrevious\",\"Alt-F3\":\"findAllUnder\",\"Shift-Ctrl-[\":\"fold\",\"Shift-Ctrl-]\":\"unfold\",\"Ctrl-I\":\"findIncremental\",\"Shift-Ctrl-I\":\"findIncrementalReverse\",\"Ctrl-H\":\"replace\",F3:\"findNext\",\"Shift-F3\":\"findPrev\",fallthrough:\"pcDefault\"},e.normalizeKeyMap(d.pcSublime);var h=d.default==d.macDefault;d.sublime=h?d.macSublime:d.pcSublime}(n(15),n(70),n(88))},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.share=(r=i.createActions({TOGGLE_SHARE_HISTORY:function(){return{}},TOGGLE_SHARE_HEADERS:function(){return{}},TOGGLE_SHARE_ALL_TABS:function(){return{}},SHARE:function(){return{}},SET_SHARE_URL:function(e){return{shareUrl:e}}})).share,t.toggleShareHistory=r.toggleShareHistory,t.toggleShareHeaders=r.toggleShareHeaders,t.toggleShareAllTabs=r.toggleShareAllTabs,t.setShareUrl=r.setShareUrl},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.selectWorkspace=(r=i.createActions({SELECT_WORKSPACE:function(e){return{workspace:e}},INIT_STATE:function(e,t){return{workspaceId:e,endpoint:t}},INJECT_STATE:function(e){return{state:e}},INJECT_TABS:function(e){return{tabs:e}}})).selectWorkspace,t.initState=r.initState,t.injectState=r.injectState,t.injectTabs=r.injectTabs},function(e,t,n){\"use strict\";var r=n(78);e.exports=r.DEFAULT=new r({include:[n(94)],explicit:[n(511),n(512),n(513)]})},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"actionChannel\",(function(){return i.p})),n.d(t,\"all\",(function(){return i.B})),n.d(t,\"apply\",(function(){return i.a})),n.d(t,\"call\",(function(){return i.o})),n.d(t,\"cancel\",(function(){return i.n})),n.d(t,\"cancelled\",(function(){return i.H})),n.d(t,\"cps\",(function(){return i.D})),n.d(t,\"delay\",(function(){return i.v})),n.d(t,\"effectTypes\",(function(){return i.x})),n.d(t,\"flush\",(function(){return i.I})),n.d(t,\"fork\",(function(){return i.m})),n.d(t,\"getContext\",(function(){return i.J})),n.d(t,\"join\",(function(){return i.F})),n.d(t,\"put\",(function(){return i.z})),n.d(t,\"putResolve\",(function(){return i.A})),n.d(t,\"race\",(function(){return i.w})),n.d(t,\"select\",(function(){return i.G})),n.d(t,\"setContext\",(function(){return i.K})),n.d(t,\"spawn\",(function(){return i.E})),n.d(t,\"take\",(function(){return i.l})),n.d(t,\"takeMaybe\",(function(){return i.y})),n.d(t,\"debounce\",(function(){return E})),n.d(t,\"retry\",(function(){return b})),n.d(t,\"takeEvery\",(function(){return m})),n.d(t,\"takeLatest\",(function(){return g})),n.d(t,\"takeLeading\",(function(){return y})),n.d(t,\"throttle\",(function(){return v}));n(16),n(42);var r=n(10),i=n(6),o=(n(115),function(e){return{done:!0,value:e}}),a={};function s(e){return Object(r.b)(e)?\"channel\":Object(r.l)(e)?String(e):Object(r.d)(e)?e.name:String(e)}function u(e,t,n){var r,s,u,c=t;function l(t,n){if(c===a)return o(t);if(n&&!s)throw c=a,n;r&&r(t);var i=n?e[s](n):e[c]();return c=i.nextState,u=i.effect,r=i.stateUpdater,s=i.errorState,c===a?o(t):u}return Object(i.ab)(l,(function(e){return l(null,e)}),n)}function c(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o2?n-2:0),o=2;o2?n-2:0),o=2;o3?r-3:0),a=3;a3?o-3:0),c=3;c3?r-3:0),a=3;a2?n-2:0),o=2;o2?n-2:0),o=2;o2?n-2:0),o=2;o3?r-3:0),a=3;a3?r-3:0),a=3;a3?r-3:0),a=3;a0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var s=i.shift();s&&s.applyMiddleware.apply(o,[e,t])}else n(e)}()}))},e.prototype.use=function(e){var t=this;return e.map((function(e){if(\"function\"!==typeof e.applyMiddleware)throw new Error(\"Middleware must implement the applyMiddleware function.\");t.middlewares.push(e)})),this},e.prototype.getConnectionParams=function(e){return function(){return new Promise((function(t,n){if(\"function\"===typeof e)try{return t(e.call(null))}catch(r){return n(r)}t(e)}))}},e.prototype.executeOperation=function(e,t){var n=this;null===this.client&&this.connect();var r=this.generateOperationId();return this.operations[r]={options:e,handler:t},this.applyMiddlewares(e).then((function(e){n.checkOperationOptions(e,t),n.operations[r]&&(n.operations[r]={options:e,handler:t},n.sendMessage(r,y.default.GQL_START,e))})).catch((function(e){n.unsubscribe(r),t(n.formatErrors(e))})),r},e.prototype.getObserver=function(e,t,n){return\"function\"===typeof e?{next:function(t){return e(t)},error:function(e){return t&&t(e)},complete:function(){return n&&n()}}:e},e.prototype.createMaxConnectTimeGenerator=function(){var e=this.wsTimeout;return new u({min:1e3,max:e,factor:1.2})},e.prototype.clearCheckConnectionInterval=function(){this.checkConnectionIntervalId&&(clearInterval(this.checkConnectionIntervalId),this.checkConnectionIntervalId=null)},e.prototype.clearMaxConnectTimeout=function(){this.maxConnectTimeoutId&&(clearTimeout(this.maxConnectTimeoutId),this.maxConnectTimeoutId=null)},e.prototype.clearTryReconnectTimeout=function(){this.tryReconnectTimeoutId&&(clearTimeout(this.tryReconnectTimeoutId),this.tryReconnectTimeoutId=null)},e.prototype.clearInactivityTimeout=function(){this.inactivityTimeoutId&&(clearTimeout(this.inactivityTimeoutId),this.inactivityTimeoutId=null)},e.prototype.setInactivityTimeout=function(){var e=this;this.inactivityTimeout>0&&0===Object.keys(this.operations).length&&(this.inactivityTimeoutId=setTimeout((function(){0===Object.keys(e.operations).length&&e.close()}),this.inactivityTimeout))},e.prototype.checkOperationOptions=function(e,t){var n=e.query,r=e.variables,i=e.operationName;if(!n)throw new Error(\"Must provide a query.\");if(!t)throw new Error(\"Must provide an handler.\");if(!l.default(n)&&!d.getOperationAST(n,i)||i&&!l.default(i)||r&&!p.default(r))throw new Error(\"Incorrect option types. query must be a string or a document,`operationName` must be a string, and `variables` must be an object.\")},e.prototype.buildMessage=function(e,t,n){return{id:e,type:t,payload:n&&n.query?r({},n,{query:\"string\"===typeof n.query?n.query:f.print(n.query)}):n}},e.prototype.formatErrors=function(e){return Array.isArray(e)?e:e&&e.errors?this.formatErrors(e.errors):e&&e.message?[e]:[{name:\"FormatedError\",message:\"Unknown error\",originalError:e}]},e.prototype.sendMessage=function(e,t,n){this.sendMessageRaw(this.buildMessage(e,t,n))},e.prototype.sendMessageRaw=function(e){switch(this.status){case this.wsImpl.OPEN:var t=JSON.stringify(e);try{JSON.parse(t)}catch(n){this.eventEmitter.emit(\"error\",new Error(\"Message must be JSON-serializable. Got: \"+e))}this.client.send(t);break;case this.wsImpl.CONNECTING:this.unsentMessagesQueue.push(e);break;default:this.reconnecting||this.eventEmitter.emit(\"error\",new Error(\"A message was not sent because socket is not connected, is closing or is already closed. Message was: \"+JSON.stringify(e)))}},e.prototype.generateOperationId=function(){return String(++this.nextOperationId)},e.prototype.tryReconnect=function(){var e=this;if(this.reconnect&&!(this.backoff.attempts>=this.reconnectionAttempts)){this.reconnecting||(Object.keys(this.operations).forEach((function(t){e.unsentMessagesQueue.push(e.buildMessage(t,y.default.GQL_START,e.operations[t].options))})),this.reconnecting=!0),this.clearTryReconnectTimeout();var t=this.backoff.duration();this.tryReconnectTimeoutId=setTimeout((function(){e.connect()}),t)}},e.prototype.flushUnsentMessagesQueue=function(){var e=this;this.unsentMessagesQueue.forEach((function(t){e.sendMessageRaw(t)})),this.unsentMessagesQueue=[]},e.prototype.checkConnection=function(){this.wasKeepAliveReceived?this.wasKeepAliveReceived=!1:this.reconnecting||this.close(!1,!0)},e.prototype.checkMaxConnectTimeout=function(){var e=this;this.clearMaxConnectTimeout(),this.maxConnectTimeoutId=setTimeout((function(){e.status!==e.wsImpl.OPEN&&(e.reconnecting=!0,e.close(!1,!0))}),this.maxConnectTimeGenerator.duration())},e.prototype.connect=function(){var e=this;this.client=new this.wsImpl(this.url,this.wsProtocols),this.checkMaxConnectTimeout(),this.client.onopen=function(){return i(e,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:if(this.status!==this.wsImpl.OPEN)return[3,4];this.clearMaxConnectTimeout(),this.closedByUser=!1,this.eventEmitter.emit(this.reconnecting?\"reconnecting\":\"connecting\"),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.connectionParams()];case 2:return e=n.sent(),this.sendMessage(void 0,y.default.GQL_CONNECTION_INIT,e),this.flushUnsentMessagesQueue(),[3,4];case 3:return t=n.sent(),this.sendMessage(void 0,y.default.GQL_CONNECTION_ERROR,t),this.flushUnsentMessagesQueue(),[3,4];case 4:return[2]}}))}))},this.client.onclose=function(){e.closedByUser||e.close(!1,!1)},this.client.onerror=function(t){e.eventEmitter.emit(\"error\",t)},this.client.onmessage=function(t){var n=t.data;e.processReceivedData(n)}},e.prototype.processReceivedData=function(e){var t,n;try{n=(t=JSON.parse(e)).id}catch(a){throw new Error(\"Message must be JSON-parseable. Got: \"+e)}if(-1===[y.default.GQL_DATA,y.default.GQL_COMPLETE,y.default.GQL_ERROR].indexOf(t.type)||this.operations[n])switch(t.type){case y.default.GQL_CONNECTION_ERROR:this.connectionCallback&&this.connectionCallback(t.payload);break;case y.default.GQL_CONNECTION_ACK:this.eventEmitter.emit(this.reconnecting?\"reconnected\":\"connected\"),this.reconnecting=!1,this.backoff.reset(),this.maxConnectTimeGenerator.reset(),this.connectionCallback&&this.connectionCallback();break;case y.default.GQL_COMPLETE:this.operations[n].handler(null,null),delete this.operations[n];break;case y.default.GQL_ERROR:this.operations[n].handler(this.formatErrors(t.payload),null),delete this.operations[n];break;case y.default.GQL_DATA:var i=t.payload.errors?r({},t.payload,{errors:this.formatErrors(t.payload.errors)}):t.payload;this.operations[n].handler(null,i);break;case y.default.GQL_CONNECTION_KEEP_ALIVE:var o=\"undefined\"===typeof this.wasKeepAliveReceived;this.wasKeepAliveReceived=!0,o&&this.checkConnection(),this.checkConnectionIntervalId&&(clearInterval(this.checkConnectionIntervalId),this.checkConnection()),this.checkConnectionIntervalId=setInterval(this.checkConnection.bind(this),this.wsTimeout);break;default:throw new Error(\"Invalid message type!\")}else this.unsubscribe(n)},e.prototype.unsubscribe=function(e){this.operations[e]&&(delete this.operations[e],this.setInactivityTimeout(),this.sendMessage(e,y.default.GQL_STOP,void 0))},e}();t.SubscriptionClient=v}).call(this,n(41))},function(e,t,n){\"use strict\";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(32),o=n(49),a=n(68),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.toJSON=function(){var e=this.toObject();return i.set(e,\"navStack\",i.List([]))},t}(i.Record({navStack:i.List([]),docsOpen:!1,docsWidth:a.columnWidth,activeTabIdx:null,keyMove:!1}));t.DocsSession=s;var u=i.Map({\"\":new s});function c(e,t){if(!t)throw new Error(\"sessionId cant be null\");return e.get(t)||new s}t.default=o.handleActions({SET_STACKS:function(e,t){var n=t.payload,r=n.sessionId,i=n.stacks,o=c(e,r);return o=o.set(\"navStack\",i),e.set(r,o)},ADD_STACK:function(e,t){var n=t.payload,r=n.sessionId,o=n.field,a=n.x,s=n.y;o.path||(o.path=o.name);var u=c(e,r);return u=u.update(\"navStack\",(function(e){var t=e;return a=65&&r<=90||!t.shiftKey&&r>=48&&r<=57||t.shiftKey&&189===r||t.shiftKey&&50===r||t.shiftKey&&57===r)&&n.editor.execCommand(\"autocomplete\")},n.onEdit=function(){!n.ignoreChangeEvent&&n.props.onChange&&(n.cachedValue=n.editor.getValue(),n.props.onChange(n.cachedValue))},n.onHasCompletion=function(e,t){u.default(e,t,n.props.onHintInformationRender)},n.closeCompletion=function(){n.editor.state.completionActive&&\"function\"===typeof n.editor.state.completionActive.close&&n.editor.state.completionActive.close()},n.cachedValue=e.value||\"\",n.props.getRef&&n.props.getRef(n),n}return r(i,t),i.prototype.componentDidMount=function(){var t=this,r=n(15);n(128),n(186),n(88),n(129),n(107),n(89),n(187),n(70),n(108),n(71),n(130),n(109),n(365),n(366),n(370),n(371),n(373),n(191);var i=[];i.push(\"CodeMirror-linenumbers\"),i.push(\"CodeMirror-foldgutter\"),this.editor=r(this.node,{autofocus:!h.isIframe(),value:this.props.value||\"\",lineNumbers:!0,tabSize:this.props.tabWidth||2,indentWithTabs:this.props.useTabs||!1,mode:\"graphql\",theme:\"graphiql\",keyMap:\"sublime\",autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:!1,foldGutter:{minFoldSize:4},lint:{schema:this.props.schema},hintOptions:{schema:this.props.schema,closeOnUnfocus:!0,completeSingle:!1},info:{schema:this.props.schema,renderDescription:function(e){return m.render(e)},onClick:this.props.onClickReference},jump:{schema:this.props.schema,onClick:this.props.onClickReference},gutters:i,extraKeys:{\"Cmd-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Ctrl-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Alt-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Shift-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Cmd-Enter\":function(){t.props.onRunQuery&&t.props.onRunQuery()},\"Ctrl-Enter\":function(){t.props.onRunQuery&&t.props.onRunQuery()},\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-F\":\"findPersistent\",\"Ctrl-F\":\"findPersistent\"}}),this.editor.on(\"change\",this.onEdit),this.editor.on(\"keyup\",this.onKeyUp),this.editor.on(\"hasCompletion\",this.onHasCompletion),e.editor=this.editor,this.props.scrollTop&&this.scrollTo(this.props.scrollTop)},i.prototype.componentDidUpdate=function(e){var t=this,r=n(15);this.ignoreChangeEvent=!0,this.props.schema!==e.schema&&(this.editor.options.lint.schema=this.props.schema,this.editor.options.hintOptions.schema=this.props.schema,this.editor.options.info.schema=this.props.schema,this.editor.options.jump.schema=this.props.schema,r.signal(this.editor,\"change\",this.editor)),this.props.value!==e.value&&this.props.value!==this.cachedValue&&(this.cachedValue=this.props.value,this.editor.setValue(this.props.value)),this.ignoreChangeEvent=!1,setTimeout((function(){t.props.sessionId!==e.sessionId&&t.props.scrollTop&&t.scrollTo(t.props.scrollTop)}))},i.prototype.componentWillReceiveProps=function(e){this.props.sessionId!==e.sessionId&&(this.closeCompletion(),this.updateSessionScrollTop(),h.isIframe()||this.editor.focus())},i.prototype.scrollTo=function(e){this.node.querySelector(\".CodeMirror-scroll\").scrollTop=e},i.prototype.updateSessionScrollTop=function(){this.props.setScrollTop&&this.props.sessionId&&this.props.setScrollTop(this.props.sessionId,this.node.querySelector(\".CodeMirror-scroll\").scrollTop)},i.prototype.componentWillUnmount=function(){this.updateSessionScrollTop(),this.editor.off(\"change\",this.onEdit),this.editor.off(\"keyup\",this.onKeyUp),this.editor.off(\"hasCompletion\",this.onHasCompletion),this.editor=null},i.prototype.render=function(){return o.createElement(f.default,null,o.createElement(b,{ref:this.setRef}))},i.prototype.getCodeMirror=function(){return this.editor},i.prototype.getClientHeight=function(){return this.node&&this.node.clientHeight},i}(o.PureComponent);t.QueryEditor=g;var y=l.createStructuredSelector({value:p.getQuery,sessionId:p.getSelectedSessionIdFromRoot,scrollTop:p.getScrollTop,tabWidth:p.getTabWidth,useTabs:p.getUseTabs});t.default=s.connect(y,{onChange:c.editQuery,setScrollTop:c.setScrollTop})(g);var v,b=d.styled.div(v||(v=i([\"\\n flex: 1 1 0%;\\n position: relative;\\n\\n .CodeMirror {\\n width: 100%;\\n background: \",\";\\n }\\n\"],[\"\\n flex: 1 1 0%;\\n position: relative;\\n\\n .CodeMirror {\\n width: 100%;\\n background: \",\";\\n }\\n\"])),(function(e){return e.theme.editorColours.editorBackground}))}).call(this,n(41))},function(e,t,n){\"use strict\";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=0;t=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+\" \"+t},e.exports=r},function(e,t,n){const r=n(87).defaults,i=n(75),o=i.cleanUrl,a=i.escape;e.exports=class{constructor(e){this.options=e||r}code(e,t,n){const r=(t||\"\").match(/\\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return r?'
'+(n?e:a(e,!0))+\"
\\n\":\"
\"+(n?e:a(e,!0))+\"
\"}blockquote(e){return\"
\\n\"+e+\"
\\n\"}html(e){return e}heading(e,t,n,r){return this.options.headerIds?\"'+e+\"\\n\":\"\"+e+\"\\n\"}hr(){return this.options.xhtml?\"
\\n\":\"
\\n\"}list(e,t,n){const r=t?\"ol\":\"ul\";return\"<\"+r+(t&&1!==n?' start=\"'+n+'\"':\"\")+\">\\n\"+e+\"\\n\"}listitem(e){return\"
  • \"+e+\"
  • \\n\"}checkbox(e){return\" \"}paragraph(e){return\"

    \"+e+\"

    \\n\"}table(e,t){return t&&(t=\"\"+t+\"\"),\"\\n\\n\"+e+\"\\n\"+t+\"
    \\n\"}tablerow(e){return\"\\n\"+e+\"\\n\"}tablecell(e,t){const n=t.header?\"th\":\"td\";return(t.align?\"<\"+n+' align=\"'+t.align+'\">':\"<\"+n+\">\")+e+\"\\n\"}strong(e){return\"\"+e+\"\"}em(e){return\"\"+e+\"\"}codespan(e){return\"\"+e+\"\"}br(){return this.options.xhtml?\"
    \":\"
    \"}del(e){return\"\"+e+\"\"}link(e,t,n){if(null===(e=o(this.options.sanitize,this.options.baseUrl,e)))return n;let r='\"+n+\"\",r}image(e,t,n){if(null===(e=o(this.options.sanitize,this.options.baseUrl,e)))return n;let r='\"'+n+'\"';return\":\">\",r}text(e){return e}}},function(e,t,n){!function(e){\"use strict\";function t(e,t){this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor(\"start\"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var n=this;e.on(\"cursorActivity\",this.activityFunc=function(){n.cursorActivity()})}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var r={hint:t};if(n)for(var i in n)r[i]=n[i];return e.showHint(r)},e.defineExtension(\"showHint\",(function(n){n=function(e,t,n){var r=e.options.hintOptions,i={};for(var o in u)i[o]=u[o];if(r)for(var o in r)void 0!==r[o]&&(i[o]=r[o]);if(n)for(var o in n)void 0!==n[o]&&(i[o]=n[o]);return i.hint.resolve&&(i.hint=i.hint.resolve(e,t)),i}(this,this.getCursor(\"start\"),n);var r=this.listSelections();if(!(r.length>1)){if(this.somethingSelected()){if(!n.hint.supportsSelection)return;for(var i=0;ic.clientHeight+1,F=a.getScrollInfo();if(_>0){var N=T.bottom-T.top;if(y.top-(y.bottom-T.top)-N>0)c.style.top=(b=y.top-N-D)+\"px\",E=!1;else if(N>A){c.style.height=A-5+\"px\",c.style.top=(b=y.bottom-T.top-D)+\"px\";var I=a.getCursor();n.from.ch!=I.ch&&(y=a.cursorCoords(I),c.style.left=(v=y.left-x)+\"px\",T=c.getBoundingClientRect())}}var M,j=T.right-k;if(j>0&&(T.right-T.left>k&&(c.style.width=k-5+\"px\",j-=T.right-T.left-k),c.style.left=(v=y.left-j-x)+\"px\"),O)for(var L=c.firstChild;L;L=L.nextSibling)L.style.paddingRight=a.display.nativeBarWidth+\"px\";return a.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(n[\"Ctrl-P\"]=function(){t.moveFocus(-1)},n[\"Ctrl-N\"]=function(){t.moveFocus(1)});var r=e.options.customKeys,i=r?{}:n;function o(e,r){var o;o=\"string\"!=typeof r?function(e){return r(e,t)}:n.hasOwnProperty(r)?n[r]:r,i[e]=o}if(r)for(var a in r)r.hasOwnProperty(a)&&o(a,r[a]);var s=e.options.extraKeys;if(s)for(var a in s)s.hasOwnProperty(a)&&o(a,s[a]);return i}(t,{moveFocus:function(e,t){r.changeActive(r.selectedHint+e,t)},setFocus:function(e){r.changeActive(e)},menuSize:function(){return r.screenAmount()},length:p.length,close:function(){t.close()},pick:function(){r.pick()},data:n})),t.options.closeOnUnfocus&&(a.on(\"blur\",this.onBlur=function(){M=setTimeout((function(){t.close()}),100)}),a.on(\"focus\",this.onFocus=function(){clearTimeout(M)})),a.on(\"scroll\",this.onScroll=function(){var e=a.getScrollInfo(),n=a.getWrapperElement().getBoundingClientRect(),r=b+F.top-e.top,i=r-(u.pageYOffset||(s.documentElement||s.body).scrollTop);if(E||(i+=c.offsetHeight),i<=n.top||i>=n.bottom)return t.close();c.style.top=r+\"px\",c.style.left=v+F.left-e.left+\"px\"}),e.on(c,\"dblclick\",(function(e){var t=o(c,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),r.pick())})),e.on(c,\"click\",(function(e){var n=o(c,e.target||e.srcElement);n&&null!=n.hintId&&(r.changeActive(n.hintId),t.options.completeOnSingleClick&&r.pick())})),e.on(c,\"mousedown\",(function(){setTimeout((function(){a.focus()}),20)})),this.scrollToActive(),e.signal(n,\"select\",p[this.selectedHint],c.childNodes[this.selectedHint]),!0}function s(e,t,n,r){if(e.async)e(t,r,n);else{var i=e(t,n);i&&i.then?i.then(r):r(i)}}t.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off(\"cursorActivity\",this.activityFunc),this.widget&&this.data&&e.signal(this.data,\"close\"),this.widget&&this.widget.close(),e.signal(this.cm,\"endCompletion\",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var r=t.list[n],o=this;this.cm.operation((function(){r.hint?r.hint(o.cm,t,r):o.cm.replaceRange(i(r),r.from||t.from,r.to||t.to,\"complete\"),e.signal(t,\"pick\",r),o.cm.scrollIntoView()})),this.close()},cursorActivity:function(){this.debounce&&(r(this.debounce),this.debounce=0);var e=this.startPos;this.data&&(e=this.data.from);var t=this.cm.getCursor(),i=this.cm.getLine(t.line);if(t.line!=this.startPos.line||i.length-t.ch!=this.startLen-this.startPos.ch||t.ch=this.data.list.length?t=n?this.data.list.length-1:0:t<0&&(t=n?0:this.data.list.length-1),this.selectedHint!=t){var r=this.hints.childNodes[this.selectedHint];r&&(r.className=r.className.replace(\" CodeMirror-hint-active\",\"\")),(r=this.hints.childNodes[this.selectedHint=t]).className+=\" CodeMirror-hint-active\",this.scrollToActive(),e.signal(this.data,\"select\",this.data.list[this.selectedHint],r)}},scrollToActive:function(){var e=this.hints.childNodes[this.selectedHint],t=this.hints.firstChild;e.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=e.offsetTop+e.offsetHeight-this.hints.clientHeight+t.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},e.registerHelper(\"hint\",\"auto\",{resolve:function(t,n){var r,i=t.getHelpers(n,\"hint\");if(i.length){var o=function(e,t,n){var r=function(e,t){if(!e.somethingSelected())return t;for(var n=[],r=0;r0?t(e):i(o+1)}))}(0)};return o.async=!0,o.supportsSelection=!0,o}return(r=t.getHelper(t.getCursor(),\"hintWords\"))?function(t){return e.hint.fromList(t,{words:r})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper(\"hint\",\"fromList\",(function(t,n){var r,i=t.getCursor(),o=t.getTokenAt(i),a=e.Pos(i.line,o.start),s=i;o.start,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};e.defineOption(\"hintOptions\",null)}(n(15))},function(e,t,n){!function(e){var t={pairs:\"()[]{}''\\\"\\\"\",closeBefore:\")]}'\\\":;>\",triples:\"\",explode:\"[]{}\"},n=e.Pos;function r(e,n){return\"pairs\"==n&&\"string\"==typeof e?e:\"object\"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption(\"autoCloseBrackets\",!1,(function(t,n,a){a&&a!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),n&&(o(r(n,\"pairs\")),t.state.closeBrackets=n,t.addKeyMap(i))}));var i={Backspace:function(t){var i=s(t);if(!i||t.getOption(\"disableInput\"))return e.Pass;for(var o=r(i,\"pairs\"),a=t.listSelections(),u=0;u=0;u--){var p=a[u].head;t.replaceRange(\"\",n(p.line,p.ch-1),n(p.line,p.ch+1),\"+delete\")}},Enter:function(t){var n=s(t),i=n&&r(n,\"explode\");if(!i||t.getOption(\"disableInput\"))return e.Pass;for(var o=t.listSelections(),a=0;a1&&d.indexOf(i)>=0&&t.getRange(n(E.line,E.ch-2),E)==i+i){if(E.ch>2&&/\\bstring/.test(t.getTokenTypeAt(n(E.line,E.ch-2))))return e.Pass;v=\"addFour\"}else if(h){var D=0==E.ch?\" \":t.getRange(n(E.line,E.ch-1),E);if(e.isWordChar(x)||D==i||e.isWordChar(D))return e.Pass;v=\"both\"}else{if(!g||!(0===x.length||/\\s/.test(x)||f.indexOf(x)>-1))return e.Pass;v=\"both\"}else v=h&&l(t,E)?\"both\":d.indexOf(i)>=0&&t.getRange(E,n(E.line,E.ch+3))==i+i+i?\"skipThree\":\"skip\";if(p){if(p!=v)return e.Pass}else p=v}var C=c%2?a.charAt(c-1):i,w=c%2?i:a.charAt(c+1);t.operation((function(){if(\"skip\"==p)t.execCommand(\"goCharRight\");else if(\"skipThree\"==p)for(var e=0;e<3;e++)t.execCommand(\"goCharRight\");else if(\"surround\"==p){var n=t.getSelections();for(e=0;e0;return{anchor:new n(t.anchor.line,t.anchor.ch+(r?-1:1)),head:new n(t.head.line,t.head.ch+(r?1:-1))}}function c(e,t){var r=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==r.length?r:null}function l(e,t){var r=e.getTokenAt(n(t.line,t.ch+1));return/\\bstring/.test(r.type)&&r.start==t.ch&&(0==t.ch||!/\\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+\"`\")}(n(15))},function(e,t,n){!function(e){\"use strict\";var t=\"CodeMirror-lint-markers\";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function r(t,r,i,o){var a=function(t,n,r){var i=document.createElement(\"div\");function o(t){if(!i.parentNode)return e.off(document,\"mousemove\",o);i.style.top=Math.max(0,t.clientY-i.offsetHeight-5)+\"px\",i.style.left=t.clientX+5+\"px\"}return i.className=\"CodeMirror-lint-tooltip cm-s-\"+t.options.theme,i.appendChild(r.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(i):document.body.appendChild(i),e.on(document,\"mousemove\",o),o(n),null!=i.style.opacity&&(i.style.opacity=1),i}(t,r,i);function s(){var t;e.off(o,\"mouseout\",s),a&&((t=a).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout((function(){n(t)}),600)),a=null)}var u=setInterval((function(){if(a)for(var e=o;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){s();break}}if(!a)return clearInterval(u)}),400);e.on(o,\"mouseout\",s)}function i(e,t,n){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\\bCodeMirror-lint-mark-/.test(n.className)){for(var i=n.getBoundingClientRect(),o=(i.left+i.right)/2,a=(i.top+i.bottom)/2,u=e.findMarksAt(e.coordsChar({left:o,top:a},\"client\")),c=[],l=0;l1,u.options.tooltips))}}c.onUpdateLinting&&c.onUpdateLinting(n,l,e)}function l(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout((function(){u(e)}),t.options.delay||500))}e.defineOption(\"lint\",!1,(function(n,r,a){if(a&&a!=e.Init&&(o(n),!1!==n.state.lint.options.lintOnChange&&n.off(\"change\",l),e.off(n.getWrapperElement(),\"mouseover\",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),r){for(var s=n.getOption(\"gutters\"),c=!1,p=0;p=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+\" \"+t},e.exports=r},function(e,t,n){\"use strict\";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(9);t.DocType=o.styled.div(i||(i=r([\"\\n padding: 20px 16px 0 16px;\\n overflow: auto;\\n font-size: 14px;\\n\"],[\"\\n padding: 20px 16px 0 16px;\\n overflow: auto;\\n font-size: 14px;\\n\"])))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.canUseDOM=void 0;var r,i=n(471);var o=((r=i)&&r.__esModule?r:{default:r}).default,a=o.canUseDOM?window.HTMLElement:{};t.canUseDOM=o.canUseDOM;t.default=a},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(18),i=n(162);function o(e){return\"string\"===typeof e?{endpoint:e,subscriptionEndpoint:void 0}:{endpoint:e.url,subscriptionEndpoint:e.subscription?e.subscription.url:void 0,headers:e.headers}}t.getActiveEndpoints=function(e,t,n){return o(n?e.projects[n].extensions.endpoints[t]:e.extensions.endpoints[t])},t.getEndpointFromEndpointConfig=o;var a=new i({max:10});t.cachedPrintSchema=function(e){var t=a.get(e);if(t)return t;var n=r.printSchema(e);return a.set(e,n),n}},function(e,t,n){\"use strict\";var r=n(78);e.exports=new r({explicit:[n(494),n(495),n(496)]})},function(e,t,n){\"use strict\";var r=n(79),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return r.isMemo(e)?a:s[e.$$typeof]||i}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var c=Object.defineProperty,l=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if(\"string\"!==typeof n){if(h){var i=d(n);i&&i!==h&&e(t,i,r)}var a=l(n);p&&(a=a.concat(p(n)));for(var s=u(t),m=u(n),g=0;g120){for(var h=Math.floor(l/80),m=l%80,g=[],y=0;y])/g,v=/([[}=:>])\\s+/g,b=/(\\{[^{]+?);(?=\\})/g,E=/\\s{2,}/g,x=/([^\\(])(:+) */g,D=/[svh]\\w+-[tblr]{2}/,C=/\\(\\s*(.*)\\s*\\)/g,w=/([\\s\\S]*?);/g,S=/-self|flex-/g,k=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,A=/stretch|:\\s*\\w+\\-(?:conte|avail)/,T=/([^-])(image-set\\()/,_=\"-webkit-\",O=\"-moz-\",F=\"-ms-\",N=59,I=125,M=123,j=40,L=41,P=10,R=13,B=32,U=45,z=42,V=44,q=58,H=47,W=1,G=1,K=0,J=1,Y=1,Q=1,$=0,X=0,Z=0,ee=[],te=[],ne=0,re=null,ie=0,oe=1,ae=\"\",se=\"\",ue=\"\";function ce(e,t,i,o,a){for(var s,u,l=0,p=0,f=0,d=0,y=0,v=0,b=0,E=0,D=0,w=0,S=0,k=0,A=0,T=0,O=0,F=0,$=0,te=0,re=0,pe=i.length,ye=pe-1,ve=\"\",be=\"\",Ee=\"\",xe=\"\",De=\"\",Ce=\"\";O0&&(be=be.replace(r,\"\")),be.trim().length>0)){switch(b){case B:case 9:case N:case R:case P:break;default:be+=i.charAt(O)}b=N}if(1===$)switch(b){case M:case I:case N:case 34:case 39:case j:case L:case V:$=0;case 9:case R:case P:case B:break;default:for($=0,re=O,y=b,O--,b=N;re0&&(++O,b=y);case M:re=pe}}switch(b){case M:for(y=(be=be.trim()).charCodeAt(0),S=1,re=++O;O0&&(be=be.replace(r,\"\")),v=be.charCodeAt(1)){case 100:case 109:case 115:case U:s=t;break;default:s=ee}if(re=(Ee=ce(t,s,Ee,v,a+1)).length,Z>0&&0===re&&(re=be.length),ne>0&&(u=me(3,Ee,s=le(ee,be,te),t,G,W,re,v,a,o),be=s.join(\"\"),void 0!==u&&0===(re=(Ee=u.trim()).length)&&(v=0,Ee=\"\")),re>0)switch(v){case 115:be=be.replace(C,he);case 100:case 109:case U:Ee=be+\"{\"+Ee+\"}\";break;case 107:Ee=(be=be.replace(h,\"$1 $2\"+(oe>0?ae:\"\")))+\"{\"+Ee+\"}\",Ee=1===Y||2===Y&&de(\"@\"+Ee,3)?\"@\"+_+Ee+\"@\"+Ee:\"@\"+Ee;break;default:Ee=be+Ee,112===o&&(xe+=Ee,Ee=\"\")}else Ee=\"\";break;default:Ee=ce(t,le(t,be,te),Ee,o,a+1)}De+=Ee,k=0,$=0,T=0,F=0,te=0,A=0,be=\"\",Ee=\"\",b=i.charCodeAt(++O);break;case I:case N:if((re=(be=(F>0?be.replace(r,\"\"):be).trim()).length)>1)switch(0===T&&((y=be.charCodeAt(0))===U||y>96&&y<123)&&(re=(be=be.replace(\" \",\":\")).length),ne>0&&void 0!==(u=me(1,be,t,e,G,W,xe.length,o,a,o))&&0===(re=(be=u.trim()).length)&&(be=\"\\0\\0\"),y=be.charCodeAt(0),v=be.charCodeAt(1),y){case 0:break;case 64:if(105===v||99===v){Ce+=be+i.charAt(O);break}default:if(be.charCodeAt(re-1)===q)break;xe+=fe(be,y,v,be.charCodeAt(2))}k=0,$=0,T=0,F=0,te=0,be=\"\",b=i.charCodeAt(++O)}}switch(b){case R:case P:if(p+d+f+l+X===0)switch(w){case L:case 39:case 34:case 64:case 126:case 62:case z:case 43:case H:case U:case q:case V:case N:case M:case I:break;default:T>0&&($=1)}p===H?p=0:J+k===0&&107!==o&&be.length>0&&(F=1,be+=\"\\0\"),ne*ie>0&&me(0,be,t,e,G,W,xe.length,o,a,o),W=1,G++;break;case N:case I:if(p+d+f+l===0){W++;break}default:switch(W++,ve=i.charAt(O),b){case 9:case B:if(d+l+p===0)switch(E){case V:case q:case 9:case B:ve=\"\";break;default:b!==B&&(ve=\" \")}break;case 0:ve=\"\\\\0\";break;case 12:ve=\"\\\\f\";break;case 11:ve=\"\\\\v\";break;case 38:d+p+l===0&&J>0&&(te=1,F=1,ve=\"\\f\"+ve);break;case 108:if(d+p+l+K===0&&T>0)switch(O-T){case 2:112===E&&i.charCodeAt(O-3)===q&&(K=E);case 8:111===D&&(K=D)}break;case q:d+p+l===0&&(T=O);break;case V:p+f+d+l===0&&(F=1,ve+=\"\\r\");break;case 34:case 39:0===p&&(d=d===b?0:0===d?b:d);break;case 91:d+p+f===0&&l++;break;case 93:d+p+f===0&&l--;break;case L:d+p+l===0&&f--;break;case j:if(d+p+l===0){if(0===k)switch(2*E+3*D){case 533:break;default:S=0,k=1}f++}break;case 64:p+f+d+l+T+A===0&&(A=1);break;case z:case H:if(d+l+f>0)break;switch(p){case 0:switch(2*b+3*i.charCodeAt(O+1)){case 235:p=H;break;case 220:re=O,p=z}break;case z:b===H&&E===z&&re+2!==O&&(33===i.charCodeAt(re+2)&&(xe+=i.substring(re,O+1)),ve=\"\",p=0)}}if(0===p){if(J+d+l+A===0&&107!==o&&b!==N)switch(b){case V:case 126:case 62:case 43:case L:case j:if(0===k){switch(E){case 9:case B:case P:case R:ve+=\"\\0\";break;default:ve=\"\\0\"+ve+(b===V?\"\":\"\\0\")}F=1}else switch(b){case j:T+7===O&&108===E&&(T=0),k=++S;break;case L:0==(k=--S)&&(F=1,ve+=\"\\0\")}break;case 9:case B:switch(E){case 0:case M:case I:case N:case V:case 12:case 9:case B:case P:case R:break;default:0===k&&(F=1,ve+=\"\\0\")}}be+=ve,b!==B&&9!==b&&(w=b)}}D=E,E=b,O++}if(re=xe.length,Z>0&&0===re&&0===De.length&&0===t[0].length==0&&(109!==o||1===t.length&&(J>0?se:ue)===t[0])&&(re=t.join(\",\").length+2),re>0){if(s=0===J&&107!==o?function(e){for(var t,n,i=0,o=e.length,a=Array(o);i1)){if(f=u.charCodeAt(u.length-1),d=n.charCodeAt(0),t=\"\",0!==l)switch(f){case z:case 126:case 62:case 43:case B:case j:break;default:t=\" \"}switch(d){case 38:n=t+se;case 126:case 62:case 43:case B:case L:case j:break;case 91:n=t+n+se;break;case q:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(Q>0){n=t+n.substring(8,p-1);break}default:(l<1||s[l-1].length<1)&&(n=t+se+n)}break;case V:t=\"\";default:n=p>1&&n.indexOf(\":\")>0?t+n.replace(x,\"$1\"+se+\"$2\"):t+n+se}u+=n}a[i]=u.replace(r,\"\").trim()}return a}(t):t,ne>0&&void 0!==(u=me(2,xe,s,e,G,W,re,o,a,o))&&0===(xe=u).length)return Ce+xe+De;if(xe=s.join(\",\")+\"{\"+xe+\"}\",Y*K!=0){switch(2!==Y||de(xe,2)||(K=0),K){case 111:xe=xe.replace(g,\":-moz-$1\")+xe;break;case 112:xe=xe.replace(m,\"::\"+_+\"input-$1\")+xe.replace(m,\"::-moz-$1\")+xe.replace(m,\":-ms-input-$1\")+xe}K=0}}return Ce+xe+De}function le(e,t,n){var r=t.trim().split(l),i=r,o=r.length,a=e.length;switch(a){case 0:case 1:for(var s=0,u=0===a?\"\":e[0]+\" \";s0&&J>0)return i.replace(f,\"$1\").replace(p,\"$1\"+ue);break;default:return e.trim()+i.replace(p,\"$1\"+e.trim())}default:if(n*J>0&&i.indexOf(\"\\f\")>0)return i.replace(p,(e.charCodeAt(0)===q?\"\":\"$1\")+e.trim())}return e+i}function fe(e,t,n,r){var c,l=0,p=e+\";\",f=2*t+3*n+4*r;if(944===f)return function(e){var t=e.length,n=e.indexOf(\":\",9)+1,r=e.substring(0,n).trim(),i=e.substring(n,t-1).trim();switch(e.charCodeAt(9)*oe){case 0:break;case U:if(110!==e.charCodeAt(10))break;default:var o=i.split((i=\"\",s)),a=0;for(n=0,t=o.length;a64&&p<90||p>96&&p<123||95===p||p===U&&c.charCodeAt(1)!==U))switch(isNaN(parseFloat(c))+(-1!==c.indexOf(\"(\"))){case 1:switch(c){case\"infinite\":case\"alternate\":case\"backwards\":case\"running\":case\"normal\":case\"forwards\":case\"both\":case\"none\":case\"linear\":case\"ease\":case\"ease-in\":case\"ease-out\":case\"ease-in-out\":case\"paused\":case\"reverse\":case\"alternate-reverse\":case\"inherit\":case\"initial\":case\"unset\":case\"step-start\":case\"step-end\":break;default:c+=ae}}l[n++]=c}i+=(0===a?\"\":\",\")+l.join(\" \")}}return i=r+i+\";\",1===Y||2===Y&&de(i,1)?_+i+i:i}(p);if(0===Y||2===Y&&!de(p,1))return p;switch(f){case 1015:return 97===p.charCodeAt(10)?_+p+p:p;case 951:return 116===p.charCodeAt(3)?_+p+p:p;case 963:return 110===p.charCodeAt(5)?_+p+p:p;case 1009:if(100!==p.charCodeAt(4))break;case 969:case 942:return _+p+p;case 978:return _+p+O+p+p;case 1019:case 983:return _+p+O+p+F+p+p;case 883:return p.charCodeAt(8)===U?_+p+p:p.indexOf(\"image-set(\",11)>0?p.replace(T,\"$1\"+_+\"$2\")+p:p;case 932:if(p.charCodeAt(4)===U)switch(p.charCodeAt(5)){case 103:return _+\"box-\"+p.replace(\"-grow\",\"\")+_+p+F+p.replace(\"grow\",\"positive\")+p;case 115:return _+p+F+p.replace(\"shrink\",\"negative\")+p;case 98:return _+p+F+p.replace(\"basis\",\"preferred-size\")+p}return _+p+F+p+p;case 964:return _+p+F+\"flex-\"+p+p;case 1023:if(99!==p.charCodeAt(8))break;return c=p.substring(p.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"),_+\"box-pack\"+c+_+p+F+\"flex-pack\"+c+p;case 1005:return o.test(p)?p.replace(i,\":\"+_)+p.replace(i,\":\"+O)+p:p;case 1e3:switch(l=(c=p.substring(13).trim()).indexOf(\"-\")+1,c.charCodeAt(0)+c.charCodeAt(l)){case 226:c=p.replace(D,\"tb\");break;case 232:c=p.replace(D,\"tb-rl\");break;case 220:c=p.replace(D,\"lr\");break;default:return p}return _+p+F+c+p;case 1017:if(-1===p.indexOf(\"sticky\",9))return p;case 975:switch(l=(p=e).length-10,f=(c=(33===p.charCodeAt(l)?p.substring(0,l):p).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(c.charCodeAt(8)<111)break;case 115:p=p.replace(c,_+c)+\";\"+p;break;case 207:case 102:p=p.replace(c,_+(f>102?\"inline-\":\"\")+\"box\")+\";\"+p.replace(c,_+c)+\";\"+p.replace(c,F+c+\"box\")+\";\"+p}return p+\";\";case 938:if(p.charCodeAt(5)===U)switch(p.charCodeAt(6)){case 105:return c=p.replace(\"-items\",\"\"),_+p+_+\"box-\"+c+F+\"flex-\"+c+p;case 115:return _+p+F+\"flex-item-\"+p.replace(S,\"\")+p;default:return _+p+F+\"flex-line-pack\"+p.replace(\"align-content\",\"\").replace(S,\"\")+p}break;case 973:case 989:if(p.charCodeAt(3)!==U||122===p.charCodeAt(4))break;case 931:case 953:if(!0===A.test(e))return 115===(c=e.substring(e.indexOf(\":\")+1)).charCodeAt(0)?fe(e.replace(\"stretch\",\"fill-available\"),t,n,r).replace(\":fill-available\",\":stretch\"):p.replace(c,_+c)+p.replace(c,O+c.replace(\"fill-\",\"\"))+p;break;case 962:if(p=_+p+(102===p.charCodeAt(5)?F+p:\"\")+p,n+r===211&&105===p.charCodeAt(13)&&p.indexOf(\"transform\",10)>0)return p.substring(0,p.indexOf(\";\",27)+1).replace(a,\"$1\"+_+\"$2\")+p}return p}function de(e,t){var n=e.indexOf(1===t?\":\":\"{\"),r=e.substring(0,3!==t?n:10),i=e.substring(n+1,e.length-1);return re(2!==t?r:r.replace(k,\"$1\"),i,t)}function he(e,t){var n=fe(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+\";\"?n.replace(w,\" or ($1)\").substring(4):\"(\"+t+\")\"}function me(e,t,n,r,i,o,a,s,u,c){for(var l,p=0,f=t;p0&&(ae=i.replace(d,91===o?\"\":\"-\")),o=1,1===J?ue=i:se=i;var a,s=[ue];ne>0&&void 0!==(a=me(-1,n,s,s,G,W,0,0,0,0))&&\"string\"==typeof a&&(n=a);var u=ce(ee,s,n,0,0);return ne>0&&void 0!==(a=me(-2,u,s,s,G,W,u.length,0,0,0))&&\"string\"!=typeof(u=a)&&(o=0),ae=\"\",ue=\"\",se=\"\",K=0,G=1,W=1,$*o==0?u:u.replace(r,\"\").replace(y,\"\").replace(v,\"$1\").replace(b,\"$1\").replace(E,\" \")}return ve.use=function e(t){switch(t){case void 0:case null:ne=te.length=0;break;default:if(\"function\"==typeof t)te[ne++]=t;else if(\"object\"==typeof t)for(var n=0,r=t.length;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(localStorage.setItem(\"platform-token\",e),window.location.replace(window.location.origin+window.location.pathname))},n.prototype.componentDidMount=function(){var e=this;if(\"\"===this.state.subscriptionEndpoint&&this.updateSubscriptionsUrl(),setTimeout((function(){e.removePlaygroundInClass()}),5e3),this.setInitialWorkspace(),this.props.tabs)this.props.injectTabs(this.props.tabs);else{var t=E(\"query\");if(t){var n=E(\"endpoint\")||this.state.endpoint;this.props.injectTabs([{query:t,endpoint:n}])}else{var r=E(\"tabs\");if(r)try{var i=JSON.parse(r);this.props.injectTabs(i)}catch(o){}}}this.props.schema&&(\"string\"===typeof this.props.schema?this.setState({schema:b.buildSchema(this.props.schema)}):this.setState({schema:b.buildClientSchema(this.props.schema)}))},n.prototype.setInitialWorkspace=function(e){if(void 0===e&&(e=this.props),e.config){var t=this.getInitialActiveEnv(e.config),n=m.getActiveEndpoints(e.config,t.activeEnv,t.projectName),r=n.endpoint,i=n.subscriptionEndpoint||this.normalizeSubscriptionUrl(r,n.subscriptionEndpoint),o=n.headers;this.setState({endpoint:r,subscriptionEndpoint:i,headers:o,activeEnv:t.activeEnv,activeProjectName:t.projectName})}},n.prototype.removePlaygroundInClass=function(){var e=document.getElementById(\"root\");e&&e.classList.remove(\"playgroundIn\")},n.prototype.render=function(){var e=this.props.setTitle?u.createElement(l.Helmet,null,u.createElement(\"title\",null,this.getTitle())):null,t=this.props.headers||{},n=this.state.headers||{},r=o(o({},t),n),i=this.props.theme;return u.createElement(\"div\",null,e,u.createElement(d.ThemeProvider,{theme:o(o({},d.theme),{mode:i,colours:\"dark\"===i?h.darkColours:h.lightColours,editorColours:o(o({},\"dark\"===i?h.darkEditorColours:h.lightEditorColours),this.props.codeTheme),settings:this.props.settings})},u.createElement(k,null,this.props.config&&this.state.activeEnv&&u.createElement(f.default,{config:this.props.config,folderName:this.props.folderName||\"GraphQL App\",theme:i,activeEnv:this.state.activeEnv,onSelectEnv:this.handleSelectEnv,onNewWorkspace:this.props.onNewWorkspace,showNewWorkspace:Boolean(this.props.showNewWorkspace),isElectron:Boolean(this.props.isElectron),activeProjectName:this.state.activeProjectName,configPath:this.props.configPath}),u.createElement(c.default,{endpoint:this.state.endpoint,shareEnabled:this.props.shareEnabled,subscriptionEndpoint:this.state.subscriptionEndpoint,shareUrl:this.state.shareUrl,onChangeEndpoint:this.handleChangeEndpoint,onChangeSubscriptionsEndpoint:this.handleChangeSubscriptionsEndpoint,getRef:this.getPlaygroundRef,config:this.props.config,configString:this.state.configString,configIsYaml:this.state.configIsYaml,canSaveConfig:Boolean(this.props.canSaveConfig),onChangeConfig:this.handleChangeConfig,onSaveConfig:this.handleSaveConfig,onUpdateSessionCount:this.handleUpdateSessionCount,fixedEndpoints:Boolean(this.state.configString),fixedEndpoint:this.props.fixedEndpoint,headers:r,configPath:this.props.configPath,workspaceName:this.props.workspaceName||this.state.activeProjectName,createApolloLink:this.props.createApolloLink,schema:this.state.schema}))))},n.prototype.getTitle=function(){if(this.state.platformToken||this.state.endpoint.includes(\"api.graph.cool\")){var e=this.getProjectId(this.state.endpoint);return(this.state.endpoint.includes(\"api.graph.cool\")?\"shared\":\"local\")+\"/\"+e+\" - Playground\"}return\"Playground - \"+this.state.endpoint},n.prototype.updateSubscriptionsUrl=function(){return a(this,void 0,void 0,(function(){var e,t=this;return s(this,(function(n){switch(n.label){case 0:return[4,D(this.getSubscriptionsUrlCandidated(this.state.endpoint),(function(e){return t.wsEndpointValid(e)}))];case 1:return(e=n.sent())&&this.setState({subscriptionEndpoint:e}),[2]}}))}))},n.prototype.getSubscriptionsUrlCandidated=function(e){var t=[];if(t.push(e.replace(\"https\",\"wss\").replace(\"http\",\"ws\")),e.includes(\"graph.cool\")&&t.push(\"wss://subscriptions.graph.cool/v1/\"+this.getProjectId(e)),e.includes(\"/simple/v1/\")){var n=e.match(/https?:\\/\\/(.*?)\\//);t.push(\"ws://\"+n[1]+\"/subscriptions/v1/\"+this.getProjectId(e))}return t},n.prototype.wsEndpointValid=function(e){return new Promise((function(t){var n=new WebSocket(e,\"graphql-ws\");n.addEventListener(\"open\",(function(e){n.send(JSON.stringify({type:\"connection_init\"}))})),n.addEventListener(\"message\",(function(e){\"connection_ack\"===JSON.parse(e.data).type&&t(!0)})),n.addEventListener(\"error\",(function(e){t(!1)})),setTimeout((function(){t(!1)}),1e3)}))},n.prototype.getProjectId=function(e){return e.split(\"/\").slice(-1)[0]},n}(u.Component);function D(e,t){return a(this,void 0,void 0,(function(){var n,r;return s(this,(function(i){switch(i.label){case 0:n=0,i.label=1;case 1:return n0?\"(\"+this.props.headersCount+\")\":\"\"))),this.props.queryVariablesActive?a.createElement(h.VariableEditorComponent,{getRef:this.setVariableEditorComponent,onHintInformationRender:this.props.queryVariablesActive?this.handleHintInformationRender:void 0,onRunQuery:this.runQueryAtCursor}):a.createElement(h.HeadersEditorComponent,{getRef:this.setVariableEditorComponent,onHintInformationRender:this.props.queryVariablesActive?this.handleHintInformationRender:void 0,onRunQuery:this.runQueryAtCursor})),a.createElement($,{ref:this.setQueryResizer})),a.createElement(Y,null,a.createElement(X,{ref:this.setResponseResizer}),a.createElement(c.default,null),this.props.queryRunning&&0===this.props.responses.size&&a.createElement(m.default,null),a.createElement(g.default,{setRef:this.setResultComponent}),!this.props.queryRunning&&(!this.props.responses||0===this.props.responses.size)&&a.createElement(se,null,\"Hit the Play Button to get a response here\"),this.props.subscriptionActive&&a.createElement(ue,null,\"Listening \\u2026\"),a.createElement(ie,{isOpen:this.props.responseTracingOpen,height:this.props.responseTracingHeight},a.createElement(oe,{isOpen:this.props.responseTracingOpen,onMouseDown:this.handleTracingResizeStart},a.createElement(re,{isOpen:!1},\"Tracing\")),a.createElement(y.default,{open:this.props.responseTracingOpen}))))),a.createElement(x.default,{setActiveContentRef:this.setSideTabActiveContentRef,setWidth:this.setDocsWidth},a.createElement(E.default,{label:\"Docs\",activeColor:\"green\",tabWidth:\"49px\"},a.createElement(C.default,{schema:this.props.schema,ref:this.setDocExplorerRef})),a.createElement(E.default,{label:\"Schema\",activeColor:\"blue\",tabWidth:\"65px\"},a.createElement(D.default,{schema:this.props.schema,ref:this.setSchemaExplorerRef,sessionId:this.props.sessionId}))))},n.prototype.autoCompleteLeafs=function(){var e=v.fillLeafs(this.props.schema,this.props.query),t=e.insertions,n=e.result;if(t&&t.length>0){var r=this.queryEditorComponent.getCodeMirror();r.operation((function(){var e=r.getCursor(),i=r.indexFromPos(e);r.setValue(n);var o=0;try{var a=t.map((function(e){var t=e.index,n=e.string;return r.markText(r.posFromIndex(t+o),r.posFromIndex(t+(o+=n.length)),{className:\"autoInsertedLeaf\",clearOnEnter:!0,title:\"Automatically added leaf fields\"})}));setTimeout((function(){return a.forEach((function(e){return e.clear()}))}),7e3)}catch(u){}var s=i;t.forEach((function(e){var t=e.index,n=e.string;t0&&e.selectionSet.selections[0].name.value),\"subscription\"===e.operation&&(t=!0),\"query\"===e.operation&&(n=!0),\"mutation\"===e.operation&&(r=!0)})),{firstOperationName:i,subscription:t,query:n,mutation:r}}},function(e,t,n){\"use strict\";var r=Object.prototype;r.toString,r.hasOwnProperty,new Map},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseHeaders=function(e){if(!e)return{};try{return JSON.parse(e)}catch(t){return{}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(32),i=n(18);t.makeOperation=function(e){return r.setIn(e,[\"query\"],i.parse(e.query))}},function(e,t,n){\"use strict\";const r=n(291),i=Symbol(\"max\"),o=Symbol(\"length\"),a=Symbol(\"lengthCalculator\"),s=Symbol(\"allowStale\"),u=Symbol(\"maxAge\"),c=Symbol(\"dispose\"),l=Symbol(\"noDisposeOnSet\"),p=Symbol(\"lruList\"),f=Symbol(\"cache\"),d=Symbol(\"updateAgeOnGet\"),h=()=>1;const m=(e,t,n)=>{const r=e[f].get(t);if(r){const t=r.value;if(g(e,t)){if(v(e,r),!e[s])return}else n&&(e[d]&&(r.value.now=Date.now()),e[p].unshiftNode(r));return t.value}},g=(e,t)=>{if(!t||!t.maxAge&&!e[u])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[u]&&n>e[u]},y=e=>{if(e[o]>e[i])for(let t=e[p].tail;e[o]>e[i]&&null!==t;){const n=t.prev;v(e,t),t=n}},v=(e,t)=>{if(t){const n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[f].delete(n.key),e[p].removeNode(t)}};class b{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const E=(e,t,n,r)=>{let i=n.value;g(e,i)&&(v(e,n),e[s]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};e.exports=class{constructor(e){if(\"number\"===typeof e&&(e={max:e}),e||(e={}),e.max&&(\"number\"!==typeof e.max||e.max<0))throw new TypeError(\"max must be a non-negative number\");this[i]=e.max||1/0;const t=e.length||h;if(this[a]=\"function\"!==typeof t?h:t,this[s]=e.stale||!1,e.maxAge&&\"number\"!==typeof e.maxAge)throw new TypeError(\"maxAge must be a number\");this[u]=e.maxAge||0,this[c]=e.dispose,this[l]=e.noDisposeOnSet||!1,this[d]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(\"number\"!==typeof e||e<0)throw new TypeError(\"max must be a non-negative number\");this[i]=e||1/0,y(this)}get max(){return this[i]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if(\"number\"!==typeof e)throw new TypeError(\"maxAge must be a non-negative number\");this[u]=e,y(this)}get maxAge(){return this[u]}set lengthCalculator(e){\"function\"!==typeof e&&(e=h),e!==this[a]&&(this[a]=e,this[o]=0,this[p].forEach(e=>{e.length=this[a](e.value,e.key),this[o]+=e.length})),y(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[p].length}rforEach(e,t){t=t||this;for(let n=this[p].tail;null!==n;){const r=n.prev;E(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[p].head;null!==n;){const r=n.next;E(this,e,n,t),n=r}}keys(){return this[p].toArray().map(e=>e.key)}values(){return this[p].toArray().map(e=>e.value)}reset(){this[c]&&this[p]&&this[p].length&&this[p].forEach(e=>this[c](e.key,e.value)),this[f]=new Map,this[p]=new r,this[o]=0}dump(){return this[p].map(e=>!g(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[p]}set(e,t,n){if((n=n||this[u])&&\"number\"!==typeof n)throw new TypeError(\"maxAge must be a number\");const r=n?Date.now():0,s=this[a](t,e);if(this[f].has(e)){if(s>this[i])return v(this,this[f].get(e)),!1;const a=this[f].get(e).value;return this[c]&&(this[l]||this[c](e,a.value)),a.now=r,a.maxAge=n,a.value=t,this[o]+=s-a.length,a.length=s,this.get(e),y(this),!0}const d=new b(e,t,s,r,n);return d.length>this[i]?(this[c]&&this[c](e,t),!1):(this[o]+=d.length,this[p].unshift(d),this[f].set(e,this[p].head),y(this),!0)}has(e){if(!this[f].has(e))return!1;const t=this[f].get(e).value;return!g(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[p].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[f].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[f].forEach((e,t)=>m(this,t,!1))}}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.arrayMove=t.sortableHandle=t.sortableElement=t.sortableContainer=t.SortableHandle=t.SortableElement=t.SortableContainer=void 0;var r=n(104);Object.defineProperty(t,\"arrayMove\",{enumerable:!0,get:function(){return r.arrayMove}});var i=s(n(303)),o=s(n(305)),a=s(n(306));function s(e){return e&&e.__esModule?e:{default:e}}t.SortableContainer=i.default,t.SortableElement=o.default,t.SortableHandle=a.default,t.sortableContainer=i.default,t.sortableElement=o.default,t.sortableHandle=a.default},function(e,t,n){\"use strict\";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(32),o=n(49),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(i.Record({history:!1,headers:!0,allTabs:!0,shareUrl:null}));t.SharingState=a,t.default=o.handleActions({TOGGLE_SHARE_HISTORY:function(e){return e.set(\"history\",!e.history)},TOGGLE_SHARE_HEADERS:function(e){return e.set(\"headers\",!e.headers)},TOGGLE_SHARE_ALL_TABS:function(e){return e.set(\"allTabs\",!e.allTabs)},SET_SHARE_URL:function(e,t){var n=t.payload.shareUrl;return e.set(\"shareUrl\",n)}},new a)},function(e,t,n){\"use strict\";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(32),o=n(49),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(i.Record({historyOpen:!1,fixedEndpoint:!1,endpoint:\"\",configString:\"\",envVars:{}}));t.GeneralState=a,t.default=o.handleActions({OPEN_HISTORY:function(e){return e.set(\"historyOpen\",!0)},CLOSE_HISTORY:function(e){return e.set(\"historyOpen\",!1)},SET_ENDPOINT_DISABLED:function(e,t){var n=t.payload.value;return e.set(\"endpointDisabled\",n)},SET_CONFIG_STRING:function(e,t){var n=t.payload.configString;return e.set(\"configString\",n)}},new a)},function(e,t,n){\"use strict\";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",i=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",o=new RegExp(\"^(?:\"+r+\"|\"+i+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|]*>|)\"),a=new RegExp(\"^(?:\"+r+\"|\"+i+\")\");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){\"use strict\";e.exports.tokenize=function(e,t){var n,r,i,o,a=e.pos,s=e.src.charCodeAt(a);if(t)return!1;if(126!==s)return!1;if(i=(r=e.scanDelims(e.pos,!0)).length,o=String.fromCharCode(s),i<2)return!1;for(i%2&&(e.push(\"text\",\"\",0).content=o,i--),n=0;n=0;t--)95!==(n=s[t]).marker&&42!==n.marker||-1!==n.end&&(r=s[n.end],a=t>0&&s[t-1].end===n.end+1&&s[t-1].token===n.token-1&&s[n.end+1].token===r.token+1&&s[t-1].marker===n.marker,o=String.fromCharCode(n.marker),(i=e.tokens[n.token]).type=a?\"strong_open\":\"em_open\",i.tag=a?\"strong\":\"em\",i.nesting=1,i.markup=a?o+o:o,i.content=\"\",(i=e.tokens[r.token]).type=a?\"strong_close\":\"em_close\",i.tag=a?\"strong\":\"em\",i.nesting=-1,i.markup=a?o+o:o,i.content=\"\",a&&(e.tokens[s[t-1].token].content=\"\",e.tokens[s[n.end+1].token].content=\"\",t--))}},function(e,t,n){\"use strict\";function r(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){t&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e}function i(e){return Object.prototype.toString.call(e)}function o(e){return\"[object Function]\"===i(e)}function a(e){return e.replace(/[.?*+^$[\\]\\\\(){}|-]/g,\"\\\\$&\")}var s={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};var u={\"http:\":{validate:function(e,t,n){var r=e.slice(t);return n.re.http||(n.re.http=new RegExp(\"^\\\\/\\\\/\"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,\"i\")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},\"https:\":\"http:\",\"ftp:\":\"http:\",\"//\":{validate:function(e,t,n){var r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp(\"^\"+n.re.src_auth+\"(?:localhost|(?:(?:\"+n.re.src_domain+\")\\\\.)+\"+n.re.src_domain_root+\")\"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,\"i\")),n.re.no_http.test(r)?t>=3&&\":\"===e[t-3]||t>=3&&\"/\"===e[t-3]?0:r.match(n.re.no_http)[0].length:0}},\"mailto:\":{validate:function(e,t,n){var r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp(\"^\"+n.re.src_email_name+\"@\"+n.re.src_host_strict,\"i\")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},c=\"biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\\u0440\\u0444\".split(\"|\");function l(e){var t=e.re=n(357)(e.__opts__),r=e.__tlds__.slice();function s(e){return e.replace(\"%TLDS%\",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||r.push(\"a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]\"),r.push(t.src_xn),t.src_tlds=r.join(\"|\"),t.email_fuzzy=RegExp(s(t.tpl_email_fuzzy),\"i\"),t.link_fuzzy=RegExp(s(t.tpl_link_fuzzy),\"i\"),t.link_no_ip_fuzzy=RegExp(s(t.tpl_link_no_ip_fuzzy),\"i\"),t.host_fuzzy_test=RegExp(s(t.tpl_host_fuzzy_test),\"i\");var u=[];function c(e,t){throw new Error('(LinkifyIt) Invalid schema \"'+e+'\": '+t)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(t){var n=e.__schemas__[t];if(null!==n){var r={validate:null,link:null};if(e.__compiled__[t]=r,\"[object Object]\"===i(n))return!function(e){return\"[object RegExp]\"===i(e)}(n.validate)?o(n.validate)?r.validate=n.validate:c(t,n):r.validate=function(e){return function(t,n){var r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}(n.validate),void(o(n.normalize)?r.normalize=n.normalize:n.normalize?c(t,n):r.normalize=function(e,t){t.normalize(e)});!function(e){return\"[object String]\"===i(e)}(n)?c(t,n):u.push(t)}})),u.forEach((function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)})),e.__compiled__[\"\"]={validate:null,normalize:function(e,t){t.normalize(e)}};var l=Object.keys(e.__compiled__).filter((function(t){return t.length>0&&e.__compiled__[t]})).map(a).join(\"|\");e.re.schema_test=RegExp(\"(^|(?!_)(?:[><\\uff5c]|\"+t.src_ZPCc+\"))(\"+l+\")\",\"i\"),e.re.schema_search=RegExp(\"(^|(?!_)(?:[><\\uff5c]|\"+t.src_ZPCc+\"))(\"+l+\")\",\"ig\"),e.re.pretest=RegExp(\"(\"+e.re.schema_test.source+\")|(\"+e.re.host_fuzzy_test.source+\")|@\",\"i\"),function(e){e.__index__=-1,e.__text_cache__=\"\"}(e)}function p(e,t){var n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function f(e,t){var n=new p(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function d(e,t){if(!(this instanceof d))return new d(e,t);var n;t||(n=e,Object.keys(n||{}).reduce((function(e,t){return e||s.hasOwnProperty(t)}),!1)&&(t=e,e={})),this.__opts__=r({},s,t),this.__index__=-1,this.__last_index__=-1,this.__schema__=\"\",this.__text_cache__=\"\",this.__schemas__=r({},u,e),this.__compiled__={},this.__tlds__=c,this.__tlds_replaced__=!1,this.re={},l(this)}d.prototype.add=function(e,t){return this.__schemas__[e]=t,l(this),this},d.prototype.set=function(e){return this.__opts__=r(this.__opts__,e),this},d.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,r,i,o,a,s,u;if(this.re.schema_test.test(e))for((s=this.re.schema_search).lastIndex=0;null!==(t=s.exec(e));)if(i=this.testSchemaAt(e,t[2],s.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+i;break}return this.__opts__.fuzzyLink&&this.__compiled__[\"http:\"]&&(u=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||u=0&&null!==(r=e.match(this.re.email_fuzzy))&&(o=r.index+r[1].length,a=r.index+r[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__=\"mailto:\",this.__index__=o,this.__last_index__=a)),this.__index__>=0},d.prototype.pretest=function(e){return this.re.pretest.test(e)},d.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},d.prototype.match=function(e){var t=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(f(this,t)),t=this.__last_index__);for(var r=t?e.slice(t):e;this.test(r);)n.push(f(this,t)),r=r.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},d.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,t,n){return e!==n[t-1]})).reverse(),l(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,l(this),this)},d.prototype.normalize=function(e){e.schema||(e.url=\"http://\"+e.url),\"mailto:\"!==e.schema||/^mailto:/i.test(e.url)||(e.url=\"mailto:\"+e.url)},d.prototype.onCompile=function(){},e.exports=d},function(e,t,n){(function(e,r){var i;!function(o){t&&t.nodeType,e&&e.nodeType;var a=\"object\"==typeof r&&r;a.global!==a&&a.window!==a&&a.self;var s,u=2147483647,c=/^xn--/,l=/[^\\x20-\\x7E]/,p=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,f={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},d=Math.floor,h=String.fromCharCode;function m(e){throw new RangeError(f[e])}function g(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function y(e,t){var n=e.split(\"@\"),r=\"\";return n.length>1&&(r=n[0]+\"@\",e=n[1]),r+g((e=e.replace(p,\".\")).split(\".\"),t).join(\".\")}function v(e){for(var t,n,r=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(t+=h((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=h(e)})).join(\"\")}function E(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function x(e,t,n){var r=0;for(e=n?d(e/700):e>>1,e+=d(e/t);e>455;r+=36)e=d(e/35);return d(r+36*e/(e+38))}function D(e){var t,n,r,i,o,a,s,c,l,p,f,h=[],g=e.length,y=0,v=128,E=72;for((n=e.lastIndexOf(\"-\"))<0&&(n=0),r=0;r=128&&m(\"not-basic\"),h.push(e.charCodeAt(r));for(i=n>0?n+1:0;i=g&&m(\"invalid-input\"),((c=(f=e.charCodeAt(i++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:36)>=36||c>d((u-y)/a))&&m(\"overflow\"),y+=c*a,!(c<(l=s<=E?1:s>=E+26?26:s-E));s+=36)a>d(u/(p=36-l))&&m(\"overflow\"),a*=p;E=x(y-o,t=h.length+1,0==o),d(y/t)>u-v&&m(\"overflow\"),v+=d(y/t),y%=t,h.splice(y++,0,v)}return b(h)}function C(e){var t,n,r,i,o,a,s,c,l,p,f,g,y,b,D,C=[];for(g=(e=v(e)).length,t=128,n=0,o=72,a=0;a=t&&fd((u-n)/(y=r+1))&&m(\"overflow\"),n+=(s-t)*y,t=s,a=0;au&&m(\"overflow\"),f==t){for(c=n,l=36;!(c<(p=l<=o?1:l>=o+26?26:l-o));l+=36)D=c-p,b=36-p,C.push(h(E(p+D%b,0))),c=d(D/b);C.push(h(E(c,0))),o=x(n,y,r==i),n=0,++r}++n,++t}return C.join(\"\")}s={version:\"1.4.1\",ucs2:{decode:v,encode:b},decode:D,encode:C,toASCII:function(e){return y(e,(function(e){return l.test(e)?\"xn--\"+C(e):e}))},toUnicode:function(e){return y(e,(function(e){return c.test(e)?D(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return s}.call(t,n,t,e))||(e.exports=i)}()}).call(this,n(169)(e),n(41))},function(e,t,n){\"use strict\";(function(e){Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(361);t.default=function(t,i,o){var a,s,u;n(15).on(i,\"select\",(function(n,i){if(!a){var c=i.parentNode,l=c.parentNode;a=document.createElement(\"div\"),l.appendChild(a);var p=c.style.top,f=\"\",d=t.cursorCoords().top;parseInt(p,10)window.innerHeight&&(y=window.innerHeight-40-m),a.style.top=y+\"px\",e.wrapper=a,a.addEventListener(\"DOMNodeRemoved\",h=function(e){e.target===c&&(a.removeEventListener(\"DOMNodeRemoved\",h),a.parentNode.removeChild(a),a=null,s=null,h=null)})}var v=n.description?r(n.description,{sanitize:!0}):\"\",b=n.type&&\"undefined\"!==n.type?''+function(e){return''+e+\"\"}(n.type)+\"\":\"\";if(s.innerHTML='
    '+(\"

    \"===v.slice(0,3)?\"

    \"+b+v.slice(3):b+v)+\"

    \",n.isDeprecated){var E=n.deprecationReason?r(n.deprecationReason,{sanitize:!0}):\"\";u.innerHTML='Deprecated'+E,u.style.display=\"block\"}else u.style.display=\"none\";o&&o(s)}))}}).call(this,n(41))},function(e,t,n){const r=n(75),i=r.noopTest,o=r.edit,a=r.merge,s={newline:/^\\n+/,code:/^( {4}[^\\n]+\\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,list:/^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,html:\"^ {0,3}(?:<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*|\\\\n*|\\\\n*|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$))\",def:/^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,nptable:i,table:i,lheading:/^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,_paragraph:/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,text:/^[^\\n]+/,_label:/(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/,_title:/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/};s.def=o(s.def).replace(\"label\",s._label).replace(\"title\",s._title).getRegex(),s.bullet=/(?:[*+-]|\\d{1,9}\\.)/,s.item=/^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/,s.item=o(s.item,\"gm\").replace(/bull/g,s.bullet).getRegex(),s.list=o(s.list).replace(/bull/g,s.bullet).replace(\"hr\",\"\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))\").replace(\"def\",\"\\\\n+(?=\"+s.def.source+\")\").getRegex(),s._tag=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",s._comment=//,s.html=o(s.html,\"i\").replace(\"comment\",s._comment).replace(\"tag\",s._tag).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),s.paragraph=o(s._paragraph).replace(\"hr\",s.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"|lheading\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\")|<(?:script|pre|style|!--)\").replace(\"tag\",s._tag).getRegex(),s.blockquote=o(s.blockquote).replace(\"paragraph\",s.paragraph).getRegex(),s.normal=a({},s),s.gfm=a({},s.normal,{nptable:\"^ *([^|\\\\n ].*\\\\|.*)\\\\n *([-:]+ *\\\\|[-| :]*)(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\",table:\"^ *\\\\|(.+)\\\\n *\\\\|?( *[-:]+[-| :]*)(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\"}),s.gfm.nptable=o(s.gfm.nptable).replace(\"hr\",s.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\")|<(?:script|pre|style|!--)\").replace(\"tag\",s._tag).getRegex(),s.gfm.table=o(s.gfm.table).replace(\"hr\",s.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\")|<(?:script|pre|style|!--)\").replace(\"tag\",s._tag).getRegex(),s.pedantic=a({},s.normal,{html:o(\"^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))\").replace(\"comment\",s._comment).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,fences:i,paragraph:o(s.normal._paragraph).replace(\"hr\",s.hr).replace(\"heading\",\" *#{1,6} *[^\\n]\").replace(\"lheading\",s.lheading).replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").getRegex()});const u={escape:/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,autolink:/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,url:i,tag:\"^comment|^|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^|^\",link:/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,reflink:/^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,nolink:/^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,strong:/^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,em:/^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,code:/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,br:/^( {2,}|\\\\)\\n(?!\\s*$)/,del:i,text:/^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~\"};u.em=o(u.em).replace(/punctuation/g,u._punctuation).getRegex(),u._escapes=/\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g,u._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,u._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,u.autolink=o(u.autolink).replace(\"scheme\",u._scheme).replace(\"email\",u._email).getRegex(),u._attribute=/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/,u.tag=o(u.tag).replace(\"comment\",s._comment).replace(\"attribute\",u._attribute).getRegex(),u._label=/(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,u._href=/<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/,u._title=/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/,u.link=o(u.link).replace(\"label\",u._label).replace(\"href\",u._href).replace(\"title\",u._title).getRegex(),u.reflink=o(u.reflink).replace(\"label\",u._label).getRegex(),u.normal=a({},u),u.pedantic=a({},u.normal,{strong:/^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,em:/^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,link:o(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",u._label).getRegex(),reflink:o(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",u._label).getRegex()}),u.gfm=a({},u.normal,{escape:o(u.escape).replace(\"])\",\"~|])\").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\\S)([\\s\\S]*?\\S)~+/,text:/^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/gi,\"\").replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g,\"\").replace(/\\s/g,\"-\");if(this.seen.hasOwnProperty(t)){const e=t;do{this.seen[e]++,t=e+\"-\"+this.seen[e]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t}}},function(e,t,n){const r=n(127),i=n(87).defaults,o=n(182).inline,a=n(75),s=a.findClosingBracket,u=a.escape;e.exports=class e{constructor(e,t){if(this.options=t||i,this.links=e,this.rules=o.normal,this.options.renderer=this.options.renderer||new r,this.renderer=this.options.renderer,this.renderer.options=this.options,!this.links)throw new Error(\"Tokens array requires a `links` property.\");this.options.pedantic?this.rules=o.pedantic:this.options.gfm&&(this.options.breaks?this.rules=o.breaks:this.rules=o.gfm)}static get rules(){return o}static output(t,n,r){return new e(n,r).output(t)}output(t){let n,r,i,o,a,c,l=\"\";for(;t;)if(a=this.rules.escape.exec(t))t=t.substring(a[0].length),l+=u(a[1]);else if(a=this.rules.tag.exec(t))!this.inLink&&/^/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\\/(pre|code|kbd|script)(\\s|>)/i.test(a[0])&&(this.inRawBlock=!1),t=t.substring(a[0].length),l+=this.renderer.html(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):u(a[0]):a[0]);else if(a=this.rules.link.exec(t)){const r=s(a[2],\"()\");if(r>-1){const e=(0===a[0].indexOf(\"!\")?5:4)+a[1].length+r;a[2]=a[2].substring(0,r),a[0]=a[0].substring(0,e).trim(),a[3]=\"\"}t=t.substring(a[0].length),this.inLink=!0,i=a[2],this.options.pedantic?(n=/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(i),n?(i=n[1],o=n[3]):o=\"\"):o=a[3]?a[3].slice(1,-1):\"\",i=i.trim().replace(/^<([\\s\\S]*)>$/,\"$1\"),l+=this.outputLink(a,{href:e.escapes(i),title:e.escapes(o)}),this.inLink=!1}else if((a=this.rules.reflink.exec(t))||(a=this.rules.nolink.exec(t))){if(t=t.substring(a[0].length),n=(a[2]||a[1]).replace(/\\s+/g,\" \"),n=this.links[n.toLowerCase()],!n||!n.href){l+=a[0].charAt(0),t=a[0].substring(1)+t;continue}this.inLink=!0,l+=this.outputLink(a,n),this.inLink=!1}else if(a=this.rules.strong.exec(t))t=t.substring(a[0].length),l+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(t))t=t.substring(a[0].length),l+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(t))t=t.substring(a[0].length),l+=this.renderer.codespan(u(a[2].trim(),!0));else if(a=this.rules.br.exec(t))t=t.substring(a[0].length),l+=this.renderer.br();else if(a=this.rules.del.exec(t))t=t.substring(a[0].length),l+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(t))t=t.substring(a[0].length),\"@\"===a[2]?(r=u(this.mangle(a[1])),i=\"mailto:\"+r):(r=u(a[1]),i=r),l+=this.renderer.link(i,null,r);else if(this.inLink||!(a=this.rules.url.exec(t))){if(a=this.rules.text.exec(t))t=t.substring(a[0].length),this.inRawBlock?l+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):u(a[0]):a[0]):l+=this.renderer.text(u(this.smartypants(a[0])));else if(t)throw new Error(\"Infinite loop on byte: \"+t.charCodeAt(0))}else{if(\"@\"===a[2])r=u(a[0]),i=\"mailto:\"+r;else{do{c=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(c!==a[0]);r=u(a[0]),i=\"www.\"===a[1]?\"http://\"+r:r}t=t.substring(a[0].length),l+=this.renderer.link(i,null,r)}return l}static escapes(t){return t?t.replace(e.rules._escapes,\"$1\"):t}outputLink(e,t){const n=t.href,r=t.title?u(t.title):null;return\"!\"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,u(e[1]))}smartypants(e){return this.options.smartypants?e.replace(/---/g,\"\\u2014\").replace(/--/g,\"\\u2013\").replace(/(^|[-\\u2014/(\\[{\"\\s])'/g,\"$1\\u2018\").replace(/'/g,\"\\u2019\").replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g,\"$1\\u201c\").replace(/\"/g,\"\\u201d\").replace(/\\.{3}/g,\"\\u2026\"):e}mangle(e){if(!this.options.mangle)return e;const t=e.length;let n,r=\"\",i=0;for(;i.5&&(n=\"x\"+n.toString(16)),r+=\"&#\"+n+\";\";return r}}},function(e,t){e.exports=class{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return\"\"+n}image(e,t,n){return\"\"+n}br(){return\"\"}}},function(e,t,n){!function(e){\"use strict\";var t={},n=/[^\\s\\u00a0]/,r=e.Pos;function i(e){var t=e.search(n);return-1==t?0:t}function o(e,t){var n=e.getMode();return!1!==n.useInnerComments&&n.innerMode?e.getModeAt(t):n}e.commands.toggleComment=function(e){e.toggleComment()},e.defineExtension(\"toggleComment\",(function(e){e||(e=t);for(var n=1/0,i=this.listSelections(),o=null,a=i.length-1;a>=0;a--){var s=i[a].from(),u=i[a].to();s.line>=n||(u.line>=n&&(u=r(n,0)),n=s.line,null==o?this.uncomment(s,u,e)?o=\"un\":(this.lineComment(s,u,e),o=\"line\"):\"un\"==o?this.uncomment(s,u,e):this.lineComment(s,u,e))}})),e.defineExtension(\"lineComment\",(function(e,a,s){s||(s=t);var u=this,c=o(u,e),l=u.getLine(e.line);if(null!=l&&(p=e,f=l,!/\\bstring\\b/.test(u.getTokenTypeAt(r(p.line,0)))||/^[\\'\\\"\\`]/.test(f))){var p,f,d=s.lineComment||c.lineComment;if(d){var h=Math.min(0!=a.ch||a.line==e.line?a.line+1:a.line,u.lastLine()+1),m=null==s.padding?\" \":s.padding,g=s.commentBlankLines||e.line==a.line;u.operation((function(){if(s.indent){for(var t=null,o=e.line;oa.length)&&(t=a)}for(o=e.line;op||s.operation((function(){if(0!=a.fullLines){var t=n.test(s.getLine(p));s.replaceRange(f+l,r(p)),s.replaceRange(c+f,r(e.line,0));var o=a.blockCommentLead||u.blockCommentLead;if(null!=o)for(var d=e.line+1;d<=p;++d)(d!=p||t)&&s.replaceRange(o+f,r(d,0))}else s.replaceRange(l,i),s.replaceRange(c,e)}))}}else(a.lineComment||u.lineComment)&&0!=a.fullLines&&s.lineComment(e,i,a)})),e.defineExtension(\"uncomment\",(function(e,i,a){a||(a=t);var s,u=this,c=o(u,e),l=Math.min(0!=i.ch||i.line==e.line?i.line:i.line-1,u.lastLine()),p=Math.min(e.line,l),f=a.lineComment||c.lineComment,d=[],h=null==a.padding?\" \":a.padding;e:if(f){for(var m=p;m<=l;++m){var g=u.getLine(m),y=g.indexOf(f);if(y>-1&&!/comment/.test(u.getTokenTypeAt(r(m,y+1)))&&(y=-1),-1==y&&n.test(g))break e;if(y>-1&&n.test(g.slice(0,y)))break e;d.push(g)}if(u.operation((function(){for(var e=p;e<=l;++e){var t=d[e-p],n=t.indexOf(f),i=n+f.length;n<0||(t.slice(i,i+h.length)==h&&(i+=h.length),s=!0,u.replaceRange(\"\",r(e,n),r(e,i)))}})),s)return!0}var v=a.blockCommentStart||c.blockCommentStart,b=a.blockCommentEnd||c.blockCommentEnd;if(!v||!b)return!1;var E=a.blockCommentLead||c.blockCommentLead,x=u.getLine(p),D=x.indexOf(v);if(-1==D)return!1;var C=l==p?x:u.getLine(l),w=C.indexOf(b,l==p?D+v.length:0),S=r(p,D+1),k=r(l,w+1);if(-1==w||!/comment/.test(u.getTokenTypeAt(S))||!/comment/.test(u.getTokenTypeAt(k))||u.getRange(S,k,\"\\n\").indexOf(b)>-1)return!1;var A=x.lastIndexOf(v,e.ch),T=-1==A?-1:x.slice(0,e.ch).indexOf(b,A+v.length);if(-1!=A&&-1!=T&&T+b.length!=e.ch)return!1;T=C.indexOf(b,i.ch);var _=C.slice(i.ch).lastIndexOf(v,T-i.ch);return A=-1==T||-1==_?-1:i.ch+_,(-1==T||-1==A||A==i.ch)&&(u.operation((function(){u.replaceRange(\"\",r(l,w-(h&&C.slice(w-h.length,w)==h?h.length:0)),r(l,w+b.length));var e=D+v.length;if(h&&x.slice(e,e+h.length)==h&&(e+=h.length),u.replaceRange(\"\",r(p,D),r(p,e)),E)for(var t=p+1;t<=l;++t){var i=u.getLine(t),o=i.indexOf(E);if(-1!=o&&!n.test(i.slice(0,o))){var a=o+E.length;h&&i.slice(a,a+h.length)==h&&(a+=h.length),u.replaceRange(\"\",r(t,o),r(t,a))}}})),!0)}))}(n(15))},function(e,t,n){!function(e){\"use strict\";function t(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function n(e){return e.state.search||(e.state.search=new t)}function r(e){return\"string\"==typeof e&&e==e.toLowerCase()}function i(e,t,n){return e.getSearchCursor(t,n,{caseFold:r(t),multiline:!0})}function o(e,t,n,r,i){e.openDialog?e.openDialog(t,i,{value:r,selectValueOnOpen:!0}):i(prompt(n,r))}function a(e){return e.replace(/\\\\([nrt\\\\])/g,(function(e,t){return\"n\"==t?\"\\n\":\"r\"==t?\"\\r\":\"t\"==t?\"\\t\":\"\\\\\"==t?\"\\\\\":e}))}function s(e){var t=e.match(/^\\/(.*)\\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],-1==t[2].indexOf(\"i\")?\"\":\"i\")}catch(n){}else e=a(e);return(\"string\"==typeof e?\"\"==e:e.test(\"\"))&&(e=/x^/),e}function u(e,t,n){t.queryText=n,t.query=s(n),e.removeOverlay(t.overlay,r(t.query)),t.overlay=function(e,t){return\"string\"==typeof e?e=new RegExp(e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\"),t?\"gi\":\"g\"):e.global||(e=new RegExp(e.source,e.ignoreCase?\"gi\":\"g\")),{token:function(t){e.lastIndex=t.pos;var n=e.exec(t.string);if(n&&n.index==t.pos)return t.pos+=n[0].length||1,\"searching\";n?t.pos=n.index:t.skipToEnd()}}}(t.query,r(t.query)),e.addOverlay(t.overlay),e.showMatchesOnScrollbar&&(t.annotate&&(t.annotate.clear(),t.annotate=null),t.annotate=e.showMatchesOnScrollbar(t.query,r(t.query)))}function c(t,r,i,a){var s=n(t);if(s.query)return l(t,r);var c=t.getSelection()||s.lastQuery;if(c instanceof RegExp&&\"x^\"==c.source&&(c=null),i&&t.openDialog){var d=null,h=function(n,r){e.e_stop(r),n&&(n!=s.queryText&&(u(t,s,n),s.posFrom=s.posTo=t.getCursor()),d&&(d.style.opacity=1),l(t,r.shiftKey,(function(e,n){var r;n.line<3&&document.querySelector&&(r=t.display.wrapper.querySelector(\".CodeMirror-dialog\"))&&r.getBoundingClientRect().bottom-4>t.cursorCoords(n,\"window\").top&&((d=r).style.opacity=.4)})))};!function(e,t,n,r,i){e.openDialog(t,r,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){p(e)},onKeyDown:i})}(t,f(t),c,h,(function(r,i){var o=e.keyName(r),a=t.getOption(\"extraKeys\"),s=a&&a[o]||e.keyMap[t.getOption(\"keyMap\")][o];\"findNext\"==s||\"findPrev\"==s||\"findPersistentNext\"==s||\"findPersistentPrev\"==s?(e.e_stop(r),u(t,n(t),i),t.execCommand(s)):\"find\"!=s&&\"findPersistent\"!=s||(e.e_stop(r),h(i,r))})),a&&c&&(u(t,s,c),l(t,r))}else o(t,f(t),\"Search for:\",c,(function(e){e&&!s.query&&t.operation((function(){u(t,s,e),s.posFrom=s.posTo=t.getCursor(),l(t,r)}))}))}function l(t,r,o){t.operation((function(){var a=n(t),s=i(t,a.query,r?a.posFrom:a.posTo);(s.find(r)||(s=i(t,a.query,r?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0))).find(r))&&(t.setSelection(s.from(),s.to()),t.scrollIntoView({from:s.from(),to:s.to()},20),a.posFrom=s.from(),a.posTo=s.to(),o&&o(s.from(),s.to()))}))}function p(e){e.operation((function(){var t=n(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))}))}function f(e){return''+e.phrase(\"Search:\")+' '+e.phrase(\"(Use /re/ syntax for regexp search)\")+\"\"}function d(e,t,n){e.operation((function(){for(var r=i(e,t);r.findNext();)if(\"string\"!=typeof t){var o=e.getRange(r.from(),r.to()).match(t);r.replace(n.replace(/\\$(\\d)/g,(function(e,t){return o[t]})))}else r.replace(n)}))}function h(e,t){if(!e.getOption(\"readOnly\")){var r=e.getSelection()||n(e).lastQuery,u=''+(t?e.phrase(\"Replace all:\"):e.phrase(\"Replace:\"))+\"\";o(e,u+function(e){return' '+e.phrase(\"(Use /re/ syntax for regexp search)\")+\"\"}(e),u,r,(function(n){n&&(n=s(n),o(e,function(e){return''+e.phrase(\"With:\")+' '}(e),e.phrase(\"Replace with:\"),\"\",(function(r){if(r=a(r),t)d(e,n,r);else{p(e);var o=i(e,n,e.getCursor(\"from\")),s=function t(){var a,s=o.from();!(a=o.findNext())&&(o=i(e,n),!(a=o.findNext())||s&&o.from().line==s.line&&o.from().ch==s.ch)||(e.setSelection(o.from(),o.to()),e.scrollIntoView({from:o.from(),to:o.to()}),function(e,t,n,r){e.openConfirm?e.openConfirm(t,r):confirm(n)&&r[0]()}(e,function(e){return''+e.phrase(\"Replace?\")+\" \"}(e),e.phrase(\"Replace?\"),[function(){u(a)},t,function(){d(e,n,r)}]))},u=function(e){o.replace(\"string\"==typeof n?r:r.replace(/\\$(\\d)/g,(function(t,n){return e[n]}))),s()};s()}})))}))}}e.commands.find=function(e){p(e),c(e)},e.commands.findPersistent=function(e){p(e),c(e,!1,!0)},e.commands.findPersistentNext=function(e){c(e,!1,!0,!0)},e.commands.findPersistentPrev=function(e){c(e,!0,!0,!0)},e.commands.findNext=c,e.commands.findPrev=function(e){c(e,!0)},e.commands.clearSearch=p,e.commands.replace=h,e.commands.replaceAll=function(e){h(e,!0)}}(n(15),n(70),n(71))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n={schema:e,type:null,parentType:null,inputType:null,directiveDef:null,fieldDef:null,argDef:null,argDefs:null,objectFieldDefs:null};return(0,a.default)(t,t=>{switch(t.kind){case\"Query\":case\"ShortQuery\":n.type=e.getQueryType();break;case\"Mutation\":n.type=e.getMutationType();break;case\"Subscription\":n.type=e.getSubscriptionType();break;case\"InlineFragment\":case\"FragmentDefinition\":t.type&&(n.type=e.getType(t.type));break;case\"Field\":case\"AliasedField\":n.fieldDef=n.type&&t.name?s(e,n.parentType,t.name):null,n.type=n.fieldDef&&n.fieldDef.type;break;case\"SelectionSet\":n.parentType=(0,i.getNamedType)(n.type);break;case\"Directive\":n.directiveDef=t.name&&e.getDirective(t.name);break;case\"Arguments\":const r=\"Field\"===t.prevState.kind?n.fieldDef:\"Directive\"===t.prevState.kind?n.directiveDef:\"AliasedField\"===t.prevState.kind?t.prevState.name&&s(e,n.parentType,t.prevState.name):null;n.argDefs=r&&r.args;break;case\"Argument\":if(n.argDef=null,n.argDefs)for(let e=0;ee.value===t.name):null;break;case\"ListValue\":const a=(0,i.getNullableType)(n.inputType);n.inputType=a instanceof i.GraphQLList?a.ofType:null;break;case\"ObjectValue\":const u=(0,i.getNamedType)(n.inputType);n.objectFieldDefs=u instanceof i.GraphQLInputObjectType?u.getFields():null;break;case\"ObjectField\":const c=t.name&&n.objectFieldDefs?n.objectFieldDefs[t.name]:null;n.inputType=c&&c.type;break;case\"NamedType\":n.type=e.getType(t.name)}}),n};var r,i=n(18),o=n(12),a=(r=n(189))&&r.__esModule?r:{default:r};function s(e,t,n){return n===o.SchemaMetaFieldDef.name&&e.getQueryType()===t?o.SchemaMetaFieldDef:n===o.TypeMetaFieldDef.name&&e.getQueryType()===t?o.TypeMetaFieldDef:n===o.TypeNameMetaFieldDef.name&&(0,i.isCompositeType)(t)?o.TypeNameMetaFieldDef:t.getFields?t.getFields()[n]:void 0}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n=[];let r=e;for(;r&&r.kind;)n.push(r),r=r.prevState;for(let i=n.length-1;i>=0;i--)t(n[i])}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getFieldReference=function(e){return{kind:\"Field\",schema:e.schema,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getDirectiveReference=function(e){return{kind:\"Directive\",schema:e.schema,directive:e.directiveDef}},t.getArgumentReference=function(e){return e.directiveDef?{kind:\"Argument\",schema:e.schema,argument:e.argDef,directive:e.directiveDef}:{kind:\"Argument\",schema:e.schema,argument:e.argDef,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getEnumValueReference=function(e){return{kind:\"EnumValue\",value:e.enumValue,type:(0,r.getNamedType)(e.inputType)}},t.getTypeReference=function(e,t){return{kind:\"Type\",schema:e.schema,type:t||e.type}};var r=n(18);function i(e){return\"__\"===e.name.slice(0,2)}},function(e,t,n){\"use strict\";var r,i=(r=n(15))&&r.__esModule?r:{default:r},o=n(7);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode(\"graphql\",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatWhile(o.isIgnored),lexRules:o.LexRules,parseRules:o.ParseRules,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\\s*[})\\]]/,fold:\"brace\",lineComment:\"#\",closeBrackets:{pairs:'()[]{}\"\"',explode:\"()[]{}\"}}})},function(e,t,n){\"use strict\";var r=n(376),i={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"};e.exports=function(e,t){var n,o,a,s,u,c,l=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),s=document.createRange(),u=document.getSelection(),(c=document.createElement(\"span\")).textContent=e,c.style.all=\"unset\",c.style.position=\"fixed\",c.style.top=0,c.style.clip=\"rect(0, 0, 0, 0)\",c.style.whiteSpace=\"pre\",c.style.webkitUserSelect=\"text\",c.style.MozUserSelect=\"text\",c.style.msUserSelect=\"text\",c.style.userSelect=\"text\",c.addEventListener(\"copy\",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),\"undefined\"===typeof r.clipboardData){n&&console.warn(\"unable to use e.clipboardData\"),n&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var o=i[t.format]||i.default;window.clipboardData.setData(o,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),s.selectNodeContents(c),u.addRange(s),!document.execCommand(\"copy\"))throw new Error(\"copy command was unsuccessful\");l=!0}catch(p){n&&console.error(\"unable to copy using execCommand: \",p),n&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(t.format||\"text\",e),t.onCopy&&t.onCopy(window.clipboardData),l=!0}catch(p){n&&console.error(\"unable to copy using clipboardData: \",p),n&&console.error(\"falling back to prompt\"),o=function(e){var t=(/mac os x/i.test(navigator.userAgent)?\"\\u2318\":\"Ctrl\")+\"+C\";return e.replace(/#{\\s*key\\s*}/g,t)}(\"message\"in t?t.message:\"Copy to clipboard: #{key}, Enter\"),window.prompt(o,e)}}finally{u&&(\"function\"==typeof u.removeRange?u.removeRange(s):u.removeAllRanges()),c&&document.body.removeChild(c),a()}return l}},function(e,t,n){\"use strict\";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(3),a=n(9),s=n(55);t.Button=function(e){var n=e.purple,r=e.hideArrow,i=e.children,a=e.onClick;return o.createElement(t.ButtonBox,{purple:n,onClick:a},i||\"Learn more\",!r&&o.createElement(s.FullArrowRightIcon,{color:\"red\",width:14,height:11}))},t.ButtonBox=a.styled(\"div\")(i||(i=r([\"\\n display: flex;\\n align-items: center;\\n\\n padding: 6px 16px;\\n border-radius: 2px;\\n background: \",\";\\n color: \",\";\\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\\n text-transform: uppercase;\\n font-weight: 600;\\n font-size: 14px;\\n letter-spacing: 1px;\\n white-space: nowrap;\\n\\n transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;\\n cursor: pointer;\\n &:hover {\\n background: \",\";\\n transform: \",\";\\n svg {\\n animation: move 1s ease infinite;\\n }\\n }\\n\\n svg {\\n margin-left: 10px;\\n fill: \",\";\\n }\\n\\n @keyframes move {\\n 0% {\\n transform: translate3D(0, 0, 0);\\n }\\n\\n 50% {\\n transform: translate3D(3px, 0, 0);\\n }\\n\\n 100% {\\n transform: translate3D(0, 0, 0);\\n }\\n }\\n\"],[\"\\n display: flex;\\n align-items: center;\\n\\n padding: 6px 16px;\\n border-radius: 2px;\\n background: \",\";\\n color: \",\";\\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\\n text-transform: uppercase;\\n font-weight: 600;\\n font-size: 14px;\\n letter-spacing: 1px;\\n white-space: nowrap;\\n\\n transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;\\n cursor: pointer;\\n &:hover {\\n background: \",\";\\n transform: \",\";\\n svg {\\n animation: move 1s ease infinite;\\n }\\n }\\n\\n svg {\\n margin-left: 10px;\\n fill: \",\";\\n }\\n\\n @keyframes move {\\n 0% {\\n transform: translate3D(0, 0, 0);\\n }\\n\\n 50% {\\n transform: translate3D(3px, 0, 0);\\n }\\n\\n 100% {\\n transform: translate3D(0, 0, 0);\\n }\\n }\\n\"])),(function(e){return e.purple?\"rgb(218, 27, 127)\":\"#2a7ed2\"}),(function(e){return e.theme.colours.white}),(function(e){return e.purple?\"rgb(164, 3, 111)\":\"#3f8ad7\"}),(function(e){return e.purple?\"translate3D(0, 0, 0)\":\"translate3D(0, -1px, 0)\"}),(function(e){return e.theme.colours.white}))},function(e,t,n){\"use strict\";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(9);t.default=o.styled.div(i||(i=r([\"\\n width: 20px;\\n height: 20px;\\n\"],[\"\\n width: 20px;\\n height: 20px;\\n\"])))},function(e,t,n){\"use strict\";var r=s(n(15)),i=n(18),o=s(n(189)),a=s(n(389));function s(e){return e&&e.__esModule?e:{default:e}}r.default.registerHelper(\"hint\",\"graphql-variables\",(e,t)=>{const n=e.getCursor(),s=e.getTokenAt(n),u=function(e,t,n){const r=\"Invalid\"===t.state.kind?t.state.prevState:t.state,s=r.kind,u=r.step;if(\"Document\"===s&&0===u)return(0,a.default)(e,t,[{text:\"{\"}]);const c=n.variableToType;if(!c)return;const l=function(e,t){const n={type:null,fields:null};return(0,o.default)(t,t=>{if(\"Variable\"===t.kind)n.type=e[t.name];else if(\"ListValue\"===t.kind){const e=(0,i.getNullableType)(n.type);n.type=e instanceof i.GraphQLList?e.ofType:null}else if(\"ObjectValue\"===t.kind){const e=(0,i.getNamedType)(n.type);n.fields=e instanceof i.GraphQLInputObjectType?e.getFields():null}else if(\"ObjectField\"===t.kind){const e=t.name&&n.fields?n.fields[t.name]:null;n.type=e&&e.type}}),n}(c,t.state);if(\"Document\"===s||\"Variable\"===s&&0===u){const n=Object.keys(c);return(0,a.default)(e,t,n.map(e=>({text:'\"'.concat(e,'\": '),type:c[e]})))}if((\"ObjectValue\"===s||\"ObjectField\"===s&&0===u)&&l.fields){const n=Object.keys(l.fields).map(e=>l.fields[e]);return(0,a.default)(e,t,n.map(e=>({text:'\"'.concat(e.name,'\": '),type:e.type,description:e.description})))}if(\"StringValue\"===s||\"NumberValue\"===s||\"BooleanValue\"===s||\"NullValue\"===s||\"ListValue\"===s&&1===u||\"ObjectField\"===s&&2===u||\"Variable\"===s&&2===u){const n=(0,i.getNamedType)(l.type);if(n instanceof i.GraphQLInputObjectType)return(0,a.default)(e,t,[{text:\"{\"}]);if(n instanceof i.GraphQLEnumType){const r=n.getValues(),i=Object.keys(r).map(e=>r[e]);return(0,a.default)(e,t,i.map(e=>({text:'\"'.concat(e.name,'\"'),type:n,description:e.description})))}if(n===i.GraphQLBoolean)return(0,a.default)(e,t,[{text:\"true\",type:i.GraphQLBoolean,description:\"Not false.\"},{text:\"false\",type:i.GraphQLBoolean,description:\"Not true.\"}])}}(n,s,t);return u&&u.list&&u.list.length>0&&(u.from=r.default.Pos(u.from.line,u.from.column),u.to=r.default.Pos(u.to.line,u.to.column),r.default.signal(e,\"hasCompletion\",e,u,s)),u})},function(e,t,n){\"use strict\";var r=a(n(15)),i=n(18),o=a(n(390));function a(e){return e&&e.__esModule?e:{default:e}}function s(e,t,n){return{message:n,severity:\"error\",type:\"validation\",from:e.posFromIndex(t.start),to:e.posFromIndex(t.end)}}function u(e,t){return Array.prototype.concat.apply([],e.map(t))}r.default.registerHelper(\"lint\",\"graphql-variables\",(e,t,n)=>{if(!e)return[];let r;try{r=(0,o.default)(e)}catch(c){if(c.stack)throw c;return[s(n,c,c.message)]}const a=t.variableToType;return a?function(e,t,n){const r=[];return n.members.forEach(n=>{const o=n.key.value,a=t[o];a?function e(t,n){if(t instanceof i.GraphQLNonNull)return\"Null\"===n.kind?[[n,'Type \"'.concat(t,'\" is non-nullable and cannot be null.')]]:e(t.ofType,n);if(\"Null\"===n.kind)return[];if(t instanceof i.GraphQLList){const r=t.ofType;return\"Array\"===n.kind?u(n.values,t=>e(r,t)):e(r,n)}if(t instanceof i.GraphQLInputObjectType){if(\"Object\"!==n.kind)return[[n,'Type \"'.concat(t,'\" must be an Object.')]];const r=Object.create(null),o=u(n.members,n=>{const i=n.key.value;r[i]=!0;const o=t.getFields()[i];if(!o)return[[n.key,'Type \"'.concat(t,'\" does not have a field \"').concat(i,'\".')]];const a=o?o.type:void 0;return e(a,n.value)});return Object.keys(t.getFields()).forEach(e=>{if(!r[e]){t.getFields()[e].type instanceof i.GraphQLNonNull&&o.push([n,'Object of type \"'.concat(t,'\" is missing required field \"').concat(e,'\".')])}}),o}if(\"Boolean\"===t.name&&\"Boolean\"!==n.kind||\"String\"===t.name&&\"String\"!==n.kind||\"ID\"===t.name&&\"Number\"!==n.kind&&\"String\"!==n.kind||\"Float\"===t.name&&\"Number\"!==n.kind||\"Int\"===t.name&&(\"Number\"!==n.kind||(0|n.value)!==n.value))return[[n,'Expected value of type \"'.concat(t,'\".')]];if((t instanceof i.GraphQLEnumType||t instanceof i.GraphQLScalarType)&&(\"String\"!==n.kind&&\"Number\"!==n.kind&&\"Boolean\"!==n.kind&&\"Null\"!==n.kind||(null===(r=t.parseValue(n.value))||void 0===r||r!==r)))return[[n,'Expected value of type \"'.concat(t,'\".')]];var r;return[]}(a,n.value).forEach(([t,n])=>{r.push(s(e,t,n))}):r.push(s(e,n.key,'Variable \"$'.concat(o,'\" does not appear in any GraphQL query.')))}),r}(n,a,r):[]})},function(e,t,n){\"use strict\";var r,i=(r=n(15))&&r.__esModule?r:{default:r},o=n(7);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode(\"graphql-variables\",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatSpace(),lexRules:s,parseRules:u,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\\s*[}\\]]/,fold:\"brace\",closeBrackets:{pairs:'[]{}\"\"',explode:\"[]{}\"}}});const s={Punctuation:/^\\[|]|\\{|\\}|:|,/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?/,Keyword:/^true|false|null/},u={Document:[(0,o.p)(\"{\"),(0,o.list)(\"Variable\",(0,o.opt)((0,o.p)(\",\"))),(0,o.p)(\"}\")],Variable:[c(\"variable\"),(0,o.p)(\":\"),\"Value\"],Value(e){switch(e.kind){case\"Number\":return\"NumberValue\";case\"String\":return\"StringValue\";case\"Punctuation\":switch(e.value){case\"[\":return\"ListValue\";case\"{\":return\"ObjectValue\"}return null;case\"Keyword\":switch(e.value){case\"true\":case\"false\":return\"BooleanValue\";case\"null\":return\"NullValue\"}return null}},NumberValue:[(0,o.t)(\"Number\",\"number\")],StringValue:[(0,o.t)(\"String\",\"string\")],BooleanValue:[(0,o.t)(\"Keyword\",\"builtin\")],NullValue:[(0,o.t)(\"Keyword\",\"keyword\")],ListValue:[(0,o.p)(\"[\"),(0,o.list)(\"Value\",(0,o.opt)((0,o.p)(\",\"))),(0,o.p)(\"]\")],ObjectValue:[(0,o.p)(\"{\"),(0,o.list)(\"ObjectField\",(0,o.opt)((0,o.p)(\",\"))),(0,o.p)(\"}\")],ObjectField:[c(\"attribute\"),(0,o.p)(\":\"),\"Value\"]};function c(e){return{style:e,match:e=>\"String\"===e.kind,update(e,t){e.name=t.value.slice(1,-1)}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getLeft=function(e){let t=0,n=e;for(;n.offsetParent;)t+=n.offsetLeft,n=n.offsetParent;return t},t.getTop=function(e){let t=0,n=e;for(;n.offsetParent;)t+=n.offsetTop,n=n.offsetParent;return t}},function(e,t,n){\"use strict\";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(3),a=n(9),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this.props,t=e.label,n=e.activeColor,r=e.active,i=e.onClick,a=e.tabWidth;return o.createElement(c,{onClick:i,activeColor:n,active:r,tabWidth:a},t)},t}(o.PureComponent);t.default=s;var u,c=a.styled(\"div\")(u||(u=i([\"\\n z-index: \",\";\\n padding: 8px 8px 8px 8px;\\n border-radius: 2px 2px 0px 0px;\\n color: \",\";\\n background: \",\";\\n box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\\n text-transform: uppercase;\\n text-align: center;\\n font-weight: 600;\\n font-size: 12px;\\n line-height: 12px;\\n letter-spacing: 0.45px;\\n cursor: pointer;\\n transform: rotate(-90deg);\\n transform-origin: bottom left;\\n margin-top: 65px;\\n width: \",\";\\n\"],[\"\\n z-index: \",\";\\n padding: 8px 8px 8px 8px;\\n border-radius: 2px 2px 0px 0px;\\n color: \",\";\\n background: \",\";\\n box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\\n text-transform: uppercase;\\n text-align: center;\\n font-weight: 600;\\n font-size: 12px;\\n line-height: 12px;\\n letter-spacing: 0.45px;\\n cursor: pointer;\\n transform: rotate(-90deg);\\n transform-origin: bottom left;\\n margin-top: 65px;\\n width: \",\";\\n\"])),(function(e){return e.active?10:2}),(function(e){return\"dark\"===e.theme.mode?e.theme.colours.white:e.theme.colours[e.active?\"white\":\"darkBlue\"]}),(function(e){return e.active&&e.activeColor?e.theme.colours[e.activeColor]:\"dark\"===e.theme.mode?\"#3D5866\":\"#DBDEE0\"}),(function(e){return e.tabWidth||\"100%\"}))},function(e,t){function n(e){if(e&&\"object\"===typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(\"number\"===typeof e)return a[e];var n,o=String(e);return(n=r[o.toLowerCase()])?n:(n=i[o.toLowerCase()])||(1===o.length?o.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&\"object\"===typeof e){var n=e.which||e.keyCode||e.charCode;if(null===n||void 0===n)return!1;if(\"string\"===typeof t){var o;if(o=r[t.toLowerCase()])return o===n;if(o=i[t.toLowerCase()])return o===n}else if(\"number\"===typeof t)return t===n;return!1}};var r=(t=e.exports=n).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,\"pause/break\":19,\"caps lock\":20,esc:27,space:32,\"page up\":33,\"page down\":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,\"left command\":91,\"right command\":93,\"numpad *\":106,\"numpad +\":107,\"numpad -\":109,\"numpad .\":110,\"numpad /\":111,\"num lock\":144,\"scroll lock\":145,\"my computer\":182,\"my calculator\":183,\";\":186,\"=\":187,\",\":188,\"-\":189,\".\":190,\"/\":191,\"`\":192,\"[\":219,\"\\\\\":220,\"]\":221,\"'\":222},i=t.aliases={windows:91,\"\\u21e7\":16,\"\\u2325\":18,\"\\u2303\":17,\"\\u2318\":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(o=97;o<123;o++)r[String.fromCharCode(o)]=o-32;for(var o=48;o<58;o++)r[o-48]=o;for(o=1;o<13;o++)r[\"f\"+o]=o+111;for(o=0;o<10;o++)r[\"numpad \"+o]=o+96;var a=t.names=t.title={};for(o in r)a[r[o]]=o;for(var s in i)r[s]=i[s]},function(e,t,n){\"use strict\";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(9);t.ErrorContainer=o.styled.div(i||(i=r([\"\\n font-weight: bold;\\n left: 0;\\n letter-spacing: 1px;\\n opacity: 0.5;\\n position: absolute;\\n right: 0;\\n text-align: center;\\n text-transform: uppercase;\\n top: 50%;\\n transform: translate(0, -50%);\\n\"],[\"\\n font-weight: bold;\\n left: 0;\\n letter-spacing: 1px;\\n opacity: 0.5;\\n position: absolute;\\n right: 0;\\n text-align: center;\\n text-transform: uppercase;\\n top: 50%;\\n transform: translate(0, -50%);\\n\"])))},function(e,t,n){\"use strict\";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",i=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",o=new RegExp(\"^(?:\"+r+\"|\"+i+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|]*>|)\"),a=new RegExp(\"^(?:\"+r+\"|\"+i+\")\");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,o,a,s=[],u=t.length;for(n=0;n=0;n--)95!==(r=t[n]).marker&&42!==r.marker||-1!==r.end&&(i=t[r.end],s=n>0&&t[n-1].end===r.end+1&&t[n-1].token===r.token-1&&t[r.end+1].token===i.token+1&&t[n-1].marker===r.marker,a=String.fromCharCode(r.marker),(o=e.tokens[r.token]).type=s?\"strong_open\":\"em_open\",o.tag=s?\"strong\":\"em\",o.nesting=1,o.markup=s?a+a:a,o.content=\"\",(o=e.tokens[i.token]).type=s?\"strong_close\":\"em_close\",o.tag=s?\"strong\":\"em\",o.nesting=-1,o.markup=s?a+a:a,o.content=\"\",s&&(e.tokens[t[n-1].token].content=\"\",e.tokens[t[r.end+1].token].content=\"\",n--))}e.exports.tokenize=function(e,t){var n,r,i=e.pos,o=e.src.charCodeAt(i);if(t)return!1;if(95!==o&&42!==o)return!1;for(r=e.scanDelims(e.pos,42===o),n=0;n=0)&&o(e,!n)}e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.assertNodeList=u,t.setElement=function(e){var t=e;if(\"string\"===typeof t&&a.canUseDOM){var n=document.querySelectorAll(t);u(n,t),t=\"length\"in n?n[0]:n}return s=t||s},t.validateElement=c,t.hide=function(e){c(e)&&(e||s).setAttribute(\"aria-hidden\",\"true\")},t.show=function(e){c(e)&&(e||s).removeAttribute(\"aria-hidden\")},t.documentNotReadyOrSSRTesting=function(){s=null},t.resetForTesting=function(){s=null};var r,i=n(470),o=(r=i)&&r.__esModule?r:{default:r},a=n(137);var s=null;function u(e,t){if(!e||!e.length)throw new Error(\"react-modal: No elements were found for selector \"+t+\".\")}function c(e){return!(!e&&!s)||((0,o.default)(!1,[\"react-modal: App element is not defined.\",\"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\",\"This is needed so screen readers don't see main content\",\"when modal is opened. It is not recommended, but you can opt-out\",\"by setting `ariaHideApp={false}`.\"].join(\" \")),!1)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=new function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.register=function(e){-1===t.openInstances.indexOf(e)&&(t.openInstances.push(e),t.emit(\"register\"))},this.deregister=function(e){var n=t.openInstances.indexOf(e);-1!==n&&(t.openInstances.splice(n,1),t.emit(\"deregister\"))},this.subscribe=function(e){t.subscribers.push(e)},this.emit=function(e){t.subscribers.forEach((function(n){return n(e,t.openInstances.slice())}))},this.openInstances=[],this.subscribers=[]};t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(27),i=n(36);t.getHistory=r.createSelector([i.getSelectedWorkspace],(function(e){return e.history}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWorkspaceId=function(e){return\"\"+(e.configPath?e.configPath+\"~\":\"\")+(e.workspaceName?e.workspaceName+\"~\":\"\")+e.endpoint}},function(e,t){t.__esModule=!0;t.ATTRIBUTE_NAMES={BODY:\"bodyAttributes\",HTML:\"htmlAttributes\",TITLE:\"titleAttributes\"};var n=t.TAG_NAMES={BASE:\"base\",BODY:\"body\",HEAD:\"head\",HTML:\"html\",LINK:\"link\",META:\"meta\",NOSCRIPT:\"noscript\",SCRIPT:\"script\",STYLE:\"style\",TITLE:\"title\"},r=(t.VALID_TAG_NAMES=Object.keys(n).map((function(e){return n[e]})),t.TAG_PROPERTIES={CHARSET:\"charset\",CSS_TEXT:\"cssText\",HREF:\"href\",HTTPEQUIV:\"http-equiv\",INNER_HTML:\"innerHTML\",ITEM_PROP:\"itemprop\",NAME:\"name\",PROPERTY:\"property\",REL:\"rel\",SRC:\"src\"},t.REACT_TAG_MAP={accesskey:\"accessKey\",charset:\"charSet\",class:\"className\",contenteditable:\"contentEditable\",contextmenu:\"contextMenu\",\"http-equiv\":\"httpEquiv\",itemprop:\"itemProp\",tabindex:\"tabIndex\"});t.HELMET_PROPS={DEFAULT_TITLE:\"defaultTitle\",DEFER:\"defer\",ENCODE_SPECIAL_CHARACTERS:\"encodeSpecialCharacters\",ON_CHANGE_CLIENT_STATE:\"onChangeClientState\",TITLE_TEMPLATE:\"titleTemplate\"},t.HTML_TAG_MAP=Object.keys(r).reduce((function(e,t){return e[r[t]]=t,e}),{}),t.SELF_CLOSING_TAGS=[n.NOSCRIPT,n.SCRIPT,n.STYLE],t.HELMET_ATTRIBUTE=\"data-react-helmet\"},function(e,t,n){\"use strict\";var r=n(78);e.exports=new r({include:[n(218)]})},function(e,t,n){\"use strict\";var r=n(78);e.exports=new r({include:[n(139)],implicit:[n(497),n(498),n(499),n(500)]})},function(e,t,n){n(529),e.exports=self.fetch.bind(self)},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getDefinitionState\",(function(){return S})),n.d(t,\"getFieldDef\",(function(){return k})),n.d(t,\"forEachState\",(function(){return A})),n.d(t,\"objectValues\",(function(){return T})),n.d(t,\"hintList\",(function(){return _})),n.d(t,\"getAutocompleteSuggestions\",(function(){return he})),n.d(t,\"getFragmentDefinitions\",(function(){return me})),n.d(t,\"getTokenAtPosition\",(function(){return ge})),n.d(t,\"runOnlineParser\",(function(){return ye})),n.d(t,\"canUseDirective\",(function(){return ve})),n.d(t,\"getTypeInfo\",(function(){return be})),n.d(t,\"LANGUAGE\",(function(){return Me})),n.d(t,\"getDefinitionQueryResultForNamedType\",(function(){return Pe})),n.d(t,\"getDefinitionQueryResultForFragmentSpread\",(function(){return Re})),n.d(t,\"getDefinitionQueryResultForDefinitionNode\",(function(){return Be})),n.d(t,\"SEVERITY\",(function(){return He})),n.d(t,\"DIAGNOSTIC_SEVERITY\",(function(){return We})),n.d(t,\"getDiagnostics\",(function(){return Ge})),n.d(t,\"validateQuery\",(function(){return Ke})),n.d(t,\"getRange\",(function(){return Qe})),n.d(t,\"getOutline\",(function(){return Ze})),n.d(t,\"getHoverInformation\",(function(){return tt})),n.d(t,\"GraphQLLanguageService\",(function(){return Ft}));var r,i,o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C=n(0),w=n(12);function S(e){var t;return A(e,(function(e){switch(e.kind){case\"Query\":case\"ShortQuery\":case\"Mutation\":case\"Subscription\":case\"FragmentDefinition\":t=e}})),t}function k(e,t,n){return n===w.SchemaMetaFieldDef.name&&e.getQueryType()===t?w.SchemaMetaFieldDef:n===w.TypeMetaFieldDef.name&&e.getQueryType()===t?w.TypeMetaFieldDef:n===w.TypeNameMetaFieldDef.name&&Object(C.D)(t)?w.TypeNameMetaFieldDef:\"getFields\"in t?t.getFields()[n]:null}function A(e,t){for(var n=[],r=e;r&&r.kind;)n.push(r),r=r.prevState;for(var i=n.length-1;i>=0;i--)t(n[i])}function T(e){for(var t=Object.keys(e),n=t.length,r=new Array(n),i=0;i1&&r>1&&e[n-1]===t[r-2]&&e[n-2]===t[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+s))}return i[o][a]}(t,e);return e.length>t.length&&(n-=e.length-t.length-1,n+=0===e.indexOf(t)?0:.5),n}!function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.number(t.line)&&ue.number(t.character)}}(r||(r={})),function(e){e.create=function(e,t,n,i){if(ue.number(e)&&ue.number(t)&&ue.number(n)&&ue.number(i))return{start:r.create(e,t),end:r.create(n,i)};if(r.is(e)&&r.is(t))return{start:e,end:t};throw new Error(\"Range#create called with invalid arguments[\"+e+\", \"+t+\", \"+n+\", \"+i+\"]\")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&r.is(t.start)&&r.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(o||(o={})),function(e){e.create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.targetRange)&&ue.string(t.targetUri)&&(i.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(a||(a={})),function(e){e.create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function(e){var t=e;return ue.number(t.red)&&ue.number(t.green)&&ue.number(t.blue)&&ue.number(t.alpha)}}(s||(s={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&s.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||y.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,y.is))}}(c||(c={})),function(e){e.Comment=\"comment\",e.Imports=\"imports\",e.Region=\"region\"}(l||(l={})),function(e){e.create=function(e,t,n,r,i){var o={startLine:e,endLine:t};return ue.defined(n)&&(o.startCharacter=n),ue.defined(r)&&(o.endCharacter=r),ue.defined(i)&&(o.kind=i),o},e.is=function(e){var t=e;return ue.number(t.startLine)&&ue.number(t.startLine)&&(ue.undefined(t.startCharacter)||ue.number(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.number(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(p||(p={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.location)&&ue.string(t.message)}}(f||(f={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(d||(d={})),function(e){e.Unnecessary=1,e.Deprecated=2}(h||(h={})),function(e){e.create=function(e,t,n,r,i,o){var a={range:e,message:t};return ue.defined(n)&&(a.severity=n),ue.defined(r)&&(a.code=r),ue.defined(i)&&(a.source=i),ue.defined(o)&&(a.relatedInformation=o),a},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&ue.string(t.message)&&(ue.number(t.severity)||ue.undefined(t.severity))&&(ue.number(t.code)||ue.string(t.code)||ue.undefined(t.code))&&(ue.string(t.source)||ue.undefined(t.source))&&(ue.undefined(t.relatedInformation)||ue.typedArray(t.relatedInformation,f.is))}}(m||(m={})),function(e){e.create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(g||(g={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:\"\"}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&i.is(t.range)}}(y||(y={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&M.is(t.textDocument)&&Array.isArray(t.edits)}}(v||(v={})),function(e){e.create=function(e,t){var n={kind:\"create\",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(n.options=t),n},e.is=function(e){var t=e;return t&&\"create\"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))}}(b||(b={})),function(e){e.create=function(e,t,n){var r={kind:\"rename\",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),r},e.is=function(e){var t=e;return t&&\"rename\"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))}}(E||(E={})),function(e){e.create=function(e,t){var n={kind:\"delete\",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(n.options=t),n},e.is=function(e){var t=e;return t&&\"delete\"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))}}(x||(x={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?b.is(e)||E.is(e)||x.is(e):v.is(e)})))}}(D||(D={}));var I,M,j,L,P,R,B,U,z,V,q,H,W,G,K,J,Y,Q,$,X,Z,ee,te,ne,re,ie,oe,ae=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(y.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(y.replace(e,t))},e.prototype.delete=function(e){this.edits.push(y.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(v.is(e)){var n=new ae(e.edits);t._textEditChanges[e.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new ae(e.changes[n]);t._textEditChanges[n]=r})))}Object.defineProperty(e.prototype,\"edit\",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(M.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error(\"Workspace edit is not configured for document changes.\");var t=e;if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new ae(i),this._textEditChanges[t.uri]=r}return r}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error(\"Workspace edit is not configured for normal text edit changes.\");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new ae(i),this._textEditChanges[e]=r}return r},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.renameFile=function(e,t,n){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(E.create(e,t,n))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(x.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error(\"Workspace edit is not configured for document changes.\")}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(I||(I={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.number(t.version))}}(M||(M={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.number(t.version)&&ue.string(t.text)}}(j||(j={})),function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\"}(L||(L={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(L||(L={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&L.is(t.kind)&&ue.string(t.value)}}(P||(P={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(R||(R={})),function(e){e.PlainText=1,e.Snippet=2}(B||(B={})),function(e){e.Deprecated=1}(U||(U={})),function(e){e.create=function(e){return{label:e}}}(z||(z={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(V||(V={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(q||(q={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(P.is(t.contents)||q.is(t.contents)||ue.typedArray(t.contents,q.is))&&(void 0===e.range||i.is(e.range))}}(H||(H={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(W||(W={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;o--){var a=r[o],s=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=i))throw new Error(\"Overlapping edit\");n=n.substring(0,s)+a.newText+n.substring(u,n.length),i=s}return n}}(se||(se={}));var ue,ce=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"languageId\",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"version\",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return r.create(0,e);for(;ne?i=o:n=o+1}var a=n-1;return r.create(a,e-t[a])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1=t.character)return n=a,r=de({},o),i=e.current(),\"BREAK\"}));return{start:o.start,end:o.end,string:i||o.string,state:r||o.state,style:n||o.style}}function ye(e,t){for(var n=e.split(\"\\n\"),r=Object(fe.onlineParser)(),i=r.startState(),o=\"\",a=new fe.CharacterStream(\"\"),s=0;s=e.character:n.start.line<=e.line&&n.end.line>=e.line},this.start=e,this.end=t}return e.prototype.setStart=function(e,t){this.start=new De(e,t)},e.prototype.setEnd=function(e,t){this.end=new De(e,t)},e}(),De=function(){function e(e,t){var n=this;this.lessThanOrEqualTo=function(e){return n.line0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.line,\"Query text must have more lines than where the error happened\");for(var o=null,a=0;a0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?_t.FieldWithArguments:_t[e.kind]}var Ft=function(){function e(e){this._graphQLCache=e,this._graphQLConfig=e.getGraphQLConfig()}return e.prototype.getConfigForURI=function(e){var t=this._graphQLConfig.getProjectForFile(e);if(t)return t;throw Error(\"No config found for uri: \"+e)},e.prototype.getDiagnostics=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i,o,a,s,u,c,l,p,f,d,h,m,g,y;return pt(this,(function(v){switch(v.label){case 0:if(r=!1,!(i=this.getConfigForURI(t)))return[2,[]];o=i.schema,a=i.name,s=i.extensions;try{u=Object(Ve.a)(e),o&&t===o||(r=u.definitions.some((function(e){switch(e.kind){case dt:case ht:case mt:case gt:case yt:case vt:case bt:case Et:case xt:case Dt:case Ct:case wt:case St:return!0}return!1})))}catch(b){return c=Qe(b.locations[0],e),[2,[{severity:We.Error,message:b.message,source:\"GraphQL: Syntax\",range:c}]]}return l=e,[4,this._graphQLCache.getFragmentDefinitions(i)];case 1:return p=v.sent(),[4,this._graphQLCache.getFragmentDependencies(e,p)];case 2:f=v.sent(),d=f.reduce((function(e,t){return e+\" \"+Object(ct.print)(t.definition)}),\"\"),l=l+\" \"+d,h=null;try{h=Object(Ve.a)(l)}catch(b){return[2,[]]}return m=null,(g=s.customValidationRules)&&(m=g(this._graphQLConfig)),[4,this._graphQLCache.getSchema(a,r)];case 3:return(y=v.sent())?[2,Ke(h,y,m,n)]:[2,[]]}}))}))},e.prototype.getAutocompleteSuggestions=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i;return pt(this,(function(o){switch(o.label){case 0:return r=this.getConfigForURI(n),[4,this._graphQLCache.getSchema(r.name)];case 1:return(i=o.sent())?[2,he(i,e,t)]:[2,[]]}}))}))},e.prototype.getHoverInformation=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i;return pt(this,(function(o){switch(o.label){case 0:return r=this.getConfigForURI(n),[4,this._graphQLCache.getSchema(r.name)];case 1:return(i=o.sent())?[2,tt(i,e,t)]:[2,\"\"]}}))}))},e.prototype.getDefinition=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i,o;return pt(this,(function(a){r=this.getConfigForURI(n);try{i=Object(Ve.a)(e)}catch(s){return[2,null]}if(o=function(e,t,n){var r,i=function(e,t){var n=e.split(\"\\n\").slice(0,t.line);return t.character+n.map((function(e){return e.length+1})).reduce((function(e,t){return e+t}),0)}(e,n);return Object(Ee.c)(t,{enter:function(e){if(!(\"Name\"!==e.kind&&e.loc&&e.loc.start<=i&&i<=e.loc.end))return!1;r=e},leave:function(e){if(e.loc&&e.loc.start<=i&&i<=e.loc.end)return!1}}),r}(e,i,t))switch(o.kind){case kt:return[2,this._getDefinitionForFragmentSpread(e,i,o,n,r)];case ft:case At:return[2,Be(n,e,o)];case Tt:return[2,this._getDefinitionForNamedType(e,i,o,n,r)]}return[2,null]}))}))},e.prototype.getDocumentSymbols=function(e,t){return lt(this,void 0,void 0,(function(){var n,r,i,o,a;return pt(this,(function(s){switch(s.label){case 0:return[4,this.getOutline(e)];case 1:if(!(n=s.sent()))return[2,[]];for(r=[],i=n.outlineTrees.map((function(e){return[null,e]})),o=function(){var e=i.pop();if(!e)return{value:[]};var n=e[0],o=e[1];if(!o)return{value:[]};r.push({name:o.representativeName,kind:Ot(o),location:{uri:t,range:{start:o.startPosition,end:o.endPosition}},containerName:n?n.representativeName:void 0}),i.push.apply(i,o.children.map((function(e){return[o,e]})))};i.length>0;)if(\"object\"===typeof(a=o()))return[2,a.value];return[2,r]}}))}))},e.prototype._getDefinitionForNamedType=function(e,t,n,r,i){return lt(this,void 0,void 0,(function(){var o,a,s,u;return pt(this,(function(c){switch(c.label){case 0:return[4,this._graphQLCache.getObjectTypeDefinitions(i)];case 1:return o=c.sent(),[4,this._graphQLCache.getObjectTypeDependenciesForAST(t,o)];case 2:return a=c.sent(),s=t.definitions.filter((function(e){return e.kind===dt||e.kind===vt||e.kind===mt||e.kind===yt||e.kind===ht})),u=s.map((function(t){return{filePath:r,content:e,definition:t}})),[4,Pe(e,n,a.concat(u))];case 3:return[2,c.sent()]}}))}))},e.prototype._getDefinitionForFragmentSpread=function(e,t,n,r,i){return lt(this,void 0,void 0,(function(){var o,a,s,u;return pt(this,(function(c){switch(c.label){case 0:return[4,this._graphQLCache.getFragmentDefinitions(i)];case 1:return o=c.sent(),[4,this._graphQLCache.getFragmentDependenciesForAST(t,o)];case 2:return a=c.sent(),s=t.definitions.filter((function(e){return e.kind===ft})),u=s.map((function(t){return{filePath:r,content:e,definition:t}})),[4,Re(e,n,a.concat(u))];case 3:return[2,c.sent()]}}))}))},e.prototype.getOutline=function(e){return lt(this,void 0,void 0,(function(){return pt(this,(function(t){return[2,Ze(e)]}))}))},e}()},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"CANCEL\",(function(){return r.a})),n.d(t,\"SAGA_LOCATION\",(function(){return r.g})),n.d(t,\"buffers\",(function(){return s.i})),n.d(t,\"detach\",(function(){return s.j})),n.d(t,\"END\",(function(){return S})),n.d(t,\"channel\",(function(){return A})),n.d(t,\"eventChannel\",(function(){return T})),n.d(t,\"isEnd\",(function(){return k})),n.d(t,\"multicastChannel\",(function(){return _})),n.d(t,\"runSaga\",(function(){return G})),n.d(t,\"stdChannel\",(function(){return O}));var r=n(16),i=n(42),o=n(62),a=n(10),s=n(6),u=n(61);function c(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var l=c,p=(n(115),[]),f=0;function d(e){try{g(),e()}finally{y()}}function h(e){p.push(e),f||(g(),v())}function m(e){try{return g(),e()}finally{v()}}function g(){f++}function y(){f--}function v(){var e;for(y();!f&&void 0!==(e=p.shift());)d(e)}var b=function(e){return function(t){return e.some((function(e){return w(e)(t)}))}},E=function(e){return function(t){return e(t)}},x=function(e){return function(t){return t.type===String(e)}},D=function(e){return function(t){return t.type===e}},C=function(){return s.U};function w(e){var t=\"*\"===e?C:Object(a.k)(e)?x:Object(a.a)(e)?b:Object(a.l)(e)?x:Object(a.d)(e)?E:Object(a.m)(e)?D:null;if(null===t)throw new Error(\"invalid pattern: \"+e);return t(e)}var S={type:r.b},k=function(e){return e&&e.type===r.b};function A(e){void 0===e&&(e=Object(s.O)());var t=!1,n=[];return{take:function(r){t&&e.isEmpty()?r(S):e.isEmpty()?(n.push(r),r.cancel=function(){Object(s.bb)(n,r)}):r(e.take())},put:function(r){if(!t){if(0===n.length)return e.put(r);n.shift()(r)}},flush:function(n){t&&e.isEmpty()?n(S):n(e.flush())},close:function(){if(!t){t=!0;var e=n;n=[];for(var r=0,i=e.length;r2?h-2:0),y=2;y1&&\"_\"===e[0]&&\"_\"===e[1]?new i.a('Name \"'.concat(e,'\" must not begin with \"__\", which is reserved by GraphQL introspection.'),t):o.test(e)?void 0:new i.a('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"'.concat(e,'\" does not.'),t)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(4);function i(e){var t=Object.create(null);return{OperationDefinition:function(n){var i=n.name;return i&&(t[i.value]?e.reportError(new r.a(function(e){return'There can be only one operation named \"'.concat(e,'\".')}(i.value),[t[i.value],i])):t[i.value]=i),!1},FragmentDefinition:function(){return!1}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(4),i=n(1);function o(e){var t=0;return{Document:function(e){t=e.definitions.filter((function(e){return e.kind===i.a.OPERATION_DEFINITION})).length},OperationDefinition:function(n){!n.name&&t>1&&e.reportError(new r.a(\"This anonymous operation must be the only defined operation.\",n))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(4);function i(e){return{OperationDefinition:function(t){var n;\"subscription\"===t.operation&&1!==t.selectionSet.selections.length&&e.reportError(new r.a((n=t.name&&t.name.value)?'Subscription \"'.concat(n,'\" must select only one top level field.'):\"Anonymous Subscription must select only one top level field.\",t.selectionSet.selections.slice(1)))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(4),i=n(21),o=n(0),a=n(31);function s(e){return{InlineFragment:function(t){var n=t.typeCondition;if(n){var s=Object(a.a)(e.getSchema(),n);s&&!Object(o.D)(s)&&e.reportError(new r.a(function(e){return'Fragment cannot condition on non composite type \"'.concat(e,'\".')}(Object(i.print)(n)),n))}},FragmentDefinition:function(t){var n=Object(a.a)(e.getSchema(),t.typeCondition);n&&!Object(o.D)(n)&&e.reportError(new r.a(function(e,t){return'Fragment \"'.concat(e,'\" cannot condition on non composite type \"').concat(t,'\".')}(t.name.value,Object(i.print)(t.typeCondition)),t.typeCondition))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(4),i=n(21),o=n(0),a=n(31);function s(e){return{VariableDefinition:function(t){var n=Object(a.a)(e.getSchema(),t.type);if(n&&!Object(o.G)(n)){var s=t.variable.name.value;e.reportError(new r.a(function(e,t){return'Variable \"$'.concat(e,'\" cannot be non-input type \"').concat(t,'\".')}(s,Object(i.print)(t.type)),t.type))}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(2),i=n(4),o=n(0);function a(e){return{Field:function(t){var n=e.getType(),a=t.selectionSet;n&&(Object(o.I)(Object(o.A)(n))?a&&e.reportError(new i.a(function(e,t){return'Field \"'.concat(e,'\" must not have a selection since type \"').concat(t,'\" has no subfields.')}(t.name.value,Object(r.a)(n)),a)):a||e.reportError(new i.a(function(e,t){return'Field \"'.concat(e,'\" of type \"').concat(t,'\" must have a selection of subfields. Did you mean \"').concat(e,' { ... }\"?')}(t.name.value,Object(r.a)(n)),t)))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(38),i=n(43),o=n(4),a=n(0);function s(e){return{Field:function(t){var n=e.getParentType();if(n&&!e.getFieldDef()){var s=e.getSchema(),u=t.name.value,c=function(e,t,n){if(Object(a.C)(t)){for(var r=[],i=Object.create(null),o=0,s=e.getPossibleTypes(t);o1)for(var p=0;p0)return[[t,e.map((function(e){return e[0]}))],e.reduce((function(e,t){var n=t[1];return e.concat(n)}),[n]),e.reduce((function(e,t){var n=t[2];return e.concat(n)}),[r])]}(function(e,t,n,r,i,o,a,s){var u=[],c=y(e,t,i,o),l=c[0],p=c[1],f=y(e,t,a,s),g=f[0],v=f[1];if(m(e,u,t,n,r,l,g),0!==v.length)for(var b=Object.create(null),E=0;E0&&e.reportError(new r.a(\"Must provide only one schema definition.\",t)),++i)}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(4);function i(e){return\"There can be only one \".concat(e,\" type in schema.\")}function o(e){return\"Type for \".concat(e,\" already defined in the schema. It cannot be redefined.\")}function a(e){var t=e.getSchema(),n=Object.create(null),a=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:s,SchemaExtension:s};function s(t){if(t.operationTypes)for(var s=0,u=t.operationTypes||[];s=t?e.apply(this,r):function(){return n.apply(this,r.concat([].slice.call(arguments)))}}}},function(e,t,n){e.exports=n(279).Observable},function(e,t,n){\"use strict\";e.exports=function(e,t){t||(t={}),\"function\"===typeof t&&(t={cmp:t});var n,r=\"boolean\"===typeof t.cycles&&t.cycles,i=t.cmp&&(n=t.cmp,function(e){return function(t,r){var i={key:t,value:e[t]},o={key:r,value:e[r]};return n(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&\"function\"===typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if(\"number\"==typeof t)return isFinite(t)?\"\"+t:\"null\";if(\"object\"!==typeof t)return JSON.stringify(t);var n,a;if(Array.isArray(t)){for(a=\"[\",n=0;nO.length&&O.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,i){var s=typeof t;\"undefined\"!==s&&\"boolean\"!==s||(t=null);var u=!1;if(null===t)u=!0;else switch(s){case\"string\":case\"number\":u=!0;break;case\"object\":switch(t.$$typeof){case o:case a:u=!0}}if(u)return r(i,t,\"\"===n?\".\"+M(t,0):n),1;if(u=0,n=\"\"===n?\".\":n+\":\",Array.isArray(t))for(var c=0;c\\\" + type.name + \\\"\\\";\\n}\\n//# sourceMappingURL=onHasCompletion.js.map\",\"function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\\n try {\\n var info = gen[key](arg);\\n var value = info.value;\\n } catch (error) {\\n reject(error);\\n return;\\n }\\n\\n if (info.done) {\\n resolve(value);\\n } else {\\n Promise.resolve(value).then(_next, _throw);\\n }\\n}\\n\\nexport default function _asyncToGenerator(fn) {\\n return function () {\\n var self = this,\\n args = arguments;\\n return new Promise(function (resolve, reject) {\\n var gen = fn.apply(self, args);\\n\\n function _next(value) {\\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value);\\n }\\n\\n function _throw(err) {\\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err);\\n }\\n\\n _next(undefined);\\n });\\n };\\n}\",\"import devAssert from \\\"../jsutils/devAssert.mjs\\\";\\nimport { GraphQLError } from \\\"../error/GraphQLError.mjs\\\";\\nimport { visit, visitInParallel } from \\\"../language/visitor.mjs\\\";\\nimport { assertValidSchema } from \\\"../type/validate.mjs\\\";\\nimport { TypeInfo, visitWithTypeInfo } from \\\"../utilities/TypeInfo.mjs\\\";\\nimport { specifiedRules, specifiedSDLRules } from \\\"./specifiedRules.mjs\\\";\\nimport { SDLValidationContext, ValidationContext } from \\\"./ValidationContext.mjs\\\";\\n/**\\n * Implements the \\\"Validation\\\" section of the spec.\\n *\\n * Validation runs synchronously, returning an array of encountered errors, or\\n * an empty array if no errors were encountered and the document is valid.\\n *\\n * A list of specific validation rules may be provided. If not provided, the\\n * default list of rules defined by the GraphQL specification will be used.\\n *\\n * Each validation rules is a function which returns a visitor\\n * (see the language/visitor API). Visitor methods are expected to return\\n * GraphQLErrors, or Arrays of GraphQLErrors when invalid.\\n *\\n * Optionally a custom TypeInfo instance may be provided. If not provided, one\\n * will be created from the provided schema.\\n */\\n\\nexport function validate(schema, documentAST) {\\n var rules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : specifiedRules;\\n var typeInfo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new TypeInfo(schema);\\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\\n maxErrors: undefined\\n };\\n documentAST || devAssert(0, 'Must provide document.'); // If the schema used for validation is invalid, throw an error.\\n\\n assertValidSchema(schema);\\n var abortObj = Object.freeze({});\\n var errors = [];\\n var context = new ValidationContext(schema, documentAST, typeInfo, function (error) {\\n if (options.maxErrors != null && errors.length >= options.maxErrors) {\\n errors.push(new GraphQLError('Too many validation errors, error limit reached. Validation aborted.'));\\n throw abortObj;\\n }\\n\\n errors.push(error);\\n }); // This uses a specialized visitor which runs multiple visitors in parallel,\\n // while maintaining the visitor skip and break API.\\n\\n var visitor = visitInParallel(rules.map(function (rule) {\\n return rule(context);\\n })); // Visit the whole document with each instance of all provided rules.\\n\\n try {\\n visit(documentAST, visitWithTypeInfo(typeInfo, visitor));\\n } catch (e) {\\n if (e !== abortObj) {\\n throw e;\\n }\\n }\\n\\n return errors;\\n}\\n/**\\n * @internal\\n */\\n\\nexport function validateSDL(documentAST, schemaToExtend) {\\n var rules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : specifiedSDLRules;\\n var errors = [];\\n var context = new SDLValidationContext(documentAST, schemaToExtend, function (error) {\\n errors.push(error);\\n });\\n var visitors = rules.map(function (rule) {\\n return rule(context);\\n });\\n visit(documentAST, visitInParallel(visitors));\\n return errors;\\n}\\n/**\\n * Utility function which asserts a SDL document is valid by throwing an error\\n * if it is invalid.\\n *\\n * @internal\\n */\\n\\nexport function assertValidSDL(documentAST) {\\n var errors = validateSDL(documentAST);\\n\\n if (errors.length !== 0) {\\n throw new Error(errors.map(function (error) {\\n return error.message;\\n }).join('\\\\n\\\\n'));\\n }\\n}\\n/**\\n * Utility function which asserts a SDL document is valid by throwing an error\\n * if it is invalid.\\n *\\n * @internal\\n */\\n\\nexport function assertValidSDLExtension(documentAST, schema) {\\n var errors = validateSDL(documentAST, schema);\\n\\n if (errors.length !== 0) {\\n throw new Error(errors.map(function (error) {\\n return error.message;\\n }).join('\\\\n\\\\n'));\\n }\\n}\\n\",\"var _a;\\nvar isMacOs = false;\\nif (typeof window === 'object') {\\n isMacOs = window.navigator.platform === 'MacIntel';\\n}\\nvar commonKeys = (_a = {},\\n _a[isMacOs ? 'Cmd-F' : 'Ctrl-F'] = 'findPersistent',\\n _a['Cmd-G'] = 'findPersistent',\\n _a['Ctrl-G'] = 'findPersistent',\\n _a['Ctrl-Left'] = 'goSubwordLeft',\\n _a['Ctrl-Right'] = 'goSubwordRight',\\n _a['Alt-Left'] = 'goGroupLeft',\\n _a['Alt-Right'] = 'goGroupRight',\\n _a);\\nexport default commonKeys;\\n//# sourceMappingURL=commonKeys.js.map\",\"import isFinite from \\\"../polyfills/isFinite.mjs\\\";\\nimport arrayFrom from \\\"../polyfills/arrayFrom.mjs\\\";\\nimport objectValues from \\\"../polyfills/objectValues.mjs\\\";\\nimport inspect from \\\"../jsutils/inspect.mjs\\\";\\nimport invariant from \\\"../jsutils/invariant.mjs\\\";\\nimport isObjectLike from \\\"../jsutils/isObjectLike.mjs\\\";\\nimport isCollection from \\\"../jsutils/isCollection.mjs\\\";\\nimport { Kind } from \\\"../language/kinds.mjs\\\";\\nimport { GraphQLID } from \\\"../type/scalars.mjs\\\";\\nimport { isLeafType, isEnumType, isInputObjectType, isListType, isNonNullType } from \\\"../type/definition.mjs\\\";\\n/**\\n * Produces a GraphQL Value AST given a JavaScript object.\\n * Function will match JavaScript/JSON values to GraphQL AST schema format\\n * by using suggested GraphQLInputType. For example:\\n *\\n * astFromValue(\\\"value\\\", GraphQLString)\\n *\\n * A GraphQL type must be provided, which will be used to interpret different\\n * JavaScript values.\\n *\\n * | JSON Value | GraphQL Value |\\n * | ------------- | -------------------- |\\n * | Object | Input Object |\\n * | Array | List |\\n * | Boolean | Boolean |\\n * | String | String / Enum Value |\\n * | Number | Int / Float |\\n * | Mixed | Enum Value |\\n * | null | NullValue |\\n *\\n */\\n\\nexport function astFromValue(value, type) {\\n if (isNonNullType(type)) {\\n var astValue = astFromValue(value, type.ofType);\\n\\n if ((astValue === null || astValue === void 0 ? void 0 : astValue.kind) === Kind.NULL) {\\n return null;\\n }\\n\\n return astValue;\\n } // only explicit null, not undefined, NaN\\n\\n\\n if (value === null) {\\n return {\\n kind: Kind.NULL\\n };\\n } // undefined\\n\\n\\n if (value === undefined) {\\n return null;\\n } // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\\n // the value is not an array, convert the value using the list's item type.\\n\\n\\n if (isListType(type)) {\\n var itemType = type.ofType;\\n\\n if (isCollection(value)) {\\n var valuesNodes = []; // Since we transpile for-of in loose mode it doesn't support iterators\\n // and it's required to first convert iteratable into array\\n\\n for (var _i2 = 0, _arrayFrom2 = arrayFrom(value); _i2 < _arrayFrom2.length; _i2++) {\\n var item = _arrayFrom2[_i2];\\n var itemNode = astFromValue(item, itemType);\\n\\n if (itemNode != null) {\\n valuesNodes.push(itemNode);\\n }\\n }\\n\\n return {\\n kind: Kind.LIST,\\n values: valuesNodes\\n };\\n }\\n\\n return astFromValue(value, itemType);\\n } // Populate the fields of the input object by creating ASTs from each value\\n // in the JavaScript object according to the fields in the input type.\\n\\n\\n if (isInputObjectType(type)) {\\n if (!isObjectLike(value)) {\\n return null;\\n }\\n\\n var fieldNodes = [];\\n\\n for (var _i4 = 0, _objectValues2 = objectValues(type.getFields()); _i4 < _objectValues2.length; _i4++) {\\n var field = _objectValues2[_i4];\\n var fieldValue = astFromValue(value[field.name], field.type);\\n\\n if (fieldValue) {\\n fieldNodes.push({\\n kind: Kind.OBJECT_FIELD,\\n name: {\\n kind: Kind.NAME,\\n value: field.name\\n },\\n value: fieldValue\\n });\\n }\\n }\\n\\n return {\\n kind: Kind.OBJECT,\\n fields: fieldNodes\\n };\\n } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')\\n\\n\\n if (isLeafType(type)) {\\n // Since value is an internally represented value, it must be serialized\\n // to an externally represented value before converting into an AST.\\n var serialized = type.serialize(value);\\n\\n if (serialized == null) {\\n return null;\\n } // Others serialize based on their corresponding JavaScript scalar types.\\n\\n\\n if (typeof serialized === 'boolean') {\\n return {\\n kind: Kind.BOOLEAN,\\n value: serialized\\n };\\n } // JavaScript numbers can be Int or Float values.\\n\\n\\n if (typeof serialized === 'number' && isFinite(serialized)) {\\n var stringNum = String(serialized);\\n return integerStringRegExp.test(stringNum) ? {\\n kind: Kind.INT,\\n value: stringNum\\n } : {\\n kind: Kind.FLOAT,\\n value: stringNum\\n };\\n }\\n\\n if (typeof serialized === 'string') {\\n // Enum types use Enum literals.\\n if (isEnumType(type)) {\\n return {\\n kind: Kind.ENUM,\\n value: serialized\\n };\\n } // ID types can use Int literals.\\n\\n\\n if (type === GraphQLID && integerStringRegExp.test(serialized)) {\\n return {\\n kind: Kind.INT,\\n value: serialized\\n };\\n }\\n\\n return {\\n kind: Kind.STRING,\\n value: serialized\\n };\\n }\\n\\n throw new TypeError(\\\"Cannot convert value to AST: \\\".concat(inspect(serialized), \\\".\\\"));\\n } // istanbul ignore next (Not reachable. All possible input types have been considered)\\n\\n\\n false || invariant(0, 'Unexpected input type: ' + inspect(type));\\n}\\n/**\\n * IntValue:\\n * - NegativeSign? 0\\n * - NegativeSign? NonZeroDigit ( Digit+ )?\\n */\\n\\nvar integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\\n\",\"import objectValues from \\\"../polyfills/objectValues.mjs\\\";\\nimport keyMap from \\\"../jsutils/keyMap.mjs\\\";\\nimport inspect from \\\"../jsutils/inspect.mjs\\\";\\nimport invariant from \\\"../jsutils/invariant.mjs\\\";\\nimport { Kind } from \\\"../language/kinds.mjs\\\";\\nimport { isLeafType, isInputObjectType, isListType, isNonNullType } from \\\"../type/definition.mjs\\\";\\n/**\\n * Produces a JavaScript value given a GraphQL Value AST.\\n *\\n * A GraphQL type must be provided, which will be used to interpret different\\n * GraphQL Value literals.\\n *\\n * Returns `undefined` when the value could not be validly coerced according to\\n * the provided type.\\n *\\n * | GraphQL Value | JSON Value |\\n * | -------------------- | ------------- |\\n * | Input Object | Object |\\n * | List | Array |\\n * | Boolean | Boolean |\\n * | String | String |\\n * | Int / Float | Number |\\n * | Enum Value | Mixed |\\n * | NullValue | null |\\n *\\n */\\n\\nexport function valueFromAST(valueNode, type, variables) {\\n if (!valueNode) {\\n // When there is no node, then there is also no value.\\n // Importantly, this is different from returning the value null.\\n return;\\n }\\n\\n if (valueNode.kind === Kind.VARIABLE) {\\n var variableName = valueNode.name.value;\\n\\n if (variables == null || variables[variableName] === undefined) {\\n // No valid return value.\\n return;\\n }\\n\\n var variableValue = variables[variableName];\\n\\n if (variableValue === null && isNonNullType(type)) {\\n return; // Invalid: intentionally return no value.\\n } // Note: This does no further checking that this variable is correct.\\n // This assumes that this query has been validated and the variable\\n // usage here is of the correct type.\\n\\n\\n return variableValue;\\n }\\n\\n if (isNonNullType(type)) {\\n if (valueNode.kind === Kind.NULL) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n return valueFromAST(valueNode, type.ofType, variables);\\n }\\n\\n if (valueNode.kind === Kind.NULL) {\\n // This is explicitly returning the value null.\\n return null;\\n }\\n\\n if (isListType(type)) {\\n var itemType = type.ofType;\\n\\n if (valueNode.kind === Kind.LIST) {\\n var coercedValues = [];\\n\\n for (var _i2 = 0, _valueNode$values2 = valueNode.values; _i2 < _valueNode$values2.length; _i2++) {\\n var itemNode = _valueNode$values2[_i2];\\n\\n if (isMissingVariable(itemNode, variables)) {\\n // If an array contains a missing variable, it is either coerced to\\n // null or if the item type is non-null, it considered invalid.\\n if (isNonNullType(itemType)) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n coercedValues.push(null);\\n } else {\\n var itemValue = valueFromAST(itemNode, itemType, variables);\\n\\n if (itemValue === undefined) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n coercedValues.push(itemValue);\\n }\\n }\\n\\n return coercedValues;\\n }\\n\\n var coercedValue = valueFromAST(valueNode, itemType, variables);\\n\\n if (coercedValue === undefined) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n return [coercedValue];\\n }\\n\\n if (isInputObjectType(type)) {\\n if (valueNode.kind !== Kind.OBJECT) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n var coercedObj = Object.create(null);\\n var fieldNodes = keyMap(valueNode.fields, function (field) {\\n return field.name.value;\\n });\\n\\n for (var _i4 = 0, _objectValues2 = objectValues(type.getFields()); _i4 < _objectValues2.length; _i4++) {\\n var field = _objectValues2[_i4];\\n var fieldNode = fieldNodes[field.name];\\n\\n if (!fieldNode || isMissingVariable(fieldNode.value, variables)) {\\n if (field.defaultValue !== undefined) {\\n coercedObj[field.name] = field.defaultValue;\\n } else if (isNonNullType(field.type)) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n continue;\\n }\\n\\n var fieldValue = valueFromAST(fieldNode.value, field.type, variables);\\n\\n if (fieldValue === undefined) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n coercedObj[field.name] = fieldValue;\\n }\\n\\n return coercedObj;\\n } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')\\n\\n\\n if (isLeafType(type)) {\\n // Scalars and Enums fulfill parsing a literal value via parseLiteral().\\n // Invalid values represent a failure to parse correctly, in which case\\n // no value is returned.\\n var result;\\n\\n try {\\n result = type.parseLiteral(valueNode, variables);\\n } catch (_error) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n if (result === undefined) {\\n return; // Invalid: intentionally return no value.\\n }\\n\\n return result;\\n } // istanbul ignore next (Not reachable. All possible input types have been considered)\\n\\n\\n false || invariant(0, 'Unexpected input type: ' + inspect(type));\\n} // Returns true if the provided valueNode is a variable which is not defined\\n// in the set of variables.\\n\\nfunction isMissingVariable(valueNode, variables) {\\n return valueNode.kind === Kind.VARIABLE && (variables == null || variables[valueNode.name.value] === undefined);\\n}\\n\",\"/* eslint-disable no-redeclare */\\n// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441\\nvar isFinitePolyfill = Number.isFinite || function (value) {\\n return typeof value === 'number' && isFinite(value);\\n};\\n\\nexport default isFinitePolyfill;\\n\",\"export function getLeft(initialElem) {\\n var pt = 0;\\n var elem = initialElem;\\n while (elem.offsetParent) {\\n pt += elem.offsetLeft;\\n elem = elem.offsetParent;\\n }\\n return pt;\\n}\\nexport function getTop(initialElem) {\\n var pt = 0;\\n var elem = initialElem;\\n while (elem.offsetParent) {\\n pt += elem.offsetTop;\\n elem = elem.offsetParent;\\n }\\n return pt;\\n}\\n//# sourceMappingURL=elementPosition.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nimport React from 'react';\\nfunction hasProps(child) {\\n if (!child || typeof child !== 'object' || !('props' in child)) {\\n return false;\\n }\\n return true;\\n}\\nvar ToolbarSelect = (function (_super) {\\n __extends(ToolbarSelect, _super);\\n function ToolbarSelect(props) {\\n var _this = _super.call(this, props) || this;\\n _this._node = null;\\n _this._listener = null;\\n _this.handleOpen = function (e) {\\n preventDefault(e);\\n _this.setState({ visible: true });\\n _this._subscribe();\\n };\\n _this.state = { visible: false };\\n return _this;\\n }\\n ToolbarSelect.prototype.componentWillUnmount = function () {\\n this._release();\\n };\\n ToolbarSelect.prototype.render = function () {\\n var _this = this;\\n var selectedChild;\\n var visible = this.state.visible;\\n var optionChildren = React.Children.map(this.props.children, function (child, i) {\\n if (!hasProps(child)) {\\n return null;\\n }\\n if (!selectedChild || child.props.selected) {\\n selectedChild = child;\\n }\\n var onChildSelect = child.props.onSelect ||\\n (_this.props.onSelect &&\\n _this.props.onSelect.bind(null, child.props.value, i));\\n return (React.createElement(ToolbarSelectOption, __assign({}, child.props, { onSelect: onChildSelect })));\\n });\\n return (React.createElement(\\\"a\\\", { className: \\\"toolbar-select toolbar-button\\\", onClick: this.handleOpen.bind(this), onMouseDown: preventDefault, ref: function (node) {\\n _this._node = node;\\n }, title: this.props.title }, selectedChild === null || selectedChild === void 0 ? void 0 :\\n selectedChild.props.label,\\n React.createElement(\\\"svg\\\", { width: \\\"13\\\", height: \\\"10\\\" },\\n React.createElement(\\\"path\\\", { fill: \\\"#666\\\", d: \\\"M 5 5 L 13 5 L 9 1 z\\\" }),\\n React.createElement(\\\"path\\\", { fill: \\\"#666\\\", d: \\\"M 5 6 L 13 6 L 9 10 z\\\" })),\\n React.createElement(\\\"ul\\\", { className: 'toolbar-select-options' + (visible ? ' open' : '') }, optionChildren)));\\n };\\n ToolbarSelect.prototype._subscribe = function () {\\n if (!this._listener) {\\n this._listener = this.handleClick.bind(this);\\n document.addEventListener('click', this._listener);\\n }\\n };\\n ToolbarSelect.prototype._release = function () {\\n if (this._listener) {\\n document.removeEventListener('click', this._listener);\\n this._listener = null;\\n }\\n };\\n ToolbarSelect.prototype.handleClick = function (e) {\\n if (this._node !== e.target) {\\n preventDefault(e);\\n this.setState({ visible: false });\\n this._release();\\n }\\n };\\n return ToolbarSelect;\\n}(React.Component));\\nexport { ToolbarSelect };\\nexport function ToolbarSelectOption(_a) {\\n var onSelect = _a.onSelect, label = _a.label, selected = _a.selected;\\n return (React.createElement(\\\"li\\\", { onMouseOver: function (e) {\\n e.currentTarget.className = 'hover';\\n }, onMouseOut: function (e) {\\n e.currentTarget.className = '';\\n }, onMouseDown: preventDefault, onMouseUp: onSelect },\\n label,\\n selected && (React.createElement(\\\"svg\\\", { width: \\\"13\\\", height: \\\"13\\\" },\\n React.createElement(\\\"polygon\\\", { points: \\\"4.851,10.462 0,5.611 2.314,3.297 4.851,5.835\\\\n 10.686,0 13,2.314 4.851,10.462\\\" })))));\\n}\\nfunction preventDefault(e) {\\n e.preventDefault();\\n}\\n//# sourceMappingURL=ToolbarSelect.js.map\",\"export * from './types';\\nexport { createGraphiQLFetcher } from './createFetcher';\\n//# sourceMappingURL=index.js.map\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"))\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod)\\n else // Plain browser env\\n mod(CodeMirror)\\n})(function(CodeMirror) {\\n \\\"use strict\\\"\\n var Pos = CodeMirror.Pos\\n\\n function regexpFlags(regexp) {\\n var flags = regexp.flags\\n return flags != null ? flags : (regexp.ignoreCase ? \\\"i\\\" : \\\"\\\")\\n + (regexp.global ? \\\"g\\\" : \\\"\\\")\\n + (regexp.multiline ? \\\"m\\\" : \\\"\\\")\\n }\\n\\n function ensureFlags(regexp, flags) {\\n var current = regexpFlags(regexp), target = current\\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\\n target += flags.charAt(i)\\n return current == target ? regexp : new RegExp(regexp.source, target)\\n }\\n\\n function maybeMultiline(regexp) {\\n return /\\\\\\\\s|\\\\\\\\n|\\\\n|\\\\\\\\W|\\\\\\\\D|\\\\[\\\\^/.test(regexp.source)\\n }\\n\\n function searchRegexpForward(doc, regexp, start) {\\n regexp = ensureFlags(regexp, \\\"g\\\")\\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\\n regexp.lastIndex = ch\\n var string = doc.getLine(line), match = regexp.exec(string)\\n if (match)\\n return {from: Pos(line, match.index),\\n to: Pos(line, match.index + match[0].length),\\n match: match}\\n }\\n }\\n\\n function searchRegexpForwardMultiline(doc, regexp, start) {\\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\\n\\n regexp = ensureFlags(regexp, \\\"gm\\\")\\n var string, chunk = 1\\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\\n // This grows the search buffer in exponentially-sized chunks\\n // between matches, so that nearby matches are fast and don't\\n // require concatenating the whole document (in case we're\\n // searching for something that has tons of matches), but at the\\n // same time, the amount of retries is limited.\\n for (var i = 0; i < chunk; i++) {\\n if (line > last) break\\n var curLine = doc.getLine(line++)\\n string = string == null ? curLine : string + \\\"\\\\n\\\" + curLine\\n }\\n chunk = chunk * 2\\n regexp.lastIndex = start.ch\\n var match = regexp.exec(string)\\n if (match) {\\n var before = string.slice(0, match.index).split(\\\"\\\\n\\\"), inside = match[0].split(\\\"\\\\n\\\")\\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\\n return {from: Pos(startLine, startCh),\\n to: Pos(startLine + inside.length - 1,\\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\\n match: match}\\n }\\n }\\n }\\n\\n function lastMatchIn(string, regexp, endMargin) {\\n var match, from = 0\\n while (from <= string.length) {\\n regexp.lastIndex = from\\n var newMatch = regexp.exec(string)\\n if (!newMatch) break\\n var end = newMatch.index + newMatch[0].length\\n if (end > string.length - endMargin) break\\n if (!match || end > match.index + match[0].length)\\n match = newMatch\\n from = newMatch.index + 1\\n }\\n return match\\n }\\n\\n function searchRegexpBackward(doc, regexp, start) {\\n regexp = ensureFlags(regexp, \\\"g\\\")\\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\\n var string = doc.getLine(line)\\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\\n if (match)\\n return {from: Pos(line, match.index),\\n to: Pos(line, match.index + match[0].length),\\n match: match}\\n }\\n }\\n\\n function searchRegexpBackwardMultiline(doc, regexp, start) {\\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\\n regexp = ensureFlags(regexp, \\\"gm\\\")\\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\\n for (var i = 0; i < chunkSize && line >= first; i++) {\\n var curLine = doc.getLine(line--)\\n string = string == null ? curLine : curLine + \\\"\\\\n\\\" + string\\n }\\n chunkSize *= 2\\n\\n var match = lastMatchIn(string, regexp, endMargin)\\n if (match) {\\n var before = string.slice(0, match.index).split(\\\"\\\\n\\\"), inside = match[0].split(\\\"\\\\n\\\")\\n var startLine = line + before.length, startCh = before[before.length - 1].length\\n return {from: Pos(startLine, startCh),\\n to: Pos(startLine + inside.length - 1,\\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\\n match: match}\\n }\\n }\\n }\\n\\n var doFold, noFold\\n if (String.prototype.normalize) {\\n doFold = function(str) { return str.normalize(\\\"NFD\\\").toLowerCase() }\\n noFold = function(str) { return str.normalize(\\\"NFD\\\") }\\n } else {\\n doFold = function(str) { return str.toLowerCase() }\\n noFold = function(str) { return str }\\n }\\n\\n // Maps a position in a case-folded line back to a position in the original line\\n // (compensating for codepoints increasing in number during folding)\\n function adjustPos(orig, folded, pos, foldFunc) {\\n if (orig.length == folded.length) return pos\\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\\n if (min == max) return min\\n var mid = (min + max) >> 1\\n var len = foldFunc(orig.slice(0, mid)).length\\n if (len == pos) return mid\\n else if (len > pos) max = mid\\n else min = mid + 1\\n }\\n }\\n\\n function searchStringForward(doc, query, start, caseFold) {\\n // Empty string would match anything and never progress, so we\\n // define it to match nothing instead.\\n if (!query.length) return null\\n var fold = caseFold ? doFold : noFold\\n var lines = fold(query).split(/\\\\r|\\\\n\\\\r?/)\\n\\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\\n if (lines.length == 1) {\\n var found = string.indexOf(lines[0])\\n if (found == -1) continue search\\n var start = adjustPos(orig, string, found, fold) + ch\\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\\n } else {\\n var cutFrom = string.length - lines[0].length\\n if (string.slice(cutFrom) != lines[0]) continue search\\n for (var i = 1; i < lines.length - 1; i++)\\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\\n if (endString.slice(0, lastLine.length) != lastLine) continue search\\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\\n }\\n }\\n }\\n\\n function searchStringBackward(doc, query, start, caseFold) {\\n if (!query.length) return null\\n var fold = caseFold ? doFold : noFold\\n var lines = fold(query).split(/\\\\r|\\\\n\\\\r?/)\\n\\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\\n var orig = doc.getLine(line)\\n if (ch > -1) orig = orig.slice(0, ch)\\n var string = fold(orig)\\n if (lines.length == 1) {\\n var found = string.lastIndexOf(lines[0])\\n if (found == -1) continue search\\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\\n } else {\\n var lastLine = lines[lines.length - 1]\\n if (string.slice(0, lastLine.length) != lastLine) continue search\\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\\n }\\n }\\n }\\n\\n function SearchCursor(doc, query, pos, options) {\\n this.atOccurrence = false\\n this.doc = doc\\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\\n this.pos = {from: pos, to: pos}\\n\\n var caseFold\\n if (typeof options == \\\"object\\\") {\\n caseFold = options.caseFold\\n } else { // Backwards compat for when caseFold was the 4th argument\\n caseFold = options\\n options = null\\n }\\n\\n if (typeof query == \\\"string\\\") {\\n if (caseFold == null) caseFold = false\\n this.matches = function(reverse, pos) {\\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\\n }\\n } else {\\n query = ensureFlags(query, \\\"gm\\\")\\n if (!options || options.multiline !== false)\\n this.matches = function(reverse, pos) {\\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\\n }\\n else\\n this.matches = function(reverse, pos) {\\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\\n }\\n }\\n }\\n\\n SearchCursor.prototype = {\\n findNext: function() {return this.find(false)},\\n findPrevious: function() {return this.find(true)},\\n\\n find: function(reverse) {\\n var result = this.matches(reverse, this.doc.clipPos(reverse ? this.pos.from : this.pos.to))\\n\\n // Implements weird auto-growing behavior on null-matches for\\n // backwards-compatibility with the vim code (unfortunately)\\n while (result && CodeMirror.cmpPos(result.from, result.to) == 0) {\\n if (reverse) {\\n if (result.from.ch) result.from = Pos(result.from.line, result.from.ch - 1)\\n else if (result.from.line == this.doc.firstLine()) result = null\\n else result = this.matches(reverse, this.doc.clipPos(Pos(result.from.line - 1)))\\n } else {\\n if (result.to.ch < this.doc.getLine(result.to.line).length) result.to = Pos(result.to.line, result.to.ch + 1)\\n else if (result.to.line == this.doc.lastLine()) result = null\\n else result = this.matches(reverse, Pos(result.to.line + 1, 0))\\n }\\n }\\n\\n if (result) {\\n this.pos = result\\n this.atOccurrence = true\\n return this.pos.match || true\\n } else {\\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\\n this.pos = {from: end, to: end}\\n return this.atOccurrence = false\\n }\\n },\\n\\n from: function() {if (this.atOccurrence) return this.pos.from},\\n to: function() {if (this.atOccurrence) return this.pos.to},\\n\\n replace: function(newText, origin) {\\n if (!this.atOccurrence) return\\n var lines = CodeMirror.splitLines(newText)\\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\\n }\\n }\\n\\n CodeMirror.defineExtension(\\\"getSearchCursor\\\", function(query, pos, caseFold) {\\n return new SearchCursor(this.doc, query, pos, caseFold)\\n })\\n CodeMirror.defineDocExtension(\\\"getSearchCursor\\\", function(query, pos, caseFold) {\\n return new SearchCursor(this, query, pos, caseFold)\\n })\\n\\n CodeMirror.defineExtension(\\\"selectMatches\\\", function(query, caseFold) {\\n var ranges = []\\n var cur = this.getSearchCursor(query, this.getCursor(\\\"from\\\"), caseFold)\\n while (cur.findNext()) {\\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\\\"to\\\")) > 0) break\\n ranges.push({anchor: cur.from(), head: cur.to()})\\n }\\n if (ranges.length)\\n this.setSelections(ranges, 0)\\n })\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n// Open simple dialogs on top of an editor. Relies on dialog.css.\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n function dialogDiv(cm, template, bottom) {\\n var wrap = cm.getWrapperElement();\\n var dialog;\\n dialog = wrap.appendChild(document.createElement(\\\"div\\\"));\\n if (bottom)\\n dialog.className = \\\"CodeMirror-dialog CodeMirror-dialog-bottom\\\";\\n else\\n dialog.className = \\\"CodeMirror-dialog CodeMirror-dialog-top\\\";\\n\\n if (typeof template == \\\"string\\\") {\\n dialog.innerHTML = template;\\n } else { // Assuming it's a detached DOM element.\\n dialog.appendChild(template);\\n }\\n CodeMirror.addClass(wrap, 'dialog-opened');\\n return dialog;\\n }\\n\\n function closeNotification(cm, newVal) {\\n if (cm.state.currentNotificationClose)\\n cm.state.currentNotificationClose();\\n cm.state.currentNotificationClose = newVal;\\n }\\n\\n CodeMirror.defineExtension(\\\"openDialog\\\", function(template, callback, options) {\\n if (!options) options = {};\\n\\n closeNotification(this, null);\\n\\n var dialog = dialogDiv(this, template, options.bottom);\\n var closed = false, me = this;\\n function close(newVal) {\\n if (typeof newVal == 'string') {\\n inp.value = newVal;\\n } else {\\n if (closed) return;\\n closed = true;\\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\\n dialog.parentNode.removeChild(dialog);\\n me.focus();\\n\\n if (options.onClose) options.onClose(dialog);\\n }\\n }\\n\\n var inp = dialog.getElementsByTagName(\\\"input\\\")[0], button;\\n if (inp) {\\n inp.focus();\\n\\n if (options.value) {\\n inp.value = options.value;\\n if (options.selectValueOnOpen !== false) {\\n inp.select();\\n }\\n }\\n\\n if (options.onInput)\\n CodeMirror.on(inp, \\\"input\\\", function(e) { options.onInput(e, inp.value, close);});\\n if (options.onKeyUp)\\n CodeMirror.on(inp, \\\"keyup\\\", function(e) {options.onKeyUp(e, inp.value, close);});\\n\\n CodeMirror.on(inp, \\\"keydown\\\", function(e) {\\n if (options && options.onKeyDown && options.onKeyDown(e, inp.value, close)) { return; }\\n if (e.keyCode == 27 || (options.closeOnEnter !== false && e.keyCode == 13)) {\\n inp.blur();\\n CodeMirror.e_stop(e);\\n close();\\n }\\n if (e.keyCode == 13) callback(inp.value, e);\\n });\\n\\n if (options.closeOnBlur !== false) CodeMirror.on(dialog, \\\"focusout\\\", function (evt) {\\n if (evt.relatedTarget !== null) close();\\n });\\n } else if (button = dialog.getElementsByTagName(\\\"button\\\")[0]) {\\n CodeMirror.on(button, \\\"click\\\", function() {\\n close();\\n me.focus();\\n });\\n\\n if (options.closeOnBlur !== false) CodeMirror.on(button, \\\"blur\\\", close);\\n\\n button.focus();\\n }\\n return close;\\n });\\n\\n CodeMirror.defineExtension(\\\"openConfirm\\\", function(template, callbacks, options) {\\n closeNotification(this, null);\\n var dialog = dialogDiv(this, template, options && options.bottom);\\n var buttons = dialog.getElementsByTagName(\\\"button\\\");\\n var closed = false, me = this, blurring = 1;\\n function close() {\\n if (closed) return;\\n closed = true;\\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\\n dialog.parentNode.removeChild(dialog);\\n me.focus();\\n }\\n buttons[0].focus();\\n for (var i = 0; i < buttons.length; ++i) {\\n var b = buttons[i];\\n (function(callback) {\\n CodeMirror.on(b, \\\"click\\\", function(e) {\\n CodeMirror.e_preventDefault(e);\\n close();\\n if (callback) callback(me);\\n });\\n })(callbacks[i]);\\n CodeMirror.on(b, \\\"blur\\\", function() {\\n --blurring;\\n setTimeout(function() { if (blurring <= 0) close(); }, 200);\\n });\\n CodeMirror.on(b, \\\"focus\\\", function() { ++blurring; });\\n }\\n });\\n\\n /*\\n * openNotification\\n * Opens a notification, that can be closed with an optional timer\\n * (default 5000ms timer) and always closes on click.\\n *\\n * If a notification is opened while another is opened, it will close the\\n * currently opened one and open the new one immediately.\\n */\\n CodeMirror.defineExtension(\\\"openNotification\\\", function(template, options) {\\n closeNotification(this, close);\\n var dialog = dialogDiv(this, template, options && options.bottom);\\n var closed = false, doneTimer;\\n var duration = options && typeof options.duration !== \\\"undefined\\\" ? options.duration : 5000;\\n\\n function close() {\\n if (closed) return;\\n closed = true;\\n clearTimeout(doneTimer);\\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\\n dialog.parentNode.removeChild(dialog);\\n }\\n\\n CodeMirror.on(dialog, 'click', function(e) {\\n CodeMirror.e_preventDefault(e);\\n close();\\n });\\n\\n if (duration)\\n doneTimer = setTimeout(close, duration);\\n\\n return close;\\n });\\n});\\n\",\"function _typeof(obj) { \\\"@babel/helpers - typeof\\\"; if (typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; }; } return _typeof(obj); }\\n\\nimport { SYMBOL_ITERATOR } from \\\"../polyfills/symbols.mjs\\\";\\n/**\\n * Returns true if the provided object is an Object (i.e. not a string literal)\\n * and is either Iterable or Array-like.\\n *\\n * This may be used in place of [Array.isArray()][isArray] to determine if an\\n * object should be iterated-over. It always excludes string literals and\\n * includes Arrays (regardless of if it is Iterable). It also includes other\\n * Array-like objects such as NodeList, TypedArray, and Buffer.\\n *\\n * @example\\n *\\n * isCollection([ 1, 2, 3 ]) // true\\n * isCollection('ABC') // false\\n * isCollection({ length: 1, 0: 'Alpha' }) // true\\n * isCollection({ key: 'value' }) // false\\n * isCollection(new Map()) // true\\n *\\n * @param obj\\n * An Object value which might implement the Iterable or Array-like protocols.\\n * @return {boolean} true if Iterable or Array-like Object.\\n */\\n\\nexport default function isCollection(obj) {\\n if (obj == null || _typeof(obj) !== 'object') {\\n return false;\\n } // Is Array like?\\n\\n\\n var length = obj.length;\\n\\n if (typeof length === 'number' && length >= 0 && length % 1 === 0) {\\n return true;\\n } // Is Iterable?\\n\\n\\n return typeof obj[SYMBOL_ITERATOR] === 'function';\\n}\\n\",\"import find from \\\"../polyfills/find.mjs\\\";\\nimport objectValues from \\\"../polyfills/objectValues.mjs\\\";\\nimport inspect from \\\"../jsutils/inspect.mjs\\\";\\nimport { GraphQLError } from \\\"../error/GraphQLError.mjs\\\";\\nimport { locatedError } from \\\"../error/locatedError.mjs\\\";\\nimport { isValidNameError } from \\\"../utilities/assertValidName.mjs\\\";\\nimport { isEqualType, isTypeSubTypeOf } from \\\"../utilities/typeComparators.mjs\\\";\\nimport { assertSchema } from \\\"./schema.mjs\\\";\\nimport { isIntrospectionType } from \\\"./introspection.mjs\\\";\\nimport { isDirective, GraphQLDeprecatedDirective } from \\\"./directives.mjs\\\";\\nimport { isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType, isNamedType, isNonNullType, isInputType, isOutputType, isRequiredArgument, isRequiredInputField } from \\\"./definition.mjs\\\";\\n/**\\n * Implements the \\\"Type Validation\\\" sub-sections of the specification's\\n * \\\"Type System\\\" section.\\n *\\n * Validation runs synchronously, returning an array of encountered errors, or\\n * an empty array if no errors were encountered and the Schema is valid.\\n */\\n\\nexport function validateSchema(schema) {\\n // First check to ensure the provided value is in fact a GraphQLSchema.\\n assertSchema(schema); // If this Schema has already been validated, return the previous results.\\n\\n if (schema.__validationErrors) {\\n return schema.__validationErrors;\\n } // Validate the schema, producing a list of errors.\\n\\n\\n var context = new SchemaValidationContext(schema);\\n validateRootTypes(context);\\n validateDirectives(context);\\n validateTypes(context); // Persist the results of validation before returning to ensure validation\\n // does not run multiple times for this schema.\\n\\n var errors = context.getErrors();\\n schema.__validationErrors = errors;\\n return errors;\\n}\\n/**\\n * Utility function which asserts a schema is valid by throwing an error if\\n * it is invalid.\\n */\\n\\nexport function assertValidSchema(schema) {\\n var errors = validateSchema(schema);\\n\\n if (errors.length !== 0) {\\n throw new Error(errors.map(function (error) {\\n return error.message;\\n }).join('\\\\n\\\\n'));\\n }\\n}\\n\\nvar SchemaValidationContext = /*#__PURE__*/function () {\\n function SchemaValidationContext(schema) {\\n this._errors = [];\\n this.schema = schema;\\n }\\n\\n var _proto = SchemaValidationContext.prototype;\\n\\n _proto.reportError = function reportError(message, nodes) {\\n var _nodes = Array.isArray(nodes) ? nodes.filter(Boolean) : nodes;\\n\\n this.addError(new GraphQLError(message, _nodes));\\n };\\n\\n _proto.addError = function addError(error) {\\n this._errors.push(error);\\n };\\n\\n _proto.getErrors = function getErrors() {\\n return this._errors;\\n };\\n\\n return SchemaValidationContext;\\n}();\\n\\nfunction validateRootTypes(context) {\\n var schema = context.schema;\\n var queryType = schema.getQueryType();\\n\\n if (!queryType) {\\n context.reportError('Query root type must be provided.', schema.astNode);\\n } else if (!isObjectType(queryType)) {\\n var _getOperationTypeNode;\\n\\n context.reportError(\\\"Query root type must be Object type, it cannot be \\\".concat(inspect(queryType), \\\".\\\"), (_getOperationTypeNode = getOperationTypeNode(schema, 'query')) !== null && _getOperationTypeNode !== void 0 ? _getOperationTypeNode : queryType.astNode);\\n }\\n\\n var mutationType = schema.getMutationType();\\n\\n if (mutationType && !isObjectType(mutationType)) {\\n var _getOperationTypeNode2;\\n\\n context.reportError('Mutation root type must be Object type if provided, it cannot be ' + \\\"\\\".concat(inspect(mutationType), \\\".\\\"), (_getOperationTypeNode2 = getOperationTypeNode(schema, 'mutation')) !== null && _getOperationTypeNode2 !== void 0 ? _getOperationTypeNode2 : mutationType.astNode);\\n }\\n\\n var subscriptionType = schema.getSubscriptionType();\\n\\n if (subscriptionType && !isObjectType(subscriptionType)) {\\n var _getOperationTypeNode3;\\n\\n context.reportError('Subscription root type must be Object type if provided, it cannot be ' + \\\"\\\".concat(inspect(subscriptionType), \\\".\\\"), (_getOperationTypeNode3 = getOperationTypeNode(schema, 'subscription')) !== null && _getOperationTypeNode3 !== void 0 ? _getOperationTypeNode3 : subscriptionType.astNode);\\n }\\n}\\n\\nfunction getOperationTypeNode(schema, operation) {\\n var operationNodes = getAllSubNodes(schema, function (node) {\\n return node.operationTypes;\\n });\\n\\n for (var _i2 = 0; _i2 < operationNodes.length; _i2++) {\\n var node = operationNodes[_i2];\\n\\n if (node.operation === operation) {\\n return node.type;\\n }\\n }\\n\\n return undefined;\\n}\\n\\nfunction validateDirectives(context) {\\n for (var _i4 = 0, _context$schema$getDi2 = context.schema.getDirectives(); _i4 < _context$schema$getDi2.length; _i4++) {\\n var directive = _context$schema$getDi2[_i4];\\n\\n // Ensure all directives are in fact GraphQL directives.\\n if (!isDirective(directive)) {\\n context.reportError(\\\"Expected directive but got: \\\".concat(inspect(directive), \\\".\\\"), directive === null || directive === void 0 ? void 0 : directive.astNode);\\n continue;\\n } // Ensure they are named correctly.\\n\\n\\n validateName(context, directive); // TODO: Ensure proper locations.\\n // Ensure the arguments are valid.\\n\\n for (var _i6 = 0, _directive$args2 = directive.args; _i6 < _directive$args2.length; _i6++) {\\n var arg = _directive$args2[_i6];\\n // Ensure they are named correctly.\\n validateName(context, arg); // Ensure the type is an input type.\\n\\n if (!isInputType(arg.type)) {\\n context.reportError(\\\"The type of @\\\".concat(directive.name, \\\"(\\\").concat(arg.name, \\\":) must be Input Type \\\") + \\\"but got: \\\".concat(inspect(arg.type), \\\".\\\"), arg.astNode);\\n }\\n\\n if (isRequiredArgument(arg) && arg.deprecationReason != null) {\\n var _arg$astNode;\\n\\n context.reportError(\\\"Required argument @\\\".concat(directive.name, \\\"(\\\").concat(arg.name, \\\":) cannot be deprecated.\\\"), [getDeprecatedDirectiveNode(arg.astNode), // istanbul ignore next (TODO need to write coverage tests)\\n (_arg$astNode = arg.astNode) === null || _arg$astNode === void 0 ? void 0 : _arg$astNode.type]);\\n }\\n }\\n }\\n}\\n\\nfunction validateName(context, node) {\\n // Ensure names are valid, however introspection types opt out.\\n var error = isValidNameError(node.name);\\n\\n if (error) {\\n context.addError(locatedError(error, node.astNode));\\n }\\n}\\n\\nfunction validateTypes(context) {\\n var validateInputObjectCircularRefs = createInputObjectCircularRefsValidator(context);\\n var typeMap = context.schema.getTypeMap();\\n\\n for (var _i8 = 0, _objectValues2 = objectValues(typeMap); _i8 < _objectValues2.length; _i8++) {\\n var type = _objectValues2[_i8];\\n\\n // Ensure all provided types are in fact GraphQL type.\\n if (!isNamedType(type)) {\\n context.reportError(\\\"Expected GraphQL named type but got: \\\".concat(inspect(type), \\\".\\\"), type.astNode);\\n continue;\\n } // Ensure it is named correctly (excluding introspection types).\\n\\n\\n if (!isIntrospectionType(type)) {\\n validateName(context, type);\\n }\\n\\n if (isObjectType(type)) {\\n // Ensure fields are valid\\n validateFields(context, type); // Ensure objects implement the interfaces they claim to.\\n\\n validateInterfaces(context, type);\\n } else if (isInterfaceType(type)) {\\n // Ensure fields are valid.\\n validateFields(context, type); // Ensure interfaces implement the interfaces they claim to.\\n\\n validateInterfaces(context, type);\\n } else if (isUnionType(type)) {\\n // Ensure Unions include valid member types.\\n validateUnionMembers(context, type);\\n } else if (isEnumType(type)) {\\n // Ensure Enums have valid values.\\n validateEnumValues(context, type);\\n } else if (isInputObjectType(type)) {\\n // Ensure Input Object fields are valid.\\n validateInputFields(context, type); // Ensure Input Objects do not contain non-nullable circular references\\n\\n validateInputObjectCircularRefs(type);\\n }\\n }\\n}\\n\\nfunction validateFields(context, type) {\\n var fields = objectValues(type.getFields()); // Objects and Interfaces both must define one or more fields.\\n\\n if (fields.length === 0) {\\n context.reportError(\\\"Type \\\".concat(type.name, \\\" must define one or more fields.\\\"), getAllNodes(type));\\n }\\n\\n for (var _i10 = 0; _i10 < fields.length; _i10++) {\\n var field = fields[_i10];\\n // Ensure they are named correctly.\\n validateName(context, field); // Ensure the type is an output type\\n\\n if (!isOutputType(field.type)) {\\n var _field$astNode;\\n\\n context.reportError(\\\"The type of \\\".concat(type.name, \\\".\\\").concat(field.name, \\\" must be Output Type \\\") + \\\"but got: \\\".concat(inspect(field.type), \\\".\\\"), (_field$astNode = field.astNode) === null || _field$astNode === void 0 ? void 0 : _field$astNode.type);\\n } // Ensure the arguments are valid\\n\\n\\n for (var _i12 = 0, _field$args2 = field.args; _i12 < _field$args2.length; _i12++) {\\n var arg = _field$args2[_i12];\\n var argName = arg.name; // Ensure they are named correctly.\\n\\n validateName(context, arg); // Ensure the type is an input type\\n\\n if (!isInputType(arg.type)) {\\n var _arg$astNode2;\\n\\n context.reportError(\\\"The type of \\\".concat(type.name, \\\".\\\").concat(field.name, \\\"(\\\").concat(argName, \\\":) must be Input \\\") + \\\"Type but got: \\\".concat(inspect(arg.type), \\\".\\\"), (_arg$astNode2 = arg.astNode) === null || _arg$astNode2 === void 0 ? void 0 : _arg$astNode2.type);\\n }\\n\\n if (isRequiredArgument(arg) && arg.deprecationReason != null) {\\n var _arg$astNode3;\\n\\n context.reportError(\\\"Required argument \\\".concat(type.name, \\\".\\\").concat(field.name, \\\"(\\\").concat(argName, \\\":) cannot be deprecated.\\\"), [getDeprecatedDirectiveNode(arg.astNode), // istanbul ignore next (TODO need to write coverage tests)\\n (_arg$astNode3 = arg.astNode) === null || _arg$astNode3 === void 0 ? void 0 : _arg$astNode3.type]);\\n }\\n }\\n }\\n}\\n\\nfunction validateInterfaces(context, type) {\\n var ifaceTypeNames = Object.create(null);\\n\\n for (var _i14 = 0, _type$getInterfaces2 = type.getInterfaces(); _i14 < _type$getInterfaces2.length; _i14++) {\\n var iface = _type$getInterfaces2[_i14];\\n\\n if (!isInterfaceType(iface)) {\\n context.reportError(\\\"Type \\\".concat(inspect(type), \\\" must only implement Interface types, \\\") + \\\"it cannot implement \\\".concat(inspect(iface), \\\".\\\"), getAllImplementsInterfaceNodes(type, iface));\\n continue;\\n }\\n\\n if (type === iface) {\\n context.reportError(\\\"Type \\\".concat(type.name, \\\" cannot implement itself because it would create a circular reference.\\\"), getAllImplementsInterfaceNodes(type, iface));\\n continue;\\n }\\n\\n if (ifaceTypeNames[iface.name]) {\\n context.reportError(\\\"Type \\\".concat(type.name, \\\" can only implement \\\").concat(iface.name, \\\" once.\\\"), getAllImplementsInterfaceNodes(type, iface));\\n continue;\\n }\\n\\n ifaceTypeNames[iface.name] = true;\\n validateTypeImplementsAncestors(context, type, iface);\\n validateTypeImplementsInterface(context, type, iface);\\n }\\n}\\n\\nfunction validateTypeImplementsInterface(context, type, iface) {\\n var typeFieldMap = type.getFields(); // Assert each interface field is implemented.\\n\\n for (var _i16 = 0, _objectValues4 = objectValues(iface.getFields()); _i16 < _objectValues4.length; _i16++) {\\n var ifaceField = _objectValues4[_i16];\\n var fieldName = ifaceField.name;\\n var typeField = typeFieldMap[fieldName]; // Assert interface field exists on type.\\n\\n if (!typeField) {\\n context.reportError(\\\"Interface field \\\".concat(iface.name, \\\".\\\").concat(fieldName, \\\" expected but \\\").concat(type.name, \\\" does not provide it.\\\"), [ifaceField.astNode].concat(getAllNodes(type)));\\n continue;\\n } // Assert interface field type is satisfied by type field type, by being\\n // a valid subtype. (covariant)\\n\\n\\n if (!isTypeSubTypeOf(context.schema, typeField.type, ifaceField.type)) {\\n var _ifaceField$astNode, _typeField$astNode;\\n\\n context.reportError(\\\"Interface field \\\".concat(iface.name, \\\".\\\").concat(fieldName, \\\" expects type \\\") + \\\"\\\".concat(inspect(ifaceField.type), \\\" but \\\").concat(type.name, \\\".\\\").concat(fieldName, \\\" \\\") + \\\"is type \\\".concat(inspect(typeField.type), \\\".\\\"), [// istanbul ignore next (TODO need to write coverage tests)\\n (_ifaceField$astNode = ifaceField.astNode) === null || _ifaceField$astNode === void 0 ? void 0 : _ifaceField$astNode.type, // istanbul ignore next (TODO need to write coverage tests)\\n (_typeField$astNode = typeField.astNode) === null || _typeField$astNode === void 0 ? void 0 : _typeField$astNode.type]);\\n } // Assert each interface field arg is implemented.\\n\\n\\n var _loop = function _loop(_i18, _ifaceField$args2) {\\n var ifaceArg = _ifaceField$args2[_i18];\\n var argName = ifaceArg.name;\\n var typeArg = find(typeField.args, function (arg) {\\n return arg.name === argName;\\n }); // Assert interface field arg exists on object field.\\n\\n if (!typeArg) {\\n context.reportError(\\\"Interface field argument \\\".concat(iface.name, \\\".\\\").concat(fieldName, \\\"(\\\").concat(argName, \\\":) expected but \\\").concat(type.name, \\\".\\\").concat(fieldName, \\\" does not provide it.\\\"), [ifaceArg.astNode, typeField.astNode]);\\n return \\\"continue\\\";\\n } // Assert interface field arg type matches object field arg type.\\n // (invariant)\\n // TODO: change to contravariant?\\n\\n\\n if (!isEqualType(ifaceArg.type, typeArg.type)) {\\n var _ifaceArg$astNode, _typeArg$astNode;\\n\\n context.reportError(\\\"Interface field argument \\\".concat(iface.name, \\\".\\\").concat(fieldName, \\\"(\\\").concat(argName, \\\":) \\\") + \\\"expects type \\\".concat(inspect(ifaceArg.type), \\\" but \\\") + \\\"\\\".concat(type.name, \\\".\\\").concat(fieldName, \\\"(\\\").concat(argName, \\\":) is type \\\") + \\\"\\\".concat(inspect(typeArg.type), \\\".\\\"), [// istanbul ignore next (TODO need to write coverage tests)\\n (_ifaceArg$astNode = ifaceArg.astNode) === null || _ifaceArg$astNode === void 0 ? void 0 : _ifaceArg$astNode.type, // istanbul ignore next (TODO need to write coverage tests)\\n (_typeArg$astNode = typeArg.astNode) === null || _typeArg$astNode === void 0 ? void 0 : _typeArg$astNode.type]);\\n } // TODO: validate default values?\\n\\n };\\n\\n for (var _i18 = 0, _ifaceField$args2 = ifaceField.args; _i18 < _ifaceField$args2.length; _i18++) {\\n var _ret = _loop(_i18, _ifaceField$args2);\\n\\n if (_ret === \\\"continue\\\") continue;\\n } // Assert additional arguments must not be required.\\n\\n\\n var _loop2 = function _loop2(_i20, _typeField$args2) {\\n var typeArg = _typeField$args2[_i20];\\n var argName = typeArg.name;\\n var ifaceArg = find(ifaceField.args, function (arg) {\\n return arg.name === argName;\\n });\\n\\n if (!ifaceArg && isRequiredArgument(typeArg)) {\\n context.reportError(\\\"Object field \\\".concat(type.name, \\\".\\\").concat(fieldName, \\\" includes required argument \\\").concat(argName, \\\" that is missing from the Interface field \\\").concat(iface.name, \\\".\\\").concat(fieldName, \\\".\\\"), [typeArg.astNode, ifaceField.astNode]);\\n }\\n };\\n\\n for (var _i20 = 0, _typeField$args2 = typeField.args; _i20 < _typeField$args2.length; _i20++) {\\n _loop2(_i20, _typeField$args2);\\n }\\n }\\n}\\n\\nfunction validateTypeImplementsAncestors(context, type, iface) {\\n var ifaceInterfaces = type.getInterfaces();\\n\\n for (var _i22 = 0, _iface$getInterfaces2 = iface.getInterfaces(); _i22 < _iface$getInterfaces2.length; _i22++) {\\n var transitive = _iface$getInterfaces2[_i22];\\n\\n if (ifaceInterfaces.indexOf(transitive) === -1) {\\n context.reportError(transitive === type ? \\\"Type \\\".concat(type.name, \\\" cannot implement \\\").concat(iface.name, \\\" because it would create a circular reference.\\\") : \\\"Type \\\".concat(type.name, \\\" must implement \\\").concat(transitive.name, \\\" because it is implemented by \\\").concat(iface.name, \\\".\\\"), [].concat(getAllImplementsInterfaceNodes(iface, transitive), getAllImplementsInterfaceNodes(type, iface)));\\n }\\n }\\n}\\n\\nfunction validateUnionMembers(context, union) {\\n var memberTypes = union.getTypes();\\n\\n if (memberTypes.length === 0) {\\n context.reportError(\\\"Union type \\\".concat(union.name, \\\" must define one or more member types.\\\"), getAllNodes(union));\\n }\\n\\n var includedTypeNames = Object.create(null);\\n\\n for (var _i24 = 0; _i24 < memberTypes.length; _i24++) {\\n var memberType = memberTypes[_i24];\\n\\n if (includedTypeNames[memberType.name]) {\\n context.reportError(\\\"Union type \\\".concat(union.name, \\\" can only include type \\\").concat(memberType.name, \\\" once.\\\"), getUnionMemberTypeNodes(union, memberType.name));\\n continue;\\n }\\n\\n includedTypeNames[memberType.name] = true;\\n\\n if (!isObjectType(memberType)) {\\n context.reportError(\\\"Union type \\\".concat(union.name, \\\" can only include Object types, \\\") + \\\"it cannot include \\\".concat(inspect(memberType), \\\".\\\"), getUnionMemberTypeNodes(union, String(memberType)));\\n }\\n }\\n}\\n\\nfunction validateEnumValues(context, enumType) {\\n var enumValues = enumType.getValues();\\n\\n if (enumValues.length === 0) {\\n context.reportError(\\\"Enum type \\\".concat(enumType.name, \\\" must define one or more values.\\\"), getAllNodes(enumType));\\n }\\n\\n for (var _i26 = 0; _i26 < enumValues.length; _i26++) {\\n var enumValue = enumValues[_i26];\\n var valueName = enumValue.name; // Ensure valid name.\\n\\n validateName(context, enumValue);\\n\\n if (valueName === 'true' || valueName === 'false' || valueName === 'null') {\\n context.reportError(\\\"Enum type \\\".concat(enumType.name, \\\" cannot include value: \\\").concat(valueName, \\\".\\\"), enumValue.astNode);\\n }\\n }\\n}\\n\\nfunction validateInputFields(context, inputObj) {\\n var fields = objectValues(inputObj.getFields());\\n\\n if (fields.length === 0) {\\n context.reportError(\\\"Input Object type \\\".concat(inputObj.name, \\\" must define one or more fields.\\\"), getAllNodes(inputObj));\\n } // Ensure the arguments are valid\\n\\n\\n for (var _i28 = 0; _i28 < fields.length; _i28++) {\\n var field = fields[_i28];\\n // Ensure they are named correctly.\\n validateName(context, field); // Ensure the type is an input type\\n\\n if (!isInputType(field.type)) {\\n var _field$astNode2;\\n\\n context.reportError(\\\"The type of \\\".concat(inputObj.name, \\\".\\\").concat(field.name, \\\" must be Input Type \\\") + \\\"but got: \\\".concat(inspect(field.type), \\\".\\\"), (_field$astNode2 = field.astNode) === null || _field$astNode2 === void 0 ? void 0 : _field$astNode2.type);\\n }\\n\\n if (isRequiredInputField(field) && field.deprecationReason != null) {\\n var _field$astNode3;\\n\\n context.reportError(\\\"Required input field \\\".concat(inputObj.name, \\\".\\\").concat(field.name, \\\" cannot be deprecated.\\\"), [getDeprecatedDirectiveNode(field.astNode), // istanbul ignore next (TODO need to write coverage tests)\\n (_field$astNode3 = field.astNode) === null || _field$astNode3 === void 0 ? void 0 : _field$astNode3.type]);\\n }\\n }\\n}\\n\\nfunction createInputObjectCircularRefsValidator(context) {\\n // Modified copy of algorithm from 'src/validation/rules/NoFragmentCycles.js'.\\n // Tracks already visited types to maintain O(N) and to ensure that cycles\\n // are not redundantly reported.\\n var visitedTypes = Object.create(null); // Array of types nodes used to produce meaningful errors\\n\\n var fieldPath = []; // Position in the type path\\n\\n var fieldPathIndexByTypeName = Object.create(null);\\n return detectCycleRecursive; // This does a straight-forward DFS to find cycles.\\n // It does not terminate when a cycle was found but continues to explore\\n // the graph to find all possible cycles.\\n\\n function detectCycleRecursive(inputObj) {\\n if (visitedTypes[inputObj.name]) {\\n return;\\n }\\n\\n visitedTypes[inputObj.name] = true;\\n fieldPathIndexByTypeName[inputObj.name] = fieldPath.length;\\n var fields = objectValues(inputObj.getFields());\\n\\n for (var _i30 = 0; _i30 < fields.length; _i30++) {\\n var field = fields[_i30];\\n\\n if (isNonNullType(field.type) && isInputObjectType(field.type.ofType)) {\\n var fieldType = field.type.ofType;\\n var cycleIndex = fieldPathIndexByTypeName[fieldType.name];\\n fieldPath.push(field);\\n\\n if (cycleIndex === undefined) {\\n detectCycleRecursive(fieldType);\\n } else {\\n var cyclePath = fieldPath.slice(cycleIndex);\\n var pathStr = cyclePath.map(function (fieldObj) {\\n return fieldObj.name;\\n }).join('.');\\n context.reportError(\\\"Cannot reference Input Object \\\\\\\"\\\".concat(fieldType.name, \\\"\\\\\\\" within itself through a series of non-null fields: \\\\\\\"\\\").concat(pathStr, \\\"\\\\\\\".\\\"), cyclePath.map(function (fieldObj) {\\n return fieldObj.astNode;\\n }));\\n }\\n\\n fieldPath.pop();\\n }\\n }\\n\\n fieldPathIndexByTypeName[inputObj.name] = undefined;\\n }\\n}\\n\\nfunction getAllNodes(object) {\\n var astNode = object.astNode,\\n extensionASTNodes = object.extensionASTNodes;\\n return astNode ? extensionASTNodes ? [astNode].concat(extensionASTNodes) : [astNode] : extensionASTNodes !== null && extensionASTNodes !== void 0 ? extensionASTNodes : [];\\n}\\n\\nfunction getAllSubNodes(object, getter) {\\n var subNodes = [];\\n\\n for (var _i32 = 0, _getAllNodes2 = getAllNodes(object); _i32 < _getAllNodes2.length; _i32++) {\\n var _getter;\\n\\n var node = _getAllNodes2[_i32];\\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n subNodes = subNodes.concat((_getter = getter(node)) !== null && _getter !== void 0 ? _getter : []);\\n }\\n\\n return subNodes;\\n}\\n\\nfunction getAllImplementsInterfaceNodes(type, iface) {\\n return getAllSubNodes(type, function (typeNode) {\\n return typeNode.interfaces;\\n }).filter(function (ifaceNode) {\\n return ifaceNode.name.value === iface.name;\\n });\\n}\\n\\nfunction getUnionMemberTypeNodes(union, typeName) {\\n return getAllSubNodes(union, function (unionNode) {\\n return unionNode.types;\\n }).filter(function (typeNode) {\\n return typeNode.name.value === typeName;\\n });\\n}\\n\\nfunction getDeprecatedDirectiveNode(definitionNode) {\\n var _definitionNode$direc;\\n\\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n return definitionNode === null || definitionNode === void 0 ? void 0 : (_definitionNode$direc = definitionNode.directives) === null || _definitionNode$direc === void 0 ? void 0 : _definitionNode$direc.find(function (node) {\\n return node.name.value === GraphQLDeprecatedDirective.name;\\n });\\n}\\n\",\"'use strict';\\n\\n\\nmodule.exports = require('./lib/');\\n\",\"import { parse, typeFromAST, visit, } from 'graphql';\\nexport default function getOperationFacts(schema, documentStr) {\\n if (!documentStr) {\\n return;\\n }\\n var documentAST;\\n try {\\n documentAST = parse(documentStr, {\\n experimentalFragmentVariables: true,\\n });\\n }\\n catch (_a) {\\n return;\\n }\\n var variableToType = schema\\n ? collectVariables(schema, documentAST)\\n : undefined;\\n var operations = [];\\n visit(documentAST, {\\n OperationDefinition: function (node) {\\n operations.push(node);\\n },\\n });\\n return { variableToType: variableToType, operations: operations, documentAST: documentAST };\\n}\\nexport var getQueryFacts = getOperationFacts;\\nexport function collectVariables(schema, documentAST) {\\n var variableToType = Object.create(null);\\n documentAST.definitions.forEach(function (definition) {\\n if (definition.kind === 'OperationDefinition') {\\n var variableDefinitions = definition.variableDefinitions;\\n if (variableDefinitions) {\\n variableDefinitions.forEach(function (_a) {\\n var variable = _a.variable, type = _a.type;\\n var inputType = typeFromAST(schema, type);\\n if (inputType) {\\n variableToType[variable.name.value] = inputType;\\n }\\n });\\n }\\n }\\n });\\n return variableToType;\\n}\\n//# sourceMappingURL=getQueryFacts.js.map\",\"function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\\n\\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\\n\\nimport { SYMBOL_TO_STRING_TAG } from \\\"../polyfills/symbols.mjs\\\";\\nimport inspect from \\\"../jsutils/inspect.mjs\\\";\\nimport devAssert from \\\"../jsutils/devAssert.mjs\\\";\\nimport instanceOf from \\\"../jsutils/instanceOf.mjs\\\";\\n\\n/**\\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\\n * optional, but they are useful for clients who store GraphQL documents in source files.\\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\\n * be useful for `name` to be `\\\"Foo.graphql\\\"` and location to be `{ line: 40, column: 1 }`.\\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\\n */\\nexport var Source = /*#__PURE__*/function () {\\n function Source(body) {\\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\\n line: 1,\\n column: 1\\n };\\n typeof body === 'string' || devAssert(0, \\\"Body must be a string. Received: \\\".concat(inspect(body), \\\".\\\"));\\n this.body = body;\\n this.name = name;\\n this.locationOffset = locationOffset;\\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\\n\\n\\n _createClass(Source, [{\\n key: SYMBOL_TO_STRING_TAG,\\n get: function get() {\\n return 'Source';\\n }\\n }]);\\n\\n return Source;\\n}();\\n/**\\n * Test if the given value is a Source object.\\n *\\n * @internal\\n */\\n\\n// eslint-disable-next-line no-redeclare\\nexport function isSource(source) {\\n return instanceOf(source, Source);\\n}\\n\",\"import { syntaxError } from \\\"../error/syntaxError.mjs\\\";\\nimport { Token } from \\\"./ast.mjs\\\";\\nimport { TokenKind } from \\\"./tokenKind.mjs\\\";\\nimport { dedentBlockStringValue } from \\\"./blockString.mjs\\\";\\n/**\\n * Given a Source object, creates a Lexer for that source.\\n * A Lexer is a stateful stream generator in that every time\\n * it is advanced, it returns the next token in the Source. Assuming the\\n * source lexes, the final Token emitted by the lexer will be of kind\\n * EOF, after which the lexer will repeatedly return the same EOF token\\n * whenever called.\\n */\\n\\nexport var Lexer = /*#__PURE__*/function () {\\n /**\\n * The previously focused non-ignored token.\\n */\\n\\n /**\\n * The currently focused non-ignored token.\\n */\\n\\n /**\\n * The (1-indexed) line containing the current token.\\n */\\n\\n /**\\n * The character offset at which the current line begins.\\n */\\n function Lexer(source) {\\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\\n this.source = source;\\n this.lastToken = startOfFileToken;\\n this.token = startOfFileToken;\\n this.line = 1;\\n this.lineStart = 0;\\n }\\n /**\\n * Advances the token stream to the next non-ignored token.\\n */\\n\\n\\n var _proto = Lexer.prototype;\\n\\n _proto.advance = function advance() {\\n this.lastToken = this.token;\\n var token = this.token = this.lookahead();\\n return token;\\n }\\n /**\\n * Looks ahead and returns the next non-ignored token, but does not change\\n * the state of Lexer.\\n */\\n ;\\n\\n _proto.lookahead = function lookahead() {\\n var token = this.token;\\n\\n if (token.kind !== TokenKind.EOF) {\\n do {\\n var _token$next;\\n\\n // Note: next is only mutable during parsing, so we cast to allow this.\\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\\n } while (token.kind === TokenKind.COMMENT);\\n }\\n\\n return token;\\n };\\n\\n return Lexer;\\n}();\\n/**\\n * @internal\\n */\\n\\nexport function isPunctuatorTokenKind(kind) {\\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\\n}\\n\\nfunction printCharCode(code) {\\n return (// NaN/undefined represents access beyond the end of the file.\\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\\n \\\"\\\\\\\"\\\\\\\\u\\\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \\\"\\\\\\\"\\\")\\n );\\n}\\n/**\\n * Gets the next token from the source starting at the given position.\\n *\\n * This skips over whitespace until it finds the next lexable token, then lexes\\n * punctuators immediately or calls the appropriate helper function for more\\n * complicated tokens.\\n */\\n\\n\\nfunction readToken(lexer, prev) {\\n var source = lexer.source;\\n var body = source.body;\\n var bodyLength = body.length;\\n var pos = prev.end;\\n\\n while (pos < bodyLength) {\\n var code = body.charCodeAt(pos);\\n var _line = lexer.line;\\n\\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\\n\\n\\n switch (code) {\\n case 0xfeff: // \\n\\n case 9: // \\\\t\\n\\n case 32: // \\n\\n case 44:\\n // ,\\n ++pos;\\n continue;\\n\\n case 10:\\n // \\\\n\\n ++pos;\\n ++lexer.line;\\n lexer.lineStart = pos;\\n continue;\\n\\n case 13:\\n // \\\\r\\n if (body.charCodeAt(pos + 1) === 10) {\\n pos += 2;\\n } else {\\n ++pos;\\n }\\n\\n ++lexer.line;\\n lexer.lineStart = pos;\\n continue;\\n\\n case 33:\\n // !\\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\\n\\n case 35:\\n // #\\n return readComment(source, pos, _line, _col, prev);\\n\\n case 36:\\n // $\\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\\n\\n case 38:\\n // &\\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\\n\\n case 40:\\n // (\\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\\n\\n case 41:\\n // )\\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\\n\\n case 46:\\n // .\\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\\n }\\n\\n break;\\n\\n case 58:\\n // :\\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\\n\\n case 61:\\n // =\\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\\n\\n case 64:\\n // @\\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\\n\\n case 91:\\n // [\\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\\n\\n case 93:\\n // ]\\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\\n\\n case 123:\\n // {\\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\\n\\n case 124:\\n // |\\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\\n\\n case 125:\\n // }\\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\\n\\n case 34:\\n // \\\"\\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\\n return readBlockString(source, pos, _line, _col, prev, lexer);\\n }\\n\\n return readString(source, pos, _line, _col, prev);\\n\\n case 45: // -\\n\\n case 48: // 0\\n\\n case 49: // 1\\n\\n case 50: // 2\\n\\n case 51: // 3\\n\\n case 52: // 4\\n\\n case 53: // 5\\n\\n case 54: // 6\\n\\n case 55: // 7\\n\\n case 56: // 8\\n\\n case 57:\\n // 9\\n return readNumber(source, pos, code, _line, _col, prev);\\n\\n case 65: // A\\n\\n case 66: // B\\n\\n case 67: // C\\n\\n case 68: // D\\n\\n case 69: // E\\n\\n case 70: // F\\n\\n case 71: // G\\n\\n case 72: // H\\n\\n case 73: // I\\n\\n case 74: // J\\n\\n case 75: // K\\n\\n case 76: // L\\n\\n case 77: // M\\n\\n case 78: // N\\n\\n case 79: // O\\n\\n case 80: // P\\n\\n case 81: // Q\\n\\n case 82: // R\\n\\n case 83: // S\\n\\n case 84: // T\\n\\n case 85: // U\\n\\n case 86: // V\\n\\n case 87: // W\\n\\n case 88: // X\\n\\n case 89: // Y\\n\\n case 90: // Z\\n\\n case 95: // _\\n\\n case 97: // a\\n\\n case 98: // b\\n\\n case 99: // c\\n\\n case 100: // d\\n\\n case 101: // e\\n\\n case 102: // f\\n\\n case 103: // g\\n\\n case 104: // h\\n\\n case 105: // i\\n\\n case 106: // j\\n\\n case 107: // k\\n\\n case 108: // l\\n\\n case 109: // m\\n\\n case 110: // n\\n\\n case 111: // o\\n\\n case 112: // p\\n\\n case 113: // q\\n\\n case 114: // r\\n\\n case 115: // s\\n\\n case 116: // t\\n\\n case 117: // u\\n\\n case 118: // v\\n\\n case 119: // w\\n\\n case 120: // x\\n\\n case 121: // y\\n\\n case 122:\\n // z\\n return readName(source, pos, _line, _col, prev);\\n }\\n\\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\\n }\\n\\n var line = lexer.line;\\n var col = 1 + pos - lexer.lineStart;\\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\\n}\\n/**\\n * Report a message that an unexpected character was encountered.\\n */\\n\\n\\nfunction unexpectedCharacterMessage(code) {\\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\\n return \\\"Cannot contain the invalid character \\\".concat(printCharCode(code), \\\".\\\");\\n }\\n\\n if (code === 39) {\\n // '\\n return 'Unexpected single quote character (\\\\'), did you mean to use a double quote (\\\")?';\\n }\\n\\n return \\\"Cannot parse the unexpected character \\\".concat(printCharCode(code), \\\".\\\");\\n}\\n/**\\n * Reads a comment token from the source file.\\n *\\n * #[\\\\u0009\\\\u0020-\\\\uFFFF]*\\n */\\n\\n\\nfunction readComment(source, start, line, col, prev) {\\n var body = source.body;\\n var code;\\n var position = start;\\n\\n do {\\n code = body.charCodeAt(++position);\\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\\n code > 0x001f || code === 0x0009));\\n\\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\\n}\\n/**\\n * Reads a number token from the source file, either a float\\n * or an int depending on whether a decimal point appears.\\n *\\n * Int: -?(0|[1-9][0-9]*)\\n * Float: -?(0|[1-9][0-9]*)(\\\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\\n */\\n\\n\\nfunction readNumber(source, start, firstCode, line, col, prev) {\\n var body = source.body;\\n var code = firstCode;\\n var position = start;\\n var isFloat = false;\\n\\n if (code === 45) {\\n // -\\n code = body.charCodeAt(++position);\\n }\\n\\n if (code === 48) {\\n // 0\\n code = body.charCodeAt(++position);\\n\\n if (code >= 48 && code <= 57) {\\n throw syntaxError(source, position, \\\"Invalid number, unexpected digit after 0: \\\".concat(printCharCode(code), \\\".\\\"));\\n }\\n } else {\\n position = readDigits(source, position, code);\\n code = body.charCodeAt(position);\\n }\\n\\n if (code === 46) {\\n // .\\n isFloat = true;\\n code = body.charCodeAt(++position);\\n position = readDigits(source, position, code);\\n code = body.charCodeAt(position);\\n }\\n\\n if (code === 69 || code === 101) {\\n // E e\\n isFloat = true;\\n code = body.charCodeAt(++position);\\n\\n if (code === 43 || code === 45) {\\n // + -\\n code = body.charCodeAt(++position);\\n }\\n\\n position = readDigits(source, position, code);\\n code = body.charCodeAt(position);\\n } // Numbers cannot be followed by . or NameStart\\n\\n\\n if (code === 46 || isNameStart(code)) {\\n throw syntaxError(source, position, \\\"Invalid number, expected digit but got: \\\".concat(printCharCode(code), \\\".\\\"));\\n }\\n\\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\\n}\\n/**\\n * Returns the new position in the source after reading digits.\\n */\\n\\n\\nfunction readDigits(source, start, firstCode) {\\n var body = source.body;\\n var position = start;\\n var code = firstCode;\\n\\n if (code >= 48 && code <= 57) {\\n // 0 - 9\\n do {\\n code = body.charCodeAt(++position);\\n } while (code >= 48 && code <= 57); // 0 - 9\\n\\n\\n return position;\\n }\\n\\n throw syntaxError(source, position, \\\"Invalid number, expected digit but got: \\\".concat(printCharCode(code), \\\".\\\"));\\n}\\n/**\\n * Reads a string token from the source file.\\n *\\n * \\\"([^\\\"\\\\\\\\\\\\u000A\\\\u000D]|(\\\\\\\\(u[0-9a-fA-F]{4}|[\\\"\\\\\\\\/bfnrt])))*\\\"\\n */\\n\\n\\nfunction readString(source, start, line, col, prev) {\\n var body = source.body;\\n var position = start + 1;\\n var chunkStart = position;\\n var code = 0;\\n var value = '';\\n\\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\\n code !== 0x000a && code !== 0x000d) {\\n // Closing Quote (\\\")\\n if (code === 34) {\\n value += body.slice(chunkStart, position);\\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\\n } // SourceCharacter\\n\\n\\n if (code < 0x0020 && code !== 0x0009) {\\n throw syntaxError(source, position, \\\"Invalid character within String: \\\".concat(printCharCode(code), \\\".\\\"));\\n }\\n\\n ++position;\\n\\n if (code === 92) {\\n // \\\\\\n value += body.slice(chunkStart, position - 1);\\n code = body.charCodeAt(position);\\n\\n switch (code) {\\n case 34:\\n value += '\\\"';\\n break;\\n\\n case 47:\\n value += '/';\\n break;\\n\\n case 92:\\n value += '\\\\\\\\';\\n break;\\n\\n case 98:\\n value += '\\\\b';\\n break;\\n\\n case 102:\\n value += '\\\\f';\\n break;\\n\\n case 110:\\n value += '\\\\n';\\n break;\\n\\n case 114:\\n value += '\\\\r';\\n break;\\n\\n case 116:\\n value += '\\\\t';\\n break;\\n\\n case 117:\\n {\\n // uXXXX\\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\\n\\n if (charCode < 0) {\\n var invalidSequence = body.slice(position + 1, position + 5);\\n throw syntaxError(source, position, \\\"Invalid character escape sequence: \\\\\\\\u\\\".concat(invalidSequence, \\\".\\\"));\\n }\\n\\n value += String.fromCharCode(charCode);\\n position += 4;\\n break;\\n }\\n\\n default:\\n throw syntaxError(source, position, \\\"Invalid character escape sequence: \\\\\\\\\\\".concat(String.fromCharCode(code), \\\".\\\"));\\n }\\n\\n ++position;\\n chunkStart = position;\\n }\\n }\\n\\n throw syntaxError(source, position, 'Unterminated string.');\\n}\\n/**\\n * Reads a block string token from the source file.\\n *\\n * \\\"\\\"\\\"(\\\"?\\\"?(\\\\\\\\\\\"\\\"\\\"|\\\\\\\\(?!=\\\"\\\"\\\")|[^\\\"\\\\\\\\]))*\\\"\\\"\\\"\\n */\\n\\n\\nfunction readBlockString(source, start, line, col, prev, lexer) {\\n var body = source.body;\\n var position = start + 3;\\n var chunkStart = position;\\n var code = 0;\\n var rawValue = '';\\n\\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\\n // Closing Triple-Quote (\\\"\\\"\\\")\\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\\n rawValue += body.slice(chunkStart, position);\\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\\n } // SourceCharacter\\n\\n\\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\\n throw syntaxError(source, position, \\\"Invalid character within String: \\\".concat(printCharCode(code), \\\".\\\"));\\n }\\n\\n if (code === 10) {\\n // new line\\n ++position;\\n ++lexer.line;\\n lexer.lineStart = position;\\n } else if (code === 13) {\\n // carriage return\\n if (body.charCodeAt(position + 1) === 10) {\\n position += 2;\\n } else {\\n ++position;\\n }\\n\\n ++lexer.line;\\n lexer.lineStart = position;\\n } else if ( // Escape Triple-Quote (\\\\\\\"\\\"\\\")\\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\\n rawValue += body.slice(chunkStart, position) + '\\\"\\\"\\\"';\\n position += 4;\\n chunkStart = position;\\n } else {\\n ++position;\\n }\\n }\\n\\n throw syntaxError(source, position, 'Unterminated string.');\\n}\\n/**\\n * Converts four hexadecimal chars to the integer that the\\n * string represents. For example, uniCharCode('0','0','0','f')\\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\\n *\\n * Returns a negative number on error, if a char was invalid.\\n *\\n * This is implemented by noting that char2hex() returns -1 on error,\\n * which means the result of ORing the char2hex() will also be negative.\\n */\\n\\n\\nfunction uniCharCode(a, b, c, d) {\\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\\n}\\n/**\\n * Converts a hex character to its integer value.\\n * '0' becomes 0, '9' becomes 9\\n * 'A' becomes 10, 'F' becomes 15\\n * 'a' becomes 10, 'f' becomes 15\\n *\\n * Returns -1 on error.\\n */\\n\\n\\nfunction char2hex(a) {\\n return a >= 48 && a <= 57 ? a - 48 // 0-9\\n : a >= 65 && a <= 70 ? a - 55 // A-F\\n : a >= 97 && a <= 102 ? a - 87 // a-f\\n : -1;\\n}\\n/**\\n * Reads an alphanumeric + underscore name from the source.\\n *\\n * [_A-Za-z][_0-9A-Za-z]*\\n */\\n\\n\\nfunction readName(source, start, line, col, prev) {\\n var body = source.body;\\n var bodyLength = body.length;\\n var position = start + 1;\\n var code = 0;\\n\\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\\n code >= 48 && code <= 57 || // 0-9\\n code >= 65 && code <= 90 || // A-Z\\n code >= 97 && code <= 122) // a-z\\n ) {\\n ++position;\\n }\\n\\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\\n} // _ A-Z a-z\\n\\n\\nfunction isNameStart(code) {\\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\\n}\\n\",\"export default function _arrayLikeToArray(arr, len) {\\n if (len == null || len > arr.length) len = arr.length;\\n\\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\\n arr2[i] = arr[i];\\n }\\n\\n return arr2;\\n}\",\"import arrayWithHoles from \\\"./arrayWithHoles\\\";\\nimport iterableToArrayLimit from \\\"./iterableToArrayLimit\\\";\\nimport unsupportedIterableToArray from \\\"./unsupportedIterableToArray\\\";\\nimport nonIterableRest from \\\"./nonIterableRest\\\";\\nexport default function _slicedToArray(arr, i) {\\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\\n}\",\"export default function _arrayWithHoles(arr) {\\n if (Array.isArray(arr)) return arr;\\n}\",\"export default function _iterableToArrayLimit(arr, i) {\\n if (typeof Symbol === \\\"undefined\\\" || !(Symbol.iterator in Object(arr))) return;\\n var _arr = [];\\n var _n = true;\\n var _d = false;\\n var _e = undefined;\\n\\n try {\\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\\n _arr.push(_s.value);\\n\\n if (i && _arr.length === i) break;\\n }\\n } catch (err) {\\n _d = true;\\n _e = err;\\n } finally {\\n try {\\n if (!_n && _i[\\\"return\\\"] != null) _i[\\\"return\\\"]();\\n } finally {\\n if (_d) throw _e;\\n }\\n }\\n\\n return _arr;\\n}\",\"import arrayLikeToArray from \\\"./arrayLikeToArray\\\";\\nexport default function _unsupportedIterableToArray(o, minLen) {\\n if (!o) return;\\n if (typeof o === \\\"string\\\") return arrayLikeToArray(o, minLen);\\n var n = Object.prototype.toString.call(o).slice(8, -1);\\n if (n === \\\"Object\\\" && o.constructor) n = o.constructor.name;\\n if (n === \\\"Map\\\" || n === \\\"Set\\\") return Array.from(n);\\n if (n === \\\"Arguments\\\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\\n}\",\"export default function _nonIterableRest() {\\n throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\");\\n}\",\"var g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nvar ToolbarMenu = (function (_super) {\\n __extends(ToolbarMenu, _super);\\n function ToolbarMenu(props) {\\n var _this = _super.call(this, props) || this;\\n _this._node = null;\\n _this._listener = null;\\n _this.handleOpen = function (e) {\\n preventDefault(e);\\n _this.setState({ visible: true });\\n _this._subscribe();\\n };\\n _this.state = { visible: false };\\n return _this;\\n }\\n ToolbarMenu.prototype.componentWillUnmount = function () {\\n this._release();\\n };\\n ToolbarMenu.prototype.render = function () {\\n var _this = this;\\n var visible = this.state.visible;\\n return (React.createElement(\\\"a\\\", { className: \\\"toolbar-menu toolbar-button\\\", onClick: this.handleOpen.bind(this), onMouseDown: preventDefault, ref: function (node) {\\n if (node) {\\n _this._node = node;\\n }\\n }, title: this.props.title },\\n this.props.label,\\n React.createElement(\\\"svg\\\", { width: \\\"14\\\", height: \\\"8\\\" },\\n React.createElement(\\\"path\\\", { fill: \\\"#666\\\", d: \\\"M 5 1.5 L 14 1.5 L 9.5 7 z\\\" })),\\n React.createElement(\\\"ul\\\", { className: 'toolbar-menu-items' + (visible ? ' open' : '') }, this.props.children)));\\n };\\n ToolbarMenu.prototype._subscribe = function () {\\n if (!this._listener) {\\n this._listener = this.handleClick.bind(this);\\n document.addEventListener('click', this._listener);\\n }\\n };\\n ToolbarMenu.prototype._release = function () {\\n if (this._listener) {\\n document.removeEventListener('click', this._listener);\\n this._listener = null;\\n }\\n };\\n ToolbarMenu.prototype.handleClick = function (e) {\\n if (this._node !== e.target) {\\n e.preventDefault();\\n this.setState({ visible: false });\\n this._release();\\n }\\n };\\n return ToolbarMenu;\\n}(React.Component));\\nexport { ToolbarMenu };\\nexport var ToolbarMenuItem = function (_a) {\\n var onSelect = _a.onSelect, title = _a.title, label = _a.label;\\n return (React.createElement(\\\"li\\\", { onMouseOver: function (e) {\\n e.currentTarget.className = 'hover';\\n }, onMouseOut: function (e) {\\n e.currentTarget.className = '';\\n }, onMouseDown: preventDefault, onMouseUp: onSelect, title: title }, label));\\n};\\nfunction preventDefault(e) {\\n e.preventDefault();\\n}\\n//# sourceMappingURL=ToolbarMenu.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nimport React from 'react';\\nimport onHasCompletion from '../utility/onHasCompletion';\\nimport commonKeys from '../utility/commonKeys';\\nvar VariableEditor = (function (_super) {\\n __extends(VariableEditor, _super);\\n function VariableEditor(props) {\\n var _this = _super.call(this, props) || this;\\n _this.editor = null;\\n _this._node = null;\\n _this.ignoreChangeEvent = false;\\n _this._onKeyUp = function (_cm, event) {\\n var code = event.keyCode;\\n if (!_this.editor) {\\n return;\\n }\\n if ((code >= 65 && code <= 90) ||\\n (!event.shiftKey && code >= 48 && code <= 57) ||\\n (event.shiftKey && code === 189) ||\\n (event.shiftKey && code === 222)) {\\n _this.editor.execCommand('autocomplete');\\n }\\n };\\n _this._onEdit = function () {\\n if (!_this.editor) {\\n return;\\n }\\n if (!_this.ignoreChangeEvent) {\\n _this.cachedValue = _this.editor.getValue();\\n if (_this.props.onEdit) {\\n _this.props.onEdit(_this.cachedValue);\\n }\\n }\\n };\\n _this._onHasCompletion = function (instance, changeObj) {\\n onHasCompletion(instance, changeObj, _this.props.onHintInformationRender);\\n };\\n _this.cachedValue = props.value || '';\\n return _this;\\n }\\n VariableEditor.prototype.componentDidMount = function () {\\n var _this = this;\\n this.CodeMirror = require('codemirror');\\n require('codemirror/addon/hint/show-hint');\\n require('codemirror/addon/edit/matchbrackets');\\n require('codemirror/addon/edit/closebrackets');\\n require('codemirror/addon/fold/brace-fold');\\n require('codemirror/addon/fold/foldgutter');\\n require('codemirror/addon/lint/lint');\\n require('codemirror/addon/search/searchcursor');\\n require('codemirror/addon/search/jump-to-line');\\n require('codemirror/addon/dialog/dialog');\\n require('codemirror/keymap/sublime');\\n require('codemirror-graphql/variables/hint');\\n require('codemirror-graphql/variables/lint');\\n require('codemirror-graphql/variables/mode');\\n var editor = (this.editor = this.CodeMirror(this._node, {\\n value: this.props.value || '',\\n lineNumbers: true,\\n tabSize: 2,\\n mode: 'graphql-variables',\\n theme: this.props.editorTheme || 'graphiql',\\n keyMap: 'sublime',\\n autoCloseBrackets: true,\\n matchBrackets: true,\\n showCursorWhenSelecting: true,\\n readOnly: this.props.readOnly ? 'nocursor' : false,\\n foldGutter: {\\n minFoldSize: 4,\\n },\\n lint: {\\n variableToType: this.props.variableToType,\\n },\\n hintOptions: {\\n variableToType: this.props.variableToType,\\n closeOnUnfocus: false,\\n completeSingle: false,\\n container: this._node,\\n },\\n gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\\n extraKeys: __assign({ 'Cmd-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Ctrl-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Alt-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Shift-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Cmd-Enter': function () {\\n if (_this.props.onRunQuery) {\\n _this.props.onRunQuery();\\n }\\n }, 'Ctrl-Enter': function () {\\n if (_this.props.onRunQuery) {\\n _this.props.onRunQuery();\\n }\\n }, 'Shift-Ctrl-P': function () {\\n if (_this.props.onPrettifyQuery) {\\n _this.props.onPrettifyQuery();\\n }\\n }, 'Shift-Ctrl-M': function () {\\n if (_this.props.onMergeQuery) {\\n _this.props.onMergeQuery();\\n }\\n } }, commonKeys),\\n }));\\n editor.on('change', this._onEdit);\\n editor.on('keyup', this._onKeyUp);\\n editor.on('hasCompletion', this._onHasCompletion);\\n };\\n VariableEditor.prototype.componentDidUpdate = function (prevProps) {\\n this.CodeMirror = require('codemirror');\\n if (!this.editor) {\\n return;\\n }\\n this.ignoreChangeEvent = true;\\n if (this.props.variableToType !== prevProps.variableToType) {\\n this.editor.options.lint.variableToType = this.props.variableToType;\\n this.editor.options.hintOptions.variableToType = this.props.variableToType;\\n this.CodeMirror.signal(this.editor, 'change', this.editor);\\n }\\n if (this.props.value !== prevProps.value &&\\n this.props.value !== this.cachedValue) {\\n var thisValue = this.props.value || '';\\n this.cachedValue = thisValue;\\n this.editor.setValue(thisValue);\\n }\\n this.ignoreChangeEvent = false;\\n };\\n VariableEditor.prototype.componentWillUnmount = function () {\\n if (!this.editor) {\\n return;\\n }\\n this.editor.off('change', this._onEdit);\\n this.editor.off('keyup', this._onKeyUp);\\n this.editor.off('hasCompletion', this._onHasCompletion);\\n this.editor = null;\\n };\\n VariableEditor.prototype.render = function () {\\n var _this = this;\\n return (React.createElement(\\\"div\\\", { className: \\\"codemirrorWrap\\\", style: {\\n position: this.props.active ? 'relative' : 'absolute',\\n visibility: this.props.active ? 'visible' : 'hidden',\\n }, ref: function (node) {\\n _this._node = node;\\n } }));\\n };\\n VariableEditor.prototype.getCodeMirror = function () {\\n return this.editor;\\n };\\n VariableEditor.prototype.getClientHeight = function () {\\n return this._node && this._node.clientHeight;\\n };\\n return VariableEditor;\\n}(React.Component));\\nexport { VariableEditor };\\n//# sourceMappingURL=VariableEditor.js.map\",\"export default function getSelectedOperationName(prevOperations, prevSelectedOperationName, operations) {\\n if (!operations || operations.length < 1) {\\n return;\\n }\\n var names = operations.map(function (op) { return op.name && op.name.value; });\\n if (prevSelectedOperationName &&\\n names.indexOf(prevSelectedOperationName) !== -1) {\\n return prevSelectedOperationName;\\n }\\n if (prevSelectedOperationName && prevOperations) {\\n var prevNames = prevOperations.map(function (op) { return op.name && op.name.value; });\\n var prevIndex = prevNames.indexOf(prevSelectedOperationName);\\n if (prevIndex !== -1 && prevIndex < names.length) {\\n return names[prevIndex];\\n }\\n }\\n return names[0];\\n}\\n//# sourceMappingURL=getSelectedOperationName.js.map\",\"export var invalidCharacters = Array.from({ length: 11 }, function (_, i) {\\n return String.fromCharCode(0x2000 + i);\\n}).concat(['\\\\u2028', '\\\\u2029', '\\\\u202f', '\\\\u00a0']);\\nvar sanitizeRegex = new RegExp('[' + invalidCharacters.join('') + ']', 'g');\\nexport function normalizeWhitespace(line) {\\n return line.replace(sanitizeRegex, ' ');\\n}\\n//# sourceMappingURL=normalizeWhitespace.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nimport React from 'react';\\nimport MD from 'markdown-it';\\nimport { normalizeWhitespace } from '../utility/normalizeWhitespace';\\nimport onHasCompletion from '../utility/onHasCompletion';\\nimport commonKeys from '../utility/commonKeys';\\nvar md = new MD();\\nvar AUTO_COMPLETE_AFTER_KEY = /^[a-zA-Z0-9_@(]$/;\\nvar QueryEditor = (function (_super) {\\n __extends(QueryEditor, _super);\\n function QueryEditor(props) {\\n var _this = _super.call(this, props) || this;\\n _this.editor = null;\\n _this.ignoreChangeEvent = false;\\n _this._node = null;\\n _this._onKeyUp = function (_cm, event) {\\n if (AUTO_COMPLETE_AFTER_KEY.test(event.key) && _this.editor) {\\n _this.editor.execCommand('autocomplete');\\n }\\n };\\n _this._onEdit = function () {\\n if (!_this.ignoreChangeEvent && _this.editor) {\\n _this.cachedValue = _this.editor.getValue();\\n if (_this.props.onEdit) {\\n _this.props.onEdit(_this.cachedValue);\\n }\\n }\\n };\\n _this._onHasCompletion = function (cm, data) {\\n onHasCompletion(cm, data, _this.props.onHintInformationRender);\\n };\\n _this.cachedValue = props.value || '';\\n return _this;\\n }\\n QueryEditor.prototype.componentDidMount = function () {\\n var _this = this;\\n var _a, _b, _c;\\n var CodeMirror = require('codemirror');\\n require('codemirror/addon/hint/show-hint');\\n require('codemirror/addon/comment/comment');\\n require('codemirror/addon/edit/matchbrackets');\\n require('codemirror/addon/edit/closebrackets');\\n require('codemirror/addon/fold/foldgutter');\\n require('codemirror/addon/fold/brace-fold');\\n require('codemirror/addon/search/search');\\n require('codemirror/addon/search/searchcursor');\\n require('codemirror/addon/search/jump-to-line');\\n require('codemirror/addon/dialog/dialog');\\n require('codemirror/addon/lint/lint');\\n require('codemirror/keymap/sublime');\\n require('codemirror-graphql/hint');\\n require('codemirror-graphql/lint');\\n require('codemirror-graphql/info');\\n require('codemirror-graphql/jump');\\n require('codemirror-graphql/mode');\\n var editor = (this.editor = CodeMirror(this._node, {\\n value: this.props.value || '',\\n lineNumbers: true,\\n tabSize: 2,\\n mode: 'graphql',\\n theme: this.props.editorTheme || 'graphiql',\\n keyMap: 'sublime',\\n autoCloseBrackets: true,\\n matchBrackets: true,\\n showCursorWhenSelecting: true,\\n readOnly: this.props.readOnly ? 'nocursor' : false,\\n foldGutter: {\\n minFoldSize: 4,\\n },\\n lint: {\\n schema: this.props.schema,\\n validationRules: (_a = this.props.validationRules) !== null && _a !== void 0 ? _a : null,\\n externalFragments: (_b = this.props) === null || _b === void 0 ? void 0 : _b.externalFragments,\\n },\\n hintOptions: {\\n schema: this.props.schema,\\n closeOnUnfocus: false,\\n completeSingle: false,\\n container: this._node,\\n externalFragments: (_c = this.props) === null || _c === void 0 ? void 0 : _c.externalFragments,\\n },\\n info: {\\n schema: this.props.schema,\\n renderDescription: function (text) { return md.render(text); },\\n onClick: function (reference) {\\n return _this.props.onClickReference && _this.props.onClickReference(reference);\\n },\\n },\\n jump: {\\n schema: this.props.schema,\\n onClick: function (reference) {\\n return _this.props.onClickReference && _this.props.onClickReference(reference);\\n },\\n },\\n gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\\n extraKeys: __assign(__assign({ 'Cmd-Space': function () {\\n return editor.showHint({ completeSingle: true, container: _this._node });\\n }, 'Ctrl-Space': function () {\\n return editor.showHint({ completeSingle: true, container: _this._node });\\n }, 'Alt-Space': function () {\\n return editor.showHint({ completeSingle: true, container: _this._node });\\n }, 'Shift-Space': function () {\\n return editor.showHint({ completeSingle: true, container: _this._node });\\n }, 'Shift-Alt-Space': function () {\\n return editor.showHint({ completeSingle: true, container: _this._node });\\n }, 'Cmd-Enter': function () {\\n if (_this.props.onRunQuery) {\\n _this.props.onRunQuery();\\n }\\n }, 'Ctrl-Enter': function () {\\n if (_this.props.onRunQuery) {\\n _this.props.onRunQuery();\\n }\\n }, 'Shift-Ctrl-C': function () {\\n if (_this.props.onCopyQuery) {\\n _this.props.onCopyQuery();\\n }\\n }, 'Shift-Ctrl-P': function () {\\n if (_this.props.onPrettifyQuery) {\\n _this.props.onPrettifyQuery();\\n }\\n }, 'Shift-Ctrl-F': function () {\\n if (_this.props.onPrettifyQuery) {\\n _this.props.onPrettifyQuery();\\n }\\n }, 'Shift-Ctrl-M': function () {\\n if (_this.props.onMergeQuery) {\\n _this.props.onMergeQuery();\\n }\\n } }, commonKeys), { 'Cmd-S': function () {\\n if (_this.props.onRunQuery) {\\n }\\n }, 'Ctrl-S': function () {\\n if (_this.props.onRunQuery) {\\n }\\n } }),\\n }));\\n if (editor) {\\n editor.on('change', this._onEdit);\\n editor.on('keyup', this._onKeyUp);\\n editor.on('hasCompletion', this._onHasCompletion);\\n editor.on('beforeChange', this._onBeforeChange);\\n }\\n };\\n QueryEditor.prototype.componentDidUpdate = function (prevProps) {\\n var CodeMirror = require('codemirror');\\n this.ignoreChangeEvent = true;\\n if (this.props.schema !== prevProps.schema && this.editor) {\\n this.editor.options.lint.schema = this.props.schema;\\n this.editor.options.hintOptions.schema = this.props.schema;\\n this.editor.options.info.schema = this.props.schema;\\n this.editor.options.jump.schema = this.props.schema;\\n CodeMirror.signal(this.editor, 'change', this.editor);\\n }\\n if (this.props.value !== prevProps.value &&\\n this.props.value !== this.cachedValue &&\\n this.editor) {\\n this.cachedValue = this.props.value;\\n this.editor.setValue(this.props.value);\\n }\\n this.ignoreChangeEvent = false;\\n };\\n QueryEditor.prototype.componentWillUnmount = function () {\\n if (this.editor) {\\n this.editor.off('change', this._onEdit);\\n this.editor.off('keyup', this._onKeyUp);\\n this.editor.off('hasCompletion', this._onHasCompletion);\\n this.editor = null;\\n }\\n };\\n QueryEditor.prototype.render = function () {\\n var _this = this;\\n return (React.createElement(\\\"section\\\", { className: \\\"query-editor\\\", \\\"aria-label\\\": \\\"Query Editor\\\", ref: function (node) {\\n _this._node = node;\\n } }));\\n };\\n QueryEditor.prototype.getCodeMirror = function () {\\n return this.editor;\\n };\\n QueryEditor.prototype.getClientHeight = function () {\\n return this._node && this._node.clientHeight;\\n };\\n QueryEditor.prototype._onBeforeChange = function (_instance, change) {\\n if (change.origin === 'paste') {\\n var text = change.text.map(normalizeWhitespace);\\n change.update(change.from, change.to, text);\\n }\\n };\\n return QueryEditor;\\n}(React.Component));\\nexport { QueryEditor };\\n//# sourceMappingURL=QueryEditor.js.map\",\"'use strict';\\n\\nfunction checkDCE() {\\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\\n if (\\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\\n ) {\\n return;\\n }\\n if (process.env.NODE_ENV !== 'production') {\\n // This branch is unreachable because this function is only called\\n // in production, but the condition is true only in development.\\n // Therefore if the branch is still here, dead code elimination wasn't\\n // properly applied.\\n // Don't change the message. React DevTools relies on it. Also make sure\\n // this message doesn't occur elsewhere in this function, or it will cause\\n // a false positive.\\n throw new Error('^_^');\\n }\\n try {\\n // Verify that the code above has been dead code eliminated (DCE'd).\\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\\n } catch (err) {\\n // DevTools shouldn't crash React, no matter what.\\n // We should still report in case we break this code.\\n console.error(err);\\n }\\n}\\n\\nif (process.env.NODE_ENV === 'production') {\\n // DCE check should happen before ReactDOM bundle executes so that\\n // DevTools can report bad minification during injection.\\n checkDCE();\\n module.exports = require('./cjs/react-dom.production.min.js');\\n} else {\\n module.exports = require('./cjs/react-dom.development.js');\\n}\\n\",\"// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\\nexport default nodejsCustomInspectSymbol;\\n\",\"/**\\n * Represents a location in a Source.\\n */\\n\\n/**\\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\\n * line and column as a SourceLocation.\\n */\\nexport function getLocation(source, position) {\\n var lineRegexp = /\\\\r\\\\n|[\\\\n\\\\r]/g;\\n var line = 1;\\n var column = position + 1;\\n var match;\\n\\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\\n line += 1;\\n column = position + 1 - (match.index + match[0].length);\\n }\\n\\n return {\\n line: line,\\n column: column\\n };\\n}\\n\",\"import { getIntrospectionQuery } from 'graphql';\\nexport var introspectionQuery = getIntrospectionQuery();\\nexport var staticName = 'IntrospectionQuery';\\nexport var introspectionQueryName = staticName;\\nexport var introspectionQuerySansSubscriptions = introspectionQuery.replace('subscriptionType { name }', '');\\n//# sourceMappingURL=introspectionQueries.js.map\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n// declare global: DOMRect\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n\\n var HINT_ELEMENT_CLASS = \\\"CodeMirror-hint\\\";\\n var ACTIVE_HINT_ELEMENT_CLASS = \\\"CodeMirror-hint-active\\\";\\n\\n // This is the old interface, kept around for now to stay\\n // backwards-compatible.\\n CodeMirror.showHint = function(cm, getHints, options) {\\n if (!getHints) return cm.showHint(options);\\n if (options && options.async) getHints.async = true;\\n var newOpts = {hint: getHints};\\n if (options) for (var prop in options) newOpts[prop] = options[prop];\\n return cm.showHint(newOpts);\\n };\\n\\n CodeMirror.defineExtension(\\\"showHint\\\", function(options) {\\n options = parseOptions(this, this.getCursor(\\\"start\\\"), options);\\n var selections = this.listSelections()\\n if (selections.length > 1) return;\\n // By default, don't allow completion when something is selected.\\n // A hint function can have a `supportsSelection` property to\\n // indicate that it can handle selections.\\n if (this.somethingSelected()) {\\n if (!options.hint.supportsSelection) return;\\n // Don't try with cross-line selections\\n for (var i = 0; i < selections.length; i++)\\n if (selections[i].head.line != selections[i].anchor.line) return;\\n }\\n\\n if (this.state.completionActive) this.state.completionActive.close();\\n var completion = this.state.completionActive = new Completion(this, options);\\n if (!completion.options.hint) return;\\n\\n CodeMirror.signal(this, \\\"startCompletion\\\", this);\\n completion.update(true);\\n });\\n\\n CodeMirror.defineExtension(\\\"closeHint\\\", function() {\\n if (this.state.completionActive) this.state.completionActive.close()\\n })\\n\\n function Completion(cm, options) {\\n this.cm = cm;\\n this.options = options;\\n this.widget = null;\\n this.debounce = 0;\\n this.tick = 0;\\n this.startPos = this.cm.getCursor(\\\"start\\\");\\n this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\\n\\n if (this.options.updateOnCursorActivity) {\\n var self = this;\\n cm.on(\\\"cursorActivity\\\", this.activityFunc = function() { self.cursorActivity(); });\\n }\\n }\\n\\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\\n return setTimeout(fn, 1000/60);\\n };\\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\\n\\n Completion.prototype = {\\n close: function() {\\n if (!this.active()) return;\\n this.cm.state.completionActive = null;\\n this.tick = null;\\n if (this.options.updateOnCursorActivity) {\\n this.cm.off(\\\"cursorActivity\\\", this.activityFunc);\\n }\\n\\n if (this.widget && this.data) CodeMirror.signal(this.data, \\\"close\\\");\\n if (this.widget) this.widget.close();\\n CodeMirror.signal(this.cm, \\\"endCompletion\\\", this.cm);\\n },\\n\\n active: function() {\\n return this.cm.state.completionActive == this;\\n },\\n\\n pick: function(data, i) {\\n var completion = data.list[i], self = this;\\n this.cm.operation(function() {\\n if (completion.hint)\\n completion.hint(self.cm, data, completion);\\n else\\n self.cm.replaceRange(getText(completion), completion.from || data.from,\\n completion.to || data.to, \\\"complete\\\");\\n CodeMirror.signal(data, \\\"pick\\\", completion);\\n self.cm.scrollIntoView();\\n });\\n if (this.options.closeOnPick) {\\n this.close();\\n }\\n },\\n\\n cursorActivity: function() {\\n if (this.debounce) {\\n cancelAnimationFrame(this.debounce);\\n this.debounce = 0;\\n }\\n\\n var identStart = this.startPos;\\n if(this.data) {\\n identStart = this.data.from;\\n }\\n\\n var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);\\n if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||\\n pos.ch < identStart.ch || this.cm.somethingSelected() ||\\n (!pos.ch || this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {\\n this.close();\\n } else {\\n var self = this;\\n this.debounce = requestAnimationFrame(function() {self.update();});\\n if (this.widget) this.widget.disable();\\n }\\n },\\n\\n update: function(first) {\\n if (this.tick == null) return\\n var self = this, myTick = ++this.tick\\n fetchHints(this.options.hint, this.cm, this.options, function(data) {\\n if (self.tick == myTick) self.finishUpdate(data, first)\\n })\\n },\\n\\n finishUpdate: function(data, first) {\\n if (this.data) CodeMirror.signal(this.data, \\\"update\\\");\\n\\n var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);\\n if (this.widget) this.widget.close();\\n\\n this.data = data;\\n\\n if (data && data.list.length) {\\n if (picked && data.list.length == 1) {\\n this.pick(data, 0);\\n } else {\\n this.widget = new Widget(this, data);\\n CodeMirror.signal(data, \\\"shown\\\");\\n }\\n }\\n }\\n };\\n\\n function parseOptions(cm, pos, options) {\\n var editor = cm.options.hintOptions;\\n var out = {};\\n for (var prop in defaultOptions) out[prop] = defaultOptions[prop];\\n if (editor) for (var prop in editor)\\n if (editor[prop] !== undefined) out[prop] = editor[prop];\\n if (options) for (var prop in options)\\n if (options[prop] !== undefined) out[prop] = options[prop];\\n if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)\\n return out;\\n }\\n\\n function getText(completion) {\\n if (typeof completion == \\\"string\\\") return completion;\\n else return completion.text;\\n }\\n\\n function buildKeyMap(completion, handle) {\\n var baseMap = {\\n Up: function() {handle.moveFocus(-1);},\\n Down: function() {handle.moveFocus(1);},\\n PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},\\n PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},\\n Home: function() {handle.setFocus(0);},\\n End: function() {handle.setFocus(handle.length - 1);},\\n Enter: handle.pick,\\n Tab: handle.pick,\\n Esc: handle.close\\n };\\n\\n var mac = /Mac/.test(navigator.platform);\\n\\n if (mac) {\\n baseMap[\\\"Ctrl-P\\\"] = function() {handle.moveFocus(-1);};\\n baseMap[\\\"Ctrl-N\\\"] = function() {handle.moveFocus(1);};\\n }\\n\\n var custom = completion.options.customKeys;\\n var ourMap = custom ? {} : baseMap;\\n function addBinding(key, val) {\\n var bound;\\n if (typeof val != \\\"string\\\")\\n bound = function(cm) { return val(cm, handle); };\\n // This mechanism is deprecated\\n else if (baseMap.hasOwnProperty(val))\\n bound = baseMap[val];\\n else\\n bound = val;\\n ourMap[key] = bound;\\n }\\n if (custom)\\n for (var key in custom) if (custom.hasOwnProperty(key))\\n addBinding(key, custom[key]);\\n var extra = completion.options.extraKeys;\\n if (extra)\\n for (var key in extra) if (extra.hasOwnProperty(key))\\n addBinding(key, extra[key]);\\n return ourMap;\\n }\\n\\n function getHintElement(hintsElement, el) {\\n while (el && el != hintsElement) {\\n if (el.nodeName.toUpperCase() === \\\"LI\\\" && el.parentNode == hintsElement) return el;\\n el = el.parentNode;\\n }\\n }\\n\\n function Widget(completion, data) {\\n this.completion = completion;\\n this.data = data;\\n this.picked = false;\\n var widget = this, cm = completion.cm;\\n var ownerDocument = cm.getInputField().ownerDocument;\\n var parentWindow = ownerDocument.defaultView || ownerDocument.parentWindow;\\n\\n var hints = this.hints = ownerDocument.createElement(\\\"ul\\\");\\n var theme = completion.cm.options.theme;\\n hints.className = \\\"CodeMirror-hints \\\" + theme;\\n this.selectedHint = data.selectedHint || 0;\\n\\n var completions = data.list;\\n for (var i = 0; i < completions.length; ++i) {\\n var elt = hints.appendChild(ownerDocument.createElement(\\\"li\\\")), cur = completions[i];\\n var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? \\\"\\\" : \\\" \\\" + ACTIVE_HINT_ELEMENT_CLASS);\\n if (cur.className != null) className = cur.className + \\\" \\\" + className;\\n elt.className = className;\\n if (cur.render) cur.render(elt, data, cur);\\n else elt.appendChild(ownerDocument.createTextNode(cur.displayText || getText(cur)));\\n elt.hintId = i;\\n }\\n\\n var container = completion.options.container || ownerDocument.body;\\n var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);\\n var left = pos.left, top = pos.bottom, below = true;\\n var offsetLeft = 0, offsetTop = 0;\\n if (container !== ownerDocument.body) {\\n // We offset the cursor position because left and top are relative to the offsetParent's top left corner.\\n var isContainerPositioned = ['absolute', 'relative', 'fixed'].indexOf(parentWindow.getComputedStyle(container).position) !== -1;\\n var offsetParent = isContainerPositioned ? container : container.offsetParent;\\n var offsetParentPosition = offsetParent.getBoundingClientRect();\\n var bodyPosition = ownerDocument.body.getBoundingClientRect();\\n offsetLeft = (offsetParentPosition.left - bodyPosition.left - offsetParent.scrollLeft);\\n offsetTop = (offsetParentPosition.top - bodyPosition.top - offsetParent.scrollTop);\\n }\\n hints.style.left = (left - offsetLeft) + \\\"px\\\";\\n hints.style.top = (top - offsetTop) + \\\"px\\\";\\n\\n // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.\\n var winW = parentWindow.innerWidth || Math.max(ownerDocument.body.offsetWidth, ownerDocument.documentElement.offsetWidth);\\n var winH = parentWindow.innerHeight || Math.max(ownerDocument.body.offsetHeight, ownerDocument.documentElement.offsetHeight);\\n container.appendChild(hints);\\n\\n var box = completion.options.moveOnOverlap ? hints.getBoundingClientRect() : new DOMRect();\\n var scrolls = completion.options.paddingForScrollbar ? hints.scrollHeight > hints.clientHeight + 1 : false;\\n\\n // Compute in the timeout to avoid reflow on init\\n var startScroll;\\n setTimeout(function() { startScroll = cm.getScrollInfo(); });\\n\\n var overlapY = box.bottom - winH;\\n if (overlapY > 0) {\\n var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);\\n if (curTop - height > 0) { // Fits above cursor\\n hints.style.top = (top = pos.top - height - offsetTop) + \\\"px\\\";\\n below = false;\\n } else if (height > winH) {\\n hints.style.height = (winH - 5) + \\\"px\\\";\\n hints.style.top = (top = pos.bottom - box.top - offsetTop) + \\\"px\\\";\\n var cursor = cm.getCursor();\\n if (data.from.ch != cursor.ch) {\\n pos = cm.cursorCoords(cursor);\\n hints.style.left = (left = pos.left - offsetLeft) + \\\"px\\\";\\n box = hints.getBoundingClientRect();\\n }\\n }\\n }\\n var overlapX = box.right - winW;\\n if (overlapX > 0) {\\n if (box.right - box.left > winW) {\\n hints.style.width = (winW - 5) + \\\"px\\\";\\n overlapX -= (box.right - box.left) - winW;\\n }\\n hints.style.left = (left = pos.left - overlapX - offsetLeft) + \\\"px\\\";\\n }\\n if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)\\n node.style.paddingRight = cm.display.nativeBarWidth + \\\"px\\\"\\n\\n cm.addKeyMap(this.keyMap = buildKeyMap(completion, {\\n moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },\\n setFocus: function(n) { widget.changeActive(n); },\\n menuSize: function() { return widget.screenAmount(); },\\n length: completions.length,\\n close: function() { completion.close(); },\\n pick: function() { widget.pick(); },\\n data: data\\n }));\\n\\n if (completion.options.closeOnUnfocus) {\\n var closingOnBlur;\\n cm.on(\\\"blur\\\", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });\\n cm.on(\\\"focus\\\", this.onFocus = function() { clearTimeout(closingOnBlur); });\\n }\\n\\n cm.on(\\\"scroll\\\", this.onScroll = function() {\\n var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();\\n var newTop = top + startScroll.top - curScroll.top;\\n var point = newTop - (parentWindow.pageYOffset || (ownerDocument.documentElement || ownerDocument.body).scrollTop);\\n if (!below) point += hints.offsetHeight;\\n if (point <= editor.top || point >= editor.bottom) return completion.close();\\n hints.style.top = newTop + \\\"px\\\";\\n hints.style.left = (left + startScroll.left - curScroll.left) + \\\"px\\\";\\n });\\n\\n CodeMirror.on(hints, \\\"dblclick\\\", function(e) {\\n var t = getHintElement(hints, e.target || e.srcElement);\\n if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}\\n });\\n\\n CodeMirror.on(hints, \\\"click\\\", function(e) {\\n var t = getHintElement(hints, e.target || e.srcElement);\\n if (t && t.hintId != null) {\\n widget.changeActive(t.hintId);\\n if (completion.options.completeOnSingleClick) widget.pick();\\n }\\n });\\n\\n CodeMirror.on(hints, \\\"mousedown\\\", function() {\\n setTimeout(function(){cm.focus();}, 20);\\n });\\n\\n // The first hint doesn't need to be scrolled to on init\\n var selectedHintRange = this.getSelectedHintRange();\\n if (selectedHintRange.from !== 0 || selectedHintRange.to !== 0) {\\n this.scrollToActive();\\n }\\n\\n CodeMirror.signal(data, \\\"select\\\", completions[this.selectedHint], hints.childNodes[this.selectedHint]);\\n return true;\\n }\\n\\n Widget.prototype = {\\n close: function() {\\n if (this.completion.widget != this) return;\\n this.completion.widget = null;\\n this.hints.parentNode.removeChild(this.hints);\\n this.completion.cm.removeKeyMap(this.keyMap);\\n\\n var cm = this.completion.cm;\\n if (this.completion.options.closeOnUnfocus) {\\n cm.off(\\\"blur\\\", this.onBlur);\\n cm.off(\\\"focus\\\", this.onFocus);\\n }\\n cm.off(\\\"scroll\\\", this.onScroll);\\n },\\n\\n disable: function() {\\n this.completion.cm.removeKeyMap(this.keyMap);\\n var widget = this;\\n this.keyMap = {Enter: function() { widget.picked = true; }};\\n this.completion.cm.addKeyMap(this.keyMap);\\n },\\n\\n pick: function() {\\n this.completion.pick(this.data, this.selectedHint);\\n },\\n\\n changeActive: function(i, avoidWrap) {\\n if (i >= this.data.list.length)\\n i = avoidWrap ? this.data.list.length - 1 : 0;\\n else if (i < 0)\\n i = avoidWrap ? 0 : this.data.list.length - 1;\\n if (this.selectedHint == i) return;\\n var node = this.hints.childNodes[this.selectedHint];\\n if (node) node.className = node.className.replace(\\\" \\\" + ACTIVE_HINT_ELEMENT_CLASS, \\\"\\\");\\n node = this.hints.childNodes[this.selectedHint = i];\\n node.className += \\\" \\\" + ACTIVE_HINT_ELEMENT_CLASS;\\n this.scrollToActive()\\n CodeMirror.signal(this.data, \\\"select\\\", this.data.list[this.selectedHint], node);\\n },\\n\\n scrollToActive: function() {\\n var selectedHintRange = this.getSelectedHintRange();\\n var node1 = this.hints.childNodes[selectedHintRange.from];\\n var node2 = this.hints.childNodes[selectedHintRange.to];\\n var firstNode = this.hints.firstChild;\\n if (node1.offsetTop < this.hints.scrollTop)\\n this.hints.scrollTop = node1.offsetTop - firstNode.offsetTop;\\n else if (node2.offsetTop + node2.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)\\n this.hints.scrollTop = node2.offsetTop + node2.offsetHeight - this.hints.clientHeight + firstNode.offsetTop;\\n },\\n\\n screenAmount: function() {\\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;\\n },\\n\\n getSelectedHintRange: function() {\\n var margin = this.completion.options.scrollMargin || 0;\\n return {\\n from: Math.max(0, this.selectedHint - margin),\\n to: Math.min(this.data.list.length - 1, this.selectedHint + margin),\\n };\\n }\\n };\\n\\n function applicableHelpers(cm, helpers) {\\n if (!cm.somethingSelected()) return helpers\\n var result = []\\n for (var i = 0; i < helpers.length; i++)\\n if (helpers[i].supportsSelection) result.push(helpers[i])\\n return result\\n }\\n\\n function fetchHints(hint, cm, options, callback) {\\n if (hint.async) {\\n hint(cm, callback, options)\\n } else {\\n var result = hint(cm, options)\\n if (result && result.then) result.then(callback)\\n else callback(result)\\n }\\n }\\n\\n function resolveAutoHints(cm, pos) {\\n var helpers = cm.getHelpers(pos, \\\"hint\\\"), words\\n if (helpers.length) {\\n var resolved = function(cm, callback, options) {\\n var app = applicableHelpers(cm, helpers);\\n function run(i) {\\n if (i == app.length) return callback(null)\\n fetchHints(app[i], cm, options, function(result) {\\n if (result && result.list.length > 0) callback(result)\\n else run(i + 1)\\n })\\n }\\n run(0)\\n }\\n resolved.async = true\\n resolved.supportsSelection = true\\n return resolved\\n } else if (words = cm.getHelper(cm.getCursor(), \\\"hintWords\\\")) {\\n return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }\\n } else if (CodeMirror.hint.anyword) {\\n return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }\\n } else {\\n return function() {}\\n }\\n }\\n\\n CodeMirror.registerHelper(\\\"hint\\\", \\\"auto\\\", {\\n resolve: resolveAutoHints\\n });\\n\\n CodeMirror.registerHelper(\\\"hint\\\", \\\"fromList\\\", function(cm, options) {\\n var cur = cm.getCursor(), token = cm.getTokenAt(cur)\\n var term, from = CodeMirror.Pos(cur.line, token.start), to = cur\\n if (token.start < cur.ch && /\\\\w/.test(token.string.charAt(cur.ch - token.start - 1))) {\\n term = token.string.substr(0, cur.ch - token.start)\\n } else {\\n term = \\\"\\\"\\n from = cur\\n }\\n var found = [];\\n for (var i = 0; i < options.words.length; i++) {\\n var word = options.words[i];\\n if (word.slice(0, term.length) == term)\\n found.push(word);\\n }\\n\\n if (found.length) return {list: found, from: from, to: to};\\n });\\n\\n CodeMirror.commands.autocomplete = CodeMirror.showHint;\\n\\n var defaultOptions = {\\n hint: CodeMirror.hint.auto,\\n completeSingle: true,\\n alignWithWord: true,\\n closeCharacters: /[\\\\s()\\\\[\\\\]{};:>,]/,\\n closeOnPick: true,\\n closeOnUnfocus: true,\\n updateOnCursorActivity: true,\\n completeOnSingleClick: true,\\n container: null,\\n customKeys: null,\\n extraKeys: null,\\n paddingForScrollbar: true,\\n moveOnOverlap: true,\\n };\\n\\n CodeMirror.defineOption(\\\"hintOptions\\\", null);\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n var ie_lt8 = /MSIE \\\\d/.test(navigator.userAgent) &&\\n (document.documentMode == null || document.documentMode < 8);\\n\\n var Pos = CodeMirror.Pos;\\n\\n var matching = {\\\"(\\\": \\\")>\\\", \\\")\\\": \\\"(<\\\", \\\"[\\\": \\\"]>\\\", \\\"]\\\": \\\"[<\\\", \\\"{\\\": \\\"}>\\\", \\\"}\\\": \\\"{<\\\", \\\"<\\\": \\\">>\\\", \\\">\\\": \\\"<<\\\"};\\n\\n function bracketRegex(config) {\\n return config && config.bracketRegex || /[(){}[\\\\]]/\\n }\\n\\n function findMatchingBracket(cm, where, config) {\\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\\n var afterCursor = config && config.afterCursor\\n if (afterCursor == null)\\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\\n var re = bracketRegex(config)\\n\\n // A cursor is defined as between two characters, but in in vim command mode\\n // (i.e. not insert mode), the cursor is visually represented as a\\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\\n // from before or after the cursor.\\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\\n if (!match) return null;\\n var dir = match.charAt(1) == \\\">\\\" ? 1 : -1;\\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\\n\\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\\n if (found == null) return null;\\n return {from: Pos(where.line, pos), to: found && found.pos,\\n match: found && found.ch == match.charAt(0), forward: dir > 0};\\n }\\n\\n // bracketRegex is used to specify which type of bracket to scan\\n // should be a regexp, e.g. /[[\\\\]]/\\n //\\n // Note: If \\\"where\\\" is on an open bracket, then this bracket is ignored.\\n //\\n // Returns false when no bracket was found, null when it reached\\n // maxScanLines and gave up\\n function scanForBracket(cm, where, dir, style, config) {\\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\\n var maxScanLines = (config && config.maxScanLines) || 1000;\\n\\n var stack = [];\\n var re = bracketRegex(config)\\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\\n var line = cm.getLine(lineNo);\\n if (!line) continue;\\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\\n if (line.length > maxScanLen) continue;\\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\\n for (; pos != end; pos += dir) {\\n var ch = line.charAt(pos);\\n if (re.test(ch) && (style === undefined ||\\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \\\"\\\") == (style || \\\"\\\"))) {\\n var match = matching[ch];\\n if (match && (match.charAt(1) == \\\">\\\") == (dir > 0)) stack.push(ch);\\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\\n else stack.pop();\\n }\\n }\\n }\\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\\n }\\n\\n function matchBrackets(cm, autoclear, config) {\\n // Disable brace matching in long lines, since it'll cause hugely slow updates\\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\\n highlightNonMatching = config && config.highlightNonMatching;\\n var marks = [], ranges = cm.listSelections();\\n for (var i = 0; i < ranges.length; i++) {\\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\\n var style = match.match ? \\\"CodeMirror-matchingbracket\\\" : \\\"CodeMirror-nonmatchingbracket\\\";\\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\\n }\\n }\\n\\n if (marks.length) {\\n // Kludge to work around the IE bug from issue #1193, where text\\n // input stops going to the textarea whenever this fires.\\n if (ie_lt8 && cm.state.focused) cm.focus();\\n\\n var clear = function() {\\n cm.operation(function() {\\n for (var i = 0; i < marks.length; i++) marks[i].clear();\\n });\\n };\\n if (autoclear) setTimeout(clear, 800);\\n else return clear;\\n }\\n }\\n\\n function doMatchBrackets(cm) {\\n cm.operation(function() {\\n if (cm.state.matchBrackets.currentlyHighlighted) {\\n cm.state.matchBrackets.currentlyHighlighted();\\n cm.state.matchBrackets.currentlyHighlighted = null;\\n }\\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\\n });\\n }\\n\\n function clearHighlighted(cm) {\\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\\n cm.state.matchBrackets.currentlyHighlighted();\\n cm.state.matchBrackets.currentlyHighlighted = null;\\n }\\n }\\n\\n CodeMirror.defineOption(\\\"matchBrackets\\\", false, function(cm, val, old) {\\n if (old && old != CodeMirror.Init) {\\n cm.off(\\\"cursorActivity\\\", doMatchBrackets);\\n cm.off(\\\"focus\\\", doMatchBrackets)\\n cm.off(\\\"blur\\\", clearHighlighted)\\n clearHighlighted(cm);\\n }\\n if (val) {\\n cm.state.matchBrackets = typeof val == \\\"object\\\" ? val : {};\\n cm.on(\\\"cursorActivity\\\", doMatchBrackets);\\n cm.on(\\\"focus\\\", doMatchBrackets)\\n cm.on(\\\"blur\\\", clearHighlighted)\\n }\\n });\\n\\n CodeMirror.defineExtension(\\\"matchBrackets\\\", function() {matchBrackets(this, true);});\\n CodeMirror.defineExtension(\\\"findMatchingBracket\\\", function(pos, config, oldConfig){\\n // Backwards-compatibility kludge\\n if (oldConfig || typeof config == \\\"boolean\\\") {\\n if (!oldConfig) {\\n config = config ? {strict: true} : null\\n } else {\\n oldConfig.strict = config\\n config = oldConfig\\n }\\n }\\n return findMatchingBracket(this, pos, config)\\n });\\n CodeMirror.defineExtension(\\\"scanForBracket\\\", function(pos, dir, style, config){\\n return scanForBracket(this, pos, dir, style, config);\\n });\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"), require(\\\"./foldcode\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\", \\\"./foldcode\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n\\n CodeMirror.defineOption(\\\"foldGutter\\\", false, function(cm, val, old) {\\n if (old && old != CodeMirror.Init) {\\n cm.clearGutter(cm.state.foldGutter.options.gutter);\\n cm.state.foldGutter = null;\\n cm.off(\\\"gutterClick\\\", onGutterClick);\\n cm.off(\\\"changes\\\", onChange);\\n cm.off(\\\"viewportChange\\\", onViewportChange);\\n cm.off(\\\"fold\\\", onFold);\\n cm.off(\\\"unfold\\\", onFold);\\n cm.off(\\\"swapDoc\\\", onChange);\\n }\\n if (val) {\\n cm.state.foldGutter = new State(parseOptions(val));\\n updateInViewport(cm);\\n cm.on(\\\"gutterClick\\\", onGutterClick);\\n cm.on(\\\"changes\\\", onChange);\\n cm.on(\\\"viewportChange\\\", onViewportChange);\\n cm.on(\\\"fold\\\", onFold);\\n cm.on(\\\"unfold\\\", onFold);\\n cm.on(\\\"swapDoc\\\", onChange);\\n }\\n });\\n\\n var Pos = CodeMirror.Pos;\\n\\n function State(options) {\\n this.options = options;\\n this.from = this.to = 0;\\n }\\n\\n function parseOptions(opts) {\\n if (opts === true) opts = {};\\n if (opts.gutter == null) opts.gutter = \\\"CodeMirror-foldgutter\\\";\\n if (opts.indicatorOpen == null) opts.indicatorOpen = \\\"CodeMirror-foldgutter-open\\\";\\n if (opts.indicatorFolded == null) opts.indicatorFolded = \\\"CodeMirror-foldgutter-folded\\\";\\n return opts;\\n }\\n\\n function isFolded(cm, line) {\\n var marks = cm.findMarks(Pos(line, 0), Pos(line + 1, 0));\\n for (var i = 0; i < marks.length; ++i) {\\n if (marks[i].__isFold) {\\n var fromPos = marks[i].find(-1);\\n if (fromPos && fromPos.line === line)\\n return marks[i];\\n }\\n }\\n }\\n\\n function marker(spec) {\\n if (typeof spec == \\\"string\\\") {\\n var elt = document.createElement(\\\"div\\\");\\n elt.className = spec + \\\" CodeMirror-guttermarker-subtle\\\";\\n return elt;\\n } else {\\n return spec.cloneNode(true);\\n }\\n }\\n\\n function updateFoldInfo(cm, from, to) {\\n var opts = cm.state.foldGutter.options, cur = from - 1;\\n var minSize = cm.foldOption(opts, \\\"minFoldSize\\\");\\n var func = cm.foldOption(opts, \\\"rangeFinder\\\");\\n // we can reuse the built-in indicator element if its className matches the new state\\n var clsFolded = typeof opts.indicatorFolded == \\\"string\\\" && classTest(opts.indicatorFolded);\\n var clsOpen = typeof opts.indicatorOpen == \\\"string\\\" && classTest(opts.indicatorOpen);\\n cm.eachLine(from, to, function(line) {\\n ++cur;\\n var mark = null;\\n var old = line.gutterMarkers;\\n if (old) old = old[opts.gutter];\\n if (isFolded(cm, cur)) {\\n if (clsFolded && old && clsFolded.test(old.className)) return;\\n mark = marker(opts.indicatorFolded);\\n } else {\\n var pos = Pos(cur, 0);\\n var range = func && func(cm, pos);\\n if (range && range.to.line - range.from.line >= minSize) {\\n if (clsOpen && old && clsOpen.test(old.className)) return;\\n mark = marker(opts.indicatorOpen);\\n }\\n }\\n if (!mark && !old) return;\\n cm.setGutterMarker(line, opts.gutter, mark);\\n });\\n }\\n\\n // copied from CodeMirror/src/util/dom.js\\n function classTest(cls) { return new RegExp(\\\"(^|\\\\\\\\s)\\\" + cls + \\\"(?:$|\\\\\\\\s)\\\\\\\\s*\\\") }\\n\\n function updateInViewport(cm) {\\n var vp = cm.getViewport(), state = cm.state.foldGutter;\\n if (!state) return;\\n cm.operation(function() {\\n updateFoldInfo(cm, vp.from, vp.to);\\n });\\n state.from = vp.from; state.to = vp.to;\\n }\\n\\n function onGutterClick(cm, line, gutter) {\\n var state = cm.state.foldGutter;\\n if (!state) return;\\n var opts = state.options;\\n if (gutter != opts.gutter) return;\\n var folded = isFolded(cm, line);\\n if (folded) folded.clear();\\n else cm.foldCode(Pos(line, 0), opts);\\n }\\n\\n function onChange(cm) {\\n var state = cm.state.foldGutter;\\n if (!state) return;\\n var opts = state.options;\\n state.from = state.to = 0;\\n clearTimeout(state.changeUpdate);\\n state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600);\\n }\\n\\n function onViewportChange(cm) {\\n var state = cm.state.foldGutter;\\n if (!state) return;\\n var opts = state.options;\\n clearTimeout(state.changeUpdate);\\n state.changeUpdate = setTimeout(function() {\\n var vp = cm.getViewport();\\n if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) {\\n updateInViewport(cm);\\n } else {\\n cm.operation(function() {\\n if (vp.from < state.from) {\\n updateFoldInfo(cm, vp.from, state.from);\\n state.from = vp.from;\\n }\\n if (vp.to > state.to) {\\n updateFoldInfo(cm, state.to, vp.to);\\n state.to = vp.to;\\n }\\n });\\n }\\n }, opts.updateViewportTimeSpan || 400);\\n }\\n\\n function onFold(cm, from) {\\n var state = cm.state.foldGutter;\\n if (!state) return;\\n var line = from.line;\\n if (line >= state.from && line < state.to)\\n updateFoldInfo(cm, line, line + 1);\\n }\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n\\\"use strict\\\";\\n\\nCodeMirror.registerHelper(\\\"fold\\\", \\\"brace\\\", function(cm, start) {\\n var line = start.line, lineText = cm.getLine(line);\\n var tokenType;\\n\\n function findOpening(openCh) {\\n for (var at = start.ch, pass = 0;;) {\\n var found = at <= 0 ? -1 : lineText.lastIndexOf(openCh, at - 1);\\n if (found == -1) {\\n if (pass == 1) break;\\n pass = 1;\\n at = lineText.length;\\n continue;\\n }\\n if (pass == 1 && found < start.ch) break;\\n tokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\\n if (!/^(comment|string)/.test(tokenType)) return found + 1;\\n at = found - 1;\\n }\\n }\\n\\n var startBrace = findOpening(\\\"{\\\"), startBracket = findOpening(\\\"[\\\")\\n var startToken, endToken, startCh\\n if (startBrace != null && (startBracket == null || startBracket > startBrace)) {\\n startCh = startBrace; startToken = \\\"{\\\"; endToken = \\\"}\\\"\\n } else if (startBracket != null) {\\n startCh = startBracket; startToken = \\\"[\\\"; endToken = \\\"]\\\"\\n } else {\\n return\\n }\\n\\n var count = 1, lastLine = cm.lastLine(), end, endCh;\\n outer: for (var i = line; i <= lastLine; ++i) {\\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\\n for (;;) {\\n var nextOpen = text.indexOf(startToken, pos), nextClose = text.indexOf(endToken, pos);\\n if (nextOpen < 0) nextOpen = text.length;\\n if (nextClose < 0) nextClose = text.length;\\n pos = Math.min(nextOpen, nextClose);\\n if (pos == text.length) break;\\n if (cm.getTokenTypeAt(CodeMirror.Pos(i, pos + 1)) == tokenType) {\\n if (pos == nextOpen) ++count;\\n else if (!--count) { end = i; endCh = pos; break outer; }\\n }\\n ++pos;\\n }\\n }\\n if (end == null || line == end) return;\\n return {from: CodeMirror.Pos(line, startCh),\\n to: CodeMirror.Pos(end, endCh)};\\n});\\n\\nCodeMirror.registerHelper(\\\"fold\\\", \\\"import\\\", function(cm, start) {\\n function hasImport(line) {\\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\\n if (!/\\\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\\n if (start.type != \\\"keyword\\\" || start.string != \\\"import\\\") return null;\\n // Now find closing semicolon, return its position\\n for (var i = line, e = Math.min(cm.lastLine(), line + 10); i <= e; ++i) {\\n var text = cm.getLine(i), semi = text.indexOf(\\\";\\\");\\n if (semi != -1) return {startCh: start.end, end: CodeMirror.Pos(i, semi)};\\n }\\n }\\n\\n var startLine = start.line, has = hasImport(startLine), prev;\\n if (!has || hasImport(startLine - 1) || ((prev = hasImport(startLine - 2)) && prev.end.line == startLine - 1))\\n return null;\\n for (var end = has.end;;) {\\n var next = hasImport(end.line + 1);\\n if (next == null) break;\\n end = next.end;\\n }\\n return {from: cm.clipPos(CodeMirror.Pos(startLine, has.startCh + 1)), to: end};\\n});\\n\\nCodeMirror.registerHelper(\\\"fold\\\", \\\"include\\\", function(cm, start) {\\n function hasInclude(line) {\\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\\n if (!/\\\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\\n if (start.type == \\\"meta\\\" && start.string.slice(0, 8) == \\\"#include\\\") return start.start + 8;\\n }\\n\\n var startLine = start.line, has = hasInclude(startLine);\\n if (has == null || hasInclude(startLine - 1) != null) return null;\\n for (var end = startLine;;) {\\n var next = hasInclude(end + 1);\\n if (next == null) break;\\n ++end;\\n }\\n return {from: CodeMirror.Pos(startLine, has + 1),\\n to: cm.clipPos(CodeMirror.Pos(end))};\\n});\\n\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n// Defines jumpToLine command. Uses dialog.js if present.\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"), require(\\\"../dialog/dialog\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\", \\\"../dialog/dialog\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n\\n // default search panel location\\n CodeMirror.defineOption(\\\"search\\\", {bottom: false});\\n\\n function dialog(cm, text, shortText, deflt, f) {\\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\\n else f(prompt(shortText, deflt));\\n }\\n\\n function getJumpDialog(cm) {\\n return cm.phrase(\\\"Jump to line:\\\") + ' ' + cm.phrase(\\\"(Use line:column or scroll% syntax)\\\") + '';\\n }\\n\\n function interpretLine(cm, string) {\\n var num = Number(string)\\n if (/^[-+]/.test(string)) return cm.getCursor().line + num\\n else return num - 1\\n }\\n\\n CodeMirror.commands.jumpToLine = function(cm) {\\n var cur = cm.getCursor();\\n dialog(cm, getJumpDialog(cm), cm.phrase(\\\"Jump to line:\\\"), (cur.line + 1) + \\\":\\\" + cur.ch, function(posStr) {\\n if (!posStr) return;\\n\\n var match;\\n if (match = /^\\\\s*([\\\\+\\\\-]?\\\\d+)\\\\s*\\\\:\\\\s*(\\\\d+)\\\\s*$/.exec(posStr)) {\\n cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))\\n } else if (match = /^\\\\s*([\\\\+\\\\-]?\\\\d+(\\\\.\\\\d+)?)\\\\%\\\\s*/.exec(posStr)) {\\n var line = Math.round(cm.lineCount() * Number(match[1]) / 100);\\n if (/^[-+]/.test(match[1])) line = cur.line + line + 1;\\n cm.setCursor(line - 1, cur.ch);\\n } else if (match = /^\\\\s*\\\\:?\\\\s*([\\\\+\\\\-]?\\\\d+)\\\\s*/.exec(posStr)) {\\n cm.setCursor(interpretLine(cm, match[1]), cur.ch);\\n }\\n });\\n };\\n\\n CodeMirror.keyMap[\\\"default\\\"][\\\"Alt-G\\\"] = \\\"jumpToLine\\\";\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n// A rough approximation of Sublime Text's keybindings\\n// Depends on addon/search/searchcursor.js and optionally addon/dialog/dialogs.js\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../lib/codemirror\\\"), require(\\\"../addon/search/searchcursor\\\"), require(\\\"../addon/edit/matchbrackets\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../lib/codemirror\\\", \\\"../addon/search/searchcursor\\\", \\\"../addon/edit/matchbrackets\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n\\n var cmds = CodeMirror.commands;\\n var Pos = CodeMirror.Pos;\\n\\n // This is not exactly Sublime's algorithm. I couldn't make heads or tails of that.\\n function findPosSubword(doc, start, dir) {\\n if (dir < 0 && start.ch == 0) return doc.clipPos(Pos(start.line - 1));\\n var line = doc.getLine(start.line);\\n if (dir > 0 && start.ch >= line.length) return doc.clipPos(Pos(start.line + 1, 0));\\n var state = \\\"start\\\", type, startPos = start.ch;\\n for (var pos = startPos, e = dir < 0 ? 0 : line.length, i = 0; pos != e; pos += dir, i++) {\\n var next = line.charAt(dir < 0 ? pos - 1 : pos);\\n var cat = next != \\\"_\\\" && CodeMirror.isWordChar(next) ? \\\"w\\\" : \\\"o\\\";\\n if (cat == \\\"w\\\" && next.toUpperCase() == next) cat = \\\"W\\\";\\n if (state == \\\"start\\\") {\\n if (cat != \\\"o\\\") { state = \\\"in\\\"; type = cat; }\\n else startPos = pos + dir\\n } else if (state == \\\"in\\\") {\\n if (type != cat) {\\n if (type == \\\"w\\\" && cat == \\\"W\\\" && dir < 0) pos--;\\n if (type == \\\"W\\\" && cat == \\\"w\\\" && dir > 0) { // From uppercase to lowercase\\n if (pos == startPos + 1) { type = \\\"w\\\"; continue; }\\n else pos--;\\n }\\n break;\\n }\\n }\\n }\\n return Pos(start.line, pos);\\n }\\n\\n function moveSubword(cm, dir) {\\n cm.extendSelectionsBy(function(range) {\\n if (cm.display.shift || cm.doc.extend || range.empty())\\n return findPosSubword(cm.doc, range.head, dir);\\n else\\n return dir < 0 ? range.from() : range.to();\\n });\\n }\\n\\n cmds.goSubwordLeft = function(cm) { moveSubword(cm, -1); };\\n cmds.goSubwordRight = function(cm) { moveSubword(cm, 1); };\\n\\n cmds.scrollLineUp = function(cm) {\\n var info = cm.getScrollInfo();\\n if (!cm.somethingSelected()) {\\n var visibleBottomLine = cm.lineAtHeight(info.top + info.clientHeight, \\\"local\\\");\\n if (cm.getCursor().line >= visibleBottomLine)\\n cm.execCommand(\\\"goLineUp\\\");\\n }\\n cm.scrollTo(null, info.top - cm.defaultTextHeight());\\n };\\n cmds.scrollLineDown = function(cm) {\\n var info = cm.getScrollInfo();\\n if (!cm.somethingSelected()) {\\n var visibleTopLine = cm.lineAtHeight(info.top, \\\"local\\\")+1;\\n if (cm.getCursor().line <= visibleTopLine)\\n cm.execCommand(\\\"goLineDown\\\");\\n }\\n cm.scrollTo(null, info.top + cm.defaultTextHeight());\\n };\\n\\n cmds.splitSelectionByLine = function(cm) {\\n var ranges = cm.listSelections(), lineRanges = [];\\n for (var i = 0; i < ranges.length; i++) {\\n var from = ranges[i].from(), to = ranges[i].to();\\n for (var line = from.line; line <= to.line; ++line)\\n if (!(to.line > from.line && line == to.line && to.ch == 0))\\n lineRanges.push({anchor: line == from.line ? from : Pos(line, 0),\\n head: line == to.line ? to : Pos(line)});\\n }\\n cm.setSelections(lineRanges, 0);\\n };\\n\\n cmds.singleSelectionTop = function(cm) {\\n var range = cm.listSelections()[0];\\n cm.setSelection(range.anchor, range.head, {scroll: false});\\n };\\n\\n cmds.selectLine = function(cm) {\\n var ranges = cm.listSelections(), extended = [];\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i];\\n extended.push({anchor: Pos(range.from().line, 0),\\n head: Pos(range.to().line + 1, 0)});\\n }\\n cm.setSelections(extended);\\n };\\n\\n function insertLine(cm, above) {\\n if (cm.isReadOnly()) return CodeMirror.Pass\\n cm.operation(function() {\\n var len = cm.listSelections().length, newSelection = [], last = -1;\\n for (var i = 0; i < len; i++) {\\n var head = cm.listSelections()[i].head;\\n if (head.line <= last) continue;\\n var at = Pos(head.line + (above ? 0 : 1), 0);\\n cm.replaceRange(\\\"\\\\n\\\", at, null, \\\"+insertLine\\\");\\n cm.indentLine(at.line, null, true);\\n newSelection.push({head: at, anchor: at});\\n last = head.line + 1;\\n }\\n cm.setSelections(newSelection);\\n });\\n cm.execCommand(\\\"indentAuto\\\");\\n }\\n\\n cmds.insertLineAfter = function(cm) { return insertLine(cm, false); };\\n\\n cmds.insertLineBefore = function(cm) { return insertLine(cm, true); };\\n\\n function wordAt(cm, pos) {\\n var start = pos.ch, end = start, line = cm.getLine(pos.line);\\n while (start && CodeMirror.isWordChar(line.charAt(start - 1))) --start;\\n while (end < line.length && CodeMirror.isWordChar(line.charAt(end))) ++end;\\n return {from: Pos(pos.line, start), to: Pos(pos.line, end), word: line.slice(start, end)};\\n }\\n\\n cmds.selectNextOccurrence = function(cm) {\\n var from = cm.getCursor(\\\"from\\\"), to = cm.getCursor(\\\"to\\\");\\n var fullWord = cm.state.sublimeFindFullWord == cm.doc.sel;\\n if (CodeMirror.cmpPos(from, to) == 0) {\\n var word = wordAt(cm, from);\\n if (!word.word) return;\\n cm.setSelection(word.from, word.to);\\n fullWord = true;\\n } else {\\n var text = cm.getRange(from, to);\\n var query = fullWord ? new RegExp(\\\"\\\\\\\\b\\\" + text + \\\"\\\\\\\\b\\\") : text;\\n var cur = cm.getSearchCursor(query, to);\\n var found = cur.findNext();\\n if (!found) {\\n cur = cm.getSearchCursor(query, Pos(cm.firstLine(), 0));\\n found = cur.findNext();\\n }\\n if (!found || isSelectedRange(cm.listSelections(), cur.from(), cur.to())) return\\n cm.addSelection(cur.from(), cur.to());\\n }\\n if (fullWord)\\n cm.state.sublimeFindFullWord = cm.doc.sel;\\n };\\n\\n cmds.skipAndSelectNextOccurrence = function(cm) {\\n var prevAnchor = cm.getCursor(\\\"anchor\\\"), prevHead = cm.getCursor(\\\"head\\\");\\n cmds.selectNextOccurrence(cm);\\n if (CodeMirror.cmpPos(prevAnchor, prevHead) != 0) {\\n cm.doc.setSelections(cm.doc.listSelections()\\n .filter(function (sel) {\\n return sel.anchor != prevAnchor || sel.head != prevHead;\\n }));\\n }\\n }\\n\\n function addCursorToSelection(cm, dir) {\\n var ranges = cm.listSelections(), newRanges = [];\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i];\\n var newAnchor = cm.findPosV(\\n range.anchor, dir, \\\"line\\\", range.anchor.goalColumn);\\n var newHead = cm.findPosV(\\n range.head, dir, \\\"line\\\", range.head.goalColumn);\\n newAnchor.goalColumn = range.anchor.goalColumn != null ?\\n range.anchor.goalColumn : cm.cursorCoords(range.anchor, \\\"div\\\").left;\\n newHead.goalColumn = range.head.goalColumn != null ?\\n range.head.goalColumn : cm.cursorCoords(range.head, \\\"div\\\").left;\\n var newRange = {anchor: newAnchor, head: newHead};\\n newRanges.push(range);\\n newRanges.push(newRange);\\n }\\n cm.setSelections(newRanges);\\n }\\n cmds.addCursorToPrevLine = function(cm) { addCursorToSelection(cm, -1); };\\n cmds.addCursorToNextLine = function(cm) { addCursorToSelection(cm, 1); };\\n\\n function isSelectedRange(ranges, from, to) {\\n for (var i = 0; i < ranges.length; i++)\\n if (CodeMirror.cmpPos(ranges[i].from(), from) == 0 &&\\n CodeMirror.cmpPos(ranges[i].to(), to) == 0) return true\\n return false\\n }\\n\\n var mirror = \\\"(){}[]\\\";\\n function selectBetweenBrackets(cm) {\\n var ranges = cm.listSelections(), newRanges = []\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i], pos = range.head, opening = cm.scanForBracket(pos, -1);\\n if (!opening) return false;\\n for (;;) {\\n var closing = cm.scanForBracket(pos, 1);\\n if (!closing) return false;\\n if (closing.ch == mirror.charAt(mirror.indexOf(opening.ch) + 1)) {\\n var startPos = Pos(opening.pos.line, opening.pos.ch + 1);\\n if (CodeMirror.cmpPos(startPos, range.from()) == 0 &&\\n CodeMirror.cmpPos(closing.pos, range.to()) == 0) {\\n opening = cm.scanForBracket(opening.pos, -1);\\n if (!opening) return false;\\n } else {\\n newRanges.push({anchor: startPos, head: closing.pos});\\n break;\\n }\\n }\\n pos = Pos(closing.pos.line, closing.pos.ch + 1);\\n }\\n }\\n cm.setSelections(newRanges);\\n return true;\\n }\\n\\n cmds.selectScope = function(cm) {\\n selectBetweenBrackets(cm) || cm.execCommand(\\\"selectAll\\\");\\n };\\n cmds.selectBetweenBrackets = function(cm) {\\n if (!selectBetweenBrackets(cm)) return CodeMirror.Pass;\\n };\\n\\n function puncType(type) {\\n return !type ? null : /\\\\bpunctuation\\\\b/.test(type) ? type : undefined\\n }\\n\\n cmds.goToBracket = function(cm) {\\n cm.extendSelectionsBy(function(range) {\\n var next = cm.scanForBracket(range.head, 1, puncType(cm.getTokenTypeAt(range.head)));\\n if (next && CodeMirror.cmpPos(next.pos, range.head) != 0) return next.pos;\\n var prev = cm.scanForBracket(range.head, -1, puncType(cm.getTokenTypeAt(Pos(range.head.line, range.head.ch + 1))));\\n return prev && Pos(prev.pos.line, prev.pos.ch + 1) || range.head;\\n });\\n };\\n\\n cmds.swapLineUp = function(cm) {\\n if (cm.isReadOnly()) return CodeMirror.Pass\\n var ranges = cm.listSelections(), linesToMove = [], at = cm.firstLine() - 1, newSels = [];\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i], from = range.from().line - 1, to = range.to().line;\\n newSels.push({anchor: Pos(range.anchor.line - 1, range.anchor.ch),\\n head: Pos(range.head.line - 1, range.head.ch)});\\n if (range.to().ch == 0 && !range.empty()) --to;\\n if (from > at) linesToMove.push(from, to);\\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\\n at = to;\\n }\\n cm.operation(function() {\\n for (var i = 0; i < linesToMove.length; i += 2) {\\n var from = linesToMove[i], to = linesToMove[i + 1];\\n var line = cm.getLine(from);\\n cm.replaceRange(\\\"\\\", Pos(from, 0), Pos(from + 1, 0), \\\"+swapLine\\\");\\n if (to > cm.lastLine())\\n cm.replaceRange(\\\"\\\\n\\\" + line, Pos(cm.lastLine()), null, \\\"+swapLine\\\");\\n else\\n cm.replaceRange(line + \\\"\\\\n\\\", Pos(to, 0), null, \\\"+swapLine\\\");\\n }\\n cm.setSelections(newSels);\\n cm.scrollIntoView();\\n });\\n };\\n\\n cmds.swapLineDown = function(cm) {\\n if (cm.isReadOnly()) return CodeMirror.Pass\\n var ranges = cm.listSelections(), linesToMove = [], at = cm.lastLine() + 1;\\n for (var i = ranges.length - 1; i >= 0; i--) {\\n var range = ranges[i], from = range.to().line + 1, to = range.from().line;\\n if (range.to().ch == 0 && !range.empty()) from--;\\n if (from < at) linesToMove.push(from, to);\\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\\n at = to;\\n }\\n cm.operation(function() {\\n for (var i = linesToMove.length - 2; i >= 0; i -= 2) {\\n var from = linesToMove[i], to = linesToMove[i + 1];\\n var line = cm.getLine(from);\\n if (from == cm.lastLine())\\n cm.replaceRange(\\\"\\\", Pos(from - 1), Pos(from), \\\"+swapLine\\\");\\n else\\n cm.replaceRange(\\\"\\\", Pos(from, 0), Pos(from + 1, 0), \\\"+swapLine\\\");\\n cm.replaceRange(line + \\\"\\\\n\\\", Pos(to, 0), null, \\\"+swapLine\\\");\\n }\\n cm.scrollIntoView();\\n });\\n };\\n\\n cmds.toggleCommentIndented = function(cm) {\\n cm.toggleComment({ indent: true });\\n }\\n\\n cmds.joinLines = function(cm) {\\n var ranges = cm.listSelections(), joined = [];\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i], from = range.from();\\n var start = from.line, end = range.to().line;\\n while (i < ranges.length - 1 && ranges[i + 1].from().line == end)\\n end = ranges[++i].to().line;\\n joined.push({start: start, end: end, anchor: !range.empty() && from});\\n }\\n cm.operation(function() {\\n var offset = 0, ranges = [];\\n for (var i = 0; i < joined.length; i++) {\\n var obj = joined[i];\\n var anchor = obj.anchor && Pos(obj.anchor.line - offset, obj.anchor.ch), head;\\n for (var line = obj.start; line <= obj.end; line++) {\\n var actual = line - offset;\\n if (line == obj.end) head = Pos(actual, cm.getLine(actual).length + 1);\\n if (actual < cm.lastLine()) {\\n cm.replaceRange(\\\" \\\", Pos(actual), Pos(actual + 1, /^\\\\s*/.exec(cm.getLine(actual + 1))[0].length));\\n ++offset;\\n }\\n }\\n ranges.push({anchor: anchor || head, head: head});\\n }\\n cm.setSelections(ranges, 0);\\n });\\n };\\n\\n cmds.duplicateLine = function(cm) {\\n cm.operation(function() {\\n var rangeCount = cm.listSelections().length;\\n for (var i = 0; i < rangeCount; i++) {\\n var range = cm.listSelections()[i];\\n if (range.empty())\\n cm.replaceRange(cm.getLine(range.head.line) + \\\"\\\\n\\\", Pos(range.head.line, 0));\\n else\\n cm.replaceRange(cm.getRange(range.from(), range.to()), range.from());\\n }\\n cm.scrollIntoView();\\n });\\n };\\n\\n\\n function sortLines(cm, caseSensitive) {\\n if (cm.isReadOnly()) return CodeMirror.Pass\\n var ranges = cm.listSelections(), toSort = [], selected;\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i];\\n if (range.empty()) continue;\\n var from = range.from().line, to = range.to().line;\\n while (i < ranges.length - 1 && ranges[i + 1].from().line == to)\\n to = ranges[++i].to().line;\\n if (!ranges[i].to().ch) to--;\\n toSort.push(from, to);\\n }\\n if (toSort.length) selected = true;\\n else toSort.push(cm.firstLine(), cm.lastLine());\\n\\n cm.operation(function() {\\n var ranges = [];\\n for (var i = 0; i < toSort.length; i += 2) {\\n var from = toSort[i], to = toSort[i + 1];\\n var start = Pos(from, 0), end = Pos(to);\\n var lines = cm.getRange(start, end, false);\\n if (caseSensitive)\\n lines.sort();\\n else\\n lines.sort(function(a, b) {\\n var au = a.toUpperCase(), bu = b.toUpperCase();\\n if (au != bu) { a = au; b = bu; }\\n return a < b ? -1 : a == b ? 0 : 1;\\n });\\n cm.replaceRange(lines, start, end);\\n if (selected) ranges.push({anchor: start, head: Pos(to + 1, 0)});\\n }\\n if (selected) cm.setSelections(ranges, 0);\\n });\\n }\\n\\n cmds.sortLines = function(cm) { sortLines(cm, true); };\\n cmds.sortLinesInsensitive = function(cm) { sortLines(cm, false); };\\n\\n cmds.nextBookmark = function(cm) {\\n var marks = cm.state.sublimeBookmarks;\\n if (marks) while (marks.length) {\\n var current = marks.shift();\\n var found = current.find();\\n if (found) {\\n marks.push(current);\\n return cm.setSelection(found.from, found.to);\\n }\\n }\\n };\\n\\n cmds.prevBookmark = function(cm) {\\n var marks = cm.state.sublimeBookmarks;\\n if (marks) while (marks.length) {\\n marks.unshift(marks.pop());\\n var found = marks[marks.length - 1].find();\\n if (!found)\\n marks.pop();\\n else\\n return cm.setSelection(found.from, found.to);\\n }\\n };\\n\\n cmds.toggleBookmark = function(cm) {\\n var ranges = cm.listSelections();\\n var marks = cm.state.sublimeBookmarks || (cm.state.sublimeBookmarks = []);\\n for (var i = 0; i < ranges.length; i++) {\\n var from = ranges[i].from(), to = ranges[i].to();\\n var found = ranges[i].empty() ? cm.findMarksAt(from) : cm.findMarks(from, to);\\n for (var j = 0; j < found.length; j++) {\\n if (found[j].sublimeBookmark) {\\n found[j].clear();\\n for (var k = 0; k < marks.length; k++)\\n if (marks[k] == found[j])\\n marks.splice(k--, 1);\\n break;\\n }\\n }\\n if (j == found.length)\\n marks.push(cm.markText(from, to, {sublimeBookmark: true, clearWhenEmpty: false}));\\n }\\n };\\n\\n cmds.clearBookmarks = function(cm) {\\n var marks = cm.state.sublimeBookmarks;\\n if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear();\\n marks.length = 0;\\n };\\n\\n cmds.selectBookmarks = function(cm) {\\n var marks = cm.state.sublimeBookmarks, ranges = [];\\n if (marks) for (var i = 0; i < marks.length; i++) {\\n var found = marks[i].find();\\n if (!found)\\n marks.splice(i--, 0);\\n else\\n ranges.push({anchor: found.from, head: found.to});\\n }\\n if (ranges.length)\\n cm.setSelections(ranges, 0);\\n };\\n\\n function modifyWordOrSelection(cm, mod) {\\n cm.operation(function() {\\n var ranges = cm.listSelections(), indices = [], replacements = [];\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i];\\n if (range.empty()) { indices.push(i); replacements.push(\\\"\\\"); }\\n else replacements.push(mod(cm.getRange(range.from(), range.to())));\\n }\\n cm.replaceSelections(replacements, \\\"around\\\", \\\"case\\\");\\n for (var i = indices.length - 1, at; i >= 0; i--) {\\n var range = ranges[indices[i]];\\n if (at && CodeMirror.cmpPos(range.head, at) > 0) continue;\\n var word = wordAt(cm, range.head);\\n at = word.from;\\n cm.replaceRange(mod(word.word), word.from, word.to);\\n }\\n });\\n }\\n\\n cmds.smartBackspace = function(cm) {\\n if (cm.somethingSelected()) return CodeMirror.Pass;\\n\\n cm.operation(function() {\\n var cursors = cm.listSelections();\\n var indentUnit = cm.getOption(\\\"indentUnit\\\");\\n\\n for (var i = cursors.length - 1; i >= 0; i--) {\\n var cursor = cursors[i].head;\\n var toStartOfLine = cm.getRange({line: cursor.line, ch: 0}, cursor);\\n var column = CodeMirror.countColumn(toStartOfLine, null, cm.getOption(\\\"tabSize\\\"));\\n\\n // Delete by one character by default\\n var deletePos = cm.findPosH(cursor, -1, \\\"char\\\", false);\\n\\n if (toStartOfLine && !/\\\\S/.test(toStartOfLine) && column % indentUnit == 0) {\\n var prevIndent = new Pos(cursor.line,\\n CodeMirror.findColumn(toStartOfLine, column - indentUnit, indentUnit));\\n\\n // Smart delete only if we found a valid prevIndent location\\n if (prevIndent.ch != cursor.ch) deletePos = prevIndent;\\n }\\n\\n cm.replaceRange(\\\"\\\", deletePos, cursor, \\\"+delete\\\");\\n }\\n });\\n };\\n\\n cmds.delLineRight = function(cm) {\\n cm.operation(function() {\\n var ranges = cm.listSelections();\\n for (var i = ranges.length - 1; i >= 0; i--)\\n cm.replaceRange(\\\"\\\", ranges[i].anchor, Pos(ranges[i].to().line), \\\"+delete\\\");\\n cm.scrollIntoView();\\n });\\n };\\n\\n cmds.upcaseAtCursor = function(cm) {\\n modifyWordOrSelection(cm, function(str) { return str.toUpperCase(); });\\n };\\n cmds.downcaseAtCursor = function(cm) {\\n modifyWordOrSelection(cm, function(str) { return str.toLowerCase(); });\\n };\\n\\n cmds.setSublimeMark = function(cm) {\\n if (cm.state.sublimeMark) cm.state.sublimeMark.clear();\\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\\n };\\n cmds.selectToSublimeMark = function(cm) {\\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\\n if (found) cm.setSelection(cm.getCursor(), found);\\n };\\n cmds.deleteToSublimeMark = function(cm) {\\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\\n if (found) {\\n var from = cm.getCursor(), to = found;\\n if (CodeMirror.cmpPos(from, to) > 0) { var tmp = to; to = from; from = tmp; }\\n cm.state.sublimeKilled = cm.getRange(from, to);\\n cm.replaceRange(\\\"\\\", from, to);\\n }\\n };\\n cmds.swapWithSublimeMark = function(cm) {\\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\\n if (found) {\\n cm.state.sublimeMark.clear();\\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\\n cm.setCursor(found);\\n }\\n };\\n cmds.sublimeYank = function(cm) {\\n if (cm.state.sublimeKilled != null)\\n cm.replaceSelection(cm.state.sublimeKilled, null, \\\"paste\\\");\\n };\\n\\n cmds.showInCenter = function(cm) {\\n var pos = cm.cursorCoords(null, \\\"local\\\");\\n cm.scrollTo(null, (pos.top + pos.bottom) / 2 - cm.getScrollInfo().clientHeight / 2);\\n };\\n\\n function getTarget(cm) {\\n var from = cm.getCursor(\\\"from\\\"), to = cm.getCursor(\\\"to\\\");\\n if (CodeMirror.cmpPos(from, to) == 0) {\\n var word = wordAt(cm, from);\\n if (!word.word) return;\\n from = word.from;\\n to = word.to;\\n }\\n return {from: from, to: to, query: cm.getRange(from, to), word: word};\\n }\\n\\n function findAndGoTo(cm, forward) {\\n var target = getTarget(cm);\\n if (!target) return;\\n var query = target.query;\\n var cur = cm.getSearchCursor(query, forward ? target.to : target.from);\\n\\n if (forward ? cur.findNext() : cur.findPrevious()) {\\n cm.setSelection(cur.from(), cur.to());\\n } else {\\n cur = cm.getSearchCursor(query, forward ? Pos(cm.firstLine(), 0)\\n : cm.clipPos(Pos(cm.lastLine())));\\n if (forward ? cur.findNext() : cur.findPrevious())\\n cm.setSelection(cur.from(), cur.to());\\n else if (target.word)\\n cm.setSelection(target.from, target.to);\\n }\\n };\\n cmds.findUnder = function(cm) { findAndGoTo(cm, true); };\\n cmds.findUnderPrevious = function(cm) { findAndGoTo(cm,false); };\\n cmds.findAllUnder = function(cm) {\\n var target = getTarget(cm);\\n if (!target) return;\\n var cur = cm.getSearchCursor(target.query);\\n var matches = [];\\n var primaryIndex = -1;\\n while (cur.findNext()) {\\n matches.push({anchor: cur.from(), head: cur.to()});\\n if (cur.from().line <= target.from.line && cur.from().ch <= target.from.ch)\\n primaryIndex++;\\n }\\n cm.setSelections(matches, primaryIndex);\\n };\\n\\n\\n var keyMap = CodeMirror.keyMap;\\n keyMap.macSublime = {\\n \\\"Cmd-Left\\\": \\\"goLineStartSmart\\\",\\n \\\"Shift-Tab\\\": \\\"indentLess\\\",\\n \\\"Shift-Ctrl-K\\\": \\\"deleteLine\\\",\\n \\\"Alt-Q\\\": \\\"wrapLines\\\",\\n \\\"Ctrl-Left\\\": \\\"goSubwordLeft\\\",\\n \\\"Ctrl-Right\\\": \\\"goSubwordRight\\\",\\n \\\"Ctrl-Alt-Up\\\": \\\"scrollLineUp\\\",\\n \\\"Ctrl-Alt-Down\\\": \\\"scrollLineDown\\\",\\n \\\"Cmd-L\\\": \\\"selectLine\\\",\\n \\\"Shift-Cmd-L\\\": \\\"splitSelectionByLine\\\",\\n \\\"Esc\\\": \\\"singleSelectionTop\\\",\\n \\\"Cmd-Enter\\\": \\\"insertLineAfter\\\",\\n \\\"Shift-Cmd-Enter\\\": \\\"insertLineBefore\\\",\\n \\\"Cmd-D\\\": \\\"selectNextOccurrence\\\",\\n \\\"Shift-Cmd-Space\\\": \\\"selectScope\\\",\\n \\\"Shift-Cmd-M\\\": \\\"selectBetweenBrackets\\\",\\n \\\"Cmd-M\\\": \\\"goToBracket\\\",\\n \\\"Cmd-Ctrl-Up\\\": \\\"swapLineUp\\\",\\n \\\"Cmd-Ctrl-Down\\\": \\\"swapLineDown\\\",\\n \\\"Cmd-/\\\": \\\"toggleCommentIndented\\\",\\n \\\"Cmd-J\\\": \\\"joinLines\\\",\\n \\\"Shift-Cmd-D\\\": \\\"duplicateLine\\\",\\n \\\"F5\\\": \\\"sortLines\\\",\\n \\\"Cmd-F5\\\": \\\"sortLinesInsensitive\\\",\\n \\\"F2\\\": \\\"nextBookmark\\\",\\n \\\"Shift-F2\\\": \\\"prevBookmark\\\",\\n \\\"Cmd-F2\\\": \\\"toggleBookmark\\\",\\n \\\"Shift-Cmd-F2\\\": \\\"clearBookmarks\\\",\\n \\\"Alt-F2\\\": \\\"selectBookmarks\\\",\\n \\\"Backspace\\\": \\\"smartBackspace\\\",\\n \\\"Cmd-K Cmd-D\\\": \\\"skipAndSelectNextOccurrence\\\",\\n \\\"Cmd-K Cmd-K\\\": \\\"delLineRight\\\",\\n \\\"Cmd-K Cmd-U\\\": \\\"upcaseAtCursor\\\",\\n \\\"Cmd-K Cmd-L\\\": \\\"downcaseAtCursor\\\",\\n \\\"Cmd-K Cmd-Space\\\": \\\"setSublimeMark\\\",\\n \\\"Cmd-K Cmd-A\\\": \\\"selectToSublimeMark\\\",\\n \\\"Cmd-K Cmd-W\\\": \\\"deleteToSublimeMark\\\",\\n \\\"Cmd-K Cmd-X\\\": \\\"swapWithSublimeMark\\\",\\n \\\"Cmd-K Cmd-Y\\\": \\\"sublimeYank\\\",\\n \\\"Cmd-K Cmd-C\\\": \\\"showInCenter\\\",\\n \\\"Cmd-K Cmd-G\\\": \\\"clearBookmarks\\\",\\n \\\"Cmd-K Cmd-Backspace\\\": \\\"delLineLeft\\\",\\n \\\"Cmd-K Cmd-1\\\": \\\"foldAll\\\",\\n \\\"Cmd-K Cmd-0\\\": \\\"unfoldAll\\\",\\n \\\"Cmd-K Cmd-J\\\": \\\"unfoldAll\\\",\\n \\\"Ctrl-Shift-Up\\\": \\\"addCursorToPrevLine\\\",\\n \\\"Ctrl-Shift-Down\\\": \\\"addCursorToNextLine\\\",\\n \\\"Cmd-F3\\\": \\\"findUnder\\\",\\n \\\"Shift-Cmd-F3\\\": \\\"findUnderPrevious\\\",\\n \\\"Alt-F3\\\": \\\"findAllUnder\\\",\\n \\\"Shift-Cmd-[\\\": \\\"fold\\\",\\n \\\"Shift-Cmd-]\\\": \\\"unfold\\\",\\n \\\"Cmd-I\\\": \\\"findIncremental\\\",\\n \\\"Shift-Cmd-I\\\": \\\"findIncrementalReverse\\\",\\n \\\"Cmd-H\\\": \\\"replace\\\",\\n \\\"F3\\\": \\\"findNext\\\",\\n \\\"Shift-F3\\\": \\\"findPrev\\\",\\n \\\"fallthrough\\\": \\\"macDefault\\\"\\n };\\n CodeMirror.normalizeKeyMap(keyMap.macSublime);\\n\\n keyMap.pcSublime = {\\n \\\"Shift-Tab\\\": \\\"indentLess\\\",\\n \\\"Shift-Ctrl-K\\\": \\\"deleteLine\\\",\\n \\\"Alt-Q\\\": \\\"wrapLines\\\",\\n \\\"Ctrl-T\\\": \\\"transposeChars\\\",\\n \\\"Alt-Left\\\": \\\"goSubwordLeft\\\",\\n \\\"Alt-Right\\\": \\\"goSubwordRight\\\",\\n \\\"Ctrl-Up\\\": \\\"scrollLineUp\\\",\\n \\\"Ctrl-Down\\\": \\\"scrollLineDown\\\",\\n \\\"Ctrl-L\\\": \\\"selectLine\\\",\\n \\\"Shift-Ctrl-L\\\": \\\"splitSelectionByLine\\\",\\n \\\"Esc\\\": \\\"singleSelectionTop\\\",\\n \\\"Ctrl-Enter\\\": \\\"insertLineAfter\\\",\\n \\\"Shift-Ctrl-Enter\\\": \\\"insertLineBefore\\\",\\n \\\"Ctrl-D\\\": \\\"selectNextOccurrence\\\",\\n \\\"Shift-Ctrl-Space\\\": \\\"selectScope\\\",\\n \\\"Shift-Ctrl-M\\\": \\\"selectBetweenBrackets\\\",\\n \\\"Ctrl-M\\\": \\\"goToBracket\\\",\\n \\\"Shift-Ctrl-Up\\\": \\\"swapLineUp\\\",\\n \\\"Shift-Ctrl-Down\\\": \\\"swapLineDown\\\",\\n \\\"Ctrl-/\\\": \\\"toggleCommentIndented\\\",\\n \\\"Ctrl-J\\\": \\\"joinLines\\\",\\n \\\"Shift-Ctrl-D\\\": \\\"duplicateLine\\\",\\n \\\"F9\\\": \\\"sortLines\\\",\\n \\\"Ctrl-F9\\\": \\\"sortLinesInsensitive\\\",\\n \\\"F2\\\": \\\"nextBookmark\\\",\\n \\\"Shift-F2\\\": \\\"prevBookmark\\\",\\n \\\"Ctrl-F2\\\": \\\"toggleBookmark\\\",\\n \\\"Shift-Ctrl-F2\\\": \\\"clearBookmarks\\\",\\n \\\"Alt-F2\\\": \\\"selectBookmarks\\\",\\n \\\"Backspace\\\": \\\"smartBackspace\\\",\\n \\\"Ctrl-K Ctrl-D\\\": \\\"skipAndSelectNextOccurrence\\\",\\n \\\"Ctrl-K Ctrl-K\\\": \\\"delLineRight\\\",\\n \\\"Ctrl-K Ctrl-U\\\": \\\"upcaseAtCursor\\\",\\n \\\"Ctrl-K Ctrl-L\\\": \\\"downcaseAtCursor\\\",\\n \\\"Ctrl-K Ctrl-Space\\\": \\\"setSublimeMark\\\",\\n \\\"Ctrl-K Ctrl-A\\\": \\\"selectToSublimeMark\\\",\\n \\\"Ctrl-K Ctrl-W\\\": \\\"deleteToSublimeMark\\\",\\n \\\"Ctrl-K Ctrl-X\\\": \\\"swapWithSublimeMark\\\",\\n \\\"Ctrl-K Ctrl-Y\\\": \\\"sublimeYank\\\",\\n \\\"Ctrl-K Ctrl-C\\\": \\\"showInCenter\\\",\\n \\\"Ctrl-K Ctrl-G\\\": \\\"clearBookmarks\\\",\\n \\\"Ctrl-K Ctrl-Backspace\\\": \\\"delLineLeft\\\",\\n \\\"Ctrl-K Ctrl-1\\\": \\\"foldAll\\\",\\n \\\"Ctrl-K Ctrl-0\\\": \\\"unfoldAll\\\",\\n \\\"Ctrl-K Ctrl-J\\\": \\\"unfoldAll\\\",\\n \\\"Ctrl-Alt-Up\\\": \\\"addCursorToPrevLine\\\",\\n \\\"Ctrl-Alt-Down\\\": \\\"addCursorToNextLine\\\",\\n \\\"Ctrl-F3\\\": \\\"findUnder\\\",\\n \\\"Shift-Ctrl-F3\\\": \\\"findUnderPrevious\\\",\\n \\\"Alt-F3\\\": \\\"findAllUnder\\\",\\n \\\"Shift-Ctrl-[\\\": \\\"fold\\\",\\n \\\"Shift-Ctrl-]\\\": \\\"unfold\\\",\\n \\\"Ctrl-I\\\": \\\"findIncremental\\\",\\n \\\"Shift-Ctrl-I\\\": \\\"findIncrementalReverse\\\",\\n \\\"Ctrl-H\\\": \\\"replace\\\",\\n \\\"F3\\\": \\\"findNext\\\",\\n \\\"Shift-F3\\\": \\\"findPrev\\\",\\n \\\"fallthrough\\\": \\\"pcDefault\\\"\\n };\\n CodeMirror.normalizeKeyMap(keyMap.pcSublime);\\n\\n var mac = keyMap.default == keyMap.macDefault;\\n keyMap.sublime = mac ? keyMap.macSublime : keyMap.pcSublime;\\n});\\n\",\"import React from 'react';\\nexport function ToolbarGroup(_a) {\\n var children = _a.children;\\n return React.createElement(\\\"div\\\", { className: \\\"toolbar-button-group\\\" }, children);\\n}\\n//# sourceMappingURL=ToolbarGroup.js.map\",\"import { getNamedType, isLeafType, parse, print, TypeInfo, visit, } from 'graphql';\\nexport function fillLeafs(schema, docString, getDefaultFieldNames) {\\n var insertions = [];\\n if (!schema || !docString) {\\n return { insertions: insertions, result: docString };\\n }\\n var ast;\\n try {\\n ast = parse(docString);\\n }\\n catch (error) {\\n return { insertions: insertions, result: docString };\\n }\\n var fieldNameFn = getDefaultFieldNames || defaultGetDefaultFieldNames;\\n var typeInfo = new TypeInfo(schema);\\n visit(ast, {\\n leave: function (node) {\\n typeInfo.leave(node);\\n },\\n enter: function (node) {\\n typeInfo.enter(node);\\n if (node.kind === 'Field' && !node.selectionSet) {\\n var fieldType = typeInfo.getType();\\n var selectionSet = buildSelectionSet(isFieldType(fieldType), fieldNameFn);\\n if (selectionSet && node.loc) {\\n var indent = getIndentation(docString, node.loc.start);\\n insertions.push({\\n index: node.loc.end,\\n string: ' ' + print(selectionSet).replace(/\\\\n/g, '\\\\n' + indent),\\n });\\n }\\n }\\n },\\n });\\n return {\\n insertions: insertions,\\n result: withInsertions(docString, insertions),\\n };\\n}\\nfunction defaultGetDefaultFieldNames(type) {\\n if (!('getFields' in type)) {\\n return [];\\n }\\n var fields = type.getFields();\\n if (fields.id) {\\n return ['id'];\\n }\\n if (fields.edges) {\\n return ['edges'];\\n }\\n if (fields.node) {\\n return ['node'];\\n }\\n var leafFieldNames = [];\\n Object.keys(fields).forEach(function (fieldName) {\\n if (isLeafType(fields[fieldName].type)) {\\n leafFieldNames.push(fieldName);\\n }\\n });\\n return leafFieldNames;\\n}\\nfunction buildSelectionSet(type, getDefaultFieldNames) {\\n var namedType = getNamedType(type);\\n if (!type || isLeafType(type)) {\\n return;\\n }\\n var fieldNames = getDefaultFieldNames(namedType);\\n if (!Array.isArray(fieldNames) ||\\n fieldNames.length === 0 ||\\n !('getFields' in namedType)) {\\n return;\\n }\\n return {\\n kind: 'SelectionSet',\\n selections: fieldNames.map(function (fieldName) {\\n var fieldDef = namedType.getFields()[fieldName];\\n var fieldType = fieldDef ? fieldDef.type : null;\\n return {\\n kind: 'Field',\\n name: {\\n kind: 'Name',\\n value: fieldName,\\n },\\n selectionSet: buildSelectionSet(fieldType, getDefaultFieldNames),\\n };\\n }),\\n };\\n}\\nfunction withInsertions(initial, insertions) {\\n if (insertions.length === 0) {\\n return initial;\\n }\\n var edited = '';\\n var prevIndex = 0;\\n insertions.forEach(function (_a) {\\n var index = _a.index, string = _a.string;\\n edited += initial.slice(prevIndex, index) + string;\\n prevIndex = index;\\n });\\n edited += initial.slice(prevIndex);\\n return edited;\\n}\\nfunction getIndentation(str, index) {\\n var indentStart = index;\\n var indentEnd = index;\\n while (indentStart) {\\n var c = str.charCodeAt(indentStart - 1);\\n if (c === 10 || c === 13 || c === 0x2028 || c === 0x2029) {\\n break;\\n }\\n indentStart--;\\n if (c !== 9 && c !== 11 && c !== 12 && c !== 32 && c !== 160) {\\n indentEnd = indentStart;\\n }\\n }\\n return str.substring(indentStart, indentEnd);\\n}\\nfunction isFieldType(fieldType) {\\n if (fieldType) {\\n return fieldType;\\n }\\n}\\n//# sourceMappingURL=fillLeafs.js.map\",\"var __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\n r[k] = a[j];\\n return r;\\n};\\nimport { TypeInfo, getNamedType, visit, visitWithTypeInfo, } from 'graphql';\\nexport function uniqueBy(array, iteratee) {\\n var FilteredMap = new Map();\\n var result = [];\\n for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\\n var item = array_1[_i];\\n if (item.kind === 'Field') {\\n var uniqueValue = iteratee(item);\\n var existing = FilteredMap.get(uniqueValue);\\n if (item.directives && item.directives.length) {\\n var itemClone = __assign({}, item);\\n result.push(itemClone);\\n }\\n else if (existing && existing.selectionSet && item.selectionSet) {\\n existing.selectionSet.selections = __spreadArrays(existing.selectionSet.selections, item.selectionSet.selections);\\n }\\n else if (!existing) {\\n var itemClone = __assign({}, item);\\n FilteredMap.set(uniqueValue, itemClone);\\n result.push(itemClone);\\n }\\n }\\n else {\\n result.push(item);\\n }\\n }\\n return result;\\n}\\nexport function inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType) {\\n var _a;\\n var selectionSetTypeName = selectionSetType\\n ? getNamedType(selectionSetType).name\\n : null;\\n var outputSelections = [];\\n var seenSpreads = [];\\n for (var _i = 0, selections_1 = selections; _i < selections_1.length; _i++) {\\n var selection = selections_1[_i];\\n if (selection.kind === 'FragmentSpread') {\\n var fragmentName = selection.name.value;\\n if (!selection.directives || selection.directives.length === 0) {\\n if (seenSpreads.indexOf(fragmentName) >= 0) {\\n continue;\\n }\\n else {\\n seenSpreads.push(fragmentName);\\n }\\n }\\n var fragmentDefinition = fragmentDefinitions[selection.name.value];\\n if (fragmentDefinition) {\\n var typeCondition = fragmentDefinition.typeCondition, directives = fragmentDefinition.directives, selectionSet = fragmentDefinition.selectionSet;\\n selection = {\\n kind: 'InlineFragment',\\n typeCondition: typeCondition,\\n directives: directives,\\n selectionSet: selectionSet,\\n };\\n }\\n }\\n if (selection.kind === 'InlineFragment' &&\\n (!selection.directives || ((_a = selection.directives) === null || _a === void 0 ? void 0 : _a.length) === 0)) {\\n var fragmentTypeName = selection.typeCondition\\n ? selection.typeCondition.name.value\\n : null;\\n if (!fragmentTypeName || fragmentTypeName === selectionSetTypeName) {\\n outputSelections.push.apply(outputSelections, inlineRelevantFragmentSpreads(fragmentDefinitions, selection.selectionSet.selections, selectionSetType));\\n continue;\\n }\\n }\\n outputSelections.push(selection);\\n }\\n return outputSelections;\\n}\\nexport default function mergeAST(documentAST, schema) {\\n var typeInfo = schema ? new TypeInfo(schema) : null;\\n var fragmentDefinitions = Object.create(null);\\n for (var _i = 0, _a = documentAST.definitions; _i < _a.length; _i++) {\\n var definition = _a[_i];\\n if (definition.kind === 'FragmentDefinition') {\\n fragmentDefinitions[definition.name.value] = definition;\\n }\\n }\\n var visitors = {\\n SelectionSet: function (node) {\\n var selectionSetType = typeInfo ? typeInfo.getParentType() : null;\\n var selections = node.selections;\\n selections = inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType);\\n selections = uniqueBy(selections, function (selection) {\\n return selection.alias ? selection.alias.value : selection.name.value;\\n });\\n return __assign(__assign({}, node), { selections: selections });\\n },\\n FragmentDefinition: function () {\\n return null;\\n },\\n };\\n return visit(documentAST, typeInfo ? visitWithTypeInfo(typeInfo, visitors) : visitors);\\n}\\n//# sourceMappingURL=mergeAst.js.map\",\"import React from 'react';\\nimport { GraphQLList, GraphQLNonNull, } from 'graphql';\\nexport default function TypeLink(props) {\\n var onClick = props.onClick ? props.onClick : function () { return null; };\\n return renderType(props.type, onClick);\\n}\\nfunction renderType(type, onClick) {\\n if (type instanceof GraphQLNonNull) {\\n return (React.createElement(\\\"span\\\", null,\\n renderType(type.ofType, onClick),\\n '!'));\\n }\\n if (type instanceof GraphQLList) {\\n return (React.createElement(\\\"span\\\", null,\\n '[',\\n renderType(type.ofType, onClick),\\n ']'));\\n }\\n return (React.createElement(\\\"a\\\", { className: \\\"type-name\\\", onClick: function (event) {\\n event.preventDefault();\\n onClick(type, event);\\n }, href: \\\"#\\\" }, type === null || type === void 0 ? void 0 : type.name));\\n}\\n//# sourceMappingURL=TypeLink.js.map\",\"import React from 'react';\\nimport { astFromValue, print } from 'graphql';\\nvar printDefault = function (ast) {\\n if (!ast) {\\n return '';\\n }\\n return print(ast);\\n};\\nexport default function DefaultValue(_a) {\\n var field = _a.field;\\n if ('defaultValue' in field && field.defaultValue !== undefined) {\\n return (React.createElement(\\\"span\\\", null,\\n ' = ',\\n React.createElement(\\\"span\\\", { className: \\\"arg-default-value\\\" }, printDefault(astFromValue(field.defaultValue, field.type)))));\\n }\\n return null;\\n}\\n//# sourceMappingURL=DefaultValue.js.map\",\"import React from 'react';\\nimport TypeLink from './TypeLink';\\nimport DefaultValue from './DefaultValue';\\nexport default function Argument(_a) {\\n var arg = _a.arg, onClickType = _a.onClickType, showDefaultValue = _a.showDefaultValue;\\n return (React.createElement(\\\"span\\\", { className: \\\"arg\\\" },\\n React.createElement(\\\"span\\\", { className: \\\"arg-name\\\" }, arg.name),\\n ': ',\\n React.createElement(TypeLink, { type: arg.type, onClick: onClickType }),\\n showDefaultValue !== false && React.createElement(DefaultValue, { field: arg })));\\n}\\n//# sourceMappingURL=Argument.js.map\",\"import React from 'react';\\nexport default function Directive(_a) {\\n var directive = _a.directive;\\n return (React.createElement(\\\"span\\\", { className: \\\"doc-category-item\\\", id: directive.name.value },\\n '@',\\n directive.name.value));\\n}\\n//# sourceMappingURL=Directive.js.map\",\"import React from 'react';\\nimport MD from 'markdown-it';\\nvar md = new MD();\\nexport default function MarkdownContent(_a) {\\n var markdown = _a.markdown, className = _a.className;\\n if (!markdown) {\\n return React.createElement(\\\"div\\\", null);\\n }\\n return (React.createElement(\\\"div\\\", { className: className, dangerouslySetInnerHTML: { __html: md.render(markdown) } }));\\n}\\n//# sourceMappingURL=MarkdownContent.js.map\",\"import React from 'react';\\nimport Argument from './Argument';\\nimport Directive from './Directive';\\nimport MarkdownContent from './MarkdownContent';\\nimport TypeLink from './TypeLink';\\nexport default function FieldDoc(_a) {\\n var field = _a.field, onClickType = _a.onClickType;\\n var argsDef;\\n if (field && 'args' in field && field.args.length > 0) {\\n argsDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'arguments'),\\n field.args.map(function (arg) { return (React.createElement(\\\"div\\\", { key: arg.name, className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"div\\\", null,\\n React.createElement(Argument, { arg: arg, onClickType: onClickType })),\\n React.createElement(MarkdownContent, { className: \\\"doc-value-description\\\", markdown: arg.description }))); })));\\n }\\n var directivesDef;\\n if (field &&\\n field.astNode &&\\n field.astNode.directives &&\\n field.astNode.directives.length > 0) {\\n directivesDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'directives'),\\n field.astNode.directives.map(function (directive) { return (React.createElement(\\\"div\\\", { key: directive.name.value, className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"div\\\", null,\\n React.createElement(Directive, { directive: directive })))); })));\\n }\\n return (React.createElement(\\\"div\\\", null,\\n React.createElement(MarkdownContent, { className: \\\"doc-type-description\\\", markdown: (field === null || field === void 0 ? void 0 : field.description) || 'No Description' }),\\n field && 'deprecationReason' in field && (React.createElement(MarkdownContent, { className: \\\"doc-deprecation\\\", markdown: field === null || field === void 0 ? void 0 : field.deprecationReason })),\\n React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'type'),\\n React.createElement(TypeLink, { type: field === null || field === void 0 ? void 0 : field.type, onClick: onClickType })),\\n argsDef,\\n directivesDef));\\n}\\n//# sourceMappingURL=FieldDoc.js.map\",\"import React from 'react';\\nimport TypeLink from './TypeLink';\\nimport MarkdownContent from './MarkdownContent';\\nexport default function SchemaDoc(_a) {\\n var schema = _a.schema, onClickType = _a.onClickType;\\n var queryType = schema.getQueryType();\\n var mutationType = schema.getMutationType && schema.getMutationType();\\n var subscriptionType = schema.getSubscriptionType && schema.getSubscriptionType();\\n return (React.createElement(\\\"div\\\", null,\\n React.createElement(MarkdownContent, { className: \\\"doc-type-description\\\", markdown: schema.description ||\\n 'A GraphQL schema provides a root type for each kind of operation.' }),\\n React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'root types'),\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"span\\\", { className: \\\"keyword\\\" }, 'query'),\\n ': ',\\n React.createElement(TypeLink, { type: queryType, onClick: onClickType })),\\n mutationType && (React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"span\\\", { className: \\\"keyword\\\" }, 'mutation'),\\n ': ',\\n React.createElement(TypeLink, { type: mutationType, onClick: onClickType }))),\\n subscriptionType && (React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"span\\\", { className: \\\"keyword\\\" }, 'subscription'),\\n ': ',\\n React.createElement(TypeLink, { type: subscriptionType, onClick: onClickType }))))));\\n}\\n//# sourceMappingURL=SchemaDoc.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nimport debounce from '../../utility/debounce';\\nvar SearchBox = (function (_super) {\\n __extends(SearchBox, _super);\\n function SearchBox(props) {\\n var _this = _super.call(this, props) || this;\\n _this.handleChange = function (event) {\\n var value = event.currentTarget.value;\\n _this.setState({ value: value });\\n _this.debouncedOnSearch(value);\\n };\\n _this.handleClear = function () {\\n _this.setState({ value: '' });\\n _this.props.onSearch('');\\n };\\n _this.state = { value: props.value || '' };\\n _this.debouncedOnSearch = debounce(200, _this.props.onSearch);\\n return _this;\\n }\\n SearchBox.prototype.render = function () {\\n return (React.createElement(\\\"label\\\", { className: \\\"search-box\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"search-box-icon\\\", \\\"aria-hidden\\\": \\\"true\\\" }, '\\\\u26b2'),\\n React.createElement(\\\"input\\\", { value: this.state.value, onChange: this.handleChange, type: \\\"text\\\", placeholder: this.props.placeholder, \\\"aria-label\\\": this.props.placeholder }),\\n this.state.value && (React.createElement(\\\"button\\\", { className: \\\"search-box-clear\\\", onClick: this.handleClear, \\\"aria-label\\\": \\\"Clear search input\\\" }, '\\\\u2715'))));\\n };\\n return SearchBox;\\n}(React.Component));\\nexport default SearchBox;\\n//# sourceMappingURL=SearchBox.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nimport Argument from './Argument';\\nimport TypeLink from './TypeLink';\\nvar SearchResults = (function (_super) {\\n __extends(SearchResults, _super);\\n function SearchResults() {\\n return _super !== null && _super.apply(this, arguments) || this;\\n }\\n SearchResults.prototype.shouldComponentUpdate = function (nextProps) {\\n return (this.props.schema !== nextProps.schema ||\\n this.props.searchValue !== nextProps.searchValue);\\n };\\n SearchResults.prototype.render = function () {\\n var searchValue = this.props.searchValue;\\n var withinType = this.props.withinType;\\n var schema = this.props.schema;\\n var onClickType = this.props.onClickType;\\n var onClickField = this.props.onClickField;\\n var matchedWithin = [];\\n var matchedTypes = [];\\n var matchedFields = [];\\n var typeMap = schema.getTypeMap();\\n var typeNames = Object.keys(typeMap);\\n if (withinType) {\\n typeNames = typeNames.filter(function (n) { return n !== withinType.name; });\\n typeNames.unshift(withinType.name);\\n }\\n var _loop_1 = function (typeName) {\\n if (matchedWithin.length + matchedTypes.length + matchedFields.length >=\\n 100) {\\n return \\\"break\\\";\\n }\\n var type = typeMap[typeName];\\n if (withinType !== type && isMatch(typeName, searchValue)) {\\n matchedTypes.push(React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\", key: typeName },\\n React.createElement(TypeLink, { type: type, onClick: onClickType })));\\n }\\n if (type && 'getFields' in type) {\\n var fields_1 = type.getFields();\\n Object.keys(fields_1).forEach(function (fieldName) {\\n var field = fields_1[fieldName];\\n var matchingArgs;\\n if (!isMatch(fieldName, searchValue)) {\\n if ('args' in field && field.args.length) {\\n matchingArgs = field.args.filter(function (arg) {\\n return isMatch(arg.name, searchValue);\\n });\\n if (matchingArgs.length === 0) {\\n return;\\n }\\n }\\n else {\\n return;\\n }\\n }\\n var match = (React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\", key: typeName + '.' + fieldName },\\n withinType !== type && [\\n React.createElement(TypeLink, { key: \\\"type\\\", type: type, onClick: onClickType }),\\n '.',\\n ],\\n React.createElement(\\\"a\\\", { className: \\\"field-name\\\", onClick: function (event) { return onClickField(field, type, event); } }, field.name),\\n matchingArgs && [\\n '(',\\n React.createElement(\\\"span\\\", { key: \\\"args\\\" }, matchingArgs.map(function (arg) { return (React.createElement(Argument, { key: arg.name, arg: arg, onClickType: onClickType, showDefaultValue: false })); })),\\n ')',\\n ]));\\n if (withinType === type) {\\n matchedWithin.push(match);\\n }\\n else {\\n matchedFields.push(match);\\n }\\n });\\n }\\n };\\n for (var _i = 0, typeNames_1 = typeNames; _i < typeNames_1.length; _i++) {\\n var typeName = typeNames_1[_i];\\n var state_1 = _loop_1(typeName);\\n if (state_1 === \\\"break\\\")\\n break;\\n }\\n if (matchedWithin.length + matchedTypes.length + matchedFields.length ===\\n 0) {\\n return React.createElement(\\\"span\\\", { className: \\\"doc-alert-text\\\" }, 'No results found.');\\n }\\n if (withinType && matchedTypes.length + matchedFields.length > 0) {\\n return (React.createElement(\\\"div\\\", null,\\n matchedWithin,\\n React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'other results'),\\n matchedTypes,\\n matchedFields)));\\n }\\n return (React.createElement(\\\"div\\\", { className: \\\"doc-search-items\\\" },\\n matchedWithin,\\n matchedTypes,\\n matchedFields));\\n };\\n return SearchResults;\\n}(React.Component));\\nexport default SearchResults;\\nfunction isMatch(sourceText, searchValue) {\\n try {\\n var escaped = searchValue.replace(/[^_0-9A-Za-z]/g, function (ch) { return '\\\\\\\\' + ch; });\\n return sourceText.search(new RegExp(escaped, 'i')) !== -1;\\n }\\n catch (e) {\\n return sourceText.toLowerCase().indexOf(searchValue.toLowerCase()) !== -1;\\n }\\n}\\n//# sourceMappingURL=SearchResults.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nimport { GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, } from 'graphql';\\nimport Argument from './Argument';\\nimport MarkdownContent from './MarkdownContent';\\nimport TypeLink from './TypeLink';\\nimport DefaultValue from './DefaultValue';\\nvar TypeDoc = (function (_super) {\\n __extends(TypeDoc, _super);\\n function TypeDoc(props) {\\n var _this = _super.call(this, props) || this;\\n _this.handleShowDeprecated = function () { return _this.setState({ showDeprecated: true }); };\\n _this.state = { showDeprecated: false };\\n return _this;\\n }\\n TypeDoc.prototype.shouldComponentUpdate = function (nextProps, nextState) {\\n return (this.props.type !== nextProps.type ||\\n this.props.schema !== nextProps.schema ||\\n this.state.showDeprecated !== nextState.showDeprecated);\\n };\\n TypeDoc.prototype.render = function () {\\n var schema = this.props.schema;\\n var type = this.props.type;\\n var onClickType = this.props.onClickType;\\n var onClickField = this.props.onClickField;\\n var typesTitle = null;\\n var types = [];\\n if (type instanceof GraphQLUnionType) {\\n typesTitle = 'possible types';\\n types = schema.getPossibleTypes(type);\\n }\\n else if (type instanceof GraphQLInterfaceType) {\\n typesTitle = 'implementations';\\n types = schema.getPossibleTypes(type);\\n }\\n else if (type instanceof GraphQLObjectType) {\\n typesTitle = 'implements';\\n types = type.getInterfaces();\\n }\\n var typesDef;\\n if (types && types.length > 0) {\\n typesDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, typesTitle),\\n types.map(function (subtype) { return (React.createElement(\\\"div\\\", { key: subtype.name, className: \\\"doc-category-item\\\" },\\n React.createElement(TypeLink, { type: subtype, onClick: onClickType }))); })));\\n }\\n var fieldsDef;\\n var deprecatedFieldsDef;\\n if (type && 'getFields' in type) {\\n var fieldMap_1 = type.getFields();\\n var fields = Object.keys(fieldMap_1).map(function (name) { return fieldMap_1[name]; });\\n fieldsDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'fields'),\\n fields\\n .filter(function (field) {\\n return 'isDeprecated' in field ? !field.isDeprecated : true;\\n })\\n .map(function (field) { return (React.createElement(Field, { key: field.name, type: type, field: field, onClickType: onClickType, onClickField: onClickField })); })));\\n var deprecatedFields = fields.filter(function (field) { return 'isDeprecated' in field && field.isDeprecated; });\\n if (deprecatedFields.length > 0) {\\n deprecatedFieldsDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'deprecated fields'),\\n !this.state.showDeprecated ? (React.createElement(\\\"button\\\", { className: \\\"show-btn\\\", onClick: this.handleShowDeprecated }, 'Show deprecated fields...')) : (deprecatedFields.map(function (field) { return (React.createElement(Field, { key: field.name, type: type, field: field, onClickType: onClickType, onClickField: onClickField })); }))));\\n }\\n }\\n var valuesDef;\\n var deprecatedValuesDef;\\n if (type instanceof GraphQLEnumType) {\\n var values = type.getValues();\\n valuesDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'values'),\\n values\\n .filter(function (value) { return !value.isDeprecated; })\\n .map(function (value) { return (React.createElement(EnumValue, { key: value.name, value: value })); })));\\n var deprecatedValues = values.filter(function (value) { return value.isDeprecated; });\\n if (deprecatedValues.length > 0) {\\n deprecatedValuesDef = (React.createElement(\\\"div\\\", { className: \\\"doc-category\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-category-title\\\" }, 'deprecated values'),\\n !this.state.showDeprecated ? (React.createElement(\\\"button\\\", { className: \\\"show-btn\\\", onClick: this.handleShowDeprecated }, 'Show deprecated values...')) : (deprecatedValues.map(function (value) { return (React.createElement(EnumValue, { key: value.name, value: value })); }))));\\n }\\n }\\n return (React.createElement(\\\"div\\\", null,\\n React.createElement(MarkdownContent, { className: \\\"doc-type-description\\\", markdown: ('description' in type && type.description) || 'No Description' }),\\n type instanceof GraphQLObjectType && typesDef,\\n fieldsDef,\\n deprecatedFieldsDef,\\n valuesDef,\\n deprecatedValuesDef,\\n !(type instanceof GraphQLObjectType) && typesDef));\\n };\\n return TypeDoc;\\n}(React.Component));\\nexport default TypeDoc;\\nfunction Field(_a) {\\n var type = _a.type, field = _a.field, onClickType = _a.onClickType, onClickField = _a.onClickField;\\n return (React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"a\\\", { className: \\\"field-name\\\", onClick: function (event) { return onClickField(field, type, event); } }, field.name),\\n 'args' in field &&\\n field.args &&\\n field.args.length > 0 && [\\n '(',\\n React.createElement(\\\"span\\\", { key: \\\"args\\\" }, field.args.map(function (arg) { return (React.createElement(Argument, { key: arg.name, arg: arg, onClickType: onClickType })); })),\\n ')',\\n ],\\n ': ',\\n React.createElement(TypeLink, { type: field.type, onClick: onClickType }),\\n React.createElement(DefaultValue, { field: field }),\\n field.description && (React.createElement(MarkdownContent, { className: \\\"field-short-description\\\", markdown: field.description })),\\n 'deprecationReason' in field && field.deprecationReason && (React.createElement(MarkdownContent, { className: \\\"doc-deprecation\\\", markdown: field.deprecationReason }))));\\n}\\nfunction EnumValue(_a) {\\n var value = _a.value;\\n return (React.createElement(\\\"div\\\", { className: \\\"doc-category-item\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"enum-value\\\" }, value.name),\\n React.createElement(MarkdownContent, { className: \\\"doc-value-description\\\", markdown: value.description }),\\n value.deprecationReason && (React.createElement(MarkdownContent, { className: \\\"doc-deprecation\\\", markdown: value.deprecationReason }))));\\n}\\n//# sourceMappingURL=TypeDoc.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nimport React from 'react';\\nimport { isType } from 'graphql';\\nimport FieldDoc from './DocExplorer/FieldDoc';\\nimport SchemaDoc from './DocExplorer/SchemaDoc';\\nimport SearchBox from './DocExplorer/SearchBox';\\nimport SearchResults from './DocExplorer/SearchResults';\\nimport TypeDoc from './DocExplorer/TypeDoc';\\nvar initialNav = {\\n name: 'Schema',\\n title: 'Documentation Explorer',\\n};\\nvar DocExplorer = (function (_super) {\\n __extends(DocExplorer, _super);\\n function DocExplorer(props) {\\n var _this = _super.call(this, props) || this;\\n _this.handleNavBackClick = function () {\\n if (_this.state.navStack.length > 1) {\\n _this.setState({ navStack: _this.state.navStack.slice(0, -1) });\\n }\\n };\\n _this.handleClickType = function (type) {\\n _this.showDoc(type);\\n };\\n _this.handleClickField = function (field) {\\n _this.showDoc(field);\\n };\\n _this.handleSearch = function (value) {\\n _this.showSearch(value);\\n };\\n _this.state = { navStack: [initialNav] };\\n return _this;\\n }\\n DocExplorer.prototype.shouldComponentUpdate = function (nextProps, nextState) {\\n return (this.props.schema !== nextProps.schema ||\\n this.state.navStack !== nextState.navStack);\\n };\\n DocExplorer.prototype.render = function () {\\n var schema = this.props.schema;\\n var navStack = this.state.navStack;\\n var navItem = navStack[navStack.length - 1];\\n var content;\\n if (schema === undefined) {\\n content = (React.createElement(\\\"div\\\", { className: \\\"spinner-container\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"spinner\\\" })));\\n }\\n else if (!schema) {\\n content = React.createElement(\\\"div\\\", { className: \\\"error-container\\\" }, 'No Schema Available');\\n }\\n else if (navItem.search) {\\n content = (React.createElement(SearchResults, { searchValue: navItem.search, withinType: navItem.def, schema: schema, onClickType: this.handleClickType, onClickField: this.handleClickField }));\\n }\\n else if (navStack.length === 1) {\\n content = (React.createElement(SchemaDoc, { schema: schema, onClickType: this.handleClickType }));\\n }\\n else if (isType(navItem.def)) {\\n content = (React.createElement(TypeDoc, { schema: schema, type: navItem.def, onClickType: this.handleClickType, onClickField: this.handleClickField }));\\n }\\n else {\\n content = (React.createElement(FieldDoc, { field: navItem.def, onClickType: this.handleClickType }));\\n }\\n var shouldSearchBoxAppear = navStack.length === 1 ||\\n (isType(navItem.def) && 'getFields' in navItem.def);\\n var prevName;\\n if (navStack.length > 1) {\\n prevName = navStack[navStack.length - 2].name;\\n }\\n return (React.createElement(\\\"section\\\", { className: \\\"doc-explorer\\\", key: navItem.name, \\\"aria-label\\\": \\\"Documentation Explorer\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"doc-explorer-title-bar\\\" },\\n prevName && (React.createElement(\\\"button\\\", { className: \\\"doc-explorer-back\\\", onClick: this.handleNavBackClick, \\\"aria-label\\\": \\\"Go back to \\\" + prevName }, prevName)),\\n React.createElement(\\\"div\\\", { className: \\\"doc-explorer-title\\\" }, navItem.title || navItem.name),\\n React.createElement(\\\"div\\\", { className: \\\"doc-explorer-rhs\\\" }, this.props.children)),\\n React.createElement(\\\"div\\\", { className: \\\"doc-explorer-contents\\\" },\\n shouldSearchBoxAppear && (React.createElement(SearchBox, { value: navItem.search, placeholder: \\\"Search \\\" + navItem.name + \\\"...\\\", onSearch: this.handleSearch })),\\n content)));\\n };\\n DocExplorer.prototype.showDoc = function (typeOrField) {\\n var navStack = this.state.navStack;\\n var topNav = navStack[navStack.length - 1];\\n if (topNav.def !== typeOrField) {\\n this.setState({\\n navStack: navStack.concat([\\n {\\n name: typeOrField.name,\\n def: typeOrField,\\n },\\n ]),\\n });\\n }\\n };\\n DocExplorer.prototype.showDocForReference = function (reference) {\\n if (reference && reference.kind === 'Type') {\\n this.showDoc(reference.type);\\n }\\n else if (reference.kind === 'Field') {\\n this.showDoc(reference.field);\\n }\\n else if (reference.kind === 'Argument' && reference.field) {\\n this.showDoc(reference.field);\\n }\\n else if (reference.kind === 'EnumValue' && reference.type) {\\n this.showDoc(reference.type);\\n }\\n };\\n DocExplorer.prototype.showSearch = function (search) {\\n var navStack = this.state.navStack.slice();\\n var topNav = navStack[navStack.length - 1];\\n navStack[navStack.length - 1] = __assign(__assign({}, topNav), { search: search });\\n this.setState({ navStack: navStack });\\n };\\n DocExplorer.prototype.reset = function () {\\n this.setState({ navStack: [initialNav] });\\n };\\n return DocExplorer;\\n}(React.Component));\\nexport { DocExplorer };\\n//# sourceMappingURL=DocExplorer.js.map\",\"export default function find(list, predicate) {\\n for (var i = 0; i < list.length; i++) {\\n if (predicate(list[i])) {\\n return list[i];\\n }\\n }\\n}\\n//# sourceMappingURL=find.js.map\",\"module.exports=/[!-#%-\\\\*,-\\\\/:;\\\\?@\\\\[-\\\\]_\\\\{\\\\}\\\\xA1\\\\xA7\\\\xAB\\\\xB6\\\\xB7\\\\xBB\\\\xBF\\\\u037E\\\\u0387\\\\u055A-\\\\u055F\\\\u0589\\\\u058A\\\\u05BE\\\\u05C0\\\\u05C3\\\\u05C6\\\\u05F3\\\\u05F4\\\\u0609\\\\u060A\\\\u060C\\\\u060D\\\\u061B\\\\u061E\\\\u061F\\\\u066A-\\\\u066D\\\\u06D4\\\\u0700-\\\\u070D\\\\u07F7-\\\\u07F9\\\\u0830-\\\\u083E\\\\u085E\\\\u0964\\\\u0965\\\\u0970\\\\u09FD\\\\u0A76\\\\u0AF0\\\\u0C84\\\\u0DF4\\\\u0E4F\\\\u0E5A\\\\u0E5B\\\\u0F04-\\\\u0F12\\\\u0F14\\\\u0F3A-\\\\u0F3D\\\\u0F85\\\\u0FD0-\\\\u0FD4\\\\u0FD9\\\\u0FDA\\\\u104A-\\\\u104F\\\\u10FB\\\\u1360-\\\\u1368\\\\u1400\\\\u166D\\\\u166E\\\\u169B\\\\u169C\\\\u16EB-\\\\u16ED\\\\u1735\\\\u1736\\\\u17D4-\\\\u17D6\\\\u17D8-\\\\u17DA\\\\u1800-\\\\u180A\\\\u1944\\\\u1945\\\\u1A1E\\\\u1A1F\\\\u1AA0-\\\\u1AA6\\\\u1AA8-\\\\u1AAD\\\\u1B5A-\\\\u1B60\\\\u1BFC-\\\\u1BFF\\\\u1C3B-\\\\u1C3F\\\\u1C7E\\\\u1C7F\\\\u1CC0-\\\\u1CC7\\\\u1CD3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205E\\\\u207D\\\\u207E\\\\u208D\\\\u208E\\\\u2308-\\\\u230B\\\\u2329\\\\u232A\\\\u2768-\\\\u2775\\\\u27C5\\\\u27C6\\\\u27E6-\\\\u27EF\\\\u2983-\\\\u2998\\\\u29D8-\\\\u29DB\\\\u29FC\\\\u29FD\\\\u2CF9-\\\\u2CFC\\\\u2CFE\\\\u2CFF\\\\u2D70\\\\u2E00-\\\\u2E2E\\\\u2E30-\\\\u2E4E\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301F\\\\u3030\\\\u303D\\\\u30A0\\\\u30FB\\\\uA4FE\\\\uA4FF\\\\uA60D-\\\\uA60F\\\\uA673\\\\uA67E\\\\uA6F2-\\\\uA6F7\\\\uA874-\\\\uA877\\\\uA8CE\\\\uA8CF\\\\uA8F8-\\\\uA8FA\\\\uA8FC\\\\uA92E\\\\uA92F\\\\uA95F\\\\uA9C1-\\\\uA9CD\\\\uA9DE\\\\uA9DF\\\\uAA5C-\\\\uAA5F\\\\uAADE\\\\uAADF\\\\uAAF0\\\\uAAF1\\\\uABEB\\\\uFD3E\\\\uFD3F\\\\uFE10-\\\\uFE19\\\\uFE30-\\\\uFE52\\\\uFE54-\\\\uFE61\\\\uFE63\\\\uFE68\\\\uFE6A\\\\uFE6B\\\\uFF01-\\\\uFF03\\\\uFF05-\\\\uFF0A\\\\uFF0C-\\\\uFF0F\\\\uFF1A\\\\uFF1B\\\\uFF1F\\\\uFF20\\\\uFF3B-\\\\uFF3D\\\\uFF3F\\\\uFF5B\\\\uFF5D\\\\uFF5F-\\\\uFF65]|\\\\uD800[\\\\uDD00-\\\\uDD02\\\\uDF9F\\\\uDFD0]|\\\\uD801\\\\uDD6F|\\\\uD802[\\\\uDC57\\\\uDD1F\\\\uDD3F\\\\uDE50-\\\\uDE58\\\\uDE7F\\\\uDEF0-\\\\uDEF6\\\\uDF39-\\\\uDF3F\\\\uDF99-\\\\uDF9C]|\\\\uD803[\\\\uDF55-\\\\uDF59]|\\\\uD804[\\\\uDC47-\\\\uDC4D\\\\uDCBB\\\\uDCBC\\\\uDCBE-\\\\uDCC1\\\\uDD40-\\\\uDD43\\\\uDD74\\\\uDD75\\\\uDDC5-\\\\uDDC8\\\\uDDCD\\\\uDDDB\\\\uDDDD-\\\\uDDDF\\\\uDE38-\\\\uDE3D\\\\uDEA9]|\\\\uD805[\\\\uDC4B-\\\\uDC4F\\\\uDC5B\\\\uDC5D\\\\uDCC6\\\\uDDC1-\\\\uDDD7\\\\uDE41-\\\\uDE43\\\\uDE60-\\\\uDE6C\\\\uDF3C-\\\\uDF3E]|\\\\uD806[\\\\uDC3B\\\\uDE3F-\\\\uDE46\\\\uDE9A-\\\\uDE9C\\\\uDE9E-\\\\uDEA2]|\\\\uD807[\\\\uDC41-\\\\uDC45\\\\uDC70\\\\uDC71\\\\uDEF7\\\\uDEF8]|\\\\uD809[\\\\uDC70-\\\\uDC74]|\\\\uD81A[\\\\uDE6E\\\\uDE6F\\\\uDEF5\\\\uDF37-\\\\uDF3B\\\\uDF44]|\\\\uD81B[\\\\uDE97-\\\\uDE9A]|\\\\uD82F\\\\uDC9F|\\\\uD836[\\\\uDE87-\\\\uDE8B]|\\\\uD83A[\\\\uDD5E\\\\uDD5F]/\",\"/**\\n * class Ruler\\n *\\n * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and\\n * [[MarkdownIt#inline]] to manage sequences of functions (rules):\\n *\\n * - keep rules in defined order\\n * - assign the name to each rule\\n * - enable/disable rules\\n * - add/replace rules\\n * - allow assign rules to additional named chains (in the same)\\n * - cacheing lists of active rules\\n *\\n * You will not need use this class directly until write plugins. For simple\\n * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and\\n * [[MarkdownIt.use]].\\n **/\\n'use strict';\\n\\n\\n/**\\n * new Ruler()\\n **/\\nfunction Ruler() {\\n // List of added rules. Each element is:\\n //\\n // {\\n // name: XXX,\\n // enabled: Boolean,\\n // fn: Function(),\\n // alt: [ name2, name3 ]\\n // }\\n //\\n this.__rules__ = [];\\n\\n // Cached rule chains.\\n //\\n // First level - chain name, '' for default.\\n // Second level - diginal anchor for fast filtering by charcodes.\\n //\\n this.__cache__ = null;\\n}\\n\\n////////////////////////////////////////////////////////////////////////////////\\n// Helper methods, should not be used directly\\n\\n\\n// Find rule index by name\\n//\\nRuler.prototype.__find__ = function (name) {\\n for (var i = 0; i < this.__rules__.length; i++) {\\n if (this.__rules__[i].name === name) {\\n return i;\\n }\\n }\\n return -1;\\n};\\n\\n\\n// Build rules lookup cache\\n//\\nRuler.prototype.__compile__ = function () {\\n var self = this;\\n var chains = [ '' ];\\n\\n // collect unique names\\n self.__rules__.forEach(function (rule) {\\n if (!rule.enabled) { return; }\\n\\n rule.alt.forEach(function (altName) {\\n if (chains.indexOf(altName) < 0) {\\n chains.push(altName);\\n }\\n });\\n });\\n\\n self.__cache__ = {};\\n\\n chains.forEach(function (chain) {\\n self.__cache__[chain] = [];\\n self.__rules__.forEach(function (rule) {\\n if (!rule.enabled) { return; }\\n\\n if (chain && rule.alt.indexOf(chain) < 0) { return; }\\n\\n self.__cache__[chain].push(rule.fn);\\n });\\n });\\n};\\n\\n\\n/**\\n * Ruler.at(name, fn [, options])\\n * - name (String): rule name to replace.\\n * - fn (Function): new rule function.\\n * - options (Object): new rule options (not mandatory).\\n *\\n * Replace rule by name with new function & options. Throws error if name not\\n * found.\\n *\\n * ##### Options:\\n *\\n * - __alt__ - array with names of \\\"alternate\\\" chains.\\n *\\n * ##### Example\\n *\\n * Replace existing typographer replacement rule with new one:\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n *\\n * md.core.ruler.at('replacements', function replace(state) {\\n * //...\\n * });\\n * ```\\n **/\\nRuler.prototype.at = function (name, fn, options) {\\n var index = this.__find__(name);\\n var opt = options || {};\\n\\n if (index === -1) { throw new Error('Parser rule not found: ' + name); }\\n\\n this.__rules__[index].fn = fn;\\n this.__rules__[index].alt = opt.alt || [];\\n this.__cache__ = null;\\n};\\n\\n\\n/**\\n * Ruler.before(beforeName, ruleName, fn [, options])\\n * - beforeName (String): new rule will be added before this one.\\n * - ruleName (String): name of added rule.\\n * - fn (Function): rule function.\\n * - options (Object): rule options (not mandatory).\\n *\\n * Add new rule to chain before one with given name. See also\\n * [[Ruler.after]], [[Ruler.push]].\\n *\\n * ##### Options:\\n *\\n * - __alt__ - array with names of \\\"alternate\\\" chains.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n *\\n * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {\\n * //...\\n * });\\n * ```\\n **/\\nRuler.prototype.before = function (beforeName, ruleName, fn, options) {\\n var index = this.__find__(beforeName);\\n var opt = options || {};\\n\\n if (index === -1) { throw new Error('Parser rule not found: ' + beforeName); }\\n\\n this.__rules__.splice(index, 0, {\\n name: ruleName,\\n enabled: true,\\n fn: fn,\\n alt: opt.alt || []\\n });\\n\\n this.__cache__ = null;\\n};\\n\\n\\n/**\\n * Ruler.after(afterName, ruleName, fn [, options])\\n * - afterName (String): new rule will be added after this one.\\n * - ruleName (String): name of added rule.\\n * - fn (Function): rule function.\\n * - options (Object): rule options (not mandatory).\\n *\\n * Add new rule to chain after one with given name. See also\\n * [[Ruler.before]], [[Ruler.push]].\\n *\\n * ##### Options:\\n *\\n * - __alt__ - array with names of \\\"alternate\\\" chains.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n *\\n * md.inline.ruler.after('text', 'my_rule', function replace(state) {\\n * //...\\n * });\\n * ```\\n **/\\nRuler.prototype.after = function (afterName, ruleName, fn, options) {\\n var index = this.__find__(afterName);\\n var opt = options || {};\\n\\n if (index === -1) { throw new Error('Parser rule not found: ' + afterName); }\\n\\n this.__rules__.splice(index + 1, 0, {\\n name: ruleName,\\n enabled: true,\\n fn: fn,\\n alt: opt.alt || []\\n });\\n\\n this.__cache__ = null;\\n};\\n\\n/**\\n * Ruler.push(ruleName, fn [, options])\\n * - ruleName (String): name of added rule.\\n * - fn (Function): rule function.\\n * - options (Object): rule options (not mandatory).\\n *\\n * Push new rule to the end of chain. See also\\n * [[Ruler.before]], [[Ruler.after]].\\n *\\n * ##### Options:\\n *\\n * - __alt__ - array with names of \\\"alternate\\\" chains.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n *\\n * md.core.ruler.push('my_rule', function replace(state) {\\n * //...\\n * });\\n * ```\\n **/\\nRuler.prototype.push = function (ruleName, fn, options) {\\n var opt = options || {};\\n\\n this.__rules__.push({\\n name: ruleName,\\n enabled: true,\\n fn: fn,\\n alt: opt.alt || []\\n });\\n\\n this.__cache__ = null;\\n};\\n\\n\\n/**\\n * Ruler.enable(list [, ignoreInvalid]) -> Array\\n * - list (String|Array): list of rule names to enable.\\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\\n *\\n * Enable rules with given names. If any rule name not found - throw Error.\\n * Errors can be disabled by second param.\\n *\\n * Returns list of found rule names (if no exception happened).\\n *\\n * See also [[Ruler.disable]], [[Ruler.enableOnly]].\\n **/\\nRuler.prototype.enable = function (list, ignoreInvalid) {\\n if (!Array.isArray(list)) { list = [ list ]; }\\n\\n var result = [];\\n\\n // Search by name and enable\\n list.forEach(function (name) {\\n var idx = this.__find__(name);\\n\\n if (idx < 0) {\\n if (ignoreInvalid) { return; }\\n throw new Error('Rules manager: invalid rule name ' + name);\\n }\\n this.__rules__[idx].enabled = true;\\n result.push(name);\\n }, this);\\n\\n this.__cache__ = null;\\n return result;\\n};\\n\\n\\n/**\\n * Ruler.enableOnly(list [, ignoreInvalid])\\n * - list (String|Array): list of rule names to enable (whitelist).\\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\\n *\\n * Enable rules with given names, and disable everything else. If any rule name\\n * not found - throw Error. Errors can be disabled by second param.\\n *\\n * See also [[Ruler.disable]], [[Ruler.enable]].\\n **/\\nRuler.prototype.enableOnly = function (list, ignoreInvalid) {\\n if (!Array.isArray(list)) { list = [ list ]; }\\n\\n this.__rules__.forEach(function (rule) { rule.enabled = false; });\\n\\n this.enable(list, ignoreInvalid);\\n};\\n\\n\\n/**\\n * Ruler.disable(list [, ignoreInvalid]) -> Array\\n * - list (String|Array): list of rule names to disable.\\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\\n *\\n * Disable rules with given names. If any rule name not found - throw Error.\\n * Errors can be disabled by second param.\\n *\\n * Returns list of found rule names (if no exception happened).\\n *\\n * See also [[Ruler.enable]], [[Ruler.enableOnly]].\\n **/\\nRuler.prototype.disable = function (list, ignoreInvalid) {\\n if (!Array.isArray(list)) { list = [ list ]; }\\n\\n var result = [];\\n\\n // Search by name and disable\\n list.forEach(function (name) {\\n var idx = this.__find__(name);\\n\\n if (idx < 0) {\\n if (ignoreInvalid) { return; }\\n throw new Error('Rules manager: invalid rule name ' + name);\\n }\\n this.__rules__[idx].enabled = false;\\n result.push(name);\\n }, this);\\n\\n this.__cache__ = null;\\n return result;\\n};\\n\\n\\n/**\\n * Ruler.getRules(chainName) -> Array\\n *\\n * Return array of active functions (rules) for given chain name. It analyzes\\n * rules configuration, compiles caches if not exists and returns result.\\n *\\n * Default chain name is `''` (empty string). It can't be skipped. That's\\n * done intentionally, to keep signature monomorphic for high speed.\\n **/\\nRuler.prototype.getRules = function (chainName) {\\n if (this.__cache__ === null) {\\n this.__compile__();\\n }\\n\\n // Chain can be empty, if rules disabled. But we still have to return Array.\\n return this.__cache__[chainName] || [];\\n};\\n\\nmodule.exports = Ruler;\\n\",\"// Token class\\n\\n'use strict';\\n\\n\\n/**\\n * class Token\\n **/\\n\\n/**\\n * new Token(type, tag, nesting)\\n *\\n * Create new token and fill passed properties.\\n **/\\nfunction Token(type, tag, nesting) {\\n /**\\n * Token#type -> String\\n *\\n * Type of the token (string, e.g. \\\"paragraph_open\\\")\\n **/\\n this.type = type;\\n\\n /**\\n * Token#tag -> String\\n *\\n * html tag name, e.g. \\\"p\\\"\\n **/\\n this.tag = tag;\\n\\n /**\\n * Token#attrs -> Array\\n *\\n * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`\\n **/\\n this.attrs = null;\\n\\n /**\\n * Token#map -> Array\\n *\\n * Source map info. Format: `[ line_begin, line_end ]`\\n **/\\n this.map = null;\\n\\n /**\\n * Token#nesting -> Number\\n *\\n * Level change (number in {-1, 0, 1} set), where:\\n *\\n * - `1` means the tag is opening\\n * - `0` means the tag is self-closing\\n * - `-1` means the tag is closing\\n **/\\n this.nesting = nesting;\\n\\n /**\\n * Token#level -> Number\\n *\\n * nesting level, the same as `state.level`\\n **/\\n this.level = 0;\\n\\n /**\\n * Token#children -> Array\\n *\\n * An array of child nodes (inline and img tokens)\\n **/\\n this.children = null;\\n\\n /**\\n * Token#content -> String\\n *\\n * In a case of self-closing tag (code, html, fence, etc.),\\n * it has contents of this tag.\\n **/\\n this.content = '';\\n\\n /**\\n * Token#markup -> String\\n *\\n * '*' or '_' for emphasis, fence string for fence, etc.\\n **/\\n this.markup = '';\\n\\n /**\\n * Token#info -> String\\n *\\n * fence infostring\\n **/\\n this.info = '';\\n\\n /**\\n * Token#meta -> Object\\n *\\n * A place for plugins to store an arbitrary data\\n **/\\n this.meta = null;\\n\\n /**\\n * Token#block -> Boolean\\n *\\n * True for block-level tokens, false for inline tokens.\\n * Used in renderer to calculate line breaks\\n **/\\n this.block = false;\\n\\n /**\\n * Token#hidden -> Boolean\\n *\\n * If it's true, ignore this element when rendering. Used for tight lists\\n * to hide paragraphs.\\n **/\\n this.hidden = false;\\n}\\n\\n\\n/**\\n * Token.attrIndex(name) -> Number\\n *\\n * Search attribute index by name.\\n **/\\nToken.prototype.attrIndex = function attrIndex(name) {\\n var attrs, i, len;\\n\\n if (!this.attrs) { return -1; }\\n\\n attrs = this.attrs;\\n\\n for (i = 0, len = attrs.length; i < len; i++) {\\n if (attrs[i][0] === name) { return i; }\\n }\\n return -1;\\n};\\n\\n\\n/**\\n * Token.attrPush(attrData)\\n *\\n * Add `[ name, value ]` attribute to list. Init attrs if necessary\\n **/\\nToken.prototype.attrPush = function attrPush(attrData) {\\n if (this.attrs) {\\n this.attrs.push(attrData);\\n } else {\\n this.attrs = [ attrData ];\\n }\\n};\\n\\n\\n/**\\n * Token.attrSet(name, value)\\n *\\n * Set `name` attribute to `value`. Override old value if exists.\\n **/\\nToken.prototype.attrSet = function attrSet(name, value) {\\n var idx = this.attrIndex(name),\\n attrData = [ name, value ];\\n\\n if (idx < 0) {\\n this.attrPush(attrData);\\n } else {\\n this.attrs[idx] = attrData;\\n }\\n};\\n\\n\\n/**\\n * Token.attrGet(name)\\n *\\n * Get the value of attribute `name`, or null if it does not exist.\\n **/\\nToken.prototype.attrGet = function attrGet(name) {\\n var idx = this.attrIndex(name), value = null;\\n if (idx >= 0) {\\n value = this.attrs[idx][1];\\n }\\n return value;\\n};\\n\\n\\n/**\\n * Token.attrJoin(name, value)\\n *\\n * Join value to existing attribute via space. Or create new attribute if not\\n * exists. Useful to operate with token classes.\\n **/\\nToken.prototype.attrJoin = function attrJoin(name, value) {\\n var idx = this.attrIndex(name);\\n\\n if (idx < 0) {\\n this.attrPush([ name, value ]);\\n } else {\\n this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;\\n }\\n};\\n\\n\\nmodule.exports = Token;\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n var defaults = {\\n pairs: \\\"()[]{}''\\\\\\\"\\\\\\\"\\\",\\n closeBefore: \\\")]}'\\\\\\\":;>\\\",\\n triples: \\\"\\\",\\n explode: \\\"[]{}\\\"\\n };\\n\\n var Pos = CodeMirror.Pos;\\n\\n CodeMirror.defineOption(\\\"autoCloseBrackets\\\", false, function(cm, val, old) {\\n if (old && old != CodeMirror.Init) {\\n cm.removeKeyMap(keyMap);\\n cm.state.closeBrackets = null;\\n }\\n if (val) {\\n ensureBound(getOption(val, \\\"pairs\\\"))\\n cm.state.closeBrackets = val;\\n cm.addKeyMap(keyMap);\\n }\\n });\\n\\n function getOption(conf, name) {\\n if (name == \\\"pairs\\\" && typeof conf == \\\"string\\\") return conf;\\n if (typeof conf == \\\"object\\\" && conf[name] != null) return conf[name];\\n return defaults[name];\\n }\\n\\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\\n function ensureBound(chars) {\\n for (var i = 0; i < chars.length; i++) {\\n var ch = chars.charAt(i), key = \\\"'\\\" + ch + \\\"'\\\"\\n if (!keyMap[key]) keyMap[key] = handler(ch)\\n }\\n }\\n ensureBound(defaults.pairs + \\\"`\\\")\\n\\n function handler(ch) {\\n return function(cm) { return handleChar(cm, ch); };\\n }\\n\\n function getConfig(cm) {\\n var deflt = cm.state.closeBrackets;\\n if (!deflt || deflt.override) return deflt;\\n var mode = cm.getModeAt(cm.getCursor());\\n return mode.closeBrackets || deflt;\\n }\\n\\n function handleBackspace(cm) {\\n var conf = getConfig(cm);\\n if (!conf || cm.getOption(\\\"disableInput\\\")) return CodeMirror.Pass;\\n\\n var pairs = getOption(conf, \\\"pairs\\\");\\n var ranges = cm.listSelections();\\n for (var i = 0; i < ranges.length; i++) {\\n if (!ranges[i].empty()) return CodeMirror.Pass;\\n var around = charsAround(cm, ranges[i].head);\\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\\n }\\n for (var i = ranges.length - 1; i >= 0; i--) {\\n var cur = ranges[i].head;\\n cm.replaceRange(\\\"\\\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \\\"+delete\\\");\\n }\\n }\\n\\n function handleEnter(cm) {\\n var conf = getConfig(cm);\\n var explode = conf && getOption(conf, \\\"explode\\\");\\n if (!explode || cm.getOption(\\\"disableInput\\\")) return CodeMirror.Pass;\\n\\n var ranges = cm.listSelections();\\n for (var i = 0; i < ranges.length; i++) {\\n if (!ranges[i].empty()) return CodeMirror.Pass;\\n var around = charsAround(cm, ranges[i].head);\\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\\n }\\n cm.operation(function() {\\n var linesep = cm.lineSeparator() || \\\"\\\\n\\\";\\n cm.replaceSelection(linesep + linesep, null);\\n moveSel(cm, -1)\\n ranges = cm.listSelections();\\n for (var i = 0; i < ranges.length; i++) {\\n var line = ranges[i].head.line;\\n cm.indentLine(line, null, true);\\n cm.indentLine(line + 1, null, true);\\n }\\n });\\n }\\n\\n function moveSel(cm, dir) {\\n var newRanges = [], ranges = cm.listSelections(), primary = 0\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i]\\n if (range.head == cm.getCursor()) primary = i\\n var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\\n newRanges.push({anchor: pos, head: pos})\\n }\\n cm.setSelections(newRanges, primary)\\n }\\n\\n function contractSelection(sel) {\\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\\n }\\n\\n function handleChar(cm, ch) {\\n var conf = getConfig(cm);\\n if (!conf || cm.getOption(\\\"disableInput\\\")) return CodeMirror.Pass;\\n\\n var pairs = getOption(conf, \\\"pairs\\\");\\n var pos = pairs.indexOf(ch);\\n if (pos == -1) return CodeMirror.Pass;\\n\\n var closeBefore = getOption(conf,\\\"closeBefore\\\");\\n\\n var triples = getOption(conf, \\\"triples\\\");\\n\\n var identical = pairs.charAt(pos + 1) == ch;\\n var ranges = cm.listSelections();\\n var opening = pos % 2 == 0;\\n\\n var type;\\n for (var i = 0; i < ranges.length; i++) {\\n var range = ranges[i], cur = range.head, curType;\\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\\n if (opening && !range.empty()) {\\n curType = \\\"surround\\\";\\n } else if ((identical || !opening) && next == ch) {\\n if (identical && stringStartsAfter(cm, cur))\\n curType = \\\"both\\\";\\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\\n curType = \\\"skipThree\\\";\\n else\\n curType = \\\"skip\\\";\\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\\n if (cur.ch > 2 && /\\\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\\n curType = \\\"addFour\\\";\\n } else if (identical) {\\n var prev = cur.ch == 0 ? \\\" \\\" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \\\"both\\\";\\n else return CodeMirror.Pass;\\n } else if (opening && (next.length === 0 || /\\\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\\n curType = \\\"both\\\";\\n } else {\\n return CodeMirror.Pass;\\n }\\n if (!type) type = curType;\\n else if (type != curType) return CodeMirror.Pass;\\n }\\n\\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\\n cm.operation(function() {\\n if (type == \\\"skip\\\") {\\n moveSel(cm, 1)\\n } else if (type == \\\"skipThree\\\") {\\n moveSel(cm, 3)\\n } else if (type == \\\"surround\\\") {\\n var sels = cm.getSelections();\\n for (var i = 0; i < sels.length; i++)\\n sels[i] = left + sels[i] + right;\\n cm.replaceSelections(sels, \\\"around\\\");\\n sels = cm.listSelections().slice();\\n for (var i = 0; i < sels.length; i++)\\n sels[i] = contractSelection(sels[i]);\\n cm.setSelections(sels);\\n } else if (type == \\\"both\\\") {\\n cm.replaceSelection(left + right, null);\\n cm.triggerElectric(left + right);\\n moveSel(cm, -1)\\n } else if (type == \\\"addFour\\\") {\\n cm.replaceSelection(left + left + left + left, \\\"before\\\");\\n moveSel(cm, 1)\\n }\\n });\\n }\\n\\n function charsAround(cm, pos) {\\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\\n Pos(pos.line, pos.ch + 1));\\n return str.length == 2 ? str : null;\\n }\\n\\n function stringStartsAfter(cm, pos) {\\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\\n return /\\\\bstring/.test(token.type) && token.start == pos.ch &&\\n (pos.ch == 0 || !/\\\\bstring/.test(cm.getTokenTypeAt(pos)))\\n }\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n var GUTTER_ID = \\\"CodeMirror-lint-markers\\\";\\n\\n function showTooltip(cm, e, content) {\\n var tt = document.createElement(\\\"div\\\");\\n tt.className = \\\"CodeMirror-lint-tooltip cm-s-\\\" + cm.options.theme;\\n tt.appendChild(content.cloneNode(true));\\n if (cm.state.lint.options.selfContain)\\n cm.getWrapperElement().appendChild(tt);\\n else\\n document.body.appendChild(tt);\\n\\n function position(e) {\\n if (!tt.parentNode) return CodeMirror.off(document, \\\"mousemove\\\", position);\\n tt.style.top = Math.max(0, e.clientY - tt.offsetHeight - 5) + \\\"px\\\";\\n tt.style.left = (e.clientX + 5) + \\\"px\\\";\\n }\\n CodeMirror.on(document, \\\"mousemove\\\", position);\\n position(e);\\n if (tt.style.opacity != null) tt.style.opacity = 1;\\n return tt;\\n }\\n function rm(elt) {\\n if (elt.parentNode) elt.parentNode.removeChild(elt);\\n }\\n function hideTooltip(tt) {\\n if (!tt.parentNode) return;\\n if (tt.style.opacity == null) rm(tt);\\n tt.style.opacity = 0;\\n setTimeout(function() { rm(tt); }, 600);\\n }\\n\\n function showTooltipFor(cm, e, content, node) {\\n var tooltip = showTooltip(cm, e, content);\\n function hide() {\\n CodeMirror.off(node, \\\"mouseout\\\", hide);\\n if (tooltip) { hideTooltip(tooltip); tooltip = null; }\\n }\\n var poll = setInterval(function() {\\n if (tooltip) for (var n = node;; n = n.parentNode) {\\n if (n && n.nodeType == 11) n = n.host;\\n if (n == document.body) return;\\n if (!n) { hide(); break; }\\n }\\n if (!tooltip) return clearInterval(poll);\\n }, 400);\\n CodeMirror.on(node, \\\"mouseout\\\", hide);\\n }\\n\\n function LintState(cm, options, hasGutter) {\\n this.marked = [];\\n this.options = options;\\n this.timeout = null;\\n this.hasGutter = hasGutter;\\n this.onMouseOver = function(e) { onMouseOver(cm, e); };\\n this.waitingFor = 0\\n }\\n\\n function parseOptions(_cm, options) {\\n if (options instanceof Function) return {getAnnotations: options};\\n if (!options || options === true) options = {};\\n return options;\\n }\\n\\n function clearMarks(cm) {\\n var state = cm.state.lint;\\n if (state.hasGutter) cm.clearGutter(GUTTER_ID);\\n for (var i = 0; i < state.marked.length; ++i)\\n state.marked[i].clear();\\n state.marked.length = 0;\\n }\\n\\n function makeMarker(cm, labels, severity, multiple, tooltips) {\\n var marker = document.createElement(\\\"div\\\"), inner = marker;\\n marker.className = \\\"CodeMirror-lint-marker CodeMirror-lint-marker-\\\" + severity;\\n if (multiple) {\\n inner = marker.appendChild(document.createElement(\\\"div\\\"));\\n inner.className = \\\"CodeMirror-lint-marker CodeMirror-lint-marker-multiple\\\";\\n }\\n\\n if (tooltips != false) CodeMirror.on(inner, \\\"mouseover\\\", function(e) {\\n showTooltipFor(cm, e, labels, inner);\\n });\\n\\n return marker;\\n }\\n\\n function getMaxSeverity(a, b) {\\n if (a == \\\"error\\\") return a;\\n else return b;\\n }\\n\\n function groupByLine(annotations) {\\n var lines = [];\\n for (var i = 0; i < annotations.length; ++i) {\\n var ann = annotations[i], line = ann.from.line;\\n (lines[line] || (lines[line] = [])).push(ann);\\n }\\n return lines;\\n }\\n\\n function annotationTooltip(ann) {\\n var severity = ann.severity;\\n if (!severity) severity = \\\"error\\\";\\n var tip = document.createElement(\\\"div\\\");\\n tip.className = \\\"CodeMirror-lint-message CodeMirror-lint-message-\\\" + severity;\\n if (typeof ann.messageHTML != 'undefined') {\\n tip.innerHTML = ann.messageHTML;\\n } else {\\n tip.appendChild(document.createTextNode(ann.message));\\n }\\n return tip;\\n }\\n\\n function lintAsync(cm, getAnnotations, passOptions) {\\n var state = cm.state.lint\\n var id = ++state.waitingFor\\n function abort() {\\n id = -1\\n cm.off(\\\"change\\\", abort)\\n }\\n cm.on(\\\"change\\\", abort)\\n getAnnotations(cm.getValue(), function(annotations, arg2) {\\n cm.off(\\\"change\\\", abort)\\n if (state.waitingFor != id) return\\n if (arg2 && annotations instanceof CodeMirror) annotations = arg2\\n cm.operation(function() {updateLinting(cm, annotations)})\\n }, passOptions, cm);\\n }\\n\\n function startLinting(cm) {\\n var state = cm.state.lint, options = state.options;\\n /*\\n * Passing rules in `options` property prevents JSHint (and other linters) from complaining\\n * about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc.\\n */\\n var passOptions = options.options || options;\\n var getAnnotations = options.getAnnotations || cm.getHelper(CodeMirror.Pos(0, 0), \\\"lint\\\");\\n if (!getAnnotations) return;\\n if (options.async || getAnnotations.async) {\\n lintAsync(cm, getAnnotations, passOptions)\\n } else {\\n var annotations = getAnnotations(cm.getValue(), passOptions, cm);\\n if (!annotations) return;\\n if (annotations.then) annotations.then(function(issues) {\\n cm.operation(function() {updateLinting(cm, issues)})\\n });\\n else cm.operation(function() {updateLinting(cm, annotations)})\\n }\\n }\\n\\n function updateLinting(cm, annotationsNotSorted) {\\n clearMarks(cm);\\n var state = cm.state.lint, options = state.options;\\n\\n var annotations = groupByLine(annotationsNotSorted);\\n\\n for (var line = 0; line < annotations.length; ++line) {\\n var anns = annotations[line];\\n if (!anns) continue;\\n\\n // filter out duplicate messages\\n var message = [];\\n anns = anns.filter(function(item) { return message.indexOf(item.message) > -1 ? false : message.push(item.message) });\\n\\n var maxSeverity = null;\\n var tipLabel = state.hasGutter && document.createDocumentFragment();\\n\\n for (var i = 0; i < anns.length; ++i) {\\n var ann = anns[i];\\n var severity = ann.severity;\\n if (!severity) severity = \\\"error\\\";\\n maxSeverity = getMaxSeverity(maxSeverity, severity);\\n\\n if (options.formatAnnotation) ann = options.formatAnnotation(ann);\\n if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann));\\n\\n if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, {\\n className: \\\"CodeMirror-lint-mark CodeMirror-lint-mark-\\\" + severity,\\n __annotation: ann\\n }));\\n }\\n // use original annotations[line] to show multiple messages\\n if (state.hasGutter)\\n cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1,\\n state.options.tooltips));\\n }\\n if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm);\\n }\\n\\n function onChange(cm) {\\n var state = cm.state.lint;\\n if (!state) return;\\n clearTimeout(state.timeout);\\n state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay || 500);\\n }\\n\\n function popupTooltips(cm, annotations, e) {\\n var target = e.target || e.srcElement;\\n var tooltip = document.createDocumentFragment();\\n for (var i = 0; i < annotations.length; i++) {\\n var ann = annotations[i];\\n tooltip.appendChild(annotationTooltip(ann));\\n }\\n showTooltipFor(cm, e, tooltip, target);\\n }\\n\\n function onMouseOver(cm, e) {\\n var target = e.target || e.srcElement;\\n if (!/\\\\bCodeMirror-lint-mark-/.test(target.className)) return;\\n var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2;\\n var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, \\\"client\\\"));\\n\\n var annotations = [];\\n for (var i = 0; i < spans.length; ++i) {\\n var ann = spans[i].__annotation;\\n if (ann) annotations.push(ann);\\n }\\n if (annotations.length) popupTooltips(cm, annotations, e);\\n }\\n\\n CodeMirror.defineOption(\\\"lint\\\", false, function(cm, val, old) {\\n if (old && old != CodeMirror.Init) {\\n clearMarks(cm);\\n if (cm.state.lint.options.lintOnChange !== false)\\n cm.off(\\\"change\\\", onChange);\\n CodeMirror.off(cm.getWrapperElement(), \\\"mouseover\\\", cm.state.lint.onMouseOver);\\n clearTimeout(cm.state.lint.timeout);\\n delete cm.state.lint;\\n }\\n\\n if (val) {\\n var gutters = cm.getOption(\\\"gutters\\\"), hasLintGutter = false;\\n for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true;\\n var state = cm.state.lint = new LintState(cm, parseOptions(cm, val), hasLintGutter);\\n if (state.options.lintOnChange !== false)\\n cm.on(\\\"change\\\", onChange);\\n if (state.options.tooltips != false && state.options.tooltips != \\\"gutter\\\")\\n CodeMirror.on(cm.getWrapperElement(), \\\"mouseover\\\", state.onMouseOver);\\n\\n startLinting(cm);\\n }\\n });\\n\\n CodeMirror.defineExtension(\\\"performLint\\\", function() {\\n if (this.state.lint) startLinting(this);\\n });\\n});\\n\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nvar __generator = (this && this.__generator) || function (thisArg, body) {\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\n return g = { next: verb(0), \\\"throw\\\": verb(1), \\\"return\\\": verb(2) }, typeof Symbol === \\\"function\\\" && (g[Symbol.iterator] = function() { return this; }), g;\\n function verb(n) { return function (v) { return step([n, v]); }; }\\n function step(op) {\\n if (f) throw new TypeError(\\\"Generator is already executing.\\\");\\n while (_) try {\\n if (f = 1, y && (t = op[0] & 2 ? y[\\\"return\\\"] : op[0] ? y[\\\"throw\\\"] || ((t = y[\\\"return\\\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\n if (y = 0, t) op = [op[0] & 2, t.value];\\n switch (op[0]) {\\n case 0: case 1: t = op; break;\\n case 4: _.label++; return { value: op[1], done: false };\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\n default:\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\n if (t[2]) _.ops.pop();\\n _.trys.pop(); continue;\\n }\\n op = body.call(thisArg, _);\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\n }\\n};\\nvar __rest = (this && this.__rest) || function (s, e) {\\n var t = {};\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\n t[p] = s[p];\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\"function\\\")\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\n t[p[i]] = s[p[i]];\\n }\\n return t;\\n};\\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\n var m = o[Symbol.asyncIterator], i;\\n return m ? m.call(o) : (o = typeof __values === \\\"function\\\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\n};\\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\n r[k] = a[j];\\n return r;\\n};\\nimport React from 'react';\\nimport { buildClientSchema, parse, print, visit, } from 'graphql';\\nimport copyToClipboard from 'copy-to-clipboard';\\nimport { getFragmentDependenciesForAST } from 'graphql-language-service-utils';\\nimport { dset } from 'dset';\\nimport { ExecuteButton } from './ExecuteButton';\\nimport { ImagePreview } from './ImagePreview';\\nimport { ToolbarButton } from './ToolbarButton';\\nimport { ToolbarGroup } from './ToolbarGroup';\\nimport { ToolbarMenu, ToolbarMenuItem } from './ToolbarMenu';\\nimport { QueryEditor } from './QueryEditor';\\nimport { VariableEditor } from './VariableEditor';\\nimport { HeaderEditor } from './HeaderEditor';\\nimport { ResultViewer } from './ResultViewer';\\nimport { DocExplorer } from './DocExplorer';\\nimport { QueryHistory } from './QueryHistory';\\nimport CodeMirrorSizer from '../utility/CodeMirrorSizer';\\nimport StorageAPI from '../utility/StorageAPI';\\nimport getOperationFacts from '../utility/getQueryFacts';\\nimport getSelectedOperationName from '../utility/getSelectedOperationName';\\nimport debounce from '../utility/debounce';\\nimport find from '../utility/find';\\nimport { fillLeafs } from '../utility/fillLeafs';\\nimport { getLeft, getTop } from '../utility/elementPosition';\\nimport mergeAST from '../utility/mergeAst';\\nimport { introspectionQuery, introspectionQueryName, introspectionQuerySansSubscriptions, } from '../utility/introspectionQueries';\\nvar DEFAULT_DOC_EXPLORER_WIDTH = 350;\\nvar majorVersion = parseInt(React.version.slice(0, 2), 10);\\nif (majorVersion < 16) {\\n throw Error([\\n 'GraphiQL 0.18.0 and after is not compatible with React 15 or below.',\\n 'If you are using a CDN source (jsdelivr, unpkg, etc), follow this example:',\\n 'https://github.com/graphql/graphiql/blob/master/examples/graphiql-cdn/index.html#L49',\\n ].join('\\\\n'));\\n}\\nvar GraphiQL = (function (_super) {\\n __extends(GraphiQL, _super);\\n function GraphiQL(props) {\\n var _a, _b;\\n var _this = _super.call(this, props) || this;\\n _this._editorQueryID = 0;\\n _this.safeSetState = function (nextState, callback) {\\n _this.componentIsMounted && _this.setState(nextState, callback);\\n };\\n _this.handleClickReference = function (reference) {\\n _this.setState({ docExplorerOpen: true }, function () {\\n if (_this.docExplorerComponent) {\\n _this.docExplorerComponent.showDocForReference(reference);\\n }\\n });\\n _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\\n };\\n _this.handleRunQuery = function (selectedOperationName) { return __awaiter(_this, void 0, void 0, function () {\\n var queryID, editedQuery, variables, headers, shouldPersistHeaders, operationName, fullResponse_1, subscription, error_1;\\n var _this = this;\\n return __generator(this, function (_a) {\\n switch (_a.label) {\\n case 0:\\n this._editorQueryID++;\\n queryID = this._editorQueryID;\\n editedQuery = this.autoCompleteLeafs() || this.state.query;\\n variables = this.state.variables;\\n headers = this.state.headers;\\n shouldPersistHeaders = this.state.shouldPersistHeaders;\\n operationName = this.state.operationName;\\n if (selectedOperationName && selectedOperationName !== operationName) {\\n operationName = selectedOperationName;\\n this.handleEditOperationName(operationName);\\n }\\n _a.label = 1;\\n case 1:\\n _a.trys.push([1, 3, , 4]);\\n this.setState({\\n isWaitingForResponse: true,\\n response: undefined,\\n operationName: operationName,\\n });\\n this._storage.set('operationName', operationName);\\n if (this._queryHistory) {\\n this._queryHistory.updateHistory(editedQuery, variables, headers, operationName);\\n }\\n fullResponse_1 = { data: {} };\\n return [4, this._fetchQuery(editedQuery, variables, headers, operationName, shouldPersistHeaders, function (result) {\\n if (queryID === _this._editorQueryID) {\\n var maybeMultipart = Array.isArray(result) ? result : false;\\n if (!maybeMultipart &&\\n typeof result !== 'string' &&\\n result !== null &&\\n 'hasNext' in result) {\\n maybeMultipart = [result];\\n }\\n if (maybeMultipart) {\\n var payload = { data: fullResponse_1.data };\\n var maybeErrors = __spreadArrays(((fullResponse_1 === null || fullResponse_1 === void 0 ? void 0 : fullResponse_1.errors) || []), maybeMultipart\\n .map(function (i) { return i.errors; })\\n .flat()\\n .filter(Boolean));\\n if (maybeErrors.length) {\\n payload.errors = maybeErrors;\\n }\\n for (var _i = 0, maybeMultipart_1 = maybeMultipart; _i < maybeMultipart_1.length; _i++) {\\n var part = maybeMultipart_1[_i];\\n var path = part.path, data = part.data, _errors = part.errors, rest = __rest(part, [\\\"path\\\", \\\"data\\\", \\\"errors\\\"]);\\n if (path) {\\n if (!data) {\\n throw new Error(\\\"Expected part to contain a data property, but got \\\" + part);\\n }\\n dset(payload.data, part.path, part.data);\\n }\\n else if (data) {\\n payload.data = part.data;\\n }\\n fullResponse_1 = __assign(__assign({}, payload), rest);\\n }\\n _this.setState({\\n isWaitingForResponse: false,\\n response: GraphiQL.formatResult(fullResponse_1),\\n });\\n }\\n else {\\n _this.setState({\\n isWaitingForResponse: false,\\n response: GraphiQL.formatResult(result),\\n });\\n }\\n }\\n })];\\n case 2:\\n subscription = _a.sent();\\n this.setState({ subscription: subscription });\\n return [3, 4];\\n case 3:\\n error_1 = _a.sent();\\n this.setState({\\n isWaitingForResponse: false,\\n response: error_1.message,\\n });\\n return [3, 4];\\n case 4: return [2];\\n }\\n });\\n }); };\\n _this.handleStopQuery = function () {\\n var subscription = _this.state.subscription;\\n _this.setState({\\n isWaitingForResponse: false,\\n subscription: null,\\n });\\n if (subscription) {\\n subscription.unsubscribe();\\n }\\n };\\n _this.handlePrettifyQuery = function () {\\n var _a, _b, _c;\\n var editor = _this.getQueryEditor();\\n var editorContent = (_a = editor === null || editor === void 0 ? void 0 : editor.getValue()) !== null && _a !== void 0 ? _a : '';\\n var prettifiedEditorContent = print(parse(editorContent, { experimentalFragmentVariables: true }));\\n if (prettifiedEditorContent !== editorContent) {\\n editor === null || editor === void 0 ? void 0 : editor.setValue(prettifiedEditorContent);\\n }\\n var variableEditor = _this.getVariableEditor();\\n var variableEditorContent = (_b = variableEditor === null || variableEditor === void 0 ? void 0 : variableEditor.getValue()) !== null && _b !== void 0 ? _b : '';\\n try {\\n var prettifiedVariableEditorContent = JSON.stringify(JSON.parse(variableEditorContent), null, 2);\\n if (prettifiedVariableEditorContent !== variableEditorContent) {\\n variableEditor === null || variableEditor === void 0 ? void 0 : variableEditor.setValue(prettifiedVariableEditorContent);\\n }\\n }\\n catch (_d) {\\n }\\n var headerEditor = _this.getHeaderEditor();\\n var headerEditorContent = (_c = headerEditor === null || headerEditor === void 0 ? void 0 : headerEditor.getValue()) !== null && _c !== void 0 ? _c : '';\\n try {\\n var prettifiedHeaderEditorContent = JSON.stringify(JSON.parse(headerEditorContent), null, 2);\\n if (prettifiedHeaderEditorContent !== headerEditorContent) {\\n headerEditor === null || headerEditor === void 0 ? void 0 : headerEditor.setValue(prettifiedHeaderEditorContent);\\n }\\n }\\n catch (_e) {\\n }\\n };\\n _this.handleMergeQuery = function () {\\n var editor = _this.getQueryEditor();\\n var query = editor.getValue();\\n if (!query) {\\n return;\\n }\\n var ast = _this.state.documentAST;\\n editor.setValue(print(mergeAST(ast, _this.state.schema)));\\n };\\n _this.handleEditQuery = debounce(100, function (value) {\\n var queryFacts = _this._updateQueryFacts(value, _this.state.operationName, _this.state.operations, _this.state.schema);\\n _this.setState(__assign({ query: value }, queryFacts));\\n _this._storage.set('query', value);\\n if (_this.props.onEditQuery) {\\n return _this.props.onEditQuery(value, queryFacts === null || queryFacts === void 0 ? void 0 : queryFacts.documentAST);\\n }\\n });\\n _this.handleCopyQuery = function () {\\n var editor = _this.getQueryEditor();\\n var query = editor && editor.getValue();\\n if (!query) {\\n return;\\n }\\n copyToClipboard(query);\\n if (_this.props.onCopyQuery) {\\n return _this.props.onCopyQuery(query);\\n }\\n };\\n _this._updateQueryFacts = function (query, operationName, prevOperations, schema) {\\n var queryFacts = getOperationFacts(schema, query);\\n if (queryFacts) {\\n var updatedOperationName = getSelectedOperationName(prevOperations, operationName, queryFacts.operations);\\n var onEditOperationName = _this.props.onEditOperationName;\\n if (onEditOperationName &&\\n updatedOperationName &&\\n operationName !== updatedOperationName) {\\n onEditOperationName(updatedOperationName);\\n }\\n return __assign({ operationName: updatedOperationName }, queryFacts);\\n }\\n };\\n _this.handleEditVariables = function (value) {\\n _this.setState({ variables: value });\\n debounce(500, function () { return _this._storage.set('variables', value); })();\\n if (_this.props.onEditVariables) {\\n _this.props.onEditVariables(value);\\n }\\n };\\n _this.handleEditHeaders = function (value) {\\n _this.setState({ headers: value });\\n _this.props.shouldPersistHeaders &&\\n debounce(500, function () { return _this._storage.set('headers', value); })();\\n if (_this.props.onEditHeaders) {\\n _this.props.onEditHeaders(value);\\n }\\n };\\n _this.handleEditOperationName = function (operationName) {\\n var onEditOperationName = _this.props.onEditOperationName;\\n if (onEditOperationName) {\\n onEditOperationName(operationName);\\n }\\n };\\n _this.handleHintInformationRender = function (elem) {\\n elem.addEventListener('click', _this._onClickHintInformation);\\n var onRemoveFn;\\n elem.addEventListener('DOMNodeRemoved', (onRemoveFn = function () {\\n elem.removeEventListener('DOMNodeRemoved', onRemoveFn);\\n elem.removeEventListener('click', _this._onClickHintInformation);\\n }));\\n };\\n _this.handleEditorRunQuery = function () {\\n _this._runQueryAtCursor();\\n };\\n _this._onClickHintInformation = function (event) {\\n if ((event === null || event === void 0 ? void 0 : event.currentTarget) &&\\n 'className' in event.currentTarget &&\\n event.currentTarget.className === 'typeName') {\\n var typeName = event.currentTarget.innerHTML;\\n var schema = _this.state.schema;\\n if (schema) {\\n var type_1 = schema.getType(typeName);\\n if (type_1) {\\n _this.setState({ docExplorerOpen: true }, function () {\\n if (_this.docExplorerComponent) {\\n _this.docExplorerComponent.showDoc(type_1);\\n }\\n });\\n debounce(500, function () {\\n return _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\\n })();\\n }\\n }\\n }\\n };\\n _this.handleToggleDocs = function () {\\n if (typeof _this.props.onToggleDocs === 'function') {\\n _this.props.onToggleDocs(!_this.state.docExplorerOpen);\\n }\\n _this._storage.set('docExplorerOpen', JSON.stringify(!_this.state.docExplorerOpen));\\n _this.setState({ docExplorerOpen: !_this.state.docExplorerOpen });\\n };\\n _this.handleToggleHistory = function () {\\n if (typeof _this.props.onToggleHistory === 'function') {\\n _this.props.onToggleHistory(!_this.state.historyPaneOpen);\\n }\\n _this._storage.set('historyPaneOpen', JSON.stringify(!_this.state.historyPaneOpen));\\n _this.setState({ historyPaneOpen: !_this.state.historyPaneOpen });\\n };\\n _this.handleSelectHistoryQuery = function (query, variables, headers, operationName) {\\n if (query) {\\n _this.handleEditQuery(query);\\n }\\n if (variables) {\\n _this.handleEditVariables(variables);\\n }\\n if (headers) {\\n _this.handleEditHeaders(headers);\\n }\\n if (operationName) {\\n _this.handleEditOperationName(operationName);\\n }\\n };\\n _this.handleResizeStart = function (downEvent) {\\n if (!_this._didClickDragBar(downEvent)) {\\n return;\\n }\\n downEvent.preventDefault();\\n var offset = downEvent.clientX - getLeft(downEvent.target);\\n var onMouseMove = function (moveEvent) {\\n if (moveEvent.buttons === 0) {\\n return onMouseUp();\\n }\\n var editorBar = _this.editorBarComponent;\\n var leftSize = moveEvent.clientX - getLeft(editorBar) - offset;\\n var rightSize = editorBar.clientWidth - leftSize;\\n _this.setState({ editorFlex: leftSize / rightSize });\\n debounce(500, function () {\\n return _this._storage.set('editorFlex', JSON.stringify(_this.state.editorFlex));\\n })();\\n };\\n var onMouseUp = function () {\\n document.removeEventListener('mousemove', onMouseMove);\\n document.removeEventListener('mouseup', onMouseUp);\\n onMouseMove = null;\\n onMouseUp = null;\\n };\\n document.addEventListener('mousemove', onMouseMove);\\n document.addEventListener('mouseup', onMouseUp);\\n };\\n _this.handleResetResize = function () {\\n _this.setState({ editorFlex: 1 });\\n _this._storage.set('editorFlex', JSON.stringify(_this.state.editorFlex));\\n };\\n _this.handleDocsResizeStart = function (downEvent) {\\n downEvent.preventDefault();\\n var hadWidth = _this.state.docExplorerWidth;\\n var offset = downEvent.clientX - getLeft(downEvent.target);\\n var onMouseMove = function (moveEvent) {\\n if (moveEvent.buttons === 0) {\\n return onMouseUp();\\n }\\n var app = _this.graphiqlContainer;\\n var cursorPos = moveEvent.clientX - getLeft(app) - offset;\\n var docsSize = app.clientWidth - cursorPos;\\n if (docsSize < 100) {\\n if (typeof _this.props.onToggleDocs === 'function') {\\n _this.props.onToggleDocs(!_this.state.docExplorerOpen);\\n }\\n _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\\n _this.setState({ docExplorerOpen: false });\\n }\\n else {\\n _this.setState({\\n docExplorerOpen: true,\\n docExplorerWidth: Math.min(docsSize, 650),\\n });\\n debounce(500, function () {\\n return _this._storage.set('docExplorerWidth', JSON.stringify(_this.state.docExplorerWidth));\\n })();\\n }\\n _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\\n };\\n var onMouseUp = function () {\\n if (!_this.state.docExplorerOpen) {\\n _this.setState({ docExplorerWidth: hadWidth });\\n debounce(500, function () {\\n return _this._storage.set('docExplorerWidth', JSON.stringify(_this.state.docExplorerWidth));\\n })();\\n }\\n document.removeEventListener('mousemove', onMouseMove);\\n document.removeEventListener('mouseup', onMouseUp);\\n onMouseMove = null;\\n onMouseUp = null;\\n };\\n document.addEventListener('mousemove', onMouseMove);\\n document.addEventListener('mouseup', onMouseUp);\\n };\\n _this.handleDocsResetResize = function () {\\n _this.setState({\\n docExplorerWidth: DEFAULT_DOC_EXPLORER_WIDTH,\\n });\\n debounce(500, function () {\\n return _this._storage.set('docExplorerWidth', JSON.stringify(_this.state.docExplorerWidth));\\n })();\\n };\\n _this.handleTabClickPropogation = function (downEvent) {\\n downEvent.preventDefault();\\n downEvent.stopPropagation();\\n };\\n _this.handleOpenHeaderEditorTab = function (_clickEvent) {\\n _this.setState({\\n headerEditorActive: true,\\n variableEditorActive: false,\\n secondaryEditorOpen: true,\\n });\\n };\\n _this.handleOpenVariableEditorTab = function (_clickEvent) {\\n _this.setState({\\n headerEditorActive: false,\\n variableEditorActive: true,\\n secondaryEditorOpen: true,\\n });\\n };\\n _this.handleSecondaryEditorResizeStart = function (downEvent) {\\n downEvent.preventDefault();\\n var didMove = false;\\n var wasOpen = _this.state.secondaryEditorOpen;\\n var hadHeight = _this.state.secondaryEditorHeight;\\n var offset = downEvent.clientY - getTop(downEvent.target);\\n var onMouseMove = function (moveEvent) {\\n if (moveEvent.buttons === 0) {\\n return onMouseUp();\\n }\\n didMove = true;\\n var editorBar = _this.editorBarComponent;\\n var topSize = moveEvent.clientY - getTop(editorBar) - offset;\\n var bottomSize = editorBar.clientHeight - topSize;\\n if (bottomSize < 60) {\\n _this.setState({\\n secondaryEditorOpen: false,\\n secondaryEditorHeight: hadHeight,\\n });\\n }\\n else {\\n _this.setState({\\n secondaryEditorOpen: true,\\n secondaryEditorHeight: bottomSize,\\n });\\n }\\n debounce(500, function () {\\n return _this._storage.set('secondaryEditorHeight', JSON.stringify(_this.state.secondaryEditorHeight));\\n })();\\n };\\n var onMouseUp = function () {\\n if (!didMove) {\\n _this.setState({ secondaryEditorOpen: !wasOpen });\\n }\\n document.removeEventListener('mousemove', onMouseMove);\\n document.removeEventListener('mouseup', onMouseUp);\\n onMouseMove = null;\\n onMouseUp = null;\\n };\\n document.addEventListener('mousemove', onMouseMove);\\n document.addEventListener('mouseup', onMouseUp);\\n };\\n if (typeof props.fetcher !== 'function') {\\n throw new TypeError('GraphiQL requires a fetcher function.');\\n }\\n _this._storage = new StorageAPI(props.storage);\\n _this.componentIsMounted = false;\\n var query = props.query !== undefined\\n ? props.query\\n : _this._storage.get('query')\\n ? _this._storage.get('query')\\n : props.defaultQuery !== undefined\\n ? props.defaultQuery\\n : defaultQuery;\\n var queryFacts = getOperationFacts(props.schema, query);\\n var variables = props.variables !== undefined\\n ? props.variables\\n : _this._storage.get('variables');\\n var headers = props.headers !== undefined\\n ? props.headers\\n : _this._storage.get('headers');\\n var operationName = props.operationName !== undefined\\n ? props.operationName\\n : getSelectedOperationName(undefined, _this._storage.get('operationName'), queryFacts && queryFacts.operations);\\n var docExplorerOpen = props.docExplorerOpen || false;\\n if (_this._storage.get('docExplorerOpen')) {\\n docExplorerOpen = _this._storage.get('docExplorerOpen') === 'true';\\n }\\n var secondaryEditorOpen;\\n if (props.defaultVariableEditorOpen !== undefined) {\\n secondaryEditorOpen = props.defaultVariableEditorOpen;\\n }\\n else if (props.defaultSecondaryEditorOpen !== undefined) {\\n secondaryEditorOpen = props.defaultSecondaryEditorOpen;\\n }\\n else {\\n secondaryEditorOpen = Boolean(variables || headers);\\n }\\n var headerEditorEnabled = (_a = props.headerEditorEnabled) !== null && _a !== void 0 ? _a : false;\\n var shouldPersistHeaders = (_b = props.shouldPersistHeaders) !== null && _b !== void 0 ? _b : false;\\n _this.state = __assign({ schema: props.schema, query: query, variables: variables, headers: headers, operationName: operationName,\\n docExplorerOpen: docExplorerOpen, response: props.response, editorFlex: Number(_this._storage.get('editorFlex')) || 1, secondaryEditorOpen: secondaryEditorOpen, secondaryEditorHeight: Number(_this._storage.get('secondaryEditorHeight')) || 200, variableEditorActive: _this._storage.get('variableEditorActive') === 'true' ||\\n props.headerEditorEnabled\\n ? _this._storage.get('headerEditorActive') !== 'true'\\n : true, headerEditorActive: _this._storage.get('headerEditorActive') === 'true', headerEditorEnabled: headerEditorEnabled,\\n shouldPersistHeaders: shouldPersistHeaders, historyPaneOpen: _this._storage.get('historyPaneOpen') === 'true' || false, docExplorerWidth: Number(_this._storage.get('docExplorerWidth')) ||\\n DEFAULT_DOC_EXPLORER_WIDTH, isWaitingForResponse: false, subscription: null }, queryFacts);\\n return _this;\\n }\\n GraphiQL.formatResult = function (result) {\\n return JSON.stringify(result, null, 2);\\n };\\n GraphiQL.formatError = function (rawError) {\\n var result = Array.isArray(rawError)\\n ? rawError.map(formatSingleError)\\n : formatSingleError(rawError);\\n return JSON.stringify(result, null, 2);\\n };\\n GraphiQL.prototype.componentDidMount = function () {\\n this.componentIsMounted = true;\\n if (this.state.schema === undefined) {\\n this.fetchSchema();\\n }\\n this.codeMirrorSizer = new CodeMirrorSizer();\\n global.g = this;\\n };\\n GraphiQL.prototype.UNSAFE_componentWillMount = function () {\\n this.componentIsMounted = false;\\n };\\n GraphiQL.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {\\n var _this = this;\\n var nextSchema = this.state.schema;\\n var nextQuery = this.state.query;\\n var nextVariables = this.state.variables;\\n var nextHeaders = this.state.headers;\\n var nextOperationName = this.state.operationName;\\n var nextResponse = this.state.response;\\n if (nextProps.schema !== undefined) {\\n nextSchema = nextProps.schema;\\n }\\n if (nextProps.query !== undefined && this.props.query !== nextProps.query) {\\n nextQuery = nextProps.query;\\n }\\n if (nextProps.variables !== undefined &&\\n this.props.variables !== nextProps.variables) {\\n nextVariables = nextProps.variables;\\n }\\n if (nextProps.headers !== undefined &&\\n this.props.headers !== nextProps.headers) {\\n nextHeaders = nextProps.headers;\\n }\\n if (nextProps.operationName !== undefined) {\\n nextOperationName = nextProps.operationName;\\n }\\n if (nextProps.response !== undefined) {\\n nextResponse = nextProps.response;\\n }\\n if (nextQuery &&\\n nextSchema &&\\n (nextSchema !== this.state.schema ||\\n nextQuery !== this.state.query ||\\n nextOperationName !== this.state.operationName)) {\\n var updatedQueryAttributes = this._updateQueryFacts(nextQuery, nextOperationName, this.state.operations, nextSchema);\\n if (updatedQueryAttributes !== undefined) {\\n nextOperationName = updatedQueryAttributes.operationName;\\n this.setState(updatedQueryAttributes);\\n }\\n }\\n if (nextProps.schema === undefined &&\\n nextProps.fetcher !== this.props.fetcher) {\\n nextSchema = undefined;\\n }\\n this._storage.set('operationName', nextOperationName);\\n this.setState({\\n schema: nextSchema,\\n query: nextQuery,\\n variables: nextVariables,\\n headers: nextHeaders,\\n operationName: nextOperationName,\\n response: nextResponse,\\n }, function () {\\n if (_this.state.schema === undefined) {\\n if (_this.docExplorerComponent) {\\n _this.docExplorerComponent.reset();\\n }\\n _this.fetchSchema();\\n }\\n });\\n };\\n GraphiQL.prototype.componentDidUpdate = function () {\\n this.codeMirrorSizer.updateSizes([\\n this.queryEditorComponent,\\n this.variableEditorComponent,\\n this.headerEditorComponent,\\n this.resultComponent,\\n ]);\\n };\\n GraphiQL.prototype.render = function () {\\n var _this = this;\\n var _a;\\n var children = React.Children.toArray(this.props.children);\\n var logo = find(children, function (child) {\\n return isChildComponentType(child, GraphiQL.Logo);\\n }) || React.createElement(GraphiQL.Logo, null);\\n var toolbar = find(children, function (child) {\\n return isChildComponentType(child, GraphiQL.Toolbar);\\n }) || (React.createElement(GraphiQL.Toolbar, null,\\n React.createElement(ToolbarButton, { onClick: this.handlePrettifyQuery, title: \\\"Prettify Query (Shift-Ctrl-P)\\\", label: \\\"Prettify\\\" }),\\n React.createElement(ToolbarButton, { onClick: this.handleMergeQuery, title: \\\"Merge Query (Shift-Ctrl-M)\\\", label: \\\"Merge\\\" }),\\n React.createElement(ToolbarButton, { onClick: this.handleCopyQuery, title: \\\"Copy Query (Shift-Ctrl-C)\\\", label: \\\"Copy\\\" }),\\n React.createElement(ToolbarButton, { onClick: this.handleToggleHistory, title: \\\"Show History\\\", label: \\\"History\\\" }),\\n ((_a = this.props.toolbar) === null || _a === void 0 ? void 0 : _a.additionalContent) ? this.props.toolbar.additionalContent\\n : null));\\n var footer = find(children, function (child) {\\n return isChildComponentType(child, GraphiQL.Footer);\\n });\\n var queryWrapStyle = {\\n WebkitFlex: this.state.editorFlex,\\n flex: this.state.editorFlex,\\n };\\n var docWrapStyle = {\\n display: 'block',\\n width: this.state.docExplorerWidth,\\n };\\n var docExplorerWrapClasses = 'docExplorerWrap' +\\n (this.state.docExplorerWidth < 200 ? ' doc-explorer-narrow' : '');\\n var historyPaneStyle = {\\n display: this.state.historyPaneOpen ? 'block' : 'none',\\n width: '230px',\\n zIndex: 7,\\n };\\n var secondaryEditorOpen = this.state.secondaryEditorOpen;\\n var secondaryEditorStyle = {\\n height: secondaryEditorOpen\\n ? this.state.secondaryEditorHeight\\n : undefined,\\n };\\n return (React.createElement(\\\"div\\\", { ref: function (n) {\\n _this.graphiqlContainer = n;\\n }, className: \\\"graphiql-container\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"historyPaneWrap\\\", style: historyPaneStyle },\\n React.createElement(QueryHistory, { ref: function (node) {\\n _this._queryHistory = node;\\n }, operationName: this.state.operationName, query: this.state.query, variables: this.state.variables, onSelectQuery: this.handleSelectHistoryQuery, storage: this._storage, queryID: this._editorQueryID },\\n React.createElement(\\\"button\\\", { className: \\\"docExplorerHide\\\", onClick: this.handleToggleHistory, \\\"aria-label\\\": \\\"Close History\\\" }, '\\\\u2715'))),\\n React.createElement(\\\"div\\\", { className: \\\"editorWrap\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"topBarWrap\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"topBar\\\" },\\n logo,\\n React.createElement(ExecuteButton, { isRunning: Boolean(this.state.subscription), onRun: this.handleRunQuery, onStop: this.handleStopQuery, operations: this.state.operations }),\\n toolbar),\\n !this.state.docExplorerOpen && (React.createElement(\\\"button\\\", { className: \\\"docExplorerShow\\\", onClick: this.handleToggleDocs, \\\"aria-label\\\": \\\"Open Documentation Explorer\\\" }, 'Docs'))),\\n React.createElement(\\\"div\\\", { ref: function (n) {\\n _this.editorBarComponent = n;\\n }, className: \\\"editorBar\\\", onDoubleClick: this.handleResetResize, onMouseDown: this.handleResizeStart },\\n React.createElement(\\\"div\\\", { className: \\\"queryWrap\\\", style: queryWrapStyle },\\n React.createElement(QueryEditor, { ref: function (n) {\\n _this.queryEditorComponent = n;\\n }, schema: this.state.schema, validationRules: this.props.validationRules, value: this.state.query, onEdit: this.handleEditQuery, onHintInformationRender: this.handleHintInformationRender, onClickReference: this.handleClickReference, onCopyQuery: this.handleCopyQuery, onPrettifyQuery: this.handlePrettifyQuery, onMergeQuery: this.handleMergeQuery, onRunQuery: this.handleEditorRunQuery, editorTheme: this.props.editorTheme, readOnly: this.props.readOnly, externalFragments: this.props.externalFragments }),\\n React.createElement(\\\"section\\\", { className: \\\"variable-editor secondary-editor\\\", style: secondaryEditorStyle, \\\"aria-label\\\": this.state.variableEditorActive\\n ? 'Query Variables'\\n : 'Request Headers' },\\n React.createElement(\\\"div\\\", { className: \\\"secondary-editor-title variable-editor-title\\\", id: \\\"secondary-editor-title\\\", style: {\\n cursor: secondaryEditorOpen ? 'row-resize' : 'n-resize',\\n }, onMouseDown: this.handleSecondaryEditorResizeStart },\\n React.createElement(\\\"div\\\", { style: {\\n cursor: 'pointer',\\n color: this.state.variableEditorActive ? '#000' : 'gray',\\n display: 'inline-block',\\n }, onClick: this.handleOpenVariableEditorTab, onMouseDown: this.handleTabClickPropogation }, 'Query Variables'),\\n this.state.headerEditorEnabled && (React.createElement(\\\"div\\\", { style: {\\n cursor: 'pointer',\\n color: this.state.headerEditorActive ? '#000' : 'gray',\\n display: 'inline-block',\\n marginLeft: '20px',\\n }, onClick: this.handleOpenHeaderEditorTab, onMouseDown: this.handleTabClickPropogation }, 'Request Headers'))),\\n React.createElement(VariableEditor, { ref: function (n) {\\n _this.variableEditorComponent = n;\\n }, value: this.state.variables, variableToType: this.state.variableToType, onEdit: this.handleEditVariables, onHintInformationRender: this.handleHintInformationRender, onPrettifyQuery: this.handlePrettifyQuery, onMergeQuery: this.handleMergeQuery, onRunQuery: this.handleEditorRunQuery, editorTheme: this.props.editorTheme, readOnly: this.props.readOnly, active: this.state.variableEditorActive }),\\n this.state.headerEditorEnabled && (React.createElement(HeaderEditor, { ref: function (n) {\\n _this.headerEditorComponent = n;\\n }, value: this.state.headers, onEdit: this.handleEditHeaders, onHintInformationRender: this.handleHintInformationRender, onPrettifyQuery: this.handlePrettifyQuery, onMergeQuery: this.handleMergeQuery, onRunQuery: this.handleEditorRunQuery, editorTheme: this.props.editorTheme, readOnly: this.props.readOnly, active: this.state.headerEditorActive })))),\\n React.createElement(\\\"div\\\", { className: \\\"resultWrap\\\" },\\n this.state.isWaitingForResponse && (React.createElement(\\\"div\\\", { className: \\\"spinner-container\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"spinner\\\" }))),\\n React.createElement(ResultViewer, { registerRef: function (n) {\\n _this.resultViewerElement = n;\\n }, ref: function (c) {\\n _this.resultComponent = c;\\n }, value: this.state.response, editorTheme: this.props.editorTheme, ResultsTooltip: this.props.ResultsTooltip, ImagePreview: ImagePreview }),\\n footer))),\\n this.state.docExplorerOpen && (React.createElement(\\\"div\\\", { className: docExplorerWrapClasses, style: docWrapStyle },\\n React.createElement(\\\"div\\\", { className: \\\"docExplorerResizer\\\", onDoubleClick: this.handleDocsResetResize, onMouseDown: this.handleDocsResizeStart }),\\n React.createElement(DocExplorer, { ref: function (c) {\\n _this.docExplorerComponent = c;\\n }, schema: this.state.schema },\\n React.createElement(\\\"button\\\", { className: \\\"docExplorerHide\\\", onClick: this.handleToggleDocs, \\\"aria-label\\\": \\\"Close Documentation Explorer\\\" }, '\\\\u2715'))))));\\n };\\n GraphiQL.prototype.getQueryEditor = function () {\\n if (this.queryEditorComponent) {\\n return this.queryEditorComponent.getCodeMirror();\\n }\\n };\\n GraphiQL.prototype.getVariableEditor = function () {\\n if (this.variableEditorComponent) {\\n return this.variableEditorComponent.getCodeMirror();\\n }\\n return null;\\n };\\n GraphiQL.prototype.getHeaderEditor = function () {\\n if (this.headerEditorComponent) {\\n return this.headerEditorComponent.getCodeMirror();\\n }\\n return null;\\n };\\n GraphiQL.prototype.refresh = function () {\\n if (this.queryEditorComponent) {\\n this.queryEditorComponent.getCodeMirror().refresh();\\n }\\n if (this.variableEditorComponent) {\\n this.variableEditorComponent.getCodeMirror().refresh();\\n }\\n if (this.headerEditorComponent) {\\n this.headerEditorComponent.getCodeMirror().refresh();\\n }\\n if (this.resultComponent) {\\n this.resultComponent.getCodeMirror().refresh();\\n }\\n };\\n GraphiQL.prototype.autoCompleteLeafs = function () {\\n var _a = fillLeafs(this.state.schema, this.state.query, this.props.getDefaultFieldNames), insertions = _a.insertions, result = _a.result;\\n if (insertions && insertions.length > 0) {\\n var editor_1 = this.getQueryEditor();\\n if (editor_1) {\\n editor_1.operation(function () {\\n var cursor = editor_1.getCursor();\\n var cursorIndex = editor_1.indexFromPos(cursor);\\n editor_1.setValue(result || '');\\n var added = 0;\\n var markers = insertions.map(function (_a) {\\n var index = _a.index, string = _a.string;\\n return editor_1.markText(editor_1.posFromIndex(index + added), editor_1.posFromIndex(index + (added += string.length)), {\\n className: 'autoInsertedLeaf',\\n clearOnEnter: true,\\n title: 'Automatically added leaf fields',\\n });\\n });\\n setTimeout(function () { return markers.forEach(function (marker) { return marker.clear(); }); }, 7000);\\n var newCursorIndex = cursorIndex;\\n insertions.forEach(function (_a) {\\n var index = _a.index, string = _a.string;\\n if (index < cursorIndex) {\\n newCursorIndex += string.length;\\n }\\n });\\n editor_1.setCursor(editor_1.posFromIndex(newCursorIndex));\\n });\\n }\\n }\\n return result;\\n };\\n GraphiQL.prototype.fetchSchema = function () {\\n var _this = this;\\n var fetcher = this.props.fetcher;\\n var fetcherOpts = {\\n shouldPersistHeaders: Boolean(this.props.shouldPersistHeaders),\\n documentAST: this.state.documentAST,\\n };\\n if (this.state.headers && this.state.headers.trim().length > 2) {\\n fetcherOpts.headers = JSON.parse(this.state.headers);\\n }\\n else if (this.props.headers) {\\n fetcherOpts.headers = JSON.parse(this.props.headers);\\n }\\n var fetch = fetcherReturnToPromise(fetcher({\\n query: introspectionQuery,\\n operationName: introspectionQueryName,\\n }, fetcherOpts));\\n if (!isPromise(fetch)) {\\n this.setState({\\n response: 'Fetcher did not return a Promise for introspection.',\\n });\\n return;\\n }\\n fetch\\n .then(function (result) {\\n if (typeof result !== 'string' && 'data' in result) {\\n return result;\\n }\\n var fetch2 = fetcherReturnToPromise(fetcher({\\n query: introspectionQuerySansSubscriptions,\\n operationName: introspectionQueryName,\\n }, fetcherOpts));\\n if (!isPromise(fetch)) {\\n throw new Error('Fetcher did not return a Promise for introspection.');\\n }\\n return fetch2;\\n })\\n .then(function (result) {\\n if (_this.state.schema !== undefined) {\\n return;\\n }\\n if (typeof result !== 'string' && 'data' in result) {\\n var schema = buildClientSchema(result.data);\\n var queryFacts = getOperationFacts(schema, _this.state.query);\\n _this.safeSetState(__assign({ schema: schema }, queryFacts));\\n }\\n else {\\n var responseString = typeof result === 'string' ? result : GraphiQL.formatResult(result);\\n _this.safeSetState({\\n schema: undefined,\\n response: responseString,\\n });\\n }\\n })\\n .catch(function (error) {\\n _this.safeSetState({\\n schema: undefined,\\n response: error ? GraphiQL.formatError(error) : undefined,\\n });\\n });\\n };\\n GraphiQL.prototype._fetchQuery = function (query, variables, headers, operationName, shouldPersistHeaders, cb) {\\n return __awaiter(this, void 0, void 0, function () {\\n var fetcher, jsonVariables, jsonHeaders, externalFragments_1, fragmentDependencies, fetch;\\n var _this = this;\\n return __generator(this, function (_a) {\\n fetcher = this.props.fetcher;\\n jsonVariables = null;\\n jsonHeaders = null;\\n try {\\n jsonVariables =\\n variables && variables.trim() !== '' ? JSON.parse(variables) : null;\\n }\\n catch (error) {\\n throw new Error(\\\"Variables are invalid JSON: \\\" + error.message + \\\".\\\");\\n }\\n if (typeof jsonVariables !== 'object') {\\n throw new Error('Variables are not a JSON object.');\\n }\\n try {\\n jsonHeaders =\\n headers && headers.trim() !== '' ? JSON.parse(headers) : null;\\n }\\n catch (error) {\\n throw new Error(\\\"Headers are invalid JSON: \\\" + error.message + \\\".\\\");\\n }\\n if (typeof jsonHeaders !== 'object') {\\n throw new Error('Headers are not a JSON object.');\\n }\\n if (this.props.externalFragments) {\\n externalFragments_1 = new Map();\\n if (Array.isArray(this.props.externalFragments)) {\\n this.props.externalFragments.forEach(function (def) {\\n externalFragments_1.set(def.name.value, def);\\n });\\n }\\n else {\\n visit(parse(this.props.externalFragments, {\\n experimentalFragmentVariables: true,\\n }), {\\n FragmentDefinition: function (def) {\\n externalFragments_1.set(def.name.value, def);\\n },\\n });\\n }\\n fragmentDependencies = getFragmentDependenciesForAST(this.state.documentAST, externalFragments_1);\\n if (fragmentDependencies.length > 0) {\\n query +=\\n '\\\\n' +\\n fragmentDependencies\\n .map(function (node) { return print(node); })\\n .join('\\\\n');\\n }\\n }\\n fetch = fetcher({\\n query: query,\\n variables: jsonVariables,\\n operationName: operationName,\\n }, {\\n headers: jsonHeaders,\\n shouldPersistHeaders: shouldPersistHeaders,\\n documentAST: this.state.documentAST,\\n });\\n return [2, Promise.resolve(fetch)\\n .then(function (value) {\\n if (isObservable(value)) {\\n var subscription = value.subscribe({\\n next: cb,\\n error: function (error) {\\n _this.safeSetState({\\n isWaitingForResponse: false,\\n response: error ? GraphiQL.formatError(error) : undefined,\\n subscription: null,\\n });\\n },\\n complete: function () {\\n _this.safeSetState({\\n isWaitingForResponse: false,\\n subscription: null,\\n });\\n },\\n });\\n return subscription;\\n }\\n else if (isAsyncIterable(value)) {\\n (function () { return __awaiter(_this, void 0, void 0, function () {\\n var value_1, value_1_1, result, e_1_1, error_2;\\n var e_1, _a;\\n return __generator(this, function (_b) {\\n switch (_b.label) {\\n case 0:\\n _b.trys.push([0, 13, , 14]);\\n _b.label = 1;\\n case 1:\\n _b.trys.push([1, 6, 7, 12]);\\n value_1 = __asyncValues(value);\\n _b.label = 2;\\n case 2: return [4, value_1.next()];\\n case 3:\\n if (!(value_1_1 = _b.sent(), !value_1_1.done)) return [3, 5];\\n result = value_1_1.value;\\n cb(result);\\n _b.label = 4;\\n case 4: return [3, 2];\\n case 5: return [3, 12];\\n case 6:\\n e_1_1 = _b.sent();\\n e_1 = { error: e_1_1 };\\n return [3, 12];\\n case 7:\\n _b.trys.push([7, , 10, 11]);\\n if (!(value_1_1 && !value_1_1.done && (_a = value_1.return))) return [3, 9];\\n return [4, _a.call(value_1)];\\n case 8:\\n _b.sent();\\n _b.label = 9;\\n case 9: return [3, 11];\\n case 10:\\n if (e_1) throw e_1.error;\\n return [7];\\n case 11: return [7];\\n case 12:\\n this.safeSetState({\\n isWaitingForResponse: false,\\n subscription: null,\\n });\\n return [3, 14];\\n case 13:\\n error_2 = _b.sent();\\n this.safeSetState({\\n isWaitingForResponse: false,\\n response: error_2 ? GraphiQL.formatError(error_2) : undefined,\\n subscription: null,\\n });\\n return [3, 14];\\n case 14: return [2];\\n }\\n });\\n }); })();\\n return {\\n unsubscribe: function () { var _a, _b; return (_b = (_a = value[Symbol.asyncIterator]()).return) === null || _b === void 0 ? void 0 : _b.call(_a); },\\n };\\n }\\n else {\\n cb(value);\\n return null;\\n }\\n })\\n .catch(function (error) {\\n _this.safeSetState({\\n isWaitingForResponse: false,\\n response: error ? GraphiQL.formatError(error) : undefined,\\n });\\n return null;\\n })];\\n });\\n });\\n };\\n GraphiQL.prototype._runQueryAtCursor = function () {\\n if (this.state.subscription) {\\n this.handleStopQuery();\\n return;\\n }\\n var operationName;\\n var operations = this.state.operations;\\n if (operations) {\\n var editor = this.getQueryEditor();\\n if (editor && editor.hasFocus()) {\\n var cursor = editor.getCursor();\\n var cursorIndex = editor.indexFromPos(cursor);\\n for (var i = 0; i < operations.length; i++) {\\n var operation = operations[i];\\n if (operation.loc &&\\n operation.loc.start <= cursorIndex &&\\n operation.loc.end >= cursorIndex) {\\n operationName = operation.name && operation.name.value;\\n break;\\n }\\n }\\n }\\n }\\n this.handleRunQuery(operationName);\\n };\\n GraphiQL.prototype._didClickDragBar = function (event) {\\n if (event.button !== 0 || event.ctrlKey) {\\n return false;\\n }\\n var target = event.target;\\n if (target.className.indexOf('CodeMirror-gutter') !== 0) {\\n return false;\\n }\\n var resultWindow = this.resultViewerElement;\\n while (target) {\\n if (target === resultWindow) {\\n return true;\\n }\\n target = target.parentNode;\\n }\\n return false;\\n };\\n GraphiQL.Logo = GraphiQLLogo;\\n GraphiQL.Toolbar = GraphiQLToolbar;\\n GraphiQL.Footer = GraphiQLFooter;\\n GraphiQL.QueryEditor = QueryEditor;\\n GraphiQL.VariableEditor = VariableEditor;\\n GraphiQL.HeaderEditor = HeaderEditor;\\n GraphiQL.ResultViewer = ResultViewer;\\n GraphiQL.Button = ToolbarButton;\\n GraphiQL.ToolbarButton = ToolbarButton;\\n GraphiQL.Group = ToolbarGroup;\\n GraphiQL.Menu = ToolbarMenu;\\n GraphiQL.MenuItem = ToolbarMenuItem;\\n return GraphiQL;\\n}(React.Component));\\nexport { GraphiQL };\\nfunction GraphiQLLogo(props) {\\n return (React.createElement(\\\"div\\\", { className: \\\"title\\\" }, props.children || (React.createElement(\\\"span\\\", null,\\n 'Graph',\\n React.createElement(\\\"em\\\", null, 'i'),\\n 'QL'))));\\n}\\nGraphiQLLogo.displayName = 'GraphiQLLogo';\\nfunction GraphiQLToolbar(props) {\\n return (React.createElement(\\\"div\\\", { className: \\\"toolbar\\\", role: \\\"toolbar\\\", \\\"aria-label\\\": \\\"Editor Commands\\\" }, props.children));\\n}\\nGraphiQLToolbar.displayName = 'GraphiQLToolbar';\\nfunction GraphiQLFooter(props) {\\n return React.createElement(\\\"div\\\", { className: \\\"footer\\\" }, props.children);\\n}\\nGraphiQLFooter.displayName = 'GraphiQLFooter';\\nvar formatSingleError = function (error) { return (__assign(__assign({}, error), { message: error.message, stack: error.stack })); };\\nvar defaultQuery = \\\"# Welcome to GraphiQL\\\\n#\\\\n# GraphiQL is an in-browser tool for writing, validating, and\\\\n# testing GraphQL queries.\\\\n#\\\\n# Type queries into this side of the screen, and you will see intelligent\\\\n# typeaheads aware of the current GraphQL type schema and live syntax and\\\\n# validation errors highlighted within the text.\\\\n#\\\\n# GraphQL queries typically start with a \\\\\\\"{\\\\\\\" character. Lines that start\\\\n# with a # are ignored.\\\\n#\\\\n# An example GraphQL query might look like:\\\\n#\\\\n# {\\\\n# field(arg: \\\\\\\"value\\\\\\\") {\\\\n# subField\\\\n# }\\\\n# }\\\\n#\\\\n# Keyboard shortcuts:\\\\n#\\\\n# Prettify Query: Shift-Ctrl-P (or press the prettify button above)\\\\n#\\\\n# Merge Query: Shift-Ctrl-M (or press the merge button above)\\\\n#\\\\n# Run Query: Ctrl-Enter (or press the play button above)\\\\n#\\\\n# Auto Complete: Ctrl-Space (or just start typing)\\\\n#\\\\n\\\\n\\\";\\nfunction isPromise(value) {\\n return typeof value === 'object' && typeof value.then === 'function';\\n}\\nfunction observableToPromise(observable) {\\n return new Promise(function (resolve, reject) {\\n var subscription = observable.subscribe({\\n next: function (v) {\\n resolve(v);\\n subscription.unsubscribe();\\n },\\n error: reject,\\n complete: function () {\\n reject(new Error('no value resolved'));\\n },\\n });\\n });\\n}\\nfunction isObservable(value) {\\n return (typeof value === 'object' &&\\n 'subscribe' in value &&\\n typeof value.subscribe === 'function');\\n}\\nfunction isAsyncIterable(input) {\\n return (typeof input === 'object' &&\\n input !== null &&\\n (input[Symbol.toStringTag] === 'AsyncGenerator' ||\\n Symbol.asyncIterator in input));\\n}\\nfunction asyncIterableToPromise(input) {\\n return new Promise(function (resolve, reject) {\\n var _a;\\n var iteratorReturn = (_a = ('return' in input\\n ? input\\n : input[Symbol.asyncIterator]()).return) === null || _a === void 0 ? void 0 : _a.bind(input);\\n var iteratorNext = ('next' in input\\n ? input\\n : input[Symbol.asyncIterator]()).next.bind(input);\\n iteratorNext()\\n .then(function (result) {\\n resolve(result.value);\\n iteratorReturn === null || iteratorReturn === void 0 ? void 0 : iteratorReturn();\\n })\\n .catch(function (err) {\\n reject(err);\\n });\\n });\\n}\\nfunction fetcherReturnToPromise(fetcherResult) {\\n return Promise.resolve(fetcherResult).then(function (fetcherResult) {\\n if (isAsyncIterable(fetcherResult)) {\\n return asyncIterableToPromise(fetcherResult);\\n }\\n else if (isObservable(fetcherResult)) {\\n return observableToPromise(fetcherResult);\\n }\\n return fetcherResult;\\n });\\n}\\nfunction isChildComponentType(child, component) {\\n var _a;\\n if (((_a = child === null || child === void 0 ? void 0 : child.type) === null || _a === void 0 ? void 0 : _a.displayName) &&\\n child.type.displayName === component.displayName) {\\n return true;\\n }\\n return child.type === component;\\n}\\n//# sourceMappingURL=GraphiQL.js.map\",\"'use strict';\\n\\nfunction nullthrows(x, message) {\\n if (x != null) {\\n return x;\\n }\\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\\n throw error;\\n}\\n\\nmodule.exports = nullthrows;\\nmodule.exports.default = nullthrows;\\n\\nObject.defineProperty(module.exports, '__esModule', {value: true});\\n\",\"import { getLocation } from \\\"./location.mjs\\\";\\n/**\\n * Render a helpful description of the location in the GraphQL Source document.\\n */\\n\\nexport function printLocation(location) {\\n return printSourceLocation(location.source, getLocation(location.source, location.start));\\n}\\n/**\\n * Render a helpful description of the location in the GraphQL Source document.\\n */\\n\\nexport function printSourceLocation(source, sourceLocation) {\\n var firstLineColumnOffset = source.locationOffset.column - 1;\\n var body = whitespace(firstLineColumnOffset) + source.body;\\n var lineIndex = sourceLocation.line - 1;\\n var lineOffset = source.locationOffset.line - 1;\\n var lineNum = sourceLocation.line + lineOffset;\\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\\n var columnNum = sourceLocation.column + columnOffset;\\n var locationStr = \\\"\\\".concat(source.name, \\\":\\\").concat(lineNum, \\\":\\\").concat(columnNum, \\\"\\\\n\\\");\\n var lines = body.split(/\\\\r\\\\n|[\\\\n\\\\r]/g);\\n var locationLine = lines[lineIndex]; // Special case for minified documents\\n\\n if (locationLine.length > 120) {\\n var subLineIndex = Math.floor(columnNum / 80);\\n var subLineColumnNum = columnNum % 80;\\n var subLines = [];\\n\\n for (var i = 0; i < locationLine.length; i += 80) {\\n subLines.push(locationLine.slice(i, i + 80));\\n }\\n\\n return locationStr + printPrefixedLines([[\\\"\\\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\\n return ['', subLine];\\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\\n }\\n\\n return locationStr + printPrefixedLines([// Lines specified like this: [\\\"prefix\\\", \\\"string\\\"],\\n [\\\"\\\".concat(lineNum - 1), lines[lineIndex - 1]], [\\\"\\\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\\\"\\\".concat(lineNum + 1), lines[lineIndex + 1]]]);\\n}\\n\\nfunction printPrefixedLines(lines) {\\n var existingLines = lines.filter(function (_ref) {\\n var _ = _ref[0],\\n line = _ref[1];\\n return line !== undefined;\\n });\\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\\n var prefix = _ref2[0];\\n return prefix.length;\\n }));\\n return existingLines.map(function (_ref3) {\\n var prefix = _ref3[0],\\n line = _ref3[1];\\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\\n }).join('\\\\n');\\n}\\n\\nfunction whitespace(len) {\\n return Array(len + 1).join(' ');\\n}\\n\\nfunction leftPad(len, str) {\\n return whitespace(len - str.length) + str;\\n}\\n\",\"// Spec Section: \\\"Executable Definitions\\\"\\nimport { ExecutableDefinitionsRule } from \\\"./rules/ExecutableDefinitionsRule.mjs\\\"; // Spec Section: \\\"Operation Name Uniqueness\\\"\\n\\nimport { UniqueOperationNamesRule } from \\\"./rules/UniqueOperationNamesRule.mjs\\\"; // Spec Section: \\\"Lone Anonymous Operation\\\"\\n\\nimport { LoneAnonymousOperationRule } from \\\"./rules/LoneAnonymousOperationRule.mjs\\\"; // Spec Section: \\\"Subscriptions with Single Root Field\\\"\\n\\nimport { SingleFieldSubscriptionsRule } from \\\"./rules/SingleFieldSubscriptionsRule.mjs\\\"; // Spec Section: \\\"Fragment Spread Type Existence\\\"\\n\\nimport { KnownTypeNamesRule } from \\\"./rules/KnownTypeNamesRule.mjs\\\"; // Spec Section: \\\"Fragments on Composite Types\\\"\\n\\nimport { FragmentsOnCompositeTypesRule } from \\\"./rules/FragmentsOnCompositeTypesRule.mjs\\\"; // Spec Section: \\\"Variables are Input Types\\\"\\n\\nimport { VariablesAreInputTypesRule } from \\\"./rules/VariablesAreInputTypesRule.mjs\\\"; // Spec Section: \\\"Leaf Field Selections\\\"\\n\\nimport { ScalarLeafsRule } from \\\"./rules/ScalarLeafsRule.mjs\\\"; // Spec Section: \\\"Field Selections on Objects, Interfaces, and Unions Types\\\"\\n\\nimport { FieldsOnCorrectTypeRule } from \\\"./rules/FieldsOnCorrectTypeRule.mjs\\\"; // Spec Section: \\\"Fragment Name Uniqueness\\\"\\n\\nimport { UniqueFragmentNamesRule } from \\\"./rules/UniqueFragmentNamesRule.mjs\\\"; // Spec Section: \\\"Fragment spread target defined\\\"\\n\\nimport { KnownFragmentNamesRule } from \\\"./rules/KnownFragmentNamesRule.mjs\\\"; // Spec Section: \\\"Fragments must be used\\\"\\n\\nimport { NoUnusedFragmentsRule } from \\\"./rules/NoUnusedFragmentsRule.mjs\\\"; // Spec Section: \\\"Fragment spread is possible\\\"\\n\\nimport { PossibleFragmentSpreadsRule } from \\\"./rules/PossibleFragmentSpreadsRule.mjs\\\"; // Spec Section: \\\"Fragments must not form cycles\\\"\\n\\nimport { NoFragmentCyclesRule } from \\\"./rules/NoFragmentCyclesRule.mjs\\\"; // Spec Section: \\\"Variable Uniqueness\\\"\\n\\nimport { UniqueVariableNamesRule } from \\\"./rules/UniqueVariableNamesRule.mjs\\\"; // Spec Section: \\\"All Variable Used Defined\\\"\\n\\nimport { NoUndefinedVariablesRule } from \\\"./rules/NoUndefinedVariablesRule.mjs\\\"; // Spec Section: \\\"All Variables Used\\\"\\n\\nimport { NoUnusedVariablesRule } from \\\"./rules/NoUnusedVariablesRule.mjs\\\"; // Spec Section: \\\"Directives Are Defined\\\"\\n\\nimport { KnownDirectivesRule } from \\\"./rules/KnownDirectivesRule.mjs\\\"; // Spec Section: \\\"Directives Are Unique Per Location\\\"\\n\\nimport { UniqueDirectivesPerLocationRule } from \\\"./rules/UniqueDirectivesPerLocationRule.mjs\\\"; // Spec Section: \\\"Argument Names\\\"\\n\\nimport { KnownArgumentNamesRule, KnownArgumentNamesOnDirectivesRule } from \\\"./rules/KnownArgumentNamesRule.mjs\\\"; // Spec Section: \\\"Argument Uniqueness\\\"\\n\\nimport { UniqueArgumentNamesRule } from \\\"./rules/UniqueArgumentNamesRule.mjs\\\"; // Spec Section: \\\"Value Type Correctness\\\"\\n\\nimport { ValuesOfCorrectTypeRule } from \\\"./rules/ValuesOfCorrectTypeRule.mjs\\\"; // Spec Section: \\\"Argument Optionality\\\"\\n\\nimport { ProvidedRequiredArgumentsRule, ProvidedRequiredArgumentsOnDirectivesRule } from \\\"./rules/ProvidedRequiredArgumentsRule.mjs\\\"; // Spec Section: \\\"All Variable Usages Are Allowed\\\"\\n\\nimport { VariablesInAllowedPositionRule } from \\\"./rules/VariablesInAllowedPositionRule.mjs\\\"; // Spec Section: \\\"Field Selection Merging\\\"\\n\\nimport { OverlappingFieldsCanBeMergedRule } from \\\"./rules/OverlappingFieldsCanBeMergedRule.mjs\\\"; // Spec Section: \\\"Input Object Field Uniqueness\\\"\\n\\nimport { UniqueInputFieldNamesRule } from \\\"./rules/UniqueInputFieldNamesRule.mjs\\\"; // SDL-specific validation rules\\n\\nimport { LoneSchemaDefinitionRule } from \\\"./rules/LoneSchemaDefinitionRule.mjs\\\";\\nimport { UniqueOperationTypesRule } from \\\"./rules/UniqueOperationTypesRule.mjs\\\";\\nimport { UniqueTypeNamesRule } from \\\"./rules/UniqueTypeNamesRule.mjs\\\";\\nimport { UniqueEnumValueNamesRule } from \\\"./rules/UniqueEnumValueNamesRule.mjs\\\";\\nimport { UniqueFieldDefinitionNamesRule } from \\\"./rules/UniqueFieldDefinitionNamesRule.mjs\\\";\\nimport { UniqueDirectiveNamesRule } from \\\"./rules/UniqueDirectiveNamesRule.mjs\\\";\\nimport { PossibleTypeExtensionsRule } from \\\"./rules/PossibleTypeExtensionsRule.mjs\\\";\\n/**\\n * This set includes all validation rules defined by the GraphQL spec.\\n *\\n * The order of the rules in this list has been adjusted to lead to the\\n * most clear output when encountering multiple validation errors.\\n */\\n\\nexport var specifiedRules = Object.freeze([ExecutableDefinitionsRule, UniqueOperationNamesRule, LoneAnonymousOperationRule, SingleFieldSubscriptionsRule, KnownTypeNamesRule, FragmentsOnCompositeTypesRule, VariablesAreInputTypesRule, ScalarLeafsRule, FieldsOnCorrectTypeRule, UniqueFragmentNamesRule, KnownFragmentNamesRule, NoUnusedFragmentsRule, PossibleFragmentSpreadsRule, NoFragmentCyclesRule, UniqueVariableNamesRule, NoUndefinedVariablesRule, NoUnusedVariablesRule, KnownDirectivesRule, UniqueDirectivesPerLocationRule, KnownArgumentNamesRule, UniqueArgumentNamesRule, ValuesOfCorrectTypeRule, ProvidedRequiredArgumentsRule, VariablesInAllowedPositionRule, OverlappingFieldsCanBeMergedRule, UniqueInputFieldNamesRule]);\\n/**\\n * @internal\\n */\\n\\nexport var specifiedSDLRules = Object.freeze([LoneSchemaDefinitionRule, UniqueOperationTypesRule, UniqueTypeNamesRule, UniqueEnumValueNamesRule, UniqueFieldDefinitionNamesRule, UniqueDirectiveNamesRule, KnownTypeNamesRule, KnownDirectivesRule, UniqueDirectivesPerLocationRule, PossibleTypeExtensionsRule, KnownArgumentNamesOnDirectivesRule, UniqueArgumentNamesRule, UniqueInputFieldNamesRule, ProvidedRequiredArgumentsOnDirectivesRule]);\\n\",\"import didYouMean from \\\"../../jsutils/didYouMean.mjs\\\";\\nimport suggestionList from \\\"../../jsutils/suggestionList.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { isTypeDefinitionNode, isTypeSystemDefinitionNode, isTypeSystemExtensionNode } from \\\"../../language/predicates.mjs\\\";\\nimport { specifiedScalarTypes } from \\\"../../type/scalars.mjs\\\";\\nimport { introspectionTypes } from \\\"../../type/introspection.mjs\\\";\\n\\n/**\\n * Known type names\\n *\\n * A GraphQL document is only valid if referenced types (specifically\\n * variable definitions and fragment conditions) are defined by the type schema.\\n */\\nexport function KnownTypeNamesRule(context) {\\n var schema = context.getSchema();\\n var existingTypesMap = schema ? schema.getTypeMap() : Object.create(null);\\n var definedTypes = Object.create(null);\\n\\n for (var _i2 = 0, _context$getDocument$2 = context.getDocument().definitions; _i2 < _context$getDocument$2.length; _i2++) {\\n var def = _context$getDocument$2[_i2];\\n\\n if (isTypeDefinitionNode(def)) {\\n definedTypes[def.name.value] = true;\\n }\\n }\\n\\n var typeNames = Object.keys(existingTypesMap).concat(Object.keys(definedTypes));\\n return {\\n NamedType: function NamedType(node, _1, parent, _2, ancestors) {\\n var typeName = node.name.value;\\n\\n if (!existingTypesMap[typeName] && !definedTypes[typeName]) {\\n var _ancestors$;\\n\\n var definitionNode = (_ancestors$ = ancestors[2]) !== null && _ancestors$ !== void 0 ? _ancestors$ : parent;\\n var isSDL = definitionNode != null && isSDLNode(definitionNode);\\n\\n if (isSDL && isStandardTypeName(typeName)) {\\n return;\\n }\\n\\n var suggestedTypes = suggestionList(typeName, isSDL ? standardTypeNames.concat(typeNames) : typeNames);\\n context.reportError(new GraphQLError(\\\"Unknown type \\\\\\\"\\\".concat(typeName, \\\"\\\\\\\".\\\") + didYouMean(suggestedTypes), node));\\n }\\n }\\n };\\n}\\nvar standardTypeNames = [].concat(specifiedScalarTypes, introspectionTypes).map(function (type) {\\n return type.name;\\n});\\n\\nfunction isStandardTypeName(typeName) {\\n return standardTypeNames.indexOf(typeName) !== -1;\\n}\\n\\nfunction isSDLNode(value) {\\n return !Array.isArray(value) && (isTypeSystemDefinitionNode(value) || isTypeSystemExtensionNode(value));\\n}\\n\",\"import inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport invariant from \\\"../../jsutils/invariant.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { DirectiveLocation } from \\\"../../language/directiveLocation.mjs\\\";\\nimport { specifiedDirectives } from \\\"../../type/directives.mjs\\\";\\n\\n/**\\n * Known directives\\n *\\n * A GraphQL document is only valid if all `@directives` are known by the\\n * schema and legally positioned.\\n */\\nexport function KnownDirectivesRule(context) {\\n var locationsMap = Object.create(null);\\n var schema = context.getSchema();\\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\\n\\n for (var _i2 = 0; _i2 < definedDirectives.length; _i2++) {\\n var directive = definedDirectives[_i2];\\n locationsMap[directive.name] = directive.locations;\\n }\\n\\n var astDefinitions = context.getDocument().definitions;\\n\\n for (var _i4 = 0; _i4 < astDefinitions.length; _i4++) {\\n var def = astDefinitions[_i4];\\n\\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\\n locationsMap[def.name.value] = def.locations.map(function (name) {\\n return name.value;\\n });\\n }\\n }\\n\\n return {\\n Directive: function Directive(node, _key, _parent, _path, ancestors) {\\n var name = node.name.value;\\n var locations = locationsMap[name];\\n\\n if (!locations) {\\n context.reportError(new GraphQLError(\\\"Unknown directive \\\\\\\"@\\\".concat(name, \\\"\\\\\\\".\\\"), node));\\n return;\\n }\\n\\n var candidateLocation = getDirectiveLocationForASTPath(ancestors);\\n\\n if (candidateLocation && locations.indexOf(candidateLocation) === -1) {\\n context.reportError(new GraphQLError(\\\"Directive \\\\\\\"@\\\".concat(name, \\\"\\\\\\\" may not be used on \\\").concat(candidateLocation, \\\".\\\"), node));\\n }\\n }\\n };\\n}\\n\\nfunction getDirectiveLocationForASTPath(ancestors) {\\n var appliedTo = ancestors[ancestors.length - 1];\\n !Array.isArray(appliedTo) || invariant(0);\\n\\n switch (appliedTo.kind) {\\n case Kind.OPERATION_DEFINITION:\\n return getDirectiveLocationForOperation(appliedTo.operation);\\n\\n case Kind.FIELD:\\n return DirectiveLocation.FIELD;\\n\\n case Kind.FRAGMENT_SPREAD:\\n return DirectiveLocation.FRAGMENT_SPREAD;\\n\\n case Kind.INLINE_FRAGMENT:\\n return DirectiveLocation.INLINE_FRAGMENT;\\n\\n case Kind.FRAGMENT_DEFINITION:\\n return DirectiveLocation.FRAGMENT_DEFINITION;\\n\\n case Kind.VARIABLE_DEFINITION:\\n return DirectiveLocation.VARIABLE_DEFINITION;\\n\\n case Kind.SCHEMA_DEFINITION:\\n case Kind.SCHEMA_EXTENSION:\\n return DirectiveLocation.SCHEMA;\\n\\n case Kind.SCALAR_TYPE_DEFINITION:\\n case Kind.SCALAR_TYPE_EXTENSION:\\n return DirectiveLocation.SCALAR;\\n\\n case Kind.OBJECT_TYPE_DEFINITION:\\n case Kind.OBJECT_TYPE_EXTENSION:\\n return DirectiveLocation.OBJECT;\\n\\n case Kind.FIELD_DEFINITION:\\n return DirectiveLocation.FIELD_DEFINITION;\\n\\n case Kind.INTERFACE_TYPE_DEFINITION:\\n case Kind.INTERFACE_TYPE_EXTENSION:\\n return DirectiveLocation.INTERFACE;\\n\\n case Kind.UNION_TYPE_DEFINITION:\\n case Kind.UNION_TYPE_EXTENSION:\\n return DirectiveLocation.UNION;\\n\\n case Kind.ENUM_TYPE_DEFINITION:\\n case Kind.ENUM_TYPE_EXTENSION:\\n return DirectiveLocation.ENUM;\\n\\n case Kind.ENUM_VALUE_DEFINITION:\\n return DirectiveLocation.ENUM_VALUE;\\n\\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\\n return DirectiveLocation.INPUT_OBJECT;\\n\\n case Kind.INPUT_VALUE_DEFINITION:\\n {\\n var parentNode = ancestors[ancestors.length - 3];\\n return parentNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION ? DirectiveLocation.INPUT_FIELD_DEFINITION : DirectiveLocation.ARGUMENT_DEFINITION;\\n }\\n }\\n}\\n\\nfunction getDirectiveLocationForOperation(operation) {\\n switch (operation) {\\n case 'query':\\n return DirectiveLocation.QUERY;\\n\\n case 'mutation':\\n return DirectiveLocation.MUTATION;\\n\\n case 'subscription':\\n return DirectiveLocation.SUBSCRIPTION;\\n } // istanbul ignore next (Not reachable. All possible types have been considered)\\n\\n\\n false || invariant(0, 'Unexpected operation: ' + inspect(operation));\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { isTypeDefinitionNode, isTypeExtensionNode } from \\\"../../language/predicates.mjs\\\";\\nimport { specifiedDirectives } from \\\"../../type/directives.mjs\\\";\\n\\n/**\\n * Unique directive names per location\\n *\\n * A GraphQL document is only valid if all non-repeatable directives at\\n * a given location are uniquely named.\\n */\\nexport function UniqueDirectivesPerLocationRule(context) {\\n var uniqueDirectiveMap = Object.create(null);\\n var schema = context.getSchema();\\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\\n\\n for (var _i2 = 0; _i2 < definedDirectives.length; _i2++) {\\n var directive = definedDirectives[_i2];\\n uniqueDirectiveMap[directive.name] = !directive.isRepeatable;\\n }\\n\\n var astDefinitions = context.getDocument().definitions;\\n\\n for (var _i4 = 0; _i4 < astDefinitions.length; _i4++) {\\n var def = astDefinitions[_i4];\\n\\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\\n uniqueDirectiveMap[def.name.value] = !def.repeatable;\\n }\\n }\\n\\n var schemaDirectives = Object.create(null);\\n var typeDirectivesMap = Object.create(null);\\n return {\\n // Many different AST nodes may contain directives. Rather than listing\\n // them all, just listen for entering any node, and check to see if it\\n // defines any directives.\\n enter: function enter(node) {\\n if (node.directives == null) {\\n return;\\n }\\n\\n var seenDirectives;\\n\\n if (node.kind === Kind.SCHEMA_DEFINITION || node.kind === Kind.SCHEMA_EXTENSION) {\\n seenDirectives = schemaDirectives;\\n } else if (isTypeDefinitionNode(node) || isTypeExtensionNode(node)) {\\n var typeName = node.name.value;\\n seenDirectives = typeDirectivesMap[typeName];\\n\\n if (seenDirectives === undefined) {\\n typeDirectivesMap[typeName] = seenDirectives = Object.create(null);\\n }\\n } else {\\n seenDirectives = Object.create(null);\\n }\\n\\n for (var _i6 = 0, _node$directives2 = node.directives; _i6 < _node$directives2.length; _i6++) {\\n var _directive = _node$directives2[_i6];\\n var directiveName = _directive.name.value;\\n\\n if (uniqueDirectiveMap[directiveName]) {\\n if (seenDirectives[directiveName]) {\\n context.reportError(new GraphQLError(\\\"The directive \\\\\\\"@\\\".concat(directiveName, \\\"\\\\\\\" can only be used once at this location.\\\"), [seenDirectives[directiveName], _directive]));\\n } else {\\n seenDirectives[directiveName] = _directive;\\n }\\n }\\n }\\n }\\n };\\n}\\n\",\"function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\\n\\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nimport didYouMean from \\\"../../jsutils/didYouMean.mjs\\\";\\nimport suggestionList from \\\"../../jsutils/suggestionList.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { specifiedDirectives } from \\\"../../type/directives.mjs\\\";\\n\\n/**\\n * Known argument names\\n *\\n * A GraphQL field is only valid if all supplied arguments are defined by\\n * that field.\\n */\\nexport function KnownArgumentNamesRule(context) {\\n return _objectSpread(_objectSpread({}, KnownArgumentNamesOnDirectivesRule(context)), {}, {\\n Argument: function Argument(argNode) {\\n var argDef = context.getArgument();\\n var fieldDef = context.getFieldDef();\\n var parentType = context.getParentType();\\n\\n if (!argDef && fieldDef && parentType) {\\n var argName = argNode.name.value;\\n var knownArgsNames = fieldDef.args.map(function (arg) {\\n return arg.name;\\n });\\n var suggestions = suggestionList(argName, knownArgsNames);\\n context.reportError(new GraphQLError(\\\"Unknown argument \\\\\\\"\\\".concat(argName, \\\"\\\\\\\" on field \\\\\\\"\\\").concat(parentType.name, \\\".\\\").concat(fieldDef.name, \\\"\\\\\\\".\\\") + didYouMean(suggestions), argNode));\\n }\\n }\\n });\\n}\\n/**\\n * @internal\\n */\\n\\nexport function KnownArgumentNamesOnDirectivesRule(context) {\\n var directiveArgs = Object.create(null);\\n var schema = context.getSchema();\\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\\n\\n for (var _i2 = 0; _i2 < definedDirectives.length; _i2++) {\\n var directive = definedDirectives[_i2];\\n directiveArgs[directive.name] = directive.args.map(function (arg) {\\n return arg.name;\\n });\\n }\\n\\n var astDefinitions = context.getDocument().definitions;\\n\\n for (var _i4 = 0; _i4 < astDefinitions.length; _i4++) {\\n var def = astDefinitions[_i4];\\n\\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\\n var _def$arguments;\\n\\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n var argsNodes = (_def$arguments = def.arguments) !== null && _def$arguments !== void 0 ? _def$arguments : [];\\n directiveArgs[def.name.value] = argsNodes.map(function (arg) {\\n return arg.name.value;\\n });\\n }\\n }\\n\\n return {\\n Directive: function Directive(directiveNode) {\\n var directiveName = directiveNode.name.value;\\n var knownArgs = directiveArgs[directiveName];\\n\\n if (directiveNode.arguments && knownArgs) {\\n for (var _i6 = 0, _directiveNode$argume2 = directiveNode.arguments; _i6 < _directiveNode$argume2.length; _i6++) {\\n var argNode = _directiveNode$argume2[_i6];\\n var argName = argNode.name.value;\\n\\n if (knownArgs.indexOf(argName) === -1) {\\n var suggestions = suggestionList(argName, knownArgs);\\n context.reportError(new GraphQLError(\\\"Unknown argument \\\\\\\"\\\".concat(argName, \\\"\\\\\\\" on directive \\\\\\\"@\\\").concat(directiveName, \\\"\\\\\\\".\\\") + didYouMean(suggestions), argNode));\\n }\\n }\\n }\\n\\n return false;\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique argument names\\n *\\n * A GraphQL field or directive is only valid if all supplied arguments are\\n * uniquely named.\\n */\\nexport function UniqueArgumentNamesRule(context) {\\n var knownArgNames = Object.create(null);\\n return {\\n Field: function Field() {\\n knownArgNames = Object.create(null);\\n },\\n Directive: function Directive() {\\n knownArgNames = Object.create(null);\\n },\\n Argument: function Argument(node) {\\n var argName = node.name.value;\\n\\n if (knownArgNames[argName]) {\\n context.reportError(new GraphQLError(\\\"There can be only one argument named \\\\\\\"\\\".concat(argName, \\\"\\\\\\\".\\\"), [knownArgNames[argName], node.name]));\\n } else {\\n knownArgNames[argName] = node.name;\\n }\\n\\n return false;\\n }\\n };\\n}\\n\",\"function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\\n\\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nimport inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport keyMap from \\\"../../jsutils/keyMap.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { print } from \\\"../../language/printer.mjs\\\";\\nimport { specifiedDirectives } from \\\"../../type/directives.mjs\\\";\\nimport { isType, isRequiredArgument } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Provided required arguments\\n *\\n * A field or directive is only valid if all required (non-null without a\\n * default value) field arguments have been provided.\\n */\\nexport function ProvidedRequiredArgumentsRule(context) {\\n return _objectSpread(_objectSpread({}, ProvidedRequiredArgumentsOnDirectivesRule(context)), {}, {\\n Field: {\\n // Validate on leave to allow for deeper errors to appear first.\\n leave: function leave(fieldNode) {\\n var _fieldNode$arguments;\\n\\n var fieldDef = context.getFieldDef();\\n\\n if (!fieldDef) {\\n return false;\\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n\\n var argNodes = (_fieldNode$arguments = fieldNode.arguments) !== null && _fieldNode$arguments !== void 0 ? _fieldNode$arguments : [];\\n var argNodeMap = keyMap(argNodes, function (arg) {\\n return arg.name.value;\\n });\\n\\n for (var _i2 = 0, _fieldDef$args2 = fieldDef.args; _i2 < _fieldDef$args2.length; _i2++) {\\n var argDef = _fieldDef$args2[_i2];\\n var argNode = argNodeMap[argDef.name];\\n\\n if (!argNode && isRequiredArgument(argDef)) {\\n var argTypeStr = inspect(argDef.type);\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(fieldDef.name, \\\"\\\\\\\" argument \\\\\\\"\\\").concat(argDef.name, \\\"\\\\\\\" of type \\\\\\\"\\\").concat(argTypeStr, \\\"\\\\\\\" is required, but it was not provided.\\\"), fieldNode));\\n }\\n }\\n }\\n }\\n });\\n}\\n/**\\n * @internal\\n */\\n\\nexport function ProvidedRequiredArgumentsOnDirectivesRule(context) {\\n var requiredArgsMap = Object.create(null);\\n var schema = context.getSchema();\\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\\n\\n for (var _i4 = 0; _i4 < definedDirectives.length; _i4++) {\\n var directive = definedDirectives[_i4];\\n requiredArgsMap[directive.name] = keyMap(directive.args.filter(isRequiredArgument), function (arg) {\\n return arg.name;\\n });\\n }\\n\\n var astDefinitions = context.getDocument().definitions;\\n\\n for (var _i6 = 0; _i6 < astDefinitions.length; _i6++) {\\n var def = astDefinitions[_i6];\\n\\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\\n var _def$arguments;\\n\\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n var argNodes = (_def$arguments = def.arguments) !== null && _def$arguments !== void 0 ? _def$arguments : [];\\n requiredArgsMap[def.name.value] = keyMap(argNodes.filter(isRequiredArgumentNode), function (arg) {\\n return arg.name.value;\\n });\\n }\\n }\\n\\n return {\\n Directive: {\\n // Validate on leave to allow for deeper errors to appear first.\\n leave: function leave(directiveNode) {\\n var directiveName = directiveNode.name.value;\\n var requiredArgs = requiredArgsMap[directiveName];\\n\\n if (requiredArgs) {\\n var _directiveNode$argume;\\n\\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n var _argNodes = (_directiveNode$argume = directiveNode.arguments) !== null && _directiveNode$argume !== void 0 ? _directiveNode$argume : [];\\n\\n var argNodeMap = keyMap(_argNodes, function (arg) {\\n return arg.name.value;\\n });\\n\\n for (var _i8 = 0, _Object$keys2 = Object.keys(requiredArgs); _i8 < _Object$keys2.length; _i8++) {\\n var argName = _Object$keys2[_i8];\\n\\n if (!argNodeMap[argName]) {\\n var argType = requiredArgs[argName].type;\\n var argTypeStr = isType(argType) ? inspect(argType) : print(argType);\\n context.reportError(new GraphQLError(\\\"Directive \\\\\\\"@\\\".concat(directiveName, \\\"\\\\\\\" argument \\\\\\\"\\\").concat(argName, \\\"\\\\\\\" of type \\\\\\\"\\\").concat(argTypeStr, \\\"\\\\\\\" is required, but it was not provided.\\\"), directiveNode));\\n }\\n }\\n }\\n }\\n }\\n };\\n}\\n\\nfunction isRequiredArgumentNode(arg) {\\n return arg.type.kind === Kind.NON_NULL_TYPE && arg.defaultValue == null;\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique input field names\\n *\\n * A GraphQL input object value is only valid if all supplied fields are\\n * uniquely named.\\n */\\nexport function UniqueInputFieldNamesRule(context) {\\n var knownNameStack = [];\\n var knownNames = Object.create(null);\\n return {\\n ObjectValue: {\\n enter: function enter() {\\n knownNameStack.push(knownNames);\\n knownNames = Object.create(null);\\n },\\n leave: function leave() {\\n knownNames = knownNameStack.pop();\\n }\\n },\\n ObjectField: function ObjectField(node) {\\n var fieldName = node.name.value;\\n\\n if (knownNames[fieldName]) {\\n context.reportError(new GraphQLError(\\\"There can be only one input field named \\\\\\\"\\\".concat(fieldName, \\\"\\\\\\\".\\\"), [knownNames[fieldName], node.name]));\\n } else {\\n knownNames[fieldName] = node.name;\\n }\\n }\\n };\\n}\\n\",\"function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\\n\\nimport { Kind } from \\\"../language/kinds.mjs\\\";\\nimport { visit } from \\\"../language/visitor.mjs\\\";\\nimport { TypeInfo, visitWithTypeInfo } from \\\"../utilities/TypeInfo.mjs\\\";\\n\\n/**\\n * An instance of this class is passed as the \\\"this\\\" context to all validators,\\n * allowing access to commonly useful contextual information from within a\\n * validation rule.\\n */\\nexport var ASTValidationContext = /*#__PURE__*/function () {\\n function ASTValidationContext(ast, onError) {\\n this._ast = ast;\\n this._fragments = undefined;\\n this._fragmentSpreads = new Map();\\n this._recursivelyReferencedFragments = new Map();\\n this._onError = onError;\\n }\\n\\n var _proto = ASTValidationContext.prototype;\\n\\n _proto.reportError = function reportError(error) {\\n this._onError(error);\\n };\\n\\n _proto.getDocument = function getDocument() {\\n return this._ast;\\n };\\n\\n _proto.getFragment = function getFragment(name) {\\n var fragments = this._fragments;\\n\\n if (!fragments) {\\n this._fragments = fragments = this.getDocument().definitions.reduce(function (frags, statement) {\\n if (statement.kind === Kind.FRAGMENT_DEFINITION) {\\n frags[statement.name.value] = statement;\\n }\\n\\n return frags;\\n }, Object.create(null));\\n }\\n\\n return fragments[name];\\n };\\n\\n _proto.getFragmentSpreads = function getFragmentSpreads(node) {\\n var spreads = this._fragmentSpreads.get(node);\\n\\n if (!spreads) {\\n spreads = [];\\n var setsToVisit = [node];\\n\\n while (setsToVisit.length !== 0) {\\n var set = setsToVisit.pop();\\n\\n for (var _i2 = 0, _set$selections2 = set.selections; _i2 < _set$selections2.length; _i2++) {\\n var selection = _set$selections2[_i2];\\n\\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\\n spreads.push(selection);\\n } else if (selection.selectionSet) {\\n setsToVisit.push(selection.selectionSet);\\n }\\n }\\n }\\n\\n this._fragmentSpreads.set(node, spreads);\\n }\\n\\n return spreads;\\n };\\n\\n _proto.getRecursivelyReferencedFragments = function getRecursivelyReferencedFragments(operation) {\\n var fragments = this._recursivelyReferencedFragments.get(operation);\\n\\n if (!fragments) {\\n fragments = [];\\n var collectedNames = Object.create(null);\\n var nodesToVisit = [operation.selectionSet];\\n\\n while (nodesToVisit.length !== 0) {\\n var node = nodesToVisit.pop();\\n\\n for (var _i4 = 0, _this$getFragmentSpre2 = this.getFragmentSpreads(node); _i4 < _this$getFragmentSpre2.length; _i4++) {\\n var spread = _this$getFragmentSpre2[_i4];\\n var fragName = spread.name.value;\\n\\n if (collectedNames[fragName] !== true) {\\n collectedNames[fragName] = true;\\n var fragment = this.getFragment(fragName);\\n\\n if (fragment) {\\n fragments.push(fragment);\\n nodesToVisit.push(fragment.selectionSet);\\n }\\n }\\n }\\n }\\n\\n this._recursivelyReferencedFragments.set(operation, fragments);\\n }\\n\\n return fragments;\\n };\\n\\n return ASTValidationContext;\\n}();\\nexport var SDLValidationContext = /*#__PURE__*/function (_ASTValidationContext) {\\n _inheritsLoose(SDLValidationContext, _ASTValidationContext);\\n\\n function SDLValidationContext(ast, schema, onError) {\\n var _this;\\n\\n _this = _ASTValidationContext.call(this, ast, onError) || this;\\n _this._schema = schema;\\n return _this;\\n }\\n\\n var _proto2 = SDLValidationContext.prototype;\\n\\n _proto2.getSchema = function getSchema() {\\n return this._schema;\\n };\\n\\n return SDLValidationContext;\\n}(ASTValidationContext);\\nexport var ValidationContext = /*#__PURE__*/function (_ASTValidationContext2) {\\n _inheritsLoose(ValidationContext, _ASTValidationContext2);\\n\\n function ValidationContext(schema, ast, typeInfo, onError) {\\n var _this2;\\n\\n _this2 = _ASTValidationContext2.call(this, ast, onError) || this;\\n _this2._schema = schema;\\n _this2._typeInfo = typeInfo;\\n _this2._variableUsages = new Map();\\n _this2._recursiveVariableUsages = new Map();\\n return _this2;\\n }\\n\\n var _proto3 = ValidationContext.prototype;\\n\\n _proto3.getSchema = function getSchema() {\\n return this._schema;\\n };\\n\\n _proto3.getVariableUsages = function getVariableUsages(node) {\\n var usages = this._variableUsages.get(node);\\n\\n if (!usages) {\\n var newUsages = [];\\n var typeInfo = new TypeInfo(this._schema);\\n visit(node, visitWithTypeInfo(typeInfo, {\\n VariableDefinition: function VariableDefinition() {\\n return false;\\n },\\n Variable: function Variable(variable) {\\n newUsages.push({\\n node: variable,\\n type: typeInfo.getInputType(),\\n defaultValue: typeInfo.getDefaultValue()\\n });\\n }\\n }));\\n usages = newUsages;\\n\\n this._variableUsages.set(node, usages);\\n }\\n\\n return usages;\\n };\\n\\n _proto3.getRecursiveVariableUsages = function getRecursiveVariableUsages(operation) {\\n var usages = this._recursiveVariableUsages.get(operation);\\n\\n if (!usages) {\\n usages = this.getVariableUsages(operation);\\n\\n for (var _i6 = 0, _this$getRecursivelyR2 = this.getRecursivelyReferencedFragments(operation); _i6 < _this$getRecursivelyR2.length; _i6++) {\\n var frag = _this$getRecursivelyR2[_i6];\\n usages = usages.concat(this.getVariableUsages(frag));\\n }\\n\\n this._recursiveVariableUsages.set(operation, usages);\\n }\\n\\n return usages;\\n };\\n\\n _proto3.getType = function getType() {\\n return this._typeInfo.getType();\\n };\\n\\n _proto3.getParentType = function getParentType() {\\n return this._typeInfo.getParentType();\\n };\\n\\n _proto3.getInputType = function getInputType() {\\n return this._typeInfo.getInputType();\\n };\\n\\n _proto3.getParentInputType = function getParentInputType() {\\n return this._typeInfo.getParentInputType();\\n };\\n\\n _proto3.getFieldDef = function getFieldDef() {\\n return this._typeInfo.getFieldDef();\\n };\\n\\n _proto3.getDirective = function getDirective() {\\n return this._typeInfo.getDirective();\\n };\\n\\n _proto3.getArgument = function getArgument() {\\n return this._typeInfo.getArgument();\\n };\\n\\n _proto3.getEnumValue = function getEnumValue() {\\n return this._typeInfo.getEnumValue();\\n };\\n\\n return ValidationContext;\\n}(ASTValidationContext);\\n\",\"function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\\n\\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nexport function getIntrospectionQuery(options) {\\n var optionsWithDefault = _objectSpread({\\n descriptions: true,\\n specifiedByUrl: false,\\n directiveIsRepeatable: false,\\n schemaDescription: false\\n }, options);\\n\\n var descriptions = optionsWithDefault.descriptions ? 'description' : '';\\n var specifiedByUrl = optionsWithDefault.specifiedByUrl ? 'specifiedByUrl' : '';\\n var directiveIsRepeatable = optionsWithDefault.directiveIsRepeatable ? 'isRepeatable' : '';\\n var schemaDescription = optionsWithDefault.schemaDescription ? descriptions : '';\\n return \\\"\\\\n query IntrospectionQuery {\\\\n __schema {\\\\n \\\".concat(schemaDescription, \\\"\\\\n queryType { name }\\\\n mutationType { name }\\\\n subscriptionType { name }\\\\n types {\\\\n ...FullType\\\\n }\\\\n directives {\\\\n name\\\\n \\\").concat(descriptions, \\\"\\\\n \\\").concat(directiveIsRepeatable, \\\"\\\\n locations\\\\n args {\\\\n ...InputValue\\\\n }\\\\n }\\\\n }\\\\n }\\\\n\\\\n fragment FullType on __Type {\\\\n kind\\\\n name\\\\n \\\").concat(descriptions, \\\"\\\\n \\\").concat(specifiedByUrl, \\\"\\\\n fields(includeDeprecated: true) {\\\\n name\\\\n \\\").concat(descriptions, \\\"\\\\n args {\\\\n ...InputValue\\\\n }\\\\n type {\\\\n ...TypeRef\\\\n }\\\\n isDeprecated\\\\n deprecationReason\\\\n }\\\\n inputFields {\\\\n ...InputValue\\\\n }\\\\n interfaces {\\\\n ...TypeRef\\\\n }\\\\n enumValues(includeDeprecated: true) {\\\\n name\\\\n \\\").concat(descriptions, \\\"\\\\n isDeprecated\\\\n deprecationReason\\\\n }\\\\n possibleTypes {\\\\n ...TypeRef\\\\n }\\\\n }\\\\n\\\\n fragment InputValue on __InputValue {\\\\n name\\\\n \\\").concat(descriptions, \\\"\\\\n type { ...TypeRef }\\\\n defaultValue\\\\n }\\\\n\\\\n fragment TypeRef on __Type {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n ofType {\\\\n kind\\\\n name\\\\n }\\\\n }\\\\n }\\\\n }\\\\n }\\\\n }\\\\n }\\\\n }\\\\n \\\");\\n}\\n\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nimport React from 'react';\\nimport onHasCompletion from '../utility/onHasCompletion';\\nimport commonKeys from '../utility/commonKeys';\\nvar HeaderEditor = (function (_super) {\\n __extends(HeaderEditor, _super);\\n function HeaderEditor(props) {\\n var _this = _super.call(this, props) || this;\\n _this.editor = null;\\n _this._node = null;\\n _this.ignoreChangeEvent = false;\\n _this._onKeyUp = function (_cm, event) {\\n var code = event.keyCode;\\n if (!_this.editor) {\\n return;\\n }\\n if ((code >= 65 && code <= 90) ||\\n (!event.shiftKey && code >= 48 && code <= 57) ||\\n (event.shiftKey && code === 189) ||\\n (event.shiftKey && code === 222)) {\\n _this.editor.execCommand('autocomplete');\\n }\\n };\\n _this._onEdit = function () {\\n if (!_this.editor) {\\n return;\\n }\\n if (!_this.ignoreChangeEvent) {\\n _this.cachedValue = _this.editor.getValue();\\n if (_this.props.onEdit) {\\n _this.props.onEdit(_this.cachedValue);\\n }\\n }\\n };\\n _this._onHasCompletion = function (instance, changeObj) {\\n onHasCompletion(instance, changeObj, _this.props.onHintInformationRender);\\n };\\n _this.cachedValue = props.value || '';\\n return _this;\\n }\\n HeaderEditor.prototype.componentDidMount = function () {\\n var _this = this;\\n this.CodeMirror = require('codemirror');\\n require('codemirror/addon/hint/show-hint');\\n require('codemirror/addon/edit/matchbrackets');\\n require('codemirror/addon/edit/closebrackets');\\n require('codemirror/addon/fold/brace-fold');\\n require('codemirror/addon/fold/foldgutter');\\n require('codemirror/addon/lint/lint');\\n require('codemirror/addon/search/searchcursor');\\n require('codemirror/addon/search/jump-to-line');\\n require('codemirror/addon/dialog/dialog');\\n require('codemirror/mode/javascript/javascript');\\n require('codemirror/keymap/sublime');\\n var editor = (this.editor = this.CodeMirror(this._node, {\\n value: this.props.value || '',\\n lineNumbers: true,\\n tabSize: 2,\\n mode: { name: 'javascript', json: true },\\n theme: this.props.editorTheme || 'graphiql',\\n keyMap: 'sublime',\\n autoCloseBrackets: true,\\n matchBrackets: true,\\n showCursorWhenSelecting: true,\\n readOnly: this.props.readOnly ? 'nocursor' : false,\\n foldGutter: {\\n minFoldSize: 4,\\n },\\n gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\\n extraKeys: __assign({ 'Cmd-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Ctrl-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Alt-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Shift-Space': function () {\\n return _this.editor.showHint({\\n completeSingle: false,\\n container: _this._node,\\n });\\n }, 'Cmd-Enter': function () {\\n if (_this.props.onRunQuery) {\\n _this.props.onRunQuery();\\n }\\n }, 'Ctrl-Enter': function () {\\n if (_this.props.onRunQuery) {\\n _this.props.onRunQuery();\\n }\\n }, 'Shift-Ctrl-P': function () {\\n if (_this.props.onPrettifyQuery) {\\n _this.props.onPrettifyQuery();\\n }\\n }, 'Shift-Ctrl-M': function () {\\n if (_this.props.onMergeQuery) {\\n _this.props.onMergeQuery();\\n }\\n } }, commonKeys),\\n }));\\n editor.on('change', this._onEdit);\\n editor.on('keyup', this._onKeyUp);\\n editor.on('hasCompletion', this._onHasCompletion);\\n };\\n HeaderEditor.prototype.componentDidUpdate = function (prevProps) {\\n this.CodeMirror = require('codemirror');\\n if (!this.editor) {\\n return;\\n }\\n this.ignoreChangeEvent = true;\\n if (this.props.value !== prevProps.value &&\\n this.props.value !== this.cachedValue) {\\n var thisValue = this.props.value || '';\\n this.cachedValue = thisValue;\\n this.editor.setValue(thisValue);\\n }\\n this.ignoreChangeEvent = false;\\n };\\n HeaderEditor.prototype.componentWillUnmount = function () {\\n if (!this.editor) {\\n return;\\n }\\n this.editor.off('change', this._onEdit);\\n this.editor.off('keyup', this._onKeyUp);\\n this.editor.off('hasCompletion', this._onHasCompletion);\\n this.editor = null;\\n };\\n HeaderEditor.prototype.render = function () {\\n var _this = this;\\n return (React.createElement(\\\"div\\\", { className: \\\"codemirrorWrap\\\", style: {\\n position: this.props.active ? 'relative' : 'absolute',\\n visibility: this.props.active ? 'visible' : 'hidden',\\n }, ref: function (node) {\\n _this._node = node;\\n } }));\\n };\\n HeaderEditor.prototype.getCodeMirror = function () {\\n return this.editor;\\n };\\n HeaderEditor.prototype.getClientHeight = function () {\\n return this._node && this._node.clientHeight;\\n };\\n return HeaderEditor;\\n}(React.Component));\\nexport { HeaderEditor };\\n//# sourceMappingURL=HeaderEditor.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nimport ReactDOM from 'react-dom';\\nimport commonKeys from '../utility/commonKeys';\\nvar ResultViewer = (function (_super) {\\n __extends(ResultViewer, _super);\\n function ResultViewer() {\\n var _this = _super !== null && _super.apply(this, arguments) || this;\\n _this.viewer = null;\\n _this._node = null;\\n return _this;\\n }\\n ResultViewer.prototype.componentDidMount = function () {\\n var CodeMirror = require('codemirror');\\n require('codemirror/addon/fold/foldgutter');\\n require('codemirror/addon/fold/brace-fold');\\n require('codemirror/addon/dialog/dialog');\\n require('codemirror/addon/search/search');\\n require('codemirror/addon/search/searchcursor');\\n require('codemirror/addon/search/jump-to-line');\\n require('codemirror/keymap/sublime');\\n require('codemirror-graphql/results/mode');\\n var Tooltip = this.props.ResultsTooltip;\\n var ImagePreview = this.props.ImagePreview;\\n if (Tooltip || ImagePreview) {\\n require('codemirror-graphql/utils/info-addon');\\n var tooltipDiv_1 = document.createElement('div');\\n CodeMirror.registerHelper('info', 'graphql-results', function (token, _options, _cm, pos) {\\n var infoElements = [];\\n if (Tooltip) {\\n infoElements.push(React.createElement(Tooltip, { pos: pos }));\\n }\\n if (ImagePreview &&\\n typeof ImagePreview.shouldRender === 'function' &&\\n ImagePreview.shouldRender(token)) {\\n infoElements.push(React.createElement(ImagePreview, { token: token }));\\n }\\n if (!infoElements.length) {\\n ReactDOM.unmountComponentAtNode(tooltipDiv_1);\\n return null;\\n }\\n ReactDOM.render(React.createElement(\\\"div\\\", null, infoElements), tooltipDiv_1);\\n return tooltipDiv_1;\\n });\\n }\\n this.viewer = CodeMirror(this._node, {\\n lineWrapping: true,\\n value: this.props.value || '',\\n readOnly: true,\\n theme: this.props.editorTheme || 'graphiql',\\n mode: 'graphql-results',\\n keyMap: 'sublime',\\n foldGutter: {\\n minFoldSize: 4,\\n },\\n gutters: ['CodeMirror-foldgutter'],\\n info: Boolean(this.props.ResultsTooltip || this.props.ImagePreview),\\n extraKeys: commonKeys,\\n });\\n };\\n ResultViewer.prototype.shouldComponentUpdate = function (nextProps) {\\n return this.props.value !== nextProps.value;\\n };\\n ResultViewer.prototype.componentDidUpdate = function () {\\n if (this.viewer) {\\n this.viewer.setValue(this.props.value || '');\\n }\\n };\\n ResultViewer.prototype.componentWillUnmount = function () {\\n this.viewer = null;\\n };\\n ResultViewer.prototype.render = function () {\\n var _this = this;\\n return (React.createElement(\\\"section\\\", { className: \\\"result-window\\\", \\\"aria-label\\\": \\\"Result Window\\\", \\\"aria-live\\\": \\\"polite\\\", \\\"aria-atomic\\\": \\\"true\\\", ref: function (node) {\\n if (node) {\\n _this.props.registerRef(node);\\n _this._node = node;\\n }\\n } }));\\n };\\n ResultViewer.prototype.getCodeMirror = function () {\\n return this.viewer;\\n };\\n ResultViewer.prototype.getClientHeight = function () {\\n return this._node && this._node.clientHeight;\\n };\\n return ResultViewer;\\n}(React.Component));\\nexport { ResultViewer };\\n//# sourceMappingURL=ResultViewer.js.map\",\"declare let window: any;\\nconst _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});\\nconst NativeWebSocket = _global.WebSocket || _global.MozWebSocket;\\n\\nimport * as Backoff from 'backo2';\\nimport { default as EventEmitterType, EventEmitter, ListenerFn } from 'eventemitter3';\\nimport isString from './utils/is-string';\\nimport isObject from './utils/is-object';\\nimport { ExecutionResult } from 'graphql/execution/execute';\\nimport { print } from 'graphql/language/printer';\\nimport { DocumentNode } from 'graphql/language/ast';\\nimport { getOperationAST } from 'graphql/utilities/getOperationAST';\\nimport $$observable from 'symbol-observable';\\n\\nimport { GRAPHQL_WS } from './protocol';\\nimport { MIN_WS_TIMEOUT, WS_TIMEOUT } from './defaults';\\nimport MessageTypes from './message-types';\\n\\nexport interface Observer {\\n next?: (value: T) => void;\\n error?: (error: Error) => void;\\n complete?: () => void;\\n}\\n\\nexport interface Observable {\\n subscribe(observer: Observer): {\\n unsubscribe: () => void;\\n };\\n}\\n\\nexport interface OperationOptions {\\n query?: string | DocumentNode;\\n variables?: Object;\\n operationName?: string;\\n [key: string]: any;\\n}\\n\\nexport type FormatedError = Error & {\\n originalError?: any;\\n};\\n\\nexport interface Operation {\\n options: OperationOptions;\\n handler: (error: Error[], result?: any) => void;\\n}\\n\\nexport interface Operations {\\n [id: string]: Operation;\\n}\\n\\nexport interface Middleware {\\n applyMiddleware(options: OperationOptions, next: Function): void;\\n}\\n\\nexport type ConnectionParams = {\\n [paramName: string]: any,\\n};\\n\\nexport type ConnectionParamsOptions = ConnectionParams | Function | Promise;\\n\\nexport interface ClientOptions {\\n connectionParams?: ConnectionParamsOptions;\\n minTimeout?: number;\\n timeout?: number;\\n reconnect?: boolean;\\n reconnectionAttempts?: number;\\n connectionCallback?: (error: Error[], result?: any) => void;\\n lazy?: boolean;\\n inactivityTimeout?: number;\\n wsOptionArguments?: any[];\\n}\\n\\nexport class SubscriptionClient {\\n public client: any;\\n public operations: Operations;\\n private url: string;\\n private nextOperationId: number;\\n private connectionParams: Function;\\n private minWsTimeout: number;\\n private wsTimeout: number;\\n private unsentMessagesQueue: Array; // queued messages while websocket is opening.\\n private reconnect: boolean;\\n private reconnecting: boolean;\\n private reconnectionAttempts: number;\\n private backoff: any;\\n private connectionCallback: any;\\n private eventEmitter: EventEmitterType;\\n private lazy: boolean;\\n private inactivityTimeout: number;\\n private inactivityTimeoutId: any;\\n private closedByUser: boolean;\\n private wsImpl: any;\\n private wsProtocols: string | string[];\\n private wasKeepAliveReceived: boolean;\\n private tryReconnectTimeoutId: any;\\n private checkConnectionIntervalId: any;\\n private maxConnectTimeoutId: any;\\n private middlewares: Middleware[];\\n private maxConnectTimeGenerator: any;\\n private wsOptionArguments: any[];\\n\\n constructor(\\n url: string,\\n options?: ClientOptions,\\n webSocketImpl?: any,\\n webSocketProtocols?: string | string[],\\n ) {\\n const {\\n connectionCallback = undefined,\\n connectionParams = {},\\n minTimeout = MIN_WS_TIMEOUT,\\n timeout = WS_TIMEOUT,\\n reconnect = false,\\n reconnectionAttempts = Infinity,\\n lazy = false,\\n inactivityTimeout = 0,\\n wsOptionArguments = [],\\n } = (options || {});\\n\\n this.wsImpl = webSocketImpl || NativeWebSocket;\\n if (!this.wsImpl) {\\n throw new Error('Unable to find native implementation, or alternative implementation for WebSocket!');\\n }\\n\\n this.wsProtocols = webSocketProtocols || GRAPHQL_WS;\\n this.connectionCallback = connectionCallback;\\n this.url = url;\\n this.operations = {};\\n this.nextOperationId = 0;\\n this.minWsTimeout = minTimeout;\\n this.wsTimeout = timeout;\\n this.unsentMessagesQueue = [];\\n this.reconnect = reconnect;\\n this.reconnecting = false;\\n this.reconnectionAttempts = reconnectionAttempts;\\n this.lazy = !!lazy;\\n this.inactivityTimeout = inactivityTimeout;\\n this.closedByUser = false;\\n this.backoff = new Backoff({ jitter: 0.5 });\\n this.eventEmitter = new EventEmitter();\\n this.middlewares = [];\\n this.client = null;\\n this.maxConnectTimeGenerator = this.createMaxConnectTimeGenerator();\\n this.connectionParams = this.getConnectionParams(connectionParams);\\n this.wsOptionArguments = wsOptionArguments;\\n\\n if (!this.lazy) {\\n this.connect();\\n }\\n }\\n\\n public get status() {\\n if (this.client === null) {\\n return this.wsImpl.CLOSED;\\n }\\n\\n return this.client.readyState;\\n }\\n\\n public close(isForced = true, closedByUser = true) {\\n this.clearInactivityTimeout();\\n if (this.client !== null) {\\n this.closedByUser = closedByUser;\\n\\n if (isForced) {\\n this.clearCheckConnectionInterval();\\n this.clearMaxConnectTimeout();\\n this.clearTryReconnectTimeout();\\n this.unsubscribeAll();\\n this.sendMessage(undefined, MessageTypes.GQL_CONNECTION_TERMINATE, null);\\n }\\n\\n this.client.close();\\n this.client.onopen = null;\\n this.client.onclose = null;\\n this.client.onerror = null;\\n this.client.onmessage = null;\\n this.client = null;\\n this.eventEmitter.emit('disconnected');\\n\\n if (!isForced) {\\n this.tryReconnect();\\n }\\n }\\n }\\n\\n public request(request: OperationOptions): Observable {\\n const getObserver = this.getObserver.bind(this);\\n const executeOperation = this.executeOperation.bind(this);\\n const unsubscribe = this.unsubscribe.bind(this);\\n\\n let opId: string;\\n\\n this.clearInactivityTimeout();\\n\\n return {\\n [$$observable]() {\\n return this;\\n },\\n subscribe(\\n observerOrNext: ((Observer) | ((v: ExecutionResult) => void)),\\n onError?: (error: Error) => void,\\n onComplete?: () => void,\\n ) {\\n const observer = getObserver(observerOrNext, onError, onComplete);\\n\\n opId = executeOperation(request, (error: Error[], result: any) => {\\n if ( error === null && result === null ) {\\n if ( observer.complete ) {\\n observer.complete();\\n }\\n } else if (error) {\\n if ( observer.error ) {\\n observer.error(error[0]);\\n }\\n } else {\\n if ( observer.next ) {\\n observer.next(result);\\n }\\n }\\n });\\n\\n return {\\n unsubscribe: () => {\\n if ( opId ) {\\n unsubscribe(opId);\\n opId = null;\\n }\\n },\\n };\\n },\\n };\\n }\\n\\n public on(eventName: string, callback: ListenerFn, context?: any): Function {\\n const handler = this.eventEmitter.on(eventName, callback, context);\\n\\n return () => {\\n handler.off(eventName, callback, context);\\n };\\n }\\n\\n public onConnected(callback: ListenerFn, context?: any): Function {\\n return this.on('connected', callback, context);\\n }\\n\\n public onConnecting(callback: ListenerFn, context?: any): Function {\\n return this.on('connecting', callback, context);\\n }\\n\\n public onDisconnected(callback: ListenerFn, context?: any): Function {\\n return this.on('disconnected', callback, context);\\n }\\n\\n public onReconnected(callback: ListenerFn, context?: any): Function {\\n return this.on('reconnected', callback, context);\\n }\\n\\n public onReconnecting(callback: ListenerFn, context?: any): Function {\\n return this.on('reconnecting', callback, context);\\n }\\n\\n public onError(callback: ListenerFn, context?: any): Function {\\n return this.on('error', callback, context);\\n }\\n\\n public unsubscribeAll() {\\n Object.keys(this.operations).forEach( subId => {\\n this.unsubscribe(subId);\\n });\\n }\\n\\n public applyMiddlewares(options: OperationOptions): Promise {\\n return new Promise((resolve, reject) => {\\n const queue = (funcs: Middleware[], scope: any) => {\\n const next = (error?: any) => {\\n if (error) {\\n reject(error);\\n } else {\\n if (funcs.length > 0) {\\n const f = funcs.shift();\\n if (f) {\\n f.applyMiddleware.apply(scope, [options, next]);\\n }\\n } else {\\n resolve(options);\\n }\\n }\\n };\\n next();\\n };\\n\\n queue([...this.middlewares], this);\\n });\\n }\\n\\n public use(middlewares: Middleware[]): SubscriptionClient {\\n middlewares.map((middleware) => {\\n if (typeof middleware.applyMiddleware === 'function') {\\n this.middlewares.push(middleware);\\n } else {\\n throw new Error('Middleware must implement the applyMiddleware function.');\\n }\\n });\\n\\n return this;\\n }\\n\\n private getConnectionParams(connectionParams: ConnectionParamsOptions): Function {\\n return (): Promise => new Promise((resolve, reject) => {\\n if (typeof connectionParams === 'function') {\\n try {\\n return resolve(connectionParams.call(null));\\n } catch (error) {\\n return reject(error);\\n }\\n }\\n\\n resolve(connectionParams);\\n });\\n }\\n\\n private executeOperation(options: OperationOptions, handler: (error: Error[], result?: any) => void): string {\\n if (this.client === null) {\\n this.connect();\\n }\\n\\n const opId = this.generateOperationId();\\n this.operations[opId] = { options: options, handler };\\n\\n this.applyMiddlewares(options)\\n .then(processedOptions => {\\n this.checkOperationOptions(processedOptions, handler);\\n if (this.operations[opId]) {\\n this.operations[opId] = { options: processedOptions, handler };\\n this.sendMessage(opId, MessageTypes.GQL_START, processedOptions);\\n }\\n })\\n .catch(error => {\\n this.unsubscribe(opId);\\n handler(this.formatErrors(error));\\n });\\n\\n return opId;\\n }\\n\\n private getObserver(\\n observerOrNext: ((Observer) | ((v: T) => void)),\\n error?: (e: Error) => void,\\n complete?: () => void,\\n ) {\\n if ( typeof observerOrNext === 'function' ) {\\n return {\\n next: (v: T) => observerOrNext(v),\\n error: (e: Error) => error && error(e),\\n complete: () => complete && complete(),\\n };\\n }\\n\\n return observerOrNext;\\n }\\n\\n private createMaxConnectTimeGenerator() {\\n const minValue = this.minWsTimeout;\\n const maxValue = this.wsTimeout;\\n\\n return new Backoff({\\n min: minValue,\\n max: maxValue,\\n factor: 1.2,\\n });\\n }\\n\\n private clearCheckConnectionInterval() {\\n if (this.checkConnectionIntervalId) {\\n clearInterval(this.checkConnectionIntervalId);\\n this.checkConnectionIntervalId = null;\\n }\\n }\\n\\n private clearMaxConnectTimeout() {\\n if (this.maxConnectTimeoutId) {\\n clearTimeout(this.maxConnectTimeoutId);\\n this.maxConnectTimeoutId = null;\\n }\\n }\\n\\n private clearTryReconnectTimeout() {\\n if (this.tryReconnectTimeoutId) {\\n clearTimeout(this.tryReconnectTimeoutId);\\n this.tryReconnectTimeoutId = null;\\n }\\n }\\n\\n private clearInactivityTimeout() {\\n if (this.inactivityTimeoutId) {\\n clearTimeout(this.inactivityTimeoutId);\\n this.inactivityTimeoutId = null;\\n }\\n }\\n\\n private setInactivityTimeout() {\\n if (this.inactivityTimeout > 0 && Object.keys(this.operations).length === 0) {\\n this.inactivityTimeoutId = setTimeout(() => {\\n if (Object.keys(this.operations).length === 0) {\\n this.close();\\n }\\n }, this.inactivityTimeout);\\n }\\n }\\n\\n private checkOperationOptions(options: OperationOptions, handler: (error: Error[], result?: any) => void) {\\n const { query, variables, operationName } = options;\\n\\n if (!query) {\\n throw new Error('Must provide a query.');\\n }\\n\\n if (!handler) {\\n throw new Error('Must provide an handler.');\\n }\\n\\n if (\\n ( !isString(query) && !getOperationAST(query, operationName)) ||\\n ( operationName && !isString(operationName)) ||\\n ( variables && !isObject(variables))\\n ) {\\n throw new Error('Incorrect option types. query must be a string or a document,' +\\n '`operationName` must be a string, and `variables` must be an object.');\\n }\\n }\\n\\n private buildMessage(id: string, type: string, payload: any) {\\n const payloadToReturn = payload && payload.query ?\\n {\\n ...payload,\\n query: typeof payload.query === 'string' ? payload.query : print(payload.query),\\n } :\\n payload;\\n\\n return {\\n id,\\n type,\\n payload: payloadToReturn,\\n };\\n }\\n\\n // ensure we have an array of errors\\n private formatErrors(errors: any): FormatedError[] {\\n if (Array.isArray(errors)) {\\n return errors;\\n }\\n\\n // TODO we should not pass ValidationError to callback in the future.\\n // ValidationError\\n if (errors && errors.errors) {\\n return this.formatErrors(errors.errors);\\n }\\n\\n if (errors && errors.message) {\\n return [errors];\\n }\\n\\n return [{\\n name: 'FormatedError',\\n message: 'Unknown error',\\n originalError: errors,\\n }];\\n }\\n\\n private sendMessage(id: string, type: string, payload: any) {\\n this.sendMessageRaw(this.buildMessage(id, type, payload));\\n }\\n\\n // send message, or queue it if connection is not open\\n private sendMessageRaw(message: Object) {\\n switch (this.status) {\\n case this.wsImpl.OPEN:\\n let serializedMessage: string = JSON.stringify(message);\\n try {\\n JSON.parse(serializedMessage);\\n } catch (e) {\\n this.eventEmitter.emit('error', new Error(`Message must be JSON-serializable. Got: ${message}`));\\n }\\n\\n this.client.send(serializedMessage);\\n break;\\n case this.wsImpl.CONNECTING:\\n this.unsentMessagesQueue.push(message);\\n\\n break;\\n default:\\n if (!this.reconnecting) {\\n this.eventEmitter.emit('error', new Error('A message was not sent because socket is not connected, is closing or ' +\\n 'is already closed. Message was: ' + JSON.stringify(message)));\\n }\\n }\\n }\\n\\n private generateOperationId(): string {\\n return String(++this.nextOperationId);\\n }\\n\\n private tryReconnect() {\\n if (!this.reconnect || this.backoff.attempts >= this.reconnectionAttempts) {\\n return;\\n }\\n\\n if (!this.reconnecting) {\\n Object.keys(this.operations).forEach((key) => {\\n this.unsentMessagesQueue.push(\\n this.buildMessage(key, MessageTypes.GQL_START, this.operations[key].options),\\n );\\n });\\n this.reconnecting = true;\\n }\\n\\n this.clearTryReconnectTimeout();\\n\\n const delay = this.backoff.duration();\\n this.tryReconnectTimeoutId = setTimeout(() => {\\n this.connect();\\n }, delay);\\n }\\n\\n private flushUnsentMessagesQueue() {\\n this.unsentMessagesQueue.forEach((message) => {\\n this.sendMessageRaw(message);\\n });\\n this.unsentMessagesQueue = [];\\n }\\n\\n private checkConnection() {\\n if (this.wasKeepAliveReceived) {\\n this.wasKeepAliveReceived = false;\\n return;\\n }\\n\\n if (!this.reconnecting) {\\n this.close(false, true);\\n }\\n }\\n\\n private checkMaxConnectTimeout() {\\n this.clearMaxConnectTimeout();\\n\\n // Max timeout trying to connect\\n this.maxConnectTimeoutId = setTimeout(() => {\\n if (this.status !== this.wsImpl.OPEN) {\\n this.reconnecting = true;\\n this.close(false, true);\\n }\\n }, this.maxConnectTimeGenerator.duration());\\n }\\n\\n private connect() {\\n this.client = new this.wsImpl(this.url, this.wsProtocols, ...this.wsOptionArguments);\\n\\n this.checkMaxConnectTimeout();\\n\\n this.client.onopen = async () => {\\n if (this.status === this.wsImpl.OPEN) {\\n this.clearMaxConnectTimeout();\\n this.closedByUser = false;\\n this.eventEmitter.emit(this.reconnecting ? 'reconnecting' : 'connecting');\\n\\n try {\\n const connectionParams: ConnectionParams = await this.connectionParams();\\n\\n // Send CONNECTION_INIT message, no need to wait for connection to success (reduce roundtrips)\\n this.sendMessage(undefined, MessageTypes.GQL_CONNECTION_INIT, connectionParams);\\n this.flushUnsentMessagesQueue();\\n } catch (error) {\\n this.sendMessage(undefined, MessageTypes.GQL_CONNECTION_ERROR, error);\\n this.flushUnsentMessagesQueue();\\n }\\n }\\n };\\n\\n this.client.onclose = () => {\\n if (!this.closedByUser) {\\n this.close(false, false);\\n }\\n };\\n\\n this.client.onerror = (err: Error) => {\\n // Capture and ignore errors to prevent unhandled exceptions, wait for\\n // onclose to fire before attempting a reconnect.\\n this.eventEmitter.emit('error', err);\\n };\\n\\n this.client.onmessage = ({ data }: {data: any}) => {\\n this.processReceivedData(data);\\n };\\n }\\n\\n private processReceivedData(receivedData: any) {\\n let parsedMessage: any;\\n let opId: string;\\n\\n try {\\n parsedMessage = JSON.parse(receivedData);\\n opId = parsedMessage.id;\\n } catch (e) {\\n throw new Error(`Message must be JSON-parseable. Got: ${receivedData}`);\\n }\\n\\n if (\\n [ MessageTypes.GQL_DATA,\\n MessageTypes.GQL_COMPLETE,\\n MessageTypes.GQL_ERROR,\\n ].indexOf(parsedMessage.type) !== -1 && !this.operations[opId]\\n ) {\\n this.unsubscribe(opId);\\n\\n return;\\n }\\n\\n switch (parsedMessage.type) {\\n case MessageTypes.GQL_CONNECTION_ERROR:\\n if (this.connectionCallback) {\\n this.connectionCallback(parsedMessage.payload);\\n }\\n break;\\n\\n case MessageTypes.GQL_CONNECTION_ACK:\\n this.eventEmitter.emit(this.reconnecting ? 'reconnected' : 'connected', parsedMessage.payload);\\n this.reconnecting = false;\\n this.backoff.reset();\\n this.maxConnectTimeGenerator.reset();\\n\\n if (this.connectionCallback) {\\n this.connectionCallback();\\n }\\n break;\\n\\n case MessageTypes.GQL_COMPLETE:\\n const handler = this.operations[opId].handler;\\n delete this.operations[opId];\\n handler.call(this, null, null);\\n break;\\n\\n case MessageTypes.GQL_ERROR:\\n this.operations[opId].handler(this.formatErrors(parsedMessage.payload), null);\\n delete this.operations[opId];\\n break;\\n\\n case MessageTypes.GQL_DATA:\\n const parsedPayload = !parsedMessage.payload.errors ?\\n parsedMessage.payload : {...parsedMessage.payload, errors: this.formatErrors(parsedMessage.payload.errors)};\\n this.operations[opId].handler(null, parsedPayload);\\n break;\\n\\n case MessageTypes.GQL_CONNECTION_KEEP_ALIVE:\\n const firstKA = typeof this.wasKeepAliveReceived === 'undefined';\\n this.wasKeepAliveReceived = true;\\n\\n if (firstKA) {\\n this.checkConnection();\\n }\\n\\n if (this.checkConnectionIntervalId) {\\n clearInterval(this.checkConnectionIntervalId);\\n this.checkConnection();\\n }\\n this.checkConnectionIntervalId = setInterval(this.checkConnection.bind(this), this.wsTimeout);\\n break;\\n\\n default:\\n throw new Error('Invalid message type!');\\n }\\n }\\n\\n private unsubscribe(opId: string) {\\n if (this.operations[opId]) {\\n delete this.operations[opId];\\n this.setInactivityTimeout();\\n this.sendMessage(opId, MessageTypes.GQL_STOP, undefined);\\n }\\n }\\n}\\n\",\"/*\\nobject-assign\\n(c) Sindre Sorhus\\n@license MIT\\n*/\\n\\n'use strict';\\n/* eslint-disable no-unused-vars */\\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\\n\\nfunction toObject(val) {\\n\\tif (val === null || val === undefined) {\\n\\t\\tthrow new TypeError('Object.assign cannot be called with null or undefined');\\n\\t}\\n\\n\\treturn Object(val);\\n}\\n\\nfunction shouldUseNative() {\\n\\ttry {\\n\\t\\tif (!Object.assign) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// Detect buggy property enumeration order in older V8 versions.\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\\n\\t\\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\\n\\t\\ttest1[5] = 'de';\\n\\t\\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\\n\\t\\tvar test2 = {};\\n\\t\\tfor (var i = 0; i < 10; i++) {\\n\\t\\t\\ttest2['_' + String.fromCharCode(i)] = i;\\n\\t\\t}\\n\\t\\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\\n\\t\\t\\treturn test2[n];\\n\\t\\t});\\n\\t\\tif (order2.join('') !== '0123456789') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\\n\\t\\tvar test3 = {};\\n\\t\\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\\n\\t\\t\\ttest3[letter] = letter;\\n\\t\\t});\\n\\t\\tif (Object.keys(Object.assign({}, test3)).join('') !==\\n\\t\\t\\t\\t'abcdefghijklmnopqrst') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\treturn true;\\n\\t} catch (err) {\\n\\t\\t// We don't expect any of the above to throw, but better to be safe.\\n\\t\\treturn false;\\n\\t}\\n}\\n\\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\\n\\tvar from;\\n\\tvar to = toObject(target);\\n\\tvar symbols;\\n\\n\\tfor (var s = 1; s < arguments.length; s++) {\\n\\t\\tfrom = Object(arguments[s]);\\n\\n\\t\\tfor (var key in from) {\\n\\t\\t\\tif (hasOwnProperty.call(from, key)) {\\n\\t\\t\\t\\tto[key] = from[key];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (getOwnPropertySymbols) {\\n\\t\\t\\tsymbols = getOwnPropertySymbols(from);\\n\\t\\t\\tfor (var i = 0; i < symbols.length; i++) {\\n\\t\\t\\t\\tif (propIsEnumerable.call(from, symbols[i])) {\\n\\t\\t\\t\\t\\tto[symbols[i]] = from[symbols[i]];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn to;\\n};\\n\",\"// HTML5 entities map: { name -> utf16string }\\n//\\n'use strict';\\n\\n/*eslint quotes:0*/\\nmodule.exports = require('entities/lib/maps/entities.json');\\n\",\"'use strict';\\n\\n\\nmodule.exports.encode = require('./encode');\\nmodule.exports.decode = require('./decode');\\nmodule.exports.format = require('./format');\\nmodule.exports.parse = require('./parse');\\n\",\"module.exports=/[\\\\0-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF]/\",\"module.exports=/[\\\\0-\\\\x1F\\\\x7F-\\\\x9F]/\",\"module.exports=/[ \\\\xA0\\\\u1680\\\\u2000-\\\\u200A\\\\u2028\\\\u2029\\\\u202F\\\\u205F\\\\u3000]/\",\"// Regexps to match html elements\\n\\n'use strict';\\n\\nvar attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\\n\\nvar unquoted = '[^\\\"\\\\'=<>`\\\\\\\\x00-\\\\\\\\x20]+';\\nvar single_quoted = \\\"'[^']*'\\\";\\nvar double_quoted = '\\\"[^\\\"]*\\\"';\\n\\nvar attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';\\n\\nvar attribute = '(?:\\\\\\\\s+' + attr_name + '(?:\\\\\\\\s*=\\\\\\\\s*' + attr_value + ')?)';\\n\\nvar open_tag = '<[A-Za-z][A-Za-z0-9\\\\\\\\-]*' + attribute + '*\\\\\\\\s*\\\\\\\\/?>';\\n\\nvar close_tag = '<\\\\\\\\/[A-Za-z][A-Za-z0-9\\\\\\\\-]*\\\\\\\\s*>';\\nvar comment = '|';\\nvar processing = '<[?].*?[?]>';\\nvar declaration = ']*>';\\nvar cdata = '';\\n\\nvar HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +\\n '|' + processing + '|' + declaration + '|' + cdata + ')');\\nvar HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');\\n\\nmodule.exports.HTML_TAG_RE = HTML_TAG_RE;\\nmodule.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;\\n\",\"// ~~strike through~~\\n//\\n'use strict';\\n\\n\\n// Insert each marker as a separate text token, and add it to delimiter list\\n//\\nmodule.exports.tokenize = function strikethrough(state, silent) {\\n var i, scanned, token, len, ch,\\n start = state.pos,\\n marker = state.src.charCodeAt(start);\\n\\n if (silent) { return false; }\\n\\n if (marker !== 0x7E/* ~ */) { return false; }\\n\\n scanned = state.scanDelims(state.pos, true);\\n len = scanned.length;\\n ch = String.fromCharCode(marker);\\n\\n if (len < 2) { return false; }\\n\\n if (len % 2) {\\n token = state.push('text', '', 0);\\n token.content = ch;\\n len--;\\n }\\n\\n for (i = 0; i < len; i += 2) {\\n token = state.push('text', '', 0);\\n token.content = ch + ch;\\n\\n state.delimiters.push({\\n marker: marker,\\n length: 0, // disable \\\"rule of 3\\\" length checks meant for emphasis\\n jump: i,\\n token: state.tokens.length - 1,\\n end: -1,\\n open: scanned.can_open,\\n close: scanned.can_close\\n });\\n }\\n\\n state.pos += scanned.length;\\n\\n return true;\\n};\\n\\n\\nfunction postProcess(state, delimiters) {\\n var i, j,\\n startDelim,\\n endDelim,\\n token,\\n loneMarkers = [],\\n max = delimiters.length;\\n\\n for (i = 0; i < max; i++) {\\n startDelim = delimiters[i];\\n\\n if (startDelim.marker !== 0x7E/* ~ */) {\\n continue;\\n }\\n\\n if (startDelim.end === -1) {\\n continue;\\n }\\n\\n endDelim = delimiters[startDelim.end];\\n\\n token = state.tokens[startDelim.token];\\n token.type = 's_open';\\n token.tag = 's';\\n token.nesting = 1;\\n token.markup = '~~';\\n token.content = '';\\n\\n token = state.tokens[endDelim.token];\\n token.type = 's_close';\\n token.tag = 's';\\n token.nesting = -1;\\n token.markup = '~~';\\n token.content = '';\\n\\n if (state.tokens[endDelim.token - 1].type === 'text' &&\\n state.tokens[endDelim.token - 1].content === '~') {\\n\\n loneMarkers.push(endDelim.token - 1);\\n }\\n }\\n\\n // If a marker sequence has an odd number of characters, it's splitted\\n // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the\\n // start of the sequence.\\n //\\n // So, we have to move all those markers after subsequent s_close tags.\\n //\\n while (loneMarkers.length) {\\n i = loneMarkers.pop();\\n j = i + 1;\\n\\n while (j < state.tokens.length && state.tokens[j].type === 's_close') {\\n j++;\\n }\\n\\n j--;\\n\\n if (i !== j) {\\n token = state.tokens[j];\\n state.tokens[j] = state.tokens[i];\\n state.tokens[i] = token;\\n }\\n }\\n}\\n\\n\\n// Walk through delimiter list and replace text tokens with tags\\n//\\nmodule.exports.postProcess = function strikethrough(state) {\\n var curr,\\n tokens_meta = state.tokens_meta,\\n max = state.tokens_meta.length;\\n\\n postProcess(state, state.delimiters);\\n\\n for (curr = 0; curr < max; curr++) {\\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\\n postProcess(state, tokens_meta[curr].delimiters);\\n }\\n }\\n};\\n\",\"// Process *this* and _that_\\n//\\n'use strict';\\n\\n\\n// Insert each marker as a separate text token, and add it to delimiter list\\n//\\nmodule.exports.tokenize = function emphasis(state, silent) {\\n var i, scanned, token,\\n start = state.pos,\\n marker = state.src.charCodeAt(start);\\n\\n if (silent) { return false; }\\n\\n if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { return false; }\\n\\n scanned = state.scanDelims(state.pos, marker === 0x2A);\\n\\n for (i = 0; i < scanned.length; i++) {\\n token = state.push('text', '', 0);\\n token.content = String.fromCharCode(marker);\\n\\n state.delimiters.push({\\n // Char code of the starting marker (number).\\n //\\n marker: marker,\\n\\n // Total length of these series of delimiters.\\n //\\n length: scanned.length,\\n\\n // An amount of characters before this one that's equivalent to\\n // current one. In plain English: if this delimiter does not open\\n // an emphasis, neither do previous `jump` characters.\\n //\\n // Used to skip sequences like \\\"*****\\\" in one step, for 1st asterisk\\n // value will be 0, for 2nd it's 1 and so on.\\n //\\n jump: i,\\n\\n // A position of the token this delimiter corresponds to.\\n //\\n token: state.tokens.length - 1,\\n\\n // If this delimiter is matched as a valid opener, `end` will be\\n // equal to its position, otherwise it's `-1`.\\n //\\n end: -1,\\n\\n // Boolean flags that determine if this delimiter could open or close\\n // an emphasis.\\n //\\n open: scanned.can_open,\\n close: scanned.can_close\\n });\\n }\\n\\n state.pos += scanned.length;\\n\\n return true;\\n};\\n\\n\\nfunction postProcess(state, delimiters) {\\n var i,\\n startDelim,\\n endDelim,\\n token,\\n ch,\\n isStrong,\\n max = delimiters.length;\\n\\n for (i = max - 1; i >= 0; i--) {\\n startDelim = delimiters[i];\\n\\n if (startDelim.marker !== 0x5F/* _ */ && startDelim.marker !== 0x2A/* * */) {\\n continue;\\n }\\n\\n // Process only opening markers\\n if (startDelim.end === -1) {\\n continue;\\n }\\n\\n endDelim = delimiters[startDelim.end];\\n\\n // If the previous delimiter has the same marker and is adjacent to this one,\\n // merge those into one strong delimiter.\\n //\\n // `whatever` -> `whatever`\\n //\\n isStrong = i > 0 &&\\n delimiters[i - 1].end === startDelim.end + 1 &&\\n delimiters[i - 1].token === startDelim.token - 1 &&\\n delimiters[startDelim.end + 1].token === endDelim.token + 1 &&\\n delimiters[i - 1].marker === startDelim.marker;\\n\\n ch = String.fromCharCode(startDelim.marker);\\n\\n token = state.tokens[startDelim.token];\\n token.type = isStrong ? 'strong_open' : 'em_open';\\n token.tag = isStrong ? 'strong' : 'em';\\n token.nesting = 1;\\n token.markup = isStrong ? ch + ch : ch;\\n token.content = '';\\n\\n token = state.tokens[endDelim.token];\\n token.type = isStrong ? 'strong_close' : 'em_close';\\n token.tag = isStrong ? 'strong' : 'em';\\n token.nesting = -1;\\n token.markup = isStrong ? ch + ch : ch;\\n token.content = '';\\n\\n if (isStrong) {\\n state.tokens[delimiters[i - 1].token].content = '';\\n state.tokens[delimiters[startDelim.end + 1].token].content = '';\\n i--;\\n }\\n }\\n}\\n\\n\\n// Walk through delimiter list and replace text tokens with tags\\n//\\nmodule.exports.postProcess = function emphasis(state) {\\n var curr,\\n tokens_meta = state.tokens_meta,\\n max = state.tokens_meta.length;\\n\\n postProcess(state, state.delimiters);\\n\\n for (curr = 0; curr < max; curr++) {\\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\\n postProcess(state, tokens_meta[curr].delimiters);\\n }\\n }\\n};\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n// Define search commands. Depends on dialog.js or another\\n// implementation of the openDialog method.\\n\\n// Replace works a little oddly -- it will do the replace on the next\\n// Ctrl-G (or whatever is bound to findNext) press. You prevent a\\n// replace by making sure the match is no longer selected when hitting\\n// Ctrl-G.\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"), require(\\\"./searchcursor\\\"), require(\\\"../dialog/dialog\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\", \\\"./searchcursor\\\", \\\"../dialog/dialog\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n\\n // default search panel location\\n CodeMirror.defineOption(\\\"search\\\", {bottom: false});\\n\\n function searchOverlay(query, caseInsensitive) {\\n if (typeof query == \\\"string\\\")\\n query = new RegExp(query.replace(/[\\\\-\\\\[\\\\]\\\\/\\\\{\\\\}\\\\(\\\\)\\\\*\\\\+\\\\?\\\\.\\\\\\\\\\\\^\\\\$\\\\|]/g, \\\"\\\\\\\\$&\\\"), caseInsensitive ? \\\"gi\\\" : \\\"g\\\");\\n else if (!query.global)\\n query = new RegExp(query.source, query.ignoreCase ? \\\"gi\\\" : \\\"g\\\");\\n\\n return {token: function(stream) {\\n query.lastIndex = stream.pos;\\n var match = query.exec(stream.string);\\n if (match && match.index == stream.pos) {\\n stream.pos += match[0].length || 1;\\n return \\\"searching\\\";\\n } else if (match) {\\n stream.pos = match.index;\\n } else {\\n stream.skipToEnd();\\n }\\n }};\\n }\\n\\n function SearchState() {\\n this.posFrom = this.posTo = this.lastQuery = this.query = null;\\n this.overlay = null;\\n }\\n\\n function getSearchState(cm) {\\n return cm.state.search || (cm.state.search = new SearchState());\\n }\\n\\n function queryCaseInsensitive(query) {\\n return typeof query == \\\"string\\\" && query == query.toLowerCase();\\n }\\n\\n function getSearchCursor(cm, query, pos) {\\n // Heuristic: if the query string is all lowercase, do a case insensitive search.\\n return cm.getSearchCursor(query, pos, {caseFold: queryCaseInsensitive(query), multiline: true});\\n }\\n\\n function persistentDialog(cm, text, deflt, onEnter, onKeyDown) {\\n cm.openDialog(text, onEnter, {\\n value: deflt,\\n selectValueOnOpen: true,\\n closeOnEnter: false,\\n onClose: function() { clearSearch(cm); },\\n onKeyDown: onKeyDown,\\n bottom: cm.options.search.bottom\\n });\\n }\\n\\n function dialog(cm, text, shortText, deflt, f) {\\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\\n else f(prompt(shortText, deflt));\\n }\\n\\n function confirmDialog(cm, text, shortText, fs) {\\n if (cm.openConfirm) cm.openConfirm(text, fs);\\n else if (confirm(shortText)) fs[0]();\\n }\\n\\n function parseString(string) {\\n return string.replace(/\\\\\\\\([nrt\\\\\\\\])/g, function(match, ch) {\\n if (ch == \\\"n\\\") return \\\"\\\\n\\\"\\n if (ch == \\\"r\\\") return \\\"\\\\r\\\"\\n if (ch == \\\"t\\\") return \\\"\\\\t\\\"\\n if (ch == \\\"\\\\\\\\\\\") return \\\"\\\\\\\\\\\"\\n return match\\n })\\n }\\n\\n function parseQuery(query) {\\n var isRE = query.match(/^\\\\/(.*)\\\\/([a-z]*)$/);\\n if (isRE) {\\n try { query = new RegExp(isRE[1], isRE[2].indexOf(\\\"i\\\") == -1 ? \\\"\\\" : \\\"i\\\"); }\\n catch(e) {} // Not a regular expression after all, do a string search\\n } else {\\n query = parseString(query)\\n }\\n if (typeof query == \\\"string\\\" ? query == \\\"\\\" : query.test(\\\"\\\"))\\n query = /x^/;\\n return query;\\n }\\n\\n function startSearch(cm, state, query) {\\n state.queryText = query;\\n state.query = parseQuery(query);\\n cm.removeOverlay(state.overlay, queryCaseInsensitive(state.query));\\n state.overlay = searchOverlay(state.query, queryCaseInsensitive(state.query));\\n cm.addOverlay(state.overlay);\\n if (cm.showMatchesOnScrollbar) {\\n if (state.annotate) { state.annotate.clear(); state.annotate = null; }\\n state.annotate = cm.showMatchesOnScrollbar(state.query, queryCaseInsensitive(state.query));\\n }\\n }\\n\\n function doSearch(cm, rev, persistent, immediate) {\\n var state = getSearchState(cm);\\n if (state.query) return findNext(cm, rev);\\n var q = cm.getSelection() || state.lastQuery;\\n if (q instanceof RegExp && q.source == \\\"x^\\\") q = null\\n if (persistent && cm.openDialog) {\\n var hiding = null\\n var searchNext = function(query, event) {\\n CodeMirror.e_stop(event);\\n if (!query) return;\\n if (query != state.queryText) {\\n startSearch(cm, state, query);\\n state.posFrom = state.posTo = cm.getCursor();\\n }\\n if (hiding) hiding.style.opacity = 1\\n findNext(cm, event.shiftKey, function(_, to) {\\n var dialog\\n if (to.line < 3 && document.querySelector &&\\n (dialog = cm.display.wrapper.querySelector(\\\".CodeMirror-dialog\\\")) &&\\n dialog.getBoundingClientRect().bottom - 4 > cm.cursorCoords(to, \\\"window\\\").top)\\n (hiding = dialog).style.opacity = .4\\n })\\n };\\n persistentDialog(cm, getQueryDialog(cm), q, searchNext, function(event, query) {\\n var keyName = CodeMirror.keyName(event)\\n var extra = cm.getOption('extraKeys'), cmd = (extra && extra[keyName]) || CodeMirror.keyMap[cm.getOption(\\\"keyMap\\\")][keyName]\\n if (cmd == \\\"findNext\\\" || cmd == \\\"findPrev\\\" ||\\n cmd == \\\"findPersistentNext\\\" || cmd == \\\"findPersistentPrev\\\") {\\n CodeMirror.e_stop(event);\\n startSearch(cm, getSearchState(cm), query);\\n cm.execCommand(cmd);\\n } else if (cmd == \\\"find\\\" || cmd == \\\"findPersistent\\\") {\\n CodeMirror.e_stop(event);\\n searchNext(query, event);\\n }\\n });\\n if (immediate && q) {\\n startSearch(cm, state, q);\\n findNext(cm, rev);\\n }\\n } else {\\n dialog(cm, getQueryDialog(cm), \\\"Search for:\\\", q, function(query) {\\n if (query && !state.query) cm.operation(function() {\\n startSearch(cm, state, query);\\n state.posFrom = state.posTo = cm.getCursor();\\n findNext(cm, rev);\\n });\\n });\\n }\\n }\\n\\n function findNext(cm, rev, callback) {cm.operation(function() {\\n var state = getSearchState(cm);\\n var cursor = getSearchCursor(cm, state.query, rev ? state.posFrom : state.posTo);\\n if (!cursor.find(rev)) {\\n cursor = getSearchCursor(cm, state.query, rev ? CodeMirror.Pos(cm.lastLine()) : CodeMirror.Pos(cm.firstLine(), 0));\\n if (!cursor.find(rev)) return;\\n }\\n cm.setSelection(cursor.from(), cursor.to());\\n cm.scrollIntoView({from: cursor.from(), to: cursor.to()}, 20);\\n state.posFrom = cursor.from(); state.posTo = cursor.to();\\n if (callback) callback(cursor.from(), cursor.to())\\n });}\\n\\n function clearSearch(cm) {cm.operation(function() {\\n var state = getSearchState(cm);\\n state.lastQuery = state.query;\\n if (!state.query) return;\\n state.query = state.queryText = null;\\n cm.removeOverlay(state.overlay);\\n if (state.annotate) { state.annotate.clear(); state.annotate = null; }\\n });}\\n\\n\\n function getQueryDialog(cm) {\\n return '' + cm.phrase(\\\"Search:\\\") + ' ' + cm.phrase(\\\"(Use /re/ syntax for regexp search)\\\") + '';\\n }\\n function getReplaceQueryDialog(cm) {\\n return ' ' + cm.phrase(\\\"(Use /re/ syntax for regexp search)\\\") + '';\\n }\\n function getReplacementQueryDialog(cm) {\\n return '' + cm.phrase(\\\"With:\\\") + ' ';\\n }\\n function getDoReplaceConfirm(cm) {\\n return '' + cm.phrase(\\\"Replace?\\\") + ' ';\\n }\\n\\n function replaceAll(cm, query, text) {\\n cm.operation(function() {\\n for (var cursor = getSearchCursor(cm, query); cursor.findNext();) {\\n if (typeof query != \\\"string\\\") {\\n var match = cm.getRange(cursor.from(), cursor.to()).match(query);\\n cursor.replace(text.replace(/\\\\$(\\\\d)/g, function(_, i) {return match[i];}));\\n } else cursor.replace(text);\\n }\\n });\\n }\\n\\n function replace(cm, all) {\\n if (cm.getOption(\\\"readOnly\\\")) return;\\n var query = cm.getSelection() || getSearchState(cm).lastQuery;\\n var dialogText = '' + (all ? cm.phrase(\\\"Replace all:\\\") : cm.phrase(\\\"Replace:\\\")) + '';\\n dialog(cm, dialogText + getReplaceQueryDialog(cm), dialogText, query, function(query) {\\n if (!query) return;\\n query = parseQuery(query);\\n dialog(cm, getReplacementQueryDialog(cm), cm.phrase(\\\"Replace with:\\\"), \\\"\\\", function(text) {\\n text = parseString(text)\\n if (all) {\\n replaceAll(cm, query, text)\\n } else {\\n clearSearch(cm);\\n var cursor = getSearchCursor(cm, query, cm.getCursor(\\\"from\\\"));\\n var advance = function() {\\n var start = cursor.from(), match;\\n if (!(match = cursor.findNext())) {\\n cursor = getSearchCursor(cm, query);\\n if (!(match = cursor.findNext()) ||\\n (start && cursor.from().line == start.line && cursor.from().ch == start.ch)) return;\\n }\\n cm.setSelection(cursor.from(), cursor.to());\\n cm.scrollIntoView({from: cursor.from(), to: cursor.to()});\\n confirmDialog(cm, getDoReplaceConfirm(cm), cm.phrase(\\\"Replace?\\\"),\\n [function() {doReplace(match);}, advance,\\n function() {replaceAll(cm, query, text)}]);\\n };\\n var doReplace = function(match) {\\n cursor.replace(typeof query == \\\"string\\\" ? text :\\n text.replace(/\\\\$(\\\\d)/g, function(_, i) {return match[i];}));\\n advance();\\n };\\n advance();\\n }\\n });\\n });\\n }\\n\\n CodeMirror.commands.find = function(cm) {clearSearch(cm); doSearch(cm);};\\n CodeMirror.commands.findPersistent = function(cm) {clearSearch(cm); doSearch(cm, false, true);};\\n CodeMirror.commands.findPersistentNext = function(cm) {doSearch(cm, false, true, true);};\\n CodeMirror.commands.findPersistentPrev = function(cm) {doSearch(cm, true, true, true);};\\n CodeMirror.commands.findNext = doSearch;\\n CodeMirror.commands.findPrev = function(cm) {doSearch(cm, true);};\\n CodeMirror.commands.clearSearch = clearSearch;\\n CodeMirror.commands.replace = replace;\\n CodeMirror.commands.replaceAll = function(cm) {replace(cm, true);};\\n});\\n\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar graphql_1 = require(\\\"graphql\\\");\\nvar introspection_1 = require(\\\"graphql/type/introspection\\\");\\nvar forEachState_1 = __importDefault(require(\\\"./forEachState\\\"));\\nfunction getTypeInfo(schema, tokenState) {\\n var info = {\\n schema: schema,\\n type: null,\\n parentType: null,\\n inputType: null,\\n directiveDef: null,\\n fieldDef: null,\\n argDef: null,\\n argDefs: null,\\n objectFieldDefs: null,\\n };\\n forEachState_1.default(tokenState, function (state) {\\n switch (state.kind) {\\n case 'Query':\\n case 'ShortQuery':\\n info.type = schema.getQueryType();\\n break;\\n case 'Mutation':\\n info.type = schema.getMutationType();\\n break;\\n case 'Subscription':\\n info.type = schema.getSubscriptionType();\\n break;\\n case 'InlineFragment':\\n case 'FragmentDefinition':\\n if (state.type) {\\n info.type = schema.getType(state.type);\\n }\\n break;\\n case 'Field':\\n case 'AliasedField':\\n info.fieldDef =\\n info.type && state.name\\n ? getFieldDef(schema, info.parentType, state.name)\\n : null;\\n info.type = info.fieldDef && info.fieldDef.type;\\n break;\\n case 'SelectionSet':\\n info.parentType = info.type ? graphql_1.getNamedType(info.type) : null;\\n break;\\n case 'Directive':\\n info.directiveDef = state.name ? schema.getDirective(state.name) : null;\\n break;\\n case 'Arguments':\\n var parentDef = state.prevState\\n ? state.prevState.kind === 'Field'\\n ? info.fieldDef\\n : state.prevState.kind === 'Directive'\\n ? info.directiveDef\\n : state.prevState.kind === 'AliasedField'\\n ? state.prevState.name &&\\n getFieldDef(schema, info.parentType, state.prevState.name)\\n : null\\n : null;\\n info.argDefs = parentDef ? parentDef.args : null;\\n break;\\n case 'Argument':\\n info.argDef = null;\\n if (info.argDefs) {\\n for (var i = 0; i < info.argDefs.length; i++) {\\n if (info.argDefs[i].name === state.name) {\\n info.argDef = info.argDefs[i];\\n break;\\n }\\n }\\n }\\n info.inputType = info.argDef && info.argDef.type;\\n break;\\n case 'EnumValue':\\n var enumType = info.inputType ? graphql_1.getNamedType(info.inputType) : null;\\n info.enumValue =\\n enumType instanceof graphql_1.GraphQLEnumType\\n ? find(enumType.getValues(), function (val) { return val.value === state.name; })\\n : null;\\n break;\\n case 'ListValue':\\n var nullableType = info.inputType\\n ? graphql_1.getNullableType(info.inputType)\\n : null;\\n info.inputType =\\n nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;\\n break;\\n case 'ObjectValue':\\n var objectType = info.inputType ? graphql_1.getNamedType(info.inputType) : null;\\n info.objectFieldDefs =\\n objectType instanceof graphql_1.GraphQLInputObjectType\\n ? objectType.getFields()\\n : null;\\n break;\\n case 'ObjectField':\\n var objectField = state.name && info.objectFieldDefs\\n ? info.objectFieldDefs[state.name]\\n : null;\\n info.inputType = objectField && objectField.type;\\n break;\\n case 'NamedType':\\n info.type = state.name ? schema.getType(state.name) : null;\\n break;\\n }\\n });\\n return info;\\n}\\nexports.default = getTypeInfo;\\nfunction getFieldDef(schema, type, fieldName) {\\n if (fieldName === introspection_1.SchemaMetaFieldDef.name && schema.getQueryType() === type) {\\n return introspection_1.SchemaMetaFieldDef;\\n }\\n if (fieldName === introspection_1.TypeMetaFieldDef.name && schema.getQueryType() === type) {\\n return introspection_1.TypeMetaFieldDef;\\n }\\n if (fieldName === introspection_1.TypeNameMetaFieldDef.name && graphql_1.isCompositeType(type)) {\\n return introspection_1.TypeNameMetaFieldDef;\\n }\\n if (type && type.getFields) {\\n return type.getFields()[fieldName];\\n }\\n}\\nfunction find(array, predicate) {\\n for (var i = 0; i < array.length; i++) {\\n if (predicate(array[i])) {\\n return array[i];\\n }\\n }\\n}\\n//# sourceMappingURL=getTypeInfo.js.map\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nfunction forEachState(stack, fn) {\\n var reverseStateStack = [];\\n var state = stack;\\n while (state && state.kind) {\\n reverseStateStack.push(state);\\n state = state.prevState;\\n }\\n for (var i = reverseStateStack.length - 1; i >= 0; i--) {\\n fn(reverseStateStack[i]);\\n }\\n}\\nexports.default = forEachState;\\n//# sourceMappingURL=forEachState.js.map\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nexports.getTypeReference = exports.getEnumValueReference = exports.getArgumentReference = exports.getDirectiveReference = exports.getFieldReference = void 0;\\nvar graphql_1 = require(\\\"graphql\\\");\\nfunction getFieldReference(typeInfo) {\\n return {\\n kind: 'Field',\\n schema: typeInfo.schema,\\n field: typeInfo.fieldDef,\\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\\n };\\n}\\nexports.getFieldReference = getFieldReference;\\nfunction getDirectiveReference(typeInfo) {\\n return {\\n kind: 'Directive',\\n schema: typeInfo.schema,\\n directive: typeInfo.directiveDef,\\n };\\n}\\nexports.getDirectiveReference = getDirectiveReference;\\nfunction getArgumentReference(typeInfo) {\\n return typeInfo.directiveDef\\n ? {\\n kind: 'Argument',\\n schema: typeInfo.schema,\\n argument: typeInfo.argDef,\\n directive: typeInfo.directiveDef,\\n }\\n : {\\n kind: 'Argument',\\n schema: typeInfo.schema,\\n argument: typeInfo.argDef,\\n field: typeInfo.fieldDef,\\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\\n };\\n}\\nexports.getArgumentReference = getArgumentReference;\\nfunction getEnumValueReference(typeInfo) {\\n return {\\n kind: 'EnumValue',\\n value: typeInfo.enumValue || undefined,\\n type: typeInfo.inputType\\n ? graphql_1.getNamedType(typeInfo.inputType)\\n : undefined,\\n };\\n}\\nexports.getEnumValueReference = getEnumValueReference;\\nfunction getTypeReference(typeInfo, type) {\\n return {\\n kind: 'Type',\\n schema: typeInfo.schema,\\n type: type || typeInfo.type,\\n };\\n}\\nexports.getTypeReference = getTypeReference;\\nfunction isMetaField(fieldDef) {\\n return fieldDef.name.slice(0, 2) === '__';\\n}\\n//# sourceMappingURL=SchemaReference.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\ncodemirror_1.default.defineOption('info', false, function (cm, options, old) {\\n if (old && old !== codemirror_1.default.Init) {\\n var oldOnMouseOver = cm.state.info.onMouseOver;\\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\\n clearTimeout(cm.state.info.hoverTimeout);\\n delete cm.state.info;\\n }\\n if (options) {\\n var state = (cm.state.info = createState(options));\\n state.onMouseOver = onMouseOver.bind(null, cm);\\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\\n }\\n});\\nfunction createState(options) {\\n return {\\n options: options instanceof Function\\n ? { render: options }\\n : options === true\\n ? {}\\n : options,\\n };\\n}\\nfunction getHoverTime(cm) {\\n var options = cm.state.info.options;\\n return (options && options.hoverTime) || 500;\\n}\\nfunction onMouseOver(cm, e) {\\n var state = cm.state.info;\\n var target = e.target || e.srcElement;\\n if (!(target instanceof HTMLElement)) {\\n return;\\n }\\n if (target.nodeName !== 'SPAN' || state.hoverTimeout !== undefined) {\\n return;\\n }\\n var box = target.getBoundingClientRect();\\n var onMouseMove = function () {\\n clearTimeout(state.hoverTimeout);\\n state.hoverTimeout = setTimeout(onHover, hoverTime);\\n };\\n var onMouseOut = function () {\\n codemirror_1.default.off(document, 'mousemove', onMouseMove);\\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);\\n clearTimeout(state.hoverTimeout);\\n state.hoverTimeout = undefined;\\n };\\n var onHover = function () {\\n codemirror_1.default.off(document, 'mousemove', onMouseMove);\\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);\\n state.hoverTimeout = undefined;\\n onMouseHover(cm, box);\\n };\\n var hoverTime = getHoverTime(cm);\\n state.hoverTimeout = setTimeout(onHover, hoverTime);\\n codemirror_1.default.on(document, 'mousemove', onMouseMove);\\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseout', onMouseOut);\\n}\\nfunction onMouseHover(cm, box) {\\n var pos = cm.coordsChar({\\n left: (box.left + box.right) / 2,\\n top: (box.top + box.bottom) / 2,\\n });\\n var state = cm.state.info;\\n var options = state.options;\\n var render = options.render || cm.getHelper(pos, 'info');\\n if (render) {\\n var token = cm.getTokenAt(pos, true);\\n if (token) {\\n var info = render(token, options, cm, pos);\\n if (info) {\\n showPopup(cm, box, info);\\n }\\n }\\n }\\n}\\nfunction showPopup(cm, box, info) {\\n var popup = document.createElement('div');\\n popup.className = 'CodeMirror-info';\\n popup.appendChild(info);\\n document.body.appendChild(popup);\\n var popupBox = popup.getBoundingClientRect();\\n var popupStyle = window.getComputedStyle(popup);\\n var popupWidth = popupBox.right -\\n popupBox.left +\\n parseFloat(popupStyle.marginLeft) +\\n parseFloat(popupStyle.marginRight);\\n var popupHeight = popupBox.bottom -\\n popupBox.top +\\n parseFloat(popupStyle.marginTop) +\\n parseFloat(popupStyle.marginBottom);\\n var topPos = box.bottom;\\n if (popupHeight > window.innerHeight - box.bottom - 15 &&\\n box.top > window.innerHeight - box.bottom) {\\n topPos = box.top - popupHeight;\\n }\\n if (topPos < 0) {\\n topPos = box.bottom;\\n }\\n var leftPos = Math.max(0, window.innerWidth - popupWidth - 15);\\n if (leftPos > box.left) {\\n leftPos = box.left;\\n }\\n popup.style.opacity = '1';\\n popup.style.top = topPos + 'px';\\n popup.style.left = leftPos + 'px';\\n var popupTimeout;\\n var onMouseOverPopup = function () {\\n clearTimeout(popupTimeout);\\n };\\n var onMouseOut = function () {\\n clearTimeout(popupTimeout);\\n popupTimeout = setTimeout(hidePopup, 200);\\n };\\n var hidePopup = function () {\\n codemirror_1.default.off(popup, 'mouseover', onMouseOverPopup);\\n codemirror_1.default.off(popup, 'mouseout', onMouseOut);\\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);\\n if (popup.style.opacity) {\\n popup.style.opacity = '0';\\n setTimeout(function () {\\n if (popup.parentNode) {\\n popup.parentNode.removeChild(popup);\\n }\\n }, 600);\\n }\\n else if (popup.parentNode) {\\n popup.parentNode.removeChild(popup);\\n }\\n };\\n codemirror_1.default.on(popup, 'mouseover', onMouseOverPopup);\\n codemirror_1.default.on(popup, 'mouseout', onMouseOut);\\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseout', onMouseOut);\\n}\\n//# sourceMappingURL=info-addon.js.map\",\"var arrayLikeToArray = require(\\\"./arrayLikeToArray\\\");\\n\\nfunction _unsupportedIterableToArray(o, minLen) {\\n if (!o) return;\\n if (typeof o === \\\"string\\\") return arrayLikeToArray(o, minLen);\\n var n = Object.prototype.toString.call(o).slice(8, -1);\\n if (n === \\\"Object\\\" && o.constructor) n = o.constructor.name;\\n if (n === \\\"Map\\\" || n === \\\"Set\\\") return Array.from(n);\\n if (n === \\\"Arguments\\\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\\n}\\n\\nmodule.exports = _unsupportedIterableToArray;\",\"/* --------------------------------------------------------------------------------------------\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License. See License.txt in the project root for license information.\\n * ------------------------------------------------------------------------------------------ */\\n'use strict';\\nexport var integer;\\n(function (integer) {\\n integer.MIN_VALUE = -2147483648;\\n integer.MAX_VALUE = 2147483647;\\n})(integer || (integer = {}));\\nexport var uinteger;\\n(function (uinteger) {\\n uinteger.MIN_VALUE = 0;\\n uinteger.MAX_VALUE = 2147483647;\\n})(uinteger || (uinteger = {}));\\n/**\\n * The Position namespace provides helper functions to work with\\n * [Position](#Position) literals.\\n */\\nexport var Position;\\n(function (Position) {\\n /**\\n * Creates a new Position literal from the given line and character.\\n * @param line The position's line.\\n * @param character The position's character.\\n */\\n function create(line, character) {\\n if (line === Number.MAX_VALUE) {\\n line = uinteger.MAX_VALUE;\\n }\\n if (character === Number.MAX_VALUE) {\\n character = uinteger.MAX_VALUE;\\n }\\n return { line: line, character: character };\\n }\\n Position.create = create;\\n /**\\n * Checks whether the given literal conforms to the [Position](#Position) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\\n }\\n Position.is = is;\\n})(Position || (Position = {}));\\n/**\\n * The Range namespace provides helper functions to work with\\n * [Range](#Range) literals.\\n */\\nexport var Range;\\n(function (Range) {\\n function create(one, two, three, four) {\\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\\n return { start: Position.create(one, two), end: Position.create(three, four) };\\n }\\n else if (Position.is(one) && Position.is(two)) {\\n return { start: one, end: two };\\n }\\n else {\\n throw new Error(\\\"Range#create called with invalid arguments[\\\" + one + \\\", \\\" + two + \\\", \\\" + three + \\\", \\\" + four + \\\"]\\\");\\n }\\n }\\n Range.create = create;\\n /**\\n * Checks whether the given literal conforms to the [Range](#Range) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\\n }\\n Range.is = is;\\n})(Range || (Range = {}));\\n/**\\n * The Location namespace provides helper functions to work with\\n * [Location](#Location) literals.\\n */\\nexport var Location;\\n(function (Location) {\\n /**\\n * Creates a Location literal.\\n * @param uri The location's uri.\\n * @param range The location's range.\\n */\\n function create(uri, range) {\\n return { uri: uri, range: range };\\n }\\n Location.create = create;\\n /**\\n * Checks whether the given literal conforms to the [Location](#Location) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\\n }\\n Location.is = is;\\n})(Location || (Location = {}));\\n/**\\n * The LocationLink namespace provides helper functions to work with\\n * [LocationLink](#LocationLink) literals.\\n */\\nexport var LocationLink;\\n(function (LocationLink) {\\n /**\\n * Creates a LocationLink literal.\\n * @param targetUri The definition's uri.\\n * @param targetRange The full range of the definition.\\n * @param targetSelectionRange The span of the symbol definition at the target.\\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\\n */\\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\\n }\\n LocationLink.create = create;\\n /**\\n * Checks whether the given literal conforms to the [LocationLink](#LocationLink) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\\n && (Range.is(candidate.targetSelectionRange) || Is.undefined(candidate.targetSelectionRange))\\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\\n }\\n LocationLink.is = is;\\n})(LocationLink || (LocationLink = {}));\\n/**\\n * The Color namespace provides helper functions to work with\\n * [Color](#Color) literals.\\n */\\nexport var Color;\\n(function (Color) {\\n /**\\n * Creates a new Color literal.\\n */\\n function create(red, green, blue, alpha) {\\n return {\\n red: red,\\n green: green,\\n blue: blue,\\n alpha: alpha,\\n };\\n }\\n Color.create = create;\\n /**\\n * Checks whether the given literal conforms to the [Color](#Color) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.numberRange(candidate.red, 0, 1)\\n && Is.numberRange(candidate.green, 0, 1)\\n && Is.numberRange(candidate.blue, 0, 1)\\n && Is.numberRange(candidate.alpha, 0, 1);\\n }\\n Color.is = is;\\n})(Color || (Color = {}));\\n/**\\n * The ColorInformation namespace provides helper functions to work with\\n * [ColorInformation](#ColorInformation) literals.\\n */\\nexport var ColorInformation;\\n(function (ColorInformation) {\\n /**\\n * Creates a new ColorInformation literal.\\n */\\n function create(range, color) {\\n return {\\n range: range,\\n color: color,\\n };\\n }\\n ColorInformation.create = create;\\n /**\\n * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Range.is(candidate.range) && Color.is(candidate.color);\\n }\\n ColorInformation.is = is;\\n})(ColorInformation || (ColorInformation = {}));\\n/**\\n * The Color namespace provides helper functions to work with\\n * [ColorPresentation](#ColorPresentation) literals.\\n */\\nexport var ColorPresentation;\\n(function (ColorPresentation) {\\n /**\\n * Creates a new ColorInformation literal.\\n */\\n function create(label, textEdit, additionalTextEdits) {\\n return {\\n label: label,\\n textEdit: textEdit,\\n additionalTextEdits: additionalTextEdits,\\n };\\n }\\n ColorPresentation.create = create;\\n /**\\n * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.string(candidate.label)\\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\\n }\\n ColorPresentation.is = is;\\n})(ColorPresentation || (ColorPresentation = {}));\\n/**\\n * Enum of known range kinds\\n */\\nexport var FoldingRangeKind;\\n(function (FoldingRangeKind) {\\n /**\\n * Folding range for a comment\\n */\\n FoldingRangeKind[\\\"Comment\\\"] = \\\"comment\\\";\\n /**\\n * Folding range for a imports or includes\\n */\\n FoldingRangeKind[\\\"Imports\\\"] = \\\"imports\\\";\\n /**\\n * Folding range for a region (e.g. `#region`)\\n */\\n FoldingRangeKind[\\\"Region\\\"] = \\\"region\\\";\\n})(FoldingRangeKind || (FoldingRangeKind = {}));\\n/**\\n * The folding range namespace provides helper functions to work with\\n * [FoldingRange](#FoldingRange) literals.\\n */\\nexport var FoldingRange;\\n(function (FoldingRange) {\\n /**\\n * Creates a new FoldingRange literal.\\n */\\n function create(startLine, endLine, startCharacter, endCharacter, kind) {\\n var result = {\\n startLine: startLine,\\n endLine: endLine\\n };\\n if (Is.defined(startCharacter)) {\\n result.startCharacter = startCharacter;\\n }\\n if (Is.defined(endCharacter)) {\\n result.endCharacter = endCharacter;\\n }\\n if (Is.defined(kind)) {\\n result.kind = kind;\\n }\\n return result;\\n }\\n FoldingRange.create = create;\\n /**\\n * Checks whether the given literal conforms to the [FoldingRange](#FoldingRange) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\\n }\\n FoldingRange.is = is;\\n})(FoldingRange || (FoldingRange = {}));\\n/**\\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\\n * [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) literals.\\n */\\nexport var DiagnosticRelatedInformation;\\n(function (DiagnosticRelatedInformation) {\\n /**\\n * Creates a new DiagnosticRelatedInformation literal.\\n */\\n function create(location, message) {\\n return {\\n location: location,\\n message: message\\n };\\n }\\n DiagnosticRelatedInformation.create = create;\\n /**\\n * Checks whether the given literal conforms to the [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\\n }\\n DiagnosticRelatedInformation.is = is;\\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\\n/**\\n * The diagnostic's severity.\\n */\\nexport var DiagnosticSeverity;\\n(function (DiagnosticSeverity) {\\n /**\\n * Reports an error.\\n */\\n DiagnosticSeverity.Error = 1;\\n /**\\n * Reports a warning.\\n */\\n DiagnosticSeverity.Warning = 2;\\n /**\\n * Reports an information.\\n */\\n DiagnosticSeverity.Information = 3;\\n /**\\n * Reports a hint.\\n */\\n DiagnosticSeverity.Hint = 4;\\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\\n/**\\n * The diagnostic tags.\\n *\\n * @since 3.15.0\\n */\\nexport var DiagnosticTag;\\n(function (DiagnosticTag) {\\n /**\\n * Unused or unnecessary code.\\n *\\n * Clients are allowed to render diagnostics with this tag faded out instead of having\\n * an error squiggle.\\n */\\n DiagnosticTag.Unnecessary = 1;\\n /**\\n * Deprecated or obsolete code.\\n *\\n * Clients are allowed to rendered diagnostics with this tag strike through.\\n */\\n DiagnosticTag.Deprecated = 2;\\n})(DiagnosticTag || (DiagnosticTag = {}));\\n/**\\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\\n *\\n * @since 3.16.0\\n */\\nexport var CodeDescription;\\n(function (CodeDescription) {\\n function is(value) {\\n var candidate = value;\\n return candidate !== undefined && candidate !== null && Is.string(candidate.href);\\n }\\n CodeDescription.is = is;\\n})(CodeDescription || (CodeDescription = {}));\\n/**\\n * The Diagnostic namespace provides helper functions to work with\\n * [Diagnostic](#Diagnostic) literals.\\n */\\nexport var Diagnostic;\\n(function (Diagnostic) {\\n /**\\n * Creates a new Diagnostic literal.\\n */\\n function create(range, message, severity, code, source, relatedInformation) {\\n var result = { range: range, message: message };\\n if (Is.defined(severity)) {\\n result.severity = severity;\\n }\\n if (Is.defined(code)) {\\n result.code = code;\\n }\\n if (Is.defined(source)) {\\n result.source = source;\\n }\\n if (Is.defined(relatedInformation)) {\\n result.relatedInformation = relatedInformation;\\n }\\n return result;\\n }\\n Diagnostic.create = create;\\n /**\\n * Checks whether the given literal conforms to the [Diagnostic](#Diagnostic) interface.\\n */\\n function is(value) {\\n var _a;\\n var candidate = value;\\n return Is.defined(candidate)\\n && Range.is(candidate.range)\\n && Is.string(candidate.message)\\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\\n }\\n Diagnostic.is = is;\\n})(Diagnostic || (Diagnostic = {}));\\n/**\\n * The Command namespace provides helper functions to work with\\n * [Command](#Command) literals.\\n */\\nexport var Command;\\n(function (Command) {\\n /**\\n * Creates a new Command literal.\\n */\\n function create(title, command) {\\n var args = [];\\n for (var _i = 2; _i < arguments.length; _i++) {\\n args[_i - 2] = arguments[_i];\\n }\\n var result = { title: title, command: command };\\n if (Is.defined(args) && args.length > 0) {\\n result.arguments = args;\\n }\\n return result;\\n }\\n Command.create = create;\\n /**\\n * Checks whether the given literal conforms to the [Command](#Command) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\\n }\\n Command.is = is;\\n})(Command || (Command = {}));\\n/**\\n * The TextEdit namespace provides helper function to create replace,\\n * insert and delete edits more easily.\\n */\\nexport var TextEdit;\\n(function (TextEdit) {\\n /**\\n * Creates a replace text edit.\\n * @param range The range of text to be replaced.\\n * @param newText The new text.\\n */\\n function replace(range, newText) {\\n return { range: range, newText: newText };\\n }\\n TextEdit.replace = replace;\\n /**\\n * Creates a insert text edit.\\n * @param position The position to insert the text at.\\n * @param newText The text to be inserted.\\n */\\n function insert(position, newText) {\\n return { range: { start: position, end: position }, newText: newText };\\n }\\n TextEdit.insert = insert;\\n /**\\n * Creates a delete text edit.\\n * @param range The range of text to be deleted.\\n */\\n function del(range) {\\n return { range: range, newText: '' };\\n }\\n TextEdit.del = del;\\n function is(value) {\\n var candidate = value;\\n return Is.objectLiteral(candidate)\\n && Is.string(candidate.newText)\\n && Range.is(candidate.range);\\n }\\n TextEdit.is = is;\\n})(TextEdit || (TextEdit = {}));\\nexport var ChangeAnnotation;\\n(function (ChangeAnnotation) {\\n function create(label, needsConfirmation, description) {\\n var result = { label: label };\\n if (needsConfirmation !== undefined) {\\n result.needsConfirmation = needsConfirmation;\\n }\\n if (description !== undefined) {\\n result.description = description;\\n }\\n return result;\\n }\\n ChangeAnnotation.create = create;\\n function is(value) {\\n var candidate = value;\\n return candidate !== undefined && Is.objectLiteral(candidate) && Is.string(candidate.label) &&\\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\\n (Is.string(candidate.description) || candidate.description === undefined);\\n }\\n ChangeAnnotation.is = is;\\n})(ChangeAnnotation || (ChangeAnnotation = {}));\\nexport var ChangeAnnotationIdentifier;\\n(function (ChangeAnnotationIdentifier) {\\n function is(value) {\\n var candidate = value;\\n return typeof candidate === 'string';\\n }\\n ChangeAnnotationIdentifier.is = is;\\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\\nexport var AnnotatedTextEdit;\\n(function (AnnotatedTextEdit) {\\n /**\\n * Creates an annotated replace text edit.\\n *\\n * @param range The range of text to be replaced.\\n * @param newText The new text.\\n * @param annotation The annotation.\\n */\\n function replace(range, newText, annotation) {\\n return { range: range, newText: newText, annotationId: annotation };\\n }\\n AnnotatedTextEdit.replace = replace;\\n /**\\n * Creates an annotated insert text edit.\\n *\\n * @param position The position to insert the text at.\\n * @param newText The text to be inserted.\\n * @param annotation The annotation.\\n */\\n function insert(position, newText, annotation) {\\n return { range: { start: position, end: position }, newText: newText, annotationId: annotation };\\n }\\n AnnotatedTextEdit.insert = insert;\\n /**\\n * Creates an annotated delete text edit.\\n *\\n * @param range The range of text to be deleted.\\n * @param annotation The annotation.\\n */\\n function del(range, annotation) {\\n return { range: range, newText: '', annotationId: annotation };\\n }\\n AnnotatedTextEdit.del = del;\\n function is(value) {\\n var candidate = value;\\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\\n }\\n AnnotatedTextEdit.is = is;\\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\\n/**\\n * The TextDocumentEdit namespace provides helper function to create\\n * an edit that manipulates a text document.\\n */\\nexport var TextDocumentEdit;\\n(function (TextDocumentEdit) {\\n /**\\n * Creates a new `TextDocumentEdit`\\n */\\n function create(textDocument, edits) {\\n return { textDocument: textDocument, edits: edits };\\n }\\n TextDocumentEdit.create = create;\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate)\\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\\n && Array.isArray(candidate.edits);\\n }\\n TextDocumentEdit.is = is;\\n})(TextDocumentEdit || (TextDocumentEdit = {}));\\nexport var CreateFile;\\n(function (CreateFile) {\\n function create(uri, options, annotation) {\\n var result = {\\n kind: 'create',\\n uri: uri\\n };\\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\\n result.options = options;\\n }\\n if (annotation !== undefined) {\\n result.annotationId = annotation;\\n }\\n return result;\\n }\\n CreateFile.create = create;\\n function is(value) {\\n var candidate = value;\\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\\n }\\n CreateFile.is = is;\\n})(CreateFile || (CreateFile = {}));\\nexport var RenameFile;\\n(function (RenameFile) {\\n function create(oldUri, newUri, options, annotation) {\\n var result = {\\n kind: 'rename',\\n oldUri: oldUri,\\n newUri: newUri\\n };\\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\\n result.options = options;\\n }\\n if (annotation !== undefined) {\\n result.annotationId = annotation;\\n }\\n return result;\\n }\\n RenameFile.create = create;\\n function is(value) {\\n var candidate = value;\\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\\n }\\n RenameFile.is = is;\\n})(RenameFile || (RenameFile = {}));\\nexport var DeleteFile;\\n(function (DeleteFile) {\\n function create(uri, options, annotation) {\\n var result = {\\n kind: 'delete',\\n uri: uri\\n };\\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\\n result.options = options;\\n }\\n if (annotation !== undefined) {\\n result.annotationId = annotation;\\n }\\n return result;\\n }\\n DeleteFile.create = create;\\n function is(value) {\\n var candidate = value;\\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\\n }\\n DeleteFile.is = is;\\n})(DeleteFile || (DeleteFile = {}));\\nexport var WorkspaceEdit;\\n(function (WorkspaceEdit) {\\n function is(value) {\\n var candidate = value;\\n return candidate &&\\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\\n (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) {\\n if (Is.string(change.kind)) {\\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\\n }\\n else {\\n return TextDocumentEdit.is(change);\\n }\\n }));\\n }\\n WorkspaceEdit.is = is;\\n})(WorkspaceEdit || (WorkspaceEdit = {}));\\nvar TextEditChangeImpl = /** @class */ (function () {\\n function TextEditChangeImpl(edits, changeAnnotations) {\\n this.edits = edits;\\n this.changeAnnotations = changeAnnotations;\\n }\\n TextEditChangeImpl.prototype.insert = function (position, newText, annotation) {\\n var edit;\\n var id;\\n if (annotation === undefined) {\\n edit = TextEdit.insert(position, newText);\\n }\\n else if (ChangeAnnotationIdentifier.is(annotation)) {\\n id = annotation;\\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\\n }\\n else {\\n this.assertChangeAnnotations(this.changeAnnotations);\\n id = this.changeAnnotations.manage(annotation);\\n edit = AnnotatedTextEdit.insert(position, newText, id);\\n }\\n this.edits.push(edit);\\n if (id !== undefined) {\\n return id;\\n }\\n };\\n TextEditChangeImpl.prototype.replace = function (range, newText, annotation) {\\n var edit;\\n var id;\\n if (annotation === undefined) {\\n edit = TextEdit.replace(range, newText);\\n }\\n else if (ChangeAnnotationIdentifier.is(annotation)) {\\n id = annotation;\\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\\n }\\n else {\\n this.assertChangeAnnotations(this.changeAnnotations);\\n id = this.changeAnnotations.manage(annotation);\\n edit = AnnotatedTextEdit.replace(range, newText, id);\\n }\\n this.edits.push(edit);\\n if (id !== undefined) {\\n return id;\\n }\\n };\\n TextEditChangeImpl.prototype.delete = function (range, annotation) {\\n var edit;\\n var id;\\n if (annotation === undefined) {\\n edit = TextEdit.del(range);\\n }\\n else if (ChangeAnnotationIdentifier.is(annotation)) {\\n id = annotation;\\n edit = AnnotatedTextEdit.del(range, annotation);\\n }\\n else {\\n this.assertChangeAnnotations(this.changeAnnotations);\\n id = this.changeAnnotations.manage(annotation);\\n edit = AnnotatedTextEdit.del(range, id);\\n }\\n this.edits.push(edit);\\n if (id !== undefined) {\\n return id;\\n }\\n };\\n TextEditChangeImpl.prototype.add = function (edit) {\\n this.edits.push(edit);\\n };\\n TextEditChangeImpl.prototype.all = function () {\\n return this.edits;\\n };\\n TextEditChangeImpl.prototype.clear = function () {\\n this.edits.splice(0, this.edits.length);\\n };\\n TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) {\\n if (value === undefined) {\\n throw new Error(\\\"Text edit change is not configured to manage change annotations.\\\");\\n }\\n };\\n return TextEditChangeImpl;\\n}());\\n/**\\n * A helper class\\n */\\nvar ChangeAnnotations = /** @class */ (function () {\\n function ChangeAnnotations(annotations) {\\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\\n this._counter = 0;\\n this._size = 0;\\n }\\n ChangeAnnotations.prototype.all = function () {\\n return this._annotations;\\n };\\n Object.defineProperty(ChangeAnnotations.prototype, \\\"size\\\", {\\n get: function () {\\n return this._size;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) {\\n var id;\\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\\n id = idOrAnnotation;\\n }\\n else {\\n id = this.nextId();\\n annotation = idOrAnnotation;\\n }\\n if (this._annotations[id] !== undefined) {\\n throw new Error(\\\"Id \\\" + id + \\\" is already in use.\\\");\\n }\\n if (annotation === undefined) {\\n throw new Error(\\\"No annotation provided for id \\\" + id);\\n }\\n this._annotations[id] = annotation;\\n this._size++;\\n return id;\\n };\\n ChangeAnnotations.prototype.nextId = function () {\\n this._counter++;\\n return this._counter.toString();\\n };\\n return ChangeAnnotations;\\n}());\\n/**\\n * A workspace change helps constructing changes to a workspace.\\n */\\nvar WorkspaceChange = /** @class */ (function () {\\n function WorkspaceChange(workspaceEdit) {\\n var _this = this;\\n this._textEditChanges = Object.create(null);\\n if (workspaceEdit !== undefined) {\\n this._workspaceEdit = workspaceEdit;\\n if (workspaceEdit.documentChanges) {\\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\\n workspaceEdit.documentChanges.forEach(function (change) {\\n if (TextDocumentEdit.is(change)) {\\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\\n }\\n });\\n }\\n else if (workspaceEdit.changes) {\\n Object.keys(workspaceEdit.changes).forEach(function (key) {\\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\\n _this._textEditChanges[key] = textEditChange;\\n });\\n }\\n }\\n else {\\n this._workspaceEdit = {};\\n }\\n }\\n Object.defineProperty(WorkspaceChange.prototype, \\\"edit\\\", {\\n /**\\n * Returns the underlying [WorkspaceEdit](#WorkspaceEdit) literal\\n * use to be returned from a workspace edit operation like rename.\\n */\\n get: function () {\\n this.initDocumentChanges();\\n if (this._changeAnnotations !== undefined) {\\n if (this._changeAnnotations.size === 0) {\\n this._workspaceEdit.changeAnnotations = undefined;\\n }\\n else {\\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\\n }\\n }\\n return this._workspaceEdit;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n WorkspaceChange.prototype.getTextEditChange = function (key) {\\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\\n this.initDocumentChanges();\\n if (this._workspaceEdit.documentChanges === undefined) {\\n throw new Error('Workspace edit is not configured for document changes.');\\n }\\n var textDocument = { uri: key.uri, version: key.version };\\n var result = this._textEditChanges[textDocument.uri];\\n if (!result) {\\n var edits = [];\\n var textDocumentEdit = {\\n textDocument: textDocument,\\n edits: edits\\n };\\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\\n this._textEditChanges[textDocument.uri] = result;\\n }\\n return result;\\n }\\n else {\\n this.initChanges();\\n if (this._workspaceEdit.changes === undefined) {\\n throw new Error('Workspace edit is not configured for normal text edit changes.');\\n }\\n var result = this._textEditChanges[key];\\n if (!result) {\\n var edits = [];\\n this._workspaceEdit.changes[key] = edits;\\n result = new TextEditChangeImpl(edits);\\n this._textEditChanges[key] = result;\\n }\\n return result;\\n }\\n };\\n WorkspaceChange.prototype.initDocumentChanges = function () {\\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\\n this._changeAnnotations = new ChangeAnnotations();\\n this._workspaceEdit.documentChanges = [];\\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\\n }\\n };\\n WorkspaceChange.prototype.initChanges = function () {\\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\\n this._workspaceEdit.changes = Object.create(null);\\n }\\n };\\n WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) {\\n this.initDocumentChanges();\\n if (this._workspaceEdit.documentChanges === undefined) {\\n throw new Error('Workspace edit is not configured for document changes.');\\n }\\n var annotation;\\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\\n annotation = optionsOrAnnotation;\\n }\\n else {\\n options = optionsOrAnnotation;\\n }\\n var operation;\\n var id;\\n if (annotation === undefined) {\\n operation = CreateFile.create(uri, options);\\n }\\n else {\\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\\n operation = CreateFile.create(uri, options, id);\\n }\\n this._workspaceEdit.documentChanges.push(operation);\\n if (id !== undefined) {\\n return id;\\n }\\n };\\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) {\\n this.initDocumentChanges();\\n if (this._workspaceEdit.documentChanges === undefined) {\\n throw new Error('Workspace edit is not configured for document changes.');\\n }\\n var annotation;\\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\\n annotation = optionsOrAnnotation;\\n }\\n else {\\n options = optionsOrAnnotation;\\n }\\n var operation;\\n var id;\\n if (annotation === undefined) {\\n operation = RenameFile.create(oldUri, newUri, options);\\n }\\n else {\\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\\n operation = RenameFile.create(oldUri, newUri, options, id);\\n }\\n this._workspaceEdit.documentChanges.push(operation);\\n if (id !== undefined) {\\n return id;\\n }\\n };\\n WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) {\\n this.initDocumentChanges();\\n if (this._workspaceEdit.documentChanges === undefined) {\\n throw new Error('Workspace edit is not configured for document changes.');\\n }\\n var annotation;\\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\\n annotation = optionsOrAnnotation;\\n }\\n else {\\n options = optionsOrAnnotation;\\n }\\n var operation;\\n var id;\\n if (annotation === undefined) {\\n operation = DeleteFile.create(uri, options);\\n }\\n else {\\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\\n operation = DeleteFile.create(uri, options, id);\\n }\\n this._workspaceEdit.documentChanges.push(operation);\\n if (id !== undefined) {\\n return id;\\n }\\n };\\n return WorkspaceChange;\\n}());\\nexport { WorkspaceChange };\\n/**\\n * The TextDocumentIdentifier namespace provides helper functions to work with\\n * [TextDocumentIdentifier](#TextDocumentIdentifier) literals.\\n */\\nexport var TextDocumentIdentifier;\\n(function (TextDocumentIdentifier) {\\n /**\\n * Creates a new TextDocumentIdentifier literal.\\n * @param uri The document's uri.\\n */\\n function create(uri) {\\n return { uri: uri };\\n }\\n TextDocumentIdentifier.create = create;\\n /**\\n * Checks whether the given literal conforms to the [TextDocumentIdentifier](#TextDocumentIdentifier) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.string(candidate.uri);\\n }\\n TextDocumentIdentifier.is = is;\\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\\n/**\\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\\n * [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) literals.\\n */\\nexport var VersionedTextDocumentIdentifier;\\n(function (VersionedTextDocumentIdentifier) {\\n /**\\n * Creates a new VersionedTextDocumentIdentifier literal.\\n * @param uri The document's uri.\\n * @param uri The document's text.\\n */\\n function create(uri, version) {\\n return { uri: uri, version: version };\\n }\\n VersionedTextDocumentIdentifier.create = create;\\n /**\\n * Checks whether the given literal conforms to the [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\\n }\\n VersionedTextDocumentIdentifier.is = is;\\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\\n/**\\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\\n * [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) literals.\\n */\\nexport var OptionalVersionedTextDocumentIdentifier;\\n(function (OptionalVersionedTextDocumentIdentifier) {\\n /**\\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\\n * @param uri The document's uri.\\n * @param uri The document's text.\\n */\\n function create(uri, version) {\\n return { uri: uri, version: version };\\n }\\n OptionalVersionedTextDocumentIdentifier.create = create;\\n /**\\n * Checks whether the given literal conforms to the [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\\n }\\n OptionalVersionedTextDocumentIdentifier.is = is;\\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\\n/**\\n * The TextDocumentItem namespace provides helper functions to work with\\n * [TextDocumentItem](#TextDocumentItem) literals.\\n */\\nexport var TextDocumentItem;\\n(function (TextDocumentItem) {\\n /**\\n * Creates a new TextDocumentItem literal.\\n * @param uri The document's uri.\\n * @param languageId The document's language identifier.\\n * @param version The document's version number.\\n * @param text The document's text.\\n */\\n function create(uri, languageId, version, text) {\\n return { uri: uri, languageId: languageId, version: version, text: text };\\n }\\n TextDocumentItem.create = create;\\n /**\\n * Checks whether the given literal conforms to the [TextDocumentItem](#TextDocumentItem) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\\n }\\n TextDocumentItem.is = is;\\n})(TextDocumentItem || (TextDocumentItem = {}));\\n/**\\n * Describes the content type that a client supports in various\\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\\n *\\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\\n * are reserved for internal usage.\\n */\\nexport var MarkupKind;\\n(function (MarkupKind) {\\n /**\\n * Plain text is supported as a content format\\n */\\n MarkupKind.PlainText = 'plaintext';\\n /**\\n * Markdown is supported as a content format\\n */\\n MarkupKind.Markdown = 'markdown';\\n})(MarkupKind || (MarkupKind = {}));\\n(function (MarkupKind) {\\n /**\\n * Checks whether the given value is a value of the [MarkupKind](#MarkupKind) type.\\n */\\n function is(value) {\\n var candidate = value;\\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\\n }\\n MarkupKind.is = is;\\n})(MarkupKind || (MarkupKind = {}));\\nexport var MarkupContent;\\n(function (MarkupContent) {\\n /**\\n * Checks whether the given value conforms to the [MarkupContent](#MarkupContent) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\\n }\\n MarkupContent.is = is;\\n})(MarkupContent || (MarkupContent = {}));\\n/**\\n * The kind of a completion entry.\\n */\\nexport var CompletionItemKind;\\n(function (CompletionItemKind) {\\n CompletionItemKind.Text = 1;\\n CompletionItemKind.Method = 2;\\n CompletionItemKind.Function = 3;\\n CompletionItemKind.Constructor = 4;\\n CompletionItemKind.Field = 5;\\n CompletionItemKind.Variable = 6;\\n CompletionItemKind.Class = 7;\\n CompletionItemKind.Interface = 8;\\n CompletionItemKind.Module = 9;\\n CompletionItemKind.Property = 10;\\n CompletionItemKind.Unit = 11;\\n CompletionItemKind.Value = 12;\\n CompletionItemKind.Enum = 13;\\n CompletionItemKind.Keyword = 14;\\n CompletionItemKind.Snippet = 15;\\n CompletionItemKind.Color = 16;\\n CompletionItemKind.File = 17;\\n CompletionItemKind.Reference = 18;\\n CompletionItemKind.Folder = 19;\\n CompletionItemKind.EnumMember = 20;\\n CompletionItemKind.Constant = 21;\\n CompletionItemKind.Struct = 22;\\n CompletionItemKind.Event = 23;\\n CompletionItemKind.Operator = 24;\\n CompletionItemKind.TypeParameter = 25;\\n})(CompletionItemKind || (CompletionItemKind = {}));\\n/**\\n * Defines whether the insert text in a completion item should be interpreted as\\n * plain text or a snippet.\\n */\\nexport var InsertTextFormat;\\n(function (InsertTextFormat) {\\n /**\\n * The primary text to be inserted is treated as a plain string.\\n */\\n InsertTextFormat.PlainText = 1;\\n /**\\n * The primary text to be inserted is treated as a snippet.\\n *\\n * A snippet can define tab stops and placeholders with `$1`, `$2`\\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\\n * the end of the snippet. Placeholders with equal identifiers are linked,\\n * that is typing in one will update others too.\\n *\\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\\n */\\n InsertTextFormat.Snippet = 2;\\n})(InsertTextFormat || (InsertTextFormat = {}));\\n/**\\n * Completion item tags are extra annotations that tweak the rendering of a completion\\n * item.\\n *\\n * @since 3.15.0\\n */\\nexport var CompletionItemTag;\\n(function (CompletionItemTag) {\\n /**\\n * Render a completion as obsolete, usually using a strike-out.\\n */\\n CompletionItemTag.Deprecated = 1;\\n})(CompletionItemTag || (CompletionItemTag = {}));\\n/**\\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\\n *\\n * @since 3.16.0\\n */\\nexport var InsertReplaceEdit;\\n(function (InsertReplaceEdit) {\\n /**\\n * Creates a new insert / replace edit\\n */\\n function create(newText, insert, replace) {\\n return { newText: newText, insert: insert, replace: replace };\\n }\\n InsertReplaceEdit.create = create;\\n /**\\n * Checks whether the given literal conforms to the [InsertReplaceEdit](#InsertReplaceEdit) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\\n }\\n InsertReplaceEdit.is = is;\\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\\n/**\\n * How whitespace and indentation is handled during completion\\n * item insertion.\\n *\\n * @since 3.16.0\\n */\\nexport var InsertTextMode;\\n(function (InsertTextMode) {\\n /**\\n * The insertion or replace strings is taken as it is. If the\\n * value is multi line the lines below the cursor will be\\n * inserted using the indentation defined in the string value.\\n * The client will not apply any kind of adjustments to the\\n * string.\\n */\\n InsertTextMode.asIs = 1;\\n /**\\n * The editor adjusts leading whitespace of new lines so that\\n * they match the indentation up to the cursor of the line for\\n * which the item is accepted.\\n *\\n * Consider a line like this: <2tabs><3tabs>foo. Accepting a\\n * multi line completion item is indented using 2 tabs and all\\n * following lines inserted will be indented using 2 tabs as well.\\n */\\n InsertTextMode.adjustIndentation = 2;\\n})(InsertTextMode || (InsertTextMode = {}));\\n/**\\n * The CompletionItem namespace provides functions to deal with\\n * completion items.\\n */\\nexport var CompletionItem;\\n(function (CompletionItem) {\\n /**\\n * Create a completion item and seed it with a label.\\n * @param label The completion item's label\\n */\\n function create(label) {\\n return { label: label };\\n }\\n CompletionItem.create = create;\\n})(CompletionItem || (CompletionItem = {}));\\n/**\\n * The CompletionList namespace provides functions to deal with\\n * completion lists.\\n */\\nexport var CompletionList;\\n(function (CompletionList) {\\n /**\\n * Creates a new completion list.\\n *\\n * @param items The completion items.\\n * @param isIncomplete The list is not complete.\\n */\\n function create(items, isIncomplete) {\\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\\n }\\n CompletionList.create = create;\\n})(CompletionList || (CompletionList = {}));\\nexport var MarkedString;\\n(function (MarkedString) {\\n /**\\n * Creates a marked string from plain text.\\n *\\n * @param plainText The plain text.\\n */\\n function fromPlainText(plainText) {\\n return plainText.replace(/[\\\\\\\\`*_{}[\\\\]()#+\\\\-.!]/g, '\\\\\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\\n }\\n MarkedString.fromPlainText = fromPlainText;\\n /**\\n * Checks whether the given value conforms to the [MarkedString](#MarkedString) type.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\\n }\\n MarkedString.is = is;\\n})(MarkedString || (MarkedString = {}));\\nexport var Hover;\\n(function (Hover) {\\n /**\\n * Checks whether the given value conforms to the [Hover](#Hover) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\\n MarkedString.is(candidate.contents) ||\\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\\n }\\n Hover.is = is;\\n})(Hover || (Hover = {}));\\n/**\\n * The ParameterInformation namespace provides helper functions to work with\\n * [ParameterInformation](#ParameterInformation) literals.\\n */\\nexport var ParameterInformation;\\n(function (ParameterInformation) {\\n /**\\n * Creates a new parameter information literal.\\n *\\n * @param label A label string.\\n * @param documentation A doc string.\\n */\\n function create(label, documentation) {\\n return documentation ? { label: label, documentation: documentation } : { label: label };\\n }\\n ParameterInformation.create = create;\\n})(ParameterInformation || (ParameterInformation = {}));\\n/**\\n * The SignatureInformation namespace provides helper functions to work with\\n * [SignatureInformation](#SignatureInformation) literals.\\n */\\nexport var SignatureInformation;\\n(function (SignatureInformation) {\\n function create(label, documentation) {\\n var parameters = [];\\n for (var _i = 2; _i < arguments.length; _i++) {\\n parameters[_i - 2] = arguments[_i];\\n }\\n var result = { label: label };\\n if (Is.defined(documentation)) {\\n result.documentation = documentation;\\n }\\n if (Is.defined(parameters)) {\\n result.parameters = parameters;\\n }\\n else {\\n result.parameters = [];\\n }\\n return result;\\n }\\n SignatureInformation.create = create;\\n})(SignatureInformation || (SignatureInformation = {}));\\n/**\\n * A document highlight kind.\\n */\\nexport var DocumentHighlightKind;\\n(function (DocumentHighlightKind) {\\n /**\\n * A textual occurrence.\\n */\\n DocumentHighlightKind.Text = 1;\\n /**\\n * Read-access of a symbol, like reading a variable.\\n */\\n DocumentHighlightKind.Read = 2;\\n /**\\n * Write-access of a symbol, like writing to a variable.\\n */\\n DocumentHighlightKind.Write = 3;\\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\\n/**\\n * DocumentHighlight namespace to provide helper functions to work with\\n * [DocumentHighlight](#DocumentHighlight) literals.\\n */\\nexport var DocumentHighlight;\\n(function (DocumentHighlight) {\\n /**\\n * Create a DocumentHighlight object.\\n * @param range The range the highlight applies to.\\n */\\n function create(range, kind) {\\n var result = { range: range };\\n if (Is.number(kind)) {\\n result.kind = kind;\\n }\\n return result;\\n }\\n DocumentHighlight.create = create;\\n})(DocumentHighlight || (DocumentHighlight = {}));\\n/**\\n * A symbol kind.\\n */\\nexport var SymbolKind;\\n(function (SymbolKind) {\\n SymbolKind.File = 1;\\n SymbolKind.Module = 2;\\n SymbolKind.Namespace = 3;\\n SymbolKind.Package = 4;\\n SymbolKind.Class = 5;\\n SymbolKind.Method = 6;\\n SymbolKind.Property = 7;\\n SymbolKind.Field = 8;\\n SymbolKind.Constructor = 9;\\n SymbolKind.Enum = 10;\\n SymbolKind.Interface = 11;\\n SymbolKind.Function = 12;\\n SymbolKind.Variable = 13;\\n SymbolKind.Constant = 14;\\n SymbolKind.String = 15;\\n SymbolKind.Number = 16;\\n SymbolKind.Boolean = 17;\\n SymbolKind.Array = 18;\\n SymbolKind.Object = 19;\\n SymbolKind.Key = 20;\\n SymbolKind.Null = 21;\\n SymbolKind.EnumMember = 22;\\n SymbolKind.Struct = 23;\\n SymbolKind.Event = 24;\\n SymbolKind.Operator = 25;\\n SymbolKind.TypeParameter = 26;\\n})(SymbolKind || (SymbolKind = {}));\\n/**\\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\\n * @since 3.16\\n */\\nexport var SymbolTag;\\n(function (SymbolTag) {\\n /**\\n * Render a symbol as obsolete, usually using a strike-out.\\n */\\n SymbolTag.Deprecated = 1;\\n})(SymbolTag || (SymbolTag = {}));\\nexport var SymbolInformation;\\n(function (SymbolInformation) {\\n /**\\n * Creates a new symbol information literal.\\n *\\n * @param name The name of the symbol.\\n * @param kind The kind of the symbol.\\n * @param range The range of the location of the symbol.\\n * @param uri The resource of the location of symbol, defaults to the current document.\\n * @param containerName The name of the symbol containing the symbol.\\n */\\n function create(name, kind, range, uri, containerName) {\\n var result = {\\n name: name,\\n kind: kind,\\n location: { uri: uri, range: range }\\n };\\n if (containerName) {\\n result.containerName = containerName;\\n }\\n return result;\\n }\\n SymbolInformation.create = create;\\n})(SymbolInformation || (SymbolInformation = {}));\\nexport var DocumentSymbol;\\n(function (DocumentSymbol) {\\n /**\\n * Creates a new symbol information literal.\\n *\\n * @param name The name of the symbol.\\n * @param detail The detail of the symbol.\\n * @param kind The kind of the symbol.\\n * @param range The range of the symbol.\\n * @param selectionRange The selectionRange of the symbol.\\n * @param children Children of the symbol.\\n */\\n function create(name, detail, kind, range, selectionRange, children) {\\n var result = {\\n name: name,\\n detail: detail,\\n kind: kind,\\n range: range,\\n selectionRange: selectionRange\\n };\\n if (children !== undefined) {\\n result.children = children;\\n }\\n return result;\\n }\\n DocumentSymbol.create = create;\\n /**\\n * Checks whether the given literal conforms to the [DocumentSymbol](#DocumentSymbol) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return candidate &&\\n Is.string(candidate.name) && Is.number(candidate.kind) &&\\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\\n (candidate.tags === undefined || Array.isArray(candidate.tags));\\n }\\n DocumentSymbol.is = is;\\n})(DocumentSymbol || (DocumentSymbol = {}));\\n/**\\n * A set of predefined code action kinds\\n */\\nexport var CodeActionKind;\\n(function (CodeActionKind) {\\n /**\\n * Empty kind.\\n */\\n CodeActionKind.Empty = '';\\n /**\\n * Base kind for quickfix actions: 'quickfix'\\n */\\n CodeActionKind.QuickFix = 'quickfix';\\n /**\\n * Base kind for refactoring actions: 'refactor'\\n */\\n CodeActionKind.Refactor = 'refactor';\\n /**\\n * Base kind for refactoring extraction actions: 'refactor.extract'\\n *\\n * Example extract actions:\\n *\\n * - Extract method\\n * - Extract function\\n * - Extract variable\\n * - Extract interface from class\\n * - ...\\n */\\n CodeActionKind.RefactorExtract = 'refactor.extract';\\n /**\\n * Base kind for refactoring inline actions: 'refactor.inline'\\n *\\n * Example inline actions:\\n *\\n * - Inline function\\n * - Inline variable\\n * - Inline constant\\n * - ...\\n */\\n CodeActionKind.RefactorInline = 'refactor.inline';\\n /**\\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\\n *\\n * Example rewrite actions:\\n *\\n * - Convert JavaScript function to class\\n * - Add or remove parameter\\n * - Encapsulate field\\n * - Make method static\\n * - Move method to base class\\n * - ...\\n */\\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\\n /**\\n * Base kind for source actions: `source`\\n *\\n * Source code actions apply to the entire file.\\n */\\n CodeActionKind.Source = 'source';\\n /**\\n * Base kind for an organize imports source action: `source.organizeImports`\\n */\\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\\n /**\\n * Base kind for auto-fix source actions: `source.fixAll`.\\n *\\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\\n *\\n * @since 3.15.0\\n */\\n CodeActionKind.SourceFixAll = 'source.fixAll';\\n})(CodeActionKind || (CodeActionKind = {}));\\n/**\\n * The CodeActionContext namespace provides helper functions to work with\\n * [CodeActionContext](#CodeActionContext) literals.\\n */\\nexport var CodeActionContext;\\n(function (CodeActionContext) {\\n /**\\n * Creates a new CodeActionContext literal.\\n */\\n function create(diagnostics, only) {\\n var result = { diagnostics: diagnostics };\\n if (only !== undefined && only !== null) {\\n result.only = only;\\n }\\n return result;\\n }\\n CodeActionContext.create = create;\\n /**\\n * Checks whether the given literal conforms to the [CodeActionContext](#CodeActionContext) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string));\\n }\\n CodeActionContext.is = is;\\n})(CodeActionContext || (CodeActionContext = {}));\\nexport var CodeAction;\\n(function (CodeAction) {\\n function create(title, kindOrCommandOrEdit, kind) {\\n var result = { title: title };\\n var checkKind = true;\\n if (typeof kindOrCommandOrEdit === 'string') {\\n checkKind = false;\\n result.kind = kindOrCommandOrEdit;\\n }\\n else if (Command.is(kindOrCommandOrEdit)) {\\n result.command = kindOrCommandOrEdit;\\n }\\n else {\\n result.edit = kindOrCommandOrEdit;\\n }\\n if (checkKind && kind !== undefined) {\\n result.kind = kind;\\n }\\n return result;\\n }\\n CodeAction.create = create;\\n function is(value) {\\n var candidate = value;\\n return candidate && Is.string(candidate.title) &&\\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\\n (candidate.edit !== undefined || candidate.command !== undefined) &&\\n (candidate.command === undefined || Command.is(candidate.command)) &&\\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\\n }\\n CodeAction.is = is;\\n})(CodeAction || (CodeAction = {}));\\n/**\\n * The CodeLens namespace provides helper functions to work with\\n * [CodeLens](#CodeLens) literals.\\n */\\nexport var CodeLens;\\n(function (CodeLens) {\\n /**\\n * Creates a new CodeLens literal.\\n */\\n function create(range, data) {\\n var result = { range: range };\\n if (Is.defined(data)) {\\n result.data = data;\\n }\\n return result;\\n }\\n CodeLens.create = create;\\n /**\\n * Checks whether the given literal conforms to the [CodeLens](#CodeLens) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\\n }\\n CodeLens.is = is;\\n})(CodeLens || (CodeLens = {}));\\n/**\\n * The FormattingOptions namespace provides helper functions to work with\\n * [FormattingOptions](#FormattingOptions) literals.\\n */\\nexport var FormattingOptions;\\n(function (FormattingOptions) {\\n /**\\n * Creates a new FormattingOptions literal.\\n */\\n function create(tabSize, insertSpaces) {\\n return { tabSize: tabSize, insertSpaces: insertSpaces };\\n }\\n FormattingOptions.create = create;\\n /**\\n * Checks whether the given literal conforms to the [FormattingOptions](#FormattingOptions) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\\n }\\n FormattingOptions.is = is;\\n})(FormattingOptions || (FormattingOptions = {}));\\n/**\\n * The DocumentLink namespace provides helper functions to work with\\n * [DocumentLink](#DocumentLink) literals.\\n */\\nexport var DocumentLink;\\n(function (DocumentLink) {\\n /**\\n * Creates a new DocumentLink literal.\\n */\\n function create(range, target, data) {\\n return { range: range, target: target, data: data };\\n }\\n DocumentLink.create = create;\\n /**\\n * Checks whether the given literal conforms to the [DocumentLink](#DocumentLink) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\\n }\\n DocumentLink.is = is;\\n})(DocumentLink || (DocumentLink = {}));\\n/**\\n * The SelectionRange namespace provides helper function to work with\\n * SelectionRange literals.\\n */\\nexport var SelectionRange;\\n(function (SelectionRange) {\\n /**\\n * Creates a new SelectionRange\\n * @param range the range.\\n * @param parent an optional parent.\\n */\\n function create(range, parent) {\\n return { range: range, parent: parent };\\n }\\n SelectionRange.create = create;\\n function is(value) {\\n var candidate = value;\\n return candidate !== undefined && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\\n }\\n SelectionRange.is = is;\\n})(SelectionRange || (SelectionRange = {}));\\nexport var EOL = ['\\\\n', '\\\\r\\\\n', '\\\\r'];\\n/**\\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\\n */\\nexport var TextDocument;\\n(function (TextDocument) {\\n /**\\n * Creates a new ITextDocument literal from the given uri and content.\\n * @param uri The document's uri.\\n * @param languageId The document's language Id.\\n * @param content The document's content.\\n */\\n function create(uri, languageId, version, content) {\\n return new FullTextDocument(uri, languageId, version, content);\\n }\\n TextDocument.create = create;\\n /**\\n * Checks whether the given literal conforms to the [ITextDocument](#ITextDocument) interface.\\n */\\n function is(value) {\\n var candidate = value;\\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\\n }\\n TextDocument.is = is;\\n function applyEdits(document, edits) {\\n var text = document.getText();\\n var sortedEdits = mergeSort(edits, function (a, b) {\\n var diff = a.range.start.line - b.range.start.line;\\n if (diff === 0) {\\n return a.range.start.character - b.range.start.character;\\n }\\n return diff;\\n });\\n var lastModifiedOffset = text.length;\\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\\n var e = sortedEdits[i];\\n var startOffset = document.offsetAt(e.range.start);\\n var endOffset = document.offsetAt(e.range.end);\\n if (endOffset <= lastModifiedOffset) {\\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\\n }\\n else {\\n throw new Error('Overlapping edit');\\n }\\n lastModifiedOffset = startOffset;\\n }\\n return text;\\n }\\n TextDocument.applyEdits = applyEdits;\\n function mergeSort(data, compare) {\\n if (data.length <= 1) {\\n // sorted\\n return data;\\n }\\n var p = (data.length / 2) | 0;\\n var left = data.slice(0, p);\\n var right = data.slice(p);\\n mergeSort(left, compare);\\n mergeSort(right, compare);\\n var leftIdx = 0;\\n var rightIdx = 0;\\n var i = 0;\\n while (leftIdx < left.length && rightIdx < right.length) {\\n var ret = compare(left[leftIdx], right[rightIdx]);\\n if (ret <= 0) {\\n // smaller_equal -> take left to preserve order\\n data[i++] = left[leftIdx++];\\n }\\n else {\\n // greater -> take right\\n data[i++] = right[rightIdx++];\\n }\\n }\\n while (leftIdx < left.length) {\\n data[i++] = left[leftIdx++];\\n }\\n while (rightIdx < right.length) {\\n data[i++] = right[rightIdx++];\\n }\\n return data;\\n }\\n})(TextDocument || (TextDocument = {}));\\n/**\\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\\n */\\nvar FullTextDocument = /** @class */ (function () {\\n function FullTextDocument(uri, languageId, version, content) {\\n this._uri = uri;\\n this._languageId = languageId;\\n this._version = version;\\n this._content = content;\\n this._lineOffsets = undefined;\\n }\\n Object.defineProperty(FullTextDocument.prototype, \\\"uri\\\", {\\n get: function () {\\n return this._uri;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n Object.defineProperty(FullTextDocument.prototype, \\\"languageId\\\", {\\n get: function () {\\n return this._languageId;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n Object.defineProperty(FullTextDocument.prototype, \\\"version\\\", {\\n get: function () {\\n return this._version;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n FullTextDocument.prototype.getText = function (range) {\\n if (range) {\\n var start = this.offsetAt(range.start);\\n var end = this.offsetAt(range.end);\\n return this._content.substring(start, end);\\n }\\n return this._content;\\n };\\n FullTextDocument.prototype.update = function (event, version) {\\n this._content = event.text;\\n this._version = version;\\n this._lineOffsets = undefined;\\n };\\n FullTextDocument.prototype.getLineOffsets = function () {\\n if (this._lineOffsets === undefined) {\\n var lineOffsets = [];\\n var text = this._content;\\n var isLineStart = true;\\n for (var i = 0; i < text.length; i++) {\\n if (isLineStart) {\\n lineOffsets.push(i);\\n isLineStart = false;\\n }\\n var ch = text.charAt(i);\\n isLineStart = (ch === '\\\\r' || ch === '\\\\n');\\n if (ch === '\\\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\\\n') {\\n i++;\\n }\\n }\\n if (isLineStart && text.length > 0) {\\n lineOffsets.push(text.length);\\n }\\n this._lineOffsets = lineOffsets;\\n }\\n return this._lineOffsets;\\n };\\n FullTextDocument.prototype.positionAt = function (offset) {\\n offset = Math.max(Math.min(offset, this._content.length), 0);\\n var lineOffsets = this.getLineOffsets();\\n var low = 0, high = lineOffsets.length;\\n if (high === 0) {\\n return Position.create(0, offset);\\n }\\n while (low < high) {\\n var mid = Math.floor((low + high) / 2);\\n if (lineOffsets[mid] > offset) {\\n high = mid;\\n }\\n else {\\n low = mid + 1;\\n }\\n }\\n // low is the least x for which the line offset is larger than the current offset\\n // or array.length if no line offset is larger than the current offset\\n var line = low - 1;\\n return Position.create(line, offset - lineOffsets[line]);\\n };\\n FullTextDocument.prototype.offsetAt = function (position) {\\n var lineOffsets = this.getLineOffsets();\\n if (position.line >= lineOffsets.length) {\\n return this._content.length;\\n }\\n else if (position.line < 0) {\\n return 0;\\n }\\n var lineOffset = lineOffsets[position.line];\\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\\n };\\n Object.defineProperty(FullTextDocument.prototype, \\\"lineCount\\\", {\\n get: function () {\\n return this.getLineOffsets().length;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n return FullTextDocument;\\n}());\\nvar Is;\\n(function (Is) {\\n var toString = Object.prototype.toString;\\n function defined(value) {\\n return typeof value !== 'undefined';\\n }\\n Is.defined = defined;\\n function undefined(value) {\\n return typeof value === 'undefined';\\n }\\n Is.undefined = undefined;\\n function boolean(value) {\\n return value === true || value === false;\\n }\\n Is.boolean = boolean;\\n function string(value) {\\n return toString.call(value) === '[object String]';\\n }\\n Is.string = string;\\n function number(value) {\\n return toString.call(value) === '[object Number]';\\n }\\n Is.number = number;\\n function numberRange(value, min, max) {\\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\\n }\\n Is.numberRange = numberRange;\\n function integer(value) {\\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\\n }\\n Is.integer = integer;\\n function uinteger(value) {\\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\\n }\\n Is.uinteger = uinteger;\\n function func(value) {\\n return toString.call(value) === '[object Function]';\\n }\\n Is.func = func;\\n function objectLiteral(value) {\\n // Strictly speaking class instances pass this check as well. Since the LSP\\n // doesn't use classes we ignore this for now. If we do we need to add something\\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\\n return value !== null && typeof value === 'object';\\n }\\n Is.objectLiteral = objectLiteral;\\n function typedArray(value, check) {\\n return Array.isArray(value) && value.every(check);\\n }\\n Is.typedArray = typedArray;\\n})(Is || (Is = {}));\\n\",\"import { isCompositeType } from 'graphql';\\nimport { SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from 'graphql/type/introspection';\\nexport function getDefinitionState(tokenState) {\\n let definitionState;\\n forEachState(tokenState, (state) => {\\n switch (state.kind) {\\n case 'Query':\\n case 'ShortQuery':\\n case 'Mutation':\\n case 'Subscription':\\n case 'FragmentDefinition':\\n definitionState = state;\\n break;\\n }\\n });\\n return definitionState;\\n}\\nexport function getFieldDef(schema, type, fieldName) {\\n if (fieldName === SchemaMetaFieldDef.name && schema.getQueryType() === type) {\\n return SchemaMetaFieldDef;\\n }\\n if (fieldName === TypeMetaFieldDef.name && schema.getQueryType() === type) {\\n return TypeMetaFieldDef;\\n }\\n if (fieldName === TypeNameMetaFieldDef.name && isCompositeType(type)) {\\n return TypeNameMetaFieldDef;\\n }\\n if ('getFields' in type) {\\n return type.getFields()[fieldName];\\n }\\n return null;\\n}\\nexport function forEachState(stack, fn) {\\n const reverseStateStack = [];\\n let state = stack;\\n while (state && state.kind) {\\n reverseStateStack.push(state);\\n state = state.prevState;\\n }\\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\\n fn(reverseStateStack[i]);\\n }\\n}\\nexport function objectValues(object) {\\n const keys = Object.keys(object);\\n const len = keys.length;\\n const values = new Array(len);\\n for (let i = 0; i < len; ++i) {\\n values[i] = object[keys[i]];\\n }\\n return values;\\n}\\nexport function hintList(token, list) {\\n return filterAndSortList(list, normalizeText(token.string));\\n}\\nfunction filterAndSortList(list, text) {\\n if (!text) {\\n return filterNonEmpty(list, entry => !entry.isDeprecated);\\n }\\n const byProximity = list.map(entry => ({\\n proximity: getProximity(normalizeText(entry.label), text),\\n entry,\\n }));\\n return filterNonEmpty(filterNonEmpty(byProximity, pair => pair.proximity <= 2), pair => !pair.entry.isDeprecated)\\n .sort((a, b) => (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\\n a.proximity - b.proximity ||\\n a.entry.label.length - b.entry.label.length)\\n .map(pair => pair.entry);\\n}\\nfunction filterNonEmpty(array, predicate) {\\n const filtered = array.filter(predicate);\\n return filtered.length === 0 ? array : filtered;\\n}\\nfunction normalizeText(text) {\\n return text.toLowerCase().replace(/\\\\W/g, '');\\n}\\nfunction getProximity(suggestion, text) {\\n let proximity = lexicalDistance(text, suggestion);\\n if (suggestion.length > text.length) {\\n proximity -= suggestion.length - text.length - 1;\\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\\n }\\n return proximity;\\n}\\nfunction lexicalDistance(a, b) {\\n let i;\\n let j;\\n const d = [];\\n const aLength = a.length;\\n const bLength = b.length;\\n for (i = 0; i <= aLength; i++) {\\n d[i] = [i];\\n }\\n for (j = 1; j <= bLength; j++) {\\n d[0][j] = j;\\n }\\n for (i = 1; i <= aLength; i++) {\\n for (j = 1; j <= bLength; j++) {\\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\\n d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);\\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\\n }\\n }\\n }\\n return d[aLength][bLength];\\n}\\n//# sourceMappingURL=autocompleteUtils.js.map\",\"import { CompletionItemKind } from 'vscode-languageserver-types';\\nimport { isInterfaceType, GraphQLInterfaceType, GraphQLObjectType, } from 'graphql';\\nimport { GraphQLBoolean, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, assertAbstractType, doTypesOverlap, getNamedType, getNullableType, isAbstractType, isCompositeType, isInputType, visit, parse, } from 'graphql';\\nimport { CharacterStream, onlineParser, RuleKinds, } from 'graphql-language-service-parser';\\nimport { forEachState, getDefinitionState, getFieldDef, hintList, objectValues, } from './autocompleteUtils';\\nconst collectFragmentDefs = (op) => {\\n const externalFragments = [];\\n if (op) {\\n visit(parse(op, {\\n experimentalFragmentVariables: true,\\n }), {\\n FragmentDefinition(def) {\\n externalFragments.push(def);\\n },\\n });\\n }\\n return externalFragments;\\n};\\nexport function getAutocompleteSuggestions(schema, queryText, cursor, contextToken, fragmentDefs) {\\n var _a;\\n const token = contextToken || getTokenAtPosition(queryText, cursor);\\n const state = token.state.kind === 'Invalid' ? token.state.prevState : token.state;\\n if (!state) {\\n return [];\\n }\\n const kind = state.kind;\\n const step = state.step;\\n const typeInfo = getTypeInfo(schema, token.state);\\n if (kind === RuleKinds.DOCUMENT) {\\n return hintList(token, [\\n { label: 'query', kind: CompletionItemKind.Function },\\n { label: 'mutation', kind: CompletionItemKind.Function },\\n { label: 'subscription', kind: CompletionItemKind.Function },\\n { label: 'fragment', kind: CompletionItemKind.Function },\\n { label: '{', kind: CompletionItemKind.Constructor },\\n ]);\\n }\\n if (kind === RuleKinds.IMPLEMENTS ||\\n (kind === RuleKinds.NAMED_TYPE &&\\n ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === RuleKinds.IMPLEMENTS)) {\\n return getSuggestionsForImplements(token, state, schema, queryText, typeInfo);\\n }\\n if (kind === RuleKinds.SELECTION_SET ||\\n kind === RuleKinds.FIELD ||\\n kind === RuleKinds.ALIASED_FIELD) {\\n return getSuggestionsForFieldNames(token, typeInfo, schema);\\n }\\n if (kind === RuleKinds.ARGUMENTS ||\\n (kind === RuleKinds.ARGUMENT && step === 0)) {\\n const argDefs = typeInfo.argDefs;\\n if (argDefs) {\\n return hintList(token, argDefs.map(argDef => {\\n var _a;\\n return ({\\n label: argDef.name,\\n detail: String(argDef.type),\\n documentation: (_a = argDef.description) !== null && _a !== void 0 ? _a : undefined,\\n kind: CompletionItemKind.Variable,\\n type: argDef.type,\\n });\\n }));\\n }\\n }\\n if (kind === RuleKinds.OBJECT_VALUE ||\\n (kind === RuleKinds.OBJECT_FIELD && step === 0)) {\\n if (typeInfo.objectFieldDefs) {\\n const objectFields = objectValues(typeInfo.objectFieldDefs);\\n const completionKind = kind === RuleKinds.OBJECT_VALUE\\n ? CompletionItemKind.Value\\n : CompletionItemKind.Field;\\n return hintList(token, objectFields.map(field => {\\n var _a;\\n return ({\\n label: field.name,\\n detail: String(field.type),\\n documentation: (_a = field.description) !== null && _a !== void 0 ? _a : undefined,\\n kind: completionKind,\\n type: field.type,\\n });\\n }));\\n }\\n }\\n if (kind === RuleKinds.ENUM_VALUE ||\\n (kind === RuleKinds.LIST_VALUE && step === 1) ||\\n (kind === RuleKinds.OBJECT_FIELD && step === 2) ||\\n (kind === RuleKinds.ARGUMENT && step === 2)) {\\n return getSuggestionsForInputValues(token, typeInfo, queryText, schema);\\n }\\n if (kind === RuleKinds.VARIABLE && step === 1) {\\n const namedInputType = getNamedType(typeInfo.inputType);\\n const variableDefinitions = getVariableCompletions(queryText, schema);\\n return hintList(token, variableDefinitions.filter(v => v.detail === (namedInputType === null || namedInputType === void 0 ? void 0 : namedInputType.name)));\\n }\\n if ((kind === RuleKinds.TYPE_CONDITION && step === 1) ||\\n (kind === RuleKinds.NAMED_TYPE &&\\n state.prevState != null &&\\n state.prevState.kind === RuleKinds.TYPE_CONDITION)) {\\n return getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, kind);\\n }\\n if (kind === RuleKinds.FRAGMENT_SPREAD && step === 1) {\\n return getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, Array.isArray(fragmentDefs)\\n ? fragmentDefs\\n : collectFragmentDefs(fragmentDefs));\\n }\\n if ((kind === RuleKinds.VARIABLE_DEFINITION && step === 2) ||\\n (kind === RuleKinds.LIST_TYPE && step === 1) ||\\n (kind === RuleKinds.NAMED_TYPE &&\\n state.prevState &&\\n (state.prevState.kind === RuleKinds.VARIABLE_DEFINITION ||\\n state.prevState.kind === RuleKinds.LIST_TYPE ||\\n state.prevState.kind === RuleKinds.NON_NULL_TYPE))) {\\n return getSuggestionsForVariableDefinition(token, schema, kind);\\n }\\n if (kind === RuleKinds.DIRECTIVE) {\\n return getSuggestionsForDirective(token, state, schema, kind);\\n }\\n return [];\\n}\\nfunction getSuggestionsForFieldNames(token, typeInfo, schema) {\\n if (typeInfo.parentType) {\\n const parentType = typeInfo.parentType;\\n let fields = [];\\n if ('getFields' in parentType) {\\n fields = objectValues(parentType.getFields());\\n }\\n if (isCompositeType(parentType)) {\\n fields.push(TypeNameMetaFieldDef);\\n }\\n if (parentType === schema.getQueryType()) {\\n fields.push(SchemaMetaFieldDef, TypeMetaFieldDef);\\n }\\n return hintList(token, fields.map((field, index) => {\\n var _a;\\n return ({\\n sortText: String(index) + field.name,\\n label: field.name,\\n detail: String(field.type),\\n documentation: (_a = field.description) !== null && _a !== void 0 ? _a : undefined,\\n deprecated: field.isDeprecated,\\n isDeprecated: field.isDeprecated,\\n deprecationReason: field.deprecationReason,\\n kind: CompletionItemKind.Field,\\n type: field.type,\\n });\\n }));\\n }\\n return [];\\n}\\nfunction getSuggestionsForInputValues(token, typeInfo, queryText, schema) {\\n const namedInputType = getNamedType(typeInfo.inputType);\\n const queryVariables = getVariableCompletions(queryText, schema, true).filter(v => v.detail === namedInputType.name);\\n if (namedInputType instanceof GraphQLEnumType) {\\n const values = namedInputType.getValues();\\n return hintList(token, values\\n .map((value) => {\\n var _a;\\n return ({\\n label: value.name,\\n detail: String(namedInputType),\\n documentation: (_a = value.description) !== null && _a !== void 0 ? _a : undefined,\\n deprecated: value.isDeprecated,\\n isDeprecated: value.isDeprecated,\\n deprecationReason: value.deprecationReason,\\n kind: CompletionItemKind.EnumMember,\\n type: namedInputType,\\n });\\n })\\n .concat(queryVariables));\\n }\\n else if (namedInputType === GraphQLBoolean) {\\n return hintList(token, queryVariables.concat([\\n {\\n label: 'true',\\n detail: String(GraphQLBoolean),\\n documentation: 'Not false.',\\n kind: CompletionItemKind.Variable,\\n type: GraphQLBoolean,\\n },\\n {\\n label: 'false',\\n detail: String(GraphQLBoolean),\\n documentation: 'Not true.',\\n kind: CompletionItemKind.Variable,\\n type: GraphQLBoolean,\\n },\\n ]));\\n }\\n return queryVariables;\\n}\\nfunction getSuggestionsForImplements(token, tokenState, schema, documentText, typeInfo) {\\n if (tokenState.needsSeperator) {\\n return [];\\n }\\n const typeMap = schema.getTypeMap();\\n const schemaInterfaces = objectValues(typeMap).filter(isInterfaceType);\\n const schemaInterfaceNames = schemaInterfaces.map(({ name }) => name);\\n const inlineInterfaces = new Set();\\n runOnlineParser(documentText, (_, state) => {\\n var _a, _b, _c, _d, _e;\\n if (state.name) {\\n if (state.kind === RuleKinds.INTERFACE_DEF &&\\n !schemaInterfaceNames.includes(state.name)) {\\n inlineInterfaces.add(state.name);\\n }\\n if (state.kind === RuleKinds.NAMED_TYPE &&\\n ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === RuleKinds.IMPLEMENTS) {\\n if (typeInfo.interfaceDef) {\\n const existingType = (_b = typeInfo.interfaceDef) === null || _b === void 0 ? void 0 : _b.getInterfaces().find(({ name }) => name === state.name);\\n if (existingType) {\\n return;\\n }\\n const type = schema.getType(state.name);\\n const interfaceConfig = (_c = typeInfo.interfaceDef) === null || _c === void 0 ? void 0 : _c.toConfig();\\n typeInfo.interfaceDef = new GraphQLInterfaceType(Object.assign(Object.assign({}, interfaceConfig), { interfaces: [\\n ...interfaceConfig.interfaces,\\n type ||\\n new GraphQLInterfaceType({ name: state.name, fields: {} }),\\n ] }));\\n }\\n else if (typeInfo.objectTypeDef) {\\n const existingType = (_d = typeInfo.objectTypeDef) === null || _d === void 0 ? void 0 : _d.getInterfaces().find(({ name }) => name === state.name);\\n if (existingType) {\\n return;\\n }\\n const type = schema.getType(state.name);\\n const objectTypeConfig = (_e = typeInfo.objectTypeDef) === null || _e === void 0 ? void 0 : _e.toConfig();\\n typeInfo.objectTypeDef = new GraphQLObjectType(Object.assign(Object.assign({}, objectTypeConfig), { interfaces: [\\n ...objectTypeConfig.interfaces,\\n type ||\\n new GraphQLInterfaceType({ name: state.name, fields: {} }),\\n ] }));\\n }\\n }\\n }\\n });\\n const currentTypeToExtend = typeInfo.interfaceDef || typeInfo.objectTypeDef;\\n const siblingInterfaces = (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.getInterfaces()) || [];\\n const siblingInterfaceNames = siblingInterfaces.map(({ name }) => name);\\n const possibleInterfaces = schemaInterfaces\\n .concat([...inlineInterfaces].map(name => ({ name })))\\n .filter(({ name }) => name !== (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.name) &&\\n !siblingInterfaceNames.includes(name));\\n return hintList(token, possibleInterfaces.map(type => {\\n const result = {\\n label: type.name,\\n kind: CompletionItemKind.Interface,\\n type,\\n };\\n if (type === null || type === void 0 ? void 0 : type.description) {\\n result.documentation = type.description;\\n }\\n return result;\\n }));\\n}\\nfunction getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, _kind) {\\n let possibleTypes;\\n if (typeInfo.parentType) {\\n if (isAbstractType(typeInfo.parentType)) {\\n const abstractType = assertAbstractType(typeInfo.parentType);\\n const possibleObjTypes = schema.getPossibleTypes(abstractType);\\n const possibleIfaceMap = Object.create(null);\\n possibleObjTypes.forEach(type => {\\n type.getInterfaces().forEach(iface => {\\n possibleIfaceMap[iface.name] = iface;\\n });\\n });\\n possibleTypes = possibleObjTypes.concat(objectValues(possibleIfaceMap));\\n }\\n else {\\n possibleTypes = [typeInfo.parentType];\\n }\\n }\\n else {\\n const typeMap = schema.getTypeMap();\\n possibleTypes = objectValues(typeMap).filter(isCompositeType);\\n }\\n return hintList(token, possibleTypes.map(type => {\\n const namedType = getNamedType(type);\\n return {\\n label: String(type),\\n documentation: (namedType && namedType.description) || '',\\n kind: CompletionItemKind.Field,\\n };\\n }));\\n}\\nfunction getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, fragmentDefs) {\\n if (!queryText) {\\n return [];\\n }\\n const typeMap = schema.getTypeMap();\\n const defState = getDefinitionState(token.state);\\n const fragments = getFragmentDefinitions(queryText);\\n if (fragmentDefs && fragmentDefs.length > 0) {\\n fragments.push(...fragmentDefs);\\n }\\n const relevantFrags = fragments.filter(frag => typeMap[frag.typeCondition.name.value] &&\\n !(defState &&\\n defState.kind === RuleKinds.FRAGMENT_DEFINITION &&\\n defState.name === frag.name.value) &&\\n isCompositeType(typeInfo.parentType) &&\\n isCompositeType(typeMap[frag.typeCondition.name.value]) &&\\n doTypesOverlap(schema, typeInfo.parentType, typeMap[frag.typeCondition.name.value]));\\n return hintList(token, relevantFrags.map(frag => ({\\n label: frag.name.value,\\n detail: String(typeMap[frag.typeCondition.name.value]),\\n documentation: `fragment ${frag.name.value} on ${frag.typeCondition.name.value}`,\\n kind: CompletionItemKind.Field,\\n type: typeMap[frag.typeCondition.name.value],\\n })));\\n}\\nconst getParentDefinition = (state, kind) => {\\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\\n if (((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === kind) {\\n return state.prevState;\\n }\\n if (((_c = (_b = state.prevState) === null || _b === void 0 ? void 0 : _b.prevState) === null || _c === void 0 ? void 0 : _c.kind) === kind) {\\n return state.prevState.prevState;\\n }\\n if (((_f = (_e = (_d = state.prevState) === null || _d === void 0 ? void 0 : _d.prevState) === null || _e === void 0 ? void 0 : _e.prevState) === null || _f === void 0 ? void 0 : _f.kind) === kind) {\\n return state.prevState.prevState.prevState;\\n }\\n if (((_k = (_j = (_h = (_g = state.prevState) === null || _g === void 0 ? void 0 : _g.prevState) === null || _h === void 0 ? void 0 : _h.prevState) === null || _j === void 0 ? void 0 : _j.prevState) === null || _k === void 0 ? void 0 : _k.kind) === kind) {\\n return state.prevState.prevState.prevState.prevState;\\n }\\n};\\nexport function getVariableCompletions(queryText, schema, forcePrefix = false) {\\n let variableName;\\n let variableType;\\n const definitions = Object.create({});\\n runOnlineParser(queryText, (_, state) => {\\n if (state.kind === RuleKinds.VARIABLE && state.name) {\\n variableName = state.name;\\n }\\n if (state.kind === RuleKinds.NAMED_TYPE && variableName) {\\n const parentDefinition = getParentDefinition(state, RuleKinds.TYPE);\\n if (parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type) {\\n variableType = schema.getType(parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type);\\n }\\n }\\n if (variableName && variableType) {\\n if (!definitions[variableName]) {\\n definitions[variableName] = {\\n detail: variableType.toString(),\\n label: `$${variableName}`,\\n type: variableType,\\n kind: CompletionItemKind.Variable,\\n };\\n if (forcePrefix) {\\n definitions[variableName].insertText = `$${variableName}`;\\n }\\n variableName = null;\\n variableType = null;\\n }\\n }\\n });\\n return objectValues(definitions);\\n}\\nexport function getFragmentDefinitions(queryText) {\\n const fragmentDefs = [];\\n runOnlineParser(queryText, (_, state) => {\\n if (state.kind === RuleKinds.FRAGMENT_DEFINITION &&\\n state.name &&\\n state.type) {\\n fragmentDefs.push({\\n kind: RuleKinds.FRAGMENT_DEFINITION,\\n name: {\\n kind: 'Name',\\n value: state.name,\\n },\\n selectionSet: {\\n kind: RuleKinds.SELECTION_SET,\\n selections: [],\\n },\\n typeCondition: {\\n kind: RuleKinds.NAMED_TYPE,\\n name: {\\n kind: 'Name',\\n value: state.type,\\n },\\n },\\n });\\n }\\n });\\n return fragmentDefs;\\n}\\nfunction getSuggestionsForVariableDefinition(token, schema, _kind) {\\n const inputTypeMap = schema.getTypeMap();\\n const inputTypes = objectValues(inputTypeMap).filter(isInputType);\\n return hintList(token, inputTypes.map((type) => ({\\n label: type.name,\\n documentation: type.description,\\n kind: CompletionItemKind.Variable,\\n })));\\n}\\nfunction getSuggestionsForDirective(token, state, schema, _kind) {\\n if (state.prevState && state.prevState.kind) {\\n const directives = schema\\n .getDirectives()\\n .filter(directive => canUseDirective(state.prevState, directive));\\n return hintList(token, directives.map(directive => ({\\n label: directive.name,\\n documentation: directive.description || '',\\n kind: CompletionItemKind.Function,\\n })));\\n }\\n return [];\\n}\\nexport function getTokenAtPosition(queryText, cursor) {\\n let styleAtCursor = null;\\n let stateAtCursor = null;\\n let stringAtCursor = null;\\n const token = runOnlineParser(queryText, (stream, state, style, index) => {\\n if (index === cursor.line) {\\n if (stream.getCurrentPosition() >= cursor.character) {\\n styleAtCursor = style;\\n stateAtCursor = Object.assign({}, state);\\n stringAtCursor = stream.current();\\n return 'BREAK';\\n }\\n }\\n });\\n return {\\n start: token.start,\\n end: token.end,\\n string: stringAtCursor || token.string,\\n state: stateAtCursor || token.state,\\n style: styleAtCursor || token.style,\\n };\\n}\\nexport function runOnlineParser(queryText, callback) {\\n const lines = queryText.split('\\\\n');\\n const parser = onlineParser();\\n let state = parser.startState();\\n let style = '';\\n let stream = new CharacterStream('');\\n for (let i = 0; i < lines.length; i++) {\\n stream = new CharacterStream(lines[i]);\\n while (!stream.eol()) {\\n style = parser.token(stream, state);\\n const code = callback(stream, state, style, i);\\n if (code === 'BREAK') {\\n break;\\n }\\n }\\n callback(stream, state, style, i);\\n if (!state.kind) {\\n state = parser.startState();\\n }\\n }\\n return {\\n start: stream.getStartOfToken(),\\n end: stream.getCurrentPosition(),\\n string: stream.current(),\\n state,\\n style,\\n };\\n}\\nexport function canUseDirective(state, directive) {\\n if (!state || !state.kind) {\\n return false;\\n }\\n const kind = state.kind;\\n const locations = directive.locations;\\n switch (kind) {\\n case RuleKinds.QUERY:\\n return locations.indexOf('QUERY') !== -1;\\n case RuleKinds.MUTATION:\\n return locations.indexOf('MUTATION') !== -1;\\n case RuleKinds.SUBSCRIPTION:\\n return locations.indexOf('SUBSCRIPTION') !== -1;\\n case RuleKinds.FIELD:\\n case RuleKinds.ALIASED_FIELD:\\n return locations.indexOf('FIELD') !== -1;\\n case RuleKinds.FRAGMENT_DEFINITION:\\n return locations.indexOf('FRAGMENT_DEFINITION') !== -1;\\n case RuleKinds.FRAGMENT_SPREAD:\\n return locations.indexOf('FRAGMENT_SPREAD') !== -1;\\n case RuleKinds.INLINE_FRAGMENT:\\n return locations.indexOf('INLINE_FRAGMENT') !== -1;\\n case RuleKinds.SCHEMA_DEF:\\n return locations.indexOf('SCHEMA') !== -1;\\n case RuleKinds.SCALAR_DEF:\\n return locations.indexOf('SCALAR') !== -1;\\n case RuleKinds.OBJECT_TYPE_DEF:\\n return locations.indexOf('OBJECT') !== -1;\\n case RuleKinds.FIELD_DEF:\\n return locations.indexOf('FIELD_DEFINITION') !== -1;\\n case RuleKinds.INTERFACE_DEF:\\n return locations.indexOf('INTERFACE') !== -1;\\n case RuleKinds.UNION_DEF:\\n return locations.indexOf('UNION') !== -1;\\n case RuleKinds.ENUM_DEF:\\n return locations.indexOf('ENUM') !== -1;\\n case RuleKinds.ENUM_VALUE:\\n return locations.indexOf('ENUM_VALUE') !== -1;\\n case RuleKinds.INPUT_DEF:\\n return locations.indexOf('INPUT_OBJECT') !== -1;\\n case RuleKinds.INPUT_VALUE_DEF:\\n const prevStateKind = state.prevState && state.prevState.kind;\\n switch (prevStateKind) {\\n case RuleKinds.ARGUMENTS_DEF:\\n return locations.indexOf('ARGUMENT_DEFINITION') !== -1;\\n case RuleKinds.INPUT_DEF:\\n return locations.indexOf('INPUT_FIELD_DEFINITION') !== -1;\\n }\\n }\\n return false;\\n}\\nexport function getTypeInfo(schema, tokenState) {\\n let argDef;\\n let argDefs;\\n let directiveDef;\\n let enumValue;\\n let fieldDef;\\n let inputType;\\n let objectTypeDef;\\n let objectFieldDefs;\\n let parentType;\\n let type;\\n let interfaceDef;\\n forEachState(tokenState, state => {\\n switch (state.kind) {\\n case RuleKinds.QUERY:\\n case 'ShortQuery':\\n type = schema.getQueryType();\\n break;\\n case RuleKinds.MUTATION:\\n type = schema.getMutationType();\\n break;\\n case RuleKinds.SUBSCRIPTION:\\n type = schema.getSubscriptionType();\\n break;\\n case RuleKinds.INLINE_FRAGMENT:\\n case RuleKinds.FRAGMENT_DEFINITION:\\n if (state.type) {\\n type = schema.getType(state.type);\\n }\\n break;\\n case RuleKinds.FIELD:\\n case RuleKinds.ALIASED_FIELD: {\\n if (!type || !state.name) {\\n fieldDef = null;\\n }\\n else {\\n fieldDef = parentType\\n ? getFieldDef(schema, parentType, state.name)\\n : null;\\n type = fieldDef ? fieldDef.type : null;\\n }\\n break;\\n }\\n case RuleKinds.SELECTION_SET:\\n parentType = getNamedType(type);\\n break;\\n case RuleKinds.DIRECTIVE:\\n directiveDef = state.name ? schema.getDirective(state.name) : null;\\n break;\\n case RuleKinds.INTERFACE_DEF:\\n if (state.name) {\\n objectTypeDef = null;\\n interfaceDef = new GraphQLInterfaceType({\\n name: state.name,\\n interfaces: [],\\n fields: {},\\n });\\n }\\n break;\\n case RuleKinds.OBJECT_TYPE_DEF:\\n if (state.name) {\\n interfaceDef = null;\\n objectTypeDef = new GraphQLObjectType({\\n name: state.name,\\n interfaces: [],\\n fields: {},\\n });\\n }\\n break;\\n case RuleKinds.ARGUMENTS: {\\n if (!state.prevState) {\\n argDefs = null;\\n }\\n else {\\n switch (state.prevState.kind) {\\n case RuleKinds.FIELD:\\n argDefs = fieldDef && fieldDef.args;\\n break;\\n case RuleKinds.DIRECTIVE:\\n argDefs = directiveDef && directiveDef.args;\\n break;\\n case RuleKinds.ALIASED_FIELD: {\\n const name = state.prevState && state.prevState.name;\\n if (!name) {\\n argDefs = null;\\n break;\\n }\\n const field = parentType\\n ? getFieldDef(schema, parentType, name)\\n : null;\\n if (!field) {\\n argDefs = null;\\n break;\\n }\\n argDefs = field.args;\\n break;\\n }\\n default:\\n argDefs = null;\\n break;\\n }\\n }\\n break;\\n }\\n case RuleKinds.ARGUMENT:\\n if (argDefs) {\\n for (let i = 0; i < argDefs.length; i++) {\\n if (argDefs[i].name === state.name) {\\n argDef = argDefs[i];\\n break;\\n }\\n }\\n }\\n inputType = argDef && argDef.type;\\n break;\\n case RuleKinds.ENUM_VALUE:\\n const enumType = getNamedType(inputType);\\n enumValue =\\n enumType instanceof GraphQLEnumType\\n ? find(enumType.getValues(), (val) => val.value === state.name)\\n : null;\\n break;\\n case RuleKinds.LIST_VALUE:\\n const nullableType = getNullableType(inputType);\\n inputType =\\n nullableType instanceof GraphQLList ? nullableType.ofType : null;\\n break;\\n case RuleKinds.OBJECT_VALUE:\\n const objectType = getNamedType(inputType);\\n objectFieldDefs =\\n objectType instanceof GraphQLInputObjectType\\n ? objectType.getFields()\\n : null;\\n break;\\n case RuleKinds.OBJECT_FIELD:\\n const objectField = state.name && objectFieldDefs ? objectFieldDefs[state.name] : null;\\n inputType = objectField && objectField.type;\\n break;\\n case RuleKinds.NAMED_TYPE:\\n if (state.name) {\\n type = schema.getType(state.name);\\n }\\n break;\\n }\\n });\\n return {\\n argDef,\\n argDefs,\\n directiveDef,\\n enumValue,\\n fieldDef,\\n inputType,\\n objectFieldDefs,\\n parentType,\\n type,\\n interfaceDef,\\n objectTypeDef,\\n };\\n}\\nfunction find(array, predicate) {\\n for (let i = 0; i < array.length; i++) {\\n if (predicate(array[i])) {\\n return array[i];\\n }\\n }\\n return null;\\n}\\n//# sourceMappingURL=getAutocompleteSuggestions.js.map\",\"var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nimport { locToRange, offsetToPosition, } from 'graphql-language-service-utils';\\nexport const LANGUAGE = 'GraphQL';\\nfunction assert(value, message) {\\n if (!value) {\\n throw new Error(message);\\n }\\n}\\nfunction getRange(text, node) {\\n const location = node.loc;\\n assert(location, 'Expected ASTNode to have a location.');\\n return locToRange(text, location);\\n}\\nfunction getPosition(text, node) {\\n const location = node.loc;\\n assert(location, 'Expected ASTNode to have a location.');\\n return offsetToPosition(text, location.start);\\n}\\nexport function getDefinitionQueryResultForNamedType(text, node, dependencies) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const name = node.name.value;\\n const defNodes = dependencies.filter(({ definition }) => definition.name && definition.name.value === name);\\n if (defNodes.length === 0) {\\n throw Error(`Definition not found for GraphQL type ${name}`);\\n }\\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForNodeDefinition(filePath || '', content, definition));\\n return {\\n definitions,\\n queryRange: definitions.map(_ => getRange(text, node)),\\n };\\n });\\n}\\nexport function getDefinitionQueryResultForFragmentSpread(text, fragment, dependencies) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const name = fragment.name.value;\\n const defNodes = dependencies.filter(({ definition }) => definition.name.value === name);\\n if (defNodes.length === 0) {\\n throw Error(`Definition not found for GraphQL fragment ${name}`);\\n }\\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForFragmentDefinition(filePath || '', content, definition));\\n return {\\n definitions,\\n queryRange: definitions.map(_ => getRange(text, fragment)),\\n };\\n });\\n}\\nexport function getDefinitionQueryResultForDefinitionNode(path, text, definition) {\\n return {\\n definitions: [getDefinitionForFragmentDefinition(path, text, definition)],\\n queryRange: definition.name ? [getRange(text, definition.name)] : [],\\n };\\n}\\nfunction getDefinitionForFragmentDefinition(path, text, definition) {\\n const name = definition.name;\\n if (!name) {\\n throw Error('Expected ASTNode to have a Name.');\\n }\\n return {\\n path,\\n position: getPosition(text, definition),\\n range: getRange(text, definition),\\n name: name.value || '',\\n language: LANGUAGE,\\n projectRoot: path,\\n };\\n}\\nfunction getDefinitionForNodeDefinition(path, text, definition) {\\n const name = definition.name;\\n assert(name, 'Expected ASTNode to have a Name.');\\n return {\\n path,\\n position: getPosition(text, definition),\\n range: getRange(text, definition),\\n name: name.value || '',\\n language: LANGUAGE,\\n projectRoot: path,\\n };\\n}\\n//# sourceMappingURL=getDefinition.js.map\",\"import { print, } from 'graphql';\\nimport { findDeprecatedUsages, parse } from 'graphql';\\nimport { CharacterStream, onlineParser } from 'graphql-language-service-parser';\\nimport { Range, validateWithCustomRules, Position, } from 'graphql-language-service-utils';\\nexport const SEVERITY = {\\n Error: 'Error',\\n Warning: 'Warning',\\n Information: 'Information',\\n Hint: 'Hint',\\n};\\nexport const DIAGNOSTIC_SEVERITY = {\\n [SEVERITY.Error]: 1,\\n [SEVERITY.Warning]: 2,\\n [SEVERITY.Information]: 3,\\n [SEVERITY.Hint]: 4,\\n};\\nconst invariant = (condition, message) => {\\n if (!condition) {\\n throw new Error(message);\\n }\\n};\\nexport function getDiagnostics(query, schema = null, customRules, isRelayCompatMode, externalFragments) {\\n let ast = null;\\n if (externalFragments) {\\n if (typeof externalFragments === 'string') {\\n query += '\\\\n\\\\n' + externalFragments;\\n }\\n else {\\n query +=\\n '\\\\n\\\\n' +\\n externalFragments.reduce((agg, node) => {\\n agg += print(node) + '\\\\n\\\\n';\\n return agg;\\n }, '');\\n }\\n }\\n try {\\n ast = parse(query);\\n }\\n catch (error) {\\n const range = getRange(error.locations[0], query);\\n return [\\n {\\n severity: DIAGNOSTIC_SEVERITY.Error,\\n message: error.message,\\n source: 'GraphQL: Syntax',\\n range,\\n },\\n ];\\n }\\n return validateQuery(ast, schema, customRules, isRelayCompatMode);\\n}\\nexport function validateQuery(ast, schema = null, customRules, isRelayCompatMode) {\\n if (!schema) {\\n return [];\\n }\\n const validationErrorAnnotations = mapCat(validateWithCustomRules(schema, ast, customRules, isRelayCompatMode), error => annotations(error, DIAGNOSTIC_SEVERITY.Error, 'Validation'));\\n const deprecationWarningAnnotations = mapCat(findDeprecatedUsages(schema, ast), error => annotations(error, DIAGNOSTIC_SEVERITY.Warning, 'Deprecation'));\\n return validationErrorAnnotations.concat(deprecationWarningAnnotations);\\n}\\nfunction mapCat(array, mapper) {\\n return Array.prototype.concat.apply([], array.map(mapper));\\n}\\nfunction annotations(error, severity, type) {\\n if (!error.nodes) {\\n return [];\\n }\\n const highlightedNodes = [];\\n error.nodes.forEach(node => {\\n const highlightNode = node.kind !== 'Variable' && 'name' in node && node.name !== undefined\\n ? node.name\\n : 'variable' in node && node.variable !== undefined\\n ? node.variable\\n : node;\\n if (highlightNode) {\\n invariant(error.locations, 'GraphQL validation error requires locations.');\\n const loc = error.locations[0];\\n const highlightLoc = getLocation(highlightNode);\\n const end = loc.column + (highlightLoc.end - highlightLoc.start);\\n highlightedNodes.push({\\n source: `GraphQL: ${type}`,\\n message: error.message,\\n severity,\\n range: new Range(new Position(loc.line - 1, loc.column - 1), new Position(loc.line - 1, end)),\\n });\\n }\\n });\\n return highlightedNodes;\\n}\\nexport function getRange(location, queryText) {\\n const parser = onlineParser();\\n const state = parser.startState();\\n const lines = queryText.split('\\\\n');\\n invariant(lines.length >= location.line, 'Query text must have more lines than where the error happened');\\n let stream = null;\\n for (let i = 0; i < location.line; i++) {\\n stream = new CharacterStream(lines[i]);\\n while (!stream.eol()) {\\n const style = parser.token(stream, state);\\n if (style === 'invalidchar') {\\n break;\\n }\\n }\\n }\\n invariant(stream, 'Expected Parser stream to be available.');\\n const line = location.line - 1;\\n const start = stream.getStartOfToken();\\n const end = stream.getCurrentPosition();\\n return new Range(new Position(line, start), new Position(line, end));\\n}\\nfunction getLocation(node) {\\n const typeCastedNode = node;\\n const location = typeCastedNode.loc;\\n invariant(location, 'Expected ASTNode to have a location.');\\n return location;\\n}\\n//# sourceMappingURL=getDiagnostics.js.map\",\"import { Kind, parse, visit, } from 'graphql';\\nimport { offsetToPosition } from 'graphql-language-service-utils';\\nconst { INLINE_FRAGMENT } = Kind;\\nconst OUTLINEABLE_KINDS = {\\n Field: true,\\n OperationDefinition: true,\\n Document: true,\\n SelectionSet: true,\\n Name: true,\\n FragmentDefinition: true,\\n FragmentSpread: true,\\n InlineFragment: true,\\n ObjectTypeDefinition: true,\\n InputObjectTypeDefinition: true,\\n InterfaceTypeDefinition: true,\\n EnumTypeDefinition: true,\\n EnumValueDefinition: true,\\n InputValueDefinition: true,\\n FieldDefinition: true,\\n};\\nexport function getOutline(documentText) {\\n let ast;\\n try {\\n ast = parse(documentText);\\n }\\n catch (error) {\\n return null;\\n }\\n const visitorFns = outlineTreeConverter(documentText);\\n const outlineTrees = visit(ast, {\\n leave(node) {\\n if (visitorFns !== undefined && node.kind in visitorFns) {\\n return visitorFns[node.kind](node);\\n }\\n return null;\\n },\\n });\\n return { outlineTrees };\\n}\\nfunction outlineTreeConverter(docText) {\\n const meta = (node) => {\\n return {\\n representativeName: node.name,\\n startPosition: offsetToPosition(docText, node.loc.start),\\n endPosition: offsetToPosition(docText, node.loc.end),\\n kind: node.kind,\\n children: node.selectionSet || node.fields || node.values || node.arguments || [],\\n };\\n };\\n return {\\n Field: (node) => {\\n const tokenizedText = node.alias\\n ? [buildToken('plain', node.alias), buildToken('plain', ': ')]\\n : [];\\n tokenizedText.push(buildToken('plain', node.name));\\n return Object.assign({ tokenizedText }, meta(node));\\n },\\n OperationDefinition: (node) => (Object.assign({ tokenizedText: [\\n buildToken('keyword', node.operation),\\n buildToken('whitespace', ' '),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n Document: (node) => node.definitions,\\n SelectionSet: (node) => concatMap(node.selections, (child) => {\\n return child.kind === INLINE_FRAGMENT ? child.selectionSet : child;\\n }),\\n Name: (node) => node.value,\\n FragmentDefinition: (node) => (Object.assign({ tokenizedText: [\\n buildToken('keyword', 'fragment'),\\n buildToken('whitespace', ' '),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n InterfaceTypeDefinition: (node) => (Object.assign({ tokenizedText: [\\n buildToken('keyword', 'interface'),\\n buildToken('whitespace', ' '),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n EnumTypeDefinition: (node) => (Object.assign({ tokenizedText: [\\n buildToken('keyword', 'enum'),\\n buildToken('whitespace', ' '),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n EnumValueDefinition: (node) => (Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node))),\\n ObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\\n buildToken('keyword', 'type'),\\n buildToken('whitespace', ' '),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n InputObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\\n buildToken('keyword', 'input'),\\n buildToken('whitespace', ' '),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n FragmentSpread: (node) => (Object.assign({ tokenizedText: [\\n buildToken('plain', '...'),\\n buildToken('class-name', node.name),\\n ] }, meta(node))),\\n InputValueDefinition: (node) => {\\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\\n },\\n FieldDefinition: (node) => {\\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\\n },\\n InlineFragment: (node) => node.selectionSet,\\n };\\n}\\nfunction buildToken(kind, value) {\\n return { kind, value };\\n}\\nfunction concatMap(arr, fn) {\\n const res = [];\\n for (let i = 0; i < arr.length; i++) {\\n const x = fn(arr[i], i);\\n if (Array.isArray(x)) {\\n res.push(...x);\\n }\\n else {\\n res.push(x);\\n }\\n }\\n return res;\\n}\\n//# sourceMappingURL=getOutline.js.map\",\"import { GraphQLNonNull, GraphQLList, } from 'graphql';\\nimport { getTokenAtPosition, getTypeInfo } from './getAutocompleteSuggestions';\\nexport function getHoverInformation(schema, queryText, cursor, contextToken) {\\n const token = contextToken || getTokenAtPosition(queryText, cursor);\\n if (!schema || !token || !token.state) {\\n return '';\\n }\\n const state = token.state;\\n const kind = state.kind;\\n const step = state.step;\\n const typeInfo = getTypeInfo(schema, token.state);\\n const options = { schema };\\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\\n const into = [];\\n renderField(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.fieldDef);\\n return into.join('').trim();\\n }\\n else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\\n const into = [];\\n renderDirective(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.directiveDef);\\n return into.join('').trim();\\n }\\n else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\\n const into = [];\\n renderArg(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.argDef);\\n return into.join('').trim();\\n }\\n else if (kind === 'EnumValue' &&\\n typeInfo.enumValue &&\\n 'description' in typeInfo.enumValue) {\\n const into = [];\\n renderEnumValue(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.enumValue);\\n return into.join('').trim();\\n }\\n else if (kind === 'NamedType' &&\\n typeInfo.type &&\\n 'description' in typeInfo.type) {\\n const into = [];\\n renderType(into, typeInfo, options, typeInfo.type);\\n renderDescription(into, options, typeInfo.type);\\n return into.join('').trim();\\n }\\n return '';\\n}\\nfunction renderField(into, typeInfo, options) {\\n renderQualifiedField(into, typeInfo, options);\\n renderTypeAnnotation(into, typeInfo, options, typeInfo.type);\\n}\\nfunction renderQualifiedField(into, typeInfo, options) {\\n if (!typeInfo.fieldDef) {\\n return;\\n }\\n const fieldName = typeInfo.fieldDef.name;\\n if (fieldName.slice(0, 2) !== '__') {\\n renderType(into, typeInfo, options, typeInfo.parentType);\\n text(into, '.');\\n }\\n text(into, fieldName);\\n}\\nfunction renderDirective(into, typeInfo, _options) {\\n if (!typeInfo.directiveDef) {\\n return;\\n }\\n const name = '@' + typeInfo.directiveDef.name;\\n text(into, name);\\n}\\nfunction renderArg(into, typeInfo, options) {\\n if (typeInfo.directiveDef) {\\n renderDirective(into, typeInfo, options);\\n }\\n else if (typeInfo.fieldDef) {\\n renderQualifiedField(into, typeInfo, options);\\n }\\n if (!typeInfo.argDef) {\\n return;\\n }\\n const name = typeInfo.argDef.name;\\n text(into, '(');\\n text(into, name);\\n renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);\\n text(into, ')');\\n}\\nfunction renderTypeAnnotation(into, typeInfo, options, t) {\\n text(into, ': ');\\n renderType(into, typeInfo, options, t);\\n}\\nfunction renderEnumValue(into, typeInfo, options) {\\n if (!typeInfo.enumValue) {\\n return;\\n }\\n const name = typeInfo.enumValue.name;\\n renderType(into, typeInfo, options, typeInfo.inputType);\\n text(into, '.');\\n text(into, name);\\n}\\nfunction renderType(into, typeInfo, options, t) {\\n if (!t) {\\n return;\\n }\\n if (t instanceof GraphQLNonNull) {\\n renderType(into, typeInfo, options, t.ofType);\\n text(into, '!');\\n }\\n else if (t instanceof GraphQLList) {\\n text(into, '[');\\n renderType(into, typeInfo, options, t.ofType);\\n text(into, ']');\\n }\\n else {\\n text(into, t.name);\\n }\\n}\\nfunction renderDescription(into, options, def) {\\n if (!def) {\\n return;\\n }\\n const description = typeof def.description === 'string' ? def.description : null;\\n if (description) {\\n text(into, '\\\\n\\\\n');\\n text(into, description);\\n }\\n renderDeprecation(into, options, def);\\n}\\nfunction renderDeprecation(into, _options, def) {\\n if (!def) {\\n return;\\n }\\n const reason = def.deprecationReason ? def.deprecationReason : null;\\n if (!reason) {\\n return;\\n }\\n text(into, '\\\\n\\\\n');\\n text(into, 'Deprecated: ');\\n text(into, reason);\\n}\\nfunction text(into, content) {\\n into.push(content);\\n}\\n//# sourceMappingURL=getHoverInformation.js.map\",\"var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\n return new (P || (P = Promise))(function (resolve, reject) {\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\n });\\n};\\nimport { SymbolKind, } from 'vscode-languageserver-types';\\nimport { Kind, parse, print } from 'graphql';\\nimport { getAutocompleteSuggestions } from './getAutocompleteSuggestions';\\nimport { getHoverInformation } from './getHoverInformation';\\nimport { validateQuery, getRange, DIAGNOSTIC_SEVERITY } from './getDiagnostics';\\nimport { getDefinitionQueryResultForFragmentSpread, getDefinitionQueryResultForDefinitionNode, getDefinitionQueryResultForNamedType, } from './getDefinition';\\nimport { getOutline } from './getOutline';\\nimport { getASTNodeAtPosition } from 'graphql-language-service-utils';\\nconst { FRAGMENT_DEFINITION, OBJECT_TYPE_DEFINITION, INTERFACE_TYPE_DEFINITION, ENUM_TYPE_DEFINITION, UNION_TYPE_DEFINITION, SCALAR_TYPE_DEFINITION, INPUT_OBJECT_TYPE_DEFINITION, SCALAR_TYPE_EXTENSION, OBJECT_TYPE_EXTENSION, INTERFACE_TYPE_EXTENSION, UNION_TYPE_EXTENSION, ENUM_TYPE_EXTENSION, INPUT_OBJECT_TYPE_EXTENSION, DIRECTIVE_DEFINITION, FRAGMENT_SPREAD, OPERATION_DEFINITION, NAMED_TYPE, } = Kind;\\nconst KIND_TO_SYMBOL_KIND = {\\n [Kind.FIELD]: SymbolKind.Field,\\n [Kind.OPERATION_DEFINITION]: SymbolKind.Class,\\n [Kind.FRAGMENT_DEFINITION]: SymbolKind.Class,\\n [Kind.FRAGMENT_SPREAD]: SymbolKind.Struct,\\n [Kind.OBJECT_TYPE_DEFINITION]: SymbolKind.Class,\\n [Kind.ENUM_TYPE_DEFINITION]: SymbolKind.Enum,\\n [Kind.ENUM_VALUE_DEFINITION]: SymbolKind.EnumMember,\\n [Kind.INPUT_OBJECT_TYPE_DEFINITION]: SymbolKind.Class,\\n [Kind.INPUT_VALUE_DEFINITION]: SymbolKind.Field,\\n [Kind.FIELD_DEFINITION]: SymbolKind.Field,\\n [Kind.INTERFACE_TYPE_DEFINITION]: SymbolKind.Interface,\\n [Kind.DOCUMENT]: SymbolKind.File,\\n FieldWithArguments: SymbolKind.Method,\\n};\\nfunction getKind(tree) {\\n if (tree.kind === 'FieldDefinition' &&\\n tree.children &&\\n tree.children.length > 0) {\\n return KIND_TO_SYMBOL_KIND.FieldWithArguments;\\n }\\n return KIND_TO_SYMBOL_KIND[tree.kind];\\n}\\nexport class GraphQLLanguageService {\\n constructor(cache) {\\n this._graphQLCache = cache;\\n this._graphQLConfig = cache.getGraphQLConfig();\\n }\\n getConfigForURI(uri) {\\n const config = this._graphQLCache.getProjectForFile(uri);\\n if (config) {\\n return config;\\n }\\n throw Error(`No config found for uri: ${uri}`);\\n }\\n getDiagnostics(query, uri, isRelayCompatMode) {\\n return __awaiter(this, void 0, void 0, function* () {\\n let queryHasExtensions = false;\\n const projectConfig = this.getConfigForURI(uri);\\n if (!projectConfig) {\\n return [];\\n }\\n const { schema: schemaPath, name: projectName, extensions } = projectConfig;\\n try {\\n const queryAST = parse(query);\\n if (!schemaPath || uri !== schemaPath) {\\n queryHasExtensions = queryAST.definitions.some(definition => {\\n switch (definition.kind) {\\n case OBJECT_TYPE_DEFINITION:\\n case INTERFACE_TYPE_DEFINITION:\\n case ENUM_TYPE_DEFINITION:\\n case UNION_TYPE_DEFINITION:\\n case SCALAR_TYPE_DEFINITION:\\n case INPUT_OBJECT_TYPE_DEFINITION:\\n case SCALAR_TYPE_EXTENSION:\\n case OBJECT_TYPE_EXTENSION:\\n case INTERFACE_TYPE_EXTENSION:\\n case UNION_TYPE_EXTENSION:\\n case ENUM_TYPE_EXTENSION:\\n case INPUT_OBJECT_TYPE_EXTENSION:\\n case DIRECTIVE_DEFINITION:\\n return true;\\n }\\n return false;\\n });\\n }\\n }\\n catch (error) {\\n const range = getRange(error.locations[0], query);\\n return [\\n {\\n severity: DIAGNOSTIC_SEVERITY.Error,\\n message: error.message,\\n source: 'GraphQL: Syntax',\\n range,\\n },\\n ];\\n }\\n let source = query;\\n const fragmentDefinitions = yield this._graphQLCache.getFragmentDefinitions(projectConfig);\\n const fragmentDependencies = yield this._graphQLCache.getFragmentDependencies(query, fragmentDefinitions);\\n const dependenciesSource = fragmentDependencies.reduce((prev, cur) => `${prev} ${print(cur.definition)}`, '');\\n source = `${source} ${dependenciesSource}`;\\n let validationAst = null;\\n try {\\n validationAst = parse(source);\\n }\\n catch (error) {\\n return [];\\n }\\n let customRules = null;\\n if ((extensions === null || extensions === void 0 ? void 0 : extensions.customValidationRules) &&\\n typeof extensions.customValidationRules === 'function') {\\n customRules = extensions.customValidationRules(this._graphQLConfig);\\n }\\n const schema = yield this._graphQLCache.getSchema(projectName, queryHasExtensions);\\n if (!schema) {\\n return [];\\n }\\n return validateQuery(validationAst, schema, customRules, isRelayCompatMode);\\n });\\n }\\n getAutocompleteSuggestions(query, position, filePath) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const projectConfig = this.getConfigForURI(filePath);\\n const schema = yield this._graphQLCache.getSchema(projectConfig.name);\\n const fragmentDefinitions = yield this._graphQLCache.getFragmentDefinitions(projectConfig);\\n const fragmentInfo = Array.from(fragmentDefinitions).map(([, info]) => info.definition);\\n if (schema) {\\n return getAutocompleteSuggestions(schema, query, position, undefined, fragmentInfo);\\n }\\n return [];\\n });\\n }\\n getHoverInformation(query, position, filePath) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const projectConfig = this.getConfigForURI(filePath);\\n const schema = yield this._graphQLCache.getSchema(projectConfig.name);\\n if (schema) {\\n return getHoverInformation(schema, query, position);\\n }\\n return '';\\n });\\n }\\n getDefinition(query, position, filePath) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const projectConfig = this.getConfigForURI(filePath);\\n let ast;\\n try {\\n ast = parse(query);\\n }\\n catch (error) {\\n return null;\\n }\\n const node = getASTNodeAtPosition(query, ast, position);\\n if (node) {\\n switch (node.kind) {\\n case FRAGMENT_SPREAD:\\n return this._getDefinitionForFragmentSpread(query, ast, node, filePath, projectConfig);\\n case FRAGMENT_DEFINITION:\\n case OPERATION_DEFINITION:\\n return getDefinitionQueryResultForDefinitionNode(filePath, query, node);\\n case NAMED_TYPE:\\n return this._getDefinitionForNamedType(query, ast, node, filePath, projectConfig);\\n }\\n }\\n return null;\\n });\\n }\\n getDocumentSymbols(document, filePath) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const outline = yield this.getOutline(document);\\n if (!outline) {\\n return [];\\n }\\n const output = [];\\n const input = outline.outlineTrees.map((tree) => [null, tree]);\\n while (input.length > 0) {\\n const res = input.pop();\\n if (!res) {\\n return [];\\n }\\n const [parent, tree] = res;\\n if (!tree) {\\n return [];\\n }\\n output.push({\\n name: tree.representativeName,\\n kind: getKind(tree),\\n location: {\\n uri: filePath,\\n range: {\\n start: tree.startPosition,\\n end: tree.endPosition,\\n },\\n },\\n containerName: parent ? parent.representativeName : undefined,\\n });\\n input.push(...tree.children.map(child => [tree, child]));\\n }\\n return output;\\n });\\n }\\n _getDefinitionForNamedType(query, ast, node, filePath, projectConfig) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const objectTypeDefinitions = yield this._graphQLCache.getObjectTypeDefinitions(projectConfig);\\n const dependencies = yield this._graphQLCache.getObjectTypeDependenciesForAST(ast, objectTypeDefinitions);\\n const localObjectTypeDefinitions = ast.definitions.filter(definition => definition.kind === OBJECT_TYPE_DEFINITION ||\\n definition.kind === INPUT_OBJECT_TYPE_DEFINITION ||\\n definition.kind === ENUM_TYPE_DEFINITION ||\\n definition.kind === SCALAR_TYPE_DEFINITION ||\\n definition.kind === INTERFACE_TYPE_DEFINITION);\\n const typeCastedDefs = localObjectTypeDefinitions;\\n const localOperationDefinationInfos = typeCastedDefs.map((definition) => ({\\n filePath,\\n content: query,\\n definition,\\n }));\\n const result = yield getDefinitionQueryResultForNamedType(query, node, dependencies.concat(localOperationDefinationInfos));\\n return result;\\n });\\n }\\n _getDefinitionForFragmentSpread(query, ast, node, filePath, projectConfig) {\\n return __awaiter(this, void 0, void 0, function* () {\\n const fragmentDefinitions = yield this._graphQLCache.getFragmentDefinitions(projectConfig);\\n const dependencies = yield this._graphQLCache.getFragmentDependenciesForAST(ast, fragmentDefinitions);\\n const localFragDefinitions = ast.definitions.filter(definition => definition.kind === FRAGMENT_DEFINITION);\\n const typeCastedDefs = localFragDefinitions;\\n const localFragInfos = typeCastedDefs.map((definition) => ({\\n filePath,\\n content: query,\\n definition,\\n }));\\n const result = yield getDefinitionQueryResultForFragmentSpread(query, node, dependencies.concat(localFragInfos));\\n return result;\\n });\\n }\\n getOutline(documentText) {\\n return __awaiter(this, void 0, void 0, function* () {\\n return getOutline(documentText);\\n });\\n }\\n}\\n//# sourceMappingURL=GraphQLLanguageService.js.map\",\"\\\"use strict\\\";\\n\\nvar deselectCurrent = require(\\\"toggle-selection\\\");\\n\\nvar clipboardToIE11Formatting = {\\n \\\"text/plain\\\": \\\"Text\\\",\\n \\\"text/html\\\": \\\"Url\\\",\\n \\\"default\\\": \\\"Text\\\"\\n}\\n\\nvar defaultMessage = \\\"Copy to clipboard: #{key}, Enter\\\";\\n\\nfunction format(message) {\\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \\\"⌘\\\" : \\\"Ctrl\\\") + \\\"+C\\\";\\n return message.replace(/#{\\\\s*key\\\\s*}/g, copyKey);\\n}\\n\\nfunction copy(text, options) {\\n var debug,\\n message,\\n reselectPrevious,\\n range,\\n selection,\\n mark,\\n success = false;\\n if (!options) {\\n options = {};\\n }\\n debug = options.debug || false;\\n try {\\n reselectPrevious = deselectCurrent();\\n\\n range = document.createRange();\\n selection = document.getSelection();\\n\\n mark = document.createElement(\\\"span\\\");\\n mark.textContent = text;\\n // reset user styles for span element\\n mark.style.all = \\\"unset\\\";\\n // prevents scrolling to the end of the page\\n mark.style.position = \\\"fixed\\\";\\n mark.style.top = 0;\\n mark.style.clip = \\\"rect(0, 0, 0, 0)\\\";\\n // used to preserve spaces and line breaks\\n mark.style.whiteSpace = \\\"pre\\\";\\n // do not inherit user-select (it may be `none`)\\n mark.style.webkitUserSelect = \\\"text\\\";\\n mark.style.MozUserSelect = \\\"text\\\";\\n mark.style.msUserSelect = \\\"text\\\";\\n mark.style.userSelect = \\\"text\\\";\\n mark.addEventListener(\\\"copy\\\", function(e) {\\n e.stopPropagation();\\n if (options.format) {\\n e.preventDefault();\\n if (typeof e.clipboardData === \\\"undefined\\\") { // IE 11\\n debug && console.warn(\\\"unable to use e.clipboardData\\\");\\n debug && console.warn(\\\"trying IE specific stuff\\\");\\n window.clipboardData.clearData();\\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\\\"default\\\"]\\n window.clipboardData.setData(format, text);\\n } else { // all other browsers\\n e.clipboardData.clearData();\\n e.clipboardData.setData(options.format, text);\\n }\\n }\\n if (options.onCopy) {\\n e.preventDefault();\\n options.onCopy(e.clipboardData);\\n }\\n });\\n\\n document.body.appendChild(mark);\\n\\n range.selectNodeContents(mark);\\n selection.addRange(range);\\n\\n var successful = document.execCommand(\\\"copy\\\");\\n if (!successful) {\\n throw new Error(\\\"copy command was unsuccessful\\\");\\n }\\n success = true;\\n } catch (err) {\\n debug && console.error(\\\"unable to copy using execCommand: \\\", err);\\n debug && console.warn(\\\"trying IE specific stuff\\\");\\n try {\\n window.clipboardData.setData(options.format || \\\"text\\\", text);\\n options.onCopy && options.onCopy(window.clipboardData);\\n success = true;\\n } catch (err) {\\n debug && console.error(\\\"unable to copy using clipboardData: \\\", err);\\n debug && console.error(\\\"falling back to prompt\\\");\\n message = format(\\\"message\\\" in options ? options.message : defaultMessage);\\n window.prompt(message, text);\\n }\\n } finally {\\n if (selection) {\\n if (typeof selection.removeRange == \\\"function\\\") {\\n selection.removeRange(range);\\n } else {\\n selection.removeAllRanges();\\n }\\n }\\n\\n if (mark) {\\n document.body.removeChild(mark);\\n }\\n reselectPrevious();\\n }\\n\\n return success;\\n}\\n\\nmodule.exports = copy;\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { isExecutableDefinitionNode } from \\\"../../language/predicates.mjs\\\";\\n\\n/**\\n * Executable definitions\\n *\\n * A GraphQL document is only valid for execution if all definitions are either\\n * operation or fragment definitions.\\n */\\nexport function ExecutableDefinitionsRule(context) {\\n return {\\n Document: function Document(node) {\\n for (var _i2 = 0, _node$definitions2 = node.definitions; _i2 < _node$definitions2.length; _i2++) {\\n var definition = _node$definitions2[_i2];\\n\\n if (!isExecutableDefinitionNode(definition)) {\\n var defName = definition.kind === Kind.SCHEMA_DEFINITION || definition.kind === Kind.SCHEMA_EXTENSION ? 'schema' : '\\\"' + definition.name.value + '\\\"';\\n context.reportError(new GraphQLError(\\\"The \\\".concat(defName, \\\" definition is not executable.\\\"), definition));\\n }\\n }\\n\\n return false;\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique operation names\\n *\\n * A GraphQL document is only valid if all defined operations have unique names.\\n */\\nexport function UniqueOperationNamesRule(context) {\\n var knownOperationNames = Object.create(null);\\n return {\\n OperationDefinition: function OperationDefinition(node) {\\n var operationName = node.name;\\n\\n if (operationName) {\\n if (knownOperationNames[operationName.value]) {\\n context.reportError(new GraphQLError(\\\"There can be only one operation named \\\\\\\"\\\".concat(operationName.value, \\\"\\\\\\\".\\\"), [knownOperationNames[operationName.value], operationName]));\\n } else {\\n knownOperationNames[operationName.value] = operationName;\\n }\\n }\\n\\n return false;\\n },\\n FragmentDefinition: function FragmentDefinition() {\\n return false;\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\n\\n/**\\n * Lone anonymous operation\\n *\\n * A GraphQL document is only valid if when it contains an anonymous operation\\n * (the query short-hand) that it contains only that one operation definition.\\n */\\nexport function LoneAnonymousOperationRule(context) {\\n var operationCount = 0;\\n return {\\n Document: function Document(node) {\\n operationCount = node.definitions.filter(function (definition) {\\n return definition.kind === Kind.OPERATION_DEFINITION;\\n }).length;\\n },\\n OperationDefinition: function OperationDefinition(node) {\\n if (!node.name && operationCount > 1) {\\n context.reportError(new GraphQLError('This anonymous operation must be the only defined operation.', node));\\n }\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Subscriptions must only include one field.\\n *\\n * A GraphQL subscription is valid only if it contains a single root field.\\n */\\nexport function SingleFieldSubscriptionsRule(context) {\\n return {\\n OperationDefinition: function OperationDefinition(node) {\\n if (node.operation === 'subscription') {\\n if (node.selectionSet.selections.length !== 1) {\\n context.reportError(new GraphQLError(node.name ? \\\"Subscription \\\\\\\"\\\".concat(node.name.value, \\\"\\\\\\\" must select only one top level field.\\\") : 'Anonymous Subscription must select only one top level field.', node.selectionSet.selections.slice(1)));\\n }\\n }\\n }\\n };\\n}\\n\",\"import inspect from \\\"../jsutils/inspect.mjs\\\";\\nimport invariant from \\\"../jsutils/invariant.mjs\\\";\\nimport keyValMap from \\\"../jsutils/keyValMap.mjs\\\";\\nimport { Kind } from \\\"../language/kinds.mjs\\\";\\n\\n/**\\n * Produces a JavaScript value given a GraphQL Value AST.\\n *\\n * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value\\n * will reflect the provided GraphQL value AST.\\n *\\n * | GraphQL Value | JavaScript Value |\\n * | -------------------- | ---------------- |\\n * | Input Object | Object |\\n * | List | Array |\\n * | Boolean | Boolean |\\n * | String / Enum | String |\\n * | Int / Float | Number |\\n * | Null | null |\\n *\\n */\\nexport function valueFromASTUntyped(valueNode, variables) {\\n switch (valueNode.kind) {\\n case Kind.NULL:\\n return null;\\n\\n case Kind.INT:\\n return parseInt(valueNode.value, 10);\\n\\n case Kind.FLOAT:\\n return parseFloat(valueNode.value);\\n\\n case Kind.STRING:\\n case Kind.ENUM:\\n case Kind.BOOLEAN:\\n return valueNode.value;\\n\\n case Kind.LIST:\\n return valueNode.values.map(function (node) {\\n return valueFromASTUntyped(node, variables);\\n });\\n\\n case Kind.OBJECT:\\n return keyValMap(valueNode.fields, function (field) {\\n return field.name.value;\\n }, function (field) {\\n return valueFromASTUntyped(field.value, variables);\\n });\\n\\n case Kind.VARIABLE:\\n return variables === null || variables === void 0 ? void 0 : variables[valueNode.name.value];\\n } // istanbul ignore next (Not reachable. All possible value nodes have been considered)\\n\\n\\n false || invariant(0, 'Unexpected value node: ' + inspect(valueNode));\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { print } from \\\"../../language/printer.mjs\\\";\\nimport { isCompositeType } from \\\"../../type/definition.mjs\\\";\\nimport { typeFromAST } from \\\"../../utilities/typeFromAST.mjs\\\";\\n\\n/**\\n * Fragments on composite type\\n *\\n * Fragments use a type condition to determine if they apply, since fragments\\n * can only be spread into a composite type (object, interface, or union), the\\n * type condition must also be a composite type.\\n */\\nexport function FragmentsOnCompositeTypesRule(context) {\\n return {\\n InlineFragment: function InlineFragment(node) {\\n var typeCondition = node.typeCondition;\\n\\n if (typeCondition) {\\n var type = typeFromAST(context.getSchema(), typeCondition);\\n\\n if (type && !isCompositeType(type)) {\\n var typeStr = print(typeCondition);\\n context.reportError(new GraphQLError(\\\"Fragment cannot condition on non composite type \\\\\\\"\\\".concat(typeStr, \\\"\\\\\\\".\\\"), typeCondition));\\n }\\n }\\n },\\n FragmentDefinition: function FragmentDefinition(node) {\\n var type = typeFromAST(context.getSchema(), node.typeCondition);\\n\\n if (type && !isCompositeType(type)) {\\n var typeStr = print(node.typeCondition);\\n context.reportError(new GraphQLError(\\\"Fragment \\\\\\\"\\\".concat(node.name.value, \\\"\\\\\\\" cannot condition on non composite type \\\\\\\"\\\").concat(typeStr, \\\"\\\\\\\".\\\"), node.typeCondition));\\n }\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { print } from \\\"../../language/printer.mjs\\\";\\nimport { isInputType } from \\\"../../type/definition.mjs\\\";\\nimport { typeFromAST } from \\\"../../utilities/typeFromAST.mjs\\\";\\n\\n/**\\n * Variables are input types\\n *\\n * A GraphQL operation is only valid if all the variables it defines are of\\n * input types (scalar, enum, or input object).\\n */\\nexport function VariablesAreInputTypesRule(context) {\\n return {\\n VariableDefinition: function VariableDefinition(node) {\\n var type = typeFromAST(context.getSchema(), node.type);\\n\\n if (type && !isInputType(type)) {\\n var variableName = node.variable.name.value;\\n var typeName = print(node.type);\\n context.reportError(new GraphQLError(\\\"Variable \\\\\\\"$\\\".concat(variableName, \\\"\\\\\\\" cannot be non-input type \\\\\\\"\\\").concat(typeName, \\\"\\\\\\\".\\\"), node.type));\\n }\\n }\\n };\\n}\\n\",\"import inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { getNamedType, isLeafType } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Scalar leafs\\n *\\n * A GraphQL document is valid only if all leaf fields (fields without\\n * sub selections) are of scalar or enum types.\\n */\\nexport function ScalarLeafsRule(context) {\\n return {\\n Field: function Field(node) {\\n var type = context.getType();\\n var selectionSet = node.selectionSet;\\n\\n if (type) {\\n if (isLeafType(getNamedType(type))) {\\n if (selectionSet) {\\n var fieldName = node.name.value;\\n var typeStr = inspect(type);\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(fieldName, \\\"\\\\\\\" must not have a selection since type \\\\\\\"\\\").concat(typeStr, \\\"\\\\\\\" has no subfields.\\\"), selectionSet));\\n }\\n } else if (!selectionSet) {\\n var _fieldName = node.name.value;\\n\\n var _typeStr = inspect(type);\\n\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(_fieldName, \\\"\\\\\\\" of type \\\\\\\"\\\").concat(_typeStr, \\\"\\\\\\\" must have a selection of subfields. Did you mean \\\\\\\"\\\").concat(_fieldName, \\\" { ... }\\\\\\\"?\\\"), node));\\n }\\n }\\n }\\n };\\n}\\n\",\"import arrayFrom from \\\"../../polyfills/arrayFrom.mjs\\\";\\nimport didYouMean from \\\"../../jsutils/didYouMean.mjs\\\";\\nimport suggestionList from \\\"../../jsutils/suggestionList.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { isObjectType, isInterfaceType, isAbstractType } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Fields on correct type\\n *\\n * A GraphQL document is only valid if all fields selected are defined by the\\n * parent type, or are an allowed meta field such as __typename.\\n */\\nexport function FieldsOnCorrectTypeRule(context) {\\n return {\\n Field: function Field(node) {\\n var type = context.getParentType();\\n\\n if (type) {\\n var fieldDef = context.getFieldDef();\\n\\n if (!fieldDef) {\\n // This field doesn't exist, lets look for suggestions.\\n var schema = context.getSchema();\\n var fieldName = node.name.value; // First determine if there are any suggested types to condition on.\\n\\n var suggestion = didYouMean('to use an inline fragment on', getSuggestedTypeNames(schema, type, fieldName)); // If there are no suggested types, then perhaps this was a typo?\\n\\n if (suggestion === '') {\\n suggestion = didYouMean(getSuggestedFieldNames(type, fieldName));\\n } // Report an error, including helpful suggestions.\\n\\n\\n context.reportError(new GraphQLError(\\\"Cannot query field \\\\\\\"\\\".concat(fieldName, \\\"\\\\\\\" on type \\\\\\\"\\\").concat(type.name, \\\"\\\\\\\".\\\") + suggestion, node));\\n }\\n }\\n }\\n };\\n}\\n/**\\n * Go through all of the implementations of type, as well as the interfaces that\\n * they implement. If any of those types include the provided field, suggest them,\\n * sorted by how often the type is referenced.\\n */\\n\\nfunction getSuggestedTypeNames(schema, type, fieldName) {\\n if (!isAbstractType(type)) {\\n // Must be an Object type, which does not have possible fields.\\n return [];\\n }\\n\\n var suggestedTypes = new Set();\\n var usageCount = Object.create(null);\\n\\n for (var _i2 = 0, _schema$getPossibleTy2 = schema.getPossibleTypes(type); _i2 < _schema$getPossibleTy2.length; _i2++) {\\n var possibleType = _schema$getPossibleTy2[_i2];\\n\\n if (!possibleType.getFields()[fieldName]) {\\n continue;\\n } // This object type defines this field.\\n\\n\\n suggestedTypes.add(possibleType);\\n usageCount[possibleType.name] = 1;\\n\\n for (var _i4 = 0, _possibleType$getInte2 = possibleType.getInterfaces(); _i4 < _possibleType$getInte2.length; _i4++) {\\n var _usageCount$possibleI;\\n\\n var possibleInterface = _possibleType$getInte2[_i4];\\n\\n if (!possibleInterface.getFields()[fieldName]) {\\n continue;\\n } // This interface type defines this field.\\n\\n\\n suggestedTypes.add(possibleInterface);\\n usageCount[possibleInterface.name] = ((_usageCount$possibleI = usageCount[possibleInterface.name]) !== null && _usageCount$possibleI !== void 0 ? _usageCount$possibleI : 0) + 1;\\n }\\n }\\n\\n return arrayFrom(suggestedTypes).sort(function (typeA, typeB) {\\n // Suggest both interface and object types based on how common they are.\\n var usageCountDiff = usageCount[typeB.name] - usageCount[typeA.name];\\n\\n if (usageCountDiff !== 0) {\\n return usageCountDiff;\\n } // Suggest super types first followed by subtypes\\n\\n\\n if (isInterfaceType(typeA) && schema.isSubType(typeA, typeB)) {\\n return -1;\\n }\\n\\n if (isInterfaceType(typeB) && schema.isSubType(typeB, typeA)) {\\n return 1;\\n }\\n\\n return typeA.name.localeCompare(typeB.name);\\n }).map(function (x) {\\n return x.name;\\n });\\n}\\n/**\\n * For the field name provided, determine if there are any similar field names\\n * that may be the result of a typo.\\n */\\n\\n\\nfunction getSuggestedFieldNames(type, fieldName) {\\n if (isObjectType(type) || isInterfaceType(type)) {\\n var possibleFieldNames = Object.keys(type.getFields());\\n return suggestionList(fieldName, possibleFieldNames);\\n } // Otherwise, must be a Union type, which does not define fields.\\n\\n\\n return [];\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique fragment names\\n *\\n * A GraphQL document is only valid if all defined fragments have unique names.\\n */\\nexport function UniqueFragmentNamesRule(context) {\\n var knownFragmentNames = Object.create(null);\\n return {\\n OperationDefinition: function OperationDefinition() {\\n return false;\\n },\\n FragmentDefinition: function FragmentDefinition(node) {\\n var fragmentName = node.name.value;\\n\\n if (knownFragmentNames[fragmentName]) {\\n context.reportError(new GraphQLError(\\\"There can be only one fragment named \\\\\\\"\\\".concat(fragmentName, \\\"\\\\\\\".\\\"), [knownFragmentNames[fragmentName], node.name]));\\n } else {\\n knownFragmentNames[fragmentName] = node.name;\\n }\\n\\n return false;\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Known fragment names\\n *\\n * A GraphQL document is only valid if all `...Fragment` fragment spreads refer\\n * to fragments defined in the same document.\\n */\\nexport function KnownFragmentNamesRule(context) {\\n return {\\n FragmentSpread: function FragmentSpread(node) {\\n var fragmentName = node.name.value;\\n var fragment = context.getFragment(fragmentName);\\n\\n if (!fragment) {\\n context.reportError(new GraphQLError(\\\"Unknown fragment \\\\\\\"\\\".concat(fragmentName, \\\"\\\\\\\".\\\"), node.name));\\n }\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * No unused fragments\\n *\\n * A GraphQL document is only valid if all fragment definitions are spread\\n * within operations, or spread within other fragments spread within operations.\\n */\\nexport function NoUnusedFragmentsRule(context) {\\n var operationDefs = [];\\n var fragmentDefs = [];\\n return {\\n OperationDefinition: function OperationDefinition(node) {\\n operationDefs.push(node);\\n return false;\\n },\\n FragmentDefinition: function FragmentDefinition(node) {\\n fragmentDefs.push(node);\\n return false;\\n },\\n Document: {\\n leave: function leave() {\\n var fragmentNameUsed = Object.create(null);\\n\\n for (var _i2 = 0; _i2 < operationDefs.length; _i2++) {\\n var operation = operationDefs[_i2];\\n\\n for (var _i4 = 0, _context$getRecursive2 = context.getRecursivelyReferencedFragments(operation); _i4 < _context$getRecursive2.length; _i4++) {\\n var fragment = _context$getRecursive2[_i4];\\n fragmentNameUsed[fragment.name.value] = true;\\n }\\n }\\n\\n for (var _i6 = 0; _i6 < fragmentDefs.length; _i6++) {\\n var fragmentDef = fragmentDefs[_i6];\\n var fragName = fragmentDef.name.value;\\n\\n if (fragmentNameUsed[fragName] !== true) {\\n context.reportError(new GraphQLError(\\\"Fragment \\\\\\\"\\\".concat(fragName, \\\"\\\\\\\" is never used.\\\"), fragmentDef));\\n }\\n }\\n }\\n }\\n };\\n}\\n\",\"import inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { isCompositeType } from \\\"../../type/definition.mjs\\\";\\nimport { typeFromAST } from \\\"../../utilities/typeFromAST.mjs\\\";\\nimport { doTypesOverlap } from \\\"../../utilities/typeComparators.mjs\\\";\\n\\n/**\\n * Possible fragment spread\\n *\\n * A fragment spread is only valid if the type condition could ever possibly\\n * be true: if there is a non-empty intersection of the possible parent types,\\n * and possible types which pass the type condition.\\n */\\nexport function PossibleFragmentSpreadsRule(context) {\\n return {\\n InlineFragment: function InlineFragment(node) {\\n var fragType = context.getType();\\n var parentType = context.getParentType();\\n\\n if (isCompositeType(fragType) && isCompositeType(parentType) && !doTypesOverlap(context.getSchema(), fragType, parentType)) {\\n var parentTypeStr = inspect(parentType);\\n var fragTypeStr = inspect(fragType);\\n context.reportError(new GraphQLError(\\\"Fragment cannot be spread here as objects of type \\\\\\\"\\\".concat(parentTypeStr, \\\"\\\\\\\" can never be of type \\\\\\\"\\\").concat(fragTypeStr, \\\"\\\\\\\".\\\"), node));\\n }\\n },\\n FragmentSpread: function FragmentSpread(node) {\\n var fragName = node.name.value;\\n var fragType = getFragmentType(context, fragName);\\n var parentType = context.getParentType();\\n\\n if (fragType && parentType && !doTypesOverlap(context.getSchema(), fragType, parentType)) {\\n var parentTypeStr = inspect(parentType);\\n var fragTypeStr = inspect(fragType);\\n context.reportError(new GraphQLError(\\\"Fragment \\\\\\\"\\\".concat(fragName, \\\"\\\\\\\" cannot be spread here as objects of type \\\\\\\"\\\").concat(parentTypeStr, \\\"\\\\\\\" can never be of type \\\\\\\"\\\").concat(fragTypeStr, \\\"\\\\\\\".\\\"), node));\\n }\\n }\\n };\\n}\\n\\nfunction getFragmentType(context, name) {\\n var frag = context.getFragment(name);\\n\\n if (frag) {\\n var type = typeFromAST(context.getSchema(), frag.typeCondition);\\n\\n if (isCompositeType(type)) {\\n return type;\\n }\\n }\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nexport function NoFragmentCyclesRule(context) {\\n // Tracks already visited fragments to maintain O(N) and to ensure that cycles\\n // are not redundantly reported.\\n var visitedFrags = Object.create(null); // Array of AST nodes used to produce meaningful errors\\n\\n var spreadPath = []; // Position in the spread path\\n\\n var spreadPathIndexByName = Object.create(null);\\n return {\\n OperationDefinition: function OperationDefinition() {\\n return false;\\n },\\n FragmentDefinition: function FragmentDefinition(node) {\\n detectCycleRecursive(node);\\n return false;\\n }\\n }; // This does a straight-forward DFS to find cycles.\\n // It does not terminate when a cycle was found but continues to explore\\n // the graph to find all possible cycles.\\n\\n function detectCycleRecursive(fragment) {\\n if (visitedFrags[fragment.name.value]) {\\n return;\\n }\\n\\n var fragmentName = fragment.name.value;\\n visitedFrags[fragmentName] = true;\\n var spreadNodes = context.getFragmentSpreads(fragment.selectionSet);\\n\\n if (spreadNodes.length === 0) {\\n return;\\n }\\n\\n spreadPathIndexByName[fragmentName] = spreadPath.length;\\n\\n for (var _i2 = 0; _i2 < spreadNodes.length; _i2++) {\\n var spreadNode = spreadNodes[_i2];\\n var spreadName = spreadNode.name.value;\\n var cycleIndex = spreadPathIndexByName[spreadName];\\n spreadPath.push(spreadNode);\\n\\n if (cycleIndex === undefined) {\\n var spreadFragment = context.getFragment(spreadName);\\n\\n if (spreadFragment) {\\n detectCycleRecursive(spreadFragment);\\n }\\n } else {\\n var cyclePath = spreadPath.slice(cycleIndex);\\n var viaPath = cyclePath.slice(0, -1).map(function (s) {\\n return '\\\"' + s.name.value + '\\\"';\\n }).join(', ');\\n context.reportError(new GraphQLError(\\\"Cannot spread fragment \\\\\\\"\\\".concat(spreadName, \\\"\\\\\\\" within itself\\\") + (viaPath !== '' ? \\\" via \\\".concat(viaPath, \\\".\\\") : '.'), cyclePath));\\n }\\n\\n spreadPath.pop();\\n }\\n\\n spreadPathIndexByName[fragmentName] = undefined;\\n }\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique variable names\\n *\\n * A GraphQL operation is only valid if all its variables are uniquely named.\\n */\\nexport function UniqueVariableNamesRule(context) {\\n var knownVariableNames = Object.create(null);\\n return {\\n OperationDefinition: function OperationDefinition() {\\n knownVariableNames = Object.create(null);\\n },\\n VariableDefinition: function VariableDefinition(node) {\\n var variableName = node.variable.name.value;\\n\\n if (knownVariableNames[variableName]) {\\n context.reportError(new GraphQLError(\\\"There can be only one variable named \\\\\\\"$\\\".concat(variableName, \\\"\\\\\\\".\\\"), [knownVariableNames[variableName], node.variable.name]));\\n } else {\\n knownVariableNames[variableName] = node.variable.name;\\n }\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * No undefined variables\\n *\\n * A GraphQL operation is only valid if all variables encountered, both directly\\n * and via fragment spreads, are defined by that operation.\\n */\\nexport function NoUndefinedVariablesRule(context) {\\n var variableNameDefined = Object.create(null);\\n return {\\n OperationDefinition: {\\n enter: function enter() {\\n variableNameDefined = Object.create(null);\\n },\\n leave: function leave(operation) {\\n var usages = context.getRecursiveVariableUsages(operation);\\n\\n for (var _i2 = 0; _i2 < usages.length; _i2++) {\\n var _ref2 = usages[_i2];\\n var node = _ref2.node;\\n var varName = node.name.value;\\n\\n if (variableNameDefined[varName] !== true) {\\n context.reportError(new GraphQLError(operation.name ? \\\"Variable \\\\\\\"$\\\".concat(varName, \\\"\\\\\\\" is not defined by operation \\\\\\\"\\\").concat(operation.name.value, \\\"\\\\\\\".\\\") : \\\"Variable \\\\\\\"$\\\".concat(varName, \\\"\\\\\\\" is not defined.\\\"), [node, operation]));\\n }\\n }\\n }\\n },\\n VariableDefinition: function VariableDefinition(node) {\\n variableNameDefined[node.variable.name.value] = true;\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * No unused variables\\n *\\n * A GraphQL operation is only valid if all variables defined by an operation\\n * are used, either directly or within a spread fragment.\\n */\\nexport function NoUnusedVariablesRule(context) {\\n var variableDefs = [];\\n return {\\n OperationDefinition: {\\n enter: function enter() {\\n variableDefs = [];\\n },\\n leave: function leave(operation) {\\n var variableNameUsed = Object.create(null);\\n var usages = context.getRecursiveVariableUsages(operation);\\n\\n for (var _i2 = 0; _i2 < usages.length; _i2++) {\\n var _ref2 = usages[_i2];\\n var node = _ref2.node;\\n variableNameUsed[node.name.value] = true;\\n }\\n\\n for (var _i4 = 0, _variableDefs2 = variableDefs; _i4 < _variableDefs2.length; _i4++) {\\n var variableDef = _variableDefs2[_i4];\\n var variableName = variableDef.variable.name.value;\\n\\n if (variableNameUsed[variableName] !== true) {\\n context.reportError(new GraphQLError(operation.name ? \\\"Variable \\\\\\\"$\\\".concat(variableName, \\\"\\\\\\\" is never used in operation \\\\\\\"\\\").concat(operation.name.value, \\\"\\\\\\\".\\\") : \\\"Variable \\\\\\\"$\\\".concat(variableName, \\\"\\\\\\\" is never used.\\\"), variableDef));\\n }\\n }\\n }\\n },\\n VariableDefinition: function VariableDefinition(def) {\\n variableDefs.push(def);\\n }\\n };\\n}\\n\",\"import objectValues from \\\"../../polyfills/objectValues.mjs\\\";\\nimport keyMap from \\\"../../jsutils/keyMap.mjs\\\";\\nimport inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport didYouMean from \\\"../../jsutils/didYouMean.mjs\\\";\\nimport suggestionList from \\\"../../jsutils/suggestionList.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { print } from \\\"../../language/printer.mjs\\\";\\nimport { isLeafType, isInputObjectType, isListType, isNonNullType, isRequiredInputField, getNullableType, getNamedType } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Value literals of correct type\\n *\\n * A GraphQL document is only valid if all value literals are of the type\\n * expected at their position.\\n */\\nexport function ValuesOfCorrectTypeRule(context) {\\n return {\\n ListValue: function ListValue(node) {\\n // Note: TypeInfo will traverse into a list's item type, so look to the\\n // parent input type to check if it is a list.\\n var type = getNullableType(context.getParentInputType());\\n\\n if (!isListType(type)) {\\n isValidValueNode(context, node);\\n return false; // Don't traverse further.\\n }\\n },\\n ObjectValue: function ObjectValue(node) {\\n var type = getNamedType(context.getInputType());\\n\\n if (!isInputObjectType(type)) {\\n isValidValueNode(context, node);\\n return false; // Don't traverse further.\\n } // Ensure every required field exists.\\n\\n\\n var fieldNodeMap = keyMap(node.fields, function (field) {\\n return field.name.value;\\n });\\n\\n for (var _i2 = 0, _objectValues2 = objectValues(type.getFields()); _i2 < _objectValues2.length; _i2++) {\\n var fieldDef = _objectValues2[_i2];\\n var fieldNode = fieldNodeMap[fieldDef.name];\\n\\n if (!fieldNode && isRequiredInputField(fieldDef)) {\\n var typeStr = inspect(fieldDef.type);\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(type.name, \\\".\\\").concat(fieldDef.name, \\\"\\\\\\\" of required type \\\\\\\"\\\").concat(typeStr, \\\"\\\\\\\" was not provided.\\\"), node));\\n }\\n }\\n },\\n ObjectField: function ObjectField(node) {\\n var parentType = getNamedType(context.getParentInputType());\\n var fieldType = context.getInputType();\\n\\n if (!fieldType && isInputObjectType(parentType)) {\\n var suggestions = suggestionList(node.name.value, Object.keys(parentType.getFields()));\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(node.name.value, \\\"\\\\\\\" is not defined by type \\\\\\\"\\\").concat(parentType.name, \\\"\\\\\\\".\\\") + didYouMean(suggestions), node));\\n }\\n },\\n NullValue: function NullValue(node) {\\n var type = context.getInputType();\\n\\n if (isNonNullType(type)) {\\n context.reportError(new GraphQLError(\\\"Expected value of type \\\\\\\"\\\".concat(inspect(type), \\\"\\\\\\\", found \\\").concat(print(node), \\\".\\\"), node));\\n }\\n },\\n EnumValue: function EnumValue(node) {\\n return isValidValueNode(context, node);\\n },\\n IntValue: function IntValue(node) {\\n return isValidValueNode(context, node);\\n },\\n FloatValue: function FloatValue(node) {\\n return isValidValueNode(context, node);\\n },\\n StringValue: function StringValue(node) {\\n return isValidValueNode(context, node);\\n },\\n BooleanValue: function BooleanValue(node) {\\n return isValidValueNode(context, node);\\n }\\n };\\n}\\n/**\\n * Any value literal may be a valid representation of a Scalar, depending on\\n * that scalar type.\\n */\\n\\nfunction isValidValueNode(context, node) {\\n // Report any error at the full type expected by the location.\\n var locationType = context.getInputType();\\n\\n if (!locationType) {\\n return;\\n }\\n\\n var type = getNamedType(locationType);\\n\\n if (!isLeafType(type)) {\\n var typeStr = inspect(locationType);\\n context.reportError(new GraphQLError(\\\"Expected value of type \\\\\\\"\\\".concat(typeStr, \\\"\\\\\\\", found \\\").concat(print(node), \\\".\\\"), node));\\n return;\\n } // Scalars and Enums determine if a literal value is valid via parseLiteral(),\\n // which may throw or return an invalid value to indicate failure.\\n\\n\\n try {\\n var parseResult = type.parseLiteral(node, undefined\\n /* variables */\\n );\\n\\n if (parseResult === undefined) {\\n var _typeStr = inspect(locationType);\\n\\n context.reportError(new GraphQLError(\\\"Expected value of type \\\\\\\"\\\".concat(_typeStr, \\\"\\\\\\\", found \\\").concat(print(node), \\\".\\\"), node));\\n }\\n } catch (error) {\\n var _typeStr2 = inspect(locationType);\\n\\n if (error instanceof GraphQLError) {\\n context.reportError(error);\\n } else {\\n context.reportError(new GraphQLError(\\\"Expected value of type \\\\\\\"\\\".concat(_typeStr2, \\\"\\\\\\\", found \\\").concat(print(node), \\\"; \\\") + error.message, node, undefined, undefined, undefined, error));\\n }\\n }\\n}\\n\",\"import inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { isNonNullType } from \\\"../../type/definition.mjs\\\";\\nimport { typeFromAST } from \\\"../../utilities/typeFromAST.mjs\\\";\\nimport { isTypeSubTypeOf } from \\\"../../utilities/typeComparators.mjs\\\";\\n\\n/**\\n * Variables passed to field arguments conform to type\\n */\\nexport function VariablesInAllowedPositionRule(context) {\\n var varDefMap = Object.create(null);\\n return {\\n OperationDefinition: {\\n enter: function enter() {\\n varDefMap = Object.create(null);\\n },\\n leave: function leave(operation) {\\n var usages = context.getRecursiveVariableUsages(operation);\\n\\n for (var _i2 = 0; _i2 < usages.length; _i2++) {\\n var _ref2 = usages[_i2];\\n var node = _ref2.node;\\n var type = _ref2.type;\\n var defaultValue = _ref2.defaultValue;\\n var varName = node.name.value;\\n var varDef = varDefMap[varName];\\n\\n if (varDef && type) {\\n // A var type is allowed if it is the same or more strict (e.g. is\\n // a subtype of) than the expected type. It can be more strict if\\n // the variable type is non-null when the expected type is nullable.\\n // If both are list types, the variable item type can be more strict\\n // than the expected item type (contravariant).\\n var schema = context.getSchema();\\n var varType = typeFromAST(schema, varDef.type);\\n\\n if (varType && !allowedVariableUsage(schema, varType, varDef.defaultValue, type, defaultValue)) {\\n var varTypeStr = inspect(varType);\\n var typeStr = inspect(type);\\n context.reportError(new GraphQLError(\\\"Variable \\\\\\\"$\\\".concat(varName, \\\"\\\\\\\" of type \\\\\\\"\\\").concat(varTypeStr, \\\"\\\\\\\" used in position expecting type \\\\\\\"\\\").concat(typeStr, \\\"\\\\\\\".\\\"), [varDef, node]));\\n }\\n }\\n }\\n }\\n },\\n VariableDefinition: function VariableDefinition(node) {\\n varDefMap[node.variable.name.value] = node;\\n }\\n };\\n}\\n/**\\n * Returns true if the variable is allowed in the location it was found,\\n * which includes considering if default values exist for either the variable\\n * or the location at which it is located.\\n */\\n\\nfunction allowedVariableUsage(schema, varType, varDefaultValue, locationType, locationDefaultValue) {\\n if (isNonNullType(locationType) && !isNonNullType(varType)) {\\n var hasNonNullVariableDefaultValue = varDefaultValue != null && varDefaultValue.kind !== Kind.NULL;\\n var hasLocationDefaultValue = locationDefaultValue !== undefined;\\n\\n if (!hasNonNullVariableDefaultValue && !hasLocationDefaultValue) {\\n return false;\\n }\\n\\n var nullableLocationType = locationType.ofType;\\n return isTypeSubTypeOf(schema, varType, nullableLocationType);\\n }\\n\\n return isTypeSubTypeOf(schema, varType, locationType);\\n}\\n\",\"import find from \\\"../../polyfills/find.mjs\\\";\\nimport objectEntries from \\\"../../polyfills/objectEntries.mjs\\\";\\nimport inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { print } from \\\"../../language/printer.mjs\\\";\\nimport { getNamedType, isNonNullType, isLeafType, isObjectType, isListType, isInterfaceType } from \\\"../../type/definition.mjs\\\";\\nimport { typeFromAST } from \\\"../../utilities/typeFromAST.mjs\\\";\\n\\nfunction reasonMessage(reason) {\\n if (Array.isArray(reason)) {\\n return reason.map(function (_ref) {\\n var responseName = _ref[0],\\n subReason = _ref[1];\\n return \\\"subfields \\\\\\\"\\\".concat(responseName, \\\"\\\\\\\" conflict because \\\") + reasonMessage(subReason);\\n }).join(' and ');\\n }\\n\\n return reason;\\n}\\n/**\\n * Overlapping fields can be merged\\n *\\n * A selection set is only valid if all fields (including spreading any\\n * fragments) either correspond to distinct response names or can be merged\\n * without ambiguity.\\n */\\n\\n\\nexport function OverlappingFieldsCanBeMergedRule(context) {\\n // A memoization for when two fragments are compared \\\"between\\\" each other for\\n // conflicts. Two fragments may be compared many times, so memoizing this can\\n // dramatically improve the performance of this validator.\\n var comparedFragmentPairs = new PairSet(); // A cache for the \\\"field map\\\" and list of fragment names found in any given\\n // selection set. Selection sets may be asked for this information multiple\\n // times, so this improves the performance of this validator.\\n\\n var cachedFieldsAndFragmentNames = new Map();\\n return {\\n SelectionSet: function SelectionSet(selectionSet) {\\n var conflicts = findConflictsWithinSelectionSet(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, context.getParentType(), selectionSet);\\n\\n for (var _i2 = 0; _i2 < conflicts.length; _i2++) {\\n var _ref3 = conflicts[_i2];\\n var _ref2$ = _ref3[0];\\n var responseName = _ref2$[0];\\n var reason = _ref2$[1];\\n var fields1 = _ref3[1];\\n var fields2 = _ref3[2];\\n var reasonMsg = reasonMessage(reason);\\n context.reportError(new GraphQLError(\\\"Fields \\\\\\\"\\\".concat(responseName, \\\"\\\\\\\" conflict because \\\").concat(reasonMsg, \\\". Use different aliases on the fields to fetch both if this was intentional.\\\"), fields1.concat(fields2)));\\n }\\n }\\n };\\n}\\n\\n/**\\n * Algorithm:\\n *\\n * Conflicts occur when two fields exist in a query which will produce the same\\n * response name, but represent differing values, thus creating a conflict.\\n * The algorithm below finds all conflicts via making a series of comparisons\\n * between fields. In order to compare as few fields as possible, this makes\\n * a series of comparisons \\\"within\\\" sets of fields and \\\"between\\\" sets of fields.\\n *\\n * Given any selection set, a collection produces both a set of fields by\\n * also including all inline fragments, as well as a list of fragments\\n * referenced by fragment spreads.\\n *\\n * A) Each selection set represented in the document first compares \\\"within\\\" its\\n * collected set of fields, finding any conflicts between every pair of\\n * overlapping fields.\\n * Note: This is the *only time* that a the fields \\\"within\\\" a set are compared\\n * to each other. After this only fields \\\"between\\\" sets are compared.\\n *\\n * B) Also, if any fragment is referenced in a selection set, then a\\n * comparison is made \\\"between\\\" the original set of fields and the\\n * referenced fragment.\\n *\\n * C) Also, if multiple fragments are referenced, then comparisons\\n * are made \\\"between\\\" each referenced fragment.\\n *\\n * D) When comparing \\\"between\\\" a set of fields and a referenced fragment, first\\n * a comparison is made between each field in the original set of fields and\\n * each field in the the referenced set of fields.\\n *\\n * E) Also, if any fragment is referenced in the referenced selection set,\\n * then a comparison is made \\\"between\\\" the original set of fields and the\\n * referenced fragment (recursively referring to step D).\\n *\\n * F) When comparing \\\"between\\\" two fragments, first a comparison is made between\\n * each field in the first referenced set of fields and each field in the the\\n * second referenced set of fields.\\n *\\n * G) Also, any fragments referenced by the first must be compared to the\\n * second, and any fragments referenced by the second must be compared to the\\n * first (recursively referring to step F).\\n *\\n * H) When comparing two fields, if both have selection sets, then a comparison\\n * is made \\\"between\\\" both selection sets, first comparing the set of fields in\\n * the first selection set with the set of fields in the second.\\n *\\n * I) Also, if any fragment is referenced in either selection set, then a\\n * comparison is made \\\"between\\\" the other set of fields and the\\n * referenced fragment.\\n *\\n * J) Also, if two fragments are referenced in both selection sets, then a\\n * comparison is made \\\"between\\\" the two fragments.\\n *\\n */\\n// Find all conflicts found \\\"within\\\" a selection set, including those found\\n// via spreading in fragments. Called when visiting each SelectionSet in the\\n// GraphQL Document.\\nfunction findConflictsWithinSelectionSet(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentType, selectionSet) {\\n var conflicts = [];\\n\\n var _getFieldsAndFragment = getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType, selectionSet),\\n fieldMap = _getFieldsAndFragment[0],\\n fragmentNames = _getFieldsAndFragment[1]; // (A) Find find all conflicts \\\"within\\\" the fields of this selection set.\\n // Note: this is the *only place* `collectConflictsWithin` is called.\\n\\n\\n collectConflictsWithin(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, fieldMap);\\n\\n if (fragmentNames.length !== 0) {\\n // (B) Then collect conflicts between these fields and those represented by\\n // each spread fragment name found.\\n for (var i = 0; i < fragmentNames.length; i++) {\\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, false, fieldMap, fragmentNames[i]); // (C) Then compare this fragment with all other fragments found in this\\n // selection set to collect conflicts between fragments spread together.\\n // This compares each item in the list of fragment names to every other\\n // item in that same list (except for itself).\\n\\n for (var j = i + 1; j < fragmentNames.length; j++) {\\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, false, fragmentNames[i], fragmentNames[j]);\\n }\\n }\\n }\\n\\n return conflicts;\\n} // Collect all conflicts found between a set of fields and a fragment reference\\n// including via spreading in any nested fragments.\\n\\n\\nfunction collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap, fragmentName) {\\n var fragment = context.getFragment(fragmentName);\\n\\n if (!fragment) {\\n return;\\n }\\n\\n var _getReferencedFieldsA = getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment),\\n fieldMap2 = _getReferencedFieldsA[0],\\n fragmentNames2 = _getReferencedFieldsA[1]; // Do not compare a fragment's fieldMap to itself.\\n\\n\\n if (fieldMap === fieldMap2) {\\n return;\\n } // (D) First collect any conflicts between the provided collection of fields\\n // and the collection of fields represented by the given fragment.\\n\\n\\n collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap, fieldMap2); // (E) Then collect any conflicts between the provided collection of fields\\n // and any fragment names found in the given fragment.\\n\\n for (var i = 0; i < fragmentNames2.length; i++) {\\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap, fragmentNames2[i]);\\n }\\n} // Collect all conflicts found between two fragments, including via spreading in\\n// any nested fragments.\\n\\n\\nfunction collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentName1, fragmentName2) {\\n // No need to compare a fragment to itself.\\n if (fragmentName1 === fragmentName2) {\\n return;\\n } // Memoize so two fragments are not compared for conflicts more than once.\\n\\n\\n if (comparedFragmentPairs.has(fragmentName1, fragmentName2, areMutuallyExclusive)) {\\n return;\\n }\\n\\n comparedFragmentPairs.add(fragmentName1, fragmentName2, areMutuallyExclusive);\\n var fragment1 = context.getFragment(fragmentName1);\\n var fragment2 = context.getFragment(fragmentName2);\\n\\n if (!fragment1 || !fragment2) {\\n return;\\n }\\n\\n var _getReferencedFieldsA2 = getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment1),\\n fieldMap1 = _getReferencedFieldsA2[0],\\n fragmentNames1 = _getReferencedFieldsA2[1];\\n\\n var _getReferencedFieldsA3 = getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment2),\\n fieldMap2 = _getReferencedFieldsA3[0],\\n fragmentNames2 = _getReferencedFieldsA3[1]; // (F) First, collect all conflicts between these two collections of fields\\n // (not including any nested fragments).\\n\\n\\n collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap1, fieldMap2); // (G) Then collect conflicts between the first fragment and any nested\\n // fragments spread in the second fragment.\\n\\n for (var j = 0; j < fragmentNames2.length; j++) {\\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentName1, fragmentNames2[j]);\\n } // (G) Then collect conflicts between the second fragment and any nested\\n // fragments spread in the first fragment.\\n\\n\\n for (var i = 0; i < fragmentNames1.length; i++) {\\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentNames1[i], fragmentName2);\\n }\\n} // Find all conflicts found between two selection sets, including those found\\n// via spreading in fragments. Called when determining if conflicts exist\\n// between the sub-fields of two overlapping fields.\\n\\n\\nfunction findConflictsBetweenSubSelectionSets(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, parentType1, selectionSet1, parentType2, selectionSet2) {\\n var conflicts = [];\\n\\n var _getFieldsAndFragment2 = getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType1, selectionSet1),\\n fieldMap1 = _getFieldsAndFragment2[0],\\n fragmentNames1 = _getFieldsAndFragment2[1];\\n\\n var _getFieldsAndFragment3 = getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType2, selectionSet2),\\n fieldMap2 = _getFieldsAndFragment3[0],\\n fragmentNames2 = _getFieldsAndFragment3[1]; // (H) First, collect all conflicts between these two collections of field.\\n\\n\\n collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap1, fieldMap2); // (I) Then collect conflicts between the first collection of fields and\\n // those referenced by each fragment name associated with the second.\\n\\n if (fragmentNames2.length !== 0) {\\n for (var j = 0; j < fragmentNames2.length; j++) {\\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap1, fragmentNames2[j]);\\n }\\n } // (I) Then collect conflicts between the second collection of fields and\\n // those referenced by each fragment name associated with the first.\\n\\n\\n if (fragmentNames1.length !== 0) {\\n for (var i = 0; i < fragmentNames1.length; i++) {\\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap2, fragmentNames1[i]);\\n }\\n } // (J) Also collect conflicts between any fragment names by the first and\\n // fragment names by the second. This compares each item in the first set of\\n // names to each item in the second set of names.\\n\\n\\n for (var _i3 = 0; _i3 < fragmentNames1.length; _i3++) {\\n for (var _j = 0; _j < fragmentNames2.length; _j++) {\\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentNames1[_i3], fragmentNames2[_j]);\\n }\\n }\\n\\n return conflicts;\\n} // Collect all Conflicts \\\"within\\\" one collection of fields.\\n\\n\\nfunction collectConflictsWithin(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, fieldMap) {\\n // A field map is a keyed collection, where each key represents a response\\n // name and the value at that key is a list of all fields which provide that\\n // response name. For every response name, if there are multiple fields, they\\n // must be compared to find a potential conflict.\\n for (var _i5 = 0, _objectEntries2 = objectEntries(fieldMap); _i5 < _objectEntries2.length; _i5++) {\\n var _ref5 = _objectEntries2[_i5];\\n var responseName = _ref5[0];\\n var fields = _ref5[1];\\n\\n // This compares every field in the list to every other field in this list\\n // (except to itself). If the list only has one item, nothing needs to\\n // be compared.\\n if (fields.length > 1) {\\n for (var i = 0; i < fields.length; i++) {\\n for (var j = i + 1; j < fields.length; j++) {\\n var conflict = findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, false, // within one collection is never mutually exclusive\\n responseName, fields[i], fields[j]);\\n\\n if (conflict) {\\n conflicts.push(conflict);\\n }\\n }\\n }\\n }\\n }\\n} // Collect all Conflicts between two collections of fields. This is similar to,\\n// but different from the `collectConflictsWithin` function above. This check\\n// assumes that `collectConflictsWithin` has already been called on each\\n// provided collection of fields. This is true because this validator traverses\\n// each individual selection set.\\n\\n\\nfunction collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentFieldsAreMutuallyExclusive, fieldMap1, fieldMap2) {\\n // A field map is a keyed collection, where each key represents a response\\n // name and the value at that key is a list of all fields which provide that\\n // response name. For any response name which appears in both provided field\\n // maps, each field from the first field map must be compared to every field\\n // in the second field map to find potential conflicts.\\n for (var _i7 = 0, _Object$keys2 = Object.keys(fieldMap1); _i7 < _Object$keys2.length; _i7++) {\\n var responseName = _Object$keys2[_i7];\\n var fields2 = fieldMap2[responseName];\\n\\n if (fields2) {\\n var fields1 = fieldMap1[responseName];\\n\\n for (var i = 0; i < fields1.length; i++) {\\n for (var j = 0; j < fields2.length; j++) {\\n var conflict = findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentFieldsAreMutuallyExclusive, responseName, fields1[i], fields2[j]);\\n\\n if (conflict) {\\n conflicts.push(conflict);\\n }\\n }\\n }\\n }\\n }\\n} // Determines if there is a conflict between two particular fields, including\\n// comparing their sub-fields.\\n\\n\\nfunction findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentFieldsAreMutuallyExclusive, responseName, field1, field2) {\\n var parentType1 = field1[0],\\n node1 = field1[1],\\n def1 = field1[2];\\n var parentType2 = field2[0],\\n node2 = field2[1],\\n def2 = field2[2]; // If it is known that two fields could not possibly apply at the same\\n // time, due to the parent types, then it is safe to permit them to diverge\\n // in aliased field or arguments used as they will not present any ambiguity\\n // by differing.\\n // It is known that two parent types could never overlap if they are\\n // different Object types. Interface or Union types might overlap - if not\\n // in the current state of the schema, then perhaps in some future version,\\n // thus may not safely diverge.\\n\\n var areMutuallyExclusive = parentFieldsAreMutuallyExclusive || parentType1 !== parentType2 && isObjectType(parentType1) && isObjectType(parentType2);\\n\\n if (!areMutuallyExclusive) {\\n var _node1$arguments, _node2$arguments, _node1$directives, _node2$directives;\\n\\n // Two aliases must refer to the same field.\\n var name1 = node1.name.value;\\n var name2 = node2.name.value;\\n\\n if (name1 !== name2) {\\n return [[responseName, \\\"\\\\\\\"\\\".concat(name1, \\\"\\\\\\\" and \\\\\\\"\\\").concat(name2, \\\"\\\\\\\" are different fields\\\")], [node1], [node2]];\\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n\\n var args1 = (_node1$arguments = node1.arguments) !== null && _node1$arguments !== void 0 ? _node1$arguments : []; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n var args2 = (_node2$arguments = node2.arguments) !== null && _node2$arguments !== void 0 ? _node2$arguments : []; // Two field calls must have the same arguments.\\n\\n if (!sameArguments(args1, args2)) {\\n return [[responseName, 'they have differing arguments'], [node1], [node2]];\\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n\\n var directives1 = (_node1$directives = node1.directives) !== null && _node1$directives !== void 0 ? _node1$directives : []; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n var directives2 = (_node2$directives = node2.directives) !== null && _node2$directives !== void 0 ? _node2$directives : [];\\n\\n if (!sameStreams(directives1, directives2)) {\\n return [[responseName, 'they have differing stream directives'], [node1], [node2]];\\n }\\n } // The return type for each field.\\n\\n\\n var type1 = def1 === null || def1 === void 0 ? void 0 : def1.type;\\n var type2 = def2 === null || def2 === void 0 ? void 0 : def2.type;\\n\\n if (type1 && type2 && doTypesConflict(type1, type2)) {\\n return [[responseName, \\\"they return conflicting types \\\\\\\"\\\".concat(inspect(type1), \\\"\\\\\\\" and \\\\\\\"\\\").concat(inspect(type2), \\\"\\\\\\\"\\\")], [node1], [node2]];\\n } // Collect and compare sub-fields. Use the same \\\"visited fragment names\\\" list\\n // for both collections so fields in a fragment reference are never\\n // compared to themselves.\\n\\n\\n var selectionSet1 = node1.selectionSet;\\n var selectionSet2 = node2.selectionSet;\\n\\n if (selectionSet1 && selectionSet2) {\\n var conflicts = findConflictsBetweenSubSelectionSets(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, getNamedType(type1), selectionSet1, getNamedType(type2), selectionSet2);\\n return subfieldConflicts(conflicts, responseName, node1, node2);\\n }\\n}\\n\\nfunction sameArguments(arguments1, arguments2) {\\n if (arguments1.length !== arguments2.length) {\\n return false;\\n }\\n\\n return arguments1.every(function (argument1) {\\n var argument2 = find(arguments2, function (argument) {\\n return argument.name.value === argument1.name.value;\\n });\\n\\n if (!argument2) {\\n return false;\\n }\\n\\n return sameValue(argument1.value, argument2.value);\\n });\\n}\\n\\nfunction sameDirectiveArgument(directive1, directive2, argumentName) {\\n /* istanbul ignore next (See https://github.com/graphql/graphql-js/issues/2203) */\\n var args1 = directive1.arguments || [];\\n var arg1 = find(args1, function (argument) {\\n return argument.name.value === argumentName;\\n });\\n\\n if (!arg1) {\\n return false;\\n }\\n /* istanbul ignore next (See https://github.com/graphql/graphql-js/issues/2203) */\\n\\n\\n var args2 = directive2.arguments || [];\\n var arg2 = find(args2, function (argument) {\\n return argument.name.value === argumentName;\\n });\\n\\n if (!arg2) {\\n return false;\\n }\\n\\n return sameValue(arg1.value, arg2.value);\\n}\\n\\nfunction getStreamDirective(directives) {\\n return find(directives, function (directive) {\\n return directive.name.value === 'stream';\\n });\\n}\\n\\nfunction sameStreams(directives1, directives2) {\\n var stream1 = getStreamDirective(directives1);\\n var stream2 = getStreamDirective(directives2);\\n\\n if (!stream1 && !stream2) {\\n // both fields do not have streams\\n return true;\\n } else if (stream1 && stream2) {\\n // check if both fields have equivalent streams\\n return sameDirectiveArgument(stream1, stream2, 'initialCount') && sameDirectiveArgument(stream1, stream2, 'label');\\n } // fields have a mix of stream and no stream\\n\\n\\n return false;\\n}\\n\\nfunction sameValue(value1, value2) {\\n return print(value1) === print(value2);\\n} // Two types conflict if both types could not apply to a value simultaneously.\\n// Composite types are ignored as their individual field types will be compared\\n// later recursively. However List and Non-Null types must match.\\n\\n\\nfunction doTypesConflict(type1, type2) {\\n if (isListType(type1)) {\\n return isListType(type2) ? doTypesConflict(type1.ofType, type2.ofType) : true;\\n }\\n\\n if (isListType(type2)) {\\n return true;\\n }\\n\\n if (isNonNullType(type1)) {\\n return isNonNullType(type2) ? doTypesConflict(type1.ofType, type2.ofType) : true;\\n }\\n\\n if (isNonNullType(type2)) {\\n return true;\\n }\\n\\n if (isLeafType(type1) || isLeafType(type2)) {\\n return type1 !== type2;\\n }\\n\\n return false;\\n} // Given a selection set, return the collection of fields (a mapping of response\\n// name to field nodes and definitions) as well as a list of fragment names\\n// referenced via fragment spreads.\\n\\n\\nfunction getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType, selectionSet) {\\n var cached = cachedFieldsAndFragmentNames.get(selectionSet);\\n\\n if (!cached) {\\n var nodeAndDefs = Object.create(null);\\n var fragmentNames = Object.create(null);\\n\\n _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeAndDefs, fragmentNames);\\n\\n cached = [nodeAndDefs, Object.keys(fragmentNames)];\\n cachedFieldsAndFragmentNames.set(selectionSet, cached);\\n }\\n\\n return cached;\\n} // Given a reference to a fragment, return the represented collection of fields\\n// as well as a list of nested fragment names referenced via fragment spreads.\\n\\n\\nfunction getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment) {\\n // Short-circuit building a type from the node if possible.\\n var cached = cachedFieldsAndFragmentNames.get(fragment.selectionSet);\\n\\n if (cached) {\\n return cached;\\n }\\n\\n var fragmentType = typeFromAST(context.getSchema(), fragment.typeCondition);\\n return getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragmentType, fragment.selectionSet);\\n}\\n\\nfunction _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeAndDefs, fragmentNames) {\\n for (var _i9 = 0, _selectionSet$selecti2 = selectionSet.selections; _i9 < _selectionSet$selecti2.length; _i9++) {\\n var selection = _selectionSet$selecti2[_i9];\\n\\n switch (selection.kind) {\\n case Kind.FIELD:\\n {\\n var fieldName = selection.name.value;\\n var fieldDef = void 0;\\n\\n if (isObjectType(parentType) || isInterfaceType(parentType)) {\\n fieldDef = parentType.getFields()[fieldName];\\n }\\n\\n var responseName = selection.alias ? selection.alias.value : fieldName;\\n\\n if (!nodeAndDefs[responseName]) {\\n nodeAndDefs[responseName] = [];\\n }\\n\\n nodeAndDefs[responseName].push([parentType, selection, fieldDef]);\\n break;\\n }\\n\\n case Kind.FRAGMENT_SPREAD:\\n fragmentNames[selection.name.value] = true;\\n break;\\n\\n case Kind.INLINE_FRAGMENT:\\n {\\n var typeCondition = selection.typeCondition;\\n var inlineFragmentType = typeCondition ? typeFromAST(context.getSchema(), typeCondition) : parentType;\\n\\n _collectFieldsAndFragmentNames(context, inlineFragmentType, selection.selectionSet, nodeAndDefs, fragmentNames);\\n\\n break;\\n }\\n }\\n }\\n} // Given a series of Conflicts which occurred between two sub-fields, generate\\n// a single Conflict.\\n\\n\\nfunction subfieldConflicts(conflicts, responseName, node1, node2) {\\n if (conflicts.length > 0) {\\n return [[responseName, conflicts.map(function (_ref6) {\\n var reason = _ref6[0];\\n return reason;\\n })], conflicts.reduce(function (allFields, _ref7) {\\n var fields1 = _ref7[1];\\n return allFields.concat(fields1);\\n }, [node1]), conflicts.reduce(function (allFields, _ref8) {\\n var fields2 = _ref8[2];\\n return allFields.concat(fields2);\\n }, [node2])];\\n }\\n}\\n/**\\n * A way to keep track of pairs of things when the ordering of the pair does\\n * not matter. We do this by maintaining a sort of double adjacency sets.\\n */\\n\\n\\nvar PairSet = /*#__PURE__*/function () {\\n function PairSet() {\\n this._data = Object.create(null);\\n }\\n\\n var _proto = PairSet.prototype;\\n\\n _proto.has = function has(a, b, areMutuallyExclusive) {\\n var first = this._data[a];\\n var result = first && first[b];\\n\\n if (result === undefined) {\\n return false;\\n } // areMutuallyExclusive being false is a superset of being true,\\n // hence if we want to know if this PairSet \\\"has\\\" these two with no\\n // exclusivity, we have to ensure it was added as such.\\n\\n\\n if (areMutuallyExclusive === false) {\\n return result === false;\\n }\\n\\n return true;\\n };\\n\\n _proto.add = function add(a, b, areMutuallyExclusive) {\\n this._pairSetAdd(a, b, areMutuallyExclusive);\\n\\n this._pairSetAdd(b, a, areMutuallyExclusive);\\n };\\n\\n _proto._pairSetAdd = function _pairSetAdd(a, b, areMutuallyExclusive) {\\n var map = this._data[a];\\n\\n if (!map) {\\n map = Object.create(null);\\n this._data[a] = map;\\n }\\n\\n map[b] = areMutuallyExclusive;\\n };\\n\\n return PairSet;\\n}();\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Lone Schema definition\\n *\\n * A GraphQL document is only valid if it contains only one schema definition.\\n */\\nexport function LoneSchemaDefinitionRule(context) {\\n var _ref, _ref2, _oldSchema$astNode;\\n\\n var oldSchema = context.getSchema();\\n var alreadyDefined = (_ref = (_ref2 = (_oldSchema$astNode = oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.astNode) !== null && _oldSchema$astNode !== void 0 ? _oldSchema$astNode : oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.getQueryType()) !== null && _ref2 !== void 0 ? _ref2 : oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.getMutationType()) !== null && _ref !== void 0 ? _ref : oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.getSubscriptionType();\\n var schemaDefinitionsCount = 0;\\n return {\\n SchemaDefinition: function SchemaDefinition(node) {\\n if (alreadyDefined) {\\n context.reportError(new GraphQLError('Cannot define a new schema within a schema extension.', node));\\n return;\\n }\\n\\n if (schemaDefinitionsCount > 0) {\\n context.reportError(new GraphQLError('Must provide only one schema definition.', node));\\n }\\n\\n ++schemaDefinitionsCount;\\n }\\n };\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique operation types\\n *\\n * A GraphQL document is only valid if it has only one type per operation.\\n */\\nexport function UniqueOperationTypesRule(context) {\\n var schema = context.getSchema();\\n var definedOperationTypes = Object.create(null);\\n var existingOperationTypes = schema ? {\\n query: schema.getQueryType(),\\n mutation: schema.getMutationType(),\\n subscription: schema.getSubscriptionType()\\n } : {};\\n return {\\n SchemaDefinition: checkOperationTypes,\\n SchemaExtension: checkOperationTypes\\n };\\n\\n function checkOperationTypes(node) {\\n var _node$operationTypes;\\n\\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n var operationTypesNodes = (_node$operationTypes = node.operationTypes) !== null && _node$operationTypes !== void 0 ? _node$operationTypes : [];\\n\\n for (var _i2 = 0; _i2 < operationTypesNodes.length; _i2++) {\\n var operationType = operationTypesNodes[_i2];\\n var operation = operationType.operation;\\n var alreadyDefinedOperationType = definedOperationTypes[operation];\\n\\n if (existingOperationTypes[operation]) {\\n context.reportError(new GraphQLError(\\\"Type for \\\".concat(operation, \\\" already defined in the schema. It cannot be redefined.\\\"), operationType));\\n } else if (alreadyDefinedOperationType) {\\n context.reportError(new GraphQLError(\\\"There can be only one \\\".concat(operation, \\\" type in schema.\\\"), [alreadyDefinedOperationType, operationType]));\\n } else {\\n definedOperationTypes[operation] = operationType;\\n }\\n }\\n\\n return false;\\n }\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique type names\\n *\\n * A GraphQL document is only valid if all defined types have unique names.\\n */\\nexport function UniqueTypeNamesRule(context) {\\n var knownTypeNames = Object.create(null);\\n var schema = context.getSchema();\\n return {\\n ScalarTypeDefinition: checkTypeName,\\n ObjectTypeDefinition: checkTypeName,\\n InterfaceTypeDefinition: checkTypeName,\\n UnionTypeDefinition: checkTypeName,\\n EnumTypeDefinition: checkTypeName,\\n InputObjectTypeDefinition: checkTypeName\\n };\\n\\n function checkTypeName(node) {\\n var typeName = node.name.value;\\n\\n if (schema === null || schema === void 0 ? void 0 : schema.getType(typeName)) {\\n context.reportError(new GraphQLError(\\\"Type \\\\\\\"\\\".concat(typeName, \\\"\\\\\\\" already exists in the schema. It cannot also be defined in this type definition.\\\"), node.name));\\n return;\\n }\\n\\n if (knownTypeNames[typeName]) {\\n context.reportError(new GraphQLError(\\\"There can be only one type named \\\\\\\"\\\".concat(typeName, \\\"\\\\\\\".\\\"), [knownTypeNames[typeName], node.name]));\\n } else {\\n knownTypeNames[typeName] = node.name;\\n }\\n\\n return false;\\n }\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { isEnumType } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Unique enum value names\\n *\\n * A GraphQL enum type is only valid if all its values are uniquely named.\\n */\\nexport function UniqueEnumValueNamesRule(context) {\\n var schema = context.getSchema();\\n var existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\\n var knownValueNames = Object.create(null);\\n return {\\n EnumTypeDefinition: checkValueUniqueness,\\n EnumTypeExtension: checkValueUniqueness\\n };\\n\\n function checkValueUniqueness(node) {\\n var _node$values;\\n\\n var typeName = node.name.value;\\n\\n if (!knownValueNames[typeName]) {\\n knownValueNames[typeName] = Object.create(null);\\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n\\n var valueNodes = (_node$values = node.values) !== null && _node$values !== void 0 ? _node$values : [];\\n var valueNames = knownValueNames[typeName];\\n\\n for (var _i2 = 0; _i2 < valueNodes.length; _i2++) {\\n var valueDef = valueNodes[_i2];\\n var valueName = valueDef.name.value;\\n var existingType = existingTypeMap[typeName];\\n\\n if (isEnumType(existingType) && existingType.getValue(valueName)) {\\n context.reportError(new GraphQLError(\\\"Enum value \\\\\\\"\\\".concat(typeName, \\\".\\\").concat(valueName, \\\"\\\\\\\" already exists in the schema. It cannot also be defined in this type extension.\\\"), valueDef.name));\\n } else if (valueNames[valueName]) {\\n context.reportError(new GraphQLError(\\\"Enum value \\\\\\\"\\\".concat(typeName, \\\".\\\").concat(valueName, \\\"\\\\\\\" can only be defined once.\\\"), [valueNames[valueName], valueDef.name]));\\n } else {\\n valueNames[valueName] = valueDef.name;\\n }\\n }\\n\\n return false;\\n }\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { isObjectType, isInterfaceType, isInputObjectType } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Unique field definition names\\n *\\n * A GraphQL complex type is only valid if all its fields are uniquely named.\\n */\\nexport function UniqueFieldDefinitionNamesRule(context) {\\n var schema = context.getSchema();\\n var existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\\n var knownFieldNames = Object.create(null);\\n return {\\n InputObjectTypeDefinition: checkFieldUniqueness,\\n InputObjectTypeExtension: checkFieldUniqueness,\\n InterfaceTypeDefinition: checkFieldUniqueness,\\n InterfaceTypeExtension: checkFieldUniqueness,\\n ObjectTypeDefinition: checkFieldUniqueness,\\n ObjectTypeExtension: checkFieldUniqueness\\n };\\n\\n function checkFieldUniqueness(node) {\\n var _node$fields;\\n\\n var typeName = node.name.value;\\n\\n if (!knownFieldNames[typeName]) {\\n knownFieldNames[typeName] = Object.create(null);\\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\\n\\n\\n var fieldNodes = (_node$fields = node.fields) !== null && _node$fields !== void 0 ? _node$fields : [];\\n var fieldNames = knownFieldNames[typeName];\\n\\n for (var _i2 = 0; _i2 < fieldNodes.length; _i2++) {\\n var fieldDef = fieldNodes[_i2];\\n var fieldName = fieldDef.name.value;\\n\\n if (hasField(existingTypeMap[typeName], fieldName)) {\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(typeName, \\\".\\\").concat(fieldName, \\\"\\\\\\\" already exists in the schema. It cannot also be defined in this type extension.\\\"), fieldDef.name));\\n } else if (fieldNames[fieldName]) {\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(typeName, \\\".\\\").concat(fieldName, \\\"\\\\\\\" can only be defined once.\\\"), [fieldNames[fieldName], fieldDef.name]));\\n } else {\\n fieldNames[fieldName] = fieldDef.name;\\n }\\n }\\n\\n return false;\\n }\\n}\\n\\nfunction hasField(type, fieldName) {\\n if (isObjectType(type) || isInterfaceType(type) || isInputObjectType(type)) {\\n return type.getFields()[fieldName] != null;\\n }\\n\\n return false;\\n}\\n\",\"import { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\n\\n/**\\n * Unique directive names\\n *\\n * A GraphQL document is only valid if all defined directives have unique names.\\n */\\nexport function UniqueDirectiveNamesRule(context) {\\n var knownDirectiveNames = Object.create(null);\\n var schema = context.getSchema();\\n return {\\n DirectiveDefinition: function DirectiveDefinition(node) {\\n var directiveName = node.name.value;\\n\\n if (schema === null || schema === void 0 ? void 0 : schema.getDirective(directiveName)) {\\n context.reportError(new GraphQLError(\\\"Directive \\\\\\\"@\\\".concat(directiveName, \\\"\\\\\\\" already exists in the schema. It cannot be redefined.\\\"), node.name));\\n return;\\n }\\n\\n if (knownDirectiveNames[directiveName]) {\\n context.reportError(new GraphQLError(\\\"There can be only one directive named \\\\\\\"@\\\".concat(directiveName, \\\"\\\\\\\".\\\"), [knownDirectiveNames[directiveName], node.name]));\\n } else {\\n knownDirectiveNames[directiveName] = node.name;\\n }\\n\\n return false;\\n }\\n };\\n}\\n\",\"var _defKindToExtKind;\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nimport inspect from \\\"../../jsutils/inspect.mjs\\\";\\nimport invariant from \\\"../../jsutils/invariant.mjs\\\";\\nimport didYouMean from \\\"../../jsutils/didYouMean.mjs\\\";\\nimport suggestionList from \\\"../../jsutils/suggestionList.mjs\\\";\\nimport { GraphQLError } from \\\"../../error/GraphQLError.mjs\\\";\\nimport { Kind } from \\\"../../language/kinds.mjs\\\";\\nimport { isTypeDefinitionNode } from \\\"../../language/predicates.mjs\\\";\\nimport { isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType } from \\\"../../type/definition.mjs\\\";\\n\\n/**\\n * Possible type extension\\n *\\n * A type extension is only valid if the type is defined and has the same kind.\\n */\\nexport function PossibleTypeExtensionsRule(context) {\\n var schema = context.getSchema();\\n var definedTypes = Object.create(null);\\n\\n for (var _i2 = 0, _context$getDocument$2 = context.getDocument().definitions; _i2 < _context$getDocument$2.length; _i2++) {\\n var def = _context$getDocument$2[_i2];\\n\\n if (isTypeDefinitionNode(def)) {\\n definedTypes[def.name.value] = def;\\n }\\n }\\n\\n return {\\n ScalarTypeExtension: checkExtension,\\n ObjectTypeExtension: checkExtension,\\n InterfaceTypeExtension: checkExtension,\\n UnionTypeExtension: checkExtension,\\n EnumTypeExtension: checkExtension,\\n InputObjectTypeExtension: checkExtension\\n };\\n\\n function checkExtension(node) {\\n var typeName = node.name.value;\\n var defNode = definedTypes[typeName];\\n var existingType = schema === null || schema === void 0 ? void 0 : schema.getType(typeName);\\n var expectedKind;\\n\\n if (defNode) {\\n expectedKind = defKindToExtKind[defNode.kind];\\n } else if (existingType) {\\n expectedKind = typeToExtKind(existingType);\\n }\\n\\n if (expectedKind) {\\n if (expectedKind !== node.kind) {\\n var kindStr = extensionKindToTypeName(node.kind);\\n context.reportError(new GraphQLError(\\\"Cannot extend non-\\\".concat(kindStr, \\\" type \\\\\\\"\\\").concat(typeName, \\\"\\\\\\\".\\\"), defNode ? [defNode, node] : node));\\n }\\n } else {\\n var allTypeNames = Object.keys(definedTypes);\\n\\n if (schema) {\\n allTypeNames = allTypeNames.concat(Object.keys(schema.getTypeMap()));\\n }\\n\\n var suggestedTypes = suggestionList(typeName, allTypeNames);\\n context.reportError(new GraphQLError(\\\"Cannot extend type \\\\\\\"\\\".concat(typeName, \\\"\\\\\\\" because it is not defined.\\\") + didYouMean(suggestedTypes), node.name));\\n }\\n }\\n}\\nvar defKindToExtKind = (_defKindToExtKind = {}, _defineProperty(_defKindToExtKind, Kind.SCALAR_TYPE_DEFINITION, Kind.SCALAR_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.OBJECT_TYPE_DEFINITION, Kind.OBJECT_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.INTERFACE_TYPE_DEFINITION, Kind.INTERFACE_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.UNION_TYPE_DEFINITION, Kind.UNION_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.ENUM_TYPE_DEFINITION, Kind.ENUM_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.INPUT_OBJECT_TYPE_DEFINITION, Kind.INPUT_OBJECT_TYPE_EXTENSION), _defKindToExtKind);\\n\\nfunction typeToExtKind(type) {\\n if (isScalarType(type)) {\\n return Kind.SCALAR_TYPE_EXTENSION;\\n }\\n\\n if (isObjectType(type)) {\\n return Kind.OBJECT_TYPE_EXTENSION;\\n }\\n\\n if (isInterfaceType(type)) {\\n return Kind.INTERFACE_TYPE_EXTENSION;\\n }\\n\\n if (isUnionType(type)) {\\n return Kind.UNION_TYPE_EXTENSION;\\n }\\n\\n if (isEnumType(type)) {\\n return Kind.ENUM_TYPE_EXTENSION;\\n } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')\\n\\n\\n if (isInputObjectType(type)) {\\n return Kind.INPUT_OBJECT_TYPE_EXTENSION;\\n } // istanbul ignore next (Not reachable. All possible types have been considered)\\n\\n\\n false || invariant(0, 'Unexpected type: ' + inspect(type));\\n}\\n\\nfunction extensionKindToTypeName(kind) {\\n switch (kind) {\\n case Kind.SCALAR_TYPE_EXTENSION:\\n return 'scalar';\\n\\n case Kind.OBJECT_TYPE_EXTENSION:\\n return 'object';\\n\\n case Kind.INTERFACE_TYPE_EXTENSION:\\n return 'interface';\\n\\n case Kind.UNION_TYPE_EXTENSION:\\n return 'union';\\n\\n case Kind.ENUM_TYPE_EXTENSION:\\n return 'enum';\\n\\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\\n return 'input object';\\n } // istanbul ignore next (Not reachable. All possible types have been considered)\\n\\n\\n false || invariant(0, 'Unexpected kind: ' + inspect(kind));\\n}\\n\",\"import devAssert from \\\"../jsutils/devAssert.mjs\\\";\\nimport { GraphQLError } from \\\"../error/GraphQLError.mjs\\\";\\nvar NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/;\\n/**\\n * Upholds the spec rules about naming.\\n */\\n\\nexport function assertValidName(name) {\\n var error = isValidNameError(name);\\n\\n if (error) {\\n throw error;\\n }\\n\\n return name;\\n}\\n/**\\n * Returns an Error if a name is invalid.\\n */\\n\\nexport function isValidNameError(name) {\\n typeof name === 'string' || devAssert(0, 'Expected name to be a string.');\\n\\n if (name.length > 1 && name[0] === '_' && name[1] === '_') {\\n return new GraphQLError(\\\"Name \\\\\\\"\\\".concat(name, \\\"\\\\\\\" must not begin with \\\\\\\"__\\\\\\\", which is reserved by GraphQL introspection.\\\"));\\n }\\n\\n if (!NAME_RX.test(name)) {\\n return new GraphQLError(\\\"Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \\\\\\\"\\\".concat(name, \\\"\\\\\\\" does not.\\\"));\\n }\\n}\\n\",\"export function dset(obj, keys, val) {\\n\\tkeys.split && (keys=keys.split('.'));\\n\\tvar i=0, l=keys.length, t=obj, x, k;\\n\\tfor (; i < l;) {\\n\\t\\tk = keys[i++];\\n\\t\\tif (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\\n\\t\\tt = t[k] = (i === l) ? val : (typeof(x=t[k])===typeof(keys)) ? x : (keys[i]*0 !== 0 || !!~(''+keys[i]).indexOf('.')) ? {} : [];\\n\\t}\\n}\\n\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nvar ExecuteButton = (function (_super) {\\n __extends(ExecuteButton, _super);\\n function ExecuteButton(props) {\\n var _this = _super.call(this, props) || this;\\n _this._onClick = function () {\\n if (_this.props.isRunning) {\\n _this.props.onStop();\\n }\\n else {\\n _this.props.onRun();\\n }\\n };\\n _this._onOptionSelected = function (operation) {\\n _this.setState({ optionsOpen: false });\\n _this.props.onRun(operation.name && operation.name.value);\\n };\\n _this._onOptionsOpen = function (downEvent) {\\n var initialPress = true;\\n var downTarget = downEvent.currentTarget;\\n _this.setState({ highlight: null, optionsOpen: true });\\n var onMouseUp = function (upEvent) {\\n var _a;\\n if (initialPress && upEvent.target === downTarget) {\\n initialPress = false;\\n }\\n else {\\n document.removeEventListener('mouseup', onMouseUp);\\n onMouseUp = null;\\n var isOptionsMenuClicked = upEvent.currentTarget && ((_a = downTarget.parentNode) === null || _a === void 0 ? void 0 : _a.compareDocumentPosition(upEvent.currentTarget)) &&\\n Node.DOCUMENT_POSITION_CONTAINED_BY;\\n if (!isOptionsMenuClicked) {\\n _this.setState({ optionsOpen: false });\\n }\\n }\\n };\\n document.addEventListener('mouseup', onMouseUp);\\n };\\n _this.state = {\\n optionsOpen: false,\\n highlight: null,\\n };\\n return _this;\\n }\\n ExecuteButton.prototype.render = function () {\\n var _this = this;\\n var operations = this.props.operations || [];\\n var optionsOpen = this.state.optionsOpen;\\n var hasOptions = operations && operations.length > 1;\\n var options = null;\\n if (hasOptions && optionsOpen) {\\n var highlight_1 = this.state.highlight;\\n options = (React.createElement(\\\"ul\\\", { className: \\\"execute-options\\\" }, operations.map(function (operation, i) {\\n var opName = operation.name\\n ? operation.name.value\\n : \\\"\\\";\\n return (React.createElement(\\\"li\\\", { key: opName + \\\"-\\\" + i, className: operation === highlight_1 ? 'selected' : undefined, onMouseOver: function () { return _this.setState({ highlight: operation }); }, onMouseOut: function () { return _this.setState({ highlight: null }); }, onMouseUp: function () { return _this._onOptionSelected(operation); } }, opName));\\n })));\\n }\\n var onClick;\\n if (this.props.isRunning || !hasOptions) {\\n onClick = this._onClick;\\n }\\n var onMouseDown = function () { };\\n if (!this.props.isRunning && hasOptions && !optionsOpen) {\\n onMouseDown = this._onOptionsOpen;\\n }\\n var pathJSX = this.props.isRunning ? (React.createElement(\\\"path\\\", { d: \\\"M 10 10 L 23 10 L 23 23 L 10 23 z\\\" })) : (React.createElement(\\\"path\\\", { d: \\\"M 11 9 L 24 16 L 11 23 z\\\" }));\\n return (React.createElement(\\\"div\\\", { className: \\\"execute-button-wrap\\\" },\\n React.createElement(\\\"button\\\", { type: \\\"button\\\", className: \\\"execute-button\\\", onMouseDown: onMouseDown, onClick: onClick, title: \\\"Execute Query (Ctrl-Enter)\\\" },\\n React.createElement(\\\"svg\\\", { width: \\\"34\\\", height: \\\"34\\\" }, pathJSX)),\\n options));\\n };\\n return ExecuteButton;\\n}(React.Component));\\nexport { ExecuteButton };\\n//# sourceMappingURL=ExecuteButton.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nfunction tokenToURL(token) {\\n if (token.type !== 'string') {\\n return;\\n }\\n var value = token.string.slice(1).slice(0, -1).trim();\\n try {\\n var location_1 = window.location;\\n return new URL(value, location_1.protocol + '//' + location_1.host);\\n }\\n catch (err) {\\n return;\\n }\\n}\\nfunction isImageURL(url) {\\n return /(bmp|gif|jpeg|jpg|png|svg)$/.test(url.pathname);\\n}\\nvar ImagePreview = (function (_super) {\\n __extends(ImagePreview, _super);\\n function ImagePreview() {\\n var _this = _super !== null && _super.apply(this, arguments) || this;\\n _this._node = null;\\n _this.state = {\\n width: null,\\n height: null,\\n src: null,\\n mime: null,\\n };\\n return _this;\\n }\\n ImagePreview.shouldRender = function (token) {\\n var url = tokenToURL(token);\\n return url ? isImageURL(url) : false;\\n };\\n ImagePreview.prototype.componentDidMount = function () {\\n this._updateMetadata();\\n };\\n ImagePreview.prototype.componentDidUpdate = function () {\\n this._updateMetadata();\\n };\\n ImagePreview.prototype.render = function () {\\n var _this = this;\\n var _a;\\n var dims = null;\\n if (this.state.width !== null && this.state.height !== null) {\\n var dimensions = this.state.width + 'x' + this.state.height;\\n if (this.state.mime !== null) {\\n dimensions += ' ' + this.state.mime;\\n }\\n dims = React.createElement(\\\"div\\\", null, dimensions);\\n }\\n return (React.createElement(\\\"div\\\", null,\\n React.createElement(\\\"img\\\", { onLoad: function () { return _this._updateMetadata(); }, ref: function (node) {\\n _this._node = node;\\n }, src: (_a = tokenToURL(this.props.token)) === null || _a === void 0 ? void 0 : _a.href }),\\n dims));\\n };\\n ImagePreview.prototype._updateMetadata = function () {\\n var _this = this;\\n if (!this._node) {\\n return;\\n }\\n var width = this._node.naturalWidth;\\n var height = this._node.naturalHeight;\\n var src = this._node.src;\\n if (src !== this.state.src) {\\n this.setState({ src: src });\\n fetch(src, { method: 'HEAD' }).then(function (response) {\\n _this.setState({\\n mime: response.headers.get('Content-Type'),\\n });\\n });\\n }\\n if (width !== this.state.width || height !== this.state.height) {\\n this.setState({ height: height, width: width });\\n }\\n };\\n return ImagePreview;\\n}(React.Component));\\nexport { ImagePreview };\\n//# sourceMappingURL=ImagePreview.js.map\",\"import invariant from \\\"../../../jsutils/invariant.mjs\\\";\\nimport { GraphQLError } from \\\"../../../error/GraphQLError.mjs\\\";\\nimport { getNamedType, isInputObjectType } from \\\"../../../type/definition.mjs\\\";\\n\\n/**\\n * No deprecated\\n *\\n * A GraphQL document is only valid if all selected fields and all used enum values have not been\\n * deprecated.\\n *\\n * Note: This rule is optional and is not part of the Validation section of the GraphQL\\n * Specification. The main purpose of this rule is detection of deprecated usages and not\\n * necessarily to forbid their use when querying a service.\\n */\\nexport function NoDeprecatedCustomRule(context) {\\n return {\\n Field: function Field(node) {\\n var fieldDef = context.getFieldDef();\\n var deprecationReason = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.deprecationReason;\\n\\n if (fieldDef && deprecationReason != null) {\\n var parentType = context.getParentType();\\n parentType != null || invariant(0);\\n context.reportError(new GraphQLError(\\\"The field \\\".concat(parentType.name, \\\".\\\").concat(fieldDef.name, \\\" is deprecated. \\\").concat(deprecationReason), node));\\n }\\n },\\n Argument: function Argument(node) {\\n var argDef = context.getArgument();\\n var deprecationReason = argDef === null || argDef === void 0 ? void 0 : argDef.deprecationReason;\\n\\n if (argDef && deprecationReason != null) {\\n var directiveDef = context.getDirective();\\n\\n if (directiveDef != null) {\\n context.reportError(new GraphQLError(\\\"Directive \\\\\\\"@\\\".concat(directiveDef.name, \\\"\\\\\\\" argument \\\\\\\"\\\").concat(argDef.name, \\\"\\\\\\\" is deprecated. \\\").concat(deprecationReason), node));\\n } else {\\n var parentType = context.getParentType();\\n var fieldDef = context.getFieldDef();\\n parentType != null && fieldDef != null || invariant(0);\\n context.reportError(new GraphQLError(\\\"Field \\\\\\\"\\\".concat(parentType.name, \\\".\\\").concat(fieldDef.name, \\\"\\\\\\\" argument \\\\\\\"\\\").concat(argDef.name, \\\"\\\\\\\" is deprecated. \\\").concat(deprecationReason), node));\\n }\\n }\\n },\\n ObjectField: function ObjectField(node) {\\n var inputObjectDef = getNamedType(context.getParentInputType());\\n\\n if (isInputObjectType(inputObjectDef)) {\\n var inputFieldDef = inputObjectDef.getFields()[node.name.value]; // flowlint-next-line unnecessary-optional-chain:off\\n\\n var deprecationReason = inputFieldDef === null || inputFieldDef === void 0 ? void 0 : inputFieldDef.deprecationReason;\\n\\n if (deprecationReason != null) {\\n context.reportError(new GraphQLError(\\\"The input field \\\".concat(inputObjectDef.name, \\\".\\\").concat(inputFieldDef.name, \\\" is deprecated. \\\").concat(deprecationReason), node));\\n }\\n }\\n },\\n EnumValue: function EnumValue(node) {\\n var enumValueDef = context.getEnumValue();\\n var deprecationReason = enumValueDef === null || enumValueDef === void 0 ? void 0 : enumValueDef.deprecationReason;\\n\\n if (enumValueDef && deprecationReason != null) {\\n var enumTypeDef = getNamedType(context.getInputType());\\n enumTypeDef != null || invariant(0);\\n context.reportError(new GraphQLError(\\\"The enum value \\\\\\\"\\\".concat(enumTypeDef.name, \\\".\\\").concat(enumValueDef.name, \\\"\\\\\\\" is deprecated. \\\").concat(deprecationReason), node));\\n }\\n }\\n };\\n}\\n\",\"var CodeMirrorSizer = (function () {\\n function CodeMirrorSizer() {\\n this.sizes = [];\\n }\\n CodeMirrorSizer.prototype.updateSizes = function (components) {\\n var _this = this;\\n components.forEach(function (component, i) {\\n if (component) {\\n var size = component.getClientHeight();\\n if (i <= _this.sizes.length && size !== _this.sizes[i]) {\\n var editor = component.getCodeMirror();\\n if (editor) {\\n editor.setSize(null, null);\\n }\\n }\\n _this.sizes[i] = size;\\n }\\n });\\n };\\n return CodeMirrorSizer;\\n}());\\nexport default CodeMirrorSizer;\\n//# sourceMappingURL=CodeMirrorSizer.js.map\",\"function isQuotaError(storage, e) {\\n return (e instanceof DOMException &&\\n (e.code === 22 ||\\n e.code === 1014 ||\\n e.name === 'QuotaExceededError' ||\\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\\n storage.length !== 0);\\n}\\nvar StorageAPI = (function () {\\n function StorageAPI(storage) {\\n this.storage =\\n storage || (typeof window !== 'undefined' ? window.localStorage : null);\\n }\\n StorageAPI.prototype.get = function (name) {\\n if (this.storage) {\\n var value = this.storage.getItem('graphiql:' + name);\\n if (value === 'null' || value === 'undefined') {\\n this.storage.removeItem('graphiql:' + name);\\n return null;\\n }\\n if (value) {\\n return value;\\n }\\n }\\n return null;\\n };\\n StorageAPI.prototype.set = function (name, value) {\\n var quotaError = false;\\n var error = null;\\n if (this.storage) {\\n var key = \\\"graphiql:\\\" + name;\\n if (value) {\\n try {\\n this.storage.setItem(key, value);\\n }\\n catch (e) {\\n error = e;\\n quotaError = isQuotaError(this.storage, e);\\n }\\n }\\n else {\\n this.storage.removeItem(key);\\n }\\n }\\n return {\\n isQuotaError: quotaError,\\n error: error,\\n };\\n };\\n return StorageAPI;\\n}());\\nexport default StorageAPI;\\n//# sourceMappingURL=StorageAPI.js.map\",\"'use strict';\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.Explorer = undefined;\\n\\nvar _Explorer = require('./Explorer');\\n\\nvar _Explorer2 = _interopRequireDefault(_Explorer);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nexports.Explorer = _Explorer2.default;\\nexports.default = _Explorer2.default;\",\"(function (global, factory) {\\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.graphqlWs = {}));\\n}(this, (function (exports) { 'use strict';\\n\\n /**\\n *\\n * protocol\\n *\\n */\\n /** The WebSocket sub-protocol used for the [GraphQL over WebSocket Protocol](/PROTOCOL.md). */\\n const GRAPHQL_TRANSPORT_WS_PROTOCOL = 'graphql-transport-ws';\\n\\n // Extremely small optimisation, reduces runtime prototype traversal\\n const baseHasOwnProperty = Object.prototype.hasOwnProperty;\\n function isObject(val) {\\n return typeof val === 'object' && val !== null;\\n }\\n function areGraphQLErrors(obj) {\\n return (Array.isArray(obj) &&\\n // must be at least one error\\n obj.length > 0 &&\\n // error has at least a message\\n obj.every((ob) => 'message' in ob));\\n }\\n function hasOwnProperty(obj, prop) {\\n return baseHasOwnProperty.call(obj, prop);\\n }\\n function hasOwnObjectProperty(obj, prop) {\\n return baseHasOwnProperty.call(obj, prop) && isObject(obj[prop]);\\n }\\n function hasOwnStringProperty(obj, prop) {\\n return baseHasOwnProperty.call(obj, prop) && typeof obj[prop] === 'string';\\n }\\n\\n /**\\n *\\n * message\\n *\\n */\\n /** Types of messages allowed to be sent by the client/server over the WS protocol. */\\n exports.MessageType = void 0;\\n (function (MessageType) {\\n MessageType[\\\"ConnectionInit\\\"] = \\\"connection_init\\\";\\n MessageType[\\\"ConnectionAck\\\"] = \\\"connection_ack\\\";\\n MessageType[\\\"Subscribe\\\"] = \\\"subscribe\\\";\\n MessageType[\\\"Next\\\"] = \\\"next\\\";\\n MessageType[\\\"Error\\\"] = \\\"error\\\";\\n MessageType[\\\"Complete\\\"] = \\\"complete\\\";\\n })(exports.MessageType || (exports.MessageType = {}));\\n /** Checks if the provided value is a message. */\\n function isMessage(val) {\\n if (isObject(val)) {\\n // all messages must have the `type` prop\\n if (!hasOwnStringProperty(val, 'type')) {\\n return false;\\n }\\n // validate other properties depending on the `type`\\n switch (val.type) {\\n case exports.MessageType.ConnectionInit:\\n // the connection init message can have optional payload object\\n return (!hasOwnProperty(val, 'payload') ||\\n val.payload === undefined ||\\n isObject(val.payload));\\n case exports.MessageType.ConnectionAck:\\n // the connection ack message can have optional payload object too\\n return (!hasOwnProperty(val, 'payload') ||\\n val.payload === undefined ||\\n isObject(val.payload));\\n case exports.MessageType.Subscribe:\\n return (hasOwnStringProperty(val, 'id') &&\\n hasOwnObjectProperty(val, 'payload') &&\\n (!hasOwnProperty(val.payload, 'operationName') ||\\n val.payload.operationName === undefined ||\\n val.payload.operationName === null ||\\n typeof val.payload.operationName === 'string') &&\\n hasOwnStringProperty(val.payload, 'query') &&\\n (!hasOwnProperty(val.payload, 'variables') ||\\n val.payload.variables === undefined ||\\n val.payload.variables === null ||\\n hasOwnObjectProperty(val.payload, 'variables')));\\n case exports.MessageType.Next:\\n return (hasOwnStringProperty(val, 'id') &&\\n hasOwnObjectProperty(val, 'payload'));\\n case exports.MessageType.Error:\\n return hasOwnStringProperty(val, 'id') && areGraphQLErrors(val.payload);\\n case exports.MessageType.Complete:\\n return hasOwnStringProperty(val, 'id');\\n default:\\n return false;\\n }\\n }\\n return false;\\n }\\n /** Parses the raw websocket message data to a valid message. */\\n function parseMessage(data) {\\n if (isMessage(data)) {\\n return data;\\n }\\n if (typeof data !== 'string') {\\n throw new Error('Message not parsable');\\n }\\n const message = JSON.parse(data);\\n if (!isMessage(message)) {\\n throw new Error('Invalid message');\\n }\\n return message;\\n }\\n /** Stringifies a valid message ready to be sent through the socket. */\\n function stringifyMessage(msg) {\\n if (!isMessage(msg)) {\\n throw new Error('Cannot stringify invalid message');\\n }\\n return JSON.stringify(msg);\\n }\\n\\n /**\\n *\\n * client\\n *\\n */\\n /** Creates a disposable GraphQL over WebSocket client. */\\n function createClient(options) {\\n const { url, connectionParams, lazy = true, onNonLazyError = console.error, keepAlive = 0, retryAttempts = 5, retryWait = async function randomisedExponentialBackoff(retries) {\\n let retryDelay = 1000; // start with 1s delay\\n for (let i = 0; i < retries; i++) {\\n retryDelay *= 2;\\n }\\n await new Promise((resolve) => setTimeout(resolve, retryDelay +\\n // add random timeout from 300ms to 3s\\n Math.floor(Math.random() * (3000 - 300) + 300)));\\n }, on, webSocketImpl, \\n /**\\n * Generates a v4 UUID to be used as the ID using `Math`\\n * as the random number generator. Supply your own generator\\n * in case you need more uniqueness.\\n *\\n * Reference: https://stackoverflow.com/a/2117523/709884\\n */\\n generateID = function generateUUID() {\\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\\n return v.toString(16);\\n });\\n }, } = options;\\n let ws;\\n if (webSocketImpl) {\\n if (!isWebSocket(webSocketImpl)) {\\n throw new Error('Invalid WebSocket implementation provided');\\n }\\n ws = webSocketImpl;\\n }\\n else if (typeof WebSocket !== 'undefined') {\\n ws = WebSocket;\\n }\\n else if (typeof global !== 'undefined') {\\n ws =\\n global.WebSocket ||\\n // @ts-expect-error: Support more browsers\\n global.MozWebSocket;\\n }\\n else if (typeof window !== 'undefined') {\\n ws =\\n window.WebSocket ||\\n // @ts-expect-error: Support more browsers\\n window.MozWebSocket;\\n }\\n if (!ws) {\\n throw new Error('WebSocket implementation missing');\\n }\\n const WebSocketImpl = ws;\\n // websocket status emitter, subscriptions are handled differently\\n const emitter = (() => {\\n const listeners = {\\n connecting: (on === null || on === void 0 ? void 0 : on.connecting) ? [on.connecting] : [],\\n connected: (on === null || on === void 0 ? void 0 : on.connected) ? [on.connected] : [],\\n closed: (on === null || on === void 0 ? void 0 : on.closed) ? [on.closed] : [],\\n };\\n return {\\n on(event, listener) {\\n const l = listeners[event];\\n l.push(listener);\\n return () => {\\n l.splice(l.indexOf(listener), 1);\\n };\\n },\\n emit(event, ...args) {\\n for (const listener of listeners[event]) {\\n // @ts-expect-error: The args should fit\\n listener(...args);\\n }\\n },\\n };\\n })();\\n let connecting, locks = 0, retrying = false, retries = 0, disposed = false;\\n async function connect() {\\n locks++;\\n const socket = await (connecting !== null && connecting !== void 0 ? connecting : (connecting = new Promise((resolve, reject) => (async () => {\\n if (retrying) {\\n await retryWait(retries);\\n retries++;\\n }\\n emitter.emit('connecting');\\n const socket = new WebSocketImpl(url, GRAPHQL_TRANSPORT_WS_PROTOCOL);\\n socket.onclose = (event) => {\\n connecting = undefined;\\n emitter.emit('closed', event);\\n reject(event);\\n };\\n socket.onopen = async () => {\\n try {\\n socket.send(stringifyMessage({\\n type: exports.MessageType.ConnectionInit,\\n payload: typeof connectionParams === 'function'\\n ? await connectionParams()\\n : connectionParams,\\n }));\\n }\\n catch (err) {\\n socket.close(4400, err instanceof Error ? err.message : new Error(err).message);\\n }\\n };\\n socket.onmessage = ({ data }) => {\\n socket.onmessage = null; // interested only in the first message\\n try {\\n const message = parseMessage(data);\\n if (message.type !== exports.MessageType.ConnectionAck) {\\n throw new Error(`First message cannot be of type ${message.type}`);\\n }\\n emitter.emit('connected', socket, message.payload); // connected = socket opened + acknowledged\\n retries = 0; // reset the retries on connect\\n resolve(socket);\\n }\\n catch (err) {\\n socket.close(4400, err instanceof Error ? err.message : new Error(err).message);\\n }\\n };\\n })())));\\n let release = () => {\\n // releases this connection lock\\n };\\n const released = new Promise((resolve) => (release = resolve));\\n return [\\n socket,\\n release,\\n Promise.race([\\n released.then(() => {\\n if (--locks === 0) {\\n // if no more connection locks are present, complete the connection\\n const complete = () => socket.close(1000, 'Normal Closure');\\n if (isFinite(keepAlive) && keepAlive > 0) {\\n // if the keepalive is set, allow for the specified calmdown time and\\n // then complete. but only if no lock got created in the meantime and\\n // if the socket is still open\\n setTimeout(() => {\\n if (!locks && socket.readyState === WebSocketImpl.OPEN)\\n complete();\\n }, keepAlive);\\n }\\n else {\\n // otherwise complete immediately\\n complete();\\n }\\n }\\n }),\\n new Promise((_resolve, reject) => socket.addEventListener('close', reject, { once: true })),\\n ]),\\n ];\\n }\\n /**\\n * Checks the `connect` problem and evaluates if the client should\\n * retry. If the problem is worth throwing, it will be thrown immediately.\\n */\\n function shouldRetryConnectOrThrow(errOrCloseEvent) {\\n // throw non `CloseEvent`s immediately, something else is wrong\\n if (!isLikeCloseEvent(errOrCloseEvent)) {\\n throw errOrCloseEvent;\\n }\\n // some close codes are worth reporting immediately\\n if ([\\n 1002,\\n 1011,\\n 4400,\\n 4401,\\n 4409,\\n 4429,\\n ].includes(errOrCloseEvent.code)) {\\n throw errOrCloseEvent;\\n }\\n // disposed or normal closure (completed), shouldnt try again\\n if (disposed || errOrCloseEvent.code === 1000) {\\n return false;\\n }\\n // retries are not allowed or we tried to many times, report error\\n if (!retryAttempts || retries >= retryAttempts) {\\n throw errOrCloseEvent;\\n }\\n // looks good, start retrying\\n retrying = true;\\n return true;\\n }\\n // in non-lazy (hot?) mode always hold one connection lock to persist the socket\\n if (!lazy) {\\n (async () => {\\n for (;;) {\\n try {\\n const [, , waitForReleaseOrThrowOnClose] = await connect();\\n await waitForReleaseOrThrowOnClose;\\n return; // completed, shouldnt try again\\n }\\n catch (errOrCloseEvent) {\\n try {\\n if (!shouldRetryConnectOrThrow(errOrCloseEvent))\\n return onNonLazyError === null || onNonLazyError === void 0 ? void 0 : onNonLazyError(errOrCloseEvent);\\n }\\n catch (_a) {\\n // report thrown error, no further retries\\n return onNonLazyError === null || onNonLazyError === void 0 ? void 0 : onNonLazyError(errOrCloseEvent);\\n }\\n }\\n }\\n })();\\n }\\n // to avoid parsing the same message in each\\n // subscriber, we memo one on the last received data\\n let lastData, lastMessage;\\n function memoParseMessage(data) {\\n if (data !== lastData) {\\n lastMessage = parseMessage(data);\\n lastData = data;\\n }\\n return lastMessage;\\n }\\n return {\\n on: emitter.on,\\n subscribe(payload, sink) {\\n const id = generateID();\\n let completed = false;\\n const releaserRef = {\\n current: () => {\\n // for handling completions before connect\\n completed = true;\\n },\\n };\\n function messageHandler({ data }) {\\n const message = memoParseMessage(data);\\n switch (message.type) {\\n case exports.MessageType.Next: {\\n if (message.id === id) {\\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\\n sink.next(message.payload);\\n }\\n return;\\n }\\n case exports.MessageType.Error: {\\n if (message.id === id) {\\n completed = true;\\n sink.error(message.payload);\\n releaserRef.current();\\n // TODO-db-201025 calling releaser will complete the sink, meaning that both the `error` and `complete` will be\\n // called. neither promises or observables care; once they settle, additional calls to the resolvers will be ignored\\n }\\n return;\\n }\\n case exports.MessageType.Complete: {\\n if (message.id === id) {\\n completed = true;\\n releaserRef.current(); // release completes the sink\\n }\\n return;\\n }\\n }\\n }\\n (async () => {\\n for (;;) {\\n try {\\n const [socket, release, waitForReleaseOrThrowOnClose,] = await connect();\\n // if completed while waiting for connect, release the connection lock right away\\n if (completed)\\n return release();\\n socket.addEventListener('message', messageHandler);\\n socket.send(stringifyMessage({\\n id: id,\\n type: exports.MessageType.Subscribe,\\n payload,\\n }));\\n releaserRef.current = () => {\\n if (!completed && socket.readyState === WebSocketImpl.OPEN) {\\n // if not completed already and socket is open, send complete message to server on release\\n socket.send(stringifyMessage({\\n id: id,\\n type: exports.MessageType.Complete,\\n }));\\n }\\n release();\\n };\\n // either the releaser will be called, connection completed and\\n // the promise resolved or the socket closed and the promise rejected\\n await waitForReleaseOrThrowOnClose;\\n socket.removeEventListener('message', messageHandler);\\n return; // completed, shouldnt try again\\n }\\n catch (errOrCloseEvent) {\\n if (!shouldRetryConnectOrThrow(errOrCloseEvent))\\n return;\\n }\\n }\\n })()\\n .catch(sink.error)\\n .then(sink.complete); // resolves on release or normal closure\\n return () => releaserRef.current();\\n },\\n async dispose() {\\n disposed = true;\\n if (connecting) {\\n // if there is a connection, close it\\n const socket = await connecting;\\n socket.close(1000, 'Normal Closure');\\n }\\n },\\n };\\n }\\n function isLikeCloseEvent(val) {\\n return isObject(val) && 'code' in val && 'reason' in val;\\n }\\n function isWebSocket(val) {\\n return (typeof val === 'function' &&\\n 'constructor' in val &&\\n 'CLOSED' in val &&\\n 'CLOSING' in val &&\\n 'CONNECTING' in val &&\\n 'OPEN' in val);\\n }\\n\\n exports.GRAPHQL_TRANSPORT_WS_PROTOCOL = GRAPHQL_TRANSPORT_WS_PROTOCOL;\\n exports.createClient = createClient;\\n exports.isMessage = isMessage;\\n exports.parseMessage = parseMessage;\\n exports.stringifyMessage = stringifyMessage;\\n\\n Object.defineProperty(exports, '__esModule', { value: true });\\n\\n})));\\n\",\"export default function symbolObservablePonyfill(root) {\\n\\tvar result;\\n\\tvar Symbol = root.Symbol;\\n\\n\\tif (typeof Symbol === 'function') {\\n\\t\\tif (Symbol.observable) {\\n\\t\\t\\tresult = Symbol.observable;\\n\\t\\t} else {\\n\\t\\t\\tresult = Symbol('observable');\\n\\t\\t\\tSymbol.observable = result;\\n\\t\\t}\\n\\t} else {\\n\\t\\tresult = '@@observable';\\n\\t}\\n\\n\\treturn result;\\n};\\n\",\"export default function _defineProperty(obj, key, value) {\\n if (key in obj) {\\n Object.defineProperty(obj, key, {\\n value: value,\\n enumerable: true,\\n configurable: true,\\n writable: true\\n });\\n } else {\\n obj[key] = value;\\n }\\n\\n return obj;\\n}\",\"import defineProperty from \\\"./defineProperty\\\";\\n\\nfunction ownKeys(object, enumerableOnly) {\\n var keys = Object.keys(object);\\n\\n if (Object.getOwnPropertySymbols) {\\n var symbols = Object.getOwnPropertySymbols(object);\\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\\n });\\n keys.push.apply(keys, symbols);\\n }\\n\\n return keys;\\n}\\n\\nexport default function _objectSpread2(target) {\\n for (var i = 1; i < arguments.length; i++) {\\n var source = arguments[i] != null ? arguments[i] : {};\\n\\n if (i % 2) {\\n ownKeys(Object(source), true).forEach(function (key) {\\n defineProperty(target, key, source[key]);\\n });\\n } else if (Object.getOwnPropertyDescriptors) {\\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\\n } else {\\n ownKeys(Object(source)).forEach(function (key) {\\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\\n });\\n }\\n }\\n\\n return target;\\n}\",\"export default function _AwaitValue(value) {\\n this.wrapped = value;\\n}\",\"import AwaitValue from \\\"./AwaitValue\\\";\\nexport default function _awaitAsyncGenerator(value) {\\n return new AwaitValue(value);\\n}\",\"import AwaitValue from \\\"./AwaitValue\\\";\\nexport default function AsyncGenerator(gen) {\\n var front, back;\\n\\n function send(key, arg) {\\n return new Promise(function (resolve, reject) {\\n var request = {\\n key: key,\\n arg: arg,\\n resolve: resolve,\\n reject: reject,\\n next: null\\n };\\n\\n if (back) {\\n back = back.next = request;\\n } else {\\n front = back = request;\\n resume(key, arg);\\n }\\n });\\n }\\n\\n function resume(key, arg) {\\n try {\\n var result = gen[key](arg);\\n var value = result.value;\\n var wrappedAwait = value instanceof AwaitValue;\\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {\\n if (wrappedAwait) {\\n resume(key === \\\"return\\\" ? \\\"return\\\" : \\\"next\\\", arg);\\n return;\\n }\\n\\n settle(result.done ? \\\"return\\\" : \\\"normal\\\", arg);\\n }, function (err) {\\n resume(\\\"throw\\\", err);\\n });\\n } catch (err) {\\n settle(\\\"throw\\\", err);\\n }\\n }\\n\\n function settle(type, value) {\\n switch (type) {\\n case \\\"return\\\":\\n front.resolve({\\n value: value,\\n done: true\\n });\\n break;\\n\\n case \\\"throw\\\":\\n front.reject(value);\\n break;\\n\\n default:\\n front.resolve({\\n value: value,\\n done: false\\n });\\n break;\\n }\\n\\n front = front.next;\\n\\n if (front) {\\n resume(front.key, front.arg);\\n } else {\\n back = null;\\n }\\n }\\n\\n this._invoke = send;\\n\\n if (typeof gen[\\\"return\\\"] !== \\\"function\\\") {\\n this[\\\"return\\\"] = undefined;\\n }\\n}\\n\\nif (typeof Symbol === \\\"function\\\" && Symbol.asyncIterator) {\\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\\n return this;\\n };\\n}\\n\\nAsyncGenerator.prototype.next = function (arg) {\\n return this._invoke(\\\"next\\\", arg);\\n};\\n\\nAsyncGenerator.prototype[\\\"throw\\\"] = function (arg) {\\n return this._invoke(\\\"throw\\\", arg);\\n};\\n\\nAsyncGenerator.prototype[\\\"return\\\"] = function (arg) {\\n return this._invoke(\\\"return\\\", arg);\\n};\",\"import AsyncGenerator from \\\"./AsyncGenerator\\\";\\nexport default function _wrapAsyncGenerator(fn) {\\n return function () {\\n return new AsyncGenerator(fn.apply(this, arguments));\\n };\\n}\",\"export default function _asyncIterator(iterable) {\\n var method;\\n\\n if (typeof Symbol !== \\\"undefined\\\") {\\n if (Symbol.asyncIterator) {\\n method = iterable[Symbol.asyncIterator];\\n if (method != null) return method.call(iterable);\\n }\\n\\n if (Symbol.iterator) {\\n method = iterable[Symbol.iterator];\\n if (method != null) return method.call(iterable);\\n }\\n }\\n\\n throw new TypeError(\\\"Object is not async iterable\\\");\\n}\",\"const separator = '\\\\r\\\\n\\\\r\\\\n';\\r\\nconst decoder = new TextDecoder;\\r\\nasync function* generate(stream, boundary, options) {\\r\\n const reader = stream.getReader(), is_eager = !options || !options.multiple;\\r\\n let buffer = '', is_preamble = true, payloads = [];\\r\\n try {\\r\\n let result;\\r\\n outer: while (!(result = await reader.read()).done) {\\r\\n const chunk = decoder.decode(result.value);\\r\\n const idx_chunk = chunk.indexOf(boundary);\\r\\n let idx_boundary = buffer.length;\\r\\n buffer += chunk;\\r\\n if (!!~idx_chunk) {\\r\\n // chunk itself had `boundary` marker\\r\\n idx_boundary += idx_chunk;\\r\\n }\\r\\n else {\\r\\n // search combined (boundary can be across chunks)\\r\\n idx_boundary = buffer.indexOf(boundary);\\r\\n }\\r\\n payloads = [];\\r\\n while (!!~idx_boundary) {\\r\\n const current = buffer.substring(0, idx_boundary);\\r\\n const next = buffer.substring(idx_boundary + boundary.length);\\r\\n if (is_preamble) {\\r\\n is_preamble = false;\\r\\n }\\r\\n else {\\r\\n const headers = {};\\r\\n const idx_headers = current.indexOf(separator);\\r\\n const arr_headers = buffer.slice(0, idx_headers).toString().trim().split(/\\\\r\\\\n/);\\r\\n // parse headers\\r\\n let tmp;\\r\\n while (tmp = arr_headers.shift()) {\\r\\n tmp = tmp.split(': ');\\r\\n headers[tmp.shift().toLowerCase()] = tmp.join(': ');\\r\\n }\\r\\n let body = current.substring(idx_headers + separator.length, current.lastIndexOf('\\\\r\\\\n'));\\r\\n let is_json = false;\\r\\n tmp = headers['content-type'];\\r\\n if (tmp && !!~tmp.indexOf('application/json')) {\\r\\n try {\\r\\n body = JSON.parse(body);\\r\\n is_json = true;\\r\\n }\\r\\n catch (_) {\\r\\n }\\r\\n }\\r\\n tmp = { headers, body, json: is_json };\\r\\n is_eager ? yield tmp : payloads.push(tmp);\\r\\n // hit a tail boundary, break\\r\\n if (next.substring(0, 2) === '--')\\r\\n break outer;\\r\\n }\\r\\n buffer = next;\\r\\n idx_boundary = buffer.indexOf(boundary);\\r\\n }\\r\\n if (payloads.length)\\r\\n yield payloads;\\r\\n }\\r\\n }\\r\\n finally {\\r\\n if (payloads.length)\\r\\n yield payloads;\\r\\n reader.releaseLock();\\r\\n }\\r\\n}\\n\\n/**\\r\\n * Yield immediately for every part made available on the response. If the `content-type` of the response isn't a\\r\\n * multipart body, then we'll resolve with {@link Response}.\\r\\n *\\r\\n * @example\\r\\n *\\r\\n * ```js\\r\\n * const parts = await fetch('/fetch-multipart')\\r\\n * .then(meros);\\r\\n *\\r\\n * for await (const part of parts) {\\r\\n * // do something with this part\\r\\n * }\\r\\n * ```\\r\\n */\\r\\nasync function meros(response, options) {\\r\\n if (!response.ok || !response.body || response.bodyUsed)\\r\\n return response;\\r\\n const ctype = response.headers.get('content-type');\\r\\n if (!ctype || !~ctype.indexOf('multipart/mixed'))\\r\\n return response;\\r\\n const idx_boundary = ctype.indexOf('boundary=');\\r\\n return generate(response.body, `--${!!~idx_boundary\\r\\n ? // +9 for 'boundary='.length\\r\\n ctype.substring(idx_boundary + 9).trim().replace(/['\\\"]/g, '')\\r\\n : '-'}`, options);\\r\\n}\\n\\nexport { meros };\\n\",\"type Deferred = {\\n resolve: (value: T) => void;\\n reject: (value: unknown) => void;\\n promise: Promise;\\n};\\n\\nfunction createDeferred(): Deferred {\\n const d = {} as Deferred;\\n d.promise = new Promise((resolve, reject) => {\\n d.resolve = resolve;\\n d.reject = reject;\\n });\\n return d;\\n}\\n\\nexport type PushPullAsyncIterableIterator = {\\n /* Push a new value that will be published on the AsyncIterableIterator. */\\n pushValue: (value: T) => void;\\n /* AsyncIterableIterator that publishes the values pushed on the stack with pushValue. */\\n asyncIterableIterator: AsyncIterableIterator;\\n};\\n\\nconst SYMBOL_FINISHED = Symbol();\\nconst SYMBOL_NEW_VALUE = Symbol();\\n\\n/**\\n * makePushPullAsyncIterableIterator\\n *\\n * The iterable will publish values until return or throw is called.\\n * Afterwards it is in the completed state and cannot be used for publishing any further values.\\n * It will handle back-pressure and keep pushed values until they are consumed by a source.\\n */\\nexport function makePushPullAsyncIterableIterator<\\n T\\n>(): PushPullAsyncIterableIterator {\\n let isRunning = true;\\n const values: Array = [];\\n\\n let newValueD = createDeferred();\\n let finishedD = createDeferred();\\n\\n const asyncIterableIterator = (async function* PushPullAsyncIterableIterator(): AsyncIterableIterator<\\n T\\n > {\\n while (true) {\\n if (values.length > 0) {\\n yield values.shift()!;\\n } else {\\n const result = await Promise.race([\\n newValueD.promise,\\n finishedD.promise\\n ]);\\n\\n if (result === SYMBOL_FINISHED) {\\n break;\\n }\\n }\\n }\\n })();\\n\\n function pushValue(value: T) {\\n if (isRunning === false) {\\n // TODO: Should this throw?\\n return;\\n }\\n\\n values.push(value);\\n newValueD.resolve(SYMBOL_NEW_VALUE);\\n newValueD = createDeferred();\\n }\\n\\n // We monkey patch the original generator for clean-up\\n const originalReturn = asyncIterableIterator[\\\"return\\\"]?.bind(\\n asyncIterableIterator\\n );\\n asyncIterableIterator[\\\"return\\\"] = (\\n ...args\\n ): Promise> => {\\n isRunning = false;\\n finishedD.resolve(SYMBOL_FINISHED);\\n return (\\n originalReturn?.(...args) ??\\n Promise.resolve({ done: true, value: undefined })\\n );\\n };\\n const originalThrow = asyncIterableIterator[\\\"throw\\\"]?.bind(\\n asyncIterableIterator\\n );\\n asyncIterableIterator[\\\"throw\\\"] = (\\n ...args\\n ): Promise> => {\\n isRunning = false;\\n finishedD.resolve(SYMBOL_FINISHED);\\n return (\\n originalThrow?.(...args) ??\\n Promise.resolve({ done: true, value: undefined })\\n );\\n };\\n\\n return {\\n pushValue,\\n asyncIterableIterator\\n };\\n}\\n\",\"import { makePushPullAsyncIterableIterator } from \\\"./makePushPullAsyncIterableIterator\\\";\\nimport { Sink } from \\\"./Sink\\\";\\n\\nexport const makeAsyncIterableIteratorFromSink = <\\n TValue = unknown,\\n TError = unknown\\n>(\\n make: (sink: Sink) => () => void\\n): AsyncIterableIterator => {\\n const {\\n pushValue,\\n asyncIterableIterator\\n } = makePushPullAsyncIterableIterator();\\n let dispose: () => void = () => undefined;\\n\\n const sink: Sink = {\\n next: (value: TValue) => {\\n pushValue(value);\\n },\\n complete: () => {\\n dispose();\\n asyncIterableIterator.return?.();\\n },\\n error: (err: TError) => {\\n asyncIterableIterator.throw?.(err);\\n }\\n };\\n\\n dispose = make(sink);\\n return asyncIterableIterator;\\n};\\n\",\"import { visit } from 'graphql';\\nimport { meros } from 'meros';\\nimport { createClient } from 'graphql-ws';\\nimport { SubscriptionClient } from 'subscriptions-transport-ws';\\nimport { isAsyncIterable, makeAsyncIterableIteratorFromSink, } from '@n1ru4l/push-pull-async-iterable-iterator';\\nexport const isSubscriptionWithName = (document, name) => {\\n let isSubscription = false;\\n visit(document, {\\n OperationDefinition(node) {\\n if (name === node.name?.value) {\\n if (node.operation === 'subscription') {\\n isSubscription = true;\\n }\\n }\\n },\\n });\\n return isSubscription;\\n};\\nexport const createSimpleFetcher = (options, httpFetch) => async (graphQLParams, fetcherOpts) => {\\n const data = await httpFetch(options.url, {\\n method: 'POST',\\n body: JSON.stringify(graphQLParams),\\n headers: {\\n 'content-type': 'application/json',\\n ...options.headers,\\n ...fetcherOpts?.headers,\\n },\\n });\\n return data.json();\\n};\\nexport const createWebsocketsFetcherFromUrl = (url, connectionParams) => {\\n let wsClient = null;\\n let legacyClient = null;\\n if (url) {\\n try {\\n try {\\n wsClient = createClient({\\n url,\\n connectionParams,\\n });\\n if (!wsClient) {\\n legacyClient = new SubscriptionClient(url, { connectionParams });\\n }\\n }\\n catch (err) {\\n legacyClient = new SubscriptionClient(url, { connectionParams });\\n }\\n }\\n catch (err) {\\n console.error(`Error creating websocket client for:\\\\n${url}\\\\n\\\\n${err}`);\\n }\\n }\\n if (wsClient) {\\n return createWebsocketsFetcherFromClient(wsClient);\\n }\\n else if (legacyClient) {\\n return createLegacyWebsocketsFetcher(legacyClient);\\n }\\n else if (url) {\\n throw Error('subscriptions client failed to initialize');\\n }\\n};\\nexport const createWebsocketsFetcherFromClient = (wsClient) => (graphQLParams) => makeAsyncIterableIteratorFromSink(sink => wsClient.subscribe(graphQLParams, sink));\\nexport const createLegacyWebsocketsFetcher = (legacyWsClient) => (graphQLParams) => {\\n const observable = legacyWsClient.request(graphQLParams);\\n return makeAsyncIterableIteratorFromSink(sink => observable.subscribe(sink).unsubscribe);\\n};\\nexport const createMultipartFetcher = (options, httpFetch) => async function* (graphQLParams, fetcherOpts) {\\n const response = await httpFetch(options.url, {\\n method: 'POST',\\n body: JSON.stringify(graphQLParams),\\n headers: {\\n 'content-type': 'application/json',\\n accept: 'application/json, multipart/mixed',\\n ...options.headers,\\n ...fetcherOpts?.headers,\\n },\\n }).then(response => meros(response, {\\n multiple: true,\\n }));\\n if (!isAsyncIterable(response)) {\\n return yield response.json();\\n }\\n for await (const chunk of response) {\\n if (chunk.some(part => !part.json)) {\\n const message = chunk.map(part => `Headers::\\\\n${part.headers}\\\\n\\\\nBody::\\\\n${part.body}`);\\n throw new Error(`Expected multipart chunks to be of json type. got:\\\\n${message}`);\\n }\\n yield chunk.map(part => part.body);\\n }\\n};\\n//# sourceMappingURL=lib.js.map\",\"export function isAsyncIterable(\\n input: unknown\\n): input is AsyncIterator | AsyncIterableIterator {\\n return (\\n typeof input === \\\"object\\\" &&\\n input !== null &&\\n // The AsyncGenerator check is for Safari on iOS which currently does not have\\n // Symbol.asyncIterator implemented\\n // That means every custom AsyncIterable must be built using a AsyncGeneratorFunction (async function * () {})\\n ((input as any)[Symbol.toStringTag] === \\\"AsyncGenerator\\\" ||\\n (Symbol.asyncIterator && Symbol.asyncIterator in input))\\n );\\n}\\n\",\"import { createMultipartFetcher, createSimpleFetcher, isSubscriptionWithName, createWebsocketsFetcherFromUrl, createWebsocketsFetcherFromClient, } from './lib';\\nexport function createGraphiQLFetcher(options) {\\n let httpFetch;\\n let wsFetcher = null;\\n if (typeof window !== null && window?.fetch) {\\n httpFetch = window.fetch;\\n }\\n if (options?.enableIncrementalDelivery === null ||\\n options.enableIncrementalDelivery !== false) {\\n options.enableIncrementalDelivery = true;\\n }\\n if (options.fetch) {\\n httpFetch = options.fetch;\\n }\\n if (!httpFetch) {\\n throw Error('No valid fetcher implementation available');\\n }\\n const simpleFetcher = createSimpleFetcher(options, httpFetch);\\n if (options.subscriptionUrl) {\\n wsFetcher = createWebsocketsFetcherFromUrl(options.subscriptionUrl);\\n }\\n if (options.wsClient) {\\n wsFetcher = createWebsocketsFetcherFromClient(options.wsClient);\\n }\\n const httpFetcher = options.enableIncrementalDelivery\\n ? createMultipartFetcher(options, httpFetch)\\n : simpleFetcher;\\n return (graphQLParams, fetcherOpts) => {\\n if (graphQLParams.operationName === 'IntrospectionQuery') {\\n return (options.schemaFetcher || simpleFetcher)(graphQLParams, fetcherOpts);\\n }\\n const isSubscription = isSubscriptionWithName(fetcherOpts?.documentAST, graphQLParams.operationName);\\n if (isSubscription) {\\n if (!wsFetcher) {\\n throw Error(`Your GraphiQL createFetcher is not properly configured for websocket subscriptions yet. ${options.subscriptionUrl\\n ? `Provided URL ${options.subscriptionUrl} failed`\\n : `Try providing options.subscriptionUrl or options.wsClient first.`}`);\\n }\\n return wsFetcher(graphQLParams);\\n }\\n return httpFetcher(graphQLParams, fetcherOpts);\\n };\\n}\\n//# sourceMappingURL=createFetcher.js.map\",\"var __spreadArrays = (this && this.__spreadArrays) || function () {\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\n r[k] = a[j];\\n return r;\\n};\\nvar QueryStore = (function () {\\n function QueryStore(key, storage, maxSize) {\\n if (maxSize === void 0) { maxSize = null; }\\n this.key = key;\\n this.storage = storage;\\n this.maxSize = maxSize;\\n this.items = this.fetchAll();\\n }\\n Object.defineProperty(QueryStore.prototype, \\\"length\\\", {\\n get: function () {\\n return this.items.length;\\n },\\n enumerable: false,\\n configurable: true\\n });\\n QueryStore.prototype.contains = function (item) {\\n return this.items.some(function (x) {\\n return x.query === item.query &&\\n x.variables === item.variables &&\\n x.headers === item.headers &&\\n x.operationName === item.operationName;\\n });\\n };\\n QueryStore.prototype.edit = function (item) {\\n var itemIndex = this.items.findIndex(function (x) {\\n return x.query === item.query &&\\n x.variables === item.variables &&\\n x.headers === item.headers &&\\n x.operationName === item.operationName;\\n });\\n if (itemIndex !== -1) {\\n this.items.splice(itemIndex, 1, item);\\n this.save();\\n }\\n };\\n QueryStore.prototype.delete = function (item) {\\n var itemIndex = this.items.findIndex(function (x) {\\n return x.query === item.query &&\\n x.variables === item.variables &&\\n x.headers === item.headers &&\\n x.operationName === item.operationName;\\n });\\n if (itemIndex !== -1) {\\n this.items.splice(itemIndex, 1);\\n this.save();\\n }\\n };\\n QueryStore.prototype.fetchRecent = function () {\\n return this.items[this.items.length - 1];\\n };\\n QueryStore.prototype.fetchAll = function () {\\n var raw = this.storage.get(this.key);\\n if (raw) {\\n return JSON.parse(raw)[this.key];\\n }\\n return [];\\n };\\n QueryStore.prototype.push = function (item) {\\n var _a;\\n var items = __spreadArrays(this.items, [item]);\\n if (this.maxSize && items.length > this.maxSize) {\\n items.shift();\\n }\\n for (var attempts = 0; attempts < 5; attempts++) {\\n var response = this.storage.set(this.key, JSON.stringify((_a = {}, _a[this.key] = items, _a)));\\n if (!response || !response.error) {\\n this.items = items;\\n }\\n else if (response.isQuotaError && this.maxSize) {\\n items.shift();\\n }\\n else {\\n return;\\n }\\n }\\n };\\n QueryStore.prototype.save = function () {\\n var _a;\\n this.storage.set(this.key, JSON.stringify((_a = {}, _a[this.key] = this.items, _a)));\\n };\\n return QueryStore;\\n}());\\nexport default QueryStore;\\n//# sourceMappingURL=QueryStore.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nimport React from 'react';\\nvar HistoryQuery = (function (_super) {\\n __extends(HistoryQuery, _super);\\n function HistoryQuery(props) {\\n var _this = _super.call(this, props) || this;\\n _this.state = {\\n editable: false,\\n };\\n _this.editField = null;\\n return _this;\\n }\\n HistoryQuery.prototype.render = function () {\\n var _this = this;\\n var _a;\\n var displayName = this.props.label ||\\n this.props.operationName || ((_a = this.props.query) === null || _a === void 0 ? void 0 : _a.split('\\\\n').filter(function (line) { return line.indexOf('#') !== 0; }).join(''));\\n var starIcon = this.props.favorite ? '\\\\u2605' : '\\\\u2606';\\n return (React.createElement(\\\"li\\\", { className: this.state.editable ? 'editable' : undefined },\\n this.state.editable ? (React.createElement(\\\"input\\\", { type: \\\"text\\\", defaultValue: this.props.label, ref: function (c) {\\n _this.editField = c;\\n }, onBlur: this.handleFieldBlur.bind(this), onKeyDown: this.handleFieldKeyDown.bind(this), placeholder: \\\"Type a label\\\" })) : (React.createElement(\\\"button\\\", { className: \\\"history-label\\\", onClick: this.handleClick.bind(this) }, displayName)),\\n React.createElement(\\\"button\\\", { onClick: this.handleEditClick.bind(this), \\\"aria-label\\\": \\\"Edit label\\\" }, '\\\\u270e'),\\n React.createElement(\\\"button\\\", { className: this.props.favorite ? 'favorited' : undefined, onClick: this.handleStarClick.bind(this), \\\"aria-label\\\": this.props.favorite ? 'Remove favorite' : 'Add favorite' }, starIcon)));\\n };\\n HistoryQuery.prototype.handleClick = function () {\\n this.props.onSelect(this.props.query, this.props.variables, this.props.headers, this.props.operationName, this.props.label);\\n };\\n HistoryQuery.prototype.handleStarClick = function (e) {\\n e.stopPropagation();\\n this.props.handleToggleFavorite(this.props.query, this.props.variables, this.props.headers, this.props.operationName, this.props.label, this.props.favorite);\\n };\\n HistoryQuery.prototype.handleFieldBlur = function (e) {\\n e.stopPropagation();\\n this.setState({ editable: false });\\n this.props.handleEditLabel(this.props.query, this.props.variables, this.props.headers, this.props.operationName, e.target.value, this.props.favorite);\\n };\\n HistoryQuery.prototype.handleFieldKeyDown = function (e) {\\n if (e.keyCode === 13) {\\n e.stopPropagation();\\n this.setState({ editable: false });\\n this.props.handleEditLabel(this.props.query, this.props.variables, this.props.headers, this.props.operationName, e.currentTarget.value, this.props.favorite);\\n }\\n };\\n HistoryQuery.prototype.handleEditClick = function (e) {\\n var _this = this;\\n e.stopPropagation();\\n this.setState({ editable: true }, function () {\\n if (_this.editField) {\\n _this.editField.focus();\\n }\\n });\\n };\\n return HistoryQuery;\\n}(React.Component));\\nexport default HistoryQuery;\\n//# sourceMappingURL=HistoryQuery.js.map\",\"var __extends = (this && this.__extends) || (function () {\\n var extendStatics = function (d, b) {\\n extendStatics = Object.setPrototypeOf ||\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\\n return extendStatics(d, b);\\n };\\n return function (d, b) {\\n extendStatics(d, b);\\n function __() { this.constructor = d; }\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n };\\n})();\\nvar __assign = (this && this.__assign) || function () {\\n __assign = Object.assign || function(t) {\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\n s = arguments[i];\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\\n t[p] = s[p];\\n }\\n return t;\\n };\\n return __assign.apply(this, arguments);\\n};\\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\n r[k] = a[j];\\n return r;\\n};\\nimport { parse } from 'graphql';\\nimport React from 'react';\\nimport QueryStore from '../utility/QueryStore';\\nimport HistoryQuery from './HistoryQuery';\\nvar MAX_QUERY_SIZE = 100000;\\nvar MAX_HISTORY_LENGTH = 20;\\nvar shouldSaveQuery = function (query, variables, headers, lastQuerySaved) {\\n if (!query) {\\n return false;\\n }\\n try {\\n parse(query);\\n }\\n catch (e) {\\n return false;\\n }\\n if (query.length > MAX_QUERY_SIZE) {\\n return false;\\n }\\n if (!lastQuerySaved) {\\n return true;\\n }\\n if (JSON.stringify(query) === JSON.stringify(lastQuerySaved.query)) {\\n if (JSON.stringify(variables) === JSON.stringify(lastQuerySaved.variables)) {\\n if (JSON.stringify(headers) === JSON.stringify(lastQuerySaved.headers)) {\\n return false;\\n }\\n if (headers && !lastQuerySaved.headers) {\\n return false;\\n }\\n }\\n if (variables && !lastQuerySaved.variables) {\\n return false;\\n }\\n }\\n return true;\\n};\\nvar QueryHistory = (function (_super) {\\n __extends(QueryHistory, _super);\\n function QueryHistory(props) {\\n var _this = _super.call(this, props) || this;\\n _this.updateHistory = function (query, variables, headers, operationName) {\\n if (shouldSaveQuery(query, variables, headers, _this.historyStore.fetchRecent())) {\\n _this.historyStore.push({\\n query: query,\\n variables: variables,\\n headers: headers,\\n operationName: operationName,\\n });\\n var historyQueries = _this.historyStore.items;\\n var favoriteQueries = _this.favoriteStore.items;\\n var queries = historyQueries.concat(favoriteQueries);\\n _this.setState({\\n queries: queries,\\n });\\n }\\n };\\n _this.toggleFavorite = function (query, variables, headers, operationName, label, favorite) {\\n var item = {\\n query: query,\\n variables: variables,\\n headers: headers,\\n operationName: operationName,\\n label: label,\\n };\\n if (!_this.favoriteStore.contains(item)) {\\n item.favorite = true;\\n _this.favoriteStore.push(item);\\n }\\n else if (favorite) {\\n item.favorite = false;\\n _this.favoriteStore.delete(item);\\n }\\n _this.setState({\\n queries: __spreadArrays(_this.historyStore.items, _this.favoriteStore.items),\\n });\\n };\\n _this.editLabel = function (query, variables, headers, operationName, label, favorite) {\\n var item = {\\n query: query,\\n variables: variables,\\n headers: headers,\\n operationName: operationName,\\n label: label,\\n };\\n if (favorite) {\\n _this.favoriteStore.edit(__assign(__assign({}, item), { favorite: favorite }));\\n }\\n else {\\n _this.historyStore.edit(item);\\n }\\n _this.setState({\\n queries: __spreadArrays(_this.historyStore.items, _this.favoriteStore.items),\\n });\\n };\\n _this.historyStore = new QueryStore('queries', props.storage, MAX_HISTORY_LENGTH);\\n _this.favoriteStore = new QueryStore('favorites', props.storage, null);\\n var historyQueries = _this.historyStore.fetchAll();\\n var favoriteQueries = _this.favoriteStore.fetchAll();\\n var queries = historyQueries.concat(favoriteQueries);\\n _this.state = { queries: queries };\\n return _this;\\n }\\n QueryHistory.prototype.render = function () {\\n var _this = this;\\n var queries = this.state.queries.slice().reverse();\\n var queryNodes = queries.map(function (query, i) {\\n return (React.createElement(HistoryQuery, __assign({ handleEditLabel: _this.editLabel, handleToggleFavorite: _this.toggleFavorite, key: i + \\\":\\\" + (query.label || query.query), onSelect: _this.props.onSelectQuery }, query)));\\n });\\n return (React.createElement(\\\"section\\\", { \\\"aria-label\\\": \\\"History\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"history-title-bar\\\" },\\n React.createElement(\\\"div\\\", { className: \\\"history-title\\\" }, 'History'),\\n React.createElement(\\\"div\\\", { className: \\\"doc-explorer-rhs\\\" }, this.props.children)),\\n React.createElement(\\\"ul\\\", { className: \\\"history-contents\\\" }, queryNodes)));\\n };\\n return QueryHistory;\\n}(React.Component));\\nexport { QueryHistory };\\n//# sourceMappingURL=QueryHistory.js.map\",\"/** @license React v16.14.0\\n * react.production.min.js\\n *\\n * Copyright (c) Facebook, Inc. and its affiliates.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n'use strict';var l=require(\\\"object-assign\\\"),n=\\\"function\\\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\\\"react.element\\\"):60103,q=n?Symbol.for(\\\"react.portal\\\"):60106,r=n?Symbol.for(\\\"react.fragment\\\"):60107,t=n?Symbol.for(\\\"react.strict_mode\\\"):60108,u=n?Symbol.for(\\\"react.profiler\\\"):60114,v=n?Symbol.for(\\\"react.provider\\\"):60109,w=n?Symbol.for(\\\"react.context\\\"):60110,x=n?Symbol.for(\\\"react.forward_ref\\\"):60112,y=n?Symbol.for(\\\"react.suspense\\\"):60113,z=n?Symbol.for(\\\"react.memo\\\"):60115,A=n?Symbol.for(\\\"react.lazy\\\"):\\n60116,B=\\\"function\\\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\\\"https://reactjs.org/docs/error-decoder.html?invariant=\\\"+a,c=1;cQ.length&&Q.push(a)}\\nfunction T(a,b,c,e){var d=typeof a;if(\\\"undefined\\\"===d||\\\"boolean\\\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \\\"string\\\":case \\\"number\\\":g=!0;break;case \\\"object\\\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\\\"\\\"===b?\\\".\\\"+U(a,0):b),1;g=0;b=\\\"\\\"===b?\\\".\\\":b+\\\":\\\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\\n\\\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\\\".split(\\\" \\\").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\\\"acceptCharset\\\",\\\"accept-charset\\\"],[\\\"className\\\",\\\"class\\\"],[\\\"htmlFor\\\",\\\"for\\\"],[\\\"httpEquiv\\\",\\\"http-equiv\\\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\\\"contentEditable\\\",\\\"draggable\\\",\\\"spellCheck\\\",\\\"value\\\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\\n[\\\"autoReverse\\\",\\\"externalResourcesRequired\\\",\\\"focusable\\\",\\\"preserveAlpha\\\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\\\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\\\".split(\\\" \\\").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\\n[\\\"checked\\\",\\\"multiple\\\",\\\"muted\\\",\\\"selected\\\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\\\"capture\\\",\\\"download\\\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\\\"cols\\\",\\\"rows\\\",\\\"size\\\",\\\"span\\\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\\\"rowSpan\\\",\\\"start\\\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\\n\\\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\\\".split(\\\" \\\").forEach(function(a){var b=a.replace(Ua,\\nVa);C[b]=new v(b,1,!1,a,null,!1)});\\\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\\\".split(\\\" \\\").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\\\"http://www.w3.org/1999/xlink\\\",!1)});[\\\"xml:base\\\",\\\"xml:lang\\\",\\\"xml:space\\\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\\\"http://www.w3.org/XML/1998/namespace\\\",!1)});[\\\"tabIndex\\\",\\\"crossOrigin\\\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\\nC.xlinkHref=new v(\\\"xlinkHref\\\",1,!1,\\\"xlink:href\\\",\\\"http://www.w3.org/1999/xlink\\\",!0);[\\\"src\\\",\\\"href\\\",\\\"action\\\",\\\"formAction\\\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\\\"ReactCurrentDispatcher\\\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\\\"ReactCurrentBatchConfig\\\")||(Wa.ReactCurrentBatchConfig={suspense:null});\\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\\\"\\\");c=b}a._wrapperState={initialValue:rb(c)}}\\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\\\"\\\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\\\"\\\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\\\"\\\"!==b&&null!==b&&(a.value=b)}var Mb={html:\\\"http://www.w3.org/1999/xhtml\\\",mathml:\\\"http://www.w3.org/1998/Math/MathML\\\",svg:\\\"http://www.w3.org/2000/svg\\\"};\\nfunction Nb(a){switch(a){case \\\"svg\\\":return\\\"http://www.w3.org/2000/svg\\\";case \\\"math\\\":return\\\"http://www.w3.org/1998/Math/MathML\\\";default:return\\\"http://www.w3.org/1999/xhtml\\\"}}function Ob(a,b){return null==a||\\\"http://www.w3.org/1999/xhtml\\\"===a?Nb(b):\\\"http://www.w3.org/2000/svg\\\"===a&&\\\"foreignObject\\\"===b?\\\"http://www.w3.org/1999/xhtml\\\":a}\\nvar Pb,Qb=function(a){return\\\"undefined\\\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\\\"innerHTML\\\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\\\"div\\\");Pb.innerHTML=\\\"\\\"+b.valueOf().toString()+\\\"\\\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\\\"Webkit\\\"+a]=\\\"webkit\\\"+b;c[\\\"Moz\\\"+a]=\\\"moz\\\"+b;return c}var Tb={animationend:Sb(\\\"Animation\\\",\\\"AnimationEnd\\\"),animationiteration:Sb(\\\"Animation\\\",\\\"AnimationIteration\\\"),animationstart:Sb(\\\"Animation\\\",\\\"AnimationStart\\\"),transitionend:Sb(\\\"Transition\\\",\\\"TransitionEnd\\\")},Ub={},Vb={};\\nya&&(Vb=document.createElement(\\\"div\\\").style,\\\"AnimationEvent\\\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\\\"TransitionEvent\\\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\\nvar Xb=Wb(\\\"animationend\\\"),Yb=Wb(\\\"animationiteration\\\"),Zb=Wb(\\\"animationstart\\\"),$b=Wb(\\\"transitionend\\\"),ac=\\\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\\\".split(\\\" \\\"),bc=new (\\\"function\\\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\\\"contains\\\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\\\"string\\\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\\\"input\\\"===b&&(\\\"text\\\"===a.type||\\\"search\\\"===a.type||\\\"tel\\\"===a.type||\\\"url\\\"===a.type||\\\"password\\\"===a.type)||\\\"textarea\\\"===b||\\\"true\\\"===a.contentEditable)}var zd=\\\"$\\\",Ad=\\\"/$\\\",Bd=\\\"$?\\\",Cd=\\\"$!\\\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \\\"button\\\":case \\\"input\\\":case \\\"select\\\":case \\\"textarea\\\":return!!b.autoFocus}return!1}\\nfunction Gd(a,b){return\\\"textarea\\\"===a||\\\"option\\\"===a||\\\"noscript\\\"===a||\\\"string\\\"===typeof b.children||\\\"number\\\"===typeof b.children||\\\"object\\\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\\\"function\\\"===typeof setTimeout?setTimeout:void 0,Id=\\\"function\\\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\\\"__reactInternalInstance$\\\"+Ld,Nd=\\\"__reactEventHandlers$\\\"+Ld,Od=\\\"__reactContainere$\\\"+Ld;\\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \\\"onClick\\\":case \\\"onClickCapture\\\":case \\\"onDoubleClick\\\":case \\\"onDoubleClickCapture\\\":case \\\"onMouseDown\\\":case \\\"onMouseDownCapture\\\":case \\\"onMouseMove\\\":case \\\"onMouseMoveCapture\\\":case \\\"onMouseUp\\\":case \\\"onMouseUpCapture\\\":case \\\"onMouseEnter\\\":(d=!d.disabled)||(a=a.type,d=!(\\\"button\\\"===a||\\\"input\\\"===a||\\\"select\\\"===a||\\\"textarea\\\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\\\"function\\\"!==typeof c)throw Error(u(231,\\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\\\"CompositionEvent\\\"in window,ke=null;ya&&\\\"documentMode\\\"in document&&(ke=document.documentMode);\\nvar le=ya&&\\\"TextEvent\\\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\\\"onBeforeInput\\\",captured:\\\"onBeforeInputCapture\\\"},dependencies:[\\\"compositionend\\\",\\\"keypress\\\",\\\"textInput\\\",\\\"paste\\\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\\\"onCompositionEnd\\\",captured:\\\"onCompositionEndCapture\\\"},dependencies:\\\"blur compositionend keydown keypress keyup mousedown\\\".split(\\\" \\\")},compositionStart:{phasedRegistrationNames:{bubbled:\\\"onCompositionStart\\\",\\ncaptured:\\\"onCompositionStartCapture\\\"},dependencies:\\\"blur compositionstart keydown keypress keyup mousedown\\\".split(\\\" \\\")},compositionUpdate:{phasedRegistrationNames:{bubbled:\\\"onCompositionUpdate\\\",captured:\\\"onCompositionUpdateCapture\\\"},dependencies:\\\"blur compositionupdate keydown keypress keyup mousedown\\\".split(\\\" \\\")}},pe=!1;\\nfunction qe(a,b){switch(a){case \\\"keyup\\\":return-1!==ie.indexOf(b.keyCode);case \\\"keydown\\\":return 229!==b.keyCode;case \\\"keypress\\\":case \\\"mousedown\\\":case \\\"blur\\\":return!0;default:return!1}}function re(a){a=a.detail;return\\\"object\\\"===typeof a&&\\\"data\\\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \\\"compositionend\\\":return re(b);case \\\"keypress\\\":if(32!==b.which)return null;pe=!0;return ne;case \\\"textInput\\\":return a=b.data,a===ne&&pe?null:a;default:return null}}\\nfunction ue(a,b){if(se)return\\\"compositionend\\\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \\\"paste\\\":return null;case \\\"keypress\\\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\\\"onSelect\\\",captured:\\\"onSelectCapture\\\"},dependencies:\\\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\\\".split(\\\" \\\")}},ef=null,ff=null,gf=null,hf=!1;\\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\\\"selectionStart\\\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\\\"select\\\",a.target=ef,Xd(a),a)}\\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\\\"function\\\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\\\"Unknown\\\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\\\"number\\\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\\\"function\\\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\\\"function\\\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\\\"object\\\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\\\"object\\\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\\\"string\\\"===typeof f||\\\"number\\\"===typeof f)return f=\\\"\\\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\\\"undefined\\\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\\\"Component\\\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\\\"\\\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\\nfunction vh(a,b){return\\\"function\\\"===typeof b?b(a):b}\\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\\nfunction yh(a){var b=th();\\\"function\\\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\\nfunction Hh(a,b){if(\\\"function\\\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\\\x3c/script>\\\",a=a.removeChild(a.firstChild)):\\\"string\\\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\\\"select\\\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \\\"iframe\\\":case \\\"object\\\":case \\\"embed\\\":F(\\\"load\\\",\\na);h=d;break;case \\\"video\\\":case \\\"audio\\\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\\\"+qb(g))}S!==\\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\\\"function\\\"===typeof w.getDerivedStateFromError||null!==ub&&\\\"function\\\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\\ntop:w.scrollTop});\\\"function\\\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\\nb,d,a,e,c);b.effectTag|=1;if(\\\"object\\\"===typeof e&&null!==e&&\\\"function\\\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\\\"function\\\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\\\"\\\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\\\"function\\\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\\\"function\\\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\\\"object\\\"===typeof c&&null!==c){var e=c.delay;e=\\\"number\\\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime result for the\\n // current iteration.\\n result.value = unwrapped;\\n resolve(result);\\n }, function(error) {\\n // If a rejected Promise was yielded, throw the rejection back\\n // into the async generator function so it can be handled there.\\n return invoke(\\\"throw\\\", error, resolve, reject);\\n });\\n }\\n }\\n\\n var previousPromise;\\n\\n function enqueue(method, arg) {\\n function callInvokeWithMethodAndArg() {\\n return new PromiseImpl(function(resolve, reject) {\\n invoke(method, arg, resolve, reject);\\n });\\n }\\n\\n return previousPromise =\\n // If enqueue has been called before, then we want to wait until\\n // all previous Promises have been resolved before calling invoke,\\n // so that results are always delivered in the correct order. If\\n // enqueue has not been called before, then it is important to\\n // call invoke immediately, without waiting on a callback to fire,\\n // so that the async generator function has the opportunity to do\\n // any necessary setup in a predictable way. This predictability\\n // is why the Promise constructor synchronously invokes its\\n // executor callback, and why async functions synchronously\\n // execute code before the first await. Since we implement simple\\n // async functions in terms of async generators, it is especially\\n // important to get this right, even though it requires care.\\n previousPromise ? previousPromise.then(\\n callInvokeWithMethodAndArg,\\n // Avoid propagating failures to Promises returned by later\\n // invocations of the iterator.\\n callInvokeWithMethodAndArg\\n ) : callInvokeWithMethodAndArg();\\n }\\n\\n // Define the unified helper method that is used to implement .next,\\n // .throw, and .return (see defineIteratorMethods).\\n this._invoke = enqueue;\\n }\\n\\n defineIteratorMethods(AsyncIterator.prototype);\\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\\n return this;\\n };\\n exports.AsyncIterator = AsyncIterator;\\n\\n // Note that simple async functions are implemented on top of\\n // AsyncIterator objects; they just return a Promise for the value of\\n // the final result produced by the iterator.\\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\\n if (PromiseImpl === void 0) PromiseImpl = Promise;\\n\\n var iter = new AsyncIterator(\\n wrap(innerFn, outerFn, self, tryLocsList),\\n PromiseImpl\\n );\\n\\n return exports.isGeneratorFunction(outerFn)\\n ? iter // If outerFn is a generator, return the full iterator.\\n : iter.next().then(function(result) {\\n return result.done ? result.value : iter.next();\\n });\\n };\\n\\n function makeInvokeMethod(innerFn, self, context) {\\n var state = GenStateSuspendedStart;\\n\\n return function invoke(method, arg) {\\n if (state === GenStateExecuting) {\\n throw new Error(\\\"Generator is already running\\\");\\n }\\n\\n if (state === GenStateCompleted) {\\n if (method === \\\"throw\\\") {\\n throw arg;\\n }\\n\\n // Be forgiving, per 25.3.3.3.3 of the spec:\\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\\n return doneResult();\\n }\\n\\n context.method = method;\\n context.arg = arg;\\n\\n while (true) {\\n var delegate = context.delegate;\\n if (delegate) {\\n var delegateResult = maybeInvokeDelegate(delegate, context);\\n if (delegateResult) {\\n if (delegateResult === ContinueSentinel) continue;\\n return delegateResult;\\n }\\n }\\n\\n if (context.method === \\\"next\\\") {\\n // Setting context._sent for legacy support of Babel's\\n // function.sent implementation.\\n context.sent = context._sent = context.arg;\\n\\n } else if (context.method === \\\"throw\\\") {\\n if (state === GenStateSuspendedStart) {\\n state = GenStateCompleted;\\n throw context.arg;\\n }\\n\\n context.dispatchException(context.arg);\\n\\n } else if (context.method === \\\"return\\\") {\\n context.abrupt(\\\"return\\\", context.arg);\\n }\\n\\n state = GenStateExecuting;\\n\\n var record = tryCatch(innerFn, self, context);\\n if (record.type === \\\"normal\\\") {\\n // If an exception is thrown from innerFn, we leave state ===\\n // GenStateExecuting and loop back for another invocation.\\n state = context.done\\n ? GenStateCompleted\\n : GenStateSuspendedYield;\\n\\n if (record.arg === ContinueSentinel) {\\n continue;\\n }\\n\\n return {\\n value: record.arg,\\n done: context.done\\n };\\n\\n } else if (record.type === \\\"throw\\\") {\\n state = GenStateCompleted;\\n // Dispatch the exception by looping back around to the\\n // context.dispatchException(context.arg) call above.\\n context.method = \\\"throw\\\";\\n context.arg = record.arg;\\n }\\n }\\n };\\n }\\n\\n // Call delegate.iterator[context.method](context.arg) and handle the\\n // result, either by returning a { value, done } result from the\\n // delegate iterator, or by modifying context.method and context.arg,\\n // setting context.delegate to null, and returning the ContinueSentinel.\\n function maybeInvokeDelegate(delegate, context) {\\n var method = delegate.iterator[context.method];\\n if (method === undefined) {\\n // A .throw or .return when the delegate iterator has no .throw\\n // method always terminates the yield* loop.\\n context.delegate = null;\\n\\n if (context.method === \\\"throw\\\") {\\n // Note: [\\\"return\\\"] must be used for ES3 parsing compatibility.\\n if (delegate.iterator[\\\"return\\\"]) {\\n // If the delegate iterator has a return method, give it a\\n // chance to clean up.\\n context.method = \\\"return\\\";\\n context.arg = undefined;\\n maybeInvokeDelegate(delegate, context);\\n\\n if (context.method === \\\"throw\\\") {\\n // If maybeInvokeDelegate(context) changed context.method from\\n // \\\"return\\\" to \\\"throw\\\", let that override the TypeError below.\\n return ContinueSentinel;\\n }\\n }\\n\\n context.method = \\\"throw\\\";\\n context.arg = new TypeError(\\n \\\"The iterator does not provide a 'throw' method\\\");\\n }\\n\\n return ContinueSentinel;\\n }\\n\\n var record = tryCatch(method, delegate.iterator, context.arg);\\n\\n if (record.type === \\\"throw\\\") {\\n context.method = \\\"throw\\\";\\n context.arg = record.arg;\\n context.delegate = null;\\n return ContinueSentinel;\\n }\\n\\n var info = record.arg;\\n\\n if (! info) {\\n context.method = \\\"throw\\\";\\n context.arg = new TypeError(\\\"iterator result is not an object\\\");\\n context.delegate = null;\\n return ContinueSentinel;\\n }\\n\\n if (info.done) {\\n // Assign the result of the finished delegate to the temporary\\n // variable specified by delegate.resultName (see delegateYield).\\n context[delegate.resultName] = info.value;\\n\\n // Resume execution at the desired location (see delegateYield).\\n context.next = delegate.nextLoc;\\n\\n // If context.method was \\\"throw\\\" but the delegate handled the\\n // exception, let the outer generator proceed normally. If\\n // context.method was \\\"next\\\", forget context.arg since it has been\\n // \\\"consumed\\\" by the delegate iterator. If context.method was\\n // \\\"return\\\", allow the original .return call to continue in the\\n // outer generator.\\n if (context.method !== \\\"return\\\") {\\n context.method = \\\"next\\\";\\n context.arg = undefined;\\n }\\n\\n } else {\\n // Re-yield the result returned by the delegate method.\\n return info;\\n }\\n\\n // The delegate iterator is finished, so forget it and continue with\\n // the outer generator.\\n context.delegate = null;\\n return ContinueSentinel;\\n }\\n\\n // Define Generator.prototype.{next,throw,return} in terms of the\\n // unified ._invoke helper method.\\n defineIteratorMethods(Gp);\\n\\n define(Gp, toStringTagSymbol, \\\"Generator\\\");\\n\\n // A Generator should always return itself as the iterator object when the\\n // @@iterator function is called on it. Some browsers' implementations of the\\n // iterator prototype chain incorrectly implement this, causing the Generator\\n // object to not be returned from this call. This ensures that doesn't happen.\\n // See https://github.com/facebook/regenerator/issues/274 for more details.\\n Gp[iteratorSymbol] = function() {\\n return this;\\n };\\n\\n Gp.toString = function() {\\n return \\\"[object Generator]\\\";\\n };\\n\\n function pushTryEntry(locs) {\\n var entry = { tryLoc: locs[0] };\\n\\n if (1 in locs) {\\n entry.catchLoc = locs[1];\\n }\\n\\n if (2 in locs) {\\n entry.finallyLoc = locs[2];\\n entry.afterLoc = locs[3];\\n }\\n\\n this.tryEntries.push(entry);\\n }\\n\\n function resetTryEntry(entry) {\\n var record = entry.completion || {};\\n record.type = \\\"normal\\\";\\n delete record.arg;\\n entry.completion = record;\\n }\\n\\n function Context(tryLocsList) {\\n // The root entry object (effectively a try statement without a catch\\n // or a finally block) gives us a place to store values thrown from\\n // locations where there is no enclosing try statement.\\n this.tryEntries = [{ tryLoc: \\\"root\\\" }];\\n tryLocsList.forEach(pushTryEntry, this);\\n this.reset(true);\\n }\\n\\n exports.keys = function(object) {\\n var keys = [];\\n for (var key in object) {\\n keys.push(key);\\n }\\n keys.reverse();\\n\\n // Rather than returning an object with a next method, we keep\\n // things simple and return the next function itself.\\n return function next() {\\n while (keys.length) {\\n var key = keys.pop();\\n if (key in object) {\\n next.value = key;\\n next.done = false;\\n return next;\\n }\\n }\\n\\n // To avoid creating an additional object, we just hang the .value\\n // and .done properties off the next function object itself. This\\n // also ensures that the minifier will not anonymize the function.\\n next.done = true;\\n return next;\\n };\\n };\\n\\n function values(iterable) {\\n if (iterable) {\\n var iteratorMethod = iterable[iteratorSymbol];\\n if (iteratorMethod) {\\n return iteratorMethod.call(iterable);\\n }\\n\\n if (typeof iterable.next === \\\"function\\\") {\\n return iterable;\\n }\\n\\n if (!isNaN(iterable.length)) {\\n var i = -1, next = function next() {\\n while (++i < iterable.length) {\\n if (hasOwn.call(iterable, i)) {\\n next.value = iterable[i];\\n next.done = false;\\n return next;\\n }\\n }\\n\\n next.value = undefined;\\n next.done = true;\\n\\n return next;\\n };\\n\\n return next.next = next;\\n }\\n }\\n\\n // Return an iterator with no values.\\n return { next: doneResult };\\n }\\n exports.values = values;\\n\\n function doneResult() {\\n return { value: undefined, done: true };\\n }\\n\\n Context.prototype = {\\n constructor: Context,\\n\\n reset: function(skipTempReset) {\\n this.prev = 0;\\n this.next = 0;\\n // Resetting context._sent for legacy support of Babel's\\n // function.sent implementation.\\n this.sent = this._sent = undefined;\\n this.done = false;\\n this.delegate = null;\\n\\n this.method = \\\"next\\\";\\n this.arg = undefined;\\n\\n this.tryEntries.forEach(resetTryEntry);\\n\\n if (!skipTempReset) {\\n for (var name in this) {\\n // Not sure about the optimal order of these conditions:\\n if (name.charAt(0) === \\\"t\\\" &&\\n hasOwn.call(this, name) &&\\n !isNaN(+name.slice(1))) {\\n this[name] = undefined;\\n }\\n }\\n }\\n },\\n\\n stop: function() {\\n this.done = true;\\n\\n var rootEntry = this.tryEntries[0];\\n var rootRecord = rootEntry.completion;\\n if (rootRecord.type === \\\"throw\\\") {\\n throw rootRecord.arg;\\n }\\n\\n return this.rval;\\n },\\n\\n dispatchException: function(exception) {\\n if (this.done) {\\n throw exception;\\n }\\n\\n var context = this;\\n function handle(loc, caught) {\\n record.type = \\\"throw\\\";\\n record.arg = exception;\\n context.next = loc;\\n\\n if (caught) {\\n // If the dispatched exception was caught by a catch block,\\n // then let that catch block handle the exception normally.\\n context.method = \\\"next\\\";\\n context.arg = undefined;\\n }\\n\\n return !! caught;\\n }\\n\\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\\n var entry = this.tryEntries[i];\\n var record = entry.completion;\\n\\n if (entry.tryLoc === \\\"root\\\") {\\n // Exception thrown outside of any try block that could handle\\n // it, so set the completion value of the entire function to\\n // throw the exception.\\n return handle(\\\"end\\\");\\n }\\n\\n if (entry.tryLoc <= this.prev) {\\n var hasCatch = hasOwn.call(entry, \\\"catchLoc\\\");\\n var hasFinally = hasOwn.call(entry, \\\"finallyLoc\\\");\\n\\n if (hasCatch && hasFinally) {\\n if (this.prev < entry.catchLoc) {\\n return handle(entry.catchLoc, true);\\n } else if (this.prev < entry.finallyLoc) {\\n return handle(entry.finallyLoc);\\n }\\n\\n } else if (hasCatch) {\\n if (this.prev < entry.catchLoc) {\\n return handle(entry.catchLoc, true);\\n }\\n\\n } else if (hasFinally) {\\n if (this.prev < entry.finallyLoc) {\\n return handle(entry.finallyLoc);\\n }\\n\\n } else {\\n throw new Error(\\\"try statement without catch or finally\\\");\\n }\\n }\\n }\\n },\\n\\n abrupt: function(type, arg) {\\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\\n var entry = this.tryEntries[i];\\n if (entry.tryLoc <= this.prev &&\\n hasOwn.call(entry, \\\"finallyLoc\\\") &&\\n this.prev < entry.finallyLoc) {\\n var finallyEntry = entry;\\n break;\\n }\\n }\\n\\n if (finallyEntry &&\\n (type === \\\"break\\\" ||\\n type === \\\"continue\\\") &&\\n finallyEntry.tryLoc <= arg &&\\n arg <= finallyEntry.finallyLoc) {\\n // Ignore the finally entry if control is not jumping to a\\n // location outside the try/catch block.\\n finallyEntry = null;\\n }\\n\\n var record = finallyEntry ? finallyEntry.completion : {};\\n record.type = type;\\n record.arg = arg;\\n\\n if (finallyEntry) {\\n this.method = \\\"next\\\";\\n this.next = finallyEntry.finallyLoc;\\n return ContinueSentinel;\\n }\\n\\n return this.complete(record);\\n },\\n\\n complete: function(record, afterLoc) {\\n if (record.type === \\\"throw\\\") {\\n throw record.arg;\\n }\\n\\n if (record.type === \\\"break\\\" ||\\n record.type === \\\"continue\\\") {\\n this.next = record.arg;\\n } else if (record.type === \\\"return\\\") {\\n this.rval = this.arg = record.arg;\\n this.method = \\\"return\\\";\\n this.next = \\\"end\\\";\\n } else if (record.type === \\\"normal\\\" && afterLoc) {\\n this.next = afterLoc;\\n }\\n\\n return ContinueSentinel;\\n },\\n\\n finish: function(finallyLoc) {\\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\\n var entry = this.tryEntries[i];\\n if (entry.finallyLoc === finallyLoc) {\\n this.complete(entry.completion, entry.afterLoc);\\n resetTryEntry(entry);\\n return ContinueSentinel;\\n }\\n }\\n },\\n\\n \\\"catch\\\": function(tryLoc) {\\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\\n var entry = this.tryEntries[i];\\n if (entry.tryLoc === tryLoc) {\\n var record = entry.completion;\\n if (record.type === \\\"throw\\\") {\\n var thrown = record.arg;\\n resetTryEntry(entry);\\n }\\n return thrown;\\n }\\n }\\n\\n // The context.catch method must only be called with a location\\n // argument that corresponds to a known catch block.\\n throw new Error(\\\"illegal catch attempt\\\");\\n },\\n\\n delegateYield: function(iterable, resultName, nextLoc) {\\n this.delegate = {\\n iterator: values(iterable),\\n resultName: resultName,\\n nextLoc: nextLoc\\n };\\n\\n if (this.method === \\\"next\\\") {\\n // Deliberately forget the last sent value so that we don't\\n // accidentally pass it on to the delegate.\\n this.arg = undefined;\\n }\\n\\n return ContinueSentinel;\\n }\\n };\\n\\n // Regardless of whether this script is executing as a CommonJS module\\n // or not, return the runtime object so that we can declare the variable\\n // regeneratorRuntime in the outer scope, which allows this module to be\\n // injected easily by `bin/regenerator --include-runtime script.js`.\\n return exports;\\n\\n}(\\n // If this script is executing as a CommonJS module, use module.exports\\n // as the regeneratorRuntime namespace. Otherwise create a new empty\\n // object. Either way, the resulting object will be used to initialize\\n // the regeneratorRuntime variable at the top of this file.\\n typeof module === \\\"object\\\" ? module.exports : {}\\n));\\n\\ntry {\\n regeneratorRuntime = runtime;\\n} catch (accidentalStrictMode) {\\n // This module should not be running in strict mode, so the above\\n // assignment should always work unless something is misconfigured. Just\\n // in case runtime.js accidentally runs in strict mode, we can escape\\n // strict mode using a global Function call. This could conceivably fail\\n // if a Content Security Policy forbids using Function, but in that case\\n // the proper solution is to fix the accidental strict mode problem. If\\n // you've misconfigured your bundler to force strict mode and applied a\\n // CSP to forbid Function, and you're not willing to fix either of those\\n // problems, please detail your unique predicament in a GitHub issue.\\n Function(\\\"r\\\", \\\"regeneratorRuntime = r\\\")(runtime);\\n}\\n\",\"\\nmodule.exports = function () {\\n var selection = document.getSelection();\\n if (!selection.rangeCount) {\\n return function () {};\\n }\\n var active = document.activeElement;\\n\\n var ranges = [];\\n for (var i = 0; i < selection.rangeCount; i++) {\\n ranges.push(selection.getRangeAt(i));\\n }\\n\\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\\n case 'INPUT':\\n case 'TEXTAREA':\\n active.blur();\\n break;\\n\\n default:\\n active = null;\\n break;\\n }\\n\\n selection.removeAllRanges();\\n return function () {\\n selection.type === 'Caret' &&\\n selection.removeAllRanges();\\n\\n if (!selection.rangeCount) {\\n ranges.forEach(function(range) {\\n selection.addRange(range);\\n });\\n }\\n\\n active &&\\n active.focus();\\n };\\n};\\n\",\"// Main parser class\\n\\n'use strict';\\n\\n\\nvar utils = require('./common/utils');\\nvar helpers = require('./helpers');\\nvar Renderer = require('./renderer');\\nvar ParserCore = require('./parser_core');\\nvar ParserBlock = require('./parser_block');\\nvar ParserInline = require('./parser_inline');\\nvar LinkifyIt = require('linkify-it');\\nvar mdurl = require('mdurl');\\nvar punycode = require('punycode');\\n\\n\\nvar config = {\\n 'default': require('./presets/default'),\\n zero: require('./presets/zero'),\\n commonmark: require('./presets/commonmark')\\n};\\n\\n////////////////////////////////////////////////////////////////////////////////\\n//\\n// This validator can prohibit more than really needed to prevent XSS. It's a\\n// tradeoff to keep code simple and to be secure by default.\\n//\\n// If you need different setup - override validator method as you wish. Or\\n// replace it with dummy function and use external sanitizer.\\n//\\n\\nvar BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;\\nvar GOOD_DATA_RE = /^data:image\\\\/(gif|png|jpeg|webp);/;\\n\\nfunction validateLink(url) {\\n // url should be normalized at this point, and existing entities are decoded\\n var str = url.trim().toLowerCase();\\n\\n return BAD_PROTO_RE.test(str) ? (GOOD_DATA_RE.test(str) ? true : false) : true;\\n}\\n\\n////////////////////////////////////////////////////////////////////////////////\\n\\n\\nvar RECODE_HOSTNAME_FOR = [ 'http:', 'https:', 'mailto:' ];\\n\\nfunction normalizeLink(url) {\\n var parsed = mdurl.parse(url, true);\\n\\n if (parsed.hostname) {\\n // Encode hostnames in urls like:\\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\\n //\\n // We don't encode unknown schemas, because it's likely that we encode\\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\\n //\\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\\n try {\\n parsed.hostname = punycode.toASCII(parsed.hostname);\\n } catch (er) { /**/ }\\n }\\n }\\n\\n return mdurl.encode(mdurl.format(parsed));\\n}\\n\\nfunction normalizeLinkText(url) {\\n var parsed = mdurl.parse(url, true);\\n\\n if (parsed.hostname) {\\n // Encode hostnames in urls like:\\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\\n //\\n // We don't encode unknown schemas, because it's likely that we encode\\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\\n //\\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\\n try {\\n parsed.hostname = punycode.toUnicode(parsed.hostname);\\n } catch (er) { /**/ }\\n }\\n }\\n\\n return mdurl.decode(mdurl.format(parsed));\\n}\\n\\n\\n/**\\n * class MarkdownIt\\n *\\n * Main parser/renderer class.\\n *\\n * ##### Usage\\n *\\n * ```javascript\\n * // node.js, \\\"classic\\\" way:\\n * var MarkdownIt = require('markdown-it'),\\n * md = new MarkdownIt();\\n * var result = md.render('# markdown-it rulezz!');\\n *\\n * // node.js, the same, but with sugar:\\n * var md = require('markdown-it')();\\n * var result = md.render('# markdown-it rulezz!');\\n *\\n * // browser without AMD, added to \\\"window\\\" on script load\\n * // Note, there are no dash.\\n * var md = window.markdownit();\\n * var result = md.render('# markdown-it rulezz!');\\n * ```\\n *\\n * Single line rendering, without paragraph wrap:\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n * var result = md.renderInline('__markdown-it__ rulezz!');\\n * ```\\n **/\\n\\n/**\\n * new MarkdownIt([presetName, options])\\n * - presetName (String): optional, `commonmark` / `zero`\\n * - options (Object)\\n *\\n * Creates parser instanse with given config. Can be called without `new`.\\n *\\n * ##### presetName\\n *\\n * MarkdownIt provides named presets as a convenience to quickly\\n * enable/disable active syntax rules and options for common use cases.\\n *\\n * - [\\\"commonmark\\\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -\\n * configures parser to strict [CommonMark](http://commonmark.org/) mode.\\n * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -\\n * similar to GFM, used when no preset name given. Enables all available rules,\\n * but still without html, typographer & autolinker.\\n * - [\\\"zero\\\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -\\n * all rules disabled. Useful to quickly setup your config via `.enable()`.\\n * For example, when you need only `bold` and `italic` markup and nothing else.\\n *\\n * ##### options:\\n *\\n * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!\\n * That's not safe! You may need external sanitizer to protect output from XSS.\\n * It's better to extend features via plugins, instead of enabling HTML.\\n * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags\\n * (`
    `). This is needed only for full CommonMark compatibility. In real\\n * world you will need HTML output.\\n * - __breaks__ - `false`. Set `true` to convert `\\\\n` in paragraphs into `
    `.\\n * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.\\n * Can be useful for external highlighters.\\n * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.\\n * - __typographer__ - `false`. Set `true` to enable [some language-neutral\\n * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +\\n * quotes beautification (smartquotes).\\n * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement\\n * pairs, when typographer enabled and smartquotes on. For example, you can\\n * use `'«»„“'` for Russian, `'„“‚‘'` for German, and\\n * `['«\\\\xA0', '\\\\xA0»', '‹\\\\xA0', '\\\\xA0›']` for French (including nbsp).\\n * - __highlight__ - `null`. Highlighter function for fenced code blocks.\\n * Highlighter `function (str, lang)` should return escaped HTML. It can also\\n * return empty string if the source was not changed and should be escaped\\n * externaly. If result starts with `):\\n *\\n * ```javascript\\n * var hljs = require('highlight.js') // https://highlightjs.org/\\n *\\n * // Actual default values\\n * var md = require('markdown-it')({\\n * highlight: function (str, lang) {\\n * if (lang && hljs.getLanguage(lang)) {\\n * try {\\n * return '
    ' +\\n *                hljs.highlight(lang, str, true).value +\\n *                '
    ';\\n * } catch (__) {}\\n * }\\n *\\n * return '
    ' + md.utils.escapeHtml(str) + '
    ';\\n * }\\n * });\\n * ```\\n *\\n **/\\nfunction MarkdownIt(presetName, options) {\\n if (!(this instanceof MarkdownIt)) {\\n return new MarkdownIt(presetName, options);\\n }\\n\\n if (!options) {\\n if (!utils.isString(presetName)) {\\n options = presetName || {};\\n presetName = 'default';\\n }\\n }\\n\\n /**\\n * MarkdownIt#inline -> ParserInline\\n *\\n * Instance of [[ParserInline]]. You may need it to add new rules when\\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\\n * [[MarkdownIt.enable]].\\n **/\\n this.inline = new ParserInline();\\n\\n /**\\n * MarkdownIt#block -> ParserBlock\\n *\\n * Instance of [[ParserBlock]]. You may need it to add new rules when\\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\\n * [[MarkdownIt.enable]].\\n **/\\n this.block = new ParserBlock();\\n\\n /**\\n * MarkdownIt#core -> Core\\n *\\n * Instance of [[Core]] chain executor. You may need it to add new rules when\\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\\n * [[MarkdownIt.enable]].\\n **/\\n this.core = new ParserCore();\\n\\n /**\\n * MarkdownIt#renderer -> Renderer\\n *\\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\\n * rules for new token types, generated by plugins.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n *\\n * function myToken(tokens, idx, options, env, self) {\\n * //...\\n * return result;\\n * };\\n *\\n * md.renderer.rules['my_token'] = myToken\\n * ```\\n *\\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\\n **/\\n this.renderer = new Renderer();\\n\\n /**\\n * MarkdownIt#linkify -> LinkifyIt\\n *\\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\\n * rule.\\n **/\\n this.linkify = new LinkifyIt();\\n\\n /**\\n * MarkdownIt#validateLink(url) -> Boolean\\n *\\n * Link validation function. CommonMark allows too much in links. By default\\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\\n * except some embedded image types.\\n *\\n * You can change this behaviour:\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n * // enable everything\\n * md.validateLink = function () { return true; }\\n * ```\\n **/\\n this.validateLink = validateLink;\\n\\n /**\\n * MarkdownIt#normalizeLink(url) -> String\\n *\\n * Function used to encode link url to a machine-readable format,\\n * which includes url-encoding, punycode, etc.\\n **/\\n this.normalizeLink = normalizeLink;\\n\\n /**\\n * MarkdownIt#normalizeLinkText(url) -> String\\n *\\n * Function used to decode link url to a human-readable format`\\n **/\\n this.normalizeLinkText = normalizeLinkText;\\n\\n\\n // Expose utils & helpers for easy acces from plugins\\n\\n /**\\n * MarkdownIt#utils -> utils\\n *\\n * Assorted utility functions, useful to write plugins. See details\\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).\\n **/\\n this.utils = utils;\\n\\n /**\\n * MarkdownIt#helpers -> helpers\\n *\\n * Link components parser functions, useful to write plugins. See details\\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\\n **/\\n this.helpers = utils.assign({}, helpers);\\n\\n\\n this.options = {};\\n this.configure(presetName);\\n\\n if (options) { this.set(options); }\\n}\\n\\n\\n/** chainable\\n * MarkdownIt.set(options)\\n *\\n * Set parser options (in the same format as in constructor). Probably, you\\n * will never need it, but you can change options after constructor call.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')()\\n * .set({ html: true, breaks: true })\\n * .set({ typographer, true });\\n * ```\\n *\\n * __Note:__ To achieve the best possible performance, don't modify a\\n * `markdown-it` instance options on the fly. If you need multiple configurations\\n * it's best to create multiple instances and initialize each with separate\\n * config.\\n **/\\nMarkdownIt.prototype.set = function (options) {\\n utils.assign(this.options, options);\\n return this;\\n};\\n\\n\\n/** chainable, internal\\n * MarkdownIt.configure(presets)\\n *\\n * Batch load of all options and compenent settings. This is internal method,\\n * and you probably will not need it. But if you with - see available presets\\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\\n *\\n * We strongly recommend to use presets instead of direct config loads. That\\n * will give better compatibility with next versions.\\n **/\\nMarkdownIt.prototype.configure = function (presets) {\\n var self = this, presetName;\\n\\n if (utils.isString(presets)) {\\n presetName = presets;\\n presets = config[presetName];\\n if (!presets) { throw new Error('Wrong `markdown-it` preset \\\"' + presetName + '\\\", check name'); }\\n }\\n\\n if (!presets) { throw new Error('Wrong `markdown-it` preset, can\\\\'t be empty'); }\\n\\n if (presets.options) { self.set(presets.options); }\\n\\n if (presets.components) {\\n Object.keys(presets.components).forEach(function (name) {\\n if (presets.components[name].rules) {\\n self[name].ruler.enableOnly(presets.components[name].rules);\\n }\\n if (presets.components[name].rules2) {\\n self[name].ruler2.enableOnly(presets.components[name].rules2);\\n }\\n });\\n }\\n return this;\\n};\\n\\n\\n/** chainable\\n * MarkdownIt.enable(list, ignoreInvalid)\\n * - list (String|Array): rule name or list of rule names to enable\\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\\n *\\n * Enable list or rules. It will automatically find appropriate components,\\n * containing rules with given names. If rule not found, and `ignoreInvalid`\\n * not set - throws exception.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')()\\n * .enable(['sub', 'sup'])\\n * .disable('smartquotes');\\n * ```\\n **/\\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\\n var result = [];\\n\\n if (!Array.isArray(list)) { list = [ list ]; }\\n\\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\\n result = result.concat(this[chain].ruler.enable(list, true));\\n }, this);\\n\\n result = result.concat(this.inline.ruler2.enable(list, true));\\n\\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\\n\\n if (missed.length && !ignoreInvalid) {\\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);\\n }\\n\\n return this;\\n};\\n\\n\\n/** chainable\\n * MarkdownIt.disable(list, ignoreInvalid)\\n * - list (String|Array): rule name or list of rule names to disable.\\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\\n *\\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\\n **/\\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\\n var result = [];\\n\\n if (!Array.isArray(list)) { list = [ list ]; }\\n\\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\\n result = result.concat(this[chain].ruler.disable(list, true));\\n }, this);\\n\\n result = result.concat(this.inline.ruler2.disable(list, true));\\n\\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\\n\\n if (missed.length && !ignoreInvalid) {\\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);\\n }\\n return this;\\n};\\n\\n\\n/** chainable\\n * MarkdownIt.use(plugin, params)\\n *\\n * Load specified plugin with given params into current parser instance.\\n * It's just a sugar to call `plugin(md, params)` with curring.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var iterator = require('markdown-it-for-inline');\\n * var md = require('markdown-it')()\\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\\n * });\\n * ```\\n **/\\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\\n var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));\\n plugin.apply(plugin, args);\\n return this;\\n};\\n\\n\\n/** internal\\n * MarkdownIt.parse(src, env) -> Array\\n * - src (String): source string\\n * - env (Object): environment sandbox\\n *\\n * Parse input string and returns list of block tokens (special token type\\n * \\\"inline\\\" will contain list of inline tokens). You should not call this\\n * method directly, until you write custom renderer (for example, to produce\\n * AST).\\n *\\n * `env` is used to pass data between \\\"distributed\\\" rules and return additional\\n * metadata like reference info, needed for the renderer. It also can be used to\\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\\n * and then pass updated object to renderer.\\n **/\\nMarkdownIt.prototype.parse = function (src, env) {\\n if (typeof src !== 'string') {\\n throw new Error('Input data should be a String');\\n }\\n\\n var state = new this.core.State(src, this, env);\\n\\n this.core.process(state);\\n\\n return state.tokens;\\n};\\n\\n\\n/**\\n * MarkdownIt.render(src [, env]) -> String\\n * - src (String): source string\\n * - env (Object): environment sandbox\\n *\\n * Render markdown string into html. It does all magic for you :).\\n *\\n * `env` can be used to inject additional metadata (`{}` by default).\\n * But you will not need it with high probability. See also comment\\n * in [[MarkdownIt.parse]].\\n **/\\nMarkdownIt.prototype.render = function (src, env) {\\n env = env || {};\\n\\n return this.renderer.render(this.parse(src, env), this.options, env);\\n};\\n\\n\\n/** internal\\n * MarkdownIt.parseInline(src, env) -> Array\\n * - src (String): source string\\n * - env (Object): environment sandbox\\n *\\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\\n * block tokens list with the single `inline` element, containing parsed inline\\n * tokens in `children` property. Also updates `env` object.\\n **/\\nMarkdownIt.prototype.parseInline = function (src, env) {\\n var state = new this.core.State(src, this, env);\\n\\n state.inlineMode = true;\\n this.core.process(state);\\n\\n return state.tokens;\\n};\\n\\n\\n/**\\n * MarkdownIt.renderInline(src [, env]) -> String\\n * - src (String): source string\\n * - env (Object): environment sandbox\\n *\\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\\n * will NOT be wrapped into `

    ` tags.\\n **/\\nMarkdownIt.prototype.renderInline = function (src, env) {\\n env = env || {};\\n\\n return this.renderer.render(this.parseInline(src, env), this.options, env);\\n};\\n\\n\\nmodule.exports = MarkdownIt;\\n\",\"\\n'use strict';\\n\\n\\nvar encodeCache = {};\\n\\n\\n// Create a lookup array where anything but characters in `chars` string\\n// and alphanumeric chars is percent-encoded.\\n//\\nfunction getEncodeCache(exclude) {\\n var i, ch, cache = encodeCache[exclude];\\n if (cache) { return cache; }\\n\\n cache = encodeCache[exclude] = [];\\n\\n for (i = 0; i < 128; i++) {\\n ch = String.fromCharCode(i);\\n\\n if (/^[0-9a-z]$/i.test(ch)) {\\n // always allow unencoded alphanumeric characters\\n cache.push(ch);\\n } else {\\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\\n }\\n }\\n\\n for (i = 0; i < exclude.length; i++) {\\n cache[exclude.charCodeAt(i)] = exclude[i];\\n }\\n\\n return cache;\\n}\\n\\n\\n// Encode unsafe characters with percent-encoding, skipping already\\n// encoded sequences.\\n//\\n// - string - string to encode\\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\\n//\\nfunction encode(string, exclude, keepEscaped) {\\n var i, l, code, nextCode, cache,\\n result = '';\\n\\n if (typeof exclude !== 'string') {\\n // encode(string, keepEscaped)\\n keepEscaped = exclude;\\n exclude = encode.defaultChars;\\n }\\n\\n if (typeof keepEscaped === 'undefined') {\\n keepEscaped = true;\\n }\\n\\n cache = getEncodeCache(exclude);\\n\\n for (i = 0, l = string.length; i < l; i++) {\\n code = string.charCodeAt(i);\\n\\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\\n result += string.slice(i, i + 3);\\n i += 2;\\n continue;\\n }\\n }\\n\\n if (code < 128) {\\n result += cache[code];\\n continue;\\n }\\n\\n if (code >= 0xD800 && code <= 0xDFFF) {\\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\\n nextCode = string.charCodeAt(i + 1);\\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\\n result += encodeURIComponent(string[i] + string[i + 1]);\\n i++;\\n continue;\\n }\\n }\\n result += '%EF%BF%BD';\\n continue;\\n }\\n\\n result += encodeURIComponent(string[i]);\\n }\\n\\n return result;\\n}\\n\\nencode.defaultChars = \\\";/?:@&=+$,-_.!~*'()#\\\";\\nencode.componentChars = \\\"-_.!~*'()\\\";\\n\\n\\nmodule.exports = encode;\\n\",\"\\n'use strict';\\n\\n\\n/* eslint-disable no-bitwise */\\n\\nvar decodeCache = {};\\n\\nfunction getDecodeCache(exclude) {\\n var i, ch, cache = decodeCache[exclude];\\n if (cache) { return cache; }\\n\\n cache = decodeCache[exclude] = [];\\n\\n for (i = 0; i < 128; i++) {\\n ch = String.fromCharCode(i);\\n cache.push(ch);\\n }\\n\\n for (i = 0; i < exclude.length; i++) {\\n ch = exclude.charCodeAt(i);\\n cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);\\n }\\n\\n return cache;\\n}\\n\\n\\n// Decode percent-encoded string.\\n//\\nfunction decode(string, exclude) {\\n var cache;\\n\\n if (typeof exclude !== 'string') {\\n exclude = decode.defaultChars;\\n }\\n\\n cache = getDecodeCache(exclude);\\n\\n return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {\\n var i, l, b1, b2, b3, b4, chr,\\n result = '';\\n\\n for (i = 0, l = seq.length; i < l; i += 3) {\\n b1 = parseInt(seq.slice(i + 1, i + 3), 16);\\n\\n if (b1 < 0x80) {\\n result += cache[b1];\\n continue;\\n }\\n\\n if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {\\n // 110xxxxx 10xxxxxx\\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\\n\\n if ((b2 & 0xC0) === 0x80) {\\n chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);\\n\\n if (chr < 0x80) {\\n result += '\\\\ufffd\\\\ufffd';\\n } else {\\n result += String.fromCharCode(chr);\\n }\\n\\n i += 3;\\n continue;\\n }\\n }\\n\\n if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {\\n // 1110xxxx 10xxxxxx 10xxxxxx\\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\\n\\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\\n chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);\\n\\n if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) {\\n result += '\\\\ufffd\\\\ufffd\\\\ufffd';\\n } else {\\n result += String.fromCharCode(chr);\\n }\\n\\n i += 6;\\n continue;\\n }\\n }\\n\\n if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {\\n // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx\\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\\n b4 = parseInt(seq.slice(i + 10, i + 12), 16);\\n\\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {\\n chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);\\n\\n if (chr < 0x10000 || chr > 0x10FFFF) {\\n result += '\\\\ufffd\\\\ufffd\\\\ufffd\\\\ufffd';\\n } else {\\n chr -= 0x10000;\\n result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));\\n }\\n\\n i += 9;\\n continue;\\n }\\n }\\n\\n result += '\\\\ufffd';\\n }\\n\\n return result;\\n });\\n}\\n\\n\\ndecode.defaultChars = ';/?:@&=+$,#';\\ndecode.componentChars = '';\\n\\n\\nmodule.exports = decode;\\n\",\"\\n'use strict';\\n\\n\\nmodule.exports = function format(url) {\\n var result = '';\\n\\n result += url.protocol || '';\\n result += url.slashes ? '//' : '';\\n result += url.auth ? url.auth + '@' : '';\\n\\n if (url.hostname && url.hostname.indexOf(':') !== -1) {\\n // ipv6 address\\n result += '[' + url.hostname + ']';\\n } else {\\n result += url.hostname || '';\\n }\\n\\n result += url.port ? ':' + url.port : '';\\n result += url.pathname || '';\\n result += url.search || '';\\n result += url.hash || '';\\n\\n return result;\\n};\\n\",\"// Copyright Joyent, Inc. and other Node contributors.\\n//\\n// Permission is hereby granted, free of charge, to any person obtaining a\\n// copy of this software and associated documentation files (the\\n// \\\"Software\\\"), to deal in the Software without restriction, including\\n// without limitation the rights to use, copy, modify, merge, publish,\\n// distribute, sublicense, and/or sell copies of the Software, and to permit\\n// persons to whom the Software is furnished to do so, subject to the\\n// following conditions:\\n//\\n// The above copyright notice and this permission notice shall be included\\n// in all copies or substantial portions of the Software.\\n//\\n// THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\\n\\n'use strict';\\n\\n//\\n// Changes from joyent/node:\\n//\\n// 1. No leading slash in paths,\\n// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`\\n//\\n// 2. Backslashes are not replaced with slashes,\\n// so `http:\\\\\\\\example.org\\\\` is treated like a relative path\\n//\\n// 3. Trailing colon is treated like a part of the path,\\n// i.e. in `http://example.org:foo` pathname is `:foo`\\n//\\n// 4. Nothing is URL-encoded in the resulting object,\\n// (in joyent/node some chars in auth and paths are encoded)\\n//\\n// 5. `url.parse()` does not have `parseQueryString` argument\\n//\\n// 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\\n// which can be constructed using other parts of the url.\\n//\\n\\n\\nfunction Url() {\\n this.protocol = null;\\n this.slashes = null;\\n this.auth = null;\\n this.port = null;\\n this.hostname = null;\\n this.hash = null;\\n this.search = null;\\n this.pathname = null;\\n}\\n\\n// Reference: RFC 3986, RFC 1808, RFC 2396\\n\\n// define these here so at least they only have to be\\n// compiled once on the first module load.\\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\\n portPattern = /:[0-9]*$/,\\n\\n // Special case for a simple path URL\\n simplePathPattern = /^(\\\\/\\\\/?(?!\\\\/)[^\\\\?\\\\s]*)(\\\\?[^\\\\s]*)?$/,\\n\\n // RFC 2396: characters reserved for delimiting URLs.\\n // We actually just auto-escape these.\\n delims = [ '<', '>', '\\\"', '`', ' ', '\\\\r', '\\\\n', '\\\\t' ],\\n\\n // RFC 2396: characters not allowed for various reasons.\\n unwise = [ '{', '}', '|', '\\\\\\\\', '^', '`' ].concat(delims),\\n\\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\\n autoEscape = [ '\\\\'' ].concat(unwise),\\n // Characters that are never ever allowed in a hostname.\\n // Note that any invalid chars are also handled, but these\\n // are the ones that are *expected* to be seen, so we fast-path\\n // them.\\n nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape),\\n hostEndingChars = [ '/', '?', '#' ],\\n hostnameMaxLen = 255,\\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\\n // protocols that can allow \\\"unsafe\\\" and \\\"unwise\\\" chars.\\n /* eslint-disable no-script-url */\\n // protocols that never have a hostname.\\n hostlessProtocol = {\\n 'javascript': true,\\n 'javascript:': true\\n },\\n // protocols that always contain a // bit.\\n slashedProtocol = {\\n 'http': true,\\n 'https': true,\\n 'ftp': true,\\n 'gopher': true,\\n 'file': true,\\n 'http:': true,\\n 'https:': true,\\n 'ftp:': true,\\n 'gopher:': true,\\n 'file:': true\\n };\\n /* eslint-enable no-script-url */\\n\\nfunction urlParse(url, slashesDenoteHost) {\\n if (url && url instanceof Url) { return url; }\\n\\n var u = new Url();\\n u.parse(url, slashesDenoteHost);\\n return u;\\n}\\n\\nUrl.prototype.parse = function(url, slashesDenoteHost) {\\n var i, l, lowerProto, hec, slashes,\\n rest = url;\\n\\n // trim before proceeding.\\n // This is to support parse stuff like \\\" http://foo.com \\\\n\\\"\\n rest = rest.trim();\\n\\n if (!slashesDenoteHost && url.split('#').length === 1) {\\n // Try fast path regexp\\n var simplePath = simplePathPattern.exec(rest);\\n if (simplePath) {\\n this.pathname = simplePath[1];\\n if (simplePath[2]) {\\n this.search = simplePath[2];\\n }\\n return this;\\n }\\n }\\n\\n var proto = protocolPattern.exec(rest);\\n if (proto) {\\n proto = proto[0];\\n lowerProto = proto.toLowerCase();\\n this.protocol = proto;\\n rest = rest.substr(proto.length);\\n }\\n\\n // figure out if it's got a host\\n // user@server is *always* interpreted as a hostname, and url\\n // resolution will treat //foo/bar as host=foo,path=bar because that's\\n // how the browser resolves relative URLs.\\n if (slashesDenoteHost || proto || rest.match(/^\\\\/\\\\/[^@\\\\/]+@[^@\\\\/]+/)) {\\n slashes = rest.substr(0, 2) === '//';\\n if (slashes && !(proto && hostlessProtocol[proto])) {\\n rest = rest.substr(2);\\n this.slashes = true;\\n }\\n }\\n\\n if (!hostlessProtocol[proto] &&\\n (slashes || (proto && !slashedProtocol[proto]))) {\\n\\n // there's a hostname.\\n // the first instance of /, ?, ;, or # ends the host.\\n //\\n // If there is an @ in the hostname, then non-host chars *are* allowed\\n // to the left of the last @ sign, unless some host-ending character\\n // comes *before* the @-sign.\\n // URLs are obnoxious.\\n //\\n // ex:\\n // http://a@b@c/ => user:a@b host:c\\n // http://a@b?@c => user:a host:c path:/?@c\\n\\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\\n // Review our test case against browsers more comprehensively.\\n\\n // find the first instance of any hostEndingChars\\n var hostEnd = -1;\\n for (i = 0; i < hostEndingChars.length; i++) {\\n hec = rest.indexOf(hostEndingChars[i]);\\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\\n hostEnd = hec;\\n }\\n }\\n\\n // at this point, either we have an explicit point where the\\n // auth portion cannot go past, or the last @ char is the decider.\\n var auth, atSign;\\n if (hostEnd === -1) {\\n // atSign can be anywhere.\\n atSign = rest.lastIndexOf('@');\\n } else {\\n // atSign must be in auth portion.\\n // http://a@b/c@d => host:b auth:a path:/c@d\\n atSign = rest.lastIndexOf('@', hostEnd);\\n }\\n\\n // Now we have a portion which is definitely the auth.\\n // Pull that off.\\n if (atSign !== -1) {\\n auth = rest.slice(0, atSign);\\n rest = rest.slice(atSign + 1);\\n this.auth = auth;\\n }\\n\\n // the host is the remaining to the left of the first non-host char\\n hostEnd = -1;\\n for (i = 0; i < nonHostChars.length; i++) {\\n hec = rest.indexOf(nonHostChars[i]);\\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\\n hostEnd = hec;\\n }\\n }\\n // if we still have not hit it, then the entire thing is a host.\\n if (hostEnd === -1) {\\n hostEnd = rest.length;\\n }\\n\\n if (rest[hostEnd - 1] === ':') { hostEnd--; }\\n var host = rest.slice(0, hostEnd);\\n rest = rest.slice(hostEnd);\\n\\n // pull out port.\\n this.parseHost(host);\\n\\n // we've indicated that there is a hostname,\\n // so even if it's empty, it has to be present.\\n this.hostname = this.hostname || '';\\n\\n // if hostname begins with [ and ends with ]\\n // assume that it's an IPv6 address.\\n var ipv6Hostname = this.hostname[0] === '[' &&\\n this.hostname[this.hostname.length - 1] === ']';\\n\\n // validate a little.\\n if (!ipv6Hostname) {\\n var hostparts = this.hostname.split(/\\\\./);\\n for (i = 0, l = hostparts.length; i < l; i++) {\\n var part = hostparts[i];\\n if (!part) { continue; }\\n if (!part.match(hostnamePartPattern)) {\\n var newpart = '';\\n for (var j = 0, k = part.length; j < k; j++) {\\n if (part.charCodeAt(j) > 127) {\\n // we replace non-ASCII char with a temporary placeholder\\n // we need this to make sure size of hostname is not\\n // broken by replacing non-ASCII by nothing\\n newpart += 'x';\\n } else {\\n newpart += part[j];\\n }\\n }\\n // we test again with ASCII char only\\n if (!newpart.match(hostnamePartPattern)) {\\n var validParts = hostparts.slice(0, i);\\n var notHost = hostparts.slice(i + 1);\\n var bit = part.match(hostnamePartStart);\\n if (bit) {\\n validParts.push(bit[1]);\\n notHost.unshift(bit[2]);\\n }\\n if (notHost.length) {\\n rest = notHost.join('.') + rest;\\n }\\n this.hostname = validParts.join('.');\\n break;\\n }\\n }\\n }\\n }\\n\\n if (this.hostname.length > hostnameMaxLen) {\\n this.hostname = '';\\n }\\n\\n // strip [ and ] from the hostname\\n // the host field still retains them, though\\n if (ipv6Hostname) {\\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\\n }\\n }\\n\\n // chop off from the tail first.\\n var hash = rest.indexOf('#');\\n if (hash !== -1) {\\n // got a fragment string.\\n this.hash = rest.substr(hash);\\n rest = rest.slice(0, hash);\\n }\\n var qm = rest.indexOf('?');\\n if (qm !== -1) {\\n this.search = rest.substr(qm);\\n rest = rest.slice(0, qm);\\n }\\n if (rest) { this.pathname = rest; }\\n if (slashedProtocol[lowerProto] &&\\n this.hostname && !this.pathname) {\\n this.pathname = '';\\n }\\n\\n return this;\\n};\\n\\nUrl.prototype.parseHost = function(host) {\\n var port = portPattern.exec(host);\\n if (port) {\\n port = port[0];\\n if (port !== ':') {\\n this.port = port.substr(1);\\n }\\n host = host.substr(0, host.length - port.length);\\n }\\n if (host) { this.hostname = host; }\\n};\\n\\nmodule.exports = urlParse;\\n\",\"'use strict';\\n\\nexports.Any = require('./properties/Any/regex');\\nexports.Cc = require('./categories/Cc/regex');\\nexports.Cf = require('./categories/Cf/regex');\\nexports.P = require('./categories/P/regex');\\nexports.Z = require('./categories/Z/regex');\\n\",\"module.exports=/[\\\\xAD\\\\u0600-\\\\u0605\\\\u061C\\\\u06DD\\\\u070F\\\\u08E2\\\\u180E\\\\u200B-\\\\u200F\\\\u202A-\\\\u202E\\\\u2060-\\\\u2064\\\\u2066-\\\\u206F\\\\uFEFF\\\\uFFF9-\\\\uFFFB]|\\\\uD804[\\\\uDCBD\\\\uDCCD]|\\\\uD82F[\\\\uDCA0-\\\\uDCA3]|\\\\uD834[\\\\uDD73-\\\\uDD7A]|\\\\uDB40[\\\\uDC01\\\\uDC20-\\\\uDC7F]/\",\"// Just a shortcut for bulk export\\n'use strict';\\n\\n\\nexports.parseLinkLabel = require('./parse_link_label');\\nexports.parseLinkDestination = require('./parse_link_destination');\\nexports.parseLinkTitle = require('./parse_link_title');\\n\",\"// Parse link label\\n//\\n// this function assumes that first character (\\\"[\\\") already matches;\\n// returns the end of the label\\n//\\n'use strict';\\n\\nmodule.exports = function parseLinkLabel(state, start, disableNested) {\\n var level, found, marker, prevPos,\\n labelEnd = -1,\\n max = state.posMax,\\n oldPos = state.pos;\\n\\n state.pos = start + 1;\\n level = 1;\\n\\n while (state.pos < max) {\\n marker = state.src.charCodeAt(state.pos);\\n if (marker === 0x5D /* ] */) {\\n level--;\\n if (level === 0) {\\n found = true;\\n break;\\n }\\n }\\n\\n prevPos = state.pos;\\n state.md.inline.skipToken(state);\\n if (marker === 0x5B /* [ */) {\\n if (prevPos === state.pos - 1) {\\n // increase level if we find text `[`, which is not a part of any token\\n level++;\\n } else if (disableNested) {\\n state.pos = oldPos;\\n return -1;\\n }\\n }\\n }\\n\\n if (found) {\\n labelEnd = state.pos;\\n }\\n\\n // restore old state\\n state.pos = oldPos;\\n\\n return labelEnd;\\n};\\n\",\"// Parse link destination\\n//\\n'use strict';\\n\\n\\nvar unescapeAll = require('../common/utils').unescapeAll;\\n\\n\\nmodule.exports = function parseLinkDestination(str, pos, max) {\\n var code, level,\\n lines = 0,\\n start = pos,\\n result = {\\n ok: false,\\n pos: 0,\\n lines: 0,\\n str: ''\\n };\\n\\n if (str.charCodeAt(pos) === 0x3C /* < */) {\\n pos++;\\n while (pos < max) {\\n code = str.charCodeAt(pos);\\n if (code === 0x0A /* \\\\n */) { return result; }\\n if (code === 0x3E /* > */) {\\n result.pos = pos + 1;\\n result.str = unescapeAll(str.slice(start + 1, pos));\\n result.ok = true;\\n return result;\\n }\\n if (code === 0x5C /* \\\\ */ && pos + 1 < max) {\\n pos += 2;\\n continue;\\n }\\n\\n pos++;\\n }\\n\\n // no closing '>'\\n return result;\\n }\\n\\n // this should be ... } else { ... branch\\n\\n level = 0;\\n while (pos < max) {\\n code = str.charCodeAt(pos);\\n\\n if (code === 0x20) { break; }\\n\\n // ascii control characters\\n if (code < 0x20 || code === 0x7F) { break; }\\n\\n if (code === 0x5C /* \\\\ */ && pos + 1 < max) {\\n pos += 2;\\n continue;\\n }\\n\\n if (code === 0x28 /* ( */) {\\n level++;\\n }\\n\\n if (code === 0x29 /* ) */) {\\n if (level === 0) { break; }\\n level--;\\n }\\n\\n pos++;\\n }\\n\\n if (start === pos) { return result; }\\n if (level !== 0) { return result; }\\n\\n result.str = unescapeAll(str.slice(start, pos));\\n result.lines = lines;\\n result.pos = pos;\\n result.ok = true;\\n return result;\\n};\\n\",\"// Parse link title\\n//\\n'use strict';\\n\\n\\nvar unescapeAll = require('../common/utils').unescapeAll;\\n\\n\\nmodule.exports = function parseLinkTitle(str, pos, max) {\\n var code,\\n marker,\\n lines = 0,\\n start = pos,\\n result = {\\n ok: false,\\n pos: 0,\\n lines: 0,\\n str: ''\\n };\\n\\n if (pos >= max) { return result; }\\n\\n marker = str.charCodeAt(pos);\\n\\n if (marker !== 0x22 /* \\\" */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { return result; }\\n\\n pos++;\\n\\n // if opening marker is \\\"(\\\", switch it to closing marker \\\")\\\"\\n if (marker === 0x28) { marker = 0x29; }\\n\\n while (pos < max) {\\n code = str.charCodeAt(pos);\\n if (code === marker) {\\n result.pos = pos + 1;\\n result.lines = lines;\\n result.str = unescapeAll(str.slice(start + 1, pos));\\n result.ok = true;\\n return result;\\n } else if (code === 0x0A) {\\n lines++;\\n } else if (code === 0x5C /* \\\\ */ && pos + 1 < max) {\\n pos++;\\n if (str.charCodeAt(pos) === 0x0A) {\\n lines++;\\n }\\n }\\n\\n pos++;\\n }\\n\\n return result;\\n};\\n\",\"/**\\n * class Renderer\\n *\\n * Generates HTML from parsed token stream. Each instance has independent\\n * copy of rules. Those can be rewritten with ease. Also, you can add new\\n * rules if you create plugin and adds new token types.\\n **/\\n'use strict';\\n\\n\\nvar assign = require('./common/utils').assign;\\nvar unescapeAll = require('./common/utils').unescapeAll;\\nvar escapeHtml = require('./common/utils').escapeHtml;\\n\\n\\n////////////////////////////////////////////////////////////////////////////////\\n\\nvar default_rules = {};\\n\\n\\ndefault_rules.code_inline = function (tokens, idx, options, env, slf) {\\n var token = tokens[idx];\\n\\n return '' +\\n escapeHtml(tokens[idx].content) +\\n '';\\n};\\n\\n\\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\\n var token = tokens[idx];\\n\\n return '' +\\n escapeHtml(tokens[idx].content) +\\n '\\\\n';\\n};\\n\\n\\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\\n var token = tokens[idx],\\n info = token.info ? unescapeAll(token.info).trim() : '',\\n langName = '',\\n highlighted, i, tmpAttrs, tmpToken;\\n\\n if (info) {\\n langName = info.split(/\\\\s+/g)[0];\\n }\\n\\n if (options.highlight) {\\n highlighted = options.highlight(token.content, langName) || escapeHtml(token.content);\\n } else {\\n highlighted = escapeHtml(token.content);\\n }\\n\\n if (highlighted.indexOf(''\\n + highlighted\\n + '\\\\n';\\n }\\n\\n\\n return '

    '\\n        + highlighted\\n        + '
    \\\\n';\\n};\\n\\n\\ndefault_rules.image = function (tokens, idx, options, env, slf) {\\n var token = tokens[idx];\\n\\n // \\\"alt\\\" attr MUST be set, even if empty. Because it's mandatory and\\n // should be placed on proper position for tests.\\n //\\n // Replace content with actual value\\n\\n token.attrs[token.attrIndex('alt')][1] =\\n slf.renderInlineAsText(token.children, options, env);\\n\\n return slf.renderToken(tokens, idx, options);\\n};\\n\\n\\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\\n return options.xhtmlOut ? '
    \\\\n' : '
    \\\\n';\\n};\\ndefault_rules.softbreak = function (tokens, idx, options /*, env */) {\\n return options.breaks ? (options.xhtmlOut ? '
    \\\\n' : '
    \\\\n') : '\\\\n';\\n};\\n\\n\\ndefault_rules.text = function (tokens, idx /*, options, env */) {\\n return escapeHtml(tokens[idx].content);\\n};\\n\\n\\ndefault_rules.html_block = function (tokens, idx /*, options, env */) {\\n return tokens[idx].content;\\n};\\ndefault_rules.html_inline = function (tokens, idx /*, options, env */) {\\n return tokens[idx].content;\\n};\\n\\n\\n/**\\n * new Renderer()\\n *\\n * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.\\n **/\\nfunction Renderer() {\\n\\n /**\\n * Renderer#rules -> Object\\n *\\n * Contains render rules for tokens. Can be updated and extended.\\n *\\n * ##### Example\\n *\\n * ```javascript\\n * var md = require('markdown-it')();\\n *\\n * md.renderer.rules.strong_open = function () { return ''; };\\n * md.renderer.rules.strong_close = function () { return ''; };\\n *\\n * var result = md.renderInline(...);\\n * ```\\n *\\n * Each rule is called as independent static function with fixed signature:\\n *\\n * ```javascript\\n * function my_token_render(tokens, idx, options, env, renderer) {\\n * // ...\\n * return renderedHTML;\\n * }\\n * ```\\n *\\n * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)\\n * for more details and examples.\\n **/\\n this.rules = assign({}, default_rules);\\n}\\n\\n\\n/**\\n * Renderer.renderAttrs(token) -> String\\n *\\n * Render token attributes to string.\\n **/\\nRenderer.prototype.renderAttrs = function renderAttrs(token) {\\n var i, l, result;\\n\\n if (!token.attrs) { return ''; }\\n\\n result = '';\\n\\n for (i = 0, l = token.attrs.length; i < l; i++) {\\n result += ' ' + escapeHtml(token.attrs[i][0]) + '=\\\"' + escapeHtml(token.attrs[i][1]) + '\\\"';\\n }\\n\\n return result;\\n};\\n\\n\\n/**\\n * Renderer.renderToken(tokens, idx, options) -> String\\n * - tokens (Array): list of tokens\\n * - idx (Numbed): token index to render\\n * - options (Object): params of parser instance\\n *\\n * Default token renderer. Can be overriden by custom function\\n * in [[Renderer#rules]].\\n **/\\nRenderer.prototype.renderToken = function renderToken(tokens, idx, options) {\\n var nextToken,\\n result = '',\\n needLf = false,\\n token = tokens[idx];\\n\\n // Tight list paragraphs\\n if (token.hidden) {\\n return '';\\n }\\n\\n // Insert a newline between hidden paragraph and subsequent opening\\n // block-level tag.\\n //\\n // For example, here we should insert a newline before blockquote:\\n // - a\\n // >\\n //\\n if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {\\n result += '\\\\n';\\n }\\n\\n // Add token name, e.g. ``.\\n //\\n needLf = false;\\n }\\n }\\n }\\n }\\n\\n result += needLf ? '>\\\\n' : '>';\\n\\n return result;\\n};\\n\\n\\n/**\\n * Renderer.renderInline(tokens, options, env) -> String\\n * - tokens (Array): list on block tokens to renter\\n * - options (Object): params of parser instance\\n * - env (Object): additional data from parsed input (references, for example)\\n *\\n * The same as [[Renderer.render]], but for single token of `inline` type.\\n **/\\nRenderer.prototype.renderInline = function (tokens, options, env) {\\n var type,\\n result = '',\\n rules = this.rules;\\n\\n for (var i = 0, len = tokens.length; i < len; i++) {\\n type = tokens[i].type;\\n\\n if (typeof rules[type] !== 'undefined') {\\n result += rules[type](tokens, i, options, env, this);\\n } else {\\n result += this.renderToken(tokens, i, options);\\n }\\n }\\n\\n return result;\\n};\\n\\n\\n/** internal\\n * Renderer.renderInlineAsText(tokens, options, env) -> String\\n * - tokens (Array): list on block tokens to renter\\n * - options (Object): params of parser instance\\n * - env (Object): additional data from parsed input (references, for example)\\n *\\n * Special kludge for image `alt` attributes to conform CommonMark spec.\\n * Don't try to use it! Spec requires to show `alt` content with stripped markup,\\n * instead of simple escaping.\\n **/\\nRenderer.prototype.renderInlineAsText = function (tokens, options, env) {\\n var result = '';\\n\\n for (var i = 0, len = tokens.length; i < len; i++) {\\n if (tokens[i].type === 'text') {\\n result += tokens[i].content;\\n } else if (tokens[i].type === 'image') {\\n result += this.renderInlineAsText(tokens[i].children, options, env);\\n }\\n }\\n\\n return result;\\n};\\n\\n\\n/**\\n * Renderer.render(tokens, options, env) -> String\\n * - tokens (Array): list on block tokens to renter\\n * - options (Object): params of parser instance\\n * - env (Object): additional data from parsed input (references, for example)\\n *\\n * Takes token stream and generates HTML. Probably, you will never need to call\\n * this method directly.\\n **/\\nRenderer.prototype.render = function (tokens, options, env) {\\n var i, len, type,\\n result = '',\\n rules = this.rules;\\n\\n for (i = 0, len = tokens.length; i < len; i++) {\\n type = tokens[i].type;\\n\\n if (type === 'inline') {\\n result += this.renderInline(tokens[i].children, options, env);\\n } else if (typeof rules[type] !== 'undefined') {\\n result += rules[tokens[i].type](tokens, i, options, env, this);\\n } else {\\n result += this.renderToken(tokens, i, options, env);\\n }\\n }\\n\\n return result;\\n};\\n\\nmodule.exports = Renderer;\\n\",\"/** internal\\n * class Core\\n *\\n * Top-level rules executor. Glues block/inline parsers and does intermediate\\n * transformations.\\n **/\\n'use strict';\\n\\n\\nvar Ruler = require('./ruler');\\n\\n\\nvar _rules = [\\n [ 'normalize', require('./rules_core/normalize') ],\\n [ 'block', require('./rules_core/block') ],\\n [ 'inline', require('./rules_core/inline') ],\\n [ 'linkify', require('./rules_core/linkify') ],\\n [ 'replacements', require('./rules_core/replacements') ],\\n [ 'smartquotes', require('./rules_core/smartquotes') ]\\n];\\n\\n\\n/**\\n * new Core()\\n **/\\nfunction Core() {\\n /**\\n * Core#ruler -> Ruler\\n *\\n * [[Ruler]] instance. Keep configuration of core rules.\\n **/\\n this.ruler = new Ruler();\\n\\n for (var i = 0; i < _rules.length; i++) {\\n this.ruler.push(_rules[i][0], _rules[i][1]);\\n }\\n}\\n\\n\\n/**\\n * Core.process(state)\\n *\\n * Executes core chain rules.\\n **/\\nCore.prototype.process = function (state) {\\n var i, l, rules;\\n\\n rules = this.ruler.getRules('');\\n\\n for (i = 0, l = rules.length; i < l; i++) {\\n rules[i](state);\\n }\\n};\\n\\nCore.prototype.State = require('./rules_core/state_core');\\n\\n\\nmodule.exports = Core;\\n\",\"// Normalize input string\\n\\n'use strict';\\n\\n\\n// https://spec.commonmark.org/0.29/#line-ending\\nvar NEWLINES_RE = /\\\\r\\\\n?|\\\\n/g;\\nvar NULL_RE = /\\\\0/g;\\n\\n\\nmodule.exports = function normalize(state) {\\n var str;\\n\\n // Normalize newlines\\n str = state.src.replace(NEWLINES_RE, '\\\\n');\\n\\n // Replace NULL characters\\n str = str.replace(NULL_RE, '\\\\uFFFD');\\n\\n state.src = str;\\n};\\n\",\"'use strict';\\n\\n\\nmodule.exports = function block(state) {\\n var token;\\n\\n if (state.inlineMode) {\\n token = new state.Token('inline', '', 0);\\n token.content = state.src;\\n token.map = [ 0, 1 ];\\n token.children = [];\\n state.tokens.push(token);\\n } else {\\n state.md.block.parse(state.src, state.md, state.env, state.tokens);\\n }\\n};\\n\",\"'use strict';\\n\\nmodule.exports = function inline(state) {\\n var tokens = state.tokens, tok, i, l;\\n\\n // Parse inlines\\n for (i = 0, l = tokens.length; i < l; i++) {\\n tok = tokens[i];\\n if (tok.type === 'inline') {\\n state.md.inline.parse(tok.content, state.md, state.env, tok.children);\\n }\\n }\\n};\\n\",\"// Replace link-like texts with link nodes.\\n//\\n// Currently restricted by `md.validateLink()` to http/https/ftp\\n//\\n'use strict';\\n\\n\\nvar arrayReplaceAt = require('../common/utils').arrayReplaceAt;\\n\\n\\nfunction isLinkOpen(str) {\\n return /^\\\\s]/i.test(str);\\n}\\nfunction isLinkClose(str) {\\n return /^<\\\\/a\\\\s*>/i.test(str);\\n}\\n\\n\\nmodule.exports = function linkify(state) {\\n var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos,\\n level, htmlLinkLevel, url, fullUrl, urlText,\\n blockTokens = state.tokens,\\n links;\\n\\n if (!state.md.options.linkify) { return; }\\n\\n for (j = 0, l = blockTokens.length; j < l; j++) {\\n if (blockTokens[j].type !== 'inline' ||\\n !state.md.linkify.pretest(blockTokens[j].content)) {\\n continue;\\n }\\n\\n tokens = blockTokens[j].children;\\n\\n htmlLinkLevel = 0;\\n\\n // We scan from the end, to keep position when new tags added.\\n // Use reversed logic in links start/end match\\n for (i = tokens.length - 1; i >= 0; i--) {\\n currentToken = tokens[i];\\n\\n // Skip content of markdown links\\n if (currentToken.type === 'link_close') {\\n i--;\\n while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {\\n i--;\\n }\\n continue;\\n }\\n\\n // Skip content of html tag links\\n if (currentToken.type === 'html_inline') {\\n if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {\\n htmlLinkLevel--;\\n }\\n if (isLinkClose(currentToken.content)) {\\n htmlLinkLevel++;\\n }\\n }\\n if (htmlLinkLevel > 0) { continue; }\\n\\n if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {\\n\\n text = currentToken.content;\\n links = state.md.linkify.match(text);\\n\\n // Now split string to nodes\\n nodes = [];\\n level = currentToken.level;\\n lastPos = 0;\\n\\n for (ln = 0; ln < links.length; ln++) {\\n\\n url = links[ln].url;\\n fullUrl = state.md.normalizeLink(url);\\n if (!state.md.validateLink(fullUrl)) { continue; }\\n\\n urlText = links[ln].text;\\n\\n // Linkifier might send raw hostnames like \\\"example.com\\\", where url\\n // starts with domain name. So we prepend http:// in those cases,\\n // and remove it afterwards.\\n //\\n if (!links[ln].schema) {\\n urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\\\\/\\\\//, '');\\n } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {\\n urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');\\n } else {\\n urlText = state.md.normalizeLinkText(urlText);\\n }\\n\\n pos = links[ln].index;\\n\\n if (pos > lastPos) {\\n token = new state.Token('text', '', 0);\\n token.content = text.slice(lastPos, pos);\\n token.level = level;\\n nodes.push(token);\\n }\\n\\n token = new state.Token('link_open', 'a', 1);\\n token.attrs = [ [ 'href', fullUrl ] ];\\n token.level = level++;\\n token.markup = 'linkify';\\n token.info = 'auto';\\n nodes.push(token);\\n\\n token = new state.Token('text', '', 0);\\n token.content = urlText;\\n token.level = level;\\n nodes.push(token);\\n\\n token = new state.Token('link_close', 'a', -1);\\n token.level = --level;\\n token.markup = 'linkify';\\n token.info = 'auto';\\n nodes.push(token);\\n\\n lastPos = links[ln].lastIndex;\\n }\\n if (lastPos < text.length) {\\n token = new state.Token('text', '', 0);\\n token.content = text.slice(lastPos);\\n token.level = level;\\n nodes.push(token);\\n }\\n\\n // replace current node\\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);\\n }\\n }\\n }\\n};\\n\",\"// Simple typographic replacements\\n//\\n// (c) (C) → ©\\n// (tm) (TM) → ™\\n// (r) (R) → ®\\n// +- → ±\\n// (p) (P) -> §\\n// ... → … (also ?.... → ?.., !.... → !..)\\n// ???????? → ???, !!!!! → !!!, `,,` → `,`\\n// -- → –, --- → —\\n//\\n'use strict';\\n\\n// TODO:\\n// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾\\n// - miltiplication 2 x 4 -> 2 × 4\\n\\nvar RARE_RE = /\\\\+-|\\\\.\\\\.|\\\\?\\\\?\\\\?\\\\?|!!!!|,,|--/;\\n\\n// Workaround for phantomjs - need regex without /g flag,\\n// or root check will fail every second time\\nvar SCOPED_ABBR_TEST_RE = /\\\\((c|tm|r|p)\\\\)/i;\\n\\nvar SCOPED_ABBR_RE = /\\\\((c|tm|r|p)\\\\)/ig;\\nvar SCOPED_ABBR = {\\n c: '©',\\n r: '®',\\n p: '§',\\n tm: '™'\\n};\\n\\nfunction replaceFn(match, name) {\\n return SCOPED_ABBR[name.toLowerCase()];\\n}\\n\\nfunction replace_scoped(inlineTokens) {\\n var i, token, inside_autolink = 0;\\n\\n for (i = inlineTokens.length - 1; i >= 0; i--) {\\n token = inlineTokens[i];\\n\\n if (token.type === 'text' && !inside_autolink) {\\n token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);\\n }\\n\\n if (token.type === 'link_open' && token.info === 'auto') {\\n inside_autolink--;\\n }\\n\\n if (token.type === 'link_close' && token.info === 'auto') {\\n inside_autolink++;\\n }\\n }\\n}\\n\\nfunction replace_rare(inlineTokens) {\\n var i, token, inside_autolink = 0;\\n\\n for (i = inlineTokens.length - 1; i >= 0; i--) {\\n token = inlineTokens[i];\\n\\n if (token.type === 'text' && !inside_autolink) {\\n if (RARE_RE.test(token.content)) {\\n token.content = token.content\\n .replace(/\\\\+-/g, '±')\\n // .., ..., ....... -> …\\n // but ?..... & !..... -> ?.. & !..\\n .replace(/\\\\.{2,}/g, '…').replace(/([?!])…/g, '$1..')\\n .replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')\\n // em-dash\\n .replace(/(^|[^-])---([^-]|$)/mg, '$1\\\\u2014$2')\\n // en-dash\\n .replace(/(^|\\\\s)--(\\\\s|$)/mg, '$1\\\\u2013$2')\\n .replace(/(^|[^-\\\\s])--([^-\\\\s]|$)/mg, '$1\\\\u2013$2');\\n }\\n }\\n\\n if (token.type === 'link_open' && token.info === 'auto') {\\n inside_autolink--;\\n }\\n\\n if (token.type === 'link_close' && token.info === 'auto') {\\n inside_autolink++;\\n }\\n }\\n}\\n\\n\\nmodule.exports = function replace(state) {\\n var blkIdx;\\n\\n if (!state.md.options.typographer) { return; }\\n\\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\\n\\n if (state.tokens[blkIdx].type !== 'inline') { continue; }\\n\\n if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {\\n replace_scoped(state.tokens[blkIdx].children);\\n }\\n\\n if (RARE_RE.test(state.tokens[blkIdx].content)) {\\n replace_rare(state.tokens[blkIdx].children);\\n }\\n\\n }\\n};\\n\",\"// Convert straight quotation marks to typographic ones\\n//\\n'use strict';\\n\\n\\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\\nvar isPunctChar = require('../common/utils').isPunctChar;\\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\\n\\nvar QUOTE_TEST_RE = /['\\\"]/;\\nvar QUOTE_RE = /['\\\"]/g;\\nvar APOSTROPHE = '\\\\u2019'; /* ’ */\\n\\n\\nfunction replaceAt(str, index, ch) {\\n return str.substr(0, index) + ch + str.substr(index + 1);\\n}\\n\\nfunction process_inlines(tokens, state) {\\n var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar,\\n isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace,\\n canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;\\n\\n stack = [];\\n\\n for (i = 0; i < tokens.length; i++) {\\n token = tokens[i];\\n\\n thisLevel = tokens[i].level;\\n\\n for (j = stack.length - 1; j >= 0; j--) {\\n if (stack[j].level <= thisLevel) { break; }\\n }\\n stack.length = j + 1;\\n\\n if (token.type !== 'text') { continue; }\\n\\n text = token.content;\\n pos = 0;\\n max = text.length;\\n\\n /*eslint no-labels:0,block-scoped-var:0*/\\n OUTER:\\n while (pos < max) {\\n QUOTE_RE.lastIndex = pos;\\n t = QUOTE_RE.exec(text);\\n if (!t) { break; }\\n\\n canOpen = canClose = true;\\n pos = t.index + 1;\\n isSingle = (t[0] === \\\"'\\\");\\n\\n // Find previous character,\\n // default to space if it's the beginning of the line\\n //\\n lastChar = 0x20;\\n\\n if (t.index - 1 >= 0) {\\n lastChar = text.charCodeAt(t.index - 1);\\n } else {\\n for (j = i - 1; j >= 0; j--) {\\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20\\n if (tokens[j].type !== 'text') continue;\\n\\n lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\\n break;\\n }\\n }\\n\\n // Find next character,\\n // default to space if it's the end of the line\\n //\\n nextChar = 0x20;\\n\\n if (pos < max) {\\n nextChar = text.charCodeAt(pos);\\n } else {\\n for (j = i + 1; j < tokens.length; j++) {\\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20\\n if (tokens[j].type !== 'text') continue;\\n\\n nextChar = tokens[j].content.charCodeAt(0);\\n break;\\n }\\n }\\n\\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\\n\\n isLastWhiteSpace = isWhiteSpace(lastChar);\\n isNextWhiteSpace = isWhiteSpace(nextChar);\\n\\n if (isNextWhiteSpace) {\\n canOpen = false;\\n } else if (isNextPunctChar) {\\n if (!(isLastWhiteSpace || isLastPunctChar)) {\\n canOpen = false;\\n }\\n }\\n\\n if (isLastWhiteSpace) {\\n canClose = false;\\n } else if (isLastPunctChar) {\\n if (!(isNextWhiteSpace || isNextPunctChar)) {\\n canClose = false;\\n }\\n }\\n\\n if (nextChar === 0x22 /* \\\" */ && t[0] === '\\\"') {\\n if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {\\n // special case: 1\\\"\\\" - count first quote as an inch\\n canClose = canOpen = false;\\n }\\n }\\n\\n if (canOpen && canClose) {\\n // treat this as the middle of the word\\n canOpen = false;\\n canClose = isNextPunctChar;\\n }\\n\\n if (!canOpen && !canClose) {\\n // middle of word\\n if (isSingle) {\\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\\n }\\n continue;\\n }\\n\\n if (canClose) {\\n // this could be a closing quote, rewind the stack to get a match\\n for (j = stack.length - 1; j >= 0; j--) {\\n item = stack[j];\\n if (stack[j].level < thisLevel) { break; }\\n if (item.single === isSingle && stack[j].level === thisLevel) {\\n item = stack[j];\\n\\n if (isSingle) {\\n openQuote = state.md.options.quotes[2];\\n closeQuote = state.md.options.quotes[3];\\n } else {\\n openQuote = state.md.options.quotes[0];\\n closeQuote = state.md.options.quotes[1];\\n }\\n\\n // replace token.content *before* tokens[item.token].content,\\n // because, if they are pointing at the same token, replaceAt\\n // could mess up indices when quote length != 1\\n token.content = replaceAt(token.content, t.index, closeQuote);\\n tokens[item.token].content = replaceAt(\\n tokens[item.token].content, item.pos, openQuote);\\n\\n pos += closeQuote.length - 1;\\n if (item.token === i) { pos += openQuote.length - 1; }\\n\\n text = token.content;\\n max = text.length;\\n\\n stack.length = j;\\n continue OUTER;\\n }\\n }\\n }\\n\\n if (canOpen) {\\n stack.push({\\n token: i,\\n pos: t.index,\\n single: isSingle,\\n level: thisLevel\\n });\\n } else if (canClose && isSingle) {\\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\\n }\\n }\\n }\\n}\\n\\n\\nmodule.exports = function smartquotes(state) {\\n /*eslint max-depth:0*/\\n var blkIdx;\\n\\n if (!state.md.options.typographer) { return; }\\n\\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\\n\\n if (state.tokens[blkIdx].type !== 'inline' ||\\n !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {\\n continue;\\n }\\n\\n process_inlines(state.tokens[blkIdx].children, state);\\n }\\n};\\n\",\"// Core state object\\n//\\n'use strict';\\n\\nvar Token = require('../token');\\n\\n\\nfunction StateCore(src, md, env) {\\n this.src = src;\\n this.env = env;\\n this.tokens = [];\\n this.inlineMode = false;\\n this.md = md; // link to parser instance\\n}\\n\\n// re-export Token class to use in core rules\\nStateCore.prototype.Token = Token;\\n\\n\\nmodule.exports = StateCore;\\n\",\"/** internal\\n * class ParserBlock\\n *\\n * Block-level tokenizer.\\n **/\\n'use strict';\\n\\n\\nvar Ruler = require('./ruler');\\n\\n\\nvar _rules = [\\n // First 2 params - rule name & source. Secondary array - list of rules,\\n // which can be terminated by this one.\\n [ 'table', require('./rules_block/table'), [ 'paragraph', 'reference' ] ],\\n [ 'code', require('./rules_block/code') ],\\n [ 'fence', require('./rules_block/fence'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\\n [ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\\n [ 'hr', require('./rules_block/hr'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\\n [ 'list', require('./rules_block/list'), [ 'paragraph', 'reference', 'blockquote' ] ],\\n [ 'reference', require('./rules_block/reference') ],\\n [ 'heading', require('./rules_block/heading'), [ 'paragraph', 'reference', 'blockquote' ] ],\\n [ 'lheading', require('./rules_block/lheading') ],\\n [ 'html_block', require('./rules_block/html_block'), [ 'paragraph', 'reference', 'blockquote' ] ],\\n [ 'paragraph', require('./rules_block/paragraph') ]\\n];\\n\\n\\n/**\\n * new ParserBlock()\\n **/\\nfunction ParserBlock() {\\n /**\\n * ParserBlock#ruler -> Ruler\\n *\\n * [[Ruler]] instance. Keep configuration of block rules.\\n **/\\n this.ruler = new Ruler();\\n\\n for (var i = 0; i < _rules.length; i++) {\\n this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });\\n }\\n}\\n\\n\\n// Generate tokens for input range\\n//\\nParserBlock.prototype.tokenize = function (state, startLine, endLine) {\\n var ok, i,\\n rules = this.ruler.getRules(''),\\n len = rules.length,\\n line = startLine,\\n hasEmptyLines = false,\\n maxNesting = state.md.options.maxNesting;\\n\\n while (line < endLine) {\\n state.line = line = state.skipEmptyLines(line);\\n if (line >= endLine) { break; }\\n\\n // Termination condition for nested calls.\\n // Nested calls currently used for blockquotes & lists\\n if (state.sCount[line] < state.blkIndent) { break; }\\n\\n // If nesting level exceeded - skip tail to the end. That's not ordinary\\n // situation and we should not care about content.\\n if (state.level >= maxNesting) {\\n state.line = endLine;\\n break;\\n }\\n\\n // Try all possible rules.\\n // On success, rule should:\\n //\\n // - update `state.line`\\n // - update `state.tokens`\\n // - return true\\n\\n for (i = 0; i < len; i++) {\\n ok = rules[i](state, line, endLine, false);\\n if (ok) { break; }\\n }\\n\\n // set state.tight if we had an empty line before current tag\\n // i.e. latest empty line should not count\\n state.tight = !hasEmptyLines;\\n\\n // paragraph might \\\"eat\\\" one newline after it in nested lists\\n if (state.isEmpty(state.line - 1)) {\\n hasEmptyLines = true;\\n }\\n\\n line = state.line;\\n\\n if (line < endLine && state.isEmpty(line)) {\\n hasEmptyLines = true;\\n line++;\\n state.line = line;\\n }\\n }\\n};\\n\\n\\n/**\\n * ParserBlock.parse(str, md, env, outTokens)\\n *\\n * Process input string and push block tokens into `outTokens`\\n **/\\nParserBlock.prototype.parse = function (src, md, env, outTokens) {\\n var state;\\n\\n if (!src) { return; }\\n\\n state = new this.State(src, md, env, outTokens);\\n\\n this.tokenize(state, state.line, state.lineMax);\\n};\\n\\n\\nParserBlock.prototype.State = require('./rules_block/state_block');\\n\\n\\nmodule.exports = ParserBlock;\\n\",\"// GFM table, non-standard\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nfunction getLine(state, line) {\\n var pos = state.bMarks[line] + state.blkIndent,\\n max = state.eMarks[line];\\n\\n return state.src.substr(pos, max - pos);\\n}\\n\\nfunction escapedSplit(str) {\\n var result = [],\\n pos = 0,\\n max = str.length,\\n ch,\\n escapes = 0,\\n lastPos = 0,\\n backTicked = false,\\n lastBackTick = 0;\\n\\n ch = str.charCodeAt(pos);\\n\\n while (pos < max) {\\n if (ch === 0x60/* ` */) {\\n if (backTicked) {\\n // make \\\\` close code sequence, but not open it;\\n // the reason is: `\\\\` is correct code block\\n backTicked = false;\\n lastBackTick = pos;\\n } else if (escapes % 2 === 0) {\\n backTicked = true;\\n lastBackTick = pos;\\n }\\n } else if (ch === 0x7c/* | */ && (escapes % 2 === 0) && !backTicked) {\\n result.push(str.substring(lastPos, pos));\\n lastPos = pos + 1;\\n }\\n\\n if (ch === 0x5c/* \\\\ */) {\\n escapes++;\\n } else {\\n escapes = 0;\\n }\\n\\n pos++;\\n\\n // If there was an un-closed backtick, go back to just after\\n // the last backtick, but as if it was a normal character\\n if (pos === max && backTicked) {\\n backTicked = false;\\n pos = lastBackTick + 1;\\n }\\n\\n ch = str.charCodeAt(pos);\\n }\\n\\n result.push(str.substring(lastPos));\\n\\n return result;\\n}\\n\\n\\nmodule.exports = function table(state, startLine, endLine, silent) {\\n var ch, lineText, pos, i, nextLine, columns, columnCount, token,\\n aligns, t, tableLines, tbodyLines;\\n\\n // should have at least two lines\\n if (startLine + 2 > endLine) { return false; }\\n\\n nextLine = startLine + 1;\\n\\n if (state.sCount[nextLine] < state.blkIndent) { return false; }\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }\\n\\n // first character of the second line should be '|', '-', ':',\\n // and no other characters are allowed but spaces;\\n // basically, this is the equivalent of /^[-:|][-:|\\\\s]*$/ regexp\\n\\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\\n if (pos >= state.eMarks[nextLine]) { return false; }\\n\\n ch = state.src.charCodeAt(pos++);\\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */) { return false; }\\n\\n while (pos < state.eMarks[nextLine]) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */ && !isSpace(ch)) { return false; }\\n\\n pos++;\\n }\\n\\n lineText = getLine(state, startLine + 1);\\n\\n columns = lineText.split('|');\\n aligns = [];\\n for (i = 0; i < columns.length; i++) {\\n t = columns[i].trim();\\n if (!t) {\\n // allow empty columns before and after table, but not in between columns;\\n // e.g. allow ` |---| `, disallow ` ---||--- `\\n if (i === 0 || i === columns.length - 1) {\\n continue;\\n } else {\\n return false;\\n }\\n }\\n\\n if (!/^:?-+:?$/.test(t)) { return false; }\\n if (t.charCodeAt(t.length - 1) === 0x3A/* : */) {\\n aligns.push(t.charCodeAt(0) === 0x3A/* : */ ? 'center' : 'right');\\n } else if (t.charCodeAt(0) === 0x3A/* : */) {\\n aligns.push('left');\\n } else {\\n aligns.push('');\\n }\\n }\\n\\n lineText = getLine(state, startLine).trim();\\n if (lineText.indexOf('|') === -1) { return false; }\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n columns = escapedSplit(lineText.replace(/^\\\\||\\\\|$/g, ''));\\n\\n // header row will define an amount of columns in the entire table,\\n // and align row shouldn't be smaller than that (the rest of the rows can)\\n columnCount = columns.length;\\n if (columnCount > aligns.length) { return false; }\\n\\n if (silent) { return true; }\\n\\n token = state.push('table_open', 'table', 1);\\n token.map = tableLines = [ startLine, 0 ];\\n\\n token = state.push('thead_open', 'thead', 1);\\n token.map = [ startLine, startLine + 1 ];\\n\\n token = state.push('tr_open', 'tr', 1);\\n token.map = [ startLine, startLine + 1 ];\\n\\n for (i = 0; i < columns.length; i++) {\\n token = state.push('th_open', 'th', 1);\\n token.map = [ startLine, startLine + 1 ];\\n if (aligns[i]) {\\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\\n }\\n\\n token = state.push('inline', '', 0);\\n token.content = columns[i].trim();\\n token.map = [ startLine, startLine + 1 ];\\n token.children = [];\\n\\n token = state.push('th_close', 'th', -1);\\n }\\n\\n token = state.push('tr_close', 'tr', -1);\\n token = state.push('thead_close', 'thead', -1);\\n\\n token = state.push('tbody_open', 'tbody', 1);\\n token.map = tbodyLines = [ startLine + 2, 0 ];\\n\\n for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {\\n if (state.sCount[nextLine] < state.blkIndent) { break; }\\n\\n lineText = getLine(state, nextLine).trim();\\n if (lineText.indexOf('|') === -1) { break; }\\n if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }\\n columns = escapedSplit(lineText.replace(/^\\\\||\\\\|$/g, ''));\\n\\n token = state.push('tr_open', 'tr', 1);\\n for (i = 0; i < columnCount; i++) {\\n token = state.push('td_open', 'td', 1);\\n if (aligns[i]) {\\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\\n }\\n\\n token = state.push('inline', '', 0);\\n token.content = columns[i] ? columns[i].trim() : '';\\n token.children = [];\\n\\n token = state.push('td_close', 'td', -1);\\n }\\n token = state.push('tr_close', 'tr', -1);\\n }\\n token = state.push('tbody_close', 'tbody', -1);\\n token = state.push('table_close', 'table', -1);\\n\\n tableLines[1] = tbodyLines[1] = nextLine;\\n state.line = nextLine;\\n return true;\\n};\\n\",\"// Code block (4 spaces padded)\\n\\n'use strict';\\n\\n\\nmodule.exports = function code(state, startLine, endLine/*, silent*/) {\\n var nextLine, last, token;\\n\\n if (state.sCount[startLine] - state.blkIndent < 4) { return false; }\\n\\n last = nextLine = startLine + 1;\\n\\n while (nextLine < endLine) {\\n if (state.isEmpty(nextLine)) {\\n nextLine++;\\n continue;\\n }\\n\\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\\n nextLine++;\\n last = nextLine;\\n continue;\\n }\\n break;\\n }\\n\\n state.line = last;\\n\\n token = state.push('code_block', 'code', 0);\\n token.content = state.getLines(startLine, last, 4 + state.blkIndent, true);\\n token.map = [ startLine, state.line ];\\n\\n return true;\\n};\\n\",\"// fences (``` lang, ~~~ lang)\\n\\n'use strict';\\n\\n\\nmodule.exports = function fence(state, startLine, endLine, silent) {\\n var marker, len, params, nextLine, mem, token, markup,\\n haveEndMarker = false,\\n pos = state.bMarks[startLine] + state.tShift[startLine],\\n max = state.eMarks[startLine];\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n if (pos + 3 > max) { return false; }\\n\\n marker = state.src.charCodeAt(pos);\\n\\n if (marker !== 0x7E/* ~ */ && marker !== 0x60 /* ` */) {\\n return false;\\n }\\n\\n // scan marker length\\n mem = pos;\\n pos = state.skipChars(pos, marker);\\n\\n len = pos - mem;\\n\\n if (len < 3) { return false; }\\n\\n markup = state.src.slice(mem, pos);\\n params = state.src.slice(pos, max);\\n\\n if (marker === 0x60 /* ` */) {\\n if (params.indexOf(String.fromCharCode(marker)) >= 0) {\\n return false;\\n }\\n }\\n\\n // Since start is found, we can report success here in validation mode\\n if (silent) { return true; }\\n\\n // search end of block\\n nextLine = startLine;\\n\\n for (;;) {\\n nextLine++;\\n if (nextLine >= endLine) {\\n // unclosed block should be autoclosed by end of document.\\n // also block seems to be autoclosed by end of parent\\n break;\\n }\\n\\n pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\\n max = state.eMarks[nextLine];\\n\\n if (pos < max && state.sCount[nextLine] < state.blkIndent) {\\n // non-empty line with negative indent should stop the list:\\n // - ```\\n // test\\n break;\\n }\\n\\n if (state.src.charCodeAt(pos) !== marker) { continue; }\\n\\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\\n // closing fence should be indented less than 4 spaces\\n continue;\\n }\\n\\n pos = state.skipChars(pos, marker);\\n\\n // closing code fence must be at least as long as the opening one\\n if (pos - mem < len) { continue; }\\n\\n // make sure tail has spaces only\\n pos = state.skipSpaces(pos);\\n\\n if (pos < max) { continue; }\\n\\n haveEndMarker = true;\\n // found!\\n break;\\n }\\n\\n // If a fence has heading spaces, they should be removed from its inner block\\n len = state.sCount[startLine];\\n\\n state.line = nextLine + (haveEndMarker ? 1 : 0);\\n\\n token = state.push('fence', 'code', 0);\\n token.info = params;\\n token.content = state.getLines(startLine + 1, nextLine, len, true);\\n token.markup = markup;\\n token.map = [ startLine, state.line ];\\n\\n return true;\\n};\\n\",\"// Block quotes\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function blockquote(state, startLine, endLine, silent) {\\n var adjustTab,\\n ch,\\n i,\\n initial,\\n l,\\n lastLineEmpty,\\n lines,\\n nextLine,\\n offset,\\n oldBMarks,\\n oldBSCount,\\n oldIndent,\\n oldParentType,\\n oldSCount,\\n oldTShift,\\n spaceAfterMarker,\\n terminate,\\n terminatorRules,\\n token,\\n wasOutdented,\\n oldLineMax = state.lineMax,\\n pos = state.bMarks[startLine] + state.tShift[startLine],\\n max = state.eMarks[startLine];\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n // check the block quote marker\\n if (state.src.charCodeAt(pos++) !== 0x3E/* > */) { return false; }\\n\\n // we know that it's going to be a valid blockquote,\\n // so no point trying to find the end of it in silent mode\\n if (silent) { return true; }\\n\\n // skip spaces after \\\">\\\" and re-calculate offset\\n initial = offset = state.sCount[startLine] + pos - (state.bMarks[startLine] + state.tShift[startLine]);\\n\\n // skip one optional space after '>'\\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\\n // ' > test '\\n // ^ -- position start of line here:\\n pos++;\\n initial++;\\n offset++;\\n adjustTab = false;\\n spaceAfterMarker = true;\\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\\n spaceAfterMarker = true;\\n\\n if ((state.bsCount[startLine] + offset) % 4 === 3) {\\n // ' >\\\\t test '\\n // ^ -- position start of line here (tab has width===1)\\n pos++;\\n initial++;\\n offset++;\\n adjustTab = false;\\n } else {\\n // ' >\\\\t test '\\n // ^ -- position start of line here + shift bsCount slightly\\n // to make extra space appear\\n adjustTab = true;\\n }\\n } else {\\n spaceAfterMarker = false;\\n }\\n\\n oldBMarks = [ state.bMarks[startLine] ];\\n state.bMarks[startLine] = pos;\\n\\n while (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (isSpace(ch)) {\\n if (ch === 0x09) {\\n offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;\\n } else {\\n offset++;\\n }\\n } else {\\n break;\\n }\\n\\n pos++;\\n }\\n\\n oldBSCount = [ state.bsCount[startLine] ];\\n state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);\\n\\n lastLineEmpty = pos >= max;\\n\\n oldSCount = [ state.sCount[startLine] ];\\n state.sCount[startLine] = offset - initial;\\n\\n oldTShift = [ state.tShift[startLine] ];\\n state.tShift[startLine] = pos - state.bMarks[startLine];\\n\\n terminatorRules = state.md.block.ruler.getRules('blockquote');\\n\\n oldParentType = state.parentType;\\n state.parentType = 'blockquote';\\n wasOutdented = false;\\n\\n // Search the end of the block\\n //\\n // Block ends with either:\\n // 1. an empty line outside:\\n // ```\\n // > test\\n //\\n // ```\\n // 2. an empty line inside:\\n // ```\\n // >\\n // test\\n // ```\\n // 3. another tag:\\n // ```\\n // > test\\n // - - -\\n // ```\\n for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {\\n // check if it's outdented, i.e. it's inside list item and indented\\n // less than said list item:\\n //\\n // ```\\n // 1. anything\\n // > current blockquote\\n // 2. checking this line\\n // ```\\n if (state.sCount[nextLine] < state.blkIndent) wasOutdented = true;\\n\\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\\n max = state.eMarks[nextLine];\\n\\n if (pos >= max) {\\n // Case 1: line is not inside the blockquote, and this line is empty.\\n break;\\n }\\n\\n if (state.src.charCodeAt(pos++) === 0x3E/* > */ && !wasOutdented) {\\n // This line is inside the blockquote.\\n\\n // skip spaces after \\\">\\\" and re-calculate offset\\n initial = offset = state.sCount[nextLine] + pos - (state.bMarks[nextLine] + state.tShift[nextLine]);\\n\\n // skip one optional space after '>'\\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\\n // ' > test '\\n // ^ -- position start of line here:\\n pos++;\\n initial++;\\n offset++;\\n adjustTab = false;\\n spaceAfterMarker = true;\\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\\n spaceAfterMarker = true;\\n\\n if ((state.bsCount[nextLine] + offset) % 4 === 3) {\\n // ' >\\\\t test '\\n // ^ -- position start of line here (tab has width===1)\\n pos++;\\n initial++;\\n offset++;\\n adjustTab = false;\\n } else {\\n // ' >\\\\t test '\\n // ^ -- position start of line here + shift bsCount slightly\\n // to make extra space appear\\n adjustTab = true;\\n }\\n } else {\\n spaceAfterMarker = false;\\n }\\n\\n oldBMarks.push(state.bMarks[nextLine]);\\n state.bMarks[nextLine] = pos;\\n\\n while (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (isSpace(ch)) {\\n if (ch === 0x09) {\\n offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;\\n } else {\\n offset++;\\n }\\n } else {\\n break;\\n }\\n\\n pos++;\\n }\\n\\n lastLineEmpty = pos >= max;\\n\\n oldBSCount.push(state.bsCount[nextLine]);\\n state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);\\n\\n oldSCount.push(state.sCount[nextLine]);\\n state.sCount[nextLine] = offset - initial;\\n\\n oldTShift.push(state.tShift[nextLine]);\\n state.tShift[nextLine] = pos - state.bMarks[nextLine];\\n continue;\\n }\\n\\n // Case 2: line is not inside the blockquote, and the last line was empty.\\n if (lastLineEmpty) { break; }\\n\\n // Case 3: another tag found.\\n terminate = false;\\n for (i = 0, l = terminatorRules.length; i < l; i++) {\\n if (terminatorRules[i](state, nextLine, endLine, true)) {\\n terminate = true;\\n break;\\n }\\n }\\n\\n if (terminate) {\\n // Quirk to enforce \\\"hard termination mode\\\" for paragraphs;\\n // normally if you call `tokenize(state, startLine, nextLine)`,\\n // paragraphs will look below nextLine for paragraph continuation,\\n // but if blockquote is terminated by another tag, they shouldn't\\n state.lineMax = nextLine;\\n\\n if (state.blkIndent !== 0) {\\n // state.blkIndent was non-zero, we now set it to zero,\\n // so we need to re-calculate all offsets to appear as\\n // if indent wasn't changed\\n oldBMarks.push(state.bMarks[nextLine]);\\n oldBSCount.push(state.bsCount[nextLine]);\\n oldTShift.push(state.tShift[nextLine]);\\n oldSCount.push(state.sCount[nextLine]);\\n state.sCount[nextLine] -= state.blkIndent;\\n }\\n\\n break;\\n }\\n\\n oldBMarks.push(state.bMarks[nextLine]);\\n oldBSCount.push(state.bsCount[nextLine]);\\n oldTShift.push(state.tShift[nextLine]);\\n oldSCount.push(state.sCount[nextLine]);\\n\\n // A negative indentation means that this is a paragraph continuation\\n //\\n state.sCount[nextLine] = -1;\\n }\\n\\n oldIndent = state.blkIndent;\\n state.blkIndent = 0;\\n\\n token = state.push('blockquote_open', 'blockquote', 1);\\n token.markup = '>';\\n token.map = lines = [ startLine, 0 ];\\n\\n state.md.block.tokenize(state, startLine, nextLine);\\n\\n token = state.push('blockquote_close', 'blockquote', -1);\\n token.markup = '>';\\n\\n state.lineMax = oldLineMax;\\n state.parentType = oldParentType;\\n lines[1] = state.line;\\n\\n // Restore original tShift; this might not be necessary since the parser\\n // has already been here, but just to make sure we can do that.\\n for (i = 0; i < oldTShift.length; i++) {\\n state.bMarks[i + startLine] = oldBMarks[i];\\n state.tShift[i + startLine] = oldTShift[i];\\n state.sCount[i + startLine] = oldSCount[i];\\n state.bsCount[i + startLine] = oldBSCount[i];\\n }\\n state.blkIndent = oldIndent;\\n\\n return true;\\n};\\n\",\"// Horizontal rule\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function hr(state, startLine, endLine, silent) {\\n var marker, cnt, ch, token,\\n pos = state.bMarks[startLine] + state.tShift[startLine],\\n max = state.eMarks[startLine];\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n marker = state.src.charCodeAt(pos++);\\n\\n // Check hr marker\\n if (marker !== 0x2A/* * */ &&\\n marker !== 0x2D/* - */ &&\\n marker !== 0x5F/* _ */) {\\n return false;\\n }\\n\\n // markers can be mixed with spaces, but there should be at least 3 of them\\n\\n cnt = 1;\\n while (pos < max) {\\n ch = state.src.charCodeAt(pos++);\\n if (ch !== marker && !isSpace(ch)) { return false; }\\n if (ch === marker) { cnt++; }\\n }\\n\\n if (cnt < 3) { return false; }\\n\\n if (silent) { return true; }\\n\\n state.line = startLine + 1;\\n\\n token = state.push('hr', 'hr', 0);\\n token.map = [ startLine, state.line ];\\n token.markup = Array(cnt + 1).join(String.fromCharCode(marker));\\n\\n return true;\\n};\\n\",\"// Lists\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\n// Search `[-+*][\\\\n ]`, returns next pos after marker on success\\n// or -1 on fail.\\nfunction skipBulletListMarker(state, startLine) {\\n var marker, pos, max, ch;\\n\\n pos = state.bMarks[startLine] + state.tShift[startLine];\\n max = state.eMarks[startLine];\\n\\n marker = state.src.charCodeAt(pos++);\\n // Check bullet\\n if (marker !== 0x2A/* * */ &&\\n marker !== 0x2D/* - */ &&\\n marker !== 0x2B/* + */) {\\n return -1;\\n }\\n\\n if (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (!isSpace(ch)) {\\n // \\\" -test \\\" - is not a list item\\n return -1;\\n }\\n }\\n\\n return pos;\\n}\\n\\n// Search `\\\\d+[.)][\\\\n ]`, returns next pos after marker on success\\n// or -1 on fail.\\nfunction skipOrderedListMarker(state, startLine) {\\n var ch,\\n start = state.bMarks[startLine] + state.tShift[startLine],\\n pos = start,\\n max = state.eMarks[startLine];\\n\\n // List marker should have at least 2 chars (digit + dot)\\n if (pos + 1 >= max) { return -1; }\\n\\n ch = state.src.charCodeAt(pos++);\\n\\n if (ch < 0x30/* 0 */ || ch > 0x39/* 9 */) { return -1; }\\n\\n for (;;) {\\n // EOL -> fail\\n if (pos >= max) { return -1; }\\n\\n ch = state.src.charCodeAt(pos++);\\n\\n if (ch >= 0x30/* 0 */ && ch <= 0x39/* 9 */) {\\n\\n // List marker should have no more than 9 digits\\n // (prevents integer overflow in browsers)\\n if (pos - start >= 10) { return -1; }\\n\\n continue;\\n }\\n\\n // found valid marker\\n if (ch === 0x29/* ) */ || ch === 0x2e/* . */) {\\n break;\\n }\\n\\n return -1;\\n }\\n\\n\\n if (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (!isSpace(ch)) {\\n // \\\" 1.test \\\" - is not a list item\\n return -1;\\n }\\n }\\n return pos;\\n}\\n\\nfunction markTightParagraphs(state, idx) {\\n var i, l,\\n level = state.level + 2;\\n\\n for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {\\n if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {\\n state.tokens[i + 2].hidden = true;\\n state.tokens[i].hidden = true;\\n i += 2;\\n }\\n }\\n}\\n\\n\\nmodule.exports = function list(state, startLine, endLine, silent) {\\n var ch,\\n contentStart,\\n i,\\n indent,\\n indentAfterMarker,\\n initial,\\n isOrdered,\\n itemLines,\\n l,\\n listLines,\\n listTokIdx,\\n markerCharCode,\\n markerValue,\\n max,\\n nextLine,\\n offset,\\n oldListIndent,\\n oldParentType,\\n oldSCount,\\n oldTShift,\\n oldTight,\\n pos,\\n posAfterMarker,\\n prevEmptyEnd,\\n start,\\n terminate,\\n terminatorRules,\\n token,\\n isTerminatingParagraph = false,\\n tight = true;\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n // Special case:\\n // - item 1\\n // - item 2\\n // - item 3\\n // - item 4\\n // - this one is a paragraph continuation\\n if (state.listIndent >= 0 &&\\n state.sCount[startLine] - state.listIndent >= 4 &&\\n state.sCount[startLine] < state.blkIndent) {\\n return false;\\n }\\n\\n // limit conditions when list can interrupt\\n // a paragraph (validation mode only)\\n if (silent && state.parentType === 'paragraph') {\\n // Next list item should still terminate previous list item;\\n //\\n // This code can fail if plugins use blkIndent as well as lists,\\n // but I hope the spec gets fixed long before that happens.\\n //\\n if (state.tShift[startLine] >= state.blkIndent) {\\n isTerminatingParagraph = true;\\n }\\n }\\n\\n // Detect list type and position after marker\\n if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) {\\n isOrdered = true;\\n start = state.bMarks[startLine] + state.tShift[startLine];\\n markerValue = Number(state.src.substr(start, posAfterMarker - start - 1));\\n\\n // If we're starting a new ordered list right after\\n // a paragraph, it should start with 1.\\n if (isTerminatingParagraph && markerValue !== 1) return false;\\n\\n } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) {\\n isOrdered = false;\\n\\n } else {\\n return false;\\n }\\n\\n // If we're starting a new unordered list right after\\n // a paragraph, first line should not be empty.\\n if (isTerminatingParagraph) {\\n if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine]) return false;\\n }\\n\\n // We should terminate list on style change. Remember first one to compare.\\n markerCharCode = state.src.charCodeAt(posAfterMarker - 1);\\n\\n // For validation mode we can terminate immediately\\n if (silent) { return true; }\\n\\n // Start list\\n listTokIdx = state.tokens.length;\\n\\n if (isOrdered) {\\n token = state.push('ordered_list_open', 'ol', 1);\\n if (markerValue !== 1) {\\n token.attrs = [ [ 'start', markerValue ] ];\\n }\\n\\n } else {\\n token = state.push('bullet_list_open', 'ul', 1);\\n }\\n\\n token.map = listLines = [ startLine, 0 ];\\n token.markup = String.fromCharCode(markerCharCode);\\n\\n //\\n // Iterate list items\\n //\\n\\n nextLine = startLine;\\n prevEmptyEnd = false;\\n terminatorRules = state.md.block.ruler.getRules('list');\\n\\n oldParentType = state.parentType;\\n state.parentType = 'list';\\n\\n while (nextLine < endLine) {\\n pos = posAfterMarker;\\n max = state.eMarks[nextLine];\\n\\n initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]);\\n\\n while (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (ch === 0x09) {\\n offset += 4 - (offset + state.bsCount[nextLine]) % 4;\\n } else if (ch === 0x20) {\\n offset++;\\n } else {\\n break;\\n }\\n\\n pos++;\\n }\\n\\n contentStart = pos;\\n\\n if (contentStart >= max) {\\n // trimming space in \\\"- \\\\n 3\\\" case, indent is 1 here\\n indentAfterMarker = 1;\\n } else {\\n indentAfterMarker = offset - initial;\\n }\\n\\n // If we have more than 4 spaces, the indent is 1\\n // (the rest is just indented code block)\\n if (indentAfterMarker > 4) { indentAfterMarker = 1; }\\n\\n // \\\" - test\\\"\\n // ^^^^^ - calculating total length of this thing\\n indent = initial + indentAfterMarker;\\n\\n // Run subparser & write tokens\\n token = state.push('list_item_open', 'li', 1);\\n token.markup = String.fromCharCode(markerCharCode);\\n token.map = itemLines = [ startLine, 0 ];\\n\\n // change current state, then restore it after parser subcall\\n oldTight = state.tight;\\n oldTShift = state.tShift[startLine];\\n oldSCount = state.sCount[startLine];\\n\\n // - example list\\n // ^ listIndent position will be here\\n // ^ blkIndent position will be here\\n //\\n oldListIndent = state.listIndent;\\n state.listIndent = state.blkIndent;\\n state.blkIndent = indent;\\n\\n state.tight = true;\\n state.tShift[startLine] = contentStart - state.bMarks[startLine];\\n state.sCount[startLine] = offset;\\n\\n if (contentStart >= max && state.isEmpty(startLine + 1)) {\\n // workaround for this case\\n // (list item is empty, list terminates before \\\"foo\\\"):\\n // ~~~~~~~~\\n // -\\n //\\n // foo\\n // ~~~~~~~~\\n state.line = Math.min(state.line + 2, endLine);\\n } else {\\n state.md.block.tokenize(state, startLine, endLine, true);\\n }\\n\\n // If any of list item is tight, mark list as tight\\n if (!state.tight || prevEmptyEnd) {\\n tight = false;\\n }\\n // Item become loose if finish with empty line,\\n // but we should filter last element, because it means list finish\\n prevEmptyEnd = (state.line - startLine) > 1 && state.isEmpty(state.line - 1);\\n\\n state.blkIndent = state.listIndent;\\n state.listIndent = oldListIndent;\\n state.tShift[startLine] = oldTShift;\\n state.sCount[startLine] = oldSCount;\\n state.tight = oldTight;\\n\\n token = state.push('list_item_close', 'li', -1);\\n token.markup = String.fromCharCode(markerCharCode);\\n\\n nextLine = startLine = state.line;\\n itemLines[1] = nextLine;\\n contentStart = state.bMarks[startLine];\\n\\n if (nextLine >= endLine) { break; }\\n\\n //\\n // Try to check if list is terminated or continued.\\n //\\n if (state.sCount[nextLine] < state.blkIndent) { break; }\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { break; }\\n\\n // fail if terminating block found\\n terminate = false;\\n for (i = 0, l = terminatorRules.length; i < l; i++) {\\n if (terminatorRules[i](state, nextLine, endLine, true)) {\\n terminate = true;\\n break;\\n }\\n }\\n if (terminate) { break; }\\n\\n // fail if list has another type\\n if (isOrdered) {\\n posAfterMarker = skipOrderedListMarker(state, nextLine);\\n if (posAfterMarker < 0) { break; }\\n } else {\\n posAfterMarker = skipBulletListMarker(state, nextLine);\\n if (posAfterMarker < 0) { break; }\\n }\\n\\n if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { break; }\\n }\\n\\n // Finalize list\\n if (isOrdered) {\\n token = state.push('ordered_list_close', 'ol', -1);\\n } else {\\n token = state.push('bullet_list_close', 'ul', -1);\\n }\\n token.markup = String.fromCharCode(markerCharCode);\\n\\n listLines[1] = nextLine;\\n state.line = nextLine;\\n\\n state.parentType = oldParentType;\\n\\n // mark paragraphs tight if needed\\n if (tight) {\\n markTightParagraphs(state, listTokIdx);\\n }\\n\\n return true;\\n};\\n\",\"'use strict';\\n\\n\\nvar normalizeReference = require('../common/utils').normalizeReference;\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function reference(state, startLine, _endLine, silent) {\\n var ch,\\n destEndPos,\\n destEndLineNo,\\n endLine,\\n href,\\n i,\\n l,\\n label,\\n labelEnd,\\n oldParentType,\\n res,\\n start,\\n str,\\n terminate,\\n terminatorRules,\\n title,\\n lines = 0,\\n pos = state.bMarks[startLine] + state.tShift[startLine],\\n max = state.eMarks[startLine],\\n nextLine = startLine + 1;\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false; }\\n\\n // Simple check to quickly interrupt scan on [link](url) at the start of line.\\n // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54\\n while (++pos < max) {\\n if (state.src.charCodeAt(pos) === 0x5D /* ] */ &&\\n state.src.charCodeAt(pos - 1) !== 0x5C/* \\\\ */) {\\n if (pos + 1 === max) { return false; }\\n if (state.src.charCodeAt(pos + 1) !== 0x3A/* : */) { return false; }\\n break;\\n }\\n }\\n\\n endLine = state.lineMax;\\n\\n // jump line-by-line until empty one or EOF\\n terminatorRules = state.md.block.ruler.getRules('reference');\\n\\n oldParentType = state.parentType;\\n state.parentType = 'reference';\\n\\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\\n // this would be a code block normally, but after paragraph\\n // it's considered a lazy continuation regardless of what's there\\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\\n\\n // quirk for blockquotes, this line should already be checked by that rule\\n if (state.sCount[nextLine] < 0) { continue; }\\n\\n // Some tags can terminate paragraph without empty line.\\n terminate = false;\\n for (i = 0, l = terminatorRules.length; i < l; i++) {\\n if (terminatorRules[i](state, nextLine, endLine, true)) {\\n terminate = true;\\n break;\\n }\\n }\\n if (terminate) { break; }\\n }\\n\\n str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\\n max = str.length;\\n\\n for (pos = 1; pos < max; pos++) {\\n ch = str.charCodeAt(pos);\\n if (ch === 0x5B /* [ */) {\\n return false;\\n } else if (ch === 0x5D /* ] */) {\\n labelEnd = pos;\\n break;\\n } else if (ch === 0x0A /* \\\\n */) {\\n lines++;\\n } else if (ch === 0x5C /* \\\\ */) {\\n pos++;\\n if (pos < max && str.charCodeAt(pos) === 0x0A) {\\n lines++;\\n }\\n }\\n }\\n\\n if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false; }\\n\\n // [label]: destination 'title'\\n // ^^^ skip optional whitespace here\\n for (pos = labelEnd + 2; pos < max; pos++) {\\n ch = str.charCodeAt(pos);\\n if (ch === 0x0A) {\\n lines++;\\n } else if (isSpace(ch)) {\\n /*eslint no-empty:0*/\\n } else {\\n break;\\n }\\n }\\n\\n // [label]: destination 'title'\\n // ^^^^^^^^^^^ parse this\\n res = state.md.helpers.parseLinkDestination(str, pos, max);\\n if (!res.ok) { return false; }\\n\\n href = state.md.normalizeLink(res.str);\\n if (!state.md.validateLink(href)) { return false; }\\n\\n pos = res.pos;\\n lines += res.lines;\\n\\n // save cursor state, we could require to rollback later\\n destEndPos = pos;\\n destEndLineNo = lines;\\n\\n // [label]: destination 'title'\\n // ^^^ skipping those spaces\\n start = pos;\\n for (; pos < max; pos++) {\\n ch = str.charCodeAt(pos);\\n if (ch === 0x0A) {\\n lines++;\\n } else if (isSpace(ch)) {\\n /*eslint no-empty:0*/\\n } else {\\n break;\\n }\\n }\\n\\n // [label]: destination 'title'\\n // ^^^^^^^ parse this\\n res = state.md.helpers.parseLinkTitle(str, pos, max);\\n if (pos < max && start !== pos && res.ok) {\\n title = res.str;\\n pos = res.pos;\\n lines += res.lines;\\n } else {\\n title = '';\\n pos = destEndPos;\\n lines = destEndLineNo;\\n }\\n\\n // skip trailing spaces until the rest of the line\\n while (pos < max) {\\n ch = str.charCodeAt(pos);\\n if (!isSpace(ch)) { break; }\\n pos++;\\n }\\n\\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\\n if (title) {\\n // garbage at the end of the line after title,\\n // but it could still be a valid reference if we roll back\\n title = '';\\n pos = destEndPos;\\n lines = destEndLineNo;\\n while (pos < max) {\\n ch = str.charCodeAt(pos);\\n if (!isSpace(ch)) { break; }\\n pos++;\\n }\\n }\\n }\\n\\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\\n // garbage at the end of the line\\n return false;\\n }\\n\\n label = normalizeReference(str.slice(1, labelEnd));\\n if (!label) {\\n // CommonMark 0.20 disallows empty labels\\n return false;\\n }\\n\\n // Reference can not terminate anything. This check is for safety only.\\n /*istanbul ignore if*/\\n if (silent) { return true; }\\n\\n if (typeof state.env.references === 'undefined') {\\n state.env.references = {};\\n }\\n if (typeof state.env.references[label] === 'undefined') {\\n state.env.references[label] = { title: title, href: href };\\n }\\n\\n state.parentType = oldParentType;\\n\\n state.line = startLine + lines + 1;\\n return true;\\n};\\n\",\"// heading (#, ##, ...)\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function heading(state, startLine, endLine, silent) {\\n var ch, level, tmp, token,\\n pos = state.bMarks[startLine] + state.tShift[startLine],\\n max = state.eMarks[startLine];\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n ch = state.src.charCodeAt(pos);\\n\\n if (ch !== 0x23/* # */ || pos >= max) { return false; }\\n\\n // count heading level\\n level = 1;\\n ch = state.src.charCodeAt(++pos);\\n while (ch === 0x23/* # */ && pos < max && level <= 6) {\\n level++;\\n ch = state.src.charCodeAt(++pos);\\n }\\n\\n if (level > 6 || (pos < max && !isSpace(ch))) { return false; }\\n\\n if (silent) { return true; }\\n\\n // Let's cut tails like ' ### ' from the end of string\\n\\n max = state.skipSpacesBack(max, pos);\\n tmp = state.skipCharsBack(max, 0x23, pos); // #\\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\\n max = tmp;\\n }\\n\\n state.line = startLine + 1;\\n\\n token = state.push('heading_open', 'h' + String(level), 1);\\n token.markup = '########'.slice(0, level);\\n token.map = [ startLine, state.line ];\\n\\n token = state.push('inline', '', 0);\\n token.content = state.src.slice(pos, max).trim();\\n token.map = [ startLine, state.line ];\\n token.children = [];\\n\\n token = state.push('heading_close', 'h' + String(level), -1);\\n token.markup = '########'.slice(0, level);\\n\\n return true;\\n};\\n\",\"// lheading (---, ===)\\n\\n'use strict';\\n\\n\\nmodule.exports = function lheading(state, startLine, endLine/*, silent*/) {\\n var content, terminate, i, l, token, pos, max, level, marker,\\n nextLine = startLine + 1, oldParentType,\\n terminatorRules = state.md.block.ruler.getRules('paragraph');\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n oldParentType = state.parentType;\\n state.parentType = 'paragraph'; // use paragraph to match terminatorRules\\n\\n // jump line-by-line until empty one or EOF\\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\\n // this would be a code block normally, but after paragraph\\n // it's considered a lazy continuation regardless of what's there\\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\\n\\n //\\n // Check for underline in setext header\\n //\\n if (state.sCount[nextLine] >= state.blkIndent) {\\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\\n max = state.eMarks[nextLine];\\n\\n if (pos < max) {\\n marker = state.src.charCodeAt(pos);\\n\\n if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {\\n pos = state.skipChars(pos, marker);\\n pos = state.skipSpaces(pos);\\n\\n if (pos >= max) {\\n level = (marker === 0x3D/* = */ ? 1 : 2);\\n break;\\n }\\n }\\n }\\n }\\n\\n // quirk for blockquotes, this line should already be checked by that rule\\n if (state.sCount[nextLine] < 0) { continue; }\\n\\n // Some tags can terminate paragraph without empty line.\\n terminate = false;\\n for (i = 0, l = terminatorRules.length; i < l; i++) {\\n if (terminatorRules[i](state, nextLine, endLine, true)) {\\n terminate = true;\\n break;\\n }\\n }\\n if (terminate) { break; }\\n }\\n\\n if (!level) {\\n // Didn't find valid underline\\n return false;\\n }\\n\\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\\n\\n state.line = nextLine + 1;\\n\\n token = state.push('heading_open', 'h' + String(level), 1);\\n token.markup = String.fromCharCode(marker);\\n token.map = [ startLine, state.line ];\\n\\n token = state.push('inline', '', 0);\\n token.content = content;\\n token.map = [ startLine, state.line - 1 ];\\n token.children = [];\\n\\n token = state.push('heading_close', 'h' + String(level), -1);\\n token.markup = String.fromCharCode(marker);\\n\\n state.parentType = oldParentType;\\n\\n return true;\\n};\\n\",\"// HTML block\\n\\n'use strict';\\n\\n\\nvar block_names = require('../common/html_blocks');\\nvar HTML_OPEN_CLOSE_TAG_RE = require('../common/html_re').HTML_OPEN_CLOSE_TAG_RE;\\n\\n// An array of opening and corresponding closing sequences for html tags,\\n// last argument defines whether it can terminate a paragraph or not\\n//\\nvar HTML_SEQUENCES = [\\n [ /^<(script|pre|style)(?=(\\\\s|>|$))/i, /<\\\\/(script|pre|style)>/i, true ],\\n [ /^/, true ],\\n [ /^<\\\\?/, /\\\\?>/, true ],\\n [ /^/, true ],\\n [ /^/, true ],\\n [ new RegExp('^|$))', 'i'), /^$/, true ],\\n [ new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\\\\\\\s*$'), /^$/, false ]\\n];\\n\\n\\nmodule.exports = function html_block(state, startLine, endLine, silent) {\\n var i, nextLine, token, lineText,\\n pos = state.bMarks[startLine] + state.tShift[startLine],\\n max = state.eMarks[startLine];\\n\\n // if it's indented more than 3 spaces, it should be a code block\\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\\n\\n if (!state.md.options.html) { return false; }\\n\\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\\n\\n lineText = state.src.slice(pos, max);\\n\\n for (i = 0; i < HTML_SEQUENCES.length; i++) {\\n if (HTML_SEQUENCES[i][0].test(lineText)) { break; }\\n }\\n\\n if (i === HTML_SEQUENCES.length) { return false; }\\n\\n if (silent) {\\n // true if this sequence can be a terminator, false otherwise\\n return HTML_SEQUENCES[i][2];\\n }\\n\\n nextLine = startLine + 1;\\n\\n // If we are here - we detected HTML block.\\n // Let's roll down till block end.\\n if (!HTML_SEQUENCES[i][1].test(lineText)) {\\n for (; nextLine < endLine; nextLine++) {\\n if (state.sCount[nextLine] < state.blkIndent) { break; }\\n\\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\\n max = state.eMarks[nextLine];\\n lineText = state.src.slice(pos, max);\\n\\n if (HTML_SEQUENCES[i][1].test(lineText)) {\\n if (lineText.length !== 0) { nextLine++; }\\n break;\\n }\\n }\\n }\\n\\n state.line = nextLine;\\n\\n token = state.push('html_block', '', 0);\\n token.map = [ startLine, nextLine ];\\n token.content = state.getLines(startLine, nextLine, state.blkIndent, true);\\n\\n return true;\\n};\\n\",\"// List of valid html blocks names, accorting to commonmark spec\\n// http://jgm.github.io/CommonMark/spec.html#html-blocks\\n\\n'use strict';\\n\\n\\nmodule.exports = [\\n 'address',\\n 'article',\\n 'aside',\\n 'base',\\n 'basefont',\\n 'blockquote',\\n 'body',\\n 'caption',\\n 'center',\\n 'col',\\n 'colgroup',\\n 'dd',\\n 'details',\\n 'dialog',\\n 'dir',\\n 'div',\\n 'dl',\\n 'dt',\\n 'fieldset',\\n 'figcaption',\\n 'figure',\\n 'footer',\\n 'form',\\n 'frame',\\n 'frameset',\\n 'h1',\\n 'h2',\\n 'h3',\\n 'h4',\\n 'h5',\\n 'h6',\\n 'head',\\n 'header',\\n 'hr',\\n 'html',\\n 'iframe',\\n 'legend',\\n 'li',\\n 'link',\\n 'main',\\n 'menu',\\n 'menuitem',\\n 'meta',\\n 'nav',\\n 'noframes',\\n 'ol',\\n 'optgroup',\\n 'option',\\n 'p',\\n 'param',\\n 'section',\\n 'source',\\n 'summary',\\n 'table',\\n 'tbody',\\n 'td',\\n 'tfoot',\\n 'th',\\n 'thead',\\n 'title',\\n 'tr',\\n 'track',\\n 'ul'\\n];\\n\",\"// Paragraph\\n\\n'use strict';\\n\\n\\nmodule.exports = function paragraph(state, startLine/*, endLine*/) {\\n var content, terminate, i, l, token, oldParentType,\\n nextLine = startLine + 1,\\n terminatorRules = state.md.block.ruler.getRules('paragraph'),\\n endLine = state.lineMax;\\n\\n oldParentType = state.parentType;\\n state.parentType = 'paragraph';\\n\\n // jump line-by-line until empty one or EOF\\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\\n // this would be a code block normally, but after paragraph\\n // it's considered a lazy continuation regardless of what's there\\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\\n\\n // quirk for blockquotes, this line should already be checked by that rule\\n if (state.sCount[nextLine] < 0) { continue; }\\n\\n // Some tags can terminate paragraph without empty line.\\n terminate = false;\\n for (i = 0, l = terminatorRules.length; i < l; i++) {\\n if (terminatorRules[i](state, nextLine, endLine, true)) {\\n terminate = true;\\n break;\\n }\\n }\\n if (terminate) { break; }\\n }\\n\\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\\n\\n state.line = nextLine;\\n\\n token = state.push('paragraph_open', 'p', 1);\\n token.map = [ startLine, state.line ];\\n\\n token = state.push('inline', '', 0);\\n token.content = content;\\n token.map = [ startLine, state.line ];\\n token.children = [];\\n\\n token = state.push('paragraph_close', 'p', -1);\\n\\n state.parentType = oldParentType;\\n\\n return true;\\n};\\n\",\"// Parser state class\\n\\n'use strict';\\n\\nvar Token = require('../token');\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nfunction StateBlock(src, md, env, tokens) {\\n var ch, s, start, pos, len, indent, offset, indent_found;\\n\\n this.src = src;\\n\\n // link to parser instance\\n this.md = md;\\n\\n this.env = env;\\n\\n //\\n // Internal state vartiables\\n //\\n\\n this.tokens = tokens;\\n\\n this.bMarks = []; // line begin offsets for fast jumps\\n this.eMarks = []; // line end offsets for fast jumps\\n this.tShift = []; // offsets of the first non-space characters (tabs not expanded)\\n this.sCount = []; // indents for each line (tabs expanded)\\n\\n // An amount of virtual spaces (tabs expanded) between beginning\\n // of each line (bMarks) and real beginning of that line.\\n //\\n // It exists only as a hack because blockquotes override bMarks\\n // losing information in the process.\\n //\\n // It's used only when expanding tabs, you can think about it as\\n // an initial tab length, e.g. bsCount=21 applied to string `\\\\t123`\\n // means first tab should be expanded to 4-21%4 === 3 spaces.\\n //\\n this.bsCount = [];\\n\\n // block parser variables\\n this.blkIndent = 0; // required block content indent (for example, if we are\\n // inside a list, it would be positioned after list marker)\\n this.line = 0; // line index in src\\n this.lineMax = 0; // lines count\\n this.tight = false; // loose/tight mode for lists\\n this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)\\n this.listIndent = -1; // indent of the current list block (-1 if there isn't any)\\n\\n // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'\\n // used in lists to determine if they interrupt a paragraph\\n this.parentType = 'root';\\n\\n this.level = 0;\\n\\n // renderer\\n this.result = '';\\n\\n // Create caches\\n // Generate markers.\\n s = this.src;\\n indent_found = false;\\n\\n for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {\\n ch = s.charCodeAt(pos);\\n\\n if (!indent_found) {\\n if (isSpace(ch)) {\\n indent++;\\n\\n if (ch === 0x09) {\\n offset += 4 - offset % 4;\\n } else {\\n offset++;\\n }\\n continue;\\n } else {\\n indent_found = true;\\n }\\n }\\n\\n if (ch === 0x0A || pos === len - 1) {\\n if (ch !== 0x0A) { pos++; }\\n this.bMarks.push(start);\\n this.eMarks.push(pos);\\n this.tShift.push(indent);\\n this.sCount.push(offset);\\n this.bsCount.push(0);\\n\\n indent_found = false;\\n indent = 0;\\n offset = 0;\\n start = pos + 1;\\n }\\n }\\n\\n // Push fake entry to simplify cache bounds checks\\n this.bMarks.push(s.length);\\n this.eMarks.push(s.length);\\n this.tShift.push(0);\\n this.sCount.push(0);\\n this.bsCount.push(0);\\n\\n this.lineMax = this.bMarks.length - 1; // don't count last fake line\\n}\\n\\n// Push new token to \\\"stream\\\".\\n//\\nStateBlock.prototype.push = function (type, tag, nesting) {\\n var token = new Token(type, tag, nesting);\\n token.block = true;\\n\\n if (nesting < 0) this.level--; // closing tag\\n token.level = this.level;\\n if (nesting > 0) this.level++; // opening tag\\n\\n this.tokens.push(token);\\n return token;\\n};\\n\\nStateBlock.prototype.isEmpty = function isEmpty(line) {\\n return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];\\n};\\n\\nStateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {\\n for (var max = this.lineMax; from < max; from++) {\\n if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {\\n break;\\n }\\n }\\n return from;\\n};\\n\\n// Skip spaces from given position.\\nStateBlock.prototype.skipSpaces = function skipSpaces(pos) {\\n var ch;\\n\\n for (var max = this.src.length; pos < max; pos++) {\\n ch = this.src.charCodeAt(pos);\\n if (!isSpace(ch)) { break; }\\n }\\n return pos;\\n};\\n\\n// Skip spaces from given position in reverse.\\nStateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {\\n if (pos <= min) { return pos; }\\n\\n while (pos > min) {\\n if (!isSpace(this.src.charCodeAt(--pos))) { return pos + 1; }\\n }\\n return pos;\\n};\\n\\n// Skip char codes from given position\\nStateBlock.prototype.skipChars = function skipChars(pos, code) {\\n for (var max = this.src.length; pos < max; pos++) {\\n if (this.src.charCodeAt(pos) !== code) { break; }\\n }\\n return pos;\\n};\\n\\n// Skip char codes reverse from given position - 1\\nStateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {\\n if (pos <= min) { return pos; }\\n\\n while (pos > min) {\\n if (code !== this.src.charCodeAt(--pos)) { return pos + 1; }\\n }\\n return pos;\\n};\\n\\n// cut lines range from source.\\nStateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {\\n var i, lineIndent, ch, first, last, queue, lineStart,\\n line = begin;\\n\\n if (begin >= end) {\\n return '';\\n }\\n\\n queue = new Array(end - begin);\\n\\n for (i = 0; line < end; line++, i++) {\\n lineIndent = 0;\\n lineStart = first = this.bMarks[line];\\n\\n if (line + 1 < end || keepLastLF) {\\n // No need for bounds check because we have fake entry on tail.\\n last = this.eMarks[line] + 1;\\n } else {\\n last = this.eMarks[line];\\n }\\n\\n while (first < last && lineIndent < indent) {\\n ch = this.src.charCodeAt(first);\\n\\n if (isSpace(ch)) {\\n if (ch === 0x09) {\\n lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;\\n } else {\\n lineIndent++;\\n }\\n } else if (first - lineStart < this.tShift[line]) {\\n // patched tShift masked characters to look like spaces (blockquotes, list markers)\\n lineIndent++;\\n } else {\\n break;\\n }\\n\\n first++;\\n }\\n\\n if (lineIndent > indent) {\\n // partially expanding tabs in code blocks, e.g '\\\\t\\\\tfoobar'\\n // with indent=2 becomes ' \\\\tfoobar'\\n queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);\\n } else {\\n queue[i] = this.src.slice(first, last);\\n }\\n }\\n\\n return queue.join('');\\n};\\n\\n// re-export Token class to use in block rules\\nStateBlock.prototype.Token = Token;\\n\\n\\nmodule.exports = StateBlock;\\n\",\"/** internal\\n * class ParserInline\\n *\\n * Tokenizes paragraph content.\\n **/\\n'use strict';\\n\\n\\nvar Ruler = require('./ruler');\\n\\n\\n////////////////////////////////////////////////////////////////////////////////\\n// Parser rules\\n\\nvar _rules = [\\n [ 'text', require('./rules_inline/text') ],\\n [ 'newline', require('./rules_inline/newline') ],\\n [ 'escape', require('./rules_inline/escape') ],\\n [ 'backticks', require('./rules_inline/backticks') ],\\n [ 'strikethrough', require('./rules_inline/strikethrough').tokenize ],\\n [ 'emphasis', require('./rules_inline/emphasis').tokenize ],\\n [ 'link', require('./rules_inline/link') ],\\n [ 'image', require('./rules_inline/image') ],\\n [ 'autolink', require('./rules_inline/autolink') ],\\n [ 'html_inline', require('./rules_inline/html_inline') ],\\n [ 'entity', require('./rules_inline/entity') ]\\n];\\n\\nvar _rules2 = [\\n [ 'balance_pairs', require('./rules_inline/balance_pairs') ],\\n [ 'strikethrough', require('./rules_inline/strikethrough').postProcess ],\\n [ 'emphasis', require('./rules_inline/emphasis').postProcess ],\\n [ 'text_collapse', require('./rules_inline/text_collapse') ]\\n];\\n\\n\\n/**\\n * new ParserInline()\\n **/\\nfunction ParserInline() {\\n var i;\\n\\n /**\\n * ParserInline#ruler -> Ruler\\n *\\n * [[Ruler]] instance. Keep configuration of inline rules.\\n **/\\n this.ruler = new Ruler();\\n\\n for (i = 0; i < _rules.length; i++) {\\n this.ruler.push(_rules[i][0], _rules[i][1]);\\n }\\n\\n /**\\n * ParserInline#ruler2 -> Ruler\\n *\\n * [[Ruler]] instance. Second ruler used for post-processing\\n * (e.g. in emphasis-like rules).\\n **/\\n this.ruler2 = new Ruler();\\n\\n for (i = 0; i < _rules2.length; i++) {\\n this.ruler2.push(_rules2[i][0], _rules2[i][1]);\\n }\\n}\\n\\n\\n// Skip single token by running all rules in validation mode;\\n// returns `true` if any rule reported success\\n//\\nParserInline.prototype.skipToken = function (state) {\\n var ok, i, pos = state.pos,\\n rules = this.ruler.getRules(''),\\n len = rules.length,\\n maxNesting = state.md.options.maxNesting,\\n cache = state.cache;\\n\\n\\n if (typeof cache[pos] !== 'undefined') {\\n state.pos = cache[pos];\\n return;\\n }\\n\\n if (state.level < maxNesting) {\\n for (i = 0; i < len; i++) {\\n // Increment state.level and decrement it later to limit recursion.\\n // It's harmless to do here, because no tokens are created. But ideally,\\n // we'd need a separate private state variable for this purpose.\\n //\\n state.level++;\\n ok = rules[i](state, true);\\n state.level--;\\n\\n if (ok) { break; }\\n }\\n } else {\\n // Too much nesting, just skip until the end of the paragraph.\\n //\\n // NOTE: this will cause links to behave incorrectly in the following case,\\n // when an amount of `[` is exactly equal to `maxNesting + 1`:\\n //\\n // [[[[[[[[[[[[[[[[[[[[[foo]()\\n //\\n // TODO: remove this workaround when CM standard will allow nested links\\n // (we can replace it by preventing links from being parsed in\\n // validation mode)\\n //\\n state.pos = state.posMax;\\n }\\n\\n if (!ok) { state.pos++; }\\n cache[pos] = state.pos;\\n};\\n\\n\\n// Generate tokens for input range\\n//\\nParserInline.prototype.tokenize = function (state) {\\n var ok, i,\\n rules = this.ruler.getRules(''),\\n len = rules.length,\\n end = state.posMax,\\n maxNesting = state.md.options.maxNesting;\\n\\n while (state.pos < end) {\\n // Try all possible rules.\\n // On success, rule should:\\n //\\n // - update `state.pos`\\n // - update `state.tokens`\\n // - return true\\n\\n if (state.level < maxNesting) {\\n for (i = 0; i < len; i++) {\\n ok = rules[i](state, false);\\n if (ok) { break; }\\n }\\n }\\n\\n if (ok) {\\n if (state.pos >= end) { break; }\\n continue;\\n }\\n\\n state.pending += state.src[state.pos++];\\n }\\n\\n if (state.pending) {\\n state.pushPending();\\n }\\n};\\n\\n\\n/**\\n * ParserInline.parse(str, md, env, outTokens)\\n *\\n * Process input string and push inline tokens into `outTokens`\\n **/\\nParserInline.prototype.parse = function (str, md, env, outTokens) {\\n var i, rules, len;\\n var state = new this.State(str, md, env, outTokens);\\n\\n this.tokenize(state);\\n\\n rules = this.ruler2.getRules('');\\n len = rules.length;\\n\\n for (i = 0; i < len; i++) {\\n rules[i](state);\\n }\\n};\\n\\n\\nParserInline.prototype.State = require('./rules_inline/state_inline');\\n\\n\\nmodule.exports = ParserInline;\\n\",\"// Skip text characters for text token, place those to pending buffer\\n// and increment current pos\\n\\n'use strict';\\n\\n\\n// Rule to skip pure text\\n// '{}$%@~+=:' reserved for extentions\\n\\n// !, \\\", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\\\, ], ^, _, `, {, |, }, or ~\\n\\n// !!!! Don't confuse with \\\"Markdown ASCII Punctuation\\\" chars\\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\\nfunction isTerminatorChar(ch) {\\n switch (ch) {\\n case 0x0A/* \\\\n */:\\n case 0x21/* ! */:\\n case 0x23/* # */:\\n case 0x24/* $ */:\\n case 0x25/* % */:\\n case 0x26/* & */:\\n case 0x2A/* * */:\\n case 0x2B/* + */:\\n case 0x2D/* - */:\\n case 0x3A/* : */:\\n case 0x3C/* < */:\\n case 0x3D/* = */:\\n case 0x3E/* > */:\\n case 0x40/* @ */:\\n case 0x5B/* [ */:\\n case 0x5C/* \\\\ */:\\n case 0x5D/* ] */:\\n case 0x5E/* ^ */:\\n case 0x5F/* _ */:\\n case 0x60/* ` */:\\n case 0x7B/* { */:\\n case 0x7D/* } */:\\n case 0x7E/* ~ */:\\n return true;\\n default:\\n return false;\\n }\\n}\\n\\nmodule.exports = function text(state, silent) {\\n var pos = state.pos;\\n\\n while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {\\n pos++;\\n }\\n\\n if (pos === state.pos) { return false; }\\n\\n if (!silent) { state.pending += state.src.slice(state.pos, pos); }\\n\\n state.pos = pos;\\n\\n return true;\\n};\\n\\n// Alternative implementation, for memory.\\n//\\n// It costs 10% of performance, but allows extend terminators list, if place it\\n// to `ParcerInline` property. Probably, will switch to it sometime, such\\n// flexibility required.\\n\\n/*\\nvar TERMINATOR_RE = /[\\\\n!#$%&*+\\\\-:<=>@[\\\\\\\\\\\\]^_`{}~]/;\\n\\nmodule.exports = function text(state, silent) {\\n var pos = state.pos,\\n idx = state.src.slice(pos).search(TERMINATOR_RE);\\n\\n // first char is terminator -> empty text\\n if (idx === 0) { return false; }\\n\\n // no terminator -> text till end of string\\n if (idx < 0) {\\n if (!silent) { state.pending += state.src.slice(pos); }\\n state.pos = state.src.length;\\n return true;\\n }\\n\\n if (!silent) { state.pending += state.src.slice(pos, pos + idx); }\\n\\n state.pos += idx;\\n\\n return true;\\n};*/\\n\",\"// Proceess '\\\\n'\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function newline(state, silent) {\\n var pmax, max, pos = state.pos;\\n\\n if (state.src.charCodeAt(pos) !== 0x0A/* \\\\n */) { return false; }\\n\\n pmax = state.pending.length - 1;\\n max = state.posMax;\\n\\n // ' \\\\n' -> hardbreak\\n // Lookup in pending chars is bad practice! Don't copy to other rules!\\n // Pending string is stored in concat mode, indexed lookups will cause\\n // convertion to flat mode.\\n if (!silent) {\\n if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {\\n if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {\\n state.pending = state.pending.replace(/ +$/, '');\\n state.push('hardbreak', 'br', 0);\\n } else {\\n state.pending = state.pending.slice(0, -1);\\n state.push('softbreak', 'br', 0);\\n }\\n\\n } else {\\n state.push('softbreak', 'br', 0);\\n }\\n }\\n\\n pos++;\\n\\n // skip heading spaces for next line\\n while (pos < max && isSpace(state.src.charCodeAt(pos))) { pos++; }\\n\\n state.pos = pos;\\n return true;\\n};\\n\",\"// Process escaped chars and hardbreaks\\n\\n'use strict';\\n\\nvar isSpace = require('../common/utils').isSpace;\\n\\nvar ESCAPED = [];\\n\\nfor (var i = 0; i < 256; i++) { ESCAPED.push(0); }\\n\\n'\\\\\\\\!\\\"#$%&\\\\'()*+,./:;<=>?@[]^_`{|}~-'\\n .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1; });\\n\\n\\nmodule.exports = function escape(state, silent) {\\n var ch, pos = state.pos, max = state.posMax;\\n\\n if (state.src.charCodeAt(pos) !== 0x5C/* \\\\ */) { return false; }\\n\\n pos++;\\n\\n if (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n\\n if (ch < 256 && ESCAPED[ch] !== 0) {\\n if (!silent) { state.pending += state.src[pos]; }\\n state.pos += 2;\\n return true;\\n }\\n\\n if (ch === 0x0A) {\\n if (!silent) {\\n state.push('hardbreak', 'br', 0);\\n }\\n\\n pos++;\\n // skip leading whitespaces from next line\\n while (pos < max) {\\n ch = state.src.charCodeAt(pos);\\n if (!isSpace(ch)) { break; }\\n pos++;\\n }\\n\\n state.pos = pos;\\n return true;\\n }\\n }\\n\\n if (!silent) { state.pending += '\\\\\\\\'; }\\n state.pos++;\\n return true;\\n};\\n\",\"// Parse backticks\\n\\n'use strict';\\n\\nmodule.exports = function backtick(state, silent) {\\n var start, max, marker, matchStart, matchEnd, token,\\n pos = state.pos,\\n ch = state.src.charCodeAt(pos);\\n\\n if (ch !== 0x60/* ` */) { return false; }\\n\\n start = pos;\\n pos++;\\n max = state.posMax;\\n\\n while (pos < max && state.src.charCodeAt(pos) === 0x60/* ` */) { pos++; }\\n\\n marker = state.src.slice(start, pos);\\n\\n matchStart = matchEnd = pos;\\n\\n while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {\\n matchEnd = matchStart + 1;\\n\\n while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60/* ` */) { matchEnd++; }\\n\\n if (matchEnd - matchStart === marker.length) {\\n if (!silent) {\\n token = state.push('code_inline', 'code', 0);\\n token.markup = marker;\\n token.content = state.src.slice(pos, matchStart)\\n .replace(/\\\\n/g, ' ')\\n .replace(/^ (.+) $/, '$1');\\n }\\n state.pos = matchEnd;\\n return true;\\n }\\n }\\n\\n if (!silent) { state.pending += marker; }\\n state.pos += marker.length;\\n return true;\\n};\\n\",\"// Process [link]( \\\"stuff\\\")\\n\\n'use strict';\\n\\nvar normalizeReference = require('../common/utils').normalizeReference;\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function link(state, silent) {\\n var attrs,\\n code,\\n label,\\n labelEnd,\\n labelStart,\\n pos,\\n res,\\n ref,\\n title,\\n token,\\n href = '',\\n oldPos = state.pos,\\n max = state.posMax,\\n start = state.pos,\\n parseReference = true;\\n\\n if (state.src.charCodeAt(state.pos) !== 0x5B/* [ */) { return false; }\\n\\n labelStart = state.pos + 1;\\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);\\n\\n // parser failed to find ']', so it's not a valid link\\n if (labelEnd < 0) { return false; }\\n\\n pos = labelEnd + 1;\\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\\n //\\n // Inline link\\n //\\n\\n // might have found a valid shortcut link, disable reference parsing\\n parseReference = false;\\n\\n // [link]( \\\"title\\\" )\\n // ^^ skipping these spaces\\n pos++;\\n for (; pos < max; pos++) {\\n code = state.src.charCodeAt(pos);\\n if (!isSpace(code) && code !== 0x0A) { break; }\\n }\\n if (pos >= max) { return false; }\\n\\n // [link]( \\\"title\\\" )\\n // ^^^^^^ parsing link destination\\n start = pos;\\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\\n if (res.ok) {\\n href = state.md.normalizeLink(res.str);\\n if (state.md.validateLink(href)) {\\n pos = res.pos;\\n } else {\\n href = '';\\n }\\n }\\n\\n // [link]( \\\"title\\\" )\\n // ^^ skipping these spaces\\n start = pos;\\n for (; pos < max; pos++) {\\n code = state.src.charCodeAt(pos);\\n if (!isSpace(code) && code !== 0x0A) { break; }\\n }\\n\\n // [link]( \\\"title\\\" )\\n // ^^^^^^^ parsing link title\\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\\n if (pos < max && start !== pos && res.ok) {\\n title = res.str;\\n pos = res.pos;\\n\\n // [link]( \\\"title\\\" )\\n // ^^ skipping these spaces\\n for (; pos < max; pos++) {\\n code = state.src.charCodeAt(pos);\\n if (!isSpace(code) && code !== 0x0A) { break; }\\n }\\n } else {\\n title = '';\\n }\\n\\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\\n // parsing a valid shortcut link failed, fallback to reference\\n parseReference = true;\\n }\\n pos++;\\n }\\n\\n if (parseReference) {\\n //\\n // Link reference\\n //\\n if (typeof state.env.references === 'undefined') { return false; }\\n\\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\\n start = pos + 1;\\n pos = state.md.helpers.parseLinkLabel(state, pos);\\n if (pos >= 0) {\\n label = state.src.slice(start, pos++);\\n } else {\\n pos = labelEnd + 1;\\n }\\n } else {\\n pos = labelEnd + 1;\\n }\\n\\n // covers label === '' and label === undefined\\n // (collapsed reference link and shortcut reference link respectively)\\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\\n\\n ref = state.env.references[normalizeReference(label)];\\n if (!ref) {\\n state.pos = oldPos;\\n return false;\\n }\\n href = ref.href;\\n title = ref.title;\\n }\\n\\n //\\n // We found the end of the link, and know for a fact it's a valid link;\\n // so all that's left to do is to call tokenizer.\\n //\\n if (!silent) {\\n state.pos = labelStart;\\n state.posMax = labelEnd;\\n\\n token = state.push('link_open', 'a', 1);\\n token.attrs = attrs = [ [ 'href', href ] ];\\n if (title) {\\n attrs.push([ 'title', title ]);\\n }\\n\\n state.md.inline.tokenize(state);\\n\\n token = state.push('link_close', 'a', -1);\\n }\\n\\n state.pos = pos;\\n state.posMax = max;\\n return true;\\n};\\n\",\"// Process ![image]( \\\"title\\\")\\n\\n'use strict';\\n\\nvar normalizeReference = require('../common/utils').normalizeReference;\\nvar isSpace = require('../common/utils').isSpace;\\n\\n\\nmodule.exports = function image(state, silent) {\\n var attrs,\\n code,\\n content,\\n label,\\n labelEnd,\\n labelStart,\\n pos,\\n ref,\\n res,\\n title,\\n token,\\n tokens,\\n start,\\n href = '',\\n oldPos = state.pos,\\n max = state.posMax;\\n\\n if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false; }\\n if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false; }\\n\\n labelStart = state.pos + 2;\\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);\\n\\n // parser failed to find ']', so it's not a valid link\\n if (labelEnd < 0) { return false; }\\n\\n pos = labelEnd + 1;\\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\\n //\\n // Inline link\\n //\\n\\n // [link]( \\\"title\\\" )\\n // ^^ skipping these spaces\\n pos++;\\n for (; pos < max; pos++) {\\n code = state.src.charCodeAt(pos);\\n if (!isSpace(code) && code !== 0x0A) { break; }\\n }\\n if (pos >= max) { return false; }\\n\\n // [link]( \\\"title\\\" )\\n // ^^^^^^ parsing link destination\\n start = pos;\\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\\n if (res.ok) {\\n href = state.md.normalizeLink(res.str);\\n if (state.md.validateLink(href)) {\\n pos = res.pos;\\n } else {\\n href = '';\\n }\\n }\\n\\n // [link]( \\\"title\\\" )\\n // ^^ skipping these spaces\\n start = pos;\\n for (; pos < max; pos++) {\\n code = state.src.charCodeAt(pos);\\n if (!isSpace(code) && code !== 0x0A) { break; }\\n }\\n\\n // [link]( \\\"title\\\" )\\n // ^^^^^^^ parsing link title\\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\\n if (pos < max && start !== pos && res.ok) {\\n title = res.str;\\n pos = res.pos;\\n\\n // [link]( \\\"title\\\" )\\n // ^^ skipping these spaces\\n for (; pos < max; pos++) {\\n code = state.src.charCodeAt(pos);\\n if (!isSpace(code) && code !== 0x0A) { break; }\\n }\\n } else {\\n title = '';\\n }\\n\\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\\n state.pos = oldPos;\\n return false;\\n }\\n pos++;\\n } else {\\n //\\n // Link reference\\n //\\n if (typeof state.env.references === 'undefined') { return false; }\\n\\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\\n start = pos + 1;\\n pos = state.md.helpers.parseLinkLabel(state, pos);\\n if (pos >= 0) {\\n label = state.src.slice(start, pos++);\\n } else {\\n pos = labelEnd + 1;\\n }\\n } else {\\n pos = labelEnd + 1;\\n }\\n\\n // covers label === '' and label === undefined\\n // (collapsed reference link and shortcut reference link respectively)\\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\\n\\n ref = state.env.references[normalizeReference(label)];\\n if (!ref) {\\n state.pos = oldPos;\\n return false;\\n }\\n href = ref.href;\\n title = ref.title;\\n }\\n\\n //\\n // We found the end of the link, and know for a fact it's a valid link;\\n // so all that's left to do is to call tokenizer.\\n //\\n if (!silent) {\\n content = state.src.slice(labelStart, labelEnd);\\n\\n state.md.inline.parse(\\n content,\\n state.md,\\n state.env,\\n tokens = []\\n );\\n\\n token = state.push('image', 'img', 0);\\n token.attrs = attrs = [ [ 'src', href ], [ 'alt', '' ] ];\\n token.children = tokens;\\n token.content = content;\\n\\n if (title) {\\n attrs.push([ 'title', title ]);\\n }\\n }\\n\\n state.pos = pos;\\n state.posMax = max;\\n return true;\\n};\\n\",\"// Process autolinks ''\\n\\n'use strict';\\n\\n\\n/*eslint max-len:0*/\\nvar EMAIL_RE = /^<([a-zA-Z0-9.!#$%&'*+\\\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;\\nvar AUTOLINK_RE = /^<([a-zA-Z][a-zA-Z0-9+.\\\\-]{1,31}):([^<>\\\\x00-\\\\x20]*)>/;\\n\\n\\nmodule.exports = function autolink(state, silent) {\\n var tail, linkMatch, emailMatch, url, fullUrl, token,\\n pos = state.pos;\\n\\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\\n\\n tail = state.src.slice(pos);\\n\\n if (tail.indexOf('>') < 0) { return false; }\\n\\n if (AUTOLINK_RE.test(tail)) {\\n linkMatch = tail.match(AUTOLINK_RE);\\n\\n url = linkMatch[0].slice(1, -1);\\n fullUrl = state.md.normalizeLink(url);\\n if (!state.md.validateLink(fullUrl)) { return false; }\\n\\n if (!silent) {\\n token = state.push('link_open', 'a', 1);\\n token.attrs = [ [ 'href', fullUrl ] ];\\n token.markup = 'autolink';\\n token.info = 'auto';\\n\\n token = state.push('text', '', 0);\\n token.content = state.md.normalizeLinkText(url);\\n\\n token = state.push('link_close', 'a', -1);\\n token.markup = 'autolink';\\n token.info = 'auto';\\n }\\n\\n state.pos += linkMatch[0].length;\\n return true;\\n }\\n\\n if (EMAIL_RE.test(tail)) {\\n emailMatch = tail.match(EMAIL_RE);\\n\\n url = emailMatch[0].slice(1, -1);\\n fullUrl = state.md.normalizeLink('mailto:' + url);\\n if (!state.md.validateLink(fullUrl)) { return false; }\\n\\n if (!silent) {\\n token = state.push('link_open', 'a', 1);\\n token.attrs = [ [ 'href', fullUrl ] ];\\n token.markup = 'autolink';\\n token.info = 'auto';\\n\\n token = state.push('text', '', 0);\\n token.content = state.md.normalizeLinkText(url);\\n\\n token = state.push('link_close', 'a', -1);\\n token.markup = 'autolink';\\n token.info = 'auto';\\n }\\n\\n state.pos += emailMatch[0].length;\\n return true;\\n }\\n\\n return false;\\n};\\n\",\"// Process html tags\\n\\n'use strict';\\n\\n\\nvar HTML_TAG_RE = require('../common/html_re').HTML_TAG_RE;\\n\\n\\nfunction isLetter(ch) {\\n /*eslint no-bitwise:0*/\\n var lc = ch | 0x20; // to lower case\\n return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */);\\n}\\n\\n\\nmodule.exports = function html_inline(state, silent) {\\n var ch, match, max, token,\\n pos = state.pos;\\n\\n if (!state.md.options.html) { return false; }\\n\\n // Check start\\n max = state.posMax;\\n if (state.src.charCodeAt(pos) !== 0x3C/* < */ ||\\n pos + 2 >= max) {\\n return false;\\n }\\n\\n // Quick fail on second char\\n ch = state.src.charCodeAt(pos + 1);\\n if (ch !== 0x21/* ! */ &&\\n ch !== 0x3F/* ? */ &&\\n ch !== 0x2F/* / */ &&\\n !isLetter(ch)) {\\n return false;\\n }\\n\\n match = state.src.slice(pos).match(HTML_TAG_RE);\\n if (!match) { return false; }\\n\\n if (!silent) {\\n token = state.push('html_inline', '', 0);\\n token.content = state.src.slice(pos, pos + match[0].length);\\n }\\n state.pos += match[0].length;\\n return true;\\n};\\n\",\"// Process html entity - {, ¯, ", ...\\n\\n'use strict';\\n\\nvar entities = require('../common/entities');\\nvar has = require('../common/utils').has;\\nvar isValidEntityCode = require('../common/utils').isValidEntityCode;\\nvar fromCodePoint = require('../common/utils').fromCodePoint;\\n\\n\\nvar DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;\\nvar NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;\\n\\n\\nmodule.exports = function entity(state, silent) {\\n var ch, code, match, pos = state.pos, max = state.posMax;\\n\\n if (state.src.charCodeAt(pos) !== 0x26/* & */) { return false; }\\n\\n if (pos + 1 < max) {\\n ch = state.src.charCodeAt(pos + 1);\\n\\n if (ch === 0x23 /* # */) {\\n match = state.src.slice(pos).match(DIGITAL_RE);\\n if (match) {\\n if (!silent) {\\n code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);\\n state.pending += isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);\\n }\\n state.pos += match[0].length;\\n return true;\\n }\\n } else {\\n match = state.src.slice(pos).match(NAMED_RE);\\n if (match) {\\n if (has(entities, match[1])) {\\n if (!silent) { state.pending += entities[match[1]]; }\\n state.pos += match[0].length;\\n return true;\\n }\\n }\\n }\\n }\\n\\n if (!silent) { state.pending += '&'; }\\n state.pos++;\\n return true;\\n};\\n\",\"// For each opening emphasis-like marker find a matching closing one\\n//\\n'use strict';\\n\\n\\nfunction processDelimiters(state, delimiters) {\\n var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx,\\n isOddMatch, lastJump,\\n openersBottom = {},\\n max = delimiters.length;\\n\\n for (closerIdx = 0; closerIdx < max; closerIdx++) {\\n closer = delimiters[closerIdx];\\n\\n // Length is only used for emphasis-specific \\\"rule of 3\\\",\\n // if it's not defined (in strikethrough or 3rd party plugins),\\n // we can default it to 0 to disable those checks.\\n //\\n closer.length = closer.length || 0;\\n\\n if (!closer.close) continue;\\n\\n // Previously calculated lower bounds (previous fails)\\n // for each marker and each delimiter length modulo 3.\\n if (!openersBottom.hasOwnProperty(closer.marker)) {\\n openersBottom[closer.marker] = [ -1, -1, -1 ];\\n }\\n\\n minOpenerIdx = openersBottom[closer.marker][closer.length % 3];\\n newMinOpenerIdx = -1;\\n\\n openerIdx = closerIdx - closer.jump - 1;\\n\\n for (; openerIdx > minOpenerIdx; openerIdx -= opener.jump + 1) {\\n opener = delimiters[openerIdx];\\n\\n if (opener.marker !== closer.marker) continue;\\n\\n if (newMinOpenerIdx === -1) newMinOpenerIdx = openerIdx;\\n\\n if (opener.open &&\\n opener.end < 0 &&\\n opener.level === closer.level) {\\n\\n isOddMatch = false;\\n\\n // from spec:\\n //\\n // If one of the delimiters can both open and close emphasis, then the\\n // sum of the lengths of the delimiter runs containing the opening and\\n // closing delimiters must not be a multiple of 3 unless both lengths\\n // are multiples of 3.\\n //\\n if (opener.close || closer.open) {\\n if ((opener.length + closer.length) % 3 === 0) {\\n if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {\\n isOddMatch = true;\\n }\\n }\\n }\\n\\n if (!isOddMatch) {\\n // If previous delimiter cannot be an opener, we can safely skip\\n // the entire sequence in future checks. This is required to make\\n // sure algorithm has linear complexity (see *_*_*_*_*_... case).\\n //\\n lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ?\\n delimiters[openerIdx - 1].jump + 1 :\\n 0;\\n\\n closer.jump = closerIdx - openerIdx + lastJump;\\n closer.open = false;\\n opener.end = closerIdx;\\n opener.jump = lastJump;\\n opener.close = false;\\n newMinOpenerIdx = -1;\\n break;\\n }\\n }\\n }\\n\\n if (newMinOpenerIdx !== -1) {\\n // If match for this delimiter run failed, we want to set lower bound for\\n // future lookups. This is required to make sure algorithm has linear\\n // complexity.\\n //\\n // See details here:\\n // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442\\n //\\n openersBottom[closer.marker][(closer.length || 0) % 3] = newMinOpenerIdx;\\n }\\n }\\n}\\n\\n\\nmodule.exports = function link_pairs(state) {\\n var curr,\\n tokens_meta = state.tokens_meta,\\n max = state.tokens_meta.length;\\n\\n processDelimiters(state, state.delimiters);\\n\\n for (curr = 0; curr < max; curr++) {\\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\\n processDelimiters(state, tokens_meta[curr].delimiters);\\n }\\n }\\n};\\n\",\"// Clean up tokens after emphasis and strikethrough postprocessing:\\n// merge adjacent text nodes into one and re-calculate all token levels\\n//\\n// This is necessary because initially emphasis delimiter markers (*, _, ~)\\n// are treated as their own separate text tokens. Then emphasis rule either\\n// leaves them as text (needed to merge with adjacent text) or turns them\\n// into opening/closing tags (which messes up levels inside).\\n//\\n'use strict';\\n\\n\\nmodule.exports = function text_collapse(state) {\\n var curr, last,\\n level = 0,\\n tokens = state.tokens,\\n max = state.tokens.length;\\n\\n for (curr = last = 0; curr < max; curr++) {\\n // re-calculate levels after emphasis/strikethrough turns some text nodes\\n // into opening/closing tags\\n if (tokens[curr].nesting < 0) level--; // closing tag\\n tokens[curr].level = level;\\n if (tokens[curr].nesting > 0) level++; // opening tag\\n\\n if (tokens[curr].type === 'text' &&\\n curr + 1 < max &&\\n tokens[curr + 1].type === 'text') {\\n\\n // collapse two adjacent text nodes\\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\\n } else {\\n if (curr !== last) { tokens[last] = tokens[curr]; }\\n\\n last++;\\n }\\n }\\n\\n if (curr !== last) {\\n tokens.length = last;\\n }\\n};\\n\",\"// Inline parser state\\n\\n'use strict';\\n\\n\\nvar Token = require('../token');\\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\\nvar isPunctChar = require('../common/utils').isPunctChar;\\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\\n\\n\\nfunction StateInline(src, md, env, outTokens) {\\n this.src = src;\\n this.env = env;\\n this.md = md;\\n this.tokens = outTokens;\\n this.tokens_meta = Array(outTokens.length);\\n\\n this.pos = 0;\\n this.posMax = this.src.length;\\n this.level = 0;\\n this.pending = '';\\n this.pendingLevel = 0;\\n\\n // Stores { start: end } pairs. Useful for backtrack\\n // optimization of pairs parse (emphasis, strikes).\\n this.cache = {};\\n\\n // List of emphasis-like delimiters for current tag\\n this.delimiters = [];\\n\\n // Stack of delimiter lists for upper level tags\\n this._prev_delimiters = [];\\n}\\n\\n\\n// Flush pending text\\n//\\nStateInline.prototype.pushPending = function () {\\n var token = new Token('text', '', 0);\\n token.content = this.pending;\\n token.level = this.pendingLevel;\\n this.tokens.push(token);\\n this.pending = '';\\n return token;\\n};\\n\\n\\n// Push new token to \\\"stream\\\".\\n// If pending text exists - flush it as text token\\n//\\nStateInline.prototype.push = function (type, tag, nesting) {\\n if (this.pending) {\\n this.pushPending();\\n }\\n\\n var token = new Token(type, tag, nesting);\\n var token_meta = null;\\n\\n if (nesting < 0) {\\n // closing tag\\n this.level--;\\n this.delimiters = this._prev_delimiters.pop();\\n }\\n\\n token.level = this.level;\\n\\n if (nesting > 0) {\\n // opening tag\\n this.level++;\\n this._prev_delimiters.push(this.delimiters);\\n this.delimiters = [];\\n token_meta = { delimiters: this.delimiters };\\n }\\n\\n this.pendingLevel = this.level;\\n this.tokens.push(token);\\n this.tokens_meta.push(token_meta);\\n return token;\\n};\\n\\n\\n// Scan a sequence of emphasis-like markers, and determine whether\\n// it can start an emphasis sequence or end an emphasis sequence.\\n//\\n// - start - position to scan from (it should point at a valid marker);\\n// - canSplitWord - determine if these markers can be found inside a word\\n//\\nStateInline.prototype.scanDelims = function (start, canSplitWord) {\\n var pos = start, lastChar, nextChar, count, can_open, can_close,\\n isLastWhiteSpace, isLastPunctChar,\\n isNextWhiteSpace, isNextPunctChar,\\n left_flanking = true,\\n right_flanking = true,\\n max = this.posMax,\\n marker = this.src.charCodeAt(start);\\n\\n // treat beginning of the line as a whitespace\\n lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;\\n\\n while (pos < max && this.src.charCodeAt(pos) === marker) { pos++; }\\n\\n count = pos - start;\\n\\n // treat end of the line as a whitespace\\n nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;\\n\\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\\n\\n isLastWhiteSpace = isWhiteSpace(lastChar);\\n isNextWhiteSpace = isWhiteSpace(nextChar);\\n\\n if (isNextWhiteSpace) {\\n left_flanking = false;\\n } else if (isNextPunctChar) {\\n if (!(isLastWhiteSpace || isLastPunctChar)) {\\n left_flanking = false;\\n }\\n }\\n\\n if (isLastWhiteSpace) {\\n right_flanking = false;\\n } else if (isLastPunctChar) {\\n if (!(isNextWhiteSpace || isNextPunctChar)) {\\n right_flanking = false;\\n }\\n }\\n\\n if (!canSplitWord) {\\n can_open = left_flanking && (!right_flanking || isLastPunctChar);\\n can_close = right_flanking && (!left_flanking || isNextPunctChar);\\n } else {\\n can_open = left_flanking;\\n can_close = right_flanking;\\n }\\n\\n return {\\n can_open: can_open,\\n can_close: can_close,\\n length: count\\n };\\n};\\n\\n\\n// re-export Token class to use in block rules\\nStateInline.prototype.Token = Token;\\n\\n\\nmodule.exports = StateInline;\\n\",\"'use strict';\\n\\n\\n////////////////////////////////////////////////////////////////////////////////\\n// Helpers\\n\\n// Merge objects\\n//\\nfunction assign(obj /*from1, from2, from3, ...*/) {\\n var sources = Array.prototype.slice.call(arguments, 1);\\n\\n sources.forEach(function (source) {\\n if (!source) { return; }\\n\\n Object.keys(source).forEach(function (key) {\\n obj[key] = source[key];\\n });\\n });\\n\\n return obj;\\n}\\n\\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\\nfunction isString(obj) { return _class(obj) === '[object String]'; }\\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\\n\\n\\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\\\]\\\\\\\\(){}|-]/g, '\\\\\\\\$&'); }\\n\\n////////////////////////////////////////////////////////////////////////////////\\n\\n\\nvar defaultOptions = {\\n fuzzyLink: true,\\n fuzzyEmail: true,\\n fuzzyIP: false\\n};\\n\\n\\nfunction isOptionsObj(obj) {\\n return Object.keys(obj || {}).reduce(function (acc, k) {\\n return acc || defaultOptions.hasOwnProperty(k);\\n }, false);\\n}\\n\\n\\nvar defaultSchemas = {\\n 'http:': {\\n validate: function (text, pos, self) {\\n var tail = text.slice(pos);\\n\\n if (!self.re.http) {\\n // compile lazily, because \\\"host\\\"-containing variables can change on tlds update.\\n self.re.http = new RegExp(\\n '^\\\\\\\\/\\\\\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\\n );\\n }\\n if (self.re.http.test(tail)) {\\n return tail.match(self.re.http)[0].length;\\n }\\n return 0;\\n }\\n },\\n 'https:': 'http:',\\n 'ftp:': 'http:',\\n '//': {\\n validate: function (text, pos, self) {\\n var tail = text.slice(pos);\\n\\n if (!self.re.no_http) {\\n // compile lazily, because \\\"host\\\"-containing variables can change on tlds update.\\n self.re.no_http = new RegExp(\\n '^' +\\n self.re.src_auth +\\n // Don't allow single-level domains, because of false positives like '//test'\\n // with code comments\\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\\\\\.)+' + self.re.src_domain_root + ')' +\\n self.re.src_port +\\n self.re.src_host_terminator +\\n self.re.src_path,\\n\\n 'i'\\n );\\n }\\n\\n if (self.re.no_http.test(tail)) {\\n // should not be `://` & `///`, that protects from errors in protocol name\\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\\n return tail.match(self.re.no_http)[0].length;\\n }\\n return 0;\\n }\\n },\\n 'mailto:': {\\n validate: function (text, pos, self) {\\n var tail = text.slice(pos);\\n\\n if (!self.re.mailto) {\\n self.re.mailto = new RegExp(\\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\\n );\\n }\\n if (self.re.mailto.test(tail)) {\\n return tail.match(self.re.mailto)[0].length;\\n }\\n return 0;\\n }\\n }\\n};\\n\\n/*eslint-disable max-len*/\\n\\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\\n\\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\\n\\n/*eslint-enable max-len*/\\n\\n////////////////////////////////////////////////////////////////////////////////\\n\\nfunction resetScanCache(self) {\\n self.__index__ = -1;\\n self.__text_cache__ = '';\\n}\\n\\nfunction createValidator(re) {\\n return function (text, pos) {\\n var tail = text.slice(pos);\\n\\n if (re.test(tail)) {\\n return tail.match(re)[0].length;\\n }\\n return 0;\\n };\\n}\\n\\nfunction createNormalizer() {\\n return function (match, self) {\\n self.normalize(match);\\n };\\n}\\n\\n// Schemas compiler. Build regexps.\\n//\\nfunction compile(self) {\\n\\n // Load & clone RE patterns.\\n var re = self.re = require('./lib/re')(self.__opts__);\\n\\n // Define dynamic patterns\\n var tlds = self.__tlds__.slice();\\n\\n self.onCompile();\\n\\n if (!self.__tlds_replaced__) {\\n tlds.push(tlds_2ch_src_re);\\n }\\n tlds.push(re.src_xn);\\n\\n re.src_tlds = tlds.join('|');\\n\\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\\n\\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\\n\\n //\\n // Compile each schema\\n //\\n\\n var aliases = [];\\n\\n self.__compiled__ = {}; // Reset compiled data\\n\\n function schemaError(name, val) {\\n throw new Error('(LinkifyIt) Invalid schema \\\"' + name + '\\\": ' + val);\\n }\\n\\n Object.keys(self.__schemas__).forEach(function (name) {\\n var val = self.__schemas__[name];\\n\\n // skip disabled methods\\n if (val === null) { return; }\\n\\n var compiled = { validate: null, link: null };\\n\\n self.__compiled__[name] = compiled;\\n\\n if (isObject(val)) {\\n if (isRegExp(val.validate)) {\\n compiled.validate = createValidator(val.validate);\\n } else if (isFunction(val.validate)) {\\n compiled.validate = val.validate;\\n } else {\\n schemaError(name, val);\\n }\\n\\n if (isFunction(val.normalize)) {\\n compiled.normalize = val.normalize;\\n } else if (!val.normalize) {\\n compiled.normalize = createNormalizer();\\n } else {\\n schemaError(name, val);\\n }\\n\\n return;\\n }\\n\\n if (isString(val)) {\\n aliases.push(name);\\n return;\\n }\\n\\n schemaError(name, val);\\n });\\n\\n //\\n // Compile postponed aliases\\n //\\n\\n aliases.forEach(function (alias) {\\n if (!self.__compiled__[self.__schemas__[alias]]) {\\n // Silently fail on missed schemas to avoid errons on disable.\\n // schemaError(alias, self.__schemas__[alias]);\\n return;\\n }\\n\\n self.__compiled__[alias].validate =\\n self.__compiled__[self.__schemas__[alias]].validate;\\n self.__compiled__[alias].normalize =\\n self.__compiled__[self.__schemas__[alias]].normalize;\\n });\\n\\n //\\n // Fake record for guessed links\\n //\\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\\n\\n //\\n // Build schema condition\\n //\\n var slist = Object.keys(self.__compiled__)\\n .filter(function (name) {\\n // Filter disabled & fake schemas\\n return name.length > 0 && self.__compiled__[name];\\n })\\n .map(escapeRE)\\n .join('|');\\n // (?!_) cause 1.5x slowdown\\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\\n\\n self.re.pretest = RegExp(\\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\\n 'i'\\n );\\n\\n //\\n // Cleanup\\n //\\n\\n resetScanCache(self);\\n}\\n\\n/**\\n * class Match\\n *\\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\\n **/\\nfunction Match(self, shift) {\\n var start = self.__index__,\\n end = self.__last_index__,\\n text = self.__text_cache__.slice(start, end);\\n\\n /**\\n * Match#schema -> String\\n *\\n * Prefix (protocol) for matched string.\\n **/\\n this.schema = self.__schema__.toLowerCase();\\n /**\\n * Match#index -> Number\\n *\\n * First position of matched string.\\n **/\\n this.index = start + shift;\\n /**\\n * Match#lastIndex -> Number\\n *\\n * Next position after matched string.\\n **/\\n this.lastIndex = end + shift;\\n /**\\n * Match#raw -> String\\n *\\n * Matched string.\\n **/\\n this.raw = text;\\n /**\\n * Match#text -> String\\n *\\n * Notmalized text of matched string.\\n **/\\n this.text = text;\\n /**\\n * Match#url -> String\\n *\\n * Normalized url of matched string.\\n **/\\n this.url = text;\\n}\\n\\nfunction createMatch(self, shift) {\\n var match = new Match(self, shift);\\n\\n self.__compiled__[match.schema].normalize(match, self);\\n\\n return match;\\n}\\n\\n\\n/**\\n * class LinkifyIt\\n **/\\n\\n/**\\n * new LinkifyIt(schemas, options)\\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\\n *\\n * Creates new linkifier instance with optional additional schemas.\\n * Can be called without `new` keyword for convenience.\\n *\\n * By default understands:\\n *\\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\\n * - \\\"fuzzy\\\" links and emails (example.com, foo@bar.com).\\n *\\n * `schemas` is an object, where each key/value describes protocol/rule:\\n *\\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\\n * for example). `linkify-it` makes shure that prefix is not preceeded with\\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\\n * - __value__ - rule to check tail after link prefix\\n * - _String_ - just alias to existing rule\\n * - _Object_\\n * - _validate_ - validator function (should return matched length on success),\\n * or `RegExp`.\\n * - _normalize_ - optional function to normalize text & url of matched result\\n * (for example, for @twitter mentions).\\n *\\n * `options`:\\n *\\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\\n * like version numbers. Default `false`.\\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\\n *\\n **/\\nfunction LinkifyIt(schemas, options) {\\n if (!(this instanceof LinkifyIt)) {\\n return new LinkifyIt(schemas, options);\\n }\\n\\n if (!options) {\\n if (isOptionsObj(schemas)) {\\n options = schemas;\\n schemas = {};\\n }\\n }\\n\\n this.__opts__ = assign({}, defaultOptions, options);\\n\\n // Cache last tested result. Used to skip repeating steps on next `match` call.\\n this.__index__ = -1;\\n this.__last_index__ = -1; // Next scan position\\n this.__schema__ = '';\\n this.__text_cache__ = '';\\n\\n this.__schemas__ = assign({}, defaultSchemas, schemas);\\n this.__compiled__ = {};\\n\\n this.__tlds__ = tlds_default;\\n this.__tlds_replaced__ = false;\\n\\n this.re = {};\\n\\n compile(this);\\n}\\n\\n\\n/** chainable\\n * LinkifyIt#add(schema, definition)\\n * - schema (String): rule name (fixed pattern prefix)\\n * - definition (String|RegExp|Object): schema definition\\n *\\n * Add new rule definition. See constructor description for details.\\n **/\\nLinkifyIt.prototype.add = function add(schema, definition) {\\n this.__schemas__[schema] = definition;\\n compile(this);\\n return this;\\n};\\n\\n\\n/** chainable\\n * LinkifyIt#set(options)\\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\\n *\\n * Set recognition options for links without schema.\\n **/\\nLinkifyIt.prototype.set = function set(options) {\\n this.__opts__ = assign(this.__opts__, options);\\n return this;\\n};\\n\\n\\n/**\\n * LinkifyIt#test(text) -> Boolean\\n *\\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\\n **/\\nLinkifyIt.prototype.test = function test(text) {\\n // Reset scan cache\\n this.__text_cache__ = text;\\n this.__index__ = -1;\\n\\n if (!text.length) { return false; }\\n\\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\\n\\n // try to scan for link with schema - that's the most simple rule\\n if (this.re.schema_test.test(text)) {\\n re = this.re.schema_search;\\n re.lastIndex = 0;\\n while ((m = re.exec(text)) !== null) {\\n len = this.testSchemaAt(text, m[2], re.lastIndex);\\n if (len) {\\n this.__schema__ = m[2];\\n this.__index__ = m.index + m[1].length;\\n this.__last_index__ = m.index + m[0].length + len;\\n break;\\n }\\n }\\n }\\n\\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\\n // guess schemaless links\\n tld_pos = text.search(this.re.host_fuzzy_test);\\n if (tld_pos >= 0) {\\n // if tld is located after found link - no need to check fuzzy pattern\\n if (this.__index__ < 0 || tld_pos < this.__index__) {\\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\\n\\n shift = ml.index + ml[1].length;\\n\\n if (this.__index__ < 0 || shift < this.__index__) {\\n this.__schema__ = '';\\n this.__index__ = shift;\\n this.__last_index__ = ml.index + ml[0].length;\\n }\\n }\\n }\\n }\\n }\\n\\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\\n // guess schemaless emails\\n at_pos = text.indexOf('@');\\n if (at_pos >= 0) {\\n // We can't skip this check, because this cases are possible:\\n // 192.168.1.1@gmail.com, my.in@example.com\\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\\n\\n shift = me.index + me[1].length;\\n next = me.index + me[0].length;\\n\\n if (this.__index__ < 0 || shift < this.__index__ ||\\n (shift === this.__index__ && next > this.__last_index__)) {\\n this.__schema__ = 'mailto:';\\n this.__index__ = shift;\\n this.__last_index__ = next;\\n }\\n }\\n }\\n }\\n\\n return this.__index__ >= 0;\\n};\\n\\n\\n/**\\n * LinkifyIt#pretest(text) -> Boolean\\n *\\n * Very quick check, that can give false positives. Returns true if link MAY BE\\n * can exists. Can be used for speed optimization, when you need to check that\\n * link NOT exists.\\n **/\\nLinkifyIt.prototype.pretest = function pretest(text) {\\n return this.re.pretest.test(text);\\n};\\n\\n\\n/**\\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\\n * - text (String): text to scan\\n * - name (String): rule (schema) name\\n * - position (Number): text offset to check from\\n *\\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\\n * at given position. Returns length of found pattern (0 on fail).\\n **/\\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\\n // If not supported schema check requested - terminate\\n if (!this.__compiled__[schema.toLowerCase()]) {\\n return 0;\\n }\\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\\n};\\n\\n\\n/**\\n * LinkifyIt#match(text) -> Array|null\\n *\\n * Returns array of found link descriptions or `null` on fail. We strongly\\n * recommend to use [[LinkifyIt#test]] first, for best speed.\\n *\\n * ##### Result match description\\n *\\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\\n * protocol-neutral links.\\n * - __index__ - offset of matched text\\n * - __lastIndex__ - index of next char after mathch end\\n * - __raw__ - matched text\\n * - __text__ - normalized text\\n * - __url__ - link, generated from matched text\\n **/\\nLinkifyIt.prototype.match = function match(text) {\\n var shift = 0, result = [];\\n\\n // Try to take previous element from cache, if .test() called before\\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\\n result.push(createMatch(this, shift));\\n shift = this.__last_index__;\\n }\\n\\n // Cut head if cache was used\\n var tail = shift ? text.slice(shift) : text;\\n\\n // Scan string until end reached\\n while (this.test(tail)) {\\n result.push(createMatch(this, shift));\\n\\n tail = tail.slice(this.__last_index__);\\n shift += this.__last_index__;\\n }\\n\\n if (result.length) {\\n return result;\\n }\\n\\n return null;\\n};\\n\\n\\n/** chainable\\n * LinkifyIt#tlds(list [, keepOld]) -> this\\n * - list (Array): list of tlds\\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\\n *\\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\\n * to avoid false positives. By default this algorythm used:\\n *\\n * - hostname with any 2-letter root zones are ok.\\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\\n * are ok.\\n * - encoded (`xn--...`) root zones are ok.\\n *\\n * If list is replaced, then exact match for 2-chars root zones will be checked.\\n **/\\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\\n list = Array.isArray(list) ? list : [ list ];\\n\\n if (!keepOld) {\\n this.__tlds__ = list.slice();\\n this.__tlds_replaced__ = true;\\n compile(this);\\n return this;\\n }\\n\\n this.__tlds__ = this.__tlds__.concat(list)\\n .sort()\\n .filter(function (el, idx, arr) {\\n return el !== arr[idx - 1];\\n })\\n .reverse();\\n\\n compile(this);\\n return this;\\n};\\n\\n/**\\n * LinkifyIt#normalize(match)\\n *\\n * Default normalizer (if schema does not define it's own).\\n **/\\nLinkifyIt.prototype.normalize = function normalize(match) {\\n\\n // Do minimal possible changes by default. Need to collect feedback prior\\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\\n\\n if (!match.schema) { match.url = 'http://' + match.url; }\\n\\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\\n match.url = 'mailto:' + match.url;\\n }\\n};\\n\\n\\n/**\\n * LinkifyIt#onCompile()\\n *\\n * Override to modify basic RegExp-s.\\n **/\\nLinkifyIt.prototype.onCompile = function onCompile() {\\n};\\n\\n\\nmodule.exports = LinkifyIt;\\n\",\"'use strict';\\n\\n\\nmodule.exports = function (opts) {\\n var re = {};\\n\\n // Use direct extract instead of `regenerate` to reduse browserified size\\n re.src_Any = require('uc.micro/properties/Any/regex').source;\\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\\n re.src_Z = require('uc.micro/categories/Z/regex').source;\\n re.src_P = require('uc.micro/categories/P/regex').source;\\n\\n // \\\\p{\\\\Z\\\\P\\\\Cc\\\\CF} (white spaces + control + format + punctuation)\\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\\n\\n // \\\\p{\\\\Z\\\\Cc} (white spaces + control)\\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\\n\\n // Experimental. List of chars, completely prohibited in links\\n // because can separate it from other part of text\\n var text_separators = '[><\\\\uff5c]';\\n\\n // All possible word characters (everything without punctuation, spaces & controls)\\n // Defined via punctuation & spaces to save space\\n // Should be something like \\\\p{\\\\L\\\\N\\\\S\\\\M} (\\\\w but without `_`)\\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\\n // The same as abothe but without [0-9]\\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\\n\\n ////////////////////////////////////////////////////////////////////////////////\\n\\n re.src_ip4 =\\n\\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\\n\\n // Prohibit any of \\\"@/[]()\\\" in user/pass to avoid wrong domain fetch.\\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\\\\\[\\\\\\\\]()]).)+@)?';\\n\\n re.src_port =\\n\\n '(?::(?:6(?:[0-4]\\\\\\\\d{3}|5(?:[0-4]\\\\\\\\d{2}|5(?:[0-2]\\\\\\\\d|3[0-5])))|[1-5]?\\\\\\\\d{1,4}))?';\\n\\n re.src_host_terminator =\\n\\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\\\\\\\d|\\\\\\\\.-|\\\\\\\\.(?!$|' + re.src_ZPCc + '))';\\n\\n re.src_path =\\n\\n '(?:' +\\n '[/?#]' +\\n '(?:' +\\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\\\\\]{}.,\\\"\\\\'?!\\\\\\\\-]).|' +\\n '\\\\\\\\[(?:(?!' + re.src_ZCc + '|\\\\\\\\]).)*\\\\\\\\]|' +\\n '\\\\\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\\\\\)|' +\\n '\\\\\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\\\\\}|' +\\n '\\\\\\\\\\\"(?:(?!' + re.src_ZCc + '|[\\\"]).)+\\\\\\\\\\\"|' +\\n \\\"\\\\\\\\'(?:(?!\\\" + re.src_ZCc + \\\"|[']).)+\\\\\\\\'|\\\" +\\n \\\"\\\\\\\\'(?=\\\" + re.src_pseudo_letter + '|[-]).|' + // allow `I'm_king` if no pair found\\n '\\\\\\\\.{2,4}[a-zA-Z0-9%/]|' + // github has ... in commit range links,\\n // google has .... in links (issue #66)\\n // Restrict to\\n // - english\\n // - percent-encoded\\n // - parts of file path\\n // until more examples found.\\n '\\\\\\\\.(?!' + re.src_ZCc + '|[.]).|' +\\n (opts && opts['---'] ?\\n '\\\\\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\\n :\\n '\\\\\\\\-+|'\\n ) +\\n '\\\\\\\\,(?!' + re.src_ZCc + ').|' + // allow `,,,` in paths\\n '\\\\\\\\!(?!' + re.src_ZCc + '|[!]).|' +\\n '\\\\\\\\?(?!' + re.src_ZCc + '|[?]).' +\\n ')+' +\\n '|\\\\\\\\/' +\\n ')?';\\n\\n // Allow anything in markdown spec, forbid quote (\\\") at the first position\\n // because emails enclosed in quotes are far more common\\n re.src_email_name =\\n\\n '[\\\\\\\\-;:&=\\\\\\\\+\\\\\\\\$,\\\\\\\\.a-zA-Z0-9_][\\\\\\\\-;:&=\\\\\\\\+\\\\\\\\$,\\\\\\\\\\\"\\\\\\\\.a-zA-Z0-9_]*';\\n\\n re.src_xn =\\n\\n 'xn--[a-z0-9\\\\\\\\-]{1,59}';\\n\\n // More to read about domain names\\n // http://serverfault.com/questions/638260/\\n\\n re.src_domain_root =\\n\\n // Allow letters & digits (http://test1)\\n '(?:' +\\n re.src_xn +\\n '|' +\\n re.src_pseudo_letter + '{1,63}' +\\n ')';\\n\\n re.src_domain =\\n\\n '(?:' +\\n re.src_xn +\\n '|' +\\n '(?:' + re.src_pseudo_letter + ')' +\\n '|' +\\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\\n ')';\\n\\n re.src_host =\\n\\n '(?:' +\\n // Don't need IP check, because digits are already allowed in normal domain names\\n // src_ip4 +\\n // '|' +\\n '(?:(?:(?:' + re.src_domain + ')\\\\\\\\.)*' + re.src_domain/*_root*/ + ')' +\\n ')';\\n\\n re.tpl_host_fuzzy =\\n\\n '(?:' +\\n re.src_ip4 +\\n '|' +\\n '(?:(?:(?:' + re.src_domain + ')\\\\\\\\.)+(?:%TLDS%))' +\\n ')';\\n\\n re.tpl_host_no_ip_fuzzy =\\n\\n '(?:(?:(?:' + re.src_domain + ')\\\\\\\\.)+(?:%TLDS%))';\\n\\n re.src_host_strict =\\n\\n re.src_host + re.src_host_terminator;\\n\\n re.tpl_host_fuzzy_strict =\\n\\n re.tpl_host_fuzzy + re.src_host_terminator;\\n\\n re.src_host_port_strict =\\n\\n re.src_host + re.src_port + re.src_host_terminator;\\n\\n re.tpl_host_port_fuzzy_strict =\\n\\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\\n\\n re.tpl_host_port_no_ip_fuzzy_strict =\\n\\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\\n\\n\\n ////////////////////////////////////////////////////////////////////////////////\\n // Main rules\\n\\n // Rude test fuzzy links by host, for quick deny\\n re.tpl_host_fuzzy_test =\\n\\n 'localhost|www\\\\\\\\.|\\\\\\\\.\\\\\\\\d{1,3}\\\\\\\\.|(?:\\\\\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\\n\\n re.tpl_email_fuzzy =\\n\\n '(^|' + text_separators + '|\\\"|\\\\\\\\(|' + re.src_ZCc + ')' +\\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\\n\\n re.tpl_link_fuzzy =\\n // Fuzzy link can't be prepended with .:/\\\\- and non punctuation.\\n // but can start with > (markdown blockquote)\\n '(^|(?![.:/\\\\\\\\-_@])(?:[$+<=>^`|\\\\uff5c]|' + re.src_ZPCc + '))' +\\n '((?![$+<=>^`|\\\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\\n\\n re.tpl_link_no_ip_fuzzy =\\n // Fuzzy link can't be prepended with .:/\\\\- and non punctuation.\\n // but can start with > (markdown blockquote)\\n '(^|(?![.:/\\\\\\\\-_@])(?:[$+<=>^`|\\\\uff5c]|' + re.src_ZPCc + '))' +\\n '((?![$+<=>^`|\\\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\\n\\n return re;\\n};\\n\",\"/*! https://mths.be/punycode v1.4.1 by @mathias */\\n;(function(root) {\\n\\n\\t/** Detect free variables */\\n\\tvar freeExports = typeof exports == 'object' && exports &&\\n\\t\\t!exports.nodeType && exports;\\n\\tvar freeModule = typeof module == 'object' && module &&\\n\\t\\t!module.nodeType && module;\\n\\tvar freeGlobal = typeof global == 'object' && global;\\n\\tif (\\n\\t\\tfreeGlobal.global === freeGlobal ||\\n\\t\\tfreeGlobal.window === freeGlobal ||\\n\\t\\tfreeGlobal.self === freeGlobal\\n\\t) {\\n\\t\\troot = freeGlobal;\\n\\t}\\n\\n\\t/**\\n\\t * The `punycode` object.\\n\\t * @name punycode\\n\\t * @type Object\\n\\t */\\n\\tvar punycode,\\n\\n\\t/** Highest positive signed 32-bit float value */\\n\\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\\n\\n\\t/** Bootstring parameters */\\n\\tbase = 36,\\n\\ttMin = 1,\\n\\ttMax = 26,\\n\\tskew = 38,\\n\\tdamp = 700,\\n\\tinitialBias = 72,\\n\\tinitialN = 128, // 0x80\\n\\tdelimiter = '-', // '\\\\x2D'\\n\\n\\t/** Regular expressions */\\n\\tregexPunycode = /^xn--/,\\n\\tregexNonASCII = /[^\\\\x20-\\\\x7E]/, // unprintable ASCII chars + non-ASCII chars\\n\\tregexSeparators = /[\\\\x2E\\\\u3002\\\\uFF0E\\\\uFF61]/g, // RFC 3490 separators\\n\\n\\t/** Error messages */\\n\\terrors = {\\n\\t\\t'overflow': 'Overflow: input needs wider integers to process',\\n\\t\\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\\n\\t\\t'invalid-input': 'Invalid input'\\n\\t},\\n\\n\\t/** Convenience shortcuts */\\n\\tbaseMinusTMin = base - tMin,\\n\\tfloor = Math.floor,\\n\\tstringFromCharCode = String.fromCharCode,\\n\\n\\t/** Temporary variable */\\n\\tkey;\\n\\n\\t/*--------------------------------------------------------------------------*/\\n\\n\\t/**\\n\\t * A generic error utility function.\\n\\t * @private\\n\\t * @param {String} type The error type.\\n\\t * @returns {Error} Throws a `RangeError` with the applicable error message.\\n\\t */\\n\\tfunction error(type) {\\n\\t\\tthrow new RangeError(errors[type]);\\n\\t}\\n\\n\\t/**\\n\\t * A generic `Array#map` utility function.\\n\\t * @private\\n\\t * @param {Array} array The array to iterate over.\\n\\t * @param {Function} callback The function that gets called for every array\\n\\t * item.\\n\\t * @returns {Array} A new array of values returned by the callback function.\\n\\t */\\n\\tfunction map(array, fn) {\\n\\t\\tvar length = array.length;\\n\\t\\tvar result = [];\\n\\t\\twhile (length--) {\\n\\t\\t\\tresult[length] = fn(array[length]);\\n\\t\\t}\\n\\t\\treturn result;\\n\\t}\\n\\n\\t/**\\n\\t * A simple `Array#map`-like wrapper to work with domain name strings or email\\n\\t * addresses.\\n\\t * @private\\n\\t * @param {String} domain The domain name or email address.\\n\\t * @param {Function} callback The function that gets called for every\\n\\t * character.\\n\\t * @returns {Array} A new string of characters returned by the callback\\n\\t * function.\\n\\t */\\n\\tfunction mapDomain(string, fn) {\\n\\t\\tvar parts = string.split('@');\\n\\t\\tvar result = '';\\n\\t\\tif (parts.length > 1) {\\n\\t\\t\\t// In email addresses, only the domain name should be punycoded. Leave\\n\\t\\t\\t// the local part (i.e. everything up to `@`) intact.\\n\\t\\t\\tresult = parts[0] + '@';\\n\\t\\t\\tstring = parts[1];\\n\\t\\t}\\n\\t\\t// Avoid `split(regex)` for IE8 compatibility. See #17.\\n\\t\\tstring = string.replace(regexSeparators, '\\\\x2E');\\n\\t\\tvar labels = string.split('.');\\n\\t\\tvar encoded = map(labels, fn).join('.');\\n\\t\\treturn result + encoded;\\n\\t}\\n\\n\\t/**\\n\\t * Creates an array containing the numeric code points of each Unicode\\n\\t * character in the string. While JavaScript uses UCS-2 internally,\\n\\t * this function will convert a pair of surrogate halves (each of which\\n\\t * UCS-2 exposes as separate characters) into a single code point,\\n\\t * matching UTF-16.\\n\\t * @see `punycode.ucs2.encode`\\n\\t * @see \\n\\t * @memberOf punycode.ucs2\\n\\t * @name decode\\n\\t * @param {String} string The Unicode input string (UCS-2).\\n\\t * @returns {Array} The new array of code points.\\n\\t */\\n\\tfunction ucs2decode(string) {\\n\\t\\tvar output = [],\\n\\t\\t counter = 0,\\n\\t\\t length = string.length,\\n\\t\\t value,\\n\\t\\t extra;\\n\\t\\twhile (counter < length) {\\n\\t\\t\\tvalue = string.charCodeAt(counter++);\\n\\t\\t\\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\\n\\t\\t\\t\\t// high surrogate, and there is a next character\\n\\t\\t\\t\\textra = string.charCodeAt(counter++);\\n\\t\\t\\t\\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\\n\\t\\t\\t\\t\\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t// unmatched surrogate; only append this code unit, in case the next\\n\\t\\t\\t\\t\\t// code unit is the high surrogate of a surrogate pair\\n\\t\\t\\t\\t\\toutput.push(value);\\n\\t\\t\\t\\t\\tcounter--;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\toutput.push(value);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn output;\\n\\t}\\n\\n\\t/**\\n\\t * Creates a string based on an array of numeric code points.\\n\\t * @see `punycode.ucs2.decode`\\n\\t * @memberOf punycode.ucs2\\n\\t * @name encode\\n\\t * @param {Array} codePoints The array of numeric code points.\\n\\t * @returns {String} The new Unicode string (UCS-2).\\n\\t */\\n\\tfunction ucs2encode(array) {\\n\\t\\treturn map(array, function(value) {\\n\\t\\t\\tvar output = '';\\n\\t\\t\\tif (value > 0xFFFF) {\\n\\t\\t\\t\\tvalue -= 0x10000;\\n\\t\\t\\t\\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\\n\\t\\t\\t\\tvalue = 0xDC00 | value & 0x3FF;\\n\\t\\t\\t}\\n\\t\\t\\toutput += stringFromCharCode(value);\\n\\t\\t\\treturn output;\\n\\t\\t}).join('');\\n\\t}\\n\\n\\t/**\\n\\t * Converts a basic code point into a digit/integer.\\n\\t * @see `digitToBasic()`\\n\\t * @private\\n\\t * @param {Number} codePoint The basic numeric code point value.\\n\\t * @returns {Number} The numeric value of a basic code point (for use in\\n\\t * representing integers) in the range `0` to `base - 1`, or `base` if\\n\\t * the code point does not represent a value.\\n\\t */\\n\\tfunction basicToDigit(codePoint) {\\n\\t\\tif (codePoint - 48 < 10) {\\n\\t\\t\\treturn codePoint - 22;\\n\\t\\t}\\n\\t\\tif (codePoint - 65 < 26) {\\n\\t\\t\\treturn codePoint - 65;\\n\\t\\t}\\n\\t\\tif (codePoint - 97 < 26) {\\n\\t\\t\\treturn codePoint - 97;\\n\\t\\t}\\n\\t\\treturn base;\\n\\t}\\n\\n\\t/**\\n\\t * Converts a digit/integer into a basic code point.\\n\\t * @see `basicToDigit()`\\n\\t * @private\\n\\t * @param {Number} digit The numeric value of a basic code point.\\n\\t * @returns {Number} The basic code point whose value (when used for\\n\\t * representing integers) is `digit`, which needs to be in the range\\n\\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\\n\\t * used; else, the lowercase form is used. The behavior is undefined\\n\\t * if `flag` is non-zero and `digit` has no uppercase form.\\n\\t */\\n\\tfunction digitToBasic(digit, flag) {\\n\\t\\t// 0..25 map to ASCII a..z or A..Z\\n\\t\\t// 26..35 map to ASCII 0..9\\n\\t\\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\\n\\t}\\n\\n\\t/**\\n\\t * Bias adaptation function as per section 3.4 of RFC 3492.\\n\\t * https://tools.ietf.org/html/rfc3492#section-3.4\\n\\t * @private\\n\\t */\\n\\tfunction adapt(delta, numPoints, firstTime) {\\n\\t\\tvar k = 0;\\n\\t\\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\\n\\t\\tdelta += floor(delta / numPoints);\\n\\t\\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\\n\\t\\t\\tdelta = floor(delta / baseMinusTMin);\\n\\t\\t}\\n\\t\\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\\n\\t}\\n\\n\\t/**\\n\\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\\n\\t * symbols.\\n\\t * @memberOf punycode\\n\\t * @param {String} input The Punycode string of ASCII-only symbols.\\n\\t * @returns {String} The resulting string of Unicode symbols.\\n\\t */\\n\\tfunction decode(input) {\\n\\t\\t// Don't use UCS-2\\n\\t\\tvar output = [],\\n\\t\\t inputLength = input.length,\\n\\t\\t out,\\n\\t\\t i = 0,\\n\\t\\t n = initialN,\\n\\t\\t bias = initialBias,\\n\\t\\t basic,\\n\\t\\t j,\\n\\t\\t index,\\n\\t\\t oldi,\\n\\t\\t w,\\n\\t\\t k,\\n\\t\\t digit,\\n\\t\\t t,\\n\\t\\t /** Cached calculation results */\\n\\t\\t baseMinusT;\\n\\n\\t\\t// Handle the basic code points: let `basic` be the number of input code\\n\\t\\t// points before the last delimiter, or `0` if there is none, then copy\\n\\t\\t// the first basic code points to the output.\\n\\n\\t\\tbasic = input.lastIndexOf(delimiter);\\n\\t\\tif (basic < 0) {\\n\\t\\t\\tbasic = 0;\\n\\t\\t}\\n\\n\\t\\tfor (j = 0; j < basic; ++j) {\\n\\t\\t\\t// if it's not a basic code point\\n\\t\\t\\tif (input.charCodeAt(j) >= 0x80) {\\n\\t\\t\\t\\terror('not-basic');\\n\\t\\t\\t}\\n\\t\\t\\toutput.push(input.charCodeAt(j));\\n\\t\\t}\\n\\n\\t\\t// Main decoding loop: start just after the last delimiter if any basic code\\n\\t\\t// points were copied; start at the beginning otherwise.\\n\\n\\t\\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\\n\\n\\t\\t\\t// `index` is the index of the next character to be consumed.\\n\\t\\t\\t// Decode a generalized variable-length integer into `delta`,\\n\\t\\t\\t// which gets added to `i`. The overflow checking is easier\\n\\t\\t\\t// if we increase `i` as we go, then subtract off its starting\\n\\t\\t\\t// value at the end to obtain `delta`.\\n\\t\\t\\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\\n\\n\\t\\t\\t\\tif (index >= inputLength) {\\n\\t\\t\\t\\t\\terror('invalid-input');\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tdigit = basicToDigit(input.charCodeAt(index++));\\n\\n\\t\\t\\t\\tif (digit >= base || digit > floor((maxInt - i) / w)) {\\n\\t\\t\\t\\t\\terror('overflow');\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\ti += digit * w;\\n\\t\\t\\t\\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\\n\\n\\t\\t\\t\\tif (digit < t) {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tbaseMinusT = base - t;\\n\\t\\t\\t\\tif (w > floor(maxInt / baseMinusT)) {\\n\\t\\t\\t\\t\\terror('overflow');\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tw *= baseMinusT;\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tout = output.length + 1;\\n\\t\\t\\tbias = adapt(i - oldi, out, oldi == 0);\\n\\n\\t\\t\\t// `i` was supposed to wrap around from `out` to `0`,\\n\\t\\t\\t// incrementing `n` each time, so we'll fix that now:\\n\\t\\t\\tif (floor(i / out) > maxInt - n) {\\n\\t\\t\\t\\terror('overflow');\\n\\t\\t\\t}\\n\\n\\t\\t\\tn += floor(i / out);\\n\\t\\t\\ti %= out;\\n\\n\\t\\t\\t// Insert `n` at position `i` of the output\\n\\t\\t\\toutput.splice(i++, 0, n);\\n\\n\\t\\t}\\n\\n\\t\\treturn ucs2encode(output);\\n\\t}\\n\\n\\t/**\\n\\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\\n\\t * Punycode string of ASCII-only symbols.\\n\\t * @memberOf punycode\\n\\t * @param {String} input The string of Unicode symbols.\\n\\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\\n\\t */\\n\\tfunction encode(input) {\\n\\t\\tvar n,\\n\\t\\t delta,\\n\\t\\t handledCPCount,\\n\\t\\t basicLength,\\n\\t\\t bias,\\n\\t\\t j,\\n\\t\\t m,\\n\\t\\t q,\\n\\t\\t k,\\n\\t\\t t,\\n\\t\\t currentValue,\\n\\t\\t output = [],\\n\\t\\t /** `inputLength` will hold the number of code points in `input`. */\\n\\t\\t inputLength,\\n\\t\\t /** Cached calculation results */\\n\\t\\t handledCPCountPlusOne,\\n\\t\\t baseMinusT,\\n\\t\\t qMinusT;\\n\\n\\t\\t// Convert the input in UCS-2 to Unicode\\n\\t\\tinput = ucs2decode(input);\\n\\n\\t\\t// Cache the length\\n\\t\\tinputLength = input.length;\\n\\n\\t\\t// Initialize the state\\n\\t\\tn = initialN;\\n\\t\\tdelta = 0;\\n\\t\\tbias = initialBias;\\n\\n\\t\\t// Handle the basic code points\\n\\t\\tfor (j = 0; j < inputLength; ++j) {\\n\\t\\t\\tcurrentValue = input[j];\\n\\t\\t\\tif (currentValue < 0x80) {\\n\\t\\t\\t\\toutput.push(stringFromCharCode(currentValue));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\thandledCPCount = basicLength = output.length;\\n\\n\\t\\t// `handledCPCount` is the number of code points that have been handled;\\n\\t\\t// `basicLength` is the number of basic code points.\\n\\n\\t\\t// Finish the basic string - if it is not empty - with a delimiter\\n\\t\\tif (basicLength) {\\n\\t\\t\\toutput.push(delimiter);\\n\\t\\t}\\n\\n\\t\\t// Main encoding loop:\\n\\t\\twhile (handledCPCount < inputLength) {\\n\\n\\t\\t\\t// All non-basic code points < n have been handled already. Find the next\\n\\t\\t\\t// larger one:\\n\\t\\t\\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\\n\\t\\t\\t\\tcurrentValue = input[j];\\n\\t\\t\\t\\tif (currentValue >= n && currentValue < m) {\\n\\t\\t\\t\\t\\tm = currentValue;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Increase `delta` enough to advance the decoder's state to ,\\n\\t\\t\\t// but guard against overflow\\n\\t\\t\\thandledCPCountPlusOne = handledCPCount + 1;\\n\\t\\t\\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\\n\\t\\t\\t\\terror('overflow');\\n\\t\\t\\t}\\n\\n\\t\\t\\tdelta += (m - n) * handledCPCountPlusOne;\\n\\t\\t\\tn = m;\\n\\n\\t\\t\\tfor (j = 0; j < inputLength; ++j) {\\n\\t\\t\\t\\tcurrentValue = input[j];\\n\\n\\t\\t\\t\\tif (currentValue < n && ++delta > maxInt) {\\n\\t\\t\\t\\t\\terror('overflow');\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif (currentValue == n) {\\n\\t\\t\\t\\t\\t// Represent delta as a generalized variable-length integer\\n\\t\\t\\t\\t\\tfor (q = delta, k = base; /* no condition */; k += base) {\\n\\t\\t\\t\\t\\t\\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\\n\\t\\t\\t\\t\\t\\tif (q < t) {\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tqMinusT = q - t;\\n\\t\\t\\t\\t\\t\\tbaseMinusT = base - t;\\n\\t\\t\\t\\t\\t\\toutput.push(\\n\\t\\t\\t\\t\\t\\t\\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\tq = floor(qMinusT / baseMinusT);\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\\n\\t\\t\\t\\t\\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\\n\\t\\t\\t\\t\\tdelta = 0;\\n\\t\\t\\t\\t\\t++handledCPCount;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t++delta;\\n\\t\\t\\t++n;\\n\\n\\t\\t}\\n\\t\\treturn output.join('');\\n\\t}\\n\\n\\t/**\\n\\t * Converts a Punycode string representing a domain name or an email address\\n\\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\\n\\t * it doesn't matter if you call it on a string that has already been\\n\\t * converted to Unicode.\\n\\t * @memberOf punycode\\n\\t * @param {String} input The Punycoded domain name or email address to\\n\\t * convert to Unicode.\\n\\t * @returns {String} The Unicode representation of the given Punycode\\n\\t * string.\\n\\t */\\n\\tfunction toUnicode(input) {\\n\\t\\treturn mapDomain(input, function(string) {\\n\\t\\t\\treturn regexPunycode.test(string)\\n\\t\\t\\t\\t? decode(string.slice(4).toLowerCase())\\n\\t\\t\\t\\t: string;\\n\\t\\t});\\n\\t}\\n\\n\\t/**\\n\\t * Converts a Unicode string representing a domain name or an email address to\\n\\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\\n\\t * i.e. it doesn't matter if you call it with a domain that's already in\\n\\t * ASCII.\\n\\t * @memberOf punycode\\n\\t * @param {String} input The domain name or email address to convert, as a\\n\\t * Unicode string.\\n\\t * @returns {String} The Punycode representation of the given domain name or\\n\\t * email address.\\n\\t */\\n\\tfunction toASCII(input) {\\n\\t\\treturn mapDomain(input, function(string) {\\n\\t\\t\\treturn regexNonASCII.test(string)\\n\\t\\t\\t\\t? 'xn--' + encode(string)\\n\\t\\t\\t\\t: string;\\n\\t\\t});\\n\\t}\\n\\n\\t/*--------------------------------------------------------------------------*/\\n\\n\\t/** Define the public API */\\n\\tpunycode = {\\n\\t\\t/**\\n\\t\\t * A string representing the current Punycode.js version number.\\n\\t\\t * @memberOf punycode\\n\\t\\t * @type String\\n\\t\\t */\\n\\t\\t'version': '1.4.1',\\n\\t\\t/**\\n\\t\\t * An object of methods to convert from JavaScript's internal character\\n\\t\\t * representation (UCS-2) to Unicode code points, and back.\\n\\t\\t * @see \\n\\t\\t * @memberOf punycode\\n\\t\\t * @type Object\\n\\t\\t */\\n\\t\\t'ucs2': {\\n\\t\\t\\t'decode': ucs2decode,\\n\\t\\t\\t'encode': ucs2encode\\n\\t\\t},\\n\\t\\t'decode': decode,\\n\\t\\t'encode': encode,\\n\\t\\t'toASCII': toASCII,\\n\\t\\t'toUnicode': toUnicode\\n\\t};\\n\\n\\t/** Expose `punycode` */\\n\\t// Some AMD build optimizers, like r.js, check for specific condition patterns\\n\\t// like the following:\\n\\tif (\\n\\t\\ttypeof define == 'function' &&\\n\\t\\ttypeof define.amd == 'object' &&\\n\\t\\tdefine.amd\\n\\t) {\\n\\t\\tdefine('punycode', function() {\\n\\t\\t\\treturn punycode;\\n\\t\\t});\\n\\t} else if (freeExports && freeModule) {\\n\\t\\tif (module.exports == freeExports) {\\n\\t\\t\\t// in Node.js, io.js, or RingoJS v0.8.0+\\n\\t\\t\\tfreeModule.exports = punycode;\\n\\t\\t} else {\\n\\t\\t\\t// in Narwhal or RingoJS v0.7.0-\\n\\t\\t\\tfor (key in punycode) {\\n\\t\\t\\t\\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else {\\n\\t\\t// in Rhino or a web browser\\n\\t\\troot.punycode = punycode;\\n\\t}\\n\\n}(this));\\n\",\"module.exports = function(module) {\\n\\tif (!module.webpackPolyfill) {\\n\\t\\tmodule.deprecate = function() {};\\n\\t\\tmodule.paths = [];\\n\\t\\t// module.parent = undefined by default\\n\\t\\tif (!module.children) module.children = [];\\n\\t\\tObject.defineProperty(module, \\\"loaded\\\", {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tget: function() {\\n\\t\\t\\t\\treturn module.l;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tObject.defineProperty(module, \\\"id\\\", {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tget: function() {\\n\\t\\t\\t\\treturn module.i;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tmodule.webpackPolyfill = 1;\\n\\t}\\n\\treturn module;\\n};\\n\",\"// markdown-it default options\\n\\n'use strict';\\n\\n\\nmodule.exports = {\\n options: {\\n html: false, // Enable HTML tags in source\\n xhtmlOut: false, // Use '/' to close single tags (
    )\\n breaks: false, // Convert '\\\\n' in paragraphs into
    \\n langPrefix: 'language-', // CSS language prefix for fenced blocks\\n linkify: false, // autoconvert URL-like texts to links\\n\\n // Enable some language-neutral replacements + quotes beautification\\n typographer: false,\\n\\n // Double + single quotes replacement pairs, when typographer enabled,\\n // and smartquotes on. Could be either a String or an Array.\\n //\\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\\n // and ['«\\\\xA0', '\\\\xA0»', '‹\\\\xA0', '\\\\xA0›'] for French (including nbsp).\\n quotes: '\\\\u201c\\\\u201d\\\\u2018\\\\u2019', /* “”‘’ */\\n\\n // Highlighter function. Should return escaped HTML,\\n // or '' if the source string is not changed and should be escaped externaly.\\n // If result starts with )\\n breaks: false, // Convert '\\\\n' in paragraphs into
    \\n langPrefix: 'language-', // CSS language prefix for fenced blocks\\n linkify: false, // autoconvert URL-like texts to links\\n\\n // Enable some language-neutral replacements + quotes beautification\\n typographer: false,\\n\\n // Double + single quotes replacement pairs, when typographer enabled,\\n // and smartquotes on. Could be either a String or an Array.\\n //\\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\\n // and ['«\\\\xA0', '\\\\xA0»', '‹\\\\xA0', '\\\\xA0›'] for French (including nbsp).\\n quotes: '\\\\u201c\\\\u201d\\\\u2018\\\\u2019', /* “”‘’ */\\n\\n // Highlighter function. Should return escaped HTML,\\n // or '' if the source string is not changed and should be escaped externaly.\\n // If result starts with )\\n breaks: false, // Convert '\\\\n' in paragraphs into
    \\n langPrefix: 'language-', // CSS language prefix for fenced blocks\\n linkify: false, // autoconvert URL-like texts to links\\n\\n // Enable some language-neutral replacements + quotes beautification\\n typographer: false,\\n\\n // Double + single quotes replacement pairs, when typographer enabled,\\n // and smartquotes on. Could be either a String or an Array.\\n //\\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\\n // and ['«\\\\xA0', '\\\\xA0»', '‹\\\\xA0', '\\\\xA0›'] for French (including nbsp).\\n quotes: '\\\\u201c\\\\u201d\\\\u2018\\\\u2019', /* “”‘’ */\\n\\n // Highlighter function. Should return escaped HTML,\\n // or '' if the source string is not changed and should be escaped externaly.\\n // If result starts with = 0; i--) {\\n var from = ranges[i].from(), to = ranges[i].to();\\n if (from.line >= minLine) continue;\\n if (to.line >= minLine) to = Pos(minLine, 0);\\n minLine = from.line;\\n if (mode == null) {\\n if (cm.uncomment(from, to, options)) mode = \\\"un\\\";\\n else { cm.lineComment(from, to, options); mode = \\\"line\\\"; }\\n } else if (mode == \\\"un\\\") {\\n cm.uncomment(from, to, options);\\n } else {\\n cm.lineComment(from, to, options);\\n }\\n }\\n });\\n\\n // Rough heuristic to try and detect lines that are part of multi-line string\\n function probablyInsideString(cm, pos, line) {\\n return /\\\\bstring\\\\b/.test(cm.getTokenTypeAt(Pos(pos.line, 0))) && !/^[\\\\'\\\\\\\"\\\\`]/.test(line)\\n }\\n\\n function getMode(cm, pos) {\\n var mode = cm.getMode()\\n return mode.useInnerComments === false || !mode.innerMode ? mode : cm.getModeAt(pos)\\n }\\n\\n CodeMirror.defineExtension(\\\"lineComment\\\", function(from, to, options) {\\n if (!options) options = noOptions;\\n var self = this, mode = getMode(self, from);\\n var firstLine = self.getLine(from.line);\\n if (firstLine == null || probablyInsideString(self, from, firstLine)) return;\\n\\n var commentString = options.lineComment || mode.lineComment;\\n if (!commentString) {\\n if (options.blockCommentStart || mode.blockCommentStart) {\\n options.fullLines = true;\\n self.blockComment(from, to, options);\\n }\\n return;\\n }\\n\\n var end = Math.min(to.ch != 0 || to.line == from.line ? to.line + 1 : to.line, self.lastLine() + 1);\\n var pad = options.padding == null ? \\\" \\\" : options.padding;\\n var blankLines = options.commentBlankLines || from.line == to.line;\\n\\n self.operation(function() {\\n if (options.indent) {\\n var baseString = null;\\n for (var i = from.line; i < end; ++i) {\\n var line = self.getLine(i);\\n var whitespace = line.slice(0, firstNonWS(line));\\n if (baseString == null || baseString.length > whitespace.length) {\\n baseString = whitespace;\\n }\\n }\\n for (var i = from.line; i < end; ++i) {\\n var line = self.getLine(i), cut = baseString.length;\\n if (!blankLines && !nonWS.test(line)) continue;\\n if (line.slice(0, cut) != baseString) cut = firstNonWS(line);\\n self.replaceRange(baseString + commentString + pad, Pos(i, 0), Pos(i, cut));\\n }\\n } else {\\n for (var i = from.line; i < end; ++i) {\\n if (blankLines || nonWS.test(self.getLine(i)))\\n self.replaceRange(commentString + pad, Pos(i, 0));\\n }\\n }\\n });\\n });\\n\\n CodeMirror.defineExtension(\\\"blockComment\\\", function(from, to, options) {\\n if (!options) options = noOptions;\\n var self = this, mode = getMode(self, from);\\n var startString = options.blockCommentStart || mode.blockCommentStart;\\n var endString = options.blockCommentEnd || mode.blockCommentEnd;\\n if (!startString || !endString) {\\n if ((options.lineComment || mode.lineComment) && options.fullLines != false)\\n self.lineComment(from, to, options);\\n return;\\n }\\n if (/\\\\bcomment\\\\b/.test(self.getTokenTypeAt(Pos(from.line, 0)))) return\\n\\n var end = Math.min(to.line, self.lastLine());\\n if (end != from.line && to.ch == 0 && nonWS.test(self.getLine(end))) --end;\\n\\n var pad = options.padding == null ? \\\" \\\" : options.padding;\\n if (from.line > end) return;\\n\\n self.operation(function() {\\n if (options.fullLines != false) {\\n var lastLineHasText = nonWS.test(self.getLine(end));\\n self.replaceRange(pad + endString, Pos(end));\\n self.replaceRange(startString + pad, Pos(from.line, 0));\\n var lead = options.blockCommentLead || mode.blockCommentLead;\\n if (lead != null) for (var i = from.line + 1; i <= end; ++i)\\n if (i != end || lastLineHasText)\\n self.replaceRange(lead + pad, Pos(i, 0));\\n } else {\\n var atCursor = cmp(self.getCursor(\\\"to\\\"), to) == 0, empty = !self.somethingSelected()\\n self.replaceRange(endString, to);\\n if (atCursor) self.setSelection(empty ? to : self.getCursor(\\\"from\\\"), to)\\n self.replaceRange(startString, from);\\n }\\n });\\n });\\n\\n CodeMirror.defineExtension(\\\"uncomment\\\", function(from, to, options) {\\n if (!options) options = noOptions;\\n var self = this, mode = getMode(self, from);\\n var end = Math.min(to.ch != 0 || to.line == from.line ? to.line : to.line - 1, self.lastLine()), start = Math.min(from.line, end);\\n\\n // Try finding line comments\\n var lineString = options.lineComment || mode.lineComment, lines = [];\\n var pad = options.padding == null ? \\\" \\\" : options.padding, didSomething;\\n lineComment: {\\n if (!lineString) break lineComment;\\n for (var i = start; i <= end; ++i) {\\n var line = self.getLine(i);\\n var found = line.indexOf(lineString);\\n if (found > -1 && !/comment/.test(self.getTokenTypeAt(Pos(i, found + 1)))) found = -1;\\n if (found == -1 && nonWS.test(line)) break lineComment;\\n if (found > -1 && nonWS.test(line.slice(0, found))) break lineComment;\\n lines.push(line);\\n }\\n self.operation(function() {\\n for (var i = start; i <= end; ++i) {\\n var line = lines[i - start];\\n var pos = line.indexOf(lineString), endPos = pos + lineString.length;\\n if (pos < 0) continue;\\n if (line.slice(endPos, endPos + pad.length) == pad) endPos += pad.length;\\n didSomething = true;\\n self.replaceRange(\\\"\\\", Pos(i, pos), Pos(i, endPos));\\n }\\n });\\n if (didSomething) return true;\\n }\\n\\n // Try block comments\\n var startString = options.blockCommentStart || mode.blockCommentStart;\\n var endString = options.blockCommentEnd || mode.blockCommentEnd;\\n if (!startString || !endString) return false;\\n var lead = options.blockCommentLead || mode.blockCommentLead;\\n var startLine = self.getLine(start), open = startLine.indexOf(startString)\\n if (open == -1) return false\\n var endLine = end == start ? startLine : self.getLine(end)\\n var close = endLine.indexOf(endString, end == start ? open + startString.length : 0);\\n var insideStart = Pos(start, open + 1), insideEnd = Pos(end, close + 1)\\n if (close == -1 ||\\n !/comment/.test(self.getTokenTypeAt(insideStart)) ||\\n !/comment/.test(self.getTokenTypeAt(insideEnd)) ||\\n self.getRange(insideStart, insideEnd, \\\"\\\\n\\\").indexOf(endString) > -1)\\n return false;\\n\\n // Avoid killing block comments completely outside the selection.\\n // Positions of the last startString before the start of the selection, and the first endString after it.\\n var lastStart = startLine.lastIndexOf(startString, from.ch);\\n var firstEnd = lastStart == -1 ? -1 : startLine.slice(0, from.ch).indexOf(endString, lastStart + startString.length);\\n if (lastStart != -1 && firstEnd != -1 && firstEnd + endString.length != from.ch) return false;\\n // Positions of the first endString after the end of the selection, and the last startString before it.\\n firstEnd = endLine.indexOf(endString, to.ch);\\n var almostLastStart = endLine.slice(to.ch).lastIndexOf(startString, firstEnd - to.ch);\\n lastStart = (firstEnd == -1 || almostLastStart == -1) ? -1 : to.ch + almostLastStart;\\n if (firstEnd != -1 && lastStart != -1 && lastStart != to.ch) return false;\\n\\n self.operation(function() {\\n self.replaceRange(\\\"\\\", Pos(end, close - (pad && endLine.slice(close - pad.length, close) == pad ? pad.length : 0)),\\n Pos(end, close + endString.length));\\n var openEnd = open + startString.length;\\n if (pad && startLine.slice(openEnd, openEnd + pad.length) == pad) openEnd += pad.length;\\n self.replaceRange(\\\"\\\", Pos(start, open), Pos(start, openEnd));\\n if (lead) for (var i = start + 1; i <= end; ++i) {\\n var line = self.getLine(i), found = line.indexOf(lead);\\n if (found == -1 || nonWS.test(line.slice(0, found))) continue;\\n var foundEnd = found + lead.length;\\n if (pad && line.slice(foundEnd, foundEnd + pad.length) == pad) foundEnd += pad.length;\\n self.replaceRange(\\\"\\\", Pos(i, found), Pos(i, foundEnd));\\n }\\n });\\n return true;\\n });\\n});\\n\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n \\\"use strict\\\";\\n\\n function doFold(cm, pos, options, force) {\\n if (options && options.call) {\\n var finder = options;\\n options = null;\\n } else {\\n var finder = getOption(cm, options, \\\"rangeFinder\\\");\\n }\\n if (typeof pos == \\\"number\\\") pos = CodeMirror.Pos(pos, 0);\\n var minSize = getOption(cm, options, \\\"minFoldSize\\\");\\n\\n function getRange(allowFolded) {\\n var range = finder(cm, pos);\\n if (!range || range.to.line - range.from.line < minSize) return null;\\n var marks = cm.findMarksAt(range.from);\\n for (var i = 0; i < marks.length; ++i) {\\n if (marks[i].__isFold && force !== \\\"fold\\\") {\\n if (!allowFolded) return null;\\n range.cleared = true;\\n marks[i].clear();\\n }\\n }\\n return range;\\n }\\n\\n var range = getRange(true);\\n if (getOption(cm, options, \\\"scanUp\\\")) while (!range && pos.line > cm.firstLine()) {\\n pos = CodeMirror.Pos(pos.line - 1, 0);\\n range = getRange(false);\\n }\\n if (!range || range.cleared || force === \\\"unfold\\\") return;\\n\\n var myWidget = makeWidget(cm, options, range);\\n CodeMirror.on(myWidget, \\\"mousedown\\\", function(e) {\\n myRange.clear();\\n CodeMirror.e_preventDefault(e);\\n });\\n var myRange = cm.markText(range.from, range.to, {\\n replacedWith: myWidget,\\n clearOnEnter: getOption(cm, options, \\\"clearOnEnter\\\"),\\n __isFold: true\\n });\\n myRange.on(\\\"clear\\\", function(from, to) {\\n CodeMirror.signal(cm, \\\"unfold\\\", cm, from, to);\\n });\\n CodeMirror.signal(cm, \\\"fold\\\", cm, range.from, range.to);\\n }\\n\\n function makeWidget(cm, options, range) {\\n var widget = getOption(cm, options, \\\"widget\\\");\\n\\n if (typeof widget == \\\"function\\\") {\\n widget = widget(range.from, range.to);\\n }\\n\\n if (typeof widget == \\\"string\\\") {\\n var text = document.createTextNode(widget);\\n widget = document.createElement(\\\"span\\\");\\n widget.appendChild(text);\\n widget.className = \\\"CodeMirror-foldmarker\\\";\\n } else if (widget) {\\n widget = widget.cloneNode(true)\\n }\\n return widget;\\n }\\n\\n // Clumsy backwards-compatible interface\\n CodeMirror.newFoldFunction = function(rangeFinder, widget) {\\n return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); };\\n };\\n\\n // New-style interface\\n CodeMirror.defineExtension(\\\"foldCode\\\", function(pos, options, force) {\\n doFold(this, pos, options, force);\\n });\\n\\n CodeMirror.defineExtension(\\\"isFolded\\\", function(pos) {\\n var marks = this.findMarksAt(pos);\\n for (var i = 0; i < marks.length; ++i)\\n if (marks[i].__isFold) return true;\\n });\\n\\n CodeMirror.commands.toggleFold = function(cm) {\\n cm.foldCode(cm.getCursor());\\n };\\n CodeMirror.commands.fold = function(cm) {\\n cm.foldCode(cm.getCursor(), null, \\\"fold\\\");\\n };\\n CodeMirror.commands.unfold = function(cm) {\\n cm.foldCode(cm.getCursor(), null, \\\"unfold\\\");\\n };\\n CodeMirror.commands.foldAll = function(cm) {\\n cm.operation(function() {\\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\\n cm.foldCode(CodeMirror.Pos(i, 0), null, \\\"fold\\\");\\n });\\n };\\n CodeMirror.commands.unfoldAll = function(cm) {\\n cm.operation(function() {\\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\\n cm.foldCode(CodeMirror.Pos(i, 0), null, \\\"unfold\\\");\\n });\\n };\\n\\n CodeMirror.registerHelper(\\\"fold\\\", \\\"combine\\\", function() {\\n var funcs = Array.prototype.slice.call(arguments, 0);\\n return function(cm, start) {\\n for (var i = 0; i < funcs.length; ++i) {\\n var found = funcs[i](cm, start);\\n if (found) return found;\\n }\\n };\\n });\\n\\n CodeMirror.registerHelper(\\\"fold\\\", \\\"auto\\\", function(cm, start) {\\n var helpers = cm.getHelpers(start, \\\"fold\\\");\\n for (var i = 0; i < helpers.length; i++) {\\n var cur = helpers[i](cm, start);\\n if (cur) return cur;\\n }\\n });\\n\\n var defaultOptions = {\\n rangeFinder: CodeMirror.fold.auto,\\n widget: \\\"\\\\u2194\\\",\\n minFoldSize: 0,\\n scanUp: false,\\n clearOnEnter: true\\n };\\n\\n CodeMirror.defineOption(\\\"foldOptions\\\", null);\\n\\n function getOption(cm, options, name) {\\n if (options && options[name] !== undefined)\\n return options[name];\\n var editorOptions = cm.options.foldOptions;\\n if (editorOptions && editorOptions[name] !== undefined)\\n return editorOptions[name];\\n return defaultOptions[name];\\n }\\n\\n CodeMirror.defineExtension(\\\"foldOption\\\", function(options, name) {\\n return getOption(this, options, name);\\n });\\n});\\n\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nrequire(\\\"codemirror/addon/hint/show-hint\\\");\\nvar graphql_language_service_interface_1 = require(\\\"graphql-language-service-interface\\\");\\nvar graphql_language_service_utils_1 = require(\\\"graphql-language-service-utils\\\");\\ncodemirror_1.default.registerHelper('hint', 'graphql', function (editor, options) {\\n var schema = options.schema;\\n if (!schema) {\\n return;\\n }\\n var cur = editor.getCursor();\\n var token = editor.getTokenAt(cur);\\n var tokenStart = token.type !== null && /\\\"|\\\\w/.test(token.string[0])\\n ? token.start\\n : token.end;\\n var position = new graphql_language_service_utils_1.Position(cur.line, tokenStart);\\n var rawResults = graphql_language_service_interface_1.getAutocompleteSuggestions(schema, editor.getValue(), position, token, options.externalFragments);\\n var results = {\\n list: rawResults.map(function (item) { return ({\\n text: item.label,\\n type: item.type,\\n description: item.documentation,\\n isDeprecated: item.isDeprecated,\\n deprecationReason: item.deprecationReason,\\n }); }),\\n from: { line: cur.line, ch: tokenStart },\\n to: { line: cur.line, ch: token.end },\\n };\\n if (results && results.list && results.list.length > 0) {\\n results.from = codemirror_1.default.Pos(results.from.line, results.from.ch);\\n results.to = codemirror_1.default.Pos(results.to.line, results.to.ch);\\n codemirror_1.default.signal(editor, 'hasCompletion', editor, results, token);\\n }\\n return results;\\n});\\n//# sourceMappingURL=hint.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar graphql_language_service_interface_1 = require(\\\"graphql-language-service-interface\\\");\\nvar SEVERITY = ['error', 'warning', 'information', 'hint'];\\nvar TYPE = {\\n 'GraphQL: Validation': 'validation',\\n 'GraphQL: Deprecation': 'deprecation',\\n 'GraphQL: Syntax': 'syntax',\\n};\\ncodemirror_1.default.registerHelper('lint', 'graphql', function (text, options) {\\n var schema = options.schema;\\n var rawResults = graphql_language_service_interface_1.getDiagnostics(text, schema, options.validationRules, undefined, options.externalFragments);\\n var results = rawResults.map(function (error) { return ({\\n message: error.message,\\n severity: error.severity ? SEVERITY[error.severity - 1] : SEVERITY[0],\\n type: error.source ? TYPE[error.source] : undefined,\\n from: codemirror_1.default.Pos(error.range.start.line, error.range.start.character),\\n to: codemirror_1.default.Pos(error.range.end.line, error.range.end.character),\\n }); });\\n return results;\\n});\\n//# sourceMappingURL=lint.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar graphql_1 = require(\\\"graphql\\\");\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar getTypeInfo_1 = __importDefault(require(\\\"./utils/getTypeInfo\\\"));\\nvar SchemaReference_1 = require(\\\"./utils/SchemaReference\\\");\\nrequire(\\\"./utils/info-addon\\\");\\ncodemirror_1.default.registerHelper('info', 'graphql', function (token, options) {\\n if (!options.schema || !token.state) {\\n return;\\n }\\n var state = token.state;\\n var kind = state.kind;\\n var step = state.step;\\n var typeInfo = getTypeInfo_1.default(options.schema, token.state);\\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\\n var into = document.createElement('div');\\n renderField(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.fieldDef);\\n return into;\\n }\\n else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\\n var into = document.createElement('div');\\n renderDirective(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.directiveDef);\\n return into;\\n }\\n else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\\n var into = document.createElement('div');\\n renderArg(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.argDef);\\n return into;\\n }\\n else if (kind === 'EnumValue' &&\\n typeInfo.enumValue &&\\n typeInfo.enumValue.description) {\\n var into = document.createElement('div');\\n renderEnumValue(into, typeInfo, options);\\n renderDescription(into, options, typeInfo.enumValue);\\n return into;\\n }\\n else if (kind === 'NamedType' &&\\n typeInfo.type &&\\n typeInfo.type.description) {\\n var into = document.createElement('div');\\n renderType(into, typeInfo, options, typeInfo.type);\\n renderDescription(into, options, typeInfo.type);\\n return into;\\n }\\n});\\nfunction renderField(into, typeInfo, options) {\\n renderQualifiedField(into, typeInfo, options);\\n renderTypeAnnotation(into, typeInfo, options, typeInfo.type);\\n}\\nfunction renderQualifiedField(into, typeInfo, options) {\\n var _a;\\n var fieldName = ((_a = typeInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.name) || '';\\n if (fieldName.slice(0, 2) !== '__') {\\n renderType(into, typeInfo, options, typeInfo.parentType);\\n text(into, '.');\\n }\\n text(into, fieldName, 'field-name', options, SchemaReference_1.getFieldReference(typeInfo));\\n}\\nfunction renderDirective(into, typeInfo, options) {\\n var _a;\\n var name = '@' + (((_a = typeInfo.directiveDef) === null || _a === void 0 ? void 0 : _a.name) || '');\\n text(into, name, 'directive-name', options, SchemaReference_1.getDirectiveReference(typeInfo));\\n}\\nfunction renderArg(into, typeInfo, options) {\\n var _a;\\n if (typeInfo.directiveDef) {\\n renderDirective(into, typeInfo, options);\\n }\\n else if (typeInfo.fieldDef) {\\n renderQualifiedField(into, typeInfo, options);\\n }\\n var name = ((_a = typeInfo.argDef) === null || _a === void 0 ? void 0 : _a.name) || '';\\n text(into, '(');\\n text(into, name, 'arg-name', options, SchemaReference_1.getArgumentReference(typeInfo));\\n renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);\\n text(into, ')');\\n}\\nfunction renderTypeAnnotation(into, typeInfo, options, t) {\\n text(into, ': ');\\n renderType(into, typeInfo, options, t);\\n}\\nfunction renderEnumValue(into, typeInfo, options) {\\n var _a;\\n var name = ((_a = typeInfo.enumValue) === null || _a === void 0 ? void 0 : _a.name) || '';\\n renderType(into, typeInfo, options, typeInfo.inputType);\\n text(into, '.');\\n text(into, name, 'enum-value', options, SchemaReference_1.getEnumValueReference(typeInfo));\\n}\\nfunction renderType(into, typeInfo, options, t) {\\n if (t instanceof graphql_1.GraphQLNonNull) {\\n renderType(into, typeInfo, options, t.ofType);\\n text(into, '!');\\n }\\n else if (t instanceof graphql_1.GraphQLList) {\\n text(into, '[');\\n renderType(into, typeInfo, options, t.ofType);\\n text(into, ']');\\n }\\n else {\\n text(into, (t === null || t === void 0 ? void 0 : t.name) || '', 'type-name', options, SchemaReference_1.getTypeReference(typeInfo, t));\\n }\\n}\\nfunction renderDescription(into, options, def) {\\n var description = def.description;\\n if (description) {\\n var descriptionDiv = document.createElement('div');\\n descriptionDiv.className = 'info-description';\\n if (options.renderDescription) {\\n descriptionDiv.innerHTML = options.renderDescription(description);\\n }\\n else {\\n descriptionDiv.appendChild(document.createTextNode(description));\\n }\\n into.appendChild(descriptionDiv);\\n }\\n renderDeprecation(into, options, def);\\n}\\nfunction renderDeprecation(into, options, def) {\\n var reason = def.deprecationReason;\\n if (reason) {\\n var deprecationDiv = document.createElement('div');\\n deprecationDiv.className = 'info-deprecation';\\n if (options.renderDescription) {\\n deprecationDiv.innerHTML = options.renderDescription(reason);\\n }\\n else {\\n deprecationDiv.appendChild(document.createTextNode(reason));\\n }\\n var label = document.createElement('span');\\n label.className = 'info-deprecation-label';\\n label.appendChild(document.createTextNode('Deprecated: '));\\n deprecationDiv.insertBefore(label, deprecationDiv.firstChild);\\n into.appendChild(deprecationDiv);\\n }\\n}\\nfunction text(into, content, className, options, ref) {\\n if (className === void 0) { className = ''; }\\n if (options === void 0) { options = { onClick: null }; }\\n if (ref === void 0) { ref = null; }\\n if (className) {\\n var onClick_1 = options.onClick;\\n var node = void 0;\\n if (onClick_1) {\\n node = document.createElement('a');\\n node.href = 'javascript:void 0';\\n node.addEventListener('click', function (e) {\\n onClick_1(ref, e);\\n });\\n }\\n else {\\n node = document.createElement('span');\\n }\\n node.className = className;\\n node.appendChild(document.createTextNode(content));\\n into.appendChild(node);\\n }\\n else {\\n into.appendChild(document.createTextNode(content));\\n }\\n}\\n//# sourceMappingURL=info.js.map\",\"import { Kind } from \\\"../language/kinds.mjs\\\";\\n/**\\n * Returns an operation AST given a document AST and optionally an operation\\n * name. If a name is not provided, an operation is only returned if only one is\\n * provided in the document.\\n */\\n\\nexport function getOperationAST(documentAST, operationName) {\\n var operation = null;\\n\\n for (var _i2 = 0, _documentAST$definiti2 = documentAST.definitions; _i2 < _documentAST$definiti2.length; _i2++) {\\n var definition = _documentAST$definiti2[_i2];\\n\\n if (definition.kind === Kind.OPERATION_DEFINITION) {\\n var _definition$name;\\n\\n if (operationName == null) {\\n // If no operation name was provided, only return an Operation if there\\n // is one defined in the document. Upon encountering the second, return\\n // null.\\n if (operation) {\\n return null;\\n }\\n\\n operation = definition;\\n } else if (((_definition$name = definition.name) === null || _definition$name === void 0 ? void 0 : _definition$name.value) === operationName) {\\n return definition;\\n }\\n }\\n }\\n\\n return operation;\\n}\\n\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar getTypeInfo_1 = __importDefault(require(\\\"./utils/getTypeInfo\\\"));\\nvar SchemaReference_1 = require(\\\"./utils/SchemaReference\\\");\\nrequire(\\\"./utils/jump-addon\\\");\\ncodemirror_1.default.registerHelper('jump', 'graphql', function (token, options) {\\n if (!options.schema || !options.onClick || !token.state) {\\n return;\\n }\\n var state = token.state;\\n var kind = state.kind;\\n var step = state.step;\\n var typeInfo = getTypeInfo_1.default(options.schema, state);\\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\\n return SchemaReference_1.getFieldReference(typeInfo);\\n }\\n else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\\n return SchemaReference_1.getDirectiveReference(typeInfo);\\n }\\n else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\\n return SchemaReference_1.getArgumentReference(typeInfo);\\n }\\n else if (kind === 'EnumValue' && typeInfo.enumValue) {\\n return SchemaReference_1.getEnumValueReference(typeInfo);\\n }\\n else if (kind === 'NamedType' && typeInfo.type) {\\n return SchemaReference_1.getTypeReference(typeInfo);\\n }\\n});\\n//# sourceMappingURL=jump.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\ncodemirror_1.default.defineOption('jump', false, function (cm, options, old) {\\n if (old && old !== codemirror_1.default.Init) {\\n var oldOnMouseOver = cm.state.jump.onMouseOver;\\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\\n var oldOnMouseOut = cm.state.jump.onMouseOut;\\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);\\n codemirror_1.default.off(document, 'keydown', cm.state.jump.onKeyDown);\\n delete cm.state.jump;\\n }\\n if (options) {\\n var state = (cm.state.jump = {\\n options: options,\\n onMouseOver: onMouseOver.bind(null, cm),\\n onMouseOut: onMouseOut.bind(null, cm),\\n onKeyDown: onKeyDown.bind(null, cm),\\n });\\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);\\n codemirror_1.default.on(document, 'keydown', state.onKeyDown);\\n }\\n});\\nfunction onMouseOver(cm, event) {\\n var target = event.target || event.srcElement;\\n if (!(target instanceof HTMLElement)) {\\n return;\\n }\\n if ((target === null || target === void 0 ? void 0 : target.nodeName) !== 'SPAN') {\\n return;\\n }\\n var box = target.getBoundingClientRect();\\n var cursor = {\\n left: (box.left + box.right) / 2,\\n top: (box.top + box.bottom) / 2,\\n };\\n cm.state.jump.cursor = cursor;\\n if (cm.state.jump.isHoldingModifier) {\\n enableJumpMode(cm);\\n }\\n}\\nfunction onMouseOut(cm) {\\n if (!cm.state.jump.isHoldingModifier && cm.state.jump.cursor) {\\n cm.state.jump.cursor = null;\\n return;\\n }\\n if (cm.state.jump.isHoldingModifier && cm.state.jump.marker) {\\n disableJumpMode(cm);\\n }\\n}\\nfunction onKeyDown(cm, event) {\\n if (cm.state.jump.isHoldingModifier || !isJumpModifier(event.key)) {\\n return;\\n }\\n cm.state.jump.isHoldingModifier = true;\\n if (cm.state.jump.cursor) {\\n enableJumpMode(cm);\\n }\\n var onKeyUp = function (upEvent) {\\n if (upEvent.code !== event.code) {\\n return;\\n }\\n cm.state.jump.isHoldingModifier = false;\\n if (cm.state.jump.marker) {\\n disableJumpMode(cm);\\n }\\n codemirror_1.default.off(document, 'keyup', onKeyUp);\\n codemirror_1.default.off(document, 'click', onClick);\\n cm.off('mousedown', onMouseDown);\\n };\\n var onClick = function (clickEvent) {\\n var destination = cm.state.jump.destination;\\n if (destination) {\\n cm.state.jump.options.onClick(destination, clickEvent);\\n }\\n };\\n var onMouseDown = function (_, downEvent) {\\n if (cm.state.jump.destination) {\\n downEvent.codemirrorIgnore = true;\\n }\\n };\\n codemirror_1.default.on(document, 'keyup', onKeyUp);\\n codemirror_1.default.on(document, 'click', onClick);\\n cm.on('mousedown', onMouseDown);\\n}\\nvar isMac = typeof navigator !== 'undefined' &&\\n navigator &&\\n navigator.appVersion.indexOf('Mac') !== -1;\\nfunction isJumpModifier(key) {\\n return key === (isMac ? 'Meta' : 'Control');\\n}\\nfunction enableJumpMode(cm) {\\n if (cm.state.jump.marker) {\\n return;\\n }\\n var cursor = cm.state.jump.cursor;\\n var pos = cm.coordsChar(cursor);\\n var token = cm.getTokenAt(pos, true);\\n var options = cm.state.jump.options;\\n var getDestination = options.getDestination || cm.getHelper(pos, 'jump');\\n if (getDestination) {\\n var destination = getDestination(token, options, cm);\\n if (destination) {\\n var marker = cm.markText({ line: pos.line, ch: token.start }, { line: pos.line, ch: token.end }, { className: 'CodeMirror-jump-token' });\\n cm.state.jump.marker = marker;\\n cm.state.jump.destination = destination;\\n }\\n }\\n}\\nfunction disableJumpMode(cm) {\\n var marker = cm.state.jump.marker;\\n cm.state.jump.marker = null;\\n cm.state.jump.destination = null;\\n marker.clear();\\n}\\n//# sourceMappingURL=jump-addon.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar graphql_language_service_parser_1 = require(\\\"graphql-language-service-parser\\\");\\ncodemirror_1.default.defineMode('graphql', function (config) {\\n var parser = graphql_language_service_parser_1.onlineParser({\\n eatWhitespace: function (stream) { return stream.eatWhile(graphql_language_service_parser_1.isIgnored); },\\n lexRules: graphql_language_service_parser_1.LexRules,\\n parseRules: graphql_language_service_parser_1.ParseRules,\\n editorConfig: { tabSize: config.tabSize },\\n });\\n return {\\n config: config,\\n startState: parser.startState,\\n token: parser.token,\\n indent: indent,\\n electricInput: /^\\\\s*[})\\\\]]/,\\n fold: 'brace',\\n lineComment: '#',\\n closeBrackets: {\\n pairs: '()[]{}\\\"\\\"',\\n explode: '()[]{}',\\n },\\n };\\n});\\nfunction indent(state, textAfter) {\\n var _a, _b;\\n var levels = state.levels;\\n var level = !levels || levels.length === 0\\n ? state.indentLevel\\n : levels[levels.length - 1] -\\n (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);\\n return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);\\n}\\n//# sourceMappingURL=mode.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar graphql_1 = require(\\\"graphql\\\");\\nvar forEachState_1 = __importDefault(require(\\\"../utils/forEachState\\\"));\\nvar hintList_1 = __importDefault(require(\\\"../utils/hintList\\\"));\\ncodemirror_1.default.registerHelper('hint', 'graphql-variables', function (editor, options) {\\n var cur = editor.getCursor();\\n var token = editor.getTokenAt(cur);\\n var results = getVariablesHint(cur, token, options);\\n if (results && results.list && results.list.length > 0) {\\n results.from = codemirror_1.default.Pos(results.from.line, results.from.ch);\\n results.to = codemirror_1.default.Pos(results.to.line, results.to.ch);\\n codemirror_1.default.signal(editor, 'hasCompletion', editor, results, token);\\n }\\n return results;\\n});\\nfunction getVariablesHint(cur, token, options) {\\n var state = token.state.kind === 'Invalid' ? token.state.prevState : token.state;\\n var kind = state.kind;\\n var step = state.step;\\n if (kind === 'Document' && step === 0) {\\n return hintList_1.default(cur, token, [{ text: '{' }]);\\n }\\n var variableToType = options.variableToType;\\n if (!variableToType) {\\n return;\\n }\\n var typeInfo = getTypeInfo(variableToType, token.state);\\n if (kind === 'Document' || (kind === 'Variable' && step === 0)) {\\n var variableNames = Object.keys(variableToType);\\n return hintList_1.default(cur, token, variableNames.map(function (name) { return ({\\n text: \\\"\\\\\\\"\\\" + name + \\\"\\\\\\\": \\\",\\n type: variableToType[name],\\n }); }));\\n }\\n if (kind === 'ObjectValue' || (kind === 'ObjectField' && step === 0)) {\\n if (typeInfo.fields) {\\n var inputFields = Object.keys(typeInfo.fields).map(function (fieldName) { return typeInfo.fields[fieldName]; });\\n return hintList_1.default(cur, token, inputFields.map(function (field) { return ({\\n text: \\\"\\\\\\\"\\\" + field.name + \\\"\\\\\\\": \\\",\\n type: field.type,\\n description: field.description,\\n }); }));\\n }\\n }\\n if (kind === 'StringValue' ||\\n kind === 'NumberValue' ||\\n kind === 'BooleanValue' ||\\n kind === 'NullValue' ||\\n (kind === 'ListValue' && step === 1) ||\\n (kind === 'ObjectField' && step === 2) ||\\n (kind === 'Variable' && step === 2)) {\\n var namedInputType_1 = typeInfo.type\\n ? graphql_1.getNamedType(typeInfo.type)\\n : undefined;\\n if (namedInputType_1 instanceof graphql_1.GraphQLInputObjectType) {\\n return hintList_1.default(cur, token, [{ text: '{' }]);\\n }\\n else if (namedInputType_1 instanceof graphql_1.GraphQLEnumType) {\\n var values = namedInputType_1.getValues();\\n return hintList_1.default(cur, token, values.map(function (value) { return ({\\n text: \\\"\\\\\\\"\\\" + value.name + \\\"\\\\\\\"\\\",\\n type: namedInputType_1,\\n description: value.description,\\n }); }));\\n }\\n else if (namedInputType_1 === graphql_1.GraphQLBoolean) {\\n return hintList_1.default(cur, token, [\\n { text: 'true', type: graphql_1.GraphQLBoolean, description: 'Not false.' },\\n { text: 'false', type: graphql_1.GraphQLBoolean, description: 'Not true.' },\\n ]);\\n }\\n }\\n}\\nfunction getTypeInfo(variableToType, tokenState) {\\n var info = {\\n type: null,\\n fields: null,\\n };\\n forEachState_1.default(tokenState, function (state) {\\n if (state.kind === 'Variable') {\\n info.type = variableToType[state.name];\\n }\\n else if (state.kind === 'ListValue') {\\n var nullableType = info.type ? graphql_1.getNullableType(info.type) : undefined;\\n info.type =\\n nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;\\n }\\n else if (state.kind === 'ObjectValue') {\\n var objectType = info.type ? graphql_1.getNamedType(info.type) : undefined;\\n info.fields =\\n objectType instanceof graphql_1.GraphQLInputObjectType\\n ? objectType.getFields()\\n : null;\\n }\\n else if (state.kind === 'ObjectField') {\\n var objectField = state.name && info.fields ? info.fields[state.name] : null;\\n info.type = objectField && objectField.type;\\n }\\n });\\n return info;\\n}\\n//# sourceMappingURL=hint.js.map\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nfunction hintList(cursor, token, list) {\\n var hints = filterAndSortList(list, normalizeText(token.string));\\n if (!hints) {\\n return;\\n }\\n var tokenStart = token.type !== null && /\\\"|\\\\w/.test(token.string[0])\\n ? token.start\\n : token.end;\\n return {\\n list: hints,\\n from: { line: cursor.line, ch: tokenStart },\\n to: { line: cursor.line, ch: token.end },\\n };\\n}\\nexports.default = hintList;\\nfunction filterAndSortList(list, text) {\\n if (!text) {\\n return filterNonEmpty(list, function (entry) { return !entry.isDeprecated; });\\n }\\n var byProximity = list.map(function (entry) { return ({\\n proximity: getProximity(normalizeText(entry.text), text),\\n entry: entry,\\n }); });\\n var conciseMatches = filterNonEmpty(filterNonEmpty(byProximity, function (pair) { return pair.proximity <= 2; }), function (pair) { return !pair.entry.isDeprecated; });\\n var sortedMatches = conciseMatches.sort(function (a, b) {\\n return (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\\n a.proximity - b.proximity ||\\n a.entry.text.length - b.entry.text.length;\\n });\\n return sortedMatches.map(function (pair) { return pair.entry; });\\n}\\nfunction filterNonEmpty(array, predicate) {\\n var filtered = array.filter(predicate);\\n return filtered.length === 0 ? array : filtered;\\n}\\nfunction normalizeText(text) {\\n return text.toLowerCase().replace(/\\\\W/g, '');\\n}\\nfunction getProximity(suggestion, text) {\\n var proximity = lexicalDistance(text, suggestion);\\n if (suggestion.length > text.length) {\\n proximity -= suggestion.length - text.length - 1;\\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\\n }\\n return proximity;\\n}\\nfunction lexicalDistance(a, b) {\\n var i;\\n var j;\\n var d = [];\\n var aLength = a.length;\\n var bLength = b.length;\\n for (i = 0; i <= aLength; i++) {\\n d[i] = [i];\\n }\\n for (j = 1; j <= bLength; j++) {\\n d[0][j] = j;\\n }\\n for (i = 1; i <= aLength; i++) {\\n for (j = 1; j <= bLength; j++) {\\n var cost = a[i - 1] === b[j - 1] ? 0 : 1;\\n d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);\\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\\n }\\n }\\n }\\n return d[aLength][bLength];\\n}\\n//# sourceMappingURL=hintList.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar graphql_1 = require(\\\"graphql\\\");\\nvar jsonParse_1 = __importDefault(require(\\\"../utils/jsonParse\\\"));\\ncodemirror_1.default.registerHelper('lint', 'graphql-variables', function (text, options, editor) {\\n if (!text) {\\n return [];\\n }\\n var ast;\\n try {\\n ast = jsonParse_1.default(text);\\n }\\n catch (syntaxError) {\\n if (syntaxError.stack) {\\n throw syntaxError;\\n }\\n return [lintError(editor, syntaxError, syntaxError.message)];\\n }\\n var variableToType = options.variableToType;\\n if (!variableToType) {\\n return [];\\n }\\n return validateVariables(editor, variableToType, ast);\\n});\\nfunction validateVariables(editor, variableToType, variablesAST) {\\n var errors = [];\\n variablesAST.members.forEach(function (member) {\\n var _a;\\n if (member) {\\n var variableName = (_a = member.key) === null || _a === void 0 ? void 0 : _a.value;\\n var type = variableToType[variableName];\\n if (!type) {\\n errors.push(lintError(editor, member.key, \\\"Variable \\\\\\\"$\\\" + variableName + \\\"\\\\\\\" does not appear in any GraphQL query.\\\"));\\n }\\n else {\\n validateValue(type, member.value).forEach(function (_a) {\\n var node = _a[0], message = _a[1];\\n errors.push(lintError(editor, node, message));\\n });\\n }\\n }\\n });\\n return errors;\\n}\\nfunction validateValue(type, valueAST) {\\n if (!type || !valueAST) {\\n return [];\\n }\\n if (type instanceof graphql_1.GraphQLNonNull) {\\n if (valueAST.kind === 'Null') {\\n return [[valueAST, \\\"Type \\\\\\\"\\\" + type + \\\"\\\\\\\" is non-nullable and cannot be null.\\\"]];\\n }\\n return validateValue(type.ofType, valueAST);\\n }\\n if (valueAST.kind === 'Null') {\\n return [];\\n }\\n if (type instanceof graphql_1.GraphQLList) {\\n var itemType_1 = type.ofType;\\n if (valueAST.kind === 'Array') {\\n var values = valueAST.values || [];\\n return mapCat(values, function (item) { return validateValue(itemType_1, item); });\\n }\\n return validateValue(itemType_1, valueAST);\\n }\\n if (type instanceof graphql_1.GraphQLInputObjectType) {\\n if (valueAST.kind !== 'Object') {\\n return [[valueAST, \\\"Type \\\\\\\"\\\" + type + \\\"\\\\\\\" must be an Object.\\\"]];\\n }\\n var providedFields_1 = Object.create(null);\\n var fieldErrors_1 = mapCat(valueAST.members, function (member) {\\n var _a;\\n var fieldName = (_a = member === null || member === void 0 ? void 0 : member.key) === null || _a === void 0 ? void 0 : _a.value;\\n providedFields_1[fieldName] = true;\\n var inputField = type.getFields()[fieldName];\\n if (!inputField) {\\n return [\\n [\\n member.key,\\n \\\"Type \\\\\\\"\\\" + type + \\\"\\\\\\\" does not have a field \\\\\\\"\\\" + fieldName + \\\"\\\\\\\".\\\",\\n ],\\n ];\\n }\\n var fieldType = inputField ? inputField.type : undefined;\\n return validateValue(fieldType, member.value);\\n });\\n Object.keys(type.getFields()).forEach(function (fieldName) {\\n if (!providedFields_1[fieldName]) {\\n var fieldType = type.getFields()[fieldName].type;\\n if (fieldType instanceof graphql_1.GraphQLNonNull) {\\n fieldErrors_1.push([\\n valueAST,\\n \\\"Object of type \\\\\\\"\\\" + type + \\\"\\\\\\\" is missing required field \\\\\\\"\\\" + fieldName + \\\"\\\\\\\".\\\",\\n ]);\\n }\\n }\\n });\\n return fieldErrors_1;\\n }\\n if ((type.name === 'Boolean' && valueAST.kind !== 'Boolean') ||\\n (type.name === 'String' && valueAST.kind !== 'String') ||\\n (type.name === 'ID' &&\\n valueAST.kind !== 'Number' &&\\n valueAST.kind !== 'String') ||\\n (type.name === 'Float' && valueAST.kind !== 'Number') ||\\n (type.name === 'Int' &&\\n (valueAST.kind !== 'Number' || (valueAST.value | 0) !== valueAST.value))) {\\n return [[valueAST, \\\"Expected value of type \\\\\\\"\\\" + type + \\\"\\\\\\\".\\\"]];\\n }\\n if (type instanceof graphql_1.GraphQLEnumType || type instanceof graphql_1.GraphQLScalarType) {\\n if ((valueAST.kind !== 'String' &&\\n valueAST.kind !== 'Number' &&\\n valueAST.kind !== 'Boolean' &&\\n valueAST.kind !== 'Null') ||\\n isNullish(type.parseValue(valueAST.value))) {\\n return [[valueAST, \\\"Expected value of type \\\\\\\"\\\" + type + \\\"\\\\\\\".\\\"]];\\n }\\n }\\n return [];\\n}\\nfunction lintError(editor, node, message) {\\n return {\\n message: message,\\n severity: 'error',\\n type: 'validation',\\n from: editor.posFromIndex(node.start),\\n to: editor.posFromIndex(node.end),\\n };\\n}\\nfunction isNullish(value) {\\n return value === null || value === undefined || value !== value;\\n}\\nfunction mapCat(array, mapper) {\\n return Array.prototype.concat.apply([], array.map(mapper));\\n}\\n//# sourceMappingURL=lint.js.map\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nfunction jsonParse(str) {\\n string = str;\\n strLen = str.length;\\n start = end = lastEnd = -1;\\n ch();\\n lex();\\n var ast = parseObj();\\n expect('EOF');\\n return ast;\\n}\\nexports.default = jsonParse;\\nvar string;\\nvar strLen;\\nvar start;\\nvar end;\\nvar lastEnd;\\nvar code;\\nvar kind;\\nfunction parseObj() {\\n var nodeStart = start;\\n var members = [];\\n expect('{');\\n if (!skip('}')) {\\n do {\\n members.push(parseMember());\\n } while (skip(','));\\n expect('}');\\n }\\n return {\\n kind: 'Object',\\n start: nodeStart,\\n end: lastEnd,\\n members: members,\\n };\\n}\\nfunction parseMember() {\\n var nodeStart = start;\\n var key = kind === 'String' ? curToken() : null;\\n expect('String');\\n expect(':');\\n var value = parseVal();\\n return {\\n kind: 'Member',\\n start: nodeStart,\\n end: lastEnd,\\n key: key,\\n value: value,\\n };\\n}\\nfunction parseArr() {\\n var nodeStart = start;\\n var values = [];\\n expect('[');\\n if (!skip(']')) {\\n do {\\n values.push(parseVal());\\n } while (skip(','));\\n expect(']');\\n }\\n return {\\n kind: 'Array',\\n start: nodeStart,\\n end: lastEnd,\\n values: values,\\n };\\n}\\nfunction parseVal() {\\n switch (kind) {\\n case '[':\\n return parseArr();\\n case '{':\\n return parseObj();\\n case 'String':\\n case 'Number':\\n case 'Boolean':\\n case 'Null':\\n var token = curToken();\\n lex();\\n return token;\\n }\\n expect('Value');\\n}\\nfunction curToken() {\\n return { kind: kind, start: start, end: end, value: JSON.parse(string.slice(start, end)) };\\n}\\nfunction expect(str) {\\n if (kind === str) {\\n lex();\\n return;\\n }\\n var found;\\n if (kind === 'EOF') {\\n found = '[end of file]';\\n }\\n else if (end - start > 1) {\\n found = '`' + string.slice(start, end) + '`';\\n }\\n else {\\n var match = string.slice(start).match(/^.+?\\\\b/);\\n found = '`' + (match ? match[0] : string[start]) + '`';\\n }\\n throw syntaxError(\\\"Expected \\\" + str + \\\" but found \\\" + found + \\\".\\\");\\n}\\nfunction syntaxError(message) {\\n return { message: message, start: start, end: end };\\n}\\nfunction skip(k) {\\n if (kind === k) {\\n lex();\\n return true;\\n }\\n}\\nfunction ch() {\\n if (end < strLen) {\\n end++;\\n code = end === strLen ? 0 : string.charCodeAt(end);\\n }\\n return code;\\n}\\nfunction lex() {\\n lastEnd = end;\\n while (code === 9 || code === 10 || code === 13 || code === 32) {\\n ch();\\n }\\n if (code === 0) {\\n kind = 'EOF';\\n return;\\n }\\n start = end;\\n switch (code) {\\n case 34:\\n kind = 'String';\\n return readString();\\n case 45:\\n case 48:\\n case 49:\\n case 50:\\n case 51:\\n case 52:\\n case 53:\\n case 54:\\n case 55:\\n case 56:\\n case 57:\\n kind = 'Number';\\n return readNumber();\\n case 102:\\n if (string.slice(start, start + 5) !== 'false') {\\n break;\\n }\\n end += 4;\\n ch();\\n kind = 'Boolean';\\n return;\\n case 110:\\n if (string.slice(start, start + 4) !== 'null') {\\n break;\\n }\\n end += 3;\\n ch();\\n kind = 'Null';\\n return;\\n case 116:\\n if (string.slice(start, start + 4) !== 'true') {\\n break;\\n }\\n end += 3;\\n ch();\\n kind = 'Boolean';\\n return;\\n }\\n kind = string[start];\\n ch();\\n}\\nfunction readString() {\\n ch();\\n while (code !== 34 && code > 31) {\\n if (code === 92) {\\n code = ch();\\n switch (code) {\\n case 34:\\n case 47:\\n case 92:\\n case 98:\\n case 102:\\n case 110:\\n case 114:\\n case 116:\\n ch();\\n break;\\n case 117:\\n ch();\\n readHex();\\n readHex();\\n readHex();\\n readHex();\\n break;\\n default:\\n throw syntaxError('Bad character escape sequence.');\\n }\\n }\\n else if (end === strLen) {\\n throw syntaxError('Unterminated string.');\\n }\\n else {\\n ch();\\n }\\n }\\n if (code === 34) {\\n ch();\\n return;\\n }\\n throw syntaxError('Unterminated string.');\\n}\\nfunction readHex() {\\n if ((code >= 48 && code <= 57) ||\\n (code >= 65 && code <= 70) ||\\n (code >= 97 && code <= 102)) {\\n return ch();\\n }\\n throw syntaxError('Expected hexadecimal digit.');\\n}\\nfunction readNumber() {\\n if (code === 45) {\\n ch();\\n }\\n if (code === 48) {\\n ch();\\n }\\n else {\\n readDigits();\\n }\\n if (code === 46) {\\n ch();\\n readDigits();\\n }\\n if (code === 69 || code === 101) {\\n code = ch();\\n if (code === 43 || code === 45) {\\n ch();\\n }\\n readDigits();\\n }\\n}\\nfunction readDigits() {\\n if (code < 48 || code > 57) {\\n throw syntaxError('Expected decimal digit.');\\n }\\n do {\\n ch();\\n } while (code >= 48 && code <= 57);\\n}\\n//# sourceMappingURL=jsonParse.js.map\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar graphql_language_service_parser_1 = require(\\\"graphql-language-service-parser\\\");\\ncodemirror_1.default.defineMode('graphql-variables', function (config) {\\n var parser = graphql_language_service_parser_1.onlineParser({\\n eatWhitespace: function (stream) { return stream.eatSpace(); },\\n lexRules: LexRules,\\n parseRules: ParseRules,\\n editorConfig: { tabSize: config.tabSize },\\n });\\n return {\\n config: config,\\n startState: parser.startState,\\n token: parser.token,\\n indent: indent,\\n electricInput: /^\\\\s*[}\\\\]]/,\\n fold: 'brace',\\n closeBrackets: {\\n pairs: '[]{}\\\"\\\"',\\n explode: '[]{}',\\n },\\n };\\n});\\nfunction indent(state, textAfter) {\\n var _a, _b;\\n var levels = state.levels;\\n var level = !levels || levels.length === 0\\n ? state.indentLevel\\n : levels[levels.length - 1] -\\n (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);\\n return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);\\n}\\nvar LexRules = {\\n Punctuation: /^\\\\[|]|\\\\{|\\\\}|:|,/,\\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\\n String: /^\\\"(?:[^\\\"\\\\\\\\]|\\\\\\\\(?:\\\"|\\\\/|\\\\\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\\\"?/,\\n Keyword: /^true|false|null/,\\n};\\nvar ParseRules = {\\n Document: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('Variable', graphql_language_service_parser_1.opt(graphql_language_service_parser_1.p(','))), graphql_language_service_parser_1.p('}')],\\n Variable: [namedKey('variable'), graphql_language_service_parser_1.p(':'), 'Value'],\\n Value: function (token) {\\n switch (token.kind) {\\n case 'Number':\\n return 'NumberValue';\\n case 'String':\\n return 'StringValue';\\n case 'Punctuation':\\n switch (token.value) {\\n case '[':\\n return 'ListValue';\\n case '{':\\n return 'ObjectValue';\\n }\\n return null;\\n case 'Keyword':\\n switch (token.value) {\\n case 'true':\\n case 'false':\\n return 'BooleanValue';\\n case 'null':\\n return 'NullValue';\\n }\\n return null;\\n }\\n },\\n NumberValue: [graphql_language_service_parser_1.t('Number', 'number')],\\n StringValue: [graphql_language_service_parser_1.t('String', 'string')],\\n BooleanValue: [graphql_language_service_parser_1.t('Keyword', 'builtin')],\\n NullValue: [graphql_language_service_parser_1.t('Keyword', 'keyword')],\\n ListValue: [graphql_language_service_parser_1.p('['), graphql_language_service_parser_1.list('Value', graphql_language_service_parser_1.opt(graphql_language_service_parser_1.p(','))), graphql_language_service_parser_1.p(']')],\\n ObjectValue: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('ObjectField', graphql_language_service_parser_1.opt(graphql_language_service_parser_1.p(','))), graphql_language_service_parser_1.p('}')],\\n ObjectField: [namedKey('attribute'), graphql_language_service_parser_1.p(':'), 'Value'],\\n};\\nfunction namedKey(style) {\\n return {\\n style: style,\\n match: function (token) { return token.kind === 'String'; },\\n update: function (state, token) {\\n state.name = token.value.slice(1, -1);\\n },\\n };\\n}\\n//# sourceMappingURL=mode.js.map\",\"// CodeMirror, copyright (c) by Marijn Haverbeke and others\\n// Distributed under an MIT license: https://codemirror.net/LICENSE\\n\\n(function(mod) {\\n if (typeof exports == \\\"object\\\" && typeof module == \\\"object\\\") // CommonJS\\n mod(require(\\\"../../lib/codemirror\\\"));\\n else if (typeof define == \\\"function\\\" && define.amd) // AMD\\n define([\\\"../../lib/codemirror\\\"], mod);\\n else // Plain browser env\\n mod(CodeMirror);\\n})(function(CodeMirror) {\\n\\\"use strict\\\";\\n\\nCodeMirror.defineMode(\\\"javascript\\\", function(config, parserConfig) {\\n var indentUnit = config.indentUnit;\\n var statementIndent = parserConfig.statementIndent;\\n var jsonldMode = parserConfig.jsonld;\\n var jsonMode = parserConfig.json || jsonldMode;\\n var isTS = parserConfig.typescript;\\n var wordRE = parserConfig.wordCharacters || /[\\\\w$\\\\xa1-\\\\uffff]/;\\n\\n // Tokenizer\\n\\n var keywords = function(){\\n function kw(type) {return {type: type, style: \\\"keyword\\\"};}\\n var A = kw(\\\"keyword a\\\"), B = kw(\\\"keyword b\\\"), C = kw(\\\"keyword c\\\"), D = kw(\\\"keyword d\\\");\\n var operator = kw(\\\"operator\\\"), atom = {type: \\\"atom\\\", style: \\\"atom\\\"};\\n\\n return {\\n \\\"if\\\": kw(\\\"if\\\"), \\\"while\\\": A, \\\"with\\\": A, \\\"else\\\": B, \\\"do\\\": B, \\\"try\\\": B, \\\"finally\\\": B,\\n \\\"return\\\": D, \\\"break\\\": D, \\\"continue\\\": D, \\\"new\\\": kw(\\\"new\\\"), \\\"delete\\\": C, \\\"void\\\": C, \\\"throw\\\": C,\\n \\\"debugger\\\": kw(\\\"debugger\\\"), \\\"var\\\": kw(\\\"var\\\"), \\\"const\\\": kw(\\\"var\\\"), \\\"let\\\": kw(\\\"var\\\"),\\n \\\"function\\\": kw(\\\"function\\\"), \\\"catch\\\": kw(\\\"catch\\\"),\\n \\\"for\\\": kw(\\\"for\\\"), \\\"switch\\\": kw(\\\"switch\\\"), \\\"case\\\": kw(\\\"case\\\"), \\\"default\\\": kw(\\\"default\\\"),\\n \\\"in\\\": operator, \\\"typeof\\\": operator, \\\"instanceof\\\": operator,\\n \\\"true\\\": atom, \\\"false\\\": atom, \\\"null\\\": atom, \\\"undefined\\\": atom, \\\"NaN\\\": atom, \\\"Infinity\\\": atom,\\n \\\"this\\\": kw(\\\"this\\\"), \\\"class\\\": kw(\\\"class\\\"), \\\"super\\\": kw(\\\"atom\\\"),\\n \\\"yield\\\": C, \\\"export\\\": kw(\\\"export\\\"), \\\"import\\\": kw(\\\"import\\\"), \\\"extends\\\": C,\\n \\\"await\\\": C\\n };\\n }();\\n\\n var isOperatorChar = /[+\\\\-*&%=<>!?|~^@]/;\\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\\\"/;\\n\\n function readRegexp(stream) {\\n var escaped = false, next, inSet = false;\\n while ((next = stream.next()) != null) {\\n if (!escaped) {\\n if (next == \\\"/\\\" && !inSet) return;\\n if (next == \\\"[\\\") inSet = true;\\n else if (inSet && next == \\\"]\\\") inSet = false;\\n }\\n escaped = !escaped && next == \\\"\\\\\\\\\\\";\\n }\\n }\\n\\n // Used as scratch variables to communicate multiple values without\\n // consing up tons of objects.\\n var type, content;\\n function ret(tp, style, cont) {\\n type = tp; content = cont;\\n return style;\\n }\\n function tokenBase(stream, state) {\\n var ch = stream.next();\\n if (ch == '\\\"' || ch == \\\"'\\\") {\\n state.tokenize = tokenString(ch);\\n return state.tokenize(stream, state);\\n } else if (ch == \\\".\\\" && stream.match(/^\\\\d[\\\\d_]*(?:[eE][+\\\\-]?[\\\\d_]+)?/)) {\\n return ret(\\\"number\\\", \\\"number\\\");\\n } else if (ch == \\\".\\\" && stream.match(\\\"..\\\")) {\\n return ret(\\\"spread\\\", \\\"meta\\\");\\n } else if (/[\\\\[\\\\]{}\\\\(\\\\),;\\\\:\\\\.]/.test(ch)) {\\n return ret(ch);\\n } else if (ch == \\\"=\\\" && stream.eat(\\\">\\\")) {\\n return ret(\\\"=>\\\", \\\"operator\\\");\\n } else if (ch == \\\"0\\\" && stream.match(/^(?:x[\\\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\\n return ret(\\\"number\\\", \\\"number\\\");\\n } else if (/\\\\d/.test(ch)) {\\n stream.match(/^[\\\\d_]*(?:n|(?:\\\\.[\\\\d_]*)?(?:[eE][+\\\\-]?[\\\\d_]+)?)?/);\\n return ret(\\\"number\\\", \\\"number\\\");\\n } else if (ch == \\\"/\\\") {\\n if (stream.eat(\\\"*\\\")) {\\n state.tokenize = tokenComment;\\n return tokenComment(stream, state);\\n } else if (stream.eat(\\\"/\\\")) {\\n stream.skipToEnd();\\n return ret(\\\"comment\\\", \\\"comment\\\");\\n } else if (expressionAllowed(stream, state, 1)) {\\n readRegexp(stream);\\n stream.match(/^\\\\b(([gimyus])(?![gimyus]*\\\\2))+\\\\b/);\\n return ret(\\\"regexp\\\", \\\"string-2\\\");\\n } else {\\n stream.eat(\\\"=\\\");\\n return ret(\\\"operator\\\", \\\"operator\\\", stream.current());\\n }\\n } else if (ch == \\\"`\\\") {\\n state.tokenize = tokenQuasi;\\n return tokenQuasi(stream, state);\\n } else if (ch == \\\"#\\\" && stream.peek() == \\\"!\\\") {\\n stream.skipToEnd();\\n return ret(\\\"meta\\\", \\\"meta\\\");\\n } else if (ch == \\\"#\\\" && stream.eatWhile(wordRE)) {\\n return ret(\\\"variable\\\", \\\"property\\\")\\n } else if (ch == \\\"<\\\" && stream.match(\\\"!--\\\") ||\\n (ch == \\\"-\\\" && stream.match(\\\"->\\\") && !/\\\\S/.test(stream.string.slice(0, stream.start)))) {\\n stream.skipToEnd()\\n return ret(\\\"comment\\\", \\\"comment\\\")\\n } else if (isOperatorChar.test(ch)) {\\n if (ch != \\\">\\\" || !state.lexical || state.lexical.type != \\\">\\\") {\\n if (stream.eat(\\\"=\\\")) {\\n if (ch == \\\"!\\\" || ch == \\\"=\\\") stream.eat(\\\"=\\\")\\n } else if (/[<>*+\\\\-|&?]/.test(ch)) {\\n stream.eat(ch)\\n if (ch == \\\">\\\") stream.eat(ch)\\n }\\n }\\n if (ch == \\\"?\\\" && stream.eat(\\\".\\\")) return ret(\\\".\\\")\\n return ret(\\\"operator\\\", \\\"operator\\\", stream.current());\\n } else if (wordRE.test(ch)) {\\n stream.eatWhile(wordRE);\\n var word = stream.current()\\n if (state.lastType != \\\".\\\") {\\n if (keywords.propertyIsEnumerable(word)) {\\n var kw = keywords[word]\\n return ret(kw.type, kw.style, word)\\n }\\n if (word == \\\"async\\\" && stream.match(/^(\\\\s|\\\\/\\\\*([^*]|\\\\*(?!\\\\/))*?\\\\*\\\\/)*[\\\\[\\\\(\\\\w]/, false))\\n return ret(\\\"async\\\", \\\"keyword\\\", word)\\n }\\n return ret(\\\"variable\\\", \\\"variable\\\", word)\\n }\\n }\\n\\n function tokenString(quote) {\\n return function(stream, state) {\\n var escaped = false, next;\\n if (jsonldMode && stream.peek() == \\\"@\\\" && stream.match(isJsonldKeyword)){\\n state.tokenize = tokenBase;\\n return ret(\\\"jsonld-keyword\\\", \\\"meta\\\");\\n }\\n while ((next = stream.next()) != null) {\\n if (next == quote && !escaped) break;\\n escaped = !escaped && next == \\\"\\\\\\\\\\\";\\n }\\n if (!escaped) state.tokenize = tokenBase;\\n return ret(\\\"string\\\", \\\"string\\\");\\n };\\n }\\n\\n function tokenComment(stream, state) {\\n var maybeEnd = false, ch;\\n while (ch = stream.next()) {\\n if (ch == \\\"/\\\" && maybeEnd) {\\n state.tokenize = tokenBase;\\n break;\\n }\\n maybeEnd = (ch == \\\"*\\\");\\n }\\n return ret(\\\"comment\\\", \\\"comment\\\");\\n }\\n\\n function tokenQuasi(stream, state) {\\n var escaped = false, next;\\n while ((next = stream.next()) != null) {\\n if (!escaped && (next == \\\"`\\\" || next == \\\"$\\\" && stream.eat(\\\"{\\\"))) {\\n state.tokenize = tokenBase;\\n break;\\n }\\n escaped = !escaped && next == \\\"\\\\\\\\\\\";\\n }\\n return ret(\\\"quasi\\\", \\\"string-2\\\", stream.current());\\n }\\n\\n var brackets = \\\"([{}])\\\";\\n // This is a crude lookahead trick to try and notice that we're\\n // parsing the argument patterns for a fat-arrow function before we\\n // actually hit the arrow token. It only works if the arrow is on\\n // the same line as the arguments and there's no strange noise\\n // (comments) in between. Fallback is to only notice when we hit the\\n // arrow, and not declare the arguments as locals for the arrow\\n // body.\\n function findFatArrow(stream, state) {\\n if (state.fatArrowAt) state.fatArrowAt = null;\\n var arrow = stream.string.indexOf(\\\"=>\\\", stream.start);\\n if (arrow < 0) return;\\n\\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\\n var m = /:\\\\s*(?:\\\\w+(?:<[^>]*>|\\\\[\\\\])?|\\\\{[^}]*\\\\})\\\\s*$/.exec(stream.string.slice(stream.start, arrow))\\n if (m) arrow = m.index\\n }\\n\\n var depth = 0, sawSomething = false;\\n for (var pos = arrow - 1; pos >= 0; --pos) {\\n var ch = stream.string.charAt(pos);\\n var bracket = brackets.indexOf(ch);\\n if (bracket >= 0 && bracket < 3) {\\n if (!depth) { ++pos; break; }\\n if (--depth == 0) { if (ch == \\\"(\\\") sawSomething = true; break; }\\n } else if (bracket >= 3 && bracket < 6) {\\n ++depth;\\n } else if (wordRE.test(ch)) {\\n sawSomething = true;\\n } else if (/[\\\"'\\\\/`]/.test(ch)) {\\n for (;; --pos) {\\n if (pos == 0) return\\n var next = stream.string.charAt(pos - 1)\\n if (next == ch && stream.string.charAt(pos - 2) != \\\"\\\\\\\\\\\") { pos--; break }\\n }\\n } else if (sawSomething && !depth) {\\n ++pos;\\n break;\\n }\\n }\\n if (sawSomething && !depth) state.fatArrowAt = pos;\\n }\\n\\n // Parser\\n\\n var atomicTypes = {\\\"atom\\\": true, \\\"number\\\": true, \\\"variable\\\": true, \\\"string\\\": true, \\\"regexp\\\": true, \\\"this\\\": true, \\\"jsonld-keyword\\\": true};\\n\\n function JSLexical(indented, column, type, align, prev, info) {\\n this.indented = indented;\\n this.column = column;\\n this.type = type;\\n this.prev = prev;\\n this.info = info;\\n if (align != null) this.align = align;\\n }\\n\\n function inScope(state, varname) {\\n for (var v = state.localVars; v; v = v.next)\\n if (v.name == varname) return true;\\n for (var cx = state.context; cx; cx = cx.prev) {\\n for (var v = cx.vars; v; v = v.next)\\n if (v.name == varname) return true;\\n }\\n }\\n\\n function parseJS(state, style, type, content, stream) {\\n var cc = state.cc;\\n // Communicate our context to the combinators.\\n // (Less wasteful than consing up a hundred closures on every call.)\\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\\n\\n if (!state.lexical.hasOwnProperty(\\\"align\\\"))\\n state.lexical.align = true;\\n\\n while(true) {\\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\\n if (combinator(type, content)) {\\n while(cc.length && cc[cc.length - 1].lex)\\n cc.pop()();\\n if (cx.marked) return cx.marked;\\n if (type == \\\"variable\\\" && inScope(state, content)) return \\\"variable-2\\\";\\n return style;\\n }\\n }\\n }\\n\\n // Combinator utils\\n\\n var cx = {state: null, column: null, marked: null, cc: null};\\n function pass() {\\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\\n }\\n function cont() {\\n pass.apply(null, arguments);\\n return true;\\n }\\n function inList(name, list) {\\n for (var v = list; v; v = v.next) if (v.name == name) return true\\n return false;\\n }\\n function register(varname) {\\n var state = cx.state;\\n cx.marked = \\\"def\\\";\\n if (state.context) {\\n if (state.lexical.info == \\\"var\\\" && state.context && state.context.block) {\\n // FIXME function decls are also not block scoped\\n var newContext = registerVarScoped(varname, state.context)\\n if (newContext != null) {\\n state.context = newContext\\n return\\n }\\n } else if (!inList(varname, state.localVars)) {\\n state.localVars = new Var(varname, state.localVars)\\n return\\n }\\n }\\n // Fall through means this is global\\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\\n state.globalVars = new Var(varname, state.globalVars)\\n }\\n function registerVarScoped(varname, context) {\\n if (!context) {\\n return null\\n } else if (context.block) {\\n var inner = registerVarScoped(varname, context.prev)\\n if (!inner) return null\\n if (inner == context.prev) return context\\n return new Context(inner, context.vars, true)\\n } else if (inList(varname, context.vars)) {\\n return context\\n } else {\\n return new Context(context.prev, new Var(varname, context.vars), false)\\n }\\n }\\n\\n function isModifier(name) {\\n return name == \\\"public\\\" || name == \\\"private\\\" || name == \\\"protected\\\" || name == \\\"abstract\\\" || name == \\\"readonly\\\"\\n }\\n\\n // Combinators\\n\\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\\n function Var(name, next) { this.name = name; this.next = next }\\n\\n var defaultVars = new Var(\\\"this\\\", new Var(\\\"arguments\\\", null))\\n function pushcontext() {\\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\\n cx.state.localVars = defaultVars\\n }\\n function pushblockcontext() {\\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\\n cx.state.localVars = null\\n }\\n function popcontext() {\\n cx.state.localVars = cx.state.context.vars\\n cx.state.context = cx.state.context.prev\\n }\\n popcontext.lex = true\\n function pushlex(type, info) {\\n var result = function() {\\n var state = cx.state, indent = state.indented;\\n if (state.lexical.type == \\\"stat\\\") indent = state.lexical.indented;\\n else for (var outer = state.lexical; outer && outer.type == \\\")\\\" && outer.align; outer = outer.prev)\\n indent = outer.indented;\\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\\n };\\n result.lex = true;\\n return result;\\n }\\n function poplex() {\\n var state = cx.state;\\n if (state.lexical.prev) {\\n if (state.lexical.type == \\\")\\\")\\n state.indented = state.lexical.indented;\\n state.lexical = state.lexical.prev;\\n }\\n }\\n poplex.lex = true;\\n\\n function expect(wanted) {\\n function exp(type) {\\n if (type == wanted) return cont();\\n else if (wanted == \\\";\\\" || type == \\\"}\\\" || type == \\\")\\\" || type == \\\"]\\\") return pass();\\n else return cont(exp);\\n };\\n return exp;\\n }\\n\\n function statement(type, value) {\\n if (type == \\\"var\\\") return cont(pushlex(\\\"vardef\\\", value), vardef, expect(\\\";\\\"), poplex);\\n if (type == \\\"keyword a\\\") return cont(pushlex(\\\"form\\\"), parenExpr, statement, poplex);\\n if (type == \\\"keyword b\\\") return cont(pushlex(\\\"form\\\"), statement, poplex);\\n if (type == \\\"keyword d\\\") return cx.stream.match(/^\\\\s*$/, false) ? cont() : cont(pushlex(\\\"stat\\\"), maybeexpression, expect(\\\";\\\"), poplex);\\n if (type == \\\"debugger\\\") return cont(expect(\\\";\\\"));\\n if (type == \\\"{\\\") return cont(pushlex(\\\"}\\\"), pushblockcontext, block, poplex, popcontext);\\n if (type == \\\";\\\") return cont();\\n if (type == \\\"if\\\") {\\n if (cx.state.lexical.info == \\\"else\\\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\\n cx.state.cc.pop()();\\n return cont(pushlex(\\\"form\\\"), parenExpr, statement, poplex, maybeelse);\\n }\\n if (type == \\\"function\\\") return cont(functiondef);\\n if (type == \\\"for\\\") return cont(pushlex(\\\"form\\\"), forspec, statement, poplex);\\n if (type == \\\"class\\\" || (isTS && value == \\\"interface\\\")) {\\n cx.marked = \\\"keyword\\\"\\n return cont(pushlex(\\\"form\\\", type == \\\"class\\\" ? type : value), className, poplex)\\n }\\n if (type == \\\"variable\\\") {\\n if (isTS && value == \\\"declare\\\") {\\n cx.marked = \\\"keyword\\\"\\n return cont(statement)\\n } else if (isTS && (value == \\\"module\\\" || value == \\\"enum\\\" || value == \\\"type\\\") && cx.stream.match(/^\\\\s*\\\\w/, false)) {\\n cx.marked = \\\"keyword\\\"\\n if (value == \\\"enum\\\") return cont(enumdef);\\n else if (value == \\\"type\\\") return cont(typename, expect(\\\"operator\\\"), typeexpr, expect(\\\";\\\"));\\n else return cont(pushlex(\\\"form\\\"), pattern, expect(\\\"{\\\"), pushlex(\\\"}\\\"), block, poplex, poplex)\\n } else if (isTS && value == \\\"namespace\\\") {\\n cx.marked = \\\"keyword\\\"\\n return cont(pushlex(\\\"form\\\"), expression, statement, poplex)\\n } else if (isTS && value == \\\"abstract\\\") {\\n cx.marked = \\\"keyword\\\"\\n return cont(statement)\\n } else {\\n return cont(pushlex(\\\"stat\\\"), maybelabel);\\n }\\n }\\n if (type == \\\"switch\\\") return cont(pushlex(\\\"form\\\"), parenExpr, expect(\\\"{\\\"), pushlex(\\\"}\\\", \\\"switch\\\"), pushblockcontext,\\n block, poplex, poplex, popcontext);\\n if (type == \\\"case\\\") return cont(expression, expect(\\\":\\\"));\\n if (type == \\\"default\\\") return cont(expect(\\\":\\\"));\\n if (type == \\\"catch\\\") return cont(pushlex(\\\"form\\\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\\n if (type == \\\"export\\\") return cont(pushlex(\\\"stat\\\"), afterExport, poplex);\\n if (type == \\\"import\\\") return cont(pushlex(\\\"stat\\\"), afterImport, poplex);\\n if (type == \\\"async\\\") return cont(statement)\\n if (value == \\\"@\\\") return cont(expression, statement)\\n return pass(pushlex(\\\"stat\\\"), expression, expect(\\\";\\\"), poplex);\\n }\\n function maybeCatchBinding(type) {\\n if (type == \\\"(\\\") return cont(funarg, expect(\\\")\\\"))\\n }\\n function expression(type, value) {\\n return expressionInner(type, value, false);\\n }\\n function expressionNoComma(type, value) {\\n return expressionInner(type, value, true);\\n }\\n function parenExpr(type) {\\n if (type != \\\"(\\\") return pass()\\n return cont(pushlex(\\\")\\\"), maybeexpression, expect(\\\")\\\"), poplex)\\n }\\n function expressionInner(type, value, noComma) {\\n if (cx.state.fatArrowAt == cx.stream.start) {\\n var body = noComma ? arrowBodyNoComma : arrowBody;\\n if (type == \\\"(\\\") return cont(pushcontext, pushlex(\\\")\\\"), commasep(funarg, \\\")\\\"), poplex, expect(\\\"=>\\\"), body, popcontext);\\n else if (type == \\\"variable\\\") return pass(pushcontext, pattern, expect(\\\"=>\\\"), body, popcontext);\\n }\\n\\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\\n if (type == \\\"function\\\") return cont(functiondef, maybeop);\\n if (type == \\\"class\\\" || (isTS && value == \\\"interface\\\")) { cx.marked = \\\"keyword\\\"; return cont(pushlex(\\\"form\\\"), classExpression, poplex); }\\n if (type == \\\"keyword c\\\" || type == \\\"async\\\") return cont(noComma ? expressionNoComma : expression);\\n if (type == \\\"(\\\") return cont(pushlex(\\\")\\\"), maybeexpression, expect(\\\")\\\"), poplex, maybeop);\\n if (type == \\\"operator\\\" || type == \\\"spread\\\") return cont(noComma ? expressionNoComma : expression);\\n if (type == \\\"[\\\") return cont(pushlex(\\\"]\\\"), arrayLiteral, poplex, maybeop);\\n if (type == \\\"{\\\") return contCommasep(objprop, \\\"}\\\", null, maybeop);\\n if (type == \\\"quasi\\\") return pass(quasi, maybeop);\\n if (type == \\\"new\\\") return cont(maybeTarget(noComma));\\n if (type == \\\"import\\\") return cont(expression);\\n return cont();\\n }\\n function maybeexpression(type) {\\n if (type.match(/[;\\\\}\\\\)\\\\],]/)) return pass();\\n return pass(expression);\\n }\\n\\n function maybeoperatorComma(type, value) {\\n if (type == \\\",\\\") return cont(maybeexpression);\\n return maybeoperatorNoComma(type, value, false);\\n }\\n function maybeoperatorNoComma(type, value, noComma) {\\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\\n var expr = noComma == false ? expression : expressionNoComma;\\n if (type == \\\"=>\\\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\\n if (type == \\\"operator\\\") {\\n if (/\\\\+\\\\+|--/.test(value) || isTS && value == \\\"!\\\") return cont(me);\\n if (isTS && value == \\\"<\\\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\\\s*\\\\(/, false))\\n return cont(pushlex(\\\">\\\"), commasep(typeexpr, \\\">\\\"), poplex, me);\\n if (value == \\\"?\\\") return cont(expression, expect(\\\":\\\"), expr);\\n return cont(expr);\\n }\\n if (type == \\\"quasi\\\") { return pass(quasi, me); }\\n if (type == \\\";\\\") return;\\n if (type == \\\"(\\\") return contCommasep(expressionNoComma, \\\")\\\", \\\"call\\\", me);\\n if (type == \\\".\\\") return cont(property, me);\\n if (type == \\\"[\\\") return cont(pushlex(\\\"]\\\"), maybeexpression, expect(\\\"]\\\"), poplex, me);\\n if (isTS && value == \\\"as\\\") { cx.marked = \\\"keyword\\\"; return cont(typeexpr, me) }\\n if (type == \\\"regexp\\\") {\\n cx.state.lastType = cx.marked = \\\"operator\\\"\\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\\n return cont(expr)\\n }\\n }\\n function quasi(type, value) {\\n if (type != \\\"quasi\\\") return pass();\\n if (value.slice(value.length - 2) != \\\"${\\\") return cont(quasi);\\n return cont(expression, continueQuasi);\\n }\\n function continueQuasi(type) {\\n if (type == \\\"}\\\") {\\n cx.marked = \\\"string-2\\\";\\n cx.state.tokenize = tokenQuasi;\\n return cont(quasi);\\n }\\n }\\n function arrowBody(type) {\\n findFatArrow(cx.stream, cx.state);\\n return pass(type == \\\"{\\\" ? statement : expression);\\n }\\n function arrowBodyNoComma(type) {\\n findFatArrow(cx.stream, cx.state);\\n return pass(type == \\\"{\\\" ? statement : expressionNoComma);\\n }\\n function maybeTarget(noComma) {\\n return function(type) {\\n if (type == \\\".\\\") return cont(noComma ? targetNoComma : target);\\n else if (type == \\\"variable\\\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\\n else return pass(noComma ? expressionNoComma : expression);\\n };\\n }\\n function target(_, value) {\\n if (value == \\\"target\\\") { cx.marked = \\\"keyword\\\"; return cont(maybeoperatorComma); }\\n }\\n function targetNoComma(_, value) {\\n if (value == \\\"target\\\") { cx.marked = \\\"keyword\\\"; return cont(maybeoperatorNoComma); }\\n }\\n function maybelabel(type) {\\n if (type == \\\":\\\") return cont(poplex, statement);\\n return pass(maybeoperatorComma, expect(\\\";\\\"), poplex);\\n }\\n function property(type) {\\n if (type == \\\"variable\\\") {cx.marked = \\\"property\\\"; return cont();}\\n }\\n function objprop(type, value) {\\n if (type == \\\"async\\\") {\\n cx.marked = \\\"property\\\";\\n return cont(objprop);\\n } else if (type == \\\"variable\\\" || cx.style == \\\"keyword\\\") {\\n cx.marked = \\\"property\\\";\\n if (value == \\\"get\\\" || value == \\\"set\\\") return cont(getterSetter);\\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\\\s*:\\\\s*/, false)))\\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\\n return cont(afterprop);\\n } else if (type == \\\"number\\\" || type == \\\"string\\\") {\\n cx.marked = jsonldMode ? \\\"property\\\" : (cx.style + \\\" property\\\");\\n return cont(afterprop);\\n } else if (type == \\\"jsonld-keyword\\\") {\\n return cont(afterprop);\\n } else if (isTS && isModifier(value)) {\\n cx.marked = \\\"keyword\\\"\\n return cont(objprop)\\n } else if (type == \\\"[\\\") {\\n return cont(expression, maybetype, expect(\\\"]\\\"), afterprop);\\n } else if (type == \\\"spread\\\") {\\n return cont(expressionNoComma, afterprop);\\n } else if (value == \\\"*\\\") {\\n cx.marked = \\\"keyword\\\";\\n return cont(objprop);\\n } else if (type == \\\":\\\") {\\n return pass(afterprop)\\n }\\n }\\n function getterSetter(type) {\\n if (type != \\\"variable\\\") return pass(afterprop);\\n cx.marked = \\\"property\\\";\\n return cont(functiondef);\\n }\\n function afterprop(type) {\\n if (type == \\\":\\\") return cont(expressionNoComma);\\n if (type == \\\"(\\\") return pass(functiondef);\\n }\\n function commasep(what, end, sep) {\\n function proceed(type, value) {\\n if (sep ? sep.indexOf(type) > -1 : type == \\\",\\\") {\\n var lex = cx.state.lexical;\\n if (lex.info == \\\"call\\\") lex.pos = (lex.pos || 0) + 1;\\n return cont(function(type, value) {\\n if (type == end || value == end) return pass()\\n return pass(what)\\n }, proceed);\\n }\\n if (type == end || value == end) return cont();\\n if (sep && sep.indexOf(\\\";\\\") > -1) return pass(what)\\n return cont(expect(end));\\n }\\n return function(type, value) {\\n if (type == end || value == end) return cont();\\n return pass(what, proceed);\\n };\\n }\\n function contCommasep(what, end, info) {\\n for (var i = 3; i < arguments.length; i++)\\n cx.cc.push(arguments[i]);\\n return cont(pushlex(end, info), commasep(what, end), poplex);\\n }\\n function block(type) {\\n if (type == \\\"}\\\") return cont();\\n return pass(statement, block);\\n }\\n function maybetype(type, value) {\\n if (isTS) {\\n if (type == \\\":\\\") return cont(typeexpr);\\n if (value == \\\"?\\\") return cont(maybetype);\\n }\\n }\\n function maybetypeOrIn(type, value) {\\n if (isTS && (type == \\\":\\\" || value == \\\"in\\\")) return cont(typeexpr)\\n }\\n function mayberettype(type) {\\n if (isTS && type == \\\":\\\") {\\n if (cx.stream.match(/^\\\\s*\\\\w+\\\\s+is\\\\b/, false)) return cont(expression, isKW, typeexpr)\\n else return cont(typeexpr)\\n }\\n }\\n function isKW(_, value) {\\n if (value == \\\"is\\\") {\\n cx.marked = \\\"keyword\\\"\\n return cont()\\n }\\n }\\n function typeexpr(type, value) {\\n if (value == \\\"keyof\\\" || value == \\\"typeof\\\" || value == \\\"infer\\\") {\\n cx.marked = \\\"keyword\\\"\\n return cont(value == \\\"typeof\\\" ? expressionNoComma : typeexpr)\\n }\\n if (type == \\\"variable\\\" || value == \\\"void\\\") {\\n cx.marked = \\\"type\\\"\\n return cont(afterType)\\n }\\n if (value == \\\"|\\\" || value == \\\"&\\\") return cont(typeexpr)\\n if (type == \\\"string\\\" || type == \\\"number\\\" || type == \\\"atom\\\") return cont(afterType);\\n if (type == \\\"[\\\") return cont(pushlex(\\\"]\\\"), commasep(typeexpr, \\\"]\\\", \\\",\\\"), poplex, afterType)\\n if (type == \\\"{\\\") return cont(pushlex(\\\"}\\\"), typeprops, poplex, afterType)\\n if (type == \\\"(\\\") return cont(commasep(typearg, \\\")\\\"), maybeReturnType, afterType)\\n if (type == \\\"<\\\") return cont(commasep(typeexpr, \\\">\\\"), typeexpr)\\n }\\n function maybeReturnType(type) {\\n if (type == \\\"=>\\\") return cont(typeexpr)\\n }\\n function typeprops(type) {\\n if (type.match(/[\\\\}\\\\)\\\\]]/)) return cont()\\n if (type == \\\",\\\" || type == \\\";\\\") return cont(typeprops)\\n return pass(typeprop, typeprops)\\n }\\n function typeprop(type, value) {\\n if (type == \\\"variable\\\" || cx.style == \\\"keyword\\\") {\\n cx.marked = \\\"property\\\"\\n return cont(typeprop)\\n } else if (value == \\\"?\\\" || type == \\\"number\\\" || type == \\\"string\\\") {\\n return cont(typeprop)\\n } else if (type == \\\":\\\") {\\n return cont(typeexpr)\\n } else if (type == \\\"[\\\") {\\n return cont(expect(\\\"variable\\\"), maybetypeOrIn, expect(\\\"]\\\"), typeprop)\\n } else if (type == \\\"(\\\") {\\n return pass(functiondecl, typeprop)\\n } else if (!type.match(/[;\\\\}\\\\)\\\\],]/)) {\\n return cont()\\n }\\n }\\n function typearg(type, value) {\\n if (type == \\\"variable\\\" && cx.stream.match(/^\\\\s*[?:]/, false) || value == \\\"?\\\") return cont(typearg)\\n if (type == \\\":\\\") return cont(typeexpr)\\n if (type == \\\"spread\\\") return cont(typearg)\\n return pass(typeexpr)\\n }\\n function afterType(type, value) {\\n if (value == \\\"<\\\") return cont(pushlex(\\\">\\\"), commasep(typeexpr, \\\">\\\"), poplex, afterType)\\n if (value == \\\"|\\\" || type == \\\".\\\" || value == \\\"&\\\") return cont(typeexpr)\\n if (type == \\\"[\\\") return cont(typeexpr, expect(\\\"]\\\"), afterType)\\n if (value == \\\"extends\\\" || value == \\\"implements\\\") { cx.marked = \\\"keyword\\\"; return cont(typeexpr) }\\n if (value == \\\"?\\\") return cont(typeexpr, expect(\\\":\\\"), typeexpr)\\n }\\n function maybeTypeArgs(_, value) {\\n if (value == \\\"<\\\") return cont(pushlex(\\\">\\\"), commasep(typeexpr, \\\">\\\"), poplex, afterType)\\n }\\n function typeparam() {\\n return pass(typeexpr, maybeTypeDefault)\\n }\\n function maybeTypeDefault(_, value) {\\n if (value == \\\"=\\\") return cont(typeexpr)\\n }\\n function vardef(_, value) {\\n if (value == \\\"enum\\\") {cx.marked = \\\"keyword\\\"; return cont(enumdef)}\\n return pass(pattern, maybetype, maybeAssign, vardefCont);\\n }\\n function pattern(type, value) {\\n if (isTS && isModifier(value)) { cx.marked = \\\"keyword\\\"; return cont(pattern) }\\n if (type == \\\"variable\\\") { register(value); return cont(); }\\n if (type == \\\"spread\\\") return cont(pattern);\\n if (type == \\\"[\\\") return contCommasep(eltpattern, \\\"]\\\");\\n if (type == \\\"{\\\") return contCommasep(proppattern, \\\"}\\\");\\n }\\n function proppattern(type, value) {\\n if (type == \\\"variable\\\" && !cx.stream.match(/^\\\\s*:/, false)) {\\n register(value);\\n return cont(maybeAssign);\\n }\\n if (type == \\\"variable\\\") cx.marked = \\\"property\\\";\\n if (type == \\\"spread\\\") return cont(pattern);\\n if (type == \\\"}\\\") return pass();\\n if (type == \\\"[\\\") return cont(expression, expect(']'), expect(':'), proppattern);\\n return cont(expect(\\\":\\\"), pattern, maybeAssign);\\n }\\n function eltpattern() {\\n return pass(pattern, maybeAssign)\\n }\\n function maybeAssign(_type, value) {\\n if (value == \\\"=\\\") return cont(expressionNoComma);\\n }\\n function vardefCont(type) {\\n if (type == \\\",\\\") return cont(vardef);\\n }\\n function maybeelse(type, value) {\\n if (type == \\\"keyword b\\\" && value == \\\"else\\\") return cont(pushlex(\\\"form\\\", \\\"else\\\"), statement, poplex);\\n }\\n function forspec(type, value) {\\n if (value == \\\"await\\\") return cont(forspec);\\n if (type == \\\"(\\\") return cont(pushlex(\\\")\\\"), forspec1, poplex);\\n }\\n function forspec1(type) {\\n if (type == \\\"var\\\") return cont(vardef, forspec2);\\n if (type == \\\"variable\\\") return cont(forspec2);\\n return pass(forspec2)\\n }\\n function forspec2(type, value) {\\n if (type == \\\")\\\") return cont()\\n if (type == \\\";\\\") return cont(forspec2)\\n if (value == \\\"in\\\" || value == \\\"of\\\") { cx.marked = \\\"keyword\\\"; return cont(expression, forspec2) }\\n return pass(expression, forspec2)\\n }\\n function functiondef(type, value) {\\n if (value == \\\"*\\\") {cx.marked = \\\"keyword\\\"; return cont(functiondef);}\\n if (type == \\\"variable\\\") {register(value); return cont(functiondef);}\\n if (type == \\\"(\\\") return cont(pushcontext, pushlex(\\\")\\\"), commasep(funarg, \\\")\\\"), poplex, mayberettype, statement, popcontext);\\n if (isTS && value == \\\"<\\\") return cont(pushlex(\\\">\\\"), commasep(typeparam, \\\">\\\"), poplex, functiondef)\\n }\\n function functiondecl(type, value) {\\n if (value == \\\"*\\\") {cx.marked = \\\"keyword\\\"; return cont(functiondecl);}\\n if (type == \\\"variable\\\") {register(value); return cont(functiondecl);}\\n if (type == \\\"(\\\") return cont(pushcontext, pushlex(\\\")\\\"), commasep(funarg, \\\")\\\"), poplex, mayberettype, popcontext);\\n if (isTS && value == \\\"<\\\") return cont(pushlex(\\\">\\\"), commasep(typeparam, \\\">\\\"), poplex, functiondecl)\\n }\\n function typename(type, value) {\\n if (type == \\\"keyword\\\" || type == \\\"variable\\\") {\\n cx.marked = \\\"type\\\"\\n return cont(typename)\\n } else if (value == \\\"<\\\") {\\n return cont(pushlex(\\\">\\\"), commasep(typeparam, \\\">\\\"), poplex)\\n }\\n }\\n function funarg(type, value) {\\n if (value == \\\"@\\\") cont(expression, funarg)\\n if (type == \\\"spread\\\") return cont(funarg);\\n if (isTS && isModifier(value)) { cx.marked = \\\"keyword\\\"; return cont(funarg); }\\n if (isTS && type == \\\"this\\\") return cont(maybetype, maybeAssign)\\n return pass(pattern, maybetype, maybeAssign);\\n }\\n function classExpression(type, value) {\\n // Class expressions may have an optional name.\\n if (type == \\\"variable\\\") return className(type, value);\\n return classNameAfter(type, value);\\n }\\n function className(type, value) {\\n if (type == \\\"variable\\\") {register(value); return cont(classNameAfter);}\\n }\\n function classNameAfter(type, value) {\\n if (value == \\\"<\\\") return cont(pushlex(\\\">\\\"), commasep(typeparam, \\\">\\\"), poplex, classNameAfter)\\n if (value == \\\"extends\\\" || value == \\\"implements\\\" || (isTS && type == \\\",\\\")) {\\n if (value == \\\"implements\\\") cx.marked = \\\"keyword\\\";\\n return cont(isTS ? typeexpr : expression, classNameAfter);\\n }\\n if (type == \\\"{\\\") return cont(pushlex(\\\"}\\\"), classBody, poplex);\\n }\\n function classBody(type, value) {\\n if (type == \\\"async\\\" ||\\n (type == \\\"variable\\\" &&\\n (value == \\\"static\\\" || value == \\\"get\\\" || value == \\\"set\\\" || (isTS && isModifier(value))) &&\\n cx.stream.match(/^\\\\s+[\\\\w$\\\\xa1-\\\\uffff]/, false))) {\\n cx.marked = \\\"keyword\\\";\\n return cont(classBody);\\n }\\n if (type == \\\"variable\\\" || cx.style == \\\"keyword\\\") {\\n cx.marked = \\\"property\\\";\\n return cont(classfield, classBody);\\n }\\n if (type == \\\"number\\\" || type == \\\"string\\\") return cont(classfield, classBody);\\n if (type == \\\"[\\\")\\n return cont(expression, maybetype, expect(\\\"]\\\"), classfield, classBody)\\n if (value == \\\"*\\\") {\\n cx.marked = \\\"keyword\\\";\\n return cont(classBody);\\n }\\n if (isTS && type == \\\"(\\\") return pass(functiondecl, classBody)\\n if (type == \\\";\\\" || type == \\\",\\\") return cont(classBody);\\n if (type == \\\"}\\\") return cont();\\n if (value == \\\"@\\\") return cont(expression, classBody)\\n }\\n function classfield(type, value) {\\n if (value == \\\"?\\\") return cont(classfield)\\n if (type == \\\":\\\") return cont(typeexpr, maybeAssign)\\n if (value == \\\"=\\\") return cont(expressionNoComma)\\n var context = cx.state.lexical.prev, isInterface = context && context.info == \\\"interface\\\"\\n return pass(isInterface ? functiondecl : functiondef)\\n }\\n function afterExport(type, value) {\\n if (value == \\\"*\\\") { cx.marked = \\\"keyword\\\"; return cont(maybeFrom, expect(\\\";\\\")); }\\n if (value == \\\"default\\\") { cx.marked = \\\"keyword\\\"; return cont(expression, expect(\\\";\\\")); }\\n if (type == \\\"{\\\") return cont(commasep(exportField, \\\"}\\\"), maybeFrom, expect(\\\";\\\"));\\n return pass(statement);\\n }\\n function exportField(type, value) {\\n if (value == \\\"as\\\") { cx.marked = \\\"keyword\\\"; return cont(expect(\\\"variable\\\")); }\\n if (type == \\\"variable\\\") return pass(expressionNoComma, exportField);\\n }\\n function afterImport(type) {\\n if (type == \\\"string\\\") return cont();\\n if (type == \\\"(\\\") return pass(expression);\\n return pass(importSpec, maybeMoreImports, maybeFrom);\\n }\\n function importSpec(type, value) {\\n if (type == \\\"{\\\") return contCommasep(importSpec, \\\"}\\\");\\n if (type == \\\"variable\\\") register(value);\\n if (value == \\\"*\\\") cx.marked = \\\"keyword\\\";\\n return cont(maybeAs);\\n }\\n function maybeMoreImports(type) {\\n if (type == \\\",\\\") return cont(importSpec, maybeMoreImports)\\n }\\n function maybeAs(_type, value) {\\n if (value == \\\"as\\\") { cx.marked = \\\"keyword\\\"; return cont(importSpec); }\\n }\\n function maybeFrom(_type, value) {\\n if (value == \\\"from\\\") { cx.marked = \\\"keyword\\\"; return cont(expression); }\\n }\\n function arrayLiteral(type) {\\n if (type == \\\"]\\\") return cont();\\n return pass(commasep(expressionNoComma, \\\"]\\\"));\\n }\\n function enumdef() {\\n return pass(pushlex(\\\"form\\\"), pattern, expect(\\\"{\\\"), pushlex(\\\"}\\\"), commasep(enummember, \\\"}\\\"), poplex, poplex)\\n }\\n function enummember() {\\n return pass(pattern, maybeAssign);\\n }\\n\\n function isContinuedStatement(state, textAfter) {\\n return state.lastType == \\\"operator\\\" || state.lastType == \\\",\\\" ||\\n isOperatorChar.test(textAfter.charAt(0)) ||\\n /[,.]/.test(textAfter.charAt(0));\\n }\\n\\n function expressionAllowed(stream, state, backUp) {\\n return state.tokenize == tokenBase &&\\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\\\[{}\\\\(,;:]|=>)$/.test(state.lastType) ||\\n (state.lastType == \\\"quasi\\\" && /\\\\{\\\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\\n }\\n\\n // Interface\\n\\n return {\\n startState: function(basecolumn) {\\n var state = {\\n tokenize: tokenBase,\\n lastType: \\\"sof\\\",\\n cc: [],\\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \\\"block\\\", false),\\n localVars: parserConfig.localVars,\\n context: parserConfig.localVars && new Context(null, null, false),\\n indented: basecolumn || 0\\n };\\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \\\"object\\\")\\n state.globalVars = parserConfig.globalVars;\\n return state;\\n },\\n\\n token: function(stream, state) {\\n if (stream.sol()) {\\n if (!state.lexical.hasOwnProperty(\\\"align\\\"))\\n state.lexical.align = false;\\n state.indented = stream.indentation();\\n findFatArrow(stream, state);\\n }\\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\\n var style = state.tokenize(stream, state);\\n if (type == \\\"comment\\\") return style;\\n state.lastType = type == \\\"operator\\\" && (content == \\\"++\\\" || content == \\\"--\\\") ? \\\"incdec\\\" : type;\\n return parseJS(state, style, type, content, stream);\\n },\\n\\n indent: function(state, textAfter) {\\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\\n if (state.tokenize != tokenBase) return 0;\\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\\n if (!/^\\\\s*else\\\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\\n var c = state.cc[i];\\n if (c == poplex) lexical = lexical.prev;\\n else if (c != maybeelse) break;\\n }\\n while ((lexical.type == \\\"stat\\\" || lexical.type == \\\"form\\\") &&\\n (firstChar == \\\"}\\\" || ((top = state.cc[state.cc.length - 1]) &&\\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\\n !/^[,\\\\.=+\\\\-*:?[\\\\(]/.test(textAfter))))\\n lexical = lexical.prev;\\n if (statementIndent && lexical.type == \\\")\\\" && lexical.prev.type == \\\"stat\\\")\\n lexical = lexical.prev;\\n var type = lexical.type, closing = firstChar == type;\\n\\n if (type == \\\"vardef\\\") return lexical.indented + (state.lastType == \\\"operator\\\" || state.lastType == \\\",\\\" ? lexical.info.length + 1 : 0);\\n else if (type == \\\"form\\\" && firstChar == \\\"{\\\") return lexical.indented;\\n else if (type == \\\"form\\\") return lexical.indented + indentUnit;\\n else if (type == \\\"stat\\\")\\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\\n else if (lexical.info == \\\"switch\\\" && !closing && parserConfig.doubleIndentSwitch != false)\\n return lexical.indented + (/^(?:case|default)\\\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\\n else return lexical.indented + (closing ? 0 : indentUnit);\\n },\\n\\n electricInput: /^\\\\s*(?:case .*?:|default:|\\\\{|\\\\})$/,\\n blockCommentStart: jsonMode ? null : \\\"/*\\\",\\n blockCommentEnd: jsonMode ? null : \\\"*/\\\",\\n blockCommentContinue: jsonMode ? null : \\\" * \\\",\\n lineComment: jsonMode ? null : \\\"//\\\",\\n fold: \\\"brace\\\",\\n closeBrackets: \\\"()[]{}''\\\\\\\"\\\\\\\"``\\\",\\n\\n helperType: jsonMode ? \\\"json\\\" : \\\"javascript\\\",\\n jsonldMode: jsonldMode,\\n jsonMode: jsonMode,\\n\\n expressionAllowed: expressionAllowed,\\n\\n skipExpression: function(state) {\\n var top = state.cc[state.cc.length - 1]\\n if (top == expression || top == expressionNoComma) state.cc.pop()\\n }\\n };\\n});\\n\\nCodeMirror.registerHelper(\\\"wordChars\\\", \\\"javascript\\\", /[\\\\w$]/);\\n\\nCodeMirror.defineMIME(\\\"text/javascript\\\", \\\"javascript\\\");\\nCodeMirror.defineMIME(\\\"text/ecmascript\\\", \\\"javascript\\\");\\nCodeMirror.defineMIME(\\\"application/javascript\\\", \\\"javascript\\\");\\nCodeMirror.defineMIME(\\\"application/x-javascript\\\", \\\"javascript\\\");\\nCodeMirror.defineMIME(\\\"application/ecmascript\\\", \\\"javascript\\\");\\nCodeMirror.defineMIME(\\\"application/json\\\", { name: \\\"javascript\\\", json: true });\\nCodeMirror.defineMIME(\\\"application/x-json\\\", { name: \\\"javascript\\\", json: true });\\nCodeMirror.defineMIME(\\\"application/manifest+json\\\", { name: \\\"javascript\\\", json: true })\\nCodeMirror.defineMIME(\\\"application/ld+json\\\", { name: \\\"javascript\\\", jsonld: true });\\nCodeMirror.defineMIME(\\\"text/typescript\\\", { name: \\\"javascript\\\", typescript: true });\\nCodeMirror.defineMIME(\\\"application/typescript\\\", { name: \\\"javascript\\\", typescript: true });\\n\\n});\\n\",\"\\\"use strict\\\";\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar codemirror_1 = __importDefault(require(\\\"codemirror\\\"));\\nvar graphql_language_service_parser_1 = require(\\\"graphql-language-service-parser\\\");\\ncodemirror_1.default.defineMode('graphql-results', function (config) {\\n var parser = graphql_language_service_parser_1.onlineParser({\\n eatWhitespace: function (stream) { return stream.eatSpace(); },\\n lexRules: LexRules,\\n parseRules: ParseRules,\\n editorConfig: { tabSize: config.tabSize },\\n });\\n return {\\n config: config,\\n startState: parser.startState,\\n token: parser.token,\\n indent: indent,\\n electricInput: /^\\\\s*[}\\\\]]/,\\n fold: 'brace',\\n closeBrackets: {\\n pairs: '[]{}\\\"\\\"',\\n explode: '[]{}',\\n },\\n };\\n});\\nfunction indent(state, textAfter) {\\n var _a, _b;\\n var levels = state.levels;\\n var level = !levels || levels.length === 0\\n ? state.indentLevel\\n : levels[levels.length - 1] -\\n (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);\\n return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);\\n}\\nvar LexRules = {\\n Punctuation: /^\\\\[|]|\\\\{|\\\\}|:|,/,\\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\\n String: /^\\\"(?:[^\\\"\\\\\\\\]|\\\\\\\\(?:\\\"|\\\\/|\\\\\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\\\"?/,\\n Keyword: /^true|false|null/,\\n};\\nvar ParseRules = {\\n Document: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('Entry', graphql_language_service_parser_1.p(',')), graphql_language_service_parser_1.p('}')],\\n Entry: [graphql_language_service_parser_1.t('String', 'def'), graphql_language_service_parser_1.p(':'), 'Value'],\\n Value: function (token) {\\n switch (token.kind) {\\n case 'Number':\\n return 'NumberValue';\\n case 'String':\\n return 'StringValue';\\n case 'Punctuation':\\n switch (token.value) {\\n case '[':\\n return 'ListValue';\\n case '{':\\n return 'ObjectValue';\\n }\\n return null;\\n case 'Keyword':\\n switch (token.value) {\\n case 'true':\\n case 'false':\\n return 'BooleanValue';\\n case 'null':\\n return 'NullValue';\\n }\\n return null;\\n }\\n },\\n NumberValue: [graphql_language_service_parser_1.t('Number', 'number')],\\n StringValue: [graphql_language_service_parser_1.t('String', 'string')],\\n BooleanValue: [graphql_language_service_parser_1.t('Keyword', 'builtin')],\\n NullValue: [graphql_language_service_parser_1.t('Keyword', 'keyword')],\\n ListValue: [graphql_language_service_parser_1.p('['), graphql_language_service_parser_1.list('Value', graphql_language_service_parser_1.p(',')), graphql_language_service_parser_1.p(']')],\\n ObjectValue: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('ObjectField', graphql_language_service_parser_1.p(',')), graphql_language_service_parser_1.p('}')],\\n ObjectField: [graphql_language_service_parser_1.t('String', 'property'), graphql_language_service_parser_1.p(':'), 'Value'],\\n};\\n//# sourceMappingURL=mode.js.map\",\"'use strict';\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nexports.defaultValue = defaultValue;\\n\\nvar _react = require('react');\\n\\nvar React = _interopRequireWildcard(_react);\\n\\nvar _graphql = require('graphql');\\n\\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\n// TODO: 1. Add default fields recursively\\n// TODO: 2. Add default fields for all selections (not just fragments)\\n// TODO: 3. Add stylesheet and remove inline styles\\n// TODO: 4. Indication of when query in explorer diverges from query in editor pane\\n// TODO: 5. Separate section for deprecated args, with support for 'beta' fields\\n// TODO: 6. Custom default arg fields\\n\\n// Note: Attempted 1. and 2., but they were more annoying than helpful\\n\\nfunction capitalize(string) {\\n return string.charAt(0).toUpperCase() + string.slice(1);\\n}\\n\\n// Names match class names in graphiql app.css\\n// https://github.com/graphql/graphiql/blob/master/packages/graphiql/css/app.css\\nvar defaultColors = {\\n keyword: '#B11A04',\\n // OperationName, FragmentName\\n def: '#D2054E',\\n // FieldName\\n property: '#1F61A0',\\n // FieldAlias\\n qualifier: '#1C92A9',\\n // ArgumentName and ObjectFieldName\\n attribute: '#8B2BB9',\\n number: '#2882F9',\\n string: '#D64292',\\n // Boolean\\n builtin: '#D47509',\\n // Enum\\n string2: '#0B7FC7',\\n variable: '#397D13',\\n // Type\\n atom: '#CA9800'\\n};\\n\\nvar defaultArrowOpen = React.createElement(\\n 'svg',\\n { width: '12', height: '9' },\\n React.createElement('path', { fill: '#666', d: 'M 0 2 L 9 2 L 4.5 7.5 z' })\\n);\\n\\nvar defaultArrowClosed = React.createElement(\\n 'svg',\\n { width: '12', height: '9' },\\n React.createElement('path', { fill: '#666', d: 'M 0 0 L 0 9 L 5.5 4.5 z' })\\n);\\n\\nvar defaultCheckboxChecked = React.createElement(\\n 'svg',\\n {\\n style: { marginRight: '3px', marginLeft: '-3px' },\\n width: '12',\\n height: '12',\\n viewBox: '0 0 18 18',\\n fill: 'none',\\n xmlns: 'http://www.w3.org/2000/svg' },\\n React.createElement('path', {\\n d: 'M16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16V2C18 0.9 17.1 0 16 0ZM16 16H2V2H16V16ZM14.99 6L13.58 4.58L6.99 11.17L4.41 8.6L2.99 10.01L6.99 14L14.99 6Z',\\n fill: '#666'\\n })\\n);\\n\\nvar defaultCheckboxUnchecked = React.createElement(\\n 'svg',\\n {\\n style: { marginRight: '3px', marginLeft: '-3px' },\\n width: '12',\\n height: '12',\\n viewBox: '0 0 18 18',\\n fill: 'none',\\n xmlns: 'http://www.w3.org/2000/svg' },\\n React.createElement('path', {\\n d: 'M16 2V16H2V2H16ZM16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16V2C18 0.9 17.1 0 16 0Z',\\n fill: '#CCC'\\n })\\n);\\n\\nfunction Checkbox(props) {\\n return props.checked ? props.styleConfig.checkboxChecked : props.styleConfig.checkboxUnchecked;\\n}\\n\\nfunction defaultGetDefaultFieldNames(type) {\\n var fields = type.getFields();\\n\\n // Is there an `id` field?\\n if (fields['id']) {\\n var res = ['id'];\\n if (fields['email']) {\\n res.push('email');\\n } else if (fields['name']) {\\n res.push('name');\\n }\\n return res;\\n }\\n\\n // Is there an `edges` field?\\n if (fields['edges']) {\\n return ['edges'];\\n }\\n\\n // Is there an `node` field?\\n if (fields['node']) {\\n return ['node'];\\n }\\n\\n if (fields['nodes']) {\\n return ['nodes'];\\n }\\n\\n // Include all leaf-type fields.\\n var leafFieldNames = [];\\n Object.keys(fields).forEach(function (fieldName) {\\n if ((0, _graphql.isLeafType)(fields[fieldName].type)) {\\n leafFieldNames.push(fieldName);\\n }\\n });\\n\\n if (!leafFieldNames.length) {\\n // No leaf fields, add typename so that the query stays valid\\n return ['__typename'];\\n }\\n return leafFieldNames.slice(0, 2); // Prevent too many fields from being added\\n}\\n\\nfunction isRequiredArgument(arg) {\\n return (0, _graphql.isNonNullType)(arg.type) && arg.defaultValue === undefined;\\n}\\n\\nfunction unwrapOutputType(outputType) {\\n var unwrappedType = outputType;\\n while ((0, _graphql.isWrappingType)(unwrappedType)) {\\n unwrappedType = unwrappedType.ofType;\\n }\\n return unwrappedType;\\n}\\n\\nfunction unwrapInputType(inputType) {\\n var unwrappedType = inputType;\\n while ((0, _graphql.isWrappingType)(unwrappedType)) {\\n unwrappedType = unwrappedType.ofType;\\n }\\n return unwrappedType;\\n}\\n\\nfunction coerceArgValue(argType, value) {\\n // Handle the case where we're setting a variable as the value\\n if (typeof value !== 'string' && value.kind === 'VariableDefinition') {\\n return value.variable;\\n } else if ((0, _graphql.isScalarType)(argType)) {\\n try {\\n switch (argType.name) {\\n case 'String':\\n return {\\n kind: 'StringValue',\\n value: String(argType.parseValue(value))\\n };\\n case 'Float':\\n return {\\n kind: 'FloatValue',\\n value: String(argType.parseValue(parseFloat(value)))\\n };\\n case 'Int':\\n return {\\n kind: 'IntValue',\\n value: String(argType.parseValue(parseInt(value, 10)))\\n };\\n case 'Boolean':\\n try {\\n var parsed = JSON.parse(value);\\n if (typeof parsed === 'boolean') {\\n return { kind: 'BooleanValue', value: parsed };\\n } else {\\n return { kind: 'BooleanValue', value: false };\\n }\\n } catch (e) {\\n return {\\n kind: 'BooleanValue',\\n value: false\\n };\\n }\\n default:\\n return {\\n kind: 'StringValue',\\n value: String(argType.parseValue(value))\\n };\\n }\\n } catch (e) {\\n console.error('error coercing arg value', e, value);\\n return { kind: 'StringValue', value: value };\\n }\\n } else {\\n try {\\n var parsedValue = argType.parseValue(value);\\n if (parsedValue) {\\n return { kind: 'EnumValue', value: String(parsedValue) };\\n } else {\\n return { kind: 'EnumValue', value: argType.getValues()[0].name };\\n }\\n } catch (e) {\\n return { kind: 'EnumValue', value: argType.getValues()[0].name };\\n }\\n }\\n}\\n\\nvar InputArgView = function (_React$PureComponent) {\\n _inherits(InputArgView, _React$PureComponent);\\n\\n function InputArgView() {\\n var _ref;\\n\\n var _temp, _this, _ret;\\n\\n _classCallCheck(this, InputArgView);\\n\\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\\n args[_key] = arguments[_key];\\n }\\n\\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = InputArgView.__proto__ || Object.getPrototypeOf(InputArgView)).call.apply(_ref, [this].concat(args))), _this), _this._getArgSelection = function () {\\n return _this.props.selection.fields.find(function (field) {\\n return field.name.value === _this.props.arg.name;\\n });\\n }, _this._removeArg = function () {\\n var selection = _this.props.selection;\\n\\n var argSelection = _this._getArgSelection();\\n _this._previousArgSelection = argSelection;\\n _this.props.modifyFields(selection.fields.filter(function (field) {\\n return field !== argSelection;\\n }), true);\\n }, _this._addArg = function () {\\n var _this$props = _this.props,\\n selection = _this$props.selection,\\n arg = _this$props.arg,\\n getDefaultScalarArgValue = _this$props.getDefaultScalarArgValue,\\n parentField = _this$props.parentField,\\n makeDefaultArg = _this$props.makeDefaultArg;\\n\\n var argType = unwrapInputType(arg.type);\\n\\n var argSelection = null;\\n if (_this._previousArgSelection) {\\n argSelection = _this._previousArgSelection;\\n } else if ((0, _graphql.isInputObjectType)(argType)) {\\n var _fields = argType.getFields();\\n argSelection = {\\n kind: 'ObjectField',\\n name: { kind: 'Name', value: arg.name },\\n value: {\\n kind: 'ObjectValue',\\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, Object.keys(_fields).map(function (k) {\\n return _fields[k];\\n }))\\n }\\n };\\n } else if ((0, _graphql.isLeafType)(argType)) {\\n argSelection = {\\n kind: 'ObjectField',\\n name: { kind: 'Name', value: arg.name },\\n value: getDefaultScalarArgValue(parentField, arg, argType)\\n };\\n }\\n\\n if (!argSelection) {\\n console.error('Unable to add arg for argType', argType);\\n } else {\\n return _this.props.modifyFields([].concat(_toConsumableArray(selection.fields || []), [argSelection]), true);\\n }\\n }, _this._setArgValue = function (event, options) {\\n var settingToNull = false;\\n var settingToVariable = false;\\n var settingToLiteralValue = false;\\n try {\\n if (event.kind === 'VariableDefinition') {\\n settingToVariable = true;\\n } else if (event === null || typeof event === 'undefined') {\\n settingToNull = true;\\n } else if (typeof event.kind === 'string') {\\n settingToLiteralValue = true;\\n }\\n } catch (e) {}\\n\\n var selection = _this.props.selection;\\n\\n\\n var argSelection = _this._getArgSelection();\\n\\n if (!argSelection) {\\n console.error('missing arg selection when setting arg value');\\n return;\\n }\\n var argType = unwrapInputType(_this.props.arg.type);\\n\\n var handleable = (0, _graphql.isLeafType)(argType) || settingToVariable || settingToNull || settingToLiteralValue;\\n\\n if (!handleable) {\\n console.warn('Unable to handle non leaf types in InputArgView.setArgValue', event);\\n return;\\n }\\n var targetValue = void 0;\\n var value = void 0;\\n\\n if (event === null || typeof event === 'undefined') {\\n value = null;\\n } else if (!event.target && !!event.kind && event.kind === 'VariableDefinition') {\\n targetValue = event;\\n value = targetValue.variable;\\n } else if (typeof event.kind === 'string') {\\n value = event;\\n } else if (event.target && typeof event.target.value === 'string') {\\n targetValue = event.target.value;\\n value = coerceArgValue(argType, targetValue);\\n }\\n\\n var newDoc = _this.props.modifyFields((selection.fields || []).map(function (field) {\\n var isTarget = field === argSelection;\\n var newField = isTarget ? _extends({}, field, {\\n value: value\\n }) : field;\\n\\n return newField;\\n }), options);\\n\\n return newDoc;\\n }, _this._modifyChildFields = function (fields) {\\n return _this.props.modifyFields(_this.props.selection.fields.map(function (field) {\\n return field.name.value === _this.props.arg.name ? _extends({}, field, {\\n value: {\\n kind: 'ObjectValue',\\n fields: fields\\n }\\n }) : field;\\n }), true);\\n }, _temp), _possibleConstructorReturn(_this, _ret);\\n }\\n\\n _createClass(InputArgView, [{\\n key: 'render',\\n value: function render() {\\n var _props = this.props,\\n arg = _props.arg,\\n parentField = _props.parentField;\\n\\n var argSelection = this._getArgSelection();\\n\\n return React.createElement(AbstractArgView, {\\n argValue: argSelection ? argSelection.value : null,\\n arg: arg,\\n parentField: parentField,\\n addArg: this._addArg,\\n removeArg: this._removeArg,\\n setArgFields: this._modifyChildFields,\\n setArgValue: this._setArgValue,\\n getDefaultScalarArgValue: this.props.getDefaultScalarArgValue,\\n makeDefaultArg: this.props.makeDefaultArg,\\n onRunOperation: this.props.onRunOperation,\\n styleConfig: this.props.styleConfig,\\n onCommit: this.props.onCommit,\\n definition: this.props.definition\\n });\\n }\\n }]);\\n\\n return InputArgView;\\n}(React.PureComponent);\\n\\nfunction defaultValue(argType) {\\n if ((0, _graphql.isEnumType)(argType)) {\\n return { kind: 'EnumValue', value: argType.getValues()[0].name };\\n } else {\\n switch (argType.name) {\\n case 'String':\\n return { kind: 'StringValue', value: '' };\\n case 'Float':\\n return { kind: 'FloatValue', value: '1.5' };\\n case 'Int':\\n return { kind: 'IntValue', value: '10' };\\n case 'Boolean':\\n return { kind: 'BooleanValue', value: false };\\n default:\\n return { kind: 'StringValue', value: '' };\\n }\\n }\\n}\\n\\nfunction defaultGetDefaultScalarArgValue(parentField, arg, argType) {\\n return defaultValue(argType);\\n}\\n\\nvar ArgView = function (_React$PureComponent2) {\\n _inherits(ArgView, _React$PureComponent2);\\n\\n function ArgView() {\\n var _ref2;\\n\\n var _temp2, _this2, _ret2;\\n\\n _classCallCheck(this, ArgView);\\n\\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\\n args[_key2] = arguments[_key2];\\n }\\n\\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = ArgView.__proto__ || Object.getPrototypeOf(ArgView)).call.apply(_ref2, [this].concat(args))), _this2), _this2._getArgSelection = function () {\\n var selection = _this2.props.selection;\\n\\n\\n return (selection.arguments || []).find(function (arg) {\\n return arg.name.value === _this2.props.arg.name;\\n });\\n }, _this2._removeArg = function (commit) {\\n var selection = _this2.props.selection;\\n\\n var argSelection = _this2._getArgSelection();\\n _this2._previousArgSelection = argSelection;\\n return _this2.props.modifyArguments((selection.arguments || []).filter(function (arg) {\\n return arg !== argSelection;\\n }), commit);\\n }, _this2._addArg = function (commit) {\\n var _this2$props = _this2.props,\\n selection = _this2$props.selection,\\n getDefaultScalarArgValue = _this2$props.getDefaultScalarArgValue,\\n makeDefaultArg = _this2$props.makeDefaultArg,\\n parentField = _this2$props.parentField,\\n arg = _this2$props.arg;\\n\\n var argType = unwrapInputType(arg.type);\\n\\n var argSelection = null;\\n if (_this2._previousArgSelection) {\\n argSelection = _this2._previousArgSelection;\\n } else if ((0, _graphql.isInputObjectType)(argType)) {\\n var _fields2 = argType.getFields();\\n argSelection = {\\n kind: 'Argument',\\n name: { kind: 'Name', value: arg.name },\\n value: {\\n kind: 'ObjectValue',\\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, Object.keys(_fields2).map(function (k) {\\n return _fields2[k];\\n }))\\n }\\n };\\n } else if ((0, _graphql.isLeafType)(argType)) {\\n argSelection = {\\n kind: 'Argument',\\n name: { kind: 'Name', value: arg.name },\\n value: getDefaultScalarArgValue(parentField, arg, argType)\\n };\\n }\\n\\n if (!argSelection) {\\n console.error('Unable to add arg for argType', argType);\\n return null;\\n } else {\\n return _this2.props.modifyArguments([].concat(_toConsumableArray(selection.arguments || []), [argSelection]), commit);\\n }\\n }, _this2._setArgValue = function (event, options) {\\n var settingToNull = false;\\n var settingToVariable = false;\\n var settingToLiteralValue = false;\\n try {\\n if (event.kind === 'VariableDefinition') {\\n settingToVariable = true;\\n } else if (event === null || typeof event === 'undefined') {\\n settingToNull = true;\\n } else if (typeof event.kind === 'string') {\\n settingToLiteralValue = true;\\n }\\n } catch (e) {}\\n var selection = _this2.props.selection;\\n\\n var argSelection = _this2._getArgSelection();\\n if (!argSelection && !settingToVariable) {\\n console.error('missing arg selection when setting arg value');\\n return;\\n }\\n var argType = unwrapInputType(_this2.props.arg.type);\\n\\n var handleable = (0, _graphql.isLeafType)(argType) || settingToVariable || settingToNull || settingToLiteralValue;\\n\\n if (!handleable) {\\n console.warn('Unable to handle non leaf types in ArgView._setArgValue');\\n return;\\n }\\n\\n var targetValue = void 0;\\n var value = void 0;\\n\\n if (event === null || typeof event === 'undefined') {\\n value = null;\\n } else if (event.target && typeof event.target.value === 'string') {\\n targetValue = event.target.value;\\n value = coerceArgValue(argType, targetValue);\\n } else if (!event.target && event.kind === 'VariableDefinition') {\\n targetValue = event;\\n value = targetValue.variable;\\n } else if (typeof event.kind === 'string') {\\n value = event;\\n }\\n\\n return _this2.props.modifyArguments((selection.arguments || []).map(function (a) {\\n return a === argSelection ? _extends({}, a, {\\n value: value\\n }) : a;\\n }), options);\\n }, _this2._setArgFields = function (fields, commit) {\\n var selection = _this2.props.selection;\\n\\n var argSelection = _this2._getArgSelection();\\n if (!argSelection) {\\n console.error('missing arg selection when setting arg value');\\n return;\\n }\\n\\n return _this2.props.modifyArguments((selection.arguments || []).map(function (a) {\\n return a === argSelection ? _extends({}, a, {\\n value: {\\n kind: 'ObjectValue',\\n fields: fields\\n }\\n }) : a;\\n }), commit);\\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\\n }\\n\\n _createClass(ArgView, [{\\n key: 'render',\\n value: function render() {\\n var _props2 = this.props,\\n arg = _props2.arg,\\n parentField = _props2.parentField;\\n\\n var argSelection = this._getArgSelection();\\n\\n return React.createElement(AbstractArgView, {\\n argValue: argSelection ? argSelection.value : null,\\n arg: arg,\\n parentField: parentField,\\n addArg: this._addArg,\\n removeArg: this._removeArg,\\n setArgFields: this._setArgFields,\\n setArgValue: this._setArgValue,\\n getDefaultScalarArgValue: this.props.getDefaultScalarArgValue,\\n makeDefaultArg: this.props.makeDefaultArg,\\n onRunOperation: this.props.onRunOperation,\\n styleConfig: this.props.styleConfig,\\n onCommit: this.props.onCommit,\\n definition: this.props.definition\\n });\\n }\\n }]);\\n\\n return ArgView;\\n}(React.PureComponent);\\n\\nfunction isRunShortcut(event) {\\n return event.ctrlKey && event.key === 'Enter';\\n}\\n\\nfunction canRunOperation(operationName) {\\n // it does not make sense to try to execute a fragment\\n return operationName !== 'FragmentDefinition';\\n}\\n\\nvar ScalarInput = function (_React$PureComponent3) {\\n _inherits(ScalarInput, _React$PureComponent3);\\n\\n function ScalarInput() {\\n var _ref3;\\n\\n var _temp3, _this3, _ret3;\\n\\n _classCallCheck(this, ScalarInput);\\n\\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\\n args[_key3] = arguments[_key3];\\n }\\n\\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = ScalarInput.__proto__ || Object.getPrototypeOf(ScalarInput)).call.apply(_ref3, [this].concat(args))), _this3), _this3._handleChange = function (event) {\\n _this3.props.setArgValue(event, true);\\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\\n }\\n\\n _createClass(ScalarInput, [{\\n key: 'componentDidMount',\\n value: function componentDidMount() {\\n var input = this._ref;\\n var activeElement = document.activeElement;\\n if (input && activeElement && !(activeElement instanceof HTMLTextAreaElement)) {\\n input.focus();\\n input.setSelectionRange(0, input.value.length);\\n }\\n }\\n }, {\\n key: 'render',\\n value: function render() {\\n var _this4 = this;\\n\\n var _props3 = this.props,\\n arg = _props3.arg,\\n argValue = _props3.argValue,\\n styleConfig = _props3.styleConfig;\\n\\n var argType = unwrapInputType(arg.type);\\n var value = typeof argValue.value === 'string' ? argValue.value : '';\\n var color = this.props.argValue.kind === 'StringValue' ? styleConfig.colors.string : styleConfig.colors.number;\\n return React.createElement(\\n 'span',\\n { style: { color: color } },\\n argType.name === 'String' ? '\\\"' : '',\\n React.createElement('input', {\\n style: {\\n border: 'none',\\n borderBottom: '1px solid #888',\\n outline: 'none',\\n width: Math.max(1, Math.min(15, value.length)) + 'ch',\\n color: color\\n },\\n ref: function ref(_ref4) {\\n _this4._ref = _ref4;\\n },\\n type: 'text',\\n onChange: this._handleChange,\\n value: value\\n }),\\n argType.name === 'String' ? '\\\"' : ''\\n );\\n }\\n }]);\\n\\n return ScalarInput;\\n}(React.PureComponent);\\n\\nvar AbstractArgView = function (_React$PureComponent4) {\\n _inherits(AbstractArgView, _React$PureComponent4);\\n\\n function AbstractArgView() {\\n var _ref5;\\n\\n var _temp4, _this5, _ret4;\\n\\n _classCallCheck(this, AbstractArgView);\\n\\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\\n args[_key4] = arguments[_key4];\\n }\\n\\n return _ret4 = (_temp4 = (_this5 = _possibleConstructorReturn(this, (_ref5 = AbstractArgView.__proto__ || Object.getPrototypeOf(AbstractArgView)).call.apply(_ref5, [this].concat(args))), _this5), _this5.state = { displayArgActions: false }, _temp4), _possibleConstructorReturn(_this5, _ret4);\\n }\\n\\n _createClass(AbstractArgView, [{\\n key: 'render',\\n value: function render() {\\n var _this6 = this;\\n\\n var _props4 = this.props,\\n argValue = _props4.argValue,\\n arg = _props4.arg,\\n styleConfig = _props4.styleConfig;\\n /* TODO: handle List types*/\\n\\n var argType = unwrapInputType(arg.type);\\n\\n var input = null;\\n if (argValue) {\\n if (argValue.kind === 'Variable') {\\n input = React.createElement(\\n 'span',\\n { style: { color: styleConfig.colors.variable } },\\n '$',\\n argValue.name.value\\n );\\n } else if ((0, _graphql.isScalarType)(argType)) {\\n if (argType.name === 'Boolean') {\\n input = React.createElement(\\n 'select',\\n {\\n style: {\\n color: styleConfig.colors.builtin\\n },\\n onChange: this.props.setArgValue,\\n value: argValue.kind === 'BooleanValue' ? argValue.value : undefined },\\n React.createElement(\\n 'option',\\n { key: 'true', value: 'true' },\\n 'true'\\n ),\\n React.createElement(\\n 'option',\\n { key: 'false', value: 'false' },\\n 'false'\\n )\\n );\\n } else {\\n input = React.createElement(ScalarInput, {\\n setArgValue: this.props.setArgValue,\\n arg: arg,\\n argValue: argValue,\\n onRunOperation: this.props.onRunOperation,\\n styleConfig: this.props.styleConfig\\n });\\n }\\n } else if ((0, _graphql.isEnumType)(argType)) {\\n if (argValue.kind === 'EnumValue') {\\n input = React.createElement(\\n 'select',\\n {\\n style: {\\n backgroundColor: 'white',\\n color: styleConfig.colors.string2\\n },\\n onChange: this.props.setArgValue,\\n value: argValue.value },\\n argType.getValues().map(function (value) {\\n return React.createElement(\\n 'option',\\n { key: value.name, value: value.name },\\n value.name\\n );\\n })\\n );\\n } else {\\n console.error('arg mismatch between arg and selection', argType, argValue);\\n }\\n } else if ((0, _graphql.isInputObjectType)(argType)) {\\n if (argValue.kind === 'ObjectValue') {\\n var _fields3 = argType.getFields();\\n input = React.createElement(\\n 'div',\\n { style: { marginLeft: 16 } },\\n Object.keys(_fields3).sort().map(function (fieldName) {\\n return React.createElement(InputArgView, {\\n key: fieldName,\\n arg: _fields3[fieldName],\\n parentField: _this6.props.parentField,\\n selection: argValue,\\n modifyFields: _this6.props.setArgFields,\\n getDefaultScalarArgValue: _this6.props.getDefaultScalarArgValue,\\n makeDefaultArg: _this6.props.makeDefaultArg,\\n onRunOperation: _this6.props.onRunOperation,\\n styleConfig: _this6.props.styleConfig,\\n onCommit: _this6.props.onCommit,\\n definition: _this6.props.definition\\n });\\n })\\n );\\n } else {\\n console.error('arg mismatch between arg and selection', argType, argValue);\\n }\\n }\\n }\\n\\n var variablize = function variablize() {\\n /**\\n 1. Find current operation variables\\n 2. Find current arg value\\n 3. Create a new variable\\n 4. Replace current arg value with variable\\n 5. Add variable to operation\\n */\\n\\n var baseVariableName = arg.name;\\n var conflictingNameCount = (_this6.props.definition.variableDefinitions || []).filter(function (varDef) {\\n return varDef.variable.name.value.startsWith(baseVariableName);\\n }).length;\\n\\n var variableName = void 0;\\n if (conflictingNameCount > 0) {\\n variableName = '' + baseVariableName + conflictingNameCount;\\n } else {\\n variableName = baseVariableName;\\n }\\n // To get an AST definition of our variable from the instantiated arg,\\n // we print it to a string, then parseType to get our AST.\\n var argPrintedType = arg.type.toString();\\n var argType = (0, _graphql.parseType)(argPrintedType);\\n\\n var base = {\\n kind: 'VariableDefinition',\\n variable: {\\n kind: 'Variable',\\n name: {\\n kind: 'Name',\\n value: variableName\\n }\\n },\\n type: argType,\\n directives: []\\n };\\n\\n var variableDefinitionByName = function variableDefinitionByName(name) {\\n return (_this6.props.definition.variableDefinitions || []).find(function (varDef) {\\n return varDef.variable.name.value === name;\\n });\\n };\\n\\n var variable = void 0;\\n\\n var subVariableUsageCountByName = {};\\n\\n if (typeof argValue !== 'undefined' && argValue !== null) {\\n /** In the process of devariabilizing descendent selections,\\n * we may have caused their variable definitions to become unused.\\n * Keep track and remove any variable definitions with 1 or fewer usages.\\n * */\\n var cleanedDefaultValue = (0, _graphql.visit)(argValue, {\\n Variable: function Variable(node) {\\n var varName = node.name.value;\\n var varDef = variableDefinitionByName(varName);\\n\\n subVariableUsageCountByName[varName] = subVariableUsageCountByName[varName] + 1 || 1;\\n\\n if (!varDef) {\\n return;\\n }\\n\\n return varDef.defaultValue;\\n }\\n });\\n\\n var isNonNullable = base.type.kind === 'NonNullType';\\n\\n // We're going to give the variable definition a default value, so we must make its type nullable\\n var unwrappedBase = isNonNullable ? _extends({}, base, { type: base.type.type }) : base;\\n\\n variable = _extends({}, unwrappedBase, { defaultValue: cleanedDefaultValue });\\n } else {\\n variable = base;\\n }\\n\\n var newlyUnusedVariables = Object.entries(subVariableUsageCountByName)\\n // $FlowFixMe: Can't get Object.entries to realize usageCount *must* be a number\\n .filter(function (_ref6) {\\n var _ref7 = _slicedToArray(_ref6, 2),\\n _ = _ref7[0],\\n usageCount = _ref7[1];\\n\\n return usageCount < 2;\\n }).map(function (_ref8) {\\n var _ref9 = _slicedToArray(_ref8, 2),\\n varName = _ref9[0],\\n _ = _ref9[1];\\n\\n return varName;\\n });\\n\\n if (variable) {\\n var _newDoc = _this6.props.setArgValue(variable, false);\\n\\n if (_newDoc) {\\n var targetOperation = _newDoc.definitions.find(function (definition) {\\n if (!!definition.operation && !!definition.name && !!definition.name.value &&\\n //\\n !!_this6.props.definition.name && !!_this6.props.definition.name.value) {\\n return definition.name.value === _this6.props.definition.name.value;\\n } else {\\n return false;\\n }\\n });\\n\\n var newVariableDefinitions = [].concat(_toConsumableArray(targetOperation.variableDefinitions || []), [variable]).filter(function (varDef) {\\n return newlyUnusedVariables.indexOf(varDef.variable.name.value) === -1;\\n });\\n\\n var newOperation = _extends({}, targetOperation, {\\n variableDefinitions: newVariableDefinitions\\n });\\n\\n var existingDefs = _newDoc.definitions;\\n\\n var newDefinitions = existingDefs.map(function (existingOperation) {\\n if (targetOperation === existingOperation) {\\n return newOperation;\\n } else {\\n return existingOperation;\\n }\\n });\\n\\n var finalDoc = _extends({}, _newDoc, {\\n definitions: newDefinitions\\n });\\n\\n _this6.props.onCommit(finalDoc);\\n }\\n }\\n };\\n\\n var devariablize = function devariablize() {\\n /**\\n * 1. Find the current variable definition in the operation def\\n * 2. Extract its value\\n * 3. Replace the current arg value\\n * 4. Visit the resulting operation to see if there are any other usages of the variable\\n * 5. If not, remove the variableDefinition\\n */\\n if (!argValue || !argValue.name || !argValue.name.value) {\\n return;\\n }\\n\\n var variableName = argValue.name.value;\\n var variableDefinition = (_this6.props.definition.variableDefinitions || []).find(function (varDef) {\\n return varDef.variable.name.value === variableName;\\n });\\n\\n if (!variableDefinition) {\\n return;\\n }\\n\\n var defaultValue = variableDefinition.defaultValue;\\n\\n var newDoc = _this6.props.setArgValue(defaultValue, {\\n commit: false\\n });\\n\\n if (newDoc) {\\n var targetOperation = newDoc.definitions.find(function (definition) {\\n return definition.name.value === _this6.props.definition.name.value;\\n });\\n\\n if (!targetOperation) {\\n return;\\n }\\n\\n // After de-variabilizing, see if the variable is still in use. If not, remove it.\\n var variableUseCount = 0;\\n\\n (0, _graphql.visit)(targetOperation, {\\n Variable: function Variable(node) {\\n if (node.name.value === variableName) {\\n variableUseCount = variableUseCount + 1;\\n }\\n }\\n });\\n\\n var newVariableDefinitions = targetOperation.variableDefinitions || [];\\n\\n // A variable is in use if it shows up at least twice (once in the definition, once in the selection)\\n if (variableUseCount < 2) {\\n newVariableDefinitions = newVariableDefinitions.filter(function (varDef) {\\n return varDef.variable.name.value !== variableName;\\n });\\n }\\n\\n var newOperation = _extends({}, targetOperation, {\\n variableDefinitions: newVariableDefinitions\\n });\\n\\n var existingDefs = newDoc.definitions;\\n\\n var newDefinitions = existingDefs.map(function (existingOperation) {\\n if (targetOperation === existingOperation) {\\n return newOperation;\\n } else {\\n return existingOperation;\\n }\\n });\\n\\n var finalDoc = _extends({}, newDoc, {\\n definitions: newDefinitions\\n });\\n\\n _this6.props.onCommit(finalDoc);\\n }\\n };\\n\\n var isArgValueVariable = argValue && argValue.kind === 'Variable';\\n\\n var variablizeActionButton = !this.state.displayArgActions ? null : React.createElement(\\n 'button',\\n {\\n type: 'submit',\\n className: 'toolbar-button',\\n title: isArgValueVariable ? 'Remove the variable' : 'Extract the current value into a GraphQL variable',\\n onClick: function onClick(event) {\\n event.preventDefault();\\n event.stopPropagation();\\n\\n if (isArgValueVariable) {\\n devariablize();\\n } else {\\n variablize();\\n }\\n },\\n style: styleConfig.styles.actionButtonStyle },\\n React.createElement(\\n 'span',\\n { style: { color: styleConfig.colors.variable } },\\n '$'\\n )\\n );\\n\\n return React.createElement(\\n 'div',\\n {\\n style: {\\n cursor: 'pointer',\\n minHeight: '16px',\\n WebkitUserSelect: 'none',\\n userSelect: 'none'\\n },\\n 'data-arg-name': arg.name,\\n 'data-arg-type': argType.name,\\n className: 'graphiql-explorer-' + arg.name },\\n React.createElement(\\n 'span',\\n {\\n style: { cursor: 'pointer' },\\n onClick: function onClick(event) {\\n var shouldAdd = !argValue;\\n if (shouldAdd) {\\n _this6.props.addArg(true);\\n } else {\\n _this6.props.removeArg(true);\\n }\\n _this6.setState({ displayArgActions: shouldAdd });\\n } },\\n (0, _graphql.isInputObjectType)(argType) ? React.createElement(\\n 'span',\\n null,\\n !!argValue ? this.props.styleConfig.arrowOpen : this.props.styleConfig.arrowClosed\\n ) : React.createElement(Checkbox, {\\n checked: !!argValue,\\n styleConfig: this.props.styleConfig\\n }),\\n React.createElement(\\n 'span',\\n {\\n style: { color: styleConfig.colors.attribute },\\n title: arg.description,\\n onMouseEnter: function onMouseEnter() {\\n // Make implementation a bit easier and only show 'variablize' action if arg is already added\\n if (argValue !== null && typeof argValue !== 'undefined') {\\n _this6.setState({ displayArgActions: true });\\n }\\n },\\n onMouseLeave: function onMouseLeave() {\\n return _this6.setState({ displayArgActions: false });\\n } },\\n arg.name,\\n isRequiredArgument(arg) ? '*' : '',\\n ': ',\\n variablizeActionButton,\\n ' '\\n ),\\n ' '\\n ),\\n input || React.createElement('span', null),\\n ' '\\n );\\n }\\n }]);\\n\\n return AbstractArgView;\\n}(React.PureComponent);\\n\\nvar AbstractView = function (_React$PureComponent5) {\\n _inherits(AbstractView, _React$PureComponent5);\\n\\n function AbstractView() {\\n var _ref10;\\n\\n var _temp5, _this7, _ret5;\\n\\n _classCallCheck(this, AbstractView);\\n\\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\\n args[_key5] = arguments[_key5];\\n }\\n\\n return _ret5 = (_temp5 = (_this7 = _possibleConstructorReturn(this, (_ref10 = AbstractView.__proto__ || Object.getPrototypeOf(AbstractView)).call.apply(_ref10, [this].concat(args))), _this7), _this7._addFragment = function () {\\n _this7.props.modifySelections([].concat(_toConsumableArray(_this7.props.selections), [_this7._previousSelection || {\\n kind: 'InlineFragment',\\n typeCondition: {\\n kind: 'NamedType',\\n name: { kind: 'Name', value: _this7.props.implementingType.name }\\n },\\n selectionSet: {\\n kind: 'SelectionSet',\\n selections: _this7.props.getDefaultFieldNames(_this7.props.implementingType).map(function (fieldName) {\\n return {\\n kind: 'Field',\\n name: { kind: 'Name', value: fieldName }\\n };\\n })\\n }\\n }]));\\n }, _this7._removeFragment = function () {\\n var thisSelection = _this7._getSelection();\\n _this7._previousSelection = thisSelection;\\n _this7.props.modifySelections(_this7.props.selections.filter(function (s) {\\n return s !== thisSelection;\\n }));\\n }, _this7._getSelection = function () {\\n var selection = _this7.props.selections.find(function (selection) {\\n return selection.kind === 'InlineFragment' && selection.typeCondition && _this7.props.implementingType.name === selection.typeCondition.name.value;\\n });\\n if (!selection) {\\n return null;\\n }\\n if (selection.kind === 'InlineFragment') {\\n return selection;\\n }\\n }, _this7._modifyChildSelections = function (selections, options) {\\n var thisSelection = _this7._getSelection();\\n return _this7.props.modifySelections(_this7.props.selections.map(function (selection) {\\n if (selection === thisSelection) {\\n return {\\n directives: selection.directives,\\n kind: 'InlineFragment',\\n typeCondition: {\\n kind: 'NamedType',\\n name: { kind: 'Name', value: _this7.props.implementingType.name }\\n },\\n selectionSet: {\\n kind: 'SelectionSet',\\n selections: selections\\n }\\n };\\n }\\n return selection;\\n }), options);\\n }, _temp5), _possibleConstructorReturn(_this7, _ret5);\\n }\\n\\n _createClass(AbstractView, [{\\n key: 'render',\\n value: function render() {\\n var _this8 = this;\\n\\n var _props5 = this.props,\\n implementingType = _props5.implementingType,\\n schema = _props5.schema,\\n getDefaultFieldNames = _props5.getDefaultFieldNames,\\n styleConfig = _props5.styleConfig;\\n\\n var selection = this._getSelection();\\n var fields = implementingType.getFields();\\n var childSelections = selection ? selection.selectionSet ? selection.selectionSet.selections : [] : [];\\n\\n return React.createElement(\\n 'div',\\n { className: 'graphiql-explorer-' + implementingType.name },\\n React.createElement(\\n 'span',\\n {\\n style: { cursor: 'pointer' },\\n onClick: selection ? this._removeFragment : this._addFragment },\\n React.createElement(Checkbox, {\\n checked: !!selection,\\n styleConfig: this.props.styleConfig\\n }),\\n React.createElement(\\n 'span',\\n { style: { color: styleConfig.colors.atom } },\\n this.props.implementingType.name\\n )\\n ),\\n selection ? React.createElement(\\n 'div',\\n { style: { marginLeft: 16 } },\\n Object.keys(fields).sort().map(function (fieldName) {\\n return React.createElement(FieldView, {\\n key: fieldName,\\n field: fields[fieldName],\\n selections: childSelections,\\n modifySelections: _this8._modifyChildSelections,\\n schema: schema,\\n getDefaultFieldNames: getDefaultFieldNames,\\n getDefaultScalarArgValue: _this8.props.getDefaultScalarArgValue,\\n makeDefaultArg: _this8.props.makeDefaultArg,\\n onRunOperation: _this8.props.onRunOperation,\\n onCommit: _this8.props.onCommit,\\n styleConfig: _this8.props.styleConfig,\\n definition: _this8.props.definition,\\n availableFragments: _this8.props.availableFragments\\n });\\n })\\n ) : null\\n );\\n }\\n }]);\\n\\n return AbstractView;\\n}(React.PureComponent);\\n\\nvar FragmentView = function (_React$PureComponent6) {\\n _inherits(FragmentView, _React$PureComponent6);\\n\\n function FragmentView() {\\n var _ref11;\\n\\n var _temp6, _this9, _ret6;\\n\\n _classCallCheck(this, FragmentView);\\n\\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\\n args[_key6] = arguments[_key6];\\n }\\n\\n return _ret6 = (_temp6 = (_this9 = _possibleConstructorReturn(this, (_ref11 = FragmentView.__proto__ || Object.getPrototypeOf(FragmentView)).call.apply(_ref11, [this].concat(args))), _this9), _this9._addFragment = function () {\\n _this9.props.modifySelections([].concat(_toConsumableArray(_this9.props.selections), [_this9._previousSelection || {\\n kind: 'FragmentSpread',\\n name: _this9.props.fragment.name\\n }]));\\n }, _this9._removeFragment = function () {\\n var thisSelection = _this9._getSelection();\\n _this9._previousSelection = thisSelection;\\n _this9.props.modifySelections(_this9.props.selections.filter(function (s) {\\n var isTargetSelection = s.kind === 'FragmentSpread' && s.name.value === _this9.props.fragment.name.value;\\n\\n return !isTargetSelection;\\n }));\\n }, _this9._getSelection = function () {\\n var selection = _this9.props.selections.find(function (selection) {\\n return selection.kind === 'FragmentSpread' && selection.name.value === _this9.props.fragment.name.value;\\n });\\n\\n return selection;\\n }, _temp6), _possibleConstructorReturn(_this9, _ret6);\\n }\\n\\n _createClass(FragmentView, [{\\n key: 'render',\\n value: function render() {\\n var styleConfig = this.props.styleConfig;\\n\\n var selection = this._getSelection();\\n return React.createElement(\\n 'div',\\n { className: 'graphiql-explorer-' + this.props.fragment.name.value },\\n React.createElement(\\n 'span',\\n {\\n style: { cursor: 'pointer' },\\n onClick: selection ? this._removeFragment : this._addFragment },\\n React.createElement(Checkbox, {\\n checked: !!selection,\\n styleConfig: this.props.styleConfig\\n }),\\n React.createElement(\\n 'span',\\n {\\n style: { color: styleConfig.colors.def },\\n className: 'graphiql-explorer-' + this.props.fragment.name.value },\\n this.props.fragment.name.value\\n )\\n )\\n );\\n }\\n }]);\\n\\n return FragmentView;\\n}(React.PureComponent);\\n\\nfunction defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, fields) {\\n var nodes = [];\\n var _iteratorNormalCompletion = true;\\n var _didIteratorError = false;\\n var _iteratorError = undefined;\\n\\n try {\\n for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\\n var _field = _step.value;\\n\\n if ((0, _graphql.isRequiredInputField)(_field) || makeDefaultArg && makeDefaultArg(parentField, _field)) {\\n var fieldType = unwrapInputType(_field.type);\\n if ((0, _graphql.isInputObjectType)(fieldType)) {\\n (function () {\\n var fields = fieldType.getFields();\\n nodes.push({\\n kind: 'ObjectField',\\n name: { kind: 'Name', value: _field.name },\\n value: {\\n kind: 'ObjectValue',\\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, Object.keys(fields).map(function (k) {\\n return fields[k];\\n }))\\n }\\n });\\n })();\\n } else if ((0, _graphql.isLeafType)(fieldType)) {\\n nodes.push({\\n kind: 'ObjectField',\\n name: { kind: 'Name', value: _field.name },\\n value: getDefaultScalarArgValue(parentField, _field, fieldType)\\n });\\n }\\n }\\n }\\n } catch (err) {\\n _didIteratorError = true;\\n _iteratorError = err;\\n } finally {\\n try {\\n if (!_iteratorNormalCompletion && _iterator.return) {\\n _iterator.return();\\n }\\n } finally {\\n if (_didIteratorError) {\\n throw _iteratorError;\\n }\\n }\\n }\\n\\n return nodes;\\n}\\n\\nfunction defaultArgs(getDefaultScalarArgValue, makeDefaultArg, field) {\\n var args = [];\\n var _iteratorNormalCompletion2 = true;\\n var _didIteratorError2 = false;\\n var _iteratorError2 = undefined;\\n\\n try {\\n for (var _iterator2 = field.args[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\\n var _arg = _step2.value;\\n\\n if (isRequiredArgument(_arg) || makeDefaultArg && makeDefaultArg(field, _arg)) {\\n var argType = unwrapInputType(_arg.type);\\n if ((0, _graphql.isInputObjectType)(argType)) {\\n (function () {\\n var fields = argType.getFields();\\n args.push({\\n kind: 'Argument',\\n name: { kind: 'Name', value: _arg.name },\\n value: {\\n kind: 'ObjectValue',\\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, field, Object.keys(fields).map(function (k) {\\n return fields[k];\\n }))\\n }\\n });\\n })();\\n } else if ((0, _graphql.isLeafType)(argType)) {\\n args.push({\\n kind: 'Argument',\\n name: { kind: 'Name', value: _arg.name },\\n value: getDefaultScalarArgValue(field, _arg, argType)\\n });\\n }\\n }\\n }\\n } catch (err) {\\n _didIteratorError2 = true;\\n _iteratorError2 = err;\\n } finally {\\n try {\\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\\n _iterator2.return();\\n }\\n } finally {\\n if (_didIteratorError2) {\\n throw _iteratorError2;\\n }\\n }\\n }\\n\\n return args;\\n}\\n\\nvar FieldView = function (_React$PureComponent7) {\\n _inherits(FieldView, _React$PureComponent7);\\n\\n function FieldView() {\\n var _ref12;\\n\\n var _temp7, _this10, _ret9;\\n\\n _classCallCheck(this, FieldView);\\n\\n for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\\n args[_key7] = arguments[_key7];\\n }\\n\\n return _ret9 = (_temp7 = (_this10 = _possibleConstructorReturn(this, (_ref12 = FieldView.__proto__ || Object.getPrototypeOf(FieldView)).call.apply(_ref12, [this].concat(args))), _this10), _this10.state = { displayFieldActions: false }, _this10._addAllFieldsToSelections = function (rawSubfields) {\\n var subFields = !!rawSubfields ? Object.keys(rawSubfields).map(function (fieldName) {\\n return {\\n kind: 'Field',\\n name: { kind: 'Name', value: fieldName },\\n arguments: []\\n };\\n }) : [];\\n\\n var subSelectionSet = {\\n kind: 'SelectionSet',\\n selections: subFields\\n };\\n\\n var nextSelections = [].concat(_toConsumableArray(_this10.props.selections.filter(function (selection) {\\n if (selection.kind === 'InlineFragment') {\\n return true;\\n } else {\\n // Remove the current selection set for the target field\\n return selection.name.value !== _this10.props.field.name;\\n }\\n })), [{\\n kind: 'Field',\\n name: { kind: 'Name', value: _this10.props.field.name },\\n arguments: defaultArgs(_this10.props.getDefaultScalarArgValue, _this10.props.makeDefaultArg, _this10.props.field),\\n selectionSet: subSelectionSet\\n }]);\\n\\n _this10.props.modifySelections(nextSelections);\\n }, _this10._addFieldToSelections = function (rawSubfields) {\\n var nextSelections = [].concat(_toConsumableArray(_this10.props.selections), [_this10._previousSelection || {\\n kind: 'Field',\\n name: { kind: 'Name', value: _this10.props.field.name },\\n arguments: defaultArgs(_this10.props.getDefaultScalarArgValue, _this10.props.makeDefaultArg, _this10.props.field)\\n }]);\\n\\n _this10.props.modifySelections(nextSelections);\\n }, _this10._handleUpdateSelections = function (event) {\\n var selection = _this10._getSelection();\\n if (selection && !event.altKey) {\\n _this10._removeFieldFromSelections();\\n } else {\\n var fieldType = (0, _graphql.getNamedType)(_this10.props.field.type);\\n var rawSubfields = (0, _graphql.isObjectType)(fieldType) && fieldType.getFields();\\n\\n var shouldSelectAllSubfields = !!rawSubfields && event.altKey;\\n\\n shouldSelectAllSubfields ? _this10._addAllFieldsToSelections(rawSubfields) : _this10._addFieldToSelections(rawSubfields);\\n }\\n }, _this10._removeFieldFromSelections = function () {\\n var previousSelection = _this10._getSelection();\\n _this10._previousSelection = previousSelection;\\n _this10.props.modifySelections(_this10.props.selections.filter(function (selection) {\\n return selection !== previousSelection;\\n }));\\n }, _this10._getSelection = function () {\\n var selection = _this10.props.selections.find(function (selection) {\\n return selection.kind === 'Field' && _this10.props.field.name === selection.name.value;\\n });\\n if (!selection) {\\n return null;\\n }\\n if (selection.kind === 'Field') {\\n return selection;\\n }\\n }, _this10._setArguments = function (argumentNodes, options) {\\n var selection = _this10._getSelection();\\n if (!selection) {\\n console.error('Missing selection when setting arguments', argumentNodes);\\n return;\\n }\\n return _this10.props.modifySelections(_this10.props.selections.map(function (s) {\\n return s === selection ? {\\n alias: selection.alias,\\n arguments: argumentNodes,\\n directives: selection.directives,\\n kind: 'Field',\\n name: selection.name,\\n selectionSet: selection.selectionSet\\n } : s;\\n }), options);\\n }, _this10._modifyChildSelections = function (selections, options) {\\n return _this10.props.modifySelections(_this10.props.selections.map(function (selection) {\\n if (selection.kind === 'Field' && _this10.props.field.name === selection.name.value) {\\n if (selection.kind !== 'Field') {\\n throw new Error('invalid selection');\\n }\\n return {\\n alias: selection.alias,\\n arguments: selection.arguments,\\n directives: selection.directives,\\n kind: 'Field',\\n name: selection.name,\\n selectionSet: {\\n kind: 'SelectionSet',\\n selections: selections\\n }\\n };\\n }\\n return selection;\\n }), options);\\n }, _temp7), _possibleConstructorReturn(_this10, _ret9);\\n }\\n\\n _createClass(FieldView, [{\\n key: 'render',\\n value: function render() {\\n var _this11 = this;\\n\\n var _props6 = this.props,\\n field = _props6.field,\\n schema = _props6.schema,\\n getDefaultFieldNames = _props6.getDefaultFieldNames,\\n styleConfig = _props6.styleConfig;\\n\\n var selection = this._getSelection();\\n var type = unwrapOutputType(field.type);\\n var args = field.args.sort(function (a, b) {\\n return a.name.localeCompare(b.name);\\n });\\n var className = 'graphiql-explorer-node graphiql-explorer-' + field.name;\\n\\n if (field.isDeprecated) {\\n className += ' graphiql-explorer-deprecated';\\n }\\n\\n var applicableFragments = (0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type) || (0, _graphql.isUnionType)(type) ? this.props.availableFragments && this.props.availableFragments[type.name] : null;\\n\\n var node = React.createElement(\\n 'div',\\n { className: className },\\n React.createElement(\\n 'span',\\n {\\n title: field.description,\\n style: {\\n cursor: 'pointer',\\n display: 'inline-flex',\\n alignItems: 'center',\\n minHeight: '16px',\\n WebkitUserSelect: 'none',\\n userSelect: 'none'\\n },\\n 'data-field-name': field.name,\\n 'data-field-type': type.name,\\n onClick: this._handleUpdateSelections,\\n onMouseEnter: function onMouseEnter() {\\n var containsMeaningfulSubselection = (0, _graphql.isObjectType)(type) && selection && selection.selectionSet && selection.selectionSet.selections.filter(function (selection) {\\n return selection.kind !== 'FragmentSpread';\\n }).length > 0;\\n\\n if (containsMeaningfulSubselection) {\\n _this11.setState({ displayFieldActions: true });\\n }\\n },\\n onMouseLeave: function onMouseLeave() {\\n return _this11.setState({ displayFieldActions: false });\\n } },\\n (0, _graphql.isObjectType)(type) ? React.createElement(\\n 'span',\\n null,\\n !!selection ? this.props.styleConfig.arrowOpen : this.props.styleConfig.arrowClosed\\n ) : null,\\n (0, _graphql.isObjectType)(type) ? null : React.createElement(Checkbox, {\\n checked: !!selection,\\n styleConfig: this.props.styleConfig\\n }),\\n React.createElement(\\n 'span',\\n {\\n style: { color: styleConfig.colors.property },\\n className: 'graphiql-explorer-field-view' },\\n field.name\\n ),\\n !this.state.displayFieldActions ? null : React.createElement(\\n 'button',\\n {\\n type: 'submit',\\n className: 'toolbar-button',\\n title: 'Extract selections into a new reusable fragment',\\n onClick: function onClick(event) {\\n event.preventDefault();\\n event.stopPropagation();\\n // 1. Create a fragment spread node\\n // 2. Copy selections from this object to fragment\\n // 3. Replace selections in this object with fragment spread\\n // 4. Add fragment to document\\n var typeName = type.name;\\n var newFragmentName = typeName + 'Fragment';\\n\\n var conflictingNameCount = (applicableFragments || []).filter(function (fragment) {\\n return fragment.name.value.startsWith(newFragmentName);\\n }).length;\\n\\n if (conflictingNameCount > 0) {\\n newFragmentName = '' + newFragmentName + conflictingNameCount;\\n }\\n\\n var childSelections = selection ? selection.selectionSet ? selection.selectionSet.selections : [] : [];\\n\\n var nextSelections = [{\\n kind: 'FragmentSpread',\\n name: {\\n kind: 'Name',\\n value: newFragmentName\\n },\\n directives: []\\n }];\\n\\n var newFragmentDefinition = {\\n kind: 'FragmentDefinition',\\n name: {\\n kind: 'Name',\\n value: newFragmentName\\n },\\n typeCondition: {\\n kind: 'NamedType',\\n name: {\\n kind: 'Name',\\n value: type.name\\n }\\n },\\n directives: [],\\n selectionSet: {\\n kind: 'SelectionSet',\\n selections: childSelections\\n }\\n };\\n\\n var newDoc = _this11._modifyChildSelections(nextSelections, false);\\n\\n if (newDoc) {\\n var newDocWithFragment = _extends({}, newDoc, {\\n definitions: [].concat(_toConsumableArray(newDoc.definitions), [newFragmentDefinition])\\n });\\n\\n _this11.props.onCommit(newDocWithFragment);\\n } else {\\n console.warn('Unable to complete extractFragment operation');\\n }\\n },\\n style: _extends({}, styleConfig.styles.actionButtonStyle) },\\n React.createElement(\\n 'span',\\n null,\\n '…'\\n )\\n )\\n ),\\n selection && args.length ? React.createElement(\\n 'div',\\n {\\n style: { marginLeft: 16 },\\n className: 'graphiql-explorer-graphql-arguments' },\\n args.map(function (arg) {\\n return React.createElement(ArgView, {\\n key: arg.name,\\n parentField: field,\\n arg: arg,\\n selection: selection,\\n modifyArguments: _this11._setArguments,\\n getDefaultScalarArgValue: _this11.props.getDefaultScalarArgValue,\\n makeDefaultArg: _this11.props.makeDefaultArg,\\n onRunOperation: _this11.props.onRunOperation,\\n styleConfig: _this11.props.styleConfig,\\n onCommit: _this11.props.onCommit,\\n definition: _this11.props.definition\\n });\\n })\\n ) : null\\n );\\n\\n if (selection && ((0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type) || (0, _graphql.isUnionType)(type))) {\\n var _fields4 = (0, _graphql.isUnionType)(type) ? {} : type.getFields();\\n var childSelections = selection ? selection.selectionSet ? selection.selectionSet.selections : [] : [];\\n return React.createElement(\\n 'div',\\n { className: 'graphiql-explorer-' + field.name },\\n node,\\n React.createElement(\\n 'div',\\n { style: { marginLeft: 16 } },\\n !!applicableFragments ? applicableFragments.map(function (fragment) {\\n var type = schema.getType(fragment.typeCondition.name.value);\\n var fragmentName = fragment.name.value;\\n return !type ? null : React.createElement(FragmentView, {\\n key: fragmentName,\\n fragment: fragment,\\n selections: childSelections,\\n modifySelections: _this11._modifyChildSelections,\\n schema: schema,\\n styleConfig: _this11.props.styleConfig,\\n onCommit: _this11.props.onCommit\\n });\\n }) : null,\\n Object.keys(_fields4).sort().map(function (fieldName) {\\n return React.createElement(FieldView, {\\n key: fieldName,\\n field: _fields4[fieldName],\\n selections: childSelections,\\n modifySelections: _this11._modifyChildSelections,\\n schema: schema,\\n getDefaultFieldNames: getDefaultFieldNames,\\n getDefaultScalarArgValue: _this11.props.getDefaultScalarArgValue,\\n makeDefaultArg: _this11.props.makeDefaultArg,\\n onRunOperation: _this11.props.onRunOperation,\\n styleConfig: _this11.props.styleConfig,\\n onCommit: _this11.props.onCommit,\\n definition: _this11.props.definition,\\n availableFragments: _this11.props.availableFragments\\n });\\n }),\\n (0, _graphql.isInterfaceType)(type) || (0, _graphql.isUnionType)(type) ? schema.getPossibleTypes(type).map(function (type) {\\n return React.createElement(AbstractView, {\\n key: type.name,\\n implementingType: type,\\n selections: childSelections,\\n modifySelections: _this11._modifyChildSelections,\\n schema: schema,\\n getDefaultFieldNames: getDefaultFieldNames,\\n getDefaultScalarArgValue: _this11.props.getDefaultScalarArgValue,\\n makeDefaultArg: _this11.props.makeDefaultArg,\\n onRunOperation: _this11.props.onRunOperation,\\n styleConfig: _this11.props.styleConfig,\\n onCommit: _this11.props.onCommit,\\n definition: _this11.props.definition\\n });\\n }) : null\\n )\\n );\\n }\\n return node;\\n }\\n }]);\\n\\n return FieldView;\\n}(React.PureComponent);\\n\\nfunction parseQuery(text) {\\n try {\\n if (!text.trim()) {\\n return null;\\n }\\n return (0, _graphql.parse)(text,\\n // Tell graphql to not bother track locations when parsing, we don't need\\n // it and it's a tiny bit more expensive.\\n { noLocation: true });\\n } catch (e) {\\n return new Error(e);\\n }\\n}\\n\\nvar DEFAULT_OPERATION = {\\n kind: 'OperationDefinition',\\n operation: 'query',\\n variableDefinitions: [],\\n name: { kind: 'Name', value: 'MyQuery' },\\n directives: [],\\n selectionSet: {\\n kind: 'SelectionSet',\\n selections: []\\n }\\n};\\nvar DEFAULT_DOCUMENT = {\\n kind: 'Document',\\n definitions: [DEFAULT_OPERATION]\\n};\\nvar parseQueryMemoize = null;\\nfunction memoizeParseQuery(query) {\\n if (parseQueryMemoize && parseQueryMemoize[0] === query) {\\n return parseQueryMemoize[1];\\n } else {\\n var result = parseQuery(query);\\n if (!result) {\\n return DEFAULT_DOCUMENT;\\n } else if (result instanceof Error) {\\n if (parseQueryMemoize) {\\n // Most likely a temporarily invalid query while they type\\n return parseQueryMemoize[1];\\n } else {\\n return DEFAULT_DOCUMENT;\\n }\\n } else {\\n parseQueryMemoize = [query, result];\\n return result;\\n }\\n }\\n}\\n\\nvar defaultStyles = {\\n buttonStyle: {\\n fontSize: '1.2em',\\n padding: '0px',\\n backgroundColor: 'white',\\n border: 'none',\\n margin: '5px 0px',\\n height: '40px',\\n width: '100%',\\n display: 'block',\\n maxWidth: 'none'\\n },\\n\\n actionButtonStyle: {\\n padding: '0px',\\n backgroundColor: 'white',\\n border: 'none',\\n margin: '0px',\\n maxWidth: 'none',\\n height: '15px',\\n width: '15px',\\n display: 'inline-block',\\n fontSize: 'smaller'\\n },\\n\\n explorerActionsStyle: {\\n margin: '4px -8px -8px',\\n paddingLeft: '8px',\\n bottom: '0px',\\n width: '100%',\\n textAlign: 'center',\\n background: 'none',\\n borderTop: 'none',\\n borderBottom: 'none'\\n }\\n};\\n\\nvar RootView = function (_React$PureComponent8) {\\n _inherits(RootView, _React$PureComponent8);\\n\\n function RootView() {\\n var _ref13;\\n\\n var _temp8, _this12, _ret10;\\n\\n _classCallCheck(this, RootView);\\n\\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\\n args[_key8] = arguments[_key8];\\n }\\n\\n return _ret10 = (_temp8 = (_this12 = _possibleConstructorReturn(this, (_ref13 = RootView.__proto__ || Object.getPrototypeOf(RootView)).call.apply(_ref13, [this].concat(args))), _this12), _this12.state = { newOperationType: 'query', displayTitleActions: false }, _this12._modifySelections = function (selections, options) {\\n var operationDef = _this12.props.definition;\\n\\n if (operationDef.selectionSet.selections.length === 0 && _this12._previousOperationDef) {\\n operationDef = _this12._previousOperationDef;\\n }\\n\\n var newOperationDef = void 0;\\n\\n if (operationDef.kind === 'FragmentDefinition') {\\n newOperationDef = _extends({}, operationDef, {\\n selectionSet: _extends({}, operationDef.selectionSet, {\\n selections: selections\\n })\\n });\\n } else if (operationDef.kind === 'OperationDefinition') {\\n var cleanedSelections = selections.filter(function (selection) {\\n return !(selection.kind === 'Field' && selection.name.value === '__typename');\\n });\\n\\n if (cleanedSelections.length === 0) {\\n cleanedSelections = [{\\n kind: 'Field',\\n name: {\\n kind: 'Name',\\n value: '__typename ## Placeholder value'\\n }\\n }];\\n }\\n\\n newOperationDef = _extends({}, operationDef, {\\n selectionSet: _extends({}, operationDef.selectionSet, {\\n selections: cleanedSelections\\n })\\n });\\n }\\n\\n return _this12.props.onEdit(newOperationDef, options);\\n }, _this12._onOperationRename = function (event) {\\n return _this12.props.onOperationRename(event.target.value);\\n }, _this12._handlePotentialRun = function (event) {\\n if (isRunShortcut(event) && canRunOperation(_this12.props.definition.kind)) {\\n _this12.props.onRunOperation(_this12.props.name);\\n }\\n }, _this12._rootViewElId = function () {\\n var _this12$props = _this12.props,\\n operationType = _this12$props.operationType,\\n name = _this12$props.name;\\n\\n var rootViewElId = operationType + '-' + (name || 'unknown');\\n return rootViewElId;\\n }, _temp8), _possibleConstructorReturn(_this12, _ret10);\\n }\\n\\n _createClass(RootView, [{\\n key: 'componentDidMount',\\n value: function componentDidMount() {\\n var rootViewElId = this._rootViewElId();\\n\\n this.props.onMount(rootViewElId);\\n }\\n }, {\\n key: 'render',\\n value: function render() {\\n var _this13 = this;\\n\\n var _props7 = this.props,\\n operationType = _props7.operationType,\\n definition = _props7.definition,\\n schema = _props7.schema,\\n getDefaultFieldNames = _props7.getDefaultFieldNames,\\n styleConfig = _props7.styleConfig;\\n\\n var rootViewElId = this._rootViewElId();\\n\\n var fields = this.props.fields || {};\\n var operationDef = definition;\\n var selections = operationDef.selectionSet.selections;\\n\\n var operationDisplayName = this.props.name || capitalize(operationType) + ' Name';\\n\\n return React.createElement(\\n 'div',\\n {\\n id: rootViewElId,\\n tabIndex: '0',\\n onKeyDown: this._handlePotentialRun,\\n style: {\\n // The actions bar has its own top border\\n borderBottom: this.props.isLast ? 'none' : '1px solid #d6d6d6',\\n marginBottom: '0em',\\n paddingBottom: '1em'\\n } },\\n React.createElement(\\n 'div',\\n {\\n style: { color: styleConfig.colors.keyword, paddingBottom: 4 },\\n className: 'graphiql-operation-title-bar',\\n onMouseEnter: function onMouseEnter() {\\n return _this13.setState({ displayTitleActions: true });\\n },\\n onMouseLeave: function onMouseLeave() {\\n return _this13.setState({ displayTitleActions: false });\\n } },\\n operationType,\\n ' ',\\n React.createElement(\\n 'span',\\n { style: { color: styleConfig.colors.def } },\\n React.createElement('input', {\\n style: {\\n color: styleConfig.colors.def,\\n border: 'none',\\n borderBottom: '1px solid #888',\\n outline: 'none',\\n width: Math.max(4, operationDisplayName.length) + 'ch'\\n },\\n autoComplete: 'false',\\n placeholder: capitalize(operationType) + ' Name',\\n value: this.props.name,\\n onKeyDown: this._handlePotentialRun,\\n onChange: this._onOperationRename\\n })\\n ),\\n !!this.props.onTypeName ? React.createElement(\\n 'span',\\n null,\\n React.createElement('br', null),\\n 'on ' + this.props.onTypeName\\n ) : '',\\n !!this.state.displayTitleActions ? React.createElement(\\n React.Fragment,\\n null,\\n React.createElement(\\n 'button',\\n {\\n type: 'submit',\\n className: 'toolbar-button',\\n onClick: function onClick() {\\n return _this13.props.onOperationDestroy();\\n },\\n style: _extends({}, styleConfig.styles.actionButtonStyle) },\\n React.createElement(\\n 'span',\\n null,\\n '\\\\u2715'\\n )\\n ),\\n React.createElement(\\n 'button',\\n {\\n type: 'submit',\\n className: 'toolbar-button',\\n onClick: function onClick() {\\n return _this13.props.onOperationClone();\\n },\\n style: _extends({}, styleConfig.styles.actionButtonStyle) },\\n React.createElement(\\n 'span',\\n null,\\n '⎘'\\n )\\n )\\n ) : ''\\n ),\\n Object.keys(fields).sort().map(function (fieldName) {\\n return React.createElement(FieldView, {\\n key: fieldName,\\n field: fields[fieldName],\\n selections: selections,\\n modifySelections: _this13._modifySelections,\\n schema: schema,\\n getDefaultFieldNames: getDefaultFieldNames,\\n getDefaultScalarArgValue: _this13.props.getDefaultScalarArgValue,\\n makeDefaultArg: _this13.props.makeDefaultArg,\\n onRunOperation: _this13.props.onRunOperation,\\n styleConfig: _this13.props.styleConfig,\\n onCommit: _this13.props.onCommit,\\n definition: _this13.props.definition,\\n availableFragments: _this13.props.availableFragments\\n });\\n })\\n );\\n }\\n }]);\\n\\n return RootView;\\n}(React.PureComponent);\\n\\nfunction Attribution() {\\n return React.createElement(\\n 'div',\\n {\\n style: {\\n fontFamily: 'sans-serif',\\n display: 'flex',\\n flexDirection: 'column',\\n alignItems: 'center',\\n margin: '1em',\\n marginTop: 0,\\n flexGrow: 1,\\n justifyContent: 'flex-end'\\n } },\\n React.createElement(\\n 'div',\\n {\\n style: {\\n borderTop: '1px solid #d6d6d6',\\n paddingTop: '1em',\\n width: '100%',\\n textAlign: 'center'\\n } },\\n 'GraphiQL Explorer by ',\\n React.createElement(\\n 'a',\\n { href: 'https://www.onegraph.com' },\\n 'OneGraph'\\n )\\n ),\\n React.createElement(\\n 'div',\\n null,\\n 'Contribute on',\\n ' ',\\n React.createElement(\\n 'a',\\n { href: 'https://github.com/OneGraph/graphiql-explorer' },\\n 'GitHub'\\n )\\n )\\n );\\n}\\n\\nvar Explorer = function (_React$PureComponent9) {\\n _inherits(Explorer, _React$PureComponent9);\\n\\n function Explorer() {\\n var _ref14;\\n\\n var _temp9, _this14, _ret11;\\n\\n _classCallCheck(this, Explorer);\\n\\n for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\\n args[_key9] = arguments[_key9];\\n }\\n\\n return _ret11 = (_temp9 = (_this14 = _possibleConstructorReturn(this, (_ref14 = Explorer.__proto__ || Object.getPrototypeOf(Explorer)).call.apply(_ref14, [this].concat(args))), _this14), _this14.state = {\\n newOperationType: 'query',\\n operation: null,\\n operationToScrollTo: null\\n }, _this14._resetScroll = function () {\\n var container = _this14._ref;\\n if (container) {\\n container.scrollLeft = 0;\\n }\\n }, _this14._onEdit = function (query) {\\n return _this14.props.onEdit(query);\\n }, _this14._setAddOperationType = function (value) {\\n _this14.setState({ newOperationType: value });\\n }, _this14._handleRootViewMount = function (rootViewElId) {\\n if (!!_this14.state.operationToScrollTo && _this14.state.operationToScrollTo === rootViewElId) {\\n var selector = '.graphiql-explorer-root #' + rootViewElId;\\n\\n var el = document.querySelector(selector);\\n el && el.scrollIntoView();\\n }\\n }, _temp9), _possibleConstructorReturn(_this14, _ret11);\\n }\\n\\n _createClass(Explorer, [{\\n key: 'componentDidMount',\\n value: function componentDidMount() {\\n this._resetScroll();\\n }\\n }, {\\n key: 'render',\\n value: function render() {\\n var _this15 = this;\\n\\n var _props8 = this.props,\\n schema = _props8.schema,\\n query = _props8.query,\\n makeDefaultArg = _props8.makeDefaultArg;\\n\\n\\n if (!schema) {\\n return React.createElement(\\n 'div',\\n { style: { fontFamily: 'sans-serif' }, className: 'error-container' },\\n 'No Schema Available'\\n );\\n }\\n var styleConfig = {\\n colors: this.props.colors || defaultColors,\\n checkboxChecked: this.props.checkboxChecked || defaultCheckboxChecked,\\n checkboxUnchecked: this.props.checkboxUnchecked || defaultCheckboxUnchecked,\\n arrowClosed: this.props.arrowClosed || defaultArrowClosed,\\n arrowOpen: this.props.arrowOpen || defaultArrowOpen,\\n styles: this.props.styles ? _extends({}, defaultStyles, this.props.styles) : defaultStyles\\n };\\n var queryType = schema.getQueryType();\\n var mutationType = schema.getMutationType();\\n var subscriptionType = schema.getSubscriptionType();\\n if (!queryType && !mutationType && !subscriptionType) {\\n return React.createElement(\\n 'div',\\n null,\\n 'Missing query type'\\n );\\n }\\n var queryFields = queryType && queryType.getFields();\\n var mutationFields = mutationType && mutationType.getFields();\\n var subscriptionFields = subscriptionType && subscriptionType.getFields();\\n\\n var parsedQuery = memoizeParseQuery(query);\\n var getDefaultFieldNames = this.props.getDefaultFieldNames || defaultGetDefaultFieldNames;\\n var getDefaultScalarArgValue = this.props.getDefaultScalarArgValue || defaultGetDefaultScalarArgValue;\\n\\n var definitions = parsedQuery.definitions;\\n\\n var _relevantOperations = definitions.map(function (definition) {\\n if (definition.kind === 'FragmentDefinition') {\\n return definition;\\n } else if (definition.kind === 'OperationDefinition') {\\n return definition;\\n } else {\\n return null;\\n }\\n }).filter(Boolean);\\n\\n var relevantOperations =\\n // If we don't have any relevant definitions from the parsed document,\\n // then at least show an expanded Query selection\\n _relevantOperations.length === 0 ? DEFAULT_DOCUMENT.definitions : _relevantOperations;\\n\\n var renameOperation = function renameOperation(targetOperation, name) {\\n var newName = name == null || name === '' ? null : { kind: 'Name', value: name, loc: undefined };\\n var newOperation = _extends({}, targetOperation, { name: newName });\\n\\n var existingDefs = parsedQuery.definitions;\\n\\n var newDefinitions = existingDefs.map(function (existingOperation) {\\n if (targetOperation === existingOperation) {\\n return newOperation;\\n } else {\\n return existingOperation;\\n }\\n });\\n\\n return _extends({}, parsedQuery, {\\n definitions: newDefinitions\\n });\\n };\\n\\n var cloneOperation = function cloneOperation(targetOperation) {\\n var kind = void 0;\\n if (targetOperation.kind === 'FragmentDefinition') {\\n kind = 'fragment';\\n } else {\\n kind = targetOperation.operation;\\n }\\n\\n var newOperationName = (targetOperation.name && targetOperation.name.value || '') + 'Copy';\\n\\n var newName = {\\n kind: 'Name',\\n value: newOperationName,\\n loc: undefined\\n };\\n\\n var newOperation = _extends({}, targetOperation, { name: newName });\\n\\n var existingDefs = parsedQuery.definitions;\\n\\n var newDefinitions = [].concat(_toConsumableArray(existingDefs), [newOperation]);\\n\\n _this15.setState({ operationToScrollTo: kind + '-' + newOperationName });\\n\\n return _extends({}, parsedQuery, {\\n definitions: newDefinitions\\n });\\n };\\n\\n var destroyOperation = function destroyOperation(targetOperation) {\\n var existingDefs = parsedQuery.definitions;\\n\\n var newDefinitions = existingDefs.filter(function (existingOperation) {\\n if (targetOperation === existingOperation) {\\n return false;\\n } else {\\n return true;\\n }\\n });\\n\\n return _extends({}, parsedQuery, {\\n definitions: newDefinitions\\n });\\n };\\n\\n var addOperation = function addOperation(kind) {\\n var existingDefs = parsedQuery.definitions;\\n\\n var viewingDefaultOperation = parsedQuery.definitions.length === 1 && parsedQuery.definitions[0] === DEFAULT_DOCUMENT.definitions[0];\\n\\n var MySiblingDefs = viewingDefaultOperation ? [] : existingDefs.filter(function (def) {\\n if (def.kind === 'OperationDefinition') {\\n return def.operation === kind;\\n } else {\\n // Don't support adding fragments from explorer\\n return false;\\n }\\n });\\n\\n var newOperationName = 'My' + capitalize(kind) + (MySiblingDefs.length === 0 ? '' : MySiblingDefs.length + 1);\\n\\n // Add this as the default field as it guarantees a valid selectionSet\\n var firstFieldName = '__typename # Placeholder value';\\n\\n var selectionSet = {\\n kind: 'SelectionSet',\\n selections: [{\\n kind: 'Field',\\n name: {\\n kind: 'Name',\\n value: firstFieldName,\\n loc: null\\n },\\n arguments: [],\\n directives: [],\\n selectionSet: null,\\n loc: null\\n }],\\n loc: null\\n };\\n\\n var newDefinition = {\\n kind: 'OperationDefinition',\\n operation: kind,\\n name: { kind: 'Name', value: newOperationName },\\n variableDefinitions: [],\\n directives: [],\\n selectionSet: selectionSet,\\n loc: null\\n };\\n\\n var newDefinitions =\\n // If we only have our default operation in the document right now, then\\n // just replace it with our new definition\\n viewingDefaultOperation ? [newDefinition] : [].concat(_toConsumableArray(parsedQuery.definitions), [newDefinition]);\\n\\n var newOperationDef = _extends({}, parsedQuery, {\\n definitions: newDefinitions\\n });\\n\\n _this15.setState({ operationToScrollTo: kind + '-' + newOperationName });\\n\\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\\n };\\n\\n var actionsOptions = [!!queryFields ? React.createElement(\\n 'option',\\n {\\n key: 'query',\\n className: 'toolbar-button',\\n style: styleConfig.styles.buttonStyle,\\n type: 'link',\\n value: 'query' },\\n 'Query'\\n ) : null, !!mutationFields ? React.createElement(\\n 'option',\\n {\\n key: 'mutation',\\n className: 'toolbar-button',\\n style: styleConfig.styles.buttonStyle,\\n type: 'link',\\n value: 'mutation' },\\n 'Mutation'\\n ) : null, !!subscriptionFields ? React.createElement(\\n 'option',\\n {\\n key: 'subscription',\\n className: 'toolbar-button',\\n style: styleConfig.styles.buttonStyle,\\n type: 'link',\\n value: 'subscription' },\\n 'Subscription'\\n ) : null].filter(Boolean);\\n\\n var actionsEl = actionsOptions.length === 0 ? null : React.createElement(\\n 'div',\\n {\\n style: {\\n minHeight: '50px',\\n maxHeight: '50px',\\n overflow: 'none'\\n } },\\n React.createElement(\\n 'form',\\n {\\n className: 'variable-editor-title graphiql-explorer-actions',\\n style: _extends({}, styleConfig.styles.explorerActionsStyle, {\\n display: 'flex',\\n flexDirection: 'row',\\n alignItems: 'center',\\n borderTop: '1px solid rgb(214, 214, 214)'\\n }),\\n onSubmit: function onSubmit(event) {\\n return event.preventDefault();\\n } },\\n React.createElement(\\n 'span',\\n {\\n style: {\\n display: 'inline-block',\\n flexGrow: '0',\\n textAlign: 'right'\\n } },\\n 'Add new',\\n ' '\\n ),\\n React.createElement(\\n 'select',\\n {\\n onChange: function onChange(event) {\\n return _this15._setAddOperationType(event.target.value);\\n },\\n value: this.state.newOperationType,\\n style: { flexGrow: '2' } },\\n actionsOptions\\n ),\\n React.createElement(\\n 'button',\\n {\\n type: 'submit',\\n className: 'toolbar-button',\\n onClick: function onClick() {\\n return _this15.state.newOperationType ? addOperation(_this15.state.newOperationType) : null;\\n },\\n style: _extends({}, styleConfig.styles.buttonStyle, {\\n height: '22px',\\n width: '22px'\\n }) },\\n React.createElement(\\n 'span',\\n null,\\n '+'\\n )\\n )\\n )\\n );\\n\\n var availableFragments = relevantOperations.reduce(function (acc, operation) {\\n if (operation.kind === 'FragmentDefinition') {\\n var fragmentTypeName = operation.typeCondition.name.value;\\n var existingFragmentsForType = acc[fragmentTypeName] || [];\\n var newFragmentsForType = [].concat(_toConsumableArray(existingFragmentsForType), [operation]).sort(function (a, b) {\\n return a.name.value.localeCompare(b.name.value);\\n });\\n return _extends({}, acc, _defineProperty({}, fragmentTypeName, newFragmentsForType));\\n }\\n\\n return acc;\\n }, {});\\n\\n var attribution = this.props.showAttribution ? React.createElement(Attribution, null) : null;\\n\\n return React.createElement(\\n 'div',\\n {\\n ref: function ref(_ref15) {\\n _this15._ref = _ref15;\\n },\\n style: {\\n fontSize: 12,\\n textOverflow: 'ellipsis',\\n whiteSpace: 'nowrap',\\n margin: 0,\\n padding: 8,\\n fontFamily: 'Consolas, Inconsolata, \\\"Droid Sans Mono\\\", Monaco, monospace',\\n display: 'flex',\\n flexDirection: 'column',\\n height: '100%'\\n },\\n className: 'graphiql-explorer-root' },\\n React.createElement(\\n 'div',\\n {\\n style: {\\n flexGrow: '1',\\n overflow: 'scroll'\\n } },\\n relevantOperations.map(function (operation, index) {\\n var operationName = operation && operation.name && operation.name.value;\\n\\n var operationType = operation.kind === 'FragmentDefinition' ? 'fragment' : operation && operation.operation || 'query';\\n\\n var onOperationRename = function onOperationRename(newName) {\\n var newOperationDef = renameOperation(operation, newName);\\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\\n };\\n\\n var onOperationClone = function onOperationClone() {\\n var newOperationDef = cloneOperation(operation);\\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\\n };\\n\\n var onOperationDestroy = function onOperationDestroy() {\\n var newOperationDef = destroyOperation(operation);\\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\\n };\\n\\n var fragmentType = operation.kind === 'FragmentDefinition' && operation.typeCondition.kind === 'NamedType' && schema.getType(operation.typeCondition.name.value);\\n\\n var fragmentFields = fragmentType instanceof _graphql.GraphQLObjectType ? fragmentType.getFields() : null;\\n\\n var fields = operationType === 'query' ? queryFields : operationType === 'mutation' ? mutationFields : operationType === 'subscription' ? subscriptionFields : operation.kind === 'FragmentDefinition' ? fragmentFields : null;\\n\\n var fragmentTypeName = operation.kind === 'FragmentDefinition' ? operation.typeCondition.name.value : null;\\n\\n var onCommit = function onCommit(parsedDocument) {\\n var textualNewDocument = (0, _graphql.print)(parsedDocument);\\n\\n _this15.props.onEdit(textualNewDocument);\\n };\\n\\n return React.createElement(RootView, {\\n isLast: index === relevantOperations.length - 1,\\n fields: fields,\\n operationType: operationType,\\n name: operationName,\\n definition: operation,\\n onOperationRename: onOperationRename,\\n onOperationDestroy: onOperationDestroy,\\n onOperationClone: onOperationClone,\\n onTypeName: fragmentTypeName,\\n onMount: _this15._handleRootViewMount,\\n onCommit: onCommit,\\n onEdit: function onEdit(newDefinition, options) {\\n var commit = void 0;\\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object' && typeof options.commit !== 'undefined') {\\n commit = options.commit;\\n } else {\\n commit = true;\\n }\\n\\n if (!!newDefinition) {\\n var newQuery = _extends({}, parsedQuery, {\\n definitions: parsedQuery.definitions.map(function (existingDefinition) {\\n return existingDefinition === operation ? newDefinition : existingDefinition;\\n })\\n });\\n\\n if (commit) {\\n onCommit(newQuery);\\n return newQuery;\\n } else {\\n return newQuery;\\n }\\n } else {\\n return parsedQuery;\\n }\\n },\\n schema: schema,\\n getDefaultFieldNames: getDefaultFieldNames,\\n getDefaultScalarArgValue: getDefaultScalarArgValue,\\n makeDefaultArg: makeDefaultArg,\\n onRunOperation: function onRunOperation() {\\n if (!!_this15.props.onRunOperation) {\\n _this15.props.onRunOperation(operationName);\\n }\\n },\\n styleConfig: styleConfig,\\n availableFragments: availableFragments\\n });\\n }),\\n attribution\\n ),\\n actionsEl\\n );\\n }\\n }]);\\n\\n return Explorer;\\n}(React.PureComponent);\\n\\nExplorer.defaultProps = {\\n getDefaultFieldNames: defaultGetDefaultFieldNames,\\n getDefaultScalarArgValue: defaultGetDefaultScalarArgValue\\n};\\n\\nvar ErrorBoundary = function (_React$Component) {\\n _inherits(ErrorBoundary, _React$Component);\\n\\n function ErrorBoundary() {\\n var _ref16;\\n\\n var _temp10, _this16, _ret12;\\n\\n _classCallCheck(this, ErrorBoundary);\\n\\n for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\\n args[_key10] = arguments[_key10];\\n }\\n\\n return _ret12 = (_temp10 = (_this16 = _possibleConstructorReturn(this, (_ref16 = ErrorBoundary.__proto__ || Object.getPrototypeOf(ErrorBoundary)).call.apply(_ref16, [this].concat(args))), _this16), _this16.state = { hasError: false, error: null, errorInfo: null }, _temp10), _possibleConstructorReturn(_this16, _ret12);\\n }\\n\\n _createClass(ErrorBoundary, [{\\n key: 'componentDidCatch',\\n value: function componentDidCatch(error, errorInfo) {\\n this.setState({ hasError: true, error: error, errorInfo: errorInfo });\\n console.error('Error in component', error, errorInfo);\\n }\\n }, {\\n key: 'render',\\n value: function render() {\\n if (this.state.hasError) {\\n return React.createElement(\\n 'div',\\n { style: { padding: 18, fontFamily: 'sans-serif' } },\\n React.createElement(\\n 'div',\\n null,\\n 'Something went wrong'\\n ),\\n React.createElement(\\n 'details',\\n { style: { whiteSpace: 'pre-wrap' } },\\n this.state.error ? this.state.error.toString() : null,\\n React.createElement('br', null),\\n this.state.errorInfo ? this.state.errorInfo.componentStack : null\\n )\\n );\\n }\\n return this.props.children;\\n }\\n }]);\\n\\n return ErrorBoundary;\\n}(React.Component);\\n\\nvar ExplorerWrapper = function (_React$PureComponent10) {\\n _inherits(ExplorerWrapper, _React$PureComponent10);\\n\\n function ExplorerWrapper() {\\n _classCallCheck(this, ExplorerWrapper);\\n\\n return _possibleConstructorReturn(this, (ExplorerWrapper.__proto__ || Object.getPrototypeOf(ExplorerWrapper)).apply(this, arguments));\\n }\\n\\n _createClass(ExplorerWrapper, [{\\n key: 'render',\\n value: function render() {\\n return React.createElement(\\n 'div',\\n {\\n className: 'docExplorerWrap',\\n style: {\\n height: '100%',\\n width: this.props.width,\\n minWidth: this.props.width,\\n zIndex: 7,\\n display: this.props.explorerIsOpen ? 'flex' : 'none',\\n flexDirection: 'column',\\n overflow: 'hidden'\\n } },\\n React.createElement(\\n 'div',\\n { className: 'doc-explorer-title-bar' },\\n React.createElement(\\n 'div',\\n { className: 'doc-explorer-title' },\\n this.props.title\\n ),\\n React.createElement(\\n 'div',\\n { className: 'doc-explorer-rhs' },\\n React.createElement(\\n 'div',\\n {\\n className: 'docExplorerHide',\\n onClick: this.props.onToggleExplorer },\\n '\\\\u2715'\\n )\\n )\\n ),\\n React.createElement(\\n 'div',\\n {\\n className: 'doc-explorer-contents',\\n style: {\\n padding: '0px',\\n /* Unset overflowY since docExplorerWrap sets it and it'll\\n cause two scrollbars (one for the container and one for the schema tree) */\\n overflowY: 'unset'\\n } },\\n React.createElement(\\n ErrorBoundary,\\n null,\\n React.createElement(Explorer, this.props)\\n )\\n )\\n );\\n }\\n }]);\\n\\n return ExplorerWrapper;\\n}(React.PureComponent);\\n\\nExplorerWrapper.defaultValue = defaultValue;\\nExplorerWrapper.defaultProps = {\\n width: 320,\\n title: 'Explorer'\\n};\\nexports.default = ExplorerWrapper;\",\"var arrayWithHoles = require(\\\"./arrayWithHoles\\\");\\n\\nvar iterableToArrayLimit = require(\\\"./iterableToArrayLimit\\\");\\n\\nvar unsupportedIterableToArray = require(\\\"./unsupportedIterableToArray\\\");\\n\\nvar nonIterableRest = require(\\\"./nonIterableRest\\\");\\n\\nfunction _slicedToArray(arr, i) {\\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\\n}\\n\\nmodule.exports = _slicedToArray;\",\"function _arrayWithHoles(arr) {\\n if (Array.isArray(arr)) return arr;\\n}\\n\\nmodule.exports = _arrayWithHoles;\",\"function _iterableToArrayLimit(arr, i) {\\n if (typeof Symbol === \\\"undefined\\\" || !(Symbol.iterator in Object(arr))) return;\\n var _arr = [];\\n var _n = true;\\n var _d = false;\\n var _e = undefined;\\n\\n try {\\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\\n _arr.push(_s.value);\\n\\n if (i && _arr.length === i) break;\\n }\\n } catch (err) {\\n _d = true;\\n _e = err;\\n } finally {\\n try {\\n if (!_n && _i[\\\"return\\\"] != null) _i[\\\"return\\\"]();\\n } finally {\\n if (_d) throw _e;\\n }\\n }\\n\\n return _arr;\\n}\\n\\nmodule.exports = _iterableToArrayLimit;\",\"function _arrayLikeToArray(arr, len) {\\n if (len == null || len > arr.length) len = arr.length;\\n\\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\\n arr2[i] = arr[i];\\n }\\n\\n return arr2;\\n}\\n\\nmodule.exports = _arrayLikeToArray;\",\"function _nonIterableRest() {\\n throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\");\\n}\\n\\nmodule.exports = _nonIterableRest;\",\"var unsupportedIterableToArray = require(\\\"./unsupportedIterableToArray\\\");\\n\\nfunction _createForOfIteratorHelper(o) {\\n if (typeof Symbol === \\\"undefined\\\" || o[Symbol.iterator] == null) {\\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\\n var i = 0;\\n\\n var F = function F() {};\\n\\n return {\\n s: F,\\n n: function n() {\\n if (i >= o.length) return {\\n done: true\\n };\\n return {\\n done: false,\\n value: o[i++]\\n };\\n },\\n e: function e(_e) {\\n throw _e;\\n },\\n f: F\\n };\\n }\\n\\n throw new TypeError(\\\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\");\\n }\\n\\n var it,\\n normalCompletion = true,\\n didErr = false,\\n err;\\n return {\\n s: function s() {\\n it = o[Symbol.iterator]();\\n },\\n n: function n() {\\n var step = it.next();\\n normalCompletion = step.done;\\n return step;\\n },\\n e: function e(_e2) {\\n didErr = true;\\n err = _e2;\\n },\\n f: function f() {\\n try {\\n if (!normalCompletion && it[\\\"return\\\"] != null) it[\\\"return\\\"]();\\n } finally {\\n if (didErr) throw err;\\n }\\n }\\n };\\n}\\n\\nmodule.exports = _createForOfIteratorHelper;\",\"function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\\n try {\\n var info = gen[key](arg);\\n var value = info.value;\\n } catch (error) {\\n reject(error);\\n return;\\n }\\n\\n if (info.done) {\\n resolve(value);\\n } else {\\n Promise.resolve(value).then(_next, _throw);\\n }\\n}\\n\\nfunction _asyncToGenerator(fn) {\\n return function () {\\n var self = this,\\n args = arguments;\\n return new Promise(function (resolve, reject) {\\n var gen = fn.apply(self, args);\\n\\n function _next(value) {\\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"next\\\", value);\\n }\\n\\n function _throw(err) {\\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \\\"throw\\\", err);\\n }\\n\\n _next(undefined);\\n });\\n };\\n}\\n\\nmodule.exports = _asyncToGenerator;\",\"\\n/**\\n * Expose `Backoff`.\\n */\\n\\nmodule.exports = Backoff;\\n\\n/**\\n * Initialize backoff timer with `opts`.\\n *\\n * - `min` initial timeout in milliseconds [100]\\n * - `max` max timeout [10000]\\n * - `jitter` [0]\\n * - `factor` [2]\\n *\\n * @param {Object} opts\\n * @api public\\n */\\n\\nfunction Backoff(opts) {\\n opts = opts || {};\\n this.ms = opts.min || 100;\\n this.max = opts.max || 10000;\\n this.factor = opts.factor || 2;\\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\\n this.attempts = 0;\\n}\\n\\n/**\\n * Return the backoff duration.\\n *\\n * @return {Number}\\n * @api public\\n */\\n\\nBackoff.prototype.duration = function(){\\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\\n if (this.jitter) {\\n var rand = Math.random();\\n var deviation = Math.floor(rand * this.jitter * ms);\\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\\n }\\n return Math.min(ms, this.max) | 0;\\n};\\n\\n/**\\n * Reset the number of attempts.\\n *\\n * @api public\\n */\\n\\nBackoff.prototype.reset = function(){\\n this.attempts = 0;\\n};\\n\\n/**\\n * Set the minimum duration\\n *\\n * @api public\\n */\\n\\nBackoff.prototype.setMin = function(min){\\n this.ms = min;\\n};\\n\\n/**\\n * Set the maximum duration\\n *\\n * @api public\\n */\\n\\nBackoff.prototype.setMax = function(max){\\n this.max = max;\\n};\\n\\n/**\\n * Set the jitter\\n *\\n * @api public\\n */\\n\\nBackoff.prototype.setJitter = function(jitter){\\n this.jitter = jitter;\\n};\\n\\n\",\"'use strict';\\n\\nvar has = Object.prototype.hasOwnProperty\\n , prefix = '~';\\n\\n/**\\n * Constructor to create a storage for our `EE` objects.\\n * An `Events` instance is a plain object whose properties are event names.\\n *\\n * @constructor\\n * @private\\n */\\nfunction Events() {}\\n\\n//\\n// We try to not inherit from `Object.prototype`. In some engines creating an\\n// instance in this way is faster than calling `Object.create(null)` directly.\\n// If `Object.create(null)` is not supported we prefix the event names with a\\n// character to make sure that the built-in object properties are not\\n// overridden or used as an attack vector.\\n//\\nif (Object.create) {\\n Events.prototype = Object.create(null);\\n\\n //\\n // This hack is needed because the `__proto__` property is still inherited in\\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\\n //\\n if (!new Events().__proto__) prefix = false;\\n}\\n\\n/**\\n * Representation of a single event listener.\\n *\\n * @param {Function} fn The listener function.\\n * @param {*} context The context to invoke the listener with.\\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\\n * @constructor\\n * @private\\n */\\nfunction EE(fn, context, once) {\\n this.fn = fn;\\n this.context = context;\\n this.once = once || false;\\n}\\n\\n/**\\n * Add a listener for a given event.\\n *\\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\\n * @param {(String|Symbol)} event The event name.\\n * @param {Function} fn The listener function.\\n * @param {*} context The context to invoke the listener with.\\n * @param {Boolean} once Specify if the listener is a one-time listener.\\n * @returns {EventEmitter}\\n * @private\\n */\\nfunction addListener(emitter, event, fn, context, once) {\\n if (typeof fn !== 'function') {\\n throw new TypeError('The listener must be a function');\\n }\\n\\n var listener = new EE(fn, context || emitter, once)\\n , evt = prefix ? prefix + event : event;\\n\\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\\n else emitter._events[evt] = [emitter._events[evt], listener];\\n\\n return emitter;\\n}\\n\\n/**\\n * Clear event by name.\\n *\\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\\n * @param {(String|Symbol)} evt The Event name.\\n * @private\\n */\\nfunction clearEvent(emitter, evt) {\\n if (--emitter._eventsCount === 0) emitter._events = new Events();\\n else delete emitter._events[evt];\\n}\\n\\n/**\\n * Minimal `EventEmitter` interface that is molded against the Node.js\\n * `EventEmitter` interface.\\n *\\n * @constructor\\n * @public\\n */\\nfunction EventEmitter() {\\n this._events = new Events();\\n this._eventsCount = 0;\\n}\\n\\n/**\\n * Return an array listing the events for which the emitter has registered\\n * listeners.\\n *\\n * @returns {Array}\\n * @public\\n */\\nEventEmitter.prototype.eventNames = function eventNames() {\\n var names = []\\n , events\\n , name;\\n\\n if (this._eventsCount === 0) return names;\\n\\n for (name in (events = this._events)) {\\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\\n }\\n\\n if (Object.getOwnPropertySymbols) {\\n return names.concat(Object.getOwnPropertySymbols(events));\\n }\\n\\n return names;\\n};\\n\\n/**\\n * Return the listeners registered for a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @returns {Array} The registered listeners.\\n * @public\\n */\\nEventEmitter.prototype.listeners = function listeners(event) {\\n var evt = prefix ? prefix + event : event\\n , handlers = this._events[evt];\\n\\n if (!handlers) return [];\\n if (handlers.fn) return [handlers.fn];\\n\\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\\n ee[i] = handlers[i].fn;\\n }\\n\\n return ee;\\n};\\n\\n/**\\n * Return the number of listeners listening to a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @returns {Number} The number of listeners.\\n * @public\\n */\\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\\n var evt = prefix ? prefix + event : event\\n , listeners = this._events[evt];\\n\\n if (!listeners) return 0;\\n if (listeners.fn) return 1;\\n return listeners.length;\\n};\\n\\n/**\\n * Calls each of the listeners registered for a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @returns {Boolean} `true` if the event had listeners, else `false`.\\n * @public\\n */\\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\\n var evt = prefix ? prefix + event : event;\\n\\n if (!this._events[evt]) return false;\\n\\n var listeners = this._events[evt]\\n , len = arguments.length\\n , args\\n , i;\\n\\n if (listeners.fn) {\\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\\n\\n switch (len) {\\n case 1: return listeners.fn.call(listeners.context), true;\\n case 2: return listeners.fn.call(listeners.context, a1), true;\\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\\n }\\n\\n for (i = 1, args = new Array(len -1); i < len; i++) {\\n args[i - 1] = arguments[i];\\n }\\n\\n listeners.fn.apply(listeners.context, args);\\n } else {\\n var length = listeners.length\\n , j;\\n\\n for (i = 0; i < length; i++) {\\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\\n\\n switch (len) {\\n case 1: listeners[i].fn.call(listeners[i].context); break;\\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\\n default:\\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\\n args[j - 1] = arguments[j];\\n }\\n\\n listeners[i].fn.apply(listeners[i].context, args);\\n }\\n }\\n }\\n\\n return true;\\n};\\n\\n/**\\n * Add a listener for a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @param {Function} fn The listener function.\\n * @param {*} [context=this] The context to invoke the listener with.\\n * @returns {EventEmitter} `this`.\\n * @public\\n */\\nEventEmitter.prototype.on = function on(event, fn, context) {\\n return addListener(this, event, fn, context, false);\\n};\\n\\n/**\\n * Add a one-time listener for a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @param {Function} fn The listener function.\\n * @param {*} [context=this] The context to invoke the listener with.\\n * @returns {EventEmitter} `this`.\\n * @public\\n */\\nEventEmitter.prototype.once = function once(event, fn, context) {\\n return addListener(this, event, fn, context, true);\\n};\\n\\n/**\\n * Remove the listeners of a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @param {Function} fn Only remove the listeners that match this function.\\n * @param {*} context Only remove the listeners that have this context.\\n * @param {Boolean} once Only remove one-time listeners.\\n * @returns {EventEmitter} `this`.\\n * @public\\n */\\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\\n var evt = prefix ? prefix + event : event;\\n\\n if (!this._events[evt]) return this;\\n if (!fn) {\\n clearEvent(this, evt);\\n return this;\\n }\\n\\n var listeners = this._events[evt];\\n\\n if (listeners.fn) {\\n if (\\n listeners.fn === fn &&\\n (!once || listeners.once) &&\\n (!context || listeners.context === context)\\n ) {\\n clearEvent(this, evt);\\n }\\n } else {\\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\\n if (\\n listeners[i].fn !== fn ||\\n (once && !listeners[i].once) ||\\n (context && listeners[i].context !== context)\\n ) {\\n events.push(listeners[i]);\\n }\\n }\\n\\n //\\n // Reset the array, or remove it completely if we have no more listeners.\\n //\\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\\n else clearEvent(this, evt);\\n }\\n\\n return this;\\n};\\n\\n/**\\n * Remove all listeners, or those of the specified event.\\n *\\n * @param {(String|Symbol)} [event] The event name.\\n * @returns {EventEmitter} `this`.\\n * @public\\n */\\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\\n var evt;\\n\\n if (event) {\\n evt = prefix ? prefix + event : event;\\n if (this._events[evt]) clearEvent(this, evt);\\n } else {\\n this._events = new Events();\\n this._eventsCount = 0;\\n }\\n\\n return this;\\n};\\n\\n//\\n// Alias methods names because people roll like that.\\n//\\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\\n\\n//\\n// Expose the prefix.\\n//\\nEventEmitter.prefixed = prefix;\\n\\n//\\n// Allow `EventEmitter` to be imported as module namespace.\\n//\\nEventEmitter.EventEmitter = EventEmitter;\\n\\n//\\n// Expose the module.\\n//\\nif ('undefined' !== typeof module) {\\n module.exports = EventEmitter;\\n}\\n\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nfunction isString(value) {\\n return typeof value === 'string';\\n}\\nexports.default = isString;\\n//# sourceMappingURL=is-string.js.map\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nfunction isObject(value) {\\n return ((value !== null) && (typeof value === 'object'));\\n}\\nexports.default = isObject;\\n//# sourceMappingURL=is-object.js.map\",\"/* global window */\\nimport ponyfill from './ponyfill.js';\\n\\nvar root;\\n\\nif (typeof self !== 'undefined') {\\n root = self;\\n} else if (typeof window !== 'undefined') {\\n root = window;\\n} else if (typeof global !== 'undefined') {\\n root = global;\\n} else if (typeof module !== 'undefined') {\\n root = module;\\n} else {\\n root = Function('return this')();\\n}\\n\\nvar result = ponyfill(root);\\nexport default result;\\n\",\"module.exports = function(originalModule) {\\n\\tif (!originalModule.webpackPolyfill) {\\n\\t\\tvar module = Object.create(originalModule);\\n\\t\\t// module.parent = undefined by default\\n\\t\\tif (!module.children) module.children = [];\\n\\t\\tObject.defineProperty(module, \\\"loaded\\\", {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tget: function() {\\n\\t\\t\\t\\treturn module.l;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tObject.defineProperty(module, \\\"id\\\", {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tget: function() {\\n\\t\\t\\t\\treturn module.i;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tObject.defineProperty(module, \\\"exports\\\", {\\n\\t\\t\\tenumerable: true\\n\\t\\t});\\n\\t\\tmodule.webpackPolyfill = 1;\\n\\t}\\n\\treturn module;\\n};\\n\",\"const GRAPHQL_WS = 'graphql-ws';\\n// NOTE: This protocol is deprecated and will be removed soon.\\n/**\\n * @deprecated\\n */\\nconst GRAPHQL_SUBSCRIPTIONS = 'graphql-subscriptions';\\n\\nexport {\\n GRAPHQL_WS,\\n GRAPHQL_SUBSCRIPTIONS,\\n};\\n\",\"const MIN_WS_TIMEOUT = 1000;\\nconst WS_TIMEOUT = 30000;\\n\\nexport {\\n MIN_WS_TIMEOUT,\\n WS_TIMEOUT,\\n};\\n\",\"\\\"use strict\\\";\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar MessageTypes = (function () {\\n function MessageTypes() {\\n throw new Error('Static Class');\\n }\\n MessageTypes.GQL_CONNECTION_INIT = 'connection_init';\\n MessageTypes.GQL_CONNECTION_ACK = 'connection_ack';\\n MessageTypes.GQL_CONNECTION_ERROR = 'connection_error';\\n MessageTypes.GQL_CONNECTION_KEEP_ALIVE = 'ka';\\n MessageTypes.GQL_CONNECTION_TERMINATE = 'connection_terminate';\\n MessageTypes.GQL_START = 'start';\\n MessageTypes.GQL_DATA = 'data';\\n MessageTypes.GQL_ERROR = 'error';\\n MessageTypes.GQL_COMPLETE = 'complete';\\n MessageTypes.GQL_STOP = 'stop';\\n MessageTypes.SUBSCRIPTION_START = 'subscription_start';\\n MessageTypes.SUBSCRIPTION_DATA = 'subscription_data';\\n MessageTypes.SUBSCRIPTION_SUCCESS = 'subscription_success';\\n MessageTypes.SUBSCRIPTION_FAIL = 'subscription_fail';\\n MessageTypes.SUBSCRIPTION_END = 'subscription_end';\\n MessageTypes.INIT = 'init';\\n MessageTypes.INIT_SUCCESS = 'init_success';\\n MessageTypes.INIT_FAIL = 'init_fail';\\n MessageTypes.KEEP_ALIVE = 'keepalive';\\n return MessageTypes;\\n}());\\nexports.default = MessageTypes;\\n//# sourceMappingURL=message-types.js.map\",\"import objectValues from \\\"../polyfills/objectValues.mjs\\\";\\nimport inspect from \\\"../jsutils/inspect.mjs\\\";\\nimport devAssert from \\\"../jsutils/devAssert.mjs\\\";\\nimport keyValMap from \\\"../jsutils/keyValMap.mjs\\\";\\nimport isObjectLike from \\\"../jsutils/isObjectLike.mjs\\\";\\nimport { parseValue } from \\\"../language/parser.mjs\\\";\\nimport { GraphQLSchema } from \\\"../type/schema.mjs\\\";\\nimport { GraphQLDirective } from \\\"../type/directives.mjs\\\";\\nimport { specifiedScalarTypes } from \\\"../type/scalars.mjs\\\";\\nimport { introspectionTypes, TypeKind } from \\\"../type/introspection.mjs\\\";\\nimport { isInputType, isOutputType, GraphQLList, GraphQLNonNull, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, assertNullableType, assertObjectType, assertInterfaceType } from \\\"../type/definition.mjs\\\";\\nimport { valueFromAST } from \\\"./valueFromAST.mjs\\\";\\n/**\\n * Build a GraphQLSchema for use by client tools.\\n *\\n * Given the result of a client running the introspection query, creates and\\n * returns a GraphQLSchema instance which can be then used with all graphql-js\\n * tools, but cannot be used to execute a query, as introspection does not\\n * represent the \\\"resolver\\\", \\\"parse\\\" or \\\"serialize\\\" functions or any other\\n * server-internal mechanisms.\\n *\\n * This function expects a complete introspection result. Don't forget to check\\n * the \\\"errors\\\" field of a server response before calling this function.\\n */\\n\\nexport function buildClientSchema(introspection, options) {\\n isObjectLike(introspection) && isObjectLike(introspection.__schema) || devAssert(0, \\\"Invalid or incomplete introspection result. Ensure that you are passing \\\\\\\"data\\\\\\\" property of introspection response and no \\\\\\\"errors\\\\\\\" was returned alongside: \\\".concat(inspect(introspection), \\\".\\\")); // Get the schema from the introspection result.\\n\\n var schemaIntrospection = introspection.__schema; // Iterate through all types, getting the type definition for each.\\n\\n var typeMap = keyValMap(schemaIntrospection.types, function (typeIntrospection) {\\n return typeIntrospection.name;\\n }, function (typeIntrospection) {\\n return buildType(typeIntrospection);\\n }); // Include standard types only if they are used.\\n\\n for (var _i2 = 0, _ref2 = [].concat(specifiedScalarTypes, introspectionTypes); _i2 < _ref2.length; _i2++) {\\n var stdType = _ref2[_i2];\\n\\n if (typeMap[stdType.name]) {\\n typeMap[stdType.name] = stdType;\\n }\\n } // Get the root Query, Mutation, and Subscription types.\\n\\n\\n var queryType = schemaIntrospection.queryType ? getObjectType(schemaIntrospection.queryType) : null;\\n var mutationType = schemaIntrospection.mutationType ? getObjectType(schemaIntrospection.mutationType) : null;\\n var subscriptionType = schemaIntrospection.subscriptionType ? getObjectType(schemaIntrospection.subscriptionType) : null; // Get the directives supported by Introspection, assuming empty-set if\\n // directives were not queried for.\\n\\n var directives = schemaIntrospection.directives ? schemaIntrospection.directives.map(buildDirective) : []; // Then produce and return a Schema with these types.\\n\\n return new GraphQLSchema({\\n description: schemaIntrospection.description,\\n query: queryType,\\n mutation: mutationType,\\n subscription: subscriptionType,\\n types: objectValues(typeMap),\\n directives: directives,\\n assumeValid: options === null || options === void 0 ? void 0 : options.assumeValid\\n }); // Given a type reference in introspection, return the GraphQLType instance.\\n // preferring cached instances before building new instances.\\n\\n function getType(typeRef) {\\n if (typeRef.kind === TypeKind.LIST) {\\n var itemRef = typeRef.ofType;\\n\\n if (!itemRef) {\\n throw new Error('Decorated type deeper than introspection query.');\\n }\\n\\n return new GraphQLList(getType(itemRef));\\n }\\n\\n if (typeRef.kind === TypeKind.NON_NULL) {\\n var nullableRef = typeRef.ofType;\\n\\n if (!nullableRef) {\\n throw new Error('Decorated type deeper than introspection query.');\\n }\\n\\n var nullableType = getType(nullableRef);\\n return new GraphQLNonNull(assertNullableType(nullableType));\\n }\\n\\n return getNamedType(typeRef);\\n }\\n\\n function getNamedType(typeRef) {\\n var typeName = typeRef.name;\\n\\n if (!typeName) {\\n throw new Error(\\\"Unknown type reference: \\\".concat(inspect(typeRef), \\\".\\\"));\\n }\\n\\n var type = typeMap[typeName];\\n\\n if (!type) {\\n throw new Error(\\\"Invalid or incomplete schema, unknown type: \\\".concat(typeName, \\\". Ensure that a full introspection query is used in order to build a client schema.\\\"));\\n }\\n\\n return type;\\n }\\n\\n function getObjectType(typeRef) {\\n return assertObjectType(getNamedType(typeRef));\\n }\\n\\n function getInterfaceType(typeRef) {\\n return assertInterfaceType(getNamedType(typeRef));\\n } // Given a type's introspection result, construct the correct\\n // GraphQLType instance.\\n\\n\\n function buildType(type) {\\n if (type != null && type.name != null && type.kind != null) {\\n switch (type.kind) {\\n case TypeKind.SCALAR:\\n return buildScalarDef(type);\\n\\n case TypeKind.OBJECT:\\n return buildObjectDef(type);\\n\\n case TypeKind.INTERFACE:\\n return buildInterfaceDef(type);\\n\\n case TypeKind.UNION:\\n return buildUnionDef(type);\\n\\n case TypeKind.ENUM:\\n return buildEnumDef(type);\\n\\n case TypeKind.INPUT_OBJECT:\\n return buildInputObjectDef(type);\\n }\\n }\\n\\n var typeStr = inspect(type);\\n throw new Error(\\\"Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: \\\".concat(typeStr, \\\".\\\"));\\n }\\n\\n function buildScalarDef(scalarIntrospection) {\\n return new GraphQLScalarType({\\n name: scalarIntrospection.name,\\n description: scalarIntrospection.description,\\n specifiedByUrl: scalarIntrospection.specifiedByUrl\\n });\\n }\\n\\n function buildImplementationsList(implementingIntrospection) {\\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\\n // 'interfaces' on interface types.\\n if (implementingIntrospection.interfaces === null && implementingIntrospection.kind === TypeKind.INTERFACE) {\\n return [];\\n }\\n\\n if (!implementingIntrospection.interfaces) {\\n var implementingIntrospectionStr = inspect(implementingIntrospection);\\n throw new Error(\\\"Introspection result missing interfaces: \\\".concat(implementingIntrospectionStr, \\\".\\\"));\\n }\\n\\n return implementingIntrospection.interfaces.map(getInterfaceType);\\n }\\n\\n function buildObjectDef(objectIntrospection) {\\n return new GraphQLObjectType({\\n name: objectIntrospection.name,\\n description: objectIntrospection.description,\\n interfaces: function interfaces() {\\n return buildImplementationsList(objectIntrospection);\\n },\\n fields: function fields() {\\n return buildFieldDefMap(objectIntrospection);\\n }\\n });\\n }\\n\\n function buildInterfaceDef(interfaceIntrospection) {\\n return new GraphQLInterfaceType({\\n name: interfaceIntrospection.name,\\n description: interfaceIntrospection.description,\\n interfaces: function interfaces() {\\n return buildImplementationsList(interfaceIntrospection);\\n },\\n fields: function fields() {\\n return buildFieldDefMap(interfaceIntrospection);\\n }\\n });\\n }\\n\\n function buildUnionDef(unionIntrospection) {\\n if (!unionIntrospection.possibleTypes) {\\n var unionIntrospectionStr = inspect(unionIntrospection);\\n throw new Error(\\\"Introspection result missing possibleTypes: \\\".concat(unionIntrospectionStr, \\\".\\\"));\\n }\\n\\n return new GraphQLUnionType({\\n name: unionIntrospection.name,\\n description: unionIntrospection.description,\\n types: function types() {\\n return unionIntrospection.possibleTypes.map(getObjectType);\\n }\\n });\\n }\\n\\n function buildEnumDef(enumIntrospection) {\\n if (!enumIntrospection.enumValues) {\\n var enumIntrospectionStr = inspect(enumIntrospection);\\n throw new Error(\\\"Introspection result missing enumValues: \\\".concat(enumIntrospectionStr, \\\".\\\"));\\n }\\n\\n return new GraphQLEnumType({\\n name: enumIntrospection.name,\\n description: enumIntrospection.description,\\n values: keyValMap(enumIntrospection.enumValues, function (valueIntrospection) {\\n return valueIntrospection.name;\\n }, function (valueIntrospection) {\\n return {\\n description: valueIntrospection.description,\\n deprecationReason: valueIntrospection.deprecationReason\\n };\\n })\\n });\\n }\\n\\n function buildInputObjectDef(inputObjectIntrospection) {\\n if (!inputObjectIntrospection.inputFields) {\\n var inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\\n throw new Error(\\\"Introspection result missing inputFields: \\\".concat(inputObjectIntrospectionStr, \\\".\\\"));\\n }\\n\\n return new GraphQLInputObjectType({\\n name: inputObjectIntrospection.name,\\n description: inputObjectIntrospection.description,\\n fields: function fields() {\\n return buildInputValueDefMap(inputObjectIntrospection.inputFields);\\n }\\n });\\n }\\n\\n function buildFieldDefMap(typeIntrospection) {\\n if (!typeIntrospection.fields) {\\n throw new Error(\\\"Introspection result missing fields: \\\".concat(inspect(typeIntrospection), \\\".\\\"));\\n }\\n\\n return keyValMap(typeIntrospection.fields, function (fieldIntrospection) {\\n return fieldIntrospection.name;\\n }, buildField);\\n }\\n\\n function buildField(fieldIntrospection) {\\n var type = getType(fieldIntrospection.type);\\n\\n if (!isOutputType(type)) {\\n var typeStr = inspect(type);\\n throw new Error(\\\"Introspection must provide output type for fields, but received: \\\".concat(typeStr, \\\".\\\"));\\n }\\n\\n if (!fieldIntrospection.args) {\\n var fieldIntrospectionStr = inspect(fieldIntrospection);\\n throw new Error(\\\"Introspection result missing field args: \\\".concat(fieldIntrospectionStr, \\\".\\\"));\\n }\\n\\n return {\\n description: fieldIntrospection.description,\\n deprecationReason: fieldIntrospection.deprecationReason,\\n type: type,\\n args: buildInputValueDefMap(fieldIntrospection.args)\\n };\\n }\\n\\n function buildInputValueDefMap(inputValueIntrospections) {\\n return keyValMap(inputValueIntrospections, function (inputValue) {\\n return inputValue.name;\\n }, buildInputValue);\\n }\\n\\n function buildInputValue(inputValueIntrospection) {\\n var type = getType(inputValueIntrospection.type);\\n\\n if (!isInputType(type)) {\\n var typeStr = inspect(type);\\n throw new Error(\\\"Introspection must provide input type for arguments, but received: \\\".concat(typeStr, \\\".\\\"));\\n }\\n\\n var defaultValue = inputValueIntrospection.defaultValue != null ? valueFromAST(parseValue(inputValueIntrospection.defaultValue), type) : undefined;\\n return {\\n description: inputValueIntrospection.description,\\n type: type,\\n defaultValue: defaultValue\\n };\\n }\\n\\n function buildDirective(directiveIntrospection) {\\n if (!directiveIntrospection.args) {\\n var directiveIntrospectionStr = inspect(directiveIntrospection);\\n throw new Error(\\\"Introspection result missing directive args: \\\".concat(directiveIntrospectionStr, \\\".\\\"));\\n }\\n\\n if (!directiveIntrospection.locations) {\\n var _directiveIntrospectionStr = inspect(directiveIntrospection);\\n\\n throw new Error(\\\"Introspection result missing directive locations: \\\".concat(_directiveIntrospectionStr, \\\".\\\"));\\n }\\n\\n return new GraphQLDirective({\\n name: directiveIntrospection.name,\\n description: directiveIntrospection.description,\\n isRepeatable: directiveIntrospection.isRepeatable,\\n locations: directiveIntrospection.locations.slice(),\\n args: buildInputValueDefMap(directiveIntrospection.args)\\n });\\n }\\n}\\n\",\"import { validate } from \\\"../validation/validate.mjs\\\";\\nimport { NoDeprecatedCustomRule } from \\\"../validation/rules/custom/NoDeprecatedCustomRule.mjs\\\";\\n/**\\n * A validation rule which reports deprecated usages.\\n *\\n * Returns a list of GraphQLError instances describing each deprecated use.\\n *\\n * @deprecated Please use `validate` with `NoDeprecatedCustomRule` instead:\\n *\\n * ```\\n * import { validate, NoDeprecatedCustomRule } from 'graphql'\\n *\\n * const errors = validate(schema, document, [NoDeprecatedCustomRule])\\n * ```\\n */\\n\\nexport function findDeprecatedUsages(schema, ast) {\\n return validate(schema, ast, [NoDeprecatedCustomRule]);\\n}\\n\"],\"sourceRoot\":\"\"}"), } fileq := &embedded.EmbeddedFile{ - Filename: "static/js/runtime-main.bfca2edd.js", - FileModTime: time.Unix(1612511786, 0), + Filename: "static/js/main.0d09a938.chunk.js", + FileModTime: time.Unix(1613868993, 0), - Content: string("!function(e){function r(r){for(var n,l,f=r[0],i=r[1],a=r[2],c=0,s=[];c{const e=Object(a.useState)(null),t=Object(u.a)(e,2),n=t[0],o=t[1],l=Object(a.useState)('\\n# Use this editor to build and test your GraphQL queries\\n# Set a query name if you want the query saved to the \\n# allow list to use in production\\n\\nquery {\\n users(id: \"3\") {\\n id\\n full_name\\n email\\n }\\n}\\n'),c=Object(u.a)(l,2),p=c[0],b=c[1],f=Object(a.useState)(!0),m=Object(u.a)(f,2),O=m[0],g=m[1];let j=r.a.createRef();Object(a.useEffect)(()=>{Object(s.a)(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=w({query:Object(y.a)()}),e.next=3,t.next();case 3:n=e.sent,o(Object(E.a)(n.value.data));case 5:case\"end\":return e.stop()}}),e)})))()},[]);const q=e=>{b(e),console.log(\">\",e)},v=()=>g(!O);return r.a.createElement(\"div\",{className:\"graphiql-container\"},r.a.createElement(h.a,{schema:n,query:p,onEdit:q,onRunOperation:e=>j.handleRunQuery(e),explorerIsOpen:O,onToggleExplorer:v}),r.a.createElement(d.a,{ref:e=>j=e,fetcher:w,defaultSecondaryEditorOpen:!0,headerEditorEnabled:!0,shouldPersistHeaders:!0,query:p,onEditQuery:q},r.a.createElement(d.a.Logo,null,r.a.createElement(\"div\",{style:{letterSpacing:\"3px\"}},\"GRAPHJIN\")),r.a.createElement(d.a.Toolbar,null,r.a.createElement(d.a.Button,{onClick:()=>j.handlePrettifyQuery(),label:\"Prettify\",title:\"Prettify Query (Shift-Ctrl-P)\"}),r.a.createElement(d.a.Button,{onClick:()=>j.handleToggleHistory(),label:\"History\",title:\"Show History\"}),r.a.createElement(d.a.Button,{onClick:v,label:\"Explorer\",title:\"Toggle Explorer\"}))))};n(257);l.a.render(r.a.createElement(O,null),document.getElementById(\"root\"))}},[[161,1,2]]]);\n//# sourceMappingURL=main.0d09a938.chunk.js.map"), } filer := &embedded.EmbeddedFile{ - Filename: "static/js/runtime-main.bfca2edd.js.map", - FileModTime: time.Unix(1612511786, 0), + Filename: "static/js/main.0d09a938.chunk.js.map", + FileModTime: time.Unix(1613868993, 0), - Content: string("{\"version\":3,\"sources\":[\"../webpack/bootstrap\"],\"names\":[\"webpackJsonpCallback\",\"data\",\"moduleId\",\"chunkId\",\"chunkIds\",\"moreModules\",\"executeModules\",\"i\",\"resolves\",\"length\",\"Object\",\"prototype\",\"hasOwnProperty\",\"call\",\"installedChunks\",\"push\",\"modules\",\"parentJsonpFunction\",\"shift\",\"deferredModules\",\"apply\",\"checkDeferredModules\",\"result\",\"deferredModule\",\"fulfilled\",\"j\",\"depId\",\"splice\",\"__webpack_require__\",\"s\",\"installedModules\",\"1\",\"exports\",\"module\",\"l\",\"m\",\"c\",\"d\",\"name\",\"getter\",\"o\",\"defineProperty\",\"enumerable\",\"get\",\"r\",\"Symbol\",\"toStringTag\",\"value\",\"t\",\"mode\",\"__esModule\",\"ns\",\"create\",\"key\",\"bind\",\"n\",\"object\",\"property\",\"p\",\"jsonpArray\",\"this\",\"oldJsonpFunction\",\"slice\"],\"mappings\":\"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAKlC,IAFGe,GAAqBA,EAAoBhB,GAEtCO,EAASC,QACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrBiB,EAAG,GAGAZ,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU8B,QAGnC,IAAIC,EAASH,EAAiB5B,GAAY,CACzCK,EAAGL,EACHgC,GAAG,EACHF,QAAS,IAUV,OANAhB,EAAQd,GAAUW,KAAKoB,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAG/DK,EAAOC,GAAI,EAGJD,EAAOD,QAKfJ,EAAoBO,EAAInB,EAGxBY,EAAoBQ,EAAIN,EAGxBF,EAAoBS,EAAI,SAASL,EAASM,EAAMC,GAC3CX,EAAoBY,EAAER,EAASM,IAClC5B,OAAO+B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEX,EAAoBgB,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CpC,OAAO+B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DrC,OAAO+B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKzC,OAAO0C,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBzC,OAAO+B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBS,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAL,EAAoBS,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRX,EAAoBY,EAAI,SAASgB,EAAQC,GAAY,OAAO/C,OAAOC,UAAUC,eAAeC,KAAK2C,EAAQC,IAGzG7B,EAAoB8B,EAAI,IAExB,IAAIC,EAAaC,KAAsB,gBAAIA,KAAsB,iBAAK,GAClEC,EAAmBF,EAAW5C,KAAKuC,KAAKK,GAC5CA,EAAW5C,KAAOf,EAClB2D,EAAaA,EAAWG,QACxB,IAAI,IAAIvD,EAAI,EAAGA,EAAIoD,EAAWlD,OAAQF,IAAKP,EAAqB2D,EAAWpD,IAC3E,IAAIU,EAAsB4C,EAI1BxC,I\",\"file\":\"static/js/runtime-main.bfca2edd.js\",\"sourcesContent\":[\" \\t// install a JSONP callback for chunk loading\\n \\tfunction webpackJsonpCallback(data) {\\n \\t\\tvar chunkIds = data[0];\\n \\t\\tvar moreModules = data[1];\\n \\t\\tvar executeModules = data[2];\\n\\n \\t\\t// add \\\"moreModules\\\" to the modules object,\\n \\t\\t// then flag all \\\"chunkIds\\\" as loaded and fire callback\\n \\t\\tvar moduleId, chunkId, i = 0, resolves = [];\\n \\t\\tfor(;i < chunkIds.length; i++) {\\n \\t\\t\\tchunkId = chunkIds[i];\\n \\t\\t\\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\\n \\t\\t\\t\\tresolves.push(installedChunks[chunkId][0]);\\n \\t\\t\\t}\\n \\t\\t\\tinstalledChunks[chunkId] = 0;\\n \\t\\t}\\n \\t\\tfor(moduleId in moreModules) {\\n \\t\\t\\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\\n \\t\\t\\t\\tmodules[moduleId] = moreModules[moduleId];\\n \\t\\t\\t}\\n \\t\\t}\\n \\t\\tif(parentJsonpFunction) parentJsonpFunction(data);\\n\\n \\t\\twhile(resolves.length) {\\n \\t\\t\\tresolves.shift()();\\n \\t\\t}\\n\\n \\t\\t// add entry modules from loaded chunk to deferred list\\n \\t\\tdeferredModules.push.apply(deferredModules, executeModules || []);\\n\\n \\t\\t// run deferred modules when all chunks ready\\n \\t\\treturn checkDeferredModules();\\n \\t};\\n \\tfunction checkDeferredModules() {\\n \\t\\tvar result;\\n \\t\\tfor(var i = 0; i < deferredModules.length; i++) {\\n \\t\\t\\tvar deferredModule = deferredModules[i];\\n \\t\\t\\tvar fulfilled = true;\\n \\t\\t\\tfor(var j = 1; j < deferredModule.length; j++) {\\n \\t\\t\\t\\tvar depId = deferredModule[j];\\n \\t\\t\\t\\tif(installedChunks[depId] !== 0) fulfilled = false;\\n \\t\\t\\t}\\n \\t\\t\\tif(fulfilled) {\\n \\t\\t\\t\\tdeferredModules.splice(i--, 1);\\n \\t\\t\\t\\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\\n \\t\\t\\t}\\n \\t\\t}\\n\\n \\t\\treturn result;\\n \\t}\\n\\n \\t// The module cache\\n \\tvar installedModules = {};\\n\\n \\t// object to store loaded and loading chunks\\n \\t// undefined = chunk not loaded, null = chunk preloaded/prefetched\\n \\t// Promise = chunk loading, 0 = chunk loaded\\n \\tvar installedChunks = {\\n \\t\\t1: 0\\n \\t};\\n\\n \\tvar deferredModules = [];\\n\\n \\t// The require function\\n \\tfunction __webpack_require__(moduleId) {\\n\\n \\t\\t// Check if module is in cache\\n \\t\\tif(installedModules[moduleId]) {\\n \\t\\t\\treturn installedModules[moduleId].exports;\\n \\t\\t}\\n \\t\\t// Create a new module (and put it into the cache)\\n \\t\\tvar module = installedModules[moduleId] = {\\n \\t\\t\\ti: moduleId,\\n \\t\\t\\tl: false,\\n \\t\\t\\texports: {}\\n \\t\\t};\\n\\n \\t\\t// Execute the module function\\n \\t\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\n\\n \\t\\t// Flag the module as loaded\\n \\t\\tmodule.l = true;\\n\\n \\t\\t// Return the exports of the module\\n \\t\\treturn module.exports;\\n \\t}\\n\\n\\n \\t// expose the modules object (__webpack_modules__)\\n \\t__webpack_require__.m = modules;\\n\\n \\t// expose the module cache\\n \\t__webpack_require__.c = installedModules;\\n\\n \\t// define getter function for harmony exports\\n \\t__webpack_require__.d = function(exports, name, getter) {\\n \\t\\tif(!__webpack_require__.o(exports, name)) {\\n \\t\\t\\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\\n \\t\\t}\\n \\t};\\n\\n \\t// define __esModule on exports\\n \\t__webpack_require__.r = function(exports) {\\n \\t\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n \\t\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n \\t\\t}\\n \\t\\tObject.defineProperty(exports, '__esModule', { value: true });\\n \\t};\\n\\n \\t// create a fake namespace object\\n \\t// mode & 1: value is a module id, require it\\n \\t// mode & 2: merge all properties of value into the ns\\n \\t// mode & 4: return value when already ns object\\n \\t// mode & 8|1: behave like require\\n \\t__webpack_require__.t = function(value, mode) {\\n \\t\\tif(mode & 1) value = __webpack_require__(value);\\n \\t\\tif(mode & 8) return value;\\n \\t\\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\\n \\t\\tvar ns = Object.create(null);\\n \\t\\t__webpack_require__.r(ns);\\n \\t\\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\\n \\t\\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\\n \\t\\treturn ns;\\n \\t};\\n\\n \\t// getDefaultExport function for compatibility with non-harmony modules\\n \\t__webpack_require__.n = function(module) {\\n \\t\\tvar getter = module && module.__esModule ?\\n \\t\\t\\tfunction getDefault() { return module['default']; } :\\n \\t\\t\\tfunction getModuleExports() { return module; };\\n \\t\\t__webpack_require__.d(getter, 'a', getter);\\n \\t\\treturn getter;\\n \\t};\\n\\n \\t// Object.prototype.hasOwnProperty.call\\n \\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\n\\n \\t// __webpack_public_path__\\n \\t__webpack_require__.p = \\\"/\\\";\\n\\n \\tvar jsonpArray = this[\\\"webpackJsonpweb\\\"] = this[\\\"webpackJsonpweb\\\"] || [];\\n \\tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\\n \\tjsonpArray.push = webpackJsonpCallback;\\n \\tjsonpArray = jsonpArray.slice();\\n \\tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\\n \\tvar parentJsonpFunction = oldJsonpFunction;\\n\\n\\n \\t// run deferred modules from other chunks\\n \\tcheckDeferredModules();\\n\"],\"sourceRoot\":\"\"}"), + Content: string("{\"version\":3,\"sources\":[\"App.js\",\"index.js\"],\"names\":[\"url\",\"window\",\"location\",\"host\",\"subscriptionUrl\",\"fetcher\",\"createGraphiQLFetcher\",\"App\",\"useState\",\"schema\",\"setSchema\",\"query\",\"setQuery\",\"explorerOpen\",\"setExplorerOpen\",\"graphiql\",\"React\",\"createRef\",\"useEffect\",\"a\",\"introspect\",\"getIntrospectionQuery\",\"next\",\"res\",\"buildClientSchema\",\"value\",\"data\",\"handleEditQuery\",\"console\",\"log\",\"handleToggleExplorer\",\"className\",\"onEdit\",\"onRunOperation\",\"operationName\",\"handleRunQuery\",\"explorerIsOpen\",\"onToggleExplorer\",\"ref\",\"defaultSecondaryEditorOpen\",\"headerEditorEnabled\",\"shouldPersistHeaders\",\"onEditQuery\",\"Logo\",\"style\",\"letterSpacing\",\"Toolbar\",\"Button\",\"onClick\",\"handlePrettifyQuery\",\"label\",\"title\",\"handleToggleHistory\",\"ReactDOM\",\"render\",\"document\",\"getElementById\"],\"mappings\":\"iSAQA,MAAMA,EAAG,iBAAaC,OAAOC,SAASC,KAA7B,mBACHC,EAAe,eAAWH,OAAOC,SAASC,KAA3B,mBAEfE,EAAUC,YAAsB,CACpCN,MACAI,oBAsFaG,MArEH,KAAO,MAAD,EACYC,mBAAS,MADrB,mBACTC,EADS,KACDC,EADC,OAEUF,mBAhBV,oOAcA,mBAETG,EAFS,KAEFC,EAFE,OAGwBJ,oBAAS,GAHjC,mBAGTK,EAHS,KAGKC,EAHL,KAKhB,IAAIC,EAAWC,IAAMC,YAErBC,oBAAU,KACR,sBAAC,8BAAAC,EAAA,6DACKC,EAAaf,EAAQ,CAAEM,MAAOU,gBADnC,SAEiBD,EAAWE,OAF5B,OAEKC,EAFL,OAGCb,EAAUc,YAAkBD,EAAIE,MAAMC,OAHvC,0CAAD,IAKC,IAEH,MAAMC,EAAmBhB,IACvBC,EAASD,GACTiB,QAAQC,IAAI,IAAKlB,IAGbmB,EAAuB,IAAMhB,GAAiBD,GAEpD,OACE,yBAAKkB,UAAU,sBACb,kBAAC,IAAD,CACEtB,OAAQA,EACRE,MAAOA,EACPqB,OAAQL,EACRM,eAAiBC,GACfnB,EAASoB,eAAeD,GAE1BE,eAAgBvB,EAChBwB,iBAAkBP,IAEpB,kBAAC,IAAD,CACEQ,IAAMA,GAASvB,EAAWuB,EAC1BjC,QAASA,EACTkC,4BAA4B,EAC5BC,qBAAqB,EACrBC,sBAAsB,EACtB9B,MAAOA,EACP+B,YAAaf,GAEb,kBAAC,IAASgB,KAAV,KACE,yBAAKC,MAAO,CAAEC,cAAe,QAA7B,aAGF,kBAAC,IAASC,QAAV,KACE,kBAAC,IAASC,OAAV,CACEC,QAAS,IAAMjC,EAASkC,sBACxBC,MAAM,WACNC,MAAM,kCAER,kBAAC,IAASJ,OAAV,CACEC,QAAS,IAAMjC,EAASqC,sBACxBF,MAAM,UACNC,MAAM,iBAER,kBAAC,IAASJ,OAAV,CACEC,QAASlB,EACToB,MAAM,WACNC,MAAM,wB,OCrFlBE,IAASC,OAAO,kBAAC,EAAD,MAASC,SAASC,eAAe,W\",\"file\":\"static/js/main.0d09a938.chunk.js\",\"sourcesContent\":[\"import React, { useEffect, useState } from \\\"react\\\";\\nimport GraphiQL from \\\"graphiql\\\";\\nimport GraphiQLExplorer from \\\"graphiql-explorer\\\";\\nimport { createGraphiQLFetcher } from \\\"@graphiql/toolkit\\\";\\nimport { buildClientSchema, getIntrospectionQuery } from \\\"graphql\\\";\\n\\nimport \\\"graphiql/graphiql.min.css\\\";\\n\\nconst url = `http://${window.location.host}/api/v1/graphql`;\\nconst subscriptionUrl = `ws://${window.location.host}/api/v1/graphql`;\\n\\nconst fetcher = createGraphiQLFetcher({\\n url,\\n subscriptionUrl,\\n});\\n\\nconst defaultQuery = `\\n# Use this editor to build and test your GraphQL queries\\n# Set a query name if you want the query saved to the \\n# allow list to use in production\\n\\nquery {\\n users(id: \\\"3\\\") {\\n id\\n full_name\\n email\\n }\\n}\\n`;\\n\\nconst App = () => {\\n const [schema, setSchema] = useState(null);\\n const [query, setQuery] = useState(defaultQuery);\\n const [explorerOpen, setExplorerOpen] = useState(true);\\n\\n let graphiql = React.createRef();\\n\\n useEffect(() => {\\n (async function () {\\n let introspect = fetcher({ query: getIntrospectionQuery() });\\n let res = await introspect.next();\\n setSchema(buildClientSchema(res.value.data));\\n })();\\n }, []);\\n\\n const handleEditQuery = (query) => {\\n setQuery(query);\\n console.log(\\\">\\\", query);\\n };\\n\\n const handleToggleExplorer = () => setExplorerOpen(!explorerOpen);\\n\\n return (\\n
    \\n \\n graphiql.handleRunQuery(operationName)\\n }\\n explorerIsOpen={explorerOpen}\\n onToggleExplorer={handleToggleExplorer}\\n />\\n (graphiql = ref)}\\n fetcher={fetcher}\\n defaultSecondaryEditorOpen={true}\\n headerEditorEnabled={true}\\n shouldPersistHeaders={true}\\n query={query}\\n onEditQuery={handleEditQuery}\\n >\\n \\n
    GRAPHJIN
    \\n
    \\n\\n \\n graphiql.handlePrettifyQuery()}\\n label=\\\"Prettify\\\"\\n title=\\\"Prettify Query (Shift-Ctrl-P)\\\"\\n />\\n graphiql.handleToggleHistory()}\\n label=\\\"History\\\"\\n title=\\\"Show History\\\"\\n />\\n \\n \\n \\n
    \\n );\\n};\\n\\nexport default App;\\n\",\"import React from \\\"react\\\";\\nimport ReactDOM from \\\"react-dom\\\";\\nimport App from \\\"./App\\\";\\nimport \\\"./index.css\\\";\\n//import * as serviceWorker from './serviceWorker';\\n\\nReactDOM.render(, document.getElementById(\\\"root\\\"));\\n\\n// If you want your app to work offline and load faster, you can change\\n// unregister() to register() below. Note this comes with some pitfalls.\\n// Learn more about service workers: http://bit.ly/CRA-PWA\\n//serviceWorker.unregister();\\n\"],\"sourceRoot\":\"\"}"), + } + files := &embedded.EmbeddedFile{ + Filename: "static/js/runtime-main.bfca2edd.js", + FileModTime: time.Unix(1613868993, 0), + + Content: string("!function(e){function r(r){for(var n,l,f=r[0],i=r[1],a=r[2],c=0,s=[];c\x94>\xb4%\r\xf4\xa5\xa1P\bI\xd3>$1\xb1\xac}\xb6M\x03\x85\xf4\xa1\x0f\xc5M\xfb\xe4\x96@\xa0\xa4\x81@_\xd2\xf6!/\x05[\x96\xad\x0f[\x9a\xafsΌ4\xd1W\"K\x91\x1d\xd7\xd2̨k\x9d\xb3\xd7\xfc\xcf]뜳\xef\xbd#\xdd\xeb\xa8gȟ\xb5\xf7>\xba\xd7\x13ٿ\xf5\xb1\xf7>+\xe9\u007f\xfa\x9f\xfe\xa7\xff\xd9\xc9\xcfL\xaf^\xbd\xa6\xa3i\x02?۠]\xbdz\xf5\xba߲\xec\x81\xcb\t@\xaf`\xdf]Ӟ^\xbdz\xddo\x819ph\x9d\xc1\xbd\x86\x1f\xd0\x03\xf6\x0f\x04=T\xd3^\xa5\xb9^\xbdz\x8d)\xcb\x13X\x03\u007f{\x943\xb87N \x02\xfeC\xb3\xc9\xcc\xde\xfd\xc9C\xf3G\x92}\xfb~\x8et$\x99\xdfO:p\xb8\xd4܁C\x95\x1ef۫W\xafQ\x04v\x98%f\xeaH\xa5\xfd%k$f\x8f\x19d\x16#\x8e`\a\xf0[\xf0\xf7\xce$3s\x1fK\x1e;\xf0\xf1\xe4\x83\ai~\x804O\xda\x17\xb4\xbf\xa6\x03\xbdz\xf5ڱ\xc0\x148c\xe6J\x06\x99Ef\x92ٴ\x8e\x00N`|\xf8\x91\xe6\xcf\x1dM\xf6\xed\xff\xc5\xe4\xd0\xc1\xb0\x9e|2y\xfc\xd0_$\xbf\xf5\xa1/'\xbf\xfb\xc4_'\x9fz⯒\xdf\xf9\xc8_\x96z\xfa#_$}!y\xfa\xa3_H~\xbbW\xaf^#\x8a\xd9a\x86\x98%f\x8a\xd9bƘ5f\x8e\xd9\v\xbc\xeef&\x99Mf\x14\x19\x81r\x02;\x85\x9fS\x92'\x92G\x0e\xf0\xb3\xffN\xbe\xf8\xf4\xf9\xe4\xd8?\xad$\xeeu\xd2\x15ҏ\x83\xae\xf7\xea\xd5\xeb>\t\x9c]a\xf6\x98Af\x91\x99d6\x99ѝ:\x81\x99\x06\xf8\xe7\xa9\xee\xe0/\xde\xf7\xf5\xe4\xf7\x0f\x9fK\x9e\xfdf\x9e\xa4\x9bE\x92\xde%\xbbŶW\xaf^\x93\x14\xd8c\x16\x99If\x93\x19\r\xac\xce78\x81\x99Q\xa2\xff\x1e\x81\u007f_\xf2\x01\x8e\xfa\x0f?\x93|\xfa\xc8Rr\xfc\xfb\xe1\x1fz\x87t;O\xfc\x06٭J\xbeT\xf8\xc5`e,\u009fW\x9f\xf1\xe1y}\xcd~\x87\x95\x87\xcc?\xd7\xd7\xc7-\xbf\x8b\xfd}\n\xfcY%Y\x8f\xc9C\x91\xe7\x11ٿ'\xf3\xbbZ\xe5\xf5\xbf\xc7\xe6\xe7\xea\xbbd\xbd&\xfc\xfb\xd0\xcf\"\u007fW~L\xc5\xff\xae\x8a1\xbe\a\xff\x1f\xa0\\\xd96\xe5\xcd\xff\x1d\xabϥ\xfa\xbb\xad\xe2\xff\xbd(\x1b\xfd{\xde\f\xec\xddf\x16\x99If\x93\x19eVKf\xe1\x04\xf6\f\x97\x05\xd8\xd4\u007fnW2\xb3\xff\x83\xc9\xc3G\xf8K\x16\x92c/\xe6\x15\xfc\xef\x15\x89ߔ_\x06\xce`t\x15\xca\xdeC\xddy\u007fʏ\xf5\xb9BY\xfe\x9eb\x1a\xbf\xd3\xf4\xb5\xd1!\xfc}\xf1\xbcC\xf8\xae\x9fi\x89\xa3\xdfd&\x99Mf\x94Yef\x99]fX\x97\x02\xc3F\xff\xbd\xa4}\x8f'\x87\x0f\xf1\xf8\aɗ>\x15\xfe\x81\x1b\xe1\x1fx\x97\xf4\x0ei\xb1H\xd2\xd7I\xafUr\xa5\xcd\a\xf5z\x9exR\xda!\u007f*\xab\xc6d+њ\x1a{\xb1J\xa9\xe84\xcdO\xe7$\xb6<\x975\xd2\x19\x1a\x93|\x87R\xd1Y\x11}W\xa9b{\x9c\x86\xb9\u007f\x03JK\xab\xd7\xf2Jo\xd2<(\xadɕ\xca+\x9dc\x15\xca*\x9d\xa7\xef\"\xf9\xa0\xb4\x14\xaf\xd3\xefIr\xa2\x05\x16=[\xc0\xb8\xb2P\xbaH\xdfAJ\x173\xb24\x0fru-UJ\x83\xb5\xa2\xcf/g$\xb6E\xe2\x83d\xeeHb\xddJ\x93\xe4\x19\xfdy\x16\xcdӌ\xbec\x05J\x83\xf8ϸLDk\xc1\xf2<\xad\xaf\xe7\xf9\xb6\xbc\xa8\xb6\xe6r\xfa}\v\x16\x8d\xc9:\xb2)[\xa5tUD\x9f/\x95\x05\xe1\x99[#\xab\xe4`\xf1\xfc\x02\x8b\xbe\xa3T\x01\x85yJr\x17\xc96\xc8m\x8b~\xcfu\x16}N\xc4\xf3k\x02>3)N\x81Yef\x03\xbb\xfbx\x1c\xcd\x02\xe0\x00\x10\xfdgɃ|89z\x94?\xfcf\xf2\xec?\x87\xd4\xff\xb6\xc0_$\xfeUZ\xfb\x1f\x1a\xbfLz\xa5\xae\x82\xd6\n\xccOt˟Ȓ\xf4՜\x94%\x9e\xac\x8cٲ\xbc\x8cOf$\x9a\x93Қ\bs\x8c\x1b\x9dж\xb2ʞb\x87T\x04\aĶ\b6\x87J\x87\xc3V$kE%y~\xa6\x92+%\xf3bPg\xe9\x19)m\x91g\xbd\x91U\x8e%X\x871\xf4fF\x8e\x85m9f\x8b9\xc9\xf3ڹ,\xf1\xe7h\x1e䂅\xc4\xc1\x90\x85̚g\xbbP\x90\xd8Vc\xc7Vk\xd1ʕ\xb6H<\x89\xe7~\xa9RZ\x93+m\x01-\xe7\xe2\\H\x98\xb3\xf5\xa4m\xbbR\xc9\a\xebJ\x9b\xb1%e\xd5\xf3,\x13'\xc2\nc\xc8\xd3\xf34g\x89#\x81\x1c,+8\x13k}\x91\x91x\\\x94\x0e\x05\xc2\xdcյ6\xa8\xb4T\x91x\x96\xcc/\xb0h\xbeʎB\x98dˌ2\xab\xcc,\xb3;\xab\xb2\x80N\a\xa0k\xff\xbdɞ\x87\xc9\x1e\xa1\xb3\xc6G\x97\x93㧂\x03\xd8\xc8\xc9\xf2\xbf\xf0\x00?;\x81\x13Z\xb9X\x00m\x04\xe8\x01\xb3\x95\x87\x05\xc8\x16pX\x05\xb4\xb2\xac\x00\xb4\x91d\x1b$\v1T\f\xeaL\x93\x04\xea\xbc\x1a\x9f\x85\x1c[\b\x80\xbf\xd1,\x17\xac/U\xc1\f1\xd8v\r\x10[y\xb1\x16h\xab\x05+\xc9.2\x00\x05\u007fP\x00\xdd!\xea\x1b\xf8S\x01\x1e\x91\x1f\xe0\x03~\x13\xf9}\r\xfeT\x81\xde:_e\xf0Id\xb1o \xf0#u'\xf0\x11\xf9M\xf4\a\xe4NG\xff5\x05\u007f\xb5\x8e}\x82\vy\xe5\x006©\xcd]f\x95\x99ev\x03\xc3\a\"e\x80q\x00\xf3\xe1(\x81\xeb\xff\xa3\u007f\x9a\xfc\xc6/-o;\x00\xbf\xed\x00r\x1b\xf5i.\U00013d70\x9f\x80\x03@\xd4o\x87?U\xf0\x03x\xb5\x06\xd0m]\x8f\xc8\x0f\xc8QÇ\xc8\x0f\xe0G\x86\x1fb\xf0\x05~D}\r\xbf\xd4\xff\r\xf0;\x01\x1f\xf0\x03\xee7P\xd7cMG}\x05~\x1d~\x01\\G|\x1b\xf9\xb1\x86\x94\x1f\x91_\xc1o\xd2\xfe\x856\xf8U\xd4\x17\xf8\x15\xe8\xae\x13\xfeB\xa5\xfd\x02?\xe0\x15\xd0]\xa9l\x10\xfe\xbc\x19~D\xfe0.\x82\xcdUڏ5\x06\x1d\xcf\x04|\xb1\xe19\x83\xcfJ\x15\xfc\x12\xf9\xe3\xf0\a\v\xe0e\x8c\xcdA\x9a\xbb\x01\a\xc0\xac2\xb3\xccn`Xʀ\xb8\x03\x90\xfa\x9ft\x90>\xfc\b\xd9G>\x9b|\xf2W\xda\x1c@.\xf0\x93\x00<\xafy\x03?\xea~\u007f\x12cS\xf7\xd7\xe0\xf7\x06~5\x06\xfc\x88\xecjl#\u007f)\x9c \x18\xf8\xd9*\xd95[\xef\xcb\x1a\xe0\a\xf4\x80\xbf5\xf2\x03|\xb6\x12\xf9\x05t\xd4\xfa1\xf8]K\xcd\x0f\xc8\x15\xfc\xe7\xba\xe0gI\xe4/\x817\xf0\xa7q\xf8\xa1z\xd4g!\xed7\xe0[\xf8%\x9d\a\xf8>8\x02\xb2\x80\xdfD\xfe8\xfc\x10\xe0\a\xf8,\x80o\xe1\xcf\r\xfc\x1ei?@W\x1a\x15~\x8f1N\rZ\x1d\x003\xcb\xec\x06\x86\x0fb\x1f\xa0\xc5\x01\xe8\xe3?\xfe\xd0|\xf5\xe1G?\x93\xfc\xfa\xaf.7\x94\x00\xb2\a\xc0\xf0\v\xe0\xa8\xfd\x8d\x10\xf9\x83\xb5\xf21\xf8\xf5\x1a\x80/\xe5E(\vL\x94繀o\xe1G\x14\a\xfc\nx\x03\xbf\xaa\xf7\xa3\xf0\v\xe8\x18C\xf4]R\xf3\v\xf8#D~\xc7Rk^\xc1OR\xf5\xbe\xad\xf9m\xe4\xc7N~\x14\xfe\xa5\xce\xc8/`\x03\xfe:\xf8XS\xf0ۨ\xcf\xe29\xea}l\xf0E\"\xbfJ\xfb1\xb6\xf0c\xac\xe0\xb7\x1b~a\x9d,\xc3\x1b\x8f\xfc\x17,\xfc^\xc1ߚ\xf6\v\xfc\xc1Z\a\xc0\xcc2\xbb\x81\xe1\x83\xf680\xee\x00\x0eч\x1f%\xfb\xd8\x1f'\x9f\xf85\x9b\x01`\x0f\x80\xa1W\x90\x9b\xb1\xda\xd8c\x01|\xac\xab\x9a\xdf\xd4\xf9\xf5\x93\x00\x9b\xf6\xdb\f\xa0\x04_\xc3\xcfs\xb9sP(\xf8\x01>\x9e\xb1Ƈ\x1f\xaa\xa0G\x94/T\xe4\a\xfc)\xe0\xe7\xf1\xe8\x91_\xea}\x1d\xf9\r\xfc]i\xbf:\xe6\x93\xe3:\r\xffBc\xcdow\xfb;R\xfe\xb4-\xf2\xb3\r\xa0;\x95\xf2\v\xdc>\x1c\xe9\x11\xf4$\xd4\xfeM\xf0;\x1d\xf9\xb3\xda\x18\xf0CH\xfb;#?\xe0\x97\xa3\xbab\xa8\xb4ߩ\xc8\xef\x9b\xe0\x0fJ\xa1\xf0\x99.\a\xc0\xcc2\xbb\x81\xe1C\xa3:\x80\xfd\x95\x03\xd8\xf3\x18\u007f\xc9\x1f%O\xb2\x03x\xab\x9e\x01\xe4(\x01\x1a\x80\xf7X\xab\xc1\x8f\xe8\x0f\xf8y\x8c\xe7~\x98\xc8\x0f\xd0\xcd\xf1\x9e\xdd\xe9g+\x92\xb5\x8c\xc5c\x06>\xac\x03tZ\xc3y?\xc0\x1f\n~\x1e\xdb\xcd>\r?\xdb U\xef\xa3\xe6\x1f\r~H\xd5\xfb\xa4\xf6z\xbf\xb3\xe6\x979\x8e\xfat\xcd߾\xd3\x0f\xf0\xe3\xf0\xc3Z\xf8\x01>\xce\xf4\x15\xfc港\x13\xfe\xd4\xc2\x0f\xb8s\x1b\xf5]\xfb\x86\x1f\"\u007f\x01\xf8嘏\xc6\x02~4\xf2\x03~l\xf6yU\xef+\xf81_\xcf9\x1b\b\x9b\x80\xe1V\xe0]f\x95\x99ev\x03Ç\x98\xe9Q\x1d\xc0\xe1\xb9\xea\xc3?O_\xf6\xa4v\x00\x01\xb4\x13E7\xfc2V5\xbfGԏD~D\xfd\xe6\xdd~\v\xbfo\x87\x1f\xd9BH\xfb\xc5B\xbcF\x92\xf1N\xe0\xc7:\xa0o\x8c\xfc\xaaޗgc\xd4\xfc^\xd5\xfcq\xf8!\x871n\x1c\n\xdc\xe5z|\xb3\x8f\xe5Z#?K\xd5\xfbJ\x80\x1f\xe9\xbe+\xd7䒏>\xe6C\xca\xef\xda\xe1\xb7\xe7\xfb*\xf2k\xf8\x9d\x86_\x80\x97\xb1D\xfe0\a\xfc*\xf2c\x0e\x99\xb4\x1f\xf0\xdb\xcd>\x95\xf6\x0f\xc2O\xe2\xf5|\xc0\x01\xa4\xe2\x00\x9edv\x03Ç\xc7r\x00\xf3\xc1\x01\xfc\xe1\x80\x03\xe04C\x1c\x00\xea~\x80\x1f\xe6p\x06\x88\xf0\x90Z\x03\xec\x18\xdb3~\xac+\xf8y\x1di>\xe0W;\xfd8\xea3\xf0[\x01~\xb6\x10\xce\xf9\xf5\x19\xbf\x8cu\xe4G\xcd߶\xd3\xcf\xc2N?i\x00~8\a\x01\x1fchĝ~\x16\xc6P\x86\x9d~\x92\xc0\x0f\xf0\x9bj~X#\x13\xf9\x15\xf8\xa6\xe6\xcf\xc5\"\xf2k\xf8I\x00]\xd2~\x9e[\xf8\x9d\x8d\xfcx^4D\xfe\xae3~\x19ˆ\x9f\x82\x9f\xad\x8f\xd5\xfck\x1d\x91\x1f)?\xb2\x00H\xc1\x1fR\xff`\xfd%\x9d\x010\xb3\xcc\xee\xfc\x18\x0e`\xae\xdd\x01xl\x02\x12d\xf5]\xffz\xe4\xcf\xc8\x06\x9d\x84Eʯ#?\xd65\xfc\x00^\xd5\xfe8\xebW\x9b}\x18\xc3\x01\xc8;\x04\x80\xbf\xf5\x98\x8fe\xd2~%\x05\u007f\xda\x06?\xa2}\x18c\x8e\xb5J\x1e\x97v4\xfc\x18+\xf8\x9d\xa9\xf7Y\xa3\xc3\xef\x14\xfc~\x81%)?\x80\x8f\xa5\xfd\xce\xec\xf6\x93\xb0\xe1\x17\x81?\x8f\x1c\xf3\xb5\x1d\xf5\xb1\xcdZ\xe0g\v\xa1\u07b7\x91\x9f\xe5Z\xe1g\x8bs~\x81\x1f\xc0\xe7\xc1\xea\xc8o\xe1w\x91\xc8\xef\x15\xe8\xae1\xf2\x87gd9\v\xf0\xa38\x80\xb9\x91\x1c\xc0\x9cr\x00\xa6\x04\x00\xf8p\x04\x01\xf8\xee\xc8\xef\xebW{\x01>Ɏ\x01\xb9U\x8a\xb4\xbf\xe1\x9c\x1f\x17|R\x03\xbfr\x00\xc3l\xf8\x9d\xee\x8c\xfc\x90\x85\xbf=\xf2\x97\xb0\xeb\xfb\xfb\xf5\xb5X\xda?~\xe4w\x06~\xb6\x16~\xc7\x12\xe0Ś\xdd~\xc8Gk\xfe\xb6\xdb}\xa5\xad\xe0\x17\t\xfc\x00_\xdd\xdf\xe7\xb5\xcc\xde\xeek\x89\xfc\x00?\n?[\x1b\xf9\xb1ӯ\xe0\x8f]\xed\r\xcfbi\u007f\x17\xfc\xeb\x95\\\x1d~\xb2\x9e\xe6\xed\x0e`n\x1c\a\xd0]\x02\xa4\xb6\x04@\x16\x00\xf8\xed\xed>\xed\x10T\x94\x17\xeb\xe5\xb9@/\xcf#i\xbfo\xdb\xf0+\xc7\xd13\xfe\xf8Q_)\rz\xc7\x1c\xf0\xdbs~\x05\xbf\x8b\xc0\x1f\xbb\xe0\xe3\x05r֘i\xbf\x0f\xf3Q.\xf8\xb0\\\x17\xfc\xf2̀o\xd3~\x80_\xb0\xc29?\x80\xf6\x80\xbfn\xcd\xed>\xd7t\xccg.\xf8\xe0|?\x1e\xf93\x15\xf9q\xce?\\\xe4\xd75\xbf\xacG\x8e\xf9,\xfc2\x06\xfcd#%\xc0=v\x008\x06D\x06\xa0\xce\xf8}\x80\xdf7\x9d\xf1\x9b\xc8ߚ\xf6#\xfak\xf8\xebeA#\xfc\x12\xf9I\x88\xf6p\x02\xf13~[\xef\xab\xfb\xfb\xed\x91_ \x8f\xc0/\xb0s͏\x94\xbf\x13~\xa7#\xbfH\xed\xf6\xbb\x91\xd2\xfe\xfa1\x9fJ\xfb-\xfcVz\xa7\xbf\x05~\xd7z\xccW\xaf\xf9\xa5\xc6/P\xefG\"?\xe0\x87\xd5\xf2\xf53\xfe\x91k\xfeLG~\x86\xbb\x1b~\xac\xd9\xc8/\xe0\xb3\xd49\xbf\xae\xf7\x01?\x9c\x02\x81/\xf0\xc3\x11\xf0Z\xcd\x01\xa4\x13p\x00*\x03\x10\xe0Y\x99\x80\x0eٗz`\x1bw\xfbm\x8a\x9f*\xf8\x01\xbc\x81?\x80\x9fa\x8e\xc8?:\xfc\x88\xfe\x9d\xc7|\x80_e\x00c]\xed\x8dG\xfeTE~7\xda\xd5^\xdc\xedG\xcd\x1f\x8f\xfcKu\x99\xc8\x0f\x01\xf6\xce\v>l\x11\xf9!/\xf0+\xd0]\x96u\xc1o\x8f\xf9\xf4K=l\xbb\xe1\xc73s\xc1G\xbd\xcdGc\x80o\xe0\a\xc0]\xf0봿\xb9\xdedz:\xf0\x12\xf9\xa7\xe1\x00P\x02\xa8{\xfd\xacWǹ݇\r@\xfb&\x1f\x94j\xf8\xe5Y\xf3K=\x80|\\\xf8O\x03~[\xefC\x88\xf6\xedi\xbf\x1f\x88\xfcպD~7$\xfc\xa8\xf7!s\xd4gJ\x01]\xf3\v\xf8H\xfb#\x91\xdf\xd4\xfb\xae팟\xe7\xf1\x9a\x1f7\xfbP𧻓z\x8a\x1a\xfc\xb9\x82?k\x8d\xfc.\x8c=ִl\xbdo\xaf\xf7\x02|\x92\xacyD\xfdAл\xce\xf8[\xe1G\x94\xf7\x91\xb4\x1f\x91\x9f\x85\xc8\xef\x05\xfe\x1f\xf2|\x82%\x80\xaf;\x80S\x88\xec\xe6XO\xd4X\xf3+\x9d\xecx\x91\a\x16c\xec\xf4\xeb\xc8OR\xf5>\xad\x8f\v\xbf\x1f*\xf2\xe3b\x0f\xd9\xf8K=aM\xea}7\xeaK=\xaaƷ\x91?~\xb5W\xe6\x88\xfa;\xbb\xda\xebe\x8c\xa8_i\xa9\x15~\x8c\r\xfc\xb9\x82\x1f\x0e\x00k\xb1ȏqkڟ\xeb\xb4_E~\xdc\xe9'\xc9[}a\x1c\xb9\xe0\x03\xf0\xd5\xf5^}\xaf\x1f\xbb\xfeM\xf0cM\xa0_\xcf\x15\xfc|\xfe_\fd\x00\xfe~g\x008\x06d\xc0\x04z\x93\xf6\xd3\xdc\xde\xee\xf3\xed\xf0\x03xş\x9e\x9fR7\xfd\x10\xf9Yj\xa7\u007f<\xf8\xbd\x82߉\xb5\xf5>\xa0WG}\f\xbf<\xf7嚎\xfcY\xec\x8cߦ\xfd\xf7\xe0v\x9fG\xda\x1f 7\x91?\x0e\xbfHG\xfe`\x1dƪ\xe6\xb7\x1b~\xf6\x82\x8f9\xe3g\r}\xc1\xc7cmī\xbd6\xf2{\xdc\xee\x1b\x88\xfc.\x12\xf9\x01>+^ﻆ\x9aߑP\xf3\xc3\x1a\xf8\xd9Nm\x0f\x80\x80kt\x00\x18\xa3\xb6\x8f\xa5\xfd\nt\xb5\xd3\x0f胅\x03\x90ȯ\xeb\xfd\xf1#\xbf\xbd\xddg\xe1\a\xf8\xcdw\xfbѾ\xab\x9e\xf6\xc76\xfb\"i\u007f\a\xfc\x90\xdd\xe9w\x18\xd7\xde\xe8c\v\xd0\xdd\xe8\xf0\xa3\xe6\a\xf0\x91\x9a\x1f\xa9?\x8e\xf9\xda_\xe7M\x15\xf8CG\xfe\xa2\x0e\xbf\xde퇰\xd9W\t\xef\xf1#\xfaW\xf0G_\xea\x89\x1f\xf3u\xc0\xef\xb0\xd6\x12\xf9\xb1_`\"\u007fp\x00\xee\xf2T2\x00\x06?\x13\xe8m\xda\x0f\xf8\x91\x05\x98{\xfdA\x18\xab5\x93\xf6c\x8c\x0e>Am;\xfd\x11\xf8ۚx\xb4\xbc\xd1\aر\xae\xe0oI\xfb\xad\x03\x88\xc3o#\u007f\x1a\x8f\xfc\xb6}\xd7\xf9\x10\xf9\x05\xfeE\r?\xcf\xe3\xf0{\xc0\xaf@\x8f\xc3\xef\xf4\xbd~\xc0\x8fc>\xec\xf67G\xfe\xac\xebv\x1fZw\xb5n\xf6\xd9;\xfdv\xc3\x0f7\xfaZ\x9bx\xb8\xd5\xd8f\xdf8\xf0۔_.\xfa\xf0\x1c\xf0\xe7\x02?)K\xdct2\x80L\xf6\x00\x9aw\xfb\x1bo\xf7\xb1\xb0\x16\x87\x9fd\xd2~}\xf4\x97\xe9F\x1e\xa3\xc2\x0f\xf0Y]5?\xea}\x1b\xf5M\xef>@\xee؎\r\u007f\xfc\x98/\x0e?\x83\x1f\xa4j\xfe\x11\xe0\a\xf8CF~Dyt\xf6\xd5u?[@.\xf0G\xdaw5G~\xd4\xfbQ\xf8\xc5\xca8C\a\x1f\x15\xf9U\xd4\x1f>\xf2\u05ed\x86_\xa4#\xbf\x8e\xfa\x02?\x89\xc6H\xf7e\\*\xa3y\x96\xb8\xc9\xec\x01\xe0& J\x00[\xf3\xa7\x00݂\x1f\xab\xf9Y\xb1c>D~\x00\x1f\x8d\xfcX\x8fE~\xd7\t\u007f\xdeq\xc1\a\x8d;\xed1_6\xf2뼀\u007f\xa4\xab\xbd\xf6u\xder\xdcؾ+\xfeF_\xc7\x19\u007f\x1c~\x8cѾ+\xa4\xfd\xaaw\x9fj\xda\x19i\xdf\x05!\xed\x8f\\\xed\xb5\x91\xdf\xde\xeb/t\xbf>\xc8u\xf5\xee\x1b\xeaj/\xe4\xba.\xf8\x00~\xa4\xfcH\xf5\x01>\xc9\x11\xfc$U\x02L<\x03\xb0]{1\x06\xfcXӠ\xdb\xee=H\xfbc\xc7|\x91\x9a?ھK\xc3߾\xdbo\xe1\x87\\#\xfc\xaak\xef(/\xf5\xb4\xc2\x0f\v\r\x13\xf9ի\xbc\x06\xfe\xf8{\xfc\xbe\xa9\x83O\x14\xfe\xc1\xae\xbd\xdet\xedUMu\xceo\xea\xfd\xf8\x86\xdf\x1aư\xb1\xdb}\xfa\x82\x0f\xab0\xf0\xfb:\xfc\x00_\xe6\xc1\x01\x14\x93p\x00\xa4\x16\a\x80]\xfd\xd8\x1b}*\v\xd0kR\xe3wE~D\xf9\x8e{\xfd#\xde\xee\x8b6\xee\xec\xbc\xe0\x83\xae\xbd\xc1:\xbc\xdc3\xfcK=\xf2\xbc\x15\xfeX\xfb\xae\x8e\xae\xbd\x80\x9fl\x1c~\xdb\xc5\av\xf8\xc8\xcf\xf3\xf6\xae\xbd\xb6w_7\xfc\xb6k\xefh/\xf5`\xb3\xaf\xa3k\xaf@\xdf\f?\xf6\x02\x86\xb8\xda\xeb\x15\xfc];\xfd>\x88S~\xb6\x80\x9f-\xe4Heڏ\xf5if\x00}\xd7\u07bekoߵwg\xf7\xfa\x11\xed\x11\xf9I6\xf2\x87R@ƤK\x9c\rL\xfc&`\x9ex\xd9\x038\xd9w\xed\xed\xbb\xf6\xf6]{\x1b\xbb\xf6B&\xf2\xdb\xdb}j\xb3O@Wi\xbf[\x17\xf0C\xe4'\xebx\x1eJ\x80ɽ\f\x14\x1c\x00\xea\xfe\xbekoߵ\xb7\xef\xda\v\xf8ɶ\xd7\xfc\xfar\x0f\x8fU͏\x88O\x1a\xac\xf9/\x95B\xe4\xa7g\xfe\xca\xc4\xde\x06\xc4\x1e\x00C\x89\xf3\xfe\xbekoߵ\xb7\xefګv\xfa-\xfc\x80\x1d\xf0\x93\x90\xf2\xcbX\xa2>j~\x81\xdf\x01\xfeR\x9e\x1d\xc0\xe5\t\xbe\x0e\x8cM@\x06\xbf\xef\xda\xdbw\xed\xfd\xd9\xefڛއ\xae\xbd\xf6\xa5\x9e\xbc\x1ac\xb3OJ\x00\x81\x9f\xe7\x88\xfa\xaa\xe6W\x91\x1f\xdav\x00\xc5d2\x00\xaf\x1c\xc0\x83ѵ\xb7\xe8\xbb\xf6\xfe\u007f\xe9ڻ:\xb9\xae\xbd\x80\xbfv\xbbOo\xf8ጟ\x85\x9d~\x89\xfc\x1d\xf0{8\x80\x89\xbd\r\xa8J\x00\x86\xfaA\xea\xda[<\xe0]{s\x02?\xa8\x9c\v\xfcH\xdb\x1f讽\xab\x93\xecګ\xdf\xe3\xc7\xed>\x16\xe0\xc7\x18\xf0g\xbc\x1e\x87\xbf\x94\xda\x03\x98\xe0\xbb\x00\x88\xfa\x0fD\xd7\xde\xfc\x01\xedڛ3\xf8r\xbc7뗊\xddϓ^\xa01\x8bƻ^X.v\x93v=\xbf\\\xcc\x10\xc4\xec \x1e\xbc\xae\xbdk\x13\xee\xdak\xe1\x1f\x1c\xe3\xa5\x1eu\xbb\xaf\x1d~?\x10\xf9ٲ\xf8\x14`Bǀ\x1e\x9b\x80\x04\x192\x80\a\xa7ko\xfe\x80u\xede\xf0\t\xea%\x82\xbbt\x04Y\U000b5155\xe4+\xe7W\x92/\x93\xfd*\xe9\x19\x9e\x93x\xfe\f}\xe7s\xec\x14\xc8\x19\xf8\xe5\xf0\xf9\xbek\xefκ\xf6\xb2\xe4\x82\x0f\t;\xfd-\x97|\x00?\xaf\x01~\x11\xe6\x04>\x1c\xc0\x04\xdf\x05\x80\x03\xc0\x8d\xbe\xbek\xef\xfb\xabko.\x9d{J\xf0\x8f/\x12\xe0\xe7\xf3\xddnq\xfd\xa9o\xae\xfe\xe8K\xffq\xf9\xe6?\xbcr\xfdַ\xcf\xdc|\xfb\xdf\xce\u07bc\xf5\xd2\xeb7\xde\xfa\x9b\x1f\xfc\xe8ʟ|{}\xed\x17\xbe\x91\xb3#\xc8H\x94-,\x93\xb6\xd3\xfc\xbek\xef\x18]{\x05~8\x02\x81^ÿ^?\xea\xcb\x00\xbf\x8e\xfa\x12\xf9/\xd7\x1c\xc0\x95I\xdf\x04\xbc#\x0e\x80\xa1\xee\xbb\xf6N\xbbk\xaf\x85\xbf\x8a\xfa~\x89\xa3\xfd\xeaѯ/_\u007f\xf6?\xaf\xbew\xf6ʻ[\x1b\x9b\x9bw\xe9g\xab\xfc\xb9\xbb\x851\xfd\xd0p\xe3\xadw7\xde\xfe\uee5f\\\xfa\xf4K\x17+Gpl\x992\x82\xd2\t\xf4]{\xc7\xeaڋ\xf6]\x02\xbbJ\xfbY\x02|\xc6\xf0\x9b\xb4\x1f)\xbf\xc0/\x19@VY\xec\x01L\xa8\x1f\xc0\x9d\x8c \x94\b϶\xef\xda\xfb\xfe\xe8\xda[\xa5\xfc~)\x9fu\x8b\x9c\xde_\xfb\xdcw/ݹx\xf3v\x1dtr\x02[[w\x82\xea\xe3Mq\v\xd5\xcf;\xdf;\u007fk\xed\xc3\u007f\x97S\xa9\xb0H\x99D\x19\xf1\xfb\xae\xbd\xa3t\xed\x05\xfcAMo\xf4\xad\xd7\xe1'k\xe0籊\xfc%\xfca,\x19\xc0\xe6\xc4J\x00d\x00p\x00}\xd7\xde\xe9w\xed\xad\"\xbf/S\xfe|\xee\xf8\xe2\xad\u007f=u#\x80\x1f\x00\xdf\x14\xb8\xd9҃\xbb5\xe1G\x1c\x03\u007fv\xe3\xda;w.\xff\xc1\xb7֗\x93\xaf\x90\x13xA\x9c@ߵw讽i\xdb\xd5\xde\xcab\xed\x92X\x81\x1fk\n~\x8c\x83\x03p\xd3+\x01\xfa\xae\xbd\xd3\xefڋ;\xca\xe6\a\xd2ş\xfeW\xf6v\t\xff\x9d\x8d*\xb2\xd30\xfe\x83R@\x1c\x81ث\x9f\xfb\xcee*'\x96\x82\x13X\xe9\xbb\xf6\x0eٵצ\xfcj\xb3O\xa0wm\xf0+\xe0\xab\xd4_T6\x03\x99\xbc\x03\xc0&`ߵ\xf7\xfdѵW\x8e\xf8x\x97\xff\xed\xef\xbc\xf9\x93\x12\xfe\xdb\x1b%\xc1<\x06ۑ\x1f\xf5g9\x13\xe0\x1f\xfa\xae\xadK\xbf\xf7\xd2:\x95\x15\xec\x04\xfa\xae\xbdCt\xede\x85\xe7:گ3\xf0j\xb7_\xc1\xef[ᇜd\x00W\xa7\x9a\x01\xf4]{\xa7۵\x97>\xcf5z\xb9\xe1w\xfd\xd8\xf7\xaf\x0e\xc0O\x18\x97v\xd4\x1f\xfe(\x9c@9\xb8\xb3v\xe3\xf6\xea\xe3\u007f\x9bg\xc9s+\xf9\x8c\xe7\x9a\u007f\xa5\xef\xda\xdbٵ\x97\xd7\xcd\x05\x1f\x92\xde\xeck\x87\xdf\xd6\xfc,\xac\x91\xa4\x04(&\xec\x00\xceи\xef\xda;宽9\x8fg8\xf2\x1f[\xbc\xf8\xcb\u007f\x9fo\xdexw\xa3d\xbedv\x1c\xf8m6 \xa5\x04\xdb[/\xbdv\x936\x05\x97\xf3\xd9\xe7\xd9\x01\xf4]{\xe3]{\x01\xbf\xcc\x11\xf1;\xe1\a\xe8^E}\x879i\xa2ǀ$\xe5\x00\xd2S}\xd7\xde\xe9u\xed\xadG\xff[\xff\xf2\xda\r\xc0\xba3\xf8\xe1\x01\xd4\xcf\xedͭ\xf5\xa7^\xbc@\xa5\x069\x01\xdfw\xed\x8dt\xed\x05\xfc8\xe3Ǻ\x85ߦ\xfcޤ\xfc\x983\xf8.8\x00\xbfA\xf3\xc9f\x00\x00}\x9c\xae\xbdPߵw\xbc\xae\xbd9\xd9j\xe3\xef\xb9ŵ\x0f}#\xe33\xfc\xad\xfa\xb1\xbe\xc2\u007f\xe7Y\xc0fio\xbe\xf8\xf2\x8de\xda\x10\xccw\x95Y@ߵ7\u07b5W\xc6\x02\xbe\x82\x9fe\xe1W\xe0\xc3\x02~R\x99\x01\\\x9ddG \xe3\x00؎ӵ\x97mߵw\xac\xae\xbd8\xf6\xdb\xcd\xd1\xff\xab\xe7\xaf}\xfe{\x97\xa5^\x8f\xd5\xfd\xe3\xee\aHYq{\xe5\xc7\xef\x15\xf3\xcf\x13\xb4\xae\xef\xda\x1b\xed\xda\xebT䗱\xef\x80?\x8dD~w%\xac\x05\a\xe0\xd9\x01lN\xe6]\x00\\\x04:[\xdf\xf5\xef\xbb\xf6N\xbek/}\x86\xcf\xe6\xd9\x01,\xdc\xfa\xd6\xe9\x90\xfe\xdfs\a\x80,\x80\xff'e\xc0o\xfe#\xdd\x14\xfc\xdaJ>[\xa5\xf8}\xd7^ӵW\xdd\xebw\n\xfe\xae\xb4?\xed\x84\x1f\x19\x00\xcb\xc3\x01L#\x03\x10\a\xd0w\xed\x9dZ\xd7ޥl\xf6\xb9\xc5\xff=q\xf1\xa7%\xa8\x9b8»\x0f\x0e`\xfb\x82е?\xff\xf7+T\x06,绪L\xa0\xef\xda\xfb\u007f\xec}\ttdWyf\x97\xba۬ÖL\u0084L\x12\x12\x12\x02!!$\x99\xe4d\x98\xc90\x93\x95\x93\x8d\xecۙ\x1c&$'\xeb\ff`zh\xbb\xd5z\xf5\xa4n\xdc6\xde7\x8c\t6\x10\xdb\x18\x1b\x83\x1bL\xe3\x05\xf0\xc4\x06\xbc\xb0\xd8nܭ\xa5\xea\xbdW\xfb\xbe\xa8T\x92\xaa\xb4\xf5\xfc\xdf}\xf7\xea/\xdd[\xaf\x9e\xaa$\x95\x1a#\x1d\xff\xe7\xbezU\xaa\x96\xca\xfa\xfe\xef\xdf\xeewu\xd5^\x06\xbcC\xb6\t\xf0\xeb@g\xf03\xdbw\x80\xdf.t\x8f\x00\xec\xe1\x8c\x02\xbb\x04P\bw\xec\xa9\xf6\xee\xaaj\xaf\x9f\x06\xbc\xe0Xlɫ\xb5\x87\xe0\x00\xd6\xeb\x00\xd5#_\xac\b\ap`|O\xb57\\\xb5ל\xeb\x0fg~\xfd\xb1\x06\xfe\xddp\x00f\x17\xe0\xa9=\xd5\xde\xddQ\xedE\xf4 \xc7~g\x12/\xb9$\xbe\x9c\x9d[\xde9\a`\x16\x02\xeb\xc7\x1f\xa9\xc6\xf6\x1dR\x0e`O\xb5\xb7\xbbj\xaf\t\xfe\xf0\xe9>\xc5\xfa\xe2\x1e\xb3\xbe\t~|?\xae\xe9\xdf\x1b^\r\xc0\xd5j\x00\b\xf9\xf7T{wO\xb5WE\x00ˉ!G\x00\xa3_\x92\x11\xc0Ğjo\x0f\xd5\xde\x10\xe6υ0?\x8a}=\xc1\x0fۭ\x1a\xc0\xb7d\x17`O\xb5w\xf7T{a\x04±\x99\xd6S\xd9š8\x00U\x03\xf8\xfb\x93\xc5ؾ\xf7\xc6\xe1\x00\xf6T{\x03T{\xc3\xc1\x8fU3ˬ\xf4\a\x83\x1f\xc0_w\x00,\n:<\a\x00\xc0\xef\xa9\xf6\xee\x92j\xaf\x8b\xc7\a'bخ;w\xdbӳC\xed\x02\xbc\xf9\x83i\x9a>tP\x04\xa4\xcfxO\xb57D\xbb\x0f\xab\x0e~u\xcd\xcc\x0f\xe3|\x1f\x16\x02\xfe\xa2\xe3\xa7\x00\xa5\xe1O\x02\x02l\x92\xfd\xf7T{\x87\xab\xda+\a\x80\x84\x86\x9f3rd:\xb6\xef=S\xb37=Y\xe39\x80\xb5\x1dp\x00\xbcSp\xb5\xd9^M\xff\xe4\xf5\xa9ؾ\xff\x13\x13m\xc0\xfd\x13\x1ez\xf5{\xaa\xbd\x06\xf8͜\x9fW\xae\xf0ˍ@!\x05\xbf\xbc\t~\xb1\xe2\xb9\xd2\xf0&\x01\xb9\v\x00 \xae\x0f\xfa\xec\xa9\xf6n\x87j/\xcc\nd~W\xac>\xf0\xdd\xc8\xd1\x19h\xf9\x91\xc4Wr\xe1KN\x13\xc0\xd4\xc2\xff\x1d)\x02*'\x00\x9d\x80\xca\xe1\x87\xca\xee\v\xa3\x90\x10sho\x80G\xce\xc0s\x18\xf4{\xaa\xbd:\xf8\x19\xe4\xc1\xa3\xbdf\x9f\x9fW\x8d\xf9\xb1\xe29Ϗ\x00V\x87:\n\xec31k\xf7\xef\xa9\xf6\x0e\xae\xda˫a\xeb\x92\xdd\xeb\xc0\x1f\x89\xc6\x00\xfc\xe4\xab.s\x1a\x1f\xfaZm\xad\xb5\xecK|\xf1\xf4\xef\xb6G\x00\xfc~\x1c\t\xa8\xc7\xed3\xc5V\xfe\x0f>\x9e\x87\x13\xa0\xc1 \xa4\x04\x9e\x1b\x89\xc2\x11\xec\xa9\xf6\x1al\x1f>ׯ\x83\x1e\xcfi\xe0/(\xf0ü\xddr\x00\x1e\xd7\x00\xf6T{\aU\xed5\x99_\v\xfbm\xe4\xf9\xd0\xe4\x13\x06\x89/\xf7\xf9\xd6L\xe5\xd0\x03ŕbsY\x85\xfc0\x89PS\xdbc\x1b\xbe\x8c\xf7T\xc5\xc6e\xdeq<\u007f\xff\xcc|\xfagn\x84rP܉\x1cu\xc9\x11\xc8\x10\xdf\xfa\xceU텅\x83\x1f`\x0e.\xf8\x99\xe0/\xaa(\x80#\x00\xab4LI0=\x02\xd8S\xed\x1d@\xb5Wgy6\x1b&7\xfa\xd81h\xf6;\xfb\x8e\b}\xbf\xfc\xdb\xeeȴO\x17\xb8\xda\xcf\xc0\x17\x8bb\u007f\xdc\xc7\xf3\\\xbc\xdb:\xf8\xb5\xf7\xe4\u007fn\x85\xe5\xc3V\x17\x96Vg\xaf{\xbc\x9e\xf8\xdeK\x92\xe4\b(- \xe0\uf5c0\xff\x0eT\xed\xc5\x1a4\xdaˀ\xef\x87\xf9\x19\xf8\x9eX-a\x9a\x03\x18~\x04\xb0\xa7\xdaۏjo0\xf3K\xc6\x17\xcc\x0f໑\xb1\x19\xe8\xf5\xa7\xdfx\xbd7\xff\xb9\xe99\x80\xae\x1b\xc0\x99\x95\x19\x8ckzN0\xc0\x97\xfaV\x85v\xe5\b\xf4z\x00.:\x1d\xc1rnn\xb9\xfc\xceϕ\x9d\v\x8ez\xe4\xb8\\\xaa\x0f$`\xdfy\xaa\xbd\x9d\xcco\x85\x83\x9f\xcd\x04\xbf\x00\xbc-C~K8\x01^w!\x02\x00@\xa5\x03\xd8S\xedݴj/\x9b\xce\xfcp\x1crs\x0f\xb4\xf8E\x9e\x9f\xf8\xb7\x97\xc4g\xafy\xac\xba:\xbf\xb4\xaa\x85\xfb\fp\x16\xfd\\\u007f\xbc\xf0@\xac\xd9z:\xaf\"\x05\xae\t\x04\xa4\a\xdam~\xbd\xf0\x1f>\xb8I*|n\xa5\xa0\xa7\x1dx\x9e\xdfK\x8f\x14Z\xdfȶro\xfdX\x1eN\x80Z\x86\x1e\xfdn\t\x8aj\x92\xeew\x88jo\x9fa\xbfZ\xbb2?\x83_0?Vu\x8d\xfb\xa5\xa1\x0f\x02I)\xad\xa7\xf7T{7\xafڻј\xf9\x01|qD\xd7\bz\xfa\x17M;\a\x8fN\x97\xff\xe9\xbe\xc2r\xa6\xb1\xd4\xc9\xec\xcc\xc4X\xb0\xb2\xda/^G\xfb\x01\x96\x8ao\xbf'\xef\xbe(\x1aoO\x96Z\xba\x03X\xd3\x14\x817\xdc\xd3b{}\xf0\xa7|\xe8T\xd9{\xc5q\xaf\xf9\xc9g\xe7\xd44\xa0\x0fv-\xe2\xe0\xf4D]\x93\xf38\xd3L\xbd\xfe\xda495\u05cdX\tr\x04<\xe5\xf7\xdcW\xed\x85\xf5\x00\xbf\x1d\x00~\xc1\xf8\f~\x0e\xf9\x05𥕤\x03(\xb3\x03\x18n\x04\xf0̞j\xef\xe6T{a\x1c\xf2\xc3X\xce\v[z\x9d\xc8\xe84\xb6\xf5ҁ\x1c\xa9\xd6\xd73\v̨\xcc\xec\f`-\xf7n\xb4Vj'\x1e\xa9$^\xf1>gz\xdf\xff\x9c\xac_\xf1hE\xd7\x06\xe0\x10\x9e\xcf\x03\x90lm\x9e\r\xa0;\x02\xfc\x1b\xf5\xd6j\xf2\xf5\x97'i\xe6 \x9e\xfb\x95\x8f\xe4\x16\x1fO-\xf6\xf53εW\xeb\x97>Z\xf7^~<\tG@QN\x12&\x8a\x83\xcf]\xd5^\xad\xc7o\xb4\xf9\xc2\x06|p\xdd\x19\xeeo\x00\xbf\f\xfd\xd9\x01\fk7 G\x00<賧ڻ\xb9\xd1^\x98+W\x00\x9f\x18q\x1a\xe1~\xfa\xb5W\xbbĮ\r\x05\x18\tΞ\xec\x8a\x15ߓ\xfa\xf1\xab\x13\xe4\xb4\xfb1\xc2[\xfa\xabO\xe7\x96\xdcZ[g\xd0s\x1a\x83v\xe6ڨ\v\xa0>@u\x02\xd4\vP7\x88{\a\x8f\x01\xfc\xb1\xfc\xef|,\xb3&\xdf\v_:\x83\xcf\xde\xf8x}z߅3\xf1\x91\xf7b\xa6 \x8eY~\x92\xf8&\xbb\x98X\xfdp|f\xdf{b\x89\x1f\xba4\xb1\x92o.듅\xca!,~%\xb1H\xdfG\xb9\xcc\x00\xa4\u007f\xfa\x86d\f\xc0\x8f\x8c\xc5\x18\xf8\xd18\xfd\\\x0e\x14z\xcbﺯȅ?\x13\xb4\xe5\xff\xfd\xb9\x92\x92\xf0r\xc4\x11^\xacڋՑ\xf2]\xe2\xfe\xf3\xa3\xee:\x88WTA@\xfe\\\x88B\xa8\xdb\xe0}\xef\xfb\x92\xe4L\x88\xb5\xfdA\x1f\xf4\xf9=2\x8aJ<\xf7yc\x89ʻNUV\xf2sF۰{}@\x8e\x15ϔ\x97\x8a\u007fvw\x89\"\x12z\xef#\x88\x06\xd2T$\x05\x90CU{]U\xec\x8b\xd8\x19\xfaL2\xf4\xbd\n\xf40\\g\xe9\xe7\xcb\xd2sY\x97Vv\x00;\xa4\xdak2\u007f^\xae\x01\xdby{1\xbf\x053\xc0\x0fs\xfd\xebav\x01l#\x05\xf8vU\xed\x05\xf0\x89\t\xa7\b\x14\xc4\xf2c\x93\xc4~g(\x9c=C9\xeeYb\xd4I\xf7 \xb1\xff\xc8\xd8$\xfdQ\x9f\x8d\x8b\xfb\x87\xcf\x02\xfc\xc2\x11D|G\xd0m\xb4W\x85\xfb0T\xf6\xdd\x17\xdb3ձ/\x96V\xaa\v+\x81\xe3\xbbxB\xeb\xa3\xd3qޭ\x02M\xff!\xb7'@\xf8\xe7\xf2E\x04\xf0\xc9ly:\xcfX\x9c\x98\xdd\xc5\t\xc0\xf8\xa6na;\xe9\x05.\xd2\xefc\x9c\xc7\xc7\n>\f~\xcc\xf2c\xae?\xff\a\xb7\xe7;\x8f\x06\xd3\x15\x81\xa8\xd3P\xf7\xa3\x80\x89\x0e\xd5ިh\xf1\xd1g\x9a@\xa5?\xf1\xca\x13\xa9\xd9\x1b\x9f\x98]]\\\xe6\xfa\x00\xec\\\xc0X\xb1|L\x9b\x9b\x16h\x93\x13\xea\x03Irx)8\x02\x9fѭ\x94>\xdd'\vv\x04x[\x80\x9f\xd2\x13\xb4\x1b\x11I\xa4p\xed\x1e\xb020Jup\xdc9\x9eK\xd3g\x99&\x87\x9f\xa5ߕ\v~;\xa4\xda\xcbf\x86\xfd\x0e\x0f\xf8t\x82\xbf\xb0\t\xe6\x87\x15\xd9\x01\xecN\x04\x00\x90}[\xaa\xf6:r\xf5\x81?z\x96\xfe\x90\xcf$\xbe\xfb\x92\xe9\u009fߕ\x9e\xbd\xfe\x89\xca\xfc\x033\x8d\xd67\xb3\v\xedg\v\x8bTl\x9b\x9f?5ݨ_\xf5\xd5r\xe1\xf7oOy/9\x066\xa7\xf7<\xea;\x02\x8e\x06f:\xc3}\xe4\xf9\xe48\xa6\x8a\u007fzW\xa6=U\xe6\x90ؘ\xa4[3&\xe90\xe7_9t\u007f\x89\xe6\xfe\xc5^\u007f\x9c\xcf\x0f\xe3\x93yaQ\x80O\xb0\xff\xec\r\x8f\xd5d\xae\xaf\x15\xee|OB\xb5\x81,r~\xc5\xfe\xbdT{\x1d\xac#\xb6p\x02\U000e799a\x9d\xa0\xe7\xa9@z\xeb\xe6\xd2j\xfag\xaf#\xe74\xea\xb3?\xc0\xcf\n>(\xea\x11x\x8f\xc2\x11x\x99\x9f\xbd1K\xc3I\v\x1a\xeb\xeb\x91\x0f\u007f\x06x\xd0ZYk\xdc\xfc\xb5\x06mz\xca\bG0\x12M\xd3{\n'@Ƭ\x1f!v\x1f\x01\xf0/J\xd1\xe7\x9dN\xfd\xf8\xb5y\x9aB\xac5>\xfaTs\xe1aw\xb1\xfdt\xae\xdd~&\xdf^x\xd4[\x9c\xbb\xe3\xf4|\xe5\xf0\x83\xf5\xcc\xcf}\xa0\xe0\x8c\x8c\xa2\x80\x9a\xa6\xf7\xa5\x88\xc0V\xda}\xb9mW\xed\r\x9e\xeeS\xab0}\xc0G\x02\xdf\x00\xbf\x02\xbe\xb4\xb2t\x02\x95]r\x00\x9c\xe7\u007f\xbb\xa8\xf6:x}\x04෧\x00\xfcԏ^\x19#\x96\xaa,\x17\x9aKA\x87hv\xd2\xd5R\xb2\xdeF\xd5>\xf1\xefNĐ\xcf\x13\xf3\xc8|\u007fc\x9e\x9f\xf9\xf9\x9b\x12\v_\x887\xd7\xcc\t9~?\xe3\x8f~y\x15;\xfc\x12\xaf\xba\xcc%'Cy~4.\xcf\xe5\x8f\xcb\xed\xc0\x8a\xfd\xb1\xfd\x16\xbb\xefb\x99_\xbc1E`Y\xddȩ\f\xda\xe6\xc93s\xf2(/\xd7٬d\xb7p\x00G\xdc\xf4\xcfߐ\x06{w\xd4%6\xbe\xf7g\xce6\x91\xf7\xa3\x95'@Ϫ\xbd\xa2\xbf\xefE|G@\xce\xd0#p&\n\u007fxg\xb1}\xb6\xd8\x0et\x86XLg\xb8Bΰ\xe6\xbe\xc0\"\x80\x1f\xc6\xec@\x9a\f\xe0\xf7\u05c8`\xf6T\xee\xd7>Z\"G\xbd\x80\xfd\b\x9d*\xc6A\xba\x86T\x83i\x15\xff\xe2\ueab3\u007f4K\x11\x01\xd2\x021\xdf\xdf7\xf8\xc3U{a\x1c\xf2룽\xc1\xcc/\xee\xeb\xac\x0fc\xf0\xa3\xff/\xae+\xbb\x91\x02\x9c\xd1r\xfe\xf3^\xb5\xd7\a?\xa9\xf2F(\xac\x8f\\|\x96\xd8 \xaf\xdao\x921\xc1N\n\xac\xd2xP\xa63\xbc^\xce\xcf-\x95\xde\xf1\xe9,\x81\x8b\x9c\x00N\xe6\x8dΈ<\xff\xfb.\x8d7>\xf8\xb5\xeajK\x0f{υ\x85\xbdM\xec폋<\xffh\f\xc0\xf7\x00v\xb0\xbe\x0e~\xac\x118\x80\x8bb\xf3\x0fL\a\xb24\xe6\x01Ro\xba6E`\x86\xc3شj\xaf\xd8\xc1\xb7\xdfo\xf3կ\xfdj=(\xba\xc0\xe3\xfc\xef\xfeK\x81\x00\xe8\x89\xd0_\xd7\xebW\x8e`\xc4N\xc1P\xe0\xa3)\xc5d\xf5\xe2\x87j+\x15N\x87\xcc)G\\\x18\xe9P\xbb\xf0\xb6\xdbK\x00;9\x94\x14\xf2|\xac\x89W^\x92m~\xe2[\xf3\x1b\x14\x8b\x96\xcd\xff\x8f<\xec\xb41\xa5Y|$\xd1J\xfd\xe4\xb5E\xfa\xd92\x14Q\xe5\x1c\x80~\x1bU{\xcd\x01\x1f\xc5\xfc0\xde\xd0À琟\x81\x0f\x8b\x1a\xcc\xcf\x0e Zٍ\xbd\x00`h\t|\xac\xe7\xb7j\xaf\x02?傓\xeeK\xed\xc9\xf9\xcfL\xcd\xfa@4\xc0\xbdf|\xf1}\x03\xb8\x8d\x9b\xbf^s\"\x17MQ\xe1k\x9a\x98\xaa`\xce\xcb\xf3\x10~\xb7h`i\xba\xdc*\xfe\xf9\xddY\x023҆\x19\x01\xfc\x88\x0f|\xe1\x00\x14\xf8\x19\xbc\b\xe5Eۯ\xf0Gw\xe4z\xe6\xe9\x97?Z\xf5\v\u007f\x13\xaeӧj/\xaa\xfb(\xf2%\xbe\xef\x92\xe4r\xaa\xbe\xde\x16\x9ah\xae\x1f\xa1\xbd\xda\x1d\xf5\x1bw\xc5\x05\xef\x87\xc7\xf5\xfcg\xa7\x1a4\xd82\xdfs\x9b.V\xb3\xf5U\xf6^l\xcb<ߎ\xc3\xe8gg\xe0\xabJ\xbfX;\x0f\xe2\xb4\xe2\xee\v\xa2\x0e嶲\xb6\xc0\x95\xfau\xc7\xe2V\x97\xbc\xef9\xee\xb7\xfd\"\xfd\xab\xf6vD\x01n\xf9\u007f}\xb6lv\x18X!\xb8\xf2\x9eS\x15\x14\xfd\b\xe0\x00\xbb\xb1\xa1G\xad\xae\xdc\xc1\x87^?E9ID\x04\xd97\u007f(O\x03I\x8b\xdc\x12\r\xdfv\x8c\xa1#r\xbcs˩\xd9e\x15\x9dt\x17,Y\xd3DM\x8c1g\x8e\bh)\xbe\xe3\x9e\x1aG\x02\x12\xf8[W\xede\xf0c%3\a|\x98\xf95\xd67\xc2~\xac\xa6\x03\xb0v'\x02`\xe6?\xffU{Q\xedG5\xbfyϳ\xf5u\xf0\xf3\x1f\xcd\xe6w\xcc\x06O\xb7\xf53\xfc2\x9bz\xf5\x152Ϸd\xb8o\xe9\xe0\x8fI\xf0;\xca\x11\xd0\xe7\x04\xf6\x17\x85\xbfʑ\a{\xf7\xea\xff\xf6\xde\"\xbdN\xa8\xf6:\x03\xaa\xf6*\xa3\x93\x87\xbc\x96\x98\xfdg\xe6?\xa7\xcf\x18\xfc\xfbK\t\xe0GE\xde\x1f\xa6\xda+\x1cA\x04i\xc1\x04\xc2\xf9$\rE%\x8b\u007fyOy)^]2\x86\xa2\x02\xb4\x0e\xd8\xd9j\x9fw\xff*G\x1cA\xb5Wֲ\xbf|K\x99\xfeN\xd0!\xc8#\x12زjo8\xf8a=\xc0o\xb2?\x80\xaf\xcc\x15\x8f\xad\xddK\x01\xcew\xd5^\x02\r\xaa\xfd\xa2\xe0W~ϩ\x9cd\f\x8e)\xb1nA)\xa3\xe7\xf8\xee\xaa1\xfe\xba\x90}ˇS\xc8\xf31\xbe\xab\xc2}\x05\xfcΐ_\x9a\x00\xbf#\xae-b\xf2(&\xf7\xe2\xc9\x1f~\xbf\xb7R\xe81\xad\xf7\xe5ĂP\xece\xbd\xfe\x81T{\x1d\xac\xfbEo\xdf\xcd\xfd\xd6G\xf3=\xa7\f?\xf0\xf8,B{\x19\x05\xf4T\xed\xc5\xea\xc2\xd0\xca\x1b\x19\x17F̛\xf4^2\x91\xaeM\xfc\xbf:Br\xf3sU~ 8R\x18D\xf0@\xff\xec\x96b\x95e\xef{\xdeG\xe0\x1f˹\x91mS\xede\xf0\v\xb36\xc9\xfc\f|=\xf4g\a`\xd1j\xed^\n\x00\xe0\x0f\xa2\xda\xeb\fK\xb57\x12E\xabo2\xf9\xea\xcbgV\x8a\f\x9a-\x9f\x9f\xcf,b\xa6\a\xe6\x06\x986m\x80\xc9\xd3\x06\x98\x19G\x8c\xef\x8ew\x84\xfb\x16\x80Ͻ}\r\xfcXa\x82\xfdG\x04\xfb\xc7\x1a\xb7~}\x96\xc1g\xce\xebg\u007f\xe3\x16\xd4\x14TۏE:\aR\xedŐ\xcfD\x02\xd5\xfe槞mv\xfbw\x15{f\xfe\xe3\ar\xc4\xe8\xa2\xe8'\x9c@\xb8j\xaf\x9c\xf6\x93-\xbe\b*\xfd\x87\x92\xa9\x1f\xbd*7w\xe7\xe9&@\x1940eF\xfa[\x17-\xec\x8fv\x16\xfc\xd8\x11\x80\xfdGlQ\xf5\xcf\xfcכ\xd3\b{\xe5\x97\xc1\xc4s\x1f\u007f\xa6Al\x1a'в^\xbf\x01~\v\xb6i\xd5^/\x025\x9f\xd1Dꧮɬ6\xda@\xa2\xde\x16\x94B$3\v\xe4\xe0\x12\b\xef\xfbP\xed\xe5!\x9f\x88\xef\b(:BD\x90\xca\xfd\xf2\xad\xc5\xc5'\xd2-\r\xf8Zڶ͚\x87\brꋫ\xc9\xd7\\I\x00\x1e\xcd\x11\x81䷢\xda\xcb\xe0\x17\xdf[\xec\x83\xf9\x15\xe05\xf0\xb3\xb9b\xb5\xb0\x0e\xbf\r\b`\x0e\xacګ\x01_\a\xffv\xa9\xf6\x82\xfdQ\xf8\xf3^v|\x1a\xfd\xfb\r\x93r\xdb*\x9a\xbbf0q\xf3Sg\x1a\xa9\xd7]\x83\x8d2S\x90\xf6\x92m=\x06\xbcb~\x1d\xfc\xcc\xfaq\xc9\xfcdQ9\xf5wq\x9cڅ\xf3ڼ?KuW\x17W\x92\xaf\xbb*\x89\r>\xd4&\xf4\x02\x98\x9f\xef\xf5\xa1ڋ6\x1f\n}\xb5K\xff\xb5Π7O\f*\xfc\xf1\x9dE\x8a\x16\x12\xa8\xf8#\xd7\xefW\xb5W\xf5\xf7)J\x12\xc3=\xb4\xed8M\xbb\x14\xab(\xf8\x19\xd1\xdb6~鎔&7\x1b\x14me\xdd\x03\"\n\x18P\xb5\xd7\x1c\xed\xe5\xb1\xde\xc1\xc0/\xbf_]W\\\xff\xba:\xe4A v\x00[U\xed\x85\xed\x94j/\x86}0\xbe\x9b\xff\xbdے>\xf8w\xe2\xd0\f\x06\x81\n\xc1K\xffx2\x8f\xc3:h\xda\f\xc0\x8f\xe1\x10\x0f\x05x\x05~W\xcb\xf9\xb5V\x1f3?^{`\xdc\xc10O\xf1/\xefΛ\xd5x\x06cuB\x9c\xd7\x17\x97\au\xb8\x9b>\x96;\\\xb5WJy\x8d%\xbc\xef:\x96\xa4\x12\xdc\xc1\xe0\xe7k\x05v\x18^\xbb\x0e~Zax\xcd\xee9\x00\x06\xfb\xd6T{\xb1n\xbbj\xef\x01\x19\xfe_\xfahIg\xad\x9d<;\xbf\xf8ן̉\xd6\xde\x05\x13\x9d`\x8f\x89U>\x96\xa6\xc0/\x81Ϭ\x8f\xb53\xff\xf7^6\xee,M\x95:\x0e\x00\x95䯀7Yj\xbb/U\xc0\xb7\x05\xd8C\xc0\xef\x99\xcco\xaa\xf6\xf2j\x81\xd5Ѻ\xf3J\xef\xf8T\xa9W[\xb0z\xf4\xa1\x1aE\v\xd8\x17\xa0v\xf4\r\xa6ڋ\xfb\x11D\x03\x13\x19\xa4\x05\x8b\x8f'[;}\xfe\xe1z4E\x85\xc8\xe4\xf7_^\x14N \x12-\f\xa8\xda+\x04<͜\xdf\xee\x01\xfe(\xe7\xfc\fv\xac:\xf8E\xe8\x8f\xefq5\a0\xc4\x1a\x00;\x80\xf3M\xb5\xd7\xdf\xe83.\"\x00\n\xc7gu\xe6\xd8ɣ\xb3\x1b\xd7?YE\x8b\xcf;0\xce\xf9~\a\xf0=\x98\xec\xf33\xd0m\x06\xbf\\\xb9\xedw(V;\xf6p\x85\xdb~f\xe8]\xfc\xefw\x17\xb0\x95W\xb1?\xf7\xf7Ù\xdfa\xe6\x0fQ\xed\x15\xed;\xec\xd4K,\xfe\xab\xbb\x18\xb4\xf5x\xa58\xbf\x92\xfc\x91\xcb\t\xc0G)\xaf\xf7O\xda\x19X\xb5Wl\xf0\x19K'_\xf9\xfe\x1crs}\xa2r'\"9\xf5\xbbd\xffۇ+Tw\xc9\xd1\xdf\x11W\xf7\xc3U{\xc9,\x9d\xf9\xfb\t\xfb\xf9\xda\x04\u007f\x05\xe0\xe7k[^\xef\xba\x03\xb0\xb0\x9e\x87\xaa\xbd\xb6\xe8\x00РI\x93\xfb\xbd\x9c\xff\xef\x8c\x03@!\xee\xf4,\"\x00\xd5\xdf\xef\f\xfb\x01t\x8f\xf3\xfd\x00\xe6Ǫ\xf2\xfe\xd1x\xf2\xf5W%\x90\xdf\x1b\xe3\xc4\x00\x9f\x18#\x8e\xcfӾ\x00\xce\xfb\xfb\xc8\xf9\x1d\x8d\xf9y\xa2\xcfP\xedUc\xbdI\x14\xfa\xb2\xbf\xfa\xcfynC\x9a\xc5\xc8\xc6G\xbf1\xe7\xef\xed\x9f\xc0vށU{\xa9\x00\x89\x1d~\x99\xf4\x1b\xae+\xac\xb6\xc4/\xbc#i\\\xb71g\x9a\x0e\xac\x11\x81\xe4\xc8\t\v\xd0\xf7\xa9\xda[\xec5\u05cf\xc7A\xd5~\x8d\xfd;\xc1/\xef\x01\xf8\xec\x00v5\x028OU{\xd9\x01D\x8eN.>\x96\x9a\xdf\xf9\xa3\xb3\x19\x90\xcdO\x9ei\xc8\xe9>-\xe4\xd7F{e\xb1ϑ\xa0\xc7\xca\xf7,1\xbf\x8f\xdc\u007f\xee\x13\xcf4\x82\xdao\xe8\bd\xders\x86\x1c\x00^/\xd8?\x10\xfc\xec\x18\x8cc\xb9=\xac\xea\x88.<'\x81\xaf\xab\xf6\xba\xb8\x1e\x11\xc2\x1d\xde\xdcmO\xcd\x05\xb4#\xf1\x89\x10\x83~(O\x85K\xbc^8\x81~U{\xb1\x92\x03\xc8b\xfb.\x8d\xff\x16V\xdb+x\xdb\x1dv\x00\x1cUQͥ\x1e\x13\x0e`bP\xd5^\x80\x9fA\xcfV\ff~\xb3\xd8\aә\x1f\xe6\x8akv\x00\x9e0{x]\x000\xff\xf9\xaa\xda\v\xe7A\x8cH\xd7G&\xb1Ѧ3g\x85\xed\x80\x03\xe0\b\xe0\xb6g0\x14\x83\b`\x03\xf3\xf3t\x1f\x83\xdf\xd5\xc0\xef(\xf0\xef\xb7]\xf4\xf2s\xbfqk\x06\xef\x19ȴ\xb7|}\xd6/\xfc\x19\xe0w\xa5\x99\x13~\x1c\xf2+\xe6g\xd6\xef},\xb7\x9f\xd3G\xb0\x8eR\xbf\xfe\x8a\xccJy>82y\xd8Y\x14\xc2\x1e\x11\x91\x02\f\xa0\xda\x1b\xcd\xc2\x01 \x02H\xbd\xeeZ\x8a\x00\x96e\n\xb0\xb3\x0e@u\x1a\xf2\u007fxG\r)\x80\x1f\x01D\aQ\xed\x95kt\xf3\xa3\xbdl\xbd\x99\x9f\xf3\xff\x8a+\xbb\x00\xb0a\x1e\r6\xc9!\xff\xf9\xa7\xda\v\xa3\"\x14\xa4\xb6\xcf\xd2>\xf0\xba\x9e?\xef\xa4\x03\xa8_\xf6\xe5jL\xd6\x00t\xf0\xbb\x1a\xf8\xd9\x01\xf0=i.\xc2\u007fL\xf5\x05\xe5ژ\x06L\xbc\xfa\xfdh\xfb\xb9\x94.po_\x9b\xee\x83)\xe6g\xb3;\xf3}y.?\xaeÎ\xe5F*\xe0k\xf7\xa1\xd0W\xb5\xbeP\xebY\x9bx\xfb'˘\xf2\x93{\xf9\xfbW\xed\x8d`\x1d\xcb$^~\"G\xbf\xef\xca\xceGr\xf85\xfcA\xae\xcc/\xdeT\xa1\x9d\x94y\xbf\x06\x10\xed_\xb5\xd7\xcc\xf7\xd9z\x84\xfcA\xe0\xd7L\xdc\xdb\x05\a`op\x00\x1e\x83\xff\xfcS\xed=0!\xc4;\xaa\xa3_(\xee\xa8\x030\xff\xe8\xd1\x05@\vP\x82\x9fs~\xa3\xc7\x0f\xdbxϥ\ue14b\x89\xbf\xd2\xdf\xdd[\xec\xb9\t\xe7\xa2\a\xca\xcc\xfe\x81\xe0\xf7\xba3\xbf\xad\x9d\xc9on\xe55\xc1\xdfy-[}\xfff<\xd5~V\xed\xf1W\x9f\xef\xb9\xceݎK\xdeˏ\x89\xb6\xdeઽ\xb6\x88\x02\xa85\xd7\xda\xe1HN\xfe\xdcp\xaes+\xde+N\x10ӏQ\x17\x00l߇jo\xd8ho\xf0t\x1f_3\xf8u\xd6W̏\xc7U\xcd\x01\xac\r\xd5\x01\x9c'\xaa\xbd\x93\x81\xaa\xbd#\xf64堓\xd9\xff\xf2!\x0f\xa0\xd1\xe6\xffw\xa4}\x84\xe9\xbf\xd4k\xae\xf2\x88\x95cnDc~\x18\xb3\xbc\xc9\xfa\xb0\b\x98\u007f̡yt\x97\xb6\xban\xe8\xb7\xe3?\xe5d\xe8\xe8\xaf\x16\xb4\xfbx\xd4W7.\xf6\xc1$\xeb\xc3<\x98b{\xb12\xd0{1\xbf\x0e~\xb1\xab\x0fC?\x85?\xfbD\xa9\xd7|B\xed\xf8\xc3u\x8a\x16\x10\x05\xb0v\x9f\xa1\xda\x1b\rT\xed%\x87\x98\x85\x94\x17EVF-d\xa7\xea8\xf3\x9f\x9d\\\xa4\xba\n\x81\u007f\xbc\xe8\f\xae\xda\x1b\x0e~f\xfb\x12\x17\xfc\xac\x0e\xf0\xdb\x01\xe0\xb7\x01~\xe5\x00jC\xdf\f\x04\xb01ȇ\xa7ګV\x8d\xf9'%\xf3\x1b\xaa\xbd0w\xbf5\xd5z*\xbbpn\a\x86\x81\xf4\xbc\x97Ti\x9aB\xae;2\xde9\xe4c\x8e\xf6\x9aa\xbf\xeb\xe7\xfe`\xffC1\xd2\xdc\xe3\xd0Z;\xa5W\xe6\xa7\xe2L\xfe\x0e\xf6w{\xcd\xf4\xc3\x1c\x0e\xf7\xb5J\xbf\x1e\xf6[\x89M\x1f\xd1\x15\x19O\xa3\xd0Gg\v,\x98?/\x8f֦~\xe2\xea\x1c\xb1\xb8\xe8\xeb\xbb\x12\xecJ\xb5W\xae\xb0\ueabd#v\x96\xc0\x98\xc9\xfc\xe7\x9bK\x9d\x9d\x1c\xac;\x95ƕ\xfe\xe6\xdeYj\xab\xe6\xa9\x00\xb8\x15\xd5^\r\xfc\fx}\xc0\aƏ\xcdb\x9f\v\xe0\xeb\xe0\xe7\b\xa0\xe6\xedF\x04\xa0\x80\x8fu\xe7T{\xc3\xc1\x0f\xe0\v\xd3N\xeaQ\x02\x9e\xc4\x1eg+\xef>\x957\xb6\xcfn\xf1\xab[\xceK\"\x1d\xd0\xdfC\xf8\xaf\x00\xaf\xb1\xbeŕ\xfe\x0e\xf0\xcby\u007f\x17\xea=\xa9\x9f\xb9.\xb5\xda\xc4\xcc}w)\xae\xf9\xfb\xa7\xe7qB\x0f\xf2~\xa7\xcb^~\xbd\xe5\xe7\xac3\u007fTc~\x8d\xf5Ù_\x1aG\x01\xa8\xf0\xa3З\xf9O7\xe5\xf1\xf3\x05\xeeQ\xb8\xeb\xf4<\xa5Ex\xbdr\x00\n\xfc\x1c\xf6s\x1bPS\xedUi\xc0\x91\fɬ-\xea\x8ef;'9\xf1pɩ.\xd3\xf881\xbf%\xc2\xfd\xc1T{M\xf0\xf3j\xb6\xf9\x18\xf40.\xf8\xa9a\x1fi\x9d\xe0\xaf\xf0\x1a\xad\xedJ\n\xe0h\x0e`\xbbU{\x19\xf0\x81\x87uH\xf0s\xd8o\x1e\xd4!\xd5{_dO\xb7\xcf\x14[zAm\x1b\xfb\xff\xa8z\xcf\xe3x.\xb0\xbd4\x87\x8cY\u007fC\xa5\x9f\x8b}\xfe=\xe5\x00\x0e\xc7IkoN\xfb#gF\xa5Jx\xfa\x17nHC\xb3\x8f^\x0f\a\x10\xc2\xfc6\xab\xf6\xca\\\u007fs\xc7r[\xe1g\xf2\xfb\x00N\xa1\xc0\x87\x10\xbf\xf1\xc1'\xe7z\x88\x93\xaeѩB\x04\xa6\x8b\xf0zv\x02\xcc\xf6\xe6ɼ\xbeed\x14\x90#\xa7\x97\xc9\xfe\xfa-厙\x8e-\xd5t\xf4\xcfV\xfd\xdc\xe5w\u07b7\xce\xfe\b\xfb\aW\xed5\xa7\xfbL\xe67\a|\x18\xfcX\x99\xf9;B~2v\x04\xf4\x19Ն\xbe\x1bP*\xeb>\xbbͪ\xbd!9\xbfՍ\xf9\x01\xfa\xc0\x93ye\x140C\xc0\x9a\xca\xff\xf6\xbf\xa46\b@\xe0z\xab\xfb\xc8\xf1V\xf4\b\xbb\xe4\xd2\xff\xe1\x86$\x1c\x00\xb1\x9c\xd6\xe3\x87Yq3\xefg\xf0#\xf4\a\xf8Ic/\x87\xb7\r\xdcw\u007f\xddcu\xa3\xf0Ǧo\xe5\xe5\x1d}\x8a\xf99\xf4\xd7\xf3\xfd\x90\xb0\xdfN\xf25\xafdR\xbb\xffh*\xf9\x83\x97e\x97ss+,\x1fFW\x1d\x0e\x17B\x9c\x90\xe7\x06\xf0a\x8a\xf9ye\x9d~G^\xab\xf3\xf9p\x0f\u009dP왽\xe1\xf19\xb5}w\xf0t\x80\xc1/\xdfKi3\xb60\xfe\vг\xf5\xaf\xda\x1b\xce\xfc\\\xe9\xd7s~\x97\xc1/L\x03\xbf\n\xfd\xe5j\xe1\xde\xee9\x80mT\xed\xedg\xc0G=?m0?\xafS0\x19\x01\xa8\xb3\xf8&\xabǾ\xa4\xb6\x05\xabvZ_ӁA\xb2`\xa5\u007f\xb8\xb7\xe0W\xfe'x\xb4W\xcb\xf7\xc1\xfc:\xf8\xb1*s\x0e\x8c9\xa4\xb1\x174b{\x8e\xb4\xff\x97\x13\xaf:!\xdb~\xbdv\xf4uV\xfay\xa8\xc7e\xd5^6\x93\xf9\xbb\x9d̫3\xbfz\x8e\xb7\xf2\xca(\xa0r\xe8\xf3\xb5\x9eJE\xffp\xb2\x8aT\x80>'\xc5\xfa\x02\xe4l\x96r\x02\xea~\x8e\x0f\xe8\x94\xeb\v\xad\x1c\x89\xab\x88hn\x95\x80\xdb\xf7\x16af}\\)\xe7\x8a\x03OV\x92\xaf\xb9\xbcD\x9fo\x81\x9c\x8d\x18\xf4٢j\xaf\xd6\xe3\x0fe~\xb3\xd8g\x80\xdf\xee\x04\xbf\x9f\x02p\x04\xb0:t\a\x00\xf6\xdf.\xd5ޠ\xaa\xbfC&V.\xf8\xc1\t\x04\x80߰\x19W\xae\xd4\x15\x10\x91\xc0쵏U\x02\x94|\xba:\x83n\xcfw\n~TG\x1f,1\xf8\xedu懩\xd0\xdf\xd1z\xfcz\xe1\x0fm\xbf\xf2\xbb?W\xeay\xbaυ\xf7\xa9#\xb9\xc0\xfeZد\x8d\xf62\xf3'an@\xc1O\x99.\xdf\xc5f'u\xf0\a\xcd\xf5\x8b|\xfe\x02+\xdd\xfaF\xb6\xbd\xfe\xf9\xca\xcfO9[\x02\xd92\x94|]\x00<\xb2!\xd7\xd7Y\x9f\x99\x9f\x1d\x81\x94\xef>\x9aM\xbc\xea\x92|\x8b4\xff\x15{\xab\xfc\x1d_A\x8e\xa0ہ\xab\x8a\xf9I\xd6l%\xfd\xc6\x1b\xcaTl\x04\xf8\x05\xe0\xb7A\xb5\xb7G\xceo\x05\x86\xfd\xae\xc6\xfc\xfe5\xb3\xbeC\x06\xe0+'\xe0\xec\x92\x03\x98\xda>\xd5\xdep\xe6w\x98\xf9\x19\xfc\x01a?_k\x87sv8\x81\xea\xe8Cŵ\xa5\xd5N\xe9)\r\xe1\x1c\xeeo\x80\xff\xf2Fq\xca\xd2ߟ\xcc\x03\xfcش#'\xfc\x02\x98\x9fٞ\xaf-\f\xf0\x88\xb6\x1fi\xea%\xa0\xad\x17$\xf3\xd5z\"\xbdH\xa7\x14q\xc8o\xcaw\x99\xcc\x0f\xe0\xc3z\xb5\xf9\xc2\xc1\x9f\xea.\xe4a\xb1\x01\xfc\xb4\"\xb7\x87lw\xfem\xb7IG\xd6=\x8d\xa9_\xf9\xe5\x06\xdaz\x94c3\xe0e\xbe\xaf\x80\xdf\xedL~\x18;\x81\xd1\x1c\x89\x9e\xe6\xe7O\xcd,r4\xb6\xe1\b\xb2\x8dN\x80\xef\xc9\xd7\xc2i\xc8\xcf\xf6\x9b\xb9\xa5\xd4k\xaf\x82\x16\xe0z\xd5\u007f\xbbT{\x83\xe7\xfaa|\xcd\xe1?\xe7\xfb0/0\xec\xb7:\xa3\x80\x1a=7\xdcA \x00\xd3\xd9&\xd5\xde\xde\xe0\xb7$\xf3s\x8f\u007fc\xce\x1f\r\x05\xbf2\x992\xa0B/\x8e\xec\xca\xfe\xd2?'[Of\x16\xce\x05\xa8\x02\xf3j\x8aPA\x98#\xfd\xd3\xd7'c\x1a\xf3\x931\xf3\x87\x80\x1f\xaf\x83d7rz\x9c\xdc\xdbC\u007f\u007f-\xf7\xdb\x1f\xcb\xf9m?\x80\xdc\x12\xe0\x0f\f\xfb\xb9\xc2\xcf\xe0\u05eco\xf0ce\xf0w\x1d\xed\x05\xab\x93\x83\x15N`\xfe\xbeɅ\xc0\xf3\n\xe6ũB\x858U\xf5\xd1\xe2\xd3\x0e\xe7\f\x04?\x0f\x05ѽ\b\tuD\xc6r\xf1\x91#\xb9\xf2\x85\xa7fՔ\xa0!\x16\xb6&\a(\xb4\xa7\x94\x03\xaf\x9dx\xa4Ig\x15\xd0\xcf2\xba\xce\xfc۬\xda\xcba\xbf\xb9\x8f_\x9b\xeb\xe7\xb0_\xee\xf0\xd3\xc3~y\x8f\x81/\xa3\x81:\xd9n:\x80\xc1U{CG{\xb5\x9c\x9f\xae\xc3\xc0?\x03\xe3k\v\xd7\xd2\xf0\xbdb\x05hcԿ\x9e\xa6c\xb6g\xa0\xcbO}\xec&\x86xz9\x00:\xdbo\xb9yr\xb2\x91\xff\xad۲N\xe4\xe2\x18\n~\x00\xbfY\xf0\vg~\a\xebȸh\xfb\x91\x96^\x1a\x9azA-\xb4槟\xc5\xce:l\xf6\xf1\xc1ϡ\xbf\xb1\xa9\x87\xf3\xfc\x10\xe6\x0fT\xed5\xc1\xcf\xf7\x83\xcf\xe4\x87)5\x1f\xb1y\xe7\xe7\xae\xcf㔞\xc0V\xe6g\xcf.\xe0\xac>\xe1\x00$\xf3K\xe0\xf7\x04\xbf\xd2\xeb\xf7\x9d\x80\x9d\xa7\xef\xcfC\xbf\x8f\xce!,T\x8f|\xa1Ai\xc1\x92~\xf8\x87\xbeQ\tm>\x92\x88k\xa6^{MIT\xfbG(\u070f0\xf8\xb7Q\xb5W>6s~\xce\xf7\xb9\xda\xcf\xf9>\xac\xf3:\xba\x81\xf9\x1d0>\xec|r\x00\x83\xaa\xf6\x061?\xdfS\xcc/\xd8[\x02\xdd\f\xf9\x83\x99\xdfZ\a\xbf\\cr;.\n\x83P\xeb\x11\xba\xfc\xf4\xc78\x9d\xfa\xb1\xab=:\x04c\xa9cޜGZ\x93\xb5\xa5\xe4\x0f^\xe1\"\u070f\xfb\u009e\x0e\x8c\xfb\xf9<\xd6\vs\xbb\x82\xdfra~\xeeoc\xfb\xae\xd8\xf03\xff\xe0L\xd3dK\xee.\xa4\xdex\rz\xedH\x17\xba1\xbf\x01~7\x88\xf9\xf9^\xb0j\xaf\t~a\xda\xd1ܽ\xb6\xf3\xa6q2/\x0e\xe8\xac_\xa5M\xeei\xc3L\xd4\xf1(\xc3\tP\xfa\x84\xf0_c~\xe3hney\xf9\x98e\xbb\x85x\xe7X.6\xf2^DI\xb9\xca\xe1\a\x1a\x9c\x82\x80\xfb\xb9\x8eB\x1a\x8dMb\xfb||\xe4p\xde\x11\xacO\xad\xbe\x88\xcd\xe0\xdff\xd5^\xb0\u007f \xf3\x03\xfc\n\xf8l\xcc\xf2ʸڏ|_\x01_:\x02\x9bV\x9b\x1d\xc0pk\x00\xec\x00\x06Q\xed\r\xc9\xf9U\xbe\x0f\xd3\xc2\xfe\xc03\xf9\xa7M\xe67\xc1/\xefC\xa6K\xac\xb4iG\xdcG4О*\xb5\xba9\x80\xf6T\xb1\xe5\x1e\x1c\xa3\u05cd\xe3HnC\xb8\x93\xd9?\x18\xfc\xea\xb1\n\xfd\xd1\xf6+\xfc\xf1\xc7Y\xe6\xab\xcb\xe9>\xb5\xcb\x1e\xa9\xd1d \xbd^\xb0\xff\xc6\xd1^n\xf3is\xfd\xdc\xe6\va\xfeP\xd5^\xac\x06\xf8\xb1\x9a\xe0\xe7\xe3\xb8#X\xc7\xd2(\xf6-'\xea\xcbAmA:x\xb5\xed\x1e\xe4\"\x1f\xc0o\x82\x1e\xcf1\xf8y\x85\x89\xef\x81f\x9f\x10\xef\xf4\x9ew\f\x9d\x98\\\xe1\xedw\xd5t\a\x80ϓ{\xfc\x87\xe8\xb5Nj\x8a\xf5wH\xb5\xd7P\xf0\xd1\xc1/\xd6\xde=~\x98\xea\xf5W7\xb2\xbe\xcd\xd7\x1b\x1c\x80=d\a0\xb8j/\x87\xfd\f|\x8d\xf9m\x05nq?\xbc\xd8\a\xb3\x02\x99\x1f&\x9f\x8b\xf9\x16]7\x17\x8f\x9f?\x1e\xc3Q]]#\x80\xe9R\x8b\x9e\x0f\xd2\xee\xe3\t\xbf\x80\xb0\x9f\xcd\x16\xe6\xe0\xfa\x85\xb6\xdb>\x9do\xf1\x88\xb2v\xba\x0f\x1d\x94\xe1}\xf7\xf1\x84\u007f\x0e\u007f\xb0j\xaf\xbe\xa9\xc7\x1c\xf01s\xfe~U{\x83\xf7\xf2\xf3>~5\xdd\xc7Q\xc0{ӥ\u007f\xfcL\xb5׆&:\xab\x01s\r\xeaH.\xcd\x01\xe8\xe0\x8f\xf6>\x99w\xbf\rU\xa4\\\xf1\x1d\x9f\xaa\a9\x80ʻ\xee\xf7\x87|\x0e\xf8ž\x1dS\xede\xab\xf0*Y\x9e\xf3}\xbao\x82\xdf\xeb\xc1\xfc\xae\x04?\x1b\x9e\x1b\xa2\x03\xf04\a\xb0e\xed>\xbeV\x03>\xcc\xfc<̃50\xe7\xe7\xd50\x93\xf9\x19\xf8z4\x10s\x9fg\a;\x00\x8a\f\xdc\v$\xe33\xf8\xb5\xdd|:\xf8-f~a\xb6b\u007f\x0f\x85\xbf\xca胕\x9e=\xf3\xbf\xf94\xda~\xcc\xfe=T{i\x05\x80\xc3r\xfe\xa4\xce\xfc\xfd\xa8\xf6\x86\x83_]\xf3v^\x12dɠg\xcf̯\xb5\x05\xb3\x8d\x95\xc4\x0f\\\x9aGkύte\xfe\xbc\xb4\x9eg\xf2cb\x8f>'\xdf\x01\xfc\xd5=\xf5\xe0\b\xe0\xf3\r\xdf\x01\x8c\x0fC\xb5W\x03?Vv\x04\x01\xa3\xbd0\xd5\xdeS\xa9@\xcd1\xc0\x1f5\x1c\x807$=\x00\xc3\x01\f\xac\xda\xcb\xcc\x1f8\xddǀ\x0f\v\xfb9\xe4g\xe6\xb7q\r\xe6\xef\t\xfe\x0e\a\x10\x0fq\x00\fr\xbd\xd2o\x82_g~\xf1\x18y?\x06yH3/\x89\xa3\xafu1\rV\xa5\xf5\x16:\xf2~X\x0f\xd5\xde\xf0\xd1^\xbeo0\u007f\x98jo(\xf8a\xb8\xe7\xb3?\x8f\xf6z\x94\xdb\xe3\xcc\xfe\xdc[?R\xc2\xef\x19|\xaa\xd0\x13M?\n\x98\xe0#\xba7\xcf\xfc\xac\xda+\x1c\xc0\xe1\xde\x0e\xe0\xc2\xcfC\xad)Oi\xdf\x10T{\xb1r\xa1O\xac\x81\xcco\x0e\xf8\xc8k\x19\xe6\x9b\xe0\xe74\xc0\u07bd\" @?\xa0jo\x00\xf8\xa3\x1a\xf8-ؔ\x1e\xf6k,\xaf\x03\xdfd~\xb1Z\xdd\xc0\x1f\x87\xf5\xe3\x00\xf4|\xdf1\xa7\xfbt\xe6\x879~\xe5\xdfg\xff\xc6G\xbe\xd1\xebt\x9f\xb5\xec\xaf}\x18\xb3﮻\x9f\xd9>P\xb5\x97\x81\x1f\xd4\xe6\v\x9b\xeb\x1fL\xb5\x17\xc0W\xe0gG\xc0\xb3\xfd~\xcf>\x8bT\xa0y\xf7\xe9\xf9@Y3j\x16d\xde|S).\xcf\xe9\a\xb8\x99\xf57s&\xbf%#\x80\x89>\x1d\x80U\xdcI\xd5^2\xb3\xcd\u05ed\xe0g\xe6\xfb<\xe4ӝ\xf9\xab0\xf5x\x97R\x00\x80tp\xd5^6mG__\x03>0\xcb`}\x1d\xfcA\xacߧ\x03h\xbb\x17\xe8\xbd~^\xb5J\xbf\xce\xfc\x12\xfc\xe3\x1e\xb4\xfbH+/\x83\xf7\r\xdc9w\xc7Ӎ\x18\xb7\xfd<7D\xb57\x9c\xf9aV\xc8h\uf02a\xbd\f\xfe,\xdd7\xb7\xf3Fl_\xd2\xeb\rW\x17V\xeb->UH+vR'\x04\xfbﳢ\xbf/\xc1\xaf\x1c\x81\xe6\x00t\xe6g\xb1\xceM8\x80\x8ap\x00\xffW8\x80!\xa8\xf6\x06\x81\xbf\xba\t\xf0Kp\x9b\xe0\xe7\xc7\x00\xbe\x8d\xd7\xcc\x0e=\x02\x80\x03غj/\x8c\xdb|\x1a\xf3\x9b\xe07M\x03?\xe7\xfcXC\x99\x9f\xef\x01\xd4\xe1\x0e\xe0y\xec\x00\xb0\xea\xe0\xc7jX\xe7\xe1\x9c\x11\xdf\x01`\xd7 \x87\xfb\x9a\x1e}ea%\xf9\xda+S\x04\x1az=\x83>H\xb57\xbc\xe0g\x05\xef\xe5g\a0\xa0j/\x83_\xdfԣ\f\xd3}h\xf3Qԓ\xae\xbd\xef\xe1F\xcfS\x85\xfe\xe4\xce*uF\xb2\x04d0zP\xce\x1fxXǦ\x1c\xc0;\xd9\x010\xe8wT\xb5w\xc3t\x9f\a\xd3\v~\xdc\xe3簟G~\xf5\xb0\xbf\xca\xe0\xdf}\a \x00>\xa8j/\xbd\a\xe7\xfc\xe1\xcc\xcf`7\xdb|\xca4\xf0k\xc0\xef\n~+ޏ\x03\x80V\xbf\xce\xfcA!\xbf\xca\xfb\x01b\x14\xfe\xa0\xdbOra\x85\x9e\xa7\xfb\xd8_\xacr\xe1/\xea\xf5\xabڻ\t!\x8f\xc0V_\xbf\xaa\xbd\xdaF\x1ecS\x0fV\x87\x1dA\xd6{ű\xdc\xd2Ly\x99?_\xedT\xa1o\x15\x96\xdc\x17\a0\u007f \xf8ma\x1d)@\xbe\xf8?6\xe5\x00\xc0\xfa\x1c\xf6\xef\x94j\xaf\x06~q\xcfl\xf3\xa1\xe0篜\xf33\xe3w\x03?\xafH\x01f\x87\xdf\x06\xf4ٚ\x1d@\x9f\xaa\xbd\x1c\xf6k\xcc\x1f:\xddg\x05\xf5\xf8\xb5\xd0\xdeR\xab\x1e\xf6\xc7e\xd1\xcf8\xa5'<\x05`\a`2\xbf%\xafm\xb1j\xce@l\xdd\xf5^>\xe1\xd1\xfb\xab\xd3}Tۏ\x01p\xa6\xd8v_\xe2\x03_\x1b\xed\rU\xed5\x81\x1f\xcc\xfc\xcc\xf2\x1a\xf8\xfbU\xedE\xd8o*\xf8\xc0\xb4M=\x16\x94u\xc5V\xde\xe2\xdb\xef\xa9\xf6r\x80\x95\xa3\x0fA嘣\x009 \x14r8'L\xa4\x00q\xdf\x01̆8\x80\x02\x1c\xc0\xb0T{͐\x9f7\xf58<\xdd'\xc3~\xee\xf1\x9b9?3\xbft\x10XE\x040\xf4.\x00\x80\xeb0\xf3\x9f\xed_\xb5\x97Y\u007f\xe0\xd1^3\xe7\xc7\xf3\x06\xe8u\xe6w\xfdU;\x96\x1b\x0e`|3\x0e\x80\xc1\x1d\xc4\xfc\x9d\xc0ǵ`\xffCq\xd2ƫ\xf6R\xd0-\xfc\xc5]\x18d\xc1\xeb\xc1\xf0\x03\xab\xf6j3\xfdj\xd5\xe7\xfa\xb9\xea\xdf\r\xfc|\x8fC}\r\xfc0\xf9<\xb3\xbdo\x19\x8e\x00x+/\xda|(\xf4Q\n\xd4\nT:.\xcdӖ\xdc+\xf8d^\x83\xf9\xcdc\xb9\xe5\x8a\b\xa0\x18\x0f\x8f\x00\xe6\xd8\x01\fA\xb57x\xb4\x17\xa07\xc0\x0f@\x87\xe4\xfc\xb8\xaf\xae\xd9\x01\xec\xc2n@\x8e\x00\x06U\xed\x95৵_\xf0Ø\xf9\xcdJ?\xdf3\xc1\xcf̯Ivo2\x02И\xdf\x04?L2\xb7\xeb\xcbv\x8d\xbaɟ\xb8*\xb5R\xeb<\xdd\xe7\xdcF\r\xfd/\x8a\xd3}\xd0&LtHxmI\xb5\x17\x16\x9e\xef\xf3\\\u007f\x80joڕN @\xb5W\x0f\xf93\xbc\x95W\x1b\xed\xa5\n?\n}\xff\x9f\xbdk\x01\x92\xec*\xcb۳y@@+\x05)S\x88\n\x85\x82Z\xa5\x05\xc6\x00%\"D\xa0J\xab\xa4\x94Ғ\x02\x94\x02KA,4A\x94d\xf3\x98\xd9\xdbwf\x13`Ƀ\x18\xb2ymH\x10\x94<\bI\bYH\xc2;\xbc\xc2#h\x80\x90\xec\uef77{\xfa\xfd~\xcd\xf4L\xcf#\xfe\xdf\xe9s\xf6\xef>\xa7o߾=ݷw1\xbd\xf9rnߞ\xde\xc7L\u007f\xff\xfb|'\U000fa0e5\xed\xeda\xa7\n=\xba\"\xce\xe7\x9f3N\xe6e\xf2s\x04\xa0\f@A\x19\x80\xe2h\x06 \x02\xd5^&\xff\x80\xb1^?\xcf\x1fD~E|\x81n\x97\xc0\x8a\xce\x00x\xa6\x01\x18_\xb5\x97\v~\xe1\xc9\xcf9\u007f@\x9b\x8f\xc9o\x1e\xcb\r\x83`\x03\xe29r\xfc\x91\r\x80\xbf\xe7\xf7$\\U\xf9GE\x9f4\xf1\x9a\xbem0hп\xe6\x06\b_\xe2\xeb\xe1\xe5é\xf6\x06\xb7\xf9\xfc\xc8ϣ\xbd\xfez\xfd\x800\x02\x81\xe4\xef\xaf\x01\xb0\xe7'\xf0Vޥ,}?\xd2tt\xd8ʰS\x85`$\xba\xe7\xf2!\xbf\a\xf9-Ex&\xbe\x00\x1f\xd15\xc8\x00<\xe5k\x00\x96\xa2Q\xed\xa5\xfb\x03\xf3}\xbef\xf23|ɯ\x19\x00\x90\xbf\xc6)\xc0\f#\x80\xf1U{y\xc0'\x98\xfc6\x93\x9f\xc9=\x1a\xf9A|\xe3L~\x96\xec\xee1\x00\xeb\xa3\x18\x00\x06\xe7\xfc\xd2k3\xf9w\xdb\x1e\xc4;I\v/;\xf4\x1c\xbd\x9b\xbe\x8f\xbc\x17\xa1\xff\xc4T{\xc7\"\xbfyP\xc7`\xe1N\x1f\xcfτ\x97\xf7\xcd\r=h\vB\xd0#K\xca;y\x84\xfb~\xfa\aH\x13(]@ڐ\xd7\xf2}\xbf\xf3\xf9\xa4\x01\xd83B\x04\xb0\x87\r\xc0tU{\x8d\xb0_\xb5\xf9๙\xfcA\x95\xfe\xb8\xe6\xf9\x99\xfc\xb8\x8e\xb6\x06\xc0\x06\xe0\xf0\x0eU{Ñ\x9f\x89/\x10L~\xf6\xf2\x1e\x87\xfdzޏ\xd5\ta\x00\x84\x82\x8fO\xd8\x0f\xe2\xeb\n\xbd\"\xfc'-<]\xe6\x8bGas͍\xc4\v\xf7/w\xe7\xfd\xed\xc4\xc4T{y\xd5ɯ0\xc0\xf33\xf9\x87\xa8\xf6f\xe45\x87\xfc\xca\b0\xf15\xf2\vdd\x14\x90C\x81\x0f\x85\xbe\xf2\xfcC\xf5\xe1\xa7\n\xddU\xc5h/&\xfc\x9c\xfe\xdc?\xa7\x91_\xac4y\xa8\"\x80\xfa\x88\x06`\xba\xaa\xbdf\xbe\xcf\x11\x00\xc0\x9eߗ\xfc\x9a!\xe8\x81ul\x8d\xb4\r\xe8\xf5\x18\x80ɨ\xf6\x06\xef\xe83{\xfc\xf6\xe1@\xf2\x1ba?\x17\xfb䪫\xf6\x8eh\x00D\xa5\xdf\f\xfb\x99\xfc\xb2\xf0\xb7衝G\x1axš\xa7\xfb\xec\xf9b\x19ޟ6πؓV\xedՉ\xee3\xddg\x84\xfc!U{\xd9\xf3\xf3\xb5\xdd\vm\xae_n\xe5}\x96\x9d]\u007f,\xdf\xe9=U\x88\xc0\xf2\xdcO\x966\xa8u(S\x00[\x0f\xfb\xf9|>)\xdc\t\x03\x00r\x870\x00Q\xa8\xf6\xf2\\?\xf7\xf8C\x90?\xae\x13\xbf\xdaC\xfez7\x02\xb0\x1b\x11\xb6\x01\xe3l\x00&\xa0\xda\v\x04\xec\xe3\xd7\xf3\xfd\x91ɏ\xd5U\x9e_\x10]\xc1\x1c\xe6qB\x19\x00\u007f\xf2\v\xc4`\x04\xf6\xbaޙ\x97%H\x03\xaf\xb3\xedw\xbaϏ\xb2k\uea56\n\xfb\x81I\xab\xf6\x06\xb5\xf9\xb8ا\xcd\xf5\x87U\xedU\x9e_\x13\xf1\xd0\xc8\x1f\xcf\xc9(\x00^=\x87\xa1\x9f\xfc\x9bo3ۂ\xf4\xe0S\x85\xbe\xd6$\x03\x89\x13zA\xf6\xbe\xb0\x9f\xc0\xe4\av\xdba\r@T\xaa\xbde\xee\xed\xc3\x18p\xc1/\x98\xfc\xb6F~Z\x99\xfc\x04\xfb81\x00\xe6t\x1fV\x9f\xe9>k\x14\xf2\xb3\x010C\xfe@\xf2\x1bg\xf2\xf3)=\x86^\xff8\x11\x80\x0f\xf9\xd1\xef\x97\xde\xff|\x87\xb4\xefjCO\xf7\xf9\xcb\xffB\xdf\x1a\xde?\xe9NG\xb5\xd7 \xbf\xef\xf9|\xda\\\u007fO\x91/\x84jo0\xf9\xb1*@ч\n\x9fٕ\a\x0e\xb7\xfb\x05Qx2\x12\xe3\xc34F\\\x84T\xb7ܿ\x0f(\xcf\xdfw8g\x88\b\xa0@\x06 \n\xd5^\xdc\xeb\x1d\xf0ѫ\xfd\x01\xe47s~&\xbex\xdd'\x02\x888\x05px\xd5U{u\xcfo@\xcb\xf7\x01\x15\xea\x03F\xd8\xcf\xc47\xc9\xdf3䣅\xfd\x1a\xf95\xd5\xde1S\x00\xed\xfc}\x899\xdbá\x1d\xa4y\x97\xdaZ\x19\"\x89u\xe8\t\x9c\xee㒪\x90$\xf9TU{\x03\xc3~w@\xd8\xcfk\xb0j\xaf.\xdf\x15D~1\x1c4\xd75\x00\xa9W]W\xda\xee\f=U\b\xf2a$\xdd\xc5\au\b\xb0|\x97J\x01\x8aa\f@d\xaa\xbd\xd2\xf3\x8fI~3\xecg\xf2\xcf \x050\f\x80%\"\x00\x1f\xd5\xde\x10\u009d\x86\xd7\x0f\xbd\xa3O\xbe\xcea?A?\x9c\xd3\xef|>\x14\xf7F3\x00\xdc\xe3\xef'\xbf%\xbc?\f\x00\xc4;[\xf7=n\xca|\xa9\xdfr\x95N\xf7yŵ\xd0\xce\xf3`\x00\"P\xed\xd5<\xbf9ݧ\x15\xfb4\xcf?\xbaj\xaf)\xe2a\x92_\xbdǑ[x\x11\xe2\x93(jk\xf8\xa9B\xb7V\xba\xaa\xbd\x8b\xa6j\xefx\x06 *\xd5\xde*V'\x98\xfcU&?W\xff9\xec7\x1e\xea\x89!\x9c_ȑ,z\x01\xda\xfc\xdc\x164N\x15Z'q\x91\xbcϱ\xdcx^\xec\x1a\x80\vC\x18\x80(T{\x01\xb3\xcdg\x90߬\xf6\xf7\x16\x00\xeb\x1c\x010\xf9\x8f\x8b\x14`Ҫ\xbdXC\xf4\xf8\x99\xfc\xec\xf5y\xc0\a\xcfe\xbe\x1f\xa4\xda\x1b\xca\x000\xf9\xe5\xcapN\xb6<Һ\xd3\x14px\xd4u#Y\xdbH<\xef\x83ˤ\x99\x97\xf0bv2:\xd5^\xc0b\xb23\xf9\t\\쓐\xa4\xe7\xb9\xfe\xb0\xaa\xbd\xfa\x86\x1e\x86\xa5\xd6<\xae{\xa3\x80\xd2\xfb\xefo\fUHz\xef\xbdu\xf4\xf9\x89\xe8\x86^?\fB8\x03\xb0\x18\x85j/]\xfb\x15\xfb\x98\xfc\xbea?{~\x9d\xfc\n\xb2\x058\x8b\b\x00$\xe36߄U{\x99\xe8\x81;\xfax\xbcW\v\xf9\xc5\xeb \u007f\xa0j\xef(\x06`\xbdk\x00\xbc\x01\xe7\xf1\xbb\xd2\xfb'\xd0\xf6+\xff\xfb\xa1Ұ\x0fq\xe9\xdc\xfbJ\x9a\xf7\x8fJ\xb5W\x8d\xf4r\xb1O\xa5\x00\x92\xfc}a\xbfY\xe9\x0f\xadګ\xae\x95\xe7\a\x98\xfcqc\xb4\x97\x8cg\x9e\x8eF\xeb\xf8\xceL$j\x9b$4Z$\xe3\x99\xf7b\xac\xdd\xc7)\xc0RH\x03`E\xa1\xda\x1b<\xda\xcb\xd0\xc2\xfe\xf8P\xf2\xab{3\xe8\x02\xb0\x01\x98\xa6j/\x10@~}\xba\x0f\xab\x02W\xfa\x03T{CD\x00ځ\x9c\x96\xcbm\xbf\x05\x8f\xb4풤q\xc7*\xb8\xfa\xe9>\xdf]nS\x18˕\xfe٨\xf6\xea\x05?\xee\xf1\x03\xfd\xc3<\x9c\xf3\xef@\xb5W\xdb\xd1'\r\x00\x93ߑ;\xf90\xfa\x9b\xfd\xf3OV\x04\xef\xfdO\x15Z\xc1(/\xbc=\xc2~\x8e\x00\xec\x11\r\xc0!\x8c\x02\xb3\x01\x98\xb2j/\xaf\x81\xa3\xbd:\x14\xe1}\xc9OhH\x03Ќ\xdc\x00\x10\x8eD\xa9\xdakn\xe7e%\x9f\x1e\xcf\x0fp\x9b/\x84j/\x1b\x80\xe2\xa8\x06\x00+\x9e{\xca\xfbׯ\u007f\xa4>\xb4\x90\xf5g\x9f\xc8ч\xdc\xf3v\xcb\xc2\xdf\xccT{mc\xb4W'\xbf\xe3\xe3\xf9\xc7V\xed\xf5\xdfΫ\x8c\x808\x99\a\x85\xbeֽ\x8f\xfb\xb4\x05E\x01u;\xf5\xfb\x1f#\xc2]R\xf0\xe6\xecbw\x06\x80V\x824\x00\x85\x10\x06 \x02\xd5^\xff\xb9~3\xe7\a,\xf6\xfc\xc1\xe4oH-\x80\xa6\x17\xf5n@\x90\x8d\xf3~\xeb\x89i\xab\xf6ro_\x9b\xee3ɏ{\xa1U{\xc5ל\xba8\x9a\x01`\xf2'\xa8\xea\x9f\xc0&\x9e\xd4\x1f^\x97\xde\xee\f9\xdd箟\xb4\xb0\u0557\xab\xfe\xb3V\xed\x8d\x0f\xdc\xd4\xe3\x00\xbe\xe4\x1f_\xb5\xd7\x10\xf1\xe05'Wi\x00\xe6\U000e9cee)Q\v\x15\xb4\x1d,\x1fv\xdf\xcf\xd6\xc8P\xe4\xbd9\xde\xd2\xebb\x95\x06\x80\xb6\x037F0\x00\xe5\bT{\xc3\xf5\xf8yķ._g\xf2\xf3\xfb\xd5\xf3\x86C\x10\xafs\x04\x10\xbd\x01`\xb2OY\xb5\x97\xc3~\x9f6\x9f\xd6\xea\v\xa7\xda\xcb\x06\xe0\x89\x91#\x00qL\x17\xe6\xf7\xd1\xcf_}\xf0\xf0\xca\xc0\xb6\x1f~\xab\xfa\xdaV\xeaw\xaf&R\xcd\xcb\u009f\x95\x98\xbdj\xaf\xed{4w\xdf>~&\xbf¸\xaa\xbd\x86\xd7W\xd7<ګv\xf4]\x90\xab]\xfepkȩB۹\xbf\xf8T͡p\x9fH\x0f\xf2\x03\x85\x10\x06\xa0\b\x030M\xd5\xde\xe0\xd1^\xdb(\xf6\x8d\x1e\xf6\xdb\xca\xf3\xe3\xbaN\u007f\xef\xa8S\x00[\x18\x00\x11\xfaG\xa0\xda\xeb\xfa\xed\xe5\x97\xf7\b\x8e\xa6\xd5\x1fZ\xb5\xd7\xc1:\x9a\x01\x10\xe4W\xa1?\xbc:i\xd9凎\xb3~\xe8\xeb\xb2\xed\a\xefo%\x8e'\xd5^\x86\xe8\xf1\xf3t\x1f\x93_\xf7\xfa@H\xd5^\u007f\xcfol\xea\x89\x11\xa8ȗ8\xf3\xb2\x02\xce\xeb\x17\xdc\x1f4F\xfd\x83L\x87\x8e\"/\xc8\x14\xa0 S\x80R\b\x03\x00\x02\x97\xa6\xad\xda\xcb\xc4\x0f3\xdd\a\xc4u\xe2\xb3痫'\x10g\x03\x10e\n\x00\xb2\"\xf4\x8fB\xb5\xd7\x15+\x13\xdf\x03d\x9f\x9f\tm3\xf9y\x1dI\xb5\x17\x90\x06\xc0\x1b\xd5\x00\x00\xe2\xfaY\xb6GZv\xebƆ\x16\xf5\xbe#\xe5N\xe2\xb9\xfb\x92ݶ_\xfc8S\xede\t/Ix]\xc8\xc3\u007f\xc0'\xbcjo/4\xf2\U000e679e\x91\xde\\\xf1=\xf7ԇn\xa4\xfa@\xb7\xa2/\xa3\x80\xd2H\x06\xe0\xdcC\xad\xae\x01X\x82Ǐ@\xb5ן\xfcr\xf5#\xbf\x8e\x06V\xb9\xf3\xaf\xe1\xc9\xd5\x15\x06\xc0\x8a\xd2\x00p\x11\x10\xa4\x9f\xb6j\xaf;h\xae?\xc0\xf3\x87U\xed\xe5\b\xc0\xf65\x00\xeb\x9a\x01P\x85\xbf\xcaއ\x86\xca|\x15\xff\xfe\xb3\x98N\xf3\xd8\xfb\xefT\xb5ך\xa0j/O\xf7\x89k\xee\xf3\a\xcd\xf5\v\x92\x87V\xed5\xf7\xf2\xebs\xfdy\x82\\qo>\xdf\xfefb]\x91\x19K\xff\xa9B\xcd\xcd\xe4\xaf\xed/\x91q-Rj\x15\xc2\x00\xec\x81\x01\x88@\xb57\xc0\xf3k\xe4\xd7s~\xdd\xeb\x13\x1a\x1c\xf6ce\x030\x9b\b\x80\x89?M\xd5^\x0e\xf9}F{\x1d\x1e\xeea\xf2\x87P\xed\xa5\xd5c\x03\x10\x1c\x01\xa0\xf0\x87\xb6\x1f\x89Z,\x0f\x13\xb5h\u007f\xddmS\xb5\x1ay\xffq\xaf\xda+ɫ\x87\xfc~\x03>\xa1U{M\xf2ǥ\xe7\xb7%\xf9y\xb4\x97\x80\x9d}E\x87\n}\xd9?\xb9\xa5:\xecT!꼬\x8a(`n\xa9DF6\x8c\x01\x88@\xb57p\xc0\aPE?_\xf2\xf3*\xc3~E|\xac\x84٥\x00\x91\xaa\xf6ڀ\x9a\xee㖞F~\a\xe4\x0f\xa7\xda\x1b\xc6\x00$\xb8\xed\xb7\xc7m\xfc磍\xa1\xa7\xfb\xbc\xe1`\xd6A\xdboΆ\xf7?nU{C\xb4\xf9\x8c\xb9\xfe\x11U{u\x11\x0f\xde\xcb\x0f\xe8'\xf3\xaa\xd1\u07b9\xeed_\xf3\xb6\xffm\x0f\x91SéBU2\xb4E\xef\x94}!#\x80x\x04\xaa\xbd\f\xbe\x17\x9c\xf3\x9b\xc5>\x10\xdd\xee\xf5\xfa\r\xc0\x15k<\xfa9\x00A\xce\xe8T{\xd9\xf3k\xe4g\x03\xa0\xdd\x1bE\xb5\x97U|F6\x00\x10\xedD\xdb/\xf3\xfa\x83\xd9a\u0096\xcdO>\x8ab\x93\xdc\xecc\x9d\x00\xaa\xbd\x96>\xd9\x17\x82\xfc\xc1\xaa\xbd\fAxe\b\xfa\xb7\xf3\xf2)=\xdd\xd1\xde\x18\xa2\x80\xf9\xc2\xf2o_Uު\xb6\xe5\xa9B\xe6\x11\xeaԁYwv]\\\xf4N\x86\x01\xd8\x13\xc6\x00D\xa1ګo\xea\x19=\xe7\xe7\xf5\x18\xf9=E~\xf6\xfcx\xad\x15\x91\x01\xb0\r\x03\x10\x81j\xaf6\xe0\xa3\xf5\xf8M\xf2\xbb\xa1T{y\x1f\u007f\xb0\x018\xb5+\xd9E\xdb}\xbdկ\xb9\xab\xbe\xa7\xfb\x94V6\x97_|E\xaa\xdb\xf6;\x81T{M\xf2\xfb\xe7\xfc<\x0e\x1c\xa8\xdakh\xf7ia\xbfN~uͭ\xbd=\xf9\xea\xd2WZCj-\xdb\xf9\xb7\xdcV'#\x80\xb4\xa18\xcc\x00\x94\xfa\r\xc0tU{\x99\xfc\xba\x88\x87_\xd8\xcf\xc5>\x1e\xf6\xd1ȏ\xd5j\x82\xfcl\x00\"\x9d\x04\xb4}\f\xc04U{\xcd\x1e?\xa0\x11\u007fT\xcf\xef\xf5\x93\xdf\x1a\xd9\x00x\xa7\xed\x13m?:z\xaa0\xf4t\x1f\xebKգ\xbb\xceW\x85\xbf\xc8T{\xbd\x1d\xa9\xf6\x9a\xe4g\xa2k\xc5>Ev\xf6\xfc#\xa9\xf6:\x04Z\x8dc\xb9\x99\xfc\x00\x9fϧ ҁӗ\x8a\x9d\x9f\x157\xbamA\x91cᗸ\xc6=\xea\xc4lx\xa7\xef+\xa1\xc2O?\x9ff\x80\x01(\x91\x01\x00\xd9#P\xed\xd56\xf50ѵ\x9e?\x83\xc9o\x0f#\u007f\xe382\x00\x16֩\xa9\xf6\x12\xf4\xd1^\xc0\xf4\xfc\xfcZ\x80j/\x93\u007f\xf4\b\xa0\xb4\xee\x9e\x1cO\xd0\a1\xd19\\\xee\xf8\x9e\xee\xf3\x93º\xf7l\xce\xf9\xa3P\xed\xf5&\xa9\xda\xcb^?p\xba/T\xa5\x1f+\xc09\xbeF~K#\xbfX\xfb\a|\xde~g}\x98\xe1\xad\xda_^9\xbc\xeb\xdcB\xf1]w\xfb\x1b\x80\xf3\xbe\xc0\x06`ڪ\xbd&\xf9\xeb\xc3\x06|\x1c\xc3\xf3\xc7}\xc8o7\xe4:{\x030e\xd5^@\xf3\xfaV\xe0\x80O\x80j\xaf\xe9\xf9c]%\x1f\xf7\x99K\xbe\x06\x00\xa4\x87\xf7'\x8d\xba\xea\xd0\xd3}\xdez[A\xb6\xfd\x96a\x04N\x1c\xd5^\x93\xfc\x1a\xf1\x83<\u007f\x80j\xef0\xcfo\x01:\xf9\xfb%\xbbc\x8b%\xcc\xff\xd3\x01*\xeb~\xa7\n\xa1N\xe0\x9d\xb1\xaf\x9c\u007f\xdb\x1d\x8d\xe1\x06\xe0\xa22\x15\f+\x93P\xed\xc5}\xb9j\xf0W\xf0\x19D~\xb1\x9a\x05?\x90\xde ?\x01\xeb\xccS\x80#\x98\x02\x8cP\xb5\x970R\xa5\x9f\xe1/\xdc\xc9#\xbd$\xe2\xe1\xc4,\xa1\xe0{\xf4\x94\x8b\xddu\xbf9\x80Dzk\xcbg]\x9d\xc2\xe9>\xbeŨ\x87\x8e\xacR\x0e\x8a\xb6\x1f\xc8{\x82\xaa\xf6Ɓ\x00\xcfo\xb1\xe7g\x04\xab\xf6\xca\x02`\x80\xe7\xd7\xc9_\x12C>s\x8b%\xe4\xf8\x99sn\xac\xe2g\x02\fl\v^\xf3\xed\xd5\xdc[>U\xf7O\x01>\xdfzr\u05f9E礅2\xed=\xa8\x90\xe1\x179\xbf3\xf6h\xaf\x1d\xa8\xda۫ޣ\x88\xefW\xed\xf7\xf4\xb0\xdf$\xbf\xba\x16p\xbb\xd1\x00\x17\x01\xa3\x1a\x04\x12\x84\x95^\u007f窽\\\xe9\xf7S\xed\x95_\xc7a\xffN\xc9\x0f\x8f?\x17\x17\xc4w\u007fq)A\x1a\xf4\x85\xd6\xdd?mm\xad\x89O\x8a\xb1\xa9g\xb3\xd6\xde\\\xa7\xad²'m\xb6\xa3:Ԏz\xf5\xf5Y\xfa\x90&\xa8\xed\a\xef\u007f\xa2\xaa\xf6\x06\xec\xe83\xda|\x9a\xd7\xf7U\xedUm>@\xed\xe3\xd7\xc9\xcf\xc4g\x94\xd4f\x1f\xf4\xfaQ\xe5o|\xfc\a\x83ۂ\xb0ۭ\xf5\xad\xf5\xc7\v\x1b\xea6\xc8\xdf+5N?Í\xeae\xdfXM\x9f}]\r\x91\x00E\x150\x04\\웘jo\xf0h\xaf$>{\xfe\xfe6\x1f0\x8c\xfc\xca\xf3\xe3\xba5\x83\b\x80\r\xc08\xaa\xbdn(\xd5^V\xf0\xf1'?\xe7\xfb\xc1\xe4_\x14\av8'ϻ\xa5\xf3\xee/u\x12ՎNh\xf1\x9cWV\xf4Sך\xc8g\xfd\x86Gp\xea,\x87\xfe'\xa6jo\xf0\\\xbfY\xe9\a8\xe4\aL\xd5^&?{~\xf1\x9a\xee\xf5\x01\xed\x94\x1e\x8e\x02bX\x17\x8a\xc9\x17]^\xde,\xb4\xb6\f\xdd\x05\xf9\xd0#\xb4A?[\xec\xdc\\\xb9\xf7g멗][#'Pvw\x13\xa1cvՙ\xbcj\xef\xd0\x01\x1f\xf6\xfc\xe29\xf7\xf8\xb5\x82\x9fI\xfe\xd9\x1b\x00ǍJ\xb5\x97\xc9\x1f\x10\xf6\xcbN\x01\x13~\xa0d7\x8e\xebJ\xbe\xf8\xcae\x1a3\x15\x9eD\xed2\x13d\x96u%\xacx\xa8\x95\xd3\x01q\xdd?\x92\x9aml$_\xb8\x9f\x88\xb9\x90\xa4\xb6߉\xae\xdakj\xf7\x99\"\x1e~\x03>\xbe\xaa\xbd\x9e\x02\x87\xfcL|\x02\x1b\x03\xffc\xb9\xa5\ue7e8\xf4W.~\xb0\xc5\x05A6\xd6\xe6ω\r\x80J\xed\x109\xa8\xaf\xd9Z\xedl\x95\xf7<\x80\x83Y+\x14\x11V\xd8\b\xecT\xb57x7\x1f\xc1\x18\xf0\xd1r\xfe\x86\x9f\xe7\x97h\xb9Xg\x92\x02\x80\xb8\x11\xa9\xf6jž\x00\xcf/\xaeu\xd5\xde>\xd1\xce\xf4\xabnH\xe3H.\x15F\xe2\xc3`z\t~\xe8\xae_ߔR\xbd\xec\xabt\x84տy\xde\xc9K\xcb\xd0\xf7\xff\xf9P\xed\xe5M=X\x83\xc9\xef?\xda\xcb\xe47C~@\x0f\xf95\xe2\xf7\x1b\x00\xb1\xee-\xb9\xa7ۥ\x8d\xe5\xba\xda-8\xf0\xf1T\xff\x0fQ\x8f\x10\xc4\xcfO\x15\x13\x1b\xb7\xfeh\xcdٽ\x80\xdc_\x19\x81\t\xa9\xf6\x86'\u007f\x9f\xd7g\xf2\xebhI4\xddY\xd5\x00\xb8\xdd7]\xd5\xde`\xf23\x98\xfc\xa6\\\xb7\x10\xee8\xfb\xda4\xe6\xf7e\xf8\xee\x132\x1a\x0f#\x1a\xc0\xcaB\x9f\xf5\x8d\xd4K\xaf\xc9t\xf3\xffEa\x04~^T{\xe9y\b\xf2c\x8d\x0fT\xed5\x8b}\x9c\xf3\x03\xfe\x9e\x1f\xb0\xb0\x16]\xacsv\x99\x8cx\xb1\xf6\xe1o\xac\xc8z\x8c0Ɯ\x93I\x98\x0fӠ+\xe3ёӛ\x9f\xf8\xd1Z7\x12\xb0\xab\x93S\xed5\xc9\xcfm>n\xf5ia?{}\\ka?\x88\xaf\xd6(S\x00\xb3\b\xc8^\xff\xf0\xb4U{\x87\x85\xfd|m\x90_;\xaa\xeb҄\xd4\xfc3N\xebyj\x8cGo\xfb\x0f[\x82\xbd\xe7,u\xf3\xff\x98\"\xfb\x89\xaf\xda\v\x12\xef\x90\xfc\xc0\x10\xf2\x9b\xde_\xf3\xfcj4\x18\x9b}ʘ\xe2+\xbe\xfb\xb3͞NM\x97\xf6!\u007f\x84zڠ\x8c\x00\xed\xee\\\xa5}\x1ed\x04\x96\x10\x05\x84P\xed\r\xe3\xf9m\xcd\xf3K\x03`\xe6\xfb\x06\xf9\xfb\r@\x9cS\x80h7\x03\xb1\x01\xe0\xd1\xde\xe9\xa9\xf6\x1a{\xf9\xcd\xe9>m\xb4\x97\xc1\xde\u007f\x8fӸ\xe5\a\x86f\xdfScr\x9f\xbd\x0e\xad\x1dق\xba\xf6\xbb\r\xfas(\n\x80!\x10\xde\xffDP\xed\x05\xfcT{\x83s~\x83\xfc\x805\xa2\xe7g\xe2\xfb\x87\xfe\x96,\x00\xa2M\xb7PJ\xfe\xfa\x15\x95\xcd<\x17\x00\x95r\xf0X\x0f~/o\xe2Zߤn\xce\r\r\x1a\xf7\xaeR\xb1\x98=\xfd\xb8\xaa\xbd\xe6\xa6\x1e\xe5\xfd\xb5\x82\x9fA~\x01\x83\xf8L~y\x1d\x8f2\x05`\x03 \t|8\n\xd5ހ\x01\x1f@\x1f\xf0\x91P\xe4\xbf\xc8M\x9fsSF\xfd\x90\xf1`\x02\x8f\xfd\xe0I4\xf5\xc0\x87\xe7\x95\a\xb2\xd4ZJR*\x00\xcf\rC\x00\xa4\x18\x16?G\xa5\x1e\xc4\a\xa41p\x19)M\xbd\x87+\xff\x9aj/\x93\xd7O\xbb\x8f\xe7\xf6\xd5}@y|e\x93\u007fg\x0fC\xc1\x89\xce*\xec80\x00\xbb\x16A❨\xf6\x9a=~\x93\xfc\xbd\xa3\xbdC\xc9\xcfk\xbc\x17\xb3\x8a\x00D\x8e~8\"\xd5^\xbf\xd1^@'\xbfZ]\xb5w\x9fB:\xa7y\xfbcM-\xf4Ǻ\xe3\x87>\x88\xd2\xf8\xf8\x0f\x9b\x94\xa3&\x13\xa7^\x9a\"\xd9)?\xa4M,\rB\xa6\x1f\x8b\x19W\xc7\xeeŬ\x89%\x1d9\x13\x8b:\xf2&\x96t\x14tx\x02\x8b:\x8a\xfdX\x1a\x84\xd2`,\xf6\xa2\fPq\xb5\fC\xb0\xfc\x1bWU\xb6\x1ak<\xa7\x116\x82\v\xae\v`\xa4[8\x89\xcc\x1f\x1flP=\x00Q\xc0ت\xbdX5\xf2k!\xbf\u007f\xc1O\xcb\xf7\r\xf2\xabk\xfa\xfb\xb4zS\n,\xb5+\x1f\xae\x17\xfe\xee3\xa5\xe2?}\xae\\|Ͻ\x83P\x19\r\xf7T\x8f]\xff\xa3@\xb5\x1f\xf7\x8c\x82\x9aZ\xfdPЮ5\xd4\vᄃ^\fF#\xf0u\xe0]X\xeff\xa8\xfb\xfcz\xb3\x17\xf45M\xfa{5\vSAG\xaeu\xfa\xb5\x17\xf1\xbf\x89\x1ar\x1e\xfd\xfei~\x93\xf4\x1f\xaa\xce\xf8\xaa\xbd\xec\xf9\x99\xfcz\xb1\x0f\bA~\xce\xfb\x05\xf1\t2\xfc_\x99A\r\xc0r\x04\xf1\xa3Q\xede5\x1fI\xf2@\xf2C\xb2\xfb$\x18\x00\x9c\xd3\xff\xedڄ\xc3\u007f\xb3=(\xfe\x1b0I\xf8\xf4cR\xde\x19\xabQ\xf6\x9f\x8a!\x87\x8diol/\xff\xe6\xd5(\x06\xd6(\x92\x1c_\xb5WF\x00\x81=\xfe`\xf2+\xc8{\x82\xfc+\xf2\xebV\xa2\x9e\x04\xdc\xd4\f\x80\xa1\xda\xebNT\xb57n\x0e\xf8\x80\xf4\x02&\xf9\x01>\xb4\xe3B\xb7u\xd7Oͩ\xb1I?\xd8\x00`\xb8\xe4iL\x03H\xb3\xa6\xc2}<\xcc\t\xcf\xec\x9f\xdeҤ\x02r\x8d\xea\x00c\xaa\xf62\xf9u\xcf?:\xf9\x01ۏ\xfc\x04D\x00\xc2\x00lGf\x00h\xdd\xec\xa6\x00\x1c\xfaOU\xb5\xd7\u007f;\xef@\xf2\xab\xd7qh\x87\x03\xf5\x9e/\x1d=\xa6\xde3m\xaf\xdc[\x9c:ް-a\xdc\x0f\x83h\xfe^&8\xc5\xc2/\xfd1\xf1B \x9e\xd2y\x0f-r 5J%\x85\xa7\x0fV\xed\x8d몽X\x99\xfc>\x9bz\x86{~&\xbf\"\xbe\xf2\xfc\xee\xac\f\x80\xcb\x06@x~\xac\xd3V\xed\x95\xf7\x82ȏ\xd7\xd4\xf5\xd3\x06\xe0\xe7\f\xb37\x00\xe1U{\xb5\xb0?$\xf9\xd9\xeb\xfb\x84\xfd\xb36\x00ֱ\x14`Z\xaa\xbd\xfe}~\x8b_c\x03\xc0)\x00\xae\xe7\x16#K\x01\x8c\xc3@7\xa6\x10\x02o\xfc\u007f\x86\x96\x02lG\x92\x02\xb4\xa8\x15\xa8R\x80\xe0\xd1\xde\xe0\xe9>\u007f\xf2sM@/\xf6\xb1\xe7\xe7\xd7pM\x00\xf1\xf1\xb8\xb5˿٠\x0fr\x06^\x9ef\x132\xf4\xa1R\x1b|X\xb5\x97\xc1\xfa}\x83\xcf\xed\xcb\x01\x0e\xae%\xe8\xfd@NC\x9e\xaf\xe3\x04\x1bk^\"\xc7\x1a\xfdx\xce\xf2^\xbd;\xfa\b\x836\xf5\x10\x8cM=@\x89\xaf\xf9\x9e|oI\xa2̛}l\xac@\xb9G\xf2\xabL;)\x89\xf8\x17\x97\x9d\xb9\xf9r\xe1\x1dw5;NeSM\xff\x01\xba\x14#=\x9b\xb8\xf7_\xb9\xff\x89\x0e\x8a\u007f\xc8\xfd\xc7V\xed\r&\xff\xf0\x1e?\xbf\xd6K\xfeV\x1f\xf9\t\xb8\xc6\x1au\x04\xb0\xe9\tR\xb2\x90\xc7dU{\x01kD\xcf/r\xfe>\xcf\xefʵ\v\xebX\x14@b\x92\r\xdeI6\x99\xed\xc0\xca+\xf15\xaf\x886\x94\x80(\xa9\xd7l`\xa4\xd79i>M\xc3%)\x18\x01\x18\x03\xa5\xdd\xe7LN\xb5\x17\x88T\xb5\x17\xdbvq\x8d\x95\x9f[\x80\xbc\a\x92[e\xbe\xb6\xcbjUħz\r)\xf1,\x94\x11\xfag^}\xb0\xde\xfe\x86\xa7t\x1aU\a\x00OY\x88e\x93\xb7uNb;\xb0r\f$\x11\xb6\x9dz\xc5\x01\xf2\xfe\xf3\xaa\xfa\xbf#\xd5^-\xdf\x0f\"\xbf\";G\x00\xb4\xba\x92\xfcX\tL~\xac\x9c\x02lG\xa7\b\xa4\"\x00&\xfaQ]\xb5w\xd2\xe4g0\xf9\x1d@\xe5\xfb\xd2\xf3\xcbkE~<\x87N\x9f8\x9f?q\xe6\xa5\xcb$\b\xd2\t\x10\x04\t\xa7\x05\xc0\xf2\xe1\xd2\xebsD\xd0\xfb\x01V\xcfۏ,\xafe_wK\x11р\x13\x9bO\xbb\xbb\xc9\x10\xc4\xe0\xc5Oh\xd5^6\x04\f\x8d\xfcV\x1f\xf9]\x01q\xa4w\x99\xfe\xfd\x82\xf8\xc9\x17\\Qm\xde\xfah\x1b\x06Z\x8b\xa4\x14\xd1{U\x9c\x94\x11\xe0\xce.\x10j\xf6\x9f\xfd\x80\xfa3\xcb\x17=\xd0\x16\xbd\xff9\x91\xfb\xefX\xb5\x97\x11\x82\xfc\x1c\xeaK\xc23\x98\xf4\xc28\xcc\xc2\x00\u061c\x02H\xcf\x0f\xf2OF\xb5\x17\xb0\x86M\xf7\xb1\xd7\xef\xae\xea\xf5\xa4\xf4\xfcL~\x06\xa2\x06!\xd5\r\xcd\xfe\xf4\xcb\x0fdqv\x9f\f\xf9BI\x82\xf1װ\x87\xc7}\x9c\x15\xb0\xb5\xd2ْ\x1fZ]cPz-N\v\xb06o{le\xf9\xc5W\xe5i\xaf\x02\x19\x02\v\xdbz՞\xfc\x13R\xb5\x97֑\xcb.\x97/yh\x85vln\xf5\x11\x9f\xc9ݗVu\xdc\xea&\xcdv\xac+#\x80ﭹE8\xbc$X\xe3\xe6\x1f\xae˾\u007fcB\xaa\xbdL|&?C#\xbf\xd9\xe3g\xcf\u007f,\xd4\xe7ܟ \xd6\x1e\x03`G\x97\x02\xe04]\x10~\x82\xaa\xbd\xe6s3\xecW\xc4\a<\xf6\xf6\xb6\x1e\xf6K\xb0!\x80\x10\a$\xbb\xe9\x03\x97ȼ\xfa\xc6\xdcf\xae\xc9F`Kz\xf3\xc0\a{\x1e\xbcO\x85\xf6\xa9\xdf;\x90ϼ\xf6\xe6\xc2ڣ\x99u-D\xed\xff\xbci\x1f\xe4\xcd\xfa\xdaVu\xe9\xabu\xef\x17\x97\xb2\xa8\xee\xd3\a/\v8'\xa8j/\xc0\xe4\xb7\f\xf2\xf7\xe4\xf9\xd0\xe3/\x11\xd9J\xf9\xbf\xbe\xbd\xb1\x8e3\xff\xf8\xfb\xc6^]\xaf\xa7\xacmlׯ\xfb^;\xf1\xcb\xfb\xab\x90\xf2\xae\xed\u007f\xb8\xcdJ\xbf\xfc\xfd\x0ex\x18\xa2\xa0\x8a\xfc\xce\xeey\x90]\x16\xfc\xe2\x13Q\xedծ\x03<\xbf\xde\xe3W\x13\u007fL~\xac\x1e\x93\xbf\xcf\x00xQ\x18\x00\x8f7\x03\xc9\x14`|\xd5\xde`\xcf\xcfa\xbf3\xd0\xf3\x83\xf8@\\#?V\xbe\xa7t\xf9\xa1\xd7\a#\x80H`\xf9%W\xa6\aɂ\xab\x90^\x1fAU\x1f\xb2\xdeq\xe2\xd5/;\xed\xe4\v>\x82\xc3@\x96\xe9\x03\x9drNYH\xa1_\xbf\x91il(O\xa6>\x98\\\xc16\xeb\x03\x9d\xa3\xe5\x8d\xc2\xdb?Sqb\x97d\x88\x14T\x1b\xa0J\u007f̆!\x00yO\x14\xd5^\xcd\xf3\x13䵋\x15\xde_\x84\xfb{E\x8b/}\xf6\xf5\xb5\xd5\a\x8f\xac\xf3\xf7\xe3X\xe4$\xc0\xa4\xee\xde[}\xe8h'\xfd\xf2\xeb\xebd(\xcbNl/\xf6\xe9WɘW\x8a\xffpw\x8b\"0\x119\xe8?#\x95\x16\xf4\xaexM\x93\x05\xdf.\x9f\xff\xc56<\xbf3G䏁\xfc\xb4N@\xb5\x97\xd7A\x9e\xdf\xd2\xc8oz~\xbeV\x9e?\xae\xf2\xfe\x81\x06\xc0\x8d\xd8\x00x\xca\x00\xecT\xb5\x17\xf0\x1f\xf01\xc3~\x02\x87\xfd\xfdD\xf7%\xbf\xd2\xe1\xc3\xfb\xa0\xd9G\x13^I\xe7\x94\xf9$\x1d\fR\xe9xՎ\xbe\x1d\x94;\x06*\xd9\xc7\u007f|N`\xf1\xddT\xd0\xdbM\xa4ߵ\x90\xa2P6\r\xa0\xa8G\x9e)\x95\xf8\xa5\x0ff\xeb\x1f\xfdNsk\x95\xd3\x02\xa3>\xc0\x1fX6(_s\xd72\xaf\xba\xa9\x88h\xc0\x89-\b%\x1f\x90\x18i\xc1\xf1\xaf\xda˞_\x91\xdf=\x16\xee\x13\xf1\xe7\xbay~\xe2y\xfb+\xf5\x03\xdfkÛ\xf3\xf7F1\x9f=\xb3\"(E\a\x9b\xf97\xdfބZ/\xb5\xe5\x84X\xa7\x1b\x93\xaa\xbd\xd2\b$_te\xbdA\x8a\xbe\xf2\xfb\xcd\xd4\xd7\x1fl\x84E\xd8ߺ\xfb\xf1N\xea\xa5\xd76\xe9\xfb-\xc2~&\xffdT{G\xdc\xd4\xd3{=\xa8\xe0Ǟ\x9fI\x0f\xacP݈V \xde\xe6\x1a@t)\x00\x047'\xa1ګ#\xc1\xab\xd5\xdb\xe3\x17\xf79\xcf\x0f\xf4\xfc\xcb\x1a\xf9\t6\x1b\x01\x92\xefF]\x00j=\xde/,\xa5\x8a︫Ժ\xf3ǭ\x8e[\xe9l\xb5\xe9\x13\xb8)\xcd\x01\xadx\xde9R\xee4?\xfdX+\xff\xd6;J\xeei6\x06t\xf0\xfe\xb4\x17[L\xf7\x1e\xcaI^.C\x1e*\x8d\xa1\x9e\xd4\xcb>\x96_\xb9\xff\xc9U\x15D\xf4~\xb0\xfdچ\xf8`\x92\xac\xd8J\xf2W/\xcfc\x98\x87\xbc\x12d\xbe\x84\x11 \x80\xe8ǡj\xaf\x99\xf3\xa3\xc8\xc7y\xfeE%\xf7\x19V\xb9\xfc\xfeC\xad\x8d|\x8b\x8d\"\x87\xfbFz\x84z@\xe5\x92/\xad\xba\xcf\ue49c\bZ\x05zN\xee\xc15\x8au52\x96\xf8\x9a*\xed߯W\xf6~y\x95\fi\x87\xea<[[\x9d-6\xe2t\x8d߳\xfd\xad$\x8e\x06kS\xda&\xb6\xfaR\xb5\xbfN\xbf\x87\xda\xca;q\xd5\xde\x1e4\x03ȯ\x87\xfd\xab\x02\xdc\xe63\xf2~\xe2_[\xdek\xcfB\x0f\xc0s&\xa0\xda\xcb\xef\xf7#\xbfm\x90\xdf\x1d\xd9\xf3[\x82\xfc\xe6\x19}6\xab\xf6\xee^\x82(\xa70\x04\xd0\xf2\U000dee54J\xfd\xd6\u007fd3\xe7\x1c\xcc\xd3f\x90B\xe6\xb57\xe5\x97_ru\xd6{\xc6R\x1a\x03=\x04\xbc\x17\xef\xeb\x95\xef\xce\xf4\x1d\xd2\x19\xb33\xa8\xeeSZ\x80\x96_:\xf7\xa6\xff.\xd3hi\xc7/_\x1dT\xe8B\xa1\xb2|\xe1\x83u\xf7\xb4x\x8e\xfeL\xb4\fs\x80ä?nT{{=?\xb7\xf5\x90\xe7ϗ@\xfe\xdc\x1b?U_\xfb\x9f\xac\xf1\xef\xa7_F\x81\x14\xe19\xf4\xf9\x93/\xbc\xa2FF\x94\xc2\xfd8yzHt\v\xd2kg\xf2\xcb\x03\xd3ʔ\xcf\u007f\xa0&\x0f%Qd7BSU\x8f`i\xaaB'\xffW\x9f\xae\xd0\xdf%KapV\x88u\xc6P\xc57ȟ\x1bD~\xac\\\xe43U{q\x8f\x15y\xcd\x1e?`\xf6\xf89\xdfW\xe4w\xbb\x86@\xe6\xf9\x968\xbe+\xf5;\xd7T[t\xfe\x9e\xf8\xb7i\x11Р<\x1f\xb3\xfe\x99?\x82\x18'\xf2\xfc\x05A|\xf3\x94\x1e\x80\x8f\xe8\x02\xf0\xdc\xc1\x1a\xb3\xb1uWܣԌp\t\x11\xfdb\x89K\xe8\xf9^1Ϗ\xf1^\xee\xf1\xc7#P\xed\xf5\x1b\xf0\xb1\r\x03\xc0\xc3=\x00\xe7\xfa\x1e\xa0\xc8\x0f\xe2\x13\x1c\"\xbe\xc3\x11\xc0\xf6L\r@H\xd5^\x9d\xfc\ts\xc2\xcfV\xe4O\xf4\x91_\v\xfb\xf9\xb9\x99\xf3\xfb\x1f\xcb\r\xf05\x8c\x00\b.ߓ\"\x0fF9=C<\xef?\xa2K'?\xc0\xe4\x97\x13~\xf2\x88\xee\xaeR\uf705\xfa@:\xf1\xfc\xfd\xb9ƍ\xdfom\xaf\x1b\xbd\xeea\xf5\x81\xed\x95/\x1en\xa7\xce:P\xc2|?\x91#\a\x95^\x19\xdace\xf8\x90_\x18\v\xd5ڛ#B\xef\xb6y\xbc\x17*\xbds\xb4\xc6\x04\xe9\x95A`\xaf\xcf\xe47\x80P\x9f\xdbz\xb6\x90\xeeN\x9cqY\xb9v\xf9\xb7V{Z\xa3FϾ\xaf\b\xeaV6\v\xef\xfcl\x8b\xaa\xf0\x15\"+\xc2}\xed\xa0N?\xf2\xdb\xc0`\xd5ޘM\x80\x87g\xe0\x9e\xfczS\xbbO\xc0\x9e\xb4j/\xc1\x920\xda|\xe6t\x9fN\xfe\x81\xd5~\xf6\xfcX\x85A\x88\xda\x00x\xca\x00\xb0\xe7wª\xf6\x1a\xc47\xa7\xfbt\xf2\x83\xc0A9\u007fr\x98\xe7\x97\xc4\a8\n`\xb0A\x90D\x87Q\xd0\b\x0f\xb0>?\x01\xd7ƙ\xfc\xdaa\x1d\xb8\x87\x15\x12\xddT\x1fȠȗ~\xe5\r\xc5կ8kڴ\x9b\xde7\xec3\x10Щ\xa3M*\xadę\x1f*\xc0\x10Pt!\xe4\xbb\x1d\xae\x03\b\xa2k\xe4\a\xf2DN!\xd9\r#@]\x8b\x02E%}\x9by(ҡ\xd7\x16\n0\x02\x90禵$#\x02\xc3\xf3\x13$\xf9-Az\x90\x9f\xde_tN^(\x15\xdf\xf3\xb9&\xce\xec\xe3.\x88\u007f\x9e\xbfդ6\xe8\xa5__\xf5N\xdfW\x85ק\u007f\x0f\xe7\xf9\xe3\x9c\xcck\xaa\xf6*\xd4\xe5\x1a\xa9j/!\x80\xfcf\xa5\x1f\xab\xa7\x91\xdf\x01\xf9e\xb1\x0fp\x14\xf9g\x19\x018]B;;Q\xed\x1d\x94\xf3;\x8a\xfc\xb4ꣽ\xba\xe77\xc9o\x05x~\xbb\x97\xe8\xc6\xe1\x9c\xdaI=X\x99\xf4\xd2\x10\xf4\x9d\xcf\a\x98Gsk\xa3\xbd|X\x87\x83\xe71\x1b\x86\x80\xc2\xf9n˯\xf0\xd6;*tf\xbd\x96\x1fsZ0\x888\x1b\xd9\xe6&u/\xeaΩ{s\x94\x1a\xe4\x884\x05\xc0\x01\xf9{{\xfc\x92\xf8\x00\x11T\x10\xdd;m_1\xfd\xf2\xeb*\xf9\xbf\xb9]l\xf9-\x9fw\xa8\t5\xde\xec\x1b?Q]~\xc1\x95\x14z\xcfcJ\x91\u07bb\xb7k\bv)C\xc0\xd3}\"\u070f!\xdc_\x94y\xfe\x85\xc5\xec\xebo\xad\xb5\x1fI\x99y\xbe\xd6\xd6S\xaf\xb7\xee\xfc\xc9\x1a\x15\xedp4\xb7j\xebI\xc2\a\x93\xbf\xcf\x00\x1c\xbf\xaa\xbd&\xf9\xcdI\xbf\x16\x93\xbe\xbb\xfay~E~\xdcw\xba+\x10}\x04\xe0i\x06`|\xd5^\xac\xa6\xe7\xe7\r=L~\x8d\xf8:\x96\x01\xf9Zp\xd8o\x92\xdf<\x9c\x93\xc9\xcf\xc7t\xb1!\xf0;\x97?\xed\xf0=\x90\x9d\xc9\x0f\xf0\xf9|\xc28\x10as\x00\xb4\xf9\xff\x8f\xbdk\x8b\x91쪮\xdd3flc\x82\x8dy$\x96#\x92|D\b\x84\x01%R\x94_$\x90\x88\x88\x84\xf8\xb0\bB\xf9\xe2+\xc9\x1f\x02\x05\v3s\xef\xb5\x19\xb0-K\x81`\t\xf3\x01DI\x90y\b,\f\x1f\xfe2\x04!\xf2a\x12\x19K\x16Q\xa4\xba\xd5=\xaf~TUO\xbf\xa6\xbb\xba\xabG\x9cu\xea\x9cY\xe5\xbd\xebԹ\xb7\xbb\xfa\xde\xea\x9ek\xcd\xd2>u\xfa1\xf3\xe1\xb5\xf7>{ﳎ\xa9t/\xf5\x92\x976\xd0\xcf\x0eL\u0099\x95n\x91\xed\xfe\xcf\xd5\xfe\xb5\xbf\xf9\x0fT\xc0\x97L5{\xf8p\xc7|6$>`\x9d£\xcb&\xe2cP\xa9\xb7\xf1\xad\xdfl\x9bt{ߑ\x93\xadM?ͼ\xd9?0\xe7\xf0~\xf7\xb3/\x9a\x82ٓ8\xc7\x1b\xe7\xe1\xde\xe5G\xcd\xc0E~\x10ߟ\xf3/\xfd\xf9W\xd7\xccT\xe3\x0e\x8bx\xec\xe7\x8f\xfd7\xbf|e\xefڇ\xffm\xc3\xfc\x9b\xe1<@\xfcq\xef\xf2\xf7\xe4㜑7\xf9gY\xb5W\x93\x1f\x96\xe4ו~\xb77\x1a\xf9=\xd9]\x060\xd6\x01\xb4+\xad\x01 Z\x93\xf4\xa5U{\xfd\x9aC>\x8c\xfc\xec\xf3\x17\x8d\xfc\xba\xd5w\xd47\xf9\x99\xea\xf3qζ'\xbbH\xfb\x01O\xf8\x96\xbb\x9d\x87u\xe4Ynk\xd1\xeb7\xa3\xc0\xd7\xd0\xf23\xfd\xec\x95\xcd\xff|e\x1b\x84\xe1Xq\xb8>\xe0嫶~\xfc\xdaΥ\xf7\xfc+\xea\x03Kf\xd0fy\xf8:O\xb6\x82\x88\u007f\xf9\xa1\xafw͵\xe4]K@r\xfdu\x12cT\xdc\xe5\xdf1X\xd9\x1a\x98w\xf3\xb7Zw\x9e_5DE\x8d\xc0\xbe\xcc\xeb\xcf\xf9fz\xb1\xbb\xf6\xf8/\xb6\x0f\xd6w\xb5\xd3\"\xf1\x99\xb5\\\xd9\x18t\xfe\xf1\xa7[\xads\x17pͷ7L\xf7I|A~\xd88\xf9\x99\xdeϪjo0\xed\xe7\x99?t\xdeבߓ\x1e\x84\xe7g\xe7\x10\xaa\x95\x04\xa3\x038\xacj/S~\x11\xf9A\xee\x89\xe4瞊\xfc\x8c\xfa\x80|\x9d7\xfc2/\xf7Al\x1f\xe9\rH~\xc0\xafř\xff\n\xc9\xef&\xf4\xe2\x97z\xb0\xc7!\x9f\xf9\xd4>\xcfe\xd2o\xfbB\x8f\x89\xd6ݝ_/\xf6\xc5e\"\xe1\bn\xaak\xc7\xe6\xde\xfcV\xfb\xfe\x8b \xfe\x12\xce\xf8Fmg\xc3\x14\xe2\xd8js\x91\xd8S]^g\xe6\xa4\x1c#\xb6\xe9\x9b\xf7\x17\xff\xeci\\\xd1\xed\x98I\xc5N\xeḅ\x9d\x95\xbf\xffѦ\x99^\x1c\x8c\xfc\xde`;\x13\x93v\xd7\xff\xe5\xd7;\vo\xff\x8a;\xe7\xa7 \xbeK\xf5\x15\xf9\x81\xa2\x91_\x91\u007fvT{\xc3\xe4ϋ\x8c\xf6\xfa!\x1f\xa6\xfc\x00\x88\xce\xe8O\a\xb0k\xf6v\xab;\x028\a\x00\xe2\x1eI\xb5W\x0f\xf8\xc0\x06\x06|\x04\xf9I`I~X\x0f\x99\xf6\a\xcf\xfb\xfa̟\x02<\xef딟\xd5\xfe\xf1w\xf6I\xfc\xc0\x9b\xfc\xf2ind\r\x86\x1c8\x16,\xa3\xe5g\xa6\f\x97V?\xfd\xfcu3\xa5\xb8/\x88\x16\xbdv\xbc\xf2\xa9\x1f^_\xbb\xf8\x8b-\xfe\x1c\xa5\xd0b\xff1\xcb\xe0%\x19\x14\xf5.?\xf4\xccڕ\xbf\xfc\xc6\x1a\x8e\bc\n\x97\x80\xaaal\xff\xec\xff\xfa\x97\xdf\xff\x8c\xeb\xe7_\xe8\"\xddw\x03<=\x03F\xfc2\xe4\xd7g~\xaa\xf5Θj\xaf&?\xcf\xf9\\\xa7\xa2\xe0\a\xe2\x93\xfc \xbc[\x93\xf8\xcc\x06v]!p\xb7\xc2I@:\x00\x12\xbe\x8cj\xaf\xd6\xee\xe39\x9f\x19\x00\x11\xec\xf1K\xf2\x8b\xa8o\xf7#i?#?\xc0ȟ\x89\xb4_\xa5\xfc,\xf6\x19\x88g\xb9uԏ_\xea\xf1{V\xc4\x03\xd5}\x00\x92]\xed\xb7\\\\Y{◛8\x9fO\x18+&!Ic\xa6\xf6\xf8rA-D\xe5(\xe0<\xf0\u05een\x1d\fD\xba\xcf\xef\x16㻯.\xef/}\xec\xbb\x1bƑ\xe1\xd2\x0f\x88\xdf\xcb\xe7A\xfa\x84\x91\x1e6|\xe6g\x8aOpO\x9f\xf9gU\xb5W\x93_G~9݇\xf5\xad\t?\x16\xfc\x14v\x01|o\x85\x19@F\a0$k~\x04\xd5\xde\xd1\xf3\xbe\x9b\xf0\x8b\x0f\xf8\x90\xf8\"\xf2\xab\x94?c\xd5\u007f\x1c\xf9\xb9\xc7T_\x90\x1fp_\x97\xd1\xde\xf6\xf8E\xb5\xff\xc8\xe4\a\xb0v\x97\x80싼\xa6>\xb0\x84\x96ߥw\u007f\xadc\xae\xc0\xee\xf8\x9b\x8b\x81\xb1b\xec9⏞DZ8\x9c±\xd6<\b_\xd3\x1d\xacl\x1ft?\xf7\xe2v~w\xdaC\x91\xcf8\xb1\x9e\x01\x88\xdfs\x91\x9b\xd1>p\xe6\xe7\xbe\xec\xf1'1\xf2Ϣj/ɯ\x04<\xf4\x85\x1e\x1f\xf9[L\xef\xed:\x14\xf9g\xc0\x01\xb0\xea_N\xb5\x97\x0e@\x0f\xf8$\x91\xc8/+\xfd\xe1\xf3~\xf8̟\x00\x979\xd8\xe3\xb3\x01\x92_\xf7\xf89\xe0c\xe0\x8a}\xc5\"?Iδ\x9f?\x13\xbe\xd4c\x1d\xc1\xbc-\x14\x9a\xf5\x17\x97Q\xed\xbf\xf6\x91\u007f\xef\xed\xfe\xe6ꄱb\xff\x87\xebC\xffǬA\xe9%\x8c\x12\x1fCM\xeb\xdf|yg\xe1A{M\xb7c\x86\x9ez\xa6h\b\xd2#\xd5'\xf9InE\xfe\x82=~Ov\x91\xf6Ϧj\xaf\x8e\xfcz\xb4\xb7\xed*\xfd\x80\x8b\xf6\xce\t\x00:\xed\xb7 \xf9y\x04\xa8\xe8:\xb0\xca\x008\xd5WV\xb5\x97\xda}\xd1K=\xf16_\x88\xfc\x00\xf7T\xe4\a2\xc09\x81\b\xf9\xfdgF\xfc\b\xf9C\xf2]@J\xc2\xf3>\xbf\x9c\xe9\a젏\xef\xf5\xa3\xefo*\xe9\xcbFF|\xc3\\;\x1e\x04\xa6\tEԟ\x8e\xee!{\x92\xcc8̕\xe8\xbe\x19jZ\xb7*\xbe\xf3\xe7\x91\xee{\xd2\x1bش\x9f\xc5>\"2\xda\x1b\x8c\xfc\xe2\tn\xf6\xfcgT\xb5\x97\xb7\xf8ܚ\x9f\x19\xf9\x01F{}\xe6\xd7i?֩r\x00yu\x0e s5\x80$?\x92joP\xc4#\x89D~|.O~A|_\xf1\xc7\x1e#?\xf6\x02\x91\x9f\x84\x17=\xfe\xb0\x82O9\xed>}\xa1\ap\xb7\xf9\xb0\xb6\xbd}\xf4\xe6W \xd5m\xae\x1d\xaf\xae\u007f\xed\xbf\xb7Qi\a\x19%\xeb\x8fS\xfa\xdc\f/\xed\xaf\xfc\xdd\x0f6[\xf3_蚁\xa6\xae\x8d\xf8\xf36\xdd\xef\xe6\xae\xc8\xd7\x12i?\xad>\xef\v\xe2k\xf2\x87S\xfe\xeb3\xad\xda\v\xc2\ao\xf4!\xea'>\xdacO\x91_\x11\x9f\x91\x1f\x16\x90\x19@e\x83@\x8b \xfd\x91T{E\xd4/\x11\xf9G\xad$\xbf\x87\x8c\xfc2\xea[\xf2\xe7\x82\xfc\xac\xda\xc3R\xb5\u05eeI|A~@\x93_\x10?\x16\xf9\xdd\x1e\xf5\xfb8\xdak\xad\x85\x97\xed\xb2c\xbd\xf3燽\xfe\xf7=\xd3\xdd\xf9բW#:\xb6\xc7O|\xcd\xc1t&\x06\xed\xb7^\xec!\xea\x9b\u007f\x87;\xe7\xa7\xdd\xd7E}F\xfe(\xf9\x9d\x15H\xbc\x15m>\xacI\xfe\x13\xa4\xda\xeb>\xb3\xd8\xc7\xc8\x0f\x9b\x15\"?\x89O\xd4\xd5\x05\xa0\x03(\xa8\xda[n\xb47!\xf9\x8b\x8d\xf6\x02\x81\xe9>\x95\xf2\xf36\x1f\xa3\xbd\xee\xf1\x0f\xe1\xbe>M\xd5\xde\xe4h\xaa\xbd\xfeb\xcf|\xba\xbap\xeeKF@\xe43Kן\xfa嶛\xc4c\x85\ue61e\xcd\xc2\xcc\xc1\xa5w}\xd5D\xf8\v(\xf4\x81\xec>\xf2c\x8d6_!\xf2\xbb\xb5$\xbe<\xf3\xf3\xbcO\xf2\xc3\xfa\xf5,\xab\xf6n\xeb\xa8\x0f$$\xbeA\xab\x1c\xf9\xbd\xdd\x19q\x00\xfd:\xee\x02,NA\xb5\x97Q?^\xf0[\xe4\x9a66\xdd'\x06|\x00\xec\x93\xfcz\xc0犻\xd0#\xe6\xfagM\xb5\x97r]\xf9\x99\xf3+;\xff\xd5\xee\xf3\xf93\xcb\xd8cy8\xd3\xd7\x1a\x96?\xf9\xbdM+\xe8y\xd6:\x80\xae#\xfd\x1a\v\u007f\x8e\xf8A\xf2\x87{\xfc@\xc1\xd1\xdeYW\xed\rW\xfa\xdd\xd7Z\xa5\xd2~M~7\bԯ\xe3.\xc0\xe2\x14T{5\xf9Y\v(0ڛ\t\xf2\a*\xfd\xf8,\xe6\xfa\xb1\x9e0\xe0#\xe7\xfa\xf5t_\xfd\xaa\xbd\xd6Z\xe7p\xe7c\xabF\xee\x9c\u009a\x8c\xfeSw\x00~L\xb9\xfb\x99\x17\xb7q\x04\xc8\xef\xf0\xd5~\x1b\xf9U\xb5\xbf\xfc\x8d\xbe\xa4\xd0t\xdf\tR\xedu \xf9\x05\xf1\v\x9f\xf9I\xfe\xc4\xef\xf5ku\x00\xd3S\xed\xd5\xf7\xf8\x89l\xf1\x88s\xfd\x8e\xec:\xed\xa7\xb5\x10Q\x1f\b\xe8\xf5όjo\xb6\x8a\xaf/\xbc\xe9˝\xfd\xcb\xeb\x83*\x1d\xc0Z\xf2\xf3\x1b\x98\xf03\x0e\xc0\x15\xfb\x92^y\xf2\x93\xf8*\xed\x8f\xdf\xe6;1\xaa\xbd\x00\xc9\xef#\u007fV\x8e\xfc\xb0$\u007f\x1f\x10\x0e\xa0\xca\xcb@\xda\x01\x1cN\xb57N~9\xd1\xc7uB\xa8ȯ\xa7\xfbD\xb1OE~\u007f\xde\xf7\xc4W\xd3}\xe1K=u\xa9\xf6\xd2\x01\xdcsqu\u007f\xb1Z\a\xd0;\xffҶw\x00\xb6\xf0'\xc8\x1f\x1f\xed\x05t\xa5\xbf0\xf9g_\xb5\x97i\xbfh\xf5\xa9\x94?\x9e\xf6\v\xf2g\xf5e\x00\xda\x01$\v\xb0%U{˓\x1f\x16`ԟx\xe6\a8ه\xb5\x88\xfc\x8c\xf8\xa2\xcd\x17#\xbf\x9e\xeb\a\xb9\xebP\xed\x05\xecϾ!]\xed\xbf\xba\xb4W\xa5\x03\xc0\xcd>\\\xee\x81\x03\x10\xe4\x0f_\xe7%\xf1\x01q\xdeO\x8a\x92\xff\x84\xaa\xf6fL\xfd#\xe4\a\xa9\xf5g\xa6\xfd\x06\xce\xd6\xee\x00\x92\xf6\xb4U{\xc3\xe4O\x8b\xdc\xe8#ٱ'\xda|\xb0\x0e>\xea\xf3\xccϙ\xfe2\xe4\x87\x15H\xaaQ\xed\x05\xb07\xffت\xe9ïl\xff\xe4w\xbb,\x02\xde<\xb6\"\xa0\x9f\x030\x82\xa9\x98\xf5\x87|\x97\xe8\xf5\x17\xbcΫ#\xffz\x01\xf2\x9f@\xd5^\xcavE\xc8\x0fK\xf2\xc3\x02,\xf8\xf5\xf95\xac\xebr\x00\xbc\x0e|\t\xed\xbd\xa9\xab\xf6j\xf2[\x88V_\x90\xfcl\xf5\xa5\xde\x19P\xb5w4헕~\x11\xf9\x89\x8cV\x90߯\x19\xf9\x13\xbf\xaeD\xb577\x16\xcfpC\xc1\xc7\b\x8al\xf1\x85\xdbck\x03Z\xf2Cr\xdb(\xec\xa2\rػ\xa5\xd1\x1f\x15\xee\xd4\x03>\x06\x85\xd3\xfe\x13\xac\xda\x1b\xbd\xd4CK`O\xa7\xfd$\u007f\xfd\x19\x80! \x87|\x8eO\xb5\x17V\x92\x1fV\x92\xdf\x13\x9f\xa4\x8f\xa9\xf6\xa6\x80:\xf3\v\xd2\xeb3?-#>\x88/[}GP\xed\xf5\x84\x8fIv;1Ύ\xb9q\xb7z察\xedI\xa5\x9fi\x92\u007f\xf4AU#@ҷ\xd1\u007f\x1e\xe9\u007f\x99\xd1^\xa2\x84|\xd7IV\xed\xc5ZE~\xae\x03\xc5>\x82\x84W\xe4\xe7\x9e\xf9{\xf6X\x04\xac\xd2\x01T\xa0\xdaKĵ\xfb\x1cያ\xf6\x86\v~\xb0\x8a\xfcn/2ګ\xfb\xfc\xb4a\xf2\xfb\xe1\x9e\x12z\xfd\x9dQ@\xb5\xe7\xc6\xcf[\x9c\x05 q\xa7=\x03ps\xe9\xe1\xe76\xe1\x00\xdc\xfd\xfeC\xa9\xf6b/F~ؓ\xafڛE\xc9\x0f\x10\xa9\x8c\xfc\xb0\x01\xf2[\xbbg\xfe\x1fޫh\x120\xa3 \x88!\xa8\x8b\xfc\x8bU\xa9\xf6\xc6ɟ\x96W\xed\x8dG\xfe% <\xd7O\xb2cO\x91\x9e=\xfe\x80j\xaf\xb3>\xf2;\xad\xfeb\xe4O\x87Y\xc0Yd\x01\x8f\xac,\u007f\xfc\xbb\xeb (\xdfƳĝb\xf4\x87B\xd0\xc2\x1eD<\xa7\xa2ګ{\xfc\xa7K\xb57N\xfe\xd0y\x9f\x05?XM|\x92\x9f\x19@\xf55\x80S\xa6\xda\xeb\xc1\xa8Oҗ ?\x90\x05\"\xbfR\xed\xb5{$\u007f*\xc8\x0f\x84\xc8?\xba\x1e\nwB\x9a{\xeb\xf9\xd7v\xfd\x13c\xb0Gq\x02\x9e\xfb^C\x10\xbf\xe9ꇾ\xbd\xe1\xb4\xfbA\xf4F\xb57\xa2\xda[n\xb47\xd9e䏒\x1f\xa4\xdf\xc3\xf9\x1f\xb6]Q\x06@\a\x00Һ^?l\xa5\xaa\xbdl\xf3\x1d\x8bj\xaf8\xefc\u007f:\x91\x1fVT\xfbۀ:\xf3g\x13ȟ\xf2\xa5\x1e\x03\xcatÞ\xef,\xfcɓ\xdd}sY\x87Q\x9bN\xa0\x9c\x0e\x00\u007f\xd4;\x93\xb5\xc7_\xba1\x14\xfa\xc0S]i\xa3\xda[@\xb5WV\xfa#s\xfd}\x00{\xd1\xc8o,R\u007f|n\xc3V}\x19\b\xc4\x1c\x89\xfc\v\xf5\xa8\xf6\xa6Ǩ\xda\v\xcb\xc8O$!\xf2\x13\xfa:\xaf\x1c핑\xbfL\xda\xcf5\xdf\xe6[\xcda\xcfdx\xa0\xa3s寞]\x1bto\x1c\xb8Wpǽ\x96;\x89\xf8\xfc\xfe\x11]\xc0\x8d\xef\xfc\xef\xae)6ڪ\u007f\xa3\xda[F\xb5\x97\xa4/A~\xd8\x10\xf6\xbc\x05\xda\xd5;\x80\x8cG\x00\xce\xf9/\x9cR\xd5\xdeH\xe4\x8f\xdc\xe5\xd7s\xfd\x96\xf0\xb9\xb3\x04ȯ\"\xff\xca\xf8\xb4?\xfc&\xbfu\x02g\x87\xaf\xf1\x9a\xae\xc0u\x8c\a\xbb\xd6 \xa5\xbc\xf0',\a\xea\xae\xfb\xbd^rl\xfd\x1b/\xef\xb4\xce|ю\xfa:\r\xffF\xb5\xb7\x90j/\x89\x1f\x9b\xee\x03&\x16\xfb\x18\xf9I~\x95\x01d\xd59\x00\xf7\xcc\xf6B}\xaa\xbdY\x95\xaa\xbd\x91\xb4_\x93\xbf\xc0h\xafN\xfb\x89\x95p\xe4\xd7Ot\x01|\x96\x1bE\xc1\xc7m&\xb0\xf8Χz\xe6M\x00t\x06\xa8\xe9\xe7\x9c\x01֞\xf5X\x03Nǟo\x03\xf4v\x0eV\xffᅭ\xe1\xc0O\xea\x1f\xf0hT{K\xaa\xf6Fn\xf4\x89\xf3~\x1a$\u007f\xae\xc9_\x9f\x030\x00)\x17n7\xd5^\xdd\xe6\x8b\x0f\xf8\x00\xed\xf1\xe4\xd7\xc5>M~\xec\x93\xfcĭ\xc8OG\x90\x995\x1f\xebDM\xc0\x14\xec:˟\xf8\xfe&^\xe4q\xb5\x00\n\x88:\xf8\xb3\xbe\xdf\xc7\vE\xebϾ\xec\x9e\xe8\xfe\xbc+\xf8\x91\xfc'E\xb5\x17\xb6V\xd5^\x9d\xf2\x17%\xffn4\xf2ú\xcc\xc1}\xae\xf6\b\x00br\xda\xef\xb6R\xed\xd5\x03>~\xcd\xf6\x9ew\x04\xe2\xccϨo0\xee\xbcOLH\xf9\x83\xe4'\xdc;\xfd\x8fY\xa9.\xdc\xdbo\xddq\xa1{\xf5\x83\xdf^\xbf\xfeԯn@\xc7\x0f/\xf2\"\xc2\xe3e\x9f\xc1\xf2ցy\xbf\u007f\u007f\xf3\xb9Ww;\xff\xf4\xc2\xd6\xe2\x1f?\r\xe2\x9b,\xe2\xbc!\xff\xad\xb7\xf9O\x9cj/P\xbfj\xaf\xbe\xd1g\x10J\xfb\x898\xf9}\xe4\xc7z\xbf\x86#\x00H\x99\xdcƪ\xbdT\xf1Q=~\x95\xf6\xa7\x85\xa7\xfb\x80\to\xf2sM\xf2\x1b\vd\xb4x\xd0\x13vX\xa9\xef\xb5\xcfz\xbd>\xe8\xf7\xfds\aZ\xfd\xed\xbb\xbf\xd4[|\xc7Sk\x8b\x0f>\xbd\xb6p\xdf\x13k\xf9\x1dV\xcaۀ\xc4g\xca\u007f\xa2T{\x99\xf6ׯ\xda\v\x84F{\xfb\xb1\x01\x9fQ\xf2\xb7\x15\xf9=\xf1\xb3\xfd\xb6A\x95\xa3\xc0\xcc\x00\x1a\xd5^A\xfe48\xe0\xc3T\x9f䇍\x93\x9f/\xf3\xb2\xe0\x97\x8c\x90?\x1bO~\xde\xc8C6`\x90\r\xa5\xba\xe1\f漌\xd7y\a\f\xf6\xa4\xc3T\xff\xec-\xe2\x9f\x1a\xd5^\xd8ZT{\xe9\x04\"\xe4'\xf1=Z\xb0\xe1\xc8\x0fk\x89\x8f\xbdZ\x1d@\xa3ګ\a|\xd8\xe3\x0f\xcf\xf5\xd3\xc6\"\u007f\x02\x8c\x92\x1f\xfb$?\t\xde\xc9%\xf9\xb1ϵ\x05\xb5\xfbP\xd4\x032\x80g\xfc!N\x8bj\xaf\xb55\xab\xf6\x16\xbaԣ{\xfc\x8c\xfcH\xf3ݚ\xe4g\xe4\xaf\xdb\x01$\x96\xf0\x8dj\xef\xa4ȟ\x00a\xf2\x13$\xbfn\xf3\x01]@\x14\xfc\xba\xec\x14(\xf2\x93\xf8T핏u\x00\xa7U\xb5w\xbbv\xd5^\x82$\x17\x91_\x92\x1fkF\xfd\xb1\x91\x1f\xc0\xbaf\a\xc0\xb4\u007f\xb1Q\xed\xa5jo\x99\xc8O\xb2\a\xc8\xcf\xf3~ׯI~XF~\x99\xf2\x0f\x91\xde\xf6\xaa\xbd\"\xeaW\xa9\xda\x1b&\xbf\xc6\x1e \xc8o\xac&?\xd7ud\x00\x9c\x04\xb4\x19@\xa3\xda\x1bR\xedM\x02g~\x15\xf5;\xb4\x816\x9f8\xf3\xe7$\xbf\x85 \u007fς\xe4\xc7^\xa3\xdaK\x80\xf8U\xaa\xf6N\xea\xf1봟\xe7\xfdP䟭#@\xa3\xda\x1bP\xed\xd5\xd3}\xbaǏ}=\xe0\x13\x89\xfc\xa2اȟI\xf2c}۫\xf6\xb2\xd5W\xb1j/m\xb8\xe0\xc7\xc8\xef\xa3>l\u007f\x94\xfc֒\xfc\x04\x9cE-\x0e\x00\x04t\xa4oT{C\xaa\xbd\x00\xe5\xbb`\xa3\x03>,\xf6\x05\xd3\xfe\\D\xfe\xe1\x9aQ\xdfE\xfb.\xd3\xff\xb4Q\xed\x05\xf9\xabW\xed\xe5:<\xda;\x9a\xf6\x1bp\xba/B\xfe=X\xbbW\x9b\x03hT{#\xaa\xbdt\x02\x84\x1a\xeb\r\x9c\xf9\x01\xae\x99\xfe\xf3\xbc?J~\aF~\xae\x1b\xd5^\xf6\xf8\xebP\xed\x8d\xf4\xf8\x19\xf9sI~\x12\\G~\xb6\xff\x06\xc6\x0ejs\x00\x8djo\\\xc1'>ڛ\x88\xc8\xcfJ\xbf\x87\xaf\xf6\xe7\xdcc\x94\xc7\x1a\x10\x91\x1f\x04n94\xaa\xbd\xb0ի\xf6\x86\xc9ϵ.\xf6\x01$\xbe\x8c\xfc\x9e\xfc\x8e\xf8\xd6V_\x04\x04!\x1b\xd5^F\xfe \xf9u\xf4\xd7\xc5>}\xe6\xe7y\x9f\xd5~\x9e\xf7-\xb8f\xf4\xef\xfa\x94\u007f\bF\xfdF\xb5\xb72\xd5\xde\xf2\xd3} \xbcN\xfb\x05\xf9\x15\x0658\x00\n\x82\f\vv\xec\xf37\xaa\xbd\x91\xd1\xde`\xea\x9ft\x82\x91\x1f\x84\xf6\xc4'@\xf4`\xda\xef\x9e\xe4\x96R\xddk\x8djoM\xaa\xbd\xf1\xd1^M~F\xf8`\xe4\x0fg\x00iu\x0e '\xf1/5\xaa\xbda\x11\x8f\u0600\x0f\xa3> F{#=~\x87n˥\xfc\x80.\xf6\xa5\x8dj/\xc8_\xbdj\xaf&?\x8b}\x92\xfc\xd1\xf3\xbe\x06\x88\x0f\x9b\x0e\xaaW\x04\x02yI\xfcK\x8djoP\xc1G\x90_\xa1\xeb-#}\xaa\x06|\xd8\xff\xc7:\x18\xf9I~\xa2Q\xed\x15\xaa\xbd\xad\x8aU{a5\xf9S\xd9㏑\u007f\xa0\x01\xe2ۯU\xef\x00rw\x04hT{˒\x9fB\x1e\xb2\xcd\a\x82s\xcdb\x9f#=G{\xd5t_*z\xfc@ڨ\xf6֯\xda\v\xec\x15 \xff^A\xf2s\xcd\xea\xffH\x06\x90U\xe5\x00\xf0\x0f\xb0\x84\xbdԨ\xf6\x16R\xed\xf5\b\x90\x1f\xe4\xe6\x99\x1fhO\x1e\xed\x85-2\xdaۨ\xf6֨\xdaK\xf2\xeb\x1e\xbfh\xf5\x95%\xbf\xb7\xc2\x01T+\br\xd5\x1f\x01\x1a\xd5\xde\xf1s\xfdD2!\xf2\xeb6\x9f\x03[}\xfa\xbc/\x86|\x14\xf9\xf1\xb9Q\xed\xadS\xb5W\x8f\xf6\xea\xc8O\xc7\x10%?\x89\xcf=|\xaeo\x0e\x00\xe4lT{\v\xab\xf6\x92\xf0\x85\xc8\xdf\xcb\xe3\xe4\xb7do\x8d!\u007f\xa3\xda;[\xaa\xbd\xbc\xd1wx\xf2\x13)\xb0\xef,\xf6\x0er\xa0\x1e\a@\xc27\xaa\xbd1\xd5^\xad\xddG;R\xec\v\x15\xfc@|q\xa3\x0f\xc8\xc7\x0f\xf9\x9c@\xd5\xdeē\xfft\xa9\xf6\x02fO\x16\xfcJ\x92\x9f \xf9Av\x03\xackp\x00 \xac\x8f\xf8\x8djo\\\xb57\x1a\xf9C\"\x1e\xbc\xcc3\xb4<\xf33\xe2\v\xf2\x9fL\xd5\xde\xe4\x14\xaa\xf6\xb2\xcd7\x9d\xc8O\x80\xf4n\xbf\xc6\f\x80Ŀܨ\xf6\x16W\xedu6J\xfe\x160\x8c\xfc\x14\xf1\b\xf7\xf8\x81F\xb5w\xb6T{#\xd3}\xba\xc7\x1f(\xf8\x01\x8c\xfc\xdc?\xa8\xd7\x014\xaa\xbd\x87S\xed-6\xda\v\xd2k\xf2\x87\xa7\xfb\x1a\xd5ޙS\xed-?\xdd'\xc9\xef\x89O\x90\xfct\x005\x15\x01\xbdbo\xa3\xda{X\xd5^\x92\u007f\xccXo\xd1\xc8ߨ\xf6ΰj\xafh\xf3\x95!\xbf>\xf3s\x0fD\xb7ȏ\xb3\x06p\xf7\x04\a\x00\xf2\x81\xf4\x8dj\xefQU{At}\xde\xe7\x9a\xe4\x17hT{g_\xb5\x17P\xe4\x0f\xa5\xfc\\k\xf2\xf3\xebv]\xd8\x01\xdc}\x8cσ_\xf3-\xbeF\xb5w\xfa\xaa\xbd\xe8\xef\x93\xfc\xaa\xd2\u007f\x9aU{\xb7ʪ\xf6\xb2\xe07s\xaa\xbd\x81\xc8\x1f%?,\xc0T\x9fk☊\x80w\x15\xba\v\x00\"\xba\xc8ߨ\xf6N[\xb5\x17\x96\n>\x8dj\xefD\xd5^\x16\xfc\xeaU\xed=\"\xf9S}\xe6'\xc9\a\x92\xf8\x80#\xbc%~\xc1Q\xe0\xbbJ8\x00\x1e\x01\x1e\x0e8\x00\x97\xfa7\xaa\xbd\x8dj\xef\xb4T{I~؈jo>u\xd5\xdetz\xaa\xbd\xe5G{e\xc1/L~\xaeo\x82\x8f\xe3\x8e\x00\x0f\xf3\bph\ap\x9f\xf3\x1e\u007fh~\xd9\a\xcc/\xed\x8d^\av\x11\xbaQ\xedmT{\x8fG\xb5\x17\xb62\xd5\xdel\x9a\xaa\xbd\xe5#\xbf>\xef\x03\\\x13\x03\v\x92\xdf[\xe9\x00z\xe0,\xb8\xeb8|_Y\ap\xcf\xd0\x01\x9c{\a~\xc9'\xe6\xfeB9\x80\xb6%*\xa3\u007f\xa3\xda{\x92U{\xb3\x13\xa9\xda\v̸j\xef^\x99\xb9~\x12>\x8d\x92\xdfZp\x11k:\x00\xac\xad\x03\x00g\xc1]\xc7\xe1\xfb\xc0\xe9\xb2\x0e\xe0^\x93>\xbc\x1d\xbf\xe4o\xe7\xde\xfb^\xf3KW\xdc\x11\xe0\x00\x00Y\x0f\xa1\xdaklT\xb5\xf7Z\xa3\xda\v[\xa5jo\xba~\xfb\xaa\xf6fǪ\xda+\xdb|\"\xea\x03\x11\xf2+\xdc\xf4֒\u007f\xbc\x03X\xf9\xa8\xe1,\xb8\xeb8|o\x11\ap\xc6\xe0\x0e\x83;\rވ\x1f:7w\xf6m\xc6>\xf0\xa7s\xf7\xbf\xf3\xff\xe7.\xfc\xd69\x80\x81\x01l\xc7\xe02ɟX\b\x05\x1fkU\xe4\xd7\x03>a\xed>}\xce\x0f\x8ax\xc0\xca\xd1^\x80\x84'<\xc1=rG~\x12=\xae\xda\v\xe4\xb4T\xedu\xe4\xe6,\xbfDB\x8b\xb4]\vw\x12\x1c\xea!鹖\xc4w\xd0\xe4w\x9fo\xa5\xf9-1\xe0C\xe1N\xa1\xdc\xc35\xa1&\xfat\xe4ϩ\xda\xeb\xc9.\xd6\xc4H\x9f?\xac\xda˻\xfc1\xbd~\x12>\xac\xda\xdbW\x16`\x1d`\xacp\xa7_+\xd5^Z\xed\x00\xc2\xe7}K\xfe|Bڟ\x8f;\xf3Ò\xf87\xd9\x01\xe0u`p\x15\x9c\x05w\x1d\x87\xefu\x9c\xbe\xd3q\xfc\xcc$\ap\xce}\xf3\x9b\xcd\xe6[\x1f\x98{\xf3\x83X\xbf2\xf7\xc8w\xdc\x11`\xcf\xc0[\x90\xfcr\x8bWy\xe1\x04D\xb5\x1f\xc8,\x98\x19\xb0\x008\\\xa7\x84\x96\xef\x82U\x8e\x82\x91\x9fh9'\xe1\xd4{ܚ\x8e\x80w\xfc\xe9$\x98\xf6['`ц\x05\x9cs\x90m>\xe7\xfc\xfc\xbd}\x02{\xba\xfd\xe7\x90\x12\xae\xd2\xcf\v=@&,\xbeF'\xc05\x90\x12\x96\xfc\xcc\x00Zt\x12\xd6\xca:@\x8bkZ\x17\xf9\x87\x8e 1`=@\xb4\x04-\xf9asX\xae\xed\xbeh\xf3m\xe5\x16\x19\xacr\x12n\xa8\xc7\x17\xfa\x04\xec\x1eU{\x99\x11h8\x87@QOU\x13\xf0{\xaf\xcb\x06Z\xba\v \xd2~]\f\xf4i\u007f\xce꿳\x1a^\xb2\xdb\x00\x96\x18\xee\xfb6\x1f\xdbx\xae\xaa\x0fp\xe8\x87㾖\xec\n\xbc\t\xe8\xb0\x0f\x8e\x82\xab\xe0,\xb8\v\x0ec\xed8}\xae\xa8\x03@\xbf\xf0\x0fP=|\xdb\xdc=\u007fd\xec\xfd?\x9c\xfb\xf4GG:\x00\a#N\xa0\xeb\x89\xfa\xfbvΦ\xa7\xa9 \n\xc3\a\xfaE!\xb4\x14[@\xa8\x84/\x05ܻP1.DM\\\xb9\xf5\x97\x18\x13ch\xff\x85\v7\xfaG\xfc\x03n\x8c\x89\x89&T\xb7\xac\\\x1bE\xe7\xb5gxə\xc0\r\xed-\x12rn\xf2df\uef7934yΜ\x99{\xc3~\x80\xf5N\x8aJ\v1\xf5\x9c\xd6#{\xc79\xc09\xe5\xdf\xcc\xce\x12\xf0\x9c\x92\b\vz\xdc\xec\xe3.>12\xe3:gu\xd0\xd3T\xbf\a\x8e_\v\xa2\x82\xdeQ\xd9ђ\x02\xab\xac\x06]\xebs\xe6\xffѧ\xab\xa8Ā\xd7T\xde\xe3\xec\x11\xb4㬮\xc46@\x9d\xd7!\xac\x8aJa1cǶI\xedU\xfat\x83\x8fu\x95\x1d\xe2\xf7\xfa\xf2G\xb9#\x14\x1b\xb0\xcdt\x1f\x18\xc9\xf7Y\x87\xc8*\xb9\x05\xf23\xd5\xdf?\xa2c\xc1Z^\x89\x92\x13\xd2\xf9\t\x92\xd9\x1ePn\xf3M\u007f\x8aʛ\xc2\u007f\xe4\x11K\x9b\xf63 \xa8\xdc1\xed\x8f$\xe2\x93_(\xe1*\x9cUw\x1b\xear\xf5\xb4\x00 z\xb2п\x89o\x02\xc6e\xac9#\xd56\x1e\xf8Q^\xbc\xf9\x1e\"\f~L\f\xdctl\xe8\xa2<\v\xbfY\x9e|\xcfI\xd8\xfb.\n\xdfX7ts\xee\xab{\x91\x9fsh1\xbf\rװ(-\xe6\xbe\x11\xc3q\x8c\x94.\x18z,q/\x00N\xc2M8\nW\xe1,\xdc5o\x00\xcap\\]\xe7\x91l\x04r\x1f\xa0\x86\x87\x95\xa5\x80H\xb2\xb4+\x9b\xab\x9f\xe5\xe5{tĔF\x85;\xc7\x1f$\xa5\x9b\xd1\x1e\xeaY`\xe0\xbf\x05%\xc9\xee\xef\f\x82\x81\x1c\xe4\xec\x82\xcb\x17\x84\xc8e\x1c\x13Q\x0f\xe1$܄\xa3pU\x9d\x9de\xfa\x0f\xa7\xd3\r\xc0ӗ\x01\x9a\x05\x04\x9a\x93R\xc6^\xc0\xe2c\xd9^\xfb \xcf\xdf\"mA\xa7\x9a\x9e\xfcq\x1c\xe7\xdc9\x84\x83p\x11N\xc2M8\xaa\xaer\xf67\xe9\u007fV\x00\xb0\xaf\x03k\x1aI\xe6&\xa4\xd8\x0e\xa9ŵPo\xbd\x96gOC\xa7\xef\xbeȫOa\xd7\xf1\x00_\x1f}u\x1cg\xe4\xa8k\ap\x0f\x0e\xc2E8\t7\xe1(\\\xe5\xeco_\xff\xa5\x01 \xdd\aH\xb3\x80z\xe0J?\b\x94\x96j2\x814c\x01\xed9\x99\xbeq_6n=\x91\x9b\xb7\x1f\xc9\xf6\x9d\x87\xb2uwW\xb6v\xfal\xee<\x90\xcd{\x8e\xe3\f\x06\x1c\x8a>\xc1-8\x06\xd7\xe0\x1c\xdcS\xd9\x17\xe0$\xdcD[]\xad\xdb\xd9߮\xff3\xb2\x00\xee\x05\xd8 \x10\xb8ڐ\xc9\xe5\xa6L!\xe5X\r\xach\xb9\x1e\xd8\x10r\xddq\x9c\xa1\xd9 p\x8c\xce\xc1A\xb8\b'\xad\xfc\\\xfbg\xcf\xfe6\b0\vH\x83\xc0l\xa0\x15\x98\x0f,\x16e\xbc]\x96\xe2rE\x8a+\x81ղ\x14\xd6\x02\xeb\x8e\xe3\xe4\xce\x1a\x1c\x83kp\x0e\xee\xc1Au\xb1\xa5nZ\xf99\xfbg\xcb\xcf,\xe0\x94 P\v\xcchg͘\x82 \x02\xe9`\x96\x94\xb6\xe389A\xaf\x16\xe1Z\\\x82\xab\x83\xb3\xead\xedd\xf99\xfb\x0f\x13\x04\xaa\x81)\x13\b\x1a\x9av4\x95\x16\x06f\x98w\x1c\xe7\xccX\x8fZ\xd13u\xaeać\x9b\xd5,\xf9\a\r\x02%~$\x14:aF0\xad\x03\xa8+3J\xc3q\x9c\x9c\xa0Wu\xa5\xa6\xee\xc5\x19\xbf*\xfcا4\xac\xfci\x10H\x03A\xc5\x04\x030\x153\x04\xc7qr\x86~M\x1a\xe9+V\xfc\x1c\xe4g\x10\xc8\b\x04\xa0\"d\xc2Pu\x1cg0\xacOƵr\x86\xf8\x94?\xb7 @\x18\fH\xc9q\x9c\x91S$\x94\x9edȟ{0 \x05\xc7qF\xce8\xb1ҟ\xff1\xe68\xce\u007f\xc2\x0f?\xfc\xf0c\xd0\xe3/\xbf\x92\xcb6\xf9MU5\x00\x00\x00\x00IEND\xaeB`\x82"), + Content: string("{\"version\":3,\"sources\":[\"../webpack/bootstrap\"],\"names\":[\"webpackJsonpCallback\",\"data\",\"moduleId\",\"chunkId\",\"chunkIds\",\"moreModules\",\"executeModules\",\"i\",\"resolves\",\"length\",\"Object\",\"prototype\",\"hasOwnProperty\",\"call\",\"installedChunks\",\"push\",\"modules\",\"parentJsonpFunction\",\"shift\",\"deferredModules\",\"apply\",\"checkDeferredModules\",\"result\",\"deferredModule\",\"fulfilled\",\"j\",\"depId\",\"splice\",\"__webpack_require__\",\"s\",\"installedModules\",\"1\",\"exports\",\"module\",\"l\",\"m\",\"c\",\"d\",\"name\",\"getter\",\"o\",\"defineProperty\",\"enumerable\",\"get\",\"r\",\"Symbol\",\"toStringTag\",\"value\",\"t\",\"mode\",\"__esModule\",\"ns\",\"create\",\"key\",\"bind\",\"n\",\"object\",\"property\",\"p\",\"jsonpArray\",\"this\",\"oldJsonpFunction\",\"slice\"],\"mappings\":\"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAKlC,IAFGe,GAAqBA,EAAoBhB,GAEtCO,EAASC,QACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrBiB,EAAG,GAGAZ,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU8B,QAGnC,IAAIC,EAASH,EAAiB5B,GAAY,CACzCK,EAAGL,EACHgC,GAAG,EACHF,QAAS,IAUV,OANAhB,EAAQd,GAAUW,KAAKoB,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAG/DK,EAAOC,GAAI,EAGJD,EAAOD,QAKfJ,EAAoBO,EAAInB,EAGxBY,EAAoBQ,EAAIN,EAGxBF,EAAoBS,EAAI,SAASL,EAASM,EAAMC,GAC3CX,EAAoBY,EAAER,EAASM,IAClC5B,OAAO+B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEX,EAAoBgB,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CpC,OAAO+B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DrC,OAAO+B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKzC,OAAO0C,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBzC,OAAO+B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBS,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAL,EAAoBS,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRX,EAAoBY,EAAI,SAASgB,EAAQC,GAAY,OAAO/C,OAAOC,UAAUC,eAAeC,KAAK2C,EAAQC,IAGzG7B,EAAoB8B,EAAI,IAExB,IAAIC,EAAaC,KAAsB,gBAAIA,KAAsB,iBAAK,GAClEC,EAAmBF,EAAW5C,KAAKuC,KAAKK,GAC5CA,EAAW5C,KAAOf,EAClB2D,EAAaA,EAAWG,QACxB,IAAI,IAAIvD,EAAI,EAAGA,EAAIoD,EAAWlD,OAAQF,IAAKP,EAAqB2D,EAAWpD,IAC3E,IAAIU,EAAsB4C,EAI1BxC,I\",\"file\":\"static/js/runtime-main.bfca2edd.js\",\"sourcesContent\":[\" \\t// install a JSONP callback for chunk loading\\n \\tfunction webpackJsonpCallback(data) {\\n \\t\\tvar chunkIds = data[0];\\n \\t\\tvar moreModules = data[1];\\n \\t\\tvar executeModules = data[2];\\n\\n \\t\\t// add \\\"moreModules\\\" to the modules object,\\n \\t\\t// then flag all \\\"chunkIds\\\" as loaded and fire callback\\n \\t\\tvar moduleId, chunkId, i = 0, resolves = [];\\n \\t\\tfor(;i < chunkIds.length; i++) {\\n \\t\\t\\tchunkId = chunkIds[i];\\n \\t\\t\\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\\n \\t\\t\\t\\tresolves.push(installedChunks[chunkId][0]);\\n \\t\\t\\t}\\n \\t\\t\\tinstalledChunks[chunkId] = 0;\\n \\t\\t}\\n \\t\\tfor(moduleId in moreModules) {\\n \\t\\t\\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\\n \\t\\t\\t\\tmodules[moduleId] = moreModules[moduleId];\\n \\t\\t\\t}\\n \\t\\t}\\n \\t\\tif(parentJsonpFunction) parentJsonpFunction(data);\\n\\n \\t\\twhile(resolves.length) {\\n \\t\\t\\tresolves.shift()();\\n \\t\\t}\\n\\n \\t\\t// add entry modules from loaded chunk to deferred list\\n \\t\\tdeferredModules.push.apply(deferredModules, executeModules || []);\\n\\n \\t\\t// run deferred modules when all chunks ready\\n \\t\\treturn checkDeferredModules();\\n \\t};\\n \\tfunction checkDeferredModules() {\\n \\t\\tvar result;\\n \\t\\tfor(var i = 0; i < deferredModules.length; i++) {\\n \\t\\t\\tvar deferredModule = deferredModules[i];\\n \\t\\t\\tvar fulfilled = true;\\n \\t\\t\\tfor(var j = 1; j < deferredModule.length; j++) {\\n \\t\\t\\t\\tvar depId = deferredModule[j];\\n \\t\\t\\t\\tif(installedChunks[depId] !== 0) fulfilled = false;\\n \\t\\t\\t}\\n \\t\\t\\tif(fulfilled) {\\n \\t\\t\\t\\tdeferredModules.splice(i--, 1);\\n \\t\\t\\t\\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\\n \\t\\t\\t}\\n \\t\\t}\\n\\n \\t\\treturn result;\\n \\t}\\n\\n \\t// The module cache\\n \\tvar installedModules = {};\\n\\n \\t// object to store loaded and loading chunks\\n \\t// undefined = chunk not loaded, null = chunk preloaded/prefetched\\n \\t// Promise = chunk loading, 0 = chunk loaded\\n \\tvar installedChunks = {\\n \\t\\t1: 0\\n \\t};\\n\\n \\tvar deferredModules = [];\\n\\n \\t// The require function\\n \\tfunction __webpack_require__(moduleId) {\\n\\n \\t\\t// Check if module is in cache\\n \\t\\tif(installedModules[moduleId]) {\\n \\t\\t\\treturn installedModules[moduleId].exports;\\n \\t\\t}\\n \\t\\t// Create a new module (and put it into the cache)\\n \\t\\tvar module = installedModules[moduleId] = {\\n \\t\\t\\ti: moduleId,\\n \\t\\t\\tl: false,\\n \\t\\t\\texports: {}\\n \\t\\t};\\n\\n \\t\\t// Execute the module function\\n \\t\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\n\\n \\t\\t// Flag the module as loaded\\n \\t\\tmodule.l = true;\\n\\n \\t\\t// Return the exports of the module\\n \\t\\treturn module.exports;\\n \\t}\\n\\n\\n \\t// expose the modules object (__webpack_modules__)\\n \\t__webpack_require__.m = modules;\\n\\n \\t// expose the module cache\\n \\t__webpack_require__.c = installedModules;\\n\\n \\t// define getter function for harmony exports\\n \\t__webpack_require__.d = function(exports, name, getter) {\\n \\t\\tif(!__webpack_require__.o(exports, name)) {\\n \\t\\t\\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\\n \\t\\t}\\n \\t};\\n\\n \\t// define __esModule on exports\\n \\t__webpack_require__.r = function(exports) {\\n \\t\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n \\t\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n \\t\\t}\\n \\t\\tObject.defineProperty(exports, '__esModule', { value: true });\\n \\t};\\n\\n \\t// create a fake namespace object\\n \\t// mode & 1: value is a module id, require it\\n \\t// mode & 2: merge all properties of value into the ns\\n \\t// mode & 4: return value when already ns object\\n \\t// mode & 8|1: behave like require\\n \\t__webpack_require__.t = function(value, mode) {\\n \\t\\tif(mode & 1) value = __webpack_require__(value);\\n \\t\\tif(mode & 8) return value;\\n \\t\\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\\n \\t\\tvar ns = Object.create(null);\\n \\t\\t__webpack_require__.r(ns);\\n \\t\\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\\n \\t\\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\\n \\t\\treturn ns;\\n \\t};\\n\\n \\t// getDefaultExport function for compatibility with non-harmony modules\\n \\t__webpack_require__.n = function(module) {\\n \\t\\tvar getter = module && module.__esModule ?\\n \\t\\t\\tfunction getDefault() { return module['default']; } :\\n \\t\\t\\tfunction getModuleExports() { return module; };\\n \\t\\t__webpack_require__.d(getter, 'a', getter);\\n \\t\\treturn getter;\\n \\t};\\n\\n \\t// Object.prototype.hasOwnProperty.call\\n \\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\n\\n \\t// __webpack_public_path__\\n \\t__webpack_require__.p = \\\"/\\\";\\n\\n \\tvar jsonpArray = this[\\\"webpackJsonpweb\\\"] = this[\\\"webpackJsonpweb\\\"] || [];\\n \\tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\\n \\tjsonpArray.push = webpackJsonpCallback;\\n \\tjsonpArray = jsonpArray.slice();\\n \\tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\\n \\tvar parentJsonpFunction = oldJsonpFunction;\\n\\n\\n \\t// run deferred modules from other chunks\\n \\tcheckDeferredModules();\\n\"],\"sourceRoot\":\"\"}"), } // define dirs dir9 := &embedded.EmbeddedDir{ Filename: "", - DirModTime: time.Unix(1612512060, 0), + DirModTime: time.Unix(1613868993, 0), ChildFiles: []*embedded.EmbeddedFile{ filea, // "asset-manifest.json" fileb, // "favicon.ico" filec, // "index.html" filed, // "manifest.json" - filee, // "precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js" + filee, // "precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js" filef, // "service-worker.js" }, } dirg := &embedded.EmbeddedDir{ Filename: "static", - DirModTime: time.Unix(1612512059, 0), + DirModTime: time.Unix(1613868993, 0), ChildFiles: []*embedded.EmbeddedFile{}, } dirh := &embedded.EmbeddedDir{ Filename: "static/css", - DirModTime: time.Unix(1612512060, 0), + DirModTime: time.Unix(1613868993, 0), ChildFiles: []*embedded.EmbeddedFile{ - filei, // "static/css/main.d75bd24d.chunk.css" - filej, // "static/css/main.d75bd24d.chunk.css.map" + filei, // "static/css/2.bf3fdedd.chunk.css" + filej, // "static/css/2.bf3fdedd.chunk.css.map" + filek, // "static/css/main.45320ab8.chunk.css" + filel, // "static/css/main.45320ab8.chunk.css.map" }, } - dirk := &embedded.EmbeddedDir{ + dirm := &embedded.EmbeddedDir{ Filename: "static/js", - DirModTime: time.Unix(1612512060, 0), + DirModTime: time.Unix(1613868993, 0), ChildFiles: []*embedded.EmbeddedFile{ - filel, // "static/js/2.0737febf.chunk.js" - filem, // "static/js/2.0737febf.chunk.js.LICENSE.txt" - filen, // "static/js/2.0737febf.chunk.js.map" - fileo, // "static/js/main.688910ac.chunk.js" - filep, // "static/js/main.688910ac.chunk.js.map" - fileq, // "static/js/runtime-main.bfca2edd.js" - filer, // "static/js/runtime-main.bfca2edd.js.map" - - }, - } - dirs := &embedded.EmbeddedDir{ - Filename: "static/media", - DirModTime: time.Unix(1612511786, 0), - ChildFiles: []*embedded.EmbeddedFile{ - filet, // "static/media/logo.57ee3b60.png" + filen, // "static/js/2.d3b1e703.chunk.js" + fileo, // "static/js/2.d3b1e703.chunk.js.LICENSE.txt" + filep, // "static/js/2.d3b1e703.chunk.js.map" + fileq, // "static/js/main.0d09a938.chunk.js" + filer, // "static/js/main.0d09a938.chunk.js.map" + files, // "static/js/runtime-main.bfca2edd.js" + filet, // "static/js/runtime-main.bfca2edd.js.map" }, } @@ -248,42 +248,40 @@ func init() { } dirg.ChildDirs = []*embedded.EmbeddedDir{ dirh, // "static/css" - dirk, // "static/js" - dirs, // "static/media" + dirm, // "static/js" } dirh.ChildDirs = []*embedded.EmbeddedDir{} - dirk.ChildDirs = []*embedded.EmbeddedDir{} - dirs.ChildDirs = []*embedded.EmbeddedDir{} + dirm.ChildDirs = []*embedded.EmbeddedDir{} // register embeddedBox embedded.RegisterEmbeddedBox(`./web/build`, &embedded.EmbeddedBox{ Name: `./web/build`, - Time: time.Unix(1612512060, 0), + Time: time.Unix(1613868993, 0), Dirs: map[string]*embedded.EmbeddedDir{ - "": dir9, - "static": dirg, - "static/css": dirh, - "static/js": dirk, - "static/media": dirs, + "": dir9, + "static": dirg, + "static/css": dirh, + "static/js": dirm, }, Files: map[string]*embedded.EmbeddedFile{ "asset-manifest.json": filea, "favicon.ico": fileb, "index.html": filec, "manifest.json": filed, - "precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js": filee, + "precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js": filee, "service-worker.js": filef, - "static/css/main.d75bd24d.chunk.css": filei, - "static/css/main.d75bd24d.chunk.css.map": filej, - "static/js/2.0737febf.chunk.js": filel, - "static/js/2.0737febf.chunk.js.LICENSE.txt": filem, - "static/js/2.0737febf.chunk.js.map": filen, - "static/js/main.688910ac.chunk.js": fileo, - "static/js/main.688910ac.chunk.js.map": filep, - "static/js/runtime-main.bfca2edd.js": fileq, - "static/js/runtime-main.bfca2edd.js.map": filer, - "static/media/logo.57ee3b60.png": filet, + "static/css/2.bf3fdedd.chunk.css": filei, + "static/css/2.bf3fdedd.chunk.css.map": filej, + "static/css/main.45320ab8.chunk.css": filek, + "static/css/main.45320ab8.chunk.css.map": filel, + "static/js/2.d3b1e703.chunk.js": filen, + "static/js/2.d3b1e703.chunk.js.LICENSE.txt": fileo, + "static/js/2.d3b1e703.chunk.js.map": filep, + "static/js/main.0d09a938.chunk.js": fileq, + "static/js/main.0d09a938.chunk.js.map": filer, + "static/js/runtime-main.bfca2edd.js": files, + "static/js/runtime-main.bfca2edd.js.map": filet, }, }) } diff --git a/internal/serv/web/build/asset-manifest.json b/internal/serv/web/build/asset-manifest.json index 8449c24e..cce64cb4 100644 --- a/internal/serv/web/build/asset-manifest.json +++ b/internal/serv/web/build/asset-manifest.json @@ -1,23 +1,25 @@ { "files": { - "main.css": "/static/css/main.d75bd24d.chunk.css", - "main.js": "/static/js/main.688910ac.chunk.js", - "main.js.map": "/static/js/main.688910ac.chunk.js.map", + "main.css": "/static/css/main.45320ab8.chunk.css", + "main.js": "/static/js/main.0d09a938.chunk.js", + "main.js.map": "/static/js/main.0d09a938.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.bfca2edd.js", "runtime-main.js.map": "/static/js/runtime-main.bfca2edd.js.map", - "static/js/2.0737febf.chunk.js": "/static/js/2.0737febf.chunk.js", - "static/js/2.0737febf.chunk.js.map": "/static/js/2.0737febf.chunk.js.map", + "static/css/2.bf3fdedd.chunk.css": "/static/css/2.bf3fdedd.chunk.css", + "static/js/2.d3b1e703.chunk.js": "/static/js/2.d3b1e703.chunk.js", + "static/js/2.d3b1e703.chunk.js.map": "/static/js/2.d3b1e703.chunk.js.map", "index.html": "/index.html", - "precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js": "/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js", + "precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js": "/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js", "service-worker.js": "/service-worker.js", - "static/css/main.d75bd24d.chunk.css.map": "/static/css/main.d75bd24d.chunk.css.map", - "static/js/2.0737febf.chunk.js.LICENSE.txt": "/static/js/2.0737febf.chunk.js.LICENSE.txt", - "static/media/logo.png": "/static/media/logo.57ee3b60.png" + "static/css/2.bf3fdedd.chunk.css.map": "/static/css/2.bf3fdedd.chunk.css.map", + "static/css/main.45320ab8.chunk.css.map": "/static/css/main.45320ab8.chunk.css.map", + "static/js/2.d3b1e703.chunk.js.LICENSE.txt": "/static/js/2.d3b1e703.chunk.js.LICENSE.txt" }, "entrypoints": [ "static/js/runtime-main.bfca2edd.js", - "static/js/2.0737febf.chunk.js", - "static/css/main.d75bd24d.chunk.css", - "static/js/main.688910ac.chunk.js" + "static/css/2.bf3fdedd.chunk.css", + "static/js/2.d3b1e703.chunk.js", + "static/css/main.45320ab8.chunk.css", + "static/js/main.0d09a938.chunk.js" ] } \ No newline at end of file diff --git a/internal/serv/web/build/index.html b/internal/serv/web/build/index.html index 49b1c02b..96cf15ef 100644 --- a/internal/serv/web/build/index.html +++ b/internal/serv/web/build/index.html @@ -1 +1 @@ -GraphJin - GraphQL API for Rails
    \ No newline at end of file +GraphJin - GraphQL API for Rails
    \ No newline at end of file diff --git a/internal/serv/web/build/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js b/internal/serv/web/build/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js new file mode 100644 index 00000000..45d780b2 --- /dev/null +++ b/internal/serv/web/build/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js @@ -0,0 +1,30 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "a0212703a4e59c07949e5c268abf4ba3", + "url": "/index.html" + }, + { + "revision": "c67486becc6e2d56a964", + "url": "/static/css/2.bf3fdedd.chunk.css" + }, + { + "revision": "acc8e3407652090a48fb", + "url": "/static/css/main.45320ab8.chunk.css" + }, + { + "revision": "c67486becc6e2d56a964", + "url": "/static/js/2.d3b1e703.chunk.js" + }, + { + "revision": "96d0ece7a4e0825a058acf042ca7527d", + "url": "/static/js/2.d3b1e703.chunk.js.LICENSE.txt" + }, + { + "revision": "acc8e3407652090a48fb", + "url": "/static/js/main.0d09a938.chunk.js" + }, + { + "revision": "6981919806c089cef906", + "url": "/static/js/runtime-main.bfca2edd.js" + } +]); \ No newline at end of file diff --git a/internal/serv/web/build/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js b/internal/serv/web/build/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js deleted file mode 100644 index ad1e7941..00000000 --- a/internal/serv/web/build/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js +++ /dev/null @@ -1,30 +0,0 @@ -self.__precacheManifest = (self.__precacheManifest || []).concat([ - { - "revision": "785c686ef1d22ea32dcd3b7c4ddd09ca", - "url": "/index.html" - }, - { - "revision": "209ddb37a4c3c22bf230", - "url": "/static/css/main.d75bd24d.chunk.css" - }, - { - "revision": "6946b5af11fcde2254b3", - "url": "/static/js/2.0737febf.chunk.js" - }, - { - "revision": "c0ee1c9b1d2e771f97e8cc8f3aa92ba1", - "url": "/static/js/2.0737febf.chunk.js.LICENSE.txt" - }, - { - "revision": "209ddb37a4c3c22bf230", - "url": "/static/js/main.688910ac.chunk.js" - }, - { - "revision": "6981919806c089cef906", - "url": "/static/js/runtime-main.bfca2edd.js" - }, - { - "revision": "57ee3b6084cb9d3c754cc12d25a98035", - "url": "/static/media/logo.57ee3b60.png" - } -]); \ No newline at end of file diff --git a/internal/serv/web/build/service-worker.js b/internal/serv/web/build/service-worker.js index 0f45064e..3aea916e 100644 --- a/internal/serv/web/build/service-worker.js +++ b/internal/serv/web/build/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.f28f35994e2cae4a56b959bdb12b80a7.js" + "/precache-manifest.4d3ec297e7d942c49a1c6097d69c2156.js" ); self.addEventListener('message', (event) => { diff --git a/internal/serv/web/build/static/css/2.bf3fdedd.chunk.css b/internal/serv/web/build/static/css/2.bf3fdedd.chunk.css new file mode 100644 index 00000000..e08f5c0f --- /dev/null +++ b/internal/serv/web/build/static/css/2.bf3fdedd.chunk.css @@ -0,0 +1,2 @@ +.graphiql-container,.graphiql-container button,.graphiql-container input{color:#141823;font-family:system,-apple-system,San Francisco,\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:14px}.graphiql-container{display:flex;flex-direction:row;height:100%;margin:0;overflow:hidden;width:100%}.graphiql-container .editorWrap{display:flex;flex-direction:column;flex:1 1;overflow-x:hidden}.graphiql-container .title{font-size:18px}.graphiql-container .title em{font-family:georgia;font-size:19px}.graphiql-container .topBarWrap{display:flex;flex-direction:row}.graphiql-container .topBar{align-items:center;background:linear-gradient(#f7f7f7,#e2e2e2);border-bottom:1px solid #d0d0d0;cursor:default;display:flex;flex-direction:row;flex:1 1;height:34px;overflow-y:visible;padding:7px 14px 6px;-webkit-user-select:none;user-select:none}.graphiql-container .toolbar{overflow-x:visible;display:flex}.graphiql-container .docExplorerShow,.graphiql-container .historyShow{background:linear-gradient(#f7f7f7,#e2e2e2);border-radius:0;border-bottom:1px solid #d0d0d0;border-right:none;border-top:none;color:#3b5998;cursor:pointer;font-size:14px;margin:0;padding:2px 20px 0 18px}.graphiql-container .docExplorerShow{border-left:1px solid rgba(0,0,0,.2)}.graphiql-container .historyShow{border-right:1px solid rgba(0,0,0,.2);border-left:0}.graphiql-container .docExplorerShow:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:"";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .editorBar{display:flex;flex-direction:row;flex:1 1}.graphiql-container .queryWrap,.graphiql-container .resultWrap{display:flex;flex-direction:column;flex:1 1}.graphiql-container .resultWrap{border-left:1px solid #e0e0e0;flex-basis:1em;position:relative}.graphiql-container .docExplorerWrap,.graphiql-container .historyPaneWrap{background:#fff;box-shadow:0 0 8px rgba(0,0,0,.15);position:relative;z-index:3}.graphiql-container .historyPaneWrap{min-width:230px;z-index:5}.graphiql-container .docExplorerResizer{cursor:col-resize;height:100%;left:-5px;position:absolute;top:0;width:10px;z-index:10}.graphiql-container .docExplorerHide{cursor:pointer;font-size:18px;margin:-7px -8px -6px 0;padding:18px 16px 15px 12px;background:0;border:0;line-height:14px}.graphiql-container div .query-editor{flex:1 1;position:relative}.graphiql-container .secondary-editor{display:flex;flex-direction:column;height:30px;position:relative}.graphiql-container .secondary-editor-title{background:#eee;border-bottom:1px solid #d6d6d6;border-top:1px solid #e0e0e0;color:#777;font-feature-settings:"smcp";font-variant:small-caps;font-weight:700;letter-spacing:1px;line-height:14px;padding:6px 0 8px 43px;text-transform:lowercase;-webkit-user-select:none;user-select:none}.graphiql-container .codemirrorWrap,.graphiql-container .result-window{flex:1 1;height:100%;position:relative}.graphiql-container .footer{background:#f6f7f8;border-left:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin-left:12px;position:relative}.graphiql-container .footer:before{background:#eee;bottom:0;content:" ";left:-13px;position:absolute;top:-1px;width:12px}.result-window .CodeMirror{background:#f6f7f8}.graphiql-container .result-window .CodeMirror-gutters{background-color:#eee;border-color:#e0e0e0;cursor:col-resize}.graphiql-container .result-window .CodeMirror-foldgutter,.graphiql-container .result-window .CodeMirror-foldgutter-folded:after,.graphiql-container .result-window .CodeMirror-foldgutter-open:after{padding-left:3px}.graphiql-container .toolbar-button{background:#fdfdfd;background:linear-gradient(#f9f9f9,#ececec);border:0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 1px 0 hsla(0,0%,100%,.7),inset 0 1px #fff;color:#555;cursor:pointer;display:inline-block;margin:0 5px;padding:3px 11px 5px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.graphiql-container .toolbar-button:active{background:linear-gradient(#ececec,#d5d5d5);box-shadow:0 1px 0 hsla(0,0%,100%,.7),inset 0 0 0 1px rgba(0,0,0,.1),inset 0 1px 1px 1px rgba(0,0,0,.12),inset 0 0 5px rgba(0,0,0,.1)}.graphiql-container .toolbar-button.error{background:linear-gradient(#fdf3f3,#e6d6d7);color:#b00}.graphiql-container .toolbar-button-group{margin:0 5px;white-space:nowrap}.graphiql-container .toolbar-button-group>*{margin:0}.graphiql-container .toolbar-button-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.graphiql-container .toolbar-button-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.graphiql-container .execute-button-wrap{height:34px;margin:0 14px 0 28px;position:relative}.graphiql-container .execute-button{background:linear-gradient(#fdfdfd,#d2d3d6);border-radius:17px;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 0 #fff;cursor:pointer;fill:#444;height:34px;margin:0;padding:0;width:34px}.graphiql-container .execute-button svg{pointer-events:none}.graphiql-container .execute-button:active{background:linear-gradient(#e6e6e6,#c3c3c3);box-shadow:0 1px 0 #fff,inset 0 0 2px rgba(0,0,0,.2),inset 0 0 6px rgba(0,0,0,.1)}.graphiql-container .toolbar-menu,.graphiql-container .toolbar-select{position:relative}.graphiql-container .execute-options,.graphiql-container .toolbar-menu-items,.graphiql-container .toolbar-select-options{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.25);margin:0;padding:6px 0;position:absolute;z-index:100}.graphiql-container .execute-options{min-width:100px;top:37px;left:-1px}.graphiql-container .toolbar-menu-items{left:1px;margin-top:-1px;min-width:110%;top:100%;visibility:hidden}.graphiql-container .toolbar-menu-items.open{visibility:visible}.graphiql-container .toolbar-select-options{left:0;min-width:100%;top:-5px;visibility:hidden}.graphiql-container .toolbar-select-options.open{visibility:visible}.graphiql-container .execute-options>li,.graphiql-container .toolbar-menu-items>li,.graphiql-container .toolbar-select-options>li{cursor:pointer;display:block;margin:none;max-width:300px;overflow:hidden;padding:2px 20px 4px 11px;white-space:nowrap}.graphiql-container .execute-options>li.selected,.graphiql-container .history-contents>li:active,.graphiql-container .history-contents>li:hover,.graphiql-container .toolbar-menu-items>li.hover,.graphiql-container .toolbar-menu-items>li:active,.graphiql-container .toolbar-menu-items>li:hover,.graphiql-container .toolbar-select-options>li.hover,.graphiql-container .toolbar-select-options>li:active,.graphiql-container .toolbar-select-options>li:hover{background:#e10098;color:#fff}.graphiql-container .toolbar-select-options>li>svg{display:inline;fill:#666;margin:0 -6px 0 6px;pointer-events:none;vertical-align:middle}.graphiql-container .toolbar-select-options>li.hover>svg,.graphiql-container .toolbar-select-options>li:active>svg,.graphiql-container .toolbar-select-options>li:hover>svg{fill:#fff}.graphiql-container .CodeMirror-scroll{overflow-scrolling:touch}.graphiql-container .CodeMirror{color:#141823;font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;height:100%;left:0;position:absolute;top:0;width:100%}.graphiql-container .CodeMirror-lines{padding:20px 0}.CodeMirror-hint-information .content{box-orient:vertical;color:#141823;display:flex;font-family:system,-apple-system,San Francisco,\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-clamp:3;line-height:16px;max-height:48px;overflow:hidden;text-overflow:-o-ellipsis-lastline}.CodeMirror-hint-information .content p:first-child{margin-top:0}.CodeMirror-hint-information .content p:last-child{margin-bottom:0}.CodeMirror-hint-information .infoType{color:#ca9800;cursor:pointer;display:inline;margin-right:.5em}.autoInsertedLeaf.cm-property{animation-duration:6s;animation-name:insertionFade;border-bottom:2px solid hsla(0,0%,100%,0);border-radius:2px;margin:-2px -4px -1px;padding:2px 4px 1px}@keyframes insertionFade{0%,to{background:hsla(0,0%,100%,0);border-color:hsla(0,0%,100%,0)}15%,85%{background:#fbffc9;border-color:#f0f3c0}}div.CodeMirror-lint-tooltip{background-color:#fff;border-radius:2px;border:0;color:#141823;box-shadow:0 1px 3px rgba(0,0,0,.45);font-size:13px;line-height:16px;max-width:430px;opacity:0;padding:8px 10px;transition:opacity .15s;white-space:pre-wrap}div.CodeMirror-lint-tooltip>*{padding-left:23px}div.CodeMirror-lint-tooltip>*+*{margin-top:12px}.graphiql-container .CodeMirror-foldmarker{border-radius:4px;background:#08f;background:linear-gradient(#43a8ff,#0f83e8);box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);color:#fff;font-family:arial;font-size:12px;line-height:0;margin:0 3px;padding:0 4px 1px;text-shadow:0 -1px rgba(0,0,0,.1)}.graphiql-container div.CodeMirror span.CodeMirror-matchingbracket{color:#555;text-decoration:underline}.graphiql-container div.CodeMirror span.CodeMirror-nonmatchingbracket{color:red}.cm-comment{color:#999}.cm-punctuation{color:#555}.cm-keyword{color:#b11a04}.cm-def{color:#d2054e}.cm-property{color:#1f61a0}.cm-qualifier{color:#1c92a9}.cm-attribute{color:#8b2bb9}.cm-number{color:#2882f9}.cm-string{color:#d64292}.cm-builtin{color:#d47509}.cm-string-2{color:#0b7fc7}.cm-variable{color:#397d13}.cm-meta{color:#b33086}.cm-atom{color:#ca9800}.CodeMirror{color:#000;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror .CodeMirror-cursor{border-left:1px solid #000}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{background:#7e7;border:0;width:auto}.CodeMirror.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{animation:blink 1.06s steps(1) infinite;border:0;width:auto}@keyframes blink{0%{background:#7e7}50%{background:none}to{background:#7e7}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-30px;margin-right:-30px;outline:none;overflow:scroll!important;padding-bottom:30px;position:relative}.CodeMirror-sizer{border-right:30px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{min-height:100%;position:absolute;left:0;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-30px;vertical-align:top;white-space:normal;*zoom:1;*display:inline}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper{-webkit-user-select:none;user-select:none}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-webkit-tap-highlight-color:transparent;background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-feature-settings:none;font-variant-ligatures:none;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;word-wrap:normal;z-index:2}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{overflow:auto;position:relative;z-index:2}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:initial}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background:inherit;color:inherit;left:0;right:0;overflow:hidden;padding:.1em .8em;position:absolute;z-index:15}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{background:transparent;border:1px solid #d3d6db;color:inherit;font-family:monospace;outline:none;width:20em}.CodeMirror-dialog button{font-size:70%}.CodeMirror-foldmarker{color:#00f;cursor:pointer;font-family:arial;line-height:.3;text-shadow:#b9f 1px 1px 2px,#b9f -1px -1px 2px,#b9f 1px -1px 2px,#b9f -1px 1px 2px}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-folded,.CodeMirror-foldgutter-open{cursor:pointer}.CodeMirror-foldgutter-open:after{content:"\25BE"}.CodeMirror-foldgutter-folded:after{content:"\25B8"}.CodeMirror-info{background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.45);box-sizing:border-box;color:#555;font-family:system,-apple-system,San Francisco,\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin:8px -8px;max-width:400px;opacity:0;overflow:hidden;padding:8px;position:fixed;transition:opacity .15s;z-index:50}.CodeMirror-info :first-child{margin-top:0}.CodeMirror-info :last-child{margin-bottom:0}.CodeMirror-info p{margin:1em 0}.CodeMirror-info .info-description{color:#777;line-height:16px;margin-top:1em;max-height:80px;overflow:hidden}.CodeMirror-info .info-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px -8px;max-height:80px;overflow:hidden;padding:8px}.CodeMirror-info .info-deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.CodeMirror-info .info-deprecation-label+*{margin-top:0}.CodeMirror-info a{text-decoration:none}.CodeMirror-info a:hover{text-decoration:underline}.CodeMirror-info .type-name{color:#ca9800}.CodeMirror-info .field-name{color:#1f61a0}.CodeMirror-info .enum-value{color:#0b7fc7}.CodeMirror-info .arg-name{color:#8b2bb9}.CodeMirror-info .directive-name{color:#b33086}.CodeMirror-jump-token{text-decoration:underline;cursor:pointer}.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:infobackground;border-radius:4px 4px 4px 4px;border:1px solid #000;color:infotext;font-family:monospace;font-size:10pt;max-width:600px;opacity:0;overflow:hidden;padding:2px 5px;position:fixed;transition:opacity .4s;white-space:pre-wrap;z-index:100}.CodeMirror-lint-mark-error,.CodeMirror-lint-mark-warning{background-position:0 100%;background-repeat:repeat-x}.CodeMirror-lint-mark-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==")}.CodeMirror-lint-mark-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=")}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:16px}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{background-position:0 0;background-repeat:no-repeat;padding-left:18px}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=")}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=")}.CodeMirror-lint-marker-multiple{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");background-position:100% 100%;background-repeat:no-repeat;width:100%;height:100%}.graphiql-container .spinner-container{height:36px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:36px;z-index:10}.graphiql-container .spinner{animation:rotation .6s linear infinite;border-radius:100%;border:6px solid hsla(0,0%,58.8%,.15);border-top-color:hsla(0,0%,58.8%,.8);display:inline-block;height:24px;position:absolute;vertical-align:middle;width:24px}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.CodeMirror-hints{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.45);font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;list-style:none;margin:0;max-height:14.5em;overflow:hidden;overflow-y:auto;padding:0;position:absolute;z-index:10}.CodeMirror-hint{border-top:1px solid #f7f7f7;color:#141823;cursor:pointer;margin:0;max-width:300px;overflow:hidden;padding:2px 6px;white-space:pre}li.CodeMirror-hint-active{background-color:#08f;border-top-color:#fff;color:#fff}.CodeMirror-hint-information{border-top:1px solid silver;max-width:300px;padding:4px 6px;position:relative;z-index:1}.CodeMirror-hint-information:first-child{border-bottom:1px solid silver;border-top:none;margin-bottom:-1px}.CodeMirror-hint-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;font-family:system,-apple-system,San Francisco,\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin-top:4px;max-height:80px;overflow:hidden;padding:6px}.CodeMirror-hint-deprecation .deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.CodeMirror-hint-deprecation .deprecation-label+*{margin-top:0}.CodeMirror-hint-deprecation :last-child{margin-bottom:0}.graphiql-container .doc-explorer{background:#fff}.graphiql-container .doc-explorer-title-bar,.graphiql-container .history-title-bar{cursor:default;display:flex;height:34px;line-height:14px;padding:8px 8px 5px;position:relative;-webkit-user-select:none;user-select:none}.graphiql-container .doc-explorer-title,.graphiql-container .history-title{flex:1 1;font-weight:700;overflow-x:hidden;padding:10px 0 10px 10px;text-align:center;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;white-space:nowrap}.graphiql-container .doc-explorer-back{color:#3b5998;cursor:pointer;margin:-7px 0 -6px -8px;overflow-x:hidden;padding:17px 12px 16px 16px;text-overflow:ellipsis;white-space:nowrap;background:0;border:0;line-height:14px}.doc-explorer-narrow .doc-explorer-back{width:0}.graphiql-container .doc-explorer-back:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:"";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .doc-explorer-rhs{position:relative}.graphiql-container .doc-explorer-contents,.graphiql-container .history-contents{background-color:#fff;border-top:1px solid #d6d6d6;bottom:0;left:0;overflow-y:auto;padding:20px 15px;position:absolute;right:0;top:47px}.graphiql-container .doc-explorer-contents{min-width:300px}.graphiql-container .doc-type-description blockquote:first-child,.graphiql-container .doc-type-description p:first-child{margin-top:0}.graphiql-container .doc-explorer-contents a{cursor:pointer;text-decoration:none}.graphiql-container .doc-explorer-contents a:hover{text-decoration:underline}.graphiql-container .doc-value-description>:first-child{margin-top:4px}.graphiql-container .doc-value-description>:last-child{margin-bottom:4px}.graphiql-container .doc-category code,.graphiql-container .doc-category pre,.graphiql-container .doc-type-description code,.graphiql-container .doc-type-description pre{--saf-0:rgba(var(--sk_foreground_low,29,28,29),0.13);font-size:12px;line-height:1.50001;font-feature-settings:none;font-variant-ligatures:none;white-space:pre;white-space:pre-wrap;word-wrap:break-word;word-break:normal;-webkit-tab-size:4;-moz-tab-size:4;tab-size:4}.graphiql-container .doc-category code,.graphiql-container .doc-type-description code{padding:2px 3px 1px;border:1px solid var(--saf-0);border-radius:3px;background-color:rgba(var(--sk_foreground_min,29,28,29),.04);color:#e01e5a;background-color:#fff}.graphiql-container .doc-category{margin:20px 0}.graphiql-container .doc-category-title{border-bottom:1px solid #e0e0e0;color:#777;cursor:default;font-size:14px;font-feature-settings:"smcp";font-variant:small-caps;font-weight:700;letter-spacing:1px;margin:0 -15px 10px 0;padding:10px 0;-webkit-user-select:none;user-select:none}.graphiql-container .doc-category-item{margin:12px 0;color:#555}.graphiql-container .keyword{color:#b11a04}.graphiql-container .type-name{color:#ca9800}.graphiql-container .field-name{color:#1f61a0}.graphiql-container .field-short-description{color:#999;margin-left:5px;overflow:hidden;text-overflow:ellipsis}.graphiql-container .enum-value{color:#0b7fc7}.graphiql-container .arg-name{color:#8b2bb9}.graphiql-container .arg{display:block;margin-left:1em}.graphiql-container .arg:first-child:last-child,.graphiql-container .arg:first-child:nth-last-child(2),.graphiql-container .arg:first-child:nth-last-child(2)~.arg{display:inherit;margin:inherit}.graphiql-container .arg:first-child:nth-last-child(2):after{content:", "}.graphiql-container .arg-default-value{color:#43a047}.graphiql-container .doc-deprecation{background:#fffae8;box-shadow:inset 0 0 1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px;max-height:80px;overflow:hidden;padding:8px;border-radius:3px}.graphiql-container .doc-deprecation:before{content:"Deprecated:";color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.graphiql-container .doc-deprecation>:first-child{margin-top:0}.graphiql-container .doc-deprecation>:last-child{margin-bottom:0}.graphiql-container .show-btn{-webkit-appearance:initial;display:block;border-radius:3px;border:1px solid #ccc;text-align:center;padding:8px 12px 10px;width:100%;box-sizing:border-box;background:#fbfcfc;color:#555;cursor:pointer}.graphiql-container .search-box{border-bottom:1px solid #d3d6db;display:flex;align-items:center;font-size:14px;margin:-15px -15px 12px 0;position:relative}.graphiql-container .search-box-icon{cursor:pointer;display:block;font-size:24px;transform:rotate(-45deg);-webkit-user-select:none;user-select:none}.graphiql-container .search-box .search-box-clear{background-color:#d0d0d0;border-radius:12px;color:#fff;cursor:pointer;font-size:11px;padding:1px 5px 2px;position:absolute;right:3px;-webkit-user-select:none;user-select:none;border:0}.graphiql-container .search-box .search-box-clear:hover{background-color:#b9b9b9}.graphiql-container .search-box>input{border:none;box-sizing:border-box;font-size:14px;outline:none;padding:6px 24px 8px 20px;width:100%}.graphiql-container .error-container{font-weight:700;left:0;letter-spacing:1px;opacity:.5;position:absolute;right:0;text-align:center;text-transform:uppercase;top:50%;transform:translateY(-50%)}.graphiql-container .history-contents{font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;margin:0;padding:0}.graphiql-container .history-contents li{align-items:center;display:flex;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:8px;border-bottom:1px solid #e0e0e0}.graphiql-container .history-contents li button:not(.history-label){display:none;margin-left:10px}.graphiql-container .history-contents li:focus-within button:not(.history-label),.graphiql-container .history-contents li:hover button:not(.history-label){display:inline-block}.graphiql-container .history-contents button,.graphiql-container .history-contents input{padding:0;background:0;border:0;font-size:inherit;font-family:inherit;line-height:14px;color:inherit}.graphiql-container .history-contents input{flex-grow:1}.graphiql-container .history-contents input::-webkit-input-placeholder{color:inherit}.graphiql-container .history-contents input::placeholder{color:inherit}.graphiql-container .history-contents button{cursor:pointer;text-align:left}.graphiql-container .history-contents .history-label{flex-grow:1;overflow:hidden;text-overflow:ellipsis} +/*# sourceMappingURL=2.bf3fdedd.chunk.css.map */ \ No newline at end of file diff --git a/internal/serv/web/build/static/css/2.bf3fdedd.chunk.css.map b/internal/serv/web/build/static/css/2.bf3fdedd.chunk.css.map new file mode 100644 index 00000000..91423b04 --- /dev/null +++ b/internal/serv/web/build/static/css/2.bf3fdedd.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["graphiql.min.css"],"names":[],"mappings":"AAAA,yEAAyE,aAAa,CAAC,oJAAoJ,CAAC,cAAc,CAAC,oBAAoB,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,gCAAgC,YAAY,CAAC,qBAAqB,CAAC,QAAM,CAAC,iBAAiB,CAAC,2BAA2B,cAAc,CAAC,8BAA8B,mBAAmB,CAAC,cAAc,CAAC,gCAAgC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,kBAAkB,CAAC,2CAA2C,CAAC,+BAA+B,CAAC,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,6BAA6B,kBAAkB,CAAC,YAAY,CAAC,sEAAsE,2CAA2C,CAAC,eAAe,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,qCAAqC,oCAAoC,CAAC,iCAAiC,qCAAqC,CAAC,aAAa,CAAC,4CAA4C,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,+BAA+B,YAAY,CAAC,kBAAkB,CAAC,QAAM,CAAC,+DAA+D,YAAY,CAAC,qBAAqB,CAAC,QAAM,CAAC,gCAAgC,6BAA6B,CAAC,cAAc,CAAC,iBAAiB,CAAC,0EAA0E,eAAe,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,SAAS,CAAC,qCAAqC,eAAe,CAAC,SAAS,CAAC,wCAAwC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,qCAAqC,cAAc,CAAC,cAAc,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,sCAAsC,QAAM,CAAC,iBAAiB,CAAC,sCAAsC,YAAY,CAAC,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,4CAA4C,eAAe,CAAC,+BAA+B,CAAC,4BAA4B,CAAC,UAAU,CAAC,4BAAuB,CAAvB,uBAAuB,CAAC,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,uEAAuE,QAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,4BAA4B,kBAAkB,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,mCAAmC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,2BAA2B,kBAAkB,CAAC,uDAAuD,qBAAqB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,sMAAsM,gBAAgB,CAAC,oCAAoC,kBAAkB,CAAC,2CAA2C,CAAC,QAAQ,CAAC,iBAAiB,CAAC,qFAAqF,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,YAAY,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,eAAe,CAAC,2CAA2C,2CAA2C,CAAC,qIAAqI,CAAC,0CAA0C,2CAA2C,CAAC,UAAU,CAAC,0CAA0C,YAAY,CAAC,kBAAkB,CAAC,4CAA4C,QAAQ,CAAC,4DAA4D,yBAAyB,CAAC,4BAA4B,CAAC,6DAA6D,wBAAwB,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,yCAAyC,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,oCAAoC,2CAA2C,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,wCAAwC,mBAAmB,CAAC,2CAA2C,2CAA2C,CAAC,iFAAiF,CAAC,sEAAsE,iBAAiB,CAAC,yHAAyH,eAAe,CAAC,6DAA6D,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,qCAAqC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,wCAAwC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,6CAA6C,kBAAkB,CAAC,4CAA4C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,iDAAiD,kBAAkB,CAAC,kIAAkI,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,ocAAoc,kBAAkB,CAAC,UAAU,CAAC,mDAAmD,cAAc,CAAC,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,4KAA4K,SAAS,CAAC,uCAAuC,wBAAwB,CAAC,gCAAgC,aAAa,CAAC,iEAAiE,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,sCAAsC,cAAc,CAAC,sCAAsC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,oJAAoJ,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,kCAAkC,CAAC,oDAAoD,YAAY,CAAC,mDAAmD,eAAe,CAAC,uCAAuC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,8BAA8B,qBAAqB,CAAC,4BAA4B,CAAC,yCAAyC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,yBAAyB,MAAM,4BAA4B,CAAC,8BAA8B,CAAC,QAAQ,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,4BAA4B,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,oCAAoC,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,8BAA8B,iBAAiB,CAAC,gCAAgC,eAAe,CAAC,2CAA2C,iBAAiB,CAAC,eAAe,CAAC,2CAA2C,CAAC,kEAAkE,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,mEAAmE,UAAU,CAAC,yBAAyB,CAAC,sEAAsE,SAAS,CAAC,YAAY,UAAU,CAAC,gBAAgB,UAAU,CAAC,YAAY,aAAa,CAAC,QAAQ,aAAa,CAAC,aAAa,aAAa,CAAC,cAAc,aAAa,CAAC,cAAc,aAAa,CAAC,WAAW,aAAa,CAAC,WAAW,aAAa,CAAC,YAAY,aAAa,CAAC,aAAa,aAAa,CAAC,aAAa,aAAa,CAAC,SAAS,aAAa,CAAC,SAAS,aAAa,CAC5mS,YAAY,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,kBAAkB,aAAa,CAAC,gBAAgB,aAAa,CAAC,uDAAuD,qBAAqB,CAAC,oBAAoB,2BAA2B,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,uBAAuB,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,yBAAyB,UAAU,CAAC,gCAAgC,UAAU,CAAC,+BAA+B,0BAA0B,CAAC,2CAA2C,4BAA4B,CAAC,gDAAgD,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,iDAAiD,SAAS,CAAC,uBAAuB,uCAAuC,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,eAAe,CAAC,GAAG,eAAe,CAAC,CAAC,QAAQ,oBAAoB,CAAC,uBAAuB,CAAC,kBAAkB,0BAA0B,CAAC,iBAAiB,CAAC,0BAA0B,UAAU,CAAC,uBAAuB,UAAU,CAAC,yBAAyB,UAAU,CAAC,sBAAsB,UAAU,CAAC,6BAA6B,UAAU,CAAC,6BAA6B,UAAU,CAAC,0BAA0B,UAAU,CAAC,yBAAyB,UAAU,CAAC,2BAA2B,UAAU,CAAC,mDAAmD,UAAU,CAAC,0BAA0B,UAAU,CAAC,0BAA0B,UAAU,CAAC,sBAAsB,UAAU,CAAC,4BAA4B,UAAU,CAAC,yBAAyB,UAAU,CAAC,wBAAwB,UAAU,CAAC,qBAAqB,UAAU,CAAC,uBAAuB,UAAU,CAAC,aAAa,UAAU,CAAC,aAAa,UAAU,CAAC,sBAAsB,eAAe,CAAC,OAAO,iBAAiB,CAAC,SAAS,yBAAyB,CAAC,kBAAkB,4BAA4B,CAAC,wCAAwC,SAAS,CAAC,sBAAsB,uBAAuB,CAAC,+CAA+C,UAAU,CAAC,kDAAkD,UAAU,CAAC,wBAAwB,6BAA6B,CAAC,kCAAkC,kBAAkB,CAAC,YAAY,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC,mBAAmB,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,mCAAmC,CAAC,iBAAiB,CAAC,qGAAqG,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,6BAA6B,OAAO,CAAC,QAAQ,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC,oBAAoB,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,EAAA,MAAQ,EAAA,cAAgB,CAAC,2BAA2B,yBAAyB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,SAAS,CAAC,8BAA8B,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,2BAA2B,wBAAe,CAAf,gBAAgB,CAAC,kBAAkB,WAAW,CAAC,cAAc,CAAC,gBAAgB,uCAAuC,CAAC,sBAAsB,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,0BAA2B,CAA3B,2BAA2B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,qBAAqB,oBAAoB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,2BAA2B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,YAAY,CAAC,mGAAmG,kBAAsB,CAAC,oBAAoB,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,mBAAmB,iBAAiB,CAAC,wBAAwB,eAAe,CAAC,uBAAuB,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,sEAAsE,kBAAkB,CAAC,qBAAqB,kBAAkB,CAAC,yCAAyC,kBAAkB,CAAC,sBAAsB,gBAAgB,CAAC,mGAAmG,kBAAkB,CAAC,kHAAkH,kBAAkB,CAAC,cAAc,eAAe,CAAC,6BAA6B,CAAC,kBAAA,0BAA4C,CAAC,iBAAiB,kBAAkB,CAAC,aAAa,mCAAmC,iBAAiB,CAAC,CAAC,wBAAwB,UAAU,CAAC,6BAA6B,eAAe,CAAC,mBAAmB,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,uBAAuB,4BAA4B,CAAC,KAAK,CAAC,0BAA0B,yBAAyB,CAAC,QAAQ,CAAC,yBAAyB,sBAAsB,CAAC,wBAAwB,CAAC,aAAa,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,0BAA0B,aAAa,CAC/4K,uBAAuB,UAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,mFAAmF,CAAC,uBAAuB,UAAU,CAAC,0DAA0D,cAAc,CAAC,kCAAkC,eAAe,CAAC,oCAAoC,eAAe,CACtX,iBAAiB,eAAe,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,qBAAqB,CAAC,UAAU,CAAC,oJAAoJ,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,8BAA8B,YAAY,CAAC,6BAA6B,eAAe,CAAC,mBAAmB,YAAY,CAAC,mCAAmC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,mCAAmC,kBAAkB,CAAC,uCAAuC,CAAC,aAAa,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,yCAAyC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,2CAA2C,YAAY,CAAC,mBAAmB,oBAAoB,CAAC,yBAAyB,yBAAyB,CAAC,4BAA4B,aAAa,CAAC,6BAA6B,aAAa,CAAC,6BAA6B,aAAa,CAAC,2BAA2B,aAAa,CAAC,iCAAiC,aAAa,CACp4C,uBAAuB,yBAAyB,CAAC,cAAc,CAC/D,yBAAyB,UAAU,CAAC,yBAAyB,+BAA+B,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,cAAc,CAAC,qBAAqB,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,cAAc,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,WAAW,CAAC,0DAA0D,0BAA0B,CAAC,0BAA0B,CAAC,4BAA4B,kTAAkT,CAAC,8BAA8B,8UAA8U,CAAC,8DAA8D,uBAAuB,CAAC,2BAA2B,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,gEAAgE,uBAAuB,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,6DAA6D,kTAAkT,CAAC,iEAAiE,sWAAsW,CAAC,iCAAiC,sNAAsN,CAAC,6BAA6B,CAAC,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAC7iF,uCAAuC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,8BAA8B,CAAC,UAAU,CAAC,UAAU,CAAC,6BAA6B,sCAAsC,CAAC,kBAAkB,CAAuC,qCAAoC,CAApC,oCAAoC,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG,wBAAwB,CAAC,CAC3c,kBAAkB,eAAe,CAAC,oCAAoC,CAAC,iEAAiE,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,4BAA4B,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,0BAA0B,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,6BAA6B,2BAA2B,CAAC,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,yCAAyC,8BAA8B,CAAC,eAAe,CAAC,kBAAkB,CAAC,6BAA6B,kBAAkB,CAAC,uCAAuC,CAAC,aAAa,CAAC,oJAAoJ,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,gDAAgD,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,kDAAkD,YAAY,CAAC,yCAAyC,eAAe,CACn3C,kCAAkC,eAAe,CAAC,mFAAmF,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,2EAA2E,QAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,wBAAgB,CAAhB,gBAAgB,CAAC,kBAAkB,CAAC,uCAAuC,aAAa,CAAC,cAAc,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wCAAwC,OAAO,CAAC,8CAA8C,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,sCAAsC,iBAAiB,CAAC,iFAAiF,qBAAqB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,2CAA2C,eAAe,CAAC,yHAAyH,YAAY,CAAC,6CAA6C,cAAc,CAAC,oBAAoB,CAAC,mDAAmD,yBAAyB,CAAC,wDAAwD,cAAc,CAAC,uDAAuD,iBAAiB,CAAC,0KAA0K,oDAAoD,CAAC,cAAc,CAAC,mBAAmB,CAAC,0BAA2B,CAA3B,2BAA2B,CAAC,eAAe,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,sFAAsF,mBAAmB,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,4DAA4D,CAAC,aAAa,CAAC,qBAAqB,CAAC,kCAAkC,aAAa,CAAC,wCAAwC,+BAA+B,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,4BAAuB,CAAvB,uBAAuB,CAAC,eAAe,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,cAAc,CAAC,wBAAe,CAAf,gBAAgB,CAAC,uCAAuC,aAAa,CAAC,UAAU,CAAC,6BAA6B,aAAa,CAAC,+BAA+B,aAAa,CAAC,gCAAgC,aAAa,CAAC,6CAA6C,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,sBAAsB,CAAC,gCAAgC,aAAa,CAAC,8BAA8B,aAAa,CAAC,yBAAyB,aAAa,CAAC,eAAe,CAAC,mKAAmK,eAAe,CAAC,cAAc,CAAC,6DAA6D,YAAY,CAAC,uCAAuC,aAAa,CAAC,qCAAqC,kBAAkB,CAAC,gCAAgC,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,4CAA4C,qBAAqB,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,kDAAkD,YAAY,CAAC,iDAAiD,eAAe,CAAC,8BAA8B,0BAA0B,CAAC,aAAa,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,gCAAgC,+BAA+B,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,qCAAqC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,wBAAwB,CAAC,wBAAe,CAAf,gBAAgB,CAAC,kDAAkD,wBAAwB,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,CAAC,wBAAgB,CAAhB,gBAAgB,CAAC,QAAQ,CAAC,wDAAwD,wBAAwB,CAAC,sCAAsC,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,YAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,qCAAqC,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,0BAA0B,CACz/J,sCAAsC,iEAAiE,CAAC,QAAQ,CAAC,SAAS,CAAC,yCAAyC,kBAAkB,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,+BAA+B,CAAC,oEAAoE,YAAY,CAAC,gBAAgB,CAAC,2JAA2J,oBAAoB,CAAC,yFAAyF,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,aAAa,CAAC,4CAA4C,WAAW,CAAC,uEAAyD,aAAa,CAAtE,yDAAyD,aAAa,CAAC,6CAA6C,cAAc,CAAC,eAAe,CAAC,qDAAqD,WAAW,CAAC,eAAe,CAAC,sBAAsB","file":"2.bf3fdedd.chunk.css","sourcesContent":[".graphiql-container,.graphiql-container button,.graphiql-container input{color:#141823;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:14px}.graphiql-container{display:flex;flex-direction:row;height:100%;margin:0;overflow:hidden;width:100%}.graphiql-container .editorWrap{display:flex;flex-direction:column;flex:1;overflow-x:hidden}.graphiql-container .title{font-size:18px}.graphiql-container .title em{font-family:georgia;font-size:19px}.graphiql-container .topBarWrap{display:flex;flex-direction:row}.graphiql-container .topBar{align-items:center;background:linear-gradient(#f7f7f7,#e2e2e2);border-bottom:1px solid #d0d0d0;cursor:default;display:flex;flex-direction:row;flex:1;height:34px;overflow-y:visible;padding:7px 14px 6px;user-select:none}.graphiql-container .toolbar{overflow-x:visible;display:flex}.graphiql-container .docExplorerShow,.graphiql-container .historyShow{background:linear-gradient(#f7f7f7,#e2e2e2);border-radius:0;border-bottom:1px solid #d0d0d0;border-right:none;border-top:none;color:#3b5998;cursor:pointer;font-size:14px;margin:0;padding:2px 20px 0 18px}.graphiql-container .docExplorerShow{border-left:1px solid rgba(0,0,0,.2)}.graphiql-container .historyShow{border-right:1px solid rgba(0,0,0,.2);border-left:0}.graphiql-container .docExplorerShow:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:\"\";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .editorBar{display:flex;flex-direction:row;flex:1}.graphiql-container .queryWrap,.graphiql-container .resultWrap{display:flex;flex-direction:column;flex:1}.graphiql-container .resultWrap{border-left:1px solid #e0e0e0;flex-basis:1em;position:relative}.graphiql-container .docExplorerWrap,.graphiql-container .historyPaneWrap{background:#fff;box-shadow:0 0 8px rgba(0,0,0,.15);position:relative;z-index:3}.graphiql-container .historyPaneWrap{min-width:230px;z-index:5}.graphiql-container .docExplorerResizer{cursor:col-resize;height:100%;left:-5px;position:absolute;top:0;width:10px;z-index:10}.graphiql-container .docExplorerHide{cursor:pointer;font-size:18px;margin:-7px -8px -6px 0;padding:18px 16px 15px 12px;background:0;border:0;line-height:14px}.graphiql-container div .query-editor{flex:1;position:relative}.graphiql-container .secondary-editor{display:flex;flex-direction:column;height:30px;position:relative}.graphiql-container .secondary-editor-title{background:#eee;border-bottom:1px solid #d6d6d6;border-top:1px solid #e0e0e0;color:#777;font-variant:small-caps;font-weight:700;letter-spacing:1px;line-height:14px;padding:6px 0 8px 43px;text-transform:lowercase;user-select:none}.graphiql-container .codemirrorWrap,.graphiql-container .result-window{flex:1;height:100%;position:relative}.graphiql-container .footer{background:#f6f7f8;border-left:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin-left:12px;position:relative}.graphiql-container .footer:before{background:#eee;bottom:0;content:\" \";left:-13px;position:absolute;top:-1px;width:12px}.result-window .CodeMirror{background:#f6f7f8}.graphiql-container .result-window .CodeMirror-gutters{background-color:#eee;border-color:#e0e0e0;cursor:col-resize}.graphiql-container .result-window .CodeMirror-foldgutter,.graphiql-container .result-window .CodeMirror-foldgutter-folded:after,.graphiql-container .result-window .CodeMirror-foldgutter-open:after{padding-left:3px}.graphiql-container .toolbar-button{background:#fdfdfd;background:linear-gradient(#f9f9f9,#ececec);border:0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 1px 0 hsla(0,0%,100%,.7),inset 0 1px #fff;color:#555;cursor:pointer;display:inline-block;margin:0 5px;padding:3px 11px 5px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.graphiql-container .toolbar-button:active{background:linear-gradient(#ececec,#d5d5d5);box-shadow:0 1px 0 hsla(0,0%,100%,.7),inset 0 0 0 1px rgba(0,0,0,.1),inset 0 1px 1px 1px rgba(0,0,0,.12),inset 0 0 5px rgba(0,0,0,.1)}.graphiql-container .toolbar-button.error{background:linear-gradient(#fdf3f3,#e6d6d7);color:#b00}.graphiql-container .toolbar-button-group{margin:0 5px;white-space:nowrap}.graphiql-container .toolbar-button-group>*{margin:0}.graphiql-container .toolbar-button-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.graphiql-container .toolbar-button-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.graphiql-container .execute-button-wrap{height:34px;margin:0 14px 0 28px;position:relative}.graphiql-container .execute-button{background:linear-gradient(#fdfdfd,#d2d3d6);border-radius:17px;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 0 #fff;cursor:pointer;fill:#444;height:34px;margin:0;padding:0;width:34px}.graphiql-container .execute-button svg{pointer-events:none}.graphiql-container .execute-button:active{background:linear-gradient(#e6e6e6,#c3c3c3);box-shadow:0 1px 0 #fff,inset 0 0 2px rgba(0,0,0,.2),inset 0 0 6px rgba(0,0,0,.1)}.graphiql-container .toolbar-menu,.graphiql-container .toolbar-select{position:relative}.graphiql-container .execute-options,.graphiql-container .toolbar-menu-items,.graphiql-container .toolbar-select-options{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.25);margin:0;padding:6px 0;position:absolute;z-index:100}.graphiql-container .execute-options{min-width:100px;top:37px;left:-1px}.graphiql-container .toolbar-menu-items{left:1px;margin-top:-1px;min-width:110%;top:100%;visibility:hidden}.graphiql-container .toolbar-menu-items.open{visibility:visible}.graphiql-container .toolbar-select-options{left:0;min-width:100%;top:-5px;visibility:hidden}.graphiql-container .toolbar-select-options.open{visibility:visible}.graphiql-container .execute-options>li,.graphiql-container .toolbar-menu-items>li,.graphiql-container .toolbar-select-options>li{cursor:pointer;display:block;margin:none;max-width:300px;overflow:hidden;padding:2px 20px 4px 11px;white-space:nowrap}.graphiql-container .execute-options>li.selected,.graphiql-container .history-contents>li:active,.graphiql-container .history-contents>li:hover,.graphiql-container .toolbar-menu-items>li.hover,.graphiql-container .toolbar-menu-items>li:active,.graphiql-container .toolbar-menu-items>li:hover,.graphiql-container .toolbar-select-options>li.hover,.graphiql-container .toolbar-select-options>li:active,.graphiql-container .toolbar-select-options>li:hover{background:#e10098;color:#fff}.graphiql-container .toolbar-select-options>li>svg{display:inline;fill:#666;margin:0 -6px 0 6px;pointer-events:none;vertical-align:middle}.graphiql-container .toolbar-select-options>li.hover>svg,.graphiql-container .toolbar-select-options>li:active>svg,.graphiql-container .toolbar-select-options>li:hover>svg{fill:#fff}.graphiql-container .CodeMirror-scroll{overflow-scrolling:touch}.graphiql-container .CodeMirror{color:#141823;font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;height:100%;left:0;position:absolute;top:0;width:100%}.graphiql-container .CodeMirror-lines{padding:20px 0}.CodeMirror-hint-information .content{box-orient:vertical;color:#141823;display:flex;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-clamp:3;line-height:16px;max-height:48px;overflow:hidden;text-overflow:-o-ellipsis-lastline}.CodeMirror-hint-information .content p:first-child{margin-top:0}.CodeMirror-hint-information .content p:last-child{margin-bottom:0}.CodeMirror-hint-information .infoType{color:#ca9800;cursor:pointer;display:inline;margin-right:.5em}.autoInsertedLeaf.cm-property{animation-duration:6s;animation-name:insertionFade;border-bottom:2px solid hsla(0,0%,100%,0);border-radius:2px;margin:-2px -4px -1px;padding:2px 4px 1px}@keyframes insertionFade{0%,to{background:hsla(0,0%,100%,0);border-color:hsla(0,0%,100%,0)}15%,85%{background:#fbffc9;border-color:#f0f3c0}}div.CodeMirror-lint-tooltip{background-color:#fff;border-radius:2px;border:0;color:#141823;box-shadow:0 1px 3px rgba(0,0,0,.45);font-size:13px;line-height:16px;max-width:430px;opacity:0;padding:8px 10px;transition:opacity .15s;white-space:pre-wrap}div.CodeMirror-lint-tooltip>*{padding-left:23px}div.CodeMirror-lint-tooltip>*+*{margin-top:12px}.graphiql-container .CodeMirror-foldmarker{border-radius:4px;background:#08f;background:linear-gradient(#43a8ff,#0f83e8);box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 0 0 1px rgba(0,0,0,.1);color:#fff;font-family:arial;font-size:12px;line-height:0;margin:0 3px;padding:0 4px 1px;text-shadow:0 -1px rgba(0,0,0,.1)}.graphiql-container div.CodeMirror span.CodeMirror-matchingbracket{color:#555;text-decoration:underline}.graphiql-container div.CodeMirror span.CodeMirror-nonmatchingbracket{color:red}.cm-comment{color:#999}.cm-punctuation{color:#555}.cm-keyword{color:#b11a04}.cm-def{color:#d2054e}.cm-property{color:#1f61a0}.cm-qualifier{color:#1c92a9}.cm-attribute{color:#8b2bb9}.cm-number{color:#2882f9}.cm-string{color:#d64292}.cm-builtin{color:#d47509}.cm-string-2{color:#0b7fc7}.cm-variable{color:#397d13}.cm-meta{color:#b33086}.cm-atom{color:#ca9800}\n.CodeMirror{color:#000;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror .CodeMirror-cursor{border-left:1px solid #000}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{background:#7e7;border:0;width:auto}.CodeMirror.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{animation:blink 1.06s steps(1) infinite;border:0;width:auto}@keyframes blink{0%{background:#7e7}50%{background:none}to{background:#7e7}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-30px;margin-right:-30px;outline:none;overflow:scroll!important;padding-bottom:30px;position:relative}.CodeMirror-sizer{border-right:30px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{min-height:100%;position:absolute;left:0;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-30px;vertical-align:top;white-space:normal;*zoom:1;*display:inline}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper{user-select:none}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-webkit-tap-highlight-color:transparent;background:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-variant-ligatures:none;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;word-wrap:normal;z-index:2}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{overflow:auto;position:relative;z-index:2}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:\"\"}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background:inherit;color:inherit;left:0;right:0;overflow:hidden;padding:.1em .8em;position:absolute;z-index:15}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{background:transparent;border:1px solid #d3d6db;color:inherit;font-family:monospace;outline:none;width:20em}.CodeMirror-dialog button{font-size:70%}\n.CodeMirror-foldmarker{color:#00f;cursor:pointer;font-family:arial;line-height:.3;text-shadow:#b9f 1px 1px 2px,#b9f -1px -1px 2px,#b9f 1px -1px 2px,#b9f -1px 1px 2px}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-folded,.CodeMirror-foldgutter-open{cursor:pointer}.CodeMirror-foldgutter-open:after{content:\"\\25BE\"}.CodeMirror-foldgutter-folded:after{content:\"\\25B8\"}\n.CodeMirror-info{background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.45);box-sizing:border-box;color:#555;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin:8px -8px;max-width:400px;opacity:0;overflow:hidden;padding:8px;position:fixed;transition:opacity .15s;z-index:50}.CodeMirror-info :first-child{margin-top:0}.CodeMirror-info :last-child{margin-bottom:0}.CodeMirror-info p{margin:1em 0}.CodeMirror-info .info-description{color:#777;line-height:16px;margin-top:1em;max-height:80px;overflow:hidden}.CodeMirror-info .info-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px -8px;max-height:80px;overflow:hidden;padding:8px}.CodeMirror-info .info-deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;user-select:none}.CodeMirror-info .info-deprecation-label+*{margin-top:0}.CodeMirror-info a{text-decoration:none}.CodeMirror-info a:hover{text-decoration:underline}.CodeMirror-info .type-name{color:#ca9800}.CodeMirror-info .field-name{color:#1f61a0}.CodeMirror-info .enum-value{color:#0b7fc7}.CodeMirror-info .arg-name{color:#8b2bb9}.CodeMirror-info .directive-name{color:#b33086}\n.CodeMirror-jump-token{text-decoration:underline;cursor:pointer}\n.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:infobackground;border-radius:4px 4px 4px 4px;border:1px solid #000;color:infotext;font-family:monospace;font-size:10pt;max-width:600px;opacity:0;overflow:hidden;padding:2px 5px;position:fixed;transition:opacity .4s;white-space:pre-wrap;z-index:100}.CodeMirror-lint-mark-error,.CodeMirror-lint-mark-warning{background-position:0 100%;background-repeat:repeat-x}.CodeMirror-lint-mark-error{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==\")}.CodeMirror-lint-mark-warning{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\")}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{background-position:50%;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:16px}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{background-position:0 0;background-repeat:no-repeat;padding-left:18px}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=\")}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\")}.CodeMirror-lint-marker-multiple{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\");background-position:100% 100%;background-repeat:no-repeat;width:100%;height:100%}\n.graphiql-container .spinner-container{height:36px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:36px;z-index:10}.graphiql-container .spinner{animation:rotation .6s linear infinite;border-radius:100%;border:6px solid hsla(0,0%,58.8%,.15);border-top-color:hsla(0,0%,58.8%,.8);display:inline-block;height:24px;position:absolute;vertical-align:middle;width:24px}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}\n.CodeMirror-hints{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.45);font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;font-size:13px;list-style:none;margin:0;max-height:14.5em;overflow:hidden;overflow-y:auto;padding:0;position:absolute;z-index:10}.CodeMirror-hint{border-top:1px solid #f7f7f7;color:#141823;cursor:pointer;margin:0;max-width:300px;overflow:hidden;padding:2px 6px;white-space:pre}li.CodeMirror-hint-active{background-color:#08f;border-top-color:#fff;color:#fff}.CodeMirror-hint-information{border-top:1px solid silver;max-width:300px;padding:4px 6px;position:relative;z-index:1}.CodeMirror-hint-information:first-child{border-bottom:1px solid silver;border-top:none;margin-bottom:-1px}.CodeMirror-hint-deprecation{background:#fffae8;box-shadow:inset 0 1px 1px -1px #bfb063;color:#867f70;font-family:system,-apple-system,San Francisco,\\.SFNSDisplay-Regular,Segoe UI,Segoe,Segoe WP,Helvetica Neue,helvetica,Lucida Grande,arial,sans-serif;font-size:13px;line-height:16px;margin-top:4px;max-height:80px;overflow:hidden;padding:6px}.CodeMirror-hint-deprecation .deprecation-label{color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;user-select:none}.CodeMirror-hint-deprecation .deprecation-label+*{margin-top:0}.CodeMirror-hint-deprecation :last-child{margin-bottom:0}\n.graphiql-container .doc-explorer{background:#fff}.graphiql-container .doc-explorer-title-bar,.graphiql-container .history-title-bar{cursor:default;display:flex;height:34px;line-height:14px;padding:8px 8px 5px;position:relative;user-select:none}.graphiql-container .doc-explorer-title,.graphiql-container .history-title{flex:1;font-weight:700;overflow-x:hidden;padding:10px 0 10px 10px;text-align:center;text-overflow:ellipsis;user-select:text;white-space:nowrap}.graphiql-container .doc-explorer-back{color:#3b5998;cursor:pointer;margin:-7px 0 -6px -8px;overflow-x:hidden;padding:17px 12px 16px 16px;text-overflow:ellipsis;white-space:nowrap;background:0;border:0;line-height:14px}.doc-explorer-narrow .doc-explorer-back{width:0}.graphiql-container .doc-explorer-back:before{border-left:2px solid #3b5998;border-top:2px solid #3b5998;content:\"\";display:inline-block;height:9px;margin:0 3px -1px 0;position:relative;transform:rotate(-45deg);width:9px}.graphiql-container .doc-explorer-rhs{position:relative}.graphiql-container .doc-explorer-contents,.graphiql-container .history-contents{background-color:#fff;border-top:1px solid #d6d6d6;bottom:0;left:0;overflow-y:auto;padding:20px 15px;position:absolute;right:0;top:47px}.graphiql-container .doc-explorer-contents{min-width:300px}.graphiql-container .doc-type-description blockquote:first-child,.graphiql-container .doc-type-description p:first-child{margin-top:0}.graphiql-container .doc-explorer-contents a{cursor:pointer;text-decoration:none}.graphiql-container .doc-explorer-contents a:hover{text-decoration:underline}.graphiql-container .doc-value-description>:first-child{margin-top:4px}.graphiql-container .doc-value-description>:last-child{margin-bottom:4px}.graphiql-container .doc-category code,.graphiql-container .doc-category pre,.graphiql-container .doc-type-description code,.graphiql-container .doc-type-description pre{--saf-0:rgba(var(--sk_foreground_low,29,28,29),0.13);font-size:12px;line-height:1.50001;font-variant-ligatures:none;white-space:pre;white-space:pre-wrap;word-wrap:break-word;word-break:normal;-webkit-tab-size:4;-moz-tab-size:4;tab-size:4}.graphiql-container .doc-category code,.graphiql-container .doc-type-description code{padding:2px 3px 1px;border:1px solid var(--saf-0);border-radius:3px;background-color:rgba(var(--sk_foreground_min,29,28,29),.04);color:#e01e5a;background-color:#fff}.graphiql-container .doc-category{margin:20px 0}.graphiql-container .doc-category-title{border-bottom:1px solid #e0e0e0;color:#777;cursor:default;font-size:14px;font-variant:small-caps;font-weight:700;letter-spacing:1px;margin:0 -15px 10px 0;padding:10px 0;user-select:none}.graphiql-container .doc-category-item{margin:12px 0;color:#555}.graphiql-container .keyword{color:#b11a04}.graphiql-container .type-name{color:#ca9800}.graphiql-container .field-name{color:#1f61a0}.graphiql-container .field-short-description{color:#999;margin-left:5px;overflow:hidden;text-overflow:ellipsis}.graphiql-container .enum-value{color:#0b7fc7}.graphiql-container .arg-name{color:#8b2bb9}.graphiql-container .arg{display:block;margin-left:1em}.graphiql-container .arg:first-child:last-child,.graphiql-container .arg:first-child:nth-last-child(2),.graphiql-container .arg:first-child:nth-last-child(2)~.arg{display:inherit;margin:inherit}.graphiql-container .arg:first-child:nth-last-child(2):after{content:\", \"}.graphiql-container .arg-default-value{color:#43a047}.graphiql-container .doc-deprecation{background:#fffae8;box-shadow:inset 0 0 1px #bfb063;color:#867f70;line-height:16px;margin:8px -8px;max-height:80px;overflow:hidden;padding:8px;border-radius:3px}.graphiql-container .doc-deprecation:before{content:\"Deprecated:\";color:#c79b2e;cursor:default;display:block;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1;padding-bottom:5px;text-transform:uppercase;user-select:none}.graphiql-container .doc-deprecation>:first-child{margin-top:0}.graphiql-container .doc-deprecation>:last-child{margin-bottom:0}.graphiql-container .show-btn{-webkit-appearance:initial;display:block;border-radius:3px;border:1px solid #ccc;text-align:center;padding:8px 12px 10px;width:100%;box-sizing:border-box;background:#fbfcfc;color:#555;cursor:pointer}.graphiql-container .search-box{border-bottom:1px solid #d3d6db;display:flex;align-items:center;font-size:14px;margin:-15px -15px 12px 0;position:relative}.graphiql-container .search-box-icon{cursor:pointer;display:block;font-size:24px;transform:rotate(-45deg);user-select:none}.graphiql-container .search-box .search-box-clear{background-color:#d0d0d0;border-radius:12px;color:#fff;cursor:pointer;font-size:11px;padding:1px 5px 2px;position:absolute;right:3px;user-select:none;border:0}.graphiql-container .search-box .search-box-clear:hover{background-color:#b9b9b9}.graphiql-container .search-box>input{border:none;box-sizing:border-box;font-size:14px;outline:none;padding:6px 24px 8px 20px;width:100%}.graphiql-container .error-container{font-weight:700;left:0;letter-spacing:1px;opacity:.5;position:absolute;right:0;text-align:center;text-transform:uppercase;top:50%;transform:translateY(-50%)}\n.graphiql-container .history-contents{font-family:Consolas,Inconsolata,Droid Sans Mono,Monaco,monospace;margin:0;padding:0}.graphiql-container .history-contents li{align-items:center;display:flex;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:8px;border-bottom:1px solid #e0e0e0}.graphiql-container .history-contents li button:not(.history-label){display:none;margin-left:10px}.graphiql-container .history-contents li:focus-within button:not(.history-label),.graphiql-container .history-contents li:hover button:not(.history-label){display:inline-block}.graphiql-container .history-contents button,.graphiql-container .history-contents input{padding:0;background:0;border:0;font-size:inherit;font-family:inherit;line-height:14px;color:inherit}.graphiql-container .history-contents input{flex-grow:1}.graphiql-container .history-contents input::placeholder{color:inherit}.graphiql-container .history-contents button{cursor:pointer;text-align:left}.graphiql-container .history-contents .history-label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}\n\n/*# sourceMappingURL=graphiql.min.css.map*/"]} \ No newline at end of file diff --git a/internal/serv/web/build/static/css/main.45320ab8.chunk.css b/internal/serv/web/build/static/css/main.45320ab8.chunk.css new file mode 100644 index 00000000..9f571eba --- /dev/null +++ b/internal/serv/web/build/static/css/main.45320ab8.chunk.css @@ -0,0 +1,2 @@ +body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.graphiql-container,.graphiql-container button,.graphiql-container input{font-family:inherit!important}#root{height:100vh;width:100vw} +/*# sourceMappingURL=main.45320ab8.chunk.css.map */ \ No newline at end of file diff --git a/internal/serv/web/build/static/css/main.45320ab8.chunk.css.map b/internal/serv/web/build/static/css/main.45320ab8.chunk.css.map new file mode 100644 index 00000000..be52460a --- /dev/null +++ b/internal/serv/web/build/static/css/main.45320ab8.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.css"],"names":[],"mappings":"AAAA,KACE,QAAS,CACT,SAAU,CACV,mJAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,yEACE,6BACF,CAEA,MACE,YAAa,CACb,WACF","file":"main.45320ab8.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.graphiql-container, .graphiql-container button, .graphiql-container input {\n font-family: inherit !important;\n}\n\n#root {\n height: 100vh;\n width: 100vw;\n}\n\n\n\n"]} \ No newline at end of file diff --git a/internal/serv/web/build/static/css/main.d75bd24d.chunk.css b/internal/serv/web/build/static/css/main.d75bd24d.chunk.css deleted file mode 100644 index 9f8cd04a..00000000 --- a/internal/serv/web/build/static/css/main.d75bd24d.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#08151d}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.playground>div:nth-child(2){height:calc(100vh - 105px)} -/*# sourceMappingURL=main.d75bd24d.chunk.css.map */ \ No newline at end of file diff --git a/internal/serv/web/build/static/css/main.d75bd24d.chunk.css.map b/internal/serv/web/build/static/css/main.d75bd24d.chunk.css.map deleted file mode 100644 index ca482189..00000000 --- a/internal/serv/web/build/static/css/main.d75bd24d.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["index.css"],"names":[],"mappings":"AAAA,KACE,QAAS,CACT,SAAU,CACV,mJAEY,CACZ,kCAAmC,CACnC,iCAAkC,CAClC,wBACF,CAEA,KACE,yEAEF,CAEA,6BACE,0BACF","file":"main.d75bd24d.chunk.css","sourcesContent":["body {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n background-color: #08151d;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\n.playground > div:nth-child(2) {\n height: calc(100vh - 105px);\n}\n"]} \ No newline at end of file diff --git a/internal/serv/web/build/static/js/2.0737febf.chunk.js b/internal/serv/web/build/static/js/2.0737febf.chunk.js deleted file mode 100644 index bf76cbdd..00000000 --- a/internal/serv/web/build/static/js/2.0737febf.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 2.0737febf.chunk.js.LICENSE.txt */ -(this.webpackJsonpweb=this.webpackJsonpweb||[]).push([[2],[function(e,t,n){"use strict";n.d(t,"S",(function(){return E})),n.d(t,"x",(function(){return x})),n.d(t,"R",(function(){return D})),n.d(t,"w",(function(){return C})),n.d(t,"N",(function(){return w})),n.d(t,"u",(function(){return S})),n.d(t,"H",(function(){return k})),n.d(t,"o",(function(){return A})),n.d(t,"T",(function(){return T})),n.d(t,"y",(function(){return _})),n.d(t,"E",(function(){return O})),n.d(t,"l",(function(){return F})),n.d(t,"F",(function(){return N})),n.d(t,"m",(function(){return I})),n.d(t,"J",(function(){return M})),n.d(t,"q",(function(){return j})),n.d(t,"L",(function(){return L})),n.d(t,"s",(function(){return P})),n.d(t,"G",(function(){return R})),n.d(t,"n",(function(){return B})),n.d(t,"O",(function(){return U})),n.d(t,"v",(function(){return z})),n.d(t,"I",(function(){return V})),n.d(t,"p",(function(){return q})),n.d(t,"D",(function(){return H})),n.d(t,"k",(function(){return W})),n.d(t,"C",(function(){return G})),n.d(t,"j",(function(){return K})),n.d(t,"d",(function(){return J})),n.d(t,"e",(function(){return Y})),n.d(t,"U",(function(){return Q})),n.d(t,"z",(function(){return $})),n.d(t,"M",(function(){return X})),n.d(t,"t",(function(){return Z})),n.d(t,"B",(function(){return ee})),n.d(t,"K",(function(){return te})),n.d(t,"r",(function(){return ne})),n.d(t,"A",(function(){return re})),n.d(t,"g",(function(){return ae})),n.d(t,"f",(function(){return se})),n.d(t,"i",(function(){return fe})),n.d(t,"P",(function(){return de})),n.d(t,"c",(function(){return he})),n.d(t,"h",(function(){return me})),n.d(t,"a",(function(){return ye})),n.d(t,"b",(function(){return ve})),n.d(t,"Q",(function(){return Ee}));var r=n(51),i=n(2),o=n(34),a=n(58),s=n(39),u=n(8),c=n(30),l=n(54),p=n(28);function f(e){return e}var d=n(47),h=n(46),m=n(1),g=n(224);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t0?e:void 0}J.prototype.toString=function(){return"["+String(this.ofType)+"]"},Object(h.a)(J),Object(d.a)(J),Y.prototype.toString=function(){return String(this.ofType)+"!"},Object(h.a)(Y),Object(d.a)(Y);var ae=function(){function e(e){var t=e.parseValue||f;this.name=e.name,this.description=e.description,this.serialize=e.serialize||f,this.parseValue=t,this.parseLiteral=e.parseLiteral||function(e){return t(Object(g.a)(e))},this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),"string"===typeof e.name||Object(u.a)(0,"Must provide name."),null==e.serialize||"function"===typeof e.serialize||Object(u.a)(0,"".concat(this.name,' must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.')),e.parseLiteral&&("function"===typeof e.parseValue&&"function"===typeof e.parseLiteral||Object(u.a)(0,"".concat(this.name,' must provide both "parseValue" and "parseLiteral" functions.')))}var t=e.prototype;return t.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(ae),Object(d.a)(ae);var se=function(){function e(e){this.name=e.name,this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=ce.bind(void 0,e),this._interfaces=ue.bind(void 0,e),"string"===typeof e.name||Object(u.a)(0,"Must provide name."),null==e.isTypeOf||"function"===typeof e.isTypeOf||Object(u.a)(0,"".concat(this.name,' must provide "isTypeOf" as a function, ')+"but got: ".concat(Object(i.a)(e.isTypeOf),"."))}var t=e.prototype;return t.getFields=function(){return"function"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return"function"===typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:pe(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ue(e){var t=ie(e.interfaces)||[];return Array.isArray(t)||Object(u.a)(0,"".concat(e.name," interfaces must be an Array or a function which returns an Array.")),t}function ce(e){var t=ie(e.fields)||{};return le(t)||Object(u.a)(0,"".concat(e.name," fields must be an object with field names as keys or a function which returns such an object.")),Object(a.a)(t,(function(t,n){le(t)||Object(u.a)(0,"".concat(e.name,".").concat(n," field config must be an object")),!("isDeprecated"in t)||Object(u.a)(0,"".concat(e.name,".").concat(n,' should provide "deprecationReason" instead of "isDeprecated".')),null==t.resolve||"function"===typeof t.resolve||Object(u.a)(0,"".concat(e.name,".").concat(n," field resolver must be a function if ")+"provided, but got: ".concat(Object(i.a)(t.resolve),"."));var o=t.args||{};le(o)||Object(u.a)(0,"".concat(e.name,".").concat(n," args must be an object with argument names as keys."));var a=Object(r.a)(o).map((function(e){var t=e[0],n=e[1];return{name:t,description:void 0===n.description?null:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&Object(s.a)(n.extensions),astNode:n.astNode}}));return v({},t,{name:n,description:t.description,type:t.type,args:a,resolve:t.resolve,subscribe:t.subscribe,isDeprecated:Boolean(t.deprecationReason),deprecationReason:t.deprecationReason,extensions:t.extensions&&Object(s.a)(t.extensions),astNode:t.astNode})}))}function le(e){return Object(p.a)(e)&&!Array.isArray(e)}function pe(e){return Object(a.a)(e,(function(e){return{description:e.description,type:e.type,args:fe(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}))}function fe(e){return Object(c.a)(e,(function(e){return e.name}),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}))}function de(e){return L(e.type)&&void 0===e.defaultValue}Object(h.a)(se),Object(d.a)(se);var he=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=ce.bind(void 0,e),"string"===typeof e.name||Object(u.a)(0,"Must provide name."),null==e.resolveType||"function"===typeof e.resolveType||Object(u.a)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat(Object(i.a)(e.resolveType),"."))}var t=e.prototype;return t.getFields=function(){return"function"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){return{name:this.name,description:this.description,fields:pe(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(he),Object(d.a)(he);var me=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._types=ge.bind(void 0,e),"string"===typeof e.name||Object(u.a)(0,"Must provide name."),null==e.resolveType||"function"===typeof e.resolveType||Object(u.a)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat(Object(i.a)(e.resolveType),"."))}var t=e.prototype;return t.getTypes=function(){return"function"===typeof this._types&&(this._types=this._types()),this._types},t.toConfig=function(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ge(e){var t=ie(e.types)||[];return Array.isArray(t)||Object(u.a)(0,"Must provide Array of types or a function which returns such an array for Union ".concat(e.name,".")),t}Object(h.a)(me),Object(d.a)(me);var ye=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._values=(t=this.name,le(n=e.values)||Object(u.a)(0,"".concat(t," values must be an object with value names as keys.")),Object(r.a)(n).map((function(e){var n=e[0],r=e[1];return le(r)||Object(u.a)(0,"".concat(t,".").concat(n,' must refer to an object with a "value" key ')+"representing an internal value but got: ".concat(Object(i.a)(r),".")),!("isDeprecated"in r)||Object(u.a)(0,"".concat(t,".").concat(n,' should provide "deprecationReason" instead of "isDeprecated".')),{name:n,description:r.description,value:"value"in r?r.value:n,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,extensions:r.extensions&&Object(s.a)(r.extensions),astNode:r.astNode}}))),this._valueLookup=new Map(this._values.map((function(e){return[e.value,e]}))),this._nameLookup=Object(o.a)(this._values,(function(e){return e.name})),"string"===typeof e.name||Object(u.a)(0,"Must provide name.")}var t=e.prototype;return t.getValues=function(){return this._values},t.getValue=function(e){return this._nameLookup[e]},t.serialize=function(e){var t=this._valueLookup.get(e);if(t)return t.name},t.parseValue=function(e){if("string"===typeof e){var t=this.getValue(e);if(t)return t.value}},t.parseLiteral=function(e,t){if(e.kind===m.a.ENUM){var n=this.getValue(e.value);if(n)return n.value}},t.toConfig=function(){var e=Object(c.a)(this.getValues(),(function(e){return e.name}),(function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(ye),Object(d.a)(ye);var ve=function(){function e(e){this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=be.bind(void 0,e),"string"===typeof e.name||Object(u.a)(0,"Must provide name.")}var t=e.prototype;return t.getFields=function(){return"function"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){var e=Object(a.a)(this.getFields(),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function be(e){var t=ie(e.fields)||{};return le(t)||Object(u.a)(0,"".concat(e.name," fields must be an object with field names as keys or a function which returns such an object.")),Object(a.a)(t,(function(t,n){return!("resolve"in t)||Object(u.a)(0,"".concat(e.name,".").concat(n," field has a resolve property, but Input Types cannot define resolvers.")),v({},t,{name:n,description:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&Object(s.a)(t.extensions),astNode:t.astNode})}))}function Ee(e){return L(e.type)&&void 0===e.defaultValue}Object(h.a)(ve),Object(d.a)(ve)},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"})},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(95);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return a(e,[])}function a(e,t){switch(i(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),i=function(e){var t=e[String(r.a)];if("function"===typeof t)return t;if("function"===typeof e.inspect)return e.inspect}(e);if(void 0!==i){var o=i.call(e);if(o!==e)return"string"===typeof o?o:a(o,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";for(var n=Math.min(10,e.length),r=e.length-n,i=[],o=0;o1&&i.push("... ".concat(r," more items"));return"["+i.join(", ")+"]"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return"{}";if(t.length>2)return"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"===typeof e.constructor){var n=e.constructor.name;if("string"===typeof n&&""!==n)return n}return t}(e)+"]";return"{ "+n.map((function(n){return n+": "+a(e[n],t)})).join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}},function(e,t,n){"use strict";e.exports=n(259)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s}));var r=n(28),i=n(96),o=n(142);function a(e,t,n,o,s,u,c){var l=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,p=n;if(!p&&l){var f=l[0];p=f&&f.loc&&f.loc.source}var d,h=o;!h&&l&&(h=l.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),h&&0===h.length&&(h=void 0),o&&n?d=o.map((function(e){return Object(i.a)(n,e)})):l&&(d=l.reduce((function(e,t){return t.loc&&e.push(Object(i.a)(t.loc.source,t.loc.start)),e}),[]));var m=c;if(null==m&&null!=u){var g=u.extensions;Object(r.a)(g)&&(m=g)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:s||void 0,enumerable:Boolean(s)},nodes:{value:l||void 0},source:{value:p||void 0},positions:{value:h||void 0},originalError:{value:u},extensions:{value:m||void 0,enumerable:Boolean(m)}}),u&&u.stack?Object.defineProperty(this,"stack",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}function s(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"})},function(e,t,n){"use strict";n.d(t,"a",(function(){return ae})),n.d(t,"b",(function(){return L})),n.d(t,"c",(function(){return v})),n.d(t,"d",(function(){return R})),n.d(t,"e",(function(){return x})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return U})),n.d(t,"h",(function(){return K})),n.d(t,"i",(function(){return I})),n.d(t,"j",(function(){return $})),n.d(t,"k",(function(){return z})),n.d(t,"l",(function(){return X})),n.d(t,"m",(function(){return ue})),n.d(t,"n",(function(){return pe})),n.d(t,"o",(function(){return oe})),n.d(t,"p",(function(){return de})),n.d(t,"q",(function(){return j})),n.d(t,"r",(function(){return F})),n.d(t,"s",(function(){return P})),n.d(t,"t",(function(){return q})),n.d(t,"u",(function(){return M})),n.d(t,"v",(function(){return ve})),n.d(t,"w",(function(){return re})),n.d(t,"x",(function(){return Y})),n.d(t,"y",(function(){return Z})),n.d(t,"z",(function(){return ee})),n.d(t,"A",(function(){return te})),n.d(t,"B",(function(){return ne})),n.d(t,"C",(function(){return B})),n.d(t,"D",(function(){return se})),n.d(t,"E",(function(){return ce})),n.d(t,"F",(function(){return le})),n.d(t,"G",(function(){return fe})),n.d(t,"H",(function(){return he})),n.d(t,"I",(function(){return me})),n.d(t,"J",(function(){return ge})),n.d(t,"K",(function(){return ye})),n.d(t,"L",(function(){return V})),n.d(t,"M",(function(){return l})),n.d(t,"N",(function(){return H})),n.d(t,"O",(function(){return N})),n.d(t,"P",(function(){return W})),n.d(t,"Q",(function(){return G})),n.d(t,"R",(function(){return J})),n.d(t,"S",(function(){return b})),n.d(t,"T",(function(){return k})),n.d(t,"U",(function(){return s})),n.d(t,"V",(function(){return S})),n.d(t,"W",(function(){return E})),n.d(t,"X",(function(){return O})),n.d(t,"Y",(function(){return h})),n.d(t,"Z",(function(){return p})),n.d(t,"ab",(function(){return y})),n.d(t,"bb",(function(){return d})),n.d(t,"cb",(function(){return w})),n.d(t,"db",(function(){return u})),n.d(t,"eb",(function(){return f})),n.d(t,"fb",(function(){return A})),n.d(t,"gb",(function(){return C})),n.d(t,"hb",(function(){return D}));var r=n(16),i=n(42),o=n(10),a=n(115),s=function(e){return function(){return e}}(!0),u=function(){};var c=function(e){return e};"function"===typeof Symbol&&Symbol.asyncIterator&&Symbol.asyncIterator;function l(e,t,n){if(!t(e))throw new Error(n)}var p=function(e,t){Object(i.a)(e,t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach((function(n){e[n]=t[n]}))},f=function(e,t){var n;return(n=[]).concat.apply(n,t.map(e))};function d(e,t){var n=e.indexOf(t);n>=0&&e.splice(n,1)}function h(e){var t=!1;return function(){t||(t=!0,e())}}var m=function(e){throw e},g=function(e){return{value:e,done:!0}};function y(e,t,n){void 0===t&&(t=m),void 0===n&&(n="iterator");var r={meta:{name:n},next:e,throw:t,return:g,isSagaIterator:!0};return"undefined"!==typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}function v(e,t){var n=t.sagaStack;console.error(e),console.error(n)}var b=function(e){return new Error("\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\n Error: "+e+"\n")},E=function(e){return Array.apply(null,new Array(e))},x=function(e){return function(t){return e(Object.defineProperty(t,r.f,{value:!0}))}},D=function(e){return e===r.k},C=function(e){return e===r.j},w=function(e){return D(e)||C(e)};function S(e,t){var n=Object.keys(e),r=n.length;var i,a=0,s=Object(o.a)(e)?E(r):{},c={};return n.forEach((function(e){var n=function(n,o){i||(o||w(n)?(t.cancel(),t(n,o)):(s[e]=n,++a===r&&(i=!0,t(s))))};n.cancel=u,c[e]=n})),t.cancel=function(){i||(i=!0,n.forEach((function(e){return c[e].cancel()})))},c}function k(e){return{name:e.name||"anonymous",location:A(e)}}function A(e){return e[r.g]}var T={isEmpty:s,put:u,take:u};function _(e,t){void 0===e&&(e=10);var n=new Array(e),r=0,i=0,o=0,a=function(t){n[i]=t,i=(i+1)%e,r++},s=function(){if(0!=r){var t=n[o];return n[o]=null,r--,o=(o+1)%e,t}},u=function(){for(var e=[];r;)e.push(s());return e};return{isEmpty:function(){return 0==r},put:function(s){var c;if(r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;ri;)9===r.charCodeAt(i)?n+=2:n++,i++;return n},this.current=function(){return t._sourceText.slice(t._start,t._pos)},this._start=0,this._pos=0,this._sourceText=e}return e.prototype._testNextCharacter=function(e){var t=this._sourceText.charAt(this._pos);return"string"===typeof e?t===e:e instanceof RegExp?e.test(t):e(t)},e}();function i(e){return{ofRule:e}}function o(e,t){return{ofRule:e,isList:!0,separator:t}}function a(e,t){var n=e.match;return e.match=function(e){var r=!1;return n&&(r=n(e)),r&&t.every((function(t){return t.match&&!t.match(e)}))},e}function s(e,t){return{style:t,match:function(t){return t.kind===e}}}function u(e,t){return{style:t||"punctuation",match:function(t){return"Punctuation"===t.kind&&t.value===e}}}var c,l=function(e){return" "===e||"\t"===e||","===e||"\n"===e||"\r"===e||"\ufeff"===e||"\xa0"===e},p={Name:/^[_A-Za-z][_0-9A-Za-z]*/,Punctuation:/^(?:!|\$|\(|\)|\.\.\.|:|=|@|\[|]|\{|\||\})/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^(?:"""(?:\\"""|[^"]|"[^"]|""[^"])*(?:""")?|"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?)/,Comment:/^#.*/},f={Document:[o("Definition")],Definition:function(e){switch(e.value){case"{":return"ShortQuery";case"query":return"Query";case"mutation":return"Mutation";case"subscription":return"Subscription";case"fragment":return"FragmentDefinition";case"schema":return"SchemaDef";case"scalar":return"ScalarDef";case"type":return"ObjectTypeDef";case"interface":return"InterfaceDef";case"union":return"UnionDef";case"enum":return"EnumDef";case"input":return"InputDef";case"extend":return"ExtendDef";case"directive":return"DirectiveDef"}},ShortQuery:["SelectionSet"],Query:[d("query"),i(h("def")),i("VariableDefinitions"),o("Directive"),"SelectionSet"],Mutation:[d("mutation"),i(h("def")),i("VariableDefinitions"),o("Directive"),"SelectionSet"],Subscription:[d("subscription"),i(h("def")),i("VariableDefinitions"),o("Directive"),"SelectionSet"],VariableDefinitions:[u("("),o("VariableDefinition"),u(")")],VariableDefinition:["Variable",u(":"),"Type",i("DefaultValue")],Variable:[u("$","variable"),h("variable")],DefaultValue:[u("="),"Value"],SelectionSet:[u("{"),o("Selection"),u("}")],Selection:function(e,t){return"..."===e.value?t.match(/[\s\u00a0,]*(on\b|@|{)/,!1)?"InlineFragment":"FragmentSpread":t.match(/[\s\u00a0,]*:/,!1)?"AliasedField":"Field"},AliasedField:[h("property"),u(":"),h("qualifier"),i("Arguments"),o("Directive"),i("SelectionSet")],Field:[h("property"),i("Arguments"),o("Directive"),i("SelectionSet")],Arguments:[u("("),o("Argument"),u(")")],Argument:[h("attribute"),u(":"),"Value"],FragmentSpread:[u("..."),h("def"),o("Directive")],InlineFragment:[u("..."),i("TypeCondition"),o("Directive"),"SelectionSet"],FragmentDefinition:[d("fragment"),i(a(h("def"),[d("on")])),"TypeCondition",o("Directive"),"SelectionSet"],TypeCondition:[d("on"),"NamedType"],Value:function(e){switch(e.kind){case"Number":return"NumberValue";case"String":return"StringValue";case"Punctuation":switch(e.value){case"[":return"ListValue";case"{":return"ObjectValue";case"$":return"Variable"}return null;case"Name":switch(e.value){case"true":case"false":return"BooleanValue"}return"null"===e.value?"NullValue":"EnumValue"}},NumberValue:[s("Number","number")],StringValue:[s("String","string")],BooleanValue:[s("Name","builtin")],NullValue:[s("Name","keyword")],EnumValue:[h("string-2")],ListValue:[u("["),o("Value"),u("]")],ObjectValue:[u("{"),o("ObjectField"),u("}")],ObjectField:[h("attribute"),u(":"),"Value"],Type:function(e){return"["===e.value?"ListType":"NonNullType"},ListType:[u("["),"Type",u("]"),i(u("!"))],NonNullType:["NamedType",i(u("!"))],NamedType:[(c="atom",{style:c,match:function(e){return"Name"===e.kind},update:function(e,t){e.prevState&&e.prevState.prevState&&(e.name=t.value,e.prevState.prevState.type=t.value)}})],Directive:[u("@","meta"),h("meta"),i("Arguments")],SchemaDef:[d("schema"),o("Directive"),u("{"),o("OperationTypeDef"),u("}")],OperationTypeDef:[h("keyword"),u(":"),h("atom")],ScalarDef:[d("scalar"),h("atom"),o("Directive")],ObjectTypeDef:[d("type"),h("atom"),i("Implements"),o("Directive"),u("{"),o("FieldDef"),u("}")],Implements:[d("implements"),o("NamedType")],FieldDef:[h("property"),i("ArgumentsDef"),u(":"),"Type",o("Directive")],ArgumentsDef:[u("("),o("InputValueDef"),u(")")],InputValueDef:[h("attribute"),u(":"),"Type",i("DefaultValue"),o("Directive")],InterfaceDef:[d("interface"),h("atom"),o("Directive"),u("{"),o("FieldDef"),u("}")],UnionDef:[d("union"),h("atom"),o("Directive"),u("="),o("UnionMember",u("|"))],UnionMember:["NamedType"],EnumDef:[d("enum"),h("atom"),o("Directive"),u("{"),o("EnumValueDef"),u("}")],EnumValueDef:[h("string-2"),o("Directive")],InputDef:[d("input"),h("atom"),o("Directive"),u("{"),o("InputValueDef"),u("}")],ExtendDef:[d("extend"),"ObjectTypeDef"],DirectiveDef:[d("directive"),u("@","meta"),h("meta"),i("ArgumentsDef"),d("on"),o("DirectiveLocation",u("|"))],DirectiveLocation:[h("string-2")]};function d(e){return{style:"keyword",match:function(t){return"Name"===t.kind&&t.value===e}}}function h(e){return{style:e,match:function(e){return"Name"===e.kind},update:function(e,t){e.name=t.value}}}var m=function(){return(m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&l[l.length-1]2147483647||t<-2147483648)throw new TypeError("Int cannot represent non 32-bit signed integer value: ".concat(Object(o.a)(e)));return t},parseValue:function(e){if(!i(e))throw new TypeError("Int cannot represent non-integer value: ".concat(Object(o.a)(e)));if(e>2147483647||e<-2147483648)throw new TypeError("Int cannot represent non 32-bit signed integer value: ".concat(Object(o.a)(e)));return e},parseLiteral:function(e){if(e.kind===s.a.INT){var t=parseInt(e.value,10);if(t<=2147483647&&t>=-2147483648)return t}}});var l=new u.g({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize:function(e){if("boolean"===typeof e)return e?1:0;var t=e;if("string"===typeof e&&""!==e&&(t=Number(e)),!r(t))throw new TypeError("Float cannot represent non numeric value: ".concat(Object(o.a)(e)));return t},parseValue:function(e){if(!r(e))throw new TypeError("Float cannot represent non numeric value: ".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.FLOAT||e.kind===s.a.INT?parseFloat(e.value):void 0}});function p(e){if(Object(a.a)(e)){if("function"===typeof e.valueOf){var t=e.valueOf();if(!Object(a.a)(t))return t}if("function"===typeof e.toJSON)return e.toJSON()}return e}var f=new u.g({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize:function(e){var t=p(e);if("string"===typeof t)return t;if("boolean"===typeof t)return t?"true":"false";if(r(t))return t.toString();throw new TypeError("String cannot represent value: ".concat(Object(o.a)(e)))},parseValue:function(e){if("string"!==typeof e)throw new TypeError("String cannot represent a non string value: ".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.STRING?e.value:void 0}});var d=new u.g({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize:function(e){if("boolean"===typeof e)return e;if(r(e))return 0!==e;throw new TypeError("Boolean cannot represent a non boolean value: ".concat(Object(o.a)(e)))},parseValue:function(e){if("boolean"!==typeof e)throw new TypeError("Boolean cannot represent a non boolean value: ".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.BOOLEAN?e.value:void 0}});var h=new u.g({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var t=p(e);if("string"===typeof t)return t;if(i(t))return String(t);throw new TypeError("ID cannot represent value: ".concat(Object(o.a)(e)))},parseValue:function(e){if("string"===typeof e)return e;if(i(e))return e.toString();throw new TypeError("ID cannot represent value: ".concat(Object(o.a)(e)))},parseLiteral:function(e){return e.kind===s.a.STRING||e.kind===s.a.INT?e.value:void 0}}),m=Object.freeze([f,c,l,d,h]);function g(e){return Object(u.R)(e)&&m.some((function(t){var n=t.name;return e.name===n}))}},function(e,t,n){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),r=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\//.test(e),c=u&&/Qt\/\d+\.\d+/.test(e),l=!o&&/Chrome\//.test(e),p=/Opera\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),h=/PhantomJS/.test(e),m=!o&&/AppleWebKit/.test(e)&&/Mobile\/\w+/.test(e),g=/Android/.test(e),y=m||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=m||/Mac/.test(t),b=/\bCrOS\b/.test(e),E=/win/i.test(t),x=p&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(p=!1,u=!0);var D=v&&(c||p&&(null==x||x<12.11)),C=n||a&&s>=9;function w(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var S,k=function(e,t){var n=e.className,r=w(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function A(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return A(e).appendChild(t)}function _(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?j=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(j=function(e){try{e.select()}catch(t){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=L(this.onTimeout,this)};function U(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var G=[""];function K(e){for(;G.length<=e;)G.push(J(G)+" ");return G[e]}function J(e){return e[e.length-1]}function Y(e,t){for(var n=[],r=0;r"\x80"&&(e.toUpperCase()!=e.toLowerCase()||X.test(e))}function ee(e,t){return t?!!(t.source.indexOf("\\w")>-1&&Z(e))||t.test(e):Z(e)}function te(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ne.test(e)}function ie(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ae=null;function se(e,t,n){var r;ae=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:ae=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:ae=i)}return null!=r?r:ae}var ue=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var u="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c,l=a.length,p=[],f=0;f-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=fe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function ve(e){e.prototype.on=function(e,t){pe(this,e,t)},e.prototype.off=function(e,t){de(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ee(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function xe(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function De(e){be(e),Ee(e)}function Ce(e){return e.target||e.srcElement}function we(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Se,ke,Ae=function(){if(a&&s<9)return!1;var e=_("div");return"draggable"in e||"dragDrop"in e}();function Te(e){if(null==Se){var t=_("span","\u200b");T(e,_("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Se=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Se?_("span","\u200b"):_("span","\xa0",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function _e(e){if(null!=ke)return ke;var t=T(e,document.createTextNode("A\u062eA")),n=S(t,0,1).getBoundingClientRect(),r=S(t,1,2).getBoundingClientRect();return A(e),!(!n||n.left==n.right)&&(ke=r.right-n.right<3)}var Oe=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Fe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(n){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Ne=function(){var e=_("div");return"oncopy"in e||(e.setAttribute("oncopy","return;"),"function"==typeof e.oncopy)}(),Ie=null,Me={},je={};function Le(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Me[e]=t}function Pe(e){if("string"==typeof e&&je.hasOwnProperty(e))e=je[e];else if(e&&"string"==typeof e.name&&je.hasOwnProperty(e.name)){var t=je[e.name];"string"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Pe("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Pe("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Re(e,t){t=Pe(t);var n=Me[t.name];if(!n)return Re(e,"text/plain");var r=n(e,t);if(Be.hasOwnProperty(t.name)){var i=Be[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Be={};function Ue(e,t){P(t,Be.hasOwnProperty(e)?Be[e]:Be[e]={})}function ze(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function qe(e,t,n){return!e.startState||e.startState(t,n)}var He=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function We(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?Ze(n,We(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?Ze(e.line,t):n<0?Ze(e.line,0):e}(t,We(e,t.line).text.length)}function st(e,t){for(var n=[],r=0;r=this.string.length},He.prototype.sol=function(){return this.pos==this.lineStart},He.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},He.prototype.next=function(){if(this.post},He.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},He.prototype.skipToEnd=function(){this.pos=this.string.length},He.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},He.prototype.backUp=function(e){this.pos-=e},He.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},He.prototype.current=function(){return this.string.slice(this.start,this.pos)},He.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},He.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},He.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ut=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function lt(e,t,n,r){var i=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],u=1,c=0;n.state=!0,bt(e,t.text,s.mode,n,(function(e,t){for(var n=u;ce&&i.splice(u,1,e,i[u+1],r),u+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,u-n,e,"overlay "+t),u=n+2;else for(;ne.options.maxHighlightLength&&ze(e.doc.mode,r.state),o=lt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function ft(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var u=We(o,s-1),c=u.stateAfter;if(c&&(!n||s+(c instanceof ut?c.lookAhead:0)<=o.modeFrontier))return s;var l=R(u.text,null,e.options.tabSize);(null==i||r>l)&&(i=s-1,r=l)}return i}(e,t,n),a=o>r.first&&We(r,o-1).stateAfter,s=a?ct.fromSaved(r,a,o):new ct(r,qe(r.mode),o);return r.iter(o,t,(function(n){dt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof ut?new ct(e,ze(e.mode,t.state),n,t.lookAhead):new ct(e,ze(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?ze(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ut(t,this.maxLookAhead):t};var gt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function yt(e,t,n,r){var i,o,a=e.doc,s=a.mode,u=We(a,(t=at(a,t)).line),c=ft(e,t.line,n),l=new He(u.text,e.options.tabSize,c);for(r&&(o=[]);(r||l.pose.options.maxHighlightLength?(s=!1,a&&dt(e,t,r,p.pos),p.pos=t.length,u=null):u=vt(mt(n,p,r.state,f),o),f){var d=f[0].name;d&&(u="m-"+(u?d+" "+u:d))}if(!s||l!=u){for(;c=t:o.to>t);(r||(r=[])).push(new Dt(a,o.from,s?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!n||Ft(n,o.marker)<0)&&(n=o.marker)}return n}function Lt(e,t,n,r,i){var o=We(e,t),a=xt&&o.markedSpans;if(a)for(var s=0;s=0&&p<=0||l<=0&&p>=0)&&(l<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.to,n)>=0:et(c.to,n)>0)||l>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.from,r)<=0:et(c.from,r)<0)))return!0}}}function Pt(e){for(var t;t=It(e);)e=t.find(-1,!0).line;return e}function Rt(e,t){var n=We(e,t),r=Pt(n);return n==r?t:Ye(r)}function Bt(e,t){if(t>e.lastLine())return t;var n,r=We(e,t);if(!Ut(e,r))return t;for(;n=Mt(r);)r=n.find(1,!0).line;return Ye(r)+1}function Ut(e,t){var n=xt&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Wt=function(e,t,n){this.text=e,Tt(this,t),this.height=n?n(this):1};function Gt(e){e.parent=null,At(e)}Wt.prototype.lineNo=function(){return Ye(this)},ve(Wt);var Kt={},Jt={};function Yt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Jt:Kt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Qt(e,t){var n=O("span",null,null,u?"padding-right: .1px":null),r={pre:O("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Xt,_e(e.display.measure)&&(a=ce(o,e.doc.direction))&&(r.addToken=Zt(r.addToken,a)),r.map=[],tn(o,r,pt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Te(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||"")),r}function $t(e){var t=_("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Xt(e,t,n,r,i,o,u){if(t){var c,l=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;ic&&p.from<=c);f++);if(p.to>=l)return e(n,r,i,o,a,s,u);e(n,r.slice(0,p.to-c),i,o,null,s,u),o=null,r=r.slice(p.to-c),c=p.to}}}function en(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function tn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,u,c,l,p,f,d=i.length,h=0,m=1,g="",y=0;;){if(y==h){u=c=l=s="",f=null,p=null,y=1/0;for(var v=[],b=void 0,E=0;Eh||D.collapsed&&x.to==h&&x.from==h)){if(null!=x.to&&x.to!=h&&y>x.to&&(y=x.to,c=""),D.className&&(u+=" "+D.className),D.css&&(s=(s?s+";":"")+D.css),D.startStyle&&x.from==h&&(l+=" "+D.startStyle),D.endStyle&&x.to==y&&(b||(b=[])).push(D.endStyle,x.to),D.title&&((f||(f={})).title=D.title),D.attributes)for(var C in D.attributes)(f||(f={}))[C]=D.attributes[C];D.collapsed&&(!p||Ft(p.marker,D)<0)&&(p=x)}else x.from>h&&y>x.from&&(y=x.from)}if(b)for(var w=0;w=d)break;for(var k=Math.min(d,y);;){if(g){var A=h+g.length;if(!p){var T=A>k?g.slice(0,k-h):g;t.addToken(t,T,a?a+u:u,l,h+T.length==y?c:"",s,f)}if(A>=k){g=g.slice(k-h),h=k;break}h=A,l=""}g=i.slice(o,o=n[m++]),a=Yt(n[m++],t.cm.options)}}else for(var _=1;_n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function _n(e,t,n,r){return Nn(e,Fn(e,t),n,r)}function On(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((u.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=jn(t.map,n,r),u=o.node,c=o.start,l=o.end,p=o.collapse;if(3==u.nodeType){for(var f=0;f<4;f++){for(;c&&re(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+l1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;c>0&&(p=r="right"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d["right"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+rr(e.display),top:h.top,bottom:h.bottom}:Mn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,y=(m+g)/2,v=t.view.measure.heights,b=0;bt)&&(i=(o=u-s)-1,t>=u&&(a="right")),null!=i){if(r=e[c+2],s==u&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a="left";if("right"==n&&i==u-s)for(;c=0&&(n=e[i]).left==n.right;i--);return n}function Pn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(u=r.text.length,c="before"):u<=0&&(u=0,c="after"),!s)return a("before"==c?u-1:u,"before"==c);function l(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var p=se(s,u,c),f=ae,d=l(u,p,"before"==c);return null!=f&&(d.other=l(u,f,"before"!=c)),d}function Kn(e,t){var n=0;t=at(e.doc,t),e.options.lineWrapping||(n=rr(e.display)*t.ch);var r=We(e.doc,t.line),i=Vt(r)+Dn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Jn(e,t,n,r,i){var o=Ze(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Yn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Jn(r.first,0,null,-1,-1);var i=Qe(r,n),o=r.first+r.size-1;if(i>o)return Jn(r.first+r.size-1,We(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=We(r,i);;){var s=Zn(e,a,i,t,n),u=jt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!u)return s;var c=u.find(1);if(c.line==i)return c;a=We(r,i=c.line)}}function Qn(e,t,n,r){r-=Vn(t);var i=t.text.length,o=oe((function(t){return Nn(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=oe((function(t){return Nn(e,n,t).top>r}),o,i)}}function $n(e,t,n,r){return n||(n=Fn(e,t)),Qn(e,t,n,qn(e,t,Nn(e,n,r),"line").top)}function Xn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function Zn(e,t,n,r,i){i-=Vt(t);var o=Fn(e,t),a=Vn(t),s=0,u=t.text.length,c=!0,l=ce(t,e.doc.direction);if(l){var p=(e.options.lineWrapping?tr:er)(e,t,n,o,l,r,i);s=(c=1!=p.level)?p.from:p.to-1,u=c?p.to:p.from-1}var f,d,h=null,m=null,g=oe((function(t){var n=Nn(e,o,t);return n.top+=a,n.bottom+=a,!!Xn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,u),y=!1;if(m){var v=r-m.left=E.bottom?1:0}return Jn(n,g=ie(t.text,g,1),d,y,r-f)}function er(e,t,n,r,i,o,a){var s=oe((function(s){var u=i[s],c=1!=u.level;return Xn(Gn(e,Ze(n,c?u.to:u.from,c?"before":"after"),"line",t,r),o,a,!0)}),0,i.length-1),u=i[s];if(s>0){var c=1!=u.level,l=Gn(e,Ze(n,c?u.from:u.to,c?"after":"before"),"line",t,r);Xn(l,o,a,!0)&&l.top>a&&(u=i[s-1])}return u}function tr(e,t,n,r,i,o,a){var s=Qn(e,t,r,a),u=s.begin,c=s.end;/\s/.test(t.text.charAt(c-1))&&c--;for(var l=null,p=null,f=0;f=c||d.to<=u)){var h=Nn(e,r,1!=d.level?Math.min(c,d.to)-1:Math.max(u,d.from)).right,m=hm)&&(l=d,p=m)}}return l||(l=i[i.length-1]),l.fromc&&(l={from:l.from,to:c,level:l.level}),l}function nr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==In){In=_("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)In.appendChild(document.createTextNode("x")),In.appendChild(_("br"));In.appendChild(document.createTextNode("x"))}T(e.measure,In);var n=In.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),A(e.measure),n||1}function rr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=_("span","xxxxxxxxxx"),n=_("pre",[t],"CodeMirror-line-like");T(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function ir(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:or(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function or(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function ar(e){var t=nr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/rr(e.display)-3);return function(i){if(Ut(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(u=We(e.doc,c.line).text).length==c.ch){var l=R(u,u.length,e.options.tabSize)-u.length;c=Ze(c.line,Math.max(0,Math.round((o-wn(e.display).left)/rr(e.display))-l))}return c}function cr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)xt&&Rt(e.doc,t)i.viewFrom?fr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)fr(e);else if(t<=i.viewFrom){var o=dr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):fr(e)}else if(n>=i.viewTo){var a=dr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):fr(e)}else{var s=dr(e,t,t,-1),u=dr(e,n,n+r,1);s&&u?(i.view=i.view.slice(0,s.index).concat(rn(e,s.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):fr(e)}var c=i.externalMeasured;c&&(n=i.lineN&&t=r.viewTo)){var o=r.view[cr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==U(a,n)&&a.push(n)}}}function fr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function dr(e,t,n,r){var i,o=cr(e,t),a=e.display.view;if(!xt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Rt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function hr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}(m,n||0,null==r?f:r,(function(e,t,i,p){var g="ltr"==i,y=d(e,g?"left":"right"),v=d(t-1,g?"right":"left"),b=null==n&&0==e,E=null==r&&t==f,x=0==p,D=!m||p==m.length-1;if(v.top-y.top<=3){var C=(c?E:b)&&D,w=(c?b:E)&&x?s:(g?y:v).left,S=C?u:(g?v:y).right;l(w,y.top,S-w,y.bottom)}else{var k,A,T,_;g?(k=c&&b&&x?s:y.left,A=c?u:h(e,i,"before"),T=c?s:h(t,i,"after"),_=c&&E&&D?u:v.right):(k=c?h(e,i,"before"):s,A=!c&&b&&x?u:y.right,T=!c&&E&&D?s:v.left,_=c?h(t,i,"after"):u),l(k,y.top,A-k,y.bottom),y.bottom0?t.blinker=setInterval((function(){return t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function xr(e){e.state.focused||(e.display.input.focus(),Cr(e))}function Dr(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,wr(e))}),100)}function Cr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,I(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Er(e))}function wr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,k(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Sr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||f<-.005)&&(Je(i.line,u),kr(i.line),i.rest))for(var d=0;de.display.sizerWidth){var h=Math.ceil(c/rr(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function kr(e){if(e.widgets)for(var t=0;t=a&&(o=Qe(t,Vt(We(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function Tr(e,t){var n=e.display,r=nr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=An(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Cn(n),u=t.tops-r;if(t.topi+o){var l=Math.min(t.top,(c?s:t.bottom)-o);l!=i&&(a.scrollTop=l)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=kn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.leftf+p-3&&(a.scrollLeft=t.right+(d?0:10)-f),a}function _r(e,t){null!=t&&(Nr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Or(e){Nr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Fr(e,t,n){null==t&&null==n||Nr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Nr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Ir(e,Kn(e,t.from),Kn(e,t.to),t.margin))}function Ir(e,t,n,r){var i=Tr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Fr(e,i.scrollLeft,i.scrollTop)}function Mr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||si(e,{top:t}),jr(e,t,!0),n&&si(e),ni(e,100))}function jr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Lr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,li(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Pr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Cn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Sn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Rr=function(e,t,n){this.cm=n;var r=this.vert=_("div",[_("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=_("div",[_("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),pe(r,"scroll",(function(){r.clientHeight&&t(r.scrollTop,"vertical")})),pe(i,"scroll",(function(){i.clientWidth&&t(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Rr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Rr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Rr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Rr.prototype.zeroWidthHack=function(){var e=v&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new B,this.disableVert=new B},Rr.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,(function r(){var i=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,r)}))},Rr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Br=function(){};function Ur(e,t){t||(t=Pr(e));var n=e.display.barWidth,r=e.display.barHeight;zr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Sr(e),zr(e,Pr(e)),n=e.display.barWidth,r=e.display.barHeight}function zr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}Br.prototype.update=function(){return{bottom:0,right:0}},Br.prototype.setScrollLeft=function(){},Br.prototype.setScrollTop=function(){},Br.prototype.clear=function(){};var Vr={native:Rr,null:Br};function qr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&k(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Vr[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),pe(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Lr(e,t):Mr(e,t)}),e),e.display.scrollbars.addClass&&I(e.display.wrapper,e.display.scrollbars.addClass)}var Hr=0;function Wr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Hr},t=e.curOp,on?on.ops.push(t):t.ownsGroup=on={ops:[t],delayedCallbacks:[]}}function Gr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ii(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Jr(e){e.updatedDisplay=e.mustUpdate&&oi(e.cm,e.update)}function Yr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Sr(t),e.barMeasure=Pr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=_n(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Sn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-kn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Qr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=_("div","\u200b",null,"position: absolute;\n top: "+(t.top-n.viewOffset-Dn(e.display))+"px;\n height: "+(t.bottom-t.top+Sn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(n="before"==(t=t.ch?Ze(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t).sticky?Ze(t.line,t.ch+1,"before"):t);for(var o=0;o<5;o++){var a=!1,s=Gn(e,t),u=n&&n!=t?Gn(e,n):s,c=Tr(e,i={left:Math.min(s.left,u.left),top:Math.min(s.top,u.top)-r,right:Math.max(s.left,u.left),bottom:Math.max(s.bottom,u.bottom)+r}),l=e.doc.scrollTop,p=e.doc.scrollLeft;if(null!=c.scrollTop&&(Mr(e,c.scrollTop),Math.abs(e.doc.scrollTop-l)>1&&(a=!0)),null!=c.scrollLeft&&(Lr(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-p)>1&&(a=!0)),!a)break}return i}(t,at(r,e.scrollToPos.from),at(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,r=ft(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?ze(t.mode,r.state):null,u=lt(e,o,r,!0);s&&(r.state=s),o.styles=u.styles;var c=o.styleClasses,l=u.classes;l?o.styleClasses=l:c&&(o.styleClasses=null);for(var p=!a||a.length!=o.styles.length||c!=l&&(!c||!l||c.bgClass!=l.bgClass||c.textClass!=l.textClass),f=0;!p&&fn)return ni(e,e.options.workDelay),!0})),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Xr(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==hr(e))return!1;pi(e)&&(fr(e),t.dims=ir(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),xt&&(o=Rt(e.doc,o),a=Bt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=rn(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=rn(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,cr(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=Vt(We(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var c=hr(e);if(!s&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var l=function(e){if(e.hasFocus())return null;var t=N();if(!t||!F(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&F(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display="none"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return u&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var c=r.view,l=r.viewFrom,p=0;p-1&&(d=!1),cn(e,f,l,n)),d&&(A(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Xe(e.options,l)))),a=f.node.nextSibling}else{var h=gn(e,f,l,n);o.insertBefore(h,a)}l+=f.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=N()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&F(document.body,e.anchorNode)&&F(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(l),A(n.cursorDiv),A(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ni(e,400)),n.updateLineNumbers=null,!0}function ai(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=kn(e))r&&(t.visible=Ar(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Cn(e.display)-An(e),n.top)}),t.visible=Ar(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!oi(e,t))break;Sr(e);var i=Pr(e);mr(e),Ur(e,i),ci(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function si(e,t){var n=new ii(e,t);if(oi(e,n)){Sr(e),ai(e,n);var r=Pr(e);mr(e),Ur(e,r),ci(e,r),n.finish()}}function ui(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px"}function ci(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Sn(e)+"px"}function li(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=or(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;as.clientWidth,l=s.scrollHeight>s.clientHeight;if(i&&c||o&&l){if(o&&v&&u)e:for(var f=t.target,d=a.view;f!=s;f=f.parentNode)for(var h=0;h=0&&et(e,r.to())<=0)return n}return-1};var Di=function(e,t){this.anchor=e,this.head=t};function Ci(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort((function(e,t){return et(e.from(),t.from())})),n=U(t,i);for(var o=1;o0:u>=0){var c=it(s.from(),a.from()),l=rt(s.to(),a.to()),p=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Di(p?l:c,p?c:l))}}return new xi(t,n)}function wi(e,t){return new xi([new Di(e,t||e)],0)}function Si(e){return e.text?Ze(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function ki(e,t){if(et(e,t.from)<0)return e;if(et(e,t.to)<=0)return Si(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Si(t).ch-t.to.ch),Ze(n,r)}function Ai(e,t){for(var n=[],r=0;r1&&e.remove(s.line+1,h-1),e.insert(s.line+1,y)}sn(e,"change",e,t)}function Ii(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Ri(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(i,i.lastOp==r)))a=J(o.changes),0==et(t.from,t.to)&&0==et(t.from,a.to)?a.to=Si(t):o.changes.push(Pi(e,t));else{var u=J(i.done);for(u&&u.ranges||zi(e.sel,i.done),o={changes:[Pi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function Ui(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(i.done),t))?i.done[i.done.length-1]=t:zi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Ri(i.undone)}function zi(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Vi(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),(function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function qi(e){if(!e)return null;for(var t,n=0;n-1&&(J(s)[p]=c[p],delete c[p])}}}return r}function Gi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=et(t,i)<0;o!=et(n,i)<0?(i=t,t=n):o!=et(t,n)<0&&(t=n)}return new Di(i,t)}return new Di(n||t,t)}function Ki(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Xi(e,new xi([Gi(e.sel.primary(),t,n,i)],0),r)}function Ji(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(he(u,"beforeCursorEnter"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var p=u.find(r<0?1:-1),f=void 0;if((r<0?l:c)&&(p=oo(e,p,-r,p&&p.line==t.line?o:null)),p&&p.line==t.line&&(f=et(p,n))&&(r<0?f<0:f>0))return ro(e,p,t,r,i)}var d=u.find(r<0?-1:1);return(r<0?c:l)&&(d=oo(e,d,r,d.line==t.line?o:null)),d?ro(e,d,t,r,i):null}}return t}function io(e,t,n,r,i){var o=r||1,a=ro(e,t,n,o,i)||!i&&ro(e,t,n,o,!0)||ro(e,t,n,-o,i)||!i&&ro(e,t,n,-o,!0);return a||(e.cantEdit=!0,Ze(e.first,0))}function oo(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?at(e,Ze(t.line-1)):null:n>0&&t.ch==(r||We(e,t.line)).text.length?t.line0)){var l=[u,1],p=et(c.from,s.from),f=et(c.to,s.to);(p<0||!a.inclusiveLeft&&!p)&&l.push({from:c.from,to:s.from}),(f>0||!a.inclusiveRight&&!f)&&l.push({from:s.to,to:c.to}),i.splice.apply(i,l),u+=l.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)co(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else co(e,t)}}function co(e,t){if(1!=t.text.length||""!=t.text[0]||0!=et(t.from,t.to)){var n=Ai(e,t);Bi(e,t,n,e.cm?e.cm.curOp.id:NaN),fo(e,t,n,St(e,t));var r=[];Ii(e,(function(e,n){n||-1!=U(r,e.history)||(yo(e.history,t),r.push(e.history)),fo(e,t,null,St(e,t))}))}}function lo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,u="undo"==t?o.undone:o.done,c=0;c=0;--d){var h=f(d);if(h)return h.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new xi(Y(e.sel.ranges,(function(e){return new Di(Ze(e.anchor.line+t,e.anchor.ch),Ze(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){lr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:Ze(o,We(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ge(e,t.from,t.to),n||(n=Ai(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,u=o.line;e.options.lineWrapping||(u=Ye(Pt(We(r,o.line))),r.iter(u,a.line+1,(function(e){if(e==i.maxLine)return s=!0,!0}))),r.sel.contains(t.from,t.to)>-1&&ge(e),Ni(r,t,n,ar(e)),e.options.lineWrapping||(r.iter(u,o.line+t.text.length,(function(e){var t=qt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=We(e,r).stateAfter;if(i&&(!(i instanceof ut)||r+i.lookAhead1||!(this.children[0]instanceof bo))){var s=[];this.collapse(s),this.children=[new bo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Lt(e,t.line,t,n,o)||t.line!=n.line&&Lt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");xt=!0}o.addToHistory&&Bi(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,u=t.line,c=e.cm;if(e.iter(u,n.line+1,(function(e){c&&o.collapsed&&!c.options.lineWrapping&&Pt(e)==c.display.maxLine&&(s=!0),o.collapsed&&u!=t.line&&Je(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new Dt(o,u==t.line?t.ch:null,u==n.line?n.ch:null)),++u})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){Ut(e,t)&&Je(t,0)})),o.clearOnEnter&&pe(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Et=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Co,o.atomic=!0),c){if(s&&(c.curOp.updateMaxLine=!0),o.collapsed)lr(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var l=t.line;l<=n.line;l++)pr(c,l,"text");o.atomic&&to(c.doc),sn(c,"markerAdded",c,o)}return o}wo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Wr(e),ye(this,"clear")){var n=this.find();n&&sn(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=l,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&lr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&to(e.doc)),e&&sn(e,"markerCleared",e,this,r,i),t&&Gr(e),this.parent&&this.parent.clear()}},wo.prototype.find=function(e,t){var n,r;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;u--)uo(this,r[u]);s?$i(this,s):this.cm&&Or(this.cm)})),undo:ti((function(){lo(this,"undo")})),redo:ti((function(){lo(this,"redo")})),undoSelection:ti((function(){lo(this,"undo",!0)})),redoSelection:ti((function(){lo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=at(this,e),t=at(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=u.to||null==u.from&&i!=e.line||null!=u.from&&i==t.line&&u.from>=t.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n})),at(this,Ze(n,t))},indexFromPos:function(e){var t=(e=at(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var p=e.dataTransfer.getData("Text");if(p){var f;if(t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections()),Zi(t.doc,wi(n,n)),f)for(var d=0;d=0;t--)ho(e.doc,"",r[t].from,r[t].to,"+delete");Or(e)}))}function $o(e,t,n){var r=ie(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Xo(e,t,n){var r=$o(e,t.ch,n);return null==r?null:new Ze(t.line,r,n<0?"after":"before")}function Zo(e,t,n,r,i){if(e){"rtl"==t.doc.direction&&(i=-i);var o=ce(n,t.doc.direction);if(o){var a,s=i<0?J(o):o[0],u=i<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var c=Fn(t,n);a=i<0?n.text.length-1:0;var l=Nn(t,c,a).top;a=oe((function(e){return Nn(t,c,e).top==l}),i<0==(1==s.level)?s.from:s.to-1,a),"before"==u&&(a=$o(n,a,1))}else a=i<0?s.to:s.from;return new Ze(r,a,u)}}return new Ze(r,i<0?n.text.length:0,i<0?"before":"after")}Vo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Vo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Vo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Vo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Vo.default=v?Vo.macDefault:Vo.pcDefault;var ea={selectAll:ao,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),V)},killLine:function(e){return Qo(e,(function(t){if(t.empty()){var n=We(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new Ze(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),Ze(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=We(e.doc,i.line-1).text;a&&(i=new Ze(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),Ze(i.line-1,a.length-1),i,"+transpose"))}n.push(new Di(i,i))}e.setSelections(n)}))},newlineAndIndent:function(e){return Xr(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r-1&&(et((i=c.ranges[i]).from(),t)<0||t.xRel>0)&&(et(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,c=Zr(e,(function(t){u&&(i.scroller.draggable=!1),e.state.draggingText=!1,de(i.wrapper.ownerDocument,"mouseup",c),de(i.wrapper.ownerDocument,"mousemove",l),de(i.scroller,"dragstart",p),de(i.scroller,"drop",c),o||(be(t),r.addNew||Ki(e.doc,n,null,null,r.extend),u&&!f||a&&9==s?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),l=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},p=function(){return o=!0};u&&(i.scroller.draggable=!0),e.state.draggingText=c,c.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),pe(i.wrapper.ownerDocument,"mouseup",c),pe(i.wrapper.ownerDocument,"mousemove",l),pe(i.scroller,"dragstart",p),pe(i.scroller,"drop",c),Dr(e),setTimeout((function(){return i.input.focus()}),20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;be(t);var a,s,u=o.sel,c=u.ranges;if(r.addNew&&!r.extend?(s=o.sel.contains(n),a=s>-1?c[s]:new Di(n,n)):(a=o.sel.primary(),s=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(a=new Di(n,n)),n=ur(e,t,!0,!0),s=-1;else{var l=ga(e,n,r.unit);a=r.extend?Gi(a,l.anchor,l.head,r.extend):l}r.addNew?-1==s?(s=c.length,Xi(o,Ci(e,c.concat([a]),s),{scroll:!1,origin:"*mouse"})):c.length>1&&c[s].empty()&&"char"==r.unit&&!r.extend?(Xi(o,Ci(e,c.slice(0,s).concat(c.slice(s+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Yi(o,s,a,q):(s=0,Xi(o,new xi([a],0),q),u=o.sel);var p=n;function f(t){if(0!=et(p,t))if(p=t,"rectangle"==r.unit){for(var i=[],c=e.options.tabSize,l=R(We(o,n.line).text,n.ch,c),f=R(We(o,t.line).text,t.ch,c),d=Math.min(l,f),h=Math.max(l,f),m=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=g;m++){var y=We(o,m).text,v=W(y,d,c);d==h?i.push(new Di(Ze(m,v),Ze(m,v))):y.length>v&&i.push(new Di(Ze(m,v),Ze(m,W(y,h,c))))}i.length||i.push(new Di(n,n)),Xi(o,Ci(e,u.ranges.slice(0,s).concat(i),s),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,E=a,x=ga(e,t,r.unit),D=E.anchor;et(x.anchor,D)>0?(b=x.head,D=it(E.from(),x.anchor)):(b=x.anchor,D=rt(E.to(),x.head));var C=u.ranges.slice(0);C[s]=function(e,t){var n=t.anchor,r=t.head,i=We(e.doc,n.line);if(0==et(n,r)&&n.sticky==r.sticky)return t;var o=ce(i);if(!o)return t;var a=se(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var u,c=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==c||c==o.length)return t;if(r.line!=n.line)u=(r.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var l=se(o,r.ch,r.sticky),p=l-a||(r.ch-n.ch)*(1==s.level?-1:1);u=l==c-1||l==c?p<0:p>0}var f=o[c+(u?-1:0)],d=u==(1==f.level),h=d?f.from:f.to,m=d?"after":"before";return n.ch==h&&n.sticky==m?t:new Di(new Ze(n.line,h,m),r)}(e,new Di(at(o,D),b)),Xi(o,Ci(e,C,s),q)}}var d=i.wrapper.getBoundingClientRect(),h=0;function m(t){e.state.selectingText=!1,h=1/0,t&&(be(t),i.input.focus()),de(i.wrapper.ownerDocument,"mousemove",g),de(i.wrapper.ownerDocument,"mouseup",y),o.history.lastSelOrigin=null}var g=Zr(e,(function(t){0!==t.buttons&&we(t)?function t(n){var a=++h,s=ur(e,n,!0,"rectangle"==r.unit);if(s)if(0!=et(s,p)){e.curOp.focus=N(),f(s);var u=Ar(i,o);(s.line>=u.to||s.lined.bottom?20:0;c&&setTimeout(Zr(e,(function(){h==a&&(i.scroller.scrollTop+=c,t(n))})),50)}}(t):m(t)})),y=Zr(e,m);e.state.selectingText=y,pe(i.wrapper.ownerDocument,"mousemove",g),pe(i.wrapper.ownerDocument,"mouseup",y)}(e,r,t,o)}(t,r,o,e):Ce(e)==n.scroller&&be(e):2==i?(r&&Ki(t.doc,r),setTimeout((function(){return n.input.focus()}),20)):3==i&&(C?t.display.input.onContextMenu(e):Dr(t)))}}function ga(e,t,n){if("char"==n)return new Di(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Di(Ze(t.line,0),at(e.doc,Ze(t.line+1,0)));var r=n(e,t);return new Di(r.from,r.to)}function ya(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(l){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ye(e,n))return xe(t);o-=s.top-a.viewOffset;for(var u=0;u=i)return he(e,n,e,Qe(e.doc,o),e.display.gutterSpecs[u].className,t),xe(t)}}function va(e,t){return ya(e,t,"gutterClick",!0)}function ba(e,t){xn(e.display,t)||function(e,t){return!!ye(e,"gutterContextMenu")&&ya(e,t,"gutterContextMenu",!1)}(e,t)||me(e,t,"contextmenu")||C||e.display.input.onContextMenu(t)}function Ea(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Bn(e)}ha.prototype.compare=function(e,t,n){return this.time+400>e&&0==et(t,this.pos)&&n==this.button};var xa={toString:function(){return"CodeMirror.Init"}},Da={},Ca={};function wa(e,t,n){if(!t!=!(n&&n!=xa)){var r=e.display.dragFunctions,i=t?pe:de;i(e.display.scroller,"dragstart",r.start),i(e.display.scroller,"dragenter",r.enter),i(e.display.scroller,"dragover",r.over),i(e.display.scroller,"dragleave",r.leave),i(e.display.scroller,"drop",r.drop)}}function Sa(e){e.options.lineWrapping?(I(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(k(e.display.wrapper,"CodeMirror-wrap"),Ht(e)),sr(e),lr(e),Bn(e),setTimeout((function(){return Ur(e)}),100)}function ka(e,t){var n=this;if(!(this instanceof ka))return new ka(e,t);this.options=t=t?P(t):{},P(Da,t,!1);var r=t.value;"string"==typeof r?r=new Oo(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new ka.inputStyles[t.inputStyle](this),o=this.display=new mi(e,r,i,t);for(var c in o.wrapper.CodeMirror=this,Ea(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),qr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;pe(t.scroller,"mousedown",Zr(e,ma)),pe(t.scroller,"dblclick",a&&s<11?Zr(e,(function(t){if(!me(e,t)){var n=ur(e,t);if(n&&!va(e,t)&&!xn(e.display,t)){be(t);var r=e.findWordAt(n);Ki(e.doc,r.anchor,r.head)}}})):function(t){return me(e,t)||be(t)}),pe(t.scroller,"contextmenu",(function(t){return ba(e,t)})),pe(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||ba(e,n)}));var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}pe(t.scroller,"touchstart",(function(i){if(!me(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!va(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),pe(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),pe(t.scroller,"touchend",(function(n){var r=t.activeTouch;if(r&&!xn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,s=e.coordsChar(t.activeTouch,"page");a=!r.prev||o(r,r.prev)?new Di(s,s):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(s):new Di(Ze(s.line,0),at(e.doc,Ze(s.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),be(n)}i()})),pe(t.scroller,"touchcancel",i),pe(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Mr(e,t.scroller.scrollTop),Lr(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))})),pe(t.scroller,"mousewheel",(function(t){return Ei(e,t)})),pe(t.scroller,"DOMMouseScroll",(function(t){return Ei(e,t)})),pe(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){me(e,t)||De(t)},over:function(t){me(e,t)||(function(e,t){var n=ur(e,t);if(n){var r=document.createDocumentFragment();yr(e,n,r),e.display.dragCursor||(e.display.dragCursor=_("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,r)}}(e,t),De(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Fo<100))De(t);else if(!me(e,t)&&!xn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!f)){var n=_("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",p&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),p&&n.parentNode.removeChild(n)}}(e,t)},drop:Zr(e,No),leave:function(t){me(e,t)||Io(e)}};var u=t.input.getField();pe(u,"keyup",(function(t){return la.call(e,t)})),pe(u,"keydown",Zr(e,ca)),pe(u,"keypress",Zr(e,pa)),pe(u,"focus",(function(t){return Cr(e,t)})),pe(u,"blur",(function(t){return wr(e,t)}))}(this),Lo(),Wr(this),this.curOp.forceUpdate=!0,Mi(this,r),t.autofocus&&!y||this.hasFocus()?setTimeout(L(Cr,this),20):wr(this),Ca)Ca.hasOwnProperty(c)&&Ca[c](this,t[c],xa);pi(this),t.finishInit&&t.finishInit(this);for(var l=0;l150)){if(!r)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?R(We(o,t-1).text,null,a):0:"add"==n?c=u+e.options.indentUnit:"subtract"==n?c=u-e.options.indentUnit:"number"==typeof n&&(c=u+n),c=Math.max(0,c);var p="",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d)f+=a,p+="\t";if(fa,u=Oe(t),c=null;if(s&&r.ranges.length>1)if(_a&&_a.text.join("\n")==t){if(r.ranges.length%_a.text.length==0){c=[];for(var l=0;l<_a.text.length;l++)c.push(o.splitLines(_a.text[l]))}}else u.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(c=Y(u,(function(e){return[e]})));for(var p=e.curOp.updateInput,f=r.ranges.length-1;f>=0;f--){var d=r.ranges[f],h=d.from(),m=d.to();d.empty()&&(n&&n>0?h=Ze(h.line,h.ch-n):e.state.overwrite&&!s?m=Ze(m.line,Math.min(We(o,m.line).text.length,m.ch+J(u).length)):s&&_a&&_a.lineWise&&_a.text.join("\n")==t&&(h=m=Ze(h.line,0)));var g={from:h,to:m,text:c?c[f%c.length]:u,origin:i||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};uo(e.doc,g),sn(e,"inputRead",e,g)}t&&!s&&Ia(e,t),Or(e),e.curOp.updateInput<2&&(e.curOp.updateInput=p),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Na(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Xr(t,(function(){return Fa(t,n,0,null,"paste")})),!0}function Ia(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=Ta(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(We(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Ta(e,i.head.line,"smart"));a&&sn(e,"electricInput",e,i.head.line)}}}function Ma(e){for(var t=[],n=[],r=0;r=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=se(i,n.ch,n.sticky),a=i[o];if("ltr"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&f>=l.begin)){var d=p?"before":"after";return new Ze(n.line,f,d)}}var h=function(e,t,r){for(var o=function(e,t){return t?new Ze(n.line,u(e,1),"before"):new Ze(n.line,e,"after")};e>=0&&e0==(1!=a.level),c=s?r.begin:u(r.end,-1);if(a.from<=c&&c0?l.end:u(l.begin,-1);return null==g||r>0&&g==t.text.length||!(m=h(r>0?0:i.length-1,r,c(g)))?null:m}(e.cm,s,t,n):Xo(s,t,n))){if(r||!function(){var n=t.line+u;return!(n=e.first+e.size)&&(t=new Ze(n,t.ch,t.sticky),s=We(e,n))}())return!1;t=Zo(i,e.cm,s,t.line,u)}else t=o;return!0}if("char"==r)c();else if("column"==r)c(!0);else if("word"==r||"group"==r)for(var l=null,p="group"==r,f=e.cm&&e.cm.getHelper(t,"wordChars"),d=!0;!(n<0)||c(!d);d=!1){var h=s.text.charAt(t.ch)||"\n",m=ee(h,f)?"w":p&&"\n"==h?"n":!p||/\s/.test(h)?null:"p";if(!p||d||m||(m="s"),l&&l!=m){n<0&&(n=1,c(),t.sticky="after");break}if(m&&(l=m),n>0&&!c(!d))break}var g=io(e,t,o,a,!0);return tt(o,g)&&(g.hitSide=!0),g}function Ra(e,t,n,r){var i,o,a=e.doc,s=t.left;if("page"==r){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(u-.5*nr(e.display),3);i=(n>0?t.bottom:t.top)+n*c}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Ba=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Ua(e,t){var n=On(e,t.line);if(!n||n.hidden)return null;var r=We(e.doc,t.line),i=Tn(n,r,t.line),o=ce(r,e.doc.direction),a="left";o&&(a=se(o,t.ch)%2?"right":"left");var s=jn(i.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function za(e,t){return t&&(e.bad=!0),e}function Va(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return za(e.clipPos(Ze(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&Ua(t,i)||{node:u[0].measure.map[2],offset:0},l=o.liner.firstLine()&&(a=Ze(a.line-1,We(r.doc,a.line-1).length)),s.ch==We(r.doc,s.line).text.length&&s.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=cr(r,a.line))?(t=Ye(i.view[0].line),n=i.view[0].node):(t=Ye(i.view[e].line),n=i.view[e-1].node.nextSibling);var u,c,l=cr(r,s.line);if(l==i.view.length-1?(u=i.viewTo-1,c=i.lineDiv.lastChild):(u=Ye(i.view[l+1].line)-1,c=i.view[l+1].node.previousSibling),!n)return!1;for(var p=r.doc.splitLines(function(e,t,n,r,i){var o="",a=!1,s=e.doc.lineSeparator(),u=!1;function c(){a&&(o+=s,u&&(o+=s),a=u=!1)}function l(e){e&&(c(),o+=e)}function p(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void l(n);var o,f=t.getAttribute("cm-marker");if(f){var d=e.findMarks(Ze(r,0),Ze(i+1,0),(g=+f,function(e){return e.id==g}));return void(d.length&&(o=d[0].find(0))&&l(Ge(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&c();for(var m=0;m1&&f.length>1;)if(J(p)==J(f))p.pop(),f.pop(),u--;else{if(p[0]!=f[0])break;p.shift(),f.shift(),t++}for(var d=0,h=0,m=p[0],g=f[0],y=Math.min(m.length,g.length);da.ch&&v.charCodeAt(v.length-h-1)==b.charCodeAt(b.length-h-1);)d--,h++;p[p.length-1]=v.slice(0,v.length-h).replace(/^\u200b+/,""),p[0]=p[0].slice(d).replace(/\u200b+$/,"");var x=Ze(t,d),D=Ze(u,f.length?J(f).length-h:0);return p.length>1||p[0]||et(x,D)?(ho(r.doc,p,x,D,"+input"),!0):void 0},Ba.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ba.prototype.reset=function(){this.forceCompositionEnd()},Ba.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ba.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},Ba.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Xr(this.cm,(function(){return lr(e.cm)}))},Ba.prototype.setUneditable=function(e){e.contentEditable="false"},Ba.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Zr(this.cm,Fa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Ba.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Ba.prototype.onContextMenu=function(){},Ba.prototype.resetPosition=function(){},Ba.prototype.needsContentAttribute=!0;var Ha=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};Ha.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!me(r,e)){if(r.somethingSelected())Oa({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=Ma(r);Oa({lineWise:!0,text:t.text}),"cut"==e.type?r.setSelections(t.ranges,null,V):(n.prevInput="",i.value=t.text.join("\n"),j(i))}"cut"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width="0px"),pe(i,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),pe(i,"paste",(function(e){me(r,e)||Na(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pe(i,"cut",o),pe(i,"copy",o),pe(e.scroller,"paste",(function(t){if(!xn(e,t)&&!me(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),pe(e.lineSpace,"selectstart",(function(t){xn(e,t)||be(t)})),pe(i,"compositionstart",(function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}})),pe(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Ha.prototype.createField=function(e){this.wrapper=La(),this.textarea=this.wrapper.firstChild},Ha.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Ha.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=gr(e);if(e.options.moveInputWithCursor){var i=Gn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Ha.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ha.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&j(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Ha.prototype.getField=function(){return this.textarea},Ha.prototype.supportsTouch=function(){return!1},Ha.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||N()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ha.prototype.blur=function(){this.textarea.blur()},Ha.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ha.prototype.receivedFocus=function(){this.slowPoll()},Ha.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Ha.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Ha.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Fe(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||v&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="\u200b"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var u=0,c=Math.min(r.length,i.length);u1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Ha.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ha.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Ha.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ur(n,e),c=r.scroller.scrollTop;if(o&&!p){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&Zr(n,Xi)(n.doc,wi(o),V);var l,f=i.style.cssText,d=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",u&&(l=window.scrollY),r.input.focus(),u&&window.scrollTo(null,l),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=g,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&m(),C?(De(e),pe(window,"mouseup",(function e(){de(window,"mouseup",e),setTimeout(g,20)}))):setTimeout(g,50)}function m(){if(null!=i.selectionStart){var e=n.somethingSelected(),o="\u200b"+(e?i.value:"");i.value="\u21da",i.value=o,t.prevInput=e?"":"\u200b",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function g(){if(t.contextMenuPending==g&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=f,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!a||a&&s<9)&&m();var e=0;r.detectingSelectAll=setTimeout((function o(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"\u200b"==t.prevInput?Zr(n,ao)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())}),200)}}},Ha.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},Ha.prototype.setUneditable=function(){},Ha.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=xa&&i(e,t,n)}:i)}e.defineOption=n,e.Init=xa,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,_i(e)}),!0),n("indentUnit",2,_i,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Oi(e),Bn(e),lr(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter((function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(Ze(r,o))}r++}));for(var i=n.length-1;i>=0;i--)ho(e.doc,t,n[i],Ze(n[i].line,n[i].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=xa&&e.refresh()})),n("specialCharPlaceholder",$t,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!E),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Ea(e),hi(e)}),!0),n("keyMap","default",(function(e,t,n){var r=Yo(t),i=n!=xa&&Yo(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Sa,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=fi(t,e.options.lineNumbers),hi(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?or(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return Ur(e)}),!0),n("scrollbarStyle","native",(function(e){qr(e),Ur(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=fi(e.options.gutters,t),hi(e)}),!0),n("firstLineNumber",1,hi,!0),n("lineNumberFormatter",(function(e){return e}),hi,!0),n("showCursorWhenSelecting",!1,mr,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(wr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,wa),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,mr,!0),n("singleCursorHeightPerLine",!0,mr,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Oi,!0),n("addModeClass",!1,Oi,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Oi,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(ka),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&Zr(this,t[e])(this,n,i),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Ta(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Or(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=s;u0&&Yi(this.doc,r,new Di(o,c[r].to()),V)}}})),getTokenAt:function(e,t){return yt(this,e,t)},getLineTokens:function(e,t){return yt(this,Ze(e),t,!0)},getTokenTypeAt:function(e){e=at(this.doc,e);var t,n=pt(this,We(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=We(this.doc,e)}else r=e;return qn(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-Vt(r):0)},defaultTextHeight:function(){return nr(this.display)},defaultCharWidth:function(){return rr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o=this.display,a=(e=Gn(this,at(this.doc,e))).bottom,s=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),o.sizer.appendChild(t),"over"==r)a=e.top;else if("above"==r||"near"==r){var u=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>u)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=u&&(a=e.bottom),s+t.offsetWidth>c&&(s=c-t.offsetWidth)}t.style.top=a+"px",t.style.left=t.style.right="","right"==i?(s=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?s=0:"middle"==i&&(s=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=s+"px"),n&&function(e,t){var n=Tr(e,t);null!=n.scrollTop&&Mr(e,n.scrollTop),null!=n.scrollLeft&&Lr(e,n.scrollLeft)}(this,{left:s,top:a,right:s+t.offsetWidth,bottom:a+t.offsetHeight})},triggerOnKeyDown:ei(ca),triggerOnKeyPress:ei(pa),triggerOnKeyUp:la,triggerOnMouseDown:ei(ma),execCommand:function(e){if(ea.hasOwnProperty(e))return ea[e].call(null,this)},triggerElectric:ei((function(e){Ia(this,e)})),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=at(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;r.5||this.options.lineWrapping)&&sr(this),he(this,"refresh",this)})),swapDoc:ei((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Mi(this,e),Bn(this),this.display.input.reset(),Fr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,sn(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ve(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(ka);var Wa="iter insert remove copy getEditor constructor".split(" ");for(var Ga in Oo.prototype)Oo.prototype.hasOwnProperty(Ga)&&U(Wa,Ga)<0&&(ka.prototype[Ga]=function(e){return function(){return e.apply(this.doc,arguments)}}(Oo.prototype[Ga]));return ve(Oo),ka.inputStyles={textarea:Ha,contenteditable:Ba},ka.defineMode=function(e){ka.defaults.mode||"null"==e||(ka.defaults.mode=e),Le.apply(this,arguments)},ka.defineMIME=function(e,t){je[e]=t},ka.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),ka.defineMIME("text/plain","null"),ka.defineExtension=function(e,t){ka.prototype[e]=t},ka.defineDocExtension=function(e,t){Oo.prototype[e]=t},ka.fromTextArea=function(e,t){if((t=t?P(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=N();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(pe(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(u){}}t.finishInit=function(n){n.save=r,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,r(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(de(e.form,"submit",r),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display="none";var s=ka((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=de,e.on=pe,e.wheelEventPixels=bi,e.Doc=Oo,e.splitLines=Oe,e.countColumn=R,e.findColumn=W,e.isWordChar=Z,e.Pass=z,e.signal=he,e.Line=Wt,e.changeEnd=Si,e.scrollbarModel=Vr,e.Pos=Ze,e.cmpPos=et,e.modes=Me,e.mimeModes=je,e.resolveMode=Pe,e.getMode=Re,e.modeExtensions=Be,e.extendMode=Ue,e.copyState=ze,e.startState=qe,e.innerMode=Ve,e.commands=ea,e.keyMap=Vo,e.keyName=Jo,e.isModifierKey=Go,e.lookupKey=Wo,e.normalizeKeyMap=Ho,e.StringStream=He,e.SharedTextMarker=ko,e.TextMarker=wo,e.LineWidget=xo,e.e_preventDefault=be,e.e_stopPropagation=Ee,e.e_stop=De,e.addClass=I,e.contains=F,e.rmClass=k,e.keyNames=Ro}(ka),ka.version="5.55.0",ka}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"e",(function(){return u})),n.d(t,"f",(function(){return c})),n.d(t,"g",(function(){return h})),n.d(t,"h",(function(){return l})),n.d(t,"i",(function(){return p})),n.d(t,"j",(function(){return f})),n.d(t,"k",(function(){return d}));var r=function(e){return"@@redux-saga/"+e},i=r("CANCEL_PROMISE"),o=r("CHANNEL_END"),a=r("IO"),s=r("MATCH"),u=r("MULTICAST"),c=r("SAGA_ACTION"),l=r("SELF_CANCELLATION"),p=r("TASK"),f=r("TASK_CANCEL"),d=r("TERMINATE"),h=r("LOCATION")},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return s}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2&&void 0!==arguments[2]?arguments[2]:L;return P(e,t,n)}function L(e,t,n){var r="Invalid value "+Object(l.a)(t);throw e.length>0&&(r+=' at "value'.concat(T(e),'": ')),n.message=r+": "+n.message,n}function P(e,t,n,r){if(Object(C.L)(t))return null!=e?P(e,t.ofType,n,r):void n(y(r),e,new v.a("Expected non-nullable type ".concat(Object(l.a)(t)," not to be null.")));if(null==e)return null;if(Object(C.J)(t)){var i=t.ofType;if(Object(c.e)(e)){var o=[];return Object(c.b)(e,(function(e,t){o.push(P(e,i,n,g(r,t)))})),o}return[P(e,i,n,r)]}if(Object(C.F)(t)){if(!Object(m.a)(e))return void n(y(r),e,new v.a("Expected type ".concat(t.name," to be an object.")));for(var a={},s=t.getFields(),u=0,f=Object(O.a)(s);u0&&(i+=' at "'.concat(s).concat(T(e),'"')),r(new v.a(i+"; "+n.message,a,void 0,void 0,void 0,n.originalError))}))},a=0;a=i)throw new v.a("Too many errors processing variables, error limit reached. Execution aborted.");o.push(e)}));if(0===o.length)return{coerced:a}}catch(s){o.push(s)}return{errors:o}}function B(e,t,n){for(var r={},i=Object(A.a)(t.arguments||[],(function(e){return e.name.value})),o=0,a=e.args;o0)return{errors:d};try{t=Object(a.a)(r)}catch(ft){return{errors:[ft]}}var h=Object(s.c)(n,t);return h.length>0?{errors:h}:V({schema:n,document:t,rootValue:i,contextValue:o,variableValues:c,operationName:l,fieldResolver:p,typeResolver:f})}var he=n(50),me=n(14),ge=n(82),ye=n(96),ve=n(142),be=n(97),Ee=n(5),xe=n(23),De=n(11),Ce=n(52);function we(e,t,n){var r,i,o,a,s,u,l=Object(c.c)(e);function p(e){return e.done?e:Se(e.value,t).then(ke,i)}if("function"===typeof l.return&&(r=l.return,i=function(e){var t=function(){return Promise.reject(e)};return r.call(l).then(t,t)}),n){var f=n;o=function(e){return Se(e,f).then(ke,i)}}return a={next:function(){return l.next().then(p,o)},return:function(){return r?r.call(l).then(p,o):Promise.resolve({value:void 0,done:!0})},throw:function(e){return"function"===typeof l.throw?l.throw(e).then(p,o):Promise.reject(e).catch(i)}},s=c.a,u=function(){return this},s in a?Object.defineProperty(a,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):a[s]=u,a}function Se(e,t){return new Promise((function(n){return n(t(e))}))}function ke(e){return{value:e,done:!1}}function Ae(e,t,n,r,i,o,a,s){return _e(1===arguments.length?e:{schema:e,document:t,rootValue:n,contextValue:r,variableValues:i,operationName:o,fieldResolver:a,subscribeFieldResolver:s})}function Te(e){if(e instanceof v.a)return{errors:[e]};throw e}function _e(e){var t=e.schema,n=e.document,r=e.rootValue,i=e.contextValue,o=e.variableValues,a=e.operationName,s=e.fieldResolver,u=e.subscribeFieldResolver,l=Oe(t,n,r,i,o,a,u),p=function(e){return V(t,n,e,i,o,a,s)};return l.then((function(e){return Object(c.d)(e)?we(e,p,Te):e}))}function Oe(e,t,n,r,i,o,a){H(e,t,i);try{var s=W(e,t,n,r,i,o,a);if(Array.isArray(s))return Promise.resolve({errors:s});var u=S(e,s.operation),p=K(s,u,s.operation.selectionSet,Object.create(null),Object.create(null)),f=Object.keys(p)[0],d=p[f],h=d[0].name.value,m=le(e,u,h);if(!m)throw new v.a('The subscription field "'.concat(h,'" is not defined.'),d);var E=m.subscribe||s.fieldResolver,x=g(void 0,f),D=$(s,m,d,u,x),C=X(s,m,d,E,n,D);return Promise.resolve(C).then((function(e){if(e instanceof Error)return{errors:[b(e,d,y(x))]};if(Object(c.d)(e))return e;throw new Error("Subscription field must return Async Iterable. Received: "+Object(l.a)(e))}))}catch(w){return w instanceof v.a?Promise.resolve({errors:[w]}):Promise.reject(w)}}var Fe=n(98),Ne=n(143),Ie=n(118),Me=n(232),je=n(229),Le=n(147),Pe=n(145),Re=n(234),Be=n(144),Ue=n(227),ze=n(237),Ve=n(239),qe=n(235),He=n(240),We=n(242),Ge=n(236),Ke=n(149),Je=n(231),Ye=n(228),Qe=n(148),$e=n(146),Xe=n(233),Ze=n(150),et=n(226),tt=n(238),nt=n(119),rt=n(230),it=n(241),ot=n(243),at=n(244),st=n(245),ut=n(246),ct=n(247),lt=n(248),pt=n(249),ft=n(48);function dt(e){e||Object(f.a)(0,"Received null or undefined error.");var t=e.message||"An unknown error occurred.",n=e.locations,r=e.path,i=e.extensions;return i?{message:t,locations:n,path:r,extensions:i}:{message:t,locations:n,path:r}}function ht(e){var t=!(e&&!1===e.descriptions);return"\n query IntrospectionQuery {\n __schema {\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ".concat(t?"description":"","\n locations\n args {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ").concat(t?"description":"","\n fields(includeDeprecated: true) {\n name\n ").concat(t?"description":"","\n args {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ").concat(t?"description":"","\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ").concat(t?"description":"","\n type { ...TypeRef }\n defaultValue\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n ")}var mt=ht(),gt=n(268);function yt(e,t){var n=V(e,Object(a.a)(ht(t)));return!o(n)&&!n.errors&&n.data||Object(p.a)(0),n.data}var vt=n(30);function bt(e,t){Object(m.a)(e)&&Object(m.a)(e.__schema)||Object(f.a)(0,'Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: '+Object(l.a)(e));for(var n=e.__schema,r=Object(vt.a)(n.types,(function(e){return e.name}),(function(e){return function(e){if(e&&e.name&&e.kind)switch(e.kind){case x.TypeKind.SCALAR:return n=e,new C.g({name:n.name,description:n.description});case x.TypeKind.OBJECT:return function(e){if(!e.interfaces)throw new Error("Introspection result missing interfaces: "+Object(l.a)(e));return new C.f({name:e.name,description:e.description,interfaces:function(){return e.interfaces.map(v)},fields:function(){return b(e)}})}(e);case x.TypeKind.INTERFACE:return t=e,new C.c({name:t.name,description:t.description,fields:function(){return b(t)}});case x.TypeKind.UNION:return function(e){if(!e.possibleTypes)throw new Error("Introspection result missing possibleTypes: "+Object(l.a)(e));return new C.h({name:e.name,description:e.description,types:function(){return e.possibleTypes.map(y)}})}(e);case x.TypeKind.ENUM:return function(e){if(!e.enumValues)throw new Error("Introspection result missing enumValues: "+Object(l.a)(e));return new C.a({name:e.name,description:e.description,values:Object(vt.a)(e.enumValues,(function(e){return e.name}),(function(e){return{description:e.description,deprecationReason:e.deprecationReason}}))})}(e);case x.TypeKind.INPUT_OBJECT:return function(e){if(!e.inputFields)throw new Error("Introspection result missing inputFields: "+Object(l.a)(e));return new C.b({name:e.name,description:e.description,fields:function(){return E(e.inputFields)}})}(e)}var t;var n;throw new Error("Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema:"+Object(l.a)(e))}(e)})),i=0,o=[].concat(me.g,x.introspectionTypes);i0?function(){return n.map((function(e){return t.getNamedType(e)}))}:[],o=r&&r.length>0?function(){return wt(r,(function(e){return t.buildField(e)}))}:Object.create(null);return new C.f({name:e.name.value,description:kt(e,this._options),interfaces:i,fields:o,astNode:e})},t._makeInterfaceDef=function(e){var t=this,n=e.fields,r=n&&n.length>0?function(){return wt(n,(function(e){return t.buildField(e)}))}:Object.create(null);return new C.c({name:e.name.value,description:kt(e,this._options),fields:r,astNode:e})},t._makeEnumDef=function(e){var t=this,n=e.values||[];return new C.a({name:e.name.value,description:kt(e,this._options),values:wt(n,(function(e){return t.buildEnumValue(e)})),astNode:e})},t._makeUnionDef=function(e){var t=this,n=e.types,r=n&&n.length>0?function(){return n.map((function(e){return t.getNamedType(e)}))}:[];return new C.h({name:e.name.value,description:kt(e,this._options),types:r,astNode:e})},t._makeScalarDef=function(e){return new C.g({name:e.name.value,description:kt(e,this._options),astNode:e})},t._makeInputObjectDef=function(e){var t=this,n=e.fields;return new C.b({name:e.name.value,description:kt(e,this._options),fields:n?function(){return wt(n,(function(e){return t.buildInputField(e)}))}:Object.create(null),astNode:e})},e}();function wt(e,t){return Object(vt.a)(e,(function(e){return e.name.value}),t)}function St(e){var t=U(D.b,e);return t&&t.reason}function kt(e,t){if(e.description)return e.description.value;if(t&&t.commentDescriptions){var n=function(e){var t=e.loc;if(!t)return;var n=[],r=t.startToken.prev;for(;r&&r.kind===Ee.a.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);n.push(i),r=r.prev}return n.reverse().join("\n")}(e);if(void 0!==n)return Object(Et.a)("\n"+n)}}function At(e,t){return xt(Object(a.a)(e,t),t)}var Tt=n(53),_t=n(58);function Ot(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:"";return 0===t.length?"":t.every((function(e){return!e.description}))?"("+t.map($t).join(", ")+")":"(\n"+t.map((function(t,r){return Zt(e,t," "+n,!r)+" "+n+$t(t)})).join("\n")+"\n"+n+")"}function $t(e){var t=Object(zt.a)(e.defaultValue,e.type),n=e.name+": "+String(e.type);return t&&(n+=" = ".concat(Object(_.print)(t))),n}function Xt(e){if(!e.isDeprecated)return"";var t=e.deprecationReason,n=Object(zt.a)(t,me.e);return n&&""!==t&&t!==D.a?" @deprecated(reason: "+Object(_.print)(n)+")":" @deprecated"}function Zt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t.description)return"";var i=tn(t.description,120-n.length);if(e&&e.commentDescriptions)return en(i,n,r);var o=i.join("\n"),a=o.length>70,s=Object(Et.c)(o,"",a),u=n&&!r?"\n"+n:n;return u+s.replace(/\n/g,"\n"+n)+"\n"}function en(e,t,n){for(var r=t&&!n?"\n":"",i=0;i0&&(a+=' at "value'.concat(T(s),'"')),i.push(new v.a(a+": "+o.message,n,void 0,void 0,void 0,o.originalError))}));return i.length>0?{errors:i,value:void 0}:{errors:void 0,value:o}}function an(e,t){var n=on(e,t).errors;return n?n.map((function(e){return e.message})):[]}function sn(e,t){var n=new he.a({}),r={kind:E.a.DOCUMENT,definitions:[]},i=new rn.a(n,void 0,e),o=new Fe.b(n,r,i),a=Object(nt.a)(o);return Object(xe.c)(t,Object(xe.e)(i,a)),o.getErrors()}function un(e){return{kind:"Document",definitions:Object(Tt.a)(e,(function(e){return e.definitions}))}}function cn(e){var t,n=[],r=Object.create(null),i=new Map,o=Object.create(null),a=0;Object(xe.c)(e,{OperationDefinition:function(e){t=ln(e),n.push(e),i.set(e,a++)},FragmentDefinition:function(e){t=e.name.value,r[t]=e,i.set(e,a++)},FragmentSpread:function(e){var n=e.name.value;(o[t]||(o[t]=Object.create(null)))[n]=!0}});for(var s=Object.create(null),u=0;u0&&(n="\n"+n);var i=n[n.length-1];return('"'===i&&'\\"""'!==n.slice(-4)||"\\"===i)&&(n+="\n"),'"""'+n+'"""'}var hn=n(64),mn=n(225);function gn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vn=Object.freeze({TYPE_REMOVED:"TYPE_REMOVED",TYPE_CHANGED_KIND:"TYPE_CHANGED_KIND",TYPE_REMOVED_FROM_UNION:"TYPE_REMOVED_FROM_UNION",VALUE_REMOVED_FROM_ENUM:"VALUE_REMOVED_FROM_ENUM",REQUIRED_INPUT_FIELD_ADDED:"REQUIRED_INPUT_FIELD_ADDED",INTERFACE_REMOVED_FROM_OBJECT:"INTERFACE_REMOVED_FROM_OBJECT",FIELD_REMOVED:"FIELD_REMOVED",FIELD_CHANGED_KIND:"FIELD_CHANGED_KIND",REQUIRED_ARG_ADDED:"REQUIRED_ARG_ADDED",ARG_REMOVED:"ARG_REMOVED",ARG_CHANGED_KIND:"ARG_CHANGED_KIND",DIRECTIVE_REMOVED:"DIRECTIVE_REMOVED",DIRECTIVE_ARG_REMOVED:"DIRECTIVE_ARG_REMOVED",REQUIRED_DIRECTIVE_ARG_ADDED:"REQUIRED_DIRECTIVE_ARG_ADDED",DIRECTIVE_LOCATION_REMOVED:"DIRECTIVE_LOCATION_REMOVED"}),bn=Object.freeze({VALUE_ADDED_TO_ENUM:"VALUE_ADDED_TO_ENUM",TYPE_ADDED_TO_UNION:"TYPE_ADDED_TO_UNION",OPTIONAL_INPUT_FIELD_ADDED:"OPTIONAL_INPUT_FIELD_ADDED",OPTIONAL_ARG_ADDED:"OPTIONAL_ARG_ADDED",INTERFACE_ADDED_TO_OBJECT:"INTERFACE_ADDED_TO_OBJECT",ARG_DEFAULT_VALUE_CHANGE:"ARG_DEFAULT_VALUE_CHANGE"});function En(e,t){return Dn(e,t).filter((function(e){return e.type in vn}))}function xn(e,t){return Dn(e,t).filter((function(e){return e.type in bn}))}function Dn(e,t){return[].concat(function(e,t){for(var n=[],r=In(Object(O.a)(e.getTypeMap()),Object(O.a)(t.getTypeMap())),i=0,o=r.removed;i=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!==(65535&e)&&65534!==(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=new RegExp(s.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(171);var p=/[&<>"]/,f=/[&<>"]/g,d={"&":"&","<":"<",">":">",'"':"""};function h(e){return d[e]}var m=/[.?*+^$[\]\\(){}|-]/g;var g=n(105);t.lib={},t.lib.mdurl=n(106),t.lib.ucmicro=n(172),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){if(t){if("object"!==typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach((function(n){e[n]=t[n]}))}})),e},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(s,"$1")},t.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(u,(function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,"\\$&")},t.normalizeReference=function(e){return e.trim().replace(/\s+/g," ").toUpperCase()}},function(e,t,n){"use strict";n.r(t),n.d(t,"print",(function(){return o}));var r=n(23),i=n(56);function o(e){return Object(r.c)(e,{leave:a})}var a={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return u(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=l("(",u(e.variableDefinitions,", "),")"),i=u(e.directives," "),o=e.selectionSet;return n||i||r||"query"!==t?u([t,u([n,r]),i,o]," "):o},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,i=e.directives;return t+": "+n+l(" = ",r)+l(" ",u(i," "))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,i=e.directives,o=e.selectionSet;return u([l("",t,": ")+n+l("(",u(r,", "),")"),u(i," "),o]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+l(" ",u(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return u(["...",l("on ",t),u(n," "),r]," ")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,i=e.directives,o=e.selectionSet;return"fragment ".concat(t).concat(l("(",u(r,", "),")")," ")+"on ".concat(n," ").concat(l("",u(i," ")," "))+o},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?Object(i.c)(n,"description"===t?"":" "):JSON.stringify(n)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+u(e.values,", ")+"]"},ObjectValue:function(e){return"{"+u(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+l("(",u(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:function(e){var t=e.directives,n=e.operationTypes;return u(["schema",u(t," "),c(n)]," ")},OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:s((function(e){return u(["scalar",e.name,u(e.directives," ")]," ")})),ObjectTypeDefinition:s((function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u(["type",t,l("implements ",u(n," & ")),u(r," "),c(i)]," ")})),FieldDefinition:s((function(e){var t=e.name,n=e.arguments,r=e.type,i=e.directives;return t+(d(n)?l("(\n",p(u(n,"\n")),"\n)"):l("(",u(n,", "),")"))+": "+r+l(" ",u(i," "))})),InputValueDefinition:s((function(e){var t=e.name,n=e.type,r=e.defaultValue,i=e.directives;return u([t+": "+n,l("= ",r),u(i," ")]," ")})),InterfaceTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.fields;return u(["interface",t,u(n," "),c(r)]," ")})),UnionTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.types;return u(["union",t,u(n," "),r&&0!==r.length?"= "+u(r," | "):""]," ")})),EnumTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.values;return u(["enum",t,u(n," "),c(r)]," ")})),EnumValueDefinition:s((function(e){return u([e.name,u(e.directives," ")]," ")})),InputObjectTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.fields;return u(["input",t,u(n," "),c(r)]," ")})),DirectiveDefinition:s((function(e){var t=e.name,n=e.arguments,r=e.repeatable,i=e.locations;return"directive @"+t+(d(n)?l("(\n",p(u(n,"\n")),"\n)"):l("(",u(n,", "),")"))+(r?" repeatable":"")+" on "+u(i," | ")})),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return u(["extend schema",u(t," "),c(n)]," ")},ScalarTypeExtension:function(e){return u(["extend scalar",e.name,u(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u(["extend type",t,l("implements ",u(n," & ")),u(r," "),c(i)]," ")},InterfaceTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return u(["extend interface",t,u(n," "),c(r)]," ")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return u(["extend union",t,u(n," "),r&&0!==r.length?"= "+u(r," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return u(["extend enum",t,u(n," "),c(r)]," ")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return u(["extend input",t,u(n," "),c(r)]," ")}};function s(e){return function(t){return u([t.description,e(t)],"\n")}}function u(e,t){return e?e.filter((function(e){return e})).join(t||""):""}function c(e){return e&&0!==e.length?"{\n"+p(u(e,"\n"))+"\n}":""}function l(e,t,n){return t?e+t+(n||""):""}function p(e){return e&&" "+e.replace(/\n/g,"\n ")}function f(e){return-1!==e.indexOf("\n")}function d(e){return e&&e.some(f)}},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function o(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!==(65535&e)&&65534!==(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=new RegExp(s.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(203);var p=/[&<>"]/,f=/[&<>"]/g,d={"&":"&","<":"<",">":">",'"':"""};function h(e){return d[e]}var m=/[.?*+^$[\]\\(){}|-]/g;var g=n(105);t.lib={},t.lib.mdurl=n(106),t.lib.ucmicro=n(172),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){if(t){if("object"!==typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach((function(n){e[n]=t[n]}))}})),e},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(s,"$1")},t.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(u,(function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,"\\$&")},t.normalizeReference=function(e){return e=e.trim().replace(/\s+/g," "),"\u1e7e"==="\u1e9e".toLowerCase()&&(e=e.replace(/\u1e9e/g,"\xdf")),e.toLowerCase().toUpperCase()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"e",(function(){return c})),n.d(t,"b",(function(){return l}));var r=n(2),i={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},o=Object.freeze({});function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,a=void 0,u=Array.isArray(e),c=[e],p=-1,f=[],d=void 0,h=void 0,m=void 0,g=[],y=[],v=e;do{var b=++p===c.length,E=b&&0!==f.length;if(b){if(h=0===y.length?void 0:g[g.length-1],d=m,m=y.pop(),E){if(u)d=d.slice();else{for(var x={},D=0,C=Object.keys(d);D=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function B(e,t){return e===t}function U(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?w:n,i=t.mapStateToPropsFactories,o=void 0===i?N:i,a=t.mapDispatchToPropsFactories,s=void 0===a?F:a,u=t.mergePropsFactories,c=void 0===u?M:u,l=t.selectorFactory,d=void 0===l?P:l;return function(e,t,n,i){void 0===i&&(i={});var a=i,u=a.pure,l=void 0===u||u,h=a.areStatesEqual,m=void 0===h?B:h,g=a.areOwnPropsEqual,y=void 0===g?k:g,v=a.areStatePropsEqual,b=void 0===v?k:v,E=a.areMergedPropsEqual,x=void 0===E?k:E,D=Object(f.a)(a,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),C=R(e,o,"mapStateToProps"),w=R(t,s,"mapDispatchToProps"),S=R(n,c,"mergeProps");return r(d,Object(p.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:C,initMapDispatchToProps:w,initMergeProps:S,pure:l,areStatesEqual:m,areOwnPropsEqual:y,areStatePropsEqual:b,areMergedPropsEqual:x},D))}}var z=U();function V(){return Object(r.useContext)(o)}function q(e){void 0===e&&(e=o);var t=e===o?V:function(){return Object(r.useContext)(e)};return function(){return t().store}}var H=q();function W(e){void 0===e&&(e=o);var t=e===o?H:q(e);return function(){return t().dispatch}}var G=W(),K=function(e,t){return e===t};function J(e){void 0===e&&(e=o);var t=e===o?V:function(){return Object(r.useContext)(e)};return function(e,n){void 0===n&&(n=K);var i=t();return function(e,t,n,i){var o,a=Object(r.useReducer)((function(e){return e+1}),0)[1],s=Object(r.useMemo)((function(){return new c(n,i)}),[n,i]),u=Object(r.useRef)(),l=Object(r.useRef)(),p=Object(r.useRef)();try{o=e!==l.current||u.current?e(n.getState()):p.current}catch(f){throw u.current&&(f.message+="\nThe error may be correlated with this previous error:\n"+u.current.stack+"\n\n"),f}return g((function(){l.current=e,p.current=o,u.current=void 0})),g((function(){function e(){try{var e=l.current(n.getState());if(t(e,p.current))return;p.current=e}catch(f){u.current=f}a({})}return s.onStateChange=e,s.trySubscribe(),e(),function(){return s.tryUnsubscribe()}}),[n,s]),o}(e,n,i.store,i.subscription)}}var Y,Q=J(),$=n(60);Y=$.unstable_batchedUpdates,a=Y},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s}));var r=n(17),i=Object.setPrototypeOf,o=void 0===i?function(e,t){return e.__proto__=t,e}:i,a=function(e){function t(n){void 0===n&&(n="Invariant Violation");var r=e.call(this,"number"===typeof n?"Invariant Violation: "+n+" (see https://github.com/apollographql/invariant-packages)":n)||this;return r.framesToPop=1,r.name="Invariant Violation",o(r,t.prototype),r}return Object(r.b)(t,e),t}(Error);function s(e,t){if(!e)throw new a(t)}function u(e){return function(){return console[e].apply(console,arguments)}}!function(e){e.warn=u("warn"),e.error=u("error")}(s||(s={}));var c={env:{}};if("object"===typeof e)c=e;else try{Function("stub","process = stub")(c)}catch(l){}}).call(this,n(100))},function(e,t,n){"use strict";function r(e,t){return e===t}function i(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,i=0;i1&&void 0!==arguments[1]?arguments[1]:r,n=null,o=null;return function(){return i(t,n,arguments)||(o=e.apply(null,arguments)),n=arguments,o}}function a(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return"function"===typeof e}))){var n=t.map((function(e){return typeof e})).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+n+"]")}return t}function s(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:u;if("object"!==typeof e)throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);var n=Object.keys(e);return t(n.map((function(t){return e[t]})),(function(){for(var e=arguments.length,t=Array(e),r=0;r>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?a(e)+t:t}function u(){return!0}function c(e,t,n){return(0===e&&!d(e)||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function l(e,t){return f(e,t,0)}function p(e,t){return f(e,t,t)}function f(e,t,n){return void 0===e?n:d(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function d(e){return e<0||0===e&&1/e===-1/0}function h(e){return Boolean(e&&e["@@__IMMUTABLE_ITERABLE__@@"])}function m(e){return Boolean(e&&e["@@__IMMUTABLE_KEYED__@@"])}function g(e){return Boolean(e&&e["@@__IMMUTABLE_INDEXED__@@"])}function y(e){return m(e)||g(e)}var v=function(e){return h(e)?e:R(e)},b=function(e){function t(e){return m(e)?e:B(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v),E=function(e){function t(e){return g(e)?e:U(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v),x=function(e){function t(e){return h(e)&&!y(e)?e:z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v);v.Keyed=b,v.Indexed=E,v.Set=x;function D(e){return Boolean(e&&e["@@__IMMUTABLE_SEQ__@@"])}function C(e){return Boolean(e&&e["@@__IMMUTABLE_RECORD__@@"])}function w(e){return h(e)||C(e)}var S="@@__IMMUTABLE_ORDERED__@@";function k(e){return Boolean(e&&e[S])}var A="function"===typeof Symbol&&Symbol.iterator,T=A||"@@iterator",_=function(e){this.next=e};function O(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function F(){return{value:void 0,done:!0}}function N(e){return!!j(e)}function I(e){return e&&"function"===typeof e.next}function M(e){var t=j(e);return t&&t.call(e)}function j(e){var t=e&&(A&&e[A]||e["@@iterator"]);if("function"===typeof t)return t}_.prototype.toString=function(){return"[Iterator]"},_.KEYS=0,_.VALUES=1,_.ENTRIES=2,_.prototype.inspect=_.prototype.toSource=function(){return this.toString()},_.prototype[T]=function(){return this};var L=Object.prototype.hasOwnProperty;function P(e){return!(!Array.isArray(e)&&"string"!==typeof e)||e&&"object"===typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var R=function(e){function t(e){return null===e||void 0===e?G():w(e)?e.toSeq():function(e){var t=Y(e);if(t)return t;if("object"===typeof e)return new q(e);throw new TypeError("Expected Array or collection object of values, or keyed object: "+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq {","}")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var n=this._cache;if(n){for(var r=n.length,i=0;i!==r;){var o=n[t?r-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var n=this._cache;if(n){var r=n.length,i=0;return new _((function(){if(i===r)return{value:void 0,done:!0};var o=n[t?r-++i:i++];return O(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(v),B=function(e){function t(e){return null===e||void 0===e?G().toKeyedSeq():h(e)?m(e)?e.toSeq():e.fromEntrySeq():C(e)?e.toSeq():K(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(R),U=function(e){function t(e){return null===e||void 0===e?G():h(e)?m(e)?e.entrySeq():e.toIndexedSeq():C(e)?e.toSeq().entrySeq():J(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq [","]")},t}(R),z=function(e){function t(e){return(h(e)&&!y(e)?e:U(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(R);R.isSeq=D,R.Keyed=B,R.Set=z,R.Indexed=U,R.prototype["@@__IMMUTABLE_SEQ__@@"]=!0;var V=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[s(this,e)]:t},t.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length,i=0;i!==r;){var o=t?r-++i:i++;if(!1===e(n[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var n=this._array,r=n.length,i=0;return new _((function(){if(i===r)return{value:void 0,done:!0};var o=t?r-++i:i++;return O(e,o,n[o])}))},t}(U),q=function(e){function t(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return L.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length,o=0;o!==i;){var a=r[t?i-++o:o++];if(!1===e(n[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length,o=0;return new _((function(){if(o===i)return{value:void 0,done:!0};var a=r[t?i-++o:o++];return O(e,a,n[a])}))},t}(B);q.prototype[S]=!0;var H,W=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=M(this._collection),r=0;if(I(n))for(var i;!(i=n.next()).done&&!1!==e(i.value,r++,this););return r},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=M(this._collection);if(!I(n))return new _(F);var r=0;return new _((function(){var t=n.next();return t.done?t:O(e,r++,t.value)}))},t}(U);function G(){return H||(H=new V([]))}function K(e){var t=Array.isArray(e)?new V(e):N(e)?new W(e):void 0;if(t)return t.fromEntrySeq();if("object"===typeof e)return new q(e);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+e)}function J(e){var t=Y(e);if(t)return t;throw new TypeError("Expected Array or collection object of values: "+e)}function Y(e){return P(e)?new V(e):N(e)?new W(e):void 0}function Q(e){return Boolean(e&&e["@@__IMMUTABLE_MAP__@@"])}function $(e){return Q(e)&&k(e)}function X(e){return Boolean(e&&"function"===typeof e.equals&&"function"===typeof e.hashCode)}function Z(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if("function"===typeof e.valueOf&&"function"===typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!!(X(e)&&X(t)&&e.equals(t))}var ee="function"===typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function te(e){return e>>>1&1073741824|3221225471&e}var ne=Object.prototype.valueOf;function re(e){switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return function(e){if(e!==e||e===1/0)return 0;var t=0|e;t!==e&&(t^=4294967295*e);for(;e>4294967295;)t^=e/=4294967295;return te(t)}(e);case"string":return e.length>pe?function(e){var t=he[e];void 0===t&&(t=ie(e),de===fe&&(de=0,he={}),de++,he[e]=t);return t}(e):ie(e);case"object":case"function":return null===e?1108378658:"function"===typeof e.hashCode?te(e.hashCode(e)):(e.valueOf!==ne&&"function"===typeof e.valueOf&&(e=e.valueOf(e)),function(e){var t;if(ue&&void 0!==(t=se.get(e)))return t;if(void 0!==(t=e[le]))return t;if(!ae){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[le]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}t=++ce,1073741824&ce&&(ce=0);if(ue)se.set(e,t);else{if(void 0!==oe&&!1===oe(e))throw new Error("Non-extensible objects are not allowed as keys.");if(ae)Object.defineProperty(e,le,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[le]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[le]=t}}return t}(e));case"undefined":return 1108378659;default:if("function"===typeof e.toString)return ie(e.toString());throw new Error("Value type "+typeof e+" cannot be hashed.")}}function ie(e){for(var t=0,n=0;n=0&&(d.get=function(t,n){return(t=s(this,t))>=0&&tu)return{value:void 0,done:!0};var e=i.next();return r||1===t||e.done?e:O(t,s-1,0===t?void 0:e.value[1],e)}))},d}function we(e,t,n,r){var i=Me(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate((function(e,o,c){if(!s||!(s=t.call(n,e,o,c)))return u++,i(e,r?o:u-1,a)})),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(2,o),u=!0,c=0;return new _((function(){var e,o,l;do{if((e=s.next()).done)return r||1===i?e:O(i,c++,0===i?void 0:e.value[1],e);var p=e.value;o=p[0],l=p[1],u&&(u=t.call(n,l,o,a))}while(u);return 2===i?e:O(i,o,l,e)}))},i}function Se(e,t){var n=m(e),r=[e].concat(t).map((function(e){return h(e)?n&&(e=b(e)):e=n?K(e):J(Array.isArray(e)?e:[e]),e})).filter((function(e){return 0!==e.size}));if(0===r.length)return e;if(1===r.length){var i=r[0];if(i===e||n&&m(i)||g(e)&&g(i))return i}var o=new V(r);return n?o=o.toKeyedSeq():g(e)||(o=o.toSetSeq()),(o=o.flatten(!0)).size=r.reduce((function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}}),0),o}function ke(e,t,n){var r=Me(e);return r.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(u,c){u.__iterate((function(o,u){return(!t||c0}function Oe(e,t,n,r){var i=Me(e),o=new V(n).map((function(e){return e.size}));return i.size=r?o.max():o.min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(1,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=n.map((function(e){return e=v(e),M(i?e.reverse():e)})),a=0,s=!1;return new _((function(){var n;return s||(n=o.map((function(e){return e.next()})),s=r?n.every((function(e){return e.done})):n.some((function(e){return e.done}))),s?{value:void 0,done:!0}:O(e,a++,t.apply(null,n.map((function(e){return e.value}))))}))},i}function Fe(e,t){return e===t?e:D(e)?t:e.constructor(t)}function Ne(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Ie(e){return m(e)?b:g(e)?E:x}function Me(e){return Object.create((m(e)?B:g(e)?U:z).prototype)}function je(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):R.prototype.cacheResult.call(this)}function Le(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[n]=arguments[n+1];if("function"!==typeof e)throw new TypeError("Invalid merger function: "+e);return ot(this,t,e)}function ot(e,t,n){for(var i=[],o=0;o0;)t[n]=arguments[n+1];return pt(e,t)}function st(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return pt(t,n,e)}function ut(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return lt(e,t)}function ct(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return lt(t,n,e)}function lt(e,t,n){return pt(e,t,function(e){return function t(n,r,i){return Ve(n)&&Ve(r)?pt(n,[r],t):e?e(n,r,i):r}}(n))}function pt(e,t,n){if(!Ve(e))throw new TypeError("Cannot merge into non-data-structure value: "+e);if(w(e))return"function"===typeof n&&e.mergeWith?e.mergeWith.apply(e,[n].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var r=Array.isArray(e),i=e,o=r?E:b,a=r?function(t){i===e&&(i=Ge(i)),i.push(t)}:function(t,r){var o=L.call(i,r),a=o&&n?n(i[r],t,r):t;o&&a===i[r]||(i===e&&(i=Ge(i)),i[r]=a)},s=0;s0;)t[n]=arguments[n+1];return lt(this,t,e)}function ht(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Ye(this,e,Nt(),(function(e){return pt(e,t)}))}function mt(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Ye(this,e,Nt(),(function(e){return lt(e,t)}))}function gt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function yt(){return this.__ownerID?this:this.__ensureOwner(new o)}function vt(){return this.__ensureOwner()}function bt(){return this.__altered}ge.prototype.cacheResult=me.prototype.cacheResult=ye.prototype.cacheResult=ve.prototype.cacheResult=je;var Et=function(e){function t(t){return null===t||void 0===t?Nt():Q(t)&&!k(t)?t:Nt().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e,t){return n.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Nt().withMutations((function(t){for(var n=0;n=e.length)throw new Error("Missing value for key: "+e[n]);t.set(e[n],e[n+1])}}))},t.prototype.toString=function(){return this.__toString("Map {","}")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return It(this,e,t)},t.prototype.remove=function(e){return It(this,e,r)},t.prototype.deleteAll=function(e){var t=v(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Nt()},t.prototype.sort=function(e){return rn(Ae(this,e))},t.prototype.sortBy=function(e,t){return rn(Ae(this,t,e))},t.prototype.map=function(e,t){return this.withMutations((function(n){n.forEach((function(r,i){n.set(i,e.call(t,r,i,n))}))}))},t.prototype.__iterator=function(e,t){return new Tt(this,e,t)},t.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate((function(t){return r++,e(t[1],t[0],n)}),t),r},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ft(this.size,this._root,e,this.__hash):0===this.size?Nt():(this.__ownerID=e,this.__altered=!1,this)},t}(b);Et.isMap=Q;var xt=Et.prototype;xt["@@__IMMUTABLE_MAP__@@"]=!0,xt.delete=xt.remove,xt.removeAll=xt.deleteAll,xt.setIn=$e,xt.removeIn=xt.deleteIn=Ze,xt.update=tt,xt.updateIn=nt,xt.merge=xt.concat=rt,xt.mergeWith=it,xt.mergeDeep=ft,xt.mergeDeepWith=dt,xt.mergeIn=ht,xt.mergeDeepIn=mt,xt.withMutations=gt,xt.wasAltered=bt,xt.asImmutable=vt,xt["@@transducer/init"]=xt.asMutable=yt,xt["@@transducer/step"]=function(e,t){return e.set(t[0],t[1])},xt["@@transducer/result"]=function(e){return e.asImmutable()};var Dt=function(e,t){this.ownerID=e,this.entries=t};Dt.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o=Bt)return function(e,t,n,r){e||(e=new o);for(var i=new kt(e,re(n),[n,r]),a=0;a>>e)),o=this.bitmap;return 0===(o&i)?r:this.nodes[Pt(o&i-1)].get(e+5,t,n,r)},Ct.prototype.update=function(e,t,n,i,o,a,s){void 0===n&&(n=re(i));var u=31&(0===t?n:n>>>t),c=1<=Ut)return function(e,t,n,r,i){for(var o=0,a=new Array(32),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new wt(e,o+1,a)}(e,d,l,u,m);if(p&&!m&&2===d.length&&jt(d[1^f]))return d[1^f];if(p&&m&&1===d.length&&jt(m))return m;var g=e&&e===this.ownerID,y=p?m?l:l^c:l|c,v=p?m?Rt(d,f,m,g):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a>>e),o=this.nodes[i];return o?o.get(e+5,t,n,r):r},wt.prototype.update=function(e,t,n,i,o,a,s){void 0===n&&(n=re(i));var u=31&(0===t?n:n>>>t),c=o===r,l=this.nodes,p=l[u];if(c&&!p)return this;var f=Mt(p,e,t+5,n,i,o,a,s);if(f===p)return this;var d=this.count;if(p){if(!f&&--d>>n),s=31&(0===n?r:r>>>n),u=a===s?[Lt(e,t,n+5,r,i)]:(o=new kt(t,r,i),a>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Rt(e,t,n,r){var i=r?e:Pe(e);return i[t]=n,i}var Bt=8,Ut=16,zt=8;function Vt(e){return Boolean(e&&e["@@__IMMUTABLE_LIST__@@"])}var qt=function(e){function t(t){var n=Qt();if(null===t||void 0===t)return n;if(Vt(t))return t;var r=e(t),i=r.size;return 0===i?n:(Be(i),i>0&&i<32?Yt(0,i,5,null,new Wt(r.toArray())):n.withMutations((function(e){e.setSize(i),r.forEach((function(t,n){return e.set(n,t)}))})))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("List [","]")},t.prototype.get=function(e,t){if((e=s(this,e))>=0&&e=e.size||t<0)return e.withMutations((function(e){t<0?en(e,t).set(0,n):en(e,0,t+1).set(t,n)}));t+=e._origin;var r=e._tail,i=e._root,o={value:!1};t>=tn(e._capacity)?r=$t(r,e.__ownerID,0,t,n,o):i=$t(i,e.__ownerID,e._level,t,n,o);if(!o.value)return e;if(e.__ownerID)return e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e;return Yt(e._origin,e._capacity,e._level,i,r)}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):Qt()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(n){en(n,0,t+e.length);for(var r=0;r>>t&31;if(r>=this.array.length)return new Wt([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-5,n))===a&&o)return this}if(o&&!i)return this;var s=Xt(this,e);if(!o)for(var u=0;u>>t&31;if(i>=this.array.length)return this;if(t>0){var o=this.array[i];if((r=o&&o.removeAfter(e,t-5,n))===o&&i===this.array.length-1)return this}var a=Xt(this,e);return a.array.splice(i+1),r&&(a.array[i]=r),a};var Gt,Kt={};function Jt(e,t){var n=e._origin,r=e._capacity,i=tn(r),o=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===i?o&&o.array:e&&e.array,u=a>n?0:n-a,c=r-a;c>32&&(c=32);return function(){if(u===c)return Kt;var e=t?--c:u++;return s&&s[e]}}(e,u):function(e,i,o){var s,u=e&&e.array,c=o>n?0:n-o>>i,l=1+(r-o>>i);l>32&&(l=32);return function(){for(;;){if(s){var e=s();if(e!==Kt)return e;s=null}if(c===l)return Kt;var n=t?--l:c++;s=a(u&&u[n],i-5,o+(n<>>n&31,c=e&&u0){var l=e&&e.array[u],p=$t(l,t,n-5,r,o,a);return p===l?e:((s=Xt(e,t)).array[u]=p,s)}return c&&e.array[u]===o?e:(a&&i(a),s=Xt(e,t),void 0===o&&u===s.array.length-1?s.array.pop():s.array[u]=o,s)}function Xt(e,t){return t&&e&&t===e.ownerID?e:new Wt(e?e.array.slice():[],t)}function Zt(e,t){if(t>=tn(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&31],r-=5;return n}}function en(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new o,i=e._origin,a=e._capacity,s=i+t,u=void 0===n?a:n<0?a+n:i+n;if(s===i&&u===a)return e;if(s>=u)return e.clear();for(var c=e._level,l=e._root,p=0;s+p<0;)l=new Wt(l&&l.array.length?[void 0,l]:[],r),p+=1<<(c+=5);p&&(s+=p,i+=p,u+=p,a+=p);for(var f=tn(a),d=tn(u);d>=1<f?new Wt([],r):h;if(h&&d>f&&s5;y-=5){var v=f>>>y&31;g=g.array[v]=Xt(g.array[v],r)}g.array[f>>>5&31]=h}if(u=d)s-=d,u-=d,c=5,l=null,m=m&&m.removeBefore(r,0,s);else if(s>i||d>>c&31;if(b!==d>>>c&31)break;b&&(p+=(1<i&&(l=l.removeBefore(r,c,s-p)),l&&d>>5<<5}var nn,rn=function(e){function t(e){return null===e||void 0===e?an():$(e)?e:an().withMutations((function(t){var n=b(e);Be(n.size),n.forEach((function(e,n){return t.set(n,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("OrderedMap {","}")},t.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):an()},t.prototype.set=function(e,t){return sn(this,e,t)},t.prototype.remove=function(e){return sn(this,e,r)},t.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},t.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate((function(t){return t&&e(t[1],t[0],n)}),t)},t.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},t.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?on(t,n,e,this.__hash):0===this.size?an():(this.__ownerID=e,this._map=t,this._list=n,this)},t}(Et);function on(e,t,n,r){var i=Object.create(rn.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function an(){return nn||(nn=on(Nt(),Qt()))}function sn(e,t,n){var i,o,a=e._map,s=e._list,u=a.get(t),c=void 0!==u;if(n===r){if(!c)return e;s.size>=32&&s.size>=2*a.size?(i=(o=s.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(i.__ownerID=o.__ownerID=e.__ownerID)):(i=a.remove(t),o=u===s.size-1?s.pop():s.set(u,void 0))}else if(c){if(n===s.get(u)[1])return e;i=a,o=s.set(u,[t,n])}else i=a.set(t,s.size),o=s.set(s.size,[t,n]);return e.__ownerID?(e.size=i.size,e._map=i,e._list=o,e.__hash=void 0,e):on(i,o)}rn.isOrderedMap=$,rn.prototype[S]=!0,rn.prototype.delete=rn.prototype.remove;function un(e){return Boolean(e&&e["@@__IMMUTABLE_STACK__@@"])}var cn=function(e){function t(e){return null===e||void 0===e?dn():un(e)?e:dn().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("Stack [","]")},t.prototype.get=function(e,t){var n=this._head;for(e=s(this,e);n&&e--;)n=n.next;return n?n.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,n=this._head,r=arguments.length-1;r>=0;r--)n={value:e[r],next:n};return this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):fn(t,n)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&un(t))return t;Be(t.size);var n=this.size,r=this._head;return t.__iterate((function(e){n++,r={value:e,next:r}}),!0),this.__ownerID?(this.size=n,this._head=r,this.__hash=void 0,this.__altered=!0,this):fn(n,r)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):dn()},t.prototype.slice=function(t,n){if(c(t,n,this.size))return this;var r=l(t,this.size);if(p(n,this.size)!==this.size)return e.prototype.slice.call(this,t,n);for(var i=this.size-r,o=this._head;r--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):fn(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?fn(this.size,this._head,e,this.__hash):0===this.size?dn():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var n=this;if(t)return new V(this.toArray()).__iterate((function(t,r){return e(t,r,n)}),t);for(var r=0,i=this._head;i&&!1!==e(i.value,r++,this);)i=i.next;return r},t.prototype.__iterator=function(e,t){if(t)return new V(this.toArray()).__iterator(e,t);var n=0,r=this._head;return new _((function(){if(r){var t=r.value;return r=r.next,O(e,n++,t)}return{value:void 0,done:!0}}))},t}(E);cn.isStack=un;var ln,pn=cn.prototype;function fn(e,t,n,r){var i=Object.create(pn);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function dn(){return ln||(ln=fn(0))}pn["@@__IMMUTABLE_STACK__@@"]=!0,pn.shift=pn.pop,pn.unshift=pn.push,pn.unshiftAll=pn.pushAll,pn.withMutations=gt,pn.wasAltered=bt,pn.asImmutable=vt,pn["@@transducer/init"]=pn.asMutable=yt,pn["@@transducer/step"]=function(e,t){return e.unshift(t)},pn["@@transducer/result"]=function(e){return e.asImmutable()};function hn(e){return Boolean(e&&e["@@__IMMUTABLE_SET__@@"])}function mn(e){return hn(e)&&k(e)}function gn(e,t){if(e===t)return!0;if(!h(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||m(e)!==m(t)||g(e)!==g(t)||k(e)!==k(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!y(e);if(k(e)){var i=e.entries();return t.every((function(e,t){var r=i.next().value;return r&&Z(r[1],e)&&(n||Z(r[0],t))}))&&i.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"===typeof e.cacheResult&&e.cacheResult();else{o=!0;var a=e;e=t,t=a}var s=!0,u=t.__iterate((function(t,i){if(n?!e.has(t):o?!Z(t,e.get(i,r)):!Z(e.get(i,r),t))return s=!1,!1}));return s&&e.size===u}function yn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}function vn(e){if(!e||"object"!==typeof e)return e;if(!h(e)){if(!Ve(e))return e;e=R(e)}if(m(e)){var t={};return e.__iterate((function(e,n){t[n]=vn(e)})),t}var n=[];return e.__iterate((function(e){n.push(vn(e))})),n}var bn=function(e){function t(t){return null===t||void 0===t?wn():hn(t)&&!k(t)?t:wn().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e){return n.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(b(e).keySeq())},t.intersect=function(e){return(e=v(e).toArray()).length?xn.intersect.apply(t(e.pop()),e):wn()},t.union=function(e){return(e=v(e).toArray()).length?xn.union.apply(t(e.pop()),e):wn()},t.prototype.toString=function(){return this.__toString("Set {","}")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return Dn(this,this._map.set(e,e))},t.prototype.remove=function(e){return Dn(this,this._map.remove(e))},t.prototype.clear=function(){return Dn(this,this._map.clear())},t.prototype.map=function(e,t){var n=this,r=[],i=[];return this.forEach((function(o){var a=e.call(t,o,o,n);a!==o&&(r.push(o),i.push(a))})),this.withMutations((function(e){r.forEach((function(t){return e.remove(t)})),i.forEach((function(t){return e.add(t)}))}))},t.prototype.union=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(n){for(var r=0;r=0&&t=0&&n>>-15,461845907),t=ee(t<<13|t>>>-13,5),t=ee((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=te((t=ee(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+zn(re(e),re(t))|0}:function(e,t){r=r+zn(re(e),re(t))|0}:t?function(e){r=31*r+re(e)|0}:function(e){r=r+re(e)|0}),r)}(this))}});var Fn=v.prototype;Fn["@@__IMMUTABLE_ITERABLE__@@"]=!0,Fn[T]=Fn.values,Fn.toJSON=Fn.toArray,Fn.__toStringMapper=qe,Fn.inspect=Fn.toSource=function(){return this.toString()},Fn.chain=Fn.flatMap,Fn.contains=Fn.includes,yn(b,{flip:function(){return Fe(this,be(this))},mapEntries:function(e,t){var n=this,r=0;return Fe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],r++,n)})).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Fe(this,this.toSeq().flip().map((function(r,i){return e.call(t,r,i,n)})).flip())}});var Nn=b.prototype;Nn["@@__IMMUTABLE_KEYED__@@"]=!0,Nn[T]=Fn.entries,Nn.toJSON=On,Nn.__toStringMapper=function(e,t){return qe(t)+": "+qe(e)},yn(E,{toKeyedSeq:function(){return new me(this,!1)},filter:function(e,t){return Fe(this,De(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Fe(this,xe(this,!1))},slice:function(e,t){return Fe(this,Ce(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(t||0,0),0===n||2===n&&!t)return this;e=l(e,e<0?this.count():this.size);var r=this.slice(0,e);return Fe(this,1===n?r:r.concat(Pe(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Fe(this,ke(this,e,!1))},get:function(e,t){return(e=s(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,n){return n===e}),void 0,t)},has:function(e){return(e=s(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function zn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}In["@@__IMMUTABLE_INDEXED__@@"]=!0,In[S]=!0,yn(x,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),x.prototype.has=Fn.includes,x.prototype.contains=x.prototype.includes,yn(B,b.prototype),yn(U,E.prototype),yn(z,x.prototype);var Vn=function(e){function t(e){return null===e||void 0===e?Gn():mn(e)?e:Gn().withMutations((function(t){var n=x(e);Be(n.size),n.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(b(e).keySeq())},t.prototype.toString=function(){return this.__toString("OrderedSet {","}")},t}(bn);Vn.isOrderedSet=mn;var qn,Hn=Vn.prototype;function Wn(e,t){var n=Object.create(Hn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function Gn(){return qn||(qn=Wn(an()))}Hn[S]=!0,Hn.zip=In.zip,Hn.zipWith=In.zipWith,Hn.__empty=Gn,Hn.__make=Wn;var Kn=function(e,t){var n,r=function(o){var a=this;if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var s=Object.keys(e),u=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var c=0;c2?[]:void 0,{"":e})}function nr(e,t){return m(t)?t.toMap():t.toList()}var rr="4.0.0-rc.11",ir={version:rr,Collection:v,Iterable:v,Seq:R,Map:Et,OrderedMap:rn,List:qt,Stack:cn,Set:bn,OrderedSet:Vn,Record:Kn,Range:kn,Repeat:er,is:Z,fromJS:tr,hash:re,isImmutable:w,isCollection:h,isKeyed:m,isIndexed:g,isAssociative:y,isOrdered:k,isValueObject:X,isSeq:D,isList:Vt,isMap:Q,isOrderedMap:$,isStack:un,isSet:hn,isOrderedSet:mn,isRecord:C,get:We,getIn:An,has:He,hasIn:_n,merge:at,mergeDeep:ut,mergeWith:st,mergeDeepWith:ct,remove:Ke,removeIn:Xe,set:Je,setIn:Qe,update:et,updateIn:Ye},or=v;t.default=ir},function(e,t,n){"use strict";var r=n(93),i=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===i.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===o.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},function(e,t,n){"use strict";function r(e,t){return e.reduce((function(e,n){return e[t(n)]=n,e}),Object.create(null))}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0});var i=n(49);function o(e,t){return function(n){var r;return(r={})[e]=n||t,r}}t.editQuery=(r=i.createActions({EDIT_QUERY:function(e){return{query:e}},EDIT_HEADERS:o("headers"),EDIT_ENDPOINT:o("endpoint"),EDIT_VARIABLES:o("variables"),SET_OPERATION_NAME:o("operationName"),SET_VARIABLE_TO_TYPE:o("variableToType"),SET_OPERATIONS:o("operations"),SET_EDITOR_FLEX:o("editorFlex"),EDIT_NAME:o("name"),OPEN_QUERY_VARIABLES:function(){return{queryVariablesActive:!0}},CLOSE_QUERY_VARIABLES:function(){return{queryVariablesActive:!1}},SET_VARIABLE_EDITOR_HEIGHT:o("variableEditorHeight"),SET_RESPONSE_TRACING_HEIGHT:o("responceTracingHeight"),SET_TRACING_SUPPORTED:o("tracingSupported"),SET_SUBSCRIPTION_ACTIVE:o("subscriptionActive"),SET_QUERY_TYPES:o("queryTypes"),SET_RESPONSE_EXTENSIONS:o("responseExtensions"),SET_CURRENT_QUERY_START_TIME:o("currentQueryStartTime"),SET_CURRENT_QUERY_END_TIME:o("currentQueryEndTime"),UPDATE_QUERY_FACTS:o(),PRETTIFY_QUERY:o(),INJECT_HEADERS:function(e,t){return{headers:e,endpoint:t}},CLOSE_TRACING:o("responseTracingHeight"),OPEN_TRACING:o("responseTracingHeight"),TOGGLE_TRACING:o(),CLOSE_VARIABLES:o("variableEditorHeight"),OPEN_VARIABLES:o("variableEditorHeight"),TOGGLE_VARIABLES:o(),ADD_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},SET_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},CLEAR_RESPONSES:o(),FETCH_SCHEMA:o(),REFETCH_SCHEMA:o(),SET_ENDPOINT_UNREACHABLE:o("endpoint"),SET_SCROLL_TOP:function(e,t){return{sessionId:e,scrollTop:t}},SCHEMA_FETCHING_SUCCESS:function(e,t,n){return{endpoint:e,tracingSupported:t,isPollingSchema:n}},SCHEMA_FETCHING_ERROR:function(e,t){return{endpoint:e,error:t}},RENEW_STACKS:o(),RUN_QUERY:function(e){return{operationName:e}},QUERY_SUCCESS:o(),QUERY_ERROR:o(),RUN_QUERY_AT_POSITION:function(e){return{position:e}},START_QUERY:o("queryRunning",!0),STOP_QUERY:function(e,t){return{workspaceId:t,sessionId:e}},OPEN_SETTINGS_TAB:function(){return{}},OPEN_CONFIG_TAB:function(){return{}},NEW_SESSION:function(e,t){return{endpoint:e,reuseHeaders:t}},NEW_SESSION_FROM_QUERY:function(e){return{query:e}},NEW_FILE_TAB:function(e,t,n){return{fileName:e,filePath:t,file:n}},DUPLICATE_SESSION:o("session"),CLOSE_SELECTED_TAB:function(){return{}},SELECT_NEXT_TAB:function(){return{}},SELECT_PREV_TAB:function(){return{}},SELECT_TAB:o("sessionId"),SELECT_TAB_INDEX:o("index"),CLOSE_TAB:o("sessionId"),REORDER_TABS:function(e,t){return{src:e,dest:t}},EDIT_SETTINGS:o(),SAVE_SETTINGS:o(),EDIT_CONFIG:o(),SAVE_CONFIG:o(),EDIT_FILE:o(),SAVE_FILE:o()})).editQuery,t.editVariables=r.editVariables,t.setOperationName=r.setOperationName,t.editHeaders=r.editHeaders,t.editEndpoint=r.editEndpoint,t.setVariableToType=r.setVariableToType,t.setOperations=r.setOperations,t.startQuery=r.startQuery,t.stopQuery=r.stopQuery,t.setEditorFlex=r.setEditorFlex,t.openQueryVariables=r.openQueryVariables,t.closeQueryVariables=r.closeQueryVariables,t.setVariableEditorHeight=r.setVariableEditorHeight,t.setResponseTracingHeight=r.setResponseTracingHeight,t.setTracingSupported=r.setTracingSupported,t.closeTracing=r.closeTracing,t.openTracing=r.openTracing,t.closeVariables=r.closeVariables,t.openVariables=r.openVariables,t.addResponse=r.addResponse,t.setResponse=r.setResponse,t.clearResponses=r.clearResponses,t.openSettingsTab=r.openSettingsTab,t.schemaFetchingSuccess=r.schemaFetchingSuccess,t.schemaFetchingError=r.schemaFetchingError,t.setEndpointUnreachable=r.setEndpointUnreachable,t.renewStacks=r.renewStacks,t.runQuery=r.runQuery,t.prettifyQuery=r.prettifyQuery,t.fetchSchema=r.fetchSchema,t.updateQueryFacts=r.updateQueryFacts,t.runQueryAtPosition=r.runQueryAtPosition,t.toggleTracing=r.toggleTracing,t.toggleVariables=r.toggleVariables,t.newSession=r.newSession,t.newSessionFromQuery=r.newSessionFromQuery,t.newFileTab=r.newFileTab,t.closeTab=r.closeTab,t.closeSelectedTab=r.closeSelectedTab,t.editSettings=r.editSettings,t.saveSettings=r.saveSettings,t.editConfig=r.editConfig,t.saveConfig=r.saveConfig,t.editFile=r.editFile,t.saveFile=r.saveFile,t.selectTab=r.selectTab,t.selectTabIndex=r.selectTabIndex,t.selectNextTab=r.selectNextTab,t.selectPrevTab=r.selectPrevTab,t.duplicateSession=r.duplicateSession,t.querySuccess=r.querySuccess,t.queryError=r.queryError,t.setSubscriptionActive=r.setSubscriptionActive,t.setQueryTypes=r.setQueryTypes,t.injectHeaders=r.injectHeaders,t.openConfigTab=r.openConfigTab,t.editName=r.editName,t.setResponseExtensions=r.setResponseExtensions,t.setCurrentQueryStartTime=r.setCurrentQueryStartTime,t.setCurrentQueryEndTime=r.setCurrentQueryEndTime,t.refetchSchema=r.refetchSchema,t.setScrollTop=r.setScrollTop,t.reorderTabs=r.reorderTabs},function(e,t,n){"use strict";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n1&&l>1&&r[c-1]===i[l-2]&&r[c-2]===i[l-1]&&(n[c][l]=Math.min(n[c][l],n[c-2][l-2]+p))}return n[o][a]}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e){return void 0===e||e!==e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"e",(function(){return s})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return d})),n.d(t,"d",(function(){return h})),n.d(t,"c",(function(){return m}));var r="function"===typeof Symbol?Symbol:void 0,i=r&&r.iterator,o=i||"@@iterator";function a(e){var t=null!=e&&e.length;return"number"===typeof t&&t>=0&&t%1===0}function s(e){return Object(e)===e&&(a(e)||function(e){return!!c(e)}(e))}function u(e){var t=c(e);if(t)return t.call(e)}function c(e){if(null!=e){var t=i&&e[i]||e["@@iterator"];if("function"===typeof t)return t}}function l(e){this._o=e,this._i=0}function p(e,t,n){if(null!=e){if("function"===typeof e.forEach)return e.forEach(t,n);var r=0,i=u(e);if(i){for(var o;!(o=i.next()).done;)if(t.call(n,o.value,r++,e),r>9999999)throw new TypeError("Near-infinite iteration.")}else if(a(e))for(;r=this._o.length?(this._o=void 0,{value:void 0,done:!0}):{value:this._o[this._i++],done:!1}};var f=r&&r.asyncIterator,d=f||"@@asyncIterator";function h(e){return!!g(e)}function m(e){var t=g(e);if(t)return t.call(e)}function g(e){if(null!=e){var t=f&&e[f]||e["@@asyncIterator"];if("function"===typeof t)return t}}function y(e){this._i=e}function v(e,t,n){var r;return new Promise((function(i){i((r=e[t](n)).value)})).then((function(e){return{value:e,done:r.done}}))}y.prototype[d]=function(){return this},y.prototype.next=function(e){return v(this._i,"next",e)},y.prototype.return=function(e){return this._i.return?v(this._i,"return",e):Promise.resolve({value:e,done:!0})},y.prototype.throw=function(e){return this._i.throw?v(this._i,"throw",e):Promise.reject(e)}},function(e,t,n){"use strict";function r(e){"function"===typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(95);function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,r.a&&(e.prototype[r.a]=t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(4);function i(e,t,n){return new r.a("Syntax Error: ".concat(n),void 0,e,[t])}},function(e,t,n){"use strict";n.r(t),n.d(t,"combineActions",(function(){return p})),n.d(t,"createAction",(function(){return h})),n.d(t,"createActions",(function(){return F})),n.d(t,"createCurriedAction",(function(){return P})),n.d(t,"handleAction",(function(){return R})),n.d(t,"handleActions",(function(){return z}));var r=n(37),i=n.n(r),o=function(e){return"function"===typeof e},a=function(e){return 0===e.length},s=function(e){return e.toString()},u=function(e){return"string"===typeof e};function c(e){return u(e)||o(e)||("symbol"===typeof(t=e)||"object"===typeof t&&"[object Symbol]"===Object.prototype.toString.call(t));var t}function l(e){return!a(e)&&e.every(c)}function p(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),i=1;i1?t-1:0),r=1;r2?n-2:0),a=2;a0&&a(t[0]);)t.shift();for(;t.length>0&&a(t[t.length-1]);)t.pop();return t.join("\n")}function i(e){for(var t=null,n=1;n1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a=!r||o||n,s="";return!a||r&&i||(s+="\n"+t),s+=t?e.replace(/\n/g,"\n"+t):e,a&&(s+="\n"),'"""'+s.replace(/"""/g,'\\"""')+'"""'}n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return s}))},function(e,t,n){"use strict";var r=Array.prototype.find?function(e,t){return Array.prototype.find.call(e,t)}:function(e,t){for(var n=0;n=0||(i[n]=e[n]);return i}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ApolloLink",(function(){return b})),n.d(t,"concat",(function(){return v})),n.d(t,"createOperation",(function(){return f})),n.d(t,"empty",(function(){return m})),n.d(t,"execute",(function(){return E})),n.d(t,"from",(function(){return g})),n.d(t,"fromError",(function(){return p})),n.d(t,"fromPromise",(function(){return l})),n.d(t,"makePromise",(function(){return c})),n.d(t,"split",(function(){return y})),n.d(t,"toPromise",(function(){return u}));var r=n(40);n.d(t,"Observable",(function(){return r.a}));var i=n(26),o=n(17),a=n(114);n.d(t,"getOperationName",(function(){return a.a}));!function(e){function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}Object(o.b)(t,e)}(Error);function s(e){return e.request.length<=1}function u(e){var t=!1;return new Promise((function(n,r){e.subscribe({next:function(e){t||(t=!0,n(e))},error:r})}))}var c=u;function l(e){return new r.a((function(t){e.then((function(e){t.next(e),t.complete()})).catch(t.error.bind(t))}))}function p(e){return new r.a((function(t){t.error(e)}))}function f(e,t){var n=Object(o.a)({},e);return Object.defineProperty(t,"setContext",{enumerable:!1,value:function(e){n="function"===typeof e?Object(o.a)({},n,e(n)):Object(o.a)({},n,e)}}),Object.defineProperty(t,"getContext",{enumerable:!1,value:function(){return Object(o.a)({},n)}}),Object.defineProperty(t,"toKey",{enumerable:!1,value:function(){return function(e){var t=e.query,n=e.variables,r=e.operationName;return JSON.stringify([r,t,n])}(t)}}),t}function d(e,t){return t?t(e):r.a.of()}function h(e){return"function"===typeof e?new b(e):e}function m(){return new b((function(){return r.a.of()}))}function g(e){return 0===e.length?m():e.map(h).reduce((function(e,t){return e.concat(t)}))}function y(e,t,n){var i=h(t),o=h(n||new b(d));return s(i)&&s(o)?new b((function(t){return e(t)?i.request(t)||r.a.of():o.request(t)||r.a.of()})):new b((function(t,n){return e(t)?i.request(t,n)||r.a.of():o.request(t,n)||r.a.of()}))}var v=function(e,t){var n=h(e);if(s(n))return n;var i=h(t);return s(i)?new b((function(e){return n.request(e,(function(e){return i.request(e)||r.a.of()}))||r.a.of()})):new b((function(e,t){return n.request(e,(function(e){return i.request(e,t)||r.a.of()}))||r.a.of()}))},b=function(){function e(e){e&&(this.request=e)}return e.prototype.split=function(t,n,r){return this.concat(y(t,n,r||new e(d)))},e.prototype.concat=function(e){return v(this,e)},e.prototype.request=function(e,t){throw new i.a(1)},e.empty=m,e.from=g,e.split=y,e.execute=E,e}();function E(e,t){return e.request(f(t.context,function(e){var t={variables:e.variables||{},extensions:e.extensions||{},operationName:e.operationName,query:e.query};return t.operationName||(t.operationName="string"!==typeof t.query?Object(a.a)(t.query):""),t}(function(e){for(var t=["query","operationName","variables","extensions","context"],n=0,r=Object.keys(e);n=0;c--)if(l[c]!==p[c])return!1;for(c=l.length-1;c>=0;c--)if(s=l[c],!b(e[s],t[s],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function E(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function x(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(n){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function D(e,t,n,r){var i;if("function"!==typeof t)throw new TypeError('"block" argument must be a function');"string"===typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(n){t=n}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&y(i,n,"Missing expected exception"+r);var o="string"===typeof r,s=!e&&i&&!n;if((!e&&a.isError(i)&&o&&x(i,n)||s)&&y(i,n,"Got unwanted exception"+r),e&&i&&n&&!x(i,n)||!e&&i)throw i}f.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return m(g(e.actual),128)+" "+e.operator+" "+m(g(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=h(t),o=r.indexOf("\n"+i);if(o>=0){var a=r.indexOf("\n",o+1);r=r.substring(a+1)}this.stack=r}}},a.inherits(f.AssertionError,Error),f.fail=y,f.ok=v,f.equal=function(e,t,n){e!=t&&y(e,t,n,"==",f.equal)},f.notEqual=function(e,t,n){e==t&&y(e,t,n,"!=",f.notEqual)},f.deepEqual=function(e,t,n){b(e,t,!1)||y(e,t,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(e,t,n){b(e,t,!0)||y(e,t,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(e,t,n){b(e,t,!1)&&y(e,t,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&y(t,n,r,"notDeepStrictEqual",e)},f.strictEqual=function(e,t,n){e!==t&&y(e,t,n,"===",f.strictEqual)},f.notStrictEqual=function(e,t,n){e===t&&y(e,t,n,"!==",f.notStrictEqual)},f.throws=function(e,t,n){D(!0,e,t,n)},f.doesNotThrow=function(e,t,n){D(!1,e,t,n)},f.ifError=function(e){if(e)throw e},f.strict=r((function e(t,n){t||y(t,!0,n,"==",e)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var C=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}}).call(this,n(41))},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"c",(function(){return d})),n.d(t,"b",(function(){return h}));var r=n(2),i=n(8),o=n(47),a=n(48),s=n(1),u=n(82),c=n(97),l=n(11),p=n(5);function f(e,t){return new m(e,t).parseDocument()}function d(e,t){var n=new m(e,t);n.expectToken(p.a.SOF);var r=n.parseValueLiteral(!1);return n.expectToken(p.a.EOF),r}function h(e,t){var n=new m(e,t);n.expectToken(p.a.SOF);var r=n.parseTypeReference();return n.expectToken(p.a.EOF),r}var m=function(){function e(e,t){var n="string"===typeof e?new u.a(e):e;n instanceof u.a||Object(i.a)(0,"Must provide Source. Received: ".concat(Object(r.a)(n))),this._lexer=Object(c.a)(n),this._options=t||{}}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(p.a.NAME);return{kind:s.a.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:s.a.DOCUMENT,definitions:this.many(p.a.SOF,this.parseDefinition,p.a.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(p.a.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(p.a.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(p.a.BRACE_L))return{kind:s.a.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(p.a.NAME)&&(t=this.parseName()),{kind:s.a.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(p.a.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(p.a.PAREN_L,this.parseVariableDefinition,p.a.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:s.a.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(p.a.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(p.a.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(p.a.DOLLAR),{kind:s.a.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:s.a.SELECTION_SET,selections:this.many(p.a.BRACE_L,this.parseSelection,p.a.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(p.a.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(p.a.COLON)?(e=r,t=this.parseName()):t=r,{kind:s.a.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(p.a.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(p.a.PAREN_L,t,p.a.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(p.a.COLON),{kind:s.a.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:s.a.ARGUMENT,name:this.parseName(),value:(this.expectToken(p.a.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(p.a.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(p.a.NAME)?{kind:s.a.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:s.a.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword("fragment"),this._options.experimentalFragmentVariables?{kind:s.a.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:s.a.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case p.a.BRACKET_L:return this.parseList(e);case p.a.BRACE_L:return this.parseObject(e);case p.a.INT:return this._lexer.advance(),{kind:s.a.INT,value:t.value,loc:this.loc(t)};case p.a.FLOAT:return this._lexer.advance(),{kind:s.a.FLOAT,value:t.value,loc:this.loc(t)};case p.a.STRING:case p.a.BLOCK_STRING:return this.parseStringLiteral();case p.a.NAME:return"true"===t.value||"false"===t.value?(this._lexer.advance(),{kind:s.a.BOOLEAN,value:"true"===t.value,loc:this.loc(t)}):"null"===t.value?(this._lexer.advance(),{kind:s.a.NULL,loc:this.loc(t)}):(this._lexer.advance(),{kind:s.a.ENUM,value:t.value,loc:this.loc(t)});case p.a.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:s.a.STRING,value:e.value,block:e.kind===p.a.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:s.a.LIST,values:this.any(p.a.BRACKET_L,(function(){return t.parseValueLiteral(e)}),p.a.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:s.a.OBJECT,fields:this.any(p.a.BRACE_L,(function(){return t.parseObjectField(e)}),p.a.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(p.a.COLON),{kind:s.a.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(p.a.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(p.a.AT),{kind:s.a.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(p.a.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(p.a.BRACKET_R),e={kind:s.a.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(p.a.BANG)?{kind:s.a.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:s.a.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===p.a.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(p.a.STRING)||this.peek(p.a.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.many(p.a.BRACE_L,this.parseOperationTypeDefinition,p.a.BRACE_R);return{kind:s.a.SCHEMA_DEFINITION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(p.a.COLON);var n=this.parseNamedType();return{kind:s.a.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:s.a.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:s.a.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:o,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword("implements")){this.expectOptionalToken(p.a.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(p.a.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(p.a.NAME))}return e},t.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(p.a.BRACE_L)&&this._lexer.lookahead().kind===p.a.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(p.a.BRACE_L,this.parseFieldDefinition,p.a.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(p.a.COLON);var i=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:s.a.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:o,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(p.a.PAREN_L,this.parseInputValueDef,p.a.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(p.a.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(p.a.EQUALS)&&(r=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:s.a.INPUT_VALUE_DEFINITION,description:t,name:n,type:i,defaultValue:r,directives:o,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();return{kind:s.a.INTERFACE_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:s.a.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(p.a.EQUALS)){this.expectOptionalToken(p.a.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(p.a.PIPE))}return e},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:s.a.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(p.a.BRACE_L,this.parseEnumValueDefinition,p.a.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:s.a.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:s.a.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(p.a.BRACE_L,this.parseInputValueDef,p.a.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===p.a.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.optionalMany(p.a.BRACE_L,this.parseOperationTypeDefinition,p.a.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:s.a.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:s.a.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:s.a.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.INTERFACE_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:s.a.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(p.a.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var o=this.parseDirectiveLocations();return{kind:s.a.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:o,loc:this.loc(e)}},t.parseDirectiveLocations=function(){this.expectOptionalToken(p.a.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(p.a.PIPE));return e},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==l.a[t.value])return t;throw this.unexpected(e)},t.loc=function(e){if(!this._options.noLocation)return new g(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw Object(a.a)(this._lexer.source,t.start,"Expected ".concat(e,", found ").concat(y(t)))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==p.a.NAME||t.value!==e)throw Object(a.a)(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(y(t)));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===p.a.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=e||this._lexer.token;return Object(a.a)(this._lexer.source,t.start,"Unexpected ".concat(y(t)))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r},e}();function g(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function y(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'):e.kind}Object(o.a)(g,(function(){return{start:this.start,end:this.end}}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(57),i=n(1),o=n(0),a=n(12),s=n(31),u=function(){function e(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=t||c,n&&(Object(o.G)(n)&&this._inputTypeStack.push(n),Object(o.D)(n)&&this._parentTypeStack.push(n),Object(o.O)(n)&&this._typeStack.push(n))}var t=e.prototype;return t.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},t.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},t.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},t.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},t.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},t.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},t.getDirective=function(){return this._directive},t.getArgument=function(){return this._argument},t.getEnumValue=function(){return this._enumValue},t.enter=function(e){var t=this._schema;switch(e.kind){case i.a.SELECTION_SET:var n=Object(o.A)(this.getType());this._parentTypeStack.push(Object(o.D)(n)?n:void 0);break;case i.a.FIELD:var a,u,c=this.getParentType();c&&(a=this._getFieldDef(t,c,e))&&(u=a.type),this._fieldDefStack.push(a),this._typeStack.push(Object(o.O)(u)?u:void 0);break;case i.a.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case i.a.OPERATION_DEFINITION:var l;"query"===e.operation?l=t.getQueryType():"mutation"===e.operation?l=t.getMutationType():"subscription"===e.operation&&(l=t.getSubscriptionType()),this._typeStack.push(Object(o.N)(l)?l:void 0);break;case i.a.INLINE_FRAGMENT:case i.a.FRAGMENT_DEFINITION:var p=e.typeCondition,f=p?Object(s.a)(t,p):Object(o.A)(this.getType());this._typeStack.push(Object(o.O)(f)?f:void 0);break;case i.a.VARIABLE_DEFINITION:var d=Object(s.a)(t,e.type);this._inputTypeStack.push(Object(o.G)(d)?d:void 0);break;case i.a.ARGUMENT:var h,m,g=this.getDirective()||this.getFieldDef();g&&(h=Object(r.a)(g.args,(function(t){return t.name===e.name.value})))&&(m=h.type),this._argument=h,this._defaultValueStack.push(h?h.defaultValue:void 0),this._inputTypeStack.push(Object(o.G)(m)?m:void 0);break;case i.a.LIST:var y=Object(o.B)(this.getInputType()),v=Object(o.J)(y)?y.ofType:y;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Object(o.G)(v)?v:void 0);break;case i.a.OBJECT_FIELD:var b,E,x=Object(o.A)(this.getInputType());Object(o.F)(x)&&(E=x.getFields()[e.name.value])&&(b=E.type),this._defaultValueStack.push(E?E.defaultValue:void 0),this._inputTypeStack.push(Object(o.G)(b)?b:void 0);break;case i.a.ENUM:var D,C=Object(o.A)(this.getInputType());Object(o.E)(C)&&(D=C.getValue(e.value)),this._enumValue=D}},t.leave=function(e){switch(e.kind){case i.a.SELECTION_SET:this._parentTypeStack.pop();break;case i.a.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case i.a.DIRECTIVE:this._directive=null;break;case i.a.OPERATION_DEFINITION:case i.a.INLINE_FRAGMENT:case i.a.FRAGMENT_DEFINITION:this._typeStack.pop();break;case i.a.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case i.a.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case i.a.LIST:case i.a.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case i.a.ENUM:this._enumValue=null}},e}();function c(e,t,n){var r=n.name.value;return r===a.SchemaMetaFieldDef.name&&e.getQueryType()===t?a.SchemaMetaFieldDef:r===a.TypeMetaFieldDef.name&&e.getQueryType()===t?a.TypeMetaFieldDef:r===a.TypeNameMetaFieldDef.name&&Object(o.D)(t)?a.TypeNameMetaFieldDef:Object(o.N)(t)||Object(o.H)(t)?t.getFields()[r]:void 0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(84),i=n(18),o=n(158),a=n(32);t.columnWidth=300,t.introspectionQuery=i.getIntrospectionQuery(),t.defaultQuery="# Write your query or mutation here\n",t.modalStyle={overlay:{zIndex:99999,backgroundColor:"rgba(15,32,46,.9)",display:"flex",alignItems:"center",justifyContent:"center"},content:{position:"relative",width:976,height:"auto",top:"initial",left:"initial",right:"initial",bottom:"initial",borderRadius:2,padding:0,border:"none",background:"none",boxShadow:"0 1px 7px rgba(0,0,0,.2)"}},t.getDefaultSession=function(e){return{id:r(),query:t.defaultQuery,variables:"",responses:a.List([]),endpoint:e,operationName:void 0,hasMutation:!1,hasSubscription:!1,hasQuery:!1,queryTypes:o.getQueryTypes(t.defaultQuery),subscriptionActive:!1,date:new Date,starred:!1,queryRunning:!1,operations:a.List([]),isReloadingSchema:!1,isSchemaPendingUpdate:!1,responseExtensions:{},queryVariablesActive:!1,endpointUnreachable:!1,editorFlex:1,variableEditorOpen:!1,variableEditorHeight:200,responseTracingOpen:!1,responseTracingHeight:300,docExplorerWidth:350,variableToType:a.Map({}),headers:"",file:void 0,isFile:!1,name:void 0,filePath:void 0,selectedUserToken:void 0,hasChanged:void 0,absolutePath:void 0,isSettingsTab:void 0,isConfigTab:void 0,currentQueryStartTime:void 0,currentQueryEndTime:void 0,nextQueryStartTime:void 0,tracingSupported:void 0,changed:void 0,scrollTop:void 0}}},function(e,t,n){"use strict";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},i=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,"__esModule",{value:!0});var o,a,s,u=n(3),c=n(9),l=c.styled.div(o||(o=r(["\n /* Comment */\n .cm-comment {\n color: ",";\n }\n\n /* Punctuation */\n .cm-punctuation {\n color: ",";\n }\n\n /* Proppery */\n .cm-property {\n color: ",";\n }\n\n /* Keyword */\n .cm-keyword {\n color: ",";\n }\n\n /* OperationName, FragmentName */\n .cm-def {\n color: ",";\n }\n\n /* FieldAlias */\n .cm-qualifier {\n color: ",";\n }\n\n /* ArgumentName and ObjectFieldName */\n .cm-attribute {\n color: ",";\n }\n\n /* Number */\n .cm-number {\n color: ",";\n }\n\n /* String */\n .cm-string {\n color: ",";\n }\n\n /* Boolean */\n .cm-builtin {\n color: ",";\n }\n\n /* EnumValue */\n .cm-string-2 {\n color: ",";\n }\n\n /* Variable */\n .cm-variable {\n color: ",";\n }\n\n /* Directive */\n .cm-meta {\n color: ",";\n }\n\n /* Type */\n .cm-atom {\n color: ",";\n }\n\n /* Comma */\n .cm-ws {\n color: ",";\n }\n position: relative;\n display: flex;\n flex: 1 1 0%;\n flex-flow: column;\n\n .CodeMirror {\n color: rgba(255, 255, 255, 0.3);\n font-family: ",";\n font-size: ",";\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n .CodeMirror-lines {\n padding: 20px 0;\n }\n\n .CodeMirror-gutters {\n border-right: none;\n }\n\n .CodeMirror span[role='presentation'] {\n color: ",";\n }\n\n /* CURSOR */\n\n .CodeMirror div.CodeMirror-cursor {\n background: ",";\n border-left: ",";\n border-bottom: ",";\n }\n /* Shown when moving in bi-directional text */\n .CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n }\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\n background: rgba(255, 255, 255, 0.6);\n color: white;\n border: 0;\n width: auto;\n }\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n }\n\n .cm-animate-fat-cursor {\n -webkit-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n border: 0;\n width: auto;\n }\n @-webkit-keyframes blink {\n 0% {\n background: #7e7;\n }\n 50% {\n background: none;\n }\n 100% {\n background: #7e7;\n }\n }\n @keyframes blink {\n 0% {\n background: #7e7;\n }\n 50% {\n background: none;\n }\n 100% {\n background: #7e7;\n }\n }\n\n .CodeMirror-foldmarker {\n border-radius: 4px;\n background: #08f;\n background: linear-gradient(#43a8ff, #0f83e8);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n color: white;\n font-family: arial;\n font-size: 12px;\n line-height: 0;\n margin: 0 3px;\n padding: 0px 4px 1px;\n text-shadow: 0 -1px rgba(0, 0, 0, 0.1);\n }\n\n div.CodeMirror span.CodeMirror-matchingbracket {\n /* color: rgba(255, 255, 255, 0.4); */\n text-decoration: underline;\n }\n\n div.CodeMirror span.CodeMirror-nonmatchingbracket {\n color: rgb(242, 92, 84);\n }\n\n .toolbar-button {\n background: #fdfdfd;\n background: linear-gradient(#fbfbfb, #f8f8f8);\n border-color: #d3d3d3 #d0d0d0 #bababa;\n border-radius: 4px;\n border-style: solid;\n border-width: 0.5px;\n box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.13), inset 0 1px #fff;\n color: #444;\n cursor: pointer;\n display: inline-block;\n margin: 0 5px 0;\n padding: 2px 8px 4px;\n text-decoration: none;\n }\n .toolbar-button:active {\n background: linear-gradient(#ececec, #d8d8d8);\n border-color: #cacaca #c9c9c9 #b0b0b0;\n box-shadow: 0 1px 0 #fff, inset 0 1px rgba(255, 255, 255, 0.2),\n inset 0 1px 1px rgba(0, 0, 0, 0.08);\n }\n .toolbar-button.error {\n background: linear-gradient(#fdf3f3, #e6d6d7);\n color: #b00;\n }\n\n .autoInsertedLeaf.cm-property {\n -webkit-animation-duration: 6s;\n animation-duration: 6s;\n -webkit-animation-name: insertionFade;\n animation-name: insertionFade;\n border-bottom: 2px solid rgba(255, 255, 255, 0);\n border-radius: 2px;\n margin: -2px -4px -1px;\n padding: 2px 4px 1px;\n }\n\n @-webkit-keyframes insertionFade {\n from,\n to {\n background: rgba(255, 255, 255, 0);\n border-color: rgba(255, 255, 255, 0);\n }\n\n 15%,\n 85% {\n background: #fbffc9;\n border-color: #f0f3c0;\n }\n }\n\n @keyframes insertionFade {\n from,\n to {\n background: rgba(255, 255, 255, 0);\n border-color: rgba(255, 255, 255, 0);\n }\n\n 15%,\n 85% {\n background: #fbffc9;\n border-color: #f0f3c0;\n }\n }\n\n .CodeMirror pre {\n padding: 0 4px; /* Horizontal padding of content */\n }\n\n .CodeMirror-scrollbar-filler,\n .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n }\n\n /* GUTTER */\n\n .CodeMirror-gutters {\n background-color: transparent;\n border: none;\n white-space: nowrap;\n }\n .CodeMirror-linenumbers {\n background: ",";\n }\n .CodeMirror-linenumber {\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: ",";\n color: ",";\n min-width: 20px;\n padding: 0 3px 0 5px;\n text-align: right;\n white-space: nowrap;\n }\n\n .CodeMirror-guttermarker {\n color: black;\n }\n .CodeMirror-guttermarker-subtle {\n color: #999;\n }\n\n .cm-tab {\n display: inline-block;\n text-decoration: inherit;\n }\n\n .CodeMirror-ruler {\n border-left: 1px solid #ccc;\n position: absolute;\n }\n .cm-negative {\n color: #d44;\n }\n .cm-positive {\n color: #292;\n }\n .cm-header,\n .cm-strong {\n font-weight: bold;\n }\n .cm-em {\n font-style: italic;\n }\n .cm-link {\n text-decoration: underline;\n }\n .cm-strikethrough {\n text-decoration: line-through;\n }\n\n .cm-s-default .cm-error {\n color: #f00;\n }\n .cm-invalidchar {\n color: #f00;\n }\n\n .CodeMirror-composing {\n border-bottom: 2px solid;\n }\n .CodeMirror-matchingtag {\n background: rgba(255, 150, 0, 0.3);\n }\n .CodeMirror-activeline-background {\n background: #e8f2ff;\n }\n\n /* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n .CodeMirror {\n background: white;\n overflow: hidden;\n line-height: 1.6;\n }\n\n .CodeMirror-scroll {\n height: 100%;\n /* 30px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n /* margin-bottom: -30px;\n margin-right: -30px; */\n outline: none; /* Prevent dragging from highlighting the element */\n overflow: hidden;\n /* padding-bottom: 30px; */\n position: relative;\n &:hover {\n overflow: scroll !important;\n }\n }\n .CodeMirror-sizer {\n border-right: 30px solid transparent;\n position: relative;\n }\n\n /* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n .CodeMirror-vscrollbar,\n .CodeMirror-hscrollbar,\n .CodeMirror-scrollbar-filler,\n .CodeMirror-gutter-filler {\n display: none !important;\n position: absolute;\n z-index: 6;\n }\n .CodeMirror-vscrollbar {\n overflow-x: hidden;\n overflow-y: scroll;\n right: 0;\n top: 0;\n }\n .CodeMirror-hscrollbar {\n bottom: 0;\n left: 0;\n overflow-x: scroll;\n overflow-y: hidden;\n }\n .CodeMirror-scrollbar-filler {\n right: 0;\n bottom: 0;\n }\n .CodeMirror-gutter-filler {\n left: 0;\n bottom: 0;\n }\n\n .CodeMirror-gutters {\n min-height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 3;\n margin-left: 3px;\n }\n .CodeMirror-gutter {\n display: inline-block;\n height: 100%;\n margin-bottom: -30px;\n vertical-align: top;\n white-space: normal;\n /* Hack to make IE7 behave */\n *zoom: 1;\n *display: inline;\n }\n .CodeMirror-gutter-wrapper {\n background: none !important;\n border: none !important;\n position: absolute;\n z-index: 4;\n }\n .CodeMirror-gutter-background {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 4;\n }\n .CodeMirror-gutter-elt {\n cursor: default;\n position: absolute;\n z-index: 4;\n }\n .CodeMirror-gutter-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n .CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n }\n .CodeMirror pre {\n -webkit-tap-highlight-color: transparent;\n /* Reset some styles that the rest of the page might have set */\n background: transparent;\n border-radius: 0;\n border-width: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n position: relative;\n white-space: pre;\n word-wrap: normal;\n z-index: 2;\n }\n .CodeMirror-wrap pre {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n }\n\n .CodeMirror-linebackground {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 0;\n }\n\n .CodeMirror-linewidget {\n overflow: auto;\n position: relative;\n z-index: 2;\n }\n\n .CodeMirror-widget {\n }\n\n .CodeMirror-code {\n outline: none;\n }\n\n /* Force content-box sizing for the elements where we expect it */\n .CodeMirror-scroll,\n .CodeMirror-sizer,\n .CodeMirror-gutter,\n .CodeMirror-gutters,\n .CodeMirror-linenumber {\n box-sizing: content-box;\n }\n\n .CodeMirror-measure {\n height: 0;\n overflow: hidden;\n position: absolute;\n visibility: hidden;\n width: 100%;\n }\n\n .CodeMirror-cursor {\n position: absolute;\n }\n .CodeMirror-measure pre {\n position: static;\n }\n\n div.CodeMirror-cursors {\n position: relative;\n visibility: hidden;\n z-index: 3;\n }\n div.CodeMirror-dragcursors {\n visibility: visible;\n }\n\n .CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n }\n\n .CodeMirror-selected {\n background: ",";\n }\n .CodeMirror-focused .CodeMirror-selected {\n background: ",";\n }\n .CodeMirror-crosshair {\n cursor: crosshair;\n }\n .CodeMirror-line::-moz-selection,\n .CodeMirror-line > span::-moz-selection,\n .CodeMirror-line > span > span::-moz-selection {\n background: ",";\n }\n .CodeMirror-line::selection,\n .CodeMirror-line > span::selection,\n .CodeMirror-line > span > span::selection {\n background: ",";\n }\n .CodeMirror-line::-moz-selection,\n .CodeMirror-line > span::-moz-selection,\n .CodeMirror-line > span > span::-moz-selection {\n background: ",";\n }\n\n .cm-searching {\n background: #ffa;\n background: rgba(255, 255, 0, 0.4);\n }\n\n /* IE7 hack to prevent it from returning funny offsetTops on the spans */\n .CodeMirror span {\n *vertical-align: text-bottom;\n }\n\n /* Used to force a border model for a node */\n .cm-force-border {\n padding-right: 0.1px;\n }\n\n @media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n }\n\n /* See issue #2901 */\n .cm-tab-wrap-hack:after {\n content: '';\n }\n\n /* Help users use markselection to safely style text background */\n span.CodeMirror-selectedtext {\n background: none;\n }\n\n .CodeMirror-dialog {\n background: inherit;\n color: inherit;\n left: 0;\n right: 0;\n overflow: hidden;\n padding: 0.1em 0.8em;\n position: absolute;\n z-index: 15;\n }\n\n .CodeMirror-dialog-top {\n border-bottom: 1px solid #eee;\n top: 0;\n }\n\n .CodeMirror-dialog-bottom {\n border-top: 1px solid #eee;\n bottom: 0;\n }\n\n .CodeMirror-dialog input {\n background: transparent;\n border: 1px solid #d3d6db;\n color: inherit;\n font-family: monospace;\n outline: none;\n width: 20em;\n }\n\n .CodeMirror-dialog button {\n font-size: 70%;\n }\n\n .CodeMirror-foldgutter {\n width: 0.7em;\n }\n .CodeMirror-foldgutter-open,\n .CodeMirror-foldgutter-folded {\n cursor: pointer;\n }\n .CodeMirror-foldgutter-open:after {\n content: '\u25be';\n }\n .CodeMirror-foldgutter-folded:after {\n content: '\u25b8';\n }\n /* The lint marker gutter */\n .CodeMirror-lint-markers {\n width: 16px;\n }\n\n .CodeMirror-jump-token {\n cursor: pointer;\n text-decoration: underline;\n }\n"],["\n /* Comment */\n .cm-comment {\n color: ",";\n }\n\n /* Punctuation */\n .cm-punctuation {\n color: ",";\n }\n\n /* Proppery */\n .cm-property {\n color: ",";\n }\n\n /* Keyword */\n .cm-keyword {\n color: ",";\n }\n\n /* OperationName, FragmentName */\n .cm-def {\n color: ",";\n }\n\n /* FieldAlias */\n .cm-qualifier {\n color: ",";\n }\n\n /* ArgumentName and ObjectFieldName */\n .cm-attribute {\n color: ",";\n }\n\n /* Number */\n .cm-number {\n color: ",";\n }\n\n /* String */\n .cm-string {\n color: ",";\n }\n\n /* Boolean */\n .cm-builtin {\n color: ",";\n }\n\n /* EnumValue */\n .cm-string-2 {\n color: ",";\n }\n\n /* Variable */\n .cm-variable {\n color: ",";\n }\n\n /* Directive */\n .cm-meta {\n color: ",";\n }\n\n /* Type */\n .cm-atom {\n color: ",";\n }\n\n /* Comma */\n .cm-ws {\n color: ",";\n }\n position: relative;\n display: flex;\n flex: 1 1 0%;\n flex-flow: column;\n\n .CodeMirror {\n color: rgba(255, 255, 255, 0.3);\n font-family: ",";\n font-size: ",";\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n .CodeMirror-lines {\n padding: 20px 0;\n }\n\n .CodeMirror-gutters {\n border-right: none;\n }\n\n .CodeMirror span[role='presentation'] {\n color: ",";\n }\n\n /* CURSOR */\n\n .CodeMirror div.CodeMirror-cursor {\n background: ",";\n border-left: ",";\n border-bottom: ",";\n }\n /* Shown when moving in bi-directional text */\n .CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n }\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\n background: rgba(255, 255, 255, 0.6);\n color: white;\n border: 0;\n width: auto;\n }\n .CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n }\n\n .cm-animate-fat-cursor {\n -webkit-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n border: 0;\n width: auto;\n }\n @-webkit-keyframes blink {\n 0% {\n background: #7e7;\n }\n 50% {\n background: none;\n }\n 100% {\n background: #7e7;\n }\n }\n @keyframes blink {\n 0% {\n background: #7e7;\n }\n 50% {\n background: none;\n }\n 100% {\n background: #7e7;\n }\n }\n\n .CodeMirror-foldmarker {\n border-radius: 4px;\n background: #08f;\n background: linear-gradient(#43a8ff, #0f83e8);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n color: white;\n font-family: arial;\n font-size: 12px;\n line-height: 0;\n margin: 0 3px;\n padding: 0px 4px 1px;\n text-shadow: 0 -1px rgba(0, 0, 0, 0.1);\n }\n\n div.CodeMirror span.CodeMirror-matchingbracket {\n /* color: rgba(255, 255, 255, 0.4); */\n text-decoration: underline;\n }\n\n div.CodeMirror span.CodeMirror-nonmatchingbracket {\n color: rgb(242, 92, 84);\n }\n\n .toolbar-button {\n background: #fdfdfd;\n background: linear-gradient(#fbfbfb, #f8f8f8);\n border-color: #d3d3d3 #d0d0d0 #bababa;\n border-radius: 4px;\n border-style: solid;\n border-width: 0.5px;\n box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.13), inset 0 1px #fff;\n color: #444;\n cursor: pointer;\n display: inline-block;\n margin: 0 5px 0;\n padding: 2px 8px 4px;\n text-decoration: none;\n }\n .toolbar-button:active {\n background: linear-gradient(#ececec, #d8d8d8);\n border-color: #cacaca #c9c9c9 #b0b0b0;\n box-shadow: 0 1px 0 #fff, inset 0 1px rgba(255, 255, 255, 0.2),\n inset 0 1px 1px rgba(0, 0, 0, 0.08);\n }\n .toolbar-button.error {\n background: linear-gradient(#fdf3f3, #e6d6d7);\n color: #b00;\n }\n\n .autoInsertedLeaf.cm-property {\n -webkit-animation-duration: 6s;\n animation-duration: 6s;\n -webkit-animation-name: insertionFade;\n animation-name: insertionFade;\n border-bottom: 2px solid rgba(255, 255, 255, 0);\n border-radius: 2px;\n margin: -2px -4px -1px;\n padding: 2px 4px 1px;\n }\n\n @-webkit-keyframes insertionFade {\n from,\n to {\n background: rgba(255, 255, 255, 0);\n border-color: rgba(255, 255, 255, 0);\n }\n\n 15%,\n 85% {\n background: #fbffc9;\n border-color: #f0f3c0;\n }\n }\n\n @keyframes insertionFade {\n from,\n to {\n background: rgba(255, 255, 255, 0);\n border-color: rgba(255, 255, 255, 0);\n }\n\n 15%,\n 85% {\n background: #fbffc9;\n border-color: #f0f3c0;\n }\n }\n\n .CodeMirror pre {\n padding: 0 4px; /* Horizontal padding of content */\n }\n\n .CodeMirror-scrollbar-filler,\n .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n }\n\n /* GUTTER */\n\n .CodeMirror-gutters {\n background-color: transparent;\n border: none;\n white-space: nowrap;\n }\n .CodeMirror-linenumbers {\n background: ",";\n }\n .CodeMirror-linenumber {\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: ",";\n color: ",";\n min-width: 20px;\n padding: 0 3px 0 5px;\n text-align: right;\n white-space: nowrap;\n }\n\n .CodeMirror-guttermarker {\n color: black;\n }\n .CodeMirror-guttermarker-subtle {\n color: #999;\n }\n\n .cm-tab {\n display: inline-block;\n text-decoration: inherit;\n }\n\n .CodeMirror-ruler {\n border-left: 1px solid #ccc;\n position: absolute;\n }\n .cm-negative {\n color: #d44;\n }\n .cm-positive {\n color: #292;\n }\n .cm-header,\n .cm-strong {\n font-weight: bold;\n }\n .cm-em {\n font-style: italic;\n }\n .cm-link {\n text-decoration: underline;\n }\n .cm-strikethrough {\n text-decoration: line-through;\n }\n\n .cm-s-default .cm-error {\n color: #f00;\n }\n .cm-invalidchar {\n color: #f00;\n }\n\n .CodeMirror-composing {\n border-bottom: 2px solid;\n }\n .CodeMirror-matchingtag {\n background: rgba(255, 150, 0, 0.3);\n }\n .CodeMirror-activeline-background {\n background: #e8f2ff;\n }\n\n /* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n .CodeMirror {\n background: white;\n overflow: hidden;\n line-height: 1.6;\n }\n\n .CodeMirror-scroll {\n height: 100%;\n /* 30px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n /* margin-bottom: -30px;\n margin-right: -30px; */\n outline: none; /* Prevent dragging from highlighting the element */\n overflow: hidden;\n /* padding-bottom: 30px; */\n position: relative;\n &:hover {\n overflow: scroll !important;\n }\n }\n .CodeMirror-sizer {\n border-right: 30px solid transparent;\n position: relative;\n }\n\n /* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n .CodeMirror-vscrollbar,\n .CodeMirror-hscrollbar,\n .CodeMirror-scrollbar-filler,\n .CodeMirror-gutter-filler {\n display: none !important;\n position: absolute;\n z-index: 6;\n }\n .CodeMirror-vscrollbar {\n overflow-x: hidden;\n overflow-y: scroll;\n right: 0;\n top: 0;\n }\n .CodeMirror-hscrollbar {\n bottom: 0;\n left: 0;\n overflow-x: scroll;\n overflow-y: hidden;\n }\n .CodeMirror-scrollbar-filler {\n right: 0;\n bottom: 0;\n }\n .CodeMirror-gutter-filler {\n left: 0;\n bottom: 0;\n }\n\n .CodeMirror-gutters {\n min-height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 3;\n margin-left: 3px;\n }\n .CodeMirror-gutter {\n display: inline-block;\n height: 100%;\n margin-bottom: -30px;\n vertical-align: top;\n white-space: normal;\n /* Hack to make IE7 behave */\n *zoom: 1;\n *display: inline;\n }\n .CodeMirror-gutter-wrapper {\n background: none !important;\n border: none !important;\n position: absolute;\n z-index: 4;\n }\n .CodeMirror-gutter-background {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 4;\n }\n .CodeMirror-gutter-elt {\n cursor: default;\n position: absolute;\n z-index: 4;\n }\n .CodeMirror-gutter-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n .CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n }\n .CodeMirror pre {\n -webkit-tap-highlight-color: transparent;\n /* Reset some styles that the rest of the page might have set */\n background: transparent;\n border-radius: 0;\n border-width: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n position: relative;\n white-space: pre;\n word-wrap: normal;\n z-index: 2;\n }\n .CodeMirror-wrap pre {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n }\n\n .CodeMirror-linebackground {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 0;\n }\n\n .CodeMirror-linewidget {\n overflow: auto;\n position: relative;\n z-index: 2;\n }\n\n .CodeMirror-widget {\n }\n\n .CodeMirror-code {\n outline: none;\n }\n\n /* Force content-box sizing for the elements where we expect it */\n .CodeMirror-scroll,\n .CodeMirror-sizer,\n .CodeMirror-gutter,\n .CodeMirror-gutters,\n .CodeMirror-linenumber {\n box-sizing: content-box;\n }\n\n .CodeMirror-measure {\n height: 0;\n overflow: hidden;\n position: absolute;\n visibility: hidden;\n width: 100%;\n }\n\n .CodeMirror-cursor {\n position: absolute;\n }\n .CodeMirror-measure pre {\n position: static;\n }\n\n div.CodeMirror-cursors {\n position: relative;\n visibility: hidden;\n z-index: 3;\n }\n div.CodeMirror-dragcursors {\n visibility: visible;\n }\n\n .CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n }\n\n .CodeMirror-selected {\n background: ",";\n }\n .CodeMirror-focused .CodeMirror-selected {\n background: ",";\n }\n .CodeMirror-crosshair {\n cursor: crosshair;\n }\n .CodeMirror-line::-moz-selection,\n .CodeMirror-line > span::-moz-selection,\n .CodeMirror-line > span > span::-moz-selection {\n background: ",";\n }\n .CodeMirror-line::selection,\n .CodeMirror-line > span::selection,\n .CodeMirror-line > span > span::selection {\n background: ",";\n }\n .CodeMirror-line::-moz-selection,\n .CodeMirror-line > span::-moz-selection,\n .CodeMirror-line > span > span::-moz-selection {\n background: ",";\n }\n\n .cm-searching {\n background: #ffa;\n background: rgba(255, 255, 0, 0.4);\n }\n\n /* IE7 hack to prevent it from returning funny offsetTops on the spans */\n .CodeMirror span {\n *vertical-align: text-bottom;\n }\n\n /* Used to force a border model for a node */\n .cm-force-border {\n padding-right: 0.1px;\n }\n\n @media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n }\n\n /* See issue #2901 */\n .cm-tab-wrap-hack:after {\n content: '';\n }\n\n /* Help users use markselection to safely style text background */\n span.CodeMirror-selectedtext {\n background: none;\n }\n\n .CodeMirror-dialog {\n background: inherit;\n color: inherit;\n left: 0;\n right: 0;\n overflow: hidden;\n padding: 0.1em 0.8em;\n position: absolute;\n z-index: 15;\n }\n\n .CodeMirror-dialog-top {\n border-bottom: 1px solid #eee;\n top: 0;\n }\n\n .CodeMirror-dialog-bottom {\n border-top: 1px solid #eee;\n bottom: 0;\n }\n\n .CodeMirror-dialog input {\n background: transparent;\n border: 1px solid #d3d6db;\n color: inherit;\n font-family: monospace;\n outline: none;\n width: 20em;\n }\n\n .CodeMirror-dialog button {\n font-size: 70%;\n }\n\n .CodeMirror-foldgutter {\n width: 0.7em;\n }\n .CodeMirror-foldgutter-open,\n .CodeMirror-foldgutter-folded {\n cursor: pointer;\n }\n .CodeMirror-foldgutter-open:after {\n content: '\u25be';\n }\n .CodeMirror-foldgutter-folded:after {\n content: '\u25b8';\n }\n /* The lint marker gutter */\n .CodeMirror-lint-markers {\n width: 16px;\n }\n\n .CodeMirror-jump-token {\n cursor: pointer;\n text-decoration: underline;\n }\n"])),(function(e){return e.theme.editorColours.comment}),(function(e){return e.theme.editorColours.punctuation}),(function(e){return e.theme.editorColours.property}),(function(e){return e.theme.editorColours.keyword}),(function(e){return e.theme.editorColours.def}),(function(e){return e.theme.editorColours.def}),(function(e){return e.theme.editorColours.attribute}),(function(e){return e.theme.editorColours.number}),(function(e){return e.theme.editorColours.string}),(function(e){return e.theme.editorColours.builtin}),(function(e){return e.theme.editorColours.string2}),(function(e){return e.theme.editorColours.variable}),(function(e){return e.theme.editorColours.meta}),(function(e){return e.theme.editorColours.atom}),(function(e){return e.theme.editorColours.ws}),(function(e){return e.theme.settings["editor.fontFamily"]}),(function(e){return e.theme.settings["editor.fontSize"]+"px"}),(function(e){return e.theme.colours.text}),(function(e){return"block"===e.theme.settings["editor.cursorShape"]?e.theme.editorColours.cursorColor:"transparent"}),(function(e){return"line"===e.theme.settings["editor.cursorShape"]?"1px solid "+e.theme.editorColours.cursorColor:0}),(function(e){return"underline"===e.theme.settings["editor.cursorShape"]?"1px solid "+e.theme.editorColours.cursorColor:0}),(function(e){return e.theme.editorColours.editorBackground}),(function(e){return e.theme.settings["editor.fontSize"]-2+"px"}),(function(e){return e.theme.colours.textInactive}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection})),p=c.createGlobalStyle(a||(a=r(['\n *::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n height: 7px;\n }\n *::-webkit-scrollbar-track-piece {\n background-color: rgba(255, 255, 255, 0);\n }\n *::-webkit-scrollbar-track {\n background-color: inherit;\n }\n *::-webkit-scrollbar-thumb {\n max-height: 100px;\n border-radius: 3px;\n background-color: rgba(1, 1, 1, 0.23);\n }\n *::-webkit-scrollbar-thumb:hover {\n background-color: rgba(1, 1, 1, 0.35);\n }\n *::-webkit-scrollbar-thumb:active {\n background-color: rgba(1, 1, 1, 0.48);\n }\n *::-webkit-scrollbar-corner {\n background: rgba(0,0,0,0);\n }\n\n\n .CodeMirror-lint-tooltip, .CodeMirror-info {\n background-color: white;\n border-radius: 4px 4px 4px 4px;\n border: 1px solid black;\n color: #09141C;\n font-family: Open Sans, monospace;\n font-size: 14px;\n max-width: 600px;\n opacity: 0;\n overflow: hidden;\n padding: 12px 14px;\n position: fixed;\n -webkit-transition: opacity 0.4s;\n transition: opacity 0.4s;\n z-index: 100;\n }\n\n .CodeMirror-lint-message-error,\n .CodeMirror-lint-message-warning {\n padding-left: 18px;\n }\n\n .CodeMirror-lint-mark-error,\n .CodeMirror-lint-mark-warning {\n background-position: left bottom;\n background-repeat: repeat-x;\n }\n\n .CodeMirror-lint-mark-error {\n background-image: url(\'data:image/svg+xml;utf8,\n \n \n \');\n }\n\n .CodeMirror-lint-mark-warning {\n background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\');\n }\n\n .CodeMirror-lint-marker-error,\n .CodeMirror-lint-marker-warning {\n background-position: center center;\n background-repeat: no-repeat;\n cursor: pointer;\n display: inline-block;\n height: 16px;\n position: relative;\n vertical-align: middle;\n width: 16px;\n }\n\n .CodeMirror-lint-message-error,\n .CodeMirror-lint-message-warning {\n background-position: top left;\n background-repeat: no-repeat;\n padding-left: 22px;\n }\n\n .CodeMirror-lint-marker-error,\n .CodeMirror-lint-message-error {\n background-image: url(\'data:image/svg+xml;utf8,\n \n \n \n \');\n background-position: 0 50%;\n }\n\n .CodeMirror-lint-marker-warning,\n .CodeMirror-lint-message-warning {\n background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\');\n }\n\n .CodeMirror-lint-marker-multiple {\n background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\');\n background-position: right bottom;\n background-repeat: no-repeat;\n width: 100%;\n height: 100%;\n }\n\n .CodeMirror-lint-mark-error {\n &:before {\n content: \'\';\n width: 50px;\n height: 14px;\n position: absolute;\n background: #FF4F56;\n left: -80px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10;\n }\n }\n\n .CodeMirror-lint-message-error span {\n color: white;\n background: #FF4F56;\n font-family: \'Source Code Pro\', monospace;\n font-weight: 600;\n border-radius: 2px;\n padding: 0 4px;\n }\n\n .CodeMirror-hints {\n background: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n font-size: 14px;\n list-style: none;\n margin-left: -6px;\n margin: 0;\n max-height: 20em;\n overflow: hidden;\n padding: 0;\n position: absolute;\n z-index: 10;\n border-radius: 2px;\n top: 0;\n left: 0;\n &:hover {\n overflow-y: overlay;\n }\n }\n\n .CodeMirror-hints-wrapper {\n font-family: \'Open Sans\', sans-serif;\n background: white;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\n margin-left: -6px;\n position: absolute;\n z-index: 10;\n }\n\n .CodeMirror-hints-wrapper .CodeMirror-hints {\n box-shadow: none;\n margin-left: 0;\n position: relative;\n z-index: 0;\n }\n\n .CodeMirror-hint {\n color: rgba(15, 32, 45, 0.6);\n cursor: pointer;\n margin: 0;\n max-width: 300px;\n overflow: hidden;\n padding: 6px 12px;\n white-space: pre;\n }\n\n li.CodeMirror-hint-active {\n background-color: #2a7ed3;\n border-top-color: white;\n color: white;\n }\n\n .CodeMirror-hint-information {\n border-top: solid 1px rgba(0, 0, 0, 0.1);\n max-width: 300px;\n padding: 10px 12px;\n position: relative;\n z-index: 1;\n background-color: rgba(15, 32, 45, 0.03);\n font-size: 14px;\n }\n\n .CodeMirror-hint-information:first-child {\n border-bottom: solid 1px #c0c0c0;\n border-top: none;\n margin-bottom: -1px;\n }\n\n .CodeMirror-hint-information .content {\n color: rgba(15, 32, 45, 0.6);\n box-orient: vertical;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n line-clamp: 3;\n line-height: 1.36;\n max-height: 59px;\n overflow: hidden;\n text-overflow: -o-ellipsis-lastline;\n }\n\n .CodeMirror-hint-information .content p:first-child {\n margin-top: 0;\n }\n\n .CodeMirror-hint-information .content p:last-child {\n margin-bottom: 0;\n }\n\n .CodeMirror-hint-information .infoType {\n color: rgb(241, 143, 1);\n cursor: pointer;\n display: inline;\n margin-right: 0.5em;\n }\n'],['\n *::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n height: 7px;\n }\n *::-webkit-scrollbar-track-piece {\n background-color: rgba(255, 255, 255, 0);\n }\n *::-webkit-scrollbar-track {\n background-color: inherit;\n }\n *::-webkit-scrollbar-thumb {\n max-height: 100px;\n border-radius: 3px;\n background-color: rgba(1, 1, 1, 0.23);\n }\n *::-webkit-scrollbar-thumb:hover {\n background-color: rgba(1, 1, 1, 0.35);\n }\n *::-webkit-scrollbar-thumb:active {\n background-color: rgba(1, 1, 1, 0.48);\n }\n *::-webkit-scrollbar-corner {\n background: rgba(0,0,0,0);\n }\n\n\n .CodeMirror-lint-tooltip, .CodeMirror-info {\n background-color: white;\n border-radius: 4px 4px 4px 4px;\n border: 1px solid black;\n color: #09141C;\n font-family: Open Sans, monospace;\n font-size: 14px;\n max-width: 600px;\n opacity: 0;\n overflow: hidden;\n padding: 12px 14px;\n position: fixed;\n -webkit-transition: opacity 0.4s;\n transition: opacity 0.4s;\n z-index: 100;\n }\n\n .CodeMirror-lint-message-error,\n .CodeMirror-lint-message-warning {\n padding-left: 18px;\n }\n\n .CodeMirror-lint-mark-error,\n .CodeMirror-lint-mark-warning {\n background-position: left bottom;\n background-repeat: repeat-x;\n }\n\n .CodeMirror-lint-mark-error {\n background-image: url(\'data:image/svg+xml;utf8,\n \n \n \');\n }\n\n .CodeMirror-lint-mark-warning {\n background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\');\n }\n\n .CodeMirror-lint-marker-error,\n .CodeMirror-lint-marker-warning {\n background-position: center center;\n background-repeat: no-repeat;\n cursor: pointer;\n display: inline-block;\n height: 16px;\n position: relative;\n vertical-align: middle;\n width: 16px;\n }\n\n .CodeMirror-lint-message-error,\n .CodeMirror-lint-message-warning {\n background-position: top left;\n background-repeat: no-repeat;\n padding-left: 22px;\n }\n\n .CodeMirror-lint-marker-error,\n .CodeMirror-lint-message-error {\n background-image: url(\'data:image/svg+xml;utf8,\n \n \n \n \');\n background-position: 0 50%;\n }\n\n .CodeMirror-lint-marker-warning,\n .CodeMirror-lint-message-warning {\n background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\');\n }\n\n .CodeMirror-lint-marker-multiple {\n background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\');\n background-position: right bottom;\n background-repeat: no-repeat;\n width: 100%;\n height: 100%;\n }\n\n .CodeMirror-lint-mark-error {\n &:before {\n content: \'\';\n width: 50px;\n height: 14px;\n position: absolute;\n background: #FF4F56;\n left: -80px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10;\n }\n }\n\n .CodeMirror-lint-message-error span {\n color: white;\n background: #FF4F56;\n font-family: \'Source Code Pro\', monospace;\n font-weight: 600;\n border-radius: 2px;\n padding: 0 4px;\n }\n\n .CodeMirror-hints {\n background: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n font-size: 14px;\n list-style: none;\n margin-left: -6px;\n margin: 0;\n max-height: 20em;\n overflow: hidden;\n padding: 0;\n position: absolute;\n z-index: 10;\n border-radius: 2px;\n top: 0;\n left: 0;\n &:hover {\n overflow-y: overlay;\n }\n }\n\n .CodeMirror-hints-wrapper {\n font-family: \'Open Sans\', sans-serif;\n background: white;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\n margin-left: -6px;\n position: absolute;\n z-index: 10;\n }\n\n .CodeMirror-hints-wrapper .CodeMirror-hints {\n box-shadow: none;\n margin-left: 0;\n position: relative;\n z-index: 0;\n }\n\n .CodeMirror-hint {\n color: rgba(15, 32, 45, 0.6);\n cursor: pointer;\n margin: 0;\n max-width: 300px;\n overflow: hidden;\n padding: 6px 12px;\n white-space: pre;\n }\n\n li.CodeMirror-hint-active {\n background-color: #2a7ed3;\n border-top-color: white;\n color: white;\n }\n\n .CodeMirror-hint-information {\n border-top: solid 1px rgba(0, 0, 0, 0.1);\n max-width: 300px;\n padding: 10px 12px;\n position: relative;\n z-index: 1;\n background-color: rgba(15, 32, 45, 0.03);\n font-size: 14px;\n }\n\n .CodeMirror-hint-information:first-child {\n border-bottom: solid 1px #c0c0c0;\n border-top: none;\n margin-bottom: -1px;\n }\n\n .CodeMirror-hint-information .content {\n color: rgba(15, 32, 45, 0.6);\n box-orient: vertical;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n line-clamp: 3;\n line-height: 1.36;\n max-height: 59px;\n overflow: hidden;\n text-overflow: -o-ellipsis-lastline;\n }\n\n .CodeMirror-hint-information .content p:first-child {\n margin-top: 0;\n }\n\n .CodeMirror-hint-information .content p:last-child {\n margin-bottom: 0;\n }\n\n .CodeMirror-hint-information .infoType {\n color: rgb(241, 143, 1);\n cursor: pointer;\n display: inline;\n margin-right: 0.5em;\n }\n']))),f=c.styled.div(s||(s=r(["\n color: #141823;\n display: flex;\n flex-direction: row;\n font-family: system, -apple-system, 'San Francisco', '.SFNSDisplay-Regular',\n 'Segoe UI', Segoe, 'Segoe WP', 'Helvetica Neue', helvetica, 'Lucida Grande',\n arial, sans-serif;\n font-size: 14px;\n height: 100%;\n margin: 0;\n overflow: hidden;\n width: 100%;\n"],["\n color: #141823;\n display: flex;\n flex-direction: row;\n font-family: system, -apple-system, 'San Francisco', '.SFNSDisplay-Regular',\n 'Segoe UI', Segoe, 'Segoe WP', 'Helvetica Neue', helvetica, 'Lucida Grande',\n arial, sans-serif;\n font-size: 14px;\n height: 100%;\n margin: 0;\n overflow: hidden;\n width: 100%;\n"]))),d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.getWidth=function(){return t.graphqlContainer.offsetWidth},t.setGraphqlContainer=function(e){t.graphqlContainer=e},t}return i(t,e),t.prototype.render=function(){return u.createElement(f,{ref:this.setGraphqlContainer},this.props.children)},t}(u.PureComponent);t.Container=d,t.default=function(e){var t=e.children;return u.createElement(l,{onMouseMove:function(e){if(e.target.classList.contains("CodeMirror-lint-mark-error"))for(var t=document.getElementsByClassName("CodeMirror-lint-message-error"),n=0,r=Array.from(t);n$1")}}},t,u.createElement(p,null))}},function(e,t,n){!function(e){"use strict";var t,n,r=e.Pos;function i(e,t){for(var n=function(e){var t=e.flags;return null!=t?t:(e.ignoreCase?"i":"")+(e.global?"g":"")+(e.multiline?"m":"")}(e),r=n,i=0;il);p++){var f=e.getLine(c++);s=null==s?f:s+"\n"+f}u*=2,t.lastIndex=n.ch;var d=t.exec(s);if(d){var h=s.slice(0,d.index).split("\n"),m=d[0].split("\n"),g=n.line+h.length-1,y=h[h.length-1].length;return{from:r(g,y),to:r(g+m.length-1,1==m.length?y+m[0].length:m[m.length-1].length),match:d}}}}function u(e,t,n){for(var r,i=0;i<=e.length;){t.lastIndex=i;var o=t.exec(e);if(!o)break;var a=o.index+o[0].length;if(a>e.length-n)break;(!r||a>r.index+r[0].length)&&(r=o),i=o.index+1}return r}function c(e,t,n){t=i(t,"g");for(var o=n.line,a=n.ch,s=e.firstLine();o>=s;o--,a=-1){var c=e.getLine(o),l=u(c,t,a<0?0:c.length-a);if(l)return{from:r(o,l.index),to:r(o,l.index+l[0].length),match:l}}}function l(e,t,n){if(!o(t))return c(e,t,n);t=i(t,"gm");for(var a,s=1,l=e.getLine(n.line).length-n.ch,p=n.line,f=e.firstLine();p>=f;){for(var d=0;d=f;d++){var h=e.getLine(p--);a=null==a?h:h+"\n"+a}s*=2;var m=u(a,t,l);if(m){var g=a.slice(0,m.index).split("\n"),y=m[0].split("\n"),v=p+g.length,b=g[g.length-1].length;return{from:r(v,b),to:r(v+y.length-1,1==y.length?b+y[0].length:y[y.length-1].length),match:m}}}}function p(e,t,n,r){if(e.length==t.length)return n;for(var i=0,o=n+Math.max(0,e.length-t.length);;){if(i==o)return i;var a=i+o>>1,s=r(e.slice(0,a)).length;if(s==n)return a;s>n?o=a:i=a+1}}function f(e,i,o,a){if(!i.length)return null;var s=a?t:n,u=s(i).split(/\r|\n\r?/);e:for(var c=o.line,l=o.ch,f=e.lastLine()+1-u.length;c<=f;c++,l=0){var d=e.getLine(c).slice(l),h=s(d);if(1==u.length){var m=h.indexOf(u[0]);if(-1==m)continue e;return o=p(d,h,m,s)+l,{from:r(c,p(d,h,m,s)+l),to:r(c,p(d,h,m+u[0].length,s)+l)}}var g=h.length-u[0].length;if(h.slice(g)==u[0]){for(var y=1;y=f;c--,l=-1){var d=e.getLine(c);l>-1&&(d=d.slice(0,l));var h=s(d);if(1==u.length){var m=h.lastIndexOf(u[0]);if(-1==m)continue e;return{from:r(c,p(d,h,m,s)),to:r(c,p(d,h,m+u[0].length,s))}}var g=u[u.length-1];if(h.slice(0,g.length)==g){var y=1;for(o=c-u.length+1;y0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)}))}(n(15))},function(e,t,n){!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement("div"))).className=r?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,"dialog-opened"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",(function(r,i,o){o||(o={}),n(this,null);var a=t(this,r,o.bottom),s=!1,u=this;function c(t){if("string"==typeof t)p.value=t;else{if(s)return;s=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),u.focus(),o.onClose&&o.onClose(a)}}var l,p=a.getElementsByTagName("input")[0];return p?(p.focus(),o.value&&(p.value=o.value,!1!==o.selectValueOnOpen&&p.select()),o.onInput&&e.on(p,"input",(function(e){o.onInput(e,p.value,c)})),o.onKeyUp&&e.on(p,"keyup",(function(e){o.onKeyUp(e,p.value,c)})),e.on(p,"keydown",(function(t){o&&o.onKeyDown&&o.onKeyDown(t,p.value,c)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(p.blur(),e.e_stop(t),c()),13==t.keyCode&&i(p.value,t))})),!1!==o.closeOnBlur&&e.on(a,"focusout",(function(e){null!==e.relatedTarget&&c()}))):(l=a.getElementsByTagName("button")[0])&&(e.on(l,"click",(function(){c(),u.focus()})),!1!==o.closeOnBlur&&e.on(l,"blur",c),l.focus()),c})),e.defineExtension("openConfirm",(function(r,i,o){n(this,null);var a=t(this,r,o&&o.bottom),s=a.getElementsByTagName("button"),u=!1,c=this,l=1;function p(){u||(u=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),c.focus())}s[0].focus();for(var f=0;f"']/,r=/[&<>"']/g,i=/[<>"']|&(?!#?\w+;)/,o=/[<>"']|&(?!#?\w+;)/g,a={"&":"&","<":"<",">":">",'"':""","'":"'"},s=e=>a[e];const u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function c(e){return e.replace(u,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")}const l=/(^|[^\[])\^/g;const p=/[^\w:]/g,f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;const d={},h=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,g=/^([^:]+:\/*[^/]*)[\s\S]*$/;function y(e,t){d[" "+e]||(h.test(e)?d[" "+e]=e+"/":d[" "+e]=v(e,"/",!0));const n=-1===(e=d[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(g,"$1")+t:e+t}function v(e,t,n){const r=e.length;if(0===r)return"";let i=0;for(;i(r=(r=r.source||r).replace(l,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n},cleanUrl:function(e,t,n){if(e){let e;try{e=decodeURIComponent(c(n)).replace(p,"").toLowerCase()}catch(r){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!f.test(n)&&(n=y(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(r){return null}return n},resolveUrl:y,noopTest:{exec:function(){}},merge:function(e){let t,n,r=1;for(;r{let r=!1,i=t;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/);let r=0;if(n.length>t)n.splice(t);else for(;n.length31&&!this.state.collapsed&&this.props.collapsable&&this.setState({collapsed:!0})}},t.prototype.render=function(){var e=this.props,t=e.type,n=e.clickable,r=e.className,i=e.beforeNode,a=e.afterNode,s=e.showParentName,p=e.isActive,f=u.isType(t),d=s&&t.parent?o.createElement("span",null,t.parent.name,".",o.createElement("b",null,t.name)):t.name;return o.createElement(C,{active:p,clickable:n,className:"doc-category-item"+(r||""),onClick:this.onClick,ref:this.setRef},i,i&&" ",!f&&o.createElement("span",null,o.createElement("span",{className:"field-name"},d),t.args&&t.args.length>0&&["(",o.createElement("span",{key:"args"},this.state.collapsed?o.createElement(w,null,"..."):t.args.map((function(e){return o.createElement(c.default,{key:e.name,arg:e})}))),")"],": "),o.createElement("span",{className:"type-name"},function e(t){if(t instanceof u.GraphQLNonNull)return o.createElement("span",null,e(t.ofType),"!");if(t instanceof u.GraphQLList)return o.createElement("span",null,"[",e(t.ofType),"]");return o.createElement("span",null,t.name)}(t.type||t)),void 0!==t.defaultValue?o.createElement(k,null," ","= ",o.createElement("span",null,""+JSON.stringify(t.defaultValue,null,2))):void 0,n&&o.createElement(S,null,o.createElement(l.Triangle,null)),a&&" ",a)},t.defaultProps={clickable:!0,collapsable:!1},t}(o.Component);var v=m.createSelector([function(e,t){var n=t.x,r=t.y,i=d.getSessionDocsState(e),o=h.getSelectedSessionIdFromRoot(e);if(i){var a=i.navStack.get(n);if(a){var s=a.get("x")===n&&a.get("y")===r;return{isActive:s,keyMove:i.keyMove,lastActive:s&&n===i.navStack.length-1,sessionId:o}}}return{isActive:!1,keyMove:!1,lastActive:!1,sessionId:o}}],(function(e){return e}));t.default=s.connect(v,(function(e){return a.bindActionCreators({addStack:f.addStack},e)}))(p.toJS(y));var b,E,x,D,C=g.styled("div")(b||(b=i(["\n position: relative;\n padding: 6px 16px;\n overflow: auto;\n font-size: 14px;\n transition: 0.1s background-color;\n background: ",";\n\n cursor: ",";\n\n &:hover {\n color: ",";\n background: #2a7ed3;\n .field-name,\n .type-name,\n .arg-name,\n span {\n color: "," !important;\n }\n }\n b {\n font-weight: 600;\n }\n"],["\n position: relative;\n padding: 6px 16px;\n overflow: auto;\n font-size: 14px;\n transition: 0.1s background-color;\n background: ",";\n\n cursor: ",";\n\n &:hover {\n color: ",";\n background: #2a7ed3;\n .field-name,\n .type-name,\n .arg-name,\n span {\n color: "," !important;\n }\n }\n b {\n font-weight: 600;\n }\n"])),(function(e){return e.active?e.theme.colours.black07:e.theme.colours.white}),(function(e){return e.clickable?"pointer":"select"}),(function(e){return e.theme.colours.white}),(function(e){return e.theme.colours.white})),w=g.styled.span(E||(E=i(["\n font-weight: 600;\n"],["\n font-weight: 600;\n"]))),S=g.styled.div(x||(x=i(["\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n"],["\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n"]))),k=g.styled.span(D||(D=i(["\n color: ",";\n span {\n color: #1f61a9;\n }\n"],["\n color: ",";\n span {\n color: #1f61a9;\n }\n"])),(function(e){return e.theme.colours.black30}))},function(e,t,n){"use strict";function r(e){return"undefined"===typeof e||null===e}e.exports.isNothing=r,e.exports.isObject=function(e){return"object"===typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:r(e)?[]:[e]},e.exports.repeat=function(e,t){var n,r="";for(n=0;n2&&void 0!==arguments[2]?arguments[2]:u.a,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new s.a(e),p=arguments.length>4?arguments[4]:void 0;t||Object(r.a)(0,"Must provide document"),Object(a.a)(e);var f=Object.freeze({}),d=[],h=p&&p.maxErrors,m=new c.b(e,t,l,(function(e){if(null!=h&&d.length>=h)throw d.push(new i.a("Too many validation errors, error limit reached. Validation aborted.")),f;d.push(e)})),g=Object(o.d)(n.map((function(e){return e(m)})));try{Object(o.c)(t,Object(o.e)(l,g))}catch(y){if(y!==f)throw y}return d}function p(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.b,r=[],i=new c.a(e,t,(function(e){r.push(e)})),a=n.map((function(e){return e(i)}));return Object(o.c)(e,Object(o.d)(a)),r}function f(e){var t=p(e);if(0!==t.length)throw new Error(t.map((function(e){return e.message})).join("\n\n"))}function d(e,t){var n=p(e,t);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join("\n\n"))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(8),i=n(46),o=function(e,t,n){this.body=e,this.name=t||"GraphQL request",this.locationOffset=n||{line:1,column:1},this.locationOffset.line>0||Object(r.a)(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||Object(r.a)(0,"column in locationOffset is 1-indexed and must be positive")};Object(i.a)(o)},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(i){return!1}}()?Object.assign:function(e,t){for(var n,s,u=a(e),c=1;c0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"']/g,R=RegExp(L.source),B=RegExp(P.source),U=/<%-([\s\S]+?)%>/g,z=/<%([\s\S]+?)%>/g,V=/<%=([\s\S]+?)%>/g,q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,H=/^\w*$/,W=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/[\\^$.*+?()[\]{}|]/g,K=RegExp(G.source),J=/^\s+|\s+$/g,Y=/^\s+/,Q=/\s+$/,$=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,X=/\{\n\/\* \[wrapped with (.+)\] \*/,Z=/,? & /,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\]$/,se=/^0o[0-7]+$/i,ue=/^(?:0|[1-9]\d*)$/,ce=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,le=/($^)/,pe=/['\n\r\u2028\u2029\\]/g,fe="\\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]",me="["+de+"]",ge="["+fe+"]",ye="\\d+",ve="[\\u2700-\\u27bf]",be="[a-z\\xdf-\\xf6\\xf8-\\xff]",Ee="[^\\ud800-\\udfff"+de+ye+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",xe="\\ud83c[\\udffb-\\udfff]",De="[^\\ud800-\\udfff]",Ce="(?:\\ud83c[\\udde6-\\uddff]){2}",we="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="[A-Z\\xc0-\\xd6\\xd8-\\xde]",ke="(?:"+be+"|"+Ee+")",Ae="(?:"+Se+"|"+Ee+")",Te="(?:"+ge+"|"+xe+")"+"?",_e="[\\ufe0e\\ufe0f]?"+Te+("(?:\\u200d(?:"+[De,Ce,we].join("|")+")[\\ufe0e\\ufe0f]?"+Te+")*"),Oe="(?:"+[ve,Ce,we].join("|")+")"+_e,Fe="(?:"+[De+ge+"?",ge,Ce,we,he].join("|")+")",Ne=RegExp("['\u2019]","g"),Ie=RegExp(ge,"g"),Me=RegExp(xe+"(?="+xe+")|"+Fe+_e,"g"),je=RegExp([Se+"?"+be+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?="+[me,Se,"$"].join("|")+")",Ae+"+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?="+[me,Se+ke,"$"].join("|")+")",Se+"?"+ke+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?",Se+"+(?:['\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_])",ye,Oe].join("|"),"g"),Le=RegExp("[\\u200d\\ud800-\\udfff"+fe+"\\ufe0e\\ufe0f]"),Pe=/[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,Ue={};Ue[S]=Ue[k]=Ue[A]=Ue[T]=Ue[_]=Ue[O]=Ue["[object Uint8ClampedArray]"]=Ue[F]=Ue[N]=!0,Ue[u]=Ue[c]=Ue[C]=Ue[l]=Ue[w]=Ue[p]=Ue[f]=Ue[d]=Ue[m]=Ue[g]=Ue[y]=Ue[v]=Ue[b]=Ue[E]=Ue[D]=!1;var ze={};ze[u]=ze[c]=ze[C]=ze[w]=ze[l]=ze[p]=ze[S]=ze[k]=ze[A]=ze[T]=ze[_]=ze[m]=ze[g]=ze[y]=ze[v]=ze[b]=ze[E]=ze[x]=ze[O]=ze["[object Uint8ClampedArray]"]=ze[F]=ze[N]=!0,ze[f]=ze[d]=ze[D]=!1;var Ve={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},qe=parseFloat,He=parseInt,We="object"==typeof e&&e&&e.Object===Object&&e,Ge="object"==typeof self&&self&&self.Object===Object&&self,Ke=We||Ge||Function("return this")(),Je=t&&!t.nodeType&&t,Ye=Je&&"object"==typeof r&&r&&!r.nodeType&&r,Qe=Ye&&Ye.exports===Je,$e=Qe&&We.process,Xe=function(){try{var e=Ye&&Ye.require&&Ye.require("util").types;return e||$e&&$e.binding&&$e.binding("util")}catch(t){}}(),Ze=Xe&&Xe.isArrayBuffer,et=Xe&&Xe.isDate,tt=Xe&&Xe.isMap,nt=Xe&&Xe.isRegExp,rt=Xe&&Xe.isSet,it=Xe&&Xe.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 ft(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--&&xt(t,e[n],0)>-1;);return n}function jt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Lt=kt({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"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"}),Pt=kt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Rt(e){return"\\"+Ve[e]}function Bt(e){return Le.test(e)}function Ut(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 Vt(e,t){for(var n=-1,r=e.length,i=0,o=[];++n",""":'"',"'":"'"});var Jt=function e(t){var n=(t=null==t?Ke:Jt.defaults(Ke.Object(),t,Jt.pick(Ke,Re))).Array,r=t.Date,i=t.Error,fe=t.Function,de=t.Math,he=t.Object,me=t.RegExp,ge=t.String,ye=t.TypeError,ve=n.prototype,be=fe.prototype,Ee=he.prototype,xe=t["__core-js_shared__"],De=be.toString,Ce=Ee.hasOwnProperty,we=0,Se=function(){var e=/[^.]+$/.exec(xe&&xe.keys&&xe.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),ke=Ee.toString,Ae=De.call(he),Te=Ke._,_e=me("^"+De.call(Ce).replace(G,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Oe=Qe?t.Buffer:void 0,Fe=t.Symbol,Me=t.Uint8Array,Le=Oe?Oe.allocUnsafe:void 0,Ve=zt(he.getPrototypeOf,he),We=he.create,Ge=Ee.propertyIsEnumerable,Je=ve.splice,Ye=Fe?Fe.isConcatSpreadable:void 0,$e=Fe?Fe.iterator:void 0,Xe=Fe?Fe.toStringTag:void 0,vt=function(){try{var e=Xi(he,"defineProperty");return e({},"",{}),e}catch(t){}}(),kt=t.clearTimeout!==Ke.clearTimeout&&t.clearTimeout,Yt=r&&r.now!==Ke.Date.now&&r.now,Qt=t.setTimeout!==Ke.setTimeout&&t.setTimeout,$t=de.ceil,Xt=de.floor,Zt=he.getOwnPropertySymbols,en=Oe?Oe.isBuffer:void 0,tn=t.isFinite,nn=ve.join,rn=zt(he.keys,he),on=de.max,an=de.min,sn=r.now,un=t.parseInt,cn=de.random,ln=ve.reverse,pn=Xi(t,"DataView"),fn=Xi(t,"Map"),dn=Xi(t,"Promise"),hn=Xi(t,"Set"),mn=Xi(t,"WeakMap"),gn=Xi(he,"create"),yn=mn&&new mn,vn={},bn=ko(pn),En=ko(fn),xn=ko(dn),Dn=ko(hn),Cn=ko(mn),wn=Fe?Fe.prototype:void 0,Sn=wn?wn.valueOf:void 0,kn=wn?wn.toString:void 0;function An(e){if(qa(e)&&!Na(e)&&!(e instanceof Fn)){if(e instanceof On)return e;if(Ce.call(e,"__wrapped__"))return Ao(e)}return new On(e)}var Tn=function(){function e(){}return function(t){if(!Va(t))return{};if(We)return We(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function _n(){}function On(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Fn(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 Yn(e,t,n,r,i,o){var a,s=1&t,c=2&t,f=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Va(e))return e;var D=Na(e);if(D){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),!s)return gi(e,a)}else{var I=to(e),M=I==d||I==h;if(La(e))return li(e,s);if(I==y||I==u||M&&!i){if(a=c||M?{}:ro(e),!s)return c?function(e,t){return yi(e,eo(e),t)}(e,function(e,t){return e&&yi(t,Es(t),e)}(a,e)):function(e,t){return yi(e,Zi(e),t)}(e,Wn(a,e))}else{if(!ze[I])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case C:return pi(e);case l:case p:return new r(+e);case w:return function(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case k:case A:case T:case _:case O:case"[object Uint8ClampedArray]":case F:case N:return fi(e,n);case m:return new r;case g:case E:return new r(e);case v:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case x:return i=e,Sn?he(Sn.call(i)):{}}var i}(e,I,s)}}o||(o=new Ln);var j=o.get(e);if(j)return j;o.set(e,a),Ja(e)?e.forEach((function(r){a.add(Yn(r,t,n,r,e,o))})):Ha(e)&&e.forEach((function(r,i){a.set(i,Yn(r,t,n,i,e,o))}));var L=D?void 0:(f?c?Wi:Hi:c?Es:bs)(e);return st(L||e,(function(r,i){L&&(r=e[i=r]),Vn(a,i,Yn(r,t,n,i,e,o))})),a}function Qn(e,t,n){var r=n.length;if(null==e)return!r;for(e=he(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 $n(e,t,n){if("function"!=typeof e)throw new ye(o);return bo((function(){e.apply(void 0,n)}),t)}function Xn(e,t,n,r){var i=-1,o=pt,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=dt(t,Ot(n))),r?(o=ft,a=!1):t.length>=200&&(o=Nt,a=!1,t=new jn(t));e:for(;++i-1},In.prototype.set=function(e,t){var n=this.__data__,r=qn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Mn.prototype.clear=function(){this.size=0,this.__data__={hash:new Nn,map:new(fn||In),string:new Nn}},Mn.prototype.delete=function(e){var t=Qi(this,e).delete(e);return this.size-=t?1:0,t},Mn.prototype.get=function(e){return Qi(this,e).get(e)},Mn.prototype.has=function(e){return Qi(this,e).has(e)},Mn.prototype.set=function(e,t){var n=Qi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},jn.prototype.add=jn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},jn.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.clear=function(){this.__data__=new In,this.size=0},Ln.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ln.prototype.get=function(e){return this.__data__.get(e)},Ln.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.set=function(e,t){var n=this.__data__;if(n instanceof In){var r=n.__data__;if(!fn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Mn(r)}return n.set(e,t),this.size=n.size,this};var Zn=Ei(sr),er=Ei(ur,!0);function tr(e,t){var n=!0;return Zn(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function nr(e,t,n){for(var r=-1,i=e.length;++r0&&n(s)?t>1?ir(s,t-1,n,r,i):ht(i,s):r||(i[i.length]=s)}return i}var or=xi(),ar=xi(!0);function sr(e,t){return e&&or(e,t,bs)}function ur(e,t){return e&&ar(e,t,bs)}function cr(e,t){return lt(t,(function(t){return Ba(e[t])}))}function lr(e,t){for(var n=0,r=(t=ai(t,e)).length;null!=e&&nt}function hr(e,t){return null!=e&&Ce.call(e,t)}function mr(e,t){return null!=e&&t in he(e)}function gr(e,t,r){for(var i=r?ft:pt,o=e[0].length,a=e.length,s=a,u=n(a),c=1/0,l=[];s--;){var p=e[s];s&&t&&(p=dt(p,Ot(t))),c=an(p.length,c),u[s]=!r&&(t||o>=120&&p.length>=120)?new jn(s&&p):void 0}p=e[0];var f=-1,d=u[0];e:for(;++f=s)return u;var c=n[r];return u*("desc"==c?-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;)s!==e&&Je.call(s,u,1),Je.call(e,u,1);return e}function Mr(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;oo(i)?Je.call(e,i,1):Xr(e,i)}}return e}function jr(e,t){return e+Xt(cn()*(t-e+1))}function Lr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Xt(t/2))&&(e+=e)}while(t);return n}function Pr(e,t){return Eo(ho(e,t,Ws),e+"")}function Rr(e){return Rn(Ts(e))}function Br(e,t){var n=Ts(e);return Co(n,Jn(t,0,n.length))}function Ur(e,t,n,r){if(!Va(e))return e;for(var i=-1,o=(t=ai(t,e)).length,a=o-1,s=e;null!=s&&++io?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var a=n(o);++i>>1,a=e[o];null!==a&&!Qa(a)&&(n?a<=t:a=200){var c=t?null:Li(e);if(c)return qt(c);a=!1,i=Nt,u=new jn}else u=t?[]:s;e:for(;++r=r?e:Hr(e,t,n)}var ci=kt||function(e){return Ke.clearTimeout(e)};function li(e,t){if(t)return e.slice();var n=e.length,r=Le?Le(n):new e.constructor(n);return e.copy(r),r}function pi(e){var t=new e.constructor(e.byteLength);return new Me(t).set(new Me(e)),t}function fi(e,t){var n=t?pi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function di(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e===e,o=Qa(e),a=void 0!==t,s=null===t,u=t===t,c=Qa(t);if(!s&&!c&&!o&&e>t||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&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&&ao(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=he(t);++r-1?i[o?t[a]:a]:void 0}}function ki(e){return qi((function(t){var n=t.length,r=n,i=On.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ye(o);if(i&&!s&&"wrapper"==Ki(a))var s=new On([],!0)}for(r=s?r:n;++r1&&b.reverse(),p&&cs))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var l=-1,p=!0,f=2&n?new jn:void 0;for(o.set(e,t),o.set(t,e);++l-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace($,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return st(s,(function(n){var r="_."+n[0];t&n[1]&&!pt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(X);return t?t[1].split(Z):[]}(r),n)))}function Do(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,Ko(e,n)}));function ea(e){var t=An(e);return t.__chain__=!0,t}function ta(e,t){return t(e)}var na=qi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Kn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Fn&&oo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ta,args:[i],thisArg:void 0}),new On(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ra=vi((function(e,t,n){Ce.call(e,n)?++e[n]:Gn(e,n,1)}));var ia=Si(Fo),oa=Si(No);function aa(e,t){return(Na(e)?st:Zn)(e,Yi(t,3))}function sa(e,t){return(Na(e)?ut:er)(e,Yi(t,3))}var ua=vi((function(e,t,n){Ce.call(e,n)?e[n].push(t):Gn(e,n,[t])}));var ca=Pr((function(e,t,r){var i=-1,o="function"==typeof t,a=Ma(e)?n(e.length):[];return Zn(e,(function(e){a[++i]=o?ot(t,e,r):yr(e,t,r)})),a})),la=vi((function(e,t,n){Gn(e,n,t)}));function pa(e,t){return(Na(e)?dt:kr)(e,Yi(t,3))}var fa=vi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var da=Pr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ao(e,t[0],t[1])?t=[]:n>2&&ao(t[0],t[1],t[2])&&(t=[t[0]]),Fr(e,ir(t,1),[])})),ha=Yt||function(){return Ke.Date.now()};function ma(e,t,n){return t=n?void 0:t,Ri(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 ye(o);return e=ns(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Pr((function(e,t,n){var r=1;if(n.length){var i=Vt(n,Ji(ya));r|=32}return Ri(e,r,t,n,i)})),va=Pr((function(e,t,n){var r=3;if(n.length){var i=Vt(n,Ji(va));r|=32}return Ri(t,r,e,n,i)}));function ba(e,t,n){var r,i,a,s,u,c,l=0,p=!1,f=!1,d=!0;if("function"!=typeof e)throw new ye(o);function h(t){var n=r,o=i;return r=i=void 0,l=t,s=e.apply(o,n)}function m(e){return l=e,u=bo(y,t),p?h(e):s}function g(e){var n=e-c;return void 0===c||n>=t||n<0||f&&e-l>=a}function y(){var e=ha();if(g(e))return v(e);u=bo(y,function(e){var n=t-(e-c);return f?an(n,a-(e-l)):n}(e))}function v(e){return u=void 0,d&&r?h(e):(r=i=void 0,s)}function b(){var e=ha(),n=g(e);if(r=arguments,i=this,c=e,n){if(void 0===u)return m(c);if(f)return ci(u),u=bo(y,t),h(c)}return void 0===u&&(u=bo(y,t)),s}return t=is(t)||0,Va(n)&&(p=!!n.leading,a=(f="maxWait"in n)?on(is(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==u&&ci(u),l=0,r=c=i=u=void 0},b.flush=function(){return void 0===u?s:v(ha())},b}var Ea=Pr((function(e,t){return $n(e,1,t)})),xa=Pr((function(e,t,n){return $n(e,is(t)||0,n)}));function Da(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ye(o);var n=function n(){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(Da.Cache||Mn),n}function Ca(e){if("function"!=typeof e)throw new ye(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)}}Da.Cache=Mn;var wa=si((function(e,t){var n=(t=1==t.length&&Na(t[0])?dt(t[0],Ot(Yi())):dt(ir(t,1),Ot(Yi()))).length;return Pr((function(r){for(var i=-1,o=an(r.length,n);++i=t})),Fa=vr(function(){return arguments}())?vr:function(e){return qa(e)&&Ce.call(e,"callee")&&!Ge.call(e,"callee")},Na=n.isArray,Ia=Ze?Ot(Ze):function(e){return qa(e)&&fr(e)==C};function Ma(e){return null!=e&&za(e.length)&&!Ba(e)}function ja(e){return qa(e)&&Ma(e)}var La=en||iu,Pa=et?Ot(et):function(e){return qa(e)&&fr(e)==p};function Ra(e){if(!qa(e))return!1;var t=fr(e);return t==f||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!Ga(e)}function Ba(e){if(!Va(e))return!1;var t=fr(e);return t==d||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ua(e){return"number"==typeof e&&e==ns(e)}function za(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Va(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function qa(e){return null!=e&&"object"==typeof e}var Ha=tt?Ot(tt):function(e){return qa(e)&&to(e)==m};function Wa(e){return"number"==typeof e||qa(e)&&fr(e)==g}function Ga(e){if(!qa(e)||fr(e)!=y)return!1;var t=Ve(e);if(null===t)return!0;var n=Ce.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&De.call(n)==Ae}var Ka=nt?Ot(nt):function(e){return qa(e)&&fr(e)==v};var Ja=rt?Ot(rt):function(e){return qa(e)&&to(e)==b};function Ya(e){return"string"==typeof e||!Na(e)&&qa(e)&&fr(e)==E}function Qa(e){return"symbol"==typeof e||qa(e)&&fr(e)==x}var $a=it?Ot(it):function(e){return qa(e)&&za(e.length)&&!!Ue[fr(e)]};var Xa=Ii(Sr),Za=Ii((function(e,t){return e<=t}));function es(e){if(!e)return[];if(Ma(e))return Ya(e)?Gt(e):gi(e);if($e&&e[$e])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[$e]());var t=to(e);return(t==m?Ut:t==b?qt:Ts)(e)}function ts(e){return e?(e=is(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e===e?e:0:0===e?e:0}function ns(e){var t=ts(e),n=t%1;return t===t?n?t-n:t:0}function rs(e){return e?Jn(ns(e),0,4294967295):0}function is(e){if("number"==typeof e)return e;if(Qa(e))return NaN;if(Va(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Va(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(J,"");var n=oe.test(e);return n||se.test(e)?He(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function os(e){return yi(e,Es(e))}function as(e){return null==e?"":Qr(e)}var ss=bi((function(e,t){if(lo(t)||Ma(t))yi(t,bs(t),e);else for(var n in t)Ce.call(t,n)&&Vn(e,n,t[n])})),us=bi((function(e,t){yi(t,Es(t),e)})),cs=bi((function(e,t,n,r){yi(t,Es(t),e,r)})),ls=bi((function(e,t,n,r){yi(t,bs(t),e,r)})),ps=qi(Kn);var fs=Pr((function(e,t){e=he(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&ao(t[0],t[1],i)&&(r=1);++n1),t})),yi(e,Wi(e),n),r&&(n=Yn(n,7,zi));for(var i=t.length;i--;)Xr(n,t[i]);return n}));var ws=qi((function(e,t){return null==e?{}:function(e,t){return Nr(e,t,(function(t,n){return ms(e,n)}))}(e,t)}));function Ss(e,t){if(null==e)return{};var n=dt(Wi(e),(function(e){return[e]}));return t=Yi(t),Nr(e,n,(function(e,n){return t(e,n[0])}))}var ks=Pi(bs),As=Pi(Es);function Ts(e){return null==e?[]:Ft(e,bs(e))}var _s=Ci((function(e,t,n){return t=t.toLowerCase(),e+(n?Os(t):t)}));function Os(e){return Rs(as(e).toLowerCase())}function Fs(e){return(e=as(e))&&e.replace(ce,Lt).replace(Ie,"")}var Ns=Ci((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Is=Ci((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ms=Di("toLowerCase");var js=Ci((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Ls=Ci((function(e,t,n){return e+(n?" ":"")+Rs(t)}));var Ps=Ci((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Rs=Di("toUpperCase");function Bs(e,t,n){return e=as(e),void 0===(t=n?void 0:t)?function(e){return Pe.test(e)}(e)?function(e){return e.match(je)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var Us=Pr((function(e,t){try{return ot(e,void 0,t)}catch(n){return Ra(n)?n:new i(n)}})),zs=qi((function(e,t){return st(t,(function(t){t=So(t),Gn(e,t,ya(e[t],e))})),e}));function Vs(e){return function(){return e}}var qs=ki(),Hs=ki(!0);function Ws(e){return e}function Gs(e){return Dr("function"==typeof e?e:Yn(e,1))}var Ks=Pr((function(e,t){return function(n){return yr(n,e,t)}})),Js=Pr((function(e,t){return function(n){return yr(e,n,t)}}));function Ys(e,t,n){var r=bs(t),i=cr(t,r);null!=n||Va(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,bs(t)));var o=!(Va(n)&&"chain"in n)||!!n.chain,a=Ba(e);return st(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 Qs(){}var $s=Oi(dt),Xs=Oi(ct),Zs=Oi(yt);function eu(e){return so(e)?St(So(e)):function(e){return function(t){return lr(t,e)}}(e)}var tu=Ni(),nu=Ni(!0);function ru(){return[]}function iu(){return!1}var ou=_i((function(e,t){return e+t}),0),au=ji("ceil"),su=_i((function(e,t){return e/t}),1),uu=ji("floor");var cu=_i((function(e,t){return e*t}),1),lu=ji("round"),pu=_i((function(e,t){return e-t}),0);return An.after=function(e,t){if("function"!=typeof t)throw new ye(o);return e=ns(e),function(){if(--e<1)return t.apply(this,arguments)}},An.ary=ma,An.assign=ss,An.assignIn=us,An.assignInWith=cs,An.assignWith=ls,An.at=ps,An.before=ga,An.bind=ya,An.bindAll=zs,An.bindKey=va,An.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Na(e)?e:[e]},An.chain=ea,An.chunk=function(e,t,r){t=(r?ao(e,t,r):void 0===t)?1:on(ns(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,s=n($t(i/t));oi?0:i+n),(r=void 0===r||r>i?i:ns(r))<0&&(r+=i),r=n>r?0:rs(r);n>>0)?(e=as(e))&&("string"==typeof t||null!=t&&!Ka(t))&&!(t=Qr(t))&&Bt(e)?ui(Gt(e),0,n):e.split(t,n):[]},An.spread=function(e,t){if("function"!=typeof e)throw new ye(o);return t=null==t?0:on(ns(t),0),Pr((function(n){var r=n[t],i=ui(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},An.tail=function(e){var t=null==e?0:e.length;return t?Hr(e,1,t):[]},An.take=function(e,t,n){return e&&e.length?Hr(e,0,(t=n||void 0===t?1:ns(t))<0?0:t):[]},An.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Hr(e,(t=r-(t=n||void 0===t?1:ns(t)))<0?0:t,r):[]},An.takeRightWhile=function(e,t){return e&&e.length?ei(e,Yi(t,3),!1,!0):[]},An.takeWhile=function(e,t){return e&&e.length?ei(e,Yi(t,3)):[]},An.tap=function(e,t){return t(e),e},An.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new ye(o);return Va(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ba(e,t,{leading:r,maxWait:t,trailing:i})},An.thru=ta,An.toArray=es,An.toPairs=ks,An.toPairsIn=As,An.toPath=function(e){return Na(e)?dt(e,So):Qa(e)?[e]:gi(wo(as(e)))},An.toPlainObject=os,An.transform=function(e,t,n){var r=Na(e),i=r||La(e)||$a(e);if(t=Yi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Va(e)&&Ba(o)?Tn(Ve(e)):{}}return(i?st:sr)(e,(function(e,r,i){return t(n,e,r,i)})),n},An.unary=function(e){return ma(e,1)},An.union=qo,An.unionBy=Ho,An.unionWith=Wo,An.uniq=function(e){return e&&e.length?$r(e):[]},An.uniqBy=function(e,t){return e&&e.length?$r(e,Yi(t,2)):[]},An.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?$r(e,void 0,t):[]},An.unset=function(e,t){return null==e||Xr(e,t)},An.unzip=Go,An.unzipWith=Ko,An.update=function(e,t,n){return null==e?e:Zr(e,t,oi(n))},An.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:Zr(e,t,oi(n),r)},An.values=Ts,An.valuesIn=function(e){return null==e?[]:Ft(e,Es(e))},An.without=Jo,An.words=Bs,An.wrap=function(e,t){return Sa(oi(t),e)},An.xor=Yo,An.xorBy=Qo,An.xorWith=$o,An.zip=Xo,An.zipObject=function(e,t){return ri(e||[],t||[],Vn)},An.zipObjectDeep=function(e,t){return ri(e||[],t||[],Ur)},An.zipWith=Zo,An.entries=ks,An.entriesIn=As,An.extend=us,An.extendWith=cs,Ys(An,An),An.add=ou,An.attempt=Us,An.camelCase=_s,An.capitalize=Os,An.ceil=au,An.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=is(n))===n?n:0),void 0!==t&&(t=(t=is(t))===t?t:0),Jn(is(e),t,n)},An.clone=function(e){return Yn(e,4)},An.cloneDeep=function(e){return Yn(e,5)},An.cloneDeepWith=function(e,t){return Yn(e,5,t="function"==typeof t?t:void 0)},An.cloneWith=function(e,t){return Yn(e,4,t="function"==typeof t?t:void 0)},An.conformsTo=function(e,t){return null==t||Qn(e,t,bs(t))},An.deburr=Fs,An.defaultTo=function(e,t){return null==e||e!==e?t:e},An.divide=su,An.endsWith=function(e,t,n){e=as(e),t=Qr(t);var r=e.length,i=n=void 0===n?r:Jn(ns(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},An.eq=Ta,An.escape=function(e){return(e=as(e))&&B.test(e)?e.replace(P,Pt):e},An.escapeRegExp=function(e){return(e=as(e))&&K.test(e)?e.replace(G,"\\$&"):e},An.every=function(e,t,n){var r=Na(e)?ct:tr;return n&&ao(e,t,n)&&(t=void 0),r(e,Yi(t,3))},An.find=ia,An.findIndex=Fo,An.findKey=function(e,t){return bt(e,Yi(t,3),sr)},An.findLast=oa,An.findLastIndex=No,An.findLastKey=function(e,t){return bt(e,Yi(t,3),ur)},An.floor=uu,An.forEach=aa,An.forEachRight=sa,An.forIn=function(e,t){return null==e?e:or(e,Yi(t,3),Es)},An.forInRight=function(e,t){return null==e?e:ar(e,Yi(t,3),Es)},An.forOwn=function(e,t){return e&&sr(e,Yi(t,3))},An.forOwnRight=function(e,t){return e&&ur(e,Yi(t,3))},An.get=hs,An.gt=_a,An.gte=Oa,An.has=function(e,t){return null!=e&&no(e,t,hr)},An.hasIn=ms,An.head=Mo,An.identity=Ws,An.includes=function(e,t,n,r){e=Ma(e)?e:Ts(e),n=n&&!r?ns(n):0;var i=e.length;return n<0&&(n=on(i+n,0)),Ya(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&xt(e,t,n)>-1},An.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ns(n);return i<0&&(i=on(r+i,0)),xt(e,t,i)},An.inRange=function(e,t,n){return t=ts(t),void 0===n?(n=t,t=0):n=ts(n),function(e,t,n){return e>=an(t,n)&&e=-9007199254740991&&e<=9007199254740991},An.isSet=Ja,An.isString=Ya,An.isSymbol=Qa,An.isTypedArray=$a,An.isUndefined=function(e){return void 0===e},An.isWeakMap=function(e){return qa(e)&&to(e)==D},An.isWeakSet=function(e){return qa(e)&&"[object WeakSet]"==fr(e)},An.join=function(e,t){return null==e?"":nn.call(e,t)},An.kebabCase=Ns,An.last=Ro,An.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=ns(n))<0?on(r+i,0):an(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,Ct,i,!0)},An.lowerCase=Is,An.lowerFirst=Ms,An.lt=Xa,An.lte=Za,An.max=function(e){return e&&e.length?nr(e,Ws,dr):void 0},An.maxBy=function(e,t){return e&&e.length?nr(e,Yi(t,2),dr):void 0},An.mean=function(e){return wt(e,Ws)},An.meanBy=function(e,t){return wt(e,Yi(t,2))},An.min=function(e){return e&&e.length?nr(e,Ws,Sr):void 0},An.minBy=function(e,t){return e&&e.length?nr(e,Yi(t,2),Sr):void 0},An.stubArray=ru,An.stubFalse=iu,An.stubObject=function(){return{}},An.stubString=function(){return""},An.stubTrue=function(){return!0},An.multiply=cu,An.nth=function(e,t){return e&&e.length?Or(e,ns(t)):void 0},An.noConflict=function(){return Ke._===this&&(Ke._=Te),this},An.noop=Qs,An.now=ha,An.pad=function(e,t,n){e=as(e);var r=(t=ns(t))?Wt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Fi(Xt(i),n)+e+Fi($t(i),n)},An.padEnd=function(e,t,n){e=as(e);var r=(t=ns(t))?Wt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return an(e+i*(t-e+qe("1e-"+((i+"").length-1))),t)}return jr(e,t)},An.reduce=function(e,t,n){var r=Na(e)?mt:At,i=arguments.length<3;return r(e,Yi(t,4),n,i,Zn)},An.reduceRight=function(e,t,n){var r=Na(e)?gt:At,i=arguments.length<3;return r(e,Yi(t,4),n,i,er)},An.repeat=function(e,t,n){return t=(n?ao(e,t,n):void 0===t)?1:ns(t),Lr(as(e),t)},An.replace=function(){var e=arguments,t=as(e[0]);return e.length<3?t:t.replace(e[1],e[2])},An.result=function(e,t,n){var r=-1,i=(t=ai(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=an(e,4294967295);e-=4294967295;for(var i=_t(r,t=Yi(t));++n=o)return e;var s=n-Wt(r);if(s<1)return r;var u=a?ui(a,0,s).join(""):e.slice(0,s);if(void 0===i)return u+r;if(a&&(s+=u.length-s),Ka(i)){if(e.slice(s).search(i)){var c,l=u;for(i.global||(i=me(i.source,as(re.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var p=c.index;u=u.slice(0,void 0===p?s:p)}}else if(e.indexOf(Qr(i),s)!=s){var f=u.lastIndexOf(i);f>-1&&(u=u.slice(0,f))}return u+r},An.unescape=function(e){return(e=as(e))&&R.test(e)?e.replace(L,Kt):e},An.uniqueId=function(e){var t=++we;return as(e)+t},An.upperCase=Ps,An.upperFirst=Rs,An.each=aa,An.eachRight=sa,An.first=Mo,Ys(An,function(){var e={};return sr(An,(function(t,n){Ce.call(An.prototype,n)||(e[n]=t)})),e}(),{chain:!1}),An.VERSION="4.17.15",st(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){An[e].placeholder=An})),st(["drop","take"],(function(e,t){Fn.prototype[e]=function(n){n=void 0===n?1:on(ns(n),0);var r=this.__filtered__&&!t?new Fn(this):this.clone();return r.__filtered__?r.__takeCount__=an(n,r.__takeCount__):r.__views__.push({size:an(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},Fn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),st(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Fn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Yi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),st(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Fn.prototype[e]=function(){return this[n](1).value()[0]}})),st(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Fn.prototype[e]=function(){return this.__filtered__?new Fn(this):this[n](1)}})),Fn.prototype.compact=function(){return this.filter(Ws)},Fn.prototype.find=function(e){return this.filter(e).head()},Fn.prototype.findLast=function(e){return this.reverse().find(e)},Fn.prototype.invokeMap=Pr((function(e,t){return"function"==typeof e?new Fn(this):this.map((function(n){return yr(n,e,t)}))})),Fn.prototype.reject=function(e){return this.filter(Ca(Yi(e)))},Fn.prototype.slice=function(e,t){e=ns(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Fn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=ns(t))<0?n.dropRight(-t):n.take(t-e)),n)},Fn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Fn.prototype.toArray=function(){return this.take(4294967295)},sr(Fn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=An[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(An.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,s=t instanceof Fn,u=a[0],c=s||Na(t),l=function(e){var t=i.apply(An,ht([e],a));return r&&p?t[0]:t};c&&n&&"function"==typeof u&&1!=u.length&&(s=c=!1);var p=this.__chain__,f=!!this.__actions__.length,d=o&&!p,h=s&&!f;if(!o&&c){t=h?t:new Fn(this);var m=e.apply(t,a);return m.__actions__.push({func:ta,args:[l],thisArg:void 0}),new On(m,p)}return d&&h?e.apply(this,a):(m=this.thru(l),d?r?m.value()[0]:m.value():m)})})),st(["pop","push","shift","sort","splice","unshift"],(function(e){var t=ve[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);An.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(Fn.prototype,(function(e,t){var n=An[t];if(n){var r=n.name+"";Ce.call(vn,r)||(vn[r]=[]),vn[r].push({name:t,func:n})}})),vn[Ai(void 0,2).name]=[{name:"wrapper",func:void 0}],Fn.prototype.clone=function(){var e=new Fn(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},Fn.prototype.reverse=function(){if(this.__filtered__){var e=new Fn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Fn.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__++]}},An.prototype.plant=function(e){for(var t,n=this;n instanceof _n;){var r=Ao(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},An.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Fn){var t=e;return this.__actions__.length&&(t=new Fn(this)),(t=t.reverse()).__actions__.push({func:ta,args:[Vo],thisArg:void 0}),new On(t,this.__chain__)}return this.thru(Vo)},An.prototype.toJSON=An.prototype.valueOf=An.prototype.value=function(){return ti(this.__wrapped__,this.__actions__)},An.prototype.first=An.prototype.head,$e&&(An.prototype[$e]=function(){return this}),An}();Ke._=Jt,void 0===(i=function(){return Jt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(41),n(169)(e))},function(e,t){function n(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}}e.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1},getDefaults:n,changeDefaults:function(t){e.exports.defaults=t}}},function(e,t,n){!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function i(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var s=e.getLineHandle(t.line),u=t.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var l=i(o),p=!c&&u>=0&&l.test(s.text.charAt(u))&&r[s.text.charAt(u)]||l.test(s.text.charAt(u+1))&&r[s.text.charAt(++u)];if(!p)return null;var f=">"==p.charAt(1)?1:-1;if(o&&o.strict&&f>0!=(u==t.ch))return null;var d=e.getTokenTypeAt(n(t.line,u+1)),h=a(e,n(t.line,u+(f>0?1:0)),f,d||null,o);return null==h?null:{from:n(t.line,u),to:h&&h.pos,match:h&&h.ch==p.charAt(0),forward:f>0}}function a(e,t,o,a,s){for(var u=s&&s.maxScanLineLength||1e4,c=s&&s.maxScanLines||1e3,l=[],p=i(s),f=o>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),d=t.line;d!=f;d+=o){var h=e.getLine(d);if(h){var m=o>0?0:h.length-1,g=o>0?h.length:-1;if(!(h.length>u))for(d==t.line&&(m=t.ch-(o<0?1:0));m!=g;m+=o){var y=h.charAt(m);if(p.test(y)&&(void 0===a||e.getTokenTypeAt(n(d,m+1))==a)){var v=r[y];if(v&&">"==v.charAt(1)==o>0)l.push(y);else{if(!l.length)return{pos:n(d,m),ch:y};l.pop()}}}}}return d-o!=(o>0?e.lastLine():e.firstLine())&&null}function s(e,r,i){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,s=[],u=e.listSelections(),c=0;ct.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));if(/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"keyword"!=r.type||"import"!=r.string)return null;for(var i=n,o=Math.min(t.lastLine(),n+10);i<=o;++i){var a=t.getLine(i).indexOf(";");if(-1!=a)return{startCh:r.end,end:e.Pos(i,a)}}}var i,o=n.line,a=r(o);if(!a||r(o-1)||(i=r(o-2))&&i.end.line==o-1)return null;for(var s=a.end;;){var u=r(s.line+1);if(null==u)break;s=u.end}return{from:t.clipPos(e.Pos(o,a.startCh+1)),to:s}})),e.registerHelper("fold","include",(function(t,n){function r(n){if(nt.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));return/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"meta"==r.type&&"#include"==r.string.slice(0,8)?r.start+8:void 0}var i=n.line,o=r(i);if(null==o||null!=r(i-1))return null;for(var a=i;null!=r(a+1);)++a;return{from:e.Pos(i,o+1),to:t.clipPos(e.Pos(a))}}))}(n(15))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return function(t){return t.general.get(e)}};t.getFixedEndpoint=r("fixedEndpoint"),t.getHistoryOpen=r("historyOpen"),t.getConfigString=r("configString")},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0});var i=n(49);t.setSettingsString=(r=i.createActions({SET_SETTINGS_STRING:function(e){return{settingsString:e}},SET_CONFIG_STRING:function(e){return{configString:e}},OPEN_HISTORY:function(){return{}},CLOSE_HISTORY:function(){return{}}})).setSettingsString,t.setConfigString=r.setConfigString,t.openHistory=r.openHistory,t.closeHistory=r.closeHistory},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n-1)return i;var o=r.fields.indexOf(n);if(o>-1)return r.interfaces.length+o;var s=r.args.indexOf(n);if(s>-1)return r.interfaces.length+r.fields.length+s;var u=r.implementations.indexOf(n);return u>-1?r.interfaces.length+r.fields.length+r.args.length+u:0}t.getNewStack=function(e,t,n){for(var r=n.getIn(["field","path"]),i=r.split("/"),a=null,u=0,c=null,l=-1,p=function(){var n=i.shift();if(0===u)a=e[n],l=Object.keys(e).indexOf(n);else{var r=a.args.find((function(e){return e.name===n}));c=a,r?a=r:(a.type.ofType&&(a=o(a.type.ofType)),a.type&&(a=a.type),a=a.getFields()[n]||a.getInterfaces().find((function(e){return e.name===n})))}c&&(l=s(t,c,a)),u++};i.length>0;)p();return a?(a.path=r,a.parent=c,n.merge({y:l,field:a})):null},t.getDeeperType=o,t.getRootMap=function(e){return r(r(r({},e.getQueryType().getFields()),e.getMutationType&&e.getMutationType()&&e.getMutationType().getFields()),e.getSubscriptionType&&e.getSubscriptionType()&&e.getSubscriptionType().getFields())},t.serializeRoot=function(e){var t={queries:[],mutations:[],subscriptions:[]},n=e.getQueryType().getFields();t.queries=Object.keys(n).map((function(e){var t=n[e];return t.path=e,t.parent=null,t}));var r=e.getMutationType&&e.getMutationType();if(r){var i=r.getFields();t.mutations=Object.keys(i).map((function(e){var t=i[e];return t.path=e,t.parent=null,t}))}window.ss=e;var o=e.getSubscriptionType&&e.getSubscriptionType();if(o){var a=o.getFields();t.subscriptions=Object.keys(a).map((function(e){var t=a[e];return t.path=e,t.parent=null,t}))}return t},t.getElementRoot=function(e,t){var n=0;return e.queries[t+n]?e.queries[t+n]:(n+=e.queries.length,e.mutations[t-n]?e.mutations[t-n]:(n+=e.mutations.length,e.subscriptions[t-n]?e.subscriptions[t-n]:void 0))},t.serialize=a,t.getElement=function(e,t){var n=0;return e.interfaces[t+n]?e.interfaces[t+n]:(n+=e.interfaces.length,e.fields[t-n]?e.fields[t-n]:(n+=e.fields.length,e.args[t-n]?e.args[t-n]:(n+=e.args.length,e.implementations[t-n]?e.implementations[t-n]:void 0)))},t.getElementIndex=s},function(e,t,n){"use strict";function r(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},e.exports=r},function(e,t,n){"use strict";var r=n(78);e.exports=new r({include:[n(217)],implicit:[n(501),n(502)],explicit:[n(503),n(508),n(509),n(510)]})},function(e,t,n){"use strict";var r="function"===typeof Symbol&&"function"===typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;t.a=r},function(e,t,n){"use strict";function r(e,t){for(var n,r=/\r\n|[\n\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index=s)return new p(a.a.EOF,s,s,c,l,t);var d=r.charCodeAt(u);switch(d){case 33:return new p(a.a.BANG,u,u+1,c,l,t);case 35:return function(e,t,n,r,i){var o,s=e.body,u=t;do{o=s.charCodeAt(++u)}while(!isNaN(o)&&(o>31||9===o));return new p(a.a.COMMENT,t,u,n,r,i,s.slice(t+1,u))}(n,u,c,l,t);case 36:return new p(a.a.DOLLAR,u,u+1,c,l,t);case 38:return new p(a.a.AMP,u,u+1,c,l,t);case 40:return new p(a.a.PAREN_L,u,u+1,c,l,t);case 41:return new p(a.a.PAREN_R,u,u+1,c,l,t);case 46:if(46===r.charCodeAt(u+1)&&46===r.charCodeAt(u+2))return new p(a.a.SPREAD,u,u+3,c,l,t);break;case 58:return new p(a.a.COLON,u,u+1,c,l,t);case 61:return new p(a.a.EQUALS,u,u+1,c,l,t);case 64:return new p(a.a.AT,u,u+1,c,l,t);case 91:return new p(a.a.BRACKET_L,u,u+1,c,l,t);case 93:return new p(a.a.BRACKET_R,u,u+1,c,l,t);case 123:return new p(a.a.BRACE_L,u,u+1,c,l,t);case 124:return new p(a.a.PIPE,u,u+1,c,l,t);case 125:return new p(a.a.BRACE_R,u,u+1,c,l,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,s=o.length,u=t+1,c=0;for(;u!==s&&!isNaN(c=o.charCodeAt(u))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++u;return new p(a.a.NAME,t,u,n,r,i,o.slice(t,u))}(n,u,c,l,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,o,s){var u=e.body,c=n,l=t,d=!1;45===c&&(c=u.charCodeAt(++l));if(48===c){if((c=u.charCodeAt(++l))>=48&&c<=57)throw Object(i.a)(e,l,"Invalid number, unexpected digit after 0: ".concat(f(c),"."))}else l=h(e,l,c),c=u.charCodeAt(l);46===c&&(d=!0,c=u.charCodeAt(++l),l=h(e,l,c),c=u.charCodeAt(l));69!==c&&101!==c||(d=!0,43!==(c=u.charCodeAt(++l))&&45!==c||(c=u.charCodeAt(++l)),l=h(e,l,c),c=u.charCodeAt(l));if(46===c||69===c||101===c)throw Object(i.a)(e,l,"Invalid number, expected digit but got: ".concat(f(c),"."));return new p(d?a.a.FLOAT:a.a.INT,t,l,r,o,s,u.slice(t,l))}(n,u,d,c,l,t);case 34:return 34===r.charCodeAt(u+1)&&34===r.charCodeAt(u+2)?function(e,t,n,r,s,u){var c=e.body,l=t+3,d=l,h=0,m="";for(;l=48&&a<=57){do{a=r.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw Object(i.a)(e,o,"Invalid number, expected digit but got: ".concat(f(a),"."))}function m(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}Object(r.a)(p,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return c}));var r=n(1),i=n(23),o=n(67);function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var s=function(){function e(e,t){this._ast=e,this._errors=[],this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}var t=e.prototype;return t.reportError=function(e){this._errors.push(e),this._onError&&this._onError(e)},t.getErrors=function(){return this._errors},t.getDocument=function(){return this._ast},t.getFragment=function(e){var t=this._fragments;return t||(this._fragments=t=this.getDocument().definitions.reduce((function(e,t){return t.kind===r.a.FRAGMENT_DEFINITION&&(e[t.name.value]=t),e}),Object.create(null))),t[e]},t.getFragmentSpreads=function(e){var t=this._fragmentSpreads.get(e);if(!t){t=[];for(var n=[e];0!==n.length;)for(var i=0,o=n.pop().selections;i1)for(var n=1;n0&&(e.responses.size>20||e.responses.get(0).date.length>2e3)&&(t.responses=a.List()),a.merge(e,t)},t}(a.Record(l.getDefaultSession("")));t.Session=h;var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(a.Record({resultID:"",date:"",time:new Date,isSchemaError:!1}));function g(e){return void 0===e&&(e=""),new h({endpoint:e}).set("id",p())}t.ResponseRecord=m,t.sessionFromTab=function(e){return new h(o(o({},e),{headers:e.headers?JSON.stringify(e.headers,null,2):"",responses:e.responses&&e.responses.length>0?a.List(e.responses.map((function(e){return new m({date:e})}))):a.List()})).set("id",p())};var y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(a.Record({sessions:a.OrderedMap({}),selectedSessionId:"",sessionCount:0,headers:""}));function v(e){var t,n=new h({endpoint:e||""});return new y({sessions:a.OrderedMap((t={},t[n.id]=n,t)),selectedSessionId:n.id,sessionCount:1})}t.SessionState=y,t.makeSessionState=v;var b=s.handleActions(((r={})[s.combineActions(u.editQuery,u.editVariables,u.editHeaders,u.editEndpoint,u.setEditorFlex,u.openQueryVariables,u.closeQueryVariables,u.setVariableEditorHeight,u.setResponseTracingHeight,u.setTracingSupported,u.setVariableToType,u.setOperations,u.setOperationName,u.setSubscriptionActive,u.startQuery,u.setQueryTypes,u.editName,u.setResponseExtensions,u.setCurrentQueryStartTime,u.setCurrentQueryEndTime)]=function(e,t){var n=t.payload,r=Object.keys(n),i=1===r.length?r[0]:r[1],o=["sessions",c.getSelectedSessionId(e),i];return e.setIn(o,n[i])},r.START_QUERY=function(e){return e.setIn(["sessions",c.getSelectedSessionId(e),"queryRunning"],!0).setIn(["sessions",c.getSelectedSessionId(e),"responseExtensions"],void 0)},r.CLOSE_TRACING=function(e,t){var n=t.payload.responseTracingHeight;return e.mergeDeepIn(["sessions",c.getSelectedSessionId(e)],a.Map({responseTracingHeight:n,responseTracingOpen:!1}))},r.TOGGLE_TRACING=function(e){var t=["sessions",c.getSelectedSessionId(e),"responseTracingOpen"];return e.setIn(t,!e.getIn(t))},r.OPEN_TRACING=function(e,t){var n=t.payload.responseTracingHeight;return e.mergeDeepIn(["sessions",c.getSelectedSessionId(e)],a.Map({responseTracingHeight:n,responseTracingOpen:!0}))},r.CLOSE_VARIABLES=function(e,t){var n=t.payload.variableEditorHeight;return e.mergeDeepIn(["sessions",c.getSelectedSessionId(e)],a.Map({variableEditorHeight:n,variableEditorOpen:!1}))},r.OPEN_VARIABLES=function(e,t){var n=t.payload.variableEditorHeight;return e.mergeDeepIn(["sessions",c.getSelectedSessionId(e)],a.Map({variableEditorHeight:n,variableEditorOpen:!0}))},r.TOGGLE_VARIABLES=function(e){var t=["sessions",c.getSelectedSessionId(e),"variableEditorOpen"];return e.setIn(t,!e.getIn(t))},r.ADD_RESPONSE=function(e,t){var n=t.payload,r=n.response,i=n.sessionId;return e.updateIn(["sessions",i,"responses"],(function(e){return e.push(r)}))},r.SET_RESPONSE=function(e,t){var n=t.payload,r=n.response,i=n.sessionId;return e.setIn(["sessions",i,"responses"],a.List([r]))},r.CLEAR_RESPONSES=function(e){return e.setIn(["sessions",c.getSelectedSessionId(e),"responses"],a.List())},r.FETCH_SCHEMA=function(e){return e.setIn(["sessions",c.getSelectedSessionId(e),"isReloadingSchema"],!0)},r.REFETCH_SCHEMA=function(e){return e.setIn(["sessions",c.getSelectedSessionId(e),"isReloadingSchema"],!0)},r.STOP_QUERY=function(e,t){var n=t.payload.sessionId;return e.mergeIn(["sessions",n],{queryRunning:!1,subscriptionActive:!1})},r.SET_SCROLL_TOP=function(e,t){var n=t.payload,r=n.sessionId,i=n.scrollTop;return e.sessions.get(r)?e.setIn(["sessions",r,"scrollTop"],i):e},r.SCHEMA_FETCHING_SUCCESS=function(e,t){var n=t.payload,r=e.get("sessions").map((function(e){if(e.endpoint===n.endpoint){var t={tracingSupported:n.tracingSupported,isReloadingSchema:!1,endpointUnreachable:!1},r=e.responses?e.responses.first():null;return r&&1===e.responses.size&&r.isSchemaError&&(t.responses=a.List([])),e.merge(a.Map(t))}return e}));return e.set("sessions",r)},r.SET_ENDPOINT_UNREACHABLE=function(e,t){var n=t.payload,r=e.get("sessions").map((function(e,t){return e.get("endpoint")===n.endpoint?e.merge(a.Map({endpointUnreachable:!0})):e}));return e.set("sessions",r)},r.SCHEMA_FETCHING_ERROR=function(e,t){var n=t.payload,r=e.get("sessions").map((function(e,t){if(e.get("endpoint")===n.endpoint){var r=e.responses;if(r.size<=1){var i=e.responses?e.responses.first():null;i&&!i.isSchemaError||(i=new m({resultID:p(),isSchemaError:!0,date:JSON.stringify(f.formatError(n.error,!0),null,2),time:new Date})),r=a.List([i])}return e.merge(a.Map({isReloadingSchema:!1,endpointUnreachable:!0,responses:r}))}return e}));return e.set("sessions",r)},r.SET_SELECTED_SESSION_ID=function(e,t){var n=t.payload.sessionId;return e.set("selectedSessionId",n)},r.OPEN_SETTINGS_TAB=function(e){var t=e,n=e.sessions.find((function(e){return e.get("isSettingsTab",!1)}));return n||(n=g().merge({isSettingsTab:!0,isFile:!0,name:"Settings",changed:!1}),t=t.setIn(["sessions",n.id],n)),t.set("selectedSessionId",n.id)},r.OPEN_CONFIG_TAB=function(e){var t=e,n=e.sessions.find((function(e){return e.get("isConfigTab",!1)}));return n||(n=g().merge({isConfigTab:!0,isFile:!0,name:"GraphQL Config",changed:!1}),t=t.setIn(["sessions",n.id],n)),t.set("selectedSessionId",n.id)},r.NEW_FILE_TAB=function(e,t){var n=t.payload,r=n.fileName,i=n.filePath,o=n.file,a=e,s=e.sessions.find((function(e){return e.get("name","")===r}));return s||(s=g().merge({isFile:!0,name:r,changed:!1,file:o,filePath:i}),a=a.setIn(["sessions",s.id],s)),a.set("selectedSessionId",s.id).set("sessionCount",a.sessions.size)},r.NEW_SESSION=function(e,t){var n=t.payload,r=n.reuseHeaders,i=n.endpoint,o=e.sessions.first(),a={query:"",isReloadingSchema:o.isReloadingSchema,endpointUnreachable:o.endpointUnreachable};o.endpointUnreachable&&(a.responses=o.responses);var s=g(i||o.endpoint).merge(a);if(r){var u=c.getSelectedSessionId(e),l=e.sessions.get(u);s=s.set("headers",l.headers)}else s=s.set("headers",e.headers);return e.setIn(["sessions",s.id],s).set("selectedSessionId",s.id).set("sessionCount",e.sessions.size+1)},r.INJECT_HEADERS=function(e,t){var n=t.payload,r=n.headers,i=n.endpoint;if(!r||""===r||0===Object.keys(r).length)return e;var o="string"===typeof r?r:JSON.stringify(r,null,2),a=c.getSelectedSessionId(e),s=e.set("headers",o),u=e.sessions.get(a);if(u.headers===o)return s;if(u.query===l.defaultQuery)return s.setIn(["sessions",a,"headers"],o);var p=g(i).set("headers",o);return s.setIn(["sessions",p.id],p).set("selectedSessionId",p.id).set("sessionCount",e.sessions.size+1)},r.DUPLICATE_SESSION=function(e,t){var n=t.payload.session.set("id",p());return e.setIn(["sessions",n.id],n).set("selectedSessionId",n.id).set("sessionCount",e.sessions.size+1)},r.NEW_SESSION_FROM_QUERY=function(e,t){var n=t.payload.query,r=g().set("query",n);return e.setIn(["sessions",r.id],r).set("sessionCount",e.sessions.size+1)},r.CLOSE_SELECTED_TAB=function(e){return E(e,c.getSelectedSessionId(e)).set("sessionCount",e.sessions.size-1)},r.SELECT_NEXT_TAB=function(e){var t=c.getSelectedSessionId(e),n=e.sessions.size,r=e.sessions.keySeq(),i=r.indexOf(t);return i+1=0?e.set("selectedSessionId",r.get(i-1)):e.set("selectedSessionId",r.get(n-1))},r.SELECT_TAB_INDEX=function(e,t){var n=t.payload.index,r=e.sessions.keySeq();return e.set("selectedSessionId",r.get(n))},r.SELECT_TAB=function(e,t){var n=t.payload.sessionId;return e.set("selectedSessionId",n)},r.CLOSE_TAB=function(e,t){return E(e,t.payload.sessionId).set("sessionCount",e.sessions.size-1)},r.REORDER_TABS=function(e,t){for(var n=t.payload,r=n.src,i=n.dest,o=e.sessions.toIndexedSeq(),s=[],u=0;u0?n.set("selectedSessionId",e.sessions.first().id):n}},function(e,t,n){"use strict";function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=r.length)for(var i=n-r.length;1+i--;)r.push(void 0);return r.splice(n,0,r.splice(t,1)[0]),r},t.omit=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rt)return t;return n},t.getElementMargin=function(e){var t=window.getComputedStyle(e);return{top:a(t.marginTop),right:a(t.marginRight),bottom:a(t.marginBottom),left:a(t.marginLeft)}},t.provideDisplayName=function(e,t){var n=t.displayName||t.name;return n?e+"("+n+")":e},t.getPosition=function(e){return e.touches&&e.touches.length?{x:e.touches[0].pageX,y:e.touches[0].pageY}:e.changedTouches&&e.changedTouches.length?{x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY}:{x:e.pageX,y:e.pageY}},t.isTouchEvent=function(e){return e.touches&&e.touches.length||e.changedTouches&&e.changedTouches.length},t.getEdgeOffset=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{top:0,left:0};if(t){var i={top:r.top+t.offsetTop,left:r.left+t.offsetLeft};return t.parentNode!==n?e(t.parentNode,n,i):i}},t.getLockPixelOffset=function(e){var t=e.lockOffset,n=e.width,r=e.height,i=t,a=t,s="px";if("string"===typeof t){var u=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(t);(0,o.default)(null!==u,'lockOffset value should be a number or a string of a number followed by "px" or "%". Given %s',t),i=a=parseFloat(t),s=u[1]}(0,o.default)(isFinite(i)&&isFinite(a),"lockOffset value should be a finite. Given %s",t),"%"===s&&(i=i*n/100,a=a*r/100);return{x:i,y:a}};var r,i=n(37),o=(r=i)&&r.__esModule?r:{default:r};t.events={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","touchcancel","mouseup"]},t.vendorPrefix=function(){if("undefined"===typeof window||"undefined"===typeof document)return"";var e=window.getComputedStyle(document.documentElement,"")||["-moz-hidden-iframe"],t=(Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/)||""===e.OLink&&["","o"])[1];switch(t){case"ms":return"ms";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):""}}();function a(e){return"px"===e.substr(-2)?parseFloat(e):0}},function(e,t){e.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/},function(e,t,n){"use strict";e.exports.encode=n(312),e.exports.decode=n(313),e.exports.format=n(314),e.exports.parse=n(315)},function(e,t,n){!function(e){"use strict";e.defineOption("foldGutter",!1,(function(t,r,i){var o;i&&i!=e.Init&&(t.clearGutter(t.state.foldGutter.options.gutter),t.state.foldGutter=null,t.off("gutterClick",u),t.off("changes",c),t.off("viewportChange",l),t.off("fold",p),t.off("unfold",p),t.off("swapDoc",c)),r&&(t.state.foldGutter=new n((!0===(o=r)&&(o={}),null==o.gutter&&(o.gutter="CodeMirror-foldgutter"),null==o.indicatorOpen&&(o.indicatorOpen="CodeMirror-foldgutter-open"),null==o.indicatorFolded&&(o.indicatorFolded="CodeMirror-foldgutter-folded"),o)),s(t),t.on("gutterClick",u),t.on("changes",c),t.on("viewportChange",l),t.on("fold",p),t.on("unfold",p),t.on("swapDoc",c))}));var t=e.Pos;function n(e){this.options=e,this.from=this.to=0}function r(e,n){for(var r=e.findMarks(t(n,0),t(n+1,0)),i=0;i=c){if(f&&a&&f.test(a.className))return;o=i(s.indicatorOpen)}}(o||a)&&e.setGutterMarker(n,s.gutter,o)}))}function a(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function s(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation((function(){o(e,t.from,t.to)})),n.from=t.from,n.to=t.to)}function u(e,n,i){var o=e.state.foldGutter;if(o){var a=o.options;if(i==a.gutter){var s=r(e,n);s?s.clear():e.foldCode(t(n,0),a)}}}function c(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){s(e)}),n.foldOnChangeTimeSpan||600)}}function l(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?s(e):e.operation((function(){n.fromt.to&&(o(e,t.to,n.to),t.to=n.to)}))}),n.updateViewportTimeSpan||400)}}function p(e,t){var n=e.state.foldGutter;if(n){var r=t.line;r>=n.from&&r '+e.phrase("(Use line:column or scroll% syntax)")+""}(e),e.phrase("Jump to line:"),n.line+1+":"+n.ch,(function(r){var i;if(r)if(i=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(r))e.setCursor(t(e,i[1]),Number(i[2]));else if(i=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(r)){var o=Math.round(e.lineCount()*Number(i[1])/100);/^[-+]/.test(i[1])&&(o=n.line+o+1),e.setCursor(o-1,n.ch)}else(i=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(r))&&e.setCursor(t(e,i[1]),n.ch)}))},e.keyMap.default["Alt-G"]="jumpToLine"}(n(15),n(71))},function(e,t,n){!function(e){"use strict";var t=e.commands,n=e.Pos;function r(t,r){t.extendSelectionsBy((function(i){return t.display.shift||t.doc.extend||i.empty()?function(t,r,i){if(i<0&&0==r.ch)return t.clipPos(n(r.line-1));var o=t.getLine(r.line);if(i>0&&r.ch>=o.length)return t.clipPos(n(r.line+1,0));for(var a,s="start",u=r.ch,c=u,l=i<0?0:o.length,p=0;c!=l;c+=i,p++){var f=o.charAt(i<0?c-1:c),d="_"!=f&&e.isWordChar(f)?"w":"o";if("w"==d&&f.toUpperCase()==f&&(d="W"),"start"==s)"o"!=d?(s="in",a=d):u=c+i;else if("in"==s&&a!=d){if("w"==a&&"W"==d&&i<0&&c--,"W"==a&&"w"==d&&i>0){if(c==u+1){a="w";continue}c--}break}}return n(r.line,c)}(t.doc,i.head,r):r<0?i.from():i.to()}))}function i(t,r){if(t.isReadOnly())return e.Pass;t.operation((function(){for(var e=t.listSelections().length,i=[],o=-1,a=0;a=0;s--){var c=r[i[s]];if(!(u&&e.cmpPos(c.head,u)>0)){var l=o(t,c.head);u=l.from,t.replaceRange(n(l.word),l.from,l.to)}}}))}function p(t){var n=t.getCursor("from"),r=t.getCursor("to");if(0==e.cmpPos(n,r)){var i=o(t,n);if(!i.word)return;n=i.from,r=i.to}return{from:n,to:r,query:t.getRange(n,r),word:i}}function f(e,t){var r=p(e);if(r){var i=r.query,o=e.getSearchCursor(i,t?r.to:r.from);(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):(o=e.getSearchCursor(i,t?n(e.firstLine(),0):e.clipPos(n(e.lastLine()))),(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):r.word&&e.setSelection(r.from,r.to))}}t.goSubwordLeft=function(e){r(e,-1)},t.goSubwordRight=function(e){r(e,1)},t.scrollLineUp=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top+t.clientHeight,"local");e.getCursor().line>=n&&e.execCommand("goLineUp")}e.scrollTo(null,t.top-e.defaultTextHeight())},t.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,"local")+1;e.getCursor().line<=n&&e.execCommand("goLineDown")}e.scrollTo(null,t.top+e.defaultTextHeight())},t.splitSelectionByLine=function(e){for(var t=e.listSelections(),r=[],i=0;io.line&&s==a.line&&0==a.ch||r.push({anchor:s==o.line?o:n(s,0),head:s==a.line?a:n(s)});e.setSelections(r,0)},t.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},t.selectLine=function(e){for(var t=e.listSelections(),r=[],i=0;io?i.push(c,l):i.length&&(i[i.length-1]=l),o=l}t.operation((function(){for(var e=0;et.lastLine()?t.replaceRange("\n"+s,n(t.lastLine()),null,"+swapLine"):t.replaceRange(s+"\n",n(o,0),null,"+swapLine")}t.setSelections(a),t.scrollIntoView()}))},t.swapLineDown=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.lastLine()+1,a=r.length-1;a>=0;a--){var s=r[a],u=s.to().line+1,c=s.from().line;0!=s.to().ch||s.empty()||u--,u=0;e-=2){var r=i[e],o=i[e+1],a=t.getLine(r);r==t.lastLine()?t.replaceRange("",n(r-1),n(r),"+swapLine"):t.replaceRange("",n(r,0),n(r+1,0),"+swapLine"),t.replaceRange(a+"\n",n(o,0),null,"+swapLine")}t.scrollIntoView()}))},t.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},t.joinLines=function(e){for(var t=e.listSelections(),r=[],i=0;i=0;o--){var a=r[o].head,s=t.getRange({line:a.line,ch:0},a),u=e.countColumn(s,null,t.getOption("tabSize")),c=t.findPosH(a,-1,"char",!1);if(s&&!/\S/.test(s)&&u%i==0){var l=new n(a.line,e.findColumn(s,u-i,i));l.ch!=a.ch&&(c=l)}t.replaceRange("",c,a,"+delete")}}))},t.delLineRight=function(e){e.operation((function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange("",t[r].anchor,n(t[r].to().line),"+delete");e.scrollIntoView()}))},t.upcaseAtCursor=function(e){l(e,(function(e){return e.toUpperCase()}))},t.downcaseAtCursor=function(e){l(e,(function(e){return e.toLowerCase()}))},t.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},t.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},t.deleteToSublimeMark=function(t){var n=t.state.sublimeMark&&t.state.sublimeMark.find();if(n){var r=t.getCursor(),i=n;if(e.cmpPos(r,i)>0){var o=i;i=r,r=o}t.state.sublimeKilled=t.getRange(r,i),t.replaceRange("",r,i)}},t.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},t.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,"paste")},t.showInCenter=function(e){var t=e.cursorCoords(null,"local");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},t.findUnder=function(e){f(e,!0)},t.findUnderPrevious=function(e){f(e,!1)},t.findAllUnder=function(e){var t=p(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],i=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&i++;e.setSelections(r,i)}};var d=e.keyMap;d.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F5:"sortLines","Cmd-F5":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-D":"skipAndSelectNextOccurrence","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-1":"foldAll","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},e.normalizeKeyMap(d.macSublime),d.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-D":"skipAndSelectNextOccurrence","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-1":"foldAll","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},e.normalizeKeyMap(d.pcSublime);var h=d.default==d.macDefault;d.sublime=h?d.macSublime:d.pcSublime}(n(15),n(70),n(88))},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0});var i=n(49);t.share=(r=i.createActions({TOGGLE_SHARE_HISTORY:function(){return{}},TOGGLE_SHARE_HEADERS:function(){return{}},TOGGLE_SHARE_ALL_TABS:function(){return{}},SHARE:function(){return{}},SET_SHARE_URL:function(e){return{shareUrl:e}}})).share,t.toggleShareHistory=r.toggleShareHistory,t.toggleShareHeaders=r.toggleShareHeaders,t.toggleShareAllTabs=r.toggleShareAllTabs,t.setShareUrl=r.setShareUrl},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0});var i=n(49);t.selectWorkspace=(r=i.createActions({SELECT_WORKSPACE:function(e){return{workspace:e}},INIT_STATE:function(e,t){return{workspaceId:e,endpoint:t}},INJECT_STATE:function(e){return{state:e}},INJECT_TABS:function(e){return{tabs:e}}})).selectWorkspace,t.initState=r.initState,t.injectState=r.injectState,t.injectTabs=r.injectTabs},function(e,t,n){"use strict";var r=n(78);e.exports=r.DEFAULT=new r({include:[n(94)],explicit:[n(511),n(512),n(513)]})},function(e,t,n){"use strict";n.r(t),n.d(t,"actionChannel",(function(){return i.p})),n.d(t,"all",(function(){return i.B})),n.d(t,"apply",(function(){return i.a})),n.d(t,"call",(function(){return i.o})),n.d(t,"cancel",(function(){return i.n})),n.d(t,"cancelled",(function(){return i.H})),n.d(t,"cps",(function(){return i.D})),n.d(t,"delay",(function(){return i.v})),n.d(t,"effectTypes",(function(){return i.x})),n.d(t,"flush",(function(){return i.I})),n.d(t,"fork",(function(){return i.m})),n.d(t,"getContext",(function(){return i.J})),n.d(t,"join",(function(){return i.F})),n.d(t,"put",(function(){return i.z})),n.d(t,"putResolve",(function(){return i.A})),n.d(t,"race",(function(){return i.w})),n.d(t,"select",(function(){return i.G})),n.d(t,"setContext",(function(){return i.K})),n.d(t,"spawn",(function(){return i.E})),n.d(t,"take",(function(){return i.l})),n.d(t,"takeMaybe",(function(){return i.y})),n.d(t,"debounce",(function(){return E})),n.d(t,"retry",(function(){return b})),n.d(t,"takeEvery",(function(){return m})),n.d(t,"takeLatest",(function(){return g})),n.d(t,"takeLeading",(function(){return y})),n.d(t,"throttle",(function(){return v}));n(16),n(42);var r=n(10),i=n(6),o=(n(115),function(e){return{done:!0,value:e}}),a={};function s(e){return Object(r.b)(e)?"channel":Object(r.l)(e)?String(e):Object(r.d)(e)?e.name:String(e)}function u(e,t,n){var r,s,u,c=t;function l(t,n){if(c===a)return o(t);if(n&&!s)throw c=a,n;r&&r(t);var i=n?e[s](n):e[c]();return c=i.nextState,u=i.effect,r=i.stateUpdater,s=i.errorState,c===a?o(t):u}return Object(i.ab)(l,(function(e){return l(null,e)}),n)}function c(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o2?n-2:0),o=2;o2?n-2:0),o=2;o3?r-3:0),a=3;a3?o-3:0),c=3;c3?r-3:0),a=3;a2?n-2:0),o=2;o2?n-2:0),o=2;o2?n-2:0),o=2;o3?r-3:0),a=3;a3?r-3:0),a=3;a3?r-3:0),a=3;a0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var s=i.shift();s&&s.applyMiddleware.apply(o,[e,t])}else n(e)}()}))},e.prototype.use=function(e){var t=this;return e.map((function(e){if("function"!==typeof e.applyMiddleware)throw new Error("Middleware must implement the applyMiddleware function.");t.middlewares.push(e)})),this},e.prototype.getConnectionParams=function(e){return function(){return new Promise((function(t,n){if("function"===typeof e)try{return t(e.call(null))}catch(r){return n(r)}t(e)}))}},e.prototype.executeOperation=function(e,t){var n=this;null===this.client&&this.connect();var r=this.generateOperationId();return this.operations[r]={options:e,handler:t},this.applyMiddlewares(e).then((function(e){n.checkOperationOptions(e,t),n.operations[r]&&(n.operations[r]={options:e,handler:t},n.sendMessage(r,y.default.GQL_START,e))})).catch((function(e){n.unsubscribe(r),t(n.formatErrors(e))})),r},e.prototype.getObserver=function(e,t,n){return"function"===typeof e?{next:function(t){return e(t)},error:function(e){return t&&t(e)},complete:function(){return n&&n()}}:e},e.prototype.createMaxConnectTimeGenerator=function(){var e=this.wsTimeout;return new u({min:1e3,max:e,factor:1.2})},e.prototype.clearCheckConnectionInterval=function(){this.checkConnectionIntervalId&&(clearInterval(this.checkConnectionIntervalId),this.checkConnectionIntervalId=null)},e.prototype.clearMaxConnectTimeout=function(){this.maxConnectTimeoutId&&(clearTimeout(this.maxConnectTimeoutId),this.maxConnectTimeoutId=null)},e.prototype.clearTryReconnectTimeout=function(){this.tryReconnectTimeoutId&&(clearTimeout(this.tryReconnectTimeoutId),this.tryReconnectTimeoutId=null)},e.prototype.clearInactivityTimeout=function(){this.inactivityTimeoutId&&(clearTimeout(this.inactivityTimeoutId),this.inactivityTimeoutId=null)},e.prototype.setInactivityTimeout=function(){var e=this;this.inactivityTimeout>0&&0===Object.keys(this.operations).length&&(this.inactivityTimeoutId=setTimeout((function(){0===Object.keys(e.operations).length&&e.close()}),this.inactivityTimeout))},e.prototype.checkOperationOptions=function(e,t){var n=e.query,r=e.variables,i=e.operationName;if(!n)throw new Error("Must provide a query.");if(!t)throw new Error("Must provide an handler.");if(!l.default(n)&&!d.getOperationAST(n,i)||i&&!l.default(i)||r&&!p.default(r))throw new Error("Incorrect option types. query must be a string or a document,`operationName` must be a string, and `variables` must be an object.")},e.prototype.buildMessage=function(e,t,n){return{id:e,type:t,payload:n&&n.query?r({},n,{query:"string"===typeof n.query?n.query:f.print(n.query)}):n}},e.prototype.formatErrors=function(e){return Array.isArray(e)?e:e&&e.errors?this.formatErrors(e.errors):e&&e.message?[e]:[{name:"FormatedError",message:"Unknown error",originalError:e}]},e.prototype.sendMessage=function(e,t,n){this.sendMessageRaw(this.buildMessage(e,t,n))},e.prototype.sendMessageRaw=function(e){switch(this.status){case this.wsImpl.OPEN:var t=JSON.stringify(e);try{JSON.parse(t)}catch(n){this.eventEmitter.emit("error",new Error("Message must be JSON-serializable. Got: "+e))}this.client.send(t);break;case this.wsImpl.CONNECTING:this.unsentMessagesQueue.push(e);break;default:this.reconnecting||this.eventEmitter.emit("error",new Error("A message was not sent because socket is not connected, is closing or is already closed. Message was: "+JSON.stringify(e)))}},e.prototype.generateOperationId=function(){return String(++this.nextOperationId)},e.prototype.tryReconnect=function(){var e=this;if(this.reconnect&&!(this.backoff.attempts>=this.reconnectionAttempts)){this.reconnecting||(Object.keys(this.operations).forEach((function(t){e.unsentMessagesQueue.push(e.buildMessage(t,y.default.GQL_START,e.operations[t].options))})),this.reconnecting=!0),this.clearTryReconnectTimeout();var t=this.backoff.duration();this.tryReconnectTimeoutId=setTimeout((function(){e.connect()}),t)}},e.prototype.flushUnsentMessagesQueue=function(){var e=this;this.unsentMessagesQueue.forEach((function(t){e.sendMessageRaw(t)})),this.unsentMessagesQueue=[]},e.prototype.checkConnection=function(){this.wasKeepAliveReceived?this.wasKeepAliveReceived=!1:this.reconnecting||this.close(!1,!0)},e.prototype.checkMaxConnectTimeout=function(){var e=this;this.clearMaxConnectTimeout(),this.maxConnectTimeoutId=setTimeout((function(){e.status!==e.wsImpl.OPEN&&(e.reconnecting=!0,e.close(!1,!0))}),this.maxConnectTimeGenerator.duration())},e.prototype.connect=function(){var e=this;this.client=new this.wsImpl(this.url,this.wsProtocols),this.checkMaxConnectTimeout(),this.client.onopen=function(){return i(e,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:if(this.status!==this.wsImpl.OPEN)return[3,4];this.clearMaxConnectTimeout(),this.closedByUser=!1,this.eventEmitter.emit(this.reconnecting?"reconnecting":"connecting"),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.connectionParams()];case 2:return e=n.sent(),this.sendMessage(void 0,y.default.GQL_CONNECTION_INIT,e),this.flushUnsentMessagesQueue(),[3,4];case 3:return t=n.sent(),this.sendMessage(void 0,y.default.GQL_CONNECTION_ERROR,t),this.flushUnsentMessagesQueue(),[3,4];case 4:return[2]}}))}))},this.client.onclose=function(){e.closedByUser||e.close(!1,!1)},this.client.onerror=function(t){e.eventEmitter.emit("error",t)},this.client.onmessage=function(t){var n=t.data;e.processReceivedData(n)}},e.prototype.processReceivedData=function(e){var t,n;try{n=(t=JSON.parse(e)).id}catch(a){throw new Error("Message must be JSON-parseable. Got: "+e)}if(-1===[y.default.GQL_DATA,y.default.GQL_COMPLETE,y.default.GQL_ERROR].indexOf(t.type)||this.operations[n])switch(t.type){case y.default.GQL_CONNECTION_ERROR:this.connectionCallback&&this.connectionCallback(t.payload);break;case y.default.GQL_CONNECTION_ACK:this.eventEmitter.emit(this.reconnecting?"reconnected":"connected"),this.reconnecting=!1,this.backoff.reset(),this.maxConnectTimeGenerator.reset(),this.connectionCallback&&this.connectionCallback();break;case y.default.GQL_COMPLETE:this.operations[n].handler(null,null),delete this.operations[n];break;case y.default.GQL_ERROR:this.operations[n].handler(this.formatErrors(t.payload),null),delete this.operations[n];break;case y.default.GQL_DATA:var i=t.payload.errors?r({},t.payload,{errors:this.formatErrors(t.payload.errors)}):t.payload;this.operations[n].handler(null,i);break;case y.default.GQL_CONNECTION_KEEP_ALIVE:var o="undefined"===typeof this.wasKeepAliveReceived;this.wasKeepAliveReceived=!0,o&&this.checkConnection(),this.checkConnectionIntervalId&&(clearInterval(this.checkConnectionIntervalId),this.checkConnection()),this.checkConnectionIntervalId=setInterval(this.checkConnection.bind(this),this.wsTimeout);break;default:throw new Error("Invalid message type!")}else this.unsubscribe(n)},e.prototype.unsubscribe=function(e){this.operations[e]&&(delete this.operations[e],this.setInactivityTimeout(),this.sendMessage(e,y.default.GQL_STOP,void 0))},e}();t.SubscriptionClient=v}).call(this,n(41))},function(e,t,n){"use strict";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=n(32),o=n(49),a=n(68),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.toJSON=function(){var e=this.toObject();return i.set(e,"navStack",i.List([]))},t}(i.Record({navStack:i.List([]),docsOpen:!1,docsWidth:a.columnWidth,activeTabIdx:null,keyMove:!1}));t.DocsSession=s;var u=i.Map({"":new s});function c(e,t){if(!t)throw new Error("sessionId cant be null");return e.get(t)||new s}t.default=o.handleActions({SET_STACKS:function(e,t){var n=t.payload,r=n.sessionId,i=n.stacks,o=c(e,r);return o=o.set("navStack",i),e.set(r,o)},ADD_STACK:function(e,t){var n=t.payload,r=n.sessionId,o=n.field,a=n.x,s=n.y;o.path||(o.path=o.name);var u=c(e,r);return u=u.update("navStack",(function(e){var t=e;return a=65&&r<=90||!t.shiftKey&&r>=48&&r<=57||t.shiftKey&&189===r||t.shiftKey&&50===r||t.shiftKey&&57===r)&&n.editor.execCommand("autocomplete")},n.onEdit=function(){!n.ignoreChangeEvent&&n.props.onChange&&(n.cachedValue=n.editor.getValue(),n.props.onChange(n.cachedValue))},n.onHasCompletion=function(e,t){u.default(e,t,n.props.onHintInformationRender)},n.closeCompletion=function(){n.editor.state.completionActive&&"function"===typeof n.editor.state.completionActive.close&&n.editor.state.completionActive.close()},n.cachedValue=e.value||"",n.props.getRef&&n.props.getRef(n),n}return r(i,t),i.prototype.componentDidMount=function(){var t=this,r=n(15);n(128),n(186),n(88),n(129),n(107),n(89),n(187),n(70),n(108),n(71),n(130),n(109),n(365),n(366),n(370),n(371),n(373),n(191);var i=[];i.push("CodeMirror-linenumbers"),i.push("CodeMirror-foldgutter"),this.editor=r(this.node,{autofocus:!h.isIframe(),value:this.props.value||"",lineNumbers:!0,tabSize:this.props.tabWidth||2,indentWithTabs:this.props.useTabs||!1,mode:"graphql",theme:"graphiql",keyMap:"sublime",autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:!1,foldGutter:{minFoldSize:4},lint:{schema:this.props.schema},hintOptions:{schema:this.props.schema,closeOnUnfocus:!0,completeSingle:!1},info:{schema:this.props.schema,renderDescription:function(e){return m.render(e)},onClick:this.props.onClickReference},jump:{schema:this.props.schema,onClick:this.props.onClickReference},gutters:i,extraKeys:{"Cmd-Space":function(){return t.editor.showHint({completeSingle:!0})},"Ctrl-Space":function(){return t.editor.showHint({completeSingle:!0})},"Alt-Space":function(){return t.editor.showHint({completeSingle:!0})},"Shift-Space":function(){return t.editor.showHint({completeSingle:!0})},"Cmd-Enter":function(){t.props.onRunQuery&&t.props.onRunQuery()},"Ctrl-Enter":function(){t.props.onRunQuery&&t.props.onRunQuery()},"Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-F":"findPersistent","Ctrl-F":"findPersistent"}}),this.editor.on("change",this.onEdit),this.editor.on("keyup",this.onKeyUp),this.editor.on("hasCompletion",this.onHasCompletion),e.editor=this.editor,this.props.scrollTop&&this.scrollTo(this.props.scrollTop)},i.prototype.componentDidUpdate=function(e){var t=this,r=n(15);this.ignoreChangeEvent=!0,this.props.schema!==e.schema&&(this.editor.options.lint.schema=this.props.schema,this.editor.options.hintOptions.schema=this.props.schema,this.editor.options.info.schema=this.props.schema,this.editor.options.jump.schema=this.props.schema,r.signal(this.editor,"change",this.editor)),this.props.value!==e.value&&this.props.value!==this.cachedValue&&(this.cachedValue=this.props.value,this.editor.setValue(this.props.value)),this.ignoreChangeEvent=!1,setTimeout((function(){t.props.sessionId!==e.sessionId&&t.props.scrollTop&&t.scrollTo(t.props.scrollTop)}))},i.prototype.componentWillReceiveProps=function(e){this.props.sessionId!==e.sessionId&&(this.closeCompletion(),this.updateSessionScrollTop(),h.isIframe()||this.editor.focus())},i.prototype.scrollTo=function(e){this.node.querySelector(".CodeMirror-scroll").scrollTop=e},i.prototype.updateSessionScrollTop=function(){this.props.setScrollTop&&this.props.sessionId&&this.props.setScrollTop(this.props.sessionId,this.node.querySelector(".CodeMirror-scroll").scrollTop)},i.prototype.componentWillUnmount=function(){this.updateSessionScrollTop(),this.editor.off("change",this.onEdit),this.editor.off("keyup",this.onKeyUp),this.editor.off("hasCompletion",this.onHasCompletion),this.editor=null},i.prototype.render=function(){return o.createElement(f.default,null,o.createElement(b,{ref:this.setRef}))},i.prototype.getCodeMirror=function(){return this.editor},i.prototype.getClientHeight=function(){return this.node&&this.node.clientHeight},i}(o.PureComponent);t.QueryEditor=g;var y=l.createStructuredSelector({value:p.getQuery,sessionId:p.getSelectedSessionIdFromRoot,scrollTop:p.getScrollTop,tabWidth:p.getTabWidth,useTabs:p.getUseTabs});t.default=s.connect(y,{onChange:c.editQuery,setScrollTop:c.setScrollTop})(g);var v,b=d.styled.div(v||(v=i(["\n flex: 1 1 0%;\n position: relative;\n\n .CodeMirror {\n width: 100%;\n background: ",";\n }\n"],["\n flex: 1 1 0%;\n position: relative;\n\n .CodeMirror {\n width: 100%;\n background: ",";\n }\n"])),(function(e){return e.theme.editorColours.editorBackground}))}).call(this,n(41))},function(e,t,n){"use strict";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=0;t=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+" "+t},e.exports=r},function(e,t,n){const r=n(87).defaults,i=n(75),o=i.cleanUrl,a=i.escape;e.exports=class{constructor(e){this.options=e||r}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return r?'
    '+(n?e:a(e,!0))+"
    \n":"
    "+(n?e:a(e,!0))+"
    "}blockquote(e){return"
    \n"+e+"
    \n"}html(e){return e}heading(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"}hr(){return this.options.xhtml?"
    \n":"
    \n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e){return"
  • "+e+"
  • \n"}checkbox(e){return" "}paragraph(e){return"

    "+e+"

    \n"}table(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return"\n"+e+"\n"}tablecell(e,t){const n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"}strong(e){return""+e+""}em(e){return""+e+""}codespan(e){return""+e+""}br(){return this.options.xhtml?"
    ":"
    "}del(e){return""+e+""}link(e,t,n){if(null===(e=o(this.options.sanitize,this.options.baseUrl,e)))return n;let r='",r}image(e,t,n){if(null===(e=o(this.options.sanitize,this.options.baseUrl,e)))return n;let r=''+n+'":">",r}text(e){return e}}},function(e,t,n){!function(e){"use strict";function t(e,t){this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var n=this;e.on("cursorActivity",this.activityFunc=function(){n.cursorActivity()})}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var r={hint:t};if(n)for(var i in n)r[i]=n[i];return e.showHint(r)},e.defineExtension("showHint",(function(n){n=function(e,t,n){var r=e.options.hintOptions,i={};for(var o in u)i[o]=u[o];if(r)for(var o in r)void 0!==r[o]&&(i[o]=r[o]);if(n)for(var o in n)void 0!==n[o]&&(i[o]=n[o]);return i.hint.resolve&&(i.hint=i.hint.resolve(e,t)),i}(this,this.getCursor("start"),n);var r=this.listSelections();if(!(r.length>1)){if(this.somethingSelected()){if(!n.hint.supportsSelection)return;for(var i=0;ic.clientHeight+1,F=a.getScrollInfo();if(_>0){var N=T.bottom-T.top;if(y.top-(y.bottom-T.top)-N>0)c.style.top=(b=y.top-N-D)+"px",E=!1;else if(N>A){c.style.height=A-5+"px",c.style.top=(b=y.bottom-T.top-D)+"px";var I=a.getCursor();n.from.ch!=I.ch&&(y=a.cursorCoords(I),c.style.left=(v=y.left-x)+"px",T=c.getBoundingClientRect())}}var M,j=T.right-k;if(j>0&&(T.right-T.left>k&&(c.style.width=k-5+"px",j-=T.right-T.left-k),c.style.left=(v=y.left-j-x)+"px"),O)for(var L=c.firstChild;L;L=L.nextSibling)L.style.paddingRight=a.display.nativeBarWidth+"px";return a.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(n["Ctrl-P"]=function(){t.moveFocus(-1)},n["Ctrl-N"]=function(){t.moveFocus(1)});var r=e.options.customKeys,i=r?{}:n;function o(e,r){var o;o="string"!=typeof r?function(e){return r(e,t)}:n.hasOwnProperty(r)?n[r]:r,i[e]=o}if(r)for(var a in r)r.hasOwnProperty(a)&&o(a,r[a]);var s=e.options.extraKeys;if(s)for(var a in s)s.hasOwnProperty(a)&&o(a,s[a]);return i}(t,{moveFocus:function(e,t){r.changeActive(r.selectedHint+e,t)},setFocus:function(e){r.changeActive(e)},menuSize:function(){return r.screenAmount()},length:p.length,close:function(){t.close()},pick:function(){r.pick()},data:n})),t.options.closeOnUnfocus&&(a.on("blur",this.onBlur=function(){M=setTimeout((function(){t.close()}),100)}),a.on("focus",this.onFocus=function(){clearTimeout(M)})),a.on("scroll",this.onScroll=function(){var e=a.getScrollInfo(),n=a.getWrapperElement().getBoundingClientRect(),r=b+F.top-e.top,i=r-(u.pageYOffset||(s.documentElement||s.body).scrollTop);if(E||(i+=c.offsetHeight),i<=n.top||i>=n.bottom)return t.close();c.style.top=r+"px",c.style.left=v+F.left-e.left+"px"}),e.on(c,"dblclick",(function(e){var t=o(c,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),r.pick())})),e.on(c,"click",(function(e){var n=o(c,e.target||e.srcElement);n&&null!=n.hintId&&(r.changeActive(n.hintId),t.options.completeOnSingleClick&&r.pick())})),e.on(c,"mousedown",(function(){setTimeout((function(){a.focus()}),20)})),this.scrollToActive(),e.signal(n,"select",p[this.selectedHint],c.childNodes[this.selectedHint]),!0}function s(e,t,n,r){if(e.async)e(t,r,n);else{var i=e(t,n);i&&i.then?i.then(r):r(i)}}t.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&e.signal(this.data,"close"),this.widget&&this.widget.close(),e.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var r=t.list[n],o=this;this.cm.operation((function(){r.hint?r.hint(o.cm,t,r):o.cm.replaceRange(i(r),r.from||t.from,r.to||t.to,"complete"),e.signal(t,"pick",r),o.cm.scrollIntoView()})),this.close()},cursorActivity:function(){this.debounce&&(r(this.debounce),this.debounce=0);var e=this.startPos;this.data&&(e=this.data.from);var t=this.cm.getCursor(),i=this.cm.getLine(t.line);if(t.line!=this.startPos.line||i.length-t.ch!=this.startLen-this.startPos.ch||t.ch=this.data.list.length?t=n?this.data.list.length-1:0:t<0&&(t=n?0:this.data.list.length-1),this.selectedHint!=t){var r=this.hints.childNodes[this.selectedHint];r&&(r.className=r.className.replace(" CodeMirror-hint-active","")),(r=this.hints.childNodes[this.selectedHint=t]).className+=" CodeMirror-hint-active",this.scrollToActive(),e.signal(this.data,"select",this.data.list[this.selectedHint],r)}},scrollToActive:function(){var e=this.hints.childNodes[this.selectedHint],t=this.hints.firstChild;e.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=e.offsetTop+e.offsetHeight-this.hints.clientHeight+t.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},e.registerHelper("hint","auto",{resolve:function(t,n){var r,i=t.getHelpers(n,"hint");if(i.length){var o=function(e,t,n){var r=function(e,t){if(!e.somethingSelected())return t;for(var n=[],r=0;r0?t(e):i(o+1)}))}(0)};return o.async=!0,o.supportsSelection=!0,o}return(r=t.getHelper(t.getCursor(),"hintWords"))?function(t){return e.hint.fromList(t,{words:r})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper("hint","fromList",(function(t,n){var r,i=t.getCursor(),o=t.getTokenAt(i),a=e.Pos(i.line,o.start),s=i;o.start,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};e.defineOption("hintOptions",null)}(n(15))},function(e,t,n){!function(e){var t={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=e.Pos;function r(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,(function(t,n,a){a&&a!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),n&&(o(r(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(i))}));var i={Backspace:function(t){var i=s(t);if(!i||t.getOption("disableInput"))return e.Pass;for(var o=r(i,"pairs"),a=t.listSelections(),u=0;u=0;u--){var p=a[u].head;t.replaceRange("",n(p.line,p.ch-1),n(p.line,p.ch+1),"+delete")}},Enter:function(t){var n=s(t),i=n&&r(n,"explode");if(!i||t.getOption("disableInput"))return e.Pass;for(var o=t.listSelections(),a=0;a1&&d.indexOf(i)>=0&&t.getRange(n(E.line,E.ch-2),E)==i+i){if(E.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(E.line,E.ch-2))))return e.Pass;v="addFour"}else if(h){var D=0==E.ch?" ":t.getRange(n(E.line,E.ch-1),E);if(e.isWordChar(x)||D==i||e.isWordChar(D))return e.Pass;v="both"}else{if(!g||!(0===x.length||/\s/.test(x)||f.indexOf(x)>-1))return e.Pass;v="both"}else v=h&&l(t,E)?"both":d.indexOf(i)>=0&&t.getRange(E,n(E.line,E.ch+3))==i+i+i?"skipThree":"skip";if(p){if(p!=v)return e.Pass}else p=v}var C=c%2?a.charAt(c-1):i,w=c%2?i:a.charAt(c+1);t.operation((function(){if("skip"==p)t.execCommand("goCharRight");else if("skipThree"==p)for(var e=0;e<3;e++)t.execCommand("goCharRight");else if("surround"==p){var n=t.getSelections();for(e=0;e0;return{anchor:new n(t.anchor.line,t.anchor.ch+(r?-1:1)),head:new n(t.head.line,t.head.ch+(r?1:-1))}}function c(e,t){var r=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==r.length?r:null}function l(e,t){var r=e.getTokenAt(n(t.line,t.ch+1));return/\bstring/.test(r.type)&&r.start==t.ch&&(0==t.ch||!/\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+"`")}(n(15))},function(e,t,n){!function(e){"use strict";var t="CodeMirror-lint-markers";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function r(t,r,i,o){var a=function(t,n,r){var i=document.createElement("div");function o(t){if(!i.parentNode)return e.off(document,"mousemove",o);i.style.top=Math.max(0,t.clientY-i.offsetHeight-5)+"px",i.style.left=t.clientX+5+"px"}return i.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,i.appendChild(r.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(i):document.body.appendChild(i),e.on(document,"mousemove",o),o(n),null!=i.style.opacity&&(i.style.opacity=1),i}(t,r,i);function s(){var t;e.off(o,"mouseout",s),a&&((t=a).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout((function(){n(t)}),600)),a=null)}var u=setInterval((function(){if(a)for(var e=o;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){s();break}}if(!a)return clearInterval(u)}),400);e.on(o,"mouseout",s)}function i(e,t,n){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var i=n.getBoundingClientRect(),o=(i.left+i.right)/2,a=(i.top+i.bottom)/2,u=e.findMarksAt(e.coordsChar({left:o,top:a},"client")),c=[],l=0;l1,u.options.tooltips))}}c.onUpdateLinting&&c.onUpdateLinting(n,l,e)}function l(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout((function(){u(e)}),t.options.delay||500))}e.defineOption("lint",!1,(function(n,r,a){if(a&&a!=e.Init&&(o(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",l),e.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),r){for(var s=n.getOption("gutters"),c=!1,p=0;p=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+" "+t},e.exports=r},function(e,t,n){"use strict";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var i,o=n(9);t.DocType=o.styled.div(i||(i=r(["\n padding: 20px 16px 0 16px;\n overflow: auto;\n font-size: 14px;\n"],["\n padding: 20px 16px 0 16px;\n overflow: auto;\n font-size: 14px;\n"])))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=void 0;var r,i=n(471);var o=((r=i)&&r.__esModule?r:{default:r}).default,a=o.canUseDOM?window.HTMLElement:{};t.canUseDOM=o.canUseDOM;t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(18),i=n(162);function o(e){return"string"===typeof e?{endpoint:e,subscriptionEndpoint:void 0}:{endpoint:e.url,subscriptionEndpoint:e.subscription?e.subscription.url:void 0,headers:e.headers}}t.getActiveEndpoints=function(e,t,n){return o(n?e.projects[n].extensions.endpoints[t]:e.extensions.endpoints[t])},t.getEndpointFromEndpointConfig=o;var a=new i({max:10});t.cachedPrintSchema=function(e){var t=a.get(e);if(t)return t;var n=r.printSchema(e);return a.set(e,n),n}},function(e,t,n){"use strict";var r=n(78);e.exports=new r({explicit:[n(494),n(495),n(496)]})},function(e,t,n){"use strict";var r=n(79),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return r.isMemo(e)?a:s[e.$$typeof]||i}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var c=Object.defineProperty,l=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var i=d(n);i&&i!==h&&e(t,i,r)}var a=l(n);p&&(a=a.concat(p(n)));for(var s=u(t),m=u(n),g=0;g120){for(var h=Math.floor(l/80),m=l%80,g=[],y=0;y])/g,v=/([[}=:>])\s+/g,b=/(\{[^{]+?);(?=\})/g,E=/\s{2,}/g,x=/([^\(])(:+) */g,D=/[svh]\w+-[tblr]{2}/,C=/\(\s*(.*)\s*\)/g,w=/([\s\S]*?);/g,S=/-self|flex-/g,k=/[^]*?(:[rp][el]a[\w-]+)[^]*/,A=/stretch|:\s*\w+\-(?:conte|avail)/,T=/([^-])(image-set\()/,_="-webkit-",O="-moz-",F="-ms-",N=59,I=125,M=123,j=40,L=41,P=10,R=13,B=32,U=45,z=42,V=44,q=58,H=47,W=1,G=1,K=0,J=1,Y=1,Q=1,$=0,X=0,Z=0,ee=[],te=[],ne=0,re=null,ie=0,oe=1,ae="",se="",ue="";function ce(e,t,i,o,a){for(var s,u,l=0,p=0,f=0,d=0,y=0,v=0,b=0,E=0,D=0,w=0,S=0,k=0,A=0,T=0,O=0,F=0,$=0,te=0,re=0,pe=i.length,ye=pe-1,ve="",be="",Ee="",xe="",De="",Ce="";O0&&(be=be.replace(r,"")),be.trim().length>0)){switch(b){case B:case 9:case N:case R:case P:break;default:be+=i.charAt(O)}b=N}if(1===$)switch(b){case M:case I:case N:case 34:case 39:case j:case L:case V:$=0;case 9:case R:case P:case B:break;default:for($=0,re=O,y=b,O--,b=N;re0&&(++O,b=y);case M:re=pe}}switch(b){case M:for(y=(be=be.trim()).charCodeAt(0),S=1,re=++O;O0&&(be=be.replace(r,"")),v=be.charCodeAt(1)){case 100:case 109:case 115:case U:s=t;break;default:s=ee}if(re=(Ee=ce(t,s,Ee,v,a+1)).length,Z>0&&0===re&&(re=be.length),ne>0&&(u=me(3,Ee,s=le(ee,be,te),t,G,W,re,v,a,o),be=s.join(""),void 0!==u&&0===(re=(Ee=u.trim()).length)&&(v=0,Ee="")),re>0)switch(v){case 115:be=be.replace(C,he);case 100:case 109:case U:Ee=be+"{"+Ee+"}";break;case 107:Ee=(be=be.replace(h,"$1 $2"+(oe>0?ae:"")))+"{"+Ee+"}",Ee=1===Y||2===Y&&de("@"+Ee,3)?"@"+_+Ee+"@"+Ee:"@"+Ee;break;default:Ee=be+Ee,112===o&&(xe+=Ee,Ee="")}else Ee="";break;default:Ee=ce(t,le(t,be,te),Ee,o,a+1)}De+=Ee,k=0,$=0,T=0,F=0,te=0,A=0,be="",Ee="",b=i.charCodeAt(++O);break;case I:case N:if((re=(be=(F>0?be.replace(r,""):be).trim()).length)>1)switch(0===T&&((y=be.charCodeAt(0))===U||y>96&&y<123)&&(re=(be=be.replace(" ",":")).length),ne>0&&void 0!==(u=me(1,be,t,e,G,W,xe.length,o,a,o))&&0===(re=(be=u.trim()).length)&&(be="\0\0"),y=be.charCodeAt(0),v=be.charCodeAt(1),y){case 0:break;case 64:if(105===v||99===v){Ce+=be+i.charAt(O);break}default:if(be.charCodeAt(re-1)===q)break;xe+=fe(be,y,v,be.charCodeAt(2))}k=0,$=0,T=0,F=0,te=0,be="",b=i.charCodeAt(++O)}}switch(b){case R:case P:if(p+d+f+l+X===0)switch(w){case L:case 39:case 34:case 64:case 126:case 62:case z:case 43:case H:case U:case q:case V:case N:case M:case I:break;default:T>0&&($=1)}p===H?p=0:J+k===0&&107!==o&&be.length>0&&(F=1,be+="\0"),ne*ie>0&&me(0,be,t,e,G,W,xe.length,o,a,o),W=1,G++;break;case N:case I:if(p+d+f+l===0){W++;break}default:switch(W++,ve=i.charAt(O),b){case 9:case B:if(d+l+p===0)switch(E){case V:case q:case 9:case B:ve="";break;default:b!==B&&(ve=" ")}break;case 0:ve="\\0";break;case 12:ve="\\f";break;case 11:ve="\\v";break;case 38:d+p+l===0&&J>0&&(te=1,F=1,ve="\f"+ve);break;case 108:if(d+p+l+K===0&&T>0)switch(O-T){case 2:112===E&&i.charCodeAt(O-3)===q&&(K=E);case 8:111===D&&(K=D)}break;case q:d+p+l===0&&(T=O);break;case V:p+f+d+l===0&&(F=1,ve+="\r");break;case 34:case 39:0===p&&(d=d===b?0:0===d?b:d);break;case 91:d+p+f===0&&l++;break;case 93:d+p+f===0&&l--;break;case L:d+p+l===0&&f--;break;case j:if(d+p+l===0){if(0===k)switch(2*E+3*D){case 533:break;default:S=0,k=1}f++}break;case 64:p+f+d+l+T+A===0&&(A=1);break;case z:case H:if(d+l+f>0)break;switch(p){case 0:switch(2*b+3*i.charCodeAt(O+1)){case 235:p=H;break;case 220:re=O,p=z}break;case z:b===H&&E===z&&re+2!==O&&(33===i.charCodeAt(re+2)&&(xe+=i.substring(re,O+1)),ve="",p=0)}}if(0===p){if(J+d+l+A===0&&107!==o&&b!==N)switch(b){case V:case 126:case 62:case 43:case L:case j:if(0===k){switch(E){case 9:case B:case P:case R:ve+="\0";break;default:ve="\0"+ve+(b===V?"":"\0")}F=1}else switch(b){case j:T+7===O&&108===E&&(T=0),k=++S;break;case L:0==(k=--S)&&(F=1,ve+="\0")}break;case 9:case B:switch(E){case 0:case M:case I:case N:case V:case 12:case 9:case B:case P:case R:break;default:0===k&&(F=1,ve+="\0")}}be+=ve,b!==B&&9!==b&&(w=b)}}D=E,E=b,O++}if(re=xe.length,Z>0&&0===re&&0===De.length&&0===t[0].length==0&&(109!==o||1===t.length&&(J>0?se:ue)===t[0])&&(re=t.join(",").length+2),re>0){if(s=0===J&&107!==o?function(e){for(var t,n,i=0,o=e.length,a=Array(o);i1)){if(f=u.charCodeAt(u.length-1),d=n.charCodeAt(0),t="",0!==l)switch(f){case z:case 126:case 62:case 43:case B:case j:break;default:t=" "}switch(d){case 38:n=t+se;case 126:case 62:case 43:case B:case L:case j:break;case 91:n=t+n+se;break;case q:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(Q>0){n=t+n.substring(8,p-1);break}default:(l<1||s[l-1].length<1)&&(n=t+se+n)}break;case V:t="";default:n=p>1&&n.indexOf(":")>0?t+n.replace(x,"$1"+se+"$2"):t+n+se}u+=n}a[i]=u.replace(r,"").trim()}return a}(t):t,ne>0&&void 0!==(u=me(2,xe,s,e,G,W,re,o,a,o))&&0===(xe=u).length)return Ce+xe+De;if(xe=s.join(",")+"{"+xe+"}",Y*K!=0){switch(2!==Y||de(xe,2)||(K=0),K){case 111:xe=xe.replace(g,":-moz-$1")+xe;break;case 112:xe=xe.replace(m,"::"+_+"input-$1")+xe.replace(m,"::-moz-$1")+xe.replace(m,":-ms-input-$1")+xe}K=0}}return Ce+xe+De}function le(e,t,n){var r=t.trim().split(l),i=r,o=r.length,a=e.length;switch(a){case 0:case 1:for(var s=0,u=0===a?"":e[0]+" ";s0&&J>0)return i.replace(f,"$1").replace(p,"$1"+ue);break;default:return e.trim()+i.replace(p,"$1"+e.trim())}default:if(n*J>0&&i.indexOf("\f")>0)return i.replace(p,(e.charCodeAt(0)===q?"":"$1")+e.trim())}return e+i}function fe(e,t,n,r){var c,l=0,p=e+";",f=2*t+3*n+4*r;if(944===f)return function(e){var t=e.length,n=e.indexOf(":",9)+1,r=e.substring(0,n).trim(),i=e.substring(n,t-1).trim();switch(e.charCodeAt(9)*oe){case 0:break;case U:if(110!==e.charCodeAt(10))break;default:var o=i.split((i="",s)),a=0;for(n=0,t=o.length;a64&&p<90||p>96&&p<123||95===p||p===U&&c.charCodeAt(1)!==U))switch(isNaN(parseFloat(c))+(-1!==c.indexOf("("))){case 1:switch(c){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:c+=ae}}l[n++]=c}i+=(0===a?"":",")+l.join(" ")}}return i=r+i+";",1===Y||2===Y&&de(i,1)?_+i+i:i}(p);if(0===Y||2===Y&&!de(p,1))return p;switch(f){case 1015:return 97===p.charCodeAt(10)?_+p+p:p;case 951:return 116===p.charCodeAt(3)?_+p+p:p;case 963:return 110===p.charCodeAt(5)?_+p+p:p;case 1009:if(100!==p.charCodeAt(4))break;case 969:case 942:return _+p+p;case 978:return _+p+O+p+p;case 1019:case 983:return _+p+O+p+F+p+p;case 883:return p.charCodeAt(8)===U?_+p+p:p.indexOf("image-set(",11)>0?p.replace(T,"$1"+_+"$2")+p:p;case 932:if(p.charCodeAt(4)===U)switch(p.charCodeAt(5)){case 103:return _+"box-"+p.replace("-grow","")+_+p+F+p.replace("grow","positive")+p;case 115:return _+p+F+p.replace("shrink","negative")+p;case 98:return _+p+F+p.replace("basis","preferred-size")+p}return _+p+F+p+p;case 964:return _+p+F+"flex-"+p+p;case 1023:if(99!==p.charCodeAt(8))break;return c=p.substring(p.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),_+"box-pack"+c+_+p+F+"flex-pack"+c+p;case 1005:return o.test(p)?p.replace(i,":"+_)+p.replace(i,":"+O)+p:p;case 1e3:switch(l=(c=p.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(l)){case 226:c=p.replace(D,"tb");break;case 232:c=p.replace(D,"tb-rl");break;case 220:c=p.replace(D,"lr");break;default:return p}return _+p+F+c+p;case 1017:if(-1===p.indexOf("sticky",9))return p;case 975:switch(l=(p=e).length-10,f=(c=(33===p.charCodeAt(l)?p.substring(0,l):p).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(c.charCodeAt(8)<111)break;case 115:p=p.replace(c,_+c)+";"+p;break;case 207:case 102:p=p.replace(c,_+(f>102?"inline-":"")+"box")+";"+p.replace(c,_+c)+";"+p.replace(c,F+c+"box")+";"+p}return p+";";case 938:if(p.charCodeAt(5)===U)switch(p.charCodeAt(6)){case 105:return c=p.replace("-items",""),_+p+_+"box-"+c+F+"flex-"+c+p;case 115:return _+p+F+"flex-item-"+p.replace(S,"")+p;default:return _+p+F+"flex-line-pack"+p.replace("align-content","").replace(S,"")+p}break;case 973:case 989:if(p.charCodeAt(3)!==U||122===p.charCodeAt(4))break;case 931:case 953:if(!0===A.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?fe(e.replace("stretch","fill-available"),t,n,r).replace(":fill-available",":stretch"):p.replace(c,_+c)+p.replace(c,O+c.replace("fill-",""))+p;break;case 962:if(p=_+p+(102===p.charCodeAt(5)?F+p:"")+p,n+r===211&&105===p.charCodeAt(13)&&p.indexOf("transform",10)>0)return p.substring(0,p.indexOf(";",27)+1).replace(a,"$1"+_+"$2")+p}return p}function de(e,t){var n=e.indexOf(1===t?":":"{"),r=e.substring(0,3!==t?n:10),i=e.substring(n+1,e.length-1);return re(2!==t?r:r.replace(k,"$1"),i,t)}function he(e,t){var n=fe(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(w," or ($1)").substring(4):"("+t+")"}function me(e,t,n,r,i,o,a,s,u,c){for(var l,p=0,f=t;p0&&(ae=i.replace(d,91===o?"":"-")),o=1,1===J?ue=i:se=i;var a,s=[ue];ne>0&&void 0!==(a=me(-1,n,s,s,G,W,0,0,0,0))&&"string"==typeof a&&(n=a);var u=ce(ee,s,n,0,0);return ne>0&&void 0!==(a=me(-2,u,s,s,G,W,u.length,0,0,0))&&"string"!=typeof(u=a)&&(o=0),ae="",ue="",se="",K=0,G=1,W=1,$*o==0?u:u.replace(r,"").replace(y,"").replace(v,"$1").replace(b,"$1").replace(E," ")}return ve.use=function e(t){switch(t){case void 0:case null:ne=te.length=0;break;default:if("function"==typeof t)te[ne++]=t;else if("object"==typeof t)for(var n=0,r=t.length;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(localStorage.setItem("platform-token",e),window.location.replace(window.location.origin+window.location.pathname))},n.prototype.componentDidMount=function(){var e=this;if(""===this.state.subscriptionEndpoint&&this.updateSubscriptionsUrl(),setTimeout((function(){e.removePlaygroundInClass()}),5e3),this.setInitialWorkspace(),this.props.tabs)this.props.injectTabs(this.props.tabs);else{var t=E("query");if(t){var n=E("endpoint")||this.state.endpoint;this.props.injectTabs([{query:t,endpoint:n}])}else{var r=E("tabs");if(r)try{var i=JSON.parse(r);this.props.injectTabs(i)}catch(o){}}}this.props.schema&&("string"===typeof this.props.schema?this.setState({schema:b.buildSchema(this.props.schema)}):this.setState({schema:b.buildClientSchema(this.props.schema)}))},n.prototype.setInitialWorkspace=function(e){if(void 0===e&&(e=this.props),e.config){var t=this.getInitialActiveEnv(e.config),n=m.getActiveEndpoints(e.config,t.activeEnv,t.projectName),r=n.endpoint,i=n.subscriptionEndpoint||this.normalizeSubscriptionUrl(r,n.subscriptionEndpoint),o=n.headers;this.setState({endpoint:r,subscriptionEndpoint:i,headers:o,activeEnv:t.activeEnv,activeProjectName:t.projectName})}},n.prototype.removePlaygroundInClass=function(){var e=document.getElementById("root");e&&e.classList.remove("playgroundIn")},n.prototype.render=function(){var e=this.props.setTitle?u.createElement(l.Helmet,null,u.createElement("title",null,this.getTitle())):null,t=this.props.headers||{},n=this.state.headers||{},r=o(o({},t),n),i=this.props.theme;return u.createElement("div",null,e,u.createElement(d.ThemeProvider,{theme:o(o({},d.theme),{mode:i,colours:"dark"===i?h.darkColours:h.lightColours,editorColours:o(o({},"dark"===i?h.darkEditorColours:h.lightEditorColours),this.props.codeTheme),settings:this.props.settings})},u.createElement(k,null,this.props.config&&this.state.activeEnv&&u.createElement(f.default,{config:this.props.config,folderName:this.props.folderName||"GraphQL App",theme:i,activeEnv:this.state.activeEnv,onSelectEnv:this.handleSelectEnv,onNewWorkspace:this.props.onNewWorkspace,showNewWorkspace:Boolean(this.props.showNewWorkspace),isElectron:Boolean(this.props.isElectron),activeProjectName:this.state.activeProjectName,configPath:this.props.configPath}),u.createElement(c.default,{endpoint:this.state.endpoint,shareEnabled:this.props.shareEnabled,subscriptionEndpoint:this.state.subscriptionEndpoint,shareUrl:this.state.shareUrl,onChangeEndpoint:this.handleChangeEndpoint,onChangeSubscriptionsEndpoint:this.handleChangeSubscriptionsEndpoint,getRef:this.getPlaygroundRef,config:this.props.config,configString:this.state.configString,configIsYaml:this.state.configIsYaml,canSaveConfig:Boolean(this.props.canSaveConfig),onChangeConfig:this.handleChangeConfig,onSaveConfig:this.handleSaveConfig,onUpdateSessionCount:this.handleUpdateSessionCount,fixedEndpoints:Boolean(this.state.configString),fixedEndpoint:this.props.fixedEndpoint,headers:r,configPath:this.props.configPath,workspaceName:this.props.workspaceName||this.state.activeProjectName,createApolloLink:this.props.createApolloLink,schema:this.state.schema}))))},n.prototype.getTitle=function(){if(this.state.platformToken||this.state.endpoint.includes("api.graph.cool")){var e=this.getProjectId(this.state.endpoint);return(this.state.endpoint.includes("api.graph.cool")?"shared":"local")+"/"+e+" - Playground"}return"Playground - "+this.state.endpoint},n.prototype.updateSubscriptionsUrl=function(){return a(this,void 0,void 0,(function(){var e,t=this;return s(this,(function(n){switch(n.label){case 0:return[4,D(this.getSubscriptionsUrlCandidated(this.state.endpoint),(function(e){return t.wsEndpointValid(e)}))];case 1:return(e=n.sent())&&this.setState({subscriptionEndpoint:e}),[2]}}))}))},n.prototype.getSubscriptionsUrlCandidated=function(e){var t=[];if(t.push(e.replace("https","wss").replace("http","ws")),e.includes("graph.cool")&&t.push("wss://subscriptions.graph.cool/v1/"+this.getProjectId(e)),e.includes("/simple/v1/")){var n=e.match(/https?:\/\/(.*?)\//);t.push("ws://"+n[1]+"/subscriptions/v1/"+this.getProjectId(e))}return t},n.prototype.wsEndpointValid=function(e){return new Promise((function(t){var n=new WebSocket(e,"graphql-ws");n.addEventListener("open",(function(e){n.send(JSON.stringify({type:"connection_init"}))})),n.addEventListener("message",(function(e){"connection_ack"===JSON.parse(e.data).type&&t(!0)})),n.addEventListener("error",(function(e){t(!1)})),setTimeout((function(){t(!1)}),1e3)}))},n.prototype.getProjectId=function(e){return e.split("/").slice(-1)[0]},n}(u.Component);function D(e,t){return a(this,void 0,void 0,(function(){var n,r;return s(this,(function(i){switch(i.label){case 0:n=0,i.label=1;case 1:return n0?"("+this.props.headersCount+")":""))),this.props.queryVariablesActive?a.createElement(h.VariableEditorComponent,{getRef:this.setVariableEditorComponent,onHintInformationRender:this.props.queryVariablesActive?this.handleHintInformationRender:void 0,onRunQuery:this.runQueryAtCursor}):a.createElement(h.HeadersEditorComponent,{getRef:this.setVariableEditorComponent,onHintInformationRender:this.props.queryVariablesActive?this.handleHintInformationRender:void 0,onRunQuery:this.runQueryAtCursor})),a.createElement($,{ref:this.setQueryResizer})),a.createElement(Y,null,a.createElement(X,{ref:this.setResponseResizer}),a.createElement(c.default,null),this.props.queryRunning&&0===this.props.responses.size&&a.createElement(m.default,null),a.createElement(g.default,{setRef:this.setResultComponent}),!this.props.queryRunning&&(!this.props.responses||0===this.props.responses.size)&&a.createElement(se,null,"Hit the Play Button to get a response here"),this.props.subscriptionActive&&a.createElement(ue,null,"Listening \u2026"),a.createElement(ie,{isOpen:this.props.responseTracingOpen,height:this.props.responseTracingHeight},a.createElement(oe,{isOpen:this.props.responseTracingOpen,onMouseDown:this.handleTracingResizeStart},a.createElement(re,{isOpen:!1},"Tracing")),a.createElement(y.default,{open:this.props.responseTracingOpen}))))),a.createElement(x.default,{setActiveContentRef:this.setSideTabActiveContentRef,setWidth:this.setDocsWidth},a.createElement(E.default,{label:"Docs",activeColor:"green",tabWidth:"49px"},a.createElement(C.default,{schema:this.props.schema,ref:this.setDocExplorerRef})),a.createElement(E.default,{label:"Schema",activeColor:"blue",tabWidth:"65px"},a.createElement(D.default,{schema:this.props.schema,ref:this.setSchemaExplorerRef,sessionId:this.props.sessionId}))))},n.prototype.autoCompleteLeafs=function(){var e=v.fillLeafs(this.props.schema,this.props.query),t=e.insertions,n=e.result;if(t&&t.length>0){var r=this.queryEditorComponent.getCodeMirror();r.operation((function(){var e=r.getCursor(),i=r.indexFromPos(e);r.setValue(n);var o=0;try{var a=t.map((function(e){var t=e.index,n=e.string;return r.markText(r.posFromIndex(t+o),r.posFromIndex(t+(o+=n.length)),{className:"autoInsertedLeaf",clearOnEnter:!0,title:"Automatically added leaf fields"})}));setTimeout((function(){return a.forEach((function(e){return e.clear()}))}),7e3)}catch(u){}var s=i;t.forEach((function(e){var t=e.index,n=e.string;t0&&e.selectionSet.selections[0].name.value),"subscription"===e.operation&&(t=!0),"query"===e.operation&&(n=!0),"mutation"===e.operation&&(r=!0)})),{firstOperationName:i,subscription:t,query:n,mutation:r}}},function(e,t,n){"use strict";var r=Object.prototype;r.toString,r.hasOwnProperty,new Map},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseHeaders=function(e){if(!e)return{};try{return JSON.parse(e)}catch(t){return{}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(32),i=n(18);t.makeOperation=function(e){return r.setIn(e,["query"],i.parse(e.query))}},function(e,t,n){"use strict";const r=n(291),i=Symbol("max"),o=Symbol("length"),a=Symbol("lengthCalculator"),s=Symbol("allowStale"),u=Symbol("maxAge"),c=Symbol("dispose"),l=Symbol("noDisposeOnSet"),p=Symbol("lruList"),f=Symbol("cache"),d=Symbol("updateAgeOnGet"),h=()=>1;const m=(e,t,n)=>{const r=e[f].get(t);if(r){const t=r.value;if(g(e,t)){if(v(e,r),!e[s])return}else n&&(e[d]&&(r.value.now=Date.now()),e[p].unshiftNode(r));return t.value}},g=(e,t)=>{if(!t||!t.maxAge&&!e[u])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[u]&&n>e[u]},y=e=>{if(e[o]>e[i])for(let t=e[p].tail;e[o]>e[i]&&null!==t;){const n=t.prev;v(e,t),t=n}},v=(e,t)=>{if(t){const n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[f].delete(n.key),e[p].removeNode(t)}};class b{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const E=(e,t,n,r)=>{let i=n.value;g(e,i)&&(v(e,n),e[s]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};e.exports=class{constructor(e){if("number"===typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!==typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[i]=e.max||1/0;const t=e.length||h;if(this[a]="function"!==typeof t?h:t,this[s]=e.stale||!1,e.maxAge&&"number"!==typeof e.maxAge)throw new TypeError("maxAge must be a number");this[u]=e.maxAge||0,this[c]=e.dispose,this[l]=e.noDisposeOnSet||!1,this[d]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!==typeof e||e<0)throw new TypeError("max must be a non-negative number");this[i]=e||1/0,y(this)}get max(){return this[i]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if("number"!==typeof e)throw new TypeError("maxAge must be a non-negative number");this[u]=e,y(this)}get maxAge(){return this[u]}set lengthCalculator(e){"function"!==typeof e&&(e=h),e!==this[a]&&(this[a]=e,this[o]=0,this[p].forEach(e=>{e.length=this[a](e.value,e.key),this[o]+=e.length})),y(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[p].length}rforEach(e,t){t=t||this;for(let n=this[p].tail;null!==n;){const r=n.prev;E(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[p].head;null!==n;){const r=n.next;E(this,e,n,t),n=r}}keys(){return this[p].toArray().map(e=>e.key)}values(){return this[p].toArray().map(e=>e.value)}reset(){this[c]&&this[p]&&this[p].length&&this[p].forEach(e=>this[c](e.key,e.value)),this[f]=new Map,this[p]=new r,this[o]=0}dump(){return this[p].map(e=>!g(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[p]}set(e,t,n){if((n=n||this[u])&&"number"!==typeof n)throw new TypeError("maxAge must be a number");const r=n?Date.now():0,s=this[a](t,e);if(this[f].has(e)){if(s>this[i])return v(this,this[f].get(e)),!1;const a=this[f].get(e).value;return this[c]&&(this[l]||this[c](e,a.value)),a.now=r,a.maxAge=n,a.value=t,this[o]+=s-a.length,a.length=s,this.get(e),y(this),!0}const d=new b(e,t,s,r,n);return d.length>this[i]?(this[c]&&this[c](e,t),!1):(this[o]+=d.length,this[p].unshift(d),this[f].set(e,this[p].head),y(this),!0)}has(e){if(!this[f].has(e))return!1;const t=this[f].get(e).value;return!g(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[p].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[f].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[f].forEach((e,t)=>m(this,t,!1))}}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMove=t.sortableHandle=t.sortableElement=t.sortableContainer=t.SortableHandle=t.SortableElement=t.SortableContainer=void 0;var r=n(104);Object.defineProperty(t,"arrayMove",{enumerable:!0,get:function(){return r.arrayMove}});var i=s(n(303)),o=s(n(305)),a=s(n(306));function s(e){return e&&e.__esModule?e:{default:e}}t.SortableContainer=i.default,t.SortableElement=o.default,t.SortableHandle=a.default,t.sortableContainer=i.default,t.sortableElement=o.default,t.sortableHandle=a.default},function(e,t,n){"use strict";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=n(32),o=n(49),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(i.Record({history:!1,headers:!0,allTabs:!0,shareUrl:null}));t.SharingState=a,t.default=o.handleActions({TOGGLE_SHARE_HISTORY:function(e){return e.set("history",!e.history)},TOGGLE_SHARE_HEADERS:function(e){return e.set("headers",!e.headers)},TOGGLE_SHARE_ALL_TABS:function(e){return e.set("allTabs",!e.allTabs)},SET_SHARE_URL:function(e,t){var n=t.payload.shareUrl;return e.set("shareUrl",n)}},new a)},function(e,t,n){"use strict";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=n(32),o=n(49),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(i.Record({historyOpen:!1,fixedEndpoint:!1,endpoint:"",configString:"",envVars:{}}));t.GeneralState=a,t.default=o.handleActions({OPEN_HISTORY:function(e){return e.set("historyOpen",!0)},CLOSE_HISTORY:function(e){return e.set("historyOpen",!1)},SET_ENDPOINT_DISABLED:function(e,t){var n=t.payload.value;return e.set("endpointDisabled",n)},SET_CONFIG_STRING:function(e,t){var n=t.payload.configString;return e.set("configString",n)}},new a)},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",o=new RegExp("^(?:"+r+"|"+i+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)"),a=new RegExp("^(?:"+r+"|"+i+")");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){"use strict";e.exports.tokenize=function(e,t){var n,r,i,o,a=e.pos,s=e.src.charCodeAt(a);if(t)return!1;if(126!==s)return!1;if(i=(r=e.scanDelims(e.pos,!0)).length,o=String.fromCharCode(s),i<2)return!1;for(i%2&&(e.push("text","",0).content=o,i--),n=0;n=0;t--)95!==(n=s[t]).marker&&42!==n.marker||-1!==n.end&&(r=s[n.end],a=t>0&&s[t-1].end===n.end+1&&s[t-1].token===n.token-1&&s[n.end+1].token===r.token+1&&s[t-1].marker===n.marker,o=String.fromCharCode(n.marker),(i=e.tokens[n.token]).type=a?"strong_open":"em_open",i.tag=a?"strong":"em",i.nesting=1,i.markup=a?o+o:o,i.content="",(i=e.tokens[r.token]).type=a?"strong_close":"em_close",i.tag=a?"strong":"em",i.nesting=-1,i.markup=a?o+o:o,i.content="",a&&(e.tokens[s[t-1].token].content="",e.tokens[s[n.end+1].token].content="",t--))}},function(e,t,n){"use strict";function r(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){t&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e}function i(e){return Object.prototype.toString.call(e)}function o(e){return"[object Function]"===i(e)}function a(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var s={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};var u={"http:":{validate:function(e,t,n){var r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){var r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&":"===e[t-3]||t>=3&&"/"===e[t-3]?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){var r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},c="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function l(e){var t=e.re=n(357)(e.__opts__),r=e.__tlds__.slice();function s(e){return e.replace("%TLDS%",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||r.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"),r.push(t.src_xn),t.src_tlds=r.join("|"),t.email_fuzzy=RegExp(s(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(s(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(s(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(s(t.tpl_host_fuzzy_test),"i");var u=[];function c(e,t){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+t)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(t){var n=e.__schemas__[t];if(null!==n){var r={validate:null,link:null};if(e.__compiled__[t]=r,"[object Object]"===i(n))return!function(e){return"[object RegExp]"===i(e)}(n.validate)?o(n.validate)?r.validate=n.validate:c(t,n):r.validate=function(e){return function(t,n){var r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}(n.validate),void(o(n.normalize)?r.normalize=n.normalize:n.normalize?c(t,n):r.normalize=function(e,t){t.normalize(e)});!function(e){return"[object String]"===i(e)}(n)?c(t,n):u.push(t)}})),u.forEach((function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,t){t.normalize(e)}};var l=Object.keys(e.__compiled__).filter((function(t){return t.length>0&&e.__compiled__[t]})).map(a).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><\uff5c]|"+t.src_ZPCc+"))("+l+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><\uff5c]|"+t.src_ZPCc+"))("+l+")","ig"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function p(e,t){var n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function f(e,t){var n=new p(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function d(e,t){if(!(this instanceof d))return new d(e,t);var n;t||(n=e,Object.keys(n||{}).reduce((function(e,t){return e||s.hasOwnProperty(t)}),!1)&&(t=e,e={})),this.__opts__=r({},s,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=r({},u,e),this.__compiled__={},this.__tlds__=c,this.__tlds_replaced__=!1,this.re={},l(this)}d.prototype.add=function(e,t){return this.__schemas__[e]=t,l(this),this},d.prototype.set=function(e){return this.__opts__=r(this.__opts__,e),this},d.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,r,i,o,a,s,u;if(this.re.schema_test.test(e))for((s=this.re.schema_search).lastIndex=0;null!==(t=s.exec(e));)if(i=this.testSchemaAt(e,t[2],s.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+i;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(u=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||u=0&&null!==(r=e.match(this.re.email_fuzzy))&&(o=r.index+r[1].length,a=r.index+r[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=a)),this.__index__>=0},d.prototype.pretest=function(e){return this.re.pretest.test(e)},d.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},d.prototype.match=function(e){var t=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(f(this,t)),t=this.__last_index__);for(var r=t?e.slice(t):e;this.test(r);)n.push(f(this,t)),r=r.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},d.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,t,n){return e!==n[t-1]})).reverse(),l(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,l(this),this)},d.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},d.prototype.onCompile=function(){},e.exports=d},function(e,t,n){(function(e,r){var i;!function(o){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof r&&r;a.global!==a&&a.window!==a&&a.self;var s,u=2147483647,c=/^xn--/,l=/[^\x20-\x7E]/,p=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,h=String.fromCharCode;function m(e){throw new RangeError(f[e])}function g(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function y(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+g((e=e.replace(p,".")).split("."),t).join(".")}function v(e){for(var t,n,r=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(t+=h((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=h(e)})).join("")}function E(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function x(e,t,n){var r=0;for(e=n?d(e/700):e>>1,e+=d(e/t);e>455;r+=36)e=d(e/35);return d(r+36*e/(e+38))}function D(e){var t,n,r,i,o,a,s,c,l,p,f,h=[],g=e.length,y=0,v=128,E=72;for((n=e.lastIndexOf("-"))<0&&(n=0),r=0;r=128&&m("not-basic"),h.push(e.charCodeAt(r));for(i=n>0?n+1:0;i=g&&m("invalid-input"),((c=(f=e.charCodeAt(i++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:36)>=36||c>d((u-y)/a))&&m("overflow"),y+=c*a,!(c<(l=s<=E?1:s>=E+26?26:s-E));s+=36)a>d(u/(p=36-l))&&m("overflow"),a*=p;E=x(y-o,t=h.length+1,0==o),d(y/t)>u-v&&m("overflow"),v+=d(y/t),y%=t,h.splice(y++,0,v)}return b(h)}function C(e){var t,n,r,i,o,a,s,c,l,p,f,g,y,b,D,C=[];for(g=(e=v(e)).length,t=128,n=0,o=72,a=0;a=t&&fd((u-n)/(y=r+1))&&m("overflow"),n+=(s-t)*y,t=s,a=0;au&&m("overflow"),f==t){for(c=n,l=36;!(c<(p=l<=o?1:l>=o+26?26:l-o));l+=36)D=c-p,b=36-p,C.push(h(E(p+D%b,0))),c=d(D/b);C.push(h(E(c,0))),o=x(n,y,r==i),n=0,++r}++n,++t}return C.join("")}s={version:"1.4.1",ucs2:{decode:v,encode:b},decode:D,encode:C,toASCII:function(e){return y(e,(function(e){return l.test(e)?"xn--"+C(e):e}))},toUnicode:function(e){return y(e,(function(e){return c.test(e)?D(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return s}.call(t,n,t,e))||(e.exports=i)}()}).call(this,n(169)(e),n(41))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r=n(361);t.default=function(t,i,o){var a,s,u;n(15).on(i,"select",(function(n,i){if(!a){var c=i.parentNode,l=c.parentNode;a=document.createElement("div"),l.appendChild(a);var p=c.style.top,f="",d=t.cursorCoords().top;parseInt(p,10)window.innerHeight&&(y=window.innerHeight-40-m),a.style.top=y+"px",e.wrapper=a,a.addEventListener("DOMNodeRemoved",h=function(e){e.target===c&&(a.removeEventListener("DOMNodeRemoved",h),a.parentNode.removeChild(a),a=null,s=null,h=null)})}var v=n.description?r(n.description,{sanitize:!0}):"",b=n.type&&"undefined"!==n.type?''+function(e){return''+e+""}(n.type)+"":"";if(s.innerHTML='
    '+("

    "===v.slice(0,3)?"

    "+b+v.slice(3):b+v)+"

    ",n.isDeprecated){var E=n.deprecationReason?r(n.deprecationReason,{sanitize:!0}):"";u.innerHTML='Deprecated'+E,u.style.display="block"}else u.style.display="none";o&&o(s)}))}}).call(this,n(41))},function(e,t,n){const r=n(75),i=r.noopTest,o=r.edit,a=r.merge,s={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:i,table:i,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};s.def=o(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d{1,9}\.)/,s.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,s.item=o(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=o(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",s._comment=//,s.html=o(s.html,"i").replace("comment",s._comment).replace("tag",s._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),s.paragraph=o(s._paragraph).replace("hr",s.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",s._tag).getRegex(),s.blockquote=o(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=a({},s),s.gfm=a({},s.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),s.gfm.nptable=o(s.gfm.nptable).replace("hr",s.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",s._tag).getRegex(),s.gfm.table=o(s.gfm.table).replace("hr",s.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",s._tag).getRegex(),s.pedantic=a({},s.normal,{html:o("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",s._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:i,paragraph:o(s.normal._paragraph).replace("hr",s.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",s.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const u={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:i,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:i,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~"};u.em=o(u.em).replace(/punctuation/g,u._punctuation).getRegex(),u._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,u._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,u._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,u.autolink=o(u.autolink).replace("scheme",u._scheme).replace("email",u._email).getRegex(),u._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,u.tag=o(u.tag).replace("comment",s._comment).replace("attribute",u._attribute).getRegex(),u._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,u._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,u._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,u.link=o(u.link).replace("label",u._label).replace("href",u._href).replace("title",u._title).getRegex(),u.reflink=o(u.reflink).replace("label",u._label).getRegex(),u.normal=a({},u),u.pedantic=a({},u.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:o(/^!?\[(label)\]\((.*?)\)/).replace("label",u._label).getRegex(),reflink:o(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",u._label).getRegex()}),u.gfm=a({},u.normal,{escape:o(u.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){const e=t;do{this.seen[e]++,t=e+"-"+this.seen[e]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t}}},function(e,t,n){const r=n(127),i=n(87).defaults,o=n(182).inline,a=n(75),s=a.findClosingBracket,u=a.escape;e.exports=class e{constructor(e,t){if(this.options=t||i,this.links=e,this.rules=o.normal,this.options.renderer=this.options.renderer||new r,this.renderer=this.options.renderer,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=o.pedantic:this.options.gfm&&(this.options.breaks?this.rules=o.breaks:this.rules=o.gfm)}static get rules(){return o}static output(t,n,r){return new e(n,r).output(t)}output(t){let n,r,i,o,a,c,l="";for(;t;)if(a=this.rules.escape.exec(t))t=t.substring(a[0].length),l+=u(a[1]);else if(a=this.rules.tag.exec(t))!this.inLink&&/^/i.test(a[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(a[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(a[0])&&(this.inRawBlock=!1),t=t.substring(a[0].length),l+=this.renderer.html(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):u(a[0]):a[0]);else if(a=this.rules.link.exec(t)){const r=s(a[2],"()");if(r>-1){const e=(0===a[0].indexOf("!")?5:4)+a[1].length+r;a[2]=a[2].substring(0,r),a[0]=a[0].substring(0,e).trim(),a[3]=""}t=t.substring(a[0].length),this.inLink=!0,i=a[2],this.options.pedantic?(n=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i),n?(i=n[1],o=n[3]):o=""):o=a[3]?a[3].slice(1,-1):"",i=i.trim().replace(/^<([\s\S]*)>$/,"$1"),l+=this.outputLink(a,{href:e.escapes(i),title:e.escapes(o)}),this.inLink=!1}else if((a=this.rules.reflink.exec(t))||(a=this.rules.nolink.exec(t))){if(t=t.substring(a[0].length),n=(a[2]||a[1]).replace(/\s+/g," "),n=this.links[n.toLowerCase()],!n||!n.href){l+=a[0].charAt(0),t=a[0].substring(1)+t;continue}this.inLink=!0,l+=this.outputLink(a,n),this.inLink=!1}else if(a=this.rules.strong.exec(t))t=t.substring(a[0].length),l+=this.renderer.strong(this.output(a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.em.exec(t))t=t.substring(a[0].length),l+=this.renderer.em(this.output(a[6]||a[5]||a[4]||a[3]||a[2]||a[1]));else if(a=this.rules.code.exec(t))t=t.substring(a[0].length),l+=this.renderer.codespan(u(a[2].trim(),!0));else if(a=this.rules.br.exec(t))t=t.substring(a[0].length),l+=this.renderer.br();else if(a=this.rules.del.exec(t))t=t.substring(a[0].length),l+=this.renderer.del(this.output(a[1]));else if(a=this.rules.autolink.exec(t))t=t.substring(a[0].length),"@"===a[2]?(r=u(this.mangle(a[1])),i="mailto:"+r):(r=u(a[1]),i=r),l+=this.renderer.link(i,null,r);else if(this.inLink||!(a=this.rules.url.exec(t))){if(a=this.rules.text.exec(t))t=t.substring(a[0].length),this.inRawBlock?l+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(a[0]):u(a[0]):a[0]):l+=this.renderer.text(u(this.smartypants(a[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else{if("@"===a[2])r=u(a[0]),i="mailto:"+r;else{do{c=a[0],a[0]=this.rules._backpedal.exec(a[0])[0]}while(c!==a[0]);r=u(a[0]),i="www."===a[1]?"http://"+r:r}t=t.substring(a[0].length),l+=this.renderer.link(i,null,r)}return l}static escapes(t){return t?t.replace(e.rules._escapes,"$1"):t}outputLink(e,t){const n=t.href,r=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,u(e[1]))}smartypants(e){return this.options.smartypants?e.replace(/---/g,"\u2014").replace(/--/g,"\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1\u2018").replace(/'/g,"\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1\u201c").replace(/"/g,"\u201d").replace(/\.{3}/g,"\u2026"):e}mangle(e){if(!this.options.mangle)return e;const t=e.length;let n,r="",i=0;for(;i.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}}},function(e,t){e.exports=class{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}},function(e,t,n){!function(e){"use strict";var t={},n=/[^\s\u00a0]/,r=e.Pos;function i(e){var t=e.search(n);return-1==t?0:t}function o(e,t){var n=e.getMode();return!1!==n.useInnerComments&&n.innerMode?e.getModeAt(t):n}e.commands.toggleComment=function(e){e.toggleComment()},e.defineExtension("toggleComment",(function(e){e||(e=t);for(var n=1/0,i=this.listSelections(),o=null,a=i.length-1;a>=0;a--){var s=i[a].from(),u=i[a].to();s.line>=n||(u.line>=n&&(u=r(n,0)),n=s.line,null==o?this.uncomment(s,u,e)?o="un":(this.lineComment(s,u,e),o="line"):"un"==o?this.uncomment(s,u,e):this.lineComment(s,u,e))}})),e.defineExtension("lineComment",(function(e,a,s){s||(s=t);var u=this,c=o(u,e),l=u.getLine(e.line);if(null!=l&&(p=e,f=l,!/\bstring\b/.test(u.getTokenTypeAt(r(p.line,0)))||/^[\'\"\`]/.test(f))){var p,f,d=s.lineComment||c.lineComment;if(d){var h=Math.min(0!=a.ch||a.line==e.line?a.line+1:a.line,u.lastLine()+1),m=null==s.padding?" ":s.padding,g=s.commentBlankLines||e.line==a.line;u.operation((function(){if(s.indent){for(var t=null,o=e.line;oa.length)&&(t=a)}for(o=e.line;op||s.operation((function(){if(0!=a.fullLines){var t=n.test(s.getLine(p));s.replaceRange(f+l,r(p)),s.replaceRange(c+f,r(e.line,0));var o=a.blockCommentLead||u.blockCommentLead;if(null!=o)for(var d=e.line+1;d<=p;++d)(d!=p||t)&&s.replaceRange(o+f,r(d,0))}else s.replaceRange(l,i),s.replaceRange(c,e)}))}}else(a.lineComment||u.lineComment)&&0!=a.fullLines&&s.lineComment(e,i,a)})),e.defineExtension("uncomment",(function(e,i,a){a||(a=t);var s,u=this,c=o(u,e),l=Math.min(0!=i.ch||i.line==e.line?i.line:i.line-1,u.lastLine()),p=Math.min(e.line,l),f=a.lineComment||c.lineComment,d=[],h=null==a.padding?" ":a.padding;e:if(f){for(var m=p;m<=l;++m){var g=u.getLine(m),y=g.indexOf(f);if(y>-1&&!/comment/.test(u.getTokenTypeAt(r(m,y+1)))&&(y=-1),-1==y&&n.test(g))break e;if(y>-1&&n.test(g.slice(0,y)))break e;d.push(g)}if(u.operation((function(){for(var e=p;e<=l;++e){var t=d[e-p],n=t.indexOf(f),i=n+f.length;n<0||(t.slice(i,i+h.length)==h&&(i+=h.length),s=!0,u.replaceRange("",r(e,n),r(e,i)))}})),s)return!0}var v=a.blockCommentStart||c.blockCommentStart,b=a.blockCommentEnd||c.blockCommentEnd;if(!v||!b)return!1;var E=a.blockCommentLead||c.blockCommentLead,x=u.getLine(p),D=x.indexOf(v);if(-1==D)return!1;var C=l==p?x:u.getLine(l),w=C.indexOf(b,l==p?D+v.length:0),S=r(p,D+1),k=r(l,w+1);if(-1==w||!/comment/.test(u.getTokenTypeAt(S))||!/comment/.test(u.getTokenTypeAt(k))||u.getRange(S,k,"\n").indexOf(b)>-1)return!1;var A=x.lastIndexOf(v,e.ch),T=-1==A?-1:x.slice(0,e.ch).indexOf(b,A+v.length);if(-1!=A&&-1!=T&&T+b.length!=e.ch)return!1;T=C.indexOf(b,i.ch);var _=C.slice(i.ch).lastIndexOf(v,T-i.ch);return A=-1==T||-1==_?-1:i.ch+_,(-1==T||-1==A||A==i.ch)&&(u.operation((function(){u.replaceRange("",r(l,w-(h&&C.slice(w-h.length,w)==h?h.length:0)),r(l,w+b.length));var e=D+v.length;if(h&&x.slice(e,e+h.length)==h&&(e+=h.length),u.replaceRange("",r(p,D),r(p,e)),E)for(var t=p+1;t<=l;++t){var i=u.getLine(t),o=i.indexOf(E);if(-1!=o&&!n.test(i.slice(0,o))){var a=o+E.length;h&&i.slice(a,a+h.length)==h&&(a+=h.length),u.replaceRange("",r(t,o),r(t,a))}}})),!0)}))}(n(15))},function(e,t,n){!function(e){"use strict";function t(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function n(e){return e.state.search||(e.state.search=new t)}function r(e){return"string"==typeof e&&e==e.toLowerCase()}function i(e,t,n){return e.getSearchCursor(t,n,{caseFold:r(t),multiline:!0})}function o(e,t,n,r,i){e.openDialog?e.openDialog(t,i,{value:r,selectValueOnOpen:!0}):i(prompt(n,r))}function a(e){return e.replace(/\\([nrt\\])/g,(function(e,t){return"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\"==t?"\\":e}))}function s(e){var t=e.match(/^\/(.*)\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],-1==t[2].indexOf("i")?"":"i")}catch(n){}else e=a(e);return("string"==typeof e?""==e:e.test(""))&&(e=/x^/),e}function u(e,t,n){t.queryText=n,t.query=s(n),e.removeOverlay(t.overlay,r(t.query)),t.overlay=function(e,t){return"string"==typeof e?e=new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),t?"gi":"g"):e.global||(e=new RegExp(e.source,e.ignoreCase?"gi":"g")),{token:function(t){e.lastIndex=t.pos;var n=e.exec(t.string);if(n&&n.index==t.pos)return t.pos+=n[0].length||1,"searching";n?t.pos=n.index:t.skipToEnd()}}}(t.query,r(t.query)),e.addOverlay(t.overlay),e.showMatchesOnScrollbar&&(t.annotate&&(t.annotate.clear(),t.annotate=null),t.annotate=e.showMatchesOnScrollbar(t.query,r(t.query)))}function c(t,r,i,a){var s=n(t);if(s.query)return l(t,r);var c=t.getSelection()||s.lastQuery;if(c instanceof RegExp&&"x^"==c.source&&(c=null),i&&t.openDialog){var d=null,h=function(n,r){e.e_stop(r),n&&(n!=s.queryText&&(u(t,s,n),s.posFrom=s.posTo=t.getCursor()),d&&(d.style.opacity=1),l(t,r.shiftKey,(function(e,n){var r;n.line<3&&document.querySelector&&(r=t.display.wrapper.querySelector(".CodeMirror-dialog"))&&r.getBoundingClientRect().bottom-4>t.cursorCoords(n,"window").top&&((d=r).style.opacity=.4)})))};!function(e,t,n,r,i){e.openDialog(t,r,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){p(e)},onKeyDown:i})}(t,f(t),c,h,(function(r,i){var o=e.keyName(r),a=t.getOption("extraKeys"),s=a&&a[o]||e.keyMap[t.getOption("keyMap")][o];"findNext"==s||"findPrev"==s||"findPersistentNext"==s||"findPersistentPrev"==s?(e.e_stop(r),u(t,n(t),i),t.execCommand(s)):"find"!=s&&"findPersistent"!=s||(e.e_stop(r),h(i,r))})),a&&c&&(u(t,s,c),l(t,r))}else o(t,f(t),"Search for:",c,(function(e){e&&!s.query&&t.operation((function(){u(t,s,e),s.posFrom=s.posTo=t.getCursor(),l(t,r)}))}))}function l(t,r,o){t.operation((function(){var a=n(t),s=i(t,a.query,r?a.posFrom:a.posTo);(s.find(r)||(s=i(t,a.query,r?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0))).find(r))&&(t.setSelection(s.from(),s.to()),t.scrollIntoView({from:s.from(),to:s.to()},20),a.posFrom=s.from(),a.posTo=s.to(),o&&o(s.from(),s.to()))}))}function p(e){e.operation((function(){var t=n(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))}))}function f(e){return''+e.phrase("Search:")+' '+e.phrase("(Use /re/ syntax for regexp search)")+""}function d(e,t,n){e.operation((function(){for(var r=i(e,t);r.findNext();)if("string"!=typeof t){var o=e.getRange(r.from(),r.to()).match(t);r.replace(n.replace(/\$(\d)/g,(function(e,t){return o[t]})))}else r.replace(n)}))}function h(e,t){if(!e.getOption("readOnly")){var r=e.getSelection()||n(e).lastQuery,u=''+(t?e.phrase("Replace all:"):e.phrase("Replace:"))+"";o(e,u+function(e){return' '+e.phrase("(Use /re/ syntax for regexp search)")+""}(e),u,r,(function(n){n&&(n=s(n),o(e,function(e){return''+e.phrase("With:")+' '}(e),e.phrase("Replace with:"),"",(function(r){if(r=a(r),t)d(e,n,r);else{p(e);var o=i(e,n,e.getCursor("from")),s=function t(){var a,s=o.from();!(a=o.findNext())&&(o=i(e,n),!(a=o.findNext())||s&&o.from().line==s.line&&o.from().ch==s.ch)||(e.setSelection(o.from(),o.to()),e.scrollIntoView({from:o.from(),to:o.to()}),function(e,t,n,r){e.openConfirm?e.openConfirm(t,r):confirm(n)&&r[0]()}(e,function(e){return''+e.phrase("Replace?")+" "}(e),e.phrase("Replace?"),[function(){u(a)},t,function(){d(e,n,r)}]))},u=function(e){o.replace("string"==typeof n?r:r.replace(/\$(\d)/g,(function(t,n){return e[n]}))),s()};s()}})))}))}}e.commands.find=function(e){p(e),c(e)},e.commands.findPersistent=function(e){p(e),c(e,!1,!0)},e.commands.findPersistentNext=function(e){c(e,!1,!0,!0)},e.commands.findPersistentPrev=function(e){c(e,!0,!0,!0)},e.commands.findNext=c,e.commands.findPrev=function(e){c(e,!0)},e.commands.clearSearch=p,e.commands.replace=h,e.commands.replaceAll=function(e){h(e,!0)}}(n(15),n(70),n(71))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const n={schema:e,type:null,parentType:null,inputType:null,directiveDef:null,fieldDef:null,argDef:null,argDefs:null,objectFieldDefs:null};return(0,a.default)(t,t=>{switch(t.kind){case"Query":case"ShortQuery":n.type=e.getQueryType();break;case"Mutation":n.type=e.getMutationType();break;case"Subscription":n.type=e.getSubscriptionType();break;case"InlineFragment":case"FragmentDefinition":t.type&&(n.type=e.getType(t.type));break;case"Field":case"AliasedField":n.fieldDef=n.type&&t.name?s(e,n.parentType,t.name):null,n.type=n.fieldDef&&n.fieldDef.type;break;case"SelectionSet":n.parentType=(0,i.getNamedType)(n.type);break;case"Directive":n.directiveDef=t.name&&e.getDirective(t.name);break;case"Arguments":const r="Field"===t.prevState.kind?n.fieldDef:"Directive"===t.prevState.kind?n.directiveDef:"AliasedField"===t.prevState.kind?t.prevState.name&&s(e,n.parentType,t.prevState.name):null;n.argDefs=r&&r.args;break;case"Argument":if(n.argDef=null,n.argDefs)for(let e=0;ee.value===t.name):null;break;case"ListValue":const a=(0,i.getNullableType)(n.inputType);n.inputType=a instanceof i.GraphQLList?a.ofType:null;break;case"ObjectValue":const u=(0,i.getNamedType)(n.inputType);n.objectFieldDefs=u instanceof i.GraphQLInputObjectType?u.getFields():null;break;case"ObjectField":const c=t.name&&n.objectFieldDefs?n.objectFieldDefs[t.name]:null;n.inputType=c&&c.type;break;case"NamedType":n.type=e.getType(t.name)}}),n};var r,i=n(18),o=n(12),a=(r=n(189))&&r.__esModule?r:{default:r};function s(e,t,n){return n===o.SchemaMetaFieldDef.name&&e.getQueryType()===t?o.SchemaMetaFieldDef:n===o.TypeMetaFieldDef.name&&e.getQueryType()===t?o.TypeMetaFieldDef:n===o.TypeNameMetaFieldDef.name&&(0,i.isCompositeType)(t)?o.TypeNameMetaFieldDef:t.getFields?t.getFields()[n]:void 0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const n=[];let r=e;for(;r&&r.kind;)n.push(r),r=r.prevState;for(let i=n.length-1;i>=0;i--)t(n[i])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFieldReference=function(e){return{kind:"Field",schema:e.schema,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getDirectiveReference=function(e){return{kind:"Directive",schema:e.schema,directive:e.directiveDef}},t.getArgumentReference=function(e){return e.directiveDef?{kind:"Argument",schema:e.schema,argument:e.argDef,directive:e.directiveDef}:{kind:"Argument",schema:e.schema,argument:e.argDef,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getEnumValueReference=function(e){return{kind:"EnumValue",value:e.enumValue,type:(0,r.getNamedType)(e.inputType)}},t.getTypeReference=function(e,t){return{kind:"Type",schema:e.schema,type:t||e.type}};var r=n(18);function i(e){return"__"===e.name.slice(0,2)}},function(e,t,n){"use strict";var r,i=(r=n(15))&&r.__esModule?r:{default:r},o=n(7);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode("graphql",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatWhile(o.isIgnored),lexRules:o.LexRules,parseRules:o.ParseRules,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\s*[})\]]/,fold:"brace",lineComment:"#",closeBrackets:{pairs:'()[]{}""',explode:"()[]{}"}}})},function(e,t,n){"use strict";var r=n(376),i={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,o,a,s,u,c,l=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),s=document.createRange(),u=document.getSelection(),(c=document.createElement("span")).textContent=e,c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var o=i[t.format]||i.default;window.clipboardData.setData(o,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),s.selectNodeContents(c),u.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");l=!0}catch(p){n&&console.error("unable to copy using execCommand: ",p),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),l=!0}catch(p){n&&console.error("unable to copy using clipboardData: ",p),n&&console.error("falling back to prompt"),o=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(o,e)}}finally{u&&("function"==typeof u.removeRange?u.removeRange(s):u.removeAllRanges()),c&&document.body.removeChild(c),a()}return l}},function(e,t,n){"use strict";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var i,o=n(3),a=n(9),s=n(55);t.Button=function(e){var n=e.purple,r=e.hideArrow,i=e.children,a=e.onClick;return o.createElement(t.ButtonBox,{purple:n,onClick:a},i||"Learn more",!r&&o.createElement(s.FullArrowRightIcon,{color:"red",width:14,height:11}))},t.ButtonBox=a.styled("div")(i||(i=r(["\n display: flex;\n align-items: center;\n\n padding: 6px 16px;\n border-radius: 2px;\n background: ",";\n color: ",";\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\n text-transform: uppercase;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: 1px;\n white-space: nowrap;\n\n transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;\n cursor: pointer;\n &:hover {\n background: ",";\n transform: ",";\n svg {\n animation: move 1s ease infinite;\n }\n }\n\n svg {\n margin-left: 10px;\n fill: ",";\n }\n\n @keyframes move {\n 0% {\n transform: translate3D(0, 0, 0);\n }\n\n 50% {\n transform: translate3D(3px, 0, 0);\n }\n\n 100% {\n transform: translate3D(0, 0, 0);\n }\n }\n"],["\n display: flex;\n align-items: center;\n\n padding: 6px 16px;\n border-radius: 2px;\n background: ",";\n color: ",";\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\n text-transform: uppercase;\n font-weight: 600;\n font-size: 14px;\n letter-spacing: 1px;\n white-space: nowrap;\n\n transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;\n cursor: pointer;\n &:hover {\n background: ",";\n transform: ",";\n svg {\n animation: move 1s ease infinite;\n }\n }\n\n svg {\n margin-left: 10px;\n fill: ",";\n }\n\n @keyframes move {\n 0% {\n transform: translate3D(0, 0, 0);\n }\n\n 50% {\n transform: translate3D(3px, 0, 0);\n }\n\n 100% {\n transform: translate3D(0, 0, 0);\n }\n }\n"])),(function(e){return e.purple?"rgb(218, 27, 127)":"#2a7ed2"}),(function(e){return e.theme.colours.white}),(function(e){return e.purple?"rgb(164, 3, 111)":"#3f8ad7"}),(function(e){return e.purple?"translate3D(0, 0, 0)":"translate3D(0, -1px, 0)"}),(function(e){return e.theme.colours.white}))},function(e,t,n){"use strict";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var i,o=n(9);t.default=o.styled.div(i||(i=r(["\n width: 20px;\n height: 20px;\n"],["\n width: 20px;\n height: 20px;\n"])))},function(e,t,n){"use strict";var r=s(n(15)),i=n(18),o=s(n(189)),a=s(n(389));function s(e){return e&&e.__esModule?e:{default:e}}r.default.registerHelper("hint","graphql-variables",(e,t)=>{const n=e.getCursor(),s=e.getTokenAt(n),u=function(e,t,n){const r="Invalid"===t.state.kind?t.state.prevState:t.state,s=r.kind,u=r.step;if("Document"===s&&0===u)return(0,a.default)(e,t,[{text:"{"}]);const c=n.variableToType;if(!c)return;const l=function(e,t){const n={type:null,fields:null};return(0,o.default)(t,t=>{if("Variable"===t.kind)n.type=e[t.name];else if("ListValue"===t.kind){const e=(0,i.getNullableType)(n.type);n.type=e instanceof i.GraphQLList?e.ofType:null}else if("ObjectValue"===t.kind){const e=(0,i.getNamedType)(n.type);n.fields=e instanceof i.GraphQLInputObjectType?e.getFields():null}else if("ObjectField"===t.kind){const e=t.name&&n.fields?n.fields[t.name]:null;n.type=e&&e.type}}),n}(c,t.state);if("Document"===s||"Variable"===s&&0===u){const n=Object.keys(c);return(0,a.default)(e,t,n.map(e=>({text:'"'.concat(e,'": '),type:c[e]})))}if(("ObjectValue"===s||"ObjectField"===s&&0===u)&&l.fields){const n=Object.keys(l.fields).map(e=>l.fields[e]);return(0,a.default)(e,t,n.map(e=>({text:'"'.concat(e.name,'": '),type:e.type,description:e.description})))}if("StringValue"===s||"NumberValue"===s||"BooleanValue"===s||"NullValue"===s||"ListValue"===s&&1===u||"ObjectField"===s&&2===u||"Variable"===s&&2===u){const n=(0,i.getNamedType)(l.type);if(n instanceof i.GraphQLInputObjectType)return(0,a.default)(e,t,[{text:"{"}]);if(n instanceof i.GraphQLEnumType){const r=n.getValues(),i=Object.keys(r).map(e=>r[e]);return(0,a.default)(e,t,i.map(e=>({text:'"'.concat(e.name,'"'),type:n,description:e.description})))}if(n===i.GraphQLBoolean)return(0,a.default)(e,t,[{text:"true",type:i.GraphQLBoolean,description:"Not false."},{text:"false",type:i.GraphQLBoolean,description:"Not true."}])}}(n,s,t);return u&&u.list&&u.list.length>0&&(u.from=r.default.Pos(u.from.line,u.from.column),u.to=r.default.Pos(u.to.line,u.to.column),r.default.signal(e,"hasCompletion",e,u,s)),u})},function(e,t,n){"use strict";var r=a(n(15)),i=n(18),o=a(n(390));function a(e){return e&&e.__esModule?e:{default:e}}function s(e,t,n){return{message:n,severity:"error",type:"validation",from:e.posFromIndex(t.start),to:e.posFromIndex(t.end)}}function u(e,t){return Array.prototype.concat.apply([],e.map(t))}r.default.registerHelper("lint","graphql-variables",(e,t,n)=>{if(!e)return[];let r;try{r=(0,o.default)(e)}catch(c){if(c.stack)throw c;return[s(n,c,c.message)]}const a=t.variableToType;return a?function(e,t,n){const r=[];return n.members.forEach(n=>{const o=n.key.value,a=t[o];a?function e(t,n){if(t instanceof i.GraphQLNonNull)return"Null"===n.kind?[[n,'Type "'.concat(t,'" is non-nullable and cannot be null.')]]:e(t.ofType,n);if("Null"===n.kind)return[];if(t instanceof i.GraphQLList){const r=t.ofType;return"Array"===n.kind?u(n.values,t=>e(r,t)):e(r,n)}if(t instanceof i.GraphQLInputObjectType){if("Object"!==n.kind)return[[n,'Type "'.concat(t,'" must be an Object.')]];const r=Object.create(null),o=u(n.members,n=>{const i=n.key.value;r[i]=!0;const o=t.getFields()[i];if(!o)return[[n.key,'Type "'.concat(t,'" does not have a field "').concat(i,'".')]];const a=o?o.type:void 0;return e(a,n.value)});return Object.keys(t.getFields()).forEach(e=>{if(!r[e]){t.getFields()[e].type instanceof i.GraphQLNonNull&&o.push([n,'Object of type "'.concat(t,'" is missing required field "').concat(e,'".')])}}),o}if("Boolean"===t.name&&"Boolean"!==n.kind||"String"===t.name&&"String"!==n.kind||"ID"===t.name&&"Number"!==n.kind&&"String"!==n.kind||"Float"===t.name&&"Number"!==n.kind||"Int"===t.name&&("Number"!==n.kind||(0|n.value)!==n.value))return[[n,'Expected value of type "'.concat(t,'".')]];if((t instanceof i.GraphQLEnumType||t instanceof i.GraphQLScalarType)&&("String"!==n.kind&&"Number"!==n.kind&&"Boolean"!==n.kind&&"Null"!==n.kind||(null===(r=t.parseValue(n.value))||void 0===r||r!==r)))return[[n,'Expected value of type "'.concat(t,'".')]];var r;return[]}(a,n.value).forEach(([t,n])=>{r.push(s(e,t,n))}):r.push(s(e,n.key,'Variable "$'.concat(o,'" does not appear in any GraphQL query.')))}),r}(n,a,r):[]})},function(e,t,n){"use strict";var r,i=(r=n(15))&&r.__esModule?r:{default:r},o=n(7);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode("graphql-variables",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatSpace(),lexRules:s,parseRules:u,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\s*[}\]]/,fold:"brace",closeBrackets:{pairs:'[]{}""',explode:"[]{}"}}});const s={Punctuation:/^\[|]|\{|\}|:|,/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/,Keyword:/^true|false|null/},u={Document:[(0,o.p)("{"),(0,o.list)("Variable",(0,o.opt)((0,o.p)(","))),(0,o.p)("}")],Variable:[c("variable"),(0,o.p)(":"),"Value"],Value(e){switch(e.kind){case"Number":return"NumberValue";case"String":return"StringValue";case"Punctuation":switch(e.value){case"[":return"ListValue";case"{":return"ObjectValue"}return null;case"Keyword":switch(e.value){case"true":case"false":return"BooleanValue";case"null":return"NullValue"}return null}},NumberValue:[(0,o.t)("Number","number")],StringValue:[(0,o.t)("String","string")],BooleanValue:[(0,o.t)("Keyword","builtin")],NullValue:[(0,o.t)("Keyword","keyword")],ListValue:[(0,o.p)("["),(0,o.list)("Value",(0,o.opt)((0,o.p)(","))),(0,o.p)("]")],ObjectValue:[(0,o.p)("{"),(0,o.list)("ObjectField",(0,o.opt)((0,o.p)(","))),(0,o.p)("}")],ObjectField:[c("attribute"),(0,o.p)(":"),"Value"]};function c(e){return{style:e,match:e=>"String"===e.kind,update(e,t){e.name=t.value.slice(1,-1)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLeft=function(e){let t=0,n=e;for(;n.offsetParent;)t+=n.offsetLeft,n=n.offsetParent;return t},t.getTop=function(e){let t=0,n=e;for(;n.offsetParent;)t+=n.offsetTop,n=n.offsetParent;return t}},function(e,t,n){"use strict";var r=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),i=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var o=n(3),a=n(9),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this.props,t=e.label,n=e.activeColor,r=e.active,i=e.onClick,a=e.tabWidth;return o.createElement(c,{onClick:i,activeColor:n,active:r,tabWidth:a},t)},t}(o.PureComponent);t.default=s;var u,c=a.styled("div")(u||(u=i(["\n z-index: ",";\n padding: 8px 8px 8px 8px;\n border-radius: 2px 2px 0px 0px;\n color: ",";\n background: ",";\n box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\n text-transform: uppercase;\n text-align: center;\n font-weight: 600;\n font-size: 12px;\n line-height: 12px;\n letter-spacing: 0.45px;\n cursor: pointer;\n transform: rotate(-90deg);\n transform-origin: bottom left;\n margin-top: 65px;\n width: ",";\n"],["\n z-index: ",";\n padding: 8px 8px 8px 8px;\n border-radius: 2px 2px 0px 0px;\n color: ",";\n background: ",";\n box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\n text-transform: uppercase;\n text-align: center;\n font-weight: 600;\n font-size: 12px;\n line-height: 12px;\n letter-spacing: 0.45px;\n cursor: pointer;\n transform: rotate(-90deg);\n transform-origin: bottom left;\n margin-top: 65px;\n width: ",";\n"])),(function(e){return e.active?10:2}),(function(e){return"dark"===e.theme.mode?e.theme.colours.white:e.theme.colours[e.active?"white":"darkBlue"]}),(function(e){return e.active&&e.activeColor?e.theme.colours[e.activeColor]:"dark"===e.theme.mode?"#3D5866":"#DBDEE0"}),(function(e){return e.tabWidth||"100%"}))},function(e,t){function n(e){if(e&&"object"===typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"===typeof e)return a[e];var n,o=String(e);return(n=r[o.toLowerCase()])?n:(n=i[o.toLowerCase()])||(1===o.length?o.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&"object"===typeof e){var n=e.which||e.keyCode||e.charCode;if(null===n||void 0===n)return!1;if("string"===typeof t){var o;if(o=r[t.toLowerCase()])return o===n;if(o=i[t.toLowerCase()])return o===n}else if("number"===typeof t)return t===n;return!1}};var r=(t=e.exports=n).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=t.aliases={windows:91,"\u21e7":16,"\u2325":18,"\u2303":17,"\u2318":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(o=97;o<123;o++)r[String.fromCharCode(o)]=o-32;for(var o=48;o<58;o++)r[o-48]=o;for(o=1;o<13;o++)r["f"+o]=o+111;for(o=0;o<10;o++)r["numpad "+o]=o+96;var a=t.names=t.title={};for(o in r)a[r[o]]=o;for(var s in i)r[s]=i[s]},function(e,t,n){"use strict";var r=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var i,o=n(9);t.ErrorContainer=o.styled.div(i||(i=r(["\n font-weight: bold;\n left: 0;\n letter-spacing: 1px;\n opacity: 0.5;\n position: absolute;\n right: 0;\n text-align: center;\n text-transform: uppercase;\n top: 50%;\n transform: translate(0, -50%);\n"],["\n font-weight: bold;\n left: 0;\n letter-spacing: 1px;\n opacity: 0.5;\n position: absolute;\n right: 0;\n text-align: center;\n text-transform: uppercase;\n top: 50%;\n transform: translate(0, -50%);\n"])))},function(e,t,n){"use strict";var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",o=new RegExp("^(?:"+r+"|"+i+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)"),a=new RegExp("^(?:"+r+"|"+i+")");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){"use strict";function r(e,t){var n,r,i,o,a,s=[],u=t.length;for(n=0;n=0;n--)95!==(r=t[n]).marker&&42!==r.marker||-1!==r.end&&(i=t[r.end],s=n>0&&t[n-1].end===r.end+1&&t[n-1].token===r.token-1&&t[r.end+1].token===i.token+1&&t[n-1].marker===r.marker,a=String.fromCharCode(r.marker),(o=e.tokens[r.token]).type=s?"strong_open":"em_open",o.tag=s?"strong":"em",o.nesting=1,o.markup=s?a+a:a,o.content="",(o=e.tokens[i.token]).type=s?"strong_close":"em_close",o.tag=s?"strong":"em",o.nesting=-1,o.markup=s?a+a:a,o.content="",s&&(e.tokens[t[n-1].token].content="",e.tokens[t[r.end+1].token].content="",n--))}e.exports.tokenize=function(e,t){var n,r,i=e.pos,o=e.src.charCodeAt(i);if(t)return!1;if(95!==o&&42!==o)return!1;for(r=e.scanDelims(e.pos,42===o),n=0;n=0)&&o(e,!n)}e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=u,t.setElement=function(e){var t=e;if("string"===typeof t&&a.canUseDOM){var n=document.querySelectorAll(t);u(n,t),t="length"in n?n[0]:n}return s=t||s},t.validateElement=c,t.hide=function(e){c(e)&&(e||s).setAttribute("aria-hidden","true")},t.show=function(e){c(e)&&(e||s).removeAttribute("aria-hidden")},t.documentNotReadyOrSSRTesting=function(){s=null},t.resetForTesting=function(){s=null};var r,i=n(470),o=(r=i)&&r.__esModule?r:{default:r},a=n(137);var s=null;function u(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function c(e){return!(!e&&!s)||((0,o.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=new function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.register=function(e){-1===t.openInstances.indexOf(e)&&(t.openInstances.push(e),t.emit("register"))},this.deregister=function(e){var n=t.openInstances.indexOf(e);-1!==n&&(t.openInstances.splice(n,1),t.emit("deregister"))},this.subscribe=function(e){t.subscribers.push(e)},this.emit=function(e){t.subscribers.forEach((function(n){return n(e,t.openInstances.slice())}))},this.openInstances=[],this.subscribers=[]};t.default=r,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(27),i=n(36);t.getHistory=r.createSelector([i.getSelectedWorkspace],(function(e){return e.history}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWorkspaceId=function(e){return""+(e.configPath?e.configPath+"~":"")+(e.workspaceName?e.workspaceName+"~":"")+e.endpoint}},function(e,t){t.__esModule=!0;t.ATTRIBUTE_NAMES={BODY:"bodyAttributes",HTML:"htmlAttributes",TITLE:"titleAttributes"};var n=t.TAG_NAMES={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},r=(t.VALID_TAG_NAMES=Object.keys(n).map((function(e){return n[e]})),t.TAG_PROPERTIES={CHARSET:"charset",CSS_TEXT:"cssText",HREF:"href",HTTPEQUIV:"http-equiv",INNER_HTML:"innerHTML",ITEM_PROP:"itemprop",NAME:"name",PROPERTY:"property",REL:"rel",SRC:"src"},t.REACT_TAG_MAP={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"});t.HELMET_PROPS={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate"},t.HTML_TAG_MAP=Object.keys(r).reduce((function(e,t){return e[r[t]]=t,e}),{}),t.SELF_CLOSING_TAGS=[n.NOSCRIPT,n.SCRIPT,n.STYLE],t.HELMET_ATTRIBUTE="data-react-helmet"},function(e,t,n){"use strict";var r=n(78);e.exports=new r({include:[n(218)]})},function(e,t,n){"use strict";var r=n(78);e.exports=new r({include:[n(139)],implicit:[n(497),n(498),n(499),n(500)]})},function(e,t,n){n(529),e.exports=self.fetch.bind(self)},function(e,t,n){"use strict";n.r(t),n.d(t,"getDefinitionState",(function(){return S})),n.d(t,"getFieldDef",(function(){return k})),n.d(t,"forEachState",(function(){return A})),n.d(t,"objectValues",(function(){return T})),n.d(t,"hintList",(function(){return _})),n.d(t,"getAutocompleteSuggestions",(function(){return he})),n.d(t,"getFragmentDefinitions",(function(){return me})),n.d(t,"getTokenAtPosition",(function(){return ge})),n.d(t,"runOnlineParser",(function(){return ye})),n.d(t,"canUseDirective",(function(){return ve})),n.d(t,"getTypeInfo",(function(){return be})),n.d(t,"LANGUAGE",(function(){return Me})),n.d(t,"getDefinitionQueryResultForNamedType",(function(){return Pe})),n.d(t,"getDefinitionQueryResultForFragmentSpread",(function(){return Re})),n.d(t,"getDefinitionQueryResultForDefinitionNode",(function(){return Be})),n.d(t,"SEVERITY",(function(){return He})),n.d(t,"DIAGNOSTIC_SEVERITY",(function(){return We})),n.d(t,"getDiagnostics",(function(){return Ge})),n.d(t,"validateQuery",(function(){return Ke})),n.d(t,"getRange",(function(){return Qe})),n.d(t,"getOutline",(function(){return Ze})),n.d(t,"getHoverInformation",(function(){return tt})),n.d(t,"GraphQLLanguageService",(function(){return Ft}));var r,i,o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C=n(0),w=n(12);function S(e){var t;return A(e,(function(e){switch(e.kind){case"Query":case"ShortQuery":case"Mutation":case"Subscription":case"FragmentDefinition":t=e}})),t}function k(e,t,n){return n===w.SchemaMetaFieldDef.name&&e.getQueryType()===t?w.SchemaMetaFieldDef:n===w.TypeMetaFieldDef.name&&e.getQueryType()===t?w.TypeMetaFieldDef:n===w.TypeNameMetaFieldDef.name&&Object(C.D)(t)?w.TypeNameMetaFieldDef:"getFields"in t?t.getFields()[n]:null}function A(e,t){for(var n=[],r=e;r&&r.kind;)n.push(r),r=r.prevState;for(var i=n.length-1;i>=0;i--)t(n[i])}function T(e){for(var t=Object.keys(e),n=t.length,r=new Array(n),i=0;i1&&r>1&&e[n-1]===t[r-2]&&e[n-2]===t[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+s))}return i[o][a]}(t,e);return e.length>t.length&&(n-=e.length-t.length-1,n+=0===e.indexOf(t)?0:.5),n}!function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.number(t.line)&&ue.number(t.character)}}(r||(r={})),function(e){e.create=function(e,t,n,i){if(ue.number(e)&&ue.number(t)&&ue.number(n)&&ue.number(i))return{start:r.create(e,t),end:r.create(n,i)};if(r.is(e)&&r.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&r.is(t.start)&&r.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(o||(o={})),function(e){e.create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.targetRange)&&ue.string(t.targetUri)&&(i.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(a||(a={})),function(e){e.create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function(e){var t=e;return ue.number(t.red)&&ue.number(t.green)&&ue.number(t.blue)&&ue.number(t.alpha)}}(s||(s={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&s.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||y.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,y.is))}}(c||(c={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(l||(l={})),function(e){e.create=function(e,t,n,r,i){var o={startLine:e,endLine:t};return ue.defined(n)&&(o.startCharacter=n),ue.defined(r)&&(o.endCharacter=r),ue.defined(i)&&(o.kind=i),o},e.is=function(e){var t=e;return ue.number(t.startLine)&&ue.number(t.startLine)&&(ue.undefined(t.startCharacter)||ue.number(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.number(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(p||(p={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.location)&&ue.string(t.message)}}(f||(f={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(d||(d={})),function(e){e.Unnecessary=1,e.Deprecated=2}(h||(h={})),function(e){e.create=function(e,t,n,r,i,o){var a={range:e,message:t};return ue.defined(n)&&(a.severity=n),ue.defined(r)&&(a.code=r),ue.defined(i)&&(a.source=i),ue.defined(o)&&(a.relatedInformation=o),a},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&ue.string(t.message)&&(ue.number(t.severity)||ue.undefined(t.severity))&&(ue.number(t.code)||ue.string(t.code)||ue.undefined(t.code))&&(ue.string(t.source)||ue.undefined(t.source))&&(ue.undefined(t.relatedInformation)||ue.typedArray(t.relatedInformation,f.is))}}(m||(m={})),function(e){e.create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(g||(g={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&i.is(t.range)}}(y||(y={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&M.is(t.textDocument)&&Array.isArray(t.edits)}}(v||(v={})),function(e){e.create=function(e,t){var n={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(n.options=t),n},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))}}(b||(b={})),function(e){e.create=function(e,t,n){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))}}(E||(E={})),function(e){e.create=function(e,t){var n={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(n.options=t),n},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))}}(x||(x={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?b.is(e)||E.is(e)||x.is(e):v.is(e)})))}}(D||(D={}));var I,M,j,L,P,R,B,U,z,V,q,H,W,G,K,J,Y,Q,$,X,Z,ee,te,ne,re,ie,oe,ae=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(y.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(y.replace(e,t))},e.prototype.delete=function(e){this.edits.push(y.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(v.is(e)){var n=new ae(e.edits);t._textEditChanges[e.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new ae(e.changes[n]);t._textEditChanges[n]=r})))}Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(M.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t=e;if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new ae(i),this._textEditChanges[t.uri]=r}return r}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new ae(i),this._textEditChanges[e]=r}return r},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.renameFile=function(e,t,n){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(E.create(e,t,n))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(x.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(I||(I={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.number(t.version))}}(M||(M={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.number(t.version)&&ue.string(t.text)}}(j||(j={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(L||(L={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(L||(L={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&L.is(t.kind)&&ue.string(t.value)}}(P||(P={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(R||(R={})),function(e){e.PlainText=1,e.Snippet=2}(B||(B={})),function(e){e.Deprecated=1}(U||(U={})),function(e){e.create=function(e){return{label:e}}}(z||(z={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(V||(V={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(q||(q={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(P.is(t.contents)||q.is(t.contents)||ue.typedArray(t.contents,q.is))&&(void 0===e.range||i.is(e.range))}}(H||(H={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(W||(W={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;o--){var a=r[o],s=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=i))throw new Error("Overlapping edit");n=n.substring(0,s)+a.newText+n.substring(u,n.length),i=s}return n}}(se||(se={}));var ue,ce=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return r.create(0,e);for(;ne?i=o:n=o+1}var a=n-1;return r.create(a,e-t[a])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1=t.character)return n=a,r=de({},o),i=e.current(),"BREAK"}));return{start:o.start,end:o.end,string:i||o.string,state:r||o.state,style:n||o.style}}function ye(e,t){for(var n=e.split("\n"),r=Object(fe.onlineParser)(),i=r.startState(),o="",a=new fe.CharacterStream(""),s=0;s=e.character:n.start.line<=e.line&&n.end.line>=e.line},this.start=e,this.end=t}return e.prototype.setStart=function(e,t){this.start=new De(e,t)},e.prototype.setEnd=function(e,t){this.end=new De(e,t)},e}(),De=function(){function e(e,t){var n=this;this.lessThanOrEqualTo=function(e){return n.line0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.line,"Query text must have more lines than where the error happened");for(var o=null,a=0;a0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?_t.FieldWithArguments:_t[e.kind]}var Ft=function(){function e(e){this._graphQLCache=e,this._graphQLConfig=e.getGraphQLConfig()}return e.prototype.getConfigForURI=function(e){var t=this._graphQLConfig.getProjectForFile(e);if(t)return t;throw Error("No config found for uri: "+e)},e.prototype.getDiagnostics=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i,o,a,s,u,c,l,p,f,d,h,m,g,y;return pt(this,(function(v){switch(v.label){case 0:if(r=!1,!(i=this.getConfigForURI(t)))return[2,[]];o=i.schema,a=i.name,s=i.extensions;try{u=Object(Ve.a)(e),o&&t===o||(r=u.definitions.some((function(e){switch(e.kind){case dt:case ht:case mt:case gt:case yt:case vt:case bt:case Et:case xt:case Dt:case Ct:case wt:case St:return!0}return!1})))}catch(b){return c=Qe(b.locations[0],e),[2,[{severity:We.Error,message:b.message,source:"GraphQL: Syntax",range:c}]]}return l=e,[4,this._graphQLCache.getFragmentDefinitions(i)];case 1:return p=v.sent(),[4,this._graphQLCache.getFragmentDependencies(e,p)];case 2:f=v.sent(),d=f.reduce((function(e,t){return e+" "+Object(ct.print)(t.definition)}),""),l=l+" "+d,h=null;try{h=Object(Ve.a)(l)}catch(b){return[2,[]]}return m=null,(g=s.customValidationRules)&&(m=g(this._graphQLConfig)),[4,this._graphQLCache.getSchema(a,r)];case 3:return(y=v.sent())?[2,Ke(h,y,m,n)]:[2,[]]}}))}))},e.prototype.getAutocompleteSuggestions=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i;return pt(this,(function(o){switch(o.label){case 0:return r=this.getConfigForURI(n),[4,this._graphQLCache.getSchema(r.name)];case 1:return(i=o.sent())?[2,he(i,e,t)]:[2,[]]}}))}))},e.prototype.getHoverInformation=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i;return pt(this,(function(o){switch(o.label){case 0:return r=this.getConfigForURI(n),[4,this._graphQLCache.getSchema(r.name)];case 1:return(i=o.sent())?[2,tt(i,e,t)]:[2,""]}}))}))},e.prototype.getDefinition=function(e,t,n){return lt(this,void 0,void 0,(function(){var r,i,o;return pt(this,(function(a){r=this.getConfigForURI(n);try{i=Object(Ve.a)(e)}catch(s){return[2,null]}if(o=function(e,t,n){var r,i=function(e,t){var n=e.split("\n").slice(0,t.line);return t.character+n.map((function(e){return e.length+1})).reduce((function(e,t){return e+t}),0)}(e,n);return Object(Ee.c)(t,{enter:function(e){if(!("Name"!==e.kind&&e.loc&&e.loc.start<=i&&i<=e.loc.end))return!1;r=e},leave:function(e){if(e.loc&&e.loc.start<=i&&i<=e.loc.end)return!1}}),r}(e,i,t))switch(o.kind){case kt:return[2,this._getDefinitionForFragmentSpread(e,i,o,n,r)];case ft:case At:return[2,Be(n,e,o)];case Tt:return[2,this._getDefinitionForNamedType(e,i,o,n,r)]}return[2,null]}))}))},e.prototype.getDocumentSymbols=function(e,t){return lt(this,void 0,void 0,(function(){var n,r,i,o,a;return pt(this,(function(s){switch(s.label){case 0:return[4,this.getOutline(e)];case 1:if(!(n=s.sent()))return[2,[]];for(r=[],i=n.outlineTrees.map((function(e){return[null,e]})),o=function(){var e=i.pop();if(!e)return{value:[]};var n=e[0],o=e[1];if(!o)return{value:[]};r.push({name:o.representativeName,kind:Ot(o),location:{uri:t,range:{start:o.startPosition,end:o.endPosition}},containerName:n?n.representativeName:void 0}),i.push.apply(i,o.children.map((function(e){return[o,e]})))};i.length>0;)if("object"===typeof(a=o()))return[2,a.value];return[2,r]}}))}))},e.prototype._getDefinitionForNamedType=function(e,t,n,r,i){return lt(this,void 0,void 0,(function(){var o,a,s,u;return pt(this,(function(c){switch(c.label){case 0:return[4,this._graphQLCache.getObjectTypeDefinitions(i)];case 1:return o=c.sent(),[4,this._graphQLCache.getObjectTypeDependenciesForAST(t,o)];case 2:return a=c.sent(),s=t.definitions.filter((function(e){return e.kind===dt||e.kind===vt||e.kind===mt||e.kind===yt||e.kind===ht})),u=s.map((function(t){return{filePath:r,content:e,definition:t}})),[4,Pe(e,n,a.concat(u))];case 3:return[2,c.sent()]}}))}))},e.prototype._getDefinitionForFragmentSpread=function(e,t,n,r,i){return lt(this,void 0,void 0,(function(){var o,a,s,u;return pt(this,(function(c){switch(c.label){case 0:return[4,this._graphQLCache.getFragmentDefinitions(i)];case 1:return o=c.sent(),[4,this._graphQLCache.getFragmentDependenciesForAST(t,o)];case 2:return a=c.sent(),s=t.definitions.filter((function(e){return e.kind===ft})),u=s.map((function(t){return{filePath:r,content:e,definition:t}})),[4,Re(e,n,a.concat(u))];case 3:return[2,c.sent()]}}))}))},e.prototype.getOutline=function(e){return lt(this,void 0,void 0,(function(){return pt(this,(function(t){return[2,Ze(e)]}))}))},e}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CANCEL",(function(){return r.a})),n.d(t,"SAGA_LOCATION",(function(){return r.g})),n.d(t,"buffers",(function(){return s.i})),n.d(t,"detach",(function(){return s.j})),n.d(t,"END",(function(){return S})),n.d(t,"channel",(function(){return A})),n.d(t,"eventChannel",(function(){return T})),n.d(t,"isEnd",(function(){return k})),n.d(t,"multicastChannel",(function(){return _})),n.d(t,"runSaga",(function(){return G})),n.d(t,"stdChannel",(function(){return O}));var r=n(16),i=n(42),o=n(62),a=n(10),s=n(6),u=n(61);function c(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var l=c,p=(n(115),[]),f=0;function d(e){try{g(),e()}finally{y()}}function h(e){p.push(e),f||(g(),v())}function m(e){try{return g(),e()}finally{v()}}function g(){f++}function y(){f--}function v(){var e;for(y();!f&&void 0!==(e=p.shift());)d(e)}var b=function(e){return function(t){return e.some((function(e){return w(e)(t)}))}},E=function(e){return function(t){return e(t)}},x=function(e){return function(t){return t.type===String(e)}},D=function(e){return function(t){return t.type===e}},C=function(){return s.U};function w(e){var t="*"===e?C:Object(a.k)(e)?x:Object(a.a)(e)?b:Object(a.l)(e)?x:Object(a.d)(e)?E:Object(a.m)(e)?D:null;if(null===t)throw new Error("invalid pattern: "+e);return t(e)}var S={type:r.b},k=function(e){return e&&e.type===r.b};function A(e){void 0===e&&(e=Object(s.O)());var t=!1,n=[];return{take:function(r){t&&e.isEmpty()?r(S):e.isEmpty()?(n.push(r),r.cancel=function(){Object(s.bb)(n,r)}):r(e.take())},put:function(r){if(!t){if(0===n.length)return e.put(r);n.shift()(r)}},flush:function(n){t&&e.isEmpty()?n(S):n(e.flush())},close:function(){if(!t){t=!0;var e=n;n=[];for(var r=0,i=e.length;r2?h-2:0),y=2;y1&&"_"===e[0]&&"_"===e[1]?new i.a('Name "'.concat(e,'" must not begin with "__", which is reserved by GraphQL introspection.'),t):o.test(e)?void 0:new i.a('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "'.concat(e,'" does not.'),t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(4);function i(e){var t=Object.create(null);return{OperationDefinition:function(n){var i=n.name;return i&&(t[i.value]?e.reportError(new r.a(function(e){return'There can be only one operation named "'.concat(e,'".')}(i.value),[t[i.value],i])):t[i.value]=i),!1},FragmentDefinition:function(){return!1}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),i=n(1);function o(e){var t=0;return{Document:function(e){t=e.definitions.filter((function(e){return e.kind===i.a.OPERATION_DEFINITION})).length},OperationDefinition:function(n){!n.name&&t>1&&e.reportError(new r.a("This anonymous operation must be the only defined operation.",n))}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(4);function i(e){return{OperationDefinition:function(t){var n;"subscription"===t.operation&&1!==t.selectionSet.selections.length&&e.reportError(new r.a((n=t.name&&t.name.value)?'Subscription "'.concat(n,'" must select only one top level field.'):"Anonymous Subscription must select only one top level field.",t.selectionSet.selections.slice(1)))}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(4),i=n(21),o=n(0),a=n(31);function s(e){return{InlineFragment:function(t){var n=t.typeCondition;if(n){var s=Object(a.a)(e.getSchema(),n);s&&!Object(o.D)(s)&&e.reportError(new r.a(function(e){return'Fragment cannot condition on non composite type "'.concat(e,'".')}(Object(i.print)(n)),n))}},FragmentDefinition:function(t){var n=Object(a.a)(e.getSchema(),t.typeCondition);n&&!Object(o.D)(n)&&e.reportError(new r.a(function(e,t){return'Fragment "'.concat(e,'" cannot condition on non composite type "').concat(t,'".')}(t.name.value,Object(i.print)(t.typeCondition)),t.typeCondition))}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(4),i=n(21),o=n(0),a=n(31);function s(e){return{VariableDefinition:function(t){var n=Object(a.a)(e.getSchema(),t.type);if(n&&!Object(o.G)(n)){var s=t.variable.name.value;e.reportError(new r.a(function(e,t){return'Variable "$'.concat(e,'" cannot be non-input type "').concat(t,'".')}(s,Object(i.print)(t.type)),t.type))}}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(2),i=n(4),o=n(0);function a(e){return{Field:function(t){var n=e.getType(),a=t.selectionSet;n&&(Object(o.I)(Object(o.A)(n))?a&&e.reportError(new i.a(function(e,t){return'Field "'.concat(e,'" must not have a selection since type "').concat(t,'" has no subfields.')}(t.name.value,Object(r.a)(n)),a)):a||e.reportError(new i.a(function(e,t){return'Field "'.concat(e,'" of type "').concat(t,'" must have a selection of subfields. Did you mean "').concat(e,' { ... }"?')}(t.name.value,Object(r.a)(n)),t)))}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(38),i=n(43),o=n(4),a=n(0);function s(e){return{Field:function(t){var n=e.getParentType();if(n&&!e.getFieldDef()){var s=e.getSchema(),u=t.name.value,c=function(e,t,n){if(Object(a.C)(t)){for(var r=[],i=Object.create(null),o=0,s=e.getPossibleTypes(t);o1)for(var p=0;p0)return[[t,e.map((function(e){return e[0]}))],e.reduce((function(e,t){var n=t[1];return e.concat(n)}),[n]),e.reduce((function(e,t){var n=t[2];return e.concat(n)}),[r])]}(function(e,t,n,r,i,o,a,s){var u=[],c=y(e,t,i,o),l=c[0],p=c[1],f=y(e,t,a,s),g=f[0],v=f[1];if(m(e,u,t,n,r,l,g),0!==v.length)for(var b=Object.create(null),E=0;E0&&e.reportError(new r.a("Must provide only one schema definition.",t)),++i)}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(4);function i(e){return"There can be only one ".concat(e," type in schema.")}function o(e){return"Type for ".concat(e," already defined in the schema. It cannot be redefined.")}function a(e){var t=e.getSchema(),n=Object.create(null),a=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:s,SchemaExtension:s};function s(t){if(t.operationTypes)for(var s=0,u=t.operationTypes||[];s=t?e.apply(this,r):function(){return n.apply(this,r.concat([].slice.call(arguments)))}}}},function(e,t,n){e.exports=n(279).Observable},function(e,t,n){"use strict";e.exports=function(e,t){t||(t={}),"function"===typeof t&&(t={cmp:t});var n,r="boolean"===typeof t.cycles&&t.cycles,i=t.cmp&&(n=t.cmp,function(e){return function(t,r){var i={key:t,value:e[t]},o={key:r,value:e[r]};return n(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"===typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!==typeof t)return JSON.stringify(t);var n,a;if(Array.isArray(t)){for(a="[",n=0;nO.length&&O.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,i){var s=typeof t;"undefined"!==s&&"boolean"!==s||(t=null);var u=!1;if(null===t)u=!0;else switch(s){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case o:case a:u=!0}}if(u)return r(i,t,""===n?"."+M(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c\" + type.name + \"\";\n}\n//# sourceMappingURL=onHasCompletion.js.map","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import devAssert from \"../jsutils/devAssert.mjs\";\nimport { GraphQLError } from \"../error/GraphQLError.mjs\";\nimport { visit, visitInParallel } from \"../language/visitor.mjs\";\nimport { assertValidSchema } from \"../type/validate.mjs\";\nimport { TypeInfo, visitWithTypeInfo } from \"../utilities/TypeInfo.mjs\";\nimport { specifiedRules, specifiedSDLRules } from \"./specifiedRules.mjs\";\nimport { SDLValidationContext, ValidationContext } from \"./ValidationContext.mjs\";\n/**\n * Implements the \"Validation\" section of the spec.\n *\n * Validation runs synchronously, returning an array of encountered errors, or\n * an empty array if no errors were encountered and the document is valid.\n *\n * A list of specific validation rules may be provided. If not provided, the\n * default list of rules defined by the GraphQL specification will be used.\n *\n * Each validation rules is a function which returns a visitor\n * (see the language/visitor API). Visitor methods are expected to return\n * GraphQLErrors, or Arrays of GraphQLErrors when invalid.\n *\n * Optionally a custom TypeInfo instance may be provided. If not provided, one\n * will be created from the provided schema.\n */\n\nexport function validate(schema, documentAST) {\n var rules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : specifiedRules;\n var typeInfo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new TypeInfo(schema);\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n maxErrors: undefined\n };\n documentAST || devAssert(0, 'Must provide document.'); // If the schema used for validation is invalid, throw an error.\n\n assertValidSchema(schema);\n var abortObj = Object.freeze({});\n var errors = [];\n var context = new ValidationContext(schema, documentAST, typeInfo, function (error) {\n if (options.maxErrors != null && errors.length >= options.maxErrors) {\n errors.push(new GraphQLError('Too many validation errors, error limit reached. Validation aborted.'));\n throw abortObj;\n }\n\n errors.push(error);\n }); // This uses a specialized visitor which runs multiple visitors in parallel,\n // while maintaining the visitor skip and break API.\n\n var visitor = visitInParallel(rules.map(function (rule) {\n return rule(context);\n })); // Visit the whole document with each instance of all provided rules.\n\n try {\n visit(documentAST, visitWithTypeInfo(typeInfo, visitor));\n } catch (e) {\n if (e !== abortObj) {\n throw e;\n }\n }\n\n return errors;\n}\n/**\n * @internal\n */\n\nexport function validateSDL(documentAST, schemaToExtend) {\n var rules = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : specifiedSDLRules;\n var errors = [];\n var context = new SDLValidationContext(documentAST, schemaToExtend, function (error) {\n errors.push(error);\n });\n var visitors = rules.map(function (rule) {\n return rule(context);\n });\n visit(documentAST, visitInParallel(visitors));\n return errors;\n}\n/**\n * Utility function which asserts a SDL document is valid by throwing an error\n * if it is invalid.\n *\n * @internal\n */\n\nexport function assertValidSDL(documentAST) {\n var errors = validateSDL(documentAST);\n\n if (errors.length !== 0) {\n throw new Error(errors.map(function (error) {\n return error.message;\n }).join('\\n\\n'));\n }\n}\n/**\n * Utility function which asserts a SDL document is valid by throwing an error\n * if it is invalid.\n *\n * @internal\n */\n\nexport function assertValidSDLExtension(documentAST, schema) {\n var errors = validateSDL(documentAST, schema);\n\n if (errors.length !== 0) {\n throw new Error(errors.map(function (error) {\n return error.message;\n }).join('\\n\\n'));\n }\n}\n","var _a;\nvar isMacOs = false;\nif (typeof window === 'object') {\n isMacOs = window.navigator.platform === 'MacIntel';\n}\nvar commonKeys = (_a = {},\n _a[isMacOs ? 'Cmd-F' : 'Ctrl-F'] = 'findPersistent',\n _a['Cmd-G'] = 'findPersistent',\n _a['Ctrl-G'] = 'findPersistent',\n _a['Ctrl-Left'] = 'goSubwordLeft',\n _a['Ctrl-Right'] = 'goSubwordRight',\n _a['Alt-Left'] = 'goGroupLeft',\n _a['Alt-Right'] = 'goGroupRight',\n _a);\nexport default commonKeys;\n//# sourceMappingURL=commonKeys.js.map","import isFinite from \"../polyfills/isFinite.mjs\";\nimport arrayFrom from \"../polyfills/arrayFrom.mjs\";\nimport objectValues from \"../polyfills/objectValues.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport invariant from \"../jsutils/invariant.mjs\";\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport isCollection from \"../jsutils/isCollection.mjs\";\nimport { Kind } from \"../language/kinds.mjs\";\nimport { GraphQLID } from \"../type/scalars.mjs\";\nimport { isLeafType, isEnumType, isInputObjectType, isListType, isNonNullType } from \"../type/definition.mjs\";\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | Mixed | Enum Value |\n * | null | NullValue |\n *\n */\n\nexport function astFromValue(value, type) {\n if (isNonNullType(type)) {\n var astValue = astFromValue(value, type.ofType);\n\n if ((astValue === null || astValue === void 0 ? void 0 : astValue.kind) === Kind.NULL) {\n return null;\n }\n\n return astValue;\n } // only explicit null, not undefined, NaN\n\n\n if (value === null) {\n return {\n kind: Kind.NULL\n };\n } // undefined\n\n\n if (value === undefined) {\n return null;\n } // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n\n\n if (isListType(type)) {\n var itemType = type.ofType;\n\n if (isCollection(value)) {\n var valuesNodes = []; // Since we transpile for-of in loose mode it doesn't support iterators\n // and it's required to first convert iteratable into array\n\n for (var _i2 = 0, _arrayFrom2 = arrayFrom(value); _i2 < _arrayFrom2.length; _i2++) {\n var item = _arrayFrom2[_i2];\n var itemNode = astFromValue(item, itemType);\n\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n\n return {\n kind: Kind.LIST,\n values: valuesNodes\n };\n }\n\n return astFromValue(value, itemType);\n } // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n\n\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n\n var fieldNodes = [];\n\n for (var _i4 = 0, _objectValues2 = objectValues(type.getFields()); _i4 < _objectValues2.length; _i4++) {\n var field = _objectValues2[_i4];\n var fieldValue = astFromValue(value[field.name], field.type);\n\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: {\n kind: Kind.NAME,\n value: field.name\n },\n value: fieldValue\n });\n }\n }\n\n return {\n kind: Kind.OBJECT,\n fields: fieldNodes\n };\n } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')\n\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be serialized\n // to an externally represented value before converting into an AST.\n var serialized = type.serialize(value);\n\n if (serialized == null) {\n return null;\n } // Others serialize based on their corresponding JavaScript scalar types.\n\n\n if (typeof serialized === 'boolean') {\n return {\n kind: Kind.BOOLEAN,\n value: serialized\n };\n } // JavaScript numbers can be Int or Float values.\n\n\n if (typeof serialized === 'number' && isFinite(serialized)) {\n var stringNum = String(serialized);\n return integerStringRegExp.test(stringNum) ? {\n kind: Kind.INT,\n value: stringNum\n } : {\n kind: Kind.FLOAT,\n value: stringNum\n };\n }\n\n if (typeof serialized === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return {\n kind: Kind.ENUM,\n value: serialized\n };\n } // ID types can use Int literals.\n\n\n if (type === GraphQLID && integerStringRegExp.test(serialized)) {\n return {\n kind: Kind.INT,\n value: serialized\n };\n }\n\n return {\n kind: Kind.STRING,\n value: serialized\n };\n }\n\n throw new TypeError(\"Cannot convert value to AST: \".concat(inspect(serialized), \".\"));\n } // istanbul ignore next (Not reachable. All possible input types have been considered)\n\n\n false || invariant(0, 'Unexpected input type: ' + inspect(type));\n}\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\n\nvar integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n","import objectValues from \"../polyfills/objectValues.mjs\";\nimport keyMap from \"../jsutils/keyMap.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport invariant from \"../jsutils/invariant.mjs\";\nimport { Kind } from \"../language/kinds.mjs\";\nimport { isLeafType, isInputObjectType, isListType, isNonNullType } from \"../type/definition.mjs\";\n/**\n * Produces a JavaScript value given a GraphQL Value AST.\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * GraphQL Value literals.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type.\n *\n * | GraphQL Value | JSON Value |\n * | -------------------- | ------------- |\n * | Input Object | Object |\n * | List | Array |\n * | Boolean | Boolean |\n * | String | String |\n * | Int / Float | Number |\n * | Enum Value | Mixed |\n * | NullValue | null |\n *\n */\n\nexport function valueFromAST(valueNode, type, variables) {\n if (!valueNode) {\n // When there is no node, then there is also no value.\n // Importantly, this is different from returning the value null.\n return;\n }\n\n if (valueNode.kind === Kind.VARIABLE) {\n var variableName = valueNode.name.value;\n\n if (variables == null || variables[variableName] === undefined) {\n // No valid return value.\n return;\n }\n\n var variableValue = variables[variableName];\n\n if (variableValue === null && isNonNullType(type)) {\n return; // Invalid: intentionally return no value.\n } // Note: This does no further checking that this variable is correct.\n // This assumes that this query has been validated and the variable\n // usage here is of the correct type.\n\n\n return variableValue;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n return; // Invalid: intentionally return no value.\n }\n\n return valueFromAST(valueNode, type.ofType, variables);\n }\n\n if (valueNode.kind === Kind.NULL) {\n // This is explicitly returning the value null.\n return null;\n }\n\n if (isListType(type)) {\n var itemType = type.ofType;\n\n if (valueNode.kind === Kind.LIST) {\n var coercedValues = [];\n\n for (var _i2 = 0, _valueNode$values2 = valueNode.values; _i2 < _valueNode$values2.length; _i2++) {\n var itemNode = _valueNode$values2[_i2];\n\n if (isMissingVariable(itemNode, variables)) {\n // If an array contains a missing variable, it is either coerced to\n // null or if the item type is non-null, it considered invalid.\n if (isNonNullType(itemType)) {\n return; // Invalid: intentionally return no value.\n }\n\n coercedValues.push(null);\n } else {\n var itemValue = valueFromAST(itemNode, itemType, variables);\n\n if (itemValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n\n coercedValues.push(itemValue);\n }\n }\n\n return coercedValues;\n }\n\n var coercedValue = valueFromAST(valueNode, itemType, variables);\n\n if (coercedValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n\n return [coercedValue];\n }\n\n if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n return; // Invalid: intentionally return no value.\n }\n\n var coercedObj = Object.create(null);\n var fieldNodes = keyMap(valueNode.fields, function (field) {\n return field.name.value;\n });\n\n for (var _i4 = 0, _objectValues2 = objectValues(type.getFields()); _i4 < _objectValues2.length; _i4++) {\n var field = _objectValues2[_i4];\n var fieldNode = fieldNodes[field.name];\n\n if (!fieldNode || isMissingVariable(fieldNode.value, variables)) {\n if (field.defaultValue !== undefined) {\n coercedObj[field.name] = field.defaultValue;\n } else if (isNonNullType(field.type)) {\n return; // Invalid: intentionally return no value.\n }\n\n continue;\n }\n\n var fieldValue = valueFromAST(fieldNode.value, field.type, variables);\n\n if (fieldValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n\n coercedObj[field.name] = fieldValue;\n }\n\n return coercedObj;\n } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')\n\n\n if (isLeafType(type)) {\n // Scalars and Enums fulfill parsing a literal value via parseLiteral().\n // Invalid values represent a failure to parse correctly, in which case\n // no value is returned.\n var result;\n\n try {\n result = type.parseLiteral(valueNode, variables);\n } catch (_error) {\n return; // Invalid: intentionally return no value.\n }\n\n if (result === undefined) {\n return; // Invalid: intentionally return no value.\n }\n\n return result;\n } // istanbul ignore next (Not reachable. All possible input types have been considered)\n\n\n false || invariant(0, 'Unexpected input type: ' + inspect(type));\n} // Returns true if the provided valueNode is a variable which is not defined\n// in the set of variables.\n\nfunction isMissingVariable(valueNode, variables) {\n return valueNode.kind === Kind.VARIABLE && (variables == null || variables[valueNode.name.value] === undefined);\n}\n","/* eslint-disable no-redeclare */\n// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441\nvar isFinitePolyfill = Number.isFinite || function (value) {\n return typeof value === 'number' && isFinite(value);\n};\n\nexport default isFinitePolyfill;\n","export function getLeft(initialElem) {\n var pt = 0;\n var elem = initialElem;\n while (elem.offsetParent) {\n pt += elem.offsetLeft;\n elem = elem.offsetParent;\n }\n return pt;\n}\nexport function getTop(initialElem) {\n var pt = 0;\n var elem = initialElem;\n while (elem.offsetParent) {\n pt += elem.offsetTop;\n elem = elem.offsetParent;\n }\n return pt;\n}\n//# sourceMappingURL=elementPosition.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nfunction hasProps(child) {\n if (!child || typeof child !== 'object' || !('props' in child)) {\n return false;\n }\n return true;\n}\nvar ToolbarSelect = (function (_super) {\n __extends(ToolbarSelect, _super);\n function ToolbarSelect(props) {\n var _this = _super.call(this, props) || this;\n _this._node = null;\n _this._listener = null;\n _this.handleOpen = function (e) {\n preventDefault(e);\n _this.setState({ visible: true });\n _this._subscribe();\n };\n _this.state = { visible: false };\n return _this;\n }\n ToolbarSelect.prototype.componentWillUnmount = function () {\n this._release();\n };\n ToolbarSelect.prototype.render = function () {\n var _this = this;\n var selectedChild;\n var visible = this.state.visible;\n var optionChildren = React.Children.map(this.props.children, function (child, i) {\n if (!hasProps(child)) {\n return null;\n }\n if (!selectedChild || child.props.selected) {\n selectedChild = child;\n }\n var onChildSelect = child.props.onSelect ||\n (_this.props.onSelect &&\n _this.props.onSelect.bind(null, child.props.value, i));\n return (React.createElement(ToolbarSelectOption, __assign({}, child.props, { onSelect: onChildSelect })));\n });\n return (React.createElement(\"a\", { className: \"toolbar-select toolbar-button\", onClick: this.handleOpen.bind(this), onMouseDown: preventDefault, ref: function (node) {\n _this._node = node;\n }, title: this.props.title }, selectedChild === null || selectedChild === void 0 ? void 0 :\n selectedChild.props.label,\n React.createElement(\"svg\", { width: \"13\", height: \"10\" },\n React.createElement(\"path\", { fill: \"#666\", d: \"M 5 5 L 13 5 L 9 1 z\" }),\n React.createElement(\"path\", { fill: \"#666\", d: \"M 5 6 L 13 6 L 9 10 z\" })),\n React.createElement(\"ul\", { className: 'toolbar-select-options' + (visible ? ' open' : '') }, optionChildren)));\n };\n ToolbarSelect.prototype._subscribe = function () {\n if (!this._listener) {\n this._listener = this.handleClick.bind(this);\n document.addEventListener('click', this._listener);\n }\n };\n ToolbarSelect.prototype._release = function () {\n if (this._listener) {\n document.removeEventListener('click', this._listener);\n this._listener = null;\n }\n };\n ToolbarSelect.prototype.handleClick = function (e) {\n if (this._node !== e.target) {\n preventDefault(e);\n this.setState({ visible: false });\n this._release();\n }\n };\n return ToolbarSelect;\n}(React.Component));\nexport { ToolbarSelect };\nexport function ToolbarSelectOption(_a) {\n var onSelect = _a.onSelect, label = _a.label, selected = _a.selected;\n return (React.createElement(\"li\", { onMouseOver: function (e) {\n e.currentTarget.className = 'hover';\n }, onMouseOut: function (e) {\n e.currentTarget.className = '';\n }, onMouseDown: preventDefault, onMouseUp: onSelect },\n label,\n selected && (React.createElement(\"svg\", { width: \"13\", height: \"13\" },\n React.createElement(\"polygon\", { points: \"4.851,10.462 0,5.611 2.314,3.297 4.851,5.835\\n 10.686,0 13,2.314 4.851,10.462\" })))));\n}\nfunction preventDefault(e) {\n e.preventDefault();\n}\n//# sourceMappingURL=ToolbarSelect.js.map","export * from './types';\nexport { createGraphiQLFetcher } from './createFetcher';\n//# sourceMappingURL=index.js.map","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var result = this.matches(reverse, this.doc.clipPos(reverse ? this.pos.from : this.pos.to))\n\n // Implements weird auto-growing behavior on null-matches for\n // backwards-compatibility with the vim code (unfortunately)\n while (result && CodeMirror.cmpPos(result.from, result.to) == 0) {\n if (reverse) {\n if (result.from.ch) result.from = Pos(result.from.line, result.from.ch - 1)\n else if (result.from.line == this.doc.firstLine()) result = null\n else result = this.matches(reverse, this.doc.clipPos(Pos(result.from.line - 1)))\n } else {\n if (result.to.ch < this.doc.getLine(result.to.line).length) result.to = Pos(result.to.line, result.to.ch + 1)\n else if (result.to.line == this.doc.lastLine()) result = null\n else result = this.matches(reverse, Pos(result.to.line + 1, 0))\n }\n }\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Open simple dialogs on top of an editor. Relies on dialog.css.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n function dialogDiv(cm, template, bottom) {\n var wrap = cm.getWrapperElement();\n var dialog;\n dialog = wrap.appendChild(document.createElement(\"div\"));\n if (bottom)\n dialog.className = \"CodeMirror-dialog CodeMirror-dialog-bottom\";\n else\n dialog.className = \"CodeMirror-dialog CodeMirror-dialog-top\";\n\n if (typeof template == \"string\") {\n dialog.innerHTML = template;\n } else { // Assuming it's a detached DOM element.\n dialog.appendChild(template);\n }\n CodeMirror.addClass(wrap, 'dialog-opened');\n return dialog;\n }\n\n function closeNotification(cm, newVal) {\n if (cm.state.currentNotificationClose)\n cm.state.currentNotificationClose();\n cm.state.currentNotificationClose = newVal;\n }\n\n CodeMirror.defineExtension(\"openDialog\", function(template, callback, options) {\n if (!options) options = {};\n\n closeNotification(this, null);\n\n var dialog = dialogDiv(this, template, options.bottom);\n var closed = false, me = this;\n function close(newVal) {\n if (typeof newVal == 'string') {\n inp.value = newVal;\n } else {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n\n if (options.onClose) options.onClose(dialog);\n }\n }\n\n var inp = dialog.getElementsByTagName(\"input\")[0], button;\n if (inp) {\n inp.focus();\n\n if (options.value) {\n inp.value = options.value;\n if (options.selectValueOnOpen !== false) {\n inp.select();\n }\n }\n\n if (options.onInput)\n CodeMirror.on(inp, \"input\", function(e) { options.onInput(e, inp.value, close);});\n if (options.onKeyUp)\n CodeMirror.on(inp, \"keyup\", function(e) {options.onKeyUp(e, inp.value, close);});\n\n CodeMirror.on(inp, \"keydown\", function(e) {\n if (options && options.onKeyDown && options.onKeyDown(e, inp.value, close)) { return; }\n if (e.keyCode == 27 || (options.closeOnEnter !== false && e.keyCode == 13)) {\n inp.blur();\n CodeMirror.e_stop(e);\n close();\n }\n if (e.keyCode == 13) callback(inp.value, e);\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(dialog, \"focusout\", function (evt) {\n if (evt.relatedTarget !== null) close();\n });\n } else if (button = dialog.getElementsByTagName(\"button\")[0]) {\n CodeMirror.on(button, \"click\", function() {\n close();\n me.focus();\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(button, \"blur\", close);\n\n button.focus();\n }\n return close;\n });\n\n CodeMirror.defineExtension(\"openConfirm\", function(template, callbacks, options) {\n closeNotification(this, null);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var buttons = dialog.getElementsByTagName(\"button\");\n var closed = false, me = this, blurring = 1;\n function close() {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n }\n buttons[0].focus();\n for (var i = 0; i < buttons.length; ++i) {\n var b = buttons[i];\n (function(callback) {\n CodeMirror.on(b, \"click\", function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n if (callback) callback(me);\n });\n })(callbacks[i]);\n CodeMirror.on(b, \"blur\", function() {\n --blurring;\n setTimeout(function() { if (blurring <= 0) close(); }, 200);\n });\n CodeMirror.on(b, \"focus\", function() { ++blurring; });\n }\n });\n\n /*\n * openNotification\n * Opens a notification, that can be closed with an optional timer\n * (default 5000ms timer) and always closes on click.\n *\n * If a notification is opened while another is opened, it will close the\n * currently opened one and open the new one immediately.\n */\n CodeMirror.defineExtension(\"openNotification\", function(template, options) {\n closeNotification(this, close);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var closed = false, doneTimer;\n var duration = options && typeof options.duration !== \"undefined\" ? options.duration : 5000;\n\n function close() {\n if (closed) return;\n closed = true;\n clearTimeout(doneTimer);\n CodeMirror.rmClass(dialog.parentNode, 'dialog-opened');\n dialog.parentNode.removeChild(dialog);\n }\n\n CodeMirror.on(dialog, 'click', function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n });\n\n if (duration)\n doneTimer = setTimeout(close, duration);\n\n return close;\n });\n});\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { SYMBOL_ITERATOR } from \"../polyfills/symbols.mjs\";\n/**\n * Returns true if the provided object is an Object (i.e. not a string literal)\n * and is either Iterable or Array-like.\n *\n * This may be used in place of [Array.isArray()][isArray] to determine if an\n * object should be iterated-over. It always excludes string literals and\n * includes Arrays (regardless of if it is Iterable). It also includes other\n * Array-like objects such as NodeList, TypedArray, and Buffer.\n *\n * @example\n *\n * isCollection([ 1, 2, 3 ]) // true\n * isCollection('ABC') // false\n * isCollection({ length: 1, 0: 'Alpha' }) // true\n * isCollection({ key: 'value' }) // false\n * isCollection(new Map()) // true\n *\n * @param obj\n * An Object value which might implement the Iterable or Array-like protocols.\n * @return {boolean} true if Iterable or Array-like Object.\n */\n\nexport default function isCollection(obj) {\n if (obj == null || _typeof(obj) !== 'object') {\n return false;\n } // Is Array like?\n\n\n var length = obj.length;\n\n if (typeof length === 'number' && length >= 0 && length % 1 === 0) {\n return true;\n } // Is Iterable?\n\n\n return typeof obj[SYMBOL_ITERATOR] === 'function';\n}\n","import find from \"../polyfills/find.mjs\";\nimport objectValues from \"../polyfills/objectValues.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport { GraphQLError } from \"../error/GraphQLError.mjs\";\nimport { locatedError } from \"../error/locatedError.mjs\";\nimport { isValidNameError } from \"../utilities/assertValidName.mjs\";\nimport { isEqualType, isTypeSubTypeOf } from \"../utilities/typeComparators.mjs\";\nimport { assertSchema } from \"./schema.mjs\";\nimport { isIntrospectionType } from \"./introspection.mjs\";\nimport { isDirective, GraphQLDeprecatedDirective } from \"./directives.mjs\";\nimport { isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType, isNamedType, isNonNullType, isInputType, isOutputType, isRequiredArgument, isRequiredInputField } from \"./definition.mjs\";\n/**\n * Implements the \"Type Validation\" sub-sections of the specification's\n * \"Type System\" section.\n *\n * Validation runs synchronously, returning an array of encountered errors, or\n * an empty array if no errors were encountered and the Schema is valid.\n */\n\nexport function validateSchema(schema) {\n // First check to ensure the provided value is in fact a GraphQLSchema.\n assertSchema(schema); // If this Schema has already been validated, return the previous results.\n\n if (schema.__validationErrors) {\n return schema.__validationErrors;\n } // Validate the schema, producing a list of errors.\n\n\n var context = new SchemaValidationContext(schema);\n validateRootTypes(context);\n validateDirectives(context);\n validateTypes(context); // Persist the results of validation before returning to ensure validation\n // does not run multiple times for this schema.\n\n var errors = context.getErrors();\n schema.__validationErrors = errors;\n return errors;\n}\n/**\n * Utility function which asserts a schema is valid by throwing an error if\n * it is invalid.\n */\n\nexport function assertValidSchema(schema) {\n var errors = validateSchema(schema);\n\n if (errors.length !== 0) {\n throw new Error(errors.map(function (error) {\n return error.message;\n }).join('\\n\\n'));\n }\n}\n\nvar SchemaValidationContext = /*#__PURE__*/function () {\n function SchemaValidationContext(schema) {\n this._errors = [];\n this.schema = schema;\n }\n\n var _proto = SchemaValidationContext.prototype;\n\n _proto.reportError = function reportError(message, nodes) {\n var _nodes = Array.isArray(nodes) ? nodes.filter(Boolean) : nodes;\n\n this.addError(new GraphQLError(message, _nodes));\n };\n\n _proto.addError = function addError(error) {\n this._errors.push(error);\n };\n\n _proto.getErrors = function getErrors() {\n return this._errors;\n };\n\n return SchemaValidationContext;\n}();\n\nfunction validateRootTypes(context) {\n var schema = context.schema;\n var queryType = schema.getQueryType();\n\n if (!queryType) {\n context.reportError('Query root type must be provided.', schema.astNode);\n } else if (!isObjectType(queryType)) {\n var _getOperationTypeNode;\n\n context.reportError(\"Query root type must be Object type, it cannot be \".concat(inspect(queryType), \".\"), (_getOperationTypeNode = getOperationTypeNode(schema, 'query')) !== null && _getOperationTypeNode !== void 0 ? _getOperationTypeNode : queryType.astNode);\n }\n\n var mutationType = schema.getMutationType();\n\n if (mutationType && !isObjectType(mutationType)) {\n var _getOperationTypeNode2;\n\n context.reportError('Mutation root type must be Object type if provided, it cannot be ' + \"\".concat(inspect(mutationType), \".\"), (_getOperationTypeNode2 = getOperationTypeNode(schema, 'mutation')) !== null && _getOperationTypeNode2 !== void 0 ? _getOperationTypeNode2 : mutationType.astNode);\n }\n\n var subscriptionType = schema.getSubscriptionType();\n\n if (subscriptionType && !isObjectType(subscriptionType)) {\n var _getOperationTypeNode3;\n\n context.reportError('Subscription root type must be Object type if provided, it cannot be ' + \"\".concat(inspect(subscriptionType), \".\"), (_getOperationTypeNode3 = getOperationTypeNode(schema, 'subscription')) !== null && _getOperationTypeNode3 !== void 0 ? _getOperationTypeNode3 : subscriptionType.astNode);\n }\n}\n\nfunction getOperationTypeNode(schema, operation) {\n var operationNodes = getAllSubNodes(schema, function (node) {\n return node.operationTypes;\n });\n\n for (var _i2 = 0; _i2 < operationNodes.length; _i2++) {\n var node = operationNodes[_i2];\n\n if (node.operation === operation) {\n return node.type;\n }\n }\n\n return undefined;\n}\n\nfunction validateDirectives(context) {\n for (var _i4 = 0, _context$schema$getDi2 = context.schema.getDirectives(); _i4 < _context$schema$getDi2.length; _i4++) {\n var directive = _context$schema$getDi2[_i4];\n\n // Ensure all directives are in fact GraphQL directives.\n if (!isDirective(directive)) {\n context.reportError(\"Expected directive but got: \".concat(inspect(directive), \".\"), directive === null || directive === void 0 ? void 0 : directive.astNode);\n continue;\n } // Ensure they are named correctly.\n\n\n validateName(context, directive); // TODO: Ensure proper locations.\n // Ensure the arguments are valid.\n\n for (var _i6 = 0, _directive$args2 = directive.args; _i6 < _directive$args2.length; _i6++) {\n var arg = _directive$args2[_i6];\n // Ensure they are named correctly.\n validateName(context, arg); // Ensure the type is an input type.\n\n if (!isInputType(arg.type)) {\n context.reportError(\"The type of @\".concat(directive.name, \"(\").concat(arg.name, \":) must be Input Type \") + \"but got: \".concat(inspect(arg.type), \".\"), arg.astNode);\n }\n\n if (isRequiredArgument(arg) && arg.deprecationReason != null) {\n var _arg$astNode;\n\n context.reportError(\"Required argument @\".concat(directive.name, \"(\").concat(arg.name, \":) cannot be deprecated.\"), [getDeprecatedDirectiveNode(arg.astNode), // istanbul ignore next (TODO need to write coverage tests)\n (_arg$astNode = arg.astNode) === null || _arg$astNode === void 0 ? void 0 : _arg$astNode.type]);\n }\n }\n }\n}\n\nfunction validateName(context, node) {\n // Ensure names are valid, however introspection types opt out.\n var error = isValidNameError(node.name);\n\n if (error) {\n context.addError(locatedError(error, node.astNode));\n }\n}\n\nfunction validateTypes(context) {\n var validateInputObjectCircularRefs = createInputObjectCircularRefsValidator(context);\n var typeMap = context.schema.getTypeMap();\n\n for (var _i8 = 0, _objectValues2 = objectValues(typeMap); _i8 < _objectValues2.length; _i8++) {\n var type = _objectValues2[_i8];\n\n // Ensure all provided types are in fact GraphQL type.\n if (!isNamedType(type)) {\n context.reportError(\"Expected GraphQL named type but got: \".concat(inspect(type), \".\"), type.astNode);\n continue;\n } // Ensure it is named correctly (excluding introspection types).\n\n\n if (!isIntrospectionType(type)) {\n validateName(context, type);\n }\n\n if (isObjectType(type)) {\n // Ensure fields are valid\n validateFields(context, type); // Ensure objects implement the interfaces they claim to.\n\n validateInterfaces(context, type);\n } else if (isInterfaceType(type)) {\n // Ensure fields are valid.\n validateFields(context, type); // Ensure interfaces implement the interfaces they claim to.\n\n validateInterfaces(context, type);\n } else if (isUnionType(type)) {\n // Ensure Unions include valid member types.\n validateUnionMembers(context, type);\n } else if (isEnumType(type)) {\n // Ensure Enums have valid values.\n validateEnumValues(context, type);\n } else if (isInputObjectType(type)) {\n // Ensure Input Object fields are valid.\n validateInputFields(context, type); // Ensure Input Objects do not contain non-nullable circular references\n\n validateInputObjectCircularRefs(type);\n }\n }\n}\n\nfunction validateFields(context, type) {\n var fields = objectValues(type.getFields()); // Objects and Interfaces both must define one or more fields.\n\n if (fields.length === 0) {\n context.reportError(\"Type \".concat(type.name, \" must define one or more fields.\"), getAllNodes(type));\n }\n\n for (var _i10 = 0; _i10 < fields.length; _i10++) {\n var field = fields[_i10];\n // Ensure they are named correctly.\n validateName(context, field); // Ensure the type is an output type\n\n if (!isOutputType(field.type)) {\n var _field$astNode;\n\n context.reportError(\"The type of \".concat(type.name, \".\").concat(field.name, \" must be Output Type \") + \"but got: \".concat(inspect(field.type), \".\"), (_field$astNode = field.astNode) === null || _field$astNode === void 0 ? void 0 : _field$astNode.type);\n } // Ensure the arguments are valid\n\n\n for (var _i12 = 0, _field$args2 = field.args; _i12 < _field$args2.length; _i12++) {\n var arg = _field$args2[_i12];\n var argName = arg.name; // Ensure they are named correctly.\n\n validateName(context, arg); // Ensure the type is an input type\n\n if (!isInputType(arg.type)) {\n var _arg$astNode2;\n\n context.reportError(\"The type of \".concat(type.name, \".\").concat(field.name, \"(\").concat(argName, \":) must be Input \") + \"Type but got: \".concat(inspect(arg.type), \".\"), (_arg$astNode2 = arg.astNode) === null || _arg$astNode2 === void 0 ? void 0 : _arg$astNode2.type);\n }\n\n if (isRequiredArgument(arg) && arg.deprecationReason != null) {\n var _arg$astNode3;\n\n context.reportError(\"Required argument \".concat(type.name, \".\").concat(field.name, \"(\").concat(argName, \":) cannot be deprecated.\"), [getDeprecatedDirectiveNode(arg.astNode), // istanbul ignore next (TODO need to write coverage tests)\n (_arg$astNode3 = arg.astNode) === null || _arg$astNode3 === void 0 ? void 0 : _arg$astNode3.type]);\n }\n }\n }\n}\n\nfunction validateInterfaces(context, type) {\n var ifaceTypeNames = Object.create(null);\n\n for (var _i14 = 0, _type$getInterfaces2 = type.getInterfaces(); _i14 < _type$getInterfaces2.length; _i14++) {\n var iface = _type$getInterfaces2[_i14];\n\n if (!isInterfaceType(iface)) {\n context.reportError(\"Type \".concat(inspect(type), \" must only implement Interface types, \") + \"it cannot implement \".concat(inspect(iface), \".\"), getAllImplementsInterfaceNodes(type, iface));\n continue;\n }\n\n if (type === iface) {\n context.reportError(\"Type \".concat(type.name, \" cannot implement itself because it would create a circular reference.\"), getAllImplementsInterfaceNodes(type, iface));\n continue;\n }\n\n if (ifaceTypeNames[iface.name]) {\n context.reportError(\"Type \".concat(type.name, \" can only implement \").concat(iface.name, \" once.\"), getAllImplementsInterfaceNodes(type, iface));\n continue;\n }\n\n ifaceTypeNames[iface.name] = true;\n validateTypeImplementsAncestors(context, type, iface);\n validateTypeImplementsInterface(context, type, iface);\n }\n}\n\nfunction validateTypeImplementsInterface(context, type, iface) {\n var typeFieldMap = type.getFields(); // Assert each interface field is implemented.\n\n for (var _i16 = 0, _objectValues4 = objectValues(iface.getFields()); _i16 < _objectValues4.length; _i16++) {\n var ifaceField = _objectValues4[_i16];\n var fieldName = ifaceField.name;\n var typeField = typeFieldMap[fieldName]; // Assert interface field exists on type.\n\n if (!typeField) {\n context.reportError(\"Interface field \".concat(iface.name, \".\").concat(fieldName, \" expected but \").concat(type.name, \" does not provide it.\"), [ifaceField.astNode].concat(getAllNodes(type)));\n continue;\n } // Assert interface field type is satisfied by type field type, by being\n // a valid subtype. (covariant)\n\n\n if (!isTypeSubTypeOf(context.schema, typeField.type, ifaceField.type)) {\n var _ifaceField$astNode, _typeField$astNode;\n\n context.reportError(\"Interface field \".concat(iface.name, \".\").concat(fieldName, \" expects type \") + \"\".concat(inspect(ifaceField.type), \" but \").concat(type.name, \".\").concat(fieldName, \" \") + \"is type \".concat(inspect(typeField.type), \".\"), [// istanbul ignore next (TODO need to write coverage tests)\n (_ifaceField$astNode = ifaceField.astNode) === null || _ifaceField$astNode === void 0 ? void 0 : _ifaceField$astNode.type, // istanbul ignore next (TODO need to write coverage tests)\n (_typeField$astNode = typeField.astNode) === null || _typeField$astNode === void 0 ? void 0 : _typeField$astNode.type]);\n } // Assert each interface field arg is implemented.\n\n\n var _loop = function _loop(_i18, _ifaceField$args2) {\n var ifaceArg = _ifaceField$args2[_i18];\n var argName = ifaceArg.name;\n var typeArg = find(typeField.args, function (arg) {\n return arg.name === argName;\n }); // Assert interface field arg exists on object field.\n\n if (!typeArg) {\n context.reportError(\"Interface field argument \".concat(iface.name, \".\").concat(fieldName, \"(\").concat(argName, \":) expected but \").concat(type.name, \".\").concat(fieldName, \" does not provide it.\"), [ifaceArg.astNode, typeField.astNode]);\n return \"continue\";\n } // Assert interface field arg type matches object field arg type.\n // (invariant)\n // TODO: change to contravariant?\n\n\n if (!isEqualType(ifaceArg.type, typeArg.type)) {\n var _ifaceArg$astNode, _typeArg$astNode;\n\n context.reportError(\"Interface field argument \".concat(iface.name, \".\").concat(fieldName, \"(\").concat(argName, \":) \") + \"expects type \".concat(inspect(ifaceArg.type), \" but \") + \"\".concat(type.name, \".\").concat(fieldName, \"(\").concat(argName, \":) is type \") + \"\".concat(inspect(typeArg.type), \".\"), [// istanbul ignore next (TODO need to write coverage tests)\n (_ifaceArg$astNode = ifaceArg.astNode) === null || _ifaceArg$astNode === void 0 ? void 0 : _ifaceArg$astNode.type, // istanbul ignore next (TODO need to write coverage tests)\n (_typeArg$astNode = typeArg.astNode) === null || _typeArg$astNode === void 0 ? void 0 : _typeArg$astNode.type]);\n } // TODO: validate default values?\n\n };\n\n for (var _i18 = 0, _ifaceField$args2 = ifaceField.args; _i18 < _ifaceField$args2.length; _i18++) {\n var _ret = _loop(_i18, _ifaceField$args2);\n\n if (_ret === \"continue\") continue;\n } // Assert additional arguments must not be required.\n\n\n var _loop2 = function _loop2(_i20, _typeField$args2) {\n var typeArg = _typeField$args2[_i20];\n var argName = typeArg.name;\n var ifaceArg = find(ifaceField.args, function (arg) {\n return arg.name === argName;\n });\n\n if (!ifaceArg && isRequiredArgument(typeArg)) {\n context.reportError(\"Object field \".concat(type.name, \".\").concat(fieldName, \" includes required argument \").concat(argName, \" that is missing from the Interface field \").concat(iface.name, \".\").concat(fieldName, \".\"), [typeArg.astNode, ifaceField.astNode]);\n }\n };\n\n for (var _i20 = 0, _typeField$args2 = typeField.args; _i20 < _typeField$args2.length; _i20++) {\n _loop2(_i20, _typeField$args2);\n }\n }\n}\n\nfunction validateTypeImplementsAncestors(context, type, iface) {\n var ifaceInterfaces = type.getInterfaces();\n\n for (var _i22 = 0, _iface$getInterfaces2 = iface.getInterfaces(); _i22 < _iface$getInterfaces2.length; _i22++) {\n var transitive = _iface$getInterfaces2[_i22];\n\n if (ifaceInterfaces.indexOf(transitive) === -1) {\n context.reportError(transitive === type ? \"Type \".concat(type.name, \" cannot implement \").concat(iface.name, \" because it would create a circular reference.\") : \"Type \".concat(type.name, \" must implement \").concat(transitive.name, \" because it is implemented by \").concat(iface.name, \".\"), [].concat(getAllImplementsInterfaceNodes(iface, transitive), getAllImplementsInterfaceNodes(type, iface)));\n }\n }\n}\n\nfunction validateUnionMembers(context, union) {\n var memberTypes = union.getTypes();\n\n if (memberTypes.length === 0) {\n context.reportError(\"Union type \".concat(union.name, \" must define one or more member types.\"), getAllNodes(union));\n }\n\n var includedTypeNames = Object.create(null);\n\n for (var _i24 = 0; _i24 < memberTypes.length; _i24++) {\n var memberType = memberTypes[_i24];\n\n if (includedTypeNames[memberType.name]) {\n context.reportError(\"Union type \".concat(union.name, \" can only include type \").concat(memberType.name, \" once.\"), getUnionMemberTypeNodes(union, memberType.name));\n continue;\n }\n\n includedTypeNames[memberType.name] = true;\n\n if (!isObjectType(memberType)) {\n context.reportError(\"Union type \".concat(union.name, \" can only include Object types, \") + \"it cannot include \".concat(inspect(memberType), \".\"), getUnionMemberTypeNodes(union, String(memberType)));\n }\n }\n}\n\nfunction validateEnumValues(context, enumType) {\n var enumValues = enumType.getValues();\n\n if (enumValues.length === 0) {\n context.reportError(\"Enum type \".concat(enumType.name, \" must define one or more values.\"), getAllNodes(enumType));\n }\n\n for (var _i26 = 0; _i26 < enumValues.length; _i26++) {\n var enumValue = enumValues[_i26];\n var valueName = enumValue.name; // Ensure valid name.\n\n validateName(context, enumValue);\n\n if (valueName === 'true' || valueName === 'false' || valueName === 'null') {\n context.reportError(\"Enum type \".concat(enumType.name, \" cannot include value: \").concat(valueName, \".\"), enumValue.astNode);\n }\n }\n}\n\nfunction validateInputFields(context, inputObj) {\n var fields = objectValues(inputObj.getFields());\n\n if (fields.length === 0) {\n context.reportError(\"Input Object type \".concat(inputObj.name, \" must define one or more fields.\"), getAllNodes(inputObj));\n } // Ensure the arguments are valid\n\n\n for (var _i28 = 0; _i28 < fields.length; _i28++) {\n var field = fields[_i28];\n // Ensure they are named correctly.\n validateName(context, field); // Ensure the type is an input type\n\n if (!isInputType(field.type)) {\n var _field$astNode2;\n\n context.reportError(\"The type of \".concat(inputObj.name, \".\").concat(field.name, \" must be Input Type \") + \"but got: \".concat(inspect(field.type), \".\"), (_field$astNode2 = field.astNode) === null || _field$astNode2 === void 0 ? void 0 : _field$astNode2.type);\n }\n\n if (isRequiredInputField(field) && field.deprecationReason != null) {\n var _field$astNode3;\n\n context.reportError(\"Required input field \".concat(inputObj.name, \".\").concat(field.name, \" cannot be deprecated.\"), [getDeprecatedDirectiveNode(field.astNode), // istanbul ignore next (TODO need to write coverage tests)\n (_field$astNode3 = field.astNode) === null || _field$astNode3 === void 0 ? void 0 : _field$astNode3.type]);\n }\n }\n}\n\nfunction createInputObjectCircularRefsValidator(context) {\n // Modified copy of algorithm from 'src/validation/rules/NoFragmentCycles.js'.\n // Tracks already visited types to maintain O(N) and to ensure that cycles\n // are not redundantly reported.\n var visitedTypes = Object.create(null); // Array of types nodes used to produce meaningful errors\n\n var fieldPath = []; // Position in the type path\n\n var fieldPathIndexByTypeName = Object.create(null);\n return detectCycleRecursive; // This does a straight-forward DFS to find cycles.\n // It does not terminate when a cycle was found but continues to explore\n // the graph to find all possible cycles.\n\n function detectCycleRecursive(inputObj) {\n if (visitedTypes[inputObj.name]) {\n return;\n }\n\n visitedTypes[inputObj.name] = true;\n fieldPathIndexByTypeName[inputObj.name] = fieldPath.length;\n var fields = objectValues(inputObj.getFields());\n\n for (var _i30 = 0; _i30 < fields.length; _i30++) {\n var field = fields[_i30];\n\n if (isNonNullType(field.type) && isInputObjectType(field.type.ofType)) {\n var fieldType = field.type.ofType;\n var cycleIndex = fieldPathIndexByTypeName[fieldType.name];\n fieldPath.push(field);\n\n if (cycleIndex === undefined) {\n detectCycleRecursive(fieldType);\n } else {\n var cyclePath = fieldPath.slice(cycleIndex);\n var pathStr = cyclePath.map(function (fieldObj) {\n return fieldObj.name;\n }).join('.');\n context.reportError(\"Cannot reference Input Object \\\"\".concat(fieldType.name, \"\\\" within itself through a series of non-null fields: \\\"\").concat(pathStr, \"\\\".\"), cyclePath.map(function (fieldObj) {\n return fieldObj.astNode;\n }));\n }\n\n fieldPath.pop();\n }\n }\n\n fieldPathIndexByTypeName[inputObj.name] = undefined;\n }\n}\n\nfunction getAllNodes(object) {\n var astNode = object.astNode,\n extensionASTNodes = object.extensionASTNodes;\n return astNode ? extensionASTNodes ? [astNode].concat(extensionASTNodes) : [astNode] : extensionASTNodes !== null && extensionASTNodes !== void 0 ? extensionASTNodes : [];\n}\n\nfunction getAllSubNodes(object, getter) {\n var subNodes = [];\n\n for (var _i32 = 0, _getAllNodes2 = getAllNodes(object); _i32 < _getAllNodes2.length; _i32++) {\n var _getter;\n\n var node = _getAllNodes2[_i32];\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n subNodes = subNodes.concat((_getter = getter(node)) !== null && _getter !== void 0 ? _getter : []);\n }\n\n return subNodes;\n}\n\nfunction getAllImplementsInterfaceNodes(type, iface) {\n return getAllSubNodes(type, function (typeNode) {\n return typeNode.interfaces;\n }).filter(function (ifaceNode) {\n return ifaceNode.name.value === iface.name;\n });\n}\n\nfunction getUnionMemberTypeNodes(union, typeName) {\n return getAllSubNodes(union, function (unionNode) {\n return unionNode.types;\n }).filter(function (typeNode) {\n return typeNode.name.value === typeName;\n });\n}\n\nfunction getDeprecatedDirectiveNode(definitionNode) {\n var _definitionNode$direc;\n\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n return definitionNode === null || definitionNode === void 0 ? void 0 : (_definitionNode$direc = definitionNode.directives) === null || _definitionNode$direc === void 0 ? void 0 : _definitionNode$direc.find(function (node) {\n return node.name.value === GraphQLDeprecatedDirective.name;\n });\n}\n","'use strict';\n\n\nmodule.exports = require('./lib/');\n","import { parse, typeFromAST, visit, } from 'graphql';\nexport default function getOperationFacts(schema, documentStr) {\n if (!documentStr) {\n return;\n }\n var documentAST;\n try {\n documentAST = parse(documentStr, {\n experimentalFragmentVariables: true,\n });\n }\n catch (_a) {\n return;\n }\n var variableToType = schema\n ? collectVariables(schema, documentAST)\n : undefined;\n var operations = [];\n visit(documentAST, {\n OperationDefinition: function (node) {\n operations.push(node);\n },\n });\n return { variableToType: variableToType, operations: operations, documentAST: documentAST };\n}\nexport var getQueryFacts = getOperationFacts;\nexport function collectVariables(schema, documentAST) {\n var variableToType = Object.create(null);\n documentAST.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n var variableDefinitions = definition.variableDefinitions;\n if (variableDefinitions) {\n variableDefinitions.forEach(function (_a) {\n var variable = _a.variable, type = _a.type;\n var inputType = typeFromAST(schema, type);\n if (inputType) {\n variableToType[variable.name.value] = inputType;\n }\n });\n }\n }\n });\n return variableToType;\n}\n//# sourceMappingURL=getQueryFacts.js.map","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nvar ToolbarMenu = (function (_super) {\n __extends(ToolbarMenu, _super);\n function ToolbarMenu(props) {\n var _this = _super.call(this, props) || this;\n _this._node = null;\n _this._listener = null;\n _this.handleOpen = function (e) {\n preventDefault(e);\n _this.setState({ visible: true });\n _this._subscribe();\n };\n _this.state = { visible: false };\n return _this;\n }\n ToolbarMenu.prototype.componentWillUnmount = function () {\n this._release();\n };\n ToolbarMenu.prototype.render = function () {\n var _this = this;\n var visible = this.state.visible;\n return (React.createElement(\"a\", { className: \"toolbar-menu toolbar-button\", onClick: this.handleOpen.bind(this), onMouseDown: preventDefault, ref: function (node) {\n if (node) {\n _this._node = node;\n }\n }, title: this.props.title },\n this.props.label,\n React.createElement(\"svg\", { width: \"14\", height: \"8\" },\n React.createElement(\"path\", { fill: \"#666\", d: \"M 5 1.5 L 14 1.5 L 9.5 7 z\" })),\n React.createElement(\"ul\", { className: 'toolbar-menu-items' + (visible ? ' open' : '') }, this.props.children)));\n };\n ToolbarMenu.prototype._subscribe = function () {\n if (!this._listener) {\n this._listener = this.handleClick.bind(this);\n document.addEventListener('click', this._listener);\n }\n };\n ToolbarMenu.prototype._release = function () {\n if (this._listener) {\n document.removeEventListener('click', this._listener);\n this._listener = null;\n }\n };\n ToolbarMenu.prototype.handleClick = function (e) {\n if (this._node !== e.target) {\n e.preventDefault();\n this.setState({ visible: false });\n this._release();\n }\n };\n return ToolbarMenu;\n}(React.Component));\nexport { ToolbarMenu };\nexport var ToolbarMenuItem = function (_a) {\n var onSelect = _a.onSelect, title = _a.title, label = _a.label;\n return (React.createElement(\"li\", { onMouseOver: function (e) {\n e.currentTarget.className = 'hover';\n }, onMouseOut: function (e) {\n e.currentTarget.className = '';\n }, onMouseDown: preventDefault, onMouseUp: onSelect, title: title }, label));\n};\nfunction preventDefault(e) {\n e.preventDefault();\n}\n//# sourceMappingURL=ToolbarMenu.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport onHasCompletion from '../utility/onHasCompletion';\nimport commonKeys from '../utility/commonKeys';\nvar VariableEditor = (function (_super) {\n __extends(VariableEditor, _super);\n function VariableEditor(props) {\n var _this = _super.call(this, props) || this;\n _this.editor = null;\n _this._node = null;\n _this.ignoreChangeEvent = false;\n _this._onKeyUp = function (_cm, event) {\n var code = event.keyCode;\n if (!_this.editor) {\n return;\n }\n if ((code >= 65 && code <= 90) ||\n (!event.shiftKey && code >= 48 && code <= 57) ||\n (event.shiftKey && code === 189) ||\n (event.shiftKey && code === 222)) {\n _this.editor.execCommand('autocomplete');\n }\n };\n _this._onEdit = function () {\n if (!_this.editor) {\n return;\n }\n if (!_this.ignoreChangeEvent) {\n _this.cachedValue = _this.editor.getValue();\n if (_this.props.onEdit) {\n _this.props.onEdit(_this.cachedValue);\n }\n }\n };\n _this._onHasCompletion = function (instance, changeObj) {\n onHasCompletion(instance, changeObj, _this.props.onHintInformationRender);\n };\n _this.cachedValue = props.value || '';\n return _this;\n }\n VariableEditor.prototype.componentDidMount = function () {\n var _this = this;\n this.CodeMirror = require('codemirror');\n require('codemirror/addon/hint/show-hint');\n require('codemirror/addon/edit/matchbrackets');\n require('codemirror/addon/edit/closebrackets');\n require('codemirror/addon/fold/brace-fold');\n require('codemirror/addon/fold/foldgutter');\n require('codemirror/addon/lint/lint');\n require('codemirror/addon/search/searchcursor');\n require('codemirror/addon/search/jump-to-line');\n require('codemirror/addon/dialog/dialog');\n require('codemirror/keymap/sublime');\n require('codemirror-graphql/variables/hint');\n require('codemirror-graphql/variables/lint');\n require('codemirror-graphql/variables/mode');\n var editor = (this.editor = this.CodeMirror(this._node, {\n value: this.props.value || '',\n lineNumbers: true,\n tabSize: 2,\n mode: 'graphql-variables',\n theme: this.props.editorTheme || 'graphiql',\n keyMap: 'sublime',\n autoCloseBrackets: true,\n matchBrackets: true,\n showCursorWhenSelecting: true,\n readOnly: this.props.readOnly ? 'nocursor' : false,\n foldGutter: {\n minFoldSize: 4,\n },\n lint: {\n variableToType: this.props.variableToType,\n },\n hintOptions: {\n variableToType: this.props.variableToType,\n closeOnUnfocus: false,\n completeSingle: false,\n container: this._node,\n },\n gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\n extraKeys: __assign({ 'Cmd-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Ctrl-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Alt-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Shift-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Cmd-Enter': function () {\n if (_this.props.onRunQuery) {\n _this.props.onRunQuery();\n }\n }, 'Ctrl-Enter': function () {\n if (_this.props.onRunQuery) {\n _this.props.onRunQuery();\n }\n }, 'Shift-Ctrl-P': function () {\n if (_this.props.onPrettifyQuery) {\n _this.props.onPrettifyQuery();\n }\n }, 'Shift-Ctrl-M': function () {\n if (_this.props.onMergeQuery) {\n _this.props.onMergeQuery();\n }\n } }, commonKeys),\n }));\n editor.on('change', this._onEdit);\n editor.on('keyup', this._onKeyUp);\n editor.on('hasCompletion', this._onHasCompletion);\n };\n VariableEditor.prototype.componentDidUpdate = function (prevProps) {\n this.CodeMirror = require('codemirror');\n if (!this.editor) {\n return;\n }\n this.ignoreChangeEvent = true;\n if (this.props.variableToType !== prevProps.variableToType) {\n this.editor.options.lint.variableToType = this.props.variableToType;\n this.editor.options.hintOptions.variableToType = this.props.variableToType;\n this.CodeMirror.signal(this.editor, 'change', this.editor);\n }\n if (this.props.value !== prevProps.value &&\n this.props.value !== this.cachedValue) {\n var thisValue = this.props.value || '';\n this.cachedValue = thisValue;\n this.editor.setValue(thisValue);\n }\n this.ignoreChangeEvent = false;\n };\n VariableEditor.prototype.componentWillUnmount = function () {\n if (!this.editor) {\n return;\n }\n this.editor.off('change', this._onEdit);\n this.editor.off('keyup', this._onKeyUp);\n this.editor.off('hasCompletion', this._onHasCompletion);\n this.editor = null;\n };\n VariableEditor.prototype.render = function () {\n var _this = this;\n return (React.createElement(\"div\", { className: \"codemirrorWrap\", style: {\n position: this.props.active ? 'relative' : 'absolute',\n visibility: this.props.active ? 'visible' : 'hidden',\n }, ref: function (node) {\n _this._node = node;\n } }));\n };\n VariableEditor.prototype.getCodeMirror = function () {\n return this.editor;\n };\n VariableEditor.prototype.getClientHeight = function () {\n return this._node && this._node.clientHeight;\n };\n return VariableEditor;\n}(React.Component));\nexport { VariableEditor };\n//# sourceMappingURL=VariableEditor.js.map","export default function getSelectedOperationName(prevOperations, prevSelectedOperationName, operations) {\n if (!operations || operations.length < 1) {\n return;\n }\n var names = operations.map(function (op) { return op.name && op.name.value; });\n if (prevSelectedOperationName &&\n names.indexOf(prevSelectedOperationName) !== -1) {\n return prevSelectedOperationName;\n }\n if (prevSelectedOperationName && prevOperations) {\n var prevNames = prevOperations.map(function (op) { return op.name && op.name.value; });\n var prevIndex = prevNames.indexOf(prevSelectedOperationName);\n if (prevIndex !== -1 && prevIndex < names.length) {\n return names[prevIndex];\n }\n }\n return names[0];\n}\n//# sourceMappingURL=getSelectedOperationName.js.map","export var invalidCharacters = Array.from({ length: 11 }, function (_, i) {\n return String.fromCharCode(0x2000 + i);\n}).concat(['\\u2028', '\\u2029', '\\u202f', '\\u00a0']);\nvar sanitizeRegex = new RegExp('[' + invalidCharacters.join('') + ']', 'g');\nexport function normalizeWhitespace(line) {\n return line.replace(sanitizeRegex, ' ');\n}\n//# sourceMappingURL=normalizeWhitespace.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport MD from 'markdown-it';\nimport { normalizeWhitespace } from '../utility/normalizeWhitespace';\nimport onHasCompletion from '../utility/onHasCompletion';\nimport commonKeys from '../utility/commonKeys';\nvar md = new MD();\nvar AUTO_COMPLETE_AFTER_KEY = /^[a-zA-Z0-9_@(]$/;\nvar QueryEditor = (function (_super) {\n __extends(QueryEditor, _super);\n function QueryEditor(props) {\n var _this = _super.call(this, props) || this;\n _this.editor = null;\n _this.ignoreChangeEvent = false;\n _this._node = null;\n _this._onKeyUp = function (_cm, event) {\n if (AUTO_COMPLETE_AFTER_KEY.test(event.key) && _this.editor) {\n _this.editor.execCommand('autocomplete');\n }\n };\n _this._onEdit = function () {\n if (!_this.ignoreChangeEvent && _this.editor) {\n _this.cachedValue = _this.editor.getValue();\n if (_this.props.onEdit) {\n _this.props.onEdit(_this.cachedValue);\n }\n }\n };\n _this._onHasCompletion = function (cm, data) {\n onHasCompletion(cm, data, _this.props.onHintInformationRender);\n };\n _this.cachedValue = props.value || '';\n return _this;\n }\n QueryEditor.prototype.componentDidMount = function () {\n var _this = this;\n var _a, _b, _c;\n var CodeMirror = require('codemirror');\n require('codemirror/addon/hint/show-hint');\n require('codemirror/addon/comment/comment');\n require('codemirror/addon/edit/matchbrackets');\n require('codemirror/addon/edit/closebrackets');\n require('codemirror/addon/fold/foldgutter');\n require('codemirror/addon/fold/brace-fold');\n require('codemirror/addon/search/search');\n require('codemirror/addon/search/searchcursor');\n require('codemirror/addon/search/jump-to-line');\n require('codemirror/addon/dialog/dialog');\n require('codemirror/addon/lint/lint');\n require('codemirror/keymap/sublime');\n require('codemirror-graphql/hint');\n require('codemirror-graphql/lint');\n require('codemirror-graphql/info');\n require('codemirror-graphql/jump');\n require('codemirror-graphql/mode');\n var editor = (this.editor = CodeMirror(this._node, {\n value: this.props.value || '',\n lineNumbers: true,\n tabSize: 2,\n mode: 'graphql',\n theme: this.props.editorTheme || 'graphiql',\n keyMap: 'sublime',\n autoCloseBrackets: true,\n matchBrackets: true,\n showCursorWhenSelecting: true,\n readOnly: this.props.readOnly ? 'nocursor' : false,\n foldGutter: {\n minFoldSize: 4,\n },\n lint: {\n schema: this.props.schema,\n validationRules: (_a = this.props.validationRules) !== null && _a !== void 0 ? _a : null,\n externalFragments: (_b = this.props) === null || _b === void 0 ? void 0 : _b.externalFragments,\n },\n hintOptions: {\n schema: this.props.schema,\n closeOnUnfocus: false,\n completeSingle: false,\n container: this._node,\n externalFragments: (_c = this.props) === null || _c === void 0 ? void 0 : _c.externalFragments,\n },\n info: {\n schema: this.props.schema,\n renderDescription: function (text) { return md.render(text); },\n onClick: function (reference) {\n return _this.props.onClickReference && _this.props.onClickReference(reference);\n },\n },\n jump: {\n schema: this.props.schema,\n onClick: function (reference) {\n return _this.props.onClickReference && _this.props.onClickReference(reference);\n },\n },\n gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\n extraKeys: __assign(__assign({ 'Cmd-Space': function () {\n return editor.showHint({ completeSingle: true, container: _this._node });\n }, 'Ctrl-Space': function () {\n return editor.showHint({ completeSingle: true, container: _this._node });\n }, 'Alt-Space': function () {\n return editor.showHint({ completeSingle: true, container: _this._node });\n }, 'Shift-Space': function () {\n return editor.showHint({ completeSingle: true, container: _this._node });\n }, 'Shift-Alt-Space': function () {\n return editor.showHint({ completeSingle: true, container: _this._node });\n }, 'Cmd-Enter': function () {\n if (_this.props.onRunQuery) {\n _this.props.onRunQuery();\n }\n }, 'Ctrl-Enter': function () {\n if (_this.props.onRunQuery) {\n _this.props.onRunQuery();\n }\n }, 'Shift-Ctrl-C': function () {\n if (_this.props.onCopyQuery) {\n _this.props.onCopyQuery();\n }\n }, 'Shift-Ctrl-P': function () {\n if (_this.props.onPrettifyQuery) {\n _this.props.onPrettifyQuery();\n }\n }, 'Shift-Ctrl-F': function () {\n if (_this.props.onPrettifyQuery) {\n _this.props.onPrettifyQuery();\n }\n }, 'Shift-Ctrl-M': function () {\n if (_this.props.onMergeQuery) {\n _this.props.onMergeQuery();\n }\n } }, commonKeys), { 'Cmd-S': function () {\n if (_this.props.onRunQuery) {\n }\n }, 'Ctrl-S': function () {\n if (_this.props.onRunQuery) {\n }\n } }),\n }));\n if (editor) {\n editor.on('change', this._onEdit);\n editor.on('keyup', this._onKeyUp);\n editor.on('hasCompletion', this._onHasCompletion);\n editor.on('beforeChange', this._onBeforeChange);\n }\n };\n QueryEditor.prototype.componentDidUpdate = function (prevProps) {\n var CodeMirror = require('codemirror');\n this.ignoreChangeEvent = true;\n if (this.props.schema !== prevProps.schema && this.editor) {\n this.editor.options.lint.schema = this.props.schema;\n this.editor.options.hintOptions.schema = this.props.schema;\n this.editor.options.info.schema = this.props.schema;\n this.editor.options.jump.schema = this.props.schema;\n CodeMirror.signal(this.editor, 'change', this.editor);\n }\n if (this.props.value !== prevProps.value &&\n this.props.value !== this.cachedValue &&\n this.editor) {\n this.cachedValue = this.props.value;\n this.editor.setValue(this.props.value);\n }\n this.ignoreChangeEvent = false;\n };\n QueryEditor.prototype.componentWillUnmount = function () {\n if (this.editor) {\n this.editor.off('change', this._onEdit);\n this.editor.off('keyup', this._onKeyUp);\n this.editor.off('hasCompletion', this._onHasCompletion);\n this.editor = null;\n }\n };\n QueryEditor.prototype.render = function () {\n var _this = this;\n return (React.createElement(\"section\", { className: \"query-editor\", \"aria-label\": \"Query Editor\", ref: function (node) {\n _this._node = node;\n } }));\n };\n QueryEditor.prototype.getCodeMirror = function () {\n return this.editor;\n };\n QueryEditor.prototype.getClientHeight = function () {\n return this._node && this._node.clientHeight;\n };\n QueryEditor.prototype._onBeforeChange = function (_instance, change) {\n if (change.origin === 'paste') {\n var text = change.text.map(normalizeWhitespace);\n change.update(change.from, change.to, text);\n }\n };\n return QueryEditor;\n}(React.Component));\nexport { QueryEditor };\n//# sourceMappingURL=QueryEditor.js.map","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getIntrospectionQuery } from 'graphql';\nexport var introspectionQuery = getIntrospectionQuery();\nexport var staticName = 'IntrospectionQuery';\nexport var introspectionQueryName = staticName;\nexport var introspectionQuerySansSubscriptions = introspectionQuery.replace('subscriptionType { name }', '');\n//# sourceMappingURL=introspectionQueries.js.map","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// declare global: DOMRect\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var HINT_ELEMENT_CLASS = \"CodeMirror-hint\";\n var ACTIVE_HINT_ELEMENT_CLASS = \"CodeMirror-hint-active\";\n\n // This is the old interface, kept around for now to stay\n // backwards-compatible.\n CodeMirror.showHint = function(cm, getHints, options) {\n if (!getHints) return cm.showHint(options);\n if (options && options.async) getHints.async = true;\n var newOpts = {hint: getHints};\n if (options) for (var prop in options) newOpts[prop] = options[prop];\n return cm.showHint(newOpts);\n };\n\n CodeMirror.defineExtension(\"showHint\", function(options) {\n options = parseOptions(this, this.getCursor(\"start\"), options);\n var selections = this.listSelections()\n if (selections.length > 1) return;\n // By default, don't allow completion when something is selected.\n // A hint function can have a `supportsSelection` property to\n // indicate that it can handle selections.\n if (this.somethingSelected()) {\n if (!options.hint.supportsSelection) return;\n // Don't try with cross-line selections\n for (var i = 0; i < selections.length; i++)\n if (selections[i].head.line != selections[i].anchor.line) return;\n }\n\n if (this.state.completionActive) this.state.completionActive.close();\n var completion = this.state.completionActive = new Completion(this, options);\n if (!completion.options.hint) return;\n\n CodeMirror.signal(this, \"startCompletion\", this);\n completion.update(true);\n });\n\n CodeMirror.defineExtension(\"closeHint\", function() {\n if (this.state.completionActive) this.state.completionActive.close()\n })\n\n function Completion(cm, options) {\n this.cm = cm;\n this.options = options;\n this.widget = null;\n this.debounce = 0;\n this.tick = 0;\n this.startPos = this.cm.getCursor(\"start\");\n this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\n\n if (this.options.updateOnCursorActivity) {\n var self = this;\n cm.on(\"cursorActivity\", this.activityFunc = function() { self.cursorActivity(); });\n }\n }\n\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\n return setTimeout(fn, 1000/60);\n };\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\n\n Completion.prototype = {\n close: function() {\n if (!this.active()) return;\n this.cm.state.completionActive = null;\n this.tick = null;\n if (this.options.updateOnCursorActivity) {\n this.cm.off(\"cursorActivity\", this.activityFunc);\n }\n\n if (this.widget && this.data) CodeMirror.signal(this.data, \"close\");\n if (this.widget) this.widget.close();\n CodeMirror.signal(this.cm, \"endCompletion\", this.cm);\n },\n\n active: function() {\n return this.cm.state.completionActive == this;\n },\n\n pick: function(data, i) {\n var completion = data.list[i], self = this;\n this.cm.operation(function() {\n if (completion.hint)\n completion.hint(self.cm, data, completion);\n else\n self.cm.replaceRange(getText(completion), completion.from || data.from,\n completion.to || data.to, \"complete\");\n CodeMirror.signal(data, \"pick\", completion);\n self.cm.scrollIntoView();\n });\n if (this.options.closeOnPick) {\n this.close();\n }\n },\n\n cursorActivity: function() {\n if (this.debounce) {\n cancelAnimationFrame(this.debounce);\n this.debounce = 0;\n }\n\n var identStart = this.startPos;\n if(this.data) {\n identStart = this.data.from;\n }\n\n var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);\n if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||\n pos.ch < identStart.ch || this.cm.somethingSelected() ||\n (!pos.ch || this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {\n this.close();\n } else {\n var self = this;\n this.debounce = requestAnimationFrame(function() {self.update();});\n if (this.widget) this.widget.disable();\n }\n },\n\n update: function(first) {\n if (this.tick == null) return\n var self = this, myTick = ++this.tick\n fetchHints(this.options.hint, this.cm, this.options, function(data) {\n if (self.tick == myTick) self.finishUpdate(data, first)\n })\n },\n\n finishUpdate: function(data, first) {\n if (this.data) CodeMirror.signal(this.data, \"update\");\n\n var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);\n if (this.widget) this.widget.close();\n\n this.data = data;\n\n if (data && data.list.length) {\n if (picked && data.list.length == 1) {\n this.pick(data, 0);\n } else {\n this.widget = new Widget(this, data);\n CodeMirror.signal(data, \"shown\");\n }\n }\n }\n };\n\n function parseOptions(cm, pos, options) {\n var editor = cm.options.hintOptions;\n var out = {};\n for (var prop in defaultOptions) out[prop] = defaultOptions[prop];\n if (editor) for (var prop in editor)\n if (editor[prop] !== undefined) out[prop] = editor[prop];\n if (options) for (var prop in options)\n if (options[prop] !== undefined) out[prop] = options[prop];\n if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)\n return out;\n }\n\n function getText(completion) {\n if (typeof completion == \"string\") return completion;\n else return completion.text;\n }\n\n function buildKeyMap(completion, handle) {\n var baseMap = {\n Up: function() {handle.moveFocus(-1);},\n Down: function() {handle.moveFocus(1);},\n PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},\n PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},\n Home: function() {handle.setFocus(0);},\n End: function() {handle.setFocus(handle.length - 1);},\n Enter: handle.pick,\n Tab: handle.pick,\n Esc: handle.close\n };\n\n var mac = /Mac/.test(navigator.platform);\n\n if (mac) {\n baseMap[\"Ctrl-P\"] = function() {handle.moveFocus(-1);};\n baseMap[\"Ctrl-N\"] = function() {handle.moveFocus(1);};\n }\n\n var custom = completion.options.customKeys;\n var ourMap = custom ? {} : baseMap;\n function addBinding(key, val) {\n var bound;\n if (typeof val != \"string\")\n bound = function(cm) { return val(cm, handle); };\n // This mechanism is deprecated\n else if (baseMap.hasOwnProperty(val))\n bound = baseMap[val];\n else\n bound = val;\n ourMap[key] = bound;\n }\n if (custom)\n for (var key in custom) if (custom.hasOwnProperty(key))\n addBinding(key, custom[key]);\n var extra = completion.options.extraKeys;\n if (extra)\n for (var key in extra) if (extra.hasOwnProperty(key))\n addBinding(key, extra[key]);\n return ourMap;\n }\n\n function getHintElement(hintsElement, el) {\n while (el && el != hintsElement) {\n if (el.nodeName.toUpperCase() === \"LI\" && el.parentNode == hintsElement) return el;\n el = el.parentNode;\n }\n }\n\n function Widget(completion, data) {\n this.completion = completion;\n this.data = data;\n this.picked = false;\n var widget = this, cm = completion.cm;\n var ownerDocument = cm.getInputField().ownerDocument;\n var parentWindow = ownerDocument.defaultView || ownerDocument.parentWindow;\n\n var hints = this.hints = ownerDocument.createElement(\"ul\");\n var theme = completion.cm.options.theme;\n hints.className = \"CodeMirror-hints \" + theme;\n this.selectedHint = data.selectedHint || 0;\n\n var completions = data.list;\n for (var i = 0; i < completions.length; ++i) {\n var elt = hints.appendChild(ownerDocument.createElement(\"li\")), cur = completions[i];\n var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? \"\" : \" \" + ACTIVE_HINT_ELEMENT_CLASS);\n if (cur.className != null) className = cur.className + \" \" + className;\n elt.className = className;\n if (cur.render) cur.render(elt, data, cur);\n else elt.appendChild(ownerDocument.createTextNode(cur.displayText || getText(cur)));\n elt.hintId = i;\n }\n\n var container = completion.options.container || ownerDocument.body;\n var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);\n var left = pos.left, top = pos.bottom, below = true;\n var offsetLeft = 0, offsetTop = 0;\n if (container !== ownerDocument.body) {\n // We offset the cursor position because left and top are relative to the offsetParent's top left corner.\n var isContainerPositioned = ['absolute', 'relative', 'fixed'].indexOf(parentWindow.getComputedStyle(container).position) !== -1;\n var offsetParent = isContainerPositioned ? container : container.offsetParent;\n var offsetParentPosition = offsetParent.getBoundingClientRect();\n var bodyPosition = ownerDocument.body.getBoundingClientRect();\n offsetLeft = (offsetParentPosition.left - bodyPosition.left - offsetParent.scrollLeft);\n offsetTop = (offsetParentPosition.top - bodyPosition.top - offsetParent.scrollTop);\n }\n hints.style.left = (left - offsetLeft) + \"px\";\n hints.style.top = (top - offsetTop) + \"px\";\n\n // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.\n var winW = parentWindow.innerWidth || Math.max(ownerDocument.body.offsetWidth, ownerDocument.documentElement.offsetWidth);\n var winH = parentWindow.innerHeight || Math.max(ownerDocument.body.offsetHeight, ownerDocument.documentElement.offsetHeight);\n container.appendChild(hints);\n\n var box = completion.options.moveOnOverlap ? hints.getBoundingClientRect() : new DOMRect();\n var scrolls = completion.options.paddingForScrollbar ? hints.scrollHeight > hints.clientHeight + 1 : false;\n\n // Compute in the timeout to avoid reflow on init\n var startScroll;\n setTimeout(function() { startScroll = cm.getScrollInfo(); });\n\n var overlapY = box.bottom - winH;\n if (overlapY > 0) {\n var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);\n if (curTop - height > 0) { // Fits above cursor\n hints.style.top = (top = pos.top - height - offsetTop) + \"px\";\n below = false;\n } else if (height > winH) {\n hints.style.height = (winH - 5) + \"px\";\n hints.style.top = (top = pos.bottom - box.top - offsetTop) + \"px\";\n var cursor = cm.getCursor();\n if (data.from.ch != cursor.ch) {\n pos = cm.cursorCoords(cursor);\n hints.style.left = (left = pos.left - offsetLeft) + \"px\";\n box = hints.getBoundingClientRect();\n }\n }\n }\n var overlapX = box.right - winW;\n if (overlapX > 0) {\n if (box.right - box.left > winW) {\n hints.style.width = (winW - 5) + \"px\";\n overlapX -= (box.right - box.left) - winW;\n }\n hints.style.left = (left = pos.left - overlapX - offsetLeft) + \"px\";\n }\n if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)\n node.style.paddingRight = cm.display.nativeBarWidth + \"px\"\n\n cm.addKeyMap(this.keyMap = buildKeyMap(completion, {\n moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },\n setFocus: function(n) { widget.changeActive(n); },\n menuSize: function() { return widget.screenAmount(); },\n length: completions.length,\n close: function() { completion.close(); },\n pick: function() { widget.pick(); },\n data: data\n }));\n\n if (completion.options.closeOnUnfocus) {\n var closingOnBlur;\n cm.on(\"blur\", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });\n cm.on(\"focus\", this.onFocus = function() { clearTimeout(closingOnBlur); });\n }\n\n cm.on(\"scroll\", this.onScroll = function() {\n var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();\n var newTop = top + startScroll.top - curScroll.top;\n var point = newTop - (parentWindow.pageYOffset || (ownerDocument.documentElement || ownerDocument.body).scrollTop);\n if (!below) point += hints.offsetHeight;\n if (point <= editor.top || point >= editor.bottom) return completion.close();\n hints.style.top = newTop + \"px\";\n hints.style.left = (left + startScroll.left - curScroll.left) + \"px\";\n });\n\n CodeMirror.on(hints, \"dblclick\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}\n });\n\n CodeMirror.on(hints, \"click\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {\n widget.changeActive(t.hintId);\n if (completion.options.completeOnSingleClick) widget.pick();\n }\n });\n\n CodeMirror.on(hints, \"mousedown\", function() {\n setTimeout(function(){cm.focus();}, 20);\n });\n\n // The first hint doesn't need to be scrolled to on init\n var selectedHintRange = this.getSelectedHintRange();\n if (selectedHintRange.from !== 0 || selectedHintRange.to !== 0) {\n this.scrollToActive();\n }\n\n CodeMirror.signal(data, \"select\", completions[this.selectedHint], hints.childNodes[this.selectedHint]);\n return true;\n }\n\n Widget.prototype = {\n close: function() {\n if (this.completion.widget != this) return;\n this.completion.widget = null;\n this.hints.parentNode.removeChild(this.hints);\n this.completion.cm.removeKeyMap(this.keyMap);\n\n var cm = this.completion.cm;\n if (this.completion.options.closeOnUnfocus) {\n cm.off(\"blur\", this.onBlur);\n cm.off(\"focus\", this.onFocus);\n }\n cm.off(\"scroll\", this.onScroll);\n },\n\n disable: function() {\n this.completion.cm.removeKeyMap(this.keyMap);\n var widget = this;\n this.keyMap = {Enter: function() { widget.picked = true; }};\n this.completion.cm.addKeyMap(this.keyMap);\n },\n\n pick: function() {\n this.completion.pick(this.data, this.selectedHint);\n },\n\n changeActive: function(i, avoidWrap) {\n if (i >= this.data.list.length)\n i = avoidWrap ? this.data.list.length - 1 : 0;\n else if (i < 0)\n i = avoidWrap ? 0 : this.data.list.length - 1;\n if (this.selectedHint == i) return;\n var node = this.hints.childNodes[this.selectedHint];\n if (node) node.className = node.className.replace(\" \" + ACTIVE_HINT_ELEMENT_CLASS, \"\");\n node = this.hints.childNodes[this.selectedHint = i];\n node.className += \" \" + ACTIVE_HINT_ELEMENT_CLASS;\n this.scrollToActive()\n CodeMirror.signal(this.data, \"select\", this.data.list[this.selectedHint], node);\n },\n\n scrollToActive: function() {\n var selectedHintRange = this.getSelectedHintRange();\n var node1 = this.hints.childNodes[selectedHintRange.from];\n var node2 = this.hints.childNodes[selectedHintRange.to];\n var firstNode = this.hints.firstChild;\n if (node1.offsetTop < this.hints.scrollTop)\n this.hints.scrollTop = node1.offsetTop - firstNode.offsetTop;\n else if (node2.offsetTop + node2.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)\n this.hints.scrollTop = node2.offsetTop + node2.offsetHeight - this.hints.clientHeight + firstNode.offsetTop;\n },\n\n screenAmount: function() {\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;\n },\n\n getSelectedHintRange: function() {\n var margin = this.completion.options.scrollMargin || 0;\n return {\n from: Math.max(0, this.selectedHint - margin),\n to: Math.min(this.data.list.length - 1, this.selectedHint + margin),\n };\n }\n };\n\n function applicableHelpers(cm, helpers) {\n if (!cm.somethingSelected()) return helpers\n var result = []\n for (var i = 0; i < helpers.length; i++)\n if (helpers[i].supportsSelection) result.push(helpers[i])\n return result\n }\n\n function fetchHints(hint, cm, options, callback) {\n if (hint.async) {\n hint(cm, callback, options)\n } else {\n var result = hint(cm, options)\n if (result && result.then) result.then(callback)\n else callback(result)\n }\n }\n\n function resolveAutoHints(cm, pos) {\n var helpers = cm.getHelpers(pos, \"hint\"), words\n if (helpers.length) {\n var resolved = function(cm, callback, options) {\n var app = applicableHelpers(cm, helpers);\n function run(i) {\n if (i == app.length) return callback(null)\n fetchHints(app[i], cm, options, function(result) {\n if (result && result.list.length > 0) callback(result)\n else run(i + 1)\n })\n }\n run(0)\n }\n resolved.async = true\n resolved.supportsSelection = true\n return resolved\n } else if (words = cm.getHelper(cm.getCursor(), \"hintWords\")) {\n return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }\n } else if (CodeMirror.hint.anyword) {\n return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }\n } else {\n return function() {}\n }\n }\n\n CodeMirror.registerHelper(\"hint\", \"auto\", {\n resolve: resolveAutoHints\n });\n\n CodeMirror.registerHelper(\"hint\", \"fromList\", function(cm, options) {\n var cur = cm.getCursor(), token = cm.getTokenAt(cur)\n var term, from = CodeMirror.Pos(cur.line, token.start), to = cur\n if (token.start < cur.ch && /\\w/.test(token.string.charAt(cur.ch - token.start - 1))) {\n term = token.string.substr(0, cur.ch - token.start)\n } else {\n term = \"\"\n from = cur\n }\n var found = [];\n for (var i = 0; i < options.words.length; i++) {\n var word = options.words[i];\n if (word.slice(0, term.length) == term)\n found.push(word);\n }\n\n if (found.length) return {list: found, from: from, to: to};\n });\n\n CodeMirror.commands.autocomplete = CodeMirror.showHint;\n\n var defaultOptions = {\n hint: CodeMirror.hint.auto,\n completeSingle: true,\n alignWithWord: true,\n closeCharacters: /[\\s()\\[\\]{};:>,]/,\n closeOnPick: true,\n closeOnUnfocus: true,\n updateOnCursorActivity: true,\n completeOnSingleClick: true,\n container: null,\n customKeys: null,\n extraKeys: null,\n paddingForScrollbar: true,\n moveOnOverlap: true,\n };\n\n CodeMirror.defineOption(\"hintOptions\", null);\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"./foldcode\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"./foldcode\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"foldGutter\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.clearGutter(cm.state.foldGutter.options.gutter);\n cm.state.foldGutter = null;\n cm.off(\"gutterClick\", onGutterClick);\n cm.off(\"changes\", onChange);\n cm.off(\"viewportChange\", onViewportChange);\n cm.off(\"fold\", onFold);\n cm.off(\"unfold\", onFold);\n cm.off(\"swapDoc\", onChange);\n }\n if (val) {\n cm.state.foldGutter = new State(parseOptions(val));\n updateInViewport(cm);\n cm.on(\"gutterClick\", onGutterClick);\n cm.on(\"changes\", onChange);\n cm.on(\"viewportChange\", onViewportChange);\n cm.on(\"fold\", onFold);\n cm.on(\"unfold\", onFold);\n cm.on(\"swapDoc\", onChange);\n }\n });\n\n var Pos = CodeMirror.Pos;\n\n function State(options) {\n this.options = options;\n this.from = this.to = 0;\n }\n\n function parseOptions(opts) {\n if (opts === true) opts = {};\n if (opts.gutter == null) opts.gutter = \"CodeMirror-foldgutter\";\n if (opts.indicatorOpen == null) opts.indicatorOpen = \"CodeMirror-foldgutter-open\";\n if (opts.indicatorFolded == null) opts.indicatorFolded = \"CodeMirror-foldgutter-folded\";\n return opts;\n }\n\n function isFolded(cm, line) {\n var marks = cm.findMarks(Pos(line, 0), Pos(line + 1, 0));\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold) {\n var fromPos = marks[i].find(-1);\n if (fromPos && fromPos.line === line)\n return marks[i];\n }\n }\n }\n\n function marker(spec) {\n if (typeof spec == \"string\") {\n var elt = document.createElement(\"div\");\n elt.className = spec + \" CodeMirror-guttermarker-subtle\";\n return elt;\n } else {\n return spec.cloneNode(true);\n }\n }\n\n function updateFoldInfo(cm, from, to) {\n var opts = cm.state.foldGutter.options, cur = from - 1;\n var minSize = cm.foldOption(opts, \"minFoldSize\");\n var func = cm.foldOption(opts, \"rangeFinder\");\n // we can reuse the built-in indicator element if its className matches the new state\n var clsFolded = typeof opts.indicatorFolded == \"string\" && classTest(opts.indicatorFolded);\n var clsOpen = typeof opts.indicatorOpen == \"string\" && classTest(opts.indicatorOpen);\n cm.eachLine(from, to, function(line) {\n ++cur;\n var mark = null;\n var old = line.gutterMarkers;\n if (old) old = old[opts.gutter];\n if (isFolded(cm, cur)) {\n if (clsFolded && old && clsFolded.test(old.className)) return;\n mark = marker(opts.indicatorFolded);\n } else {\n var pos = Pos(cur, 0);\n var range = func && func(cm, pos);\n if (range && range.to.line - range.from.line >= minSize) {\n if (clsOpen && old && clsOpen.test(old.className)) return;\n mark = marker(opts.indicatorOpen);\n }\n }\n if (!mark && !old) return;\n cm.setGutterMarker(line, opts.gutter, mark);\n });\n }\n\n // copied from CodeMirror/src/util/dom.js\n function classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\n function updateInViewport(cm) {\n var vp = cm.getViewport(), state = cm.state.foldGutter;\n if (!state) return;\n cm.operation(function() {\n updateFoldInfo(cm, vp.from, vp.to);\n });\n state.from = vp.from; state.to = vp.to;\n }\n\n function onGutterClick(cm, line, gutter) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n if (gutter != opts.gutter) return;\n var folded = isFolded(cm, line);\n if (folded) folded.clear();\n else cm.foldCode(Pos(line, 0), opts);\n }\n\n function onChange(cm) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n state.from = state.to = 0;\n clearTimeout(state.changeUpdate);\n state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600);\n }\n\n function onViewportChange(cm) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n clearTimeout(state.changeUpdate);\n state.changeUpdate = setTimeout(function() {\n var vp = cm.getViewport();\n if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) {\n updateInViewport(cm);\n } else {\n cm.operation(function() {\n if (vp.from < state.from) {\n updateFoldInfo(cm, vp.from, state.from);\n state.from = vp.from;\n }\n if (vp.to > state.to) {\n updateFoldInfo(cm, state.to, vp.to);\n state.to = vp.to;\n }\n });\n }\n }, opts.updateViewportTimeSpan || 400);\n }\n\n function onFold(cm, from) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var line = from.line;\n if (line >= state.from && line < state.to)\n updateFoldInfo(cm, line, line + 1);\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"fold\", \"brace\", function(cm, start) {\n var line = start.line, lineText = cm.getLine(line);\n var tokenType;\n\n function findOpening(openCh) {\n for (var at = start.ch, pass = 0;;) {\n var found = at <= 0 ? -1 : lineText.lastIndexOf(openCh, at - 1);\n if (found == -1) {\n if (pass == 1) break;\n pass = 1;\n at = lineText.length;\n continue;\n }\n if (pass == 1 && found < start.ch) break;\n tokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n if (!/^(comment|string)/.test(tokenType)) return found + 1;\n at = found - 1;\n }\n }\n\n var startBrace = findOpening(\"{\"), startBracket = findOpening(\"[\")\n var startToken, endToken, startCh\n if (startBrace != null && (startBracket == null || startBracket > startBrace)) {\n startCh = startBrace; startToken = \"{\"; endToken = \"}\"\n } else if (startBracket != null) {\n startCh = startBracket; startToken = \"[\"; endToken = \"]\"\n } else {\n return\n }\n\n var count = 1, lastLine = cm.lastLine(), end, endCh;\n outer: for (var i = line; i <= lastLine; ++i) {\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\n for (;;) {\n var nextOpen = text.indexOf(startToken, pos), nextClose = text.indexOf(endToken, pos);\n if (nextOpen < 0) nextOpen = text.length;\n if (nextClose < 0) nextClose = text.length;\n pos = Math.min(nextOpen, nextClose);\n if (pos == text.length) break;\n if (cm.getTokenTypeAt(CodeMirror.Pos(i, pos + 1)) == tokenType) {\n if (pos == nextOpen) ++count;\n else if (!--count) { end = i; endCh = pos; break outer; }\n }\n ++pos;\n }\n }\n if (end == null || line == end) return;\n return {from: CodeMirror.Pos(line, startCh),\n to: CodeMirror.Pos(end, endCh)};\n});\n\nCodeMirror.registerHelper(\"fold\", \"import\", function(cm, start) {\n function hasImport(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type != \"keyword\" || start.string != \"import\") return null;\n // Now find closing semicolon, return its position\n for (var i = line, e = Math.min(cm.lastLine(), line + 10); i <= e; ++i) {\n var text = cm.getLine(i), semi = text.indexOf(\";\");\n if (semi != -1) return {startCh: start.end, end: CodeMirror.Pos(i, semi)};\n }\n }\n\n var startLine = start.line, has = hasImport(startLine), prev;\n if (!has || hasImport(startLine - 1) || ((prev = hasImport(startLine - 2)) && prev.end.line == startLine - 1))\n return null;\n for (var end = has.end;;) {\n var next = hasImport(end.line + 1);\n if (next == null) break;\n end = next.end;\n }\n return {from: cm.clipPos(CodeMirror.Pos(startLine, has.startCh + 1)), to: end};\n});\n\nCodeMirror.registerHelper(\"fold\", \"include\", function(cm, start) {\n function hasInclude(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type == \"meta\" && start.string.slice(0, 8) == \"#include\") return start.start + 8;\n }\n\n var startLine = start.line, has = hasInclude(startLine);\n if (has == null || hasInclude(startLine - 1) != null) return null;\n for (var end = startLine;;) {\n var next = hasInclude(end + 1);\n if (next == null) break;\n ++end;\n }\n return {from: CodeMirror.Pos(startLine, has + 1),\n to: cm.clipPos(CodeMirror.Pos(end))};\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Defines jumpToLine command. Uses dialog.js if present.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../dialog/dialog\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../dialog/dialog\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n // default search panel location\n CodeMirror.defineOption(\"search\", {bottom: false});\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function getJumpDialog(cm) {\n return cm.phrase(\"Jump to line:\") + ' ' + cm.phrase(\"(Use line:column or scroll% syntax)\") + '';\n }\n\n function interpretLine(cm, string) {\n var num = Number(string)\n if (/^[-+]/.test(string)) return cm.getCursor().line + num\n else return num - 1\n }\n\n CodeMirror.commands.jumpToLine = function(cm) {\n var cur = cm.getCursor();\n dialog(cm, getJumpDialog(cm), cm.phrase(\"Jump to line:\"), (cur.line + 1) + \":\" + cur.ch, function(posStr) {\n if (!posStr) return;\n\n var match;\n if (match = /^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), Number(match[2]))\n } else if (match = /^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(posStr)) {\n var line = Math.round(cm.lineCount() * Number(match[1]) / 100);\n if (/^[-+]/.test(match[1])) line = cur.line + line + 1;\n cm.setCursor(line - 1, cur.ch);\n } else if (match = /^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(posStr)) {\n cm.setCursor(interpretLine(cm, match[1]), cur.ch);\n }\n });\n };\n\n CodeMirror.keyMap[\"default\"][\"Alt-G\"] = \"jumpToLine\";\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// A rough approximation of Sublime Text's keybindings\n// Depends on addon/search/searchcursor.js and optionally addon/dialog/dialogs.js\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"), require(\"../addon/search/searchcursor\"), require(\"../addon/edit/matchbrackets\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../lib/codemirror\", \"../addon/search/searchcursor\", \"../addon/edit/matchbrackets\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var cmds = CodeMirror.commands;\n var Pos = CodeMirror.Pos;\n\n // This is not exactly Sublime's algorithm. I couldn't make heads or tails of that.\n function findPosSubword(doc, start, dir) {\n if (dir < 0 && start.ch == 0) return doc.clipPos(Pos(start.line - 1));\n var line = doc.getLine(start.line);\n if (dir > 0 && start.ch >= line.length) return doc.clipPos(Pos(start.line + 1, 0));\n var state = \"start\", type, startPos = start.ch;\n for (var pos = startPos, e = dir < 0 ? 0 : line.length, i = 0; pos != e; pos += dir, i++) {\n var next = line.charAt(dir < 0 ? pos - 1 : pos);\n var cat = next != \"_\" && CodeMirror.isWordChar(next) ? \"w\" : \"o\";\n if (cat == \"w\" && next.toUpperCase() == next) cat = \"W\";\n if (state == \"start\") {\n if (cat != \"o\") { state = \"in\"; type = cat; }\n else startPos = pos + dir\n } else if (state == \"in\") {\n if (type != cat) {\n if (type == \"w\" && cat == \"W\" && dir < 0) pos--;\n if (type == \"W\" && cat == \"w\" && dir > 0) { // From uppercase to lowercase\n if (pos == startPos + 1) { type = \"w\"; continue; }\n else pos--;\n }\n break;\n }\n }\n }\n return Pos(start.line, pos);\n }\n\n function moveSubword(cm, dir) {\n cm.extendSelectionsBy(function(range) {\n if (cm.display.shift || cm.doc.extend || range.empty())\n return findPosSubword(cm.doc, range.head, dir);\n else\n return dir < 0 ? range.from() : range.to();\n });\n }\n\n cmds.goSubwordLeft = function(cm) { moveSubword(cm, -1); };\n cmds.goSubwordRight = function(cm) { moveSubword(cm, 1); };\n\n cmds.scrollLineUp = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleBottomLine = cm.lineAtHeight(info.top + info.clientHeight, \"local\");\n if (cm.getCursor().line >= visibleBottomLine)\n cm.execCommand(\"goLineUp\");\n }\n cm.scrollTo(null, info.top - cm.defaultTextHeight());\n };\n cmds.scrollLineDown = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleTopLine = cm.lineAtHeight(info.top, \"local\")+1;\n if (cm.getCursor().line <= visibleTopLine)\n cm.execCommand(\"goLineDown\");\n }\n cm.scrollTo(null, info.top + cm.defaultTextHeight());\n };\n\n cmds.splitSelectionByLine = function(cm) {\n var ranges = cm.listSelections(), lineRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n for (var line = from.line; line <= to.line; ++line)\n if (!(to.line > from.line && line == to.line && to.ch == 0))\n lineRanges.push({anchor: line == from.line ? from : Pos(line, 0),\n head: line == to.line ? to : Pos(line)});\n }\n cm.setSelections(lineRanges, 0);\n };\n\n cmds.singleSelectionTop = function(cm) {\n var range = cm.listSelections()[0];\n cm.setSelection(range.anchor, range.head, {scroll: false});\n };\n\n cmds.selectLine = function(cm) {\n var ranges = cm.listSelections(), extended = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n extended.push({anchor: Pos(range.from().line, 0),\n head: Pos(range.to().line + 1, 0)});\n }\n cm.setSelections(extended);\n };\n\n function insertLine(cm, above) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n cm.operation(function() {\n var len = cm.listSelections().length, newSelection = [], last = -1;\n for (var i = 0; i < len; i++) {\n var head = cm.listSelections()[i].head;\n if (head.line <= last) continue;\n var at = Pos(head.line + (above ? 0 : 1), 0);\n cm.replaceRange(\"\\n\", at, null, \"+insertLine\");\n cm.indentLine(at.line, null, true);\n newSelection.push({head: at, anchor: at});\n last = head.line + 1;\n }\n cm.setSelections(newSelection);\n });\n cm.execCommand(\"indentAuto\");\n }\n\n cmds.insertLineAfter = function(cm) { return insertLine(cm, false); };\n\n cmds.insertLineBefore = function(cm) { return insertLine(cm, true); };\n\n function wordAt(cm, pos) {\n var start = pos.ch, end = start, line = cm.getLine(pos.line);\n while (start && CodeMirror.isWordChar(line.charAt(start - 1))) --start;\n while (end < line.length && CodeMirror.isWordChar(line.charAt(end))) ++end;\n return {from: Pos(pos.line, start), to: Pos(pos.line, end), word: line.slice(start, end)};\n }\n\n cmds.selectNextOccurrence = function(cm) {\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n var fullWord = cm.state.sublimeFindFullWord == cm.doc.sel;\n if (CodeMirror.cmpPos(from, to) == 0) {\n var word = wordAt(cm, from);\n if (!word.word) return;\n cm.setSelection(word.from, word.to);\n fullWord = true;\n } else {\n var text = cm.getRange(from, to);\n var query = fullWord ? new RegExp(\"\\\\b\" + text + \"\\\\b\") : text;\n var cur = cm.getSearchCursor(query, to);\n var found = cur.findNext();\n if (!found) {\n cur = cm.getSearchCursor(query, Pos(cm.firstLine(), 0));\n found = cur.findNext();\n }\n if (!found || isSelectedRange(cm.listSelections(), cur.from(), cur.to())) return\n cm.addSelection(cur.from(), cur.to());\n }\n if (fullWord)\n cm.state.sublimeFindFullWord = cm.doc.sel;\n };\n\n cmds.skipAndSelectNextOccurrence = function(cm) {\n var prevAnchor = cm.getCursor(\"anchor\"), prevHead = cm.getCursor(\"head\");\n cmds.selectNextOccurrence(cm);\n if (CodeMirror.cmpPos(prevAnchor, prevHead) != 0) {\n cm.doc.setSelections(cm.doc.listSelections()\n .filter(function (sel) {\n return sel.anchor != prevAnchor || sel.head != prevHead;\n }));\n }\n }\n\n function addCursorToSelection(cm, dir) {\n var ranges = cm.listSelections(), newRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var newAnchor = cm.findPosV(\n range.anchor, dir, \"line\", range.anchor.goalColumn);\n var newHead = cm.findPosV(\n range.head, dir, \"line\", range.head.goalColumn);\n newAnchor.goalColumn = range.anchor.goalColumn != null ?\n range.anchor.goalColumn : cm.cursorCoords(range.anchor, \"div\").left;\n newHead.goalColumn = range.head.goalColumn != null ?\n range.head.goalColumn : cm.cursorCoords(range.head, \"div\").left;\n var newRange = {anchor: newAnchor, head: newHead};\n newRanges.push(range);\n newRanges.push(newRange);\n }\n cm.setSelections(newRanges);\n }\n cmds.addCursorToPrevLine = function(cm) { addCursorToSelection(cm, -1); };\n cmds.addCursorToNextLine = function(cm) { addCursorToSelection(cm, 1); };\n\n function isSelectedRange(ranges, from, to) {\n for (var i = 0; i < ranges.length; i++)\n if (CodeMirror.cmpPos(ranges[i].from(), from) == 0 &&\n CodeMirror.cmpPos(ranges[i].to(), to) == 0) return true\n return false\n }\n\n var mirror = \"(){}[]\";\n function selectBetweenBrackets(cm) {\n var ranges = cm.listSelections(), newRanges = []\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], pos = range.head, opening = cm.scanForBracket(pos, -1);\n if (!opening) return false;\n for (;;) {\n var closing = cm.scanForBracket(pos, 1);\n if (!closing) return false;\n if (closing.ch == mirror.charAt(mirror.indexOf(opening.ch) + 1)) {\n var startPos = Pos(opening.pos.line, opening.pos.ch + 1);\n if (CodeMirror.cmpPos(startPos, range.from()) == 0 &&\n CodeMirror.cmpPos(closing.pos, range.to()) == 0) {\n opening = cm.scanForBracket(opening.pos, -1);\n if (!opening) return false;\n } else {\n newRanges.push({anchor: startPos, head: closing.pos});\n break;\n }\n }\n pos = Pos(closing.pos.line, closing.pos.ch + 1);\n }\n }\n cm.setSelections(newRanges);\n return true;\n }\n\n cmds.selectScope = function(cm) {\n selectBetweenBrackets(cm) || cm.execCommand(\"selectAll\");\n };\n cmds.selectBetweenBrackets = function(cm) {\n if (!selectBetweenBrackets(cm)) return CodeMirror.Pass;\n };\n\n function puncType(type) {\n return !type ? null : /\\bpunctuation\\b/.test(type) ? type : undefined\n }\n\n cmds.goToBracket = function(cm) {\n cm.extendSelectionsBy(function(range) {\n var next = cm.scanForBracket(range.head, 1, puncType(cm.getTokenTypeAt(range.head)));\n if (next && CodeMirror.cmpPos(next.pos, range.head) != 0) return next.pos;\n var prev = cm.scanForBracket(range.head, -1, puncType(cm.getTokenTypeAt(Pos(range.head.line, range.head.ch + 1))));\n return prev && Pos(prev.pos.line, prev.pos.ch + 1) || range.head;\n });\n };\n\n cmds.swapLineUp = function(cm) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), linesToMove = [], at = cm.firstLine() - 1, newSels = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], from = range.from().line - 1, to = range.to().line;\n newSels.push({anchor: Pos(range.anchor.line - 1, range.anchor.ch),\n head: Pos(range.head.line - 1, range.head.ch)});\n if (range.to().ch == 0 && !range.empty()) --to;\n if (from > at) linesToMove.push(from, to);\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\n at = to;\n }\n cm.operation(function() {\n for (var i = 0; i < linesToMove.length; i += 2) {\n var from = linesToMove[i], to = linesToMove[i + 1];\n var line = cm.getLine(from);\n cm.replaceRange(\"\", Pos(from, 0), Pos(from + 1, 0), \"+swapLine\");\n if (to > cm.lastLine())\n cm.replaceRange(\"\\n\" + line, Pos(cm.lastLine()), null, \"+swapLine\");\n else\n cm.replaceRange(line + \"\\n\", Pos(to, 0), null, \"+swapLine\");\n }\n cm.setSelections(newSels);\n cm.scrollIntoView();\n });\n };\n\n cmds.swapLineDown = function(cm) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), linesToMove = [], at = cm.lastLine() + 1;\n for (var i = ranges.length - 1; i >= 0; i--) {\n var range = ranges[i], from = range.to().line + 1, to = range.from().line;\n if (range.to().ch == 0 && !range.empty()) from--;\n if (from < at) linesToMove.push(from, to);\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\n at = to;\n }\n cm.operation(function() {\n for (var i = linesToMove.length - 2; i >= 0; i -= 2) {\n var from = linesToMove[i], to = linesToMove[i + 1];\n var line = cm.getLine(from);\n if (from == cm.lastLine())\n cm.replaceRange(\"\", Pos(from - 1), Pos(from), \"+swapLine\");\n else\n cm.replaceRange(\"\", Pos(from, 0), Pos(from + 1, 0), \"+swapLine\");\n cm.replaceRange(line + \"\\n\", Pos(to, 0), null, \"+swapLine\");\n }\n cm.scrollIntoView();\n });\n };\n\n cmds.toggleCommentIndented = function(cm) {\n cm.toggleComment({ indent: true });\n }\n\n cmds.joinLines = function(cm) {\n var ranges = cm.listSelections(), joined = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], from = range.from();\n var start = from.line, end = range.to().line;\n while (i < ranges.length - 1 && ranges[i + 1].from().line == end)\n end = ranges[++i].to().line;\n joined.push({start: start, end: end, anchor: !range.empty() && from});\n }\n cm.operation(function() {\n var offset = 0, ranges = [];\n for (var i = 0; i < joined.length; i++) {\n var obj = joined[i];\n var anchor = obj.anchor && Pos(obj.anchor.line - offset, obj.anchor.ch), head;\n for (var line = obj.start; line <= obj.end; line++) {\n var actual = line - offset;\n if (line == obj.end) head = Pos(actual, cm.getLine(actual).length + 1);\n if (actual < cm.lastLine()) {\n cm.replaceRange(\" \", Pos(actual), Pos(actual + 1, /^\\s*/.exec(cm.getLine(actual + 1))[0].length));\n ++offset;\n }\n }\n ranges.push({anchor: anchor || head, head: head});\n }\n cm.setSelections(ranges, 0);\n });\n };\n\n cmds.duplicateLine = function(cm) {\n cm.operation(function() {\n var rangeCount = cm.listSelections().length;\n for (var i = 0; i < rangeCount; i++) {\n var range = cm.listSelections()[i];\n if (range.empty())\n cm.replaceRange(cm.getLine(range.head.line) + \"\\n\", Pos(range.head.line, 0));\n else\n cm.replaceRange(cm.getRange(range.from(), range.to()), range.from());\n }\n cm.scrollIntoView();\n });\n };\n\n\n function sortLines(cm, caseSensitive) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), toSort = [], selected;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (range.empty()) continue;\n var from = range.from().line, to = range.to().line;\n while (i < ranges.length - 1 && ranges[i + 1].from().line == to)\n to = ranges[++i].to().line;\n if (!ranges[i].to().ch) to--;\n toSort.push(from, to);\n }\n if (toSort.length) selected = true;\n else toSort.push(cm.firstLine(), cm.lastLine());\n\n cm.operation(function() {\n var ranges = [];\n for (var i = 0; i < toSort.length; i += 2) {\n var from = toSort[i], to = toSort[i + 1];\n var start = Pos(from, 0), end = Pos(to);\n var lines = cm.getRange(start, end, false);\n if (caseSensitive)\n lines.sort();\n else\n lines.sort(function(a, b) {\n var au = a.toUpperCase(), bu = b.toUpperCase();\n if (au != bu) { a = au; b = bu; }\n return a < b ? -1 : a == b ? 0 : 1;\n });\n cm.replaceRange(lines, start, end);\n if (selected) ranges.push({anchor: start, head: Pos(to + 1, 0)});\n }\n if (selected) cm.setSelections(ranges, 0);\n });\n }\n\n cmds.sortLines = function(cm) { sortLines(cm, true); };\n cmds.sortLinesInsensitive = function(cm) { sortLines(cm, false); };\n\n cmds.nextBookmark = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) while (marks.length) {\n var current = marks.shift();\n var found = current.find();\n if (found) {\n marks.push(current);\n return cm.setSelection(found.from, found.to);\n }\n }\n };\n\n cmds.prevBookmark = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) while (marks.length) {\n marks.unshift(marks.pop());\n var found = marks[marks.length - 1].find();\n if (!found)\n marks.pop();\n else\n return cm.setSelection(found.from, found.to);\n }\n };\n\n cmds.toggleBookmark = function(cm) {\n var ranges = cm.listSelections();\n var marks = cm.state.sublimeBookmarks || (cm.state.sublimeBookmarks = []);\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n var found = ranges[i].empty() ? cm.findMarksAt(from) : cm.findMarks(from, to);\n for (var j = 0; j < found.length; j++) {\n if (found[j].sublimeBookmark) {\n found[j].clear();\n for (var k = 0; k < marks.length; k++)\n if (marks[k] == found[j])\n marks.splice(k--, 1);\n break;\n }\n }\n if (j == found.length)\n marks.push(cm.markText(from, to, {sublimeBookmark: true, clearWhenEmpty: false}));\n }\n };\n\n cmds.clearBookmarks = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear();\n marks.length = 0;\n };\n\n cmds.selectBookmarks = function(cm) {\n var marks = cm.state.sublimeBookmarks, ranges = [];\n if (marks) for (var i = 0; i < marks.length; i++) {\n var found = marks[i].find();\n if (!found)\n marks.splice(i--, 0);\n else\n ranges.push({anchor: found.from, head: found.to});\n }\n if (ranges.length)\n cm.setSelections(ranges, 0);\n };\n\n function modifyWordOrSelection(cm, mod) {\n cm.operation(function() {\n var ranges = cm.listSelections(), indices = [], replacements = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (range.empty()) { indices.push(i); replacements.push(\"\"); }\n else replacements.push(mod(cm.getRange(range.from(), range.to())));\n }\n cm.replaceSelections(replacements, \"around\", \"case\");\n for (var i = indices.length - 1, at; i >= 0; i--) {\n var range = ranges[indices[i]];\n if (at && CodeMirror.cmpPos(range.head, at) > 0) continue;\n var word = wordAt(cm, range.head);\n at = word.from;\n cm.replaceRange(mod(word.word), word.from, word.to);\n }\n });\n }\n\n cmds.smartBackspace = function(cm) {\n if (cm.somethingSelected()) return CodeMirror.Pass;\n\n cm.operation(function() {\n var cursors = cm.listSelections();\n var indentUnit = cm.getOption(\"indentUnit\");\n\n for (var i = cursors.length - 1; i >= 0; i--) {\n var cursor = cursors[i].head;\n var toStartOfLine = cm.getRange({line: cursor.line, ch: 0}, cursor);\n var column = CodeMirror.countColumn(toStartOfLine, null, cm.getOption(\"tabSize\"));\n\n // Delete by one character by default\n var deletePos = cm.findPosH(cursor, -1, \"char\", false);\n\n if (toStartOfLine && !/\\S/.test(toStartOfLine) && column % indentUnit == 0) {\n var prevIndent = new Pos(cursor.line,\n CodeMirror.findColumn(toStartOfLine, column - indentUnit, indentUnit));\n\n // Smart delete only if we found a valid prevIndent location\n if (prevIndent.ch != cursor.ch) deletePos = prevIndent;\n }\n\n cm.replaceRange(\"\", deletePos, cursor, \"+delete\");\n }\n });\n };\n\n cmds.delLineRight = function(cm) {\n cm.operation(function() {\n var ranges = cm.listSelections();\n for (var i = ranges.length - 1; i >= 0; i--)\n cm.replaceRange(\"\", ranges[i].anchor, Pos(ranges[i].to().line), \"+delete\");\n cm.scrollIntoView();\n });\n };\n\n cmds.upcaseAtCursor = function(cm) {\n modifyWordOrSelection(cm, function(str) { return str.toUpperCase(); });\n };\n cmds.downcaseAtCursor = function(cm) {\n modifyWordOrSelection(cm, function(str) { return str.toLowerCase(); });\n };\n\n cmds.setSublimeMark = function(cm) {\n if (cm.state.sublimeMark) cm.state.sublimeMark.clear();\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\n };\n cmds.selectToSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) cm.setSelection(cm.getCursor(), found);\n };\n cmds.deleteToSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) {\n var from = cm.getCursor(), to = found;\n if (CodeMirror.cmpPos(from, to) > 0) { var tmp = to; to = from; from = tmp; }\n cm.state.sublimeKilled = cm.getRange(from, to);\n cm.replaceRange(\"\", from, to);\n }\n };\n cmds.swapWithSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) {\n cm.state.sublimeMark.clear();\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\n cm.setCursor(found);\n }\n };\n cmds.sublimeYank = function(cm) {\n if (cm.state.sublimeKilled != null)\n cm.replaceSelection(cm.state.sublimeKilled, null, \"paste\");\n };\n\n cmds.showInCenter = function(cm) {\n var pos = cm.cursorCoords(null, \"local\");\n cm.scrollTo(null, (pos.top + pos.bottom) / 2 - cm.getScrollInfo().clientHeight / 2);\n };\n\n function getTarget(cm) {\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n if (CodeMirror.cmpPos(from, to) == 0) {\n var word = wordAt(cm, from);\n if (!word.word) return;\n from = word.from;\n to = word.to;\n }\n return {from: from, to: to, query: cm.getRange(from, to), word: word};\n }\n\n function findAndGoTo(cm, forward) {\n var target = getTarget(cm);\n if (!target) return;\n var query = target.query;\n var cur = cm.getSearchCursor(query, forward ? target.to : target.from);\n\n if (forward ? cur.findNext() : cur.findPrevious()) {\n cm.setSelection(cur.from(), cur.to());\n } else {\n cur = cm.getSearchCursor(query, forward ? Pos(cm.firstLine(), 0)\n : cm.clipPos(Pos(cm.lastLine())));\n if (forward ? cur.findNext() : cur.findPrevious())\n cm.setSelection(cur.from(), cur.to());\n else if (target.word)\n cm.setSelection(target.from, target.to);\n }\n };\n cmds.findUnder = function(cm) { findAndGoTo(cm, true); };\n cmds.findUnderPrevious = function(cm) { findAndGoTo(cm,false); };\n cmds.findAllUnder = function(cm) {\n var target = getTarget(cm);\n if (!target) return;\n var cur = cm.getSearchCursor(target.query);\n var matches = [];\n var primaryIndex = -1;\n while (cur.findNext()) {\n matches.push({anchor: cur.from(), head: cur.to()});\n if (cur.from().line <= target.from.line && cur.from().ch <= target.from.ch)\n primaryIndex++;\n }\n cm.setSelections(matches, primaryIndex);\n };\n\n\n var keyMap = CodeMirror.keyMap;\n keyMap.macSublime = {\n \"Cmd-Left\": \"goLineStartSmart\",\n \"Shift-Tab\": \"indentLess\",\n \"Shift-Ctrl-K\": \"deleteLine\",\n \"Alt-Q\": \"wrapLines\",\n \"Ctrl-Left\": \"goSubwordLeft\",\n \"Ctrl-Right\": \"goSubwordRight\",\n \"Ctrl-Alt-Up\": \"scrollLineUp\",\n \"Ctrl-Alt-Down\": \"scrollLineDown\",\n \"Cmd-L\": \"selectLine\",\n \"Shift-Cmd-L\": \"splitSelectionByLine\",\n \"Esc\": \"singleSelectionTop\",\n \"Cmd-Enter\": \"insertLineAfter\",\n \"Shift-Cmd-Enter\": \"insertLineBefore\",\n \"Cmd-D\": \"selectNextOccurrence\",\n \"Shift-Cmd-Space\": \"selectScope\",\n \"Shift-Cmd-M\": \"selectBetweenBrackets\",\n \"Cmd-M\": \"goToBracket\",\n \"Cmd-Ctrl-Up\": \"swapLineUp\",\n \"Cmd-Ctrl-Down\": \"swapLineDown\",\n \"Cmd-/\": \"toggleCommentIndented\",\n \"Cmd-J\": \"joinLines\",\n \"Shift-Cmd-D\": \"duplicateLine\",\n \"F5\": \"sortLines\",\n \"Cmd-F5\": \"sortLinesInsensitive\",\n \"F2\": \"nextBookmark\",\n \"Shift-F2\": \"prevBookmark\",\n \"Cmd-F2\": \"toggleBookmark\",\n \"Shift-Cmd-F2\": \"clearBookmarks\",\n \"Alt-F2\": \"selectBookmarks\",\n \"Backspace\": \"smartBackspace\",\n \"Cmd-K Cmd-D\": \"skipAndSelectNextOccurrence\",\n \"Cmd-K Cmd-K\": \"delLineRight\",\n \"Cmd-K Cmd-U\": \"upcaseAtCursor\",\n \"Cmd-K Cmd-L\": \"downcaseAtCursor\",\n \"Cmd-K Cmd-Space\": \"setSublimeMark\",\n \"Cmd-K Cmd-A\": \"selectToSublimeMark\",\n \"Cmd-K Cmd-W\": \"deleteToSublimeMark\",\n \"Cmd-K Cmd-X\": \"swapWithSublimeMark\",\n \"Cmd-K Cmd-Y\": \"sublimeYank\",\n \"Cmd-K Cmd-C\": \"showInCenter\",\n \"Cmd-K Cmd-G\": \"clearBookmarks\",\n \"Cmd-K Cmd-Backspace\": \"delLineLeft\",\n \"Cmd-K Cmd-1\": \"foldAll\",\n \"Cmd-K Cmd-0\": \"unfoldAll\",\n \"Cmd-K Cmd-J\": \"unfoldAll\",\n \"Ctrl-Shift-Up\": \"addCursorToPrevLine\",\n \"Ctrl-Shift-Down\": \"addCursorToNextLine\",\n \"Cmd-F3\": \"findUnder\",\n \"Shift-Cmd-F3\": \"findUnderPrevious\",\n \"Alt-F3\": \"findAllUnder\",\n \"Shift-Cmd-[\": \"fold\",\n \"Shift-Cmd-]\": \"unfold\",\n \"Cmd-I\": \"findIncremental\",\n \"Shift-Cmd-I\": \"findIncrementalReverse\",\n \"Cmd-H\": \"replace\",\n \"F3\": \"findNext\",\n \"Shift-F3\": \"findPrev\",\n \"fallthrough\": \"macDefault\"\n };\n CodeMirror.normalizeKeyMap(keyMap.macSublime);\n\n keyMap.pcSublime = {\n \"Shift-Tab\": \"indentLess\",\n \"Shift-Ctrl-K\": \"deleteLine\",\n \"Alt-Q\": \"wrapLines\",\n \"Ctrl-T\": \"transposeChars\",\n \"Alt-Left\": \"goSubwordLeft\",\n \"Alt-Right\": \"goSubwordRight\",\n \"Ctrl-Up\": \"scrollLineUp\",\n \"Ctrl-Down\": \"scrollLineDown\",\n \"Ctrl-L\": \"selectLine\",\n \"Shift-Ctrl-L\": \"splitSelectionByLine\",\n \"Esc\": \"singleSelectionTop\",\n \"Ctrl-Enter\": \"insertLineAfter\",\n \"Shift-Ctrl-Enter\": \"insertLineBefore\",\n \"Ctrl-D\": \"selectNextOccurrence\",\n \"Shift-Ctrl-Space\": \"selectScope\",\n \"Shift-Ctrl-M\": \"selectBetweenBrackets\",\n \"Ctrl-M\": \"goToBracket\",\n \"Shift-Ctrl-Up\": \"swapLineUp\",\n \"Shift-Ctrl-Down\": \"swapLineDown\",\n \"Ctrl-/\": \"toggleCommentIndented\",\n \"Ctrl-J\": \"joinLines\",\n \"Shift-Ctrl-D\": \"duplicateLine\",\n \"F9\": \"sortLines\",\n \"Ctrl-F9\": \"sortLinesInsensitive\",\n \"F2\": \"nextBookmark\",\n \"Shift-F2\": \"prevBookmark\",\n \"Ctrl-F2\": \"toggleBookmark\",\n \"Shift-Ctrl-F2\": \"clearBookmarks\",\n \"Alt-F2\": \"selectBookmarks\",\n \"Backspace\": \"smartBackspace\",\n \"Ctrl-K Ctrl-D\": \"skipAndSelectNextOccurrence\",\n \"Ctrl-K Ctrl-K\": \"delLineRight\",\n \"Ctrl-K Ctrl-U\": \"upcaseAtCursor\",\n \"Ctrl-K Ctrl-L\": \"downcaseAtCursor\",\n \"Ctrl-K Ctrl-Space\": \"setSublimeMark\",\n \"Ctrl-K Ctrl-A\": \"selectToSublimeMark\",\n \"Ctrl-K Ctrl-W\": \"deleteToSublimeMark\",\n \"Ctrl-K Ctrl-X\": \"swapWithSublimeMark\",\n \"Ctrl-K Ctrl-Y\": \"sublimeYank\",\n \"Ctrl-K Ctrl-C\": \"showInCenter\",\n \"Ctrl-K Ctrl-G\": \"clearBookmarks\",\n \"Ctrl-K Ctrl-Backspace\": \"delLineLeft\",\n \"Ctrl-K Ctrl-1\": \"foldAll\",\n \"Ctrl-K Ctrl-0\": \"unfoldAll\",\n \"Ctrl-K Ctrl-J\": \"unfoldAll\",\n \"Ctrl-Alt-Up\": \"addCursorToPrevLine\",\n \"Ctrl-Alt-Down\": \"addCursorToNextLine\",\n \"Ctrl-F3\": \"findUnder\",\n \"Shift-Ctrl-F3\": \"findUnderPrevious\",\n \"Alt-F3\": \"findAllUnder\",\n \"Shift-Ctrl-[\": \"fold\",\n \"Shift-Ctrl-]\": \"unfold\",\n \"Ctrl-I\": \"findIncremental\",\n \"Shift-Ctrl-I\": \"findIncrementalReverse\",\n \"Ctrl-H\": \"replace\",\n \"F3\": \"findNext\",\n \"Shift-F3\": \"findPrev\",\n \"fallthrough\": \"pcDefault\"\n };\n CodeMirror.normalizeKeyMap(keyMap.pcSublime);\n\n var mac = keyMap.default == keyMap.macDefault;\n keyMap.sublime = mac ? keyMap.macSublime : keyMap.pcSublime;\n});\n","import React from 'react';\nexport function ToolbarGroup(_a) {\n var children = _a.children;\n return React.createElement(\"div\", { className: \"toolbar-button-group\" }, children);\n}\n//# sourceMappingURL=ToolbarGroup.js.map","import { getNamedType, isLeafType, parse, print, TypeInfo, visit, } from 'graphql';\nexport function fillLeafs(schema, docString, getDefaultFieldNames) {\n var insertions = [];\n if (!schema || !docString) {\n return { insertions: insertions, result: docString };\n }\n var ast;\n try {\n ast = parse(docString);\n }\n catch (error) {\n return { insertions: insertions, result: docString };\n }\n var fieldNameFn = getDefaultFieldNames || defaultGetDefaultFieldNames;\n var typeInfo = new TypeInfo(schema);\n visit(ast, {\n leave: function (node) {\n typeInfo.leave(node);\n },\n enter: function (node) {\n typeInfo.enter(node);\n if (node.kind === 'Field' && !node.selectionSet) {\n var fieldType = typeInfo.getType();\n var selectionSet = buildSelectionSet(isFieldType(fieldType), fieldNameFn);\n if (selectionSet && node.loc) {\n var indent = getIndentation(docString, node.loc.start);\n insertions.push({\n index: node.loc.end,\n string: ' ' + print(selectionSet).replace(/\\n/g, '\\n' + indent),\n });\n }\n }\n },\n });\n return {\n insertions: insertions,\n result: withInsertions(docString, insertions),\n };\n}\nfunction defaultGetDefaultFieldNames(type) {\n if (!('getFields' in type)) {\n return [];\n }\n var fields = type.getFields();\n if (fields.id) {\n return ['id'];\n }\n if (fields.edges) {\n return ['edges'];\n }\n if (fields.node) {\n return ['node'];\n }\n var leafFieldNames = [];\n Object.keys(fields).forEach(function (fieldName) {\n if (isLeafType(fields[fieldName].type)) {\n leafFieldNames.push(fieldName);\n }\n });\n return leafFieldNames;\n}\nfunction buildSelectionSet(type, getDefaultFieldNames) {\n var namedType = getNamedType(type);\n if (!type || isLeafType(type)) {\n return;\n }\n var fieldNames = getDefaultFieldNames(namedType);\n if (!Array.isArray(fieldNames) ||\n fieldNames.length === 0 ||\n !('getFields' in namedType)) {\n return;\n }\n return {\n kind: 'SelectionSet',\n selections: fieldNames.map(function (fieldName) {\n var fieldDef = namedType.getFields()[fieldName];\n var fieldType = fieldDef ? fieldDef.type : null;\n return {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: fieldName,\n },\n selectionSet: buildSelectionSet(fieldType, getDefaultFieldNames),\n };\n }),\n };\n}\nfunction withInsertions(initial, insertions) {\n if (insertions.length === 0) {\n return initial;\n }\n var edited = '';\n var prevIndex = 0;\n insertions.forEach(function (_a) {\n var index = _a.index, string = _a.string;\n edited += initial.slice(prevIndex, index) + string;\n prevIndex = index;\n });\n edited += initial.slice(prevIndex);\n return edited;\n}\nfunction getIndentation(str, index) {\n var indentStart = index;\n var indentEnd = index;\n while (indentStart) {\n var c = str.charCodeAt(indentStart - 1);\n if (c === 10 || c === 13 || c === 0x2028 || c === 0x2029) {\n break;\n }\n indentStart--;\n if (c !== 9 && c !== 11 && c !== 12 && c !== 32 && c !== 160) {\n indentEnd = indentStart;\n }\n }\n return str.substring(indentStart, indentEnd);\n}\nfunction isFieldType(fieldType) {\n if (fieldType) {\n return fieldType;\n }\n}\n//# sourceMappingURL=fillLeafs.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { TypeInfo, getNamedType, visit, visitWithTypeInfo, } from 'graphql';\nexport function uniqueBy(array, iteratee) {\n var FilteredMap = new Map();\n var result = [];\n for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\n var item = array_1[_i];\n if (item.kind === 'Field') {\n var uniqueValue = iteratee(item);\n var existing = FilteredMap.get(uniqueValue);\n if (item.directives && item.directives.length) {\n var itemClone = __assign({}, item);\n result.push(itemClone);\n }\n else if (existing && existing.selectionSet && item.selectionSet) {\n existing.selectionSet.selections = __spreadArrays(existing.selectionSet.selections, item.selectionSet.selections);\n }\n else if (!existing) {\n var itemClone = __assign({}, item);\n FilteredMap.set(uniqueValue, itemClone);\n result.push(itemClone);\n }\n }\n else {\n result.push(item);\n }\n }\n return result;\n}\nexport function inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType) {\n var _a;\n var selectionSetTypeName = selectionSetType\n ? getNamedType(selectionSetType).name\n : null;\n var outputSelections = [];\n var seenSpreads = [];\n for (var _i = 0, selections_1 = selections; _i < selections_1.length; _i++) {\n var selection = selections_1[_i];\n if (selection.kind === 'FragmentSpread') {\n var fragmentName = selection.name.value;\n if (!selection.directives || selection.directives.length === 0) {\n if (seenSpreads.indexOf(fragmentName) >= 0) {\n continue;\n }\n else {\n seenSpreads.push(fragmentName);\n }\n }\n var fragmentDefinition = fragmentDefinitions[selection.name.value];\n if (fragmentDefinition) {\n var typeCondition = fragmentDefinition.typeCondition, directives = fragmentDefinition.directives, selectionSet = fragmentDefinition.selectionSet;\n selection = {\n kind: 'InlineFragment',\n typeCondition: typeCondition,\n directives: directives,\n selectionSet: selectionSet,\n };\n }\n }\n if (selection.kind === 'InlineFragment' &&\n (!selection.directives || ((_a = selection.directives) === null || _a === void 0 ? void 0 : _a.length) === 0)) {\n var fragmentTypeName = selection.typeCondition\n ? selection.typeCondition.name.value\n : null;\n if (!fragmentTypeName || fragmentTypeName === selectionSetTypeName) {\n outputSelections.push.apply(outputSelections, inlineRelevantFragmentSpreads(fragmentDefinitions, selection.selectionSet.selections, selectionSetType));\n continue;\n }\n }\n outputSelections.push(selection);\n }\n return outputSelections;\n}\nexport default function mergeAST(documentAST, schema) {\n var typeInfo = schema ? new TypeInfo(schema) : null;\n var fragmentDefinitions = Object.create(null);\n for (var _i = 0, _a = documentAST.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'FragmentDefinition') {\n fragmentDefinitions[definition.name.value] = definition;\n }\n }\n var visitors = {\n SelectionSet: function (node) {\n var selectionSetType = typeInfo ? typeInfo.getParentType() : null;\n var selections = node.selections;\n selections = inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType);\n selections = uniqueBy(selections, function (selection) {\n return selection.alias ? selection.alias.value : selection.name.value;\n });\n return __assign(__assign({}, node), { selections: selections });\n },\n FragmentDefinition: function () {\n return null;\n },\n };\n return visit(documentAST, typeInfo ? visitWithTypeInfo(typeInfo, visitors) : visitors);\n}\n//# sourceMappingURL=mergeAst.js.map","import React from 'react';\nimport { GraphQLList, GraphQLNonNull, } from 'graphql';\nexport default function TypeLink(props) {\n var onClick = props.onClick ? props.onClick : function () { return null; };\n return renderType(props.type, onClick);\n}\nfunction renderType(type, onClick) {\n if (type instanceof GraphQLNonNull) {\n return (React.createElement(\"span\", null,\n renderType(type.ofType, onClick),\n '!'));\n }\n if (type instanceof GraphQLList) {\n return (React.createElement(\"span\", null,\n '[',\n renderType(type.ofType, onClick),\n ']'));\n }\n return (React.createElement(\"a\", { className: \"type-name\", onClick: function (event) {\n event.preventDefault();\n onClick(type, event);\n }, href: \"#\" }, type === null || type === void 0 ? void 0 : type.name));\n}\n//# sourceMappingURL=TypeLink.js.map","import React from 'react';\nimport { astFromValue, print } from 'graphql';\nvar printDefault = function (ast) {\n if (!ast) {\n return '';\n }\n return print(ast);\n};\nexport default function DefaultValue(_a) {\n var field = _a.field;\n if ('defaultValue' in field && field.defaultValue !== undefined) {\n return (React.createElement(\"span\", null,\n ' = ',\n React.createElement(\"span\", { className: \"arg-default-value\" }, printDefault(astFromValue(field.defaultValue, field.type)))));\n }\n return null;\n}\n//# sourceMappingURL=DefaultValue.js.map","import React from 'react';\nimport TypeLink from './TypeLink';\nimport DefaultValue from './DefaultValue';\nexport default function Argument(_a) {\n var arg = _a.arg, onClickType = _a.onClickType, showDefaultValue = _a.showDefaultValue;\n return (React.createElement(\"span\", { className: \"arg\" },\n React.createElement(\"span\", { className: \"arg-name\" }, arg.name),\n ': ',\n React.createElement(TypeLink, { type: arg.type, onClick: onClickType }),\n showDefaultValue !== false && React.createElement(DefaultValue, { field: arg })));\n}\n//# sourceMappingURL=Argument.js.map","import React from 'react';\nexport default function Directive(_a) {\n var directive = _a.directive;\n return (React.createElement(\"span\", { className: \"doc-category-item\", id: directive.name.value },\n '@',\n directive.name.value));\n}\n//# sourceMappingURL=Directive.js.map","import React from 'react';\nimport MD from 'markdown-it';\nvar md = new MD();\nexport default function MarkdownContent(_a) {\n var markdown = _a.markdown, className = _a.className;\n if (!markdown) {\n return React.createElement(\"div\", null);\n }\n return (React.createElement(\"div\", { className: className, dangerouslySetInnerHTML: { __html: md.render(markdown) } }));\n}\n//# sourceMappingURL=MarkdownContent.js.map","import React from 'react';\nimport Argument from './Argument';\nimport Directive from './Directive';\nimport MarkdownContent from './MarkdownContent';\nimport TypeLink from './TypeLink';\nexport default function FieldDoc(_a) {\n var field = _a.field, onClickType = _a.onClickType;\n var argsDef;\n if (field && 'args' in field && field.args.length > 0) {\n argsDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'arguments'),\n field.args.map(function (arg) { return (React.createElement(\"div\", { key: arg.name, className: \"doc-category-item\" },\n React.createElement(\"div\", null,\n React.createElement(Argument, { arg: arg, onClickType: onClickType })),\n React.createElement(MarkdownContent, { className: \"doc-value-description\", markdown: arg.description }))); })));\n }\n var directivesDef;\n if (field &&\n field.astNode &&\n field.astNode.directives &&\n field.astNode.directives.length > 0) {\n directivesDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'directives'),\n field.astNode.directives.map(function (directive) { return (React.createElement(\"div\", { key: directive.name.value, className: \"doc-category-item\" },\n React.createElement(\"div\", null,\n React.createElement(Directive, { directive: directive })))); })));\n }\n return (React.createElement(\"div\", null,\n React.createElement(MarkdownContent, { className: \"doc-type-description\", markdown: (field === null || field === void 0 ? void 0 : field.description) || 'No Description' }),\n field && 'deprecationReason' in field && (React.createElement(MarkdownContent, { className: \"doc-deprecation\", markdown: field === null || field === void 0 ? void 0 : field.deprecationReason })),\n React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'type'),\n React.createElement(TypeLink, { type: field === null || field === void 0 ? void 0 : field.type, onClick: onClickType })),\n argsDef,\n directivesDef));\n}\n//# sourceMappingURL=FieldDoc.js.map","import React from 'react';\nimport TypeLink from './TypeLink';\nimport MarkdownContent from './MarkdownContent';\nexport default function SchemaDoc(_a) {\n var schema = _a.schema, onClickType = _a.onClickType;\n var queryType = schema.getQueryType();\n var mutationType = schema.getMutationType && schema.getMutationType();\n var subscriptionType = schema.getSubscriptionType && schema.getSubscriptionType();\n return (React.createElement(\"div\", null,\n React.createElement(MarkdownContent, { className: \"doc-type-description\", markdown: schema.description ||\n 'A GraphQL schema provides a root type for each kind of operation.' }),\n React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'root types'),\n React.createElement(\"div\", { className: \"doc-category-item\" },\n React.createElement(\"span\", { className: \"keyword\" }, 'query'),\n ': ',\n React.createElement(TypeLink, { type: queryType, onClick: onClickType })),\n mutationType && (React.createElement(\"div\", { className: \"doc-category-item\" },\n React.createElement(\"span\", { className: \"keyword\" }, 'mutation'),\n ': ',\n React.createElement(TypeLink, { type: mutationType, onClick: onClickType }))),\n subscriptionType && (React.createElement(\"div\", { className: \"doc-category-item\" },\n React.createElement(\"span\", { className: \"keyword\" }, 'subscription'),\n ': ',\n React.createElement(TypeLink, { type: subscriptionType, onClick: onClickType }))))));\n}\n//# sourceMappingURL=SchemaDoc.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nimport debounce from '../../utility/debounce';\nvar SearchBox = (function (_super) {\n __extends(SearchBox, _super);\n function SearchBox(props) {\n var _this = _super.call(this, props) || this;\n _this.handleChange = function (event) {\n var value = event.currentTarget.value;\n _this.setState({ value: value });\n _this.debouncedOnSearch(value);\n };\n _this.handleClear = function () {\n _this.setState({ value: '' });\n _this.props.onSearch('');\n };\n _this.state = { value: props.value || '' };\n _this.debouncedOnSearch = debounce(200, _this.props.onSearch);\n return _this;\n }\n SearchBox.prototype.render = function () {\n return (React.createElement(\"label\", { className: \"search-box\" },\n React.createElement(\"div\", { className: \"search-box-icon\", \"aria-hidden\": \"true\" }, '\\u26b2'),\n React.createElement(\"input\", { value: this.state.value, onChange: this.handleChange, type: \"text\", placeholder: this.props.placeholder, \"aria-label\": this.props.placeholder }),\n this.state.value && (React.createElement(\"button\", { className: \"search-box-clear\", onClick: this.handleClear, \"aria-label\": \"Clear search input\" }, '\\u2715'))));\n };\n return SearchBox;\n}(React.Component));\nexport default SearchBox;\n//# sourceMappingURL=SearchBox.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nimport Argument from './Argument';\nimport TypeLink from './TypeLink';\nvar SearchResults = (function (_super) {\n __extends(SearchResults, _super);\n function SearchResults() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchResults.prototype.shouldComponentUpdate = function (nextProps) {\n return (this.props.schema !== nextProps.schema ||\n this.props.searchValue !== nextProps.searchValue);\n };\n SearchResults.prototype.render = function () {\n var searchValue = this.props.searchValue;\n var withinType = this.props.withinType;\n var schema = this.props.schema;\n var onClickType = this.props.onClickType;\n var onClickField = this.props.onClickField;\n var matchedWithin = [];\n var matchedTypes = [];\n var matchedFields = [];\n var typeMap = schema.getTypeMap();\n var typeNames = Object.keys(typeMap);\n if (withinType) {\n typeNames = typeNames.filter(function (n) { return n !== withinType.name; });\n typeNames.unshift(withinType.name);\n }\n var _loop_1 = function (typeName) {\n if (matchedWithin.length + matchedTypes.length + matchedFields.length >=\n 100) {\n return \"break\";\n }\n var type = typeMap[typeName];\n if (withinType !== type && isMatch(typeName, searchValue)) {\n matchedTypes.push(React.createElement(\"div\", { className: \"doc-category-item\", key: typeName },\n React.createElement(TypeLink, { type: type, onClick: onClickType })));\n }\n if (type && 'getFields' in type) {\n var fields_1 = type.getFields();\n Object.keys(fields_1).forEach(function (fieldName) {\n var field = fields_1[fieldName];\n var matchingArgs;\n if (!isMatch(fieldName, searchValue)) {\n if ('args' in field && field.args.length) {\n matchingArgs = field.args.filter(function (arg) {\n return isMatch(arg.name, searchValue);\n });\n if (matchingArgs.length === 0) {\n return;\n }\n }\n else {\n return;\n }\n }\n var match = (React.createElement(\"div\", { className: \"doc-category-item\", key: typeName + '.' + fieldName },\n withinType !== type && [\n React.createElement(TypeLink, { key: \"type\", type: type, onClick: onClickType }),\n '.',\n ],\n React.createElement(\"a\", { className: \"field-name\", onClick: function (event) { return onClickField(field, type, event); } }, field.name),\n matchingArgs && [\n '(',\n React.createElement(\"span\", { key: \"args\" }, matchingArgs.map(function (arg) { return (React.createElement(Argument, { key: arg.name, arg: arg, onClickType: onClickType, showDefaultValue: false })); })),\n ')',\n ]));\n if (withinType === type) {\n matchedWithin.push(match);\n }\n else {\n matchedFields.push(match);\n }\n });\n }\n };\n for (var _i = 0, typeNames_1 = typeNames; _i < typeNames_1.length; _i++) {\n var typeName = typeNames_1[_i];\n var state_1 = _loop_1(typeName);\n if (state_1 === \"break\")\n break;\n }\n if (matchedWithin.length + matchedTypes.length + matchedFields.length ===\n 0) {\n return React.createElement(\"span\", { className: \"doc-alert-text\" }, 'No results found.');\n }\n if (withinType && matchedTypes.length + matchedFields.length > 0) {\n return (React.createElement(\"div\", null,\n matchedWithin,\n React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'other results'),\n matchedTypes,\n matchedFields)));\n }\n return (React.createElement(\"div\", { className: \"doc-search-items\" },\n matchedWithin,\n matchedTypes,\n matchedFields));\n };\n return SearchResults;\n}(React.Component));\nexport default SearchResults;\nfunction isMatch(sourceText, searchValue) {\n try {\n var escaped = searchValue.replace(/[^_0-9A-Za-z]/g, function (ch) { return '\\\\' + ch; });\n return sourceText.search(new RegExp(escaped, 'i')) !== -1;\n }\n catch (e) {\n return sourceText.toLowerCase().indexOf(searchValue.toLowerCase()) !== -1;\n }\n}\n//# sourceMappingURL=SearchResults.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nimport { GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, } from 'graphql';\nimport Argument from './Argument';\nimport MarkdownContent from './MarkdownContent';\nimport TypeLink from './TypeLink';\nimport DefaultValue from './DefaultValue';\nvar TypeDoc = (function (_super) {\n __extends(TypeDoc, _super);\n function TypeDoc(props) {\n var _this = _super.call(this, props) || this;\n _this.handleShowDeprecated = function () { return _this.setState({ showDeprecated: true }); };\n _this.state = { showDeprecated: false };\n return _this;\n }\n TypeDoc.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (this.props.type !== nextProps.type ||\n this.props.schema !== nextProps.schema ||\n this.state.showDeprecated !== nextState.showDeprecated);\n };\n TypeDoc.prototype.render = function () {\n var schema = this.props.schema;\n var type = this.props.type;\n var onClickType = this.props.onClickType;\n var onClickField = this.props.onClickField;\n var typesTitle = null;\n var types = [];\n if (type instanceof GraphQLUnionType) {\n typesTitle = 'possible types';\n types = schema.getPossibleTypes(type);\n }\n else if (type instanceof GraphQLInterfaceType) {\n typesTitle = 'implementations';\n types = schema.getPossibleTypes(type);\n }\n else if (type instanceof GraphQLObjectType) {\n typesTitle = 'implements';\n types = type.getInterfaces();\n }\n var typesDef;\n if (types && types.length > 0) {\n typesDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, typesTitle),\n types.map(function (subtype) { return (React.createElement(\"div\", { key: subtype.name, className: \"doc-category-item\" },\n React.createElement(TypeLink, { type: subtype, onClick: onClickType }))); })));\n }\n var fieldsDef;\n var deprecatedFieldsDef;\n if (type && 'getFields' in type) {\n var fieldMap_1 = type.getFields();\n var fields = Object.keys(fieldMap_1).map(function (name) { return fieldMap_1[name]; });\n fieldsDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'fields'),\n fields\n .filter(function (field) {\n return 'isDeprecated' in field ? !field.isDeprecated : true;\n })\n .map(function (field) { return (React.createElement(Field, { key: field.name, type: type, field: field, onClickType: onClickType, onClickField: onClickField })); })));\n var deprecatedFields = fields.filter(function (field) { return 'isDeprecated' in field && field.isDeprecated; });\n if (deprecatedFields.length > 0) {\n deprecatedFieldsDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'deprecated fields'),\n !this.state.showDeprecated ? (React.createElement(\"button\", { className: \"show-btn\", onClick: this.handleShowDeprecated }, 'Show deprecated fields...')) : (deprecatedFields.map(function (field) { return (React.createElement(Field, { key: field.name, type: type, field: field, onClickType: onClickType, onClickField: onClickField })); }))));\n }\n }\n var valuesDef;\n var deprecatedValuesDef;\n if (type instanceof GraphQLEnumType) {\n var values = type.getValues();\n valuesDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'values'),\n values\n .filter(function (value) { return !value.isDeprecated; })\n .map(function (value) { return (React.createElement(EnumValue, { key: value.name, value: value })); })));\n var deprecatedValues = values.filter(function (value) { return value.isDeprecated; });\n if (deprecatedValues.length > 0) {\n deprecatedValuesDef = (React.createElement(\"div\", { className: \"doc-category\" },\n React.createElement(\"div\", { className: \"doc-category-title\" }, 'deprecated values'),\n !this.state.showDeprecated ? (React.createElement(\"button\", { className: \"show-btn\", onClick: this.handleShowDeprecated }, 'Show deprecated values...')) : (deprecatedValues.map(function (value) { return (React.createElement(EnumValue, { key: value.name, value: value })); }))));\n }\n }\n return (React.createElement(\"div\", null,\n React.createElement(MarkdownContent, { className: \"doc-type-description\", markdown: ('description' in type && type.description) || 'No Description' }),\n type instanceof GraphQLObjectType && typesDef,\n fieldsDef,\n deprecatedFieldsDef,\n valuesDef,\n deprecatedValuesDef,\n !(type instanceof GraphQLObjectType) && typesDef));\n };\n return TypeDoc;\n}(React.Component));\nexport default TypeDoc;\nfunction Field(_a) {\n var type = _a.type, field = _a.field, onClickType = _a.onClickType, onClickField = _a.onClickField;\n return (React.createElement(\"div\", { className: \"doc-category-item\" },\n React.createElement(\"a\", { className: \"field-name\", onClick: function (event) { return onClickField(field, type, event); } }, field.name),\n 'args' in field &&\n field.args &&\n field.args.length > 0 && [\n '(',\n React.createElement(\"span\", { key: \"args\" }, field.args.map(function (arg) { return (React.createElement(Argument, { key: arg.name, arg: arg, onClickType: onClickType })); })),\n ')',\n ],\n ': ',\n React.createElement(TypeLink, { type: field.type, onClick: onClickType }),\n React.createElement(DefaultValue, { field: field }),\n field.description && (React.createElement(MarkdownContent, { className: \"field-short-description\", markdown: field.description })),\n 'deprecationReason' in field && field.deprecationReason && (React.createElement(MarkdownContent, { className: \"doc-deprecation\", markdown: field.deprecationReason }))));\n}\nfunction EnumValue(_a) {\n var value = _a.value;\n return (React.createElement(\"div\", { className: \"doc-category-item\" },\n React.createElement(\"div\", { className: \"enum-value\" }, value.name),\n React.createElement(MarkdownContent, { className: \"doc-value-description\", markdown: value.description }),\n value.deprecationReason && (React.createElement(MarkdownContent, { className: \"doc-deprecation\", markdown: value.deprecationReason }))));\n}\n//# sourceMappingURL=TypeDoc.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport { isType } from 'graphql';\nimport FieldDoc from './DocExplorer/FieldDoc';\nimport SchemaDoc from './DocExplorer/SchemaDoc';\nimport SearchBox from './DocExplorer/SearchBox';\nimport SearchResults from './DocExplorer/SearchResults';\nimport TypeDoc from './DocExplorer/TypeDoc';\nvar initialNav = {\n name: 'Schema',\n title: 'Documentation Explorer',\n};\nvar DocExplorer = (function (_super) {\n __extends(DocExplorer, _super);\n function DocExplorer(props) {\n var _this = _super.call(this, props) || this;\n _this.handleNavBackClick = function () {\n if (_this.state.navStack.length > 1) {\n _this.setState({ navStack: _this.state.navStack.slice(0, -1) });\n }\n };\n _this.handleClickType = function (type) {\n _this.showDoc(type);\n };\n _this.handleClickField = function (field) {\n _this.showDoc(field);\n };\n _this.handleSearch = function (value) {\n _this.showSearch(value);\n };\n _this.state = { navStack: [initialNav] };\n return _this;\n }\n DocExplorer.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (this.props.schema !== nextProps.schema ||\n this.state.navStack !== nextState.navStack);\n };\n DocExplorer.prototype.render = function () {\n var schema = this.props.schema;\n var navStack = this.state.navStack;\n var navItem = navStack[navStack.length - 1];\n var content;\n if (schema === undefined) {\n content = (React.createElement(\"div\", { className: \"spinner-container\" },\n React.createElement(\"div\", { className: \"spinner\" })));\n }\n else if (!schema) {\n content = React.createElement(\"div\", { className: \"error-container\" }, 'No Schema Available');\n }\n else if (navItem.search) {\n content = (React.createElement(SearchResults, { searchValue: navItem.search, withinType: navItem.def, schema: schema, onClickType: this.handleClickType, onClickField: this.handleClickField }));\n }\n else if (navStack.length === 1) {\n content = (React.createElement(SchemaDoc, { schema: schema, onClickType: this.handleClickType }));\n }\n else if (isType(navItem.def)) {\n content = (React.createElement(TypeDoc, { schema: schema, type: navItem.def, onClickType: this.handleClickType, onClickField: this.handleClickField }));\n }\n else {\n content = (React.createElement(FieldDoc, { field: navItem.def, onClickType: this.handleClickType }));\n }\n var shouldSearchBoxAppear = navStack.length === 1 ||\n (isType(navItem.def) && 'getFields' in navItem.def);\n var prevName;\n if (navStack.length > 1) {\n prevName = navStack[navStack.length - 2].name;\n }\n return (React.createElement(\"section\", { className: \"doc-explorer\", key: navItem.name, \"aria-label\": \"Documentation Explorer\" },\n React.createElement(\"div\", { className: \"doc-explorer-title-bar\" },\n prevName && (React.createElement(\"button\", { className: \"doc-explorer-back\", onClick: this.handleNavBackClick, \"aria-label\": \"Go back to \" + prevName }, prevName)),\n React.createElement(\"div\", { className: \"doc-explorer-title\" }, navItem.title || navItem.name),\n React.createElement(\"div\", { className: \"doc-explorer-rhs\" }, this.props.children)),\n React.createElement(\"div\", { className: \"doc-explorer-contents\" },\n shouldSearchBoxAppear && (React.createElement(SearchBox, { value: navItem.search, placeholder: \"Search \" + navItem.name + \"...\", onSearch: this.handleSearch })),\n content)));\n };\n DocExplorer.prototype.showDoc = function (typeOrField) {\n var navStack = this.state.navStack;\n var topNav = navStack[navStack.length - 1];\n if (topNav.def !== typeOrField) {\n this.setState({\n navStack: navStack.concat([\n {\n name: typeOrField.name,\n def: typeOrField,\n },\n ]),\n });\n }\n };\n DocExplorer.prototype.showDocForReference = function (reference) {\n if (reference && reference.kind === 'Type') {\n this.showDoc(reference.type);\n }\n else if (reference.kind === 'Field') {\n this.showDoc(reference.field);\n }\n else if (reference.kind === 'Argument' && reference.field) {\n this.showDoc(reference.field);\n }\n else if (reference.kind === 'EnumValue' && reference.type) {\n this.showDoc(reference.type);\n }\n };\n DocExplorer.prototype.showSearch = function (search) {\n var navStack = this.state.navStack.slice();\n var topNav = navStack[navStack.length - 1];\n navStack[navStack.length - 1] = __assign(__assign({}, topNav), { search: search });\n this.setState({ navStack: navStack });\n };\n DocExplorer.prototype.reset = function () {\n this.setState({ navStack: [initialNav] });\n };\n return DocExplorer;\n}(React.Component));\nexport { DocExplorer };\n//# sourceMappingURL=DocExplorer.js.map","export default function find(list, predicate) {\n for (var i = 0; i < list.length; i++) {\n if (predicate(list[i])) {\n return list[i];\n }\n }\n}\n//# sourceMappingURL=find.js.map","module.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/","/**\n * class Ruler\n *\n * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and\n * [[MarkdownIt#inline]] to manage sequences of functions (rules):\n *\n * - keep rules in defined order\n * - assign the name to each rule\n * - enable/disable rules\n * - add/replace rules\n * - allow assign rules to additional named chains (in the same)\n * - cacheing lists of active rules\n *\n * You will not need use this class directly until write plugins. For simple\n * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and\n * [[MarkdownIt.use]].\n **/\n'use strict';\n\n\n/**\n * new Ruler()\n **/\nfunction Ruler() {\n // List of added rules. Each element is:\n //\n // {\n // name: XXX,\n // enabled: Boolean,\n // fn: Function(),\n // alt: [ name2, name3 ]\n // }\n //\n this.__rules__ = [];\n\n // Cached rule chains.\n //\n // First level - chain name, '' for default.\n // Second level - diginal anchor for fast filtering by charcodes.\n //\n this.__cache__ = null;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Helper methods, should not be used directly\n\n\n// Find rule index by name\n//\nRuler.prototype.__find__ = function (name) {\n for (var i = 0; i < this.__rules__.length; i++) {\n if (this.__rules__[i].name === name) {\n return i;\n }\n }\n return -1;\n};\n\n\n// Build rules lookup cache\n//\nRuler.prototype.__compile__ = function () {\n var self = this;\n var chains = [ '' ];\n\n // collect unique names\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n rule.alt.forEach(function (altName) {\n if (chains.indexOf(altName) < 0) {\n chains.push(altName);\n }\n });\n });\n\n self.__cache__ = {};\n\n chains.forEach(function (chain) {\n self.__cache__[chain] = [];\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n if (chain && rule.alt.indexOf(chain) < 0) { return; }\n\n self.__cache__[chain].push(rule.fn);\n });\n });\n};\n\n\n/**\n * Ruler.at(name, fn [, options])\n * - name (String): rule name to replace.\n * - fn (Function): new rule function.\n * - options (Object): new rule options (not mandatory).\n *\n * Replace rule by name with new function & options. Throws error if name not\n * found.\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * Replace existing typographer replacement rule with new one:\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.at('replacements', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.at = function (name, fn, options) {\n var index = this.__find__(name);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + name); }\n\n this.__rules__[index].fn = fn;\n this.__rules__[index].alt = opt.alt || [];\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.before(beforeName, ruleName, fn [, options])\n * - beforeName (String): new rule will be added before this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain before one with given name. See also\n * [[Ruler.after]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.before = function (beforeName, ruleName, fn, options) {\n var index = this.__find__(beforeName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + beforeName); }\n\n this.__rules__.splice(index, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.after(afterName, ruleName, fn [, options])\n * - afterName (String): new rule will be added after this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain after one with given name. See also\n * [[Ruler.before]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.inline.ruler.after('text', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.after = function (afterName, ruleName, fn, options) {\n var index = this.__find__(afterName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + afterName); }\n\n this.__rules__.splice(index + 1, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.push(ruleName, fn [, options])\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Push new rule to the end of chain. See also\n * [[Ruler.before]], [[Ruler.after]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.push('my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.push = function (ruleName, fn, options) {\n var opt = options || {};\n\n this.__rules__.push({\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.enable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to enable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.disable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.enable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and enable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = true;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.enableOnly(list [, ignoreInvalid])\n * - list (String|Array): list of rule names to enable (whitelist).\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names, and disable everything else. If any rule name\n * not found - throw Error. Errors can be disabled by second param.\n *\n * See also [[Ruler.disable]], [[Ruler.enable]].\n **/\nRuler.prototype.enableOnly = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n this.__rules__.forEach(function (rule) { rule.enabled = false; });\n\n this.enable(list, ignoreInvalid);\n};\n\n\n/**\n * Ruler.disable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Disable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.enable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.disable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and disable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = false;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.getRules(chainName) -> Array\n *\n * Return array of active functions (rules) for given chain name. It analyzes\n * rules configuration, compiles caches if not exists and returns result.\n *\n * Default chain name is `''` (empty string). It can't be skipped. That's\n * done intentionally, to keep signature monomorphic for high speed.\n **/\nRuler.prototype.getRules = function (chainName) {\n if (this.__cache__ === null) {\n this.__compile__();\n }\n\n // Chain can be empty, if rules disabled. But we still have to return Array.\n return this.__cache__[chainName] || [];\n};\n\nmodule.exports = Ruler;\n","// Token class\n\n'use strict';\n\n\n/**\n * class Token\n **/\n\n/**\n * new Token(type, tag, nesting)\n *\n * Create new token and fill passed properties.\n **/\nfunction Token(type, tag, nesting) {\n /**\n * Token#type -> String\n *\n * Type of the token (string, e.g. \"paragraph_open\")\n **/\n this.type = type;\n\n /**\n * Token#tag -> String\n *\n * html tag name, e.g. \"p\"\n **/\n this.tag = tag;\n\n /**\n * Token#attrs -> Array\n *\n * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`\n **/\n this.attrs = null;\n\n /**\n * Token#map -> Array\n *\n * Source map info. Format: `[ line_begin, line_end ]`\n **/\n this.map = null;\n\n /**\n * Token#nesting -> Number\n *\n * Level change (number in {-1, 0, 1} set), where:\n *\n * - `1` means the tag is opening\n * - `0` means the tag is self-closing\n * - `-1` means the tag is closing\n **/\n this.nesting = nesting;\n\n /**\n * Token#level -> Number\n *\n * nesting level, the same as `state.level`\n **/\n this.level = 0;\n\n /**\n * Token#children -> Array\n *\n * An array of child nodes (inline and img tokens)\n **/\n this.children = null;\n\n /**\n * Token#content -> String\n *\n * In a case of self-closing tag (code, html, fence, etc.),\n * it has contents of this tag.\n **/\n this.content = '';\n\n /**\n * Token#markup -> String\n *\n * '*' or '_' for emphasis, fence string for fence, etc.\n **/\n this.markup = '';\n\n /**\n * Token#info -> String\n *\n * fence infostring\n **/\n this.info = '';\n\n /**\n * Token#meta -> Object\n *\n * A place for plugins to store an arbitrary data\n **/\n this.meta = null;\n\n /**\n * Token#block -> Boolean\n *\n * True for block-level tokens, false for inline tokens.\n * Used in renderer to calculate line breaks\n **/\n this.block = false;\n\n /**\n * Token#hidden -> Boolean\n *\n * If it's true, ignore this element when rendering. Used for tight lists\n * to hide paragraphs.\n **/\n this.hidden = false;\n}\n\n\n/**\n * Token.attrIndex(name) -> Number\n *\n * Search attribute index by name.\n **/\nToken.prototype.attrIndex = function attrIndex(name) {\n var attrs, i, len;\n\n if (!this.attrs) { return -1; }\n\n attrs = this.attrs;\n\n for (i = 0, len = attrs.length; i < len; i++) {\n if (attrs[i][0] === name) { return i; }\n }\n return -1;\n};\n\n\n/**\n * Token.attrPush(attrData)\n *\n * Add `[ name, value ]` attribute to list. Init attrs if necessary\n **/\nToken.prototype.attrPush = function attrPush(attrData) {\n if (this.attrs) {\n this.attrs.push(attrData);\n } else {\n this.attrs = [ attrData ];\n }\n};\n\n\n/**\n * Token.attrSet(name, value)\n *\n * Set `name` attribute to `value`. Override old value if exists.\n **/\nToken.prototype.attrSet = function attrSet(name, value) {\n var idx = this.attrIndex(name),\n attrData = [ name, value ];\n\n if (idx < 0) {\n this.attrPush(attrData);\n } else {\n this.attrs[idx] = attrData;\n }\n};\n\n\n/**\n * Token.attrGet(name)\n *\n * Get the value of attribute `name`, or null if it does not exist.\n **/\nToken.prototype.attrGet = function attrGet(name) {\n var idx = this.attrIndex(name), value = null;\n if (idx >= 0) {\n value = this.attrs[idx][1];\n }\n return value;\n};\n\n\n/**\n * Token.attrJoin(name, value)\n *\n * Join value to existing attribute via space. Or create new attribute if not\n * exists. Useful to operate with token classes.\n **/\nToken.prototype.attrJoin = function attrJoin(name, value) {\n var idx = this.attrIndex(name);\n\n if (idx < 0) {\n this.attrPush([ name, value ]);\n } else {\n this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;\n }\n};\n\n\nmodule.exports = Token;\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"))\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {Backspace: handleBackspace, Enter: handleEnter};\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i), key = \"'\" + ch + \"'\"\n if (!keyMap[key]) keyMap[key] = handler(ch)\n }\n }\n ensureBound(defaults.pairs + \"`\")\n\n function handler(ch) {\n return function(cm) { return handleChar(cm, ch); };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\"\", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), \"+delete\");\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function() {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n moveSel(cm, -1)\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function moveSel(cm, dir) {\n var newRanges = [], ranges = cm.listSelections(), primary = 0\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i]\n if (range.head == cm.getCursor()) primary = i\n var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1}\n newRanges.push({anchor: pos, head: pos})\n }\n cm.setSelections(newRanges, primary)\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf,\"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], cur = range.head, curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur))\n curType = \"both\";\n else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)\n curType = \"skipThree\";\n else\n curType = \"skip\";\n } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {\n if (cur.ch > 2 && /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev = cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur)\n if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = \"both\";\n else return CodeMirror.Pass;\n } else if (opening && (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function() {\n if (type == \"skip\") {\n moveSel(cm, 1)\n } else if (type == \"skipThree\") {\n moveSel(cm, 3)\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++)\n sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n moveSel(cm, -1)\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n moveSel(cm, 1)\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1),\n Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))\n return /\\bstring/.test(token.type) && token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n var GUTTER_ID = \"CodeMirror-lint-markers\";\n\n function showTooltip(cm, e, content) {\n var tt = document.createElement(\"div\");\n tt.className = \"CodeMirror-lint-tooltip cm-s-\" + cm.options.theme;\n tt.appendChild(content.cloneNode(true));\n if (cm.state.lint.options.selfContain)\n cm.getWrapperElement().appendChild(tt);\n else\n document.body.appendChild(tt);\n\n function position(e) {\n if (!tt.parentNode) return CodeMirror.off(document, \"mousemove\", position);\n tt.style.top = Math.max(0, e.clientY - tt.offsetHeight - 5) + \"px\";\n tt.style.left = (e.clientX + 5) + \"px\";\n }\n CodeMirror.on(document, \"mousemove\", position);\n position(e);\n if (tt.style.opacity != null) tt.style.opacity = 1;\n return tt;\n }\n function rm(elt) {\n if (elt.parentNode) elt.parentNode.removeChild(elt);\n }\n function hideTooltip(tt) {\n if (!tt.parentNode) return;\n if (tt.style.opacity == null) rm(tt);\n tt.style.opacity = 0;\n setTimeout(function() { rm(tt); }, 600);\n }\n\n function showTooltipFor(cm, e, content, node) {\n var tooltip = showTooltip(cm, e, content);\n function hide() {\n CodeMirror.off(node, \"mouseout\", hide);\n if (tooltip) { hideTooltip(tooltip); tooltip = null; }\n }\n var poll = setInterval(function() {\n if (tooltip) for (var n = node;; n = n.parentNode) {\n if (n && n.nodeType == 11) n = n.host;\n if (n == document.body) return;\n if (!n) { hide(); break; }\n }\n if (!tooltip) return clearInterval(poll);\n }, 400);\n CodeMirror.on(node, \"mouseout\", hide);\n }\n\n function LintState(cm, options, hasGutter) {\n this.marked = [];\n this.options = options;\n this.timeout = null;\n this.hasGutter = hasGutter;\n this.onMouseOver = function(e) { onMouseOver(cm, e); };\n this.waitingFor = 0\n }\n\n function parseOptions(_cm, options) {\n if (options instanceof Function) return {getAnnotations: options};\n if (!options || options === true) options = {};\n return options;\n }\n\n function clearMarks(cm) {\n var state = cm.state.lint;\n if (state.hasGutter) cm.clearGutter(GUTTER_ID);\n for (var i = 0; i < state.marked.length; ++i)\n state.marked[i].clear();\n state.marked.length = 0;\n }\n\n function makeMarker(cm, labels, severity, multiple, tooltips) {\n var marker = document.createElement(\"div\"), inner = marker;\n marker.className = \"CodeMirror-lint-marker CodeMirror-lint-marker-\" + severity;\n if (multiple) {\n inner = marker.appendChild(document.createElement(\"div\"));\n inner.className = \"CodeMirror-lint-marker CodeMirror-lint-marker-multiple\";\n }\n\n if (tooltips != false) CodeMirror.on(inner, \"mouseover\", function(e) {\n showTooltipFor(cm, e, labels, inner);\n });\n\n return marker;\n }\n\n function getMaxSeverity(a, b) {\n if (a == \"error\") return a;\n else return b;\n }\n\n function groupByLine(annotations) {\n var lines = [];\n for (var i = 0; i < annotations.length; ++i) {\n var ann = annotations[i], line = ann.from.line;\n (lines[line] || (lines[line] = [])).push(ann);\n }\n return lines;\n }\n\n function annotationTooltip(ann) {\n var severity = ann.severity;\n if (!severity) severity = \"error\";\n var tip = document.createElement(\"div\");\n tip.className = \"CodeMirror-lint-message CodeMirror-lint-message-\" + severity;\n if (typeof ann.messageHTML != 'undefined') {\n tip.innerHTML = ann.messageHTML;\n } else {\n tip.appendChild(document.createTextNode(ann.message));\n }\n return tip;\n }\n\n function lintAsync(cm, getAnnotations, passOptions) {\n var state = cm.state.lint\n var id = ++state.waitingFor\n function abort() {\n id = -1\n cm.off(\"change\", abort)\n }\n cm.on(\"change\", abort)\n getAnnotations(cm.getValue(), function(annotations, arg2) {\n cm.off(\"change\", abort)\n if (state.waitingFor != id) return\n if (arg2 && annotations instanceof CodeMirror) annotations = arg2\n cm.operation(function() {updateLinting(cm, annotations)})\n }, passOptions, cm);\n }\n\n function startLinting(cm) {\n var state = cm.state.lint, options = state.options;\n /*\n * Passing rules in `options` property prevents JSHint (and other linters) from complaining\n * about unrecognized rules like `onUpdateLinting`, `delay`, `lintOnChange`, etc.\n */\n var passOptions = options.options || options;\n var getAnnotations = options.getAnnotations || cm.getHelper(CodeMirror.Pos(0, 0), \"lint\");\n if (!getAnnotations) return;\n if (options.async || getAnnotations.async) {\n lintAsync(cm, getAnnotations, passOptions)\n } else {\n var annotations = getAnnotations(cm.getValue(), passOptions, cm);\n if (!annotations) return;\n if (annotations.then) annotations.then(function(issues) {\n cm.operation(function() {updateLinting(cm, issues)})\n });\n else cm.operation(function() {updateLinting(cm, annotations)})\n }\n }\n\n function updateLinting(cm, annotationsNotSorted) {\n clearMarks(cm);\n var state = cm.state.lint, options = state.options;\n\n var annotations = groupByLine(annotationsNotSorted);\n\n for (var line = 0; line < annotations.length; ++line) {\n var anns = annotations[line];\n if (!anns) continue;\n\n // filter out duplicate messages\n var message = [];\n anns = anns.filter(function(item) { return message.indexOf(item.message) > -1 ? false : message.push(item.message) });\n\n var maxSeverity = null;\n var tipLabel = state.hasGutter && document.createDocumentFragment();\n\n for (var i = 0; i < anns.length; ++i) {\n var ann = anns[i];\n var severity = ann.severity;\n if (!severity) severity = \"error\";\n maxSeverity = getMaxSeverity(maxSeverity, severity);\n\n if (options.formatAnnotation) ann = options.formatAnnotation(ann);\n if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann));\n\n if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, {\n className: \"CodeMirror-lint-mark CodeMirror-lint-mark-\" + severity,\n __annotation: ann\n }));\n }\n // use original annotations[line] to show multiple messages\n if (state.hasGutter)\n cm.setGutterMarker(line, GUTTER_ID, makeMarker(cm, tipLabel, maxSeverity, annotations[line].length > 1,\n state.options.tooltips));\n }\n if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm);\n }\n\n function onChange(cm) {\n var state = cm.state.lint;\n if (!state) return;\n clearTimeout(state.timeout);\n state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay || 500);\n }\n\n function popupTooltips(cm, annotations, e) {\n var target = e.target || e.srcElement;\n var tooltip = document.createDocumentFragment();\n for (var i = 0; i < annotations.length; i++) {\n var ann = annotations[i];\n tooltip.appendChild(annotationTooltip(ann));\n }\n showTooltipFor(cm, e, tooltip, target);\n }\n\n function onMouseOver(cm, e) {\n var target = e.target || e.srcElement;\n if (!/\\bCodeMirror-lint-mark-/.test(target.className)) return;\n var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2;\n var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, \"client\"));\n\n var annotations = [];\n for (var i = 0; i < spans.length; ++i) {\n var ann = spans[i].__annotation;\n if (ann) annotations.push(ann);\n }\n if (annotations.length) popupTooltips(cm, annotations, e);\n }\n\n CodeMirror.defineOption(\"lint\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n clearMarks(cm);\n if (cm.state.lint.options.lintOnChange !== false)\n cm.off(\"change\", onChange);\n CodeMirror.off(cm.getWrapperElement(), \"mouseover\", cm.state.lint.onMouseOver);\n clearTimeout(cm.state.lint.timeout);\n delete cm.state.lint;\n }\n\n if (val) {\n var gutters = cm.getOption(\"gutters\"), hasLintGutter = false;\n for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true;\n var state = cm.state.lint = new LintState(cm, parseOptions(cm, val), hasLintGutter);\n if (state.options.lintOnChange !== false)\n cm.on(\"change\", onChange);\n if (state.options.tooltips != false && state.options.tooltips != \"gutter\")\n CodeMirror.on(cm.getWrapperElement(), \"mouseover\", state.onMouseOver);\n\n startLinting(cm);\n }\n });\n\n CodeMirror.defineExtension(\"performLint\", function() {\n if (this.state.lint) startLinting(this);\n });\n});\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport React from 'react';\nimport { buildClientSchema, parse, print, visit, } from 'graphql';\nimport copyToClipboard from 'copy-to-clipboard';\nimport { getFragmentDependenciesForAST } from 'graphql-language-service-utils';\nimport { dset } from 'dset';\nimport { ExecuteButton } from './ExecuteButton';\nimport { ImagePreview } from './ImagePreview';\nimport { ToolbarButton } from './ToolbarButton';\nimport { ToolbarGroup } from './ToolbarGroup';\nimport { ToolbarMenu, ToolbarMenuItem } from './ToolbarMenu';\nimport { QueryEditor } from './QueryEditor';\nimport { VariableEditor } from './VariableEditor';\nimport { HeaderEditor } from './HeaderEditor';\nimport { ResultViewer } from './ResultViewer';\nimport { DocExplorer } from './DocExplorer';\nimport { QueryHistory } from './QueryHistory';\nimport CodeMirrorSizer from '../utility/CodeMirrorSizer';\nimport StorageAPI from '../utility/StorageAPI';\nimport getOperationFacts from '../utility/getQueryFacts';\nimport getSelectedOperationName from '../utility/getSelectedOperationName';\nimport debounce from '../utility/debounce';\nimport find from '../utility/find';\nimport { fillLeafs } from '../utility/fillLeafs';\nimport { getLeft, getTop } from '../utility/elementPosition';\nimport mergeAST from '../utility/mergeAst';\nimport { introspectionQuery, introspectionQueryName, introspectionQuerySansSubscriptions, } from '../utility/introspectionQueries';\nvar DEFAULT_DOC_EXPLORER_WIDTH = 350;\nvar majorVersion = parseInt(React.version.slice(0, 2), 10);\nif (majorVersion < 16) {\n throw Error([\n 'GraphiQL 0.18.0 and after is not compatible with React 15 or below.',\n 'If you are using a CDN source (jsdelivr, unpkg, etc), follow this example:',\n 'https://github.com/graphql/graphiql/blob/master/examples/graphiql-cdn/index.html#L49',\n ].join('\\n'));\n}\nvar GraphiQL = (function (_super) {\n __extends(GraphiQL, _super);\n function GraphiQL(props) {\n var _a, _b;\n var _this = _super.call(this, props) || this;\n _this._editorQueryID = 0;\n _this.safeSetState = function (nextState, callback) {\n _this.componentIsMounted && _this.setState(nextState, callback);\n };\n _this.handleClickReference = function (reference) {\n _this.setState({ docExplorerOpen: true }, function () {\n if (_this.docExplorerComponent) {\n _this.docExplorerComponent.showDocForReference(reference);\n }\n });\n _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\n };\n _this.handleRunQuery = function (selectedOperationName) { return __awaiter(_this, void 0, void 0, function () {\n var queryID, editedQuery, variables, headers, shouldPersistHeaders, operationName, fullResponse_1, subscription, error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this._editorQueryID++;\n queryID = this._editorQueryID;\n editedQuery = this.autoCompleteLeafs() || this.state.query;\n variables = this.state.variables;\n headers = this.state.headers;\n shouldPersistHeaders = this.state.shouldPersistHeaders;\n operationName = this.state.operationName;\n if (selectedOperationName && selectedOperationName !== operationName) {\n operationName = selectedOperationName;\n this.handleEditOperationName(operationName);\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n this.setState({\n isWaitingForResponse: true,\n response: undefined,\n operationName: operationName,\n });\n this._storage.set('operationName', operationName);\n if (this._queryHistory) {\n this._queryHistory.updateHistory(editedQuery, variables, headers, operationName);\n }\n fullResponse_1 = { data: {} };\n return [4, this._fetchQuery(editedQuery, variables, headers, operationName, shouldPersistHeaders, function (result) {\n if (queryID === _this._editorQueryID) {\n var maybeMultipart = Array.isArray(result) ? result : false;\n if (!maybeMultipart &&\n typeof result !== 'string' &&\n result !== null &&\n 'hasNext' in result) {\n maybeMultipart = [result];\n }\n if (maybeMultipart) {\n var payload = { data: fullResponse_1.data };\n var maybeErrors = __spreadArrays(((fullResponse_1 === null || fullResponse_1 === void 0 ? void 0 : fullResponse_1.errors) || []), maybeMultipart\n .map(function (i) { return i.errors; })\n .flat()\n .filter(Boolean));\n if (maybeErrors.length) {\n payload.errors = maybeErrors;\n }\n for (var _i = 0, maybeMultipart_1 = maybeMultipart; _i < maybeMultipart_1.length; _i++) {\n var part = maybeMultipart_1[_i];\n var path = part.path, data = part.data, _errors = part.errors, rest = __rest(part, [\"path\", \"data\", \"errors\"]);\n if (path) {\n if (!data) {\n throw new Error(\"Expected part to contain a data property, but got \" + part);\n }\n dset(payload.data, part.path, part.data);\n }\n else if (data) {\n payload.data = part.data;\n }\n fullResponse_1 = __assign(__assign({}, payload), rest);\n }\n _this.setState({\n isWaitingForResponse: false,\n response: GraphiQL.formatResult(fullResponse_1),\n });\n }\n else {\n _this.setState({\n isWaitingForResponse: false,\n response: GraphiQL.formatResult(result),\n });\n }\n }\n })];\n case 2:\n subscription = _a.sent();\n this.setState({ subscription: subscription });\n return [3, 4];\n case 3:\n error_1 = _a.sent();\n this.setState({\n isWaitingForResponse: false,\n response: error_1.message,\n });\n return [3, 4];\n case 4: return [2];\n }\n });\n }); };\n _this.handleStopQuery = function () {\n var subscription = _this.state.subscription;\n _this.setState({\n isWaitingForResponse: false,\n subscription: null,\n });\n if (subscription) {\n subscription.unsubscribe();\n }\n };\n _this.handlePrettifyQuery = function () {\n var _a, _b, _c;\n var editor = _this.getQueryEditor();\n var editorContent = (_a = editor === null || editor === void 0 ? void 0 : editor.getValue()) !== null && _a !== void 0 ? _a : '';\n var prettifiedEditorContent = print(parse(editorContent, { experimentalFragmentVariables: true }));\n if (prettifiedEditorContent !== editorContent) {\n editor === null || editor === void 0 ? void 0 : editor.setValue(prettifiedEditorContent);\n }\n var variableEditor = _this.getVariableEditor();\n var variableEditorContent = (_b = variableEditor === null || variableEditor === void 0 ? void 0 : variableEditor.getValue()) !== null && _b !== void 0 ? _b : '';\n try {\n var prettifiedVariableEditorContent = JSON.stringify(JSON.parse(variableEditorContent), null, 2);\n if (prettifiedVariableEditorContent !== variableEditorContent) {\n variableEditor === null || variableEditor === void 0 ? void 0 : variableEditor.setValue(prettifiedVariableEditorContent);\n }\n }\n catch (_d) {\n }\n var headerEditor = _this.getHeaderEditor();\n var headerEditorContent = (_c = headerEditor === null || headerEditor === void 0 ? void 0 : headerEditor.getValue()) !== null && _c !== void 0 ? _c : '';\n try {\n var prettifiedHeaderEditorContent = JSON.stringify(JSON.parse(headerEditorContent), null, 2);\n if (prettifiedHeaderEditorContent !== headerEditorContent) {\n headerEditor === null || headerEditor === void 0 ? void 0 : headerEditor.setValue(prettifiedHeaderEditorContent);\n }\n }\n catch (_e) {\n }\n };\n _this.handleMergeQuery = function () {\n var editor = _this.getQueryEditor();\n var query = editor.getValue();\n if (!query) {\n return;\n }\n var ast = _this.state.documentAST;\n editor.setValue(print(mergeAST(ast, _this.state.schema)));\n };\n _this.handleEditQuery = debounce(100, function (value) {\n var queryFacts = _this._updateQueryFacts(value, _this.state.operationName, _this.state.operations, _this.state.schema);\n _this.setState(__assign({ query: value }, queryFacts));\n _this._storage.set('query', value);\n if (_this.props.onEditQuery) {\n return _this.props.onEditQuery(value, queryFacts === null || queryFacts === void 0 ? void 0 : queryFacts.documentAST);\n }\n });\n _this.handleCopyQuery = function () {\n var editor = _this.getQueryEditor();\n var query = editor && editor.getValue();\n if (!query) {\n return;\n }\n copyToClipboard(query);\n if (_this.props.onCopyQuery) {\n return _this.props.onCopyQuery(query);\n }\n };\n _this._updateQueryFacts = function (query, operationName, prevOperations, schema) {\n var queryFacts = getOperationFacts(schema, query);\n if (queryFacts) {\n var updatedOperationName = getSelectedOperationName(prevOperations, operationName, queryFacts.operations);\n var onEditOperationName = _this.props.onEditOperationName;\n if (onEditOperationName &&\n updatedOperationName &&\n operationName !== updatedOperationName) {\n onEditOperationName(updatedOperationName);\n }\n return __assign({ operationName: updatedOperationName }, queryFacts);\n }\n };\n _this.handleEditVariables = function (value) {\n _this.setState({ variables: value });\n debounce(500, function () { return _this._storage.set('variables', value); })();\n if (_this.props.onEditVariables) {\n _this.props.onEditVariables(value);\n }\n };\n _this.handleEditHeaders = function (value) {\n _this.setState({ headers: value });\n _this.props.shouldPersistHeaders &&\n debounce(500, function () { return _this._storage.set('headers', value); })();\n if (_this.props.onEditHeaders) {\n _this.props.onEditHeaders(value);\n }\n };\n _this.handleEditOperationName = function (operationName) {\n var onEditOperationName = _this.props.onEditOperationName;\n if (onEditOperationName) {\n onEditOperationName(operationName);\n }\n };\n _this.handleHintInformationRender = function (elem) {\n elem.addEventListener('click', _this._onClickHintInformation);\n var onRemoveFn;\n elem.addEventListener('DOMNodeRemoved', (onRemoveFn = function () {\n elem.removeEventListener('DOMNodeRemoved', onRemoveFn);\n elem.removeEventListener('click', _this._onClickHintInformation);\n }));\n };\n _this.handleEditorRunQuery = function () {\n _this._runQueryAtCursor();\n };\n _this._onClickHintInformation = function (event) {\n if ((event === null || event === void 0 ? void 0 : event.currentTarget) &&\n 'className' in event.currentTarget &&\n event.currentTarget.className === 'typeName') {\n var typeName = event.currentTarget.innerHTML;\n var schema = _this.state.schema;\n if (schema) {\n var type_1 = schema.getType(typeName);\n if (type_1) {\n _this.setState({ docExplorerOpen: true }, function () {\n if (_this.docExplorerComponent) {\n _this.docExplorerComponent.showDoc(type_1);\n }\n });\n debounce(500, function () {\n return _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\n })();\n }\n }\n }\n };\n _this.handleToggleDocs = function () {\n if (typeof _this.props.onToggleDocs === 'function') {\n _this.props.onToggleDocs(!_this.state.docExplorerOpen);\n }\n _this._storage.set('docExplorerOpen', JSON.stringify(!_this.state.docExplorerOpen));\n _this.setState({ docExplorerOpen: !_this.state.docExplorerOpen });\n };\n _this.handleToggleHistory = function () {\n if (typeof _this.props.onToggleHistory === 'function') {\n _this.props.onToggleHistory(!_this.state.historyPaneOpen);\n }\n _this._storage.set('historyPaneOpen', JSON.stringify(!_this.state.historyPaneOpen));\n _this.setState({ historyPaneOpen: !_this.state.historyPaneOpen });\n };\n _this.handleSelectHistoryQuery = function (query, variables, headers, operationName) {\n if (query) {\n _this.handleEditQuery(query);\n }\n if (variables) {\n _this.handleEditVariables(variables);\n }\n if (headers) {\n _this.handleEditHeaders(headers);\n }\n if (operationName) {\n _this.handleEditOperationName(operationName);\n }\n };\n _this.handleResizeStart = function (downEvent) {\n if (!_this._didClickDragBar(downEvent)) {\n return;\n }\n downEvent.preventDefault();\n var offset = downEvent.clientX - getLeft(downEvent.target);\n var onMouseMove = function (moveEvent) {\n if (moveEvent.buttons === 0) {\n return onMouseUp();\n }\n var editorBar = _this.editorBarComponent;\n var leftSize = moveEvent.clientX - getLeft(editorBar) - offset;\n var rightSize = editorBar.clientWidth - leftSize;\n _this.setState({ editorFlex: leftSize / rightSize });\n debounce(500, function () {\n return _this._storage.set('editorFlex', JSON.stringify(_this.state.editorFlex));\n })();\n };\n var onMouseUp = function () {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n onMouseMove = null;\n onMouseUp = null;\n };\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n };\n _this.handleResetResize = function () {\n _this.setState({ editorFlex: 1 });\n _this._storage.set('editorFlex', JSON.stringify(_this.state.editorFlex));\n };\n _this.handleDocsResizeStart = function (downEvent) {\n downEvent.preventDefault();\n var hadWidth = _this.state.docExplorerWidth;\n var offset = downEvent.clientX - getLeft(downEvent.target);\n var onMouseMove = function (moveEvent) {\n if (moveEvent.buttons === 0) {\n return onMouseUp();\n }\n var app = _this.graphiqlContainer;\n var cursorPos = moveEvent.clientX - getLeft(app) - offset;\n var docsSize = app.clientWidth - cursorPos;\n if (docsSize < 100) {\n if (typeof _this.props.onToggleDocs === 'function') {\n _this.props.onToggleDocs(!_this.state.docExplorerOpen);\n }\n _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\n _this.setState({ docExplorerOpen: false });\n }\n else {\n _this.setState({\n docExplorerOpen: true,\n docExplorerWidth: Math.min(docsSize, 650),\n });\n debounce(500, function () {\n return _this._storage.set('docExplorerWidth', JSON.stringify(_this.state.docExplorerWidth));\n })();\n }\n _this._storage.set('docExplorerOpen', JSON.stringify(_this.state.docExplorerOpen));\n };\n var onMouseUp = function () {\n if (!_this.state.docExplorerOpen) {\n _this.setState({ docExplorerWidth: hadWidth });\n debounce(500, function () {\n return _this._storage.set('docExplorerWidth', JSON.stringify(_this.state.docExplorerWidth));\n })();\n }\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n onMouseMove = null;\n onMouseUp = null;\n };\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n };\n _this.handleDocsResetResize = function () {\n _this.setState({\n docExplorerWidth: DEFAULT_DOC_EXPLORER_WIDTH,\n });\n debounce(500, function () {\n return _this._storage.set('docExplorerWidth', JSON.stringify(_this.state.docExplorerWidth));\n })();\n };\n _this.handleTabClickPropogation = function (downEvent) {\n downEvent.preventDefault();\n downEvent.stopPropagation();\n };\n _this.handleOpenHeaderEditorTab = function (_clickEvent) {\n _this.setState({\n headerEditorActive: true,\n variableEditorActive: false,\n secondaryEditorOpen: true,\n });\n };\n _this.handleOpenVariableEditorTab = function (_clickEvent) {\n _this.setState({\n headerEditorActive: false,\n variableEditorActive: true,\n secondaryEditorOpen: true,\n });\n };\n _this.handleSecondaryEditorResizeStart = function (downEvent) {\n downEvent.preventDefault();\n var didMove = false;\n var wasOpen = _this.state.secondaryEditorOpen;\n var hadHeight = _this.state.secondaryEditorHeight;\n var offset = downEvent.clientY - getTop(downEvent.target);\n var onMouseMove = function (moveEvent) {\n if (moveEvent.buttons === 0) {\n return onMouseUp();\n }\n didMove = true;\n var editorBar = _this.editorBarComponent;\n var topSize = moveEvent.clientY - getTop(editorBar) - offset;\n var bottomSize = editorBar.clientHeight - topSize;\n if (bottomSize < 60) {\n _this.setState({\n secondaryEditorOpen: false,\n secondaryEditorHeight: hadHeight,\n });\n }\n else {\n _this.setState({\n secondaryEditorOpen: true,\n secondaryEditorHeight: bottomSize,\n });\n }\n debounce(500, function () {\n return _this._storage.set('secondaryEditorHeight', JSON.stringify(_this.state.secondaryEditorHeight));\n })();\n };\n var onMouseUp = function () {\n if (!didMove) {\n _this.setState({ secondaryEditorOpen: !wasOpen });\n }\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n onMouseMove = null;\n onMouseUp = null;\n };\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n };\n if (typeof props.fetcher !== 'function') {\n throw new TypeError('GraphiQL requires a fetcher function.');\n }\n _this._storage = new StorageAPI(props.storage);\n _this.componentIsMounted = false;\n var query = props.query !== undefined\n ? props.query\n : _this._storage.get('query')\n ? _this._storage.get('query')\n : props.defaultQuery !== undefined\n ? props.defaultQuery\n : defaultQuery;\n var queryFacts = getOperationFacts(props.schema, query);\n var variables = props.variables !== undefined\n ? props.variables\n : _this._storage.get('variables');\n var headers = props.headers !== undefined\n ? props.headers\n : _this._storage.get('headers');\n var operationName = props.operationName !== undefined\n ? props.operationName\n : getSelectedOperationName(undefined, _this._storage.get('operationName'), queryFacts && queryFacts.operations);\n var docExplorerOpen = props.docExplorerOpen || false;\n if (_this._storage.get('docExplorerOpen')) {\n docExplorerOpen = _this._storage.get('docExplorerOpen') === 'true';\n }\n var secondaryEditorOpen;\n if (props.defaultVariableEditorOpen !== undefined) {\n secondaryEditorOpen = props.defaultVariableEditorOpen;\n }\n else if (props.defaultSecondaryEditorOpen !== undefined) {\n secondaryEditorOpen = props.defaultSecondaryEditorOpen;\n }\n else {\n secondaryEditorOpen = Boolean(variables || headers);\n }\n var headerEditorEnabled = (_a = props.headerEditorEnabled) !== null && _a !== void 0 ? _a : false;\n var shouldPersistHeaders = (_b = props.shouldPersistHeaders) !== null && _b !== void 0 ? _b : false;\n _this.state = __assign({ schema: props.schema, query: query, variables: variables, headers: headers, operationName: operationName,\n docExplorerOpen: docExplorerOpen, response: props.response, editorFlex: Number(_this._storage.get('editorFlex')) || 1, secondaryEditorOpen: secondaryEditorOpen, secondaryEditorHeight: Number(_this._storage.get('secondaryEditorHeight')) || 200, variableEditorActive: _this._storage.get('variableEditorActive') === 'true' ||\n props.headerEditorEnabled\n ? _this._storage.get('headerEditorActive') !== 'true'\n : true, headerEditorActive: _this._storage.get('headerEditorActive') === 'true', headerEditorEnabled: headerEditorEnabled,\n shouldPersistHeaders: shouldPersistHeaders, historyPaneOpen: _this._storage.get('historyPaneOpen') === 'true' || false, docExplorerWidth: Number(_this._storage.get('docExplorerWidth')) ||\n DEFAULT_DOC_EXPLORER_WIDTH, isWaitingForResponse: false, subscription: null }, queryFacts);\n return _this;\n }\n GraphiQL.formatResult = function (result) {\n return JSON.stringify(result, null, 2);\n };\n GraphiQL.formatError = function (rawError) {\n var result = Array.isArray(rawError)\n ? rawError.map(formatSingleError)\n : formatSingleError(rawError);\n return JSON.stringify(result, null, 2);\n };\n GraphiQL.prototype.componentDidMount = function () {\n this.componentIsMounted = true;\n if (this.state.schema === undefined) {\n this.fetchSchema();\n }\n this.codeMirrorSizer = new CodeMirrorSizer();\n global.g = this;\n };\n GraphiQL.prototype.UNSAFE_componentWillMount = function () {\n this.componentIsMounted = false;\n };\n GraphiQL.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {\n var _this = this;\n var nextSchema = this.state.schema;\n var nextQuery = this.state.query;\n var nextVariables = this.state.variables;\n var nextHeaders = this.state.headers;\n var nextOperationName = this.state.operationName;\n var nextResponse = this.state.response;\n if (nextProps.schema !== undefined) {\n nextSchema = nextProps.schema;\n }\n if (nextProps.query !== undefined && this.props.query !== nextProps.query) {\n nextQuery = nextProps.query;\n }\n if (nextProps.variables !== undefined &&\n this.props.variables !== nextProps.variables) {\n nextVariables = nextProps.variables;\n }\n if (nextProps.headers !== undefined &&\n this.props.headers !== nextProps.headers) {\n nextHeaders = nextProps.headers;\n }\n if (nextProps.operationName !== undefined) {\n nextOperationName = nextProps.operationName;\n }\n if (nextProps.response !== undefined) {\n nextResponse = nextProps.response;\n }\n if (nextQuery &&\n nextSchema &&\n (nextSchema !== this.state.schema ||\n nextQuery !== this.state.query ||\n nextOperationName !== this.state.operationName)) {\n var updatedQueryAttributes = this._updateQueryFacts(nextQuery, nextOperationName, this.state.operations, nextSchema);\n if (updatedQueryAttributes !== undefined) {\n nextOperationName = updatedQueryAttributes.operationName;\n this.setState(updatedQueryAttributes);\n }\n }\n if (nextProps.schema === undefined &&\n nextProps.fetcher !== this.props.fetcher) {\n nextSchema = undefined;\n }\n this._storage.set('operationName', nextOperationName);\n this.setState({\n schema: nextSchema,\n query: nextQuery,\n variables: nextVariables,\n headers: nextHeaders,\n operationName: nextOperationName,\n response: nextResponse,\n }, function () {\n if (_this.state.schema === undefined) {\n if (_this.docExplorerComponent) {\n _this.docExplorerComponent.reset();\n }\n _this.fetchSchema();\n }\n });\n };\n GraphiQL.prototype.componentDidUpdate = function () {\n this.codeMirrorSizer.updateSizes([\n this.queryEditorComponent,\n this.variableEditorComponent,\n this.headerEditorComponent,\n this.resultComponent,\n ]);\n };\n GraphiQL.prototype.render = function () {\n var _this = this;\n var _a;\n var children = React.Children.toArray(this.props.children);\n var logo = find(children, function (child) {\n return isChildComponentType(child, GraphiQL.Logo);\n }) || React.createElement(GraphiQL.Logo, null);\n var toolbar = find(children, function (child) {\n return isChildComponentType(child, GraphiQL.Toolbar);\n }) || (React.createElement(GraphiQL.Toolbar, null,\n React.createElement(ToolbarButton, { onClick: this.handlePrettifyQuery, title: \"Prettify Query (Shift-Ctrl-P)\", label: \"Prettify\" }),\n React.createElement(ToolbarButton, { onClick: this.handleMergeQuery, title: \"Merge Query (Shift-Ctrl-M)\", label: \"Merge\" }),\n React.createElement(ToolbarButton, { onClick: this.handleCopyQuery, title: \"Copy Query (Shift-Ctrl-C)\", label: \"Copy\" }),\n React.createElement(ToolbarButton, { onClick: this.handleToggleHistory, title: \"Show History\", label: \"History\" }),\n ((_a = this.props.toolbar) === null || _a === void 0 ? void 0 : _a.additionalContent) ? this.props.toolbar.additionalContent\n : null));\n var footer = find(children, function (child) {\n return isChildComponentType(child, GraphiQL.Footer);\n });\n var queryWrapStyle = {\n WebkitFlex: this.state.editorFlex,\n flex: this.state.editorFlex,\n };\n var docWrapStyle = {\n display: 'block',\n width: this.state.docExplorerWidth,\n };\n var docExplorerWrapClasses = 'docExplorerWrap' +\n (this.state.docExplorerWidth < 200 ? ' doc-explorer-narrow' : '');\n var historyPaneStyle = {\n display: this.state.historyPaneOpen ? 'block' : 'none',\n width: '230px',\n zIndex: 7,\n };\n var secondaryEditorOpen = this.state.secondaryEditorOpen;\n var secondaryEditorStyle = {\n height: secondaryEditorOpen\n ? this.state.secondaryEditorHeight\n : undefined,\n };\n return (React.createElement(\"div\", { ref: function (n) {\n _this.graphiqlContainer = n;\n }, className: \"graphiql-container\" },\n React.createElement(\"div\", { className: \"historyPaneWrap\", style: historyPaneStyle },\n React.createElement(QueryHistory, { ref: function (node) {\n _this._queryHistory = node;\n }, operationName: this.state.operationName, query: this.state.query, variables: this.state.variables, onSelectQuery: this.handleSelectHistoryQuery, storage: this._storage, queryID: this._editorQueryID },\n React.createElement(\"button\", { className: \"docExplorerHide\", onClick: this.handleToggleHistory, \"aria-label\": \"Close History\" }, '\\u2715'))),\n React.createElement(\"div\", { className: \"editorWrap\" },\n React.createElement(\"div\", { className: \"topBarWrap\" },\n React.createElement(\"div\", { className: \"topBar\" },\n logo,\n React.createElement(ExecuteButton, { isRunning: Boolean(this.state.subscription), onRun: this.handleRunQuery, onStop: this.handleStopQuery, operations: this.state.operations }),\n toolbar),\n !this.state.docExplorerOpen && (React.createElement(\"button\", { className: \"docExplorerShow\", onClick: this.handleToggleDocs, \"aria-label\": \"Open Documentation Explorer\" }, 'Docs'))),\n React.createElement(\"div\", { ref: function (n) {\n _this.editorBarComponent = n;\n }, className: \"editorBar\", onDoubleClick: this.handleResetResize, onMouseDown: this.handleResizeStart },\n React.createElement(\"div\", { className: \"queryWrap\", style: queryWrapStyle },\n React.createElement(QueryEditor, { ref: function (n) {\n _this.queryEditorComponent = n;\n }, schema: this.state.schema, validationRules: this.props.validationRules, value: this.state.query, onEdit: this.handleEditQuery, onHintInformationRender: this.handleHintInformationRender, onClickReference: this.handleClickReference, onCopyQuery: this.handleCopyQuery, onPrettifyQuery: this.handlePrettifyQuery, onMergeQuery: this.handleMergeQuery, onRunQuery: this.handleEditorRunQuery, editorTheme: this.props.editorTheme, readOnly: this.props.readOnly, externalFragments: this.props.externalFragments }),\n React.createElement(\"section\", { className: \"variable-editor secondary-editor\", style: secondaryEditorStyle, \"aria-label\": this.state.variableEditorActive\n ? 'Query Variables'\n : 'Request Headers' },\n React.createElement(\"div\", { className: \"secondary-editor-title variable-editor-title\", id: \"secondary-editor-title\", style: {\n cursor: secondaryEditorOpen ? 'row-resize' : 'n-resize',\n }, onMouseDown: this.handleSecondaryEditorResizeStart },\n React.createElement(\"div\", { style: {\n cursor: 'pointer',\n color: this.state.variableEditorActive ? '#000' : 'gray',\n display: 'inline-block',\n }, onClick: this.handleOpenVariableEditorTab, onMouseDown: this.handleTabClickPropogation }, 'Query Variables'),\n this.state.headerEditorEnabled && (React.createElement(\"div\", { style: {\n cursor: 'pointer',\n color: this.state.headerEditorActive ? '#000' : 'gray',\n display: 'inline-block',\n marginLeft: '20px',\n }, onClick: this.handleOpenHeaderEditorTab, onMouseDown: this.handleTabClickPropogation }, 'Request Headers'))),\n React.createElement(VariableEditor, { ref: function (n) {\n _this.variableEditorComponent = n;\n }, value: this.state.variables, variableToType: this.state.variableToType, onEdit: this.handleEditVariables, onHintInformationRender: this.handleHintInformationRender, onPrettifyQuery: this.handlePrettifyQuery, onMergeQuery: this.handleMergeQuery, onRunQuery: this.handleEditorRunQuery, editorTheme: this.props.editorTheme, readOnly: this.props.readOnly, active: this.state.variableEditorActive }),\n this.state.headerEditorEnabled && (React.createElement(HeaderEditor, { ref: function (n) {\n _this.headerEditorComponent = n;\n }, value: this.state.headers, onEdit: this.handleEditHeaders, onHintInformationRender: this.handleHintInformationRender, onPrettifyQuery: this.handlePrettifyQuery, onMergeQuery: this.handleMergeQuery, onRunQuery: this.handleEditorRunQuery, editorTheme: this.props.editorTheme, readOnly: this.props.readOnly, active: this.state.headerEditorActive })))),\n React.createElement(\"div\", { className: \"resultWrap\" },\n this.state.isWaitingForResponse && (React.createElement(\"div\", { className: \"spinner-container\" },\n React.createElement(\"div\", { className: \"spinner\" }))),\n React.createElement(ResultViewer, { registerRef: function (n) {\n _this.resultViewerElement = n;\n }, ref: function (c) {\n _this.resultComponent = c;\n }, value: this.state.response, editorTheme: this.props.editorTheme, ResultsTooltip: this.props.ResultsTooltip, ImagePreview: ImagePreview }),\n footer))),\n this.state.docExplorerOpen && (React.createElement(\"div\", { className: docExplorerWrapClasses, style: docWrapStyle },\n React.createElement(\"div\", { className: \"docExplorerResizer\", onDoubleClick: this.handleDocsResetResize, onMouseDown: this.handleDocsResizeStart }),\n React.createElement(DocExplorer, { ref: function (c) {\n _this.docExplorerComponent = c;\n }, schema: this.state.schema },\n React.createElement(\"button\", { className: \"docExplorerHide\", onClick: this.handleToggleDocs, \"aria-label\": \"Close Documentation Explorer\" }, '\\u2715'))))));\n };\n GraphiQL.prototype.getQueryEditor = function () {\n if (this.queryEditorComponent) {\n return this.queryEditorComponent.getCodeMirror();\n }\n };\n GraphiQL.prototype.getVariableEditor = function () {\n if (this.variableEditorComponent) {\n return this.variableEditorComponent.getCodeMirror();\n }\n return null;\n };\n GraphiQL.prototype.getHeaderEditor = function () {\n if (this.headerEditorComponent) {\n return this.headerEditorComponent.getCodeMirror();\n }\n return null;\n };\n GraphiQL.prototype.refresh = function () {\n if (this.queryEditorComponent) {\n this.queryEditorComponent.getCodeMirror().refresh();\n }\n if (this.variableEditorComponent) {\n this.variableEditorComponent.getCodeMirror().refresh();\n }\n if (this.headerEditorComponent) {\n this.headerEditorComponent.getCodeMirror().refresh();\n }\n if (this.resultComponent) {\n this.resultComponent.getCodeMirror().refresh();\n }\n };\n GraphiQL.prototype.autoCompleteLeafs = function () {\n var _a = fillLeafs(this.state.schema, this.state.query, this.props.getDefaultFieldNames), insertions = _a.insertions, result = _a.result;\n if (insertions && insertions.length > 0) {\n var editor_1 = this.getQueryEditor();\n if (editor_1) {\n editor_1.operation(function () {\n var cursor = editor_1.getCursor();\n var cursorIndex = editor_1.indexFromPos(cursor);\n editor_1.setValue(result || '');\n var added = 0;\n var markers = insertions.map(function (_a) {\n var index = _a.index, string = _a.string;\n return editor_1.markText(editor_1.posFromIndex(index + added), editor_1.posFromIndex(index + (added += string.length)), {\n className: 'autoInsertedLeaf',\n clearOnEnter: true,\n title: 'Automatically added leaf fields',\n });\n });\n setTimeout(function () { return markers.forEach(function (marker) { return marker.clear(); }); }, 7000);\n var newCursorIndex = cursorIndex;\n insertions.forEach(function (_a) {\n var index = _a.index, string = _a.string;\n if (index < cursorIndex) {\n newCursorIndex += string.length;\n }\n });\n editor_1.setCursor(editor_1.posFromIndex(newCursorIndex));\n });\n }\n }\n return result;\n };\n GraphiQL.prototype.fetchSchema = function () {\n var _this = this;\n var fetcher = this.props.fetcher;\n var fetcherOpts = {\n shouldPersistHeaders: Boolean(this.props.shouldPersistHeaders),\n documentAST: this.state.documentAST,\n };\n if (this.state.headers && this.state.headers.trim().length > 2) {\n fetcherOpts.headers = JSON.parse(this.state.headers);\n }\n else if (this.props.headers) {\n fetcherOpts.headers = JSON.parse(this.props.headers);\n }\n var fetch = fetcherReturnToPromise(fetcher({\n query: introspectionQuery,\n operationName: introspectionQueryName,\n }, fetcherOpts));\n if (!isPromise(fetch)) {\n this.setState({\n response: 'Fetcher did not return a Promise for introspection.',\n });\n return;\n }\n fetch\n .then(function (result) {\n if (typeof result !== 'string' && 'data' in result) {\n return result;\n }\n var fetch2 = fetcherReturnToPromise(fetcher({\n query: introspectionQuerySansSubscriptions,\n operationName: introspectionQueryName,\n }, fetcherOpts));\n if (!isPromise(fetch)) {\n throw new Error('Fetcher did not return a Promise for introspection.');\n }\n return fetch2;\n })\n .then(function (result) {\n if (_this.state.schema !== undefined) {\n return;\n }\n if (typeof result !== 'string' && 'data' in result) {\n var schema = buildClientSchema(result.data);\n var queryFacts = getOperationFacts(schema, _this.state.query);\n _this.safeSetState(__assign({ schema: schema }, queryFacts));\n }\n else {\n var responseString = typeof result === 'string' ? result : GraphiQL.formatResult(result);\n _this.safeSetState({\n schema: undefined,\n response: responseString,\n });\n }\n })\n .catch(function (error) {\n _this.safeSetState({\n schema: undefined,\n response: error ? GraphiQL.formatError(error) : undefined,\n });\n });\n };\n GraphiQL.prototype._fetchQuery = function (query, variables, headers, operationName, shouldPersistHeaders, cb) {\n return __awaiter(this, void 0, void 0, function () {\n var fetcher, jsonVariables, jsonHeaders, externalFragments_1, fragmentDependencies, fetch;\n var _this = this;\n return __generator(this, function (_a) {\n fetcher = this.props.fetcher;\n jsonVariables = null;\n jsonHeaders = null;\n try {\n jsonVariables =\n variables && variables.trim() !== '' ? JSON.parse(variables) : null;\n }\n catch (error) {\n throw new Error(\"Variables are invalid JSON: \" + error.message + \".\");\n }\n if (typeof jsonVariables !== 'object') {\n throw new Error('Variables are not a JSON object.');\n }\n try {\n jsonHeaders =\n headers && headers.trim() !== '' ? JSON.parse(headers) : null;\n }\n catch (error) {\n throw new Error(\"Headers are invalid JSON: \" + error.message + \".\");\n }\n if (typeof jsonHeaders !== 'object') {\n throw new Error('Headers are not a JSON object.');\n }\n if (this.props.externalFragments) {\n externalFragments_1 = new Map();\n if (Array.isArray(this.props.externalFragments)) {\n this.props.externalFragments.forEach(function (def) {\n externalFragments_1.set(def.name.value, def);\n });\n }\n else {\n visit(parse(this.props.externalFragments, {\n experimentalFragmentVariables: true,\n }), {\n FragmentDefinition: function (def) {\n externalFragments_1.set(def.name.value, def);\n },\n });\n }\n fragmentDependencies = getFragmentDependenciesForAST(this.state.documentAST, externalFragments_1);\n if (fragmentDependencies.length > 0) {\n query +=\n '\\n' +\n fragmentDependencies\n .map(function (node) { return print(node); })\n .join('\\n');\n }\n }\n fetch = fetcher({\n query: query,\n variables: jsonVariables,\n operationName: operationName,\n }, {\n headers: jsonHeaders,\n shouldPersistHeaders: shouldPersistHeaders,\n documentAST: this.state.documentAST,\n });\n return [2, Promise.resolve(fetch)\n .then(function (value) {\n if (isObservable(value)) {\n var subscription = value.subscribe({\n next: cb,\n error: function (error) {\n _this.safeSetState({\n isWaitingForResponse: false,\n response: error ? GraphiQL.formatError(error) : undefined,\n subscription: null,\n });\n },\n complete: function () {\n _this.safeSetState({\n isWaitingForResponse: false,\n subscription: null,\n });\n },\n });\n return subscription;\n }\n else if (isAsyncIterable(value)) {\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var value_1, value_1_1, result, e_1_1, error_2;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 13, , 14]);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 6, 7, 12]);\n value_1 = __asyncValues(value);\n _b.label = 2;\n case 2: return [4, value_1.next()];\n case 3:\n if (!(value_1_1 = _b.sent(), !value_1_1.done)) return [3, 5];\n result = value_1_1.value;\n cb(result);\n _b.label = 4;\n case 4: return [3, 2];\n case 5: return [3, 12];\n case 6:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3, 12];\n case 7:\n _b.trys.push([7, , 10, 11]);\n if (!(value_1_1 && !value_1_1.done && (_a = value_1.return))) return [3, 9];\n return [4, _a.call(value_1)];\n case 8:\n _b.sent();\n _b.label = 9;\n case 9: return [3, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7];\n case 11: return [7];\n case 12:\n this.safeSetState({\n isWaitingForResponse: false,\n subscription: null,\n });\n return [3, 14];\n case 13:\n error_2 = _b.sent();\n this.safeSetState({\n isWaitingForResponse: false,\n response: error_2 ? GraphiQL.formatError(error_2) : undefined,\n subscription: null,\n });\n return [3, 14];\n case 14: return [2];\n }\n });\n }); })();\n return {\n unsubscribe: function () { var _a, _b; return (_b = (_a = value[Symbol.asyncIterator]()).return) === null || _b === void 0 ? void 0 : _b.call(_a); },\n };\n }\n else {\n cb(value);\n return null;\n }\n })\n .catch(function (error) {\n _this.safeSetState({\n isWaitingForResponse: false,\n response: error ? GraphiQL.formatError(error) : undefined,\n });\n return null;\n })];\n });\n });\n };\n GraphiQL.prototype._runQueryAtCursor = function () {\n if (this.state.subscription) {\n this.handleStopQuery();\n return;\n }\n var operationName;\n var operations = this.state.operations;\n if (operations) {\n var editor = this.getQueryEditor();\n if (editor && editor.hasFocus()) {\n var cursor = editor.getCursor();\n var cursorIndex = editor.indexFromPos(cursor);\n for (var i = 0; i < operations.length; i++) {\n var operation = operations[i];\n if (operation.loc &&\n operation.loc.start <= cursorIndex &&\n operation.loc.end >= cursorIndex) {\n operationName = operation.name && operation.name.value;\n break;\n }\n }\n }\n }\n this.handleRunQuery(operationName);\n };\n GraphiQL.prototype._didClickDragBar = function (event) {\n if (event.button !== 0 || event.ctrlKey) {\n return false;\n }\n var target = event.target;\n if (target.className.indexOf('CodeMirror-gutter') !== 0) {\n return false;\n }\n var resultWindow = this.resultViewerElement;\n while (target) {\n if (target === resultWindow) {\n return true;\n }\n target = target.parentNode;\n }\n return false;\n };\n GraphiQL.Logo = GraphiQLLogo;\n GraphiQL.Toolbar = GraphiQLToolbar;\n GraphiQL.Footer = GraphiQLFooter;\n GraphiQL.QueryEditor = QueryEditor;\n GraphiQL.VariableEditor = VariableEditor;\n GraphiQL.HeaderEditor = HeaderEditor;\n GraphiQL.ResultViewer = ResultViewer;\n GraphiQL.Button = ToolbarButton;\n GraphiQL.ToolbarButton = ToolbarButton;\n GraphiQL.Group = ToolbarGroup;\n GraphiQL.Menu = ToolbarMenu;\n GraphiQL.MenuItem = ToolbarMenuItem;\n return GraphiQL;\n}(React.Component));\nexport { GraphiQL };\nfunction GraphiQLLogo(props) {\n return (React.createElement(\"div\", { className: \"title\" }, props.children || (React.createElement(\"span\", null,\n 'Graph',\n React.createElement(\"em\", null, 'i'),\n 'QL'))));\n}\nGraphiQLLogo.displayName = 'GraphiQLLogo';\nfunction GraphiQLToolbar(props) {\n return (React.createElement(\"div\", { className: \"toolbar\", role: \"toolbar\", \"aria-label\": \"Editor Commands\" }, props.children));\n}\nGraphiQLToolbar.displayName = 'GraphiQLToolbar';\nfunction GraphiQLFooter(props) {\n return React.createElement(\"div\", { className: \"footer\" }, props.children);\n}\nGraphiQLFooter.displayName = 'GraphiQLFooter';\nvar formatSingleError = function (error) { return (__assign(__assign({}, error), { message: error.message, stack: error.stack })); };\nvar defaultQuery = \"# Welcome to GraphiQL\\n#\\n# GraphiQL is an in-browser tool for writing, validating, and\\n# testing GraphQL queries.\\n#\\n# Type queries into this side of the screen, and you will see intelligent\\n# typeaheads aware of the current GraphQL type schema and live syntax and\\n# validation errors highlighted within the text.\\n#\\n# GraphQL queries typically start with a \\\"{\\\" character. Lines that start\\n# with a # are ignored.\\n#\\n# An example GraphQL query might look like:\\n#\\n# {\\n# field(arg: \\\"value\\\") {\\n# subField\\n# }\\n# }\\n#\\n# Keyboard shortcuts:\\n#\\n# Prettify Query: Shift-Ctrl-P (or press the prettify button above)\\n#\\n# Merge Query: Shift-Ctrl-M (or press the merge button above)\\n#\\n# Run Query: Ctrl-Enter (or press the play button above)\\n#\\n# Auto Complete: Ctrl-Space (or just start typing)\\n#\\n\\n\";\nfunction isPromise(value) {\n return typeof value === 'object' && typeof value.then === 'function';\n}\nfunction observableToPromise(observable) {\n return new Promise(function (resolve, reject) {\n var subscription = observable.subscribe({\n next: function (v) {\n resolve(v);\n subscription.unsubscribe();\n },\n error: reject,\n complete: function () {\n reject(new Error('no value resolved'));\n },\n });\n });\n}\nfunction isObservable(value) {\n return (typeof value === 'object' &&\n 'subscribe' in value &&\n typeof value.subscribe === 'function');\n}\nfunction isAsyncIterable(input) {\n return (typeof input === 'object' &&\n input !== null &&\n (input[Symbol.toStringTag] === 'AsyncGenerator' ||\n Symbol.asyncIterator in input));\n}\nfunction asyncIterableToPromise(input) {\n return new Promise(function (resolve, reject) {\n var _a;\n var iteratorReturn = (_a = ('return' in input\n ? input\n : input[Symbol.asyncIterator]()).return) === null || _a === void 0 ? void 0 : _a.bind(input);\n var iteratorNext = ('next' in input\n ? input\n : input[Symbol.asyncIterator]()).next.bind(input);\n iteratorNext()\n .then(function (result) {\n resolve(result.value);\n iteratorReturn === null || iteratorReturn === void 0 ? void 0 : iteratorReturn();\n })\n .catch(function (err) {\n reject(err);\n });\n });\n}\nfunction fetcherReturnToPromise(fetcherResult) {\n return Promise.resolve(fetcherResult).then(function (fetcherResult) {\n if (isAsyncIterable(fetcherResult)) {\n return asyncIterableToPromise(fetcherResult);\n }\n else if (isObservable(fetcherResult)) {\n return observableToPromise(fetcherResult);\n }\n return fetcherResult;\n });\n}\nfunction isChildComponentType(child, component) {\n var _a;\n if (((_a = child === null || child === void 0 ? void 0 : child.type) === null || _a === void 0 ? void 0 : _a.displayName) &&\n child.type.displayName === component.displayName) {\n return true;\n }\n return child.type === component;\n}\n//# sourceMappingURL=GraphiQL.js.map","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","// Spec Section: \"Executable Definitions\"\nimport { ExecutableDefinitionsRule } from \"./rules/ExecutableDefinitionsRule.mjs\"; // Spec Section: \"Operation Name Uniqueness\"\n\nimport { UniqueOperationNamesRule } from \"./rules/UniqueOperationNamesRule.mjs\"; // Spec Section: \"Lone Anonymous Operation\"\n\nimport { LoneAnonymousOperationRule } from \"./rules/LoneAnonymousOperationRule.mjs\"; // Spec Section: \"Subscriptions with Single Root Field\"\n\nimport { SingleFieldSubscriptionsRule } from \"./rules/SingleFieldSubscriptionsRule.mjs\"; // Spec Section: \"Fragment Spread Type Existence\"\n\nimport { KnownTypeNamesRule } from \"./rules/KnownTypeNamesRule.mjs\"; // Spec Section: \"Fragments on Composite Types\"\n\nimport { FragmentsOnCompositeTypesRule } from \"./rules/FragmentsOnCompositeTypesRule.mjs\"; // Spec Section: \"Variables are Input Types\"\n\nimport { VariablesAreInputTypesRule } from \"./rules/VariablesAreInputTypesRule.mjs\"; // Spec Section: \"Leaf Field Selections\"\n\nimport { ScalarLeafsRule } from \"./rules/ScalarLeafsRule.mjs\"; // Spec Section: \"Field Selections on Objects, Interfaces, and Unions Types\"\n\nimport { FieldsOnCorrectTypeRule } from \"./rules/FieldsOnCorrectTypeRule.mjs\"; // Spec Section: \"Fragment Name Uniqueness\"\n\nimport { UniqueFragmentNamesRule } from \"./rules/UniqueFragmentNamesRule.mjs\"; // Spec Section: \"Fragment spread target defined\"\n\nimport { KnownFragmentNamesRule } from \"./rules/KnownFragmentNamesRule.mjs\"; // Spec Section: \"Fragments must be used\"\n\nimport { NoUnusedFragmentsRule } from \"./rules/NoUnusedFragmentsRule.mjs\"; // Spec Section: \"Fragment spread is possible\"\n\nimport { PossibleFragmentSpreadsRule } from \"./rules/PossibleFragmentSpreadsRule.mjs\"; // Spec Section: \"Fragments must not form cycles\"\n\nimport { NoFragmentCyclesRule } from \"./rules/NoFragmentCyclesRule.mjs\"; // Spec Section: \"Variable Uniqueness\"\n\nimport { UniqueVariableNamesRule } from \"./rules/UniqueVariableNamesRule.mjs\"; // Spec Section: \"All Variable Used Defined\"\n\nimport { NoUndefinedVariablesRule } from \"./rules/NoUndefinedVariablesRule.mjs\"; // Spec Section: \"All Variables Used\"\n\nimport { NoUnusedVariablesRule } from \"./rules/NoUnusedVariablesRule.mjs\"; // Spec Section: \"Directives Are Defined\"\n\nimport { KnownDirectivesRule } from \"./rules/KnownDirectivesRule.mjs\"; // Spec Section: \"Directives Are Unique Per Location\"\n\nimport { UniqueDirectivesPerLocationRule } from \"./rules/UniqueDirectivesPerLocationRule.mjs\"; // Spec Section: \"Argument Names\"\n\nimport { KnownArgumentNamesRule, KnownArgumentNamesOnDirectivesRule } from \"./rules/KnownArgumentNamesRule.mjs\"; // Spec Section: \"Argument Uniqueness\"\n\nimport { UniqueArgumentNamesRule } from \"./rules/UniqueArgumentNamesRule.mjs\"; // Spec Section: \"Value Type Correctness\"\n\nimport { ValuesOfCorrectTypeRule } from \"./rules/ValuesOfCorrectTypeRule.mjs\"; // Spec Section: \"Argument Optionality\"\n\nimport { ProvidedRequiredArgumentsRule, ProvidedRequiredArgumentsOnDirectivesRule } from \"./rules/ProvidedRequiredArgumentsRule.mjs\"; // Spec Section: \"All Variable Usages Are Allowed\"\n\nimport { VariablesInAllowedPositionRule } from \"./rules/VariablesInAllowedPositionRule.mjs\"; // Spec Section: \"Field Selection Merging\"\n\nimport { OverlappingFieldsCanBeMergedRule } from \"./rules/OverlappingFieldsCanBeMergedRule.mjs\"; // Spec Section: \"Input Object Field Uniqueness\"\n\nimport { UniqueInputFieldNamesRule } from \"./rules/UniqueInputFieldNamesRule.mjs\"; // SDL-specific validation rules\n\nimport { LoneSchemaDefinitionRule } from \"./rules/LoneSchemaDefinitionRule.mjs\";\nimport { UniqueOperationTypesRule } from \"./rules/UniqueOperationTypesRule.mjs\";\nimport { UniqueTypeNamesRule } from \"./rules/UniqueTypeNamesRule.mjs\";\nimport { UniqueEnumValueNamesRule } from \"./rules/UniqueEnumValueNamesRule.mjs\";\nimport { UniqueFieldDefinitionNamesRule } from \"./rules/UniqueFieldDefinitionNamesRule.mjs\";\nimport { UniqueDirectiveNamesRule } from \"./rules/UniqueDirectiveNamesRule.mjs\";\nimport { PossibleTypeExtensionsRule } from \"./rules/PossibleTypeExtensionsRule.mjs\";\n/**\n * This set includes all validation rules defined by the GraphQL spec.\n *\n * The order of the rules in this list has been adjusted to lead to the\n * most clear output when encountering multiple validation errors.\n */\n\nexport var specifiedRules = Object.freeze([ExecutableDefinitionsRule, UniqueOperationNamesRule, LoneAnonymousOperationRule, SingleFieldSubscriptionsRule, KnownTypeNamesRule, FragmentsOnCompositeTypesRule, VariablesAreInputTypesRule, ScalarLeafsRule, FieldsOnCorrectTypeRule, UniqueFragmentNamesRule, KnownFragmentNamesRule, NoUnusedFragmentsRule, PossibleFragmentSpreadsRule, NoFragmentCyclesRule, UniqueVariableNamesRule, NoUndefinedVariablesRule, NoUnusedVariablesRule, KnownDirectivesRule, UniqueDirectivesPerLocationRule, KnownArgumentNamesRule, UniqueArgumentNamesRule, ValuesOfCorrectTypeRule, ProvidedRequiredArgumentsRule, VariablesInAllowedPositionRule, OverlappingFieldsCanBeMergedRule, UniqueInputFieldNamesRule]);\n/**\n * @internal\n */\n\nexport var specifiedSDLRules = Object.freeze([LoneSchemaDefinitionRule, UniqueOperationTypesRule, UniqueTypeNamesRule, UniqueEnumValueNamesRule, UniqueFieldDefinitionNamesRule, UniqueDirectiveNamesRule, KnownTypeNamesRule, KnownDirectivesRule, UniqueDirectivesPerLocationRule, PossibleTypeExtensionsRule, KnownArgumentNamesOnDirectivesRule, UniqueArgumentNamesRule, UniqueInputFieldNamesRule, ProvidedRequiredArgumentsOnDirectivesRule]);\n","import didYouMean from \"../../jsutils/didYouMean.mjs\";\nimport suggestionList from \"../../jsutils/suggestionList.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { isTypeDefinitionNode, isTypeSystemDefinitionNode, isTypeSystemExtensionNode } from \"../../language/predicates.mjs\";\nimport { specifiedScalarTypes } from \"../../type/scalars.mjs\";\nimport { introspectionTypes } from \"../../type/introspection.mjs\";\n\n/**\n * Known type names\n *\n * A GraphQL document is only valid if referenced types (specifically\n * variable definitions and fragment conditions) are defined by the type schema.\n */\nexport function KnownTypeNamesRule(context) {\n var schema = context.getSchema();\n var existingTypesMap = schema ? schema.getTypeMap() : Object.create(null);\n var definedTypes = Object.create(null);\n\n for (var _i2 = 0, _context$getDocument$2 = context.getDocument().definitions; _i2 < _context$getDocument$2.length; _i2++) {\n var def = _context$getDocument$2[_i2];\n\n if (isTypeDefinitionNode(def)) {\n definedTypes[def.name.value] = true;\n }\n }\n\n var typeNames = Object.keys(existingTypesMap).concat(Object.keys(definedTypes));\n return {\n NamedType: function NamedType(node, _1, parent, _2, ancestors) {\n var typeName = node.name.value;\n\n if (!existingTypesMap[typeName] && !definedTypes[typeName]) {\n var _ancestors$;\n\n var definitionNode = (_ancestors$ = ancestors[2]) !== null && _ancestors$ !== void 0 ? _ancestors$ : parent;\n var isSDL = definitionNode != null && isSDLNode(definitionNode);\n\n if (isSDL && isStandardTypeName(typeName)) {\n return;\n }\n\n var suggestedTypes = suggestionList(typeName, isSDL ? standardTypeNames.concat(typeNames) : typeNames);\n context.reportError(new GraphQLError(\"Unknown type \\\"\".concat(typeName, \"\\\".\") + didYouMean(suggestedTypes), node));\n }\n }\n };\n}\nvar standardTypeNames = [].concat(specifiedScalarTypes, introspectionTypes).map(function (type) {\n return type.name;\n});\n\nfunction isStandardTypeName(typeName) {\n return standardTypeNames.indexOf(typeName) !== -1;\n}\n\nfunction isSDLNode(value) {\n return !Array.isArray(value) && (isTypeSystemDefinitionNode(value) || isTypeSystemExtensionNode(value));\n}\n","import inspect from \"../../jsutils/inspect.mjs\";\nimport invariant from \"../../jsutils/invariant.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { DirectiveLocation } from \"../../language/directiveLocation.mjs\";\nimport { specifiedDirectives } from \"../../type/directives.mjs\";\n\n/**\n * Known directives\n *\n * A GraphQL document is only valid if all `@directives` are known by the\n * schema and legally positioned.\n */\nexport function KnownDirectivesRule(context) {\n var locationsMap = Object.create(null);\n var schema = context.getSchema();\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\n\n for (var _i2 = 0; _i2 < definedDirectives.length; _i2++) {\n var directive = definedDirectives[_i2];\n locationsMap[directive.name] = directive.locations;\n }\n\n var astDefinitions = context.getDocument().definitions;\n\n for (var _i4 = 0; _i4 < astDefinitions.length; _i4++) {\n var def = astDefinitions[_i4];\n\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n locationsMap[def.name.value] = def.locations.map(function (name) {\n return name.value;\n });\n }\n }\n\n return {\n Directive: function Directive(node, _key, _parent, _path, ancestors) {\n var name = node.name.value;\n var locations = locationsMap[name];\n\n if (!locations) {\n context.reportError(new GraphQLError(\"Unknown directive \\\"@\".concat(name, \"\\\".\"), node));\n return;\n }\n\n var candidateLocation = getDirectiveLocationForASTPath(ancestors);\n\n if (candidateLocation && locations.indexOf(candidateLocation) === -1) {\n context.reportError(new GraphQLError(\"Directive \\\"@\".concat(name, \"\\\" may not be used on \").concat(candidateLocation, \".\"), node));\n }\n }\n };\n}\n\nfunction getDirectiveLocationForASTPath(ancestors) {\n var appliedTo = ancestors[ancestors.length - 1];\n !Array.isArray(appliedTo) || invariant(0);\n\n switch (appliedTo.kind) {\n case Kind.OPERATION_DEFINITION:\n return getDirectiveLocationForOperation(appliedTo.operation);\n\n case Kind.FIELD:\n return DirectiveLocation.FIELD;\n\n case Kind.FRAGMENT_SPREAD:\n return DirectiveLocation.FRAGMENT_SPREAD;\n\n case Kind.INLINE_FRAGMENT:\n return DirectiveLocation.INLINE_FRAGMENT;\n\n case Kind.FRAGMENT_DEFINITION:\n return DirectiveLocation.FRAGMENT_DEFINITION;\n\n case Kind.VARIABLE_DEFINITION:\n return DirectiveLocation.VARIABLE_DEFINITION;\n\n case Kind.SCHEMA_DEFINITION:\n case Kind.SCHEMA_EXTENSION:\n return DirectiveLocation.SCHEMA;\n\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.SCALAR_TYPE_EXTENSION:\n return DirectiveLocation.SCALAR;\n\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_EXTENSION:\n return DirectiveLocation.OBJECT;\n\n case Kind.FIELD_DEFINITION:\n return DirectiveLocation.FIELD_DEFINITION;\n\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_EXTENSION:\n return DirectiveLocation.INTERFACE;\n\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.UNION_TYPE_EXTENSION:\n return DirectiveLocation.UNION;\n\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_EXTENSION:\n return DirectiveLocation.ENUM;\n\n case Kind.ENUM_VALUE_DEFINITION:\n return DirectiveLocation.ENUM_VALUE;\n\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n return DirectiveLocation.INPUT_OBJECT;\n\n case Kind.INPUT_VALUE_DEFINITION:\n {\n var parentNode = ancestors[ancestors.length - 3];\n return parentNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION ? DirectiveLocation.INPUT_FIELD_DEFINITION : DirectiveLocation.ARGUMENT_DEFINITION;\n }\n }\n}\n\nfunction getDirectiveLocationForOperation(operation) {\n switch (operation) {\n case 'query':\n return DirectiveLocation.QUERY;\n\n case 'mutation':\n return DirectiveLocation.MUTATION;\n\n case 'subscription':\n return DirectiveLocation.SUBSCRIPTION;\n } // istanbul ignore next (Not reachable. All possible types have been considered)\n\n\n false || invariant(0, 'Unexpected operation: ' + inspect(operation));\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { isTypeDefinitionNode, isTypeExtensionNode } from \"../../language/predicates.mjs\";\nimport { specifiedDirectives } from \"../../type/directives.mjs\";\n\n/**\n * Unique directive names per location\n *\n * A GraphQL document is only valid if all non-repeatable directives at\n * a given location are uniquely named.\n */\nexport function UniqueDirectivesPerLocationRule(context) {\n var uniqueDirectiveMap = Object.create(null);\n var schema = context.getSchema();\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\n\n for (var _i2 = 0; _i2 < definedDirectives.length; _i2++) {\n var directive = definedDirectives[_i2];\n uniqueDirectiveMap[directive.name] = !directive.isRepeatable;\n }\n\n var astDefinitions = context.getDocument().definitions;\n\n for (var _i4 = 0; _i4 < astDefinitions.length; _i4++) {\n var def = astDefinitions[_i4];\n\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n uniqueDirectiveMap[def.name.value] = !def.repeatable;\n }\n }\n\n var schemaDirectives = Object.create(null);\n var typeDirectivesMap = Object.create(null);\n return {\n // Many different AST nodes may contain directives. Rather than listing\n // them all, just listen for entering any node, and check to see if it\n // defines any directives.\n enter: function enter(node) {\n if (node.directives == null) {\n return;\n }\n\n var seenDirectives;\n\n if (node.kind === Kind.SCHEMA_DEFINITION || node.kind === Kind.SCHEMA_EXTENSION) {\n seenDirectives = schemaDirectives;\n } else if (isTypeDefinitionNode(node) || isTypeExtensionNode(node)) {\n var typeName = node.name.value;\n seenDirectives = typeDirectivesMap[typeName];\n\n if (seenDirectives === undefined) {\n typeDirectivesMap[typeName] = seenDirectives = Object.create(null);\n }\n } else {\n seenDirectives = Object.create(null);\n }\n\n for (var _i6 = 0, _node$directives2 = node.directives; _i6 < _node$directives2.length; _i6++) {\n var _directive = _node$directives2[_i6];\n var directiveName = _directive.name.value;\n\n if (uniqueDirectiveMap[directiveName]) {\n if (seenDirectives[directiveName]) {\n context.reportError(new GraphQLError(\"The directive \\\"@\".concat(directiveName, \"\\\" can only be used once at this location.\"), [seenDirectives[directiveName], _directive]));\n } else {\n seenDirectives[directiveName] = _directive;\n }\n }\n }\n }\n };\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport didYouMean from \"../../jsutils/didYouMean.mjs\";\nimport suggestionList from \"../../jsutils/suggestionList.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { specifiedDirectives } from \"../../type/directives.mjs\";\n\n/**\n * Known argument names\n *\n * A GraphQL field is only valid if all supplied arguments are defined by\n * that field.\n */\nexport function KnownArgumentNamesRule(context) {\n return _objectSpread(_objectSpread({}, KnownArgumentNamesOnDirectivesRule(context)), {}, {\n Argument: function Argument(argNode) {\n var argDef = context.getArgument();\n var fieldDef = context.getFieldDef();\n var parentType = context.getParentType();\n\n if (!argDef && fieldDef && parentType) {\n var argName = argNode.name.value;\n var knownArgsNames = fieldDef.args.map(function (arg) {\n return arg.name;\n });\n var suggestions = suggestionList(argName, knownArgsNames);\n context.reportError(new GraphQLError(\"Unknown argument \\\"\".concat(argName, \"\\\" on field \\\"\").concat(parentType.name, \".\").concat(fieldDef.name, \"\\\".\") + didYouMean(suggestions), argNode));\n }\n }\n });\n}\n/**\n * @internal\n */\n\nexport function KnownArgumentNamesOnDirectivesRule(context) {\n var directiveArgs = Object.create(null);\n var schema = context.getSchema();\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\n\n for (var _i2 = 0; _i2 < definedDirectives.length; _i2++) {\n var directive = definedDirectives[_i2];\n directiveArgs[directive.name] = directive.args.map(function (arg) {\n return arg.name;\n });\n }\n\n var astDefinitions = context.getDocument().definitions;\n\n for (var _i4 = 0; _i4 < astDefinitions.length; _i4++) {\n var def = astDefinitions[_i4];\n\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n var _def$arguments;\n\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n var argsNodes = (_def$arguments = def.arguments) !== null && _def$arguments !== void 0 ? _def$arguments : [];\n directiveArgs[def.name.value] = argsNodes.map(function (arg) {\n return arg.name.value;\n });\n }\n }\n\n return {\n Directive: function Directive(directiveNode) {\n var directiveName = directiveNode.name.value;\n var knownArgs = directiveArgs[directiveName];\n\n if (directiveNode.arguments && knownArgs) {\n for (var _i6 = 0, _directiveNode$argume2 = directiveNode.arguments; _i6 < _directiveNode$argume2.length; _i6++) {\n var argNode = _directiveNode$argume2[_i6];\n var argName = argNode.name.value;\n\n if (knownArgs.indexOf(argName) === -1) {\n var suggestions = suggestionList(argName, knownArgs);\n context.reportError(new GraphQLError(\"Unknown argument \\\"\".concat(argName, \"\\\" on directive \\\"@\").concat(directiveName, \"\\\".\") + didYouMean(suggestions), argNode));\n }\n }\n }\n\n return false;\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique argument names\n *\n * A GraphQL field or directive is only valid if all supplied arguments are\n * uniquely named.\n */\nexport function UniqueArgumentNamesRule(context) {\n var knownArgNames = Object.create(null);\n return {\n Field: function Field() {\n knownArgNames = Object.create(null);\n },\n Directive: function Directive() {\n knownArgNames = Object.create(null);\n },\n Argument: function Argument(node) {\n var argName = node.name.value;\n\n if (knownArgNames[argName]) {\n context.reportError(new GraphQLError(\"There can be only one argument named \\\"\".concat(argName, \"\\\".\"), [knownArgNames[argName], node.name]));\n } else {\n knownArgNames[argName] = node.name;\n }\n\n return false;\n }\n };\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport inspect from \"../../jsutils/inspect.mjs\";\nimport keyMap from \"../../jsutils/keyMap.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { print } from \"../../language/printer.mjs\";\nimport { specifiedDirectives } from \"../../type/directives.mjs\";\nimport { isType, isRequiredArgument } from \"../../type/definition.mjs\";\n\n/**\n * Provided required arguments\n *\n * A field or directive is only valid if all required (non-null without a\n * default value) field arguments have been provided.\n */\nexport function ProvidedRequiredArgumentsRule(context) {\n return _objectSpread(_objectSpread({}, ProvidedRequiredArgumentsOnDirectivesRule(context)), {}, {\n Field: {\n // Validate on leave to allow for deeper errors to appear first.\n leave: function leave(fieldNode) {\n var _fieldNode$arguments;\n\n var fieldDef = context.getFieldDef();\n\n if (!fieldDef) {\n return false;\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n\n var argNodes = (_fieldNode$arguments = fieldNode.arguments) !== null && _fieldNode$arguments !== void 0 ? _fieldNode$arguments : [];\n var argNodeMap = keyMap(argNodes, function (arg) {\n return arg.name.value;\n });\n\n for (var _i2 = 0, _fieldDef$args2 = fieldDef.args; _i2 < _fieldDef$args2.length; _i2++) {\n var argDef = _fieldDef$args2[_i2];\n var argNode = argNodeMap[argDef.name];\n\n if (!argNode && isRequiredArgument(argDef)) {\n var argTypeStr = inspect(argDef.type);\n context.reportError(new GraphQLError(\"Field \\\"\".concat(fieldDef.name, \"\\\" argument \\\"\").concat(argDef.name, \"\\\" of type \\\"\").concat(argTypeStr, \"\\\" is required, but it was not provided.\"), fieldNode));\n }\n }\n }\n }\n });\n}\n/**\n * @internal\n */\n\nexport function ProvidedRequiredArgumentsOnDirectivesRule(context) {\n var requiredArgsMap = Object.create(null);\n var schema = context.getSchema();\n var definedDirectives = schema ? schema.getDirectives() : specifiedDirectives;\n\n for (var _i4 = 0; _i4 < definedDirectives.length; _i4++) {\n var directive = definedDirectives[_i4];\n requiredArgsMap[directive.name] = keyMap(directive.args.filter(isRequiredArgument), function (arg) {\n return arg.name;\n });\n }\n\n var astDefinitions = context.getDocument().definitions;\n\n for (var _i6 = 0; _i6 < astDefinitions.length; _i6++) {\n var def = astDefinitions[_i6];\n\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n var _def$arguments;\n\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n var argNodes = (_def$arguments = def.arguments) !== null && _def$arguments !== void 0 ? _def$arguments : [];\n requiredArgsMap[def.name.value] = keyMap(argNodes.filter(isRequiredArgumentNode), function (arg) {\n return arg.name.value;\n });\n }\n }\n\n return {\n Directive: {\n // Validate on leave to allow for deeper errors to appear first.\n leave: function leave(directiveNode) {\n var directiveName = directiveNode.name.value;\n var requiredArgs = requiredArgsMap[directiveName];\n\n if (requiredArgs) {\n var _directiveNode$argume;\n\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n var _argNodes = (_directiveNode$argume = directiveNode.arguments) !== null && _directiveNode$argume !== void 0 ? _directiveNode$argume : [];\n\n var argNodeMap = keyMap(_argNodes, function (arg) {\n return arg.name.value;\n });\n\n for (var _i8 = 0, _Object$keys2 = Object.keys(requiredArgs); _i8 < _Object$keys2.length; _i8++) {\n var argName = _Object$keys2[_i8];\n\n if (!argNodeMap[argName]) {\n var argType = requiredArgs[argName].type;\n var argTypeStr = isType(argType) ? inspect(argType) : print(argType);\n context.reportError(new GraphQLError(\"Directive \\\"@\".concat(directiveName, \"\\\" argument \\\"\").concat(argName, \"\\\" of type \\\"\").concat(argTypeStr, \"\\\" is required, but it was not provided.\"), directiveNode));\n }\n }\n }\n }\n }\n };\n}\n\nfunction isRequiredArgumentNode(arg) {\n return arg.type.kind === Kind.NON_NULL_TYPE && arg.defaultValue == null;\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique input field names\n *\n * A GraphQL input object value is only valid if all supplied fields are\n * uniquely named.\n */\nexport function UniqueInputFieldNamesRule(context) {\n var knownNameStack = [];\n var knownNames = Object.create(null);\n return {\n ObjectValue: {\n enter: function enter() {\n knownNameStack.push(knownNames);\n knownNames = Object.create(null);\n },\n leave: function leave() {\n knownNames = knownNameStack.pop();\n }\n },\n ObjectField: function ObjectField(node) {\n var fieldName = node.name.value;\n\n if (knownNames[fieldName]) {\n context.reportError(new GraphQLError(\"There can be only one input field named \\\"\".concat(fieldName, \"\\\".\"), [knownNames[fieldName], node.name]));\n } else {\n knownNames[fieldName] = node.name;\n }\n }\n };\n}\n","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Kind } from \"../language/kinds.mjs\";\nimport { visit } from \"../language/visitor.mjs\";\nimport { TypeInfo, visitWithTypeInfo } from \"../utilities/TypeInfo.mjs\";\n\n/**\n * An instance of this class is passed as the \"this\" context to all validators,\n * allowing access to commonly useful contextual information from within a\n * validation rule.\n */\nexport var ASTValidationContext = /*#__PURE__*/function () {\n function ASTValidationContext(ast, onError) {\n this._ast = ast;\n this._fragments = undefined;\n this._fragmentSpreads = new Map();\n this._recursivelyReferencedFragments = new Map();\n this._onError = onError;\n }\n\n var _proto = ASTValidationContext.prototype;\n\n _proto.reportError = function reportError(error) {\n this._onError(error);\n };\n\n _proto.getDocument = function getDocument() {\n return this._ast;\n };\n\n _proto.getFragment = function getFragment(name) {\n var fragments = this._fragments;\n\n if (!fragments) {\n this._fragments = fragments = this.getDocument().definitions.reduce(function (frags, statement) {\n if (statement.kind === Kind.FRAGMENT_DEFINITION) {\n frags[statement.name.value] = statement;\n }\n\n return frags;\n }, Object.create(null));\n }\n\n return fragments[name];\n };\n\n _proto.getFragmentSpreads = function getFragmentSpreads(node) {\n var spreads = this._fragmentSpreads.get(node);\n\n if (!spreads) {\n spreads = [];\n var setsToVisit = [node];\n\n while (setsToVisit.length !== 0) {\n var set = setsToVisit.pop();\n\n for (var _i2 = 0, _set$selections2 = set.selections; _i2 < _set$selections2.length; _i2++) {\n var selection = _set$selections2[_i2];\n\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n spreads.push(selection);\n } else if (selection.selectionSet) {\n setsToVisit.push(selection.selectionSet);\n }\n }\n }\n\n this._fragmentSpreads.set(node, spreads);\n }\n\n return spreads;\n };\n\n _proto.getRecursivelyReferencedFragments = function getRecursivelyReferencedFragments(operation) {\n var fragments = this._recursivelyReferencedFragments.get(operation);\n\n if (!fragments) {\n fragments = [];\n var collectedNames = Object.create(null);\n var nodesToVisit = [operation.selectionSet];\n\n while (nodesToVisit.length !== 0) {\n var node = nodesToVisit.pop();\n\n for (var _i4 = 0, _this$getFragmentSpre2 = this.getFragmentSpreads(node); _i4 < _this$getFragmentSpre2.length; _i4++) {\n var spread = _this$getFragmentSpre2[_i4];\n var fragName = spread.name.value;\n\n if (collectedNames[fragName] !== true) {\n collectedNames[fragName] = true;\n var fragment = this.getFragment(fragName);\n\n if (fragment) {\n fragments.push(fragment);\n nodesToVisit.push(fragment.selectionSet);\n }\n }\n }\n }\n\n this._recursivelyReferencedFragments.set(operation, fragments);\n }\n\n return fragments;\n };\n\n return ASTValidationContext;\n}();\nexport var SDLValidationContext = /*#__PURE__*/function (_ASTValidationContext) {\n _inheritsLoose(SDLValidationContext, _ASTValidationContext);\n\n function SDLValidationContext(ast, schema, onError) {\n var _this;\n\n _this = _ASTValidationContext.call(this, ast, onError) || this;\n _this._schema = schema;\n return _this;\n }\n\n var _proto2 = SDLValidationContext.prototype;\n\n _proto2.getSchema = function getSchema() {\n return this._schema;\n };\n\n return SDLValidationContext;\n}(ASTValidationContext);\nexport var ValidationContext = /*#__PURE__*/function (_ASTValidationContext2) {\n _inheritsLoose(ValidationContext, _ASTValidationContext2);\n\n function ValidationContext(schema, ast, typeInfo, onError) {\n var _this2;\n\n _this2 = _ASTValidationContext2.call(this, ast, onError) || this;\n _this2._schema = schema;\n _this2._typeInfo = typeInfo;\n _this2._variableUsages = new Map();\n _this2._recursiveVariableUsages = new Map();\n return _this2;\n }\n\n var _proto3 = ValidationContext.prototype;\n\n _proto3.getSchema = function getSchema() {\n return this._schema;\n };\n\n _proto3.getVariableUsages = function getVariableUsages(node) {\n var usages = this._variableUsages.get(node);\n\n if (!usages) {\n var newUsages = [];\n var typeInfo = new TypeInfo(this._schema);\n visit(node, visitWithTypeInfo(typeInfo, {\n VariableDefinition: function VariableDefinition() {\n return false;\n },\n Variable: function Variable(variable) {\n newUsages.push({\n node: variable,\n type: typeInfo.getInputType(),\n defaultValue: typeInfo.getDefaultValue()\n });\n }\n }));\n usages = newUsages;\n\n this._variableUsages.set(node, usages);\n }\n\n return usages;\n };\n\n _proto3.getRecursiveVariableUsages = function getRecursiveVariableUsages(operation) {\n var usages = this._recursiveVariableUsages.get(operation);\n\n if (!usages) {\n usages = this.getVariableUsages(operation);\n\n for (var _i6 = 0, _this$getRecursivelyR2 = this.getRecursivelyReferencedFragments(operation); _i6 < _this$getRecursivelyR2.length; _i6++) {\n var frag = _this$getRecursivelyR2[_i6];\n usages = usages.concat(this.getVariableUsages(frag));\n }\n\n this._recursiveVariableUsages.set(operation, usages);\n }\n\n return usages;\n };\n\n _proto3.getType = function getType() {\n return this._typeInfo.getType();\n };\n\n _proto3.getParentType = function getParentType() {\n return this._typeInfo.getParentType();\n };\n\n _proto3.getInputType = function getInputType() {\n return this._typeInfo.getInputType();\n };\n\n _proto3.getParentInputType = function getParentInputType() {\n return this._typeInfo.getParentInputType();\n };\n\n _proto3.getFieldDef = function getFieldDef() {\n return this._typeInfo.getFieldDef();\n };\n\n _proto3.getDirective = function getDirective() {\n return this._typeInfo.getDirective();\n };\n\n _proto3.getArgument = function getArgument() {\n return this._typeInfo.getArgument();\n };\n\n _proto3.getEnumValue = function getEnumValue() {\n return this._typeInfo.getEnumValue();\n };\n\n return ValidationContext;\n}(ASTValidationContext);\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport function getIntrospectionQuery(options) {\n var optionsWithDefault = _objectSpread({\n descriptions: true,\n specifiedByUrl: false,\n directiveIsRepeatable: false,\n schemaDescription: false\n }, options);\n\n var descriptions = optionsWithDefault.descriptions ? 'description' : '';\n var specifiedByUrl = optionsWithDefault.specifiedByUrl ? 'specifiedByUrl' : '';\n var directiveIsRepeatable = optionsWithDefault.directiveIsRepeatable ? 'isRepeatable' : '';\n var schemaDescription = optionsWithDefault.schemaDescription ? descriptions : '';\n return \"\\n query IntrospectionQuery {\\n __schema {\\n \".concat(schemaDescription, \"\\n queryType { name }\\n mutationType { name }\\n subscriptionType { name }\\n types {\\n ...FullType\\n }\\n directives {\\n name\\n \").concat(descriptions, \"\\n \").concat(directiveIsRepeatable, \"\\n locations\\n args {\\n ...InputValue\\n }\\n }\\n }\\n }\\n\\n fragment FullType on __Type {\\n kind\\n name\\n \").concat(descriptions, \"\\n \").concat(specifiedByUrl, \"\\n fields(includeDeprecated: true) {\\n name\\n \").concat(descriptions, \"\\n args {\\n ...InputValue\\n }\\n type {\\n ...TypeRef\\n }\\n isDeprecated\\n deprecationReason\\n }\\n inputFields {\\n ...InputValue\\n }\\n interfaces {\\n ...TypeRef\\n }\\n enumValues(includeDeprecated: true) {\\n name\\n \").concat(descriptions, \"\\n isDeprecated\\n deprecationReason\\n }\\n possibleTypes {\\n ...TypeRef\\n }\\n }\\n\\n fragment InputValue on __InputValue {\\n name\\n \").concat(descriptions, \"\\n type { ...TypeRef }\\n defaultValue\\n }\\n\\n fragment TypeRef on __Type {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n \");\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport onHasCompletion from '../utility/onHasCompletion';\nimport commonKeys from '../utility/commonKeys';\nvar HeaderEditor = (function (_super) {\n __extends(HeaderEditor, _super);\n function HeaderEditor(props) {\n var _this = _super.call(this, props) || this;\n _this.editor = null;\n _this._node = null;\n _this.ignoreChangeEvent = false;\n _this._onKeyUp = function (_cm, event) {\n var code = event.keyCode;\n if (!_this.editor) {\n return;\n }\n if ((code >= 65 && code <= 90) ||\n (!event.shiftKey && code >= 48 && code <= 57) ||\n (event.shiftKey && code === 189) ||\n (event.shiftKey && code === 222)) {\n _this.editor.execCommand('autocomplete');\n }\n };\n _this._onEdit = function () {\n if (!_this.editor) {\n return;\n }\n if (!_this.ignoreChangeEvent) {\n _this.cachedValue = _this.editor.getValue();\n if (_this.props.onEdit) {\n _this.props.onEdit(_this.cachedValue);\n }\n }\n };\n _this._onHasCompletion = function (instance, changeObj) {\n onHasCompletion(instance, changeObj, _this.props.onHintInformationRender);\n };\n _this.cachedValue = props.value || '';\n return _this;\n }\n HeaderEditor.prototype.componentDidMount = function () {\n var _this = this;\n this.CodeMirror = require('codemirror');\n require('codemirror/addon/hint/show-hint');\n require('codemirror/addon/edit/matchbrackets');\n require('codemirror/addon/edit/closebrackets');\n require('codemirror/addon/fold/brace-fold');\n require('codemirror/addon/fold/foldgutter');\n require('codemirror/addon/lint/lint');\n require('codemirror/addon/search/searchcursor');\n require('codemirror/addon/search/jump-to-line');\n require('codemirror/addon/dialog/dialog');\n require('codemirror/mode/javascript/javascript');\n require('codemirror/keymap/sublime');\n var editor = (this.editor = this.CodeMirror(this._node, {\n value: this.props.value || '',\n lineNumbers: true,\n tabSize: 2,\n mode: { name: 'javascript', json: true },\n theme: this.props.editorTheme || 'graphiql',\n keyMap: 'sublime',\n autoCloseBrackets: true,\n matchBrackets: true,\n showCursorWhenSelecting: true,\n readOnly: this.props.readOnly ? 'nocursor' : false,\n foldGutter: {\n minFoldSize: 4,\n },\n gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\n extraKeys: __assign({ 'Cmd-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Ctrl-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Alt-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Shift-Space': function () {\n return _this.editor.showHint({\n completeSingle: false,\n container: _this._node,\n });\n }, 'Cmd-Enter': function () {\n if (_this.props.onRunQuery) {\n _this.props.onRunQuery();\n }\n }, 'Ctrl-Enter': function () {\n if (_this.props.onRunQuery) {\n _this.props.onRunQuery();\n }\n }, 'Shift-Ctrl-P': function () {\n if (_this.props.onPrettifyQuery) {\n _this.props.onPrettifyQuery();\n }\n }, 'Shift-Ctrl-M': function () {\n if (_this.props.onMergeQuery) {\n _this.props.onMergeQuery();\n }\n } }, commonKeys),\n }));\n editor.on('change', this._onEdit);\n editor.on('keyup', this._onKeyUp);\n editor.on('hasCompletion', this._onHasCompletion);\n };\n HeaderEditor.prototype.componentDidUpdate = function (prevProps) {\n this.CodeMirror = require('codemirror');\n if (!this.editor) {\n return;\n }\n this.ignoreChangeEvent = true;\n if (this.props.value !== prevProps.value &&\n this.props.value !== this.cachedValue) {\n var thisValue = this.props.value || '';\n this.cachedValue = thisValue;\n this.editor.setValue(thisValue);\n }\n this.ignoreChangeEvent = false;\n };\n HeaderEditor.prototype.componentWillUnmount = function () {\n if (!this.editor) {\n return;\n }\n this.editor.off('change', this._onEdit);\n this.editor.off('keyup', this._onKeyUp);\n this.editor.off('hasCompletion', this._onHasCompletion);\n this.editor = null;\n };\n HeaderEditor.prototype.render = function () {\n var _this = this;\n return (React.createElement(\"div\", { className: \"codemirrorWrap\", style: {\n position: this.props.active ? 'relative' : 'absolute',\n visibility: this.props.active ? 'visible' : 'hidden',\n }, ref: function (node) {\n _this._node = node;\n } }));\n };\n HeaderEditor.prototype.getCodeMirror = function () {\n return this.editor;\n };\n HeaderEditor.prototype.getClientHeight = function () {\n return this._node && this._node.clientHeight;\n };\n return HeaderEditor;\n}(React.Component));\nexport { HeaderEditor };\n//# sourceMappingURL=HeaderEditor.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport commonKeys from '../utility/commonKeys';\nvar ResultViewer = (function (_super) {\n __extends(ResultViewer, _super);\n function ResultViewer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.viewer = null;\n _this._node = null;\n return _this;\n }\n ResultViewer.prototype.componentDidMount = function () {\n var CodeMirror = require('codemirror');\n require('codemirror/addon/fold/foldgutter');\n require('codemirror/addon/fold/brace-fold');\n require('codemirror/addon/dialog/dialog');\n require('codemirror/addon/search/search');\n require('codemirror/addon/search/searchcursor');\n require('codemirror/addon/search/jump-to-line');\n require('codemirror/keymap/sublime');\n require('codemirror-graphql/results/mode');\n var Tooltip = this.props.ResultsTooltip;\n var ImagePreview = this.props.ImagePreview;\n if (Tooltip || ImagePreview) {\n require('codemirror-graphql/utils/info-addon');\n var tooltipDiv_1 = document.createElement('div');\n CodeMirror.registerHelper('info', 'graphql-results', function (token, _options, _cm, pos) {\n var infoElements = [];\n if (Tooltip) {\n infoElements.push(React.createElement(Tooltip, { pos: pos }));\n }\n if (ImagePreview &&\n typeof ImagePreview.shouldRender === 'function' &&\n ImagePreview.shouldRender(token)) {\n infoElements.push(React.createElement(ImagePreview, { token: token }));\n }\n if (!infoElements.length) {\n ReactDOM.unmountComponentAtNode(tooltipDiv_1);\n return null;\n }\n ReactDOM.render(React.createElement(\"div\", null, infoElements), tooltipDiv_1);\n return tooltipDiv_1;\n });\n }\n this.viewer = CodeMirror(this._node, {\n lineWrapping: true,\n value: this.props.value || '',\n readOnly: true,\n theme: this.props.editorTheme || 'graphiql',\n mode: 'graphql-results',\n keyMap: 'sublime',\n foldGutter: {\n minFoldSize: 4,\n },\n gutters: ['CodeMirror-foldgutter'],\n info: Boolean(this.props.ResultsTooltip || this.props.ImagePreview),\n extraKeys: commonKeys,\n });\n };\n ResultViewer.prototype.shouldComponentUpdate = function (nextProps) {\n return this.props.value !== nextProps.value;\n };\n ResultViewer.prototype.componentDidUpdate = function () {\n if (this.viewer) {\n this.viewer.setValue(this.props.value || '');\n }\n };\n ResultViewer.prototype.componentWillUnmount = function () {\n this.viewer = null;\n };\n ResultViewer.prototype.render = function () {\n var _this = this;\n return (React.createElement(\"section\", { className: \"result-window\", \"aria-label\": \"Result Window\", \"aria-live\": \"polite\", \"aria-atomic\": \"true\", ref: function (node) {\n if (node) {\n _this.props.registerRef(node);\n _this._node = node;\n }\n } }));\n };\n ResultViewer.prototype.getCodeMirror = function () {\n return this.viewer;\n };\n ResultViewer.prototype.getClientHeight = function () {\n return this._node && this._node.clientHeight;\n };\n return ResultViewer;\n}(React.Component));\nexport { ResultViewer };\n//# sourceMappingURL=ResultViewer.js.map","declare let window: any;\nconst _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});\nconst NativeWebSocket = _global.WebSocket || _global.MozWebSocket;\n\nimport * as Backoff from 'backo2';\nimport { default as EventEmitterType, EventEmitter, ListenerFn } from 'eventemitter3';\nimport isString from './utils/is-string';\nimport isObject from './utils/is-object';\nimport { ExecutionResult } from 'graphql/execution/execute';\nimport { print } from 'graphql/language/printer';\nimport { DocumentNode } from 'graphql/language/ast';\nimport { getOperationAST } from 'graphql/utilities/getOperationAST';\nimport $$observable from 'symbol-observable';\n\nimport { GRAPHQL_WS } from './protocol';\nimport { MIN_WS_TIMEOUT, WS_TIMEOUT } from './defaults';\nimport MessageTypes from './message-types';\n\nexport interface Observer {\n next?: (value: T) => void;\n error?: (error: Error) => void;\n complete?: () => void;\n}\n\nexport interface Observable {\n subscribe(observer: Observer): {\n unsubscribe: () => void;\n };\n}\n\nexport interface OperationOptions {\n query?: string | DocumentNode;\n variables?: Object;\n operationName?: string;\n [key: string]: any;\n}\n\nexport type FormatedError = Error & {\n originalError?: any;\n};\n\nexport interface Operation {\n options: OperationOptions;\n handler: (error: Error[], result?: any) => void;\n}\n\nexport interface Operations {\n [id: string]: Operation;\n}\n\nexport interface Middleware {\n applyMiddleware(options: OperationOptions, next: Function): void;\n}\n\nexport type ConnectionParams = {\n [paramName: string]: any,\n};\n\nexport type ConnectionParamsOptions = ConnectionParams | Function | Promise;\n\nexport interface ClientOptions {\n connectionParams?: ConnectionParamsOptions;\n minTimeout?: number;\n timeout?: number;\n reconnect?: boolean;\n reconnectionAttempts?: number;\n connectionCallback?: (error: Error[], result?: any) => void;\n lazy?: boolean;\n inactivityTimeout?: number;\n wsOptionArguments?: any[];\n}\n\nexport class SubscriptionClient {\n public client: any;\n public operations: Operations;\n private url: string;\n private nextOperationId: number;\n private connectionParams: Function;\n private minWsTimeout: number;\n private wsTimeout: number;\n private unsentMessagesQueue: Array; // queued messages while websocket is opening.\n private reconnect: boolean;\n private reconnecting: boolean;\n private reconnectionAttempts: number;\n private backoff: any;\n private connectionCallback: any;\n private eventEmitter: EventEmitterType;\n private lazy: boolean;\n private inactivityTimeout: number;\n private inactivityTimeoutId: any;\n private closedByUser: boolean;\n private wsImpl: any;\n private wsProtocols: string | string[];\n private wasKeepAliveReceived: boolean;\n private tryReconnectTimeoutId: any;\n private checkConnectionIntervalId: any;\n private maxConnectTimeoutId: any;\n private middlewares: Middleware[];\n private maxConnectTimeGenerator: any;\n private wsOptionArguments: any[];\n\n constructor(\n url: string,\n options?: ClientOptions,\n webSocketImpl?: any,\n webSocketProtocols?: string | string[],\n ) {\n const {\n connectionCallback = undefined,\n connectionParams = {},\n minTimeout = MIN_WS_TIMEOUT,\n timeout = WS_TIMEOUT,\n reconnect = false,\n reconnectionAttempts = Infinity,\n lazy = false,\n inactivityTimeout = 0,\n wsOptionArguments = [],\n } = (options || {});\n\n this.wsImpl = webSocketImpl || NativeWebSocket;\n if (!this.wsImpl) {\n throw new Error('Unable to find native implementation, or alternative implementation for WebSocket!');\n }\n\n this.wsProtocols = webSocketProtocols || GRAPHQL_WS;\n this.connectionCallback = connectionCallback;\n this.url = url;\n this.operations = {};\n this.nextOperationId = 0;\n this.minWsTimeout = minTimeout;\n this.wsTimeout = timeout;\n this.unsentMessagesQueue = [];\n this.reconnect = reconnect;\n this.reconnecting = false;\n this.reconnectionAttempts = reconnectionAttempts;\n this.lazy = !!lazy;\n this.inactivityTimeout = inactivityTimeout;\n this.closedByUser = false;\n this.backoff = new Backoff({ jitter: 0.5 });\n this.eventEmitter = new EventEmitter();\n this.middlewares = [];\n this.client = null;\n this.maxConnectTimeGenerator = this.createMaxConnectTimeGenerator();\n this.connectionParams = this.getConnectionParams(connectionParams);\n this.wsOptionArguments = wsOptionArguments;\n\n if (!this.lazy) {\n this.connect();\n }\n }\n\n public get status() {\n if (this.client === null) {\n return this.wsImpl.CLOSED;\n }\n\n return this.client.readyState;\n }\n\n public close(isForced = true, closedByUser = true) {\n this.clearInactivityTimeout();\n if (this.client !== null) {\n this.closedByUser = closedByUser;\n\n if (isForced) {\n this.clearCheckConnectionInterval();\n this.clearMaxConnectTimeout();\n this.clearTryReconnectTimeout();\n this.unsubscribeAll();\n this.sendMessage(undefined, MessageTypes.GQL_CONNECTION_TERMINATE, null);\n }\n\n this.client.close();\n this.client.onopen = null;\n this.client.onclose = null;\n this.client.onerror = null;\n this.client.onmessage = null;\n this.client = null;\n this.eventEmitter.emit('disconnected');\n\n if (!isForced) {\n this.tryReconnect();\n }\n }\n }\n\n public request(request: OperationOptions): Observable {\n const getObserver = this.getObserver.bind(this);\n const executeOperation = this.executeOperation.bind(this);\n const unsubscribe = this.unsubscribe.bind(this);\n\n let opId: string;\n\n this.clearInactivityTimeout();\n\n return {\n [$$observable]() {\n return this;\n },\n subscribe(\n observerOrNext: ((Observer) | ((v: ExecutionResult) => void)),\n onError?: (error: Error) => void,\n onComplete?: () => void,\n ) {\n const observer = getObserver(observerOrNext, onError, onComplete);\n\n opId = executeOperation(request, (error: Error[], result: any) => {\n if ( error === null && result === null ) {\n if ( observer.complete ) {\n observer.complete();\n }\n } else if (error) {\n if ( observer.error ) {\n observer.error(error[0]);\n }\n } else {\n if ( observer.next ) {\n observer.next(result);\n }\n }\n });\n\n return {\n unsubscribe: () => {\n if ( opId ) {\n unsubscribe(opId);\n opId = null;\n }\n },\n };\n },\n };\n }\n\n public on(eventName: string, callback: ListenerFn, context?: any): Function {\n const handler = this.eventEmitter.on(eventName, callback, context);\n\n return () => {\n handler.off(eventName, callback, context);\n };\n }\n\n public onConnected(callback: ListenerFn, context?: any): Function {\n return this.on('connected', callback, context);\n }\n\n public onConnecting(callback: ListenerFn, context?: any): Function {\n return this.on('connecting', callback, context);\n }\n\n public onDisconnected(callback: ListenerFn, context?: any): Function {\n return this.on('disconnected', callback, context);\n }\n\n public onReconnected(callback: ListenerFn, context?: any): Function {\n return this.on('reconnected', callback, context);\n }\n\n public onReconnecting(callback: ListenerFn, context?: any): Function {\n return this.on('reconnecting', callback, context);\n }\n\n public onError(callback: ListenerFn, context?: any): Function {\n return this.on('error', callback, context);\n }\n\n public unsubscribeAll() {\n Object.keys(this.operations).forEach( subId => {\n this.unsubscribe(subId);\n });\n }\n\n public applyMiddlewares(options: OperationOptions): Promise {\n return new Promise((resolve, reject) => {\n const queue = (funcs: Middleware[], scope: any) => {\n const next = (error?: any) => {\n if (error) {\n reject(error);\n } else {\n if (funcs.length > 0) {\n const f = funcs.shift();\n if (f) {\n f.applyMiddleware.apply(scope, [options, next]);\n }\n } else {\n resolve(options);\n }\n }\n };\n next();\n };\n\n queue([...this.middlewares], this);\n });\n }\n\n public use(middlewares: Middleware[]): SubscriptionClient {\n middlewares.map((middleware) => {\n if (typeof middleware.applyMiddleware === 'function') {\n this.middlewares.push(middleware);\n } else {\n throw new Error('Middleware must implement the applyMiddleware function.');\n }\n });\n\n return this;\n }\n\n private getConnectionParams(connectionParams: ConnectionParamsOptions): Function {\n return (): Promise => new Promise((resolve, reject) => {\n if (typeof connectionParams === 'function') {\n try {\n return resolve(connectionParams.call(null));\n } catch (error) {\n return reject(error);\n }\n }\n\n resolve(connectionParams);\n });\n }\n\n private executeOperation(options: OperationOptions, handler: (error: Error[], result?: any) => void): string {\n if (this.client === null) {\n this.connect();\n }\n\n const opId = this.generateOperationId();\n this.operations[opId] = { options: options, handler };\n\n this.applyMiddlewares(options)\n .then(processedOptions => {\n this.checkOperationOptions(processedOptions, handler);\n if (this.operations[opId]) {\n this.operations[opId] = { options: processedOptions, handler };\n this.sendMessage(opId, MessageTypes.GQL_START, processedOptions);\n }\n })\n .catch(error => {\n this.unsubscribe(opId);\n handler(this.formatErrors(error));\n });\n\n return opId;\n }\n\n private getObserver(\n observerOrNext: ((Observer) | ((v: T) => void)),\n error?: (e: Error) => void,\n complete?: () => void,\n ) {\n if ( typeof observerOrNext === 'function' ) {\n return {\n next: (v: T) => observerOrNext(v),\n error: (e: Error) => error && error(e),\n complete: () => complete && complete(),\n };\n }\n\n return observerOrNext;\n }\n\n private createMaxConnectTimeGenerator() {\n const minValue = this.minWsTimeout;\n const maxValue = this.wsTimeout;\n\n return new Backoff({\n min: minValue,\n max: maxValue,\n factor: 1.2,\n });\n }\n\n private clearCheckConnectionInterval() {\n if (this.checkConnectionIntervalId) {\n clearInterval(this.checkConnectionIntervalId);\n this.checkConnectionIntervalId = null;\n }\n }\n\n private clearMaxConnectTimeout() {\n if (this.maxConnectTimeoutId) {\n clearTimeout(this.maxConnectTimeoutId);\n this.maxConnectTimeoutId = null;\n }\n }\n\n private clearTryReconnectTimeout() {\n if (this.tryReconnectTimeoutId) {\n clearTimeout(this.tryReconnectTimeoutId);\n this.tryReconnectTimeoutId = null;\n }\n }\n\n private clearInactivityTimeout() {\n if (this.inactivityTimeoutId) {\n clearTimeout(this.inactivityTimeoutId);\n this.inactivityTimeoutId = null;\n }\n }\n\n private setInactivityTimeout() {\n if (this.inactivityTimeout > 0 && Object.keys(this.operations).length === 0) {\n this.inactivityTimeoutId = setTimeout(() => {\n if (Object.keys(this.operations).length === 0) {\n this.close();\n }\n }, this.inactivityTimeout);\n }\n }\n\n private checkOperationOptions(options: OperationOptions, handler: (error: Error[], result?: any) => void) {\n const { query, variables, operationName } = options;\n\n if (!query) {\n throw new Error('Must provide a query.');\n }\n\n if (!handler) {\n throw new Error('Must provide an handler.');\n }\n\n if (\n ( !isString(query) && !getOperationAST(query, operationName)) ||\n ( operationName && !isString(operationName)) ||\n ( variables && !isObject(variables))\n ) {\n throw new Error('Incorrect option types. query must be a string or a document,' +\n '`operationName` must be a string, and `variables` must be an object.');\n }\n }\n\n private buildMessage(id: string, type: string, payload: any) {\n const payloadToReturn = payload && payload.query ?\n {\n ...payload,\n query: typeof payload.query === 'string' ? payload.query : print(payload.query),\n } :\n payload;\n\n return {\n id,\n type,\n payload: payloadToReturn,\n };\n }\n\n // ensure we have an array of errors\n private formatErrors(errors: any): FormatedError[] {\n if (Array.isArray(errors)) {\n return errors;\n }\n\n // TODO we should not pass ValidationError to callback in the future.\n // ValidationError\n if (errors && errors.errors) {\n return this.formatErrors(errors.errors);\n }\n\n if (errors && errors.message) {\n return [errors];\n }\n\n return [{\n name: 'FormatedError',\n message: 'Unknown error',\n originalError: errors,\n }];\n }\n\n private sendMessage(id: string, type: string, payload: any) {\n this.sendMessageRaw(this.buildMessage(id, type, payload));\n }\n\n // send message, or queue it if connection is not open\n private sendMessageRaw(message: Object) {\n switch (this.status) {\n case this.wsImpl.OPEN:\n let serializedMessage: string = JSON.stringify(message);\n try {\n JSON.parse(serializedMessage);\n } catch (e) {\n this.eventEmitter.emit('error', new Error(`Message must be JSON-serializable. Got: ${message}`));\n }\n\n this.client.send(serializedMessage);\n break;\n case this.wsImpl.CONNECTING:\n this.unsentMessagesQueue.push(message);\n\n break;\n default:\n if (!this.reconnecting) {\n this.eventEmitter.emit('error', new Error('A message was not sent because socket is not connected, is closing or ' +\n 'is already closed. Message was: ' + JSON.stringify(message)));\n }\n }\n }\n\n private generateOperationId(): string {\n return String(++this.nextOperationId);\n }\n\n private tryReconnect() {\n if (!this.reconnect || this.backoff.attempts >= this.reconnectionAttempts) {\n return;\n }\n\n if (!this.reconnecting) {\n Object.keys(this.operations).forEach((key) => {\n this.unsentMessagesQueue.push(\n this.buildMessage(key, MessageTypes.GQL_START, this.operations[key].options),\n );\n });\n this.reconnecting = true;\n }\n\n this.clearTryReconnectTimeout();\n\n const delay = this.backoff.duration();\n this.tryReconnectTimeoutId = setTimeout(() => {\n this.connect();\n }, delay);\n }\n\n private flushUnsentMessagesQueue() {\n this.unsentMessagesQueue.forEach((message) => {\n this.sendMessageRaw(message);\n });\n this.unsentMessagesQueue = [];\n }\n\n private checkConnection() {\n if (this.wasKeepAliveReceived) {\n this.wasKeepAliveReceived = false;\n return;\n }\n\n if (!this.reconnecting) {\n this.close(false, true);\n }\n }\n\n private checkMaxConnectTimeout() {\n this.clearMaxConnectTimeout();\n\n // Max timeout trying to connect\n this.maxConnectTimeoutId = setTimeout(() => {\n if (this.status !== this.wsImpl.OPEN) {\n this.reconnecting = true;\n this.close(false, true);\n }\n }, this.maxConnectTimeGenerator.duration());\n }\n\n private connect() {\n this.client = new this.wsImpl(this.url, this.wsProtocols, ...this.wsOptionArguments);\n\n this.checkMaxConnectTimeout();\n\n this.client.onopen = async () => {\n if (this.status === this.wsImpl.OPEN) {\n this.clearMaxConnectTimeout();\n this.closedByUser = false;\n this.eventEmitter.emit(this.reconnecting ? 'reconnecting' : 'connecting');\n\n try {\n const connectionParams: ConnectionParams = await this.connectionParams();\n\n // Send CONNECTION_INIT message, no need to wait for connection to success (reduce roundtrips)\n this.sendMessage(undefined, MessageTypes.GQL_CONNECTION_INIT, connectionParams);\n this.flushUnsentMessagesQueue();\n } catch (error) {\n this.sendMessage(undefined, MessageTypes.GQL_CONNECTION_ERROR, error);\n this.flushUnsentMessagesQueue();\n }\n }\n };\n\n this.client.onclose = () => {\n if (!this.closedByUser) {\n this.close(false, false);\n }\n };\n\n this.client.onerror = (err: Error) => {\n // Capture and ignore errors to prevent unhandled exceptions, wait for\n // onclose to fire before attempting a reconnect.\n this.eventEmitter.emit('error', err);\n };\n\n this.client.onmessage = ({ data }: {data: any}) => {\n this.processReceivedData(data);\n };\n }\n\n private processReceivedData(receivedData: any) {\n let parsedMessage: any;\n let opId: string;\n\n try {\n parsedMessage = JSON.parse(receivedData);\n opId = parsedMessage.id;\n } catch (e) {\n throw new Error(`Message must be JSON-parseable. Got: ${receivedData}`);\n }\n\n if (\n [ MessageTypes.GQL_DATA,\n MessageTypes.GQL_COMPLETE,\n MessageTypes.GQL_ERROR,\n ].indexOf(parsedMessage.type) !== -1 && !this.operations[opId]\n ) {\n this.unsubscribe(opId);\n\n return;\n }\n\n switch (parsedMessage.type) {\n case MessageTypes.GQL_CONNECTION_ERROR:\n if (this.connectionCallback) {\n this.connectionCallback(parsedMessage.payload);\n }\n break;\n\n case MessageTypes.GQL_CONNECTION_ACK:\n this.eventEmitter.emit(this.reconnecting ? 'reconnected' : 'connected', parsedMessage.payload);\n this.reconnecting = false;\n this.backoff.reset();\n this.maxConnectTimeGenerator.reset();\n\n if (this.connectionCallback) {\n this.connectionCallback();\n }\n break;\n\n case MessageTypes.GQL_COMPLETE:\n const handler = this.operations[opId].handler;\n delete this.operations[opId];\n handler.call(this, null, null);\n break;\n\n case MessageTypes.GQL_ERROR:\n this.operations[opId].handler(this.formatErrors(parsedMessage.payload), null);\n delete this.operations[opId];\n break;\n\n case MessageTypes.GQL_DATA:\n const parsedPayload = !parsedMessage.payload.errors ?\n parsedMessage.payload : {...parsedMessage.payload, errors: this.formatErrors(parsedMessage.payload.errors)};\n this.operations[opId].handler(null, parsedPayload);\n break;\n\n case MessageTypes.GQL_CONNECTION_KEEP_ALIVE:\n const firstKA = typeof this.wasKeepAliveReceived === 'undefined';\n this.wasKeepAliveReceived = true;\n\n if (firstKA) {\n this.checkConnection();\n }\n\n if (this.checkConnectionIntervalId) {\n clearInterval(this.checkConnectionIntervalId);\n this.checkConnection();\n }\n this.checkConnectionIntervalId = setInterval(this.checkConnection.bind(this), this.wsTimeout);\n break;\n\n default:\n throw new Error('Invalid message type!');\n }\n }\n\n private unsubscribe(opId: string) {\n if (this.operations[opId]) {\n delete this.operations[opId];\n this.setInactivityTimeout();\n this.sendMessage(opId, MessageTypes.GQL_STOP, undefined);\n }\n }\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","// HTML5 entities map: { name -> utf16string }\n//\n'use strict';\n\n/*eslint quotes:0*/\nmodule.exports = require('entities/lib/maps/entities.json');\n","'use strict';\n\n\nmodule.exports.encode = require('./encode');\nmodule.exports.decode = require('./decode');\nmodule.exports.format = require('./format');\nmodule.exports.parse = require('./parse');\n","module.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/","module.exports=/[\\0-\\x1F\\x7F-\\x9F]/","module.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/","// Regexps to match html elements\n\n'use strict';\n\nvar attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\n\nvar unquoted = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar single_quoted = \"'[^']*'\";\nvar double_quoted = '\"[^\"]*\"';\n\nvar attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';\n\nvar attribute = '(?:\\\\s+' + attr_name + '(?:\\\\s*=\\\\s*' + attr_value + ')?)';\n\nvar open_tag = '<[A-Za-z][A-Za-z0-9\\\\-]*' + attribute + '*\\\\s*\\\\/?>';\n\nvar close_tag = '<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>';\nvar comment = '|';\nvar processing = '<[?].*?[?]>';\nvar declaration = ']*>';\nvar cdata = '';\n\nvar HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +\n '|' + processing + '|' + declaration + '|' + cdata + ')');\nvar HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');\n\nmodule.exports.HTML_TAG_RE = HTML_TAG_RE;\nmodule.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;\n","// ~~strike through~~\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function strikethrough(state, silent) {\n var i, scanned, token, len, ch,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x7E/* ~ */) { return false; }\n\n scanned = state.scanDelims(state.pos, true);\n len = scanned.length;\n ch = String.fromCharCode(marker);\n\n if (len < 2) { return false; }\n\n if (len % 2) {\n token = state.push('text', '', 0);\n token.content = ch;\n len--;\n }\n\n for (i = 0; i < len; i += 2) {\n token = state.push('text', '', 0);\n token.content = ch + ch;\n\n state.delimiters.push({\n marker: marker,\n length: 0, // disable \"rule of 3\" length checks meant for emphasis\n jump: i,\n token: state.tokens.length - 1,\n end: -1,\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i, j,\n startDelim,\n endDelim,\n token,\n loneMarkers = [],\n max = delimiters.length;\n\n for (i = 0; i < max; i++) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x7E/* ~ */) {\n continue;\n }\n\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n token = state.tokens[startDelim.token];\n token.type = 's_open';\n token.tag = 's';\n token.nesting = 1;\n token.markup = '~~';\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = 's_close';\n token.tag = 's';\n token.nesting = -1;\n token.markup = '~~';\n token.content = '';\n\n if (state.tokens[endDelim.token - 1].type === 'text' &&\n state.tokens[endDelim.token - 1].content === '~') {\n\n loneMarkers.push(endDelim.token - 1);\n }\n }\n\n // If a marker sequence has an odd number of characters, it's splitted\n // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the\n // start of the sequence.\n //\n // So, we have to move all those markers after subsequent s_close tags.\n //\n while (loneMarkers.length) {\n i = loneMarkers.pop();\n j = i + 1;\n\n while (j < state.tokens.length && state.tokens[j].type === 's_close') {\n j++;\n }\n\n j--;\n\n if (i !== j) {\n token = state.tokens[j];\n state.tokens[j] = state.tokens[i];\n state.tokens[i] = token;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function strikethrough(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Process *this* and _that_\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function emphasis(state, silent) {\n var i, scanned, token,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { return false; }\n\n scanned = state.scanDelims(state.pos, marker === 0x2A);\n\n for (i = 0; i < scanned.length; i++) {\n token = state.push('text', '', 0);\n token.content = String.fromCharCode(marker);\n\n state.delimiters.push({\n // Char code of the starting marker (number).\n //\n marker: marker,\n\n // Total length of these series of delimiters.\n //\n length: scanned.length,\n\n // An amount of characters before this one that's equivalent to\n // current one. In plain English: if this delimiter does not open\n // an emphasis, neither do previous `jump` characters.\n //\n // Used to skip sequences like \"*****\" in one step, for 1st asterisk\n // value will be 0, for 2nd it's 1 and so on.\n //\n jump: i,\n\n // A position of the token this delimiter corresponds to.\n //\n token: state.tokens.length - 1,\n\n // If this delimiter is matched as a valid opener, `end` will be\n // equal to its position, otherwise it's `-1`.\n //\n end: -1,\n\n // Boolean flags that determine if this delimiter could open or close\n // an emphasis.\n //\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i,\n startDelim,\n endDelim,\n token,\n ch,\n isStrong,\n max = delimiters.length;\n\n for (i = max - 1; i >= 0; i--) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x5F/* _ */ && startDelim.marker !== 0x2A/* * */) {\n continue;\n }\n\n // Process only opening markers\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n // If the previous delimiter has the same marker and is adjacent to this one,\n // merge those into one strong delimiter.\n //\n // `whatever` -> `whatever`\n //\n isStrong = i > 0 &&\n delimiters[i - 1].end === startDelim.end + 1 &&\n delimiters[i - 1].token === startDelim.token - 1 &&\n delimiters[startDelim.end + 1].token === endDelim.token + 1 &&\n delimiters[i - 1].marker === startDelim.marker;\n\n ch = String.fromCharCode(startDelim.marker);\n\n token = state.tokens[startDelim.token];\n token.type = isStrong ? 'strong_open' : 'em_open';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = 1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = isStrong ? 'strong_close' : 'em_close';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = -1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n if (isStrong) {\n state.tokens[delimiters[i - 1].token].content = '';\n state.tokens[delimiters[startDelim.end + 1].token].content = '';\n i--;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function emphasis(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Define search commands. Depends on dialog.js or another\n// implementation of the openDialog method.\n\n// Replace works a little oddly -- it will do the replace on the next\n// Ctrl-G (or whatever is bound to findNext) press. You prevent a\n// replace by making sure the match is no longer selected when hitting\n// Ctrl-G.\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"./searchcursor\"), require(\"../dialog/dialog\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"./searchcursor\", \"../dialog/dialog\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n // default search panel location\n CodeMirror.defineOption(\"search\", {bottom: false});\n\n function searchOverlay(query, caseInsensitive) {\n if (typeof query == \"string\")\n query = new RegExp(query.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\"), caseInsensitive ? \"gi\" : \"g\");\n else if (!query.global)\n query = new RegExp(query.source, query.ignoreCase ? \"gi\" : \"g\");\n\n return {token: function(stream) {\n query.lastIndex = stream.pos;\n var match = query.exec(stream.string);\n if (match && match.index == stream.pos) {\n stream.pos += match[0].length || 1;\n return \"searching\";\n } else if (match) {\n stream.pos = match.index;\n } else {\n stream.skipToEnd();\n }\n }};\n }\n\n function SearchState() {\n this.posFrom = this.posTo = this.lastQuery = this.query = null;\n this.overlay = null;\n }\n\n function getSearchState(cm) {\n return cm.state.search || (cm.state.search = new SearchState());\n }\n\n function queryCaseInsensitive(query) {\n return typeof query == \"string\" && query == query.toLowerCase();\n }\n\n function getSearchCursor(cm, query, pos) {\n // Heuristic: if the query string is all lowercase, do a case insensitive search.\n return cm.getSearchCursor(query, pos, {caseFold: queryCaseInsensitive(query), multiline: true});\n }\n\n function persistentDialog(cm, text, deflt, onEnter, onKeyDown) {\n cm.openDialog(text, onEnter, {\n value: deflt,\n selectValueOnOpen: true,\n closeOnEnter: false,\n onClose: function() { clearSearch(cm); },\n onKeyDown: onKeyDown,\n bottom: cm.options.search.bottom\n });\n }\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function confirmDialog(cm, text, shortText, fs) {\n if (cm.openConfirm) cm.openConfirm(text, fs);\n else if (confirm(shortText)) fs[0]();\n }\n\n function parseString(string) {\n return string.replace(/\\\\([nrt\\\\])/g, function(match, ch) {\n if (ch == \"n\") return \"\\n\"\n if (ch == \"r\") return \"\\r\"\n if (ch == \"t\") return \"\\t\"\n if (ch == \"\\\\\") return \"\\\\\"\n return match\n })\n }\n\n function parseQuery(query) {\n var isRE = query.match(/^\\/(.*)\\/([a-z]*)$/);\n if (isRE) {\n try { query = new RegExp(isRE[1], isRE[2].indexOf(\"i\") == -1 ? \"\" : \"i\"); }\n catch(e) {} // Not a regular expression after all, do a string search\n } else {\n query = parseString(query)\n }\n if (typeof query == \"string\" ? query == \"\" : query.test(\"\"))\n query = /x^/;\n return query;\n }\n\n function startSearch(cm, state, query) {\n state.queryText = query;\n state.query = parseQuery(query);\n cm.removeOverlay(state.overlay, queryCaseInsensitive(state.query));\n state.overlay = searchOverlay(state.query, queryCaseInsensitive(state.query));\n cm.addOverlay(state.overlay);\n if (cm.showMatchesOnScrollbar) {\n if (state.annotate) { state.annotate.clear(); state.annotate = null; }\n state.annotate = cm.showMatchesOnScrollbar(state.query, queryCaseInsensitive(state.query));\n }\n }\n\n function doSearch(cm, rev, persistent, immediate) {\n var state = getSearchState(cm);\n if (state.query) return findNext(cm, rev);\n var q = cm.getSelection() || state.lastQuery;\n if (q instanceof RegExp && q.source == \"x^\") q = null\n if (persistent && cm.openDialog) {\n var hiding = null\n var searchNext = function(query, event) {\n CodeMirror.e_stop(event);\n if (!query) return;\n if (query != state.queryText) {\n startSearch(cm, state, query);\n state.posFrom = state.posTo = cm.getCursor();\n }\n if (hiding) hiding.style.opacity = 1\n findNext(cm, event.shiftKey, function(_, to) {\n var dialog\n if (to.line < 3 && document.querySelector &&\n (dialog = cm.display.wrapper.querySelector(\".CodeMirror-dialog\")) &&\n dialog.getBoundingClientRect().bottom - 4 > cm.cursorCoords(to, \"window\").top)\n (hiding = dialog).style.opacity = .4\n })\n };\n persistentDialog(cm, getQueryDialog(cm), q, searchNext, function(event, query) {\n var keyName = CodeMirror.keyName(event)\n var extra = cm.getOption('extraKeys'), cmd = (extra && extra[keyName]) || CodeMirror.keyMap[cm.getOption(\"keyMap\")][keyName]\n if (cmd == \"findNext\" || cmd == \"findPrev\" ||\n cmd == \"findPersistentNext\" || cmd == \"findPersistentPrev\") {\n CodeMirror.e_stop(event);\n startSearch(cm, getSearchState(cm), query);\n cm.execCommand(cmd);\n } else if (cmd == \"find\" || cmd == \"findPersistent\") {\n CodeMirror.e_stop(event);\n searchNext(query, event);\n }\n });\n if (immediate && q) {\n startSearch(cm, state, q);\n findNext(cm, rev);\n }\n } else {\n dialog(cm, getQueryDialog(cm), \"Search for:\", q, function(query) {\n if (query && !state.query) cm.operation(function() {\n startSearch(cm, state, query);\n state.posFrom = state.posTo = cm.getCursor();\n findNext(cm, rev);\n });\n });\n }\n }\n\n function findNext(cm, rev, callback) {cm.operation(function() {\n var state = getSearchState(cm);\n var cursor = getSearchCursor(cm, state.query, rev ? state.posFrom : state.posTo);\n if (!cursor.find(rev)) {\n cursor = getSearchCursor(cm, state.query, rev ? CodeMirror.Pos(cm.lastLine()) : CodeMirror.Pos(cm.firstLine(), 0));\n if (!cursor.find(rev)) return;\n }\n cm.setSelection(cursor.from(), cursor.to());\n cm.scrollIntoView({from: cursor.from(), to: cursor.to()}, 20);\n state.posFrom = cursor.from(); state.posTo = cursor.to();\n if (callback) callback(cursor.from(), cursor.to())\n });}\n\n function clearSearch(cm) {cm.operation(function() {\n var state = getSearchState(cm);\n state.lastQuery = state.query;\n if (!state.query) return;\n state.query = state.queryText = null;\n cm.removeOverlay(state.overlay);\n if (state.annotate) { state.annotate.clear(); state.annotate = null; }\n });}\n\n\n function getQueryDialog(cm) {\n return '' + cm.phrase(\"Search:\") + ' ' + cm.phrase(\"(Use /re/ syntax for regexp search)\") + '';\n }\n function getReplaceQueryDialog(cm) {\n return ' ' + cm.phrase(\"(Use /re/ syntax for regexp search)\") + '';\n }\n function getReplacementQueryDialog(cm) {\n return '' + cm.phrase(\"With:\") + ' ';\n }\n function getDoReplaceConfirm(cm) {\n return '' + cm.phrase(\"Replace?\") + ' ';\n }\n\n function replaceAll(cm, query, text) {\n cm.operation(function() {\n for (var cursor = getSearchCursor(cm, query); cursor.findNext();) {\n if (typeof query != \"string\") {\n var match = cm.getRange(cursor.from(), cursor.to()).match(query);\n cursor.replace(text.replace(/\\$(\\d)/g, function(_, i) {return match[i];}));\n } else cursor.replace(text);\n }\n });\n }\n\n function replace(cm, all) {\n if (cm.getOption(\"readOnly\")) return;\n var query = cm.getSelection() || getSearchState(cm).lastQuery;\n var dialogText = '' + (all ? cm.phrase(\"Replace all:\") : cm.phrase(\"Replace:\")) + '';\n dialog(cm, dialogText + getReplaceQueryDialog(cm), dialogText, query, function(query) {\n if (!query) return;\n query = parseQuery(query);\n dialog(cm, getReplacementQueryDialog(cm), cm.phrase(\"Replace with:\"), \"\", function(text) {\n text = parseString(text)\n if (all) {\n replaceAll(cm, query, text)\n } else {\n clearSearch(cm);\n var cursor = getSearchCursor(cm, query, cm.getCursor(\"from\"));\n var advance = function() {\n var start = cursor.from(), match;\n if (!(match = cursor.findNext())) {\n cursor = getSearchCursor(cm, query);\n if (!(match = cursor.findNext()) ||\n (start && cursor.from().line == start.line && cursor.from().ch == start.ch)) return;\n }\n cm.setSelection(cursor.from(), cursor.to());\n cm.scrollIntoView({from: cursor.from(), to: cursor.to()});\n confirmDialog(cm, getDoReplaceConfirm(cm), cm.phrase(\"Replace?\"),\n [function() {doReplace(match);}, advance,\n function() {replaceAll(cm, query, text)}]);\n };\n var doReplace = function(match) {\n cursor.replace(typeof query == \"string\" ? text :\n text.replace(/\\$(\\d)/g, function(_, i) {return match[i];}));\n advance();\n };\n advance();\n }\n });\n });\n }\n\n CodeMirror.commands.find = function(cm) {clearSearch(cm); doSearch(cm);};\n CodeMirror.commands.findPersistent = function(cm) {clearSearch(cm); doSearch(cm, false, true);};\n CodeMirror.commands.findPersistentNext = function(cm) {doSearch(cm, false, true, true);};\n CodeMirror.commands.findPersistentPrev = function(cm) {doSearch(cm, true, true, true);};\n CodeMirror.commands.findNext = doSearch;\n CodeMirror.commands.findPrev = function(cm) {doSearch(cm, true);};\n CodeMirror.commands.clearSearch = clearSearch;\n CodeMirror.commands.replace = replace;\n CodeMirror.commands.replaceAll = function(cm) {replace(cm, true);};\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar graphql_1 = require(\"graphql\");\nvar introspection_1 = require(\"graphql/type/introspection\");\nvar forEachState_1 = __importDefault(require(\"./forEachState\"));\nfunction getTypeInfo(schema, tokenState) {\n var info = {\n schema: schema,\n type: null,\n parentType: null,\n inputType: null,\n directiveDef: null,\n fieldDef: null,\n argDef: null,\n argDefs: null,\n objectFieldDefs: null,\n };\n forEachState_1.default(tokenState, function (state) {\n switch (state.kind) {\n case 'Query':\n case 'ShortQuery':\n info.type = schema.getQueryType();\n break;\n case 'Mutation':\n info.type = schema.getMutationType();\n break;\n case 'Subscription':\n info.type = schema.getSubscriptionType();\n break;\n case 'InlineFragment':\n case 'FragmentDefinition':\n if (state.type) {\n info.type = schema.getType(state.type);\n }\n break;\n case 'Field':\n case 'AliasedField':\n info.fieldDef =\n info.type && state.name\n ? getFieldDef(schema, info.parentType, state.name)\n : null;\n info.type = info.fieldDef && info.fieldDef.type;\n break;\n case 'SelectionSet':\n info.parentType = info.type ? graphql_1.getNamedType(info.type) : null;\n break;\n case 'Directive':\n info.directiveDef = state.name ? schema.getDirective(state.name) : null;\n break;\n case 'Arguments':\n var parentDef = state.prevState\n ? state.prevState.kind === 'Field'\n ? info.fieldDef\n : state.prevState.kind === 'Directive'\n ? info.directiveDef\n : state.prevState.kind === 'AliasedField'\n ? state.prevState.name &&\n getFieldDef(schema, info.parentType, state.prevState.name)\n : null\n : null;\n info.argDefs = parentDef ? parentDef.args : null;\n break;\n case 'Argument':\n info.argDef = null;\n if (info.argDefs) {\n for (var i = 0; i < info.argDefs.length; i++) {\n if (info.argDefs[i].name === state.name) {\n info.argDef = info.argDefs[i];\n break;\n }\n }\n }\n info.inputType = info.argDef && info.argDef.type;\n break;\n case 'EnumValue':\n var enumType = info.inputType ? graphql_1.getNamedType(info.inputType) : null;\n info.enumValue =\n enumType instanceof graphql_1.GraphQLEnumType\n ? find(enumType.getValues(), function (val) { return val.value === state.name; })\n : null;\n break;\n case 'ListValue':\n var nullableType = info.inputType\n ? graphql_1.getNullableType(info.inputType)\n : null;\n info.inputType =\n nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;\n break;\n case 'ObjectValue':\n var objectType = info.inputType ? graphql_1.getNamedType(info.inputType) : null;\n info.objectFieldDefs =\n objectType instanceof graphql_1.GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n break;\n case 'ObjectField':\n var objectField = state.name && info.objectFieldDefs\n ? info.objectFieldDefs[state.name]\n : null;\n info.inputType = objectField && objectField.type;\n break;\n case 'NamedType':\n info.type = state.name ? schema.getType(state.name) : null;\n break;\n }\n });\n return info;\n}\nexports.default = getTypeInfo;\nfunction getFieldDef(schema, type, fieldName) {\n if (fieldName === introspection_1.SchemaMetaFieldDef.name && schema.getQueryType() === type) {\n return introspection_1.SchemaMetaFieldDef;\n }\n if (fieldName === introspection_1.TypeMetaFieldDef.name && schema.getQueryType() === type) {\n return introspection_1.TypeMetaFieldDef;\n }\n if (fieldName === introspection_1.TypeNameMetaFieldDef.name && graphql_1.isCompositeType(type)) {\n return introspection_1.TypeNameMetaFieldDef;\n }\n if (type && type.getFields) {\n return type.getFields()[fieldName];\n }\n}\nfunction find(array, predicate) {\n for (var i = 0; i < array.length; i++) {\n if (predicate(array[i])) {\n return array[i];\n }\n }\n}\n//# sourceMappingURL=getTypeInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction forEachState(stack, fn) {\n var reverseStateStack = [];\n var state = stack;\n while (state && state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (var i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\nexports.default = forEachState;\n//# sourceMappingURL=forEachState.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTypeReference = exports.getEnumValueReference = exports.getArgumentReference = exports.getDirectiveReference = exports.getFieldReference = void 0;\nvar graphql_1 = require(\"graphql\");\nfunction getFieldReference(typeInfo) {\n return {\n kind: 'Field',\n schema: typeInfo.schema,\n field: typeInfo.fieldDef,\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\n };\n}\nexports.getFieldReference = getFieldReference;\nfunction getDirectiveReference(typeInfo) {\n return {\n kind: 'Directive',\n schema: typeInfo.schema,\n directive: typeInfo.directiveDef,\n };\n}\nexports.getDirectiveReference = getDirectiveReference;\nfunction getArgumentReference(typeInfo) {\n return typeInfo.directiveDef\n ? {\n kind: 'Argument',\n schema: typeInfo.schema,\n argument: typeInfo.argDef,\n directive: typeInfo.directiveDef,\n }\n : {\n kind: 'Argument',\n schema: typeInfo.schema,\n argument: typeInfo.argDef,\n field: typeInfo.fieldDef,\n type: isMetaField(typeInfo.fieldDef) ? null : typeInfo.parentType,\n };\n}\nexports.getArgumentReference = getArgumentReference;\nfunction getEnumValueReference(typeInfo) {\n return {\n kind: 'EnumValue',\n value: typeInfo.enumValue || undefined,\n type: typeInfo.inputType\n ? graphql_1.getNamedType(typeInfo.inputType)\n : undefined,\n };\n}\nexports.getEnumValueReference = getEnumValueReference;\nfunction getTypeReference(typeInfo, type) {\n return {\n kind: 'Type',\n schema: typeInfo.schema,\n type: type || typeInfo.type,\n };\n}\nexports.getTypeReference = getTypeReference;\nfunction isMetaField(fieldDef) {\n return fieldDef.name.slice(0, 2) === '__';\n}\n//# sourceMappingURL=SchemaReference.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\ncodemirror_1.default.defineOption('info', false, function (cm, options, old) {\n if (old && old !== codemirror_1.default.Init) {\n var oldOnMouseOver = cm.state.info.onMouseOver;\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\n clearTimeout(cm.state.info.hoverTimeout);\n delete cm.state.info;\n }\n if (options) {\n var state = (cm.state.info = createState(options));\n state.onMouseOver = onMouseOver.bind(null, cm);\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\n }\n});\nfunction createState(options) {\n return {\n options: options instanceof Function\n ? { render: options }\n : options === true\n ? {}\n : options,\n };\n}\nfunction getHoverTime(cm) {\n var options = cm.state.info.options;\n return (options && options.hoverTime) || 500;\n}\nfunction onMouseOver(cm, e) {\n var state = cm.state.info;\n var target = e.target || e.srcElement;\n if (!(target instanceof HTMLElement)) {\n return;\n }\n if (target.nodeName !== 'SPAN' || state.hoverTimeout !== undefined) {\n return;\n }\n var box = target.getBoundingClientRect();\n var onMouseMove = function () {\n clearTimeout(state.hoverTimeout);\n state.hoverTimeout = setTimeout(onHover, hoverTime);\n };\n var onMouseOut = function () {\n codemirror_1.default.off(document, 'mousemove', onMouseMove);\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);\n clearTimeout(state.hoverTimeout);\n state.hoverTimeout = undefined;\n };\n var onHover = function () {\n codemirror_1.default.off(document, 'mousemove', onMouseMove);\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);\n state.hoverTimeout = undefined;\n onMouseHover(cm, box);\n };\n var hoverTime = getHoverTime(cm);\n state.hoverTimeout = setTimeout(onHover, hoverTime);\n codemirror_1.default.on(document, 'mousemove', onMouseMove);\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseout', onMouseOut);\n}\nfunction onMouseHover(cm, box) {\n var pos = cm.coordsChar({\n left: (box.left + box.right) / 2,\n top: (box.top + box.bottom) / 2,\n });\n var state = cm.state.info;\n var options = state.options;\n var render = options.render || cm.getHelper(pos, 'info');\n if (render) {\n var token = cm.getTokenAt(pos, true);\n if (token) {\n var info = render(token, options, cm, pos);\n if (info) {\n showPopup(cm, box, info);\n }\n }\n }\n}\nfunction showPopup(cm, box, info) {\n var popup = document.createElement('div');\n popup.className = 'CodeMirror-info';\n popup.appendChild(info);\n document.body.appendChild(popup);\n var popupBox = popup.getBoundingClientRect();\n var popupStyle = window.getComputedStyle(popup);\n var popupWidth = popupBox.right -\n popupBox.left +\n parseFloat(popupStyle.marginLeft) +\n parseFloat(popupStyle.marginRight);\n var popupHeight = popupBox.bottom -\n popupBox.top +\n parseFloat(popupStyle.marginTop) +\n parseFloat(popupStyle.marginBottom);\n var topPos = box.bottom;\n if (popupHeight > window.innerHeight - box.bottom - 15 &&\n box.top > window.innerHeight - box.bottom) {\n topPos = box.top - popupHeight;\n }\n if (topPos < 0) {\n topPos = box.bottom;\n }\n var leftPos = Math.max(0, window.innerWidth - popupWidth - 15);\n if (leftPos > box.left) {\n leftPos = box.left;\n }\n popup.style.opacity = '1';\n popup.style.top = topPos + 'px';\n popup.style.left = leftPos + 'px';\n var popupTimeout;\n var onMouseOverPopup = function () {\n clearTimeout(popupTimeout);\n };\n var onMouseOut = function () {\n clearTimeout(popupTimeout);\n popupTimeout = setTimeout(hidePopup, 200);\n };\n var hidePopup = function () {\n codemirror_1.default.off(popup, 'mouseover', onMouseOverPopup);\n codemirror_1.default.off(popup, 'mouseout', onMouseOut);\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', onMouseOut);\n if (popup.style.opacity) {\n popup.style.opacity = '0';\n setTimeout(function () {\n if (popup.parentNode) {\n popup.parentNode.removeChild(popup);\n }\n }, 600);\n }\n else if (popup.parentNode) {\n popup.parentNode.removeChild(popup);\n }\n };\n codemirror_1.default.on(popup, 'mouseover', onMouseOverPopup);\n codemirror_1.default.on(popup, 'mouseout', onMouseOut);\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseout', onMouseOut);\n}\n//# sourceMappingURL=info-addon.js.map","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nexport var integer;\n(function (integer) {\n integer.MIN_VALUE = -2147483648;\n integer.MAX_VALUE = 2147483647;\n})(integer || (integer = {}));\nexport var uinteger;\n(function (uinteger) {\n uinteger.MIN_VALUE = 0;\n uinteger.MAX_VALUE = 2147483647;\n})(uinteger || (uinteger = {}));\n/**\n * The Position namespace provides helper functions to work with\n * [Position](#Position) literals.\n */\nexport var Position;\n(function (Position) {\n /**\n * Creates a new Position literal from the given line and character.\n * @param line The position's line.\n * @param character The position's character.\n */\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line: line, character: character };\n }\n Position.create = create;\n /**\n * Checks whether the given literal conforms to the [Position](#Position) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position.is = is;\n})(Position || (Position = {}));\n/**\n * The Range namespace provides helper functions to work with\n * [Range](#Range) literals.\n */\nexport var Range;\n(function (Range) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n }\n else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n }\n else {\n throw new Error(\"Range#create called with invalid arguments[\" + one + \", \" + two + \", \" + three + \", \" + four + \"]\");\n }\n }\n Range.create = create;\n /**\n * Checks whether the given literal conforms to the [Range](#Range) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range.is = is;\n})(Range || (Range = {}));\n/**\n * The Location namespace provides helper functions to work with\n * [Location](#Location) literals.\n */\nexport var Location;\n(function (Location) {\n /**\n * Creates a Location literal.\n * @param uri The location's uri.\n * @param range The location's range.\n */\n function create(uri, range) {\n return { uri: uri, range: range };\n }\n Location.create = create;\n /**\n * Checks whether the given literal conforms to the [Location](#Location) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location.is = is;\n})(Location || (Location = {}));\n/**\n * The LocationLink namespace provides helper functions to work with\n * [LocationLink](#LocationLink) literals.\n */\nexport var LocationLink;\n(function (LocationLink) {\n /**\n * Creates a LocationLink literal.\n * @param targetUri The definition's uri.\n * @param targetRange The full range of the definition.\n * @param targetSelectionRange The span of the symbol definition at the target.\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\n */\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\n }\n LocationLink.create = create;\n /**\n * Checks whether the given literal conforms to the [LocationLink](#LocationLink) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\n && (Range.is(candidate.targetSelectionRange) || Is.undefined(candidate.targetSelectionRange))\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink.is = is;\n})(LocationLink || (LocationLink = {}));\n/**\n * The Color namespace provides helper functions to work with\n * [Color](#Color) literals.\n */\nexport var Color;\n(function (Color) {\n /**\n * Creates a new Color literal.\n */\n function create(red, green, blue, alpha) {\n return {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n }\n Color.create = create;\n /**\n * Checks whether the given literal conforms to the [Color](#Color) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.numberRange(candidate.red, 0, 1)\n && Is.numberRange(candidate.green, 0, 1)\n && Is.numberRange(candidate.blue, 0, 1)\n && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color.is = is;\n})(Color || (Color = {}));\n/**\n * The ColorInformation namespace provides helper functions to work with\n * [ColorInformation](#ColorInformation) literals.\n */\nexport var ColorInformation;\n(function (ColorInformation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(range, color) {\n return {\n range: range,\n color: color,\n };\n }\n ColorInformation.create = create;\n /**\n * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\n */\n function is(value) {\n var candidate = value;\n return Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation.is = is;\n})(ColorInformation || (ColorInformation = {}));\n/**\n * The Color namespace provides helper functions to work with\n * [ColorPresentation](#ColorPresentation) literals.\n */\nexport var ColorPresentation;\n(function (ColorPresentation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(label, textEdit, additionalTextEdits) {\n return {\n label: label,\n textEdit: textEdit,\n additionalTextEdits: additionalTextEdits,\n };\n }\n ColorPresentation.create = create;\n /**\n * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.string(candidate.label)\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation.is = is;\n})(ColorPresentation || (ColorPresentation = {}));\n/**\n * Enum of known range kinds\n */\nexport var FoldingRangeKind;\n(function (FoldingRangeKind) {\n /**\n * Folding range for a comment\n */\n FoldingRangeKind[\"Comment\"] = \"comment\";\n /**\n * Folding range for a imports or includes\n */\n FoldingRangeKind[\"Imports\"] = \"imports\";\n /**\n * Folding range for a region (e.g. `#region`)\n */\n FoldingRangeKind[\"Region\"] = \"region\";\n})(FoldingRangeKind || (FoldingRangeKind = {}));\n/**\n * The folding range namespace provides helper functions to work with\n * [FoldingRange](#FoldingRange) literals.\n */\nexport var FoldingRange;\n(function (FoldingRange) {\n /**\n * Creates a new FoldingRange literal.\n */\n function create(startLine, endLine, startCharacter, endCharacter, kind) {\n var result = {\n startLine: startLine,\n endLine: endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n return result;\n }\n FoldingRange.create = create;\n /**\n * Checks whether the given literal conforms to the [FoldingRange](#FoldingRange) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange.is = is;\n})(FoldingRange || (FoldingRange = {}));\n/**\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\n * [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) literals.\n */\nexport var DiagnosticRelatedInformation;\n(function (DiagnosticRelatedInformation) {\n /**\n * Creates a new DiagnosticRelatedInformation literal.\n */\n function create(location, message) {\n return {\n location: location,\n message: message\n };\n }\n DiagnosticRelatedInformation.create = create;\n /**\n * Checks whether the given literal conforms to the [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation.is = is;\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\n/**\n * The diagnostic's severity.\n */\nexport var DiagnosticSeverity;\n(function (DiagnosticSeverity) {\n /**\n * Reports an error.\n */\n DiagnosticSeverity.Error = 1;\n /**\n * Reports a warning.\n */\n DiagnosticSeverity.Warning = 2;\n /**\n * Reports an information.\n */\n DiagnosticSeverity.Information = 3;\n /**\n * Reports a hint.\n */\n DiagnosticSeverity.Hint = 4;\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\n/**\n * The diagnostic tags.\n *\n * @since 3.15.0\n */\nexport var DiagnosticTag;\n(function (DiagnosticTag) {\n /**\n * Unused or unnecessary code.\n *\n * Clients are allowed to render diagnostics with this tag faded out instead of having\n * an error squiggle.\n */\n DiagnosticTag.Unnecessary = 1;\n /**\n * Deprecated or obsolete code.\n *\n * Clients are allowed to rendered diagnostics with this tag strike through.\n */\n DiagnosticTag.Deprecated = 2;\n})(DiagnosticTag || (DiagnosticTag = {}));\n/**\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\n *\n * @since 3.16.0\n */\nexport var CodeDescription;\n(function (CodeDescription) {\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Is.string(candidate.href);\n }\n CodeDescription.is = is;\n})(CodeDescription || (CodeDescription = {}));\n/**\n * The Diagnostic namespace provides helper functions to work with\n * [Diagnostic](#Diagnostic) literals.\n */\nexport var Diagnostic;\n(function (Diagnostic) {\n /**\n * Creates a new Diagnostic literal.\n */\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range: range, message: message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic.create = create;\n /**\n * Checks whether the given literal conforms to the [Diagnostic](#Diagnostic) interface.\n */\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate)\n && Range.is(candidate.range)\n && Is.string(candidate.message)\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic.is = is;\n})(Diagnostic || (Diagnostic = {}));\n/**\n * The Command namespace provides helper functions to work with\n * [Command](#Command) literals.\n */\nexport var Command;\n(function (Command) {\n /**\n * Creates a new Command literal.\n */\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title: title, command: command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command.create = create;\n /**\n * Checks whether the given literal conforms to the [Command](#Command) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command.is = is;\n})(Command || (Command = {}));\n/**\n * The TextEdit namespace provides helper function to create replace,\n * insert and delete edits more easily.\n */\nexport var TextEdit;\n(function (TextEdit) {\n /**\n * Creates a replace text edit.\n * @param range The range of text to be replaced.\n * @param newText The new text.\n */\n function replace(range, newText) {\n return { range: range, newText: newText };\n }\n TextEdit.replace = replace;\n /**\n * Creates a insert text edit.\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n */\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText: newText };\n }\n TextEdit.insert = insert;\n /**\n * Creates a delete text edit.\n * @param range The range of text to be deleted.\n */\n function del(range) {\n return { range: range, newText: '' };\n }\n TextEdit.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && Is.string(candidate.newText)\n && Range.is(candidate.range);\n }\n TextEdit.is = is;\n})(TextEdit || (TextEdit = {}));\nexport var ChangeAnnotation;\n(function (ChangeAnnotation) {\n function create(label, needsConfirmation, description) {\n var result = { label: label };\n if (needsConfirmation !== undefined) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== undefined) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && Is.objectLiteral(candidate) && Is.string(candidate.label) &&\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n ChangeAnnotation.is = is;\n})(ChangeAnnotation || (ChangeAnnotation = {}));\nexport var ChangeAnnotationIdentifier;\n(function (ChangeAnnotationIdentifier) {\n function is(value) {\n var candidate = value;\n return typeof candidate === 'string';\n }\n ChangeAnnotationIdentifier.is = is;\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\nexport var AnnotatedTextEdit;\n(function (AnnotatedTextEdit) {\n /**\n * Creates an annotated replace text edit.\n *\n * @param range The range of text to be replaced.\n * @param newText The new text.\n * @param annotation The annotation.\n */\n function replace(range, newText, annotation) {\n return { range: range, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.replace = replace;\n /**\n * Creates an annotated insert text edit.\n *\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n * @param annotation The annotation.\n */\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.insert = insert;\n /**\n * Creates an annotated delete text edit.\n *\n * @param range The range of text to be deleted.\n * @param annotation The annotation.\n */\n function del(range, annotation) {\n return { range: range, newText: '', annotationId: annotation };\n }\n AnnotatedTextEdit.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit.is = is;\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\n/**\n * The TextDocumentEdit namespace provides helper function to create\n * an edit that manipulates a text document.\n */\nexport var TextDocumentEdit;\n(function (TextDocumentEdit) {\n /**\n * Creates a new `TextDocumentEdit`\n */\n function create(textDocument, edits) {\n return { textDocument: textDocument, edits: edits };\n }\n TextDocumentEdit.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate)\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\n && Array.isArray(candidate.edits);\n }\n TextDocumentEdit.is = is;\n})(TextDocumentEdit || (TextDocumentEdit = {}));\nexport var CreateFile;\n(function (CreateFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'create',\n uri: uri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile.is = is;\n})(CreateFile || (CreateFile = {}));\nexport var RenameFile;\n(function (RenameFile) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: 'rename',\n oldUri: oldUri,\n newUri: newUri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile.is = is;\n})(RenameFile || (RenameFile = {}));\nexport var DeleteFile;\n(function (DeleteFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'delete',\n uri: uri\n };\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile.is = is;\n})(DeleteFile || (DeleteFile = {}));\nexport var WorkspaceEdit;\n(function (WorkspaceEdit) {\n function is(value) {\n var candidate = value;\n return candidate &&\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\n (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n }\n else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit.is = is;\n})(WorkspaceEdit || (WorkspaceEdit = {}));\nvar TextEditChangeImpl = /** @class */ (function () {\n function TextEditChangeImpl(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl.prototype.insert = function (position, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.insert(position, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.replace = function (range, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.replace(range, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.delete = function (range, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.del(range);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.add = function (edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl.prototype.all = function () {\n return this.edits;\n };\n TextEditChangeImpl.prototype.clear = function () {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) {\n if (value === undefined) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl;\n}());\n/**\n * A helper class\n */\nvar ChangeAnnotations = /** @class */ (function () {\n function ChangeAnnotations(annotations) {\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations.prototype.all = function () {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations.prototype, \"size\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n }\n else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== undefined) {\n throw new Error(\"Id \" + id + \" is already in use.\");\n }\n if (annotation === undefined) {\n throw new Error(\"No annotation provided for id \" + id);\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations.prototype.nextId = function () {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations;\n}());\n/**\n * A workspace change helps constructing changes to a workspace.\n */\nvar WorkspaceChange = /** @class */ (function () {\n function WorkspaceChange(workspaceEdit) {\n var _this = this;\n this._textEditChanges = Object.create(null);\n if (workspaceEdit !== undefined) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function (change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n }\n else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function (key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n }\n else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange.prototype, \"edit\", {\n /**\n * Returns the underlying [WorkspaceEdit](#WorkspaceEdit) literal\n * use to be returned from a workspace edit operation like rename.\n */\n get: function () {\n this.initDocumentChanges();\n if (this._changeAnnotations !== undefined) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = undefined;\n }\n else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange.prototype.getTextEditChange = function (key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument: textDocument,\n edits: edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n }\n else {\n this.initChanges();\n if (this._workspaceEdit.changes === undefined) {\n throw new Error('Workspace edit is not configured for normal text edit changes.');\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange.prototype.initDocumentChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange.prototype.initChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._workspaceEdit.changes = Object.create(null);\n }\n };\n WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = CreateFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = RenameFile.create(oldUri, newUri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = DeleteFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n return WorkspaceChange;\n}());\nexport { WorkspaceChange };\n/**\n * The TextDocumentIdentifier namespace provides helper functions to work with\n * [TextDocumentIdentifier](#TextDocumentIdentifier) literals.\n */\nexport var TextDocumentIdentifier;\n(function (TextDocumentIdentifier) {\n /**\n * Creates a new TextDocumentIdentifier literal.\n * @param uri The document's uri.\n */\n function create(uri) {\n return { uri: uri };\n }\n TextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the [TextDocumentIdentifier](#TextDocumentIdentifier) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier.is = is;\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\n/**\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\n * [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) literals.\n */\nexport var VersionedTextDocumentIdentifier;\n(function (VersionedTextDocumentIdentifier) {\n /**\n * Creates a new VersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param uri The document's text.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n VersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier.is = is;\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\n/**\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\n * [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) literals.\n */\nexport var OptionalVersionedTextDocumentIdentifier;\n(function (OptionalVersionedTextDocumentIdentifier) {\n /**\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param uri The document's text.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n OptionalVersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier.is = is;\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\n/**\n * The TextDocumentItem namespace provides helper functions to work with\n * [TextDocumentItem](#TextDocumentItem) literals.\n */\nexport var TextDocumentItem;\n(function (TextDocumentItem) {\n /**\n * Creates a new TextDocumentItem literal.\n * @param uri The document's uri.\n * @param languageId The document's language identifier.\n * @param version The document's version number.\n * @param text The document's text.\n */\n function create(uri, languageId, version, text) {\n return { uri: uri, languageId: languageId, version: version, text: text };\n }\n TextDocumentItem.create = create;\n /**\n * Checks whether the given literal conforms to the [TextDocumentItem](#TextDocumentItem) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem.is = is;\n})(TextDocumentItem || (TextDocumentItem = {}));\n/**\n * Describes the content type that a client supports in various\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\n *\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\n * are reserved for internal usage.\n */\nexport var MarkupKind;\n(function (MarkupKind) {\n /**\n * Plain text is supported as a content format\n */\n MarkupKind.PlainText = 'plaintext';\n /**\n * Markdown is supported as a content format\n */\n MarkupKind.Markdown = 'markdown';\n})(MarkupKind || (MarkupKind = {}));\n(function (MarkupKind) {\n /**\n * Checks whether the given value is a value of the [MarkupKind](#MarkupKind) type.\n */\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\n }\n MarkupKind.is = is;\n})(MarkupKind || (MarkupKind = {}));\nexport var MarkupContent;\n(function (MarkupContent) {\n /**\n * Checks whether the given value conforms to the [MarkupContent](#MarkupContent) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent.is = is;\n})(MarkupContent || (MarkupContent = {}));\n/**\n * The kind of a completion entry.\n */\nexport var CompletionItemKind;\n(function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n})(CompletionItemKind || (CompletionItemKind = {}));\n/**\n * Defines whether the insert text in a completion item should be interpreted as\n * plain text or a snippet.\n */\nexport var InsertTextFormat;\n(function (InsertTextFormat) {\n /**\n * The primary text to be inserted is treated as a plain string.\n */\n InsertTextFormat.PlainText = 1;\n /**\n * The primary text to be inserted is treated as a snippet.\n *\n * A snippet can define tab stops and placeholders with `$1`, `$2`\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\n * the end of the snippet. Placeholders with equal identifiers are linked,\n * that is typing in one will update others too.\n *\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\n */\n InsertTextFormat.Snippet = 2;\n})(InsertTextFormat || (InsertTextFormat = {}));\n/**\n * Completion item tags are extra annotations that tweak the rendering of a completion\n * item.\n *\n * @since 3.15.0\n */\nexport var CompletionItemTag;\n(function (CompletionItemTag) {\n /**\n * Render a completion as obsolete, usually using a strike-out.\n */\n CompletionItemTag.Deprecated = 1;\n})(CompletionItemTag || (CompletionItemTag = {}));\n/**\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\n *\n * @since 3.16.0\n */\nexport var InsertReplaceEdit;\n(function (InsertReplaceEdit) {\n /**\n * Creates a new insert / replace edit\n */\n function create(newText, insert, replace) {\n return { newText: newText, insert: insert, replace: replace };\n }\n InsertReplaceEdit.create = create;\n /**\n * Checks whether the given literal conforms to the [InsertReplaceEdit](#InsertReplaceEdit) interface.\n */\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit.is = is;\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\n/**\n * How whitespace and indentation is handled during completion\n * item insertion.\n *\n * @since 3.16.0\n */\nexport var InsertTextMode;\n(function (InsertTextMode) {\n /**\n * The insertion or replace strings is taken as it is. If the\n * value is multi line the lines below the cursor will be\n * inserted using the indentation defined in the string value.\n * The client will not apply any kind of adjustments to the\n * string.\n */\n InsertTextMode.asIs = 1;\n /**\n * The editor adjusts leading whitespace of new lines so that\n * they match the indentation up to the cursor of the line for\n * which the item is accepted.\n *\n * Consider a line like this: <2tabs><3tabs>foo. Accepting a\n * multi line completion item is indented using 2 tabs and all\n * following lines inserted will be indented using 2 tabs as well.\n */\n InsertTextMode.adjustIndentation = 2;\n})(InsertTextMode || (InsertTextMode = {}));\n/**\n * The CompletionItem namespace provides functions to deal with\n * completion items.\n */\nexport var CompletionItem;\n(function (CompletionItem) {\n /**\n * Create a completion item and seed it with a label.\n * @param label The completion item's label\n */\n function create(label) {\n return { label: label };\n }\n CompletionItem.create = create;\n})(CompletionItem || (CompletionItem = {}));\n/**\n * The CompletionList namespace provides functions to deal with\n * completion lists.\n */\nexport var CompletionList;\n(function (CompletionList) {\n /**\n * Creates a new completion list.\n *\n * @param items The completion items.\n * @param isIncomplete The list is not complete.\n */\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList.create = create;\n})(CompletionList || (CompletionList = {}));\nexport var MarkedString;\n(function (MarkedString) {\n /**\n * Creates a marked string from plain text.\n *\n * @param plainText The plain text.\n */\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n }\n MarkedString.fromPlainText = fromPlainText;\n /**\n * Checks whether the given value conforms to the [MarkedString](#MarkedString) type.\n */\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\n }\n MarkedString.is = is;\n})(MarkedString || (MarkedString = {}));\nexport var Hover;\n(function (Hover) {\n /**\n * Checks whether the given value conforms to the [Hover](#Hover) interface.\n */\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\n MarkedString.is(candidate.contents) ||\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\n }\n Hover.is = is;\n})(Hover || (Hover = {}));\n/**\n * The ParameterInformation namespace provides helper functions to work with\n * [ParameterInformation](#ParameterInformation) literals.\n */\nexport var ParameterInformation;\n(function (ParameterInformation) {\n /**\n * Creates a new parameter information literal.\n *\n * @param label A label string.\n * @param documentation A doc string.\n */\n function create(label, documentation) {\n return documentation ? { label: label, documentation: documentation } : { label: label };\n }\n ParameterInformation.create = create;\n})(ParameterInformation || (ParameterInformation = {}));\n/**\n * The SignatureInformation namespace provides helper functions to work with\n * [SignatureInformation](#SignatureInformation) literals.\n */\nexport var SignatureInformation;\n(function (SignatureInformation) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label: label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n }\n else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation.create = create;\n})(SignatureInformation || (SignatureInformation = {}));\n/**\n * A document highlight kind.\n */\nexport var DocumentHighlightKind;\n(function (DocumentHighlightKind) {\n /**\n * A textual occurrence.\n */\n DocumentHighlightKind.Text = 1;\n /**\n * Read-access of a symbol, like reading a variable.\n */\n DocumentHighlightKind.Read = 2;\n /**\n * Write-access of a symbol, like writing to a variable.\n */\n DocumentHighlightKind.Write = 3;\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\n/**\n * DocumentHighlight namespace to provide helper functions to work with\n * [DocumentHighlight](#DocumentHighlight) literals.\n */\nexport var DocumentHighlight;\n(function (DocumentHighlight) {\n /**\n * Create a DocumentHighlight object.\n * @param range The range the highlight applies to.\n */\n function create(range, kind) {\n var result = { range: range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight.create = create;\n})(DocumentHighlight || (DocumentHighlight = {}));\n/**\n * A symbol kind.\n */\nexport var SymbolKind;\n(function (SymbolKind) {\n SymbolKind.File = 1;\n SymbolKind.Module = 2;\n SymbolKind.Namespace = 3;\n SymbolKind.Package = 4;\n SymbolKind.Class = 5;\n SymbolKind.Method = 6;\n SymbolKind.Property = 7;\n SymbolKind.Field = 8;\n SymbolKind.Constructor = 9;\n SymbolKind.Enum = 10;\n SymbolKind.Interface = 11;\n SymbolKind.Function = 12;\n SymbolKind.Variable = 13;\n SymbolKind.Constant = 14;\n SymbolKind.String = 15;\n SymbolKind.Number = 16;\n SymbolKind.Boolean = 17;\n SymbolKind.Array = 18;\n SymbolKind.Object = 19;\n SymbolKind.Key = 20;\n SymbolKind.Null = 21;\n SymbolKind.EnumMember = 22;\n SymbolKind.Struct = 23;\n SymbolKind.Event = 24;\n SymbolKind.Operator = 25;\n SymbolKind.TypeParameter = 26;\n})(SymbolKind || (SymbolKind = {}));\n/**\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\n * @since 3.16\n */\nexport var SymbolTag;\n(function (SymbolTag) {\n /**\n * Render a symbol as obsolete, usually using a strike-out.\n */\n SymbolTag.Deprecated = 1;\n})(SymbolTag || (SymbolTag = {}));\nexport var SymbolInformation;\n(function (SymbolInformation) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the location of the symbol.\n * @param uri The resource of the location of symbol, defaults to the current document.\n * @param containerName The name of the symbol containing the symbol.\n */\n function create(name, kind, range, uri, containerName) {\n var result = {\n name: name,\n kind: kind,\n location: { uri: uri, range: range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation.create = create;\n})(SymbolInformation || (SymbolInformation = {}));\nexport var DocumentSymbol;\n(function (DocumentSymbol) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param detail The detail of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the symbol.\n * @param selectionRange The selectionRange of the symbol.\n * @param children Children of the symbol.\n */\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name: name,\n detail: detail,\n kind: kind,\n range: range,\n selectionRange: selectionRange\n };\n if (children !== undefined) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol.create = create;\n /**\n * Checks whether the given literal conforms to the [DocumentSymbol](#DocumentSymbol) interface.\n */\n function is(value) {\n var candidate = value;\n return candidate &&\n Is.string(candidate.name) && Is.number(candidate.kind) &&\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\n (candidate.tags === undefined || Array.isArray(candidate.tags));\n }\n DocumentSymbol.is = is;\n})(DocumentSymbol || (DocumentSymbol = {}));\n/**\n * A set of predefined code action kinds\n */\nexport var CodeActionKind;\n(function (CodeActionKind) {\n /**\n * Empty kind.\n */\n CodeActionKind.Empty = '';\n /**\n * Base kind for quickfix actions: 'quickfix'\n */\n CodeActionKind.QuickFix = 'quickfix';\n /**\n * Base kind for refactoring actions: 'refactor'\n */\n CodeActionKind.Refactor = 'refactor';\n /**\n * Base kind for refactoring extraction actions: 'refactor.extract'\n *\n * Example extract actions:\n *\n * - Extract method\n * - Extract function\n * - Extract variable\n * - Extract interface from class\n * - ...\n */\n CodeActionKind.RefactorExtract = 'refactor.extract';\n /**\n * Base kind for refactoring inline actions: 'refactor.inline'\n *\n * Example inline actions:\n *\n * - Inline function\n * - Inline variable\n * - Inline constant\n * - ...\n */\n CodeActionKind.RefactorInline = 'refactor.inline';\n /**\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\n *\n * Example rewrite actions:\n *\n * - Convert JavaScript function to class\n * - Add or remove parameter\n * - Encapsulate field\n * - Make method static\n * - Move method to base class\n * - ...\n */\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\n /**\n * Base kind for source actions: `source`\n *\n * Source code actions apply to the entire file.\n */\n CodeActionKind.Source = 'source';\n /**\n * Base kind for an organize imports source action: `source.organizeImports`\n */\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\n /**\n * Base kind for auto-fix source actions: `source.fixAll`.\n *\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\n *\n * @since 3.15.0\n */\n CodeActionKind.SourceFixAll = 'source.fixAll';\n})(CodeActionKind || (CodeActionKind = {}));\n/**\n * The CodeActionContext namespace provides helper functions to work with\n * [CodeActionContext](#CodeActionContext) literals.\n */\nexport var CodeActionContext;\n(function (CodeActionContext) {\n /**\n * Creates a new CodeActionContext literal.\n */\n function create(diagnostics, only) {\n var result = { diagnostics: diagnostics };\n if (only !== undefined && only !== null) {\n result.only = only;\n }\n return result;\n }\n CodeActionContext.create = create;\n /**\n * Checks whether the given literal conforms to the [CodeActionContext](#CodeActionContext) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string));\n }\n CodeActionContext.is = is;\n})(CodeActionContext || (CodeActionContext = {}));\nexport var CodeAction;\n(function (CodeAction) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title: title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === 'string') {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n }\n else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n }\n else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) &&\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\n (candidate.edit !== undefined || candidate.command !== undefined) &&\n (candidate.command === undefined || Command.is(candidate.command)) &&\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction.is = is;\n})(CodeAction || (CodeAction = {}));\n/**\n * The CodeLens namespace provides helper functions to work with\n * [CodeLens](#CodeLens) literals.\n */\nexport var CodeLens;\n(function (CodeLens) {\n /**\n * Creates a new CodeLens literal.\n */\n function create(range, data) {\n var result = { range: range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens.create = create;\n /**\n * Checks whether the given literal conforms to the [CodeLens](#CodeLens) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens.is = is;\n})(CodeLens || (CodeLens = {}));\n/**\n * The FormattingOptions namespace provides helper functions to work with\n * [FormattingOptions](#FormattingOptions) literals.\n */\nexport var FormattingOptions;\n(function (FormattingOptions) {\n /**\n * Creates a new FormattingOptions literal.\n */\n function create(tabSize, insertSpaces) {\n return { tabSize: tabSize, insertSpaces: insertSpaces };\n }\n FormattingOptions.create = create;\n /**\n * Checks whether the given literal conforms to the [FormattingOptions](#FormattingOptions) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions.is = is;\n})(FormattingOptions || (FormattingOptions = {}));\n/**\n * The DocumentLink namespace provides helper functions to work with\n * [DocumentLink](#DocumentLink) literals.\n */\nexport var DocumentLink;\n(function (DocumentLink) {\n /**\n * Creates a new DocumentLink literal.\n */\n function create(range, target, data) {\n return { range: range, target: target, data: data };\n }\n DocumentLink.create = create;\n /**\n * Checks whether the given literal conforms to the [DocumentLink](#DocumentLink) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink.is = is;\n})(DocumentLink || (DocumentLink = {}));\n/**\n * The SelectionRange namespace provides helper function to work with\n * SelectionRange literals.\n */\nexport var SelectionRange;\n(function (SelectionRange) {\n /**\n * Creates a new SelectionRange\n * @param range the range.\n * @param parent an optional parent.\n */\n function create(range, parent) {\n return { range: range, parent: parent };\n }\n SelectionRange.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\n }\n SelectionRange.is = is;\n})(SelectionRange || (SelectionRange = {}));\nexport var EOL = ['\\n', '\\r\\n', '\\r'];\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new ITextDocument literal from the given uri and content.\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Checks whether the given literal conforms to the [ITextDocument](#ITextDocument) interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function (a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n var p = (data.length / 2) | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n})(TextDocument || (TextDocument = {}));\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nvar FullTextDocument = /** @class */ (function () {\n function FullTextDocument(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\n get: function () {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\n get: function () {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\n get: function () {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.prototype.getText = function (range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument.prototype.update = function (event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = undefined;\n };\n FullTextDocument.prototype.getLineOffsets = function () {\n if (this._lineOffsets === undefined) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = (ch === '\\r' || ch === '\\n');\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument.prototype.positionAt = function (offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument.prototype.offsetAt = function (position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\n get: function () {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument;\n}());\nvar Is;\n(function (Is) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== 'undefined';\n }\n Is.defined = defined;\n function undefined(value) {\n return typeof value === 'undefined';\n }\n Is.undefined = undefined;\n function boolean(value) {\n return value === true || value === false;\n }\n Is.boolean = boolean;\n function string(value) {\n return toString.call(value) === '[object String]';\n }\n Is.string = string;\n function number(value) {\n return toString.call(value) === '[object Number]';\n }\n Is.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\n }\n Is.numberRange = numberRange;\n function integer(value) {\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\n }\n Is.integer = integer;\n function uinteger(value) {\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\n }\n Is.uinteger = uinteger;\n function func(value) {\n return toString.call(value) === '[object Function]';\n }\n Is.func = func;\n function objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n }\n Is.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is.typedArray = typedArray;\n})(Is || (Is = {}));\n","import { isCompositeType } from 'graphql';\nimport { SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from 'graphql/type/introspection';\nexport function getDefinitionState(tokenState) {\n let definitionState;\n forEachState(tokenState, (state) => {\n switch (state.kind) {\n case 'Query':\n case 'ShortQuery':\n case 'Mutation':\n case 'Subscription':\n case 'FragmentDefinition':\n definitionState = state;\n break;\n }\n });\n return definitionState;\n}\nexport function getFieldDef(schema, type, fieldName) {\n if (fieldName === SchemaMetaFieldDef.name && schema.getQueryType() === type) {\n return SchemaMetaFieldDef;\n }\n if (fieldName === TypeMetaFieldDef.name && schema.getQueryType() === type) {\n return TypeMetaFieldDef;\n }\n if (fieldName === TypeNameMetaFieldDef.name && isCompositeType(type)) {\n return TypeNameMetaFieldDef;\n }\n if ('getFields' in type) {\n return type.getFields()[fieldName];\n }\n return null;\n}\nexport function forEachState(stack, fn) {\n const reverseStateStack = [];\n let state = stack;\n while (state && state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\nexport function objectValues(object) {\n const keys = Object.keys(object);\n const len = keys.length;\n const values = new Array(len);\n for (let i = 0; i < len; ++i) {\n values[i] = object[keys[i]];\n }\n return values;\n}\nexport function hintList(token, list) {\n return filterAndSortList(list, normalizeText(token.string));\n}\nfunction filterAndSortList(list, text) {\n if (!text) {\n return filterNonEmpty(list, entry => !entry.isDeprecated);\n }\n const byProximity = list.map(entry => ({\n proximity: getProximity(normalizeText(entry.label), text),\n entry,\n }));\n return filterNonEmpty(filterNonEmpty(byProximity, pair => pair.proximity <= 2), pair => !pair.entry.isDeprecated)\n .sort((a, b) => (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\n a.proximity - b.proximity ||\n a.entry.label.length - b.entry.label.length)\n .map(pair => pair.entry);\n}\nfunction filterNonEmpty(array, predicate) {\n const filtered = array.filter(predicate);\n return filtered.length === 0 ? array : filtered;\n}\nfunction normalizeText(text) {\n return text.toLowerCase().replace(/\\W/g, '');\n}\nfunction getProximity(suggestion, text) {\n let proximity = lexicalDistance(text, suggestion);\n if (suggestion.length > text.length) {\n proximity -= suggestion.length - text.length - 1;\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\n }\n return proximity;\n}\nfunction lexicalDistance(a, b) {\n let i;\n let j;\n const d = [];\n const aLength = a.length;\n const bLength = b.length;\n for (i = 0; i <= aLength; i++) {\n d[i] = [i];\n }\n for (j = 1; j <= bLength; j++) {\n d[0][j] = j;\n }\n for (i = 1; i <= aLength; i++) {\n for (j = 1; j <= bLength; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\n }\n }\n }\n return d[aLength][bLength];\n}\n//# sourceMappingURL=autocompleteUtils.js.map","import { CompletionItemKind } from 'vscode-languageserver-types';\nimport { isInterfaceType, GraphQLInterfaceType, GraphQLObjectType, } from 'graphql';\nimport { GraphQLBoolean, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, assertAbstractType, doTypesOverlap, getNamedType, getNullableType, isAbstractType, isCompositeType, isInputType, visit, parse, } from 'graphql';\nimport { CharacterStream, onlineParser, RuleKinds, } from 'graphql-language-service-parser';\nimport { forEachState, getDefinitionState, getFieldDef, hintList, objectValues, } from './autocompleteUtils';\nconst collectFragmentDefs = (op) => {\n const externalFragments = [];\n if (op) {\n visit(parse(op, {\n experimentalFragmentVariables: true,\n }), {\n FragmentDefinition(def) {\n externalFragments.push(def);\n },\n });\n }\n return externalFragments;\n};\nexport function getAutocompleteSuggestions(schema, queryText, cursor, contextToken, fragmentDefs) {\n var _a;\n const token = contextToken || getTokenAtPosition(queryText, cursor);\n const state = token.state.kind === 'Invalid' ? token.state.prevState : token.state;\n if (!state) {\n return [];\n }\n const kind = state.kind;\n const step = state.step;\n const typeInfo = getTypeInfo(schema, token.state);\n if (kind === RuleKinds.DOCUMENT) {\n return hintList(token, [\n { label: 'query', kind: CompletionItemKind.Function },\n { label: 'mutation', kind: CompletionItemKind.Function },\n { label: 'subscription', kind: CompletionItemKind.Function },\n { label: 'fragment', kind: CompletionItemKind.Function },\n { label: '{', kind: CompletionItemKind.Constructor },\n ]);\n }\n if (kind === RuleKinds.IMPLEMENTS ||\n (kind === RuleKinds.NAMED_TYPE &&\n ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === RuleKinds.IMPLEMENTS)) {\n return getSuggestionsForImplements(token, state, schema, queryText, typeInfo);\n }\n if (kind === RuleKinds.SELECTION_SET ||\n kind === RuleKinds.FIELD ||\n kind === RuleKinds.ALIASED_FIELD) {\n return getSuggestionsForFieldNames(token, typeInfo, schema);\n }\n if (kind === RuleKinds.ARGUMENTS ||\n (kind === RuleKinds.ARGUMENT && step === 0)) {\n const argDefs = typeInfo.argDefs;\n if (argDefs) {\n return hintList(token, argDefs.map(argDef => {\n var _a;\n return ({\n label: argDef.name,\n detail: String(argDef.type),\n documentation: (_a = argDef.description) !== null && _a !== void 0 ? _a : undefined,\n kind: CompletionItemKind.Variable,\n type: argDef.type,\n });\n }));\n }\n }\n if (kind === RuleKinds.OBJECT_VALUE ||\n (kind === RuleKinds.OBJECT_FIELD && step === 0)) {\n if (typeInfo.objectFieldDefs) {\n const objectFields = objectValues(typeInfo.objectFieldDefs);\n const completionKind = kind === RuleKinds.OBJECT_VALUE\n ? CompletionItemKind.Value\n : CompletionItemKind.Field;\n return hintList(token, objectFields.map(field => {\n var _a;\n return ({\n label: field.name,\n detail: String(field.type),\n documentation: (_a = field.description) !== null && _a !== void 0 ? _a : undefined,\n kind: completionKind,\n type: field.type,\n });\n }));\n }\n }\n if (kind === RuleKinds.ENUM_VALUE ||\n (kind === RuleKinds.LIST_VALUE && step === 1) ||\n (kind === RuleKinds.OBJECT_FIELD && step === 2) ||\n (kind === RuleKinds.ARGUMENT && step === 2)) {\n return getSuggestionsForInputValues(token, typeInfo, queryText, schema);\n }\n if (kind === RuleKinds.VARIABLE && step === 1) {\n const namedInputType = getNamedType(typeInfo.inputType);\n const variableDefinitions = getVariableCompletions(queryText, schema);\n return hintList(token, variableDefinitions.filter(v => v.detail === (namedInputType === null || namedInputType === void 0 ? void 0 : namedInputType.name)));\n }\n if ((kind === RuleKinds.TYPE_CONDITION && step === 1) ||\n (kind === RuleKinds.NAMED_TYPE &&\n state.prevState != null &&\n state.prevState.kind === RuleKinds.TYPE_CONDITION)) {\n return getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, kind);\n }\n if (kind === RuleKinds.FRAGMENT_SPREAD && step === 1) {\n return getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, Array.isArray(fragmentDefs)\n ? fragmentDefs\n : collectFragmentDefs(fragmentDefs));\n }\n if ((kind === RuleKinds.VARIABLE_DEFINITION && step === 2) ||\n (kind === RuleKinds.LIST_TYPE && step === 1) ||\n (kind === RuleKinds.NAMED_TYPE &&\n state.prevState &&\n (state.prevState.kind === RuleKinds.VARIABLE_DEFINITION ||\n state.prevState.kind === RuleKinds.LIST_TYPE ||\n state.prevState.kind === RuleKinds.NON_NULL_TYPE))) {\n return getSuggestionsForVariableDefinition(token, schema, kind);\n }\n if (kind === RuleKinds.DIRECTIVE) {\n return getSuggestionsForDirective(token, state, schema, kind);\n }\n return [];\n}\nfunction getSuggestionsForFieldNames(token, typeInfo, schema) {\n if (typeInfo.parentType) {\n const parentType = typeInfo.parentType;\n let fields = [];\n if ('getFields' in parentType) {\n fields = objectValues(parentType.getFields());\n }\n if (isCompositeType(parentType)) {\n fields.push(TypeNameMetaFieldDef);\n }\n if (parentType === schema.getQueryType()) {\n fields.push(SchemaMetaFieldDef, TypeMetaFieldDef);\n }\n return hintList(token, fields.map((field, index) => {\n var _a;\n return ({\n sortText: String(index) + field.name,\n label: field.name,\n detail: String(field.type),\n documentation: (_a = field.description) !== null && _a !== void 0 ? _a : undefined,\n deprecated: field.isDeprecated,\n isDeprecated: field.isDeprecated,\n deprecationReason: field.deprecationReason,\n kind: CompletionItemKind.Field,\n type: field.type,\n });\n }));\n }\n return [];\n}\nfunction getSuggestionsForInputValues(token, typeInfo, queryText, schema) {\n const namedInputType = getNamedType(typeInfo.inputType);\n const queryVariables = getVariableCompletions(queryText, schema, true).filter(v => v.detail === namedInputType.name);\n if (namedInputType instanceof GraphQLEnumType) {\n const values = namedInputType.getValues();\n return hintList(token, values\n .map((value) => {\n var _a;\n return ({\n label: value.name,\n detail: String(namedInputType),\n documentation: (_a = value.description) !== null && _a !== void 0 ? _a : undefined,\n deprecated: value.isDeprecated,\n isDeprecated: value.isDeprecated,\n deprecationReason: value.deprecationReason,\n kind: CompletionItemKind.EnumMember,\n type: namedInputType,\n });\n })\n .concat(queryVariables));\n }\n else if (namedInputType === GraphQLBoolean) {\n return hintList(token, queryVariables.concat([\n {\n label: 'true',\n detail: String(GraphQLBoolean),\n documentation: 'Not false.',\n kind: CompletionItemKind.Variable,\n type: GraphQLBoolean,\n },\n {\n label: 'false',\n detail: String(GraphQLBoolean),\n documentation: 'Not true.',\n kind: CompletionItemKind.Variable,\n type: GraphQLBoolean,\n },\n ]));\n }\n return queryVariables;\n}\nfunction getSuggestionsForImplements(token, tokenState, schema, documentText, typeInfo) {\n if (tokenState.needsSeperator) {\n return [];\n }\n const typeMap = schema.getTypeMap();\n const schemaInterfaces = objectValues(typeMap).filter(isInterfaceType);\n const schemaInterfaceNames = schemaInterfaces.map(({ name }) => name);\n const inlineInterfaces = new Set();\n runOnlineParser(documentText, (_, state) => {\n var _a, _b, _c, _d, _e;\n if (state.name) {\n if (state.kind === RuleKinds.INTERFACE_DEF &&\n !schemaInterfaceNames.includes(state.name)) {\n inlineInterfaces.add(state.name);\n }\n if (state.kind === RuleKinds.NAMED_TYPE &&\n ((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === RuleKinds.IMPLEMENTS) {\n if (typeInfo.interfaceDef) {\n const existingType = (_b = typeInfo.interfaceDef) === null || _b === void 0 ? void 0 : _b.getInterfaces().find(({ name }) => name === state.name);\n if (existingType) {\n return;\n }\n const type = schema.getType(state.name);\n const interfaceConfig = (_c = typeInfo.interfaceDef) === null || _c === void 0 ? void 0 : _c.toConfig();\n typeInfo.interfaceDef = new GraphQLInterfaceType(Object.assign(Object.assign({}, interfaceConfig), { interfaces: [\n ...interfaceConfig.interfaces,\n type ||\n new GraphQLInterfaceType({ name: state.name, fields: {} }),\n ] }));\n }\n else if (typeInfo.objectTypeDef) {\n const existingType = (_d = typeInfo.objectTypeDef) === null || _d === void 0 ? void 0 : _d.getInterfaces().find(({ name }) => name === state.name);\n if (existingType) {\n return;\n }\n const type = schema.getType(state.name);\n const objectTypeConfig = (_e = typeInfo.objectTypeDef) === null || _e === void 0 ? void 0 : _e.toConfig();\n typeInfo.objectTypeDef = new GraphQLObjectType(Object.assign(Object.assign({}, objectTypeConfig), { interfaces: [\n ...objectTypeConfig.interfaces,\n type ||\n new GraphQLInterfaceType({ name: state.name, fields: {} }),\n ] }));\n }\n }\n }\n });\n const currentTypeToExtend = typeInfo.interfaceDef || typeInfo.objectTypeDef;\n const siblingInterfaces = (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.getInterfaces()) || [];\n const siblingInterfaceNames = siblingInterfaces.map(({ name }) => name);\n const possibleInterfaces = schemaInterfaces\n .concat([...inlineInterfaces].map(name => ({ name })))\n .filter(({ name }) => name !== (currentTypeToExtend === null || currentTypeToExtend === void 0 ? void 0 : currentTypeToExtend.name) &&\n !siblingInterfaceNames.includes(name));\n return hintList(token, possibleInterfaces.map(type => {\n const result = {\n label: type.name,\n kind: CompletionItemKind.Interface,\n type,\n };\n if (type === null || type === void 0 ? void 0 : type.description) {\n result.documentation = type.description;\n }\n return result;\n }));\n}\nfunction getSuggestionsForFragmentTypeConditions(token, typeInfo, schema, _kind) {\n let possibleTypes;\n if (typeInfo.parentType) {\n if (isAbstractType(typeInfo.parentType)) {\n const abstractType = assertAbstractType(typeInfo.parentType);\n const possibleObjTypes = schema.getPossibleTypes(abstractType);\n const possibleIfaceMap = Object.create(null);\n possibleObjTypes.forEach(type => {\n type.getInterfaces().forEach(iface => {\n possibleIfaceMap[iface.name] = iface;\n });\n });\n possibleTypes = possibleObjTypes.concat(objectValues(possibleIfaceMap));\n }\n else {\n possibleTypes = [typeInfo.parentType];\n }\n }\n else {\n const typeMap = schema.getTypeMap();\n possibleTypes = objectValues(typeMap).filter(isCompositeType);\n }\n return hintList(token, possibleTypes.map(type => {\n const namedType = getNamedType(type);\n return {\n label: String(type),\n documentation: (namedType && namedType.description) || '',\n kind: CompletionItemKind.Field,\n };\n }));\n}\nfunction getSuggestionsForFragmentSpread(token, typeInfo, schema, queryText, fragmentDefs) {\n if (!queryText) {\n return [];\n }\n const typeMap = schema.getTypeMap();\n const defState = getDefinitionState(token.state);\n const fragments = getFragmentDefinitions(queryText);\n if (fragmentDefs && fragmentDefs.length > 0) {\n fragments.push(...fragmentDefs);\n }\n const relevantFrags = fragments.filter(frag => typeMap[frag.typeCondition.name.value] &&\n !(defState &&\n defState.kind === RuleKinds.FRAGMENT_DEFINITION &&\n defState.name === frag.name.value) &&\n isCompositeType(typeInfo.parentType) &&\n isCompositeType(typeMap[frag.typeCondition.name.value]) &&\n doTypesOverlap(schema, typeInfo.parentType, typeMap[frag.typeCondition.name.value]));\n return hintList(token, relevantFrags.map(frag => ({\n label: frag.name.value,\n detail: String(typeMap[frag.typeCondition.name.value]),\n documentation: `fragment ${frag.name.value} on ${frag.typeCondition.name.value}`,\n kind: CompletionItemKind.Field,\n type: typeMap[frag.typeCondition.name.value],\n })));\n}\nconst getParentDefinition = (state, kind) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (((_a = state.prevState) === null || _a === void 0 ? void 0 : _a.kind) === kind) {\n return state.prevState;\n }\n if (((_c = (_b = state.prevState) === null || _b === void 0 ? void 0 : _b.prevState) === null || _c === void 0 ? void 0 : _c.kind) === kind) {\n return state.prevState.prevState;\n }\n if (((_f = (_e = (_d = state.prevState) === null || _d === void 0 ? void 0 : _d.prevState) === null || _e === void 0 ? void 0 : _e.prevState) === null || _f === void 0 ? void 0 : _f.kind) === kind) {\n return state.prevState.prevState.prevState;\n }\n if (((_k = (_j = (_h = (_g = state.prevState) === null || _g === void 0 ? void 0 : _g.prevState) === null || _h === void 0 ? void 0 : _h.prevState) === null || _j === void 0 ? void 0 : _j.prevState) === null || _k === void 0 ? void 0 : _k.kind) === kind) {\n return state.prevState.prevState.prevState.prevState;\n }\n};\nexport function getVariableCompletions(queryText, schema, forcePrefix = false) {\n let variableName;\n let variableType;\n const definitions = Object.create({});\n runOnlineParser(queryText, (_, state) => {\n if (state.kind === RuleKinds.VARIABLE && state.name) {\n variableName = state.name;\n }\n if (state.kind === RuleKinds.NAMED_TYPE && variableName) {\n const parentDefinition = getParentDefinition(state, RuleKinds.TYPE);\n if (parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type) {\n variableType = schema.getType(parentDefinition === null || parentDefinition === void 0 ? void 0 : parentDefinition.type);\n }\n }\n if (variableName && variableType) {\n if (!definitions[variableName]) {\n definitions[variableName] = {\n detail: variableType.toString(),\n label: `$${variableName}`,\n type: variableType,\n kind: CompletionItemKind.Variable,\n };\n if (forcePrefix) {\n definitions[variableName].insertText = `$${variableName}`;\n }\n variableName = null;\n variableType = null;\n }\n }\n });\n return objectValues(definitions);\n}\nexport function getFragmentDefinitions(queryText) {\n const fragmentDefs = [];\n runOnlineParser(queryText, (_, state) => {\n if (state.kind === RuleKinds.FRAGMENT_DEFINITION &&\n state.name &&\n state.type) {\n fragmentDefs.push({\n kind: RuleKinds.FRAGMENT_DEFINITION,\n name: {\n kind: 'Name',\n value: state.name,\n },\n selectionSet: {\n kind: RuleKinds.SELECTION_SET,\n selections: [],\n },\n typeCondition: {\n kind: RuleKinds.NAMED_TYPE,\n name: {\n kind: 'Name',\n value: state.type,\n },\n },\n });\n }\n });\n return fragmentDefs;\n}\nfunction getSuggestionsForVariableDefinition(token, schema, _kind) {\n const inputTypeMap = schema.getTypeMap();\n const inputTypes = objectValues(inputTypeMap).filter(isInputType);\n return hintList(token, inputTypes.map((type) => ({\n label: type.name,\n documentation: type.description,\n kind: CompletionItemKind.Variable,\n })));\n}\nfunction getSuggestionsForDirective(token, state, schema, _kind) {\n if (state.prevState && state.prevState.kind) {\n const directives = schema\n .getDirectives()\n .filter(directive => canUseDirective(state.prevState, directive));\n return hintList(token, directives.map(directive => ({\n label: directive.name,\n documentation: directive.description || '',\n kind: CompletionItemKind.Function,\n })));\n }\n return [];\n}\nexport function getTokenAtPosition(queryText, cursor) {\n let styleAtCursor = null;\n let stateAtCursor = null;\n let stringAtCursor = null;\n const token = runOnlineParser(queryText, (stream, state, style, index) => {\n if (index === cursor.line) {\n if (stream.getCurrentPosition() >= cursor.character) {\n styleAtCursor = style;\n stateAtCursor = Object.assign({}, state);\n stringAtCursor = stream.current();\n return 'BREAK';\n }\n }\n });\n return {\n start: token.start,\n end: token.end,\n string: stringAtCursor || token.string,\n state: stateAtCursor || token.state,\n style: styleAtCursor || token.style,\n };\n}\nexport function runOnlineParser(queryText, callback) {\n const lines = queryText.split('\\n');\n const parser = onlineParser();\n let state = parser.startState();\n let style = '';\n let stream = new CharacterStream('');\n for (let i = 0; i < lines.length; i++) {\n stream = new CharacterStream(lines[i]);\n while (!stream.eol()) {\n style = parser.token(stream, state);\n const code = callback(stream, state, style, i);\n if (code === 'BREAK') {\n break;\n }\n }\n callback(stream, state, style, i);\n if (!state.kind) {\n state = parser.startState();\n }\n }\n return {\n start: stream.getStartOfToken(),\n end: stream.getCurrentPosition(),\n string: stream.current(),\n state,\n style,\n };\n}\nexport function canUseDirective(state, directive) {\n if (!state || !state.kind) {\n return false;\n }\n const kind = state.kind;\n const locations = directive.locations;\n switch (kind) {\n case RuleKinds.QUERY:\n return locations.indexOf('QUERY') !== -1;\n case RuleKinds.MUTATION:\n return locations.indexOf('MUTATION') !== -1;\n case RuleKinds.SUBSCRIPTION:\n return locations.indexOf('SUBSCRIPTION') !== -1;\n case RuleKinds.FIELD:\n case RuleKinds.ALIASED_FIELD:\n return locations.indexOf('FIELD') !== -1;\n case RuleKinds.FRAGMENT_DEFINITION:\n return locations.indexOf('FRAGMENT_DEFINITION') !== -1;\n case RuleKinds.FRAGMENT_SPREAD:\n return locations.indexOf('FRAGMENT_SPREAD') !== -1;\n case RuleKinds.INLINE_FRAGMENT:\n return locations.indexOf('INLINE_FRAGMENT') !== -1;\n case RuleKinds.SCHEMA_DEF:\n return locations.indexOf('SCHEMA') !== -1;\n case RuleKinds.SCALAR_DEF:\n return locations.indexOf('SCALAR') !== -1;\n case RuleKinds.OBJECT_TYPE_DEF:\n return locations.indexOf('OBJECT') !== -1;\n case RuleKinds.FIELD_DEF:\n return locations.indexOf('FIELD_DEFINITION') !== -1;\n case RuleKinds.INTERFACE_DEF:\n return locations.indexOf('INTERFACE') !== -1;\n case RuleKinds.UNION_DEF:\n return locations.indexOf('UNION') !== -1;\n case RuleKinds.ENUM_DEF:\n return locations.indexOf('ENUM') !== -1;\n case RuleKinds.ENUM_VALUE:\n return locations.indexOf('ENUM_VALUE') !== -1;\n case RuleKinds.INPUT_DEF:\n return locations.indexOf('INPUT_OBJECT') !== -1;\n case RuleKinds.INPUT_VALUE_DEF:\n const prevStateKind = state.prevState && state.prevState.kind;\n switch (prevStateKind) {\n case RuleKinds.ARGUMENTS_DEF:\n return locations.indexOf('ARGUMENT_DEFINITION') !== -1;\n case RuleKinds.INPUT_DEF:\n return locations.indexOf('INPUT_FIELD_DEFINITION') !== -1;\n }\n }\n return false;\n}\nexport function getTypeInfo(schema, tokenState) {\n let argDef;\n let argDefs;\n let directiveDef;\n let enumValue;\n let fieldDef;\n let inputType;\n let objectTypeDef;\n let objectFieldDefs;\n let parentType;\n let type;\n let interfaceDef;\n forEachState(tokenState, state => {\n switch (state.kind) {\n case RuleKinds.QUERY:\n case 'ShortQuery':\n type = schema.getQueryType();\n break;\n case RuleKinds.MUTATION:\n type = schema.getMutationType();\n break;\n case RuleKinds.SUBSCRIPTION:\n type = schema.getSubscriptionType();\n break;\n case RuleKinds.INLINE_FRAGMENT:\n case RuleKinds.FRAGMENT_DEFINITION:\n if (state.type) {\n type = schema.getType(state.type);\n }\n break;\n case RuleKinds.FIELD:\n case RuleKinds.ALIASED_FIELD: {\n if (!type || !state.name) {\n fieldDef = null;\n }\n else {\n fieldDef = parentType\n ? getFieldDef(schema, parentType, state.name)\n : null;\n type = fieldDef ? fieldDef.type : null;\n }\n break;\n }\n case RuleKinds.SELECTION_SET:\n parentType = getNamedType(type);\n break;\n case RuleKinds.DIRECTIVE:\n directiveDef = state.name ? schema.getDirective(state.name) : null;\n break;\n case RuleKinds.INTERFACE_DEF:\n if (state.name) {\n objectTypeDef = null;\n interfaceDef = new GraphQLInterfaceType({\n name: state.name,\n interfaces: [],\n fields: {},\n });\n }\n break;\n case RuleKinds.OBJECT_TYPE_DEF:\n if (state.name) {\n interfaceDef = null;\n objectTypeDef = new GraphQLObjectType({\n name: state.name,\n interfaces: [],\n fields: {},\n });\n }\n break;\n case RuleKinds.ARGUMENTS: {\n if (!state.prevState) {\n argDefs = null;\n }\n else {\n switch (state.prevState.kind) {\n case RuleKinds.FIELD:\n argDefs = fieldDef && fieldDef.args;\n break;\n case RuleKinds.DIRECTIVE:\n argDefs = directiveDef && directiveDef.args;\n break;\n case RuleKinds.ALIASED_FIELD: {\n const name = state.prevState && state.prevState.name;\n if (!name) {\n argDefs = null;\n break;\n }\n const field = parentType\n ? getFieldDef(schema, parentType, name)\n : null;\n if (!field) {\n argDefs = null;\n break;\n }\n argDefs = field.args;\n break;\n }\n default:\n argDefs = null;\n break;\n }\n }\n break;\n }\n case RuleKinds.ARGUMENT:\n if (argDefs) {\n for (let i = 0; i < argDefs.length; i++) {\n if (argDefs[i].name === state.name) {\n argDef = argDefs[i];\n break;\n }\n }\n }\n inputType = argDef && argDef.type;\n break;\n case RuleKinds.ENUM_VALUE:\n const enumType = getNamedType(inputType);\n enumValue =\n enumType instanceof GraphQLEnumType\n ? find(enumType.getValues(), (val) => val.value === state.name)\n : null;\n break;\n case RuleKinds.LIST_VALUE:\n const nullableType = getNullableType(inputType);\n inputType =\n nullableType instanceof GraphQLList ? nullableType.ofType : null;\n break;\n case RuleKinds.OBJECT_VALUE:\n const objectType = getNamedType(inputType);\n objectFieldDefs =\n objectType instanceof GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n break;\n case RuleKinds.OBJECT_FIELD:\n const objectField = state.name && objectFieldDefs ? objectFieldDefs[state.name] : null;\n inputType = objectField && objectField.type;\n break;\n case RuleKinds.NAMED_TYPE:\n if (state.name) {\n type = schema.getType(state.name);\n }\n break;\n }\n });\n return {\n argDef,\n argDefs,\n directiveDef,\n enumValue,\n fieldDef,\n inputType,\n objectFieldDefs,\n parentType,\n type,\n interfaceDef,\n objectTypeDef,\n };\n}\nfunction find(array, predicate) {\n for (let i = 0; i < array.length; i++) {\n if (predicate(array[i])) {\n return array[i];\n }\n }\n return null;\n}\n//# sourceMappingURL=getAutocompleteSuggestions.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { locToRange, offsetToPosition, } from 'graphql-language-service-utils';\nexport const LANGUAGE = 'GraphQL';\nfunction assert(value, message) {\n if (!value) {\n throw new Error(message);\n }\n}\nfunction getRange(text, node) {\n const location = node.loc;\n assert(location, 'Expected ASTNode to have a location.');\n return locToRange(text, location);\n}\nfunction getPosition(text, node) {\n const location = node.loc;\n assert(location, 'Expected ASTNode to have a location.');\n return offsetToPosition(text, location.start);\n}\nexport function getDefinitionQueryResultForNamedType(text, node, dependencies) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = node.name.value;\n const defNodes = dependencies.filter(({ definition }) => definition.name && definition.name.value === name);\n if (defNodes.length === 0) {\n throw Error(`Definition not found for GraphQL type ${name}`);\n }\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForNodeDefinition(filePath || '', content, definition));\n return {\n definitions,\n queryRange: definitions.map(_ => getRange(text, node)),\n };\n });\n}\nexport function getDefinitionQueryResultForFragmentSpread(text, fragment, dependencies) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = fragment.name.value;\n const defNodes = dependencies.filter(({ definition }) => definition.name.value === name);\n if (defNodes.length === 0) {\n throw Error(`Definition not found for GraphQL fragment ${name}`);\n }\n const definitions = defNodes.map(({ filePath, content, definition }) => getDefinitionForFragmentDefinition(filePath || '', content, definition));\n return {\n definitions,\n queryRange: definitions.map(_ => getRange(text, fragment)),\n };\n });\n}\nexport function getDefinitionQueryResultForDefinitionNode(path, text, definition) {\n return {\n definitions: [getDefinitionForFragmentDefinition(path, text, definition)],\n queryRange: definition.name ? [getRange(text, definition.name)] : [],\n };\n}\nfunction getDefinitionForFragmentDefinition(path, text, definition) {\n const name = definition.name;\n if (!name) {\n throw Error('Expected ASTNode to have a Name.');\n }\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: LANGUAGE,\n projectRoot: path,\n };\n}\nfunction getDefinitionForNodeDefinition(path, text, definition) {\n const name = definition.name;\n assert(name, 'Expected ASTNode to have a Name.');\n return {\n path,\n position: getPosition(text, definition),\n range: getRange(text, definition),\n name: name.value || '',\n language: LANGUAGE,\n projectRoot: path,\n };\n}\n//# sourceMappingURL=getDefinition.js.map","import { print, } from 'graphql';\nimport { findDeprecatedUsages, parse } from 'graphql';\nimport { CharacterStream, onlineParser } from 'graphql-language-service-parser';\nimport { Range, validateWithCustomRules, Position, } from 'graphql-language-service-utils';\nexport const SEVERITY = {\n Error: 'Error',\n Warning: 'Warning',\n Information: 'Information',\n Hint: 'Hint',\n};\nexport const DIAGNOSTIC_SEVERITY = {\n [SEVERITY.Error]: 1,\n [SEVERITY.Warning]: 2,\n [SEVERITY.Information]: 3,\n [SEVERITY.Hint]: 4,\n};\nconst invariant = (condition, message) => {\n if (!condition) {\n throw new Error(message);\n }\n};\nexport function getDiagnostics(query, schema = null, customRules, isRelayCompatMode, externalFragments) {\n let ast = null;\n if (externalFragments) {\n if (typeof externalFragments === 'string') {\n query += '\\n\\n' + externalFragments;\n }\n else {\n query +=\n '\\n\\n' +\n externalFragments.reduce((agg, node) => {\n agg += print(node) + '\\n\\n';\n return agg;\n }, '');\n }\n }\n try {\n ast = parse(query);\n }\n catch (error) {\n const range = getRange(error.locations[0], query);\n return [\n {\n severity: DIAGNOSTIC_SEVERITY.Error,\n message: error.message,\n source: 'GraphQL: Syntax',\n range,\n },\n ];\n }\n return validateQuery(ast, schema, customRules, isRelayCompatMode);\n}\nexport function validateQuery(ast, schema = null, customRules, isRelayCompatMode) {\n if (!schema) {\n return [];\n }\n const validationErrorAnnotations = mapCat(validateWithCustomRules(schema, ast, customRules, isRelayCompatMode), error => annotations(error, DIAGNOSTIC_SEVERITY.Error, 'Validation'));\n const deprecationWarningAnnotations = mapCat(findDeprecatedUsages(schema, ast), error => annotations(error, DIAGNOSTIC_SEVERITY.Warning, 'Deprecation'));\n return validationErrorAnnotations.concat(deprecationWarningAnnotations);\n}\nfunction mapCat(array, mapper) {\n return Array.prototype.concat.apply([], array.map(mapper));\n}\nfunction annotations(error, severity, type) {\n if (!error.nodes) {\n return [];\n }\n const highlightedNodes = [];\n error.nodes.forEach(node => {\n const highlightNode = node.kind !== 'Variable' && 'name' in node && node.name !== undefined\n ? node.name\n : 'variable' in node && node.variable !== undefined\n ? node.variable\n : node;\n if (highlightNode) {\n invariant(error.locations, 'GraphQL validation error requires locations.');\n const loc = error.locations[0];\n const highlightLoc = getLocation(highlightNode);\n const end = loc.column + (highlightLoc.end - highlightLoc.start);\n highlightedNodes.push({\n source: `GraphQL: ${type}`,\n message: error.message,\n severity,\n range: new Range(new Position(loc.line - 1, loc.column - 1), new Position(loc.line - 1, end)),\n });\n }\n });\n return highlightedNodes;\n}\nexport function getRange(location, queryText) {\n const parser = onlineParser();\n const state = parser.startState();\n const lines = queryText.split('\\n');\n invariant(lines.length >= location.line, 'Query text must have more lines than where the error happened');\n let stream = null;\n for (let i = 0; i < location.line; i++) {\n stream = new CharacterStream(lines[i]);\n while (!stream.eol()) {\n const style = parser.token(stream, state);\n if (style === 'invalidchar') {\n break;\n }\n }\n }\n invariant(stream, 'Expected Parser stream to be available.');\n const line = location.line - 1;\n const start = stream.getStartOfToken();\n const end = stream.getCurrentPosition();\n return new Range(new Position(line, start), new Position(line, end));\n}\nfunction getLocation(node) {\n const typeCastedNode = node;\n const location = typeCastedNode.loc;\n invariant(location, 'Expected ASTNode to have a location.');\n return location;\n}\n//# sourceMappingURL=getDiagnostics.js.map","import { Kind, parse, visit, } from 'graphql';\nimport { offsetToPosition } from 'graphql-language-service-utils';\nconst { INLINE_FRAGMENT } = Kind;\nconst OUTLINEABLE_KINDS = {\n Field: true,\n OperationDefinition: true,\n Document: true,\n SelectionSet: true,\n Name: true,\n FragmentDefinition: true,\n FragmentSpread: true,\n InlineFragment: true,\n ObjectTypeDefinition: true,\n InputObjectTypeDefinition: true,\n InterfaceTypeDefinition: true,\n EnumTypeDefinition: true,\n EnumValueDefinition: true,\n InputValueDefinition: true,\n FieldDefinition: true,\n};\nexport function getOutline(documentText) {\n let ast;\n try {\n ast = parse(documentText);\n }\n catch (error) {\n return null;\n }\n const visitorFns = outlineTreeConverter(documentText);\n const outlineTrees = visit(ast, {\n leave(node) {\n if (visitorFns !== undefined && node.kind in visitorFns) {\n return visitorFns[node.kind](node);\n }\n return null;\n },\n });\n return { outlineTrees };\n}\nfunction outlineTreeConverter(docText) {\n const meta = (node) => {\n return {\n representativeName: node.name,\n startPosition: offsetToPosition(docText, node.loc.start),\n endPosition: offsetToPosition(docText, node.loc.end),\n kind: node.kind,\n children: node.selectionSet || node.fields || node.values || node.arguments || [],\n };\n };\n return {\n Field: (node) => {\n const tokenizedText = node.alias\n ? [buildToken('plain', node.alias), buildToken('plain', ': ')]\n : [];\n tokenizedText.push(buildToken('plain', node.name));\n return Object.assign({ tokenizedText }, meta(node));\n },\n OperationDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', node.operation),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n Document: (node) => node.definitions,\n SelectionSet: (node) => concatMap(node.selections, (child) => {\n return child.kind === INLINE_FRAGMENT ? child.selectionSet : child;\n }),\n Name: (node) => node.value,\n FragmentDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'fragment'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InterfaceTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'interface'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n EnumTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'enum'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n EnumValueDefinition: (node) => (Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node))),\n ObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'type'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InputObjectTypeDefinition: (node) => (Object.assign({ tokenizedText: [\n buildToken('keyword', 'input'),\n buildToken('whitespace', ' '),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n FragmentSpread: (node) => (Object.assign({ tokenizedText: [\n buildToken('plain', '...'),\n buildToken('class-name', node.name),\n ] }, meta(node))),\n InputValueDefinition: (node) => {\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\n },\n FieldDefinition: (node) => {\n return Object.assign({ tokenizedText: [buildToken('plain', node.name)] }, meta(node));\n },\n InlineFragment: (node) => node.selectionSet,\n };\n}\nfunction buildToken(kind, value) {\n return { kind, value };\n}\nfunction concatMap(arr, fn) {\n const res = [];\n for (let i = 0; i < arr.length; i++) {\n const x = fn(arr[i], i);\n if (Array.isArray(x)) {\n res.push(...x);\n }\n else {\n res.push(x);\n }\n }\n return res;\n}\n//# sourceMappingURL=getOutline.js.map","import { GraphQLNonNull, GraphQLList, } from 'graphql';\nimport { getTokenAtPosition, getTypeInfo } from './getAutocompleteSuggestions';\nexport function getHoverInformation(schema, queryText, cursor, contextToken) {\n const token = contextToken || getTokenAtPosition(queryText, cursor);\n if (!schema || !token || !token.state) {\n return '';\n }\n const state = token.state;\n const kind = state.kind;\n const step = state.step;\n const typeInfo = getTypeInfo(schema, token.state);\n const options = { schema };\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\n const into = [];\n renderField(into, typeInfo, options);\n renderDescription(into, options, typeInfo.fieldDef);\n return into.join('').trim();\n }\n else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n const into = [];\n renderDirective(into, typeInfo, options);\n renderDescription(into, options, typeInfo.directiveDef);\n return into.join('').trim();\n }\n else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n const into = [];\n renderArg(into, typeInfo, options);\n renderDescription(into, options, typeInfo.argDef);\n return into.join('').trim();\n }\n else if (kind === 'EnumValue' &&\n typeInfo.enumValue &&\n 'description' in typeInfo.enumValue) {\n const into = [];\n renderEnumValue(into, typeInfo, options);\n renderDescription(into, options, typeInfo.enumValue);\n return into.join('').trim();\n }\n else if (kind === 'NamedType' &&\n typeInfo.type &&\n 'description' in typeInfo.type) {\n const into = [];\n renderType(into, typeInfo, options, typeInfo.type);\n renderDescription(into, options, typeInfo.type);\n return into.join('').trim();\n }\n return '';\n}\nfunction renderField(into, typeInfo, options) {\n renderQualifiedField(into, typeInfo, options);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.type);\n}\nfunction renderQualifiedField(into, typeInfo, options) {\n if (!typeInfo.fieldDef) {\n return;\n }\n const fieldName = typeInfo.fieldDef.name;\n if (fieldName.slice(0, 2) !== '__') {\n renderType(into, typeInfo, options, typeInfo.parentType);\n text(into, '.');\n }\n text(into, fieldName);\n}\nfunction renderDirective(into, typeInfo, _options) {\n if (!typeInfo.directiveDef) {\n return;\n }\n const name = '@' + typeInfo.directiveDef.name;\n text(into, name);\n}\nfunction renderArg(into, typeInfo, options) {\n if (typeInfo.directiveDef) {\n renderDirective(into, typeInfo, options);\n }\n else if (typeInfo.fieldDef) {\n renderQualifiedField(into, typeInfo, options);\n }\n if (!typeInfo.argDef) {\n return;\n }\n const name = typeInfo.argDef.name;\n text(into, '(');\n text(into, name);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);\n text(into, ')');\n}\nfunction renderTypeAnnotation(into, typeInfo, options, t) {\n text(into, ': ');\n renderType(into, typeInfo, options, t);\n}\nfunction renderEnumValue(into, typeInfo, options) {\n if (!typeInfo.enumValue) {\n return;\n }\n const name = typeInfo.enumValue.name;\n renderType(into, typeInfo, options, typeInfo.inputType);\n text(into, '.');\n text(into, name);\n}\nfunction renderType(into, typeInfo, options, t) {\n if (!t) {\n return;\n }\n if (t instanceof GraphQLNonNull) {\n renderType(into, typeInfo, options, t.ofType);\n text(into, '!');\n }\n else if (t instanceof GraphQLList) {\n text(into, '[');\n renderType(into, typeInfo, options, t.ofType);\n text(into, ']');\n }\n else {\n text(into, t.name);\n }\n}\nfunction renderDescription(into, options, def) {\n if (!def) {\n return;\n }\n const description = typeof def.description === 'string' ? def.description : null;\n if (description) {\n text(into, '\\n\\n');\n text(into, description);\n }\n renderDeprecation(into, options, def);\n}\nfunction renderDeprecation(into, _options, def) {\n if (!def) {\n return;\n }\n const reason = def.deprecationReason ? def.deprecationReason : null;\n if (!reason) {\n return;\n }\n text(into, '\\n\\n');\n text(into, 'Deprecated: ');\n text(into, reason);\n}\nfunction text(into, content) {\n into.push(content);\n}\n//# sourceMappingURL=getHoverInformation.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { SymbolKind, } from 'vscode-languageserver-types';\nimport { Kind, parse, print } from 'graphql';\nimport { getAutocompleteSuggestions } from './getAutocompleteSuggestions';\nimport { getHoverInformation } from './getHoverInformation';\nimport { validateQuery, getRange, DIAGNOSTIC_SEVERITY } from './getDiagnostics';\nimport { getDefinitionQueryResultForFragmentSpread, getDefinitionQueryResultForDefinitionNode, getDefinitionQueryResultForNamedType, } from './getDefinition';\nimport { getOutline } from './getOutline';\nimport { getASTNodeAtPosition } from 'graphql-language-service-utils';\nconst { FRAGMENT_DEFINITION, OBJECT_TYPE_DEFINITION, INTERFACE_TYPE_DEFINITION, ENUM_TYPE_DEFINITION, UNION_TYPE_DEFINITION, SCALAR_TYPE_DEFINITION, INPUT_OBJECT_TYPE_DEFINITION, SCALAR_TYPE_EXTENSION, OBJECT_TYPE_EXTENSION, INTERFACE_TYPE_EXTENSION, UNION_TYPE_EXTENSION, ENUM_TYPE_EXTENSION, INPUT_OBJECT_TYPE_EXTENSION, DIRECTIVE_DEFINITION, FRAGMENT_SPREAD, OPERATION_DEFINITION, NAMED_TYPE, } = Kind;\nconst KIND_TO_SYMBOL_KIND = {\n [Kind.FIELD]: SymbolKind.Field,\n [Kind.OPERATION_DEFINITION]: SymbolKind.Class,\n [Kind.FRAGMENT_DEFINITION]: SymbolKind.Class,\n [Kind.FRAGMENT_SPREAD]: SymbolKind.Struct,\n [Kind.OBJECT_TYPE_DEFINITION]: SymbolKind.Class,\n [Kind.ENUM_TYPE_DEFINITION]: SymbolKind.Enum,\n [Kind.ENUM_VALUE_DEFINITION]: SymbolKind.EnumMember,\n [Kind.INPUT_OBJECT_TYPE_DEFINITION]: SymbolKind.Class,\n [Kind.INPUT_VALUE_DEFINITION]: SymbolKind.Field,\n [Kind.FIELD_DEFINITION]: SymbolKind.Field,\n [Kind.INTERFACE_TYPE_DEFINITION]: SymbolKind.Interface,\n [Kind.DOCUMENT]: SymbolKind.File,\n FieldWithArguments: SymbolKind.Method,\n};\nfunction getKind(tree) {\n if (tree.kind === 'FieldDefinition' &&\n tree.children &&\n tree.children.length > 0) {\n return KIND_TO_SYMBOL_KIND.FieldWithArguments;\n }\n return KIND_TO_SYMBOL_KIND[tree.kind];\n}\nexport class GraphQLLanguageService {\n constructor(cache) {\n this._graphQLCache = cache;\n this._graphQLConfig = cache.getGraphQLConfig();\n }\n getConfigForURI(uri) {\n const config = this._graphQLCache.getProjectForFile(uri);\n if (config) {\n return config;\n }\n throw Error(`No config found for uri: ${uri}`);\n }\n getDiagnostics(query, uri, isRelayCompatMode) {\n return __awaiter(this, void 0, void 0, function* () {\n let queryHasExtensions = false;\n const projectConfig = this.getConfigForURI(uri);\n if (!projectConfig) {\n return [];\n }\n const { schema: schemaPath, name: projectName, extensions } = projectConfig;\n try {\n const queryAST = parse(query);\n if (!schemaPath || uri !== schemaPath) {\n queryHasExtensions = queryAST.definitions.some(definition => {\n switch (definition.kind) {\n case OBJECT_TYPE_DEFINITION:\n case INTERFACE_TYPE_DEFINITION:\n case ENUM_TYPE_DEFINITION:\n case UNION_TYPE_DEFINITION:\n case SCALAR_TYPE_DEFINITION:\n case INPUT_OBJECT_TYPE_DEFINITION:\n case SCALAR_TYPE_EXTENSION:\n case OBJECT_TYPE_EXTENSION:\n case INTERFACE_TYPE_EXTENSION:\n case UNION_TYPE_EXTENSION:\n case ENUM_TYPE_EXTENSION:\n case INPUT_OBJECT_TYPE_EXTENSION:\n case DIRECTIVE_DEFINITION:\n return true;\n }\n return false;\n });\n }\n }\n catch (error) {\n const range = getRange(error.locations[0], query);\n return [\n {\n severity: DIAGNOSTIC_SEVERITY.Error,\n message: error.message,\n source: 'GraphQL: Syntax',\n range,\n },\n ];\n }\n let source = query;\n const fragmentDefinitions = yield this._graphQLCache.getFragmentDefinitions(projectConfig);\n const fragmentDependencies = yield this._graphQLCache.getFragmentDependencies(query, fragmentDefinitions);\n const dependenciesSource = fragmentDependencies.reduce((prev, cur) => `${prev} ${print(cur.definition)}`, '');\n source = `${source} ${dependenciesSource}`;\n let validationAst = null;\n try {\n validationAst = parse(source);\n }\n catch (error) {\n return [];\n }\n let customRules = null;\n if ((extensions === null || extensions === void 0 ? void 0 : extensions.customValidationRules) &&\n typeof extensions.customValidationRules === 'function') {\n customRules = extensions.customValidationRules(this._graphQLConfig);\n }\n const schema = yield this._graphQLCache.getSchema(projectName, queryHasExtensions);\n if (!schema) {\n return [];\n }\n return validateQuery(validationAst, schema, customRules, isRelayCompatMode);\n });\n }\n getAutocompleteSuggestions(query, position, filePath) {\n return __awaiter(this, void 0, void 0, function* () {\n const projectConfig = this.getConfigForURI(filePath);\n const schema = yield this._graphQLCache.getSchema(projectConfig.name);\n const fragmentDefinitions = yield this._graphQLCache.getFragmentDefinitions(projectConfig);\n const fragmentInfo = Array.from(fragmentDefinitions).map(([, info]) => info.definition);\n if (schema) {\n return getAutocompleteSuggestions(schema, query, position, undefined, fragmentInfo);\n }\n return [];\n });\n }\n getHoverInformation(query, position, filePath) {\n return __awaiter(this, void 0, void 0, function* () {\n const projectConfig = this.getConfigForURI(filePath);\n const schema = yield this._graphQLCache.getSchema(projectConfig.name);\n if (schema) {\n return getHoverInformation(schema, query, position);\n }\n return '';\n });\n }\n getDefinition(query, position, filePath) {\n return __awaiter(this, void 0, void 0, function* () {\n const projectConfig = this.getConfigForURI(filePath);\n let ast;\n try {\n ast = parse(query);\n }\n catch (error) {\n return null;\n }\n const node = getASTNodeAtPosition(query, ast, position);\n if (node) {\n switch (node.kind) {\n case FRAGMENT_SPREAD:\n return this._getDefinitionForFragmentSpread(query, ast, node, filePath, projectConfig);\n case FRAGMENT_DEFINITION:\n case OPERATION_DEFINITION:\n return getDefinitionQueryResultForDefinitionNode(filePath, query, node);\n case NAMED_TYPE:\n return this._getDefinitionForNamedType(query, ast, node, filePath, projectConfig);\n }\n }\n return null;\n });\n }\n getDocumentSymbols(document, filePath) {\n return __awaiter(this, void 0, void 0, function* () {\n const outline = yield this.getOutline(document);\n if (!outline) {\n return [];\n }\n const output = [];\n const input = outline.outlineTrees.map((tree) => [null, tree]);\n while (input.length > 0) {\n const res = input.pop();\n if (!res) {\n return [];\n }\n const [parent, tree] = res;\n if (!tree) {\n return [];\n }\n output.push({\n name: tree.representativeName,\n kind: getKind(tree),\n location: {\n uri: filePath,\n range: {\n start: tree.startPosition,\n end: tree.endPosition,\n },\n },\n containerName: parent ? parent.representativeName : undefined,\n });\n input.push(...tree.children.map(child => [tree, child]));\n }\n return output;\n });\n }\n _getDefinitionForNamedType(query, ast, node, filePath, projectConfig) {\n return __awaiter(this, void 0, void 0, function* () {\n const objectTypeDefinitions = yield this._graphQLCache.getObjectTypeDefinitions(projectConfig);\n const dependencies = yield this._graphQLCache.getObjectTypeDependenciesForAST(ast, objectTypeDefinitions);\n const localObjectTypeDefinitions = ast.definitions.filter(definition => definition.kind === OBJECT_TYPE_DEFINITION ||\n definition.kind === INPUT_OBJECT_TYPE_DEFINITION ||\n definition.kind === ENUM_TYPE_DEFINITION ||\n definition.kind === SCALAR_TYPE_DEFINITION ||\n definition.kind === INTERFACE_TYPE_DEFINITION);\n const typeCastedDefs = localObjectTypeDefinitions;\n const localOperationDefinationInfos = typeCastedDefs.map((definition) => ({\n filePath,\n content: query,\n definition,\n }));\n const result = yield getDefinitionQueryResultForNamedType(query, node, dependencies.concat(localOperationDefinationInfos));\n return result;\n });\n }\n _getDefinitionForFragmentSpread(query, ast, node, filePath, projectConfig) {\n return __awaiter(this, void 0, void 0, function* () {\n const fragmentDefinitions = yield this._graphQLCache.getFragmentDefinitions(projectConfig);\n const dependencies = yield this._graphQLCache.getFragmentDependenciesForAST(ast, fragmentDefinitions);\n const localFragDefinitions = ast.definitions.filter(definition => definition.kind === FRAGMENT_DEFINITION);\n const typeCastedDefs = localFragDefinitions;\n const localFragInfos = typeCastedDefs.map((definition) => ({\n filePath,\n content: query,\n definition,\n }));\n const result = yield getDefinitionQueryResultForFragmentSpread(query, node, dependencies.concat(localFragInfos));\n return result;\n });\n }\n getOutline(documentText) {\n return __awaiter(this, void 0, void 0, function* () {\n return getOutline(documentText);\n });\n }\n}\n//# sourceMappingURL=GraphQLLanguageService.js.map","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { isExecutableDefinitionNode } from \"../../language/predicates.mjs\";\n\n/**\n * Executable definitions\n *\n * A GraphQL document is only valid for execution if all definitions are either\n * operation or fragment definitions.\n */\nexport function ExecutableDefinitionsRule(context) {\n return {\n Document: function Document(node) {\n for (var _i2 = 0, _node$definitions2 = node.definitions; _i2 < _node$definitions2.length; _i2++) {\n var definition = _node$definitions2[_i2];\n\n if (!isExecutableDefinitionNode(definition)) {\n var defName = definition.kind === Kind.SCHEMA_DEFINITION || definition.kind === Kind.SCHEMA_EXTENSION ? 'schema' : '\"' + definition.name.value + '\"';\n context.reportError(new GraphQLError(\"The \".concat(defName, \" definition is not executable.\"), definition));\n }\n }\n\n return false;\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique operation names\n *\n * A GraphQL document is only valid if all defined operations have unique names.\n */\nexport function UniqueOperationNamesRule(context) {\n var knownOperationNames = Object.create(null);\n return {\n OperationDefinition: function OperationDefinition(node) {\n var operationName = node.name;\n\n if (operationName) {\n if (knownOperationNames[operationName.value]) {\n context.reportError(new GraphQLError(\"There can be only one operation named \\\"\".concat(operationName.value, \"\\\".\"), [knownOperationNames[operationName.value], operationName]));\n } else {\n knownOperationNames[operationName.value] = operationName;\n }\n }\n\n return false;\n },\n FragmentDefinition: function FragmentDefinition() {\n return false;\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\n\n/**\n * Lone anonymous operation\n *\n * A GraphQL document is only valid if when it contains an anonymous operation\n * (the query short-hand) that it contains only that one operation definition.\n */\nexport function LoneAnonymousOperationRule(context) {\n var operationCount = 0;\n return {\n Document: function Document(node) {\n operationCount = node.definitions.filter(function (definition) {\n return definition.kind === Kind.OPERATION_DEFINITION;\n }).length;\n },\n OperationDefinition: function OperationDefinition(node) {\n if (!node.name && operationCount > 1) {\n context.reportError(new GraphQLError('This anonymous operation must be the only defined operation.', node));\n }\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Subscriptions must only include one field.\n *\n * A GraphQL subscription is valid only if it contains a single root field.\n */\nexport function SingleFieldSubscriptionsRule(context) {\n return {\n OperationDefinition: function OperationDefinition(node) {\n if (node.operation === 'subscription') {\n if (node.selectionSet.selections.length !== 1) {\n context.reportError(new GraphQLError(node.name ? \"Subscription \\\"\".concat(node.name.value, \"\\\" must select only one top level field.\") : 'Anonymous Subscription must select only one top level field.', node.selectionSet.selections.slice(1)));\n }\n }\n }\n };\n}\n","import inspect from \"../jsutils/inspect.mjs\";\nimport invariant from \"../jsutils/invariant.mjs\";\nimport keyValMap from \"../jsutils/keyValMap.mjs\";\nimport { Kind } from \"../language/kinds.mjs\";\n\n/**\n * Produces a JavaScript value given a GraphQL Value AST.\n *\n * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value\n * will reflect the provided GraphQL value AST.\n *\n * | GraphQL Value | JavaScript Value |\n * | -------------------- | ---------------- |\n * | Input Object | Object |\n * | List | Array |\n * | Boolean | Boolean |\n * | String / Enum | String |\n * | Int / Float | Number |\n * | Null | null |\n *\n */\nexport function valueFromASTUntyped(valueNode, variables) {\n switch (valueNode.kind) {\n case Kind.NULL:\n return null;\n\n case Kind.INT:\n return parseInt(valueNode.value, 10);\n\n case Kind.FLOAT:\n return parseFloat(valueNode.value);\n\n case Kind.STRING:\n case Kind.ENUM:\n case Kind.BOOLEAN:\n return valueNode.value;\n\n case Kind.LIST:\n return valueNode.values.map(function (node) {\n return valueFromASTUntyped(node, variables);\n });\n\n case Kind.OBJECT:\n return keyValMap(valueNode.fields, function (field) {\n return field.name.value;\n }, function (field) {\n return valueFromASTUntyped(field.value, variables);\n });\n\n case Kind.VARIABLE:\n return variables === null || variables === void 0 ? void 0 : variables[valueNode.name.value];\n } // istanbul ignore next (Not reachable. All possible value nodes have been considered)\n\n\n false || invariant(0, 'Unexpected value node: ' + inspect(valueNode));\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { print } from \"../../language/printer.mjs\";\nimport { isCompositeType } from \"../../type/definition.mjs\";\nimport { typeFromAST } from \"../../utilities/typeFromAST.mjs\";\n\n/**\n * Fragments on composite type\n *\n * Fragments use a type condition to determine if they apply, since fragments\n * can only be spread into a composite type (object, interface, or union), the\n * type condition must also be a composite type.\n */\nexport function FragmentsOnCompositeTypesRule(context) {\n return {\n InlineFragment: function InlineFragment(node) {\n var typeCondition = node.typeCondition;\n\n if (typeCondition) {\n var type = typeFromAST(context.getSchema(), typeCondition);\n\n if (type && !isCompositeType(type)) {\n var typeStr = print(typeCondition);\n context.reportError(new GraphQLError(\"Fragment cannot condition on non composite type \\\"\".concat(typeStr, \"\\\".\"), typeCondition));\n }\n }\n },\n FragmentDefinition: function FragmentDefinition(node) {\n var type = typeFromAST(context.getSchema(), node.typeCondition);\n\n if (type && !isCompositeType(type)) {\n var typeStr = print(node.typeCondition);\n context.reportError(new GraphQLError(\"Fragment \\\"\".concat(node.name.value, \"\\\" cannot condition on non composite type \\\"\").concat(typeStr, \"\\\".\"), node.typeCondition));\n }\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { print } from \"../../language/printer.mjs\";\nimport { isInputType } from \"../../type/definition.mjs\";\nimport { typeFromAST } from \"../../utilities/typeFromAST.mjs\";\n\n/**\n * Variables are input types\n *\n * A GraphQL operation is only valid if all the variables it defines are of\n * input types (scalar, enum, or input object).\n */\nexport function VariablesAreInputTypesRule(context) {\n return {\n VariableDefinition: function VariableDefinition(node) {\n var type = typeFromAST(context.getSchema(), node.type);\n\n if (type && !isInputType(type)) {\n var variableName = node.variable.name.value;\n var typeName = print(node.type);\n context.reportError(new GraphQLError(\"Variable \\\"$\".concat(variableName, \"\\\" cannot be non-input type \\\"\").concat(typeName, \"\\\".\"), node.type));\n }\n }\n };\n}\n","import inspect from \"../../jsutils/inspect.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { getNamedType, isLeafType } from \"../../type/definition.mjs\";\n\n/**\n * Scalar leafs\n *\n * A GraphQL document is valid only if all leaf fields (fields without\n * sub selections) are of scalar or enum types.\n */\nexport function ScalarLeafsRule(context) {\n return {\n Field: function Field(node) {\n var type = context.getType();\n var selectionSet = node.selectionSet;\n\n if (type) {\n if (isLeafType(getNamedType(type))) {\n if (selectionSet) {\n var fieldName = node.name.value;\n var typeStr = inspect(type);\n context.reportError(new GraphQLError(\"Field \\\"\".concat(fieldName, \"\\\" must not have a selection since type \\\"\").concat(typeStr, \"\\\" has no subfields.\"), selectionSet));\n }\n } else if (!selectionSet) {\n var _fieldName = node.name.value;\n\n var _typeStr = inspect(type);\n\n context.reportError(new GraphQLError(\"Field \\\"\".concat(_fieldName, \"\\\" of type \\\"\").concat(_typeStr, \"\\\" must have a selection of subfields. Did you mean \\\"\").concat(_fieldName, \" { ... }\\\"?\"), node));\n }\n }\n }\n };\n}\n","import arrayFrom from \"../../polyfills/arrayFrom.mjs\";\nimport didYouMean from \"../../jsutils/didYouMean.mjs\";\nimport suggestionList from \"../../jsutils/suggestionList.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { isObjectType, isInterfaceType, isAbstractType } from \"../../type/definition.mjs\";\n\n/**\n * Fields on correct type\n *\n * A GraphQL document is only valid if all fields selected are defined by the\n * parent type, or are an allowed meta field such as __typename.\n */\nexport function FieldsOnCorrectTypeRule(context) {\n return {\n Field: function Field(node) {\n var type = context.getParentType();\n\n if (type) {\n var fieldDef = context.getFieldDef();\n\n if (!fieldDef) {\n // This field doesn't exist, lets look for suggestions.\n var schema = context.getSchema();\n var fieldName = node.name.value; // First determine if there are any suggested types to condition on.\n\n var suggestion = didYouMean('to use an inline fragment on', getSuggestedTypeNames(schema, type, fieldName)); // If there are no suggested types, then perhaps this was a typo?\n\n if (suggestion === '') {\n suggestion = didYouMean(getSuggestedFieldNames(type, fieldName));\n } // Report an error, including helpful suggestions.\n\n\n context.reportError(new GraphQLError(\"Cannot query field \\\"\".concat(fieldName, \"\\\" on type \\\"\").concat(type.name, \"\\\".\") + suggestion, node));\n }\n }\n }\n };\n}\n/**\n * Go through all of the implementations of type, as well as the interfaces that\n * they implement. If any of those types include the provided field, suggest them,\n * sorted by how often the type is referenced.\n */\n\nfunction getSuggestedTypeNames(schema, type, fieldName) {\n if (!isAbstractType(type)) {\n // Must be an Object type, which does not have possible fields.\n return [];\n }\n\n var suggestedTypes = new Set();\n var usageCount = Object.create(null);\n\n for (var _i2 = 0, _schema$getPossibleTy2 = schema.getPossibleTypes(type); _i2 < _schema$getPossibleTy2.length; _i2++) {\n var possibleType = _schema$getPossibleTy2[_i2];\n\n if (!possibleType.getFields()[fieldName]) {\n continue;\n } // This object type defines this field.\n\n\n suggestedTypes.add(possibleType);\n usageCount[possibleType.name] = 1;\n\n for (var _i4 = 0, _possibleType$getInte2 = possibleType.getInterfaces(); _i4 < _possibleType$getInte2.length; _i4++) {\n var _usageCount$possibleI;\n\n var possibleInterface = _possibleType$getInte2[_i4];\n\n if (!possibleInterface.getFields()[fieldName]) {\n continue;\n } // This interface type defines this field.\n\n\n suggestedTypes.add(possibleInterface);\n usageCount[possibleInterface.name] = ((_usageCount$possibleI = usageCount[possibleInterface.name]) !== null && _usageCount$possibleI !== void 0 ? _usageCount$possibleI : 0) + 1;\n }\n }\n\n return arrayFrom(suggestedTypes).sort(function (typeA, typeB) {\n // Suggest both interface and object types based on how common they are.\n var usageCountDiff = usageCount[typeB.name] - usageCount[typeA.name];\n\n if (usageCountDiff !== 0) {\n return usageCountDiff;\n } // Suggest super types first followed by subtypes\n\n\n if (isInterfaceType(typeA) && schema.isSubType(typeA, typeB)) {\n return -1;\n }\n\n if (isInterfaceType(typeB) && schema.isSubType(typeB, typeA)) {\n return 1;\n }\n\n return typeA.name.localeCompare(typeB.name);\n }).map(function (x) {\n return x.name;\n });\n}\n/**\n * For the field name provided, determine if there are any similar field names\n * that may be the result of a typo.\n */\n\n\nfunction getSuggestedFieldNames(type, fieldName) {\n if (isObjectType(type) || isInterfaceType(type)) {\n var possibleFieldNames = Object.keys(type.getFields());\n return suggestionList(fieldName, possibleFieldNames);\n } // Otherwise, must be a Union type, which does not define fields.\n\n\n return [];\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique fragment names\n *\n * A GraphQL document is only valid if all defined fragments have unique names.\n */\nexport function UniqueFragmentNamesRule(context) {\n var knownFragmentNames = Object.create(null);\n return {\n OperationDefinition: function OperationDefinition() {\n return false;\n },\n FragmentDefinition: function FragmentDefinition(node) {\n var fragmentName = node.name.value;\n\n if (knownFragmentNames[fragmentName]) {\n context.reportError(new GraphQLError(\"There can be only one fragment named \\\"\".concat(fragmentName, \"\\\".\"), [knownFragmentNames[fragmentName], node.name]));\n } else {\n knownFragmentNames[fragmentName] = node.name;\n }\n\n return false;\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Known fragment names\n *\n * A GraphQL document is only valid if all `...Fragment` fragment spreads refer\n * to fragments defined in the same document.\n */\nexport function KnownFragmentNamesRule(context) {\n return {\n FragmentSpread: function FragmentSpread(node) {\n var fragmentName = node.name.value;\n var fragment = context.getFragment(fragmentName);\n\n if (!fragment) {\n context.reportError(new GraphQLError(\"Unknown fragment \\\"\".concat(fragmentName, \"\\\".\"), node.name));\n }\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * No unused fragments\n *\n * A GraphQL document is only valid if all fragment definitions are spread\n * within operations, or spread within other fragments spread within operations.\n */\nexport function NoUnusedFragmentsRule(context) {\n var operationDefs = [];\n var fragmentDefs = [];\n return {\n OperationDefinition: function OperationDefinition(node) {\n operationDefs.push(node);\n return false;\n },\n FragmentDefinition: function FragmentDefinition(node) {\n fragmentDefs.push(node);\n return false;\n },\n Document: {\n leave: function leave() {\n var fragmentNameUsed = Object.create(null);\n\n for (var _i2 = 0; _i2 < operationDefs.length; _i2++) {\n var operation = operationDefs[_i2];\n\n for (var _i4 = 0, _context$getRecursive2 = context.getRecursivelyReferencedFragments(operation); _i4 < _context$getRecursive2.length; _i4++) {\n var fragment = _context$getRecursive2[_i4];\n fragmentNameUsed[fragment.name.value] = true;\n }\n }\n\n for (var _i6 = 0; _i6 < fragmentDefs.length; _i6++) {\n var fragmentDef = fragmentDefs[_i6];\n var fragName = fragmentDef.name.value;\n\n if (fragmentNameUsed[fragName] !== true) {\n context.reportError(new GraphQLError(\"Fragment \\\"\".concat(fragName, \"\\\" is never used.\"), fragmentDef));\n }\n }\n }\n }\n };\n}\n","import inspect from \"../../jsutils/inspect.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { isCompositeType } from \"../../type/definition.mjs\";\nimport { typeFromAST } from \"../../utilities/typeFromAST.mjs\";\nimport { doTypesOverlap } from \"../../utilities/typeComparators.mjs\";\n\n/**\n * Possible fragment spread\n *\n * A fragment spread is only valid if the type condition could ever possibly\n * be true: if there is a non-empty intersection of the possible parent types,\n * and possible types which pass the type condition.\n */\nexport function PossibleFragmentSpreadsRule(context) {\n return {\n InlineFragment: function InlineFragment(node) {\n var fragType = context.getType();\n var parentType = context.getParentType();\n\n if (isCompositeType(fragType) && isCompositeType(parentType) && !doTypesOverlap(context.getSchema(), fragType, parentType)) {\n var parentTypeStr = inspect(parentType);\n var fragTypeStr = inspect(fragType);\n context.reportError(new GraphQLError(\"Fragment cannot be spread here as objects of type \\\"\".concat(parentTypeStr, \"\\\" can never be of type \\\"\").concat(fragTypeStr, \"\\\".\"), node));\n }\n },\n FragmentSpread: function FragmentSpread(node) {\n var fragName = node.name.value;\n var fragType = getFragmentType(context, fragName);\n var parentType = context.getParentType();\n\n if (fragType && parentType && !doTypesOverlap(context.getSchema(), fragType, parentType)) {\n var parentTypeStr = inspect(parentType);\n var fragTypeStr = inspect(fragType);\n context.reportError(new GraphQLError(\"Fragment \\\"\".concat(fragName, \"\\\" cannot be spread here as objects of type \\\"\").concat(parentTypeStr, \"\\\" can never be of type \\\"\").concat(fragTypeStr, \"\\\".\"), node));\n }\n }\n };\n}\n\nfunction getFragmentType(context, name) {\n var frag = context.getFragment(name);\n\n if (frag) {\n var type = typeFromAST(context.getSchema(), frag.typeCondition);\n\n if (isCompositeType(type)) {\n return type;\n }\n }\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nexport function NoFragmentCyclesRule(context) {\n // Tracks already visited fragments to maintain O(N) and to ensure that cycles\n // are not redundantly reported.\n var visitedFrags = Object.create(null); // Array of AST nodes used to produce meaningful errors\n\n var spreadPath = []; // Position in the spread path\n\n var spreadPathIndexByName = Object.create(null);\n return {\n OperationDefinition: function OperationDefinition() {\n return false;\n },\n FragmentDefinition: function FragmentDefinition(node) {\n detectCycleRecursive(node);\n return false;\n }\n }; // This does a straight-forward DFS to find cycles.\n // It does not terminate when a cycle was found but continues to explore\n // the graph to find all possible cycles.\n\n function detectCycleRecursive(fragment) {\n if (visitedFrags[fragment.name.value]) {\n return;\n }\n\n var fragmentName = fragment.name.value;\n visitedFrags[fragmentName] = true;\n var spreadNodes = context.getFragmentSpreads(fragment.selectionSet);\n\n if (spreadNodes.length === 0) {\n return;\n }\n\n spreadPathIndexByName[fragmentName] = spreadPath.length;\n\n for (var _i2 = 0; _i2 < spreadNodes.length; _i2++) {\n var spreadNode = spreadNodes[_i2];\n var spreadName = spreadNode.name.value;\n var cycleIndex = spreadPathIndexByName[spreadName];\n spreadPath.push(spreadNode);\n\n if (cycleIndex === undefined) {\n var spreadFragment = context.getFragment(spreadName);\n\n if (spreadFragment) {\n detectCycleRecursive(spreadFragment);\n }\n } else {\n var cyclePath = spreadPath.slice(cycleIndex);\n var viaPath = cyclePath.slice(0, -1).map(function (s) {\n return '\"' + s.name.value + '\"';\n }).join(', ');\n context.reportError(new GraphQLError(\"Cannot spread fragment \\\"\".concat(spreadName, \"\\\" within itself\") + (viaPath !== '' ? \" via \".concat(viaPath, \".\") : '.'), cyclePath));\n }\n\n spreadPath.pop();\n }\n\n spreadPathIndexByName[fragmentName] = undefined;\n }\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique variable names\n *\n * A GraphQL operation is only valid if all its variables are uniquely named.\n */\nexport function UniqueVariableNamesRule(context) {\n var knownVariableNames = Object.create(null);\n return {\n OperationDefinition: function OperationDefinition() {\n knownVariableNames = Object.create(null);\n },\n VariableDefinition: function VariableDefinition(node) {\n var variableName = node.variable.name.value;\n\n if (knownVariableNames[variableName]) {\n context.reportError(new GraphQLError(\"There can be only one variable named \\\"$\".concat(variableName, \"\\\".\"), [knownVariableNames[variableName], node.variable.name]));\n } else {\n knownVariableNames[variableName] = node.variable.name;\n }\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * No undefined variables\n *\n * A GraphQL operation is only valid if all variables encountered, both directly\n * and via fragment spreads, are defined by that operation.\n */\nexport function NoUndefinedVariablesRule(context) {\n var variableNameDefined = Object.create(null);\n return {\n OperationDefinition: {\n enter: function enter() {\n variableNameDefined = Object.create(null);\n },\n leave: function leave(operation) {\n var usages = context.getRecursiveVariableUsages(operation);\n\n for (var _i2 = 0; _i2 < usages.length; _i2++) {\n var _ref2 = usages[_i2];\n var node = _ref2.node;\n var varName = node.name.value;\n\n if (variableNameDefined[varName] !== true) {\n context.reportError(new GraphQLError(operation.name ? \"Variable \\\"$\".concat(varName, \"\\\" is not defined by operation \\\"\").concat(operation.name.value, \"\\\".\") : \"Variable \\\"$\".concat(varName, \"\\\" is not defined.\"), [node, operation]));\n }\n }\n }\n },\n VariableDefinition: function VariableDefinition(node) {\n variableNameDefined[node.variable.name.value] = true;\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * No unused variables\n *\n * A GraphQL operation is only valid if all variables defined by an operation\n * are used, either directly or within a spread fragment.\n */\nexport function NoUnusedVariablesRule(context) {\n var variableDefs = [];\n return {\n OperationDefinition: {\n enter: function enter() {\n variableDefs = [];\n },\n leave: function leave(operation) {\n var variableNameUsed = Object.create(null);\n var usages = context.getRecursiveVariableUsages(operation);\n\n for (var _i2 = 0; _i2 < usages.length; _i2++) {\n var _ref2 = usages[_i2];\n var node = _ref2.node;\n variableNameUsed[node.name.value] = true;\n }\n\n for (var _i4 = 0, _variableDefs2 = variableDefs; _i4 < _variableDefs2.length; _i4++) {\n var variableDef = _variableDefs2[_i4];\n var variableName = variableDef.variable.name.value;\n\n if (variableNameUsed[variableName] !== true) {\n context.reportError(new GraphQLError(operation.name ? \"Variable \\\"$\".concat(variableName, \"\\\" is never used in operation \\\"\").concat(operation.name.value, \"\\\".\") : \"Variable \\\"$\".concat(variableName, \"\\\" is never used.\"), variableDef));\n }\n }\n }\n },\n VariableDefinition: function VariableDefinition(def) {\n variableDefs.push(def);\n }\n };\n}\n","import objectValues from \"../../polyfills/objectValues.mjs\";\nimport keyMap from \"../../jsutils/keyMap.mjs\";\nimport inspect from \"../../jsutils/inspect.mjs\";\nimport didYouMean from \"../../jsutils/didYouMean.mjs\";\nimport suggestionList from \"../../jsutils/suggestionList.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { print } from \"../../language/printer.mjs\";\nimport { isLeafType, isInputObjectType, isListType, isNonNullType, isRequiredInputField, getNullableType, getNamedType } from \"../../type/definition.mjs\";\n\n/**\n * Value literals of correct type\n *\n * A GraphQL document is only valid if all value literals are of the type\n * expected at their position.\n */\nexport function ValuesOfCorrectTypeRule(context) {\n return {\n ListValue: function ListValue(node) {\n // Note: TypeInfo will traverse into a list's item type, so look to the\n // parent input type to check if it is a list.\n var type = getNullableType(context.getParentInputType());\n\n if (!isListType(type)) {\n isValidValueNode(context, node);\n return false; // Don't traverse further.\n }\n },\n ObjectValue: function ObjectValue(node) {\n var type = getNamedType(context.getInputType());\n\n if (!isInputObjectType(type)) {\n isValidValueNode(context, node);\n return false; // Don't traverse further.\n } // Ensure every required field exists.\n\n\n var fieldNodeMap = keyMap(node.fields, function (field) {\n return field.name.value;\n });\n\n for (var _i2 = 0, _objectValues2 = objectValues(type.getFields()); _i2 < _objectValues2.length; _i2++) {\n var fieldDef = _objectValues2[_i2];\n var fieldNode = fieldNodeMap[fieldDef.name];\n\n if (!fieldNode && isRequiredInputField(fieldDef)) {\n var typeStr = inspect(fieldDef.type);\n context.reportError(new GraphQLError(\"Field \\\"\".concat(type.name, \".\").concat(fieldDef.name, \"\\\" of required type \\\"\").concat(typeStr, \"\\\" was not provided.\"), node));\n }\n }\n },\n ObjectField: function ObjectField(node) {\n var parentType = getNamedType(context.getParentInputType());\n var fieldType = context.getInputType();\n\n if (!fieldType && isInputObjectType(parentType)) {\n var suggestions = suggestionList(node.name.value, Object.keys(parentType.getFields()));\n context.reportError(new GraphQLError(\"Field \\\"\".concat(node.name.value, \"\\\" is not defined by type \\\"\").concat(parentType.name, \"\\\".\") + didYouMean(suggestions), node));\n }\n },\n NullValue: function NullValue(node) {\n var type = context.getInputType();\n\n if (isNonNullType(type)) {\n context.reportError(new GraphQLError(\"Expected value of type \\\"\".concat(inspect(type), \"\\\", found \").concat(print(node), \".\"), node));\n }\n },\n EnumValue: function EnumValue(node) {\n return isValidValueNode(context, node);\n },\n IntValue: function IntValue(node) {\n return isValidValueNode(context, node);\n },\n FloatValue: function FloatValue(node) {\n return isValidValueNode(context, node);\n },\n StringValue: function StringValue(node) {\n return isValidValueNode(context, node);\n },\n BooleanValue: function BooleanValue(node) {\n return isValidValueNode(context, node);\n }\n };\n}\n/**\n * Any value literal may be a valid representation of a Scalar, depending on\n * that scalar type.\n */\n\nfunction isValidValueNode(context, node) {\n // Report any error at the full type expected by the location.\n var locationType = context.getInputType();\n\n if (!locationType) {\n return;\n }\n\n var type = getNamedType(locationType);\n\n if (!isLeafType(type)) {\n var typeStr = inspect(locationType);\n context.reportError(new GraphQLError(\"Expected value of type \\\"\".concat(typeStr, \"\\\", found \").concat(print(node), \".\"), node));\n return;\n } // Scalars and Enums determine if a literal value is valid via parseLiteral(),\n // which may throw or return an invalid value to indicate failure.\n\n\n try {\n var parseResult = type.parseLiteral(node, undefined\n /* variables */\n );\n\n if (parseResult === undefined) {\n var _typeStr = inspect(locationType);\n\n context.reportError(new GraphQLError(\"Expected value of type \\\"\".concat(_typeStr, \"\\\", found \").concat(print(node), \".\"), node));\n }\n } catch (error) {\n var _typeStr2 = inspect(locationType);\n\n if (error instanceof GraphQLError) {\n context.reportError(error);\n } else {\n context.reportError(new GraphQLError(\"Expected value of type \\\"\".concat(_typeStr2, \"\\\", found \").concat(print(node), \"; \") + error.message, node, undefined, undefined, undefined, error));\n }\n }\n}\n","import inspect from \"../../jsutils/inspect.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { isNonNullType } from \"../../type/definition.mjs\";\nimport { typeFromAST } from \"../../utilities/typeFromAST.mjs\";\nimport { isTypeSubTypeOf } from \"../../utilities/typeComparators.mjs\";\n\n/**\n * Variables passed to field arguments conform to type\n */\nexport function VariablesInAllowedPositionRule(context) {\n var varDefMap = Object.create(null);\n return {\n OperationDefinition: {\n enter: function enter() {\n varDefMap = Object.create(null);\n },\n leave: function leave(operation) {\n var usages = context.getRecursiveVariableUsages(operation);\n\n for (var _i2 = 0; _i2 < usages.length; _i2++) {\n var _ref2 = usages[_i2];\n var node = _ref2.node;\n var type = _ref2.type;\n var defaultValue = _ref2.defaultValue;\n var varName = node.name.value;\n var varDef = varDefMap[varName];\n\n if (varDef && type) {\n // A var type is allowed if it is the same or more strict (e.g. is\n // a subtype of) than the expected type. It can be more strict if\n // the variable type is non-null when the expected type is nullable.\n // If both are list types, the variable item type can be more strict\n // than the expected item type (contravariant).\n var schema = context.getSchema();\n var varType = typeFromAST(schema, varDef.type);\n\n if (varType && !allowedVariableUsage(schema, varType, varDef.defaultValue, type, defaultValue)) {\n var varTypeStr = inspect(varType);\n var typeStr = inspect(type);\n context.reportError(new GraphQLError(\"Variable \\\"$\".concat(varName, \"\\\" of type \\\"\").concat(varTypeStr, \"\\\" used in position expecting type \\\"\").concat(typeStr, \"\\\".\"), [varDef, node]));\n }\n }\n }\n }\n },\n VariableDefinition: function VariableDefinition(node) {\n varDefMap[node.variable.name.value] = node;\n }\n };\n}\n/**\n * Returns true if the variable is allowed in the location it was found,\n * which includes considering if default values exist for either the variable\n * or the location at which it is located.\n */\n\nfunction allowedVariableUsage(schema, varType, varDefaultValue, locationType, locationDefaultValue) {\n if (isNonNullType(locationType) && !isNonNullType(varType)) {\n var hasNonNullVariableDefaultValue = varDefaultValue != null && varDefaultValue.kind !== Kind.NULL;\n var hasLocationDefaultValue = locationDefaultValue !== undefined;\n\n if (!hasNonNullVariableDefaultValue && !hasLocationDefaultValue) {\n return false;\n }\n\n var nullableLocationType = locationType.ofType;\n return isTypeSubTypeOf(schema, varType, nullableLocationType);\n }\n\n return isTypeSubTypeOf(schema, varType, locationType);\n}\n","import find from \"../../polyfills/find.mjs\";\nimport objectEntries from \"../../polyfills/objectEntries.mjs\";\nimport inspect from \"../../jsutils/inspect.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { print } from \"../../language/printer.mjs\";\nimport { getNamedType, isNonNullType, isLeafType, isObjectType, isListType, isInterfaceType } from \"../../type/definition.mjs\";\nimport { typeFromAST } from \"../../utilities/typeFromAST.mjs\";\n\nfunction reasonMessage(reason) {\n if (Array.isArray(reason)) {\n return reason.map(function (_ref) {\n var responseName = _ref[0],\n subReason = _ref[1];\n return \"subfields \\\"\".concat(responseName, \"\\\" conflict because \") + reasonMessage(subReason);\n }).join(' and ');\n }\n\n return reason;\n}\n/**\n * Overlapping fields can be merged\n *\n * A selection set is only valid if all fields (including spreading any\n * fragments) either correspond to distinct response names or can be merged\n * without ambiguity.\n */\n\n\nexport function OverlappingFieldsCanBeMergedRule(context) {\n // A memoization for when two fragments are compared \"between\" each other for\n // conflicts. Two fragments may be compared many times, so memoizing this can\n // dramatically improve the performance of this validator.\n var comparedFragmentPairs = new PairSet(); // A cache for the \"field map\" and list of fragment names found in any given\n // selection set. Selection sets may be asked for this information multiple\n // times, so this improves the performance of this validator.\n\n var cachedFieldsAndFragmentNames = new Map();\n return {\n SelectionSet: function SelectionSet(selectionSet) {\n var conflicts = findConflictsWithinSelectionSet(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, context.getParentType(), selectionSet);\n\n for (var _i2 = 0; _i2 < conflicts.length; _i2++) {\n var _ref3 = conflicts[_i2];\n var _ref2$ = _ref3[0];\n var responseName = _ref2$[0];\n var reason = _ref2$[1];\n var fields1 = _ref3[1];\n var fields2 = _ref3[2];\n var reasonMsg = reasonMessage(reason);\n context.reportError(new GraphQLError(\"Fields \\\"\".concat(responseName, \"\\\" conflict because \").concat(reasonMsg, \". Use different aliases on the fields to fetch both if this was intentional.\"), fields1.concat(fields2)));\n }\n }\n };\n}\n\n/**\n * Algorithm:\n *\n * Conflicts occur when two fields exist in a query which will produce the same\n * response name, but represent differing values, thus creating a conflict.\n * The algorithm below finds all conflicts via making a series of comparisons\n * between fields. In order to compare as few fields as possible, this makes\n * a series of comparisons \"within\" sets of fields and \"between\" sets of fields.\n *\n * Given any selection set, a collection produces both a set of fields by\n * also including all inline fragments, as well as a list of fragments\n * referenced by fragment spreads.\n *\n * A) Each selection set represented in the document first compares \"within\" its\n * collected set of fields, finding any conflicts between every pair of\n * overlapping fields.\n * Note: This is the *only time* that a the fields \"within\" a set are compared\n * to each other. After this only fields \"between\" sets are compared.\n *\n * B) Also, if any fragment is referenced in a selection set, then a\n * comparison is made \"between\" the original set of fields and the\n * referenced fragment.\n *\n * C) Also, if multiple fragments are referenced, then comparisons\n * are made \"between\" each referenced fragment.\n *\n * D) When comparing \"between\" a set of fields and a referenced fragment, first\n * a comparison is made between each field in the original set of fields and\n * each field in the the referenced set of fields.\n *\n * E) Also, if any fragment is referenced in the referenced selection set,\n * then a comparison is made \"between\" the original set of fields and the\n * referenced fragment (recursively referring to step D).\n *\n * F) When comparing \"between\" two fragments, first a comparison is made between\n * each field in the first referenced set of fields and each field in the the\n * second referenced set of fields.\n *\n * G) Also, any fragments referenced by the first must be compared to the\n * second, and any fragments referenced by the second must be compared to the\n * first (recursively referring to step F).\n *\n * H) When comparing two fields, if both have selection sets, then a comparison\n * is made \"between\" both selection sets, first comparing the set of fields in\n * the first selection set with the set of fields in the second.\n *\n * I) Also, if any fragment is referenced in either selection set, then a\n * comparison is made \"between\" the other set of fields and the\n * referenced fragment.\n *\n * J) Also, if two fragments are referenced in both selection sets, then a\n * comparison is made \"between\" the two fragments.\n *\n */\n// Find all conflicts found \"within\" a selection set, including those found\n// via spreading in fragments. Called when visiting each SelectionSet in the\n// GraphQL Document.\nfunction findConflictsWithinSelectionSet(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentType, selectionSet) {\n var conflicts = [];\n\n var _getFieldsAndFragment = getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType, selectionSet),\n fieldMap = _getFieldsAndFragment[0],\n fragmentNames = _getFieldsAndFragment[1]; // (A) Find find all conflicts \"within\" the fields of this selection set.\n // Note: this is the *only place* `collectConflictsWithin` is called.\n\n\n collectConflictsWithin(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, fieldMap);\n\n if (fragmentNames.length !== 0) {\n // (B) Then collect conflicts between these fields and those represented by\n // each spread fragment name found.\n for (var i = 0; i < fragmentNames.length; i++) {\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, false, fieldMap, fragmentNames[i]); // (C) Then compare this fragment with all other fragments found in this\n // selection set to collect conflicts between fragments spread together.\n // This compares each item in the list of fragment names to every other\n // item in that same list (except for itself).\n\n for (var j = i + 1; j < fragmentNames.length; j++) {\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, false, fragmentNames[i], fragmentNames[j]);\n }\n }\n }\n\n return conflicts;\n} // Collect all conflicts found between a set of fields and a fragment reference\n// including via spreading in any nested fragments.\n\n\nfunction collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap, fragmentName) {\n var fragment = context.getFragment(fragmentName);\n\n if (!fragment) {\n return;\n }\n\n var _getReferencedFieldsA = getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment),\n fieldMap2 = _getReferencedFieldsA[0],\n fragmentNames2 = _getReferencedFieldsA[1]; // Do not compare a fragment's fieldMap to itself.\n\n\n if (fieldMap === fieldMap2) {\n return;\n } // (D) First collect any conflicts between the provided collection of fields\n // and the collection of fields represented by the given fragment.\n\n\n collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap, fieldMap2); // (E) Then collect any conflicts between the provided collection of fields\n // and any fragment names found in the given fragment.\n\n for (var i = 0; i < fragmentNames2.length; i++) {\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap, fragmentNames2[i]);\n }\n} // Collect all conflicts found between two fragments, including via spreading in\n// any nested fragments.\n\n\nfunction collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentName1, fragmentName2) {\n // No need to compare a fragment to itself.\n if (fragmentName1 === fragmentName2) {\n return;\n } // Memoize so two fragments are not compared for conflicts more than once.\n\n\n if (comparedFragmentPairs.has(fragmentName1, fragmentName2, areMutuallyExclusive)) {\n return;\n }\n\n comparedFragmentPairs.add(fragmentName1, fragmentName2, areMutuallyExclusive);\n var fragment1 = context.getFragment(fragmentName1);\n var fragment2 = context.getFragment(fragmentName2);\n\n if (!fragment1 || !fragment2) {\n return;\n }\n\n var _getReferencedFieldsA2 = getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment1),\n fieldMap1 = _getReferencedFieldsA2[0],\n fragmentNames1 = _getReferencedFieldsA2[1];\n\n var _getReferencedFieldsA3 = getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment2),\n fieldMap2 = _getReferencedFieldsA3[0],\n fragmentNames2 = _getReferencedFieldsA3[1]; // (F) First, collect all conflicts between these two collections of fields\n // (not including any nested fragments).\n\n\n collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap1, fieldMap2); // (G) Then collect conflicts between the first fragment and any nested\n // fragments spread in the second fragment.\n\n for (var j = 0; j < fragmentNames2.length; j++) {\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentName1, fragmentNames2[j]);\n } // (G) Then collect conflicts between the second fragment and any nested\n // fragments spread in the first fragment.\n\n\n for (var i = 0; i < fragmentNames1.length; i++) {\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentNames1[i], fragmentName2);\n }\n} // Find all conflicts found between two selection sets, including those found\n// via spreading in fragments. Called when determining if conflicts exist\n// between the sub-fields of two overlapping fields.\n\n\nfunction findConflictsBetweenSubSelectionSets(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, parentType1, selectionSet1, parentType2, selectionSet2) {\n var conflicts = [];\n\n var _getFieldsAndFragment2 = getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType1, selectionSet1),\n fieldMap1 = _getFieldsAndFragment2[0],\n fragmentNames1 = _getFieldsAndFragment2[1];\n\n var _getFieldsAndFragment3 = getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType2, selectionSet2),\n fieldMap2 = _getFieldsAndFragment3[0],\n fragmentNames2 = _getFieldsAndFragment3[1]; // (H) First, collect all conflicts between these two collections of field.\n\n\n collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap1, fieldMap2); // (I) Then collect conflicts between the first collection of fields and\n // those referenced by each fragment name associated with the second.\n\n if (fragmentNames2.length !== 0) {\n for (var j = 0; j < fragmentNames2.length; j++) {\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap1, fragmentNames2[j]);\n }\n } // (I) Then collect conflicts between the second collection of fields and\n // those referenced by each fragment name associated with the first.\n\n\n if (fragmentNames1.length !== 0) {\n for (var i = 0; i < fragmentNames1.length; i++) {\n collectConflictsBetweenFieldsAndFragment(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fieldMap2, fragmentNames1[i]);\n }\n } // (J) Also collect conflicts between any fragment names by the first and\n // fragment names by the second. This compares each item in the first set of\n // names to each item in the second set of names.\n\n\n for (var _i3 = 0; _i3 < fragmentNames1.length; _i3++) {\n for (var _j = 0; _j < fragmentNames2.length; _j++) {\n collectConflictsBetweenFragments(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, fragmentNames1[_i3], fragmentNames2[_j]);\n }\n }\n\n return conflicts;\n} // Collect all Conflicts \"within\" one collection of fields.\n\n\nfunction collectConflictsWithin(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, fieldMap) {\n // A field map is a keyed collection, where each key represents a response\n // name and the value at that key is a list of all fields which provide that\n // response name. For every response name, if there are multiple fields, they\n // must be compared to find a potential conflict.\n for (var _i5 = 0, _objectEntries2 = objectEntries(fieldMap); _i5 < _objectEntries2.length; _i5++) {\n var _ref5 = _objectEntries2[_i5];\n var responseName = _ref5[0];\n var fields = _ref5[1];\n\n // This compares every field in the list to every other field in this list\n // (except to itself). If the list only has one item, nothing needs to\n // be compared.\n if (fields.length > 1) {\n for (var i = 0; i < fields.length; i++) {\n for (var j = i + 1; j < fields.length; j++) {\n var conflict = findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, false, // within one collection is never mutually exclusive\n responseName, fields[i], fields[j]);\n\n if (conflict) {\n conflicts.push(conflict);\n }\n }\n }\n }\n }\n} // Collect all Conflicts between two collections of fields. This is similar to,\n// but different from the `collectConflictsWithin` function above. This check\n// assumes that `collectConflictsWithin` has already been called on each\n// provided collection of fields. This is true because this validator traverses\n// each individual selection set.\n\n\nfunction collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentFieldsAreMutuallyExclusive, fieldMap1, fieldMap2) {\n // A field map is a keyed collection, where each key represents a response\n // name and the value at that key is a list of all fields which provide that\n // response name. For any response name which appears in both provided field\n // maps, each field from the first field map must be compared to every field\n // in the second field map to find potential conflicts.\n for (var _i7 = 0, _Object$keys2 = Object.keys(fieldMap1); _i7 < _Object$keys2.length; _i7++) {\n var responseName = _Object$keys2[_i7];\n var fields2 = fieldMap2[responseName];\n\n if (fields2) {\n var fields1 = fieldMap1[responseName];\n\n for (var i = 0; i < fields1.length; i++) {\n for (var j = 0; j < fields2.length; j++) {\n var conflict = findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentFieldsAreMutuallyExclusive, responseName, fields1[i], fields2[j]);\n\n if (conflict) {\n conflicts.push(conflict);\n }\n }\n }\n }\n }\n} // Determines if there is a conflict between two particular fields, including\n// comparing their sub-fields.\n\n\nfunction findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, parentFieldsAreMutuallyExclusive, responseName, field1, field2) {\n var parentType1 = field1[0],\n node1 = field1[1],\n def1 = field1[2];\n var parentType2 = field2[0],\n node2 = field2[1],\n def2 = field2[2]; // If it is known that two fields could not possibly apply at the same\n // time, due to the parent types, then it is safe to permit them to diverge\n // in aliased field or arguments used as they will not present any ambiguity\n // by differing.\n // It is known that two parent types could never overlap if they are\n // different Object types. Interface or Union types might overlap - if not\n // in the current state of the schema, then perhaps in some future version,\n // thus may not safely diverge.\n\n var areMutuallyExclusive = parentFieldsAreMutuallyExclusive || parentType1 !== parentType2 && isObjectType(parentType1) && isObjectType(parentType2);\n\n if (!areMutuallyExclusive) {\n var _node1$arguments, _node2$arguments, _node1$directives, _node2$directives;\n\n // Two aliases must refer to the same field.\n var name1 = node1.name.value;\n var name2 = node2.name.value;\n\n if (name1 !== name2) {\n return [[responseName, \"\\\"\".concat(name1, \"\\\" and \\\"\").concat(name2, \"\\\" are different fields\")], [node1], [node2]];\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n\n var args1 = (_node1$arguments = node1.arguments) !== null && _node1$arguments !== void 0 ? _node1$arguments : []; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n var args2 = (_node2$arguments = node2.arguments) !== null && _node2$arguments !== void 0 ? _node2$arguments : []; // Two field calls must have the same arguments.\n\n if (!sameArguments(args1, args2)) {\n return [[responseName, 'they have differing arguments'], [node1], [node2]];\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n\n var directives1 = (_node1$directives = node1.directives) !== null && _node1$directives !== void 0 ? _node1$directives : []; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n var directives2 = (_node2$directives = node2.directives) !== null && _node2$directives !== void 0 ? _node2$directives : [];\n\n if (!sameStreams(directives1, directives2)) {\n return [[responseName, 'they have differing stream directives'], [node1], [node2]];\n }\n } // The return type for each field.\n\n\n var type1 = def1 === null || def1 === void 0 ? void 0 : def1.type;\n var type2 = def2 === null || def2 === void 0 ? void 0 : def2.type;\n\n if (type1 && type2 && doTypesConflict(type1, type2)) {\n return [[responseName, \"they return conflicting types \\\"\".concat(inspect(type1), \"\\\" and \\\"\").concat(inspect(type2), \"\\\"\")], [node1], [node2]];\n } // Collect and compare sub-fields. Use the same \"visited fragment names\" list\n // for both collections so fields in a fragment reference are never\n // compared to themselves.\n\n\n var selectionSet1 = node1.selectionSet;\n var selectionSet2 = node2.selectionSet;\n\n if (selectionSet1 && selectionSet2) {\n var conflicts = findConflictsBetweenSubSelectionSets(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, areMutuallyExclusive, getNamedType(type1), selectionSet1, getNamedType(type2), selectionSet2);\n return subfieldConflicts(conflicts, responseName, node1, node2);\n }\n}\n\nfunction sameArguments(arguments1, arguments2) {\n if (arguments1.length !== arguments2.length) {\n return false;\n }\n\n return arguments1.every(function (argument1) {\n var argument2 = find(arguments2, function (argument) {\n return argument.name.value === argument1.name.value;\n });\n\n if (!argument2) {\n return false;\n }\n\n return sameValue(argument1.value, argument2.value);\n });\n}\n\nfunction sameDirectiveArgument(directive1, directive2, argumentName) {\n /* istanbul ignore next (See https://github.com/graphql/graphql-js/issues/2203) */\n var args1 = directive1.arguments || [];\n var arg1 = find(args1, function (argument) {\n return argument.name.value === argumentName;\n });\n\n if (!arg1) {\n return false;\n }\n /* istanbul ignore next (See https://github.com/graphql/graphql-js/issues/2203) */\n\n\n var args2 = directive2.arguments || [];\n var arg2 = find(args2, function (argument) {\n return argument.name.value === argumentName;\n });\n\n if (!arg2) {\n return false;\n }\n\n return sameValue(arg1.value, arg2.value);\n}\n\nfunction getStreamDirective(directives) {\n return find(directives, function (directive) {\n return directive.name.value === 'stream';\n });\n}\n\nfunction sameStreams(directives1, directives2) {\n var stream1 = getStreamDirective(directives1);\n var stream2 = getStreamDirective(directives2);\n\n if (!stream1 && !stream2) {\n // both fields do not have streams\n return true;\n } else if (stream1 && stream2) {\n // check if both fields have equivalent streams\n return sameDirectiveArgument(stream1, stream2, 'initialCount') && sameDirectiveArgument(stream1, stream2, 'label');\n } // fields have a mix of stream and no stream\n\n\n return false;\n}\n\nfunction sameValue(value1, value2) {\n return print(value1) === print(value2);\n} // Two types conflict if both types could not apply to a value simultaneously.\n// Composite types are ignored as their individual field types will be compared\n// later recursively. However List and Non-Null types must match.\n\n\nfunction doTypesConflict(type1, type2) {\n if (isListType(type1)) {\n return isListType(type2) ? doTypesConflict(type1.ofType, type2.ofType) : true;\n }\n\n if (isListType(type2)) {\n return true;\n }\n\n if (isNonNullType(type1)) {\n return isNonNullType(type2) ? doTypesConflict(type1.ofType, type2.ofType) : true;\n }\n\n if (isNonNullType(type2)) {\n return true;\n }\n\n if (isLeafType(type1) || isLeafType(type2)) {\n return type1 !== type2;\n }\n\n return false;\n} // Given a selection set, return the collection of fields (a mapping of response\n// name to field nodes and definitions) as well as a list of fragment names\n// referenced via fragment spreads.\n\n\nfunction getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, parentType, selectionSet) {\n var cached = cachedFieldsAndFragmentNames.get(selectionSet);\n\n if (!cached) {\n var nodeAndDefs = Object.create(null);\n var fragmentNames = Object.create(null);\n\n _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeAndDefs, fragmentNames);\n\n cached = [nodeAndDefs, Object.keys(fragmentNames)];\n cachedFieldsAndFragmentNames.set(selectionSet, cached);\n }\n\n return cached;\n} // Given a reference to a fragment, return the represented collection of fields\n// as well as a list of nested fragment names referenced via fragment spreads.\n\n\nfunction getReferencedFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragment) {\n // Short-circuit building a type from the node if possible.\n var cached = cachedFieldsAndFragmentNames.get(fragment.selectionSet);\n\n if (cached) {\n return cached;\n }\n\n var fragmentType = typeFromAST(context.getSchema(), fragment.typeCondition);\n return getFieldsAndFragmentNames(context, cachedFieldsAndFragmentNames, fragmentType, fragment.selectionSet);\n}\n\nfunction _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeAndDefs, fragmentNames) {\n for (var _i9 = 0, _selectionSet$selecti2 = selectionSet.selections; _i9 < _selectionSet$selecti2.length; _i9++) {\n var selection = _selectionSet$selecti2[_i9];\n\n switch (selection.kind) {\n case Kind.FIELD:\n {\n var fieldName = selection.name.value;\n var fieldDef = void 0;\n\n if (isObjectType(parentType) || isInterfaceType(parentType)) {\n fieldDef = parentType.getFields()[fieldName];\n }\n\n var responseName = selection.alias ? selection.alias.value : fieldName;\n\n if (!nodeAndDefs[responseName]) {\n nodeAndDefs[responseName] = [];\n }\n\n nodeAndDefs[responseName].push([parentType, selection, fieldDef]);\n break;\n }\n\n case Kind.FRAGMENT_SPREAD:\n fragmentNames[selection.name.value] = true;\n break;\n\n case Kind.INLINE_FRAGMENT:\n {\n var typeCondition = selection.typeCondition;\n var inlineFragmentType = typeCondition ? typeFromAST(context.getSchema(), typeCondition) : parentType;\n\n _collectFieldsAndFragmentNames(context, inlineFragmentType, selection.selectionSet, nodeAndDefs, fragmentNames);\n\n break;\n }\n }\n }\n} // Given a series of Conflicts which occurred between two sub-fields, generate\n// a single Conflict.\n\n\nfunction subfieldConflicts(conflicts, responseName, node1, node2) {\n if (conflicts.length > 0) {\n return [[responseName, conflicts.map(function (_ref6) {\n var reason = _ref6[0];\n return reason;\n })], conflicts.reduce(function (allFields, _ref7) {\n var fields1 = _ref7[1];\n return allFields.concat(fields1);\n }, [node1]), conflicts.reduce(function (allFields, _ref8) {\n var fields2 = _ref8[2];\n return allFields.concat(fields2);\n }, [node2])];\n }\n}\n/**\n * A way to keep track of pairs of things when the ordering of the pair does\n * not matter. We do this by maintaining a sort of double adjacency sets.\n */\n\n\nvar PairSet = /*#__PURE__*/function () {\n function PairSet() {\n this._data = Object.create(null);\n }\n\n var _proto = PairSet.prototype;\n\n _proto.has = function has(a, b, areMutuallyExclusive) {\n var first = this._data[a];\n var result = first && first[b];\n\n if (result === undefined) {\n return false;\n } // areMutuallyExclusive being false is a superset of being true,\n // hence if we want to know if this PairSet \"has\" these two with no\n // exclusivity, we have to ensure it was added as such.\n\n\n if (areMutuallyExclusive === false) {\n return result === false;\n }\n\n return true;\n };\n\n _proto.add = function add(a, b, areMutuallyExclusive) {\n this._pairSetAdd(a, b, areMutuallyExclusive);\n\n this._pairSetAdd(b, a, areMutuallyExclusive);\n };\n\n _proto._pairSetAdd = function _pairSetAdd(a, b, areMutuallyExclusive) {\n var map = this._data[a];\n\n if (!map) {\n map = Object.create(null);\n this._data[a] = map;\n }\n\n map[b] = areMutuallyExclusive;\n };\n\n return PairSet;\n}();\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Lone Schema definition\n *\n * A GraphQL document is only valid if it contains only one schema definition.\n */\nexport function LoneSchemaDefinitionRule(context) {\n var _ref, _ref2, _oldSchema$astNode;\n\n var oldSchema = context.getSchema();\n var alreadyDefined = (_ref = (_ref2 = (_oldSchema$astNode = oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.astNode) !== null && _oldSchema$astNode !== void 0 ? _oldSchema$astNode : oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.getQueryType()) !== null && _ref2 !== void 0 ? _ref2 : oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.getMutationType()) !== null && _ref !== void 0 ? _ref : oldSchema === null || oldSchema === void 0 ? void 0 : oldSchema.getSubscriptionType();\n var schemaDefinitionsCount = 0;\n return {\n SchemaDefinition: function SchemaDefinition(node) {\n if (alreadyDefined) {\n context.reportError(new GraphQLError('Cannot define a new schema within a schema extension.', node));\n return;\n }\n\n if (schemaDefinitionsCount > 0) {\n context.reportError(new GraphQLError('Must provide only one schema definition.', node));\n }\n\n ++schemaDefinitionsCount;\n }\n };\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique operation types\n *\n * A GraphQL document is only valid if it has only one type per operation.\n */\nexport function UniqueOperationTypesRule(context) {\n var schema = context.getSchema();\n var definedOperationTypes = Object.create(null);\n var existingOperationTypes = schema ? {\n query: schema.getQueryType(),\n mutation: schema.getMutationType(),\n subscription: schema.getSubscriptionType()\n } : {};\n return {\n SchemaDefinition: checkOperationTypes,\n SchemaExtension: checkOperationTypes\n };\n\n function checkOperationTypes(node) {\n var _node$operationTypes;\n\n // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n var operationTypesNodes = (_node$operationTypes = node.operationTypes) !== null && _node$operationTypes !== void 0 ? _node$operationTypes : [];\n\n for (var _i2 = 0; _i2 < operationTypesNodes.length; _i2++) {\n var operationType = operationTypesNodes[_i2];\n var operation = operationType.operation;\n var alreadyDefinedOperationType = definedOperationTypes[operation];\n\n if (existingOperationTypes[operation]) {\n context.reportError(new GraphQLError(\"Type for \".concat(operation, \" already defined in the schema. It cannot be redefined.\"), operationType));\n } else if (alreadyDefinedOperationType) {\n context.reportError(new GraphQLError(\"There can be only one \".concat(operation, \" type in schema.\"), [alreadyDefinedOperationType, operationType]));\n } else {\n definedOperationTypes[operation] = operationType;\n }\n }\n\n return false;\n }\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique type names\n *\n * A GraphQL document is only valid if all defined types have unique names.\n */\nexport function UniqueTypeNamesRule(context) {\n var knownTypeNames = Object.create(null);\n var schema = context.getSchema();\n return {\n ScalarTypeDefinition: checkTypeName,\n ObjectTypeDefinition: checkTypeName,\n InterfaceTypeDefinition: checkTypeName,\n UnionTypeDefinition: checkTypeName,\n EnumTypeDefinition: checkTypeName,\n InputObjectTypeDefinition: checkTypeName\n };\n\n function checkTypeName(node) {\n var typeName = node.name.value;\n\n if (schema === null || schema === void 0 ? void 0 : schema.getType(typeName)) {\n context.reportError(new GraphQLError(\"Type \\\"\".concat(typeName, \"\\\" already exists in the schema. It cannot also be defined in this type definition.\"), node.name));\n return;\n }\n\n if (knownTypeNames[typeName]) {\n context.reportError(new GraphQLError(\"There can be only one type named \\\"\".concat(typeName, \"\\\".\"), [knownTypeNames[typeName], node.name]));\n } else {\n knownTypeNames[typeName] = node.name;\n }\n\n return false;\n }\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { isEnumType } from \"../../type/definition.mjs\";\n\n/**\n * Unique enum value names\n *\n * A GraphQL enum type is only valid if all its values are uniquely named.\n */\nexport function UniqueEnumValueNamesRule(context) {\n var schema = context.getSchema();\n var existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\n var knownValueNames = Object.create(null);\n return {\n EnumTypeDefinition: checkValueUniqueness,\n EnumTypeExtension: checkValueUniqueness\n };\n\n function checkValueUniqueness(node) {\n var _node$values;\n\n var typeName = node.name.value;\n\n if (!knownValueNames[typeName]) {\n knownValueNames[typeName] = Object.create(null);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n\n var valueNodes = (_node$values = node.values) !== null && _node$values !== void 0 ? _node$values : [];\n var valueNames = knownValueNames[typeName];\n\n for (var _i2 = 0; _i2 < valueNodes.length; _i2++) {\n var valueDef = valueNodes[_i2];\n var valueName = valueDef.name.value;\n var existingType = existingTypeMap[typeName];\n\n if (isEnumType(existingType) && existingType.getValue(valueName)) {\n context.reportError(new GraphQLError(\"Enum value \\\"\".concat(typeName, \".\").concat(valueName, \"\\\" already exists in the schema. It cannot also be defined in this type extension.\"), valueDef.name));\n } else if (valueNames[valueName]) {\n context.reportError(new GraphQLError(\"Enum value \\\"\".concat(typeName, \".\").concat(valueName, \"\\\" can only be defined once.\"), [valueNames[valueName], valueDef.name]));\n } else {\n valueNames[valueName] = valueDef.name;\n }\n }\n\n return false;\n }\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { isObjectType, isInterfaceType, isInputObjectType } from \"../../type/definition.mjs\";\n\n/**\n * Unique field definition names\n *\n * A GraphQL complex type is only valid if all its fields are uniquely named.\n */\nexport function UniqueFieldDefinitionNamesRule(context) {\n var schema = context.getSchema();\n var existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\n var knownFieldNames = Object.create(null);\n return {\n InputObjectTypeDefinition: checkFieldUniqueness,\n InputObjectTypeExtension: checkFieldUniqueness,\n InterfaceTypeDefinition: checkFieldUniqueness,\n InterfaceTypeExtension: checkFieldUniqueness,\n ObjectTypeDefinition: checkFieldUniqueness,\n ObjectTypeExtension: checkFieldUniqueness\n };\n\n function checkFieldUniqueness(node) {\n var _node$fields;\n\n var typeName = node.name.value;\n\n if (!knownFieldNames[typeName]) {\n knownFieldNames[typeName] = Object.create(null);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2203')\n\n\n var fieldNodes = (_node$fields = node.fields) !== null && _node$fields !== void 0 ? _node$fields : [];\n var fieldNames = knownFieldNames[typeName];\n\n for (var _i2 = 0; _i2 < fieldNodes.length; _i2++) {\n var fieldDef = fieldNodes[_i2];\n var fieldName = fieldDef.name.value;\n\n if (hasField(existingTypeMap[typeName], fieldName)) {\n context.reportError(new GraphQLError(\"Field \\\"\".concat(typeName, \".\").concat(fieldName, \"\\\" already exists in the schema. It cannot also be defined in this type extension.\"), fieldDef.name));\n } else if (fieldNames[fieldName]) {\n context.reportError(new GraphQLError(\"Field \\\"\".concat(typeName, \".\").concat(fieldName, \"\\\" can only be defined once.\"), [fieldNames[fieldName], fieldDef.name]));\n } else {\n fieldNames[fieldName] = fieldDef.name;\n }\n }\n\n return false;\n }\n}\n\nfunction hasField(type, fieldName) {\n if (isObjectType(type) || isInterfaceType(type) || isInputObjectType(type)) {\n return type.getFields()[fieldName] != null;\n }\n\n return false;\n}\n","import { GraphQLError } from \"../../error/GraphQLError.mjs\";\n\n/**\n * Unique directive names\n *\n * A GraphQL document is only valid if all defined directives have unique names.\n */\nexport function UniqueDirectiveNamesRule(context) {\n var knownDirectiveNames = Object.create(null);\n var schema = context.getSchema();\n return {\n DirectiveDefinition: function DirectiveDefinition(node) {\n var directiveName = node.name.value;\n\n if (schema === null || schema === void 0 ? void 0 : schema.getDirective(directiveName)) {\n context.reportError(new GraphQLError(\"Directive \\\"@\".concat(directiveName, \"\\\" already exists in the schema. It cannot be redefined.\"), node.name));\n return;\n }\n\n if (knownDirectiveNames[directiveName]) {\n context.reportError(new GraphQLError(\"There can be only one directive named \\\"@\".concat(directiveName, \"\\\".\"), [knownDirectiveNames[directiveName], node.name]));\n } else {\n knownDirectiveNames[directiveName] = node.name;\n }\n\n return false;\n }\n };\n}\n","var _defKindToExtKind;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport inspect from \"../../jsutils/inspect.mjs\";\nimport invariant from \"../../jsutils/invariant.mjs\";\nimport didYouMean from \"../../jsutils/didYouMean.mjs\";\nimport suggestionList from \"../../jsutils/suggestionList.mjs\";\nimport { GraphQLError } from \"../../error/GraphQLError.mjs\";\nimport { Kind } from \"../../language/kinds.mjs\";\nimport { isTypeDefinitionNode } from \"../../language/predicates.mjs\";\nimport { isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType } from \"../../type/definition.mjs\";\n\n/**\n * Possible type extension\n *\n * A type extension is only valid if the type is defined and has the same kind.\n */\nexport function PossibleTypeExtensionsRule(context) {\n var schema = context.getSchema();\n var definedTypes = Object.create(null);\n\n for (var _i2 = 0, _context$getDocument$2 = context.getDocument().definitions; _i2 < _context$getDocument$2.length; _i2++) {\n var def = _context$getDocument$2[_i2];\n\n if (isTypeDefinitionNode(def)) {\n definedTypes[def.name.value] = def;\n }\n }\n\n return {\n ScalarTypeExtension: checkExtension,\n ObjectTypeExtension: checkExtension,\n InterfaceTypeExtension: checkExtension,\n UnionTypeExtension: checkExtension,\n EnumTypeExtension: checkExtension,\n InputObjectTypeExtension: checkExtension\n };\n\n function checkExtension(node) {\n var typeName = node.name.value;\n var defNode = definedTypes[typeName];\n var existingType = schema === null || schema === void 0 ? void 0 : schema.getType(typeName);\n var expectedKind;\n\n if (defNode) {\n expectedKind = defKindToExtKind[defNode.kind];\n } else if (existingType) {\n expectedKind = typeToExtKind(existingType);\n }\n\n if (expectedKind) {\n if (expectedKind !== node.kind) {\n var kindStr = extensionKindToTypeName(node.kind);\n context.reportError(new GraphQLError(\"Cannot extend non-\".concat(kindStr, \" type \\\"\").concat(typeName, \"\\\".\"), defNode ? [defNode, node] : node));\n }\n } else {\n var allTypeNames = Object.keys(definedTypes);\n\n if (schema) {\n allTypeNames = allTypeNames.concat(Object.keys(schema.getTypeMap()));\n }\n\n var suggestedTypes = suggestionList(typeName, allTypeNames);\n context.reportError(new GraphQLError(\"Cannot extend type \\\"\".concat(typeName, \"\\\" because it is not defined.\") + didYouMean(suggestedTypes), node.name));\n }\n }\n}\nvar defKindToExtKind = (_defKindToExtKind = {}, _defineProperty(_defKindToExtKind, Kind.SCALAR_TYPE_DEFINITION, Kind.SCALAR_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.OBJECT_TYPE_DEFINITION, Kind.OBJECT_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.INTERFACE_TYPE_DEFINITION, Kind.INTERFACE_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.UNION_TYPE_DEFINITION, Kind.UNION_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.ENUM_TYPE_DEFINITION, Kind.ENUM_TYPE_EXTENSION), _defineProperty(_defKindToExtKind, Kind.INPUT_OBJECT_TYPE_DEFINITION, Kind.INPUT_OBJECT_TYPE_EXTENSION), _defKindToExtKind);\n\nfunction typeToExtKind(type) {\n if (isScalarType(type)) {\n return Kind.SCALAR_TYPE_EXTENSION;\n }\n\n if (isObjectType(type)) {\n return Kind.OBJECT_TYPE_EXTENSION;\n }\n\n if (isInterfaceType(type)) {\n return Kind.INTERFACE_TYPE_EXTENSION;\n }\n\n if (isUnionType(type)) {\n return Kind.UNION_TYPE_EXTENSION;\n }\n\n if (isEnumType(type)) {\n return Kind.ENUM_TYPE_EXTENSION;\n } // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2618')\n\n\n if (isInputObjectType(type)) {\n return Kind.INPUT_OBJECT_TYPE_EXTENSION;\n } // istanbul ignore next (Not reachable. All possible types have been considered)\n\n\n false || invariant(0, 'Unexpected type: ' + inspect(type));\n}\n\nfunction extensionKindToTypeName(kind) {\n switch (kind) {\n case Kind.SCALAR_TYPE_EXTENSION:\n return 'scalar';\n\n case Kind.OBJECT_TYPE_EXTENSION:\n return 'object';\n\n case Kind.INTERFACE_TYPE_EXTENSION:\n return 'interface';\n\n case Kind.UNION_TYPE_EXTENSION:\n return 'union';\n\n case Kind.ENUM_TYPE_EXTENSION:\n return 'enum';\n\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n return 'input object';\n } // istanbul ignore next (Not reachable. All possible types have been considered)\n\n\n false || invariant(0, 'Unexpected kind: ' + inspect(kind));\n}\n","import devAssert from \"../jsutils/devAssert.mjs\";\nimport { GraphQLError } from \"../error/GraphQLError.mjs\";\nvar NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/;\n/**\n * Upholds the spec rules about naming.\n */\n\nexport function assertValidName(name) {\n var error = isValidNameError(name);\n\n if (error) {\n throw error;\n }\n\n return name;\n}\n/**\n * Returns an Error if a name is invalid.\n */\n\nexport function isValidNameError(name) {\n typeof name === 'string' || devAssert(0, 'Expected name to be a string.');\n\n if (name.length > 1 && name[0] === '_' && name[1] === '_') {\n return new GraphQLError(\"Name \\\"\".concat(name, \"\\\" must not begin with \\\"__\\\", which is reserved by GraphQL introspection.\"));\n }\n\n if (!NAME_RX.test(name)) {\n return new GraphQLError(\"Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \\\"\".concat(name, \"\\\" does not.\"));\n }\n}\n","export function dset(obj, keys, val) {\n\tkeys.split && (keys=keys.split('.'));\n\tvar i=0, l=keys.length, t=obj, x, k;\n\tfor (; i < l;) {\n\t\tk = keys[i++];\n\t\tif (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n\t\tt = t[k] = (i === l) ? val : (typeof(x=t[k])===typeof(keys)) ? x : (keys[i]*0 !== 0 || !!~(''+keys[i]).indexOf('.')) ? {} : [];\n\t}\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nvar ExecuteButton = (function (_super) {\n __extends(ExecuteButton, _super);\n function ExecuteButton(props) {\n var _this = _super.call(this, props) || this;\n _this._onClick = function () {\n if (_this.props.isRunning) {\n _this.props.onStop();\n }\n else {\n _this.props.onRun();\n }\n };\n _this._onOptionSelected = function (operation) {\n _this.setState({ optionsOpen: false });\n _this.props.onRun(operation.name && operation.name.value);\n };\n _this._onOptionsOpen = function (downEvent) {\n var initialPress = true;\n var downTarget = downEvent.currentTarget;\n _this.setState({ highlight: null, optionsOpen: true });\n var onMouseUp = function (upEvent) {\n var _a;\n if (initialPress && upEvent.target === downTarget) {\n initialPress = false;\n }\n else {\n document.removeEventListener('mouseup', onMouseUp);\n onMouseUp = null;\n var isOptionsMenuClicked = upEvent.currentTarget && ((_a = downTarget.parentNode) === null || _a === void 0 ? void 0 : _a.compareDocumentPosition(upEvent.currentTarget)) &&\n Node.DOCUMENT_POSITION_CONTAINED_BY;\n if (!isOptionsMenuClicked) {\n _this.setState({ optionsOpen: false });\n }\n }\n };\n document.addEventListener('mouseup', onMouseUp);\n };\n _this.state = {\n optionsOpen: false,\n highlight: null,\n };\n return _this;\n }\n ExecuteButton.prototype.render = function () {\n var _this = this;\n var operations = this.props.operations || [];\n var optionsOpen = this.state.optionsOpen;\n var hasOptions = operations && operations.length > 1;\n var options = null;\n if (hasOptions && optionsOpen) {\n var highlight_1 = this.state.highlight;\n options = (React.createElement(\"ul\", { className: \"execute-options\" }, operations.map(function (operation, i) {\n var opName = operation.name\n ? operation.name.value\n : \"\";\n return (React.createElement(\"li\", { key: opName + \"-\" + i, className: operation === highlight_1 ? 'selected' : undefined, onMouseOver: function () { return _this.setState({ highlight: operation }); }, onMouseOut: function () { return _this.setState({ highlight: null }); }, onMouseUp: function () { return _this._onOptionSelected(operation); } }, opName));\n })));\n }\n var onClick;\n if (this.props.isRunning || !hasOptions) {\n onClick = this._onClick;\n }\n var onMouseDown = function () { };\n if (!this.props.isRunning && hasOptions && !optionsOpen) {\n onMouseDown = this._onOptionsOpen;\n }\n var pathJSX = this.props.isRunning ? (React.createElement(\"path\", { d: \"M 10 10 L 23 10 L 23 23 L 10 23 z\" })) : (React.createElement(\"path\", { d: \"M 11 9 L 24 16 L 11 23 z\" }));\n return (React.createElement(\"div\", { className: \"execute-button-wrap\" },\n React.createElement(\"button\", { type: \"button\", className: \"execute-button\", onMouseDown: onMouseDown, onClick: onClick, title: \"Execute Query (Ctrl-Enter)\" },\n React.createElement(\"svg\", { width: \"34\", height: \"34\" }, pathJSX)),\n options));\n };\n return ExecuteButton;\n}(React.Component));\nexport { ExecuteButton };\n//# sourceMappingURL=ExecuteButton.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nfunction tokenToURL(token) {\n if (token.type !== 'string') {\n return;\n }\n var value = token.string.slice(1).slice(0, -1).trim();\n try {\n var location_1 = window.location;\n return new URL(value, location_1.protocol + '//' + location_1.host);\n }\n catch (err) {\n return;\n }\n}\nfunction isImageURL(url) {\n return /(bmp|gif|jpeg|jpg|png|svg)$/.test(url.pathname);\n}\nvar ImagePreview = (function (_super) {\n __extends(ImagePreview, _super);\n function ImagePreview() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._node = null;\n _this.state = {\n width: null,\n height: null,\n src: null,\n mime: null,\n };\n return _this;\n }\n ImagePreview.shouldRender = function (token) {\n var url = tokenToURL(token);\n return url ? isImageURL(url) : false;\n };\n ImagePreview.prototype.componentDidMount = function () {\n this._updateMetadata();\n };\n ImagePreview.prototype.componentDidUpdate = function () {\n this._updateMetadata();\n };\n ImagePreview.prototype.render = function () {\n var _this = this;\n var _a;\n var dims = null;\n if (this.state.width !== null && this.state.height !== null) {\n var dimensions = this.state.width + 'x' + this.state.height;\n if (this.state.mime !== null) {\n dimensions += ' ' + this.state.mime;\n }\n dims = React.createElement(\"div\", null, dimensions);\n }\n return (React.createElement(\"div\", null,\n React.createElement(\"img\", { onLoad: function () { return _this._updateMetadata(); }, ref: function (node) {\n _this._node = node;\n }, src: (_a = tokenToURL(this.props.token)) === null || _a === void 0 ? void 0 : _a.href }),\n dims));\n };\n ImagePreview.prototype._updateMetadata = function () {\n var _this = this;\n if (!this._node) {\n return;\n }\n var width = this._node.naturalWidth;\n var height = this._node.naturalHeight;\n var src = this._node.src;\n if (src !== this.state.src) {\n this.setState({ src: src });\n fetch(src, { method: 'HEAD' }).then(function (response) {\n _this.setState({\n mime: response.headers.get('Content-Type'),\n });\n });\n }\n if (width !== this.state.width || height !== this.state.height) {\n this.setState({ height: height, width: width });\n }\n };\n return ImagePreview;\n}(React.Component));\nexport { ImagePreview };\n//# sourceMappingURL=ImagePreview.js.map","import invariant from \"../../../jsutils/invariant.mjs\";\nimport { GraphQLError } from \"../../../error/GraphQLError.mjs\";\nimport { getNamedType, isInputObjectType } from \"../../../type/definition.mjs\";\n\n/**\n * No deprecated\n *\n * A GraphQL document is only valid if all selected fields and all used enum values have not been\n * deprecated.\n *\n * Note: This rule is optional and is not part of the Validation section of the GraphQL\n * Specification. The main purpose of this rule is detection of deprecated usages and not\n * necessarily to forbid their use when querying a service.\n */\nexport function NoDeprecatedCustomRule(context) {\n return {\n Field: function Field(node) {\n var fieldDef = context.getFieldDef();\n var deprecationReason = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.deprecationReason;\n\n if (fieldDef && deprecationReason != null) {\n var parentType = context.getParentType();\n parentType != null || invariant(0);\n context.reportError(new GraphQLError(\"The field \".concat(parentType.name, \".\").concat(fieldDef.name, \" is deprecated. \").concat(deprecationReason), node));\n }\n },\n Argument: function Argument(node) {\n var argDef = context.getArgument();\n var deprecationReason = argDef === null || argDef === void 0 ? void 0 : argDef.deprecationReason;\n\n if (argDef && deprecationReason != null) {\n var directiveDef = context.getDirective();\n\n if (directiveDef != null) {\n context.reportError(new GraphQLError(\"Directive \\\"@\".concat(directiveDef.name, \"\\\" argument \\\"\").concat(argDef.name, \"\\\" is deprecated. \").concat(deprecationReason), node));\n } else {\n var parentType = context.getParentType();\n var fieldDef = context.getFieldDef();\n parentType != null && fieldDef != null || invariant(0);\n context.reportError(new GraphQLError(\"Field \\\"\".concat(parentType.name, \".\").concat(fieldDef.name, \"\\\" argument \\\"\").concat(argDef.name, \"\\\" is deprecated. \").concat(deprecationReason), node));\n }\n }\n },\n ObjectField: function ObjectField(node) {\n var inputObjectDef = getNamedType(context.getParentInputType());\n\n if (isInputObjectType(inputObjectDef)) {\n var inputFieldDef = inputObjectDef.getFields()[node.name.value]; // flowlint-next-line unnecessary-optional-chain:off\n\n var deprecationReason = inputFieldDef === null || inputFieldDef === void 0 ? void 0 : inputFieldDef.deprecationReason;\n\n if (deprecationReason != null) {\n context.reportError(new GraphQLError(\"The input field \".concat(inputObjectDef.name, \".\").concat(inputFieldDef.name, \" is deprecated. \").concat(deprecationReason), node));\n }\n }\n },\n EnumValue: function EnumValue(node) {\n var enumValueDef = context.getEnumValue();\n var deprecationReason = enumValueDef === null || enumValueDef === void 0 ? void 0 : enumValueDef.deprecationReason;\n\n if (enumValueDef && deprecationReason != null) {\n var enumTypeDef = getNamedType(context.getInputType());\n enumTypeDef != null || invariant(0);\n context.reportError(new GraphQLError(\"The enum value \\\"\".concat(enumTypeDef.name, \".\").concat(enumValueDef.name, \"\\\" is deprecated. \").concat(deprecationReason), node));\n }\n }\n };\n}\n","var CodeMirrorSizer = (function () {\n function CodeMirrorSizer() {\n this.sizes = [];\n }\n CodeMirrorSizer.prototype.updateSizes = function (components) {\n var _this = this;\n components.forEach(function (component, i) {\n if (component) {\n var size = component.getClientHeight();\n if (i <= _this.sizes.length && size !== _this.sizes[i]) {\n var editor = component.getCodeMirror();\n if (editor) {\n editor.setSize(null, null);\n }\n }\n _this.sizes[i] = size;\n }\n });\n };\n return CodeMirrorSizer;\n}());\nexport default CodeMirrorSizer;\n//# sourceMappingURL=CodeMirrorSizer.js.map","function isQuotaError(storage, e) {\n return (e instanceof DOMException &&\n (e.code === 22 ||\n e.code === 1014 ||\n e.name === 'QuotaExceededError' ||\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n storage.length !== 0);\n}\nvar StorageAPI = (function () {\n function StorageAPI(storage) {\n this.storage =\n storage || (typeof window !== 'undefined' ? window.localStorage : null);\n }\n StorageAPI.prototype.get = function (name) {\n if (this.storage) {\n var value = this.storage.getItem('graphiql:' + name);\n if (value === 'null' || value === 'undefined') {\n this.storage.removeItem('graphiql:' + name);\n return null;\n }\n if (value) {\n return value;\n }\n }\n return null;\n };\n StorageAPI.prototype.set = function (name, value) {\n var quotaError = false;\n var error = null;\n if (this.storage) {\n var key = \"graphiql:\" + name;\n if (value) {\n try {\n this.storage.setItem(key, value);\n }\n catch (e) {\n error = e;\n quotaError = isQuotaError(this.storage, e);\n }\n }\n else {\n this.storage.removeItem(key);\n }\n }\n return {\n isQuotaError: quotaError,\n error: error,\n };\n };\n return StorageAPI;\n}());\nexport default StorageAPI;\n//# sourceMappingURL=StorageAPI.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Explorer = undefined;\n\nvar _Explorer = require('./Explorer');\n\nvar _Explorer2 = _interopRequireDefault(_Explorer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Explorer = _Explorer2.default;\nexports.default = _Explorer2.default;","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.graphqlWs = {}));\n}(this, (function (exports) { 'use strict';\n\n /**\n *\n * protocol\n *\n */\n /** The WebSocket sub-protocol used for the [GraphQL over WebSocket Protocol](/PROTOCOL.md). */\n const GRAPHQL_TRANSPORT_WS_PROTOCOL = 'graphql-transport-ws';\n\n // Extremely small optimisation, reduces runtime prototype traversal\n const baseHasOwnProperty = Object.prototype.hasOwnProperty;\n function isObject(val) {\n return typeof val === 'object' && val !== null;\n }\n function areGraphQLErrors(obj) {\n return (Array.isArray(obj) &&\n // must be at least one error\n obj.length > 0 &&\n // error has at least a message\n obj.every((ob) => 'message' in ob));\n }\n function hasOwnProperty(obj, prop) {\n return baseHasOwnProperty.call(obj, prop);\n }\n function hasOwnObjectProperty(obj, prop) {\n return baseHasOwnProperty.call(obj, prop) && isObject(obj[prop]);\n }\n function hasOwnStringProperty(obj, prop) {\n return baseHasOwnProperty.call(obj, prop) && typeof obj[prop] === 'string';\n }\n\n /**\n *\n * message\n *\n */\n /** Types of messages allowed to be sent by the client/server over the WS protocol. */\n exports.MessageType = void 0;\n (function (MessageType) {\n MessageType[\"ConnectionInit\"] = \"connection_init\";\n MessageType[\"ConnectionAck\"] = \"connection_ack\";\n MessageType[\"Subscribe\"] = \"subscribe\";\n MessageType[\"Next\"] = \"next\";\n MessageType[\"Error\"] = \"error\";\n MessageType[\"Complete\"] = \"complete\";\n })(exports.MessageType || (exports.MessageType = {}));\n /** Checks if the provided value is a message. */\n function isMessage(val) {\n if (isObject(val)) {\n // all messages must have the `type` prop\n if (!hasOwnStringProperty(val, 'type')) {\n return false;\n }\n // validate other properties depending on the `type`\n switch (val.type) {\n case exports.MessageType.ConnectionInit:\n // the connection init message can have optional payload object\n return (!hasOwnProperty(val, 'payload') ||\n val.payload === undefined ||\n isObject(val.payload));\n case exports.MessageType.ConnectionAck:\n // the connection ack message can have optional payload object too\n return (!hasOwnProperty(val, 'payload') ||\n val.payload === undefined ||\n isObject(val.payload));\n case exports.MessageType.Subscribe:\n return (hasOwnStringProperty(val, 'id') &&\n hasOwnObjectProperty(val, 'payload') &&\n (!hasOwnProperty(val.payload, 'operationName') ||\n val.payload.operationName === undefined ||\n val.payload.operationName === null ||\n typeof val.payload.operationName === 'string') &&\n hasOwnStringProperty(val.payload, 'query') &&\n (!hasOwnProperty(val.payload, 'variables') ||\n val.payload.variables === undefined ||\n val.payload.variables === null ||\n hasOwnObjectProperty(val.payload, 'variables')));\n case exports.MessageType.Next:\n return (hasOwnStringProperty(val, 'id') &&\n hasOwnObjectProperty(val, 'payload'));\n case exports.MessageType.Error:\n return hasOwnStringProperty(val, 'id') && areGraphQLErrors(val.payload);\n case exports.MessageType.Complete:\n return hasOwnStringProperty(val, 'id');\n default:\n return false;\n }\n }\n return false;\n }\n /** Parses the raw websocket message data to a valid message. */\n function parseMessage(data) {\n if (isMessage(data)) {\n return data;\n }\n if (typeof data !== 'string') {\n throw new Error('Message not parsable');\n }\n const message = JSON.parse(data);\n if (!isMessage(message)) {\n throw new Error('Invalid message');\n }\n return message;\n }\n /** Stringifies a valid message ready to be sent through the socket. */\n function stringifyMessage(msg) {\n if (!isMessage(msg)) {\n throw new Error('Cannot stringify invalid message');\n }\n return JSON.stringify(msg);\n }\n\n /**\n *\n * client\n *\n */\n /** Creates a disposable GraphQL over WebSocket client. */\n function createClient(options) {\n const { url, connectionParams, lazy = true, onNonLazyError = console.error, keepAlive = 0, retryAttempts = 5, retryWait = async function randomisedExponentialBackoff(retries) {\n let retryDelay = 1000; // start with 1s delay\n for (let i = 0; i < retries; i++) {\n retryDelay *= 2;\n }\n await new Promise((resolve) => setTimeout(resolve, retryDelay +\n // add random timeout from 300ms to 3s\n Math.floor(Math.random() * (3000 - 300) + 300)));\n }, on, webSocketImpl, \n /**\n * Generates a v4 UUID to be used as the ID using `Math`\n * as the random number generator. Supply your own generator\n * in case you need more uniqueness.\n *\n * Reference: https://stackoverflow.com/a/2117523/709884\n */\n generateID = function generateUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }, } = options;\n let ws;\n if (webSocketImpl) {\n if (!isWebSocket(webSocketImpl)) {\n throw new Error('Invalid WebSocket implementation provided');\n }\n ws = webSocketImpl;\n }\n else if (typeof WebSocket !== 'undefined') {\n ws = WebSocket;\n }\n else if (typeof global !== 'undefined') {\n ws =\n global.WebSocket ||\n // @ts-expect-error: Support more browsers\n global.MozWebSocket;\n }\n else if (typeof window !== 'undefined') {\n ws =\n window.WebSocket ||\n // @ts-expect-error: Support more browsers\n window.MozWebSocket;\n }\n if (!ws) {\n throw new Error('WebSocket implementation missing');\n }\n const WebSocketImpl = ws;\n // websocket status emitter, subscriptions are handled differently\n const emitter = (() => {\n const listeners = {\n connecting: (on === null || on === void 0 ? void 0 : on.connecting) ? [on.connecting] : [],\n connected: (on === null || on === void 0 ? void 0 : on.connected) ? [on.connected] : [],\n closed: (on === null || on === void 0 ? void 0 : on.closed) ? [on.closed] : [],\n };\n return {\n on(event, listener) {\n const l = listeners[event];\n l.push(listener);\n return () => {\n l.splice(l.indexOf(listener), 1);\n };\n },\n emit(event, ...args) {\n for (const listener of listeners[event]) {\n // @ts-expect-error: The args should fit\n listener(...args);\n }\n },\n };\n })();\n let connecting, locks = 0, retrying = false, retries = 0, disposed = false;\n async function connect() {\n locks++;\n const socket = await (connecting !== null && connecting !== void 0 ? connecting : (connecting = new Promise((resolve, reject) => (async () => {\n if (retrying) {\n await retryWait(retries);\n retries++;\n }\n emitter.emit('connecting');\n const socket = new WebSocketImpl(url, GRAPHQL_TRANSPORT_WS_PROTOCOL);\n socket.onclose = (event) => {\n connecting = undefined;\n emitter.emit('closed', event);\n reject(event);\n };\n socket.onopen = async () => {\n try {\n socket.send(stringifyMessage({\n type: exports.MessageType.ConnectionInit,\n payload: typeof connectionParams === 'function'\n ? await connectionParams()\n : connectionParams,\n }));\n }\n catch (err) {\n socket.close(4400, err instanceof Error ? err.message : new Error(err).message);\n }\n };\n socket.onmessage = ({ data }) => {\n socket.onmessage = null; // interested only in the first message\n try {\n const message = parseMessage(data);\n if (message.type !== exports.MessageType.ConnectionAck) {\n throw new Error(`First message cannot be of type ${message.type}`);\n }\n emitter.emit('connected', socket, message.payload); // connected = socket opened + acknowledged\n retries = 0; // reset the retries on connect\n resolve(socket);\n }\n catch (err) {\n socket.close(4400, err instanceof Error ? err.message : new Error(err).message);\n }\n };\n })())));\n let release = () => {\n // releases this connection lock\n };\n const released = new Promise((resolve) => (release = resolve));\n return [\n socket,\n release,\n Promise.race([\n released.then(() => {\n if (--locks === 0) {\n // if no more connection locks are present, complete the connection\n const complete = () => socket.close(1000, 'Normal Closure');\n if (isFinite(keepAlive) && keepAlive > 0) {\n // if the keepalive is set, allow for the specified calmdown time and\n // then complete. but only if no lock got created in the meantime and\n // if the socket is still open\n setTimeout(() => {\n if (!locks && socket.readyState === WebSocketImpl.OPEN)\n complete();\n }, keepAlive);\n }\n else {\n // otherwise complete immediately\n complete();\n }\n }\n }),\n new Promise((_resolve, reject) => socket.addEventListener('close', reject, { once: true })),\n ]),\n ];\n }\n /**\n * Checks the `connect` problem and evaluates if the client should\n * retry. If the problem is worth throwing, it will be thrown immediately.\n */\n function shouldRetryConnectOrThrow(errOrCloseEvent) {\n // throw non `CloseEvent`s immediately, something else is wrong\n if (!isLikeCloseEvent(errOrCloseEvent)) {\n throw errOrCloseEvent;\n }\n // some close codes are worth reporting immediately\n if ([\n 1002,\n 1011,\n 4400,\n 4401,\n 4409,\n 4429,\n ].includes(errOrCloseEvent.code)) {\n throw errOrCloseEvent;\n }\n // disposed or normal closure (completed), shouldnt try again\n if (disposed || errOrCloseEvent.code === 1000) {\n return false;\n }\n // retries are not allowed or we tried to many times, report error\n if (!retryAttempts || retries >= retryAttempts) {\n throw errOrCloseEvent;\n }\n // looks good, start retrying\n retrying = true;\n return true;\n }\n // in non-lazy (hot?) mode always hold one connection lock to persist the socket\n if (!lazy) {\n (async () => {\n for (;;) {\n try {\n const [, , waitForReleaseOrThrowOnClose] = await connect();\n await waitForReleaseOrThrowOnClose;\n return; // completed, shouldnt try again\n }\n catch (errOrCloseEvent) {\n try {\n if (!shouldRetryConnectOrThrow(errOrCloseEvent))\n return onNonLazyError === null || onNonLazyError === void 0 ? void 0 : onNonLazyError(errOrCloseEvent);\n }\n catch (_a) {\n // report thrown error, no further retries\n return onNonLazyError === null || onNonLazyError === void 0 ? void 0 : onNonLazyError(errOrCloseEvent);\n }\n }\n }\n })();\n }\n // to avoid parsing the same message in each\n // subscriber, we memo one on the last received data\n let lastData, lastMessage;\n function memoParseMessage(data) {\n if (data !== lastData) {\n lastMessage = parseMessage(data);\n lastData = data;\n }\n return lastMessage;\n }\n return {\n on: emitter.on,\n subscribe(payload, sink) {\n const id = generateID();\n let completed = false;\n const releaserRef = {\n current: () => {\n // for handling completions before connect\n completed = true;\n },\n };\n function messageHandler({ data }) {\n const message = memoParseMessage(data);\n switch (message.type) {\n case exports.MessageType.Next: {\n if (message.id === id) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sink.next(message.payload);\n }\n return;\n }\n case exports.MessageType.Error: {\n if (message.id === id) {\n completed = true;\n sink.error(message.payload);\n releaserRef.current();\n // TODO-db-201025 calling releaser will complete the sink, meaning that both the `error` and `complete` will be\n // called. neither promises or observables care; once they settle, additional calls to the resolvers will be ignored\n }\n return;\n }\n case exports.MessageType.Complete: {\n if (message.id === id) {\n completed = true;\n releaserRef.current(); // release completes the sink\n }\n return;\n }\n }\n }\n (async () => {\n for (;;) {\n try {\n const [socket, release, waitForReleaseOrThrowOnClose,] = await connect();\n // if completed while waiting for connect, release the connection lock right away\n if (completed)\n return release();\n socket.addEventListener('message', messageHandler);\n socket.send(stringifyMessage({\n id: id,\n type: exports.MessageType.Subscribe,\n payload,\n }));\n releaserRef.current = () => {\n if (!completed && socket.readyState === WebSocketImpl.OPEN) {\n // if not completed already and socket is open, send complete message to server on release\n socket.send(stringifyMessage({\n id: id,\n type: exports.MessageType.Complete,\n }));\n }\n release();\n };\n // either the releaser will be called, connection completed and\n // the promise resolved or the socket closed and the promise rejected\n await waitForReleaseOrThrowOnClose;\n socket.removeEventListener('message', messageHandler);\n return; // completed, shouldnt try again\n }\n catch (errOrCloseEvent) {\n if (!shouldRetryConnectOrThrow(errOrCloseEvent))\n return;\n }\n }\n })()\n .catch(sink.error)\n .then(sink.complete); // resolves on release or normal closure\n return () => releaserRef.current();\n },\n async dispose() {\n disposed = true;\n if (connecting) {\n // if there is a connection, close it\n const socket = await connecting;\n socket.close(1000, 'Normal Closure');\n }\n },\n };\n }\n function isLikeCloseEvent(val) {\n return isObject(val) && 'code' in val && 'reason' in val;\n }\n function isWebSocket(val) {\n return (typeof val === 'function' &&\n 'constructor' in val &&\n 'CLOSED' in val &&\n 'CLOSING' in val &&\n 'CONNECTING' in val &&\n 'OPEN' in val);\n }\n\n exports.GRAPHQL_TRANSPORT_WS_PROTOCOL = GRAPHQL_TRANSPORT_WS_PROTOCOL;\n exports.createClient = createClient;\n exports.isMessage = isMessage;\n exports.parseMessage = parseMessage;\n exports.stringifyMessage = stringifyMessage;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","export default function _AwaitValue(value) {\n this.wrapped = value;\n}","import AwaitValue from \"./AwaitValue\";\nexport default function _awaitAsyncGenerator(value) {\n return new AwaitValue(value);\n}","import AwaitValue from \"./AwaitValue\";\nexport default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n var wrappedAwait = value instanceof AwaitValue;\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {\n if (wrappedAwait) {\n resume(key === \"return\" ? \"return\" : \"next\", arg);\n return;\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n }, function (err) {\n resume(\"throw\", err);\n });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen[\"return\"] !== \"function\") {\n this[\"return\"] = undefined;\n }\n}\n\nif (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n}\n\nAsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n};\n\nAsyncGenerator.prototype[\"throw\"] = function (arg) {\n return this._invoke(\"throw\", arg);\n};\n\nAsyncGenerator.prototype[\"return\"] = function (arg) {\n return this._invoke(\"return\", arg);\n};","import AsyncGenerator from \"./AsyncGenerator\";\nexport default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n}","export default function _asyncIterator(iterable) {\n var method;\n\n if (typeof Symbol !== \"undefined\") {\n if (Symbol.asyncIterator) {\n method = iterable[Symbol.asyncIterator];\n if (method != null) return method.call(iterable);\n }\n\n if (Symbol.iterator) {\n method = iterable[Symbol.iterator];\n if (method != null) return method.call(iterable);\n }\n }\n\n throw new TypeError(\"Object is not async iterable\");\n}","const separator = '\\r\\n\\r\\n';\r\nconst decoder = new TextDecoder;\r\nasync function* generate(stream, boundary, options) {\r\n const reader = stream.getReader(), is_eager = !options || !options.multiple;\r\n let buffer = '', is_preamble = true, payloads = [];\r\n try {\r\n let result;\r\n outer: while (!(result = await reader.read()).done) {\r\n const chunk = decoder.decode(result.value);\r\n const idx_chunk = chunk.indexOf(boundary);\r\n let idx_boundary = buffer.length;\r\n buffer += chunk;\r\n if (!!~idx_chunk) {\r\n // chunk itself had `boundary` marker\r\n idx_boundary += idx_chunk;\r\n }\r\n else {\r\n // search combined (boundary can be across chunks)\r\n idx_boundary = buffer.indexOf(boundary);\r\n }\r\n payloads = [];\r\n while (!!~idx_boundary) {\r\n const current = buffer.substring(0, idx_boundary);\r\n const next = buffer.substring(idx_boundary + boundary.length);\r\n if (is_preamble) {\r\n is_preamble = false;\r\n }\r\n else {\r\n const headers = {};\r\n const idx_headers = current.indexOf(separator);\r\n const arr_headers = buffer.slice(0, idx_headers).toString().trim().split(/\\r\\n/);\r\n // parse headers\r\n let tmp;\r\n while (tmp = arr_headers.shift()) {\r\n tmp = tmp.split(': ');\r\n headers[tmp.shift().toLowerCase()] = tmp.join(': ');\r\n }\r\n let body = current.substring(idx_headers + separator.length, current.lastIndexOf('\\r\\n'));\r\n let is_json = false;\r\n tmp = headers['content-type'];\r\n if (tmp && !!~tmp.indexOf('application/json')) {\r\n try {\r\n body = JSON.parse(body);\r\n is_json = true;\r\n }\r\n catch (_) {\r\n }\r\n }\r\n tmp = { headers, body, json: is_json };\r\n is_eager ? yield tmp : payloads.push(tmp);\r\n // hit a tail boundary, break\r\n if (next.substring(0, 2) === '--')\r\n break outer;\r\n }\r\n buffer = next;\r\n idx_boundary = buffer.indexOf(boundary);\r\n }\r\n if (payloads.length)\r\n yield payloads;\r\n }\r\n }\r\n finally {\r\n if (payloads.length)\r\n yield payloads;\r\n reader.releaseLock();\r\n }\r\n}\n\n/**\r\n * Yield immediately for every part made available on the response. If the `content-type` of the response isn't a\r\n * multipart body, then we'll resolve with {@link Response}.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * const parts = await fetch('/fetch-multipart')\r\n * .then(meros);\r\n *\r\n * for await (const part of parts) {\r\n * // do something with this part\r\n * }\r\n * ```\r\n */\r\nasync function meros(response, options) {\r\n if (!response.ok || !response.body || response.bodyUsed)\r\n return response;\r\n const ctype = response.headers.get('content-type');\r\n if (!ctype || !~ctype.indexOf('multipart/mixed'))\r\n return response;\r\n const idx_boundary = ctype.indexOf('boundary=');\r\n return generate(response.body, `--${!!~idx_boundary\r\n ? // +9 for 'boundary='.length\r\n ctype.substring(idx_boundary + 9).trim().replace(/['\"]/g, '')\r\n : '-'}`, options);\r\n}\n\nexport { meros };\n","type Deferred = {\n resolve: (value: T) => void;\n reject: (value: unknown) => void;\n promise: Promise;\n};\n\nfunction createDeferred(): Deferred {\n const d = {} as Deferred;\n d.promise = new Promise((resolve, reject) => {\n d.resolve = resolve;\n d.reject = reject;\n });\n return d;\n}\n\nexport type PushPullAsyncIterableIterator = {\n /* Push a new value that will be published on the AsyncIterableIterator. */\n pushValue: (value: T) => void;\n /* AsyncIterableIterator that publishes the values pushed on the stack with pushValue. */\n asyncIterableIterator: AsyncIterableIterator;\n};\n\nconst SYMBOL_FINISHED = Symbol();\nconst SYMBOL_NEW_VALUE = Symbol();\n\n/**\n * makePushPullAsyncIterableIterator\n *\n * The iterable will publish values until return or throw is called.\n * Afterwards it is in the completed state and cannot be used for publishing any further values.\n * It will handle back-pressure and keep pushed values until they are consumed by a source.\n */\nexport function makePushPullAsyncIterableIterator<\n T\n>(): PushPullAsyncIterableIterator {\n let isRunning = true;\n const values: Array = [];\n\n let newValueD = createDeferred();\n let finishedD = createDeferred();\n\n const asyncIterableIterator = (async function* PushPullAsyncIterableIterator(): AsyncIterableIterator<\n T\n > {\n while (true) {\n if (values.length > 0) {\n yield values.shift()!;\n } else {\n const result = await Promise.race([\n newValueD.promise,\n finishedD.promise\n ]);\n\n if (result === SYMBOL_FINISHED) {\n break;\n }\n }\n }\n })();\n\n function pushValue(value: T) {\n if (isRunning === false) {\n // TODO: Should this throw?\n return;\n }\n\n values.push(value);\n newValueD.resolve(SYMBOL_NEW_VALUE);\n newValueD = createDeferred();\n }\n\n // We monkey patch the original generator for clean-up\n const originalReturn = asyncIterableIterator[\"return\"]?.bind(\n asyncIterableIterator\n );\n asyncIterableIterator[\"return\"] = (\n ...args\n ): Promise> => {\n isRunning = false;\n finishedD.resolve(SYMBOL_FINISHED);\n return (\n originalReturn?.(...args) ??\n Promise.resolve({ done: true, value: undefined })\n );\n };\n const originalThrow = asyncIterableIterator[\"throw\"]?.bind(\n asyncIterableIterator\n );\n asyncIterableIterator[\"throw\"] = (\n ...args\n ): Promise> => {\n isRunning = false;\n finishedD.resolve(SYMBOL_FINISHED);\n return (\n originalThrow?.(...args) ??\n Promise.resolve({ done: true, value: undefined })\n );\n };\n\n return {\n pushValue,\n asyncIterableIterator\n };\n}\n","import { makePushPullAsyncIterableIterator } from \"./makePushPullAsyncIterableIterator\";\nimport { Sink } from \"./Sink\";\n\nexport const makeAsyncIterableIteratorFromSink = <\n TValue = unknown,\n TError = unknown\n>(\n make: (sink: Sink) => () => void\n): AsyncIterableIterator => {\n const {\n pushValue,\n asyncIterableIterator\n } = makePushPullAsyncIterableIterator();\n let dispose: () => void = () => undefined;\n\n const sink: Sink = {\n next: (value: TValue) => {\n pushValue(value);\n },\n complete: () => {\n dispose();\n asyncIterableIterator.return?.();\n },\n error: (err: TError) => {\n asyncIterableIterator.throw?.(err);\n }\n };\n\n dispose = make(sink);\n return asyncIterableIterator;\n};\n","import { visit } from 'graphql';\nimport { meros } from 'meros';\nimport { createClient } from 'graphql-ws';\nimport { SubscriptionClient } from 'subscriptions-transport-ws';\nimport { isAsyncIterable, makeAsyncIterableIteratorFromSink, } from '@n1ru4l/push-pull-async-iterable-iterator';\nexport const isSubscriptionWithName = (document, name) => {\n let isSubscription = false;\n visit(document, {\n OperationDefinition(node) {\n if (name === node.name?.value) {\n if (node.operation === 'subscription') {\n isSubscription = true;\n }\n }\n },\n });\n return isSubscription;\n};\nexport const createSimpleFetcher = (options, httpFetch) => async (graphQLParams, fetcherOpts) => {\n const data = await httpFetch(options.url, {\n method: 'POST',\n body: JSON.stringify(graphQLParams),\n headers: {\n 'content-type': 'application/json',\n ...options.headers,\n ...fetcherOpts?.headers,\n },\n });\n return data.json();\n};\nexport const createWebsocketsFetcherFromUrl = (url, connectionParams) => {\n let wsClient = null;\n let legacyClient = null;\n if (url) {\n try {\n try {\n wsClient = createClient({\n url,\n connectionParams,\n });\n if (!wsClient) {\n legacyClient = new SubscriptionClient(url, { connectionParams });\n }\n }\n catch (err) {\n legacyClient = new SubscriptionClient(url, { connectionParams });\n }\n }\n catch (err) {\n console.error(`Error creating websocket client for:\\n${url}\\n\\n${err}`);\n }\n }\n if (wsClient) {\n return createWebsocketsFetcherFromClient(wsClient);\n }\n else if (legacyClient) {\n return createLegacyWebsocketsFetcher(legacyClient);\n }\n else if (url) {\n throw Error('subscriptions client failed to initialize');\n }\n};\nexport const createWebsocketsFetcherFromClient = (wsClient) => (graphQLParams) => makeAsyncIterableIteratorFromSink(sink => wsClient.subscribe(graphQLParams, sink));\nexport const createLegacyWebsocketsFetcher = (legacyWsClient) => (graphQLParams) => {\n const observable = legacyWsClient.request(graphQLParams);\n return makeAsyncIterableIteratorFromSink(sink => observable.subscribe(sink).unsubscribe);\n};\nexport const createMultipartFetcher = (options, httpFetch) => async function* (graphQLParams, fetcherOpts) {\n const response = await httpFetch(options.url, {\n method: 'POST',\n body: JSON.stringify(graphQLParams),\n headers: {\n 'content-type': 'application/json',\n accept: 'application/json, multipart/mixed',\n ...options.headers,\n ...fetcherOpts?.headers,\n },\n }).then(response => meros(response, {\n multiple: true,\n }));\n if (!isAsyncIterable(response)) {\n return yield response.json();\n }\n for await (const chunk of response) {\n if (chunk.some(part => !part.json)) {\n const message = chunk.map(part => `Headers::\\n${part.headers}\\n\\nBody::\\n${part.body}`);\n throw new Error(`Expected multipart chunks to be of json type. got:\\n${message}`);\n }\n yield chunk.map(part => part.body);\n }\n};\n//# sourceMappingURL=lib.js.map","export function isAsyncIterable(\n input: unknown\n): input is AsyncIterator | AsyncIterableIterator {\n return (\n typeof input === \"object\" &&\n input !== null &&\n // The AsyncGenerator check is for Safari on iOS which currently does not have\n // Symbol.asyncIterator implemented\n // That means every custom AsyncIterable must be built using a AsyncGeneratorFunction (async function * () {})\n ((input as any)[Symbol.toStringTag] === \"AsyncGenerator\" ||\n (Symbol.asyncIterator && Symbol.asyncIterator in input))\n );\n}\n","import { createMultipartFetcher, createSimpleFetcher, isSubscriptionWithName, createWebsocketsFetcherFromUrl, createWebsocketsFetcherFromClient, } from './lib';\nexport function createGraphiQLFetcher(options) {\n let httpFetch;\n let wsFetcher = null;\n if (typeof window !== null && window?.fetch) {\n httpFetch = window.fetch;\n }\n if (options?.enableIncrementalDelivery === null ||\n options.enableIncrementalDelivery !== false) {\n options.enableIncrementalDelivery = true;\n }\n if (options.fetch) {\n httpFetch = options.fetch;\n }\n if (!httpFetch) {\n throw Error('No valid fetcher implementation available');\n }\n const simpleFetcher = createSimpleFetcher(options, httpFetch);\n if (options.subscriptionUrl) {\n wsFetcher = createWebsocketsFetcherFromUrl(options.subscriptionUrl);\n }\n if (options.wsClient) {\n wsFetcher = createWebsocketsFetcherFromClient(options.wsClient);\n }\n const httpFetcher = options.enableIncrementalDelivery\n ? createMultipartFetcher(options, httpFetch)\n : simpleFetcher;\n return (graphQLParams, fetcherOpts) => {\n if (graphQLParams.operationName === 'IntrospectionQuery') {\n return (options.schemaFetcher || simpleFetcher)(graphQLParams, fetcherOpts);\n }\n const isSubscription = isSubscriptionWithName(fetcherOpts?.documentAST, graphQLParams.operationName);\n if (isSubscription) {\n if (!wsFetcher) {\n throw Error(`Your GraphiQL createFetcher is not properly configured for websocket subscriptions yet. ${options.subscriptionUrl\n ? `Provided URL ${options.subscriptionUrl} failed`\n : `Try providing options.subscriptionUrl or options.wsClient first.`}`);\n }\n return wsFetcher(graphQLParams);\n }\n return httpFetcher(graphQLParams, fetcherOpts);\n };\n}\n//# sourceMappingURL=createFetcher.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar QueryStore = (function () {\n function QueryStore(key, storage, maxSize) {\n if (maxSize === void 0) { maxSize = null; }\n this.key = key;\n this.storage = storage;\n this.maxSize = maxSize;\n this.items = this.fetchAll();\n }\n Object.defineProperty(QueryStore.prototype, \"length\", {\n get: function () {\n return this.items.length;\n },\n enumerable: false,\n configurable: true\n });\n QueryStore.prototype.contains = function (item) {\n return this.items.some(function (x) {\n return x.query === item.query &&\n x.variables === item.variables &&\n x.headers === item.headers &&\n x.operationName === item.operationName;\n });\n };\n QueryStore.prototype.edit = function (item) {\n var itemIndex = this.items.findIndex(function (x) {\n return x.query === item.query &&\n x.variables === item.variables &&\n x.headers === item.headers &&\n x.operationName === item.operationName;\n });\n if (itemIndex !== -1) {\n this.items.splice(itemIndex, 1, item);\n this.save();\n }\n };\n QueryStore.prototype.delete = function (item) {\n var itemIndex = this.items.findIndex(function (x) {\n return x.query === item.query &&\n x.variables === item.variables &&\n x.headers === item.headers &&\n x.operationName === item.operationName;\n });\n if (itemIndex !== -1) {\n this.items.splice(itemIndex, 1);\n this.save();\n }\n };\n QueryStore.prototype.fetchRecent = function () {\n return this.items[this.items.length - 1];\n };\n QueryStore.prototype.fetchAll = function () {\n var raw = this.storage.get(this.key);\n if (raw) {\n return JSON.parse(raw)[this.key];\n }\n return [];\n };\n QueryStore.prototype.push = function (item) {\n var _a;\n var items = __spreadArrays(this.items, [item]);\n if (this.maxSize && items.length > this.maxSize) {\n items.shift();\n }\n for (var attempts = 0; attempts < 5; attempts++) {\n var response = this.storage.set(this.key, JSON.stringify((_a = {}, _a[this.key] = items, _a)));\n if (!response || !response.error) {\n this.items = items;\n }\n else if (response.isQuotaError && this.maxSize) {\n items.shift();\n }\n else {\n return;\n }\n }\n };\n QueryStore.prototype.save = function () {\n var _a;\n this.storage.set(this.key, JSON.stringify((_a = {}, _a[this.key] = this.items, _a)));\n };\n return QueryStore;\n}());\nexport default QueryStore;\n//# sourceMappingURL=QueryStore.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport React from 'react';\nvar HistoryQuery = (function (_super) {\n __extends(HistoryQuery, _super);\n function HistoryQuery(props) {\n var _this = _super.call(this, props) || this;\n _this.state = {\n editable: false,\n };\n _this.editField = null;\n return _this;\n }\n HistoryQuery.prototype.render = function () {\n var _this = this;\n var _a;\n var displayName = this.props.label ||\n this.props.operationName || ((_a = this.props.query) === null || _a === void 0 ? void 0 : _a.split('\\n').filter(function (line) { return line.indexOf('#') !== 0; }).join(''));\n var starIcon = this.props.favorite ? '\\u2605' : '\\u2606';\n return (React.createElement(\"li\", { className: this.state.editable ? 'editable' : undefined },\n this.state.editable ? (React.createElement(\"input\", { type: \"text\", defaultValue: this.props.label, ref: function (c) {\n _this.editField = c;\n }, onBlur: this.handleFieldBlur.bind(this), onKeyDown: this.handleFieldKeyDown.bind(this), placeholder: \"Type a label\" })) : (React.createElement(\"button\", { className: \"history-label\", onClick: this.handleClick.bind(this) }, displayName)),\n React.createElement(\"button\", { onClick: this.handleEditClick.bind(this), \"aria-label\": \"Edit label\" }, '\\u270e'),\n React.createElement(\"button\", { className: this.props.favorite ? 'favorited' : undefined, onClick: this.handleStarClick.bind(this), \"aria-label\": this.props.favorite ? 'Remove favorite' : 'Add favorite' }, starIcon)));\n };\n HistoryQuery.prototype.handleClick = function () {\n this.props.onSelect(this.props.query, this.props.variables, this.props.headers, this.props.operationName, this.props.label);\n };\n HistoryQuery.prototype.handleStarClick = function (e) {\n e.stopPropagation();\n this.props.handleToggleFavorite(this.props.query, this.props.variables, this.props.headers, this.props.operationName, this.props.label, this.props.favorite);\n };\n HistoryQuery.prototype.handleFieldBlur = function (e) {\n e.stopPropagation();\n this.setState({ editable: false });\n this.props.handleEditLabel(this.props.query, this.props.variables, this.props.headers, this.props.operationName, e.target.value, this.props.favorite);\n };\n HistoryQuery.prototype.handleFieldKeyDown = function (e) {\n if (e.keyCode === 13) {\n e.stopPropagation();\n this.setState({ editable: false });\n this.props.handleEditLabel(this.props.query, this.props.variables, this.props.headers, this.props.operationName, e.currentTarget.value, this.props.favorite);\n }\n };\n HistoryQuery.prototype.handleEditClick = function (e) {\n var _this = this;\n e.stopPropagation();\n this.setState({ editable: true }, function () {\n if (_this.editField) {\n _this.editField.focus();\n }\n });\n };\n return HistoryQuery;\n}(React.Component));\nexport default HistoryQuery;\n//# sourceMappingURL=HistoryQuery.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { parse } from 'graphql';\nimport React from 'react';\nimport QueryStore from '../utility/QueryStore';\nimport HistoryQuery from './HistoryQuery';\nvar MAX_QUERY_SIZE = 100000;\nvar MAX_HISTORY_LENGTH = 20;\nvar shouldSaveQuery = function (query, variables, headers, lastQuerySaved) {\n if (!query) {\n return false;\n }\n try {\n parse(query);\n }\n catch (e) {\n return false;\n }\n if (query.length > MAX_QUERY_SIZE) {\n return false;\n }\n if (!lastQuerySaved) {\n return true;\n }\n if (JSON.stringify(query) === JSON.stringify(lastQuerySaved.query)) {\n if (JSON.stringify(variables) === JSON.stringify(lastQuerySaved.variables)) {\n if (JSON.stringify(headers) === JSON.stringify(lastQuerySaved.headers)) {\n return false;\n }\n if (headers && !lastQuerySaved.headers) {\n return false;\n }\n }\n if (variables && !lastQuerySaved.variables) {\n return false;\n }\n }\n return true;\n};\nvar QueryHistory = (function (_super) {\n __extends(QueryHistory, _super);\n function QueryHistory(props) {\n var _this = _super.call(this, props) || this;\n _this.updateHistory = function (query, variables, headers, operationName) {\n if (shouldSaveQuery(query, variables, headers, _this.historyStore.fetchRecent())) {\n _this.historyStore.push({\n query: query,\n variables: variables,\n headers: headers,\n operationName: operationName,\n });\n var historyQueries = _this.historyStore.items;\n var favoriteQueries = _this.favoriteStore.items;\n var queries = historyQueries.concat(favoriteQueries);\n _this.setState({\n queries: queries,\n });\n }\n };\n _this.toggleFavorite = function (query, variables, headers, operationName, label, favorite) {\n var item = {\n query: query,\n variables: variables,\n headers: headers,\n operationName: operationName,\n label: label,\n };\n if (!_this.favoriteStore.contains(item)) {\n item.favorite = true;\n _this.favoriteStore.push(item);\n }\n else if (favorite) {\n item.favorite = false;\n _this.favoriteStore.delete(item);\n }\n _this.setState({\n queries: __spreadArrays(_this.historyStore.items, _this.favoriteStore.items),\n });\n };\n _this.editLabel = function (query, variables, headers, operationName, label, favorite) {\n var item = {\n query: query,\n variables: variables,\n headers: headers,\n operationName: operationName,\n label: label,\n };\n if (favorite) {\n _this.favoriteStore.edit(__assign(__assign({}, item), { favorite: favorite }));\n }\n else {\n _this.historyStore.edit(item);\n }\n _this.setState({\n queries: __spreadArrays(_this.historyStore.items, _this.favoriteStore.items),\n });\n };\n _this.historyStore = new QueryStore('queries', props.storage, MAX_HISTORY_LENGTH);\n _this.favoriteStore = new QueryStore('favorites', props.storage, null);\n var historyQueries = _this.historyStore.fetchAll();\n var favoriteQueries = _this.favoriteStore.fetchAll();\n var queries = historyQueries.concat(favoriteQueries);\n _this.state = { queries: queries };\n return _this;\n }\n QueryHistory.prototype.render = function () {\n var _this = this;\n var queries = this.state.queries.slice().reverse();\n var queryNodes = queries.map(function (query, i) {\n return (React.createElement(HistoryQuery, __assign({ handleEditLabel: _this.editLabel, handleToggleFavorite: _this.toggleFavorite, key: i + \":\" + (query.label || query.query), onSelect: _this.props.onSelectQuery }, query)));\n });\n return (React.createElement(\"section\", { \"aria-label\": \"History\" },\n React.createElement(\"div\", { className: \"history-title-bar\" },\n React.createElement(\"div\", { className: \"history-title\" }, 'History'),\n React.createElement(\"div\", { className: \"doc-explorer-rhs\" }, this.props.children)),\n React.createElement(\"ul\", { className: \"history-contents\" }, queryNodes)));\n };\n return QueryHistory;\n}(React.Component));\nexport { QueryHistory };\n//# sourceMappingURL=QueryHistory.js.map","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","// Main parser class\n\n'use strict';\n\n\nvar utils = require('./common/utils');\nvar helpers = require('./helpers');\nvar Renderer = require('./renderer');\nvar ParserCore = require('./parser_core');\nvar ParserBlock = require('./parser_block');\nvar ParserInline = require('./parser_inline');\nvar LinkifyIt = require('linkify-it');\nvar mdurl = require('mdurl');\nvar punycode = require('punycode');\n\n\nvar config = {\n 'default': require('./presets/default'),\n zero: require('./presets/zero'),\n commonmark: require('./presets/commonmark')\n};\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// This validator can prohibit more than really needed to prevent XSS. It's a\n// tradeoff to keep code simple and to be secure by default.\n//\n// If you need different setup - override validator method as you wish. Or\n// replace it with dummy function and use external sanitizer.\n//\n\nvar BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;\nvar GOOD_DATA_RE = /^data:image\\/(gif|png|jpeg|webp);/;\n\nfunction validateLink(url) {\n // url should be normalized at this point, and existing entities are decoded\n var str = url.trim().toLowerCase();\n\n return BAD_PROTO_RE.test(str) ? (GOOD_DATA_RE.test(str) ? true : false) : true;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar RECODE_HOSTNAME_FOR = [ 'http:', 'https:', 'mailto:' ];\n\nfunction normalizeLink(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toASCII(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n return mdurl.encode(mdurl.format(parsed));\n}\n\nfunction normalizeLinkText(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toUnicode(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n return mdurl.decode(mdurl.format(parsed));\n}\n\n\n/**\n * class MarkdownIt\n *\n * Main parser/renderer class.\n *\n * ##### Usage\n *\n * ```javascript\n * // node.js, \"classic\" way:\n * var MarkdownIt = require('markdown-it'),\n * md = new MarkdownIt();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // node.js, the same, but with sugar:\n * var md = require('markdown-it')();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // browser without AMD, added to \"window\" on script load\n * // Note, there are no dash.\n * var md = window.markdownit();\n * var result = md.render('# markdown-it rulezz!');\n * ```\n *\n * Single line rendering, without paragraph wrap:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * var result = md.renderInline('__markdown-it__ rulezz!');\n * ```\n **/\n\n/**\n * new MarkdownIt([presetName, options])\n * - presetName (String): optional, `commonmark` / `zero`\n * - options (Object)\n *\n * Creates parser instanse with given config. Can be called without `new`.\n *\n * ##### presetName\n *\n * MarkdownIt provides named presets as a convenience to quickly\n * enable/disable active syntax rules and options for common use cases.\n *\n * - [\"commonmark\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -\n * configures parser to strict [CommonMark](http://commonmark.org/) mode.\n * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -\n * similar to GFM, used when no preset name given. Enables all available rules,\n * but still without html, typographer & autolinker.\n * - [\"zero\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -\n * all rules disabled. Useful to quickly setup your config via `.enable()`.\n * For example, when you need only `bold` and `italic` markup and nothing else.\n *\n * ##### options:\n *\n * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!\n * That's not safe! You may need external sanitizer to protect output from XSS.\n * It's better to extend features via plugins, instead of enabling HTML.\n * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags\n * (`
    `). This is needed only for full CommonMark compatibility. In real\n * world you will need HTML output.\n * - __breaks__ - `false`. Set `true` to convert `\\n` in paragraphs into `
    `.\n * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.\n * Can be useful for external highlighters.\n * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.\n * - __typographer__ - `false`. Set `true` to enable [some language-neutral\n * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +\n * quotes beautification (smartquotes).\n * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement\n * pairs, when typographer enabled and smartquotes on. For example, you can\n * use `'«»„“'` for Russian, `'„“‚‘'` for German, and\n * `['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›']` for French (including nbsp).\n * - __highlight__ - `null`. Highlighter function for fenced code blocks.\n * Highlighter `function (str, lang)` should return escaped HTML. It can also\n * return empty string if the source was not changed and should be escaped\n * externaly. If result starts with `):\n *\n * ```javascript\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * // Actual default values\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return '
    ' +\n *                hljs.highlight(lang, str, true).value +\n *                '
    ';\n * } catch (__) {}\n * }\n *\n * return '
    ' + md.utils.escapeHtml(str) + '
    ';\n * }\n * });\n * ```\n *\n **/\nfunction MarkdownIt(presetName, options) {\n if (!(this instanceof MarkdownIt)) {\n return new MarkdownIt(presetName, options);\n }\n\n if (!options) {\n if (!utils.isString(presetName)) {\n options = presetName || {};\n presetName = 'default';\n }\n }\n\n /**\n * MarkdownIt#inline -> ParserInline\n *\n * Instance of [[ParserInline]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.inline = new ParserInline();\n\n /**\n * MarkdownIt#block -> ParserBlock\n *\n * Instance of [[ParserBlock]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.block = new ParserBlock();\n\n /**\n * MarkdownIt#core -> Core\n *\n * Instance of [[Core]] chain executor. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.core = new ParserCore();\n\n /**\n * MarkdownIt#renderer -> Renderer\n *\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\n * rules for new token types, generated by plugins.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * function myToken(tokens, idx, options, env, self) {\n * //...\n * return result;\n * };\n *\n * md.renderer.rules['my_token'] = myToken\n * ```\n *\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\n **/\n this.renderer = new Renderer();\n\n /**\n * MarkdownIt#linkify -> LinkifyIt\n *\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\n * rule.\n **/\n this.linkify = new LinkifyIt();\n\n /**\n * MarkdownIt#validateLink(url) -> Boolean\n *\n * Link validation function. CommonMark allows too much in links. By default\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\n * except some embedded image types.\n *\n * You can change this behaviour:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * // enable everything\n * md.validateLink = function () { return true; }\n * ```\n **/\n this.validateLink = validateLink;\n\n /**\n * MarkdownIt#normalizeLink(url) -> String\n *\n * Function used to encode link url to a machine-readable format,\n * which includes url-encoding, punycode, etc.\n **/\n this.normalizeLink = normalizeLink;\n\n /**\n * MarkdownIt#normalizeLinkText(url) -> String\n *\n * Function used to decode link url to a human-readable format`\n **/\n this.normalizeLinkText = normalizeLinkText;\n\n\n // Expose utils & helpers for easy acces from plugins\n\n /**\n * MarkdownIt#utils -> utils\n *\n * Assorted utility functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).\n **/\n this.utils = utils;\n\n /**\n * MarkdownIt#helpers -> helpers\n *\n * Link components parser functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\n **/\n this.helpers = utils.assign({}, helpers);\n\n\n this.options = {};\n this.configure(presetName);\n\n if (options) { this.set(options); }\n}\n\n\n/** chainable\n * MarkdownIt.set(options)\n *\n * Set parser options (in the same format as in constructor). Probably, you\n * will never need it, but you can change options after constructor call.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .set({ html: true, breaks: true })\n * .set({ typographer, true });\n * ```\n *\n * __Note:__ To achieve the best possible performance, don't modify a\n * `markdown-it` instance options on the fly. If you need multiple configurations\n * it's best to create multiple instances and initialize each with separate\n * config.\n **/\nMarkdownIt.prototype.set = function (options) {\n utils.assign(this.options, options);\n return this;\n};\n\n\n/** chainable, internal\n * MarkdownIt.configure(presets)\n *\n * Batch load of all options and compenent settings. This is internal method,\n * and you probably will not need it. But if you with - see available presets\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\n *\n * We strongly recommend to use presets instead of direct config loads. That\n * will give better compatibility with next versions.\n **/\nMarkdownIt.prototype.configure = function (presets) {\n var self = this, presetName;\n\n if (utils.isString(presets)) {\n presetName = presets;\n presets = config[presetName];\n if (!presets) { throw new Error('Wrong `markdown-it` preset \"' + presetName + '\", check name'); }\n }\n\n if (!presets) { throw new Error('Wrong `markdown-it` preset, can\\'t be empty'); }\n\n if (presets.options) { self.set(presets.options); }\n\n if (presets.components) {\n Object.keys(presets.components).forEach(function (name) {\n if (presets.components[name].rules) {\n self[name].ruler.enableOnly(presets.components[name].rules);\n }\n if (presets.components[name].rules2) {\n self[name].ruler2.enableOnly(presets.components[name].rules2);\n }\n });\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.enable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to enable\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable list or rules. It will automatically find appropriate components,\n * containing rules with given names. If rule not found, and `ignoreInvalid`\n * not set - throws exception.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .enable(['sub', 'sup'])\n * .disable('smartquotes');\n * ```\n **/\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.enable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.enable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);\n }\n\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.disable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\n **/\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.disable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.disable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.use(plugin, params)\n *\n * Load specified plugin with given params into current parser instance.\n * It's just a sugar to call `plugin(md, params)` with curring.\n *\n * ##### Example\n *\n * ```javascript\n * var iterator = require('markdown-it-for-inline');\n * var md = require('markdown-it')()\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\n * });\n * ```\n **/\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\n var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));\n plugin.apply(plugin, args);\n return this;\n};\n\n\n/** internal\n * MarkdownIt.parse(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Parse input string and returns list of block tokens (special token type\n * \"inline\" will contain list of inline tokens). You should not call this\n * method directly, until you write custom renderer (for example, to produce\n * AST).\n *\n * `env` is used to pass data between \"distributed\" rules and return additional\n * metadata like reference info, needed for the renderer. It also can be used to\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\n * and then pass updated object to renderer.\n **/\nMarkdownIt.prototype.parse = function (src, env) {\n if (typeof src !== 'string') {\n throw new Error('Input data should be a String');\n }\n\n var state = new this.core.State(src, this, env);\n\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.render(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Render markdown string into html. It does all magic for you :).\n *\n * `env` can be used to inject additional metadata (`{}` by default).\n * But you will not need it with high probability. See also comment\n * in [[MarkdownIt.parse]].\n **/\nMarkdownIt.prototype.render = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parse(src, env), this.options, env);\n};\n\n\n/** internal\n * MarkdownIt.parseInline(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\n * block tokens list with the single `inline` element, containing parsed inline\n * tokens in `children` property. Also updates `env` object.\n **/\nMarkdownIt.prototype.parseInline = function (src, env) {\n var state = new this.core.State(src, this, env);\n\n state.inlineMode = true;\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.renderInline(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\n * will NOT be wrapped into `

    ` tags.\n **/\nMarkdownIt.prototype.renderInline = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parseInline(src, env), this.options, env);\n};\n\n\nmodule.exports = MarkdownIt;\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","\n'use strict';\n\n\n/* eslint-disable no-bitwise */\n\nvar decodeCache = {};\n\nfunction getDecodeCache(exclude) {\n var i, ch, cache = decodeCache[exclude];\n if (cache) { return cache; }\n\n cache = decodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n cache.push(ch);\n }\n\n for (i = 0; i < exclude.length; i++) {\n ch = exclude.charCodeAt(i);\n cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);\n }\n\n return cache;\n}\n\n\n// Decode percent-encoded string.\n//\nfunction decode(string, exclude) {\n var cache;\n\n if (typeof exclude !== 'string') {\n exclude = decode.defaultChars;\n }\n\n cache = getDecodeCache(exclude);\n\n return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {\n var i, l, b1, b2, b3, b4, chr,\n result = '';\n\n for (i = 0, l = seq.length; i < l; i += 3) {\n b1 = parseInt(seq.slice(i + 1, i + 3), 16);\n\n if (b1 < 0x80) {\n result += cache[b1];\n continue;\n }\n\n if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {\n // 110xxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n\n if ((b2 & 0xC0) === 0x80) {\n chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);\n\n if (chr < 0x80) {\n result += '\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 3;\n continue;\n }\n }\n\n if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\n chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);\n\n if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) {\n result += '\\ufffd\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 6;\n continue;\n }\n }\n\n if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {\n // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n b4 = parseInt(seq.slice(i + 10, i + 12), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {\n chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);\n\n if (chr < 0x10000 || chr > 0x10FFFF) {\n result += '\\ufffd\\ufffd\\ufffd\\ufffd';\n } else {\n chr -= 0x10000;\n result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));\n }\n\n i += 9;\n continue;\n }\n }\n\n result += '\\ufffd';\n }\n\n return result;\n });\n}\n\n\ndecode.defaultChars = ';/?:@&=+$,#';\ndecode.componentChars = '';\n\n\nmodule.exports = decode;\n","\n'use strict';\n\n\nmodule.exports = function format(url) {\n var result = '';\n\n result += url.protocol || '';\n result += url.slashes ? '//' : '';\n result += url.auth ? url.auth + '@' : '';\n\n if (url.hostname && url.hostname.indexOf(':') !== -1) {\n // ipv6 address\n result += '[' + url.hostname + ']';\n } else {\n result += url.hostname || '';\n }\n\n result += url.port ? ':' + url.port : '';\n result += url.pathname || '';\n result += url.search || '';\n result += url.hash || '';\n\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n//\n// Changes from joyent/node:\n//\n// 1. No leading slash in paths,\n// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`\n//\n// 2. Backslashes are not replaced with slashes,\n// so `http:\\\\example.org\\` is treated like a relative path\n//\n// 3. Trailing colon is treated like a part of the path,\n// i.e. in `http://example.org:foo` pathname is `:foo`\n//\n// 4. Nothing is URL-encoded in the resulting object,\n// (in joyent/node some chars in auth and paths are encoded)\n//\n// 5. `url.parse()` does not have `parseQueryString` argument\n//\n// 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\n// which can be constructed using other parts of the url.\n//\n\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.pathname = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = [ '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t' ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [ '{', '}', '|', '\\\\', '^', '`' ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = [ '\\'' ].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape),\n hostEndingChars = [ '/', '?', '#' ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n /* eslint-disable no-script-url */\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n };\n /* eslint-enable no-script-url */\n\nfunction urlParse(url, slashesDenoteHost) {\n if (url && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, slashesDenoteHost) {\n var i, l, lowerProto, hec, slashes,\n rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n lowerProto = proto.toLowerCase();\n this.protocol = proto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (i = 0; i < hostEndingChars.length; i++) {\n hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = auth;\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (i = 0; i < nonHostChars.length; i++) {\n hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) {\n hostEnd = rest.length;\n }\n\n if (rest[hostEnd - 1] === ':') { hostEnd--; }\n var host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost(host);\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n }\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n rest = rest.slice(0, qm);\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '';\n }\n\n return this;\n};\n\nUrl.prototype.parseHost = function(host) {\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nmodule.exports = urlParse;\n","'use strict';\n\nexports.Any = require('./properties/Any/regex');\nexports.Cc = require('./categories/Cc/regex');\nexports.Cf = require('./categories/Cf/regex');\nexports.P = require('./categories/P/regex');\nexports.Z = require('./categories/Z/regex');\n","module.exports=/[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/","// Just a shortcut for bulk export\n'use strict';\n\n\nexports.parseLinkLabel = require('./parse_link_label');\nexports.parseLinkDestination = require('./parse_link_destination');\nexports.parseLinkTitle = require('./parse_link_title');\n","// Parse link label\n//\n// this function assumes that first character (\"[\") already matches;\n// returns the end of the label\n//\n'use strict';\n\nmodule.exports = function parseLinkLabel(state, start, disableNested) {\n var level, found, marker, prevPos,\n labelEnd = -1,\n max = state.posMax,\n oldPos = state.pos;\n\n state.pos = start + 1;\n level = 1;\n\n while (state.pos < max) {\n marker = state.src.charCodeAt(state.pos);\n if (marker === 0x5D /* ] */) {\n level--;\n if (level === 0) {\n found = true;\n break;\n }\n }\n\n prevPos = state.pos;\n state.md.inline.skipToken(state);\n if (marker === 0x5B /* [ */) {\n if (prevPos === state.pos - 1) {\n // increase level if we find text `[`, which is not a part of any token\n level++;\n } else if (disableNested) {\n state.pos = oldPos;\n return -1;\n }\n }\n }\n\n if (found) {\n labelEnd = state.pos;\n }\n\n // restore old state\n state.pos = oldPos;\n\n return labelEnd;\n};\n","// Parse link destination\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkDestination(str, pos, max) {\n var code, level,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (str.charCodeAt(pos) === 0x3C /* < */) {\n pos++;\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === 0x0A /* \\n */) { return result; }\n if (code === 0x3E /* > */) {\n result.pos = pos + 1;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n }\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n pos++;\n }\n\n // no closing '>'\n return result;\n }\n\n // this should be ... } else { ... branch\n\n level = 0;\n while (pos < max) {\n code = str.charCodeAt(pos);\n\n if (code === 0x20) { break; }\n\n // ascii control characters\n if (code < 0x20 || code === 0x7F) { break; }\n\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n if (code === 0x28 /* ( */) {\n level++;\n }\n\n if (code === 0x29 /* ) */) {\n if (level === 0) { break; }\n level--;\n }\n\n pos++;\n }\n\n if (start === pos) { return result; }\n if (level !== 0) { return result; }\n\n result.str = unescapeAll(str.slice(start, pos));\n result.lines = lines;\n result.pos = pos;\n result.ok = true;\n return result;\n};\n","// Parse link title\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkTitle(str, pos, max) {\n var code,\n marker,\n lines = 0,\n start = pos,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (pos >= max) { return result; }\n\n marker = str.charCodeAt(pos);\n\n if (marker !== 0x22 /* \" */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { return result; }\n\n pos++;\n\n // if opening marker is \"(\", switch it to closing marker \")\"\n if (marker === 0x28) { marker = 0x29; }\n\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === marker) {\n result.pos = pos + 1;\n result.lines = lines;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n } else if (code === 0x0A) {\n lines++;\n } else if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos++;\n if (str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n\n pos++;\n }\n\n return result;\n};\n","/**\n * class Renderer\n *\n * Generates HTML from parsed token stream. Each instance has independent\n * copy of rules. Those can be rewritten with ease. Also, you can add new\n * rules if you create plugin and adds new token types.\n **/\n'use strict';\n\n\nvar assign = require('./common/utils').assign;\nvar unescapeAll = require('./common/utils').unescapeAll;\nvar escapeHtml = require('./common/utils').escapeHtml;\n\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar default_rules = {};\n\n\ndefault_rules.code_inline = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '' +\n escapeHtml(tokens[idx].content) +\n '';\n};\n\n\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '' +\n escapeHtml(tokens[idx].content) +\n '\\n';\n};\n\n\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\n var token = tokens[idx],\n info = token.info ? unescapeAll(token.info).trim() : '',\n langName = '',\n highlighted, i, tmpAttrs, tmpToken;\n\n if (info) {\n langName = info.split(/\\s+/g)[0];\n }\n\n if (options.highlight) {\n highlighted = options.highlight(token.content, langName) || escapeHtml(token.content);\n } else {\n highlighted = escapeHtml(token.content);\n }\n\n if (highlighted.indexOf(''\n + highlighted\n + '\\n';\n }\n\n\n return '

    '\n        + highlighted\n        + '
    \\n';\n};\n\n\ndefault_rules.image = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n // \"alt\" attr MUST be set, even if empty. Because it's mandatory and\n // should be placed on proper position for tests.\n //\n // Replace content with actual value\n\n token.attrs[token.attrIndex('alt')][1] =\n slf.renderInlineAsText(token.children, options, env);\n\n return slf.renderToken(tokens, idx, options);\n};\n\n\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\n return options.xhtmlOut ? '
    \\n' : '
    \\n';\n};\ndefault_rules.softbreak = function (tokens, idx, options /*, env */) {\n return options.breaks ? (options.xhtmlOut ? '
    \\n' : '
    \\n') : '\\n';\n};\n\n\ndefault_rules.text = function (tokens, idx /*, options, env */) {\n return escapeHtml(tokens[idx].content);\n};\n\n\ndefault_rules.html_block = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\ndefault_rules.html_inline = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\n\n\n/**\n * new Renderer()\n *\n * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.\n **/\nfunction Renderer() {\n\n /**\n * Renderer#rules -> Object\n *\n * Contains render rules for tokens. Can be updated and extended.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.renderer.rules.strong_open = function () { return ''; };\n * md.renderer.rules.strong_close = function () { return ''; };\n *\n * var result = md.renderInline(...);\n * ```\n *\n * Each rule is called as independent static function with fixed signature:\n *\n * ```javascript\n * function my_token_render(tokens, idx, options, env, renderer) {\n * // ...\n * return renderedHTML;\n * }\n * ```\n *\n * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)\n * for more details and examples.\n **/\n this.rules = assign({}, default_rules);\n}\n\n\n/**\n * Renderer.renderAttrs(token) -> String\n *\n * Render token attributes to string.\n **/\nRenderer.prototype.renderAttrs = function renderAttrs(token) {\n var i, l, result;\n\n if (!token.attrs) { return ''; }\n\n result = '';\n\n for (i = 0, l = token.attrs.length; i < l; i++) {\n result += ' ' + escapeHtml(token.attrs[i][0]) + '=\"' + escapeHtml(token.attrs[i][1]) + '\"';\n }\n\n return result;\n};\n\n\n/**\n * Renderer.renderToken(tokens, idx, options) -> String\n * - tokens (Array): list of tokens\n * - idx (Numbed): token index to render\n * - options (Object): params of parser instance\n *\n * Default token renderer. Can be overriden by custom function\n * in [[Renderer#rules]].\n **/\nRenderer.prototype.renderToken = function renderToken(tokens, idx, options) {\n var nextToken,\n result = '',\n needLf = false,\n token = tokens[idx];\n\n // Tight list paragraphs\n if (token.hidden) {\n return '';\n }\n\n // Insert a newline between hidden paragraph and subsequent opening\n // block-level tag.\n //\n // For example, here we should insert a newline before blockquote:\n // - a\n // >\n //\n if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {\n result += '\\n';\n }\n\n // Add token name, e.g. ``.\n //\n needLf = false;\n }\n }\n }\n }\n\n result += needLf ? '>\\n' : '>';\n\n return result;\n};\n\n\n/**\n * Renderer.renderInline(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to renter\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * The same as [[Renderer.render]], but for single token of `inline` type.\n **/\nRenderer.prototype.renderInline = function (tokens, options, env) {\n var type,\n result = '',\n rules = this.rules;\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (typeof rules[type] !== 'undefined') {\n result += rules[type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options);\n }\n }\n\n return result;\n};\n\n\n/** internal\n * Renderer.renderInlineAsText(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to renter\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Special kludge for image `alt` attributes to conform CommonMark spec.\n * Don't try to use it! Spec requires to show `alt` content with stripped markup,\n * instead of simple escaping.\n **/\nRenderer.prototype.renderInlineAsText = function (tokens, options, env) {\n var result = '';\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n if (tokens[i].type === 'text') {\n result += tokens[i].content;\n } else if (tokens[i].type === 'image') {\n result += this.renderInlineAsText(tokens[i].children, options, env);\n }\n }\n\n return result;\n};\n\n\n/**\n * Renderer.render(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to renter\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Takes token stream and generates HTML. Probably, you will never need to call\n * this method directly.\n **/\nRenderer.prototype.render = function (tokens, options, env) {\n var i, len, type,\n result = '',\n rules = this.rules;\n\n for (i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (type === 'inline') {\n result += this.renderInline(tokens[i].children, options, env);\n } else if (typeof rules[type] !== 'undefined') {\n result += rules[tokens[i].type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options, env);\n }\n }\n\n return result;\n};\n\nmodule.exports = Renderer;\n","/** internal\n * class Core\n *\n * Top-level rules executor. Glues block/inline parsers and does intermediate\n * transformations.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n [ 'normalize', require('./rules_core/normalize') ],\n [ 'block', require('./rules_core/block') ],\n [ 'inline', require('./rules_core/inline') ],\n [ 'linkify', require('./rules_core/linkify') ],\n [ 'replacements', require('./rules_core/replacements') ],\n [ 'smartquotes', require('./rules_core/smartquotes') ]\n];\n\n\n/**\n * new Core()\n **/\nfunction Core() {\n /**\n * Core#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of core rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n}\n\n\n/**\n * Core.process(state)\n *\n * Executes core chain rules.\n **/\nCore.prototype.process = function (state) {\n var i, l, rules;\n\n rules = this.ruler.getRules('');\n\n for (i = 0, l = rules.length; i < l; i++) {\n rules[i](state);\n }\n};\n\nCore.prototype.State = require('./rules_core/state_core');\n\n\nmodule.exports = Core;\n","// Normalize input string\n\n'use strict';\n\n\n// https://spec.commonmark.org/0.29/#line-ending\nvar NEWLINES_RE = /\\r\\n?|\\n/g;\nvar NULL_RE = /\\0/g;\n\n\nmodule.exports = function normalize(state) {\n var str;\n\n // Normalize newlines\n str = state.src.replace(NEWLINES_RE, '\\n');\n\n // Replace NULL characters\n str = str.replace(NULL_RE, '\\uFFFD');\n\n state.src = str;\n};\n","'use strict';\n\n\nmodule.exports = function block(state) {\n var token;\n\n if (state.inlineMode) {\n token = new state.Token('inline', '', 0);\n token.content = state.src;\n token.map = [ 0, 1 ];\n token.children = [];\n state.tokens.push(token);\n } else {\n state.md.block.parse(state.src, state.md, state.env, state.tokens);\n }\n};\n","'use strict';\n\nmodule.exports = function inline(state) {\n var tokens = state.tokens, tok, i, l;\n\n // Parse inlines\n for (i = 0, l = tokens.length; i < l; i++) {\n tok = tokens[i];\n if (tok.type === 'inline') {\n state.md.inline.parse(tok.content, state.md, state.env, tok.children);\n }\n }\n};\n","// Replace link-like texts with link nodes.\n//\n// Currently restricted by `md.validateLink()` to http/https/ftp\n//\n'use strict';\n\n\nvar arrayReplaceAt = require('../common/utils').arrayReplaceAt;\n\n\nfunction isLinkOpen(str) {\n return /^\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nmodule.exports = function linkify(state) {\n var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos,\n level, htmlLinkLevel, url, fullUrl, urlText,\n blockTokens = state.tokens,\n links;\n\n if (!state.md.options.linkify) { return; }\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline' ||\n !state.md.linkify.pretest(blockTokens[j].content)) {\n continue;\n }\n\n tokens = blockTokens[j].children;\n\n htmlLinkLevel = 0;\n\n // We scan from the end, to keep position when new tags added.\n // Use reversed logic in links start/end match\n for (i = tokens.length - 1; i >= 0; i--) {\n currentToken = tokens[i];\n\n // Skip content of markdown links\n if (currentToken.type === 'link_close') {\n i--;\n while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {\n i--;\n }\n continue;\n }\n\n // Skip content of html tag links\n if (currentToken.type === 'html_inline') {\n if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {\n htmlLinkLevel--;\n }\n if (isLinkClose(currentToken.content)) {\n htmlLinkLevel++;\n }\n }\n if (htmlLinkLevel > 0) { continue; }\n\n if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {\n\n text = currentToken.content;\n links = state.md.linkify.match(text);\n\n // Now split string to nodes\n nodes = [];\n level = currentToken.level;\n lastPos = 0;\n\n for (ln = 0; ln < links.length; ln++) {\n\n url = links[ln].url;\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { continue; }\n\n urlText = links[ln].text;\n\n // Linkifier might send raw hostnames like \"example.com\", where url\n // starts with domain name. So we prepend http:// in those cases,\n // and remove it afterwards.\n //\n if (!links[ln].schema) {\n urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\\/\\//, '');\n } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {\n urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');\n } else {\n urlText = state.md.normalizeLinkText(urlText);\n }\n\n pos = links[ln].index;\n\n if (pos > lastPos) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos, pos);\n token.level = level;\n nodes.push(token);\n }\n\n token = new state.Token('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.level = level++;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n token = new state.Token('text', '', 0);\n token.content = urlText;\n token.level = level;\n nodes.push(token);\n\n token = new state.Token('link_close', 'a', -1);\n token.level = --level;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n lastPos = links[ln].lastIndex;\n }\n if (lastPos < text.length) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos);\n token.level = level;\n nodes.push(token);\n }\n\n // replace current node\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);\n }\n }\n }\n};\n","// Simple typographic replacements\n//\n// (c) (C) → ©\n// (tm) (TM) → ™\n// (r) (R) → ®\n// +- → ±\n// (p) (P) -> §\n// ... → … (also ?.... → ?.., !.... → !..)\n// ???????? → ???, !!!!! → !!!, `,,` → `,`\n// -- → –, --- → —\n//\n'use strict';\n\n// TODO:\n// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾\n// - miltiplication 2 x 4 -> 2 × 4\n\nvar RARE_RE = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/;\n\n// Workaround for phantomjs - need regex without /g flag,\n// or root check will fail every second time\nvar SCOPED_ABBR_TEST_RE = /\\((c|tm|r|p)\\)/i;\n\nvar SCOPED_ABBR_RE = /\\((c|tm|r|p)\\)/ig;\nvar SCOPED_ABBR = {\n c: '©',\n r: '®',\n p: '§',\n tm: '™'\n};\n\nfunction replaceFn(match, name) {\n return SCOPED_ABBR[name.toLowerCase()];\n}\n\nfunction replace_scoped(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\nfunction replace_rare(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n if (RARE_RE.test(token.content)) {\n token.content = token.content\n .replace(/\\+-/g, '±')\n // .., ..., ....... -> …\n // but ?..... & !..... -> ?.. & !..\n .replace(/\\.{2,}/g, '…').replace(/([?!])…/g, '$1..')\n .replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')\n // em-dash\n .replace(/(^|[^-])---([^-]|$)/mg, '$1\\u2014$2')\n // en-dash\n .replace(/(^|\\s)--(\\s|$)/mg, '$1\\u2013$2')\n .replace(/(^|[^-\\s])--([^-\\s]|$)/mg, '$1\\u2013$2');\n }\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\n\nmodule.exports = function replace(state) {\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline') { continue; }\n\n if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {\n replace_scoped(state.tokens[blkIdx].children);\n }\n\n if (RARE_RE.test(state.tokens[blkIdx].content)) {\n replace_rare(state.tokens[blkIdx].children);\n }\n\n }\n};\n","// Convert straight quotation marks to typographic ones\n//\n'use strict';\n\n\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\nvar QUOTE_TEST_RE = /['\"]/;\nvar QUOTE_RE = /['\"]/g;\nvar APOSTROPHE = '\\u2019'; /* ’ */\n\n\nfunction replaceAt(str, index, ch) {\n return str.substr(0, index) + ch + str.substr(index + 1);\n}\n\nfunction process_inlines(tokens, state) {\n var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar,\n isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace,\n canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;\n\n stack = [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n\n thisLevel = tokens[i].level;\n\n for (j = stack.length - 1; j >= 0; j--) {\n if (stack[j].level <= thisLevel) { break; }\n }\n stack.length = j + 1;\n\n if (token.type !== 'text') { continue; }\n\n text = token.content;\n pos = 0;\n max = text.length;\n\n /*eslint no-labels:0,block-scoped-var:0*/\n OUTER:\n while (pos < max) {\n QUOTE_RE.lastIndex = pos;\n t = QUOTE_RE.exec(text);\n if (!t) { break; }\n\n canOpen = canClose = true;\n pos = t.index + 1;\n isSingle = (t[0] === \"'\");\n\n // Find previous character,\n // default to space if it's the beginning of the line\n //\n lastChar = 0x20;\n\n if (t.index - 1 >= 0) {\n lastChar = text.charCodeAt(t.index - 1);\n } else {\n for (j = i - 1; j >= 0; j--) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20\n if (tokens[j].type !== 'text') continue;\n\n lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\n break;\n }\n }\n\n // Find next character,\n // default to space if it's the end of the line\n //\n nextChar = 0x20;\n\n if (pos < max) {\n nextChar = text.charCodeAt(pos);\n } else {\n for (j = i + 1; j < tokens.length; j++) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20\n if (tokens[j].type !== 'text') continue;\n\n nextChar = tokens[j].content.charCodeAt(0);\n break;\n }\n }\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n canOpen = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n canOpen = false;\n }\n }\n\n if (isLastWhiteSpace) {\n canClose = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n canClose = false;\n }\n }\n\n if (nextChar === 0x22 /* \" */ && t[0] === '\"') {\n if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {\n // special case: 1\"\" - count first quote as an inch\n canClose = canOpen = false;\n }\n }\n\n if (canOpen && canClose) {\n // treat this as the middle of the word\n canOpen = false;\n canClose = isNextPunctChar;\n }\n\n if (!canOpen && !canClose) {\n // middle of word\n if (isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n continue;\n }\n\n if (canClose) {\n // this could be a closing quote, rewind the stack to get a match\n for (j = stack.length - 1; j >= 0; j--) {\n item = stack[j];\n if (stack[j].level < thisLevel) { break; }\n if (item.single === isSingle && stack[j].level === thisLevel) {\n item = stack[j];\n\n if (isSingle) {\n openQuote = state.md.options.quotes[2];\n closeQuote = state.md.options.quotes[3];\n } else {\n openQuote = state.md.options.quotes[0];\n closeQuote = state.md.options.quotes[1];\n }\n\n // replace token.content *before* tokens[item.token].content,\n // because, if they are pointing at the same token, replaceAt\n // could mess up indices when quote length != 1\n token.content = replaceAt(token.content, t.index, closeQuote);\n tokens[item.token].content = replaceAt(\n tokens[item.token].content, item.pos, openQuote);\n\n pos += closeQuote.length - 1;\n if (item.token === i) { pos += openQuote.length - 1; }\n\n text = token.content;\n max = text.length;\n\n stack.length = j;\n continue OUTER;\n }\n }\n }\n\n if (canOpen) {\n stack.push({\n token: i,\n pos: t.index,\n single: isSingle,\n level: thisLevel\n });\n } else if (canClose && isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n }\n }\n}\n\n\nmodule.exports = function smartquotes(state) {\n /*eslint max-depth:0*/\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline' ||\n !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {\n continue;\n }\n\n process_inlines(state.tokens[blkIdx].children, state);\n }\n};\n","// Core state object\n//\n'use strict';\n\nvar Token = require('../token');\n\n\nfunction StateCore(src, md, env) {\n this.src = src;\n this.env = env;\n this.tokens = [];\n this.inlineMode = false;\n this.md = md; // link to parser instance\n}\n\n// re-export Token class to use in core rules\nStateCore.prototype.Token = Token;\n\n\nmodule.exports = StateCore;\n","/** internal\n * class ParserBlock\n *\n * Block-level tokenizer.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n // First 2 params - rule name & source. Secondary array - list of rules,\n // which can be terminated by this one.\n [ 'table', require('./rules_block/table'), [ 'paragraph', 'reference' ] ],\n [ 'code', require('./rules_block/code') ],\n [ 'fence', require('./rules_block/fence'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'hr', require('./rules_block/hr'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'list', require('./rules_block/list'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'reference', require('./rules_block/reference') ],\n [ 'heading', require('./rules_block/heading'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'lheading', require('./rules_block/lheading') ],\n [ 'html_block', require('./rules_block/html_block'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'paragraph', require('./rules_block/paragraph') ]\n];\n\n\n/**\n * new ParserBlock()\n **/\nfunction ParserBlock() {\n /**\n * ParserBlock#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of block rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });\n }\n}\n\n\n// Generate tokens for input range\n//\nParserBlock.prototype.tokenize = function (state, startLine, endLine) {\n var ok, i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n line = startLine,\n hasEmptyLines = false,\n maxNesting = state.md.options.maxNesting;\n\n while (line < endLine) {\n state.line = line = state.skipEmptyLines(line);\n if (line >= endLine) { break; }\n\n // Termination condition for nested calls.\n // Nested calls currently used for blockquotes & lists\n if (state.sCount[line] < state.blkIndent) { break; }\n\n // If nesting level exceeded - skip tail to the end. That's not ordinary\n // situation and we should not care about content.\n if (state.level >= maxNesting) {\n state.line = endLine;\n break;\n }\n\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.line`\n // - update `state.tokens`\n // - return true\n\n for (i = 0; i < len; i++) {\n ok = rules[i](state, line, endLine, false);\n if (ok) { break; }\n }\n\n // set state.tight if we had an empty line before current tag\n // i.e. latest empty line should not count\n state.tight = !hasEmptyLines;\n\n // paragraph might \"eat\" one newline after it in nested lists\n if (state.isEmpty(state.line - 1)) {\n hasEmptyLines = true;\n }\n\n line = state.line;\n\n if (line < endLine && state.isEmpty(line)) {\n hasEmptyLines = true;\n line++;\n state.line = line;\n }\n }\n};\n\n\n/**\n * ParserBlock.parse(str, md, env, outTokens)\n *\n * Process input string and push block tokens into `outTokens`\n **/\nParserBlock.prototype.parse = function (src, md, env, outTokens) {\n var state;\n\n if (!src) { return; }\n\n state = new this.State(src, md, env, outTokens);\n\n this.tokenize(state, state.line, state.lineMax);\n};\n\n\nParserBlock.prototype.State = require('./rules_block/state_block');\n\n\nmodule.exports = ParserBlock;\n","// GFM table, non-standard\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction getLine(state, line) {\n var pos = state.bMarks[line] + state.blkIndent,\n max = state.eMarks[line];\n\n return state.src.substr(pos, max - pos);\n}\n\nfunction escapedSplit(str) {\n var result = [],\n pos = 0,\n max = str.length,\n ch,\n escapes = 0,\n lastPos = 0,\n backTicked = false,\n lastBackTick = 0;\n\n ch = str.charCodeAt(pos);\n\n while (pos < max) {\n if (ch === 0x60/* ` */) {\n if (backTicked) {\n // make \\` close code sequence, but not open it;\n // the reason is: `\\` is correct code block\n backTicked = false;\n lastBackTick = pos;\n } else if (escapes % 2 === 0) {\n backTicked = true;\n lastBackTick = pos;\n }\n } else if (ch === 0x7c/* | */ && (escapes % 2 === 0) && !backTicked) {\n result.push(str.substring(lastPos, pos));\n lastPos = pos + 1;\n }\n\n if (ch === 0x5c/* \\ */) {\n escapes++;\n } else {\n escapes = 0;\n }\n\n pos++;\n\n // If there was an un-closed backtick, go back to just after\n // the last backtick, but as if it was a normal character\n if (pos === max && backTicked) {\n backTicked = false;\n pos = lastBackTick + 1;\n }\n\n ch = str.charCodeAt(pos);\n }\n\n result.push(str.substring(lastPos));\n\n return result;\n}\n\n\nmodule.exports = function table(state, startLine, endLine, silent) {\n var ch, lineText, pos, i, nextLine, columns, columnCount, token,\n aligns, t, tableLines, tbodyLines;\n\n // should have at least two lines\n if (startLine + 2 > endLine) { return false; }\n\n nextLine = startLine + 1;\n\n if (state.sCount[nextLine] < state.blkIndent) { return false; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }\n\n // first character of the second line should be '|', '-', ':',\n // and no other characters are allowed but spaces;\n // basically, this is the equivalent of /^[-:|][-:|\\s]*$/ regexp\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n ch = state.src.charCodeAt(pos++);\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */) { return false; }\n\n while (pos < state.eMarks[nextLine]) {\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */ && !isSpace(ch)) { return false; }\n\n pos++;\n }\n\n lineText = getLine(state, startLine + 1);\n\n columns = lineText.split('|');\n aligns = [];\n for (i = 0; i < columns.length; i++) {\n t = columns[i].trim();\n if (!t) {\n // allow empty columns before and after table, but not in between columns;\n // e.g. allow ` |---| `, disallow ` ---||--- `\n if (i === 0 || i === columns.length - 1) {\n continue;\n } else {\n return false;\n }\n }\n\n if (!/^:?-+:?$/.test(t)) { return false; }\n if (t.charCodeAt(t.length - 1) === 0x3A/* : */) {\n aligns.push(t.charCodeAt(0) === 0x3A/* : */ ? 'center' : 'right');\n } else if (t.charCodeAt(0) === 0x3A/* : */) {\n aligns.push('left');\n } else {\n aligns.push('');\n }\n }\n\n lineText = getLine(state, startLine).trim();\n if (lineText.indexOf('|') === -1) { return false; }\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n columns = escapedSplit(lineText.replace(/^\\||\\|$/g, ''));\n\n // header row will define an amount of columns in the entire table,\n // and align row shouldn't be smaller than that (the rest of the rows can)\n columnCount = columns.length;\n if (columnCount > aligns.length) { return false; }\n\n if (silent) { return true; }\n\n token = state.push('table_open', 'table', 1);\n token.map = tableLines = [ startLine, 0 ];\n\n token = state.push('thead_open', 'thead', 1);\n token.map = [ startLine, startLine + 1 ];\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ startLine, startLine + 1 ];\n\n for (i = 0; i < columns.length; i++) {\n token = state.push('th_open', 'th', 1);\n token.map = [ startLine, startLine + 1 ];\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i].trim();\n token.map = [ startLine, startLine + 1 ];\n token.children = [];\n\n token = state.push('th_close', 'th', -1);\n }\n\n token = state.push('tr_close', 'tr', -1);\n token = state.push('thead_close', 'thead', -1);\n\n token = state.push('tbody_open', 'tbody', 1);\n token.map = tbodyLines = [ startLine + 2, 0 ];\n\n for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n lineText = getLine(state, nextLine).trim();\n if (lineText.indexOf('|') === -1) { break; }\n if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }\n columns = escapedSplit(lineText.replace(/^\\||\\|$/g, ''));\n\n token = state.push('tr_open', 'tr', 1);\n for (i = 0; i < columnCount; i++) {\n token = state.push('td_open', 'td', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i] ? columns[i].trim() : '';\n token.children = [];\n\n token = state.push('td_close', 'td', -1);\n }\n token = state.push('tr_close', 'tr', -1);\n }\n token = state.push('tbody_close', 'tbody', -1);\n token = state.push('table_close', 'table', -1);\n\n tableLines[1] = tbodyLines[1] = nextLine;\n state.line = nextLine;\n return true;\n};\n","// Code block (4 spaces padded)\n\n'use strict';\n\n\nmodule.exports = function code(state, startLine, endLine/*, silent*/) {\n var nextLine, last, token;\n\n if (state.sCount[startLine] - state.blkIndent < 4) { return false; }\n\n last = nextLine = startLine + 1;\n\n while (nextLine < endLine) {\n if (state.isEmpty(nextLine)) {\n nextLine++;\n continue;\n }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n nextLine++;\n last = nextLine;\n continue;\n }\n break;\n }\n\n state.line = last;\n\n token = state.push('code_block', 'code', 0);\n token.content = state.getLines(startLine, last, 4 + state.blkIndent, true);\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// fences (``` lang, ~~~ lang)\n\n'use strict';\n\n\nmodule.exports = function fence(state, startLine, endLine, silent) {\n var marker, len, params, nextLine, mem, token, markup,\n haveEndMarker = false,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (pos + 3 > max) { return false; }\n\n marker = state.src.charCodeAt(pos);\n\n if (marker !== 0x7E/* ~ */ && marker !== 0x60 /* ` */) {\n return false;\n }\n\n // scan marker length\n mem = pos;\n pos = state.skipChars(pos, marker);\n\n len = pos - mem;\n\n if (len < 3) { return false; }\n\n markup = state.src.slice(mem, pos);\n params = state.src.slice(pos, max);\n\n if (marker === 0x60 /* ` */) {\n if (params.indexOf(String.fromCharCode(marker)) >= 0) {\n return false;\n }\n }\n\n // Since start is found, we can report success here in validation mode\n if (silent) { return true; }\n\n // search end of block\n nextLine = startLine;\n\n for (;;) {\n nextLine++;\n if (nextLine >= endLine) {\n // unclosed block should be autoclosed by end of document.\n // also block seems to be autoclosed by end of parent\n break;\n }\n\n pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max && state.sCount[nextLine] < state.blkIndent) {\n // non-empty line with negative indent should stop the list:\n // - ```\n // test\n break;\n }\n\n if (state.src.charCodeAt(pos) !== marker) { continue; }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n // closing fence should be indented less than 4 spaces\n continue;\n }\n\n pos = state.skipChars(pos, marker);\n\n // closing code fence must be at least as long as the opening one\n if (pos - mem < len) { continue; }\n\n // make sure tail has spaces only\n pos = state.skipSpaces(pos);\n\n if (pos < max) { continue; }\n\n haveEndMarker = true;\n // found!\n break;\n }\n\n // If a fence has heading spaces, they should be removed from its inner block\n len = state.sCount[startLine];\n\n state.line = nextLine + (haveEndMarker ? 1 : 0);\n\n token = state.push('fence', 'code', 0);\n token.info = params;\n token.content = state.getLines(startLine + 1, nextLine, len, true);\n token.markup = markup;\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// Block quotes\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function blockquote(state, startLine, endLine, silent) {\n var adjustTab,\n ch,\n i,\n initial,\n l,\n lastLineEmpty,\n lines,\n nextLine,\n offset,\n oldBMarks,\n oldBSCount,\n oldIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n spaceAfterMarker,\n terminate,\n terminatorRules,\n token,\n wasOutdented,\n oldLineMax = state.lineMax,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // check the block quote marker\n if (state.src.charCodeAt(pos++) !== 0x3E/* > */) { return false; }\n\n // we know that it's going to be a valid blockquote,\n // so no point trying to find the end of it in silent mode\n if (silent) { return true; }\n\n // skip spaces after \">\" and re-calculate offset\n initial = offset = state.sCount[startLine] + pos - (state.bMarks[startLine] + state.tShift[startLine]);\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[startLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks = [ state.bMarks[startLine] ];\n state.bMarks[startLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n oldBSCount = [ state.bsCount[startLine] ];\n state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n lastLineEmpty = pos >= max;\n\n oldSCount = [ state.sCount[startLine] ];\n state.sCount[startLine] = offset - initial;\n\n oldTShift = [ state.tShift[startLine] ];\n state.tShift[startLine] = pos - state.bMarks[startLine];\n\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n oldParentType = state.parentType;\n state.parentType = 'blockquote';\n wasOutdented = false;\n\n // Search the end of the block\n //\n // Block ends with either:\n // 1. an empty line outside:\n // ```\n // > test\n //\n // ```\n // 2. an empty line inside:\n // ```\n // >\n // test\n // ```\n // 3. another tag:\n // ```\n // > test\n // - - -\n // ```\n for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {\n // check if it's outdented, i.e. it's inside list item and indented\n // less than said list item:\n //\n // ```\n // 1. anything\n // > current blockquote\n // 2. checking this line\n // ```\n if (state.sCount[nextLine] < state.blkIndent) wasOutdented = true;\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos >= max) {\n // Case 1: line is not inside the blockquote, and this line is empty.\n break;\n }\n\n if (state.src.charCodeAt(pos++) === 0x3E/* > */ && !wasOutdented) {\n // This line is inside the blockquote.\n\n // skip spaces after \">\" and re-calculate offset\n initial = offset = state.sCount[nextLine] + pos - (state.bMarks[nextLine] + state.tShift[nextLine]);\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[nextLine] + offset) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n offset++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n state.bMarks[nextLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n lastLineEmpty = pos >= max;\n\n oldBSCount.push(state.bsCount[nextLine]);\n state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] = offset - initial;\n\n oldTShift.push(state.tShift[nextLine]);\n state.tShift[nextLine] = pos - state.bMarks[nextLine];\n continue;\n }\n\n // Case 2: line is not inside the blockquote, and the last line was empty.\n if (lastLineEmpty) { break; }\n\n // Case 3: another tag found.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) {\n // Quirk to enforce \"hard termination mode\" for paragraphs;\n // normally if you call `tokenize(state, startLine, nextLine)`,\n // paragraphs will look below nextLine for paragraph continuation,\n // but if blockquote is terminated by another tag, they shouldn't\n state.lineMax = nextLine;\n\n if (state.blkIndent !== 0) {\n // state.blkIndent was non-zero, we now set it to zero,\n // so we need to re-calculate all offsets to appear as\n // if indent wasn't changed\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] -= state.blkIndent;\n }\n\n break;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n\n // A negative indentation means that this is a paragraph continuation\n //\n state.sCount[nextLine] = -1;\n }\n\n oldIndent = state.blkIndent;\n state.blkIndent = 0;\n\n token = state.push('blockquote_open', 'blockquote', 1);\n token.markup = '>';\n token.map = lines = [ startLine, 0 ];\n\n state.md.block.tokenize(state, startLine, nextLine);\n\n token = state.push('blockquote_close', 'blockquote', -1);\n token.markup = '>';\n\n state.lineMax = oldLineMax;\n state.parentType = oldParentType;\n lines[1] = state.line;\n\n // Restore original tShift; this might not be necessary since the parser\n // has already been here, but just to make sure we can do that.\n for (i = 0; i < oldTShift.length; i++) {\n state.bMarks[i + startLine] = oldBMarks[i];\n state.tShift[i + startLine] = oldTShift[i];\n state.sCount[i + startLine] = oldSCount[i];\n state.bsCount[i + startLine] = oldBSCount[i];\n }\n state.blkIndent = oldIndent;\n\n return true;\n};\n","// Horizontal rule\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function hr(state, startLine, endLine, silent) {\n var marker, cnt, ch, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n marker = state.src.charCodeAt(pos++);\n\n // Check hr marker\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x5F/* _ */) {\n return false;\n }\n\n // markers can be mixed with spaces, but there should be at least 3 of them\n\n cnt = 1;\n while (pos < max) {\n ch = state.src.charCodeAt(pos++);\n if (ch !== marker && !isSpace(ch)) { return false; }\n if (ch === marker) { cnt++; }\n }\n\n if (cnt < 3) { return false; }\n\n if (silent) { return true; }\n\n state.line = startLine + 1;\n\n token = state.push('hr', 'hr', 0);\n token.map = [ startLine, state.line ];\n token.markup = Array(cnt + 1).join(String.fromCharCode(marker));\n\n return true;\n};\n","// Lists\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\n// Search `[-+*][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipBulletListMarker(state, startLine) {\n var marker, pos, max, ch;\n\n pos = state.bMarks[startLine] + state.tShift[startLine];\n max = state.eMarks[startLine];\n\n marker = state.src.charCodeAt(pos++);\n // Check bullet\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x2B/* + */) {\n return -1;\n }\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" -test \" - is not a list item\n return -1;\n }\n }\n\n return pos;\n}\n\n// Search `\\d+[.)][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipOrderedListMarker(state, startLine) {\n var ch,\n start = state.bMarks[startLine] + state.tShift[startLine],\n pos = start,\n max = state.eMarks[startLine];\n\n // List marker should have at least 2 chars (digit + dot)\n if (pos + 1 >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch < 0x30/* 0 */ || ch > 0x39/* 9 */) { return -1; }\n\n for (;;) {\n // EOL -> fail\n if (pos >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch >= 0x30/* 0 */ && ch <= 0x39/* 9 */) {\n\n // List marker should have no more than 9 digits\n // (prevents integer overflow in browsers)\n if (pos - start >= 10) { return -1; }\n\n continue;\n }\n\n // found valid marker\n if (ch === 0x29/* ) */ || ch === 0x2e/* . */) {\n break;\n }\n\n return -1;\n }\n\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" 1.test \" - is not a list item\n return -1;\n }\n }\n return pos;\n}\n\nfunction markTightParagraphs(state, idx) {\n var i, l,\n level = state.level + 2;\n\n for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {\n if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {\n state.tokens[i + 2].hidden = true;\n state.tokens[i].hidden = true;\n i += 2;\n }\n }\n}\n\n\nmodule.exports = function list(state, startLine, endLine, silent) {\n var ch,\n contentStart,\n i,\n indent,\n indentAfterMarker,\n initial,\n isOrdered,\n itemLines,\n l,\n listLines,\n listTokIdx,\n markerCharCode,\n markerValue,\n max,\n nextLine,\n offset,\n oldListIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n oldTight,\n pos,\n posAfterMarker,\n prevEmptyEnd,\n start,\n terminate,\n terminatorRules,\n token,\n isTerminatingParagraph = false,\n tight = true;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // Special case:\n // - item 1\n // - item 2\n // - item 3\n // - item 4\n // - this one is a paragraph continuation\n if (state.listIndent >= 0 &&\n state.sCount[startLine] - state.listIndent >= 4 &&\n state.sCount[startLine] < state.blkIndent) {\n return false;\n }\n\n // limit conditions when list can interrupt\n // a paragraph (validation mode only)\n if (silent && state.parentType === 'paragraph') {\n // Next list item should still terminate previous list item;\n //\n // This code can fail if plugins use blkIndent as well as lists,\n // but I hope the spec gets fixed long before that happens.\n //\n if (state.tShift[startLine] >= state.blkIndent) {\n isTerminatingParagraph = true;\n }\n }\n\n // Detect list type and position after marker\n if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) {\n isOrdered = true;\n start = state.bMarks[startLine] + state.tShift[startLine];\n markerValue = Number(state.src.substr(start, posAfterMarker - start - 1));\n\n // If we're starting a new ordered list right after\n // a paragraph, it should start with 1.\n if (isTerminatingParagraph && markerValue !== 1) return false;\n\n } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) {\n isOrdered = false;\n\n } else {\n return false;\n }\n\n // If we're starting a new unordered list right after\n // a paragraph, first line should not be empty.\n if (isTerminatingParagraph) {\n if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine]) return false;\n }\n\n // We should terminate list on style change. Remember first one to compare.\n markerCharCode = state.src.charCodeAt(posAfterMarker - 1);\n\n // For validation mode we can terminate immediately\n if (silent) { return true; }\n\n // Start list\n listTokIdx = state.tokens.length;\n\n if (isOrdered) {\n token = state.push('ordered_list_open', 'ol', 1);\n if (markerValue !== 1) {\n token.attrs = [ [ 'start', markerValue ] ];\n }\n\n } else {\n token = state.push('bullet_list_open', 'ul', 1);\n }\n\n token.map = listLines = [ startLine, 0 ];\n token.markup = String.fromCharCode(markerCharCode);\n\n //\n // Iterate list items\n //\n\n nextLine = startLine;\n prevEmptyEnd = false;\n terminatorRules = state.md.block.ruler.getRules('list');\n\n oldParentType = state.parentType;\n state.parentType = 'list';\n\n while (nextLine < endLine) {\n pos = posAfterMarker;\n max = state.eMarks[nextLine];\n\n initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]);\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine]) % 4;\n } else if (ch === 0x20) {\n offset++;\n } else {\n break;\n }\n\n pos++;\n }\n\n contentStart = pos;\n\n if (contentStart >= max) {\n // trimming space in \"- \\n 3\" case, indent is 1 here\n indentAfterMarker = 1;\n } else {\n indentAfterMarker = offset - initial;\n }\n\n // If we have more than 4 spaces, the indent is 1\n // (the rest is just indented code block)\n if (indentAfterMarker > 4) { indentAfterMarker = 1; }\n\n // \" - test\"\n // ^^^^^ - calculating total length of this thing\n indent = initial + indentAfterMarker;\n\n // Run subparser & write tokens\n token = state.push('list_item_open', 'li', 1);\n token.markup = String.fromCharCode(markerCharCode);\n token.map = itemLines = [ startLine, 0 ];\n\n // change current state, then restore it after parser subcall\n oldTight = state.tight;\n oldTShift = state.tShift[startLine];\n oldSCount = state.sCount[startLine];\n\n // - example list\n // ^ listIndent position will be here\n // ^ blkIndent position will be here\n //\n oldListIndent = state.listIndent;\n state.listIndent = state.blkIndent;\n state.blkIndent = indent;\n\n state.tight = true;\n state.tShift[startLine] = contentStart - state.bMarks[startLine];\n state.sCount[startLine] = offset;\n\n if (contentStart >= max && state.isEmpty(startLine + 1)) {\n // workaround for this case\n // (list item is empty, list terminates before \"foo\"):\n // ~~~~~~~~\n // -\n //\n // foo\n // ~~~~~~~~\n state.line = Math.min(state.line + 2, endLine);\n } else {\n state.md.block.tokenize(state, startLine, endLine, true);\n }\n\n // If any of list item is tight, mark list as tight\n if (!state.tight || prevEmptyEnd) {\n tight = false;\n }\n // Item become loose if finish with empty line,\n // but we should filter last element, because it means list finish\n prevEmptyEnd = (state.line - startLine) > 1 && state.isEmpty(state.line - 1);\n\n state.blkIndent = state.listIndent;\n state.listIndent = oldListIndent;\n state.tShift[startLine] = oldTShift;\n state.sCount[startLine] = oldSCount;\n state.tight = oldTight;\n\n token = state.push('list_item_close', 'li', -1);\n token.markup = String.fromCharCode(markerCharCode);\n\n nextLine = startLine = state.line;\n itemLines[1] = nextLine;\n contentStart = state.bMarks[startLine];\n\n if (nextLine >= endLine) { break; }\n\n //\n // Try to check if list is terminated or continued.\n //\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { break; }\n\n // fail if terminating block found\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n\n // fail if list has another type\n if (isOrdered) {\n posAfterMarker = skipOrderedListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n } else {\n posAfterMarker = skipBulletListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n }\n\n if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { break; }\n }\n\n // Finalize list\n if (isOrdered) {\n token = state.push('ordered_list_close', 'ol', -1);\n } else {\n token = state.push('bullet_list_close', 'ul', -1);\n }\n token.markup = String.fromCharCode(markerCharCode);\n\n listLines[1] = nextLine;\n state.line = nextLine;\n\n state.parentType = oldParentType;\n\n // mark paragraphs tight if needed\n if (tight) {\n markTightParagraphs(state, listTokIdx);\n }\n\n return true;\n};\n","'use strict';\n\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function reference(state, startLine, _endLine, silent) {\n var ch,\n destEndPos,\n destEndLineNo,\n endLine,\n href,\n i,\n l,\n label,\n labelEnd,\n oldParentType,\n res,\n start,\n str,\n terminate,\n terminatorRules,\n title,\n lines = 0,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine],\n nextLine = startLine + 1;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false; }\n\n // Simple check to quickly interrupt scan on [link](url) at the start of line.\n // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54\n while (++pos < max) {\n if (state.src.charCodeAt(pos) === 0x5D /* ] */ &&\n state.src.charCodeAt(pos - 1) !== 0x5C/* \\ */) {\n if (pos + 1 === max) { return false; }\n if (state.src.charCodeAt(pos + 1) !== 0x3A/* : */) { return false; }\n break;\n }\n }\n\n endLine = state.lineMax;\n\n // jump line-by-line until empty one or EOF\n terminatorRules = state.md.block.ruler.getRules('reference');\n\n oldParentType = state.parentType;\n state.parentType = 'reference';\n\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n max = str.length;\n\n for (pos = 1; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x5B /* [ */) {\n return false;\n } else if (ch === 0x5D /* ] */) {\n labelEnd = pos;\n break;\n } else if (ch === 0x0A /* \\n */) {\n lines++;\n } else if (ch === 0x5C /* \\ */) {\n pos++;\n if (pos < max && str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n }\n\n if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false; }\n\n // [label]: destination 'title'\n // ^^^ skip optional whitespace here\n for (pos = labelEnd + 2; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^^^^^ parse this\n res = state.md.helpers.parseLinkDestination(str, pos, max);\n if (!res.ok) { return false; }\n\n href = state.md.normalizeLink(res.str);\n if (!state.md.validateLink(href)) { return false; }\n\n pos = res.pos;\n lines += res.lines;\n\n // save cursor state, we could require to rollback later\n destEndPos = pos;\n destEndLineNo = lines;\n\n // [label]: destination 'title'\n // ^^^ skipping those spaces\n start = pos;\n for (; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^ parse this\n res = state.md.helpers.parseLinkTitle(str, pos, max);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n lines += res.lines;\n } else {\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n }\n\n // skip trailing spaces until the rest of the line\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n if (title) {\n // garbage at the end of the line after title,\n // but it could still be a valid reference if we roll back\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n }\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n // garbage at the end of the line\n return false;\n }\n\n label = normalizeReference(str.slice(1, labelEnd));\n if (!label) {\n // CommonMark 0.20 disallows empty labels\n return false;\n }\n\n // Reference can not terminate anything. This check is for safety only.\n /*istanbul ignore if*/\n if (silent) { return true; }\n\n if (typeof state.env.references === 'undefined') {\n state.env.references = {};\n }\n if (typeof state.env.references[label] === 'undefined') {\n state.env.references[label] = { title: title, href: href };\n }\n\n state.parentType = oldParentType;\n\n state.line = startLine + lines + 1;\n return true;\n};\n","// heading (#, ##, ...)\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function heading(state, startLine, endLine, silent) {\n var ch, level, tmp, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x23/* # */ || pos >= max) { return false; }\n\n // count heading level\n level = 1;\n ch = state.src.charCodeAt(++pos);\n while (ch === 0x23/* # */ && pos < max && level <= 6) {\n level++;\n ch = state.src.charCodeAt(++pos);\n }\n\n if (level > 6 || (pos < max && !isSpace(ch))) { return false; }\n\n if (silent) { return true; }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos);\n tmp = state.skipCharsBack(max, 0x23, pos); // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp;\n }\n\n state.line = startLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = '########'.slice(0, level);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = state.src.slice(pos, max).trim();\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = '########'.slice(0, level);\n\n return true;\n};\n","// lheading (---, ===)\n\n'use strict';\n\n\nmodule.exports = function lheading(state, startLine, endLine/*, silent*/) {\n var content, terminate, i, l, token, pos, max, level, marker,\n nextLine = startLine + 1, oldParentType,\n terminatorRules = state.md.block.ruler.getRules('paragraph');\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph'; // use paragraph to match terminatorRules\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n //\n // Check for underline in setext header\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max) {\n marker = state.src.charCodeAt(pos);\n\n if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {\n pos = state.skipChars(pos, marker);\n pos = state.skipSpaces(pos);\n\n if (pos >= max) {\n level = (marker === 0x3D/* = */ ? 1 : 2);\n break;\n }\n }\n }\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n if (!level) {\n // Didn't find valid underline\n return false;\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = String.fromCharCode(marker);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line - 1 ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = String.fromCharCode(marker);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","// HTML block\n\n'use strict';\n\n\nvar block_names = require('../common/html_blocks');\nvar HTML_OPEN_CLOSE_TAG_RE = require('../common/html_re').HTML_OPEN_CLOSE_TAG_RE;\n\n// An array of opening and corresponding closing sequences for html tags,\n// last argument defines whether it can terminate a paragraph or not\n//\nvar HTML_SEQUENCES = [\n [ /^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true ],\n [ /^/, true ],\n [ /^<\\?/, /\\?>/, true ],\n [ /^/, true ],\n [ /^/, true ],\n [ new RegExp('^|$))', 'i'), /^$/, true ],\n [ new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\\\s*$'), /^$/, false ]\n];\n\n\nmodule.exports = function html_block(state, startLine, endLine, silent) {\n var i, nextLine, token, lineText,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (!state.md.options.html) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n lineText = state.src.slice(pos, max);\n\n for (i = 0; i < HTML_SEQUENCES.length; i++) {\n if (HTML_SEQUENCES[i][0].test(lineText)) { break; }\n }\n\n if (i === HTML_SEQUENCES.length) { return false; }\n\n if (silent) {\n // true if this sequence can be a terminator, false otherwise\n return HTML_SEQUENCES[i][2];\n }\n\n nextLine = startLine + 1;\n\n // If we are here - we detected HTML block.\n // Let's roll down till block end.\n if (!HTML_SEQUENCES[i][1].test(lineText)) {\n for (; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n lineText = state.src.slice(pos, max);\n\n if (HTML_SEQUENCES[i][1].test(lineText)) {\n if (lineText.length !== 0) { nextLine++; }\n break;\n }\n }\n }\n\n state.line = nextLine;\n\n token = state.push('html_block', '', 0);\n token.map = [ startLine, nextLine ];\n token.content = state.getLines(startLine, nextLine, state.blkIndent, true);\n\n return true;\n};\n","// List of valid html blocks names, accorting to commonmark spec\n// http://jgm.github.io/CommonMark/spec.html#html-blocks\n\n'use strict';\n\n\nmodule.exports = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'meta',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n];\n","// Paragraph\n\n'use strict';\n\n\nmodule.exports = function paragraph(state, startLine/*, endLine*/) {\n var content, terminate, i, l, token, oldParentType,\n nextLine = startLine + 1,\n terminatorRules = state.md.block.ruler.getRules('paragraph'),\n endLine = state.lineMax;\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph';\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine;\n\n token = state.push('paragraph_open', 'p', 1);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('paragraph_close', 'p', -1);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","// Parser state class\n\n'use strict';\n\nvar Token = require('../token');\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction StateBlock(src, md, env, tokens) {\n var ch, s, start, pos, len, indent, offset, indent_found;\n\n this.src = src;\n\n // link to parser instance\n this.md = md;\n\n this.env = env;\n\n //\n // Internal state vartiables\n //\n\n this.tokens = tokens;\n\n this.bMarks = []; // line begin offsets for fast jumps\n this.eMarks = []; // line end offsets for fast jumps\n this.tShift = []; // offsets of the first non-space characters (tabs not expanded)\n this.sCount = []; // indents for each line (tabs expanded)\n\n // An amount of virtual spaces (tabs expanded) between beginning\n // of each line (bMarks) and real beginning of that line.\n //\n // It exists only as a hack because blockquotes override bMarks\n // losing information in the process.\n //\n // It's used only when expanding tabs, you can think about it as\n // an initial tab length, e.g. bsCount=21 applied to string `\\t123`\n // means first tab should be expanded to 4-21%4 === 3 spaces.\n //\n this.bsCount = [];\n\n // block parser variables\n this.blkIndent = 0; // required block content indent (for example, if we are\n // inside a list, it would be positioned after list marker)\n this.line = 0; // line index in src\n this.lineMax = 0; // lines count\n this.tight = false; // loose/tight mode for lists\n this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)\n this.listIndent = -1; // indent of the current list block (-1 if there isn't any)\n\n // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'\n // used in lists to determine if they interrupt a paragraph\n this.parentType = 'root';\n\n this.level = 0;\n\n // renderer\n this.result = '';\n\n // Create caches\n // Generate markers.\n s = this.src;\n indent_found = false;\n\n for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {\n ch = s.charCodeAt(pos);\n\n if (!indent_found) {\n if (isSpace(ch)) {\n indent++;\n\n if (ch === 0x09) {\n offset += 4 - offset % 4;\n } else {\n offset++;\n }\n continue;\n } else {\n indent_found = true;\n }\n }\n\n if (ch === 0x0A || pos === len - 1) {\n if (ch !== 0x0A) { pos++; }\n this.bMarks.push(start);\n this.eMarks.push(pos);\n this.tShift.push(indent);\n this.sCount.push(offset);\n this.bsCount.push(0);\n\n indent_found = false;\n indent = 0;\n offset = 0;\n start = pos + 1;\n }\n }\n\n // Push fake entry to simplify cache bounds checks\n this.bMarks.push(s.length);\n this.eMarks.push(s.length);\n this.tShift.push(0);\n this.sCount.push(0);\n this.bsCount.push(0);\n\n this.lineMax = this.bMarks.length - 1; // don't count last fake line\n}\n\n// Push new token to \"stream\".\n//\nStateBlock.prototype.push = function (type, tag, nesting) {\n var token = new Token(type, tag, nesting);\n token.block = true;\n\n if (nesting < 0) this.level--; // closing tag\n token.level = this.level;\n if (nesting > 0) this.level++; // opening tag\n\n this.tokens.push(token);\n return token;\n};\n\nStateBlock.prototype.isEmpty = function isEmpty(line) {\n return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];\n};\n\nStateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {\n for (var max = this.lineMax; from < max; from++) {\n if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {\n break;\n }\n }\n return from;\n};\n\n// Skip spaces from given position.\nStateBlock.prototype.skipSpaces = function skipSpaces(pos) {\n var ch;\n\n for (var max = this.src.length; pos < max; pos++) {\n ch = this.src.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n }\n return pos;\n};\n\n// Skip spaces from given position in reverse.\nStateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (!isSpace(this.src.charCodeAt(--pos))) { return pos + 1; }\n }\n return pos;\n};\n\n// Skip char codes from given position\nStateBlock.prototype.skipChars = function skipChars(pos, code) {\n for (var max = this.src.length; pos < max; pos++) {\n if (this.src.charCodeAt(pos) !== code) { break; }\n }\n return pos;\n};\n\n// Skip char codes reverse from given position - 1\nStateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (code !== this.src.charCodeAt(--pos)) { return pos + 1; }\n }\n return pos;\n};\n\n// cut lines range from source.\nStateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {\n var i, lineIndent, ch, first, last, queue, lineStart,\n line = begin;\n\n if (begin >= end) {\n return '';\n }\n\n queue = new Array(end - begin);\n\n for (i = 0; line < end; line++, i++) {\n lineIndent = 0;\n lineStart = first = this.bMarks[line];\n\n if (line + 1 < end || keepLastLF) {\n // No need for bounds check because we have fake entry on tail.\n last = this.eMarks[line] + 1;\n } else {\n last = this.eMarks[line];\n }\n\n while (first < last && lineIndent < indent) {\n ch = this.src.charCodeAt(first);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;\n } else {\n lineIndent++;\n }\n } else if (first - lineStart < this.tShift[line]) {\n // patched tShift masked characters to look like spaces (blockquotes, list markers)\n lineIndent++;\n } else {\n break;\n }\n\n first++;\n }\n\n if (lineIndent > indent) {\n // partially expanding tabs in code blocks, e.g '\\t\\tfoobar'\n // with indent=2 becomes ' \\tfoobar'\n queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);\n } else {\n queue[i] = this.src.slice(first, last);\n }\n }\n\n return queue.join('');\n};\n\n// re-export Token class to use in block rules\nStateBlock.prototype.Token = Token;\n\n\nmodule.exports = StateBlock;\n","/** internal\n * class ParserInline\n *\n * Tokenizes paragraph content.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Parser rules\n\nvar _rules = [\n [ 'text', require('./rules_inline/text') ],\n [ 'newline', require('./rules_inline/newline') ],\n [ 'escape', require('./rules_inline/escape') ],\n [ 'backticks', require('./rules_inline/backticks') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').tokenize ],\n [ 'emphasis', require('./rules_inline/emphasis').tokenize ],\n [ 'link', require('./rules_inline/link') ],\n [ 'image', require('./rules_inline/image') ],\n [ 'autolink', require('./rules_inline/autolink') ],\n [ 'html_inline', require('./rules_inline/html_inline') ],\n [ 'entity', require('./rules_inline/entity') ]\n];\n\nvar _rules2 = [\n [ 'balance_pairs', require('./rules_inline/balance_pairs') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').postProcess ],\n [ 'emphasis', require('./rules_inline/emphasis').postProcess ],\n [ 'text_collapse', require('./rules_inline/text_collapse') ]\n];\n\n\n/**\n * new ParserInline()\n **/\nfunction ParserInline() {\n var i;\n\n /**\n * ParserInline#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of inline rules.\n **/\n this.ruler = new Ruler();\n\n for (i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n\n /**\n * ParserInline#ruler2 -> Ruler\n *\n * [[Ruler]] instance. Second ruler used for post-processing\n * (e.g. in emphasis-like rules).\n **/\n this.ruler2 = new Ruler();\n\n for (i = 0; i < _rules2.length; i++) {\n this.ruler2.push(_rules2[i][0], _rules2[i][1]);\n }\n}\n\n\n// Skip single token by running all rules in validation mode;\n// returns `true` if any rule reported success\n//\nParserInline.prototype.skipToken = function (state) {\n var ok, i, pos = state.pos,\n rules = this.ruler.getRules(''),\n len = rules.length,\n maxNesting = state.md.options.maxNesting,\n cache = state.cache;\n\n\n if (typeof cache[pos] !== 'undefined') {\n state.pos = cache[pos];\n return;\n }\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n // Increment state.level and decrement it later to limit recursion.\n // It's harmless to do here, because no tokens are created. But ideally,\n // we'd need a separate private state variable for this purpose.\n //\n state.level++;\n ok = rules[i](state, true);\n state.level--;\n\n if (ok) { break; }\n }\n } else {\n // Too much nesting, just skip until the end of the paragraph.\n //\n // NOTE: this will cause links to behave incorrectly in the following case,\n // when an amount of `[` is exactly equal to `maxNesting + 1`:\n //\n // [[[[[[[[[[[[[[[[[[[[[foo]()\n //\n // TODO: remove this workaround when CM standard will allow nested links\n // (we can replace it by preventing links from being parsed in\n // validation mode)\n //\n state.pos = state.posMax;\n }\n\n if (!ok) { state.pos++; }\n cache[pos] = state.pos;\n};\n\n\n// Generate tokens for input range\n//\nParserInline.prototype.tokenize = function (state) {\n var ok, i,\n rules = this.ruler.getRules(''),\n len = rules.length,\n end = state.posMax,\n maxNesting = state.md.options.maxNesting;\n\n while (state.pos < end) {\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.pos`\n // - update `state.tokens`\n // - return true\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n ok = rules[i](state, false);\n if (ok) { break; }\n }\n }\n\n if (ok) {\n if (state.pos >= end) { break; }\n continue;\n }\n\n state.pending += state.src[state.pos++];\n }\n\n if (state.pending) {\n state.pushPending();\n }\n};\n\n\n/**\n * ParserInline.parse(str, md, env, outTokens)\n *\n * Process input string and push inline tokens into `outTokens`\n **/\nParserInline.prototype.parse = function (str, md, env, outTokens) {\n var i, rules, len;\n var state = new this.State(str, md, env, outTokens);\n\n this.tokenize(state);\n\n rules = this.ruler2.getRules('');\n len = rules.length;\n\n for (i = 0; i < len; i++) {\n rules[i](state);\n }\n};\n\n\nParserInline.prototype.State = require('./rules_inline/state_inline');\n\n\nmodule.exports = ParserInline;\n","// Skip text characters for text token, place those to pending buffer\n// and increment current pos\n\n'use strict';\n\n\n// Rule to skip pure text\n// '{}$%@~+=:' reserved for extentions\n\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n\n// !!!! Don't confuse with \"Markdown ASCII Punctuation\" chars\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\nfunction isTerminatorChar(ch) {\n switch (ch) {\n case 0x0A/* \\n */:\n case 0x21/* ! */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2D/* - */:\n case 0x3A/* : */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos;\n\n while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {\n pos++;\n }\n\n if (pos === state.pos) { return false; }\n\n if (!silent) { state.pending += state.src.slice(state.pos, pos); }\n\n state.pos = pos;\n\n return true;\n};\n\n// Alternative implementation, for memory.\n//\n// It costs 10% of performance, but allows extend terminators list, if place it\n// to `ParcerInline` property. Probably, will switch to it sometime, such\n// flexibility required.\n\n/*\nvar TERMINATOR_RE = /[\\n!#$%&*+\\-:<=>@[\\\\\\]^_`{}~]/;\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos,\n idx = state.src.slice(pos).search(TERMINATOR_RE);\n\n // first char is terminator -> empty text\n if (idx === 0) { return false; }\n\n // no terminator -> text till end of string\n if (idx < 0) {\n if (!silent) { state.pending += state.src.slice(pos); }\n state.pos = state.src.length;\n return true;\n }\n\n if (!silent) { state.pending += state.src.slice(pos, pos + idx); }\n\n state.pos += idx;\n\n return true;\n};*/\n","// Proceess '\\n'\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function newline(state, silent) {\n var pmax, max, pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x0A/* \\n */) { return false; }\n\n pmax = state.pending.length - 1;\n max = state.posMax;\n\n // ' \\n' -> hardbreak\n // Lookup in pending chars is bad practice! Don't copy to other rules!\n // Pending string is stored in concat mode, indexed lookups will cause\n // convertion to flat mode.\n if (!silent) {\n if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {\n if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {\n state.pending = state.pending.replace(/ +$/, '');\n state.push('hardbreak', 'br', 0);\n } else {\n state.pending = state.pending.slice(0, -1);\n state.push('softbreak', 'br', 0);\n }\n\n } else {\n state.push('softbreak', 'br', 0);\n }\n }\n\n pos++;\n\n // skip heading spaces for next line\n while (pos < max && isSpace(state.src.charCodeAt(pos))) { pos++; }\n\n state.pos = pos;\n return true;\n};\n","// Process escaped chars and hardbreaks\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\nvar ESCAPED = [];\n\nfor (var i = 0; i < 256; i++) { ESCAPED.push(0); }\n\n'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'\n .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1; });\n\n\nmodule.exports = function escape(state, silent) {\n var ch, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x5C/* \\ */) { return false; }\n\n pos++;\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch < 256 && ESCAPED[ch] !== 0) {\n if (!silent) { state.pending += state.src[pos]; }\n state.pos += 2;\n return true;\n }\n\n if (ch === 0x0A) {\n if (!silent) {\n state.push('hardbreak', 'br', 0);\n }\n\n pos++;\n // skip leading whitespaces from next line\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n\n state.pos = pos;\n return true;\n }\n }\n\n if (!silent) { state.pending += '\\\\'; }\n state.pos++;\n return true;\n};\n","// Parse backticks\n\n'use strict';\n\nmodule.exports = function backtick(state, silent) {\n var start, max, marker, matchStart, matchEnd, token,\n pos = state.pos,\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x60/* ` */) { return false; }\n\n start = pos;\n pos++;\n max = state.posMax;\n\n while (pos < max && state.src.charCodeAt(pos) === 0x60/* ` */) { pos++; }\n\n marker = state.src.slice(start, pos);\n\n matchStart = matchEnd = pos;\n\n while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {\n matchEnd = matchStart + 1;\n\n while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60/* ` */) { matchEnd++; }\n\n if (matchEnd - matchStart === marker.length) {\n if (!silent) {\n token = state.push('code_inline', 'code', 0);\n token.markup = marker;\n token.content = state.src.slice(pos, matchStart)\n .replace(/\\n/g, ' ')\n .replace(/^ (.+) $/, '$1');\n }\n state.pos = matchEnd;\n return true;\n }\n }\n\n if (!silent) { state.pending += marker; }\n state.pos += marker.length;\n return true;\n};\n","// Process [link]( \"stuff\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function link(state, silent) {\n var attrs,\n code,\n label,\n labelEnd,\n labelStart,\n pos,\n res,\n ref,\n title,\n token,\n href = '',\n oldPos = state.pos,\n max = state.posMax,\n start = state.pos,\n parseReference = true;\n\n if (state.src.charCodeAt(state.pos) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 1;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // might have found a valid shortcut link, disable reference parsing\n parseReference = false;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n // parsing a valid shortcut link failed, fallback to reference\n parseReference = true;\n }\n pos++;\n }\n\n if (parseReference) {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n state.pos = labelStart;\n state.posMax = labelEnd;\n\n token = state.push('link_open', 'a', 1);\n token.attrs = attrs = [ [ 'href', href ] ];\n if (title) {\n attrs.push([ 'title', title ]);\n }\n\n state.md.inline.tokenize(state);\n\n token = state.push('link_close', 'a', -1);\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process ![image]( \"title\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function image(state, silent) {\n var attrs,\n code,\n content,\n label,\n labelEnd,\n labelStart,\n pos,\n ref,\n res,\n title,\n token,\n tokens,\n start,\n href = '',\n oldPos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false; }\n if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 2;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n state.pos = oldPos;\n return false;\n }\n pos++;\n } else {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n content = state.src.slice(labelStart, labelEnd);\n\n state.md.inline.parse(\n content,\n state.md,\n state.env,\n tokens = []\n );\n\n token = state.push('image', 'img', 0);\n token.attrs = attrs = [ [ 'src', href ], [ 'alt', '' ] ];\n token.children = tokens;\n token.content = content;\n\n if (title) {\n attrs.push([ 'title', title ]);\n }\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process autolinks ''\n\n'use strict';\n\n\n/*eslint max-len:0*/\nvar EMAIL_RE = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;\nvar AUTOLINK_RE = /^<([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)>/;\n\n\nmodule.exports = function autolink(state, silent) {\n var tail, linkMatch, emailMatch, url, fullUrl, token,\n pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n tail = state.src.slice(pos);\n\n if (tail.indexOf('>') < 0) { return false; }\n\n if (AUTOLINK_RE.test(tail)) {\n linkMatch = tail.match(AUTOLINK_RE);\n\n url = linkMatch[0].slice(1, -1);\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += linkMatch[0].length;\n return true;\n }\n\n if (EMAIL_RE.test(tail)) {\n emailMatch = tail.match(EMAIL_RE);\n\n url = emailMatch[0].slice(1, -1);\n fullUrl = state.md.normalizeLink('mailto:' + url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += emailMatch[0].length;\n return true;\n }\n\n return false;\n};\n","// Process html tags\n\n'use strict';\n\n\nvar HTML_TAG_RE = require('../common/html_re').HTML_TAG_RE;\n\n\nfunction isLetter(ch) {\n /*eslint no-bitwise:0*/\n var lc = ch | 0x20; // to lower case\n return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */);\n}\n\n\nmodule.exports = function html_inline(state, silent) {\n var ch, match, max, token,\n pos = state.pos;\n\n if (!state.md.options.html) { return false; }\n\n // Check start\n max = state.posMax;\n if (state.src.charCodeAt(pos) !== 0x3C/* < */ ||\n pos + 2 >= max) {\n return false;\n }\n\n // Quick fail on second char\n ch = state.src.charCodeAt(pos + 1);\n if (ch !== 0x21/* ! */ &&\n ch !== 0x3F/* ? */ &&\n ch !== 0x2F/* / */ &&\n !isLetter(ch)) {\n return false;\n }\n\n match = state.src.slice(pos).match(HTML_TAG_RE);\n if (!match) { return false; }\n\n if (!silent) {\n token = state.push('html_inline', '', 0);\n token.content = state.src.slice(pos, pos + match[0].length);\n }\n state.pos += match[0].length;\n return true;\n};\n","// Process html entity - {, ¯, ", ...\n\n'use strict';\n\nvar entities = require('../common/entities');\nvar has = require('../common/utils').has;\nvar isValidEntityCode = require('../common/utils').isValidEntityCode;\nvar fromCodePoint = require('../common/utils').fromCodePoint;\n\n\nvar DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;\nvar NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;\n\n\nmodule.exports = function entity(state, silent) {\n var ch, code, match, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x26/* & */) { return false; }\n\n if (pos + 1 < max) {\n ch = state.src.charCodeAt(pos + 1);\n\n if (ch === 0x23 /* # */) {\n match = state.src.slice(pos).match(DIGITAL_RE);\n if (match) {\n if (!silent) {\n code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);\n state.pending += isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);\n }\n state.pos += match[0].length;\n return true;\n }\n } else {\n match = state.src.slice(pos).match(NAMED_RE);\n if (match) {\n if (has(entities, match[1])) {\n if (!silent) { state.pending += entities[match[1]]; }\n state.pos += match[0].length;\n return true;\n }\n }\n }\n }\n\n if (!silent) { state.pending += '&'; }\n state.pos++;\n return true;\n};\n","// For each opening emphasis-like marker find a matching closing one\n//\n'use strict';\n\n\nfunction processDelimiters(state, delimiters) {\n var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx,\n isOddMatch, lastJump,\n openersBottom = {},\n max = delimiters.length;\n\n for (closerIdx = 0; closerIdx < max; closerIdx++) {\n closer = delimiters[closerIdx];\n\n // Length is only used for emphasis-specific \"rule of 3\",\n // if it's not defined (in strikethrough or 3rd party plugins),\n // we can default it to 0 to disable those checks.\n //\n closer.length = closer.length || 0;\n\n if (!closer.close) continue;\n\n // Previously calculated lower bounds (previous fails)\n // for each marker and each delimiter length modulo 3.\n if (!openersBottom.hasOwnProperty(closer.marker)) {\n openersBottom[closer.marker] = [ -1, -1, -1 ];\n }\n\n minOpenerIdx = openersBottom[closer.marker][closer.length % 3];\n newMinOpenerIdx = -1;\n\n openerIdx = closerIdx - closer.jump - 1;\n\n for (; openerIdx > minOpenerIdx; openerIdx -= opener.jump + 1) {\n opener = delimiters[openerIdx];\n\n if (opener.marker !== closer.marker) continue;\n\n if (newMinOpenerIdx === -1) newMinOpenerIdx = openerIdx;\n\n if (opener.open &&\n opener.end < 0 &&\n opener.level === closer.level) {\n\n isOddMatch = false;\n\n // from spec:\n //\n // If one of the delimiters can both open and close emphasis, then the\n // sum of the lengths of the delimiter runs containing the opening and\n // closing delimiters must not be a multiple of 3 unless both lengths\n // are multiples of 3.\n //\n if (opener.close || closer.open) {\n if ((opener.length + closer.length) % 3 === 0) {\n if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {\n isOddMatch = true;\n }\n }\n }\n\n if (!isOddMatch) {\n // If previous delimiter cannot be an opener, we can safely skip\n // the entire sequence in future checks. This is required to make\n // sure algorithm has linear complexity (see *_*_*_*_*_... case).\n //\n lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ?\n delimiters[openerIdx - 1].jump + 1 :\n 0;\n\n closer.jump = closerIdx - openerIdx + lastJump;\n closer.open = false;\n opener.end = closerIdx;\n opener.jump = lastJump;\n opener.close = false;\n newMinOpenerIdx = -1;\n break;\n }\n }\n }\n\n if (newMinOpenerIdx !== -1) {\n // If match for this delimiter run failed, we want to set lower bound for\n // future lookups. This is required to make sure algorithm has linear\n // complexity.\n //\n // See details here:\n // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442\n //\n openersBottom[closer.marker][(closer.length || 0) % 3] = newMinOpenerIdx;\n }\n }\n}\n\n\nmodule.exports = function link_pairs(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n processDelimiters(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n processDelimiters(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Clean up tokens after emphasis and strikethrough postprocessing:\n// merge adjacent text nodes into one and re-calculate all token levels\n//\n// This is necessary because initially emphasis delimiter markers (*, _, ~)\n// are treated as their own separate text tokens. Then emphasis rule either\n// leaves them as text (needed to merge with adjacent text) or turns them\n// into opening/closing tags (which messes up levels inside).\n//\n'use strict';\n\n\nmodule.exports = function text_collapse(state) {\n var curr, last,\n level = 0,\n tokens = state.tokens,\n max = state.tokens.length;\n\n for (curr = last = 0; curr < max; curr++) {\n // re-calculate levels after emphasis/strikethrough turns some text nodes\n // into opening/closing tags\n if (tokens[curr].nesting < 0) level--; // closing tag\n tokens[curr].level = level;\n if (tokens[curr].nesting > 0) level++; // opening tag\n\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n};\n","// Inline parser state\n\n'use strict';\n\n\nvar Token = require('../token');\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\n\nfunction StateInline(src, md, env, outTokens) {\n this.src = src;\n this.env = env;\n this.md = md;\n this.tokens = outTokens;\n this.tokens_meta = Array(outTokens.length);\n\n this.pos = 0;\n this.posMax = this.src.length;\n this.level = 0;\n this.pending = '';\n this.pendingLevel = 0;\n\n // Stores { start: end } pairs. Useful for backtrack\n // optimization of pairs parse (emphasis, strikes).\n this.cache = {};\n\n // List of emphasis-like delimiters for current tag\n this.delimiters = [];\n\n // Stack of delimiter lists for upper level tags\n this._prev_delimiters = [];\n}\n\n\n// Flush pending text\n//\nStateInline.prototype.pushPending = function () {\n var token = new Token('text', '', 0);\n token.content = this.pending;\n token.level = this.pendingLevel;\n this.tokens.push(token);\n this.pending = '';\n return token;\n};\n\n\n// Push new token to \"stream\".\n// If pending text exists - flush it as text token\n//\nStateInline.prototype.push = function (type, tag, nesting) {\n if (this.pending) {\n this.pushPending();\n }\n\n var token = new Token(type, tag, nesting);\n var token_meta = null;\n\n if (nesting < 0) {\n // closing tag\n this.level--;\n this.delimiters = this._prev_delimiters.pop();\n }\n\n token.level = this.level;\n\n if (nesting > 0) {\n // opening tag\n this.level++;\n this._prev_delimiters.push(this.delimiters);\n this.delimiters = [];\n token_meta = { delimiters: this.delimiters };\n }\n\n this.pendingLevel = this.level;\n this.tokens.push(token);\n this.tokens_meta.push(token_meta);\n return token;\n};\n\n\n// Scan a sequence of emphasis-like markers, and determine whether\n// it can start an emphasis sequence or end an emphasis sequence.\n//\n// - start - position to scan from (it should point at a valid marker);\n// - canSplitWord - determine if these markers can be found inside a word\n//\nStateInline.prototype.scanDelims = function (start, canSplitWord) {\n var pos = start, lastChar, nextChar, count, can_open, can_close,\n isLastWhiteSpace, isLastPunctChar,\n isNextWhiteSpace, isNextPunctChar,\n left_flanking = true,\n right_flanking = true,\n max = this.posMax,\n marker = this.src.charCodeAt(start);\n\n // treat beginning of the line as a whitespace\n lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;\n\n while (pos < max && this.src.charCodeAt(pos) === marker) { pos++; }\n\n count = pos - start;\n\n // treat end of the line as a whitespace\n nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n left_flanking = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n left_flanking = false;\n }\n }\n\n if (isLastWhiteSpace) {\n right_flanking = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n right_flanking = false;\n }\n }\n\n if (!canSplitWord) {\n can_open = left_flanking && (!right_flanking || isLastPunctChar);\n can_close = right_flanking && (!left_flanking || isNextPunctChar);\n } else {\n can_open = left_flanking;\n can_close = right_flanking;\n }\n\n return {\n can_open: can_open,\n can_close: can_close,\n length: count\n };\n};\n\n\n// re-export Token class to use in block rules\nStateInline.prototype.Token = Token;\n\n\nmodule.exports = StateInline;\n","'use strict';\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\nfunction isString(obj) { return _class(obj) === '[object String]'; }\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\n\n\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&'); }\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\n\nvar defaultSchemas = {\n 'http:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp(\n '^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\n );\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp(\n '^' +\n self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' +\n self.re.src_port +\n self.re.src_host_terminator +\n self.re.src_path,\n\n 'i'\n );\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp(\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\n );\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = require('./lib/re')(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) { return; }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate =\n self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize =\n self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__)\n .filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n })\n .map(escapeRE)\n .join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n\n self.re.pretest = RegExp(\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\n 'i'\n );\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) { return false; }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ ||\n (shift === this.__index__ && next > this.__last_index__)) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0, result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [ list ];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list)\n .sort()\n .filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n })\n .reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) { match.url = 'http://' + match.url; }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {\n};\n\n\nmodule.exports = LinkifyIt;\n","'use strict';\n\n\nmodule.exports = function (opts) {\n var re = {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = require('uc.micro/properties/Any/regex').source;\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\n re.src_Z = require('uc.micro/categories/Z/regex').source;\n re.src_P = require('uc.micro/categories/P/regex').source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uff5c]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 =\n\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port =\n\n '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator =\n\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path =\n\n '(?:' +\n '[/?#]' +\n '(?:' +\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-]).|' +\n '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' +\n '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' +\n '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' +\n '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' +\n \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" +\n \"\\\\'(?=\" + re.src_pseudo_letter + '|[-]).|' + // allow `I'm_king` if no pair found\n '\\\\.{2,4}[a-zA-Z0-9%/]|' + // github has ... in commit range links,\n // google has .... in links (issue #66)\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]).|' +\n (opts && opts['---'] ?\n '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n :\n '\\\\-+|'\n ) +\n '\\\\,(?!' + re.src_ZCc + ').|' + // allow `,,,` in paths\n '\\\\!(?!' + re.src_ZCc + '|[!]).|' +\n '\\\\?(?!' + re.src_ZCc + '|[?]).' +\n ')+' +\n '|\\\\/' +\n ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name =\n\n '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn =\n\n 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' +\n re.src_xn +\n '|' +\n re.src_pseudo_letter + '{1,63}' +\n ')';\n\n re.src_domain =\n\n '(?:' +\n re.src_xn +\n '|' +\n '(?:' + re.src_pseudo_letter + ')' +\n '|' +\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\n ')';\n\n re.src_host =\n\n '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain/*_root*/ + ')' +\n ')';\n\n re.tpl_host_fuzzy =\n\n '(?:' +\n re.src_ip4 +\n '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' +\n ')';\n\n re.tpl_host_no_ip_fuzzy =\n\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict =\n\n re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict =\n\n re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict =\n\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test =\n\n 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy =\n\n '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' +\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","// markdown-it default options\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: false, // Enable HTML tags in source\n xhtmlOut: false, // Use '/' to close single tags (
    )\n breaks: false, // Convert '\\n' in paragraphs into
    \n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with )\n breaks: false, // Convert '\\n' in paragraphs into
    \n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with )\n breaks: false, // Convert '\\n' in paragraphs into
    \n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with = 0; i--) {\n var from = ranges[i].from(), to = ranges[i].to();\n if (from.line >= minLine) continue;\n if (to.line >= minLine) to = Pos(minLine, 0);\n minLine = from.line;\n if (mode == null) {\n if (cm.uncomment(from, to, options)) mode = \"un\";\n else { cm.lineComment(from, to, options); mode = \"line\"; }\n } else if (mode == \"un\") {\n cm.uncomment(from, to, options);\n } else {\n cm.lineComment(from, to, options);\n }\n }\n });\n\n // Rough heuristic to try and detect lines that are part of multi-line string\n function probablyInsideString(cm, pos, line) {\n return /\\bstring\\b/.test(cm.getTokenTypeAt(Pos(pos.line, 0))) && !/^[\\'\\\"\\`]/.test(line)\n }\n\n function getMode(cm, pos) {\n var mode = cm.getMode()\n return mode.useInnerComments === false || !mode.innerMode ? mode : cm.getModeAt(pos)\n }\n\n CodeMirror.defineExtension(\"lineComment\", function(from, to, options) {\n if (!options) options = noOptions;\n var self = this, mode = getMode(self, from);\n var firstLine = self.getLine(from.line);\n if (firstLine == null || probablyInsideString(self, from, firstLine)) return;\n\n var commentString = options.lineComment || mode.lineComment;\n if (!commentString) {\n if (options.blockCommentStart || mode.blockCommentStart) {\n options.fullLines = true;\n self.blockComment(from, to, options);\n }\n return;\n }\n\n var end = Math.min(to.ch != 0 || to.line == from.line ? to.line + 1 : to.line, self.lastLine() + 1);\n var pad = options.padding == null ? \" \" : options.padding;\n var blankLines = options.commentBlankLines || from.line == to.line;\n\n self.operation(function() {\n if (options.indent) {\n var baseString = null;\n for (var i = from.line; i < end; ++i) {\n var line = self.getLine(i);\n var whitespace = line.slice(0, firstNonWS(line));\n if (baseString == null || baseString.length > whitespace.length) {\n baseString = whitespace;\n }\n }\n for (var i = from.line; i < end; ++i) {\n var line = self.getLine(i), cut = baseString.length;\n if (!blankLines && !nonWS.test(line)) continue;\n if (line.slice(0, cut) != baseString) cut = firstNonWS(line);\n self.replaceRange(baseString + commentString + pad, Pos(i, 0), Pos(i, cut));\n }\n } else {\n for (var i = from.line; i < end; ++i) {\n if (blankLines || nonWS.test(self.getLine(i)))\n self.replaceRange(commentString + pad, Pos(i, 0));\n }\n }\n });\n });\n\n CodeMirror.defineExtension(\"blockComment\", function(from, to, options) {\n if (!options) options = noOptions;\n var self = this, mode = getMode(self, from);\n var startString = options.blockCommentStart || mode.blockCommentStart;\n var endString = options.blockCommentEnd || mode.blockCommentEnd;\n if (!startString || !endString) {\n if ((options.lineComment || mode.lineComment) && options.fullLines != false)\n self.lineComment(from, to, options);\n return;\n }\n if (/\\bcomment\\b/.test(self.getTokenTypeAt(Pos(from.line, 0)))) return\n\n var end = Math.min(to.line, self.lastLine());\n if (end != from.line && to.ch == 0 && nonWS.test(self.getLine(end))) --end;\n\n var pad = options.padding == null ? \" \" : options.padding;\n if (from.line > end) return;\n\n self.operation(function() {\n if (options.fullLines != false) {\n var lastLineHasText = nonWS.test(self.getLine(end));\n self.replaceRange(pad + endString, Pos(end));\n self.replaceRange(startString + pad, Pos(from.line, 0));\n var lead = options.blockCommentLead || mode.blockCommentLead;\n if (lead != null) for (var i = from.line + 1; i <= end; ++i)\n if (i != end || lastLineHasText)\n self.replaceRange(lead + pad, Pos(i, 0));\n } else {\n var atCursor = cmp(self.getCursor(\"to\"), to) == 0, empty = !self.somethingSelected()\n self.replaceRange(endString, to);\n if (atCursor) self.setSelection(empty ? to : self.getCursor(\"from\"), to)\n self.replaceRange(startString, from);\n }\n });\n });\n\n CodeMirror.defineExtension(\"uncomment\", function(from, to, options) {\n if (!options) options = noOptions;\n var self = this, mode = getMode(self, from);\n var end = Math.min(to.ch != 0 || to.line == from.line ? to.line : to.line - 1, self.lastLine()), start = Math.min(from.line, end);\n\n // Try finding line comments\n var lineString = options.lineComment || mode.lineComment, lines = [];\n var pad = options.padding == null ? \" \" : options.padding, didSomething;\n lineComment: {\n if (!lineString) break lineComment;\n for (var i = start; i <= end; ++i) {\n var line = self.getLine(i);\n var found = line.indexOf(lineString);\n if (found > -1 && !/comment/.test(self.getTokenTypeAt(Pos(i, found + 1)))) found = -1;\n if (found == -1 && nonWS.test(line)) break lineComment;\n if (found > -1 && nonWS.test(line.slice(0, found))) break lineComment;\n lines.push(line);\n }\n self.operation(function() {\n for (var i = start; i <= end; ++i) {\n var line = lines[i - start];\n var pos = line.indexOf(lineString), endPos = pos + lineString.length;\n if (pos < 0) continue;\n if (line.slice(endPos, endPos + pad.length) == pad) endPos += pad.length;\n didSomething = true;\n self.replaceRange(\"\", Pos(i, pos), Pos(i, endPos));\n }\n });\n if (didSomething) return true;\n }\n\n // Try block comments\n var startString = options.blockCommentStart || mode.blockCommentStart;\n var endString = options.blockCommentEnd || mode.blockCommentEnd;\n if (!startString || !endString) return false;\n var lead = options.blockCommentLead || mode.blockCommentLead;\n var startLine = self.getLine(start), open = startLine.indexOf(startString)\n if (open == -1) return false\n var endLine = end == start ? startLine : self.getLine(end)\n var close = endLine.indexOf(endString, end == start ? open + startString.length : 0);\n var insideStart = Pos(start, open + 1), insideEnd = Pos(end, close + 1)\n if (close == -1 ||\n !/comment/.test(self.getTokenTypeAt(insideStart)) ||\n !/comment/.test(self.getTokenTypeAt(insideEnd)) ||\n self.getRange(insideStart, insideEnd, \"\\n\").indexOf(endString) > -1)\n return false;\n\n // Avoid killing block comments completely outside the selection.\n // Positions of the last startString before the start of the selection, and the first endString after it.\n var lastStart = startLine.lastIndexOf(startString, from.ch);\n var firstEnd = lastStart == -1 ? -1 : startLine.slice(0, from.ch).indexOf(endString, lastStart + startString.length);\n if (lastStart != -1 && firstEnd != -1 && firstEnd + endString.length != from.ch) return false;\n // Positions of the first endString after the end of the selection, and the last startString before it.\n firstEnd = endLine.indexOf(endString, to.ch);\n var almostLastStart = endLine.slice(to.ch).lastIndexOf(startString, firstEnd - to.ch);\n lastStart = (firstEnd == -1 || almostLastStart == -1) ? -1 : to.ch + almostLastStart;\n if (firstEnd != -1 && lastStart != -1 && lastStart != to.ch) return false;\n\n self.operation(function() {\n self.replaceRange(\"\", Pos(end, close - (pad && endLine.slice(close - pad.length, close) == pad ? pad.length : 0)),\n Pos(end, close + endString.length));\n var openEnd = open + startString.length;\n if (pad && startLine.slice(openEnd, openEnd + pad.length) == pad) openEnd += pad.length;\n self.replaceRange(\"\", Pos(start, open), Pos(start, openEnd));\n if (lead) for (var i = start + 1; i <= end; ++i) {\n var line = self.getLine(i), found = line.indexOf(lead);\n if (found == -1 || nonWS.test(line.slice(0, found))) continue;\n var foundEnd = found + lead.length;\n if (pad && line.slice(foundEnd, foundEnd + pad.length) == pad) foundEnd += pad.length;\n self.replaceRange(\"\", Pos(i, found), Pos(i, foundEnd));\n }\n });\n return true;\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n function doFold(cm, pos, options, force) {\n if (options && options.call) {\n var finder = options;\n options = null;\n } else {\n var finder = getOption(cm, options, \"rangeFinder\");\n }\n if (typeof pos == \"number\") pos = CodeMirror.Pos(pos, 0);\n var minSize = getOption(cm, options, \"minFoldSize\");\n\n function getRange(allowFolded) {\n var range = finder(cm, pos);\n if (!range || range.to.line - range.from.line < minSize) return null;\n var marks = cm.findMarksAt(range.from);\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold && force !== \"fold\") {\n if (!allowFolded) return null;\n range.cleared = true;\n marks[i].clear();\n }\n }\n return range;\n }\n\n var range = getRange(true);\n if (getOption(cm, options, \"scanUp\")) while (!range && pos.line > cm.firstLine()) {\n pos = CodeMirror.Pos(pos.line - 1, 0);\n range = getRange(false);\n }\n if (!range || range.cleared || force === \"unfold\") return;\n\n var myWidget = makeWidget(cm, options, range);\n CodeMirror.on(myWidget, \"mousedown\", function(e) {\n myRange.clear();\n CodeMirror.e_preventDefault(e);\n });\n var myRange = cm.markText(range.from, range.to, {\n replacedWith: myWidget,\n clearOnEnter: getOption(cm, options, \"clearOnEnter\"),\n __isFold: true\n });\n myRange.on(\"clear\", function(from, to) {\n CodeMirror.signal(cm, \"unfold\", cm, from, to);\n });\n CodeMirror.signal(cm, \"fold\", cm, range.from, range.to);\n }\n\n function makeWidget(cm, options, range) {\n var widget = getOption(cm, options, \"widget\");\n\n if (typeof widget == \"function\") {\n widget = widget(range.from, range.to);\n }\n\n if (typeof widget == \"string\") {\n var text = document.createTextNode(widget);\n widget = document.createElement(\"span\");\n widget.appendChild(text);\n widget.className = \"CodeMirror-foldmarker\";\n } else if (widget) {\n widget = widget.cloneNode(true)\n }\n return widget;\n }\n\n // Clumsy backwards-compatible interface\n CodeMirror.newFoldFunction = function(rangeFinder, widget) {\n return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); };\n };\n\n // New-style interface\n CodeMirror.defineExtension(\"foldCode\", function(pos, options, force) {\n doFold(this, pos, options, force);\n });\n\n CodeMirror.defineExtension(\"isFolded\", function(pos) {\n var marks = this.findMarksAt(pos);\n for (var i = 0; i < marks.length; ++i)\n if (marks[i].__isFold) return true;\n });\n\n CodeMirror.commands.toggleFold = function(cm) {\n cm.foldCode(cm.getCursor());\n };\n CodeMirror.commands.fold = function(cm) {\n cm.foldCode(cm.getCursor(), null, \"fold\");\n };\n CodeMirror.commands.unfold = function(cm) {\n cm.foldCode(cm.getCursor(), null, \"unfold\");\n };\n CodeMirror.commands.foldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), null, \"fold\");\n });\n };\n CodeMirror.commands.unfoldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), null, \"unfold\");\n });\n };\n\n CodeMirror.registerHelper(\"fold\", \"combine\", function() {\n var funcs = Array.prototype.slice.call(arguments, 0);\n return function(cm, start) {\n for (var i = 0; i < funcs.length; ++i) {\n var found = funcs[i](cm, start);\n if (found) return found;\n }\n };\n });\n\n CodeMirror.registerHelper(\"fold\", \"auto\", function(cm, start) {\n var helpers = cm.getHelpers(start, \"fold\");\n for (var i = 0; i < helpers.length; i++) {\n var cur = helpers[i](cm, start);\n if (cur) return cur;\n }\n });\n\n var defaultOptions = {\n rangeFinder: CodeMirror.fold.auto,\n widget: \"\\u2194\",\n minFoldSize: 0,\n scanUp: false,\n clearOnEnter: true\n };\n\n CodeMirror.defineOption(\"foldOptions\", null);\n\n function getOption(cm, options, name) {\n if (options && options[name] !== undefined)\n return options[name];\n var editorOptions = cm.options.foldOptions;\n if (editorOptions && editorOptions[name] !== undefined)\n return editorOptions[name];\n return defaultOptions[name];\n }\n\n CodeMirror.defineExtension(\"foldOption\", function(options, name) {\n return getOption(this, options, name);\n });\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nrequire(\"codemirror/addon/hint/show-hint\");\nvar graphql_language_service_interface_1 = require(\"graphql-language-service-interface\");\nvar graphql_language_service_utils_1 = require(\"graphql-language-service-utils\");\ncodemirror_1.default.registerHelper('hint', 'graphql', function (editor, options) {\n var schema = options.schema;\n if (!schema) {\n return;\n }\n var cur = editor.getCursor();\n var token = editor.getTokenAt(cur);\n var tokenStart = token.type !== null && /\"|\\w/.test(token.string[0])\n ? token.start\n : token.end;\n var position = new graphql_language_service_utils_1.Position(cur.line, tokenStart);\n var rawResults = graphql_language_service_interface_1.getAutocompleteSuggestions(schema, editor.getValue(), position, token, options.externalFragments);\n var results = {\n list: rawResults.map(function (item) { return ({\n text: item.label,\n type: item.type,\n description: item.documentation,\n isDeprecated: item.isDeprecated,\n deprecationReason: item.deprecationReason,\n }); }),\n from: { line: cur.line, ch: tokenStart },\n to: { line: cur.line, ch: token.end },\n };\n if (results && results.list && results.list.length > 0) {\n results.from = codemirror_1.default.Pos(results.from.line, results.from.ch);\n results.to = codemirror_1.default.Pos(results.to.line, results.to.ch);\n codemirror_1.default.signal(editor, 'hasCompletion', editor, results, token);\n }\n return results;\n});\n//# sourceMappingURL=hint.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar graphql_language_service_interface_1 = require(\"graphql-language-service-interface\");\nvar SEVERITY = ['error', 'warning', 'information', 'hint'];\nvar TYPE = {\n 'GraphQL: Validation': 'validation',\n 'GraphQL: Deprecation': 'deprecation',\n 'GraphQL: Syntax': 'syntax',\n};\ncodemirror_1.default.registerHelper('lint', 'graphql', function (text, options) {\n var schema = options.schema;\n var rawResults = graphql_language_service_interface_1.getDiagnostics(text, schema, options.validationRules, undefined, options.externalFragments);\n var results = rawResults.map(function (error) { return ({\n message: error.message,\n severity: error.severity ? SEVERITY[error.severity - 1] : SEVERITY[0],\n type: error.source ? TYPE[error.source] : undefined,\n from: codemirror_1.default.Pos(error.range.start.line, error.range.start.character),\n to: codemirror_1.default.Pos(error.range.end.line, error.range.end.character),\n }); });\n return results;\n});\n//# sourceMappingURL=lint.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar graphql_1 = require(\"graphql\");\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar getTypeInfo_1 = __importDefault(require(\"./utils/getTypeInfo\"));\nvar SchemaReference_1 = require(\"./utils/SchemaReference\");\nrequire(\"./utils/info-addon\");\ncodemirror_1.default.registerHelper('info', 'graphql', function (token, options) {\n if (!options.schema || !token.state) {\n return;\n }\n var state = token.state;\n var kind = state.kind;\n var step = state.step;\n var typeInfo = getTypeInfo_1.default(options.schema, token.state);\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\n var into = document.createElement('div');\n renderField(into, typeInfo, options);\n renderDescription(into, options, typeInfo.fieldDef);\n return into;\n }\n else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n var into = document.createElement('div');\n renderDirective(into, typeInfo, options);\n renderDescription(into, options, typeInfo.directiveDef);\n return into;\n }\n else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n var into = document.createElement('div');\n renderArg(into, typeInfo, options);\n renderDescription(into, options, typeInfo.argDef);\n return into;\n }\n else if (kind === 'EnumValue' &&\n typeInfo.enumValue &&\n typeInfo.enumValue.description) {\n var into = document.createElement('div');\n renderEnumValue(into, typeInfo, options);\n renderDescription(into, options, typeInfo.enumValue);\n return into;\n }\n else if (kind === 'NamedType' &&\n typeInfo.type &&\n typeInfo.type.description) {\n var into = document.createElement('div');\n renderType(into, typeInfo, options, typeInfo.type);\n renderDescription(into, options, typeInfo.type);\n return into;\n }\n});\nfunction renderField(into, typeInfo, options) {\n renderQualifiedField(into, typeInfo, options);\n renderTypeAnnotation(into, typeInfo, options, typeInfo.type);\n}\nfunction renderQualifiedField(into, typeInfo, options) {\n var _a;\n var fieldName = ((_a = typeInfo.fieldDef) === null || _a === void 0 ? void 0 : _a.name) || '';\n if (fieldName.slice(0, 2) !== '__') {\n renderType(into, typeInfo, options, typeInfo.parentType);\n text(into, '.');\n }\n text(into, fieldName, 'field-name', options, SchemaReference_1.getFieldReference(typeInfo));\n}\nfunction renderDirective(into, typeInfo, options) {\n var _a;\n var name = '@' + (((_a = typeInfo.directiveDef) === null || _a === void 0 ? void 0 : _a.name) || '');\n text(into, name, 'directive-name', options, SchemaReference_1.getDirectiveReference(typeInfo));\n}\nfunction renderArg(into, typeInfo, options) {\n var _a;\n if (typeInfo.directiveDef) {\n renderDirective(into, typeInfo, options);\n }\n else if (typeInfo.fieldDef) {\n renderQualifiedField(into, typeInfo, options);\n }\n var name = ((_a = typeInfo.argDef) === null || _a === void 0 ? void 0 : _a.name) || '';\n text(into, '(');\n text(into, name, 'arg-name', options, SchemaReference_1.getArgumentReference(typeInfo));\n renderTypeAnnotation(into, typeInfo, options, typeInfo.inputType);\n text(into, ')');\n}\nfunction renderTypeAnnotation(into, typeInfo, options, t) {\n text(into, ': ');\n renderType(into, typeInfo, options, t);\n}\nfunction renderEnumValue(into, typeInfo, options) {\n var _a;\n var name = ((_a = typeInfo.enumValue) === null || _a === void 0 ? void 0 : _a.name) || '';\n renderType(into, typeInfo, options, typeInfo.inputType);\n text(into, '.');\n text(into, name, 'enum-value', options, SchemaReference_1.getEnumValueReference(typeInfo));\n}\nfunction renderType(into, typeInfo, options, t) {\n if (t instanceof graphql_1.GraphQLNonNull) {\n renderType(into, typeInfo, options, t.ofType);\n text(into, '!');\n }\n else if (t instanceof graphql_1.GraphQLList) {\n text(into, '[');\n renderType(into, typeInfo, options, t.ofType);\n text(into, ']');\n }\n else {\n text(into, (t === null || t === void 0 ? void 0 : t.name) || '', 'type-name', options, SchemaReference_1.getTypeReference(typeInfo, t));\n }\n}\nfunction renderDescription(into, options, def) {\n var description = def.description;\n if (description) {\n var descriptionDiv = document.createElement('div');\n descriptionDiv.className = 'info-description';\n if (options.renderDescription) {\n descriptionDiv.innerHTML = options.renderDescription(description);\n }\n else {\n descriptionDiv.appendChild(document.createTextNode(description));\n }\n into.appendChild(descriptionDiv);\n }\n renderDeprecation(into, options, def);\n}\nfunction renderDeprecation(into, options, def) {\n var reason = def.deprecationReason;\n if (reason) {\n var deprecationDiv = document.createElement('div');\n deprecationDiv.className = 'info-deprecation';\n if (options.renderDescription) {\n deprecationDiv.innerHTML = options.renderDescription(reason);\n }\n else {\n deprecationDiv.appendChild(document.createTextNode(reason));\n }\n var label = document.createElement('span');\n label.className = 'info-deprecation-label';\n label.appendChild(document.createTextNode('Deprecated: '));\n deprecationDiv.insertBefore(label, deprecationDiv.firstChild);\n into.appendChild(deprecationDiv);\n }\n}\nfunction text(into, content, className, options, ref) {\n if (className === void 0) { className = ''; }\n if (options === void 0) { options = { onClick: null }; }\n if (ref === void 0) { ref = null; }\n if (className) {\n var onClick_1 = options.onClick;\n var node = void 0;\n if (onClick_1) {\n node = document.createElement('a');\n node.href = 'javascript:void 0';\n node.addEventListener('click', function (e) {\n onClick_1(ref, e);\n });\n }\n else {\n node = document.createElement('span');\n }\n node.className = className;\n node.appendChild(document.createTextNode(content));\n into.appendChild(node);\n }\n else {\n into.appendChild(document.createTextNode(content));\n }\n}\n//# sourceMappingURL=info.js.map","import { Kind } from \"../language/kinds.mjs\";\n/**\n * Returns an operation AST given a document AST and optionally an operation\n * name. If a name is not provided, an operation is only returned if only one is\n * provided in the document.\n */\n\nexport function getOperationAST(documentAST, operationName) {\n var operation = null;\n\n for (var _i2 = 0, _documentAST$definiti2 = documentAST.definitions; _i2 < _documentAST$definiti2.length; _i2++) {\n var definition = _documentAST$definiti2[_i2];\n\n if (definition.kind === Kind.OPERATION_DEFINITION) {\n var _definition$name;\n\n if (operationName == null) {\n // If no operation name was provided, only return an Operation if there\n // is one defined in the document. Upon encountering the second, return\n // null.\n if (operation) {\n return null;\n }\n\n operation = definition;\n } else if (((_definition$name = definition.name) === null || _definition$name === void 0 ? void 0 : _definition$name.value) === operationName) {\n return definition;\n }\n }\n }\n\n return operation;\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar getTypeInfo_1 = __importDefault(require(\"./utils/getTypeInfo\"));\nvar SchemaReference_1 = require(\"./utils/SchemaReference\");\nrequire(\"./utils/jump-addon\");\ncodemirror_1.default.registerHelper('jump', 'graphql', function (token, options) {\n if (!options.schema || !options.onClick || !token.state) {\n return;\n }\n var state = token.state;\n var kind = state.kind;\n var step = state.step;\n var typeInfo = getTypeInfo_1.default(options.schema, state);\n if ((kind === 'Field' && step === 0 && typeInfo.fieldDef) ||\n (kind === 'AliasedField' && step === 2 && typeInfo.fieldDef)) {\n return SchemaReference_1.getFieldReference(typeInfo);\n }\n else if (kind === 'Directive' && step === 1 && typeInfo.directiveDef) {\n return SchemaReference_1.getDirectiveReference(typeInfo);\n }\n else if (kind === 'Argument' && step === 0 && typeInfo.argDef) {\n return SchemaReference_1.getArgumentReference(typeInfo);\n }\n else if (kind === 'EnumValue' && typeInfo.enumValue) {\n return SchemaReference_1.getEnumValueReference(typeInfo);\n }\n else if (kind === 'NamedType' && typeInfo.type) {\n return SchemaReference_1.getTypeReference(typeInfo);\n }\n});\n//# sourceMappingURL=jump.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\ncodemirror_1.default.defineOption('jump', false, function (cm, options, old) {\n if (old && old !== codemirror_1.default.Init) {\n var oldOnMouseOver = cm.state.jump.onMouseOver;\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseover', oldOnMouseOver);\n var oldOnMouseOut = cm.state.jump.onMouseOut;\n codemirror_1.default.off(cm.getWrapperElement(), 'mouseout', oldOnMouseOut);\n codemirror_1.default.off(document, 'keydown', cm.state.jump.onKeyDown);\n delete cm.state.jump;\n }\n if (options) {\n var state = (cm.state.jump = {\n options: options,\n onMouseOver: onMouseOver.bind(null, cm),\n onMouseOut: onMouseOut.bind(null, cm),\n onKeyDown: onKeyDown.bind(null, cm),\n });\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseover', state.onMouseOver);\n codemirror_1.default.on(cm.getWrapperElement(), 'mouseout', state.onMouseOut);\n codemirror_1.default.on(document, 'keydown', state.onKeyDown);\n }\n});\nfunction onMouseOver(cm, event) {\n var target = event.target || event.srcElement;\n if (!(target instanceof HTMLElement)) {\n return;\n }\n if ((target === null || target === void 0 ? void 0 : target.nodeName) !== 'SPAN') {\n return;\n }\n var box = target.getBoundingClientRect();\n var cursor = {\n left: (box.left + box.right) / 2,\n top: (box.top + box.bottom) / 2,\n };\n cm.state.jump.cursor = cursor;\n if (cm.state.jump.isHoldingModifier) {\n enableJumpMode(cm);\n }\n}\nfunction onMouseOut(cm) {\n if (!cm.state.jump.isHoldingModifier && cm.state.jump.cursor) {\n cm.state.jump.cursor = null;\n return;\n }\n if (cm.state.jump.isHoldingModifier && cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n}\nfunction onKeyDown(cm, event) {\n if (cm.state.jump.isHoldingModifier || !isJumpModifier(event.key)) {\n return;\n }\n cm.state.jump.isHoldingModifier = true;\n if (cm.state.jump.cursor) {\n enableJumpMode(cm);\n }\n var onKeyUp = function (upEvent) {\n if (upEvent.code !== event.code) {\n return;\n }\n cm.state.jump.isHoldingModifier = false;\n if (cm.state.jump.marker) {\n disableJumpMode(cm);\n }\n codemirror_1.default.off(document, 'keyup', onKeyUp);\n codemirror_1.default.off(document, 'click', onClick);\n cm.off('mousedown', onMouseDown);\n };\n var onClick = function (clickEvent) {\n var destination = cm.state.jump.destination;\n if (destination) {\n cm.state.jump.options.onClick(destination, clickEvent);\n }\n };\n var onMouseDown = function (_, downEvent) {\n if (cm.state.jump.destination) {\n downEvent.codemirrorIgnore = true;\n }\n };\n codemirror_1.default.on(document, 'keyup', onKeyUp);\n codemirror_1.default.on(document, 'click', onClick);\n cm.on('mousedown', onMouseDown);\n}\nvar isMac = typeof navigator !== 'undefined' &&\n navigator &&\n navigator.appVersion.indexOf('Mac') !== -1;\nfunction isJumpModifier(key) {\n return key === (isMac ? 'Meta' : 'Control');\n}\nfunction enableJumpMode(cm) {\n if (cm.state.jump.marker) {\n return;\n }\n var cursor = cm.state.jump.cursor;\n var pos = cm.coordsChar(cursor);\n var token = cm.getTokenAt(pos, true);\n var options = cm.state.jump.options;\n var getDestination = options.getDestination || cm.getHelper(pos, 'jump');\n if (getDestination) {\n var destination = getDestination(token, options, cm);\n if (destination) {\n var marker = cm.markText({ line: pos.line, ch: token.start }, { line: pos.line, ch: token.end }, { className: 'CodeMirror-jump-token' });\n cm.state.jump.marker = marker;\n cm.state.jump.destination = destination;\n }\n }\n}\nfunction disableJumpMode(cm) {\n var marker = cm.state.jump.marker;\n cm.state.jump.marker = null;\n cm.state.jump.destination = null;\n marker.clear();\n}\n//# sourceMappingURL=jump-addon.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar graphql_language_service_parser_1 = require(\"graphql-language-service-parser\");\ncodemirror_1.default.defineMode('graphql', function (config) {\n var parser = graphql_language_service_parser_1.onlineParser({\n eatWhitespace: function (stream) { return stream.eatWhile(graphql_language_service_parser_1.isIgnored); },\n lexRules: graphql_language_service_parser_1.LexRules,\n parseRules: graphql_language_service_parser_1.ParseRules,\n editorConfig: { tabSize: config.tabSize },\n });\n return {\n config: config,\n startState: parser.startState,\n token: parser.token,\n indent: indent,\n electricInput: /^\\s*[})\\]]/,\n fold: 'brace',\n lineComment: '#',\n closeBrackets: {\n pairs: '()[]{}\"\"',\n explode: '()[]{}',\n },\n };\n});\nfunction indent(state, textAfter) {\n var _a, _b;\n var levels = state.levels;\n var level = !levels || levels.length === 0\n ? state.indentLevel\n : levels[levels.length - 1] -\n (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);\n return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);\n}\n//# sourceMappingURL=mode.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar graphql_1 = require(\"graphql\");\nvar forEachState_1 = __importDefault(require(\"../utils/forEachState\"));\nvar hintList_1 = __importDefault(require(\"../utils/hintList\"));\ncodemirror_1.default.registerHelper('hint', 'graphql-variables', function (editor, options) {\n var cur = editor.getCursor();\n var token = editor.getTokenAt(cur);\n var results = getVariablesHint(cur, token, options);\n if (results && results.list && results.list.length > 0) {\n results.from = codemirror_1.default.Pos(results.from.line, results.from.ch);\n results.to = codemirror_1.default.Pos(results.to.line, results.to.ch);\n codemirror_1.default.signal(editor, 'hasCompletion', editor, results, token);\n }\n return results;\n});\nfunction getVariablesHint(cur, token, options) {\n var state = token.state.kind === 'Invalid' ? token.state.prevState : token.state;\n var kind = state.kind;\n var step = state.step;\n if (kind === 'Document' && step === 0) {\n return hintList_1.default(cur, token, [{ text: '{' }]);\n }\n var variableToType = options.variableToType;\n if (!variableToType) {\n return;\n }\n var typeInfo = getTypeInfo(variableToType, token.state);\n if (kind === 'Document' || (kind === 'Variable' && step === 0)) {\n var variableNames = Object.keys(variableToType);\n return hintList_1.default(cur, token, variableNames.map(function (name) { return ({\n text: \"\\\"\" + name + \"\\\": \",\n type: variableToType[name],\n }); }));\n }\n if (kind === 'ObjectValue' || (kind === 'ObjectField' && step === 0)) {\n if (typeInfo.fields) {\n var inputFields = Object.keys(typeInfo.fields).map(function (fieldName) { return typeInfo.fields[fieldName]; });\n return hintList_1.default(cur, token, inputFields.map(function (field) { return ({\n text: \"\\\"\" + field.name + \"\\\": \",\n type: field.type,\n description: field.description,\n }); }));\n }\n }\n if (kind === 'StringValue' ||\n kind === 'NumberValue' ||\n kind === 'BooleanValue' ||\n kind === 'NullValue' ||\n (kind === 'ListValue' && step === 1) ||\n (kind === 'ObjectField' && step === 2) ||\n (kind === 'Variable' && step === 2)) {\n var namedInputType_1 = typeInfo.type\n ? graphql_1.getNamedType(typeInfo.type)\n : undefined;\n if (namedInputType_1 instanceof graphql_1.GraphQLInputObjectType) {\n return hintList_1.default(cur, token, [{ text: '{' }]);\n }\n else if (namedInputType_1 instanceof graphql_1.GraphQLEnumType) {\n var values = namedInputType_1.getValues();\n return hintList_1.default(cur, token, values.map(function (value) { return ({\n text: \"\\\"\" + value.name + \"\\\"\",\n type: namedInputType_1,\n description: value.description,\n }); }));\n }\n else if (namedInputType_1 === graphql_1.GraphQLBoolean) {\n return hintList_1.default(cur, token, [\n { text: 'true', type: graphql_1.GraphQLBoolean, description: 'Not false.' },\n { text: 'false', type: graphql_1.GraphQLBoolean, description: 'Not true.' },\n ]);\n }\n }\n}\nfunction getTypeInfo(variableToType, tokenState) {\n var info = {\n type: null,\n fields: null,\n };\n forEachState_1.default(tokenState, function (state) {\n if (state.kind === 'Variable') {\n info.type = variableToType[state.name];\n }\n else if (state.kind === 'ListValue') {\n var nullableType = info.type ? graphql_1.getNullableType(info.type) : undefined;\n info.type =\n nullableType instanceof graphql_1.GraphQLList ? nullableType.ofType : null;\n }\n else if (state.kind === 'ObjectValue') {\n var objectType = info.type ? graphql_1.getNamedType(info.type) : undefined;\n info.fields =\n objectType instanceof graphql_1.GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n }\n else if (state.kind === 'ObjectField') {\n var objectField = state.name && info.fields ? info.fields[state.name] : null;\n info.type = objectField && objectField.type;\n }\n });\n return info;\n}\n//# sourceMappingURL=hint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction hintList(cursor, token, list) {\n var hints = filterAndSortList(list, normalizeText(token.string));\n if (!hints) {\n return;\n }\n var tokenStart = token.type !== null && /\"|\\w/.test(token.string[0])\n ? token.start\n : token.end;\n return {\n list: hints,\n from: { line: cursor.line, ch: tokenStart },\n to: { line: cursor.line, ch: token.end },\n };\n}\nexports.default = hintList;\nfunction filterAndSortList(list, text) {\n if (!text) {\n return filterNonEmpty(list, function (entry) { return !entry.isDeprecated; });\n }\n var byProximity = list.map(function (entry) { return ({\n proximity: getProximity(normalizeText(entry.text), text),\n entry: entry,\n }); });\n var conciseMatches = filterNonEmpty(filterNonEmpty(byProximity, function (pair) { return pair.proximity <= 2; }), function (pair) { return !pair.entry.isDeprecated; });\n var sortedMatches = conciseMatches.sort(function (a, b) {\n return (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\n a.proximity - b.proximity ||\n a.entry.text.length - b.entry.text.length;\n });\n return sortedMatches.map(function (pair) { return pair.entry; });\n}\nfunction filterNonEmpty(array, predicate) {\n var filtered = array.filter(predicate);\n return filtered.length === 0 ? array : filtered;\n}\nfunction normalizeText(text) {\n return text.toLowerCase().replace(/\\W/g, '');\n}\nfunction getProximity(suggestion, text) {\n var proximity = lexicalDistance(text, suggestion);\n if (suggestion.length > text.length) {\n proximity -= suggestion.length - text.length - 1;\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\n }\n return proximity;\n}\nfunction lexicalDistance(a, b) {\n var i;\n var j;\n var d = [];\n var aLength = a.length;\n var bLength = b.length;\n for (i = 0; i <= aLength; i++) {\n d[i] = [i];\n }\n for (j = 1; j <= bLength; j++) {\n d[0][j] = j;\n }\n for (i = 1; i <= aLength; i++) {\n for (j = 1; j <= bLength; j++) {\n var cost = a[i - 1] === b[j - 1] ? 0 : 1;\n d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\n }\n }\n }\n return d[aLength][bLength];\n}\n//# sourceMappingURL=hintList.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar graphql_1 = require(\"graphql\");\nvar jsonParse_1 = __importDefault(require(\"../utils/jsonParse\"));\ncodemirror_1.default.registerHelper('lint', 'graphql-variables', function (text, options, editor) {\n if (!text) {\n return [];\n }\n var ast;\n try {\n ast = jsonParse_1.default(text);\n }\n catch (syntaxError) {\n if (syntaxError.stack) {\n throw syntaxError;\n }\n return [lintError(editor, syntaxError, syntaxError.message)];\n }\n var variableToType = options.variableToType;\n if (!variableToType) {\n return [];\n }\n return validateVariables(editor, variableToType, ast);\n});\nfunction validateVariables(editor, variableToType, variablesAST) {\n var errors = [];\n variablesAST.members.forEach(function (member) {\n var _a;\n if (member) {\n var variableName = (_a = member.key) === null || _a === void 0 ? void 0 : _a.value;\n var type = variableToType[variableName];\n if (!type) {\n errors.push(lintError(editor, member.key, \"Variable \\\"$\" + variableName + \"\\\" does not appear in any GraphQL query.\"));\n }\n else {\n validateValue(type, member.value).forEach(function (_a) {\n var node = _a[0], message = _a[1];\n errors.push(lintError(editor, node, message));\n });\n }\n }\n });\n return errors;\n}\nfunction validateValue(type, valueAST) {\n if (!type || !valueAST) {\n return [];\n }\n if (type instanceof graphql_1.GraphQLNonNull) {\n if (valueAST.kind === 'Null') {\n return [[valueAST, \"Type \\\"\" + type + \"\\\" is non-nullable and cannot be null.\"]];\n }\n return validateValue(type.ofType, valueAST);\n }\n if (valueAST.kind === 'Null') {\n return [];\n }\n if (type instanceof graphql_1.GraphQLList) {\n var itemType_1 = type.ofType;\n if (valueAST.kind === 'Array') {\n var values = valueAST.values || [];\n return mapCat(values, function (item) { return validateValue(itemType_1, item); });\n }\n return validateValue(itemType_1, valueAST);\n }\n if (type instanceof graphql_1.GraphQLInputObjectType) {\n if (valueAST.kind !== 'Object') {\n return [[valueAST, \"Type \\\"\" + type + \"\\\" must be an Object.\"]];\n }\n var providedFields_1 = Object.create(null);\n var fieldErrors_1 = mapCat(valueAST.members, function (member) {\n var _a;\n var fieldName = (_a = member === null || member === void 0 ? void 0 : member.key) === null || _a === void 0 ? void 0 : _a.value;\n providedFields_1[fieldName] = true;\n var inputField = type.getFields()[fieldName];\n if (!inputField) {\n return [\n [\n member.key,\n \"Type \\\"\" + type + \"\\\" does not have a field \\\"\" + fieldName + \"\\\".\",\n ],\n ];\n }\n var fieldType = inputField ? inputField.type : undefined;\n return validateValue(fieldType, member.value);\n });\n Object.keys(type.getFields()).forEach(function (fieldName) {\n if (!providedFields_1[fieldName]) {\n var fieldType = type.getFields()[fieldName].type;\n if (fieldType instanceof graphql_1.GraphQLNonNull) {\n fieldErrors_1.push([\n valueAST,\n \"Object of type \\\"\" + type + \"\\\" is missing required field \\\"\" + fieldName + \"\\\".\",\n ]);\n }\n }\n });\n return fieldErrors_1;\n }\n if ((type.name === 'Boolean' && valueAST.kind !== 'Boolean') ||\n (type.name === 'String' && valueAST.kind !== 'String') ||\n (type.name === 'ID' &&\n valueAST.kind !== 'Number' &&\n valueAST.kind !== 'String') ||\n (type.name === 'Float' && valueAST.kind !== 'Number') ||\n (type.name === 'Int' &&\n (valueAST.kind !== 'Number' || (valueAST.value | 0) !== valueAST.value))) {\n return [[valueAST, \"Expected value of type \\\"\" + type + \"\\\".\"]];\n }\n if (type instanceof graphql_1.GraphQLEnumType || type instanceof graphql_1.GraphQLScalarType) {\n if ((valueAST.kind !== 'String' &&\n valueAST.kind !== 'Number' &&\n valueAST.kind !== 'Boolean' &&\n valueAST.kind !== 'Null') ||\n isNullish(type.parseValue(valueAST.value))) {\n return [[valueAST, \"Expected value of type \\\"\" + type + \"\\\".\"]];\n }\n }\n return [];\n}\nfunction lintError(editor, node, message) {\n return {\n message: message,\n severity: 'error',\n type: 'validation',\n from: editor.posFromIndex(node.start),\n to: editor.posFromIndex(node.end),\n };\n}\nfunction isNullish(value) {\n return value === null || value === undefined || value !== value;\n}\nfunction mapCat(array, mapper) {\n return Array.prototype.concat.apply([], array.map(mapper));\n}\n//# sourceMappingURL=lint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction jsonParse(str) {\n string = str;\n strLen = str.length;\n start = end = lastEnd = -1;\n ch();\n lex();\n var ast = parseObj();\n expect('EOF');\n return ast;\n}\nexports.default = jsonParse;\nvar string;\nvar strLen;\nvar start;\nvar end;\nvar lastEnd;\nvar code;\nvar kind;\nfunction parseObj() {\n var nodeStart = start;\n var members = [];\n expect('{');\n if (!skip('}')) {\n do {\n members.push(parseMember());\n } while (skip(','));\n expect('}');\n }\n return {\n kind: 'Object',\n start: nodeStart,\n end: lastEnd,\n members: members,\n };\n}\nfunction parseMember() {\n var nodeStart = start;\n var key = kind === 'String' ? curToken() : null;\n expect('String');\n expect(':');\n var value = parseVal();\n return {\n kind: 'Member',\n start: nodeStart,\n end: lastEnd,\n key: key,\n value: value,\n };\n}\nfunction parseArr() {\n var nodeStart = start;\n var values = [];\n expect('[');\n if (!skip(']')) {\n do {\n values.push(parseVal());\n } while (skip(','));\n expect(']');\n }\n return {\n kind: 'Array',\n start: nodeStart,\n end: lastEnd,\n values: values,\n };\n}\nfunction parseVal() {\n switch (kind) {\n case '[':\n return parseArr();\n case '{':\n return parseObj();\n case 'String':\n case 'Number':\n case 'Boolean':\n case 'Null':\n var token = curToken();\n lex();\n return token;\n }\n expect('Value');\n}\nfunction curToken() {\n return { kind: kind, start: start, end: end, value: JSON.parse(string.slice(start, end)) };\n}\nfunction expect(str) {\n if (kind === str) {\n lex();\n return;\n }\n var found;\n if (kind === 'EOF') {\n found = '[end of file]';\n }\n else if (end - start > 1) {\n found = '`' + string.slice(start, end) + '`';\n }\n else {\n var match = string.slice(start).match(/^.+?\\b/);\n found = '`' + (match ? match[0] : string[start]) + '`';\n }\n throw syntaxError(\"Expected \" + str + \" but found \" + found + \".\");\n}\nfunction syntaxError(message) {\n return { message: message, start: start, end: end };\n}\nfunction skip(k) {\n if (kind === k) {\n lex();\n return true;\n }\n}\nfunction ch() {\n if (end < strLen) {\n end++;\n code = end === strLen ? 0 : string.charCodeAt(end);\n }\n return code;\n}\nfunction lex() {\n lastEnd = end;\n while (code === 9 || code === 10 || code === 13 || code === 32) {\n ch();\n }\n if (code === 0) {\n kind = 'EOF';\n return;\n }\n start = end;\n switch (code) {\n case 34:\n kind = 'String';\n return readString();\n case 45:\n case 48:\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n kind = 'Number';\n return readNumber();\n case 102:\n if (string.slice(start, start + 5) !== 'false') {\n break;\n }\n end += 4;\n ch();\n kind = 'Boolean';\n return;\n case 110:\n if (string.slice(start, start + 4) !== 'null') {\n break;\n }\n end += 3;\n ch();\n kind = 'Null';\n return;\n case 116:\n if (string.slice(start, start + 4) !== 'true') {\n break;\n }\n end += 3;\n ch();\n kind = 'Boolean';\n return;\n }\n kind = string[start];\n ch();\n}\nfunction readString() {\n ch();\n while (code !== 34 && code > 31) {\n if (code === 92) {\n code = ch();\n switch (code) {\n case 34:\n case 47:\n case 92:\n case 98:\n case 102:\n case 110:\n case 114:\n case 116:\n ch();\n break;\n case 117:\n ch();\n readHex();\n readHex();\n readHex();\n readHex();\n break;\n default:\n throw syntaxError('Bad character escape sequence.');\n }\n }\n else if (end === strLen) {\n throw syntaxError('Unterminated string.');\n }\n else {\n ch();\n }\n }\n if (code === 34) {\n ch();\n return;\n }\n throw syntaxError('Unterminated string.');\n}\nfunction readHex() {\n if ((code >= 48 && code <= 57) ||\n (code >= 65 && code <= 70) ||\n (code >= 97 && code <= 102)) {\n return ch();\n }\n throw syntaxError('Expected hexadecimal digit.');\n}\nfunction readNumber() {\n if (code === 45) {\n ch();\n }\n if (code === 48) {\n ch();\n }\n else {\n readDigits();\n }\n if (code === 46) {\n ch();\n readDigits();\n }\n if (code === 69 || code === 101) {\n code = ch();\n if (code === 43 || code === 45) {\n ch();\n }\n readDigits();\n }\n}\nfunction readDigits() {\n if (code < 48 || code > 57) {\n throw syntaxError('Expected decimal digit.');\n }\n do {\n ch();\n } while (code >= 48 && code <= 57);\n}\n//# sourceMappingURL=jsonParse.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar graphql_language_service_parser_1 = require(\"graphql-language-service-parser\");\ncodemirror_1.default.defineMode('graphql-variables', function (config) {\n var parser = graphql_language_service_parser_1.onlineParser({\n eatWhitespace: function (stream) { return stream.eatSpace(); },\n lexRules: LexRules,\n parseRules: ParseRules,\n editorConfig: { tabSize: config.tabSize },\n });\n return {\n config: config,\n startState: parser.startState,\n token: parser.token,\n indent: indent,\n electricInput: /^\\s*[}\\]]/,\n fold: 'brace',\n closeBrackets: {\n pairs: '[]{}\"\"',\n explode: '[]{}',\n },\n };\n});\nfunction indent(state, textAfter) {\n var _a, _b;\n var levels = state.levels;\n var level = !levels || levels.length === 0\n ? state.indentLevel\n : levels[levels.length - 1] -\n (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);\n return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);\n}\nvar LexRules = {\n Punctuation: /^\\[|]|\\{|\\}|:|,/,\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\n String: /^\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?/,\n Keyword: /^true|false|null/,\n};\nvar ParseRules = {\n Document: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('Variable', graphql_language_service_parser_1.opt(graphql_language_service_parser_1.p(','))), graphql_language_service_parser_1.p('}')],\n Variable: [namedKey('variable'), graphql_language_service_parser_1.p(':'), 'Value'],\n Value: function (token) {\n switch (token.kind) {\n case 'Number':\n return 'NumberValue';\n case 'String':\n return 'StringValue';\n case 'Punctuation':\n switch (token.value) {\n case '[':\n return 'ListValue';\n case '{':\n return 'ObjectValue';\n }\n return null;\n case 'Keyword':\n switch (token.value) {\n case 'true':\n case 'false':\n return 'BooleanValue';\n case 'null':\n return 'NullValue';\n }\n return null;\n }\n },\n NumberValue: [graphql_language_service_parser_1.t('Number', 'number')],\n StringValue: [graphql_language_service_parser_1.t('String', 'string')],\n BooleanValue: [graphql_language_service_parser_1.t('Keyword', 'builtin')],\n NullValue: [graphql_language_service_parser_1.t('Keyword', 'keyword')],\n ListValue: [graphql_language_service_parser_1.p('['), graphql_language_service_parser_1.list('Value', graphql_language_service_parser_1.opt(graphql_language_service_parser_1.p(','))), graphql_language_service_parser_1.p(']')],\n ObjectValue: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('ObjectField', graphql_language_service_parser_1.opt(graphql_language_service_parser_1.p(','))), graphql_language_service_parser_1.p('}')],\n ObjectField: [namedKey('attribute'), graphql_language_service_parser_1.p(':'), 'Value'],\n};\nfunction namedKey(style) {\n return {\n style: style,\n match: function (token) { return token.kind === 'String'; },\n update: function (state, token) {\n state.name = token.value.slice(1, -1);\n },\n };\n}\n//# sourceMappingURL=mode.js.map","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true, \"regexp\": true, \"this\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), forspec, statement, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n if (type == \"import\") return cont(expression);\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(expression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n var top = state.cc[state.cc.length - 1]\n if (top == expression || top == expressionNoComma) state.cc.pop()\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar codemirror_1 = __importDefault(require(\"codemirror\"));\nvar graphql_language_service_parser_1 = require(\"graphql-language-service-parser\");\ncodemirror_1.default.defineMode('graphql-results', function (config) {\n var parser = graphql_language_service_parser_1.onlineParser({\n eatWhitespace: function (stream) { return stream.eatSpace(); },\n lexRules: LexRules,\n parseRules: ParseRules,\n editorConfig: { tabSize: config.tabSize },\n });\n return {\n config: config,\n startState: parser.startState,\n token: parser.token,\n indent: indent,\n electricInput: /^\\s*[}\\]]/,\n fold: 'brace',\n closeBrackets: {\n pairs: '[]{}\"\"',\n explode: '[]{}',\n },\n };\n});\nfunction indent(state, textAfter) {\n var _a, _b;\n var levels = state.levels;\n var level = !levels || levels.length === 0\n ? state.indentLevel\n : levels[levels.length - 1] -\n (((_a = this.electricInput) === null || _a === void 0 ? void 0 : _a.test(textAfter)) ? 1 : 0);\n return (level || 0) * (((_b = this.config) === null || _b === void 0 ? void 0 : _b.indentUnit) || 0);\n}\nvar LexRules = {\n Punctuation: /^\\[|]|\\{|\\}|:|,/,\n Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,\n String: /^\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?/,\n Keyword: /^true|false|null/,\n};\nvar ParseRules = {\n Document: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('Entry', graphql_language_service_parser_1.p(',')), graphql_language_service_parser_1.p('}')],\n Entry: [graphql_language_service_parser_1.t('String', 'def'), graphql_language_service_parser_1.p(':'), 'Value'],\n Value: function (token) {\n switch (token.kind) {\n case 'Number':\n return 'NumberValue';\n case 'String':\n return 'StringValue';\n case 'Punctuation':\n switch (token.value) {\n case '[':\n return 'ListValue';\n case '{':\n return 'ObjectValue';\n }\n return null;\n case 'Keyword':\n switch (token.value) {\n case 'true':\n case 'false':\n return 'BooleanValue';\n case 'null':\n return 'NullValue';\n }\n return null;\n }\n },\n NumberValue: [graphql_language_service_parser_1.t('Number', 'number')],\n StringValue: [graphql_language_service_parser_1.t('String', 'string')],\n BooleanValue: [graphql_language_service_parser_1.t('Keyword', 'builtin')],\n NullValue: [graphql_language_service_parser_1.t('Keyword', 'keyword')],\n ListValue: [graphql_language_service_parser_1.p('['), graphql_language_service_parser_1.list('Value', graphql_language_service_parser_1.p(',')), graphql_language_service_parser_1.p(']')],\n ObjectValue: [graphql_language_service_parser_1.p('{'), graphql_language_service_parser_1.list('ObjectField', graphql_language_service_parser_1.p(',')), graphql_language_service_parser_1.p('}')],\n ObjectField: [graphql_language_service_parser_1.t('String', 'property'), graphql_language_service_parser_1.p(':'), 'Value'],\n};\n//# sourceMappingURL=mode.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.defaultValue = defaultValue;\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _graphql = require('graphql');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// TODO: 1. Add default fields recursively\n// TODO: 2. Add default fields for all selections (not just fragments)\n// TODO: 3. Add stylesheet and remove inline styles\n// TODO: 4. Indication of when query in explorer diverges from query in editor pane\n// TODO: 5. Separate section for deprecated args, with support for 'beta' fields\n// TODO: 6. Custom default arg fields\n\n// Note: Attempted 1. and 2., but they were more annoying than helpful\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n// Names match class names in graphiql app.css\n// https://github.com/graphql/graphiql/blob/master/packages/graphiql/css/app.css\nvar defaultColors = {\n keyword: '#B11A04',\n // OperationName, FragmentName\n def: '#D2054E',\n // FieldName\n property: '#1F61A0',\n // FieldAlias\n qualifier: '#1C92A9',\n // ArgumentName and ObjectFieldName\n attribute: '#8B2BB9',\n number: '#2882F9',\n string: '#D64292',\n // Boolean\n builtin: '#D47509',\n // Enum\n string2: '#0B7FC7',\n variable: '#397D13',\n // Type\n atom: '#CA9800'\n};\n\nvar defaultArrowOpen = React.createElement(\n 'svg',\n { width: '12', height: '9' },\n React.createElement('path', { fill: '#666', d: 'M 0 2 L 9 2 L 4.5 7.5 z' })\n);\n\nvar defaultArrowClosed = React.createElement(\n 'svg',\n { width: '12', height: '9' },\n React.createElement('path', { fill: '#666', d: 'M 0 0 L 0 9 L 5.5 4.5 z' })\n);\n\nvar defaultCheckboxChecked = React.createElement(\n 'svg',\n {\n style: { marginRight: '3px', marginLeft: '-3px' },\n width: '12',\n height: '12',\n viewBox: '0 0 18 18',\n fill: 'none',\n xmlns: 'http://www.w3.org/2000/svg' },\n React.createElement('path', {\n d: 'M16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16V2C18 0.9 17.1 0 16 0ZM16 16H2V2H16V16ZM14.99 6L13.58 4.58L6.99 11.17L4.41 8.6L2.99 10.01L6.99 14L14.99 6Z',\n fill: '#666'\n })\n);\n\nvar defaultCheckboxUnchecked = React.createElement(\n 'svg',\n {\n style: { marginRight: '3px', marginLeft: '-3px' },\n width: '12',\n height: '12',\n viewBox: '0 0 18 18',\n fill: 'none',\n xmlns: 'http://www.w3.org/2000/svg' },\n React.createElement('path', {\n d: 'M16 2V16H2V2H16ZM16 0H2C0.9 0 0 0.9 0 2V16C0 17.1 0.9 18 2 18H16C17.1 18 18 17.1 18 16V2C18 0.9 17.1 0 16 0Z',\n fill: '#CCC'\n })\n);\n\nfunction Checkbox(props) {\n return props.checked ? props.styleConfig.checkboxChecked : props.styleConfig.checkboxUnchecked;\n}\n\nfunction defaultGetDefaultFieldNames(type) {\n var fields = type.getFields();\n\n // Is there an `id` field?\n if (fields['id']) {\n var res = ['id'];\n if (fields['email']) {\n res.push('email');\n } else if (fields['name']) {\n res.push('name');\n }\n return res;\n }\n\n // Is there an `edges` field?\n if (fields['edges']) {\n return ['edges'];\n }\n\n // Is there an `node` field?\n if (fields['node']) {\n return ['node'];\n }\n\n if (fields['nodes']) {\n return ['nodes'];\n }\n\n // Include all leaf-type fields.\n var leafFieldNames = [];\n Object.keys(fields).forEach(function (fieldName) {\n if ((0, _graphql.isLeafType)(fields[fieldName].type)) {\n leafFieldNames.push(fieldName);\n }\n });\n\n if (!leafFieldNames.length) {\n // No leaf fields, add typename so that the query stays valid\n return ['__typename'];\n }\n return leafFieldNames.slice(0, 2); // Prevent too many fields from being added\n}\n\nfunction isRequiredArgument(arg) {\n return (0, _graphql.isNonNullType)(arg.type) && arg.defaultValue === undefined;\n}\n\nfunction unwrapOutputType(outputType) {\n var unwrappedType = outputType;\n while ((0, _graphql.isWrappingType)(unwrappedType)) {\n unwrappedType = unwrappedType.ofType;\n }\n return unwrappedType;\n}\n\nfunction unwrapInputType(inputType) {\n var unwrappedType = inputType;\n while ((0, _graphql.isWrappingType)(unwrappedType)) {\n unwrappedType = unwrappedType.ofType;\n }\n return unwrappedType;\n}\n\nfunction coerceArgValue(argType, value) {\n // Handle the case where we're setting a variable as the value\n if (typeof value !== 'string' && value.kind === 'VariableDefinition') {\n return value.variable;\n } else if ((0, _graphql.isScalarType)(argType)) {\n try {\n switch (argType.name) {\n case 'String':\n return {\n kind: 'StringValue',\n value: String(argType.parseValue(value))\n };\n case 'Float':\n return {\n kind: 'FloatValue',\n value: String(argType.parseValue(parseFloat(value)))\n };\n case 'Int':\n return {\n kind: 'IntValue',\n value: String(argType.parseValue(parseInt(value, 10)))\n };\n case 'Boolean':\n try {\n var parsed = JSON.parse(value);\n if (typeof parsed === 'boolean') {\n return { kind: 'BooleanValue', value: parsed };\n } else {\n return { kind: 'BooleanValue', value: false };\n }\n } catch (e) {\n return {\n kind: 'BooleanValue',\n value: false\n };\n }\n default:\n return {\n kind: 'StringValue',\n value: String(argType.parseValue(value))\n };\n }\n } catch (e) {\n console.error('error coercing arg value', e, value);\n return { kind: 'StringValue', value: value };\n }\n } else {\n try {\n var parsedValue = argType.parseValue(value);\n if (parsedValue) {\n return { kind: 'EnumValue', value: String(parsedValue) };\n } else {\n return { kind: 'EnumValue', value: argType.getValues()[0].name };\n }\n } catch (e) {\n return { kind: 'EnumValue', value: argType.getValues()[0].name };\n }\n }\n}\n\nvar InputArgView = function (_React$PureComponent) {\n _inherits(InputArgView, _React$PureComponent);\n\n function InputArgView() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, InputArgView);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = InputArgView.__proto__ || Object.getPrototypeOf(InputArgView)).call.apply(_ref, [this].concat(args))), _this), _this._getArgSelection = function () {\n return _this.props.selection.fields.find(function (field) {\n return field.name.value === _this.props.arg.name;\n });\n }, _this._removeArg = function () {\n var selection = _this.props.selection;\n\n var argSelection = _this._getArgSelection();\n _this._previousArgSelection = argSelection;\n _this.props.modifyFields(selection.fields.filter(function (field) {\n return field !== argSelection;\n }), true);\n }, _this._addArg = function () {\n var _this$props = _this.props,\n selection = _this$props.selection,\n arg = _this$props.arg,\n getDefaultScalarArgValue = _this$props.getDefaultScalarArgValue,\n parentField = _this$props.parentField,\n makeDefaultArg = _this$props.makeDefaultArg;\n\n var argType = unwrapInputType(arg.type);\n\n var argSelection = null;\n if (_this._previousArgSelection) {\n argSelection = _this._previousArgSelection;\n } else if ((0, _graphql.isInputObjectType)(argType)) {\n var _fields = argType.getFields();\n argSelection = {\n kind: 'ObjectField',\n name: { kind: 'Name', value: arg.name },\n value: {\n kind: 'ObjectValue',\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, Object.keys(_fields).map(function (k) {\n return _fields[k];\n }))\n }\n };\n } else if ((0, _graphql.isLeafType)(argType)) {\n argSelection = {\n kind: 'ObjectField',\n name: { kind: 'Name', value: arg.name },\n value: getDefaultScalarArgValue(parentField, arg, argType)\n };\n }\n\n if (!argSelection) {\n console.error('Unable to add arg for argType', argType);\n } else {\n return _this.props.modifyFields([].concat(_toConsumableArray(selection.fields || []), [argSelection]), true);\n }\n }, _this._setArgValue = function (event, options) {\n var settingToNull = false;\n var settingToVariable = false;\n var settingToLiteralValue = false;\n try {\n if (event.kind === 'VariableDefinition') {\n settingToVariable = true;\n } else if (event === null || typeof event === 'undefined') {\n settingToNull = true;\n } else if (typeof event.kind === 'string') {\n settingToLiteralValue = true;\n }\n } catch (e) {}\n\n var selection = _this.props.selection;\n\n\n var argSelection = _this._getArgSelection();\n\n if (!argSelection) {\n console.error('missing arg selection when setting arg value');\n return;\n }\n var argType = unwrapInputType(_this.props.arg.type);\n\n var handleable = (0, _graphql.isLeafType)(argType) || settingToVariable || settingToNull || settingToLiteralValue;\n\n if (!handleable) {\n console.warn('Unable to handle non leaf types in InputArgView.setArgValue', event);\n return;\n }\n var targetValue = void 0;\n var value = void 0;\n\n if (event === null || typeof event === 'undefined') {\n value = null;\n } else if (!event.target && !!event.kind && event.kind === 'VariableDefinition') {\n targetValue = event;\n value = targetValue.variable;\n } else if (typeof event.kind === 'string') {\n value = event;\n } else if (event.target && typeof event.target.value === 'string') {\n targetValue = event.target.value;\n value = coerceArgValue(argType, targetValue);\n }\n\n var newDoc = _this.props.modifyFields((selection.fields || []).map(function (field) {\n var isTarget = field === argSelection;\n var newField = isTarget ? _extends({}, field, {\n value: value\n }) : field;\n\n return newField;\n }), options);\n\n return newDoc;\n }, _this._modifyChildFields = function (fields) {\n return _this.props.modifyFields(_this.props.selection.fields.map(function (field) {\n return field.name.value === _this.props.arg.name ? _extends({}, field, {\n value: {\n kind: 'ObjectValue',\n fields: fields\n }\n }) : field;\n }), true);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(InputArgView, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n arg = _props.arg,\n parentField = _props.parentField;\n\n var argSelection = this._getArgSelection();\n\n return React.createElement(AbstractArgView, {\n argValue: argSelection ? argSelection.value : null,\n arg: arg,\n parentField: parentField,\n addArg: this._addArg,\n removeArg: this._removeArg,\n setArgFields: this._modifyChildFields,\n setArgValue: this._setArgValue,\n getDefaultScalarArgValue: this.props.getDefaultScalarArgValue,\n makeDefaultArg: this.props.makeDefaultArg,\n onRunOperation: this.props.onRunOperation,\n styleConfig: this.props.styleConfig,\n onCommit: this.props.onCommit,\n definition: this.props.definition\n });\n }\n }]);\n\n return InputArgView;\n}(React.PureComponent);\n\nfunction defaultValue(argType) {\n if ((0, _graphql.isEnumType)(argType)) {\n return { kind: 'EnumValue', value: argType.getValues()[0].name };\n } else {\n switch (argType.name) {\n case 'String':\n return { kind: 'StringValue', value: '' };\n case 'Float':\n return { kind: 'FloatValue', value: '1.5' };\n case 'Int':\n return { kind: 'IntValue', value: '10' };\n case 'Boolean':\n return { kind: 'BooleanValue', value: false };\n default:\n return { kind: 'StringValue', value: '' };\n }\n }\n}\n\nfunction defaultGetDefaultScalarArgValue(parentField, arg, argType) {\n return defaultValue(argType);\n}\n\nvar ArgView = function (_React$PureComponent2) {\n _inherits(ArgView, _React$PureComponent2);\n\n function ArgView() {\n var _ref2;\n\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, ArgView);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = ArgView.__proto__ || Object.getPrototypeOf(ArgView)).call.apply(_ref2, [this].concat(args))), _this2), _this2._getArgSelection = function () {\n var selection = _this2.props.selection;\n\n\n return (selection.arguments || []).find(function (arg) {\n return arg.name.value === _this2.props.arg.name;\n });\n }, _this2._removeArg = function (commit) {\n var selection = _this2.props.selection;\n\n var argSelection = _this2._getArgSelection();\n _this2._previousArgSelection = argSelection;\n return _this2.props.modifyArguments((selection.arguments || []).filter(function (arg) {\n return arg !== argSelection;\n }), commit);\n }, _this2._addArg = function (commit) {\n var _this2$props = _this2.props,\n selection = _this2$props.selection,\n getDefaultScalarArgValue = _this2$props.getDefaultScalarArgValue,\n makeDefaultArg = _this2$props.makeDefaultArg,\n parentField = _this2$props.parentField,\n arg = _this2$props.arg;\n\n var argType = unwrapInputType(arg.type);\n\n var argSelection = null;\n if (_this2._previousArgSelection) {\n argSelection = _this2._previousArgSelection;\n } else if ((0, _graphql.isInputObjectType)(argType)) {\n var _fields2 = argType.getFields();\n argSelection = {\n kind: 'Argument',\n name: { kind: 'Name', value: arg.name },\n value: {\n kind: 'ObjectValue',\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, Object.keys(_fields2).map(function (k) {\n return _fields2[k];\n }))\n }\n };\n } else if ((0, _graphql.isLeafType)(argType)) {\n argSelection = {\n kind: 'Argument',\n name: { kind: 'Name', value: arg.name },\n value: getDefaultScalarArgValue(parentField, arg, argType)\n };\n }\n\n if (!argSelection) {\n console.error('Unable to add arg for argType', argType);\n return null;\n } else {\n return _this2.props.modifyArguments([].concat(_toConsumableArray(selection.arguments || []), [argSelection]), commit);\n }\n }, _this2._setArgValue = function (event, options) {\n var settingToNull = false;\n var settingToVariable = false;\n var settingToLiteralValue = false;\n try {\n if (event.kind === 'VariableDefinition') {\n settingToVariable = true;\n } else if (event === null || typeof event === 'undefined') {\n settingToNull = true;\n } else if (typeof event.kind === 'string') {\n settingToLiteralValue = true;\n }\n } catch (e) {}\n var selection = _this2.props.selection;\n\n var argSelection = _this2._getArgSelection();\n if (!argSelection && !settingToVariable) {\n console.error('missing arg selection when setting arg value');\n return;\n }\n var argType = unwrapInputType(_this2.props.arg.type);\n\n var handleable = (0, _graphql.isLeafType)(argType) || settingToVariable || settingToNull || settingToLiteralValue;\n\n if (!handleable) {\n console.warn('Unable to handle non leaf types in ArgView._setArgValue');\n return;\n }\n\n var targetValue = void 0;\n var value = void 0;\n\n if (event === null || typeof event === 'undefined') {\n value = null;\n } else if (event.target && typeof event.target.value === 'string') {\n targetValue = event.target.value;\n value = coerceArgValue(argType, targetValue);\n } else if (!event.target && event.kind === 'VariableDefinition') {\n targetValue = event;\n value = targetValue.variable;\n } else if (typeof event.kind === 'string') {\n value = event;\n }\n\n return _this2.props.modifyArguments((selection.arguments || []).map(function (a) {\n return a === argSelection ? _extends({}, a, {\n value: value\n }) : a;\n }), options);\n }, _this2._setArgFields = function (fields, commit) {\n var selection = _this2.props.selection;\n\n var argSelection = _this2._getArgSelection();\n if (!argSelection) {\n console.error('missing arg selection when setting arg value');\n return;\n }\n\n return _this2.props.modifyArguments((selection.arguments || []).map(function (a) {\n return a === argSelection ? _extends({}, a, {\n value: {\n kind: 'ObjectValue',\n fields: fields\n }\n }) : a;\n }), commit);\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n _createClass(ArgView, [{\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n arg = _props2.arg,\n parentField = _props2.parentField;\n\n var argSelection = this._getArgSelection();\n\n return React.createElement(AbstractArgView, {\n argValue: argSelection ? argSelection.value : null,\n arg: arg,\n parentField: parentField,\n addArg: this._addArg,\n removeArg: this._removeArg,\n setArgFields: this._setArgFields,\n setArgValue: this._setArgValue,\n getDefaultScalarArgValue: this.props.getDefaultScalarArgValue,\n makeDefaultArg: this.props.makeDefaultArg,\n onRunOperation: this.props.onRunOperation,\n styleConfig: this.props.styleConfig,\n onCommit: this.props.onCommit,\n definition: this.props.definition\n });\n }\n }]);\n\n return ArgView;\n}(React.PureComponent);\n\nfunction isRunShortcut(event) {\n return event.ctrlKey && event.key === 'Enter';\n}\n\nfunction canRunOperation(operationName) {\n // it does not make sense to try to execute a fragment\n return operationName !== 'FragmentDefinition';\n}\n\nvar ScalarInput = function (_React$PureComponent3) {\n _inherits(ScalarInput, _React$PureComponent3);\n\n function ScalarInput() {\n var _ref3;\n\n var _temp3, _this3, _ret3;\n\n _classCallCheck(this, ScalarInput);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref3 = ScalarInput.__proto__ || Object.getPrototypeOf(ScalarInput)).call.apply(_ref3, [this].concat(args))), _this3), _this3._handleChange = function (event) {\n _this3.props.setArgValue(event, true);\n }, _temp3), _possibleConstructorReturn(_this3, _ret3);\n }\n\n _createClass(ScalarInput, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var input = this._ref;\n var activeElement = document.activeElement;\n if (input && activeElement && !(activeElement instanceof HTMLTextAreaElement)) {\n input.focus();\n input.setSelectionRange(0, input.value.length);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props3 = this.props,\n arg = _props3.arg,\n argValue = _props3.argValue,\n styleConfig = _props3.styleConfig;\n\n var argType = unwrapInputType(arg.type);\n var value = typeof argValue.value === 'string' ? argValue.value : '';\n var color = this.props.argValue.kind === 'StringValue' ? styleConfig.colors.string : styleConfig.colors.number;\n return React.createElement(\n 'span',\n { style: { color: color } },\n argType.name === 'String' ? '\"' : '',\n React.createElement('input', {\n style: {\n border: 'none',\n borderBottom: '1px solid #888',\n outline: 'none',\n width: Math.max(1, Math.min(15, value.length)) + 'ch',\n color: color\n },\n ref: function ref(_ref4) {\n _this4._ref = _ref4;\n },\n type: 'text',\n onChange: this._handleChange,\n value: value\n }),\n argType.name === 'String' ? '\"' : ''\n );\n }\n }]);\n\n return ScalarInput;\n}(React.PureComponent);\n\nvar AbstractArgView = function (_React$PureComponent4) {\n _inherits(AbstractArgView, _React$PureComponent4);\n\n function AbstractArgView() {\n var _ref5;\n\n var _temp4, _this5, _ret4;\n\n _classCallCheck(this, AbstractArgView);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp4 = (_this5 = _possibleConstructorReturn(this, (_ref5 = AbstractArgView.__proto__ || Object.getPrototypeOf(AbstractArgView)).call.apply(_ref5, [this].concat(args))), _this5), _this5.state = { displayArgActions: false }, _temp4), _possibleConstructorReturn(_this5, _ret4);\n }\n\n _createClass(AbstractArgView, [{\n key: 'render',\n value: function render() {\n var _this6 = this;\n\n var _props4 = this.props,\n argValue = _props4.argValue,\n arg = _props4.arg,\n styleConfig = _props4.styleConfig;\n /* TODO: handle List types*/\n\n var argType = unwrapInputType(arg.type);\n\n var input = null;\n if (argValue) {\n if (argValue.kind === 'Variable') {\n input = React.createElement(\n 'span',\n { style: { color: styleConfig.colors.variable } },\n '$',\n argValue.name.value\n );\n } else if ((0, _graphql.isScalarType)(argType)) {\n if (argType.name === 'Boolean') {\n input = React.createElement(\n 'select',\n {\n style: {\n color: styleConfig.colors.builtin\n },\n onChange: this.props.setArgValue,\n value: argValue.kind === 'BooleanValue' ? argValue.value : undefined },\n React.createElement(\n 'option',\n { key: 'true', value: 'true' },\n 'true'\n ),\n React.createElement(\n 'option',\n { key: 'false', value: 'false' },\n 'false'\n )\n );\n } else {\n input = React.createElement(ScalarInput, {\n setArgValue: this.props.setArgValue,\n arg: arg,\n argValue: argValue,\n onRunOperation: this.props.onRunOperation,\n styleConfig: this.props.styleConfig\n });\n }\n } else if ((0, _graphql.isEnumType)(argType)) {\n if (argValue.kind === 'EnumValue') {\n input = React.createElement(\n 'select',\n {\n style: {\n backgroundColor: 'white',\n color: styleConfig.colors.string2\n },\n onChange: this.props.setArgValue,\n value: argValue.value },\n argType.getValues().map(function (value) {\n return React.createElement(\n 'option',\n { key: value.name, value: value.name },\n value.name\n );\n })\n );\n } else {\n console.error('arg mismatch between arg and selection', argType, argValue);\n }\n } else if ((0, _graphql.isInputObjectType)(argType)) {\n if (argValue.kind === 'ObjectValue') {\n var _fields3 = argType.getFields();\n input = React.createElement(\n 'div',\n { style: { marginLeft: 16 } },\n Object.keys(_fields3).sort().map(function (fieldName) {\n return React.createElement(InputArgView, {\n key: fieldName,\n arg: _fields3[fieldName],\n parentField: _this6.props.parentField,\n selection: argValue,\n modifyFields: _this6.props.setArgFields,\n getDefaultScalarArgValue: _this6.props.getDefaultScalarArgValue,\n makeDefaultArg: _this6.props.makeDefaultArg,\n onRunOperation: _this6.props.onRunOperation,\n styleConfig: _this6.props.styleConfig,\n onCommit: _this6.props.onCommit,\n definition: _this6.props.definition\n });\n })\n );\n } else {\n console.error('arg mismatch between arg and selection', argType, argValue);\n }\n }\n }\n\n var variablize = function variablize() {\n /**\n 1. Find current operation variables\n 2. Find current arg value\n 3. Create a new variable\n 4. Replace current arg value with variable\n 5. Add variable to operation\n */\n\n var baseVariableName = arg.name;\n var conflictingNameCount = (_this6.props.definition.variableDefinitions || []).filter(function (varDef) {\n return varDef.variable.name.value.startsWith(baseVariableName);\n }).length;\n\n var variableName = void 0;\n if (conflictingNameCount > 0) {\n variableName = '' + baseVariableName + conflictingNameCount;\n } else {\n variableName = baseVariableName;\n }\n // To get an AST definition of our variable from the instantiated arg,\n // we print it to a string, then parseType to get our AST.\n var argPrintedType = arg.type.toString();\n var argType = (0, _graphql.parseType)(argPrintedType);\n\n var base = {\n kind: 'VariableDefinition',\n variable: {\n kind: 'Variable',\n name: {\n kind: 'Name',\n value: variableName\n }\n },\n type: argType,\n directives: []\n };\n\n var variableDefinitionByName = function variableDefinitionByName(name) {\n return (_this6.props.definition.variableDefinitions || []).find(function (varDef) {\n return varDef.variable.name.value === name;\n });\n };\n\n var variable = void 0;\n\n var subVariableUsageCountByName = {};\n\n if (typeof argValue !== 'undefined' && argValue !== null) {\n /** In the process of devariabilizing descendent selections,\n * we may have caused their variable definitions to become unused.\n * Keep track and remove any variable definitions with 1 or fewer usages.\n * */\n var cleanedDefaultValue = (0, _graphql.visit)(argValue, {\n Variable: function Variable(node) {\n var varName = node.name.value;\n var varDef = variableDefinitionByName(varName);\n\n subVariableUsageCountByName[varName] = subVariableUsageCountByName[varName] + 1 || 1;\n\n if (!varDef) {\n return;\n }\n\n return varDef.defaultValue;\n }\n });\n\n var isNonNullable = base.type.kind === 'NonNullType';\n\n // We're going to give the variable definition a default value, so we must make its type nullable\n var unwrappedBase = isNonNullable ? _extends({}, base, { type: base.type.type }) : base;\n\n variable = _extends({}, unwrappedBase, { defaultValue: cleanedDefaultValue });\n } else {\n variable = base;\n }\n\n var newlyUnusedVariables = Object.entries(subVariableUsageCountByName)\n // $FlowFixMe: Can't get Object.entries to realize usageCount *must* be a number\n .filter(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n _ = _ref7[0],\n usageCount = _ref7[1];\n\n return usageCount < 2;\n }).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n varName = _ref9[0],\n _ = _ref9[1];\n\n return varName;\n });\n\n if (variable) {\n var _newDoc = _this6.props.setArgValue(variable, false);\n\n if (_newDoc) {\n var targetOperation = _newDoc.definitions.find(function (definition) {\n if (!!definition.operation && !!definition.name && !!definition.name.value &&\n //\n !!_this6.props.definition.name && !!_this6.props.definition.name.value) {\n return definition.name.value === _this6.props.definition.name.value;\n } else {\n return false;\n }\n });\n\n var newVariableDefinitions = [].concat(_toConsumableArray(targetOperation.variableDefinitions || []), [variable]).filter(function (varDef) {\n return newlyUnusedVariables.indexOf(varDef.variable.name.value) === -1;\n });\n\n var newOperation = _extends({}, targetOperation, {\n variableDefinitions: newVariableDefinitions\n });\n\n var existingDefs = _newDoc.definitions;\n\n var newDefinitions = existingDefs.map(function (existingOperation) {\n if (targetOperation === existingOperation) {\n return newOperation;\n } else {\n return existingOperation;\n }\n });\n\n var finalDoc = _extends({}, _newDoc, {\n definitions: newDefinitions\n });\n\n _this6.props.onCommit(finalDoc);\n }\n }\n };\n\n var devariablize = function devariablize() {\n /**\n * 1. Find the current variable definition in the operation def\n * 2. Extract its value\n * 3. Replace the current arg value\n * 4. Visit the resulting operation to see if there are any other usages of the variable\n * 5. If not, remove the variableDefinition\n */\n if (!argValue || !argValue.name || !argValue.name.value) {\n return;\n }\n\n var variableName = argValue.name.value;\n var variableDefinition = (_this6.props.definition.variableDefinitions || []).find(function (varDef) {\n return varDef.variable.name.value === variableName;\n });\n\n if (!variableDefinition) {\n return;\n }\n\n var defaultValue = variableDefinition.defaultValue;\n\n var newDoc = _this6.props.setArgValue(defaultValue, {\n commit: false\n });\n\n if (newDoc) {\n var targetOperation = newDoc.definitions.find(function (definition) {\n return definition.name.value === _this6.props.definition.name.value;\n });\n\n if (!targetOperation) {\n return;\n }\n\n // After de-variabilizing, see if the variable is still in use. If not, remove it.\n var variableUseCount = 0;\n\n (0, _graphql.visit)(targetOperation, {\n Variable: function Variable(node) {\n if (node.name.value === variableName) {\n variableUseCount = variableUseCount + 1;\n }\n }\n });\n\n var newVariableDefinitions = targetOperation.variableDefinitions || [];\n\n // A variable is in use if it shows up at least twice (once in the definition, once in the selection)\n if (variableUseCount < 2) {\n newVariableDefinitions = newVariableDefinitions.filter(function (varDef) {\n return varDef.variable.name.value !== variableName;\n });\n }\n\n var newOperation = _extends({}, targetOperation, {\n variableDefinitions: newVariableDefinitions\n });\n\n var existingDefs = newDoc.definitions;\n\n var newDefinitions = existingDefs.map(function (existingOperation) {\n if (targetOperation === existingOperation) {\n return newOperation;\n } else {\n return existingOperation;\n }\n });\n\n var finalDoc = _extends({}, newDoc, {\n definitions: newDefinitions\n });\n\n _this6.props.onCommit(finalDoc);\n }\n };\n\n var isArgValueVariable = argValue && argValue.kind === 'Variable';\n\n var variablizeActionButton = !this.state.displayArgActions ? null : React.createElement(\n 'button',\n {\n type: 'submit',\n className: 'toolbar-button',\n title: isArgValueVariable ? 'Remove the variable' : 'Extract the current value into a GraphQL variable',\n onClick: function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (isArgValueVariable) {\n devariablize();\n } else {\n variablize();\n }\n },\n style: styleConfig.styles.actionButtonStyle },\n React.createElement(\n 'span',\n { style: { color: styleConfig.colors.variable } },\n '$'\n )\n );\n\n return React.createElement(\n 'div',\n {\n style: {\n cursor: 'pointer',\n minHeight: '16px',\n WebkitUserSelect: 'none',\n userSelect: 'none'\n },\n 'data-arg-name': arg.name,\n 'data-arg-type': argType.name,\n className: 'graphiql-explorer-' + arg.name },\n React.createElement(\n 'span',\n {\n style: { cursor: 'pointer' },\n onClick: function onClick(event) {\n var shouldAdd = !argValue;\n if (shouldAdd) {\n _this6.props.addArg(true);\n } else {\n _this6.props.removeArg(true);\n }\n _this6.setState({ displayArgActions: shouldAdd });\n } },\n (0, _graphql.isInputObjectType)(argType) ? React.createElement(\n 'span',\n null,\n !!argValue ? this.props.styleConfig.arrowOpen : this.props.styleConfig.arrowClosed\n ) : React.createElement(Checkbox, {\n checked: !!argValue,\n styleConfig: this.props.styleConfig\n }),\n React.createElement(\n 'span',\n {\n style: { color: styleConfig.colors.attribute },\n title: arg.description,\n onMouseEnter: function onMouseEnter() {\n // Make implementation a bit easier and only show 'variablize' action if arg is already added\n if (argValue !== null && typeof argValue !== 'undefined') {\n _this6.setState({ displayArgActions: true });\n }\n },\n onMouseLeave: function onMouseLeave() {\n return _this6.setState({ displayArgActions: false });\n } },\n arg.name,\n isRequiredArgument(arg) ? '*' : '',\n ': ',\n variablizeActionButton,\n ' '\n ),\n ' '\n ),\n input || React.createElement('span', null),\n ' '\n );\n }\n }]);\n\n return AbstractArgView;\n}(React.PureComponent);\n\nvar AbstractView = function (_React$PureComponent5) {\n _inherits(AbstractView, _React$PureComponent5);\n\n function AbstractView() {\n var _ref10;\n\n var _temp5, _this7, _ret5;\n\n _classCallCheck(this, AbstractView);\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _ret5 = (_temp5 = (_this7 = _possibleConstructorReturn(this, (_ref10 = AbstractView.__proto__ || Object.getPrototypeOf(AbstractView)).call.apply(_ref10, [this].concat(args))), _this7), _this7._addFragment = function () {\n _this7.props.modifySelections([].concat(_toConsumableArray(_this7.props.selections), [_this7._previousSelection || {\n kind: 'InlineFragment',\n typeCondition: {\n kind: 'NamedType',\n name: { kind: 'Name', value: _this7.props.implementingType.name }\n },\n selectionSet: {\n kind: 'SelectionSet',\n selections: _this7.props.getDefaultFieldNames(_this7.props.implementingType).map(function (fieldName) {\n return {\n kind: 'Field',\n name: { kind: 'Name', value: fieldName }\n };\n })\n }\n }]));\n }, _this7._removeFragment = function () {\n var thisSelection = _this7._getSelection();\n _this7._previousSelection = thisSelection;\n _this7.props.modifySelections(_this7.props.selections.filter(function (s) {\n return s !== thisSelection;\n }));\n }, _this7._getSelection = function () {\n var selection = _this7.props.selections.find(function (selection) {\n return selection.kind === 'InlineFragment' && selection.typeCondition && _this7.props.implementingType.name === selection.typeCondition.name.value;\n });\n if (!selection) {\n return null;\n }\n if (selection.kind === 'InlineFragment') {\n return selection;\n }\n }, _this7._modifyChildSelections = function (selections, options) {\n var thisSelection = _this7._getSelection();\n return _this7.props.modifySelections(_this7.props.selections.map(function (selection) {\n if (selection === thisSelection) {\n return {\n directives: selection.directives,\n kind: 'InlineFragment',\n typeCondition: {\n kind: 'NamedType',\n name: { kind: 'Name', value: _this7.props.implementingType.name }\n },\n selectionSet: {\n kind: 'SelectionSet',\n selections: selections\n }\n };\n }\n return selection;\n }), options);\n }, _temp5), _possibleConstructorReturn(_this7, _ret5);\n }\n\n _createClass(AbstractView, [{\n key: 'render',\n value: function render() {\n var _this8 = this;\n\n var _props5 = this.props,\n implementingType = _props5.implementingType,\n schema = _props5.schema,\n getDefaultFieldNames = _props5.getDefaultFieldNames,\n styleConfig = _props5.styleConfig;\n\n var selection = this._getSelection();\n var fields = implementingType.getFields();\n var childSelections = selection ? selection.selectionSet ? selection.selectionSet.selections : [] : [];\n\n return React.createElement(\n 'div',\n { className: 'graphiql-explorer-' + implementingType.name },\n React.createElement(\n 'span',\n {\n style: { cursor: 'pointer' },\n onClick: selection ? this._removeFragment : this._addFragment },\n React.createElement(Checkbox, {\n checked: !!selection,\n styleConfig: this.props.styleConfig\n }),\n React.createElement(\n 'span',\n { style: { color: styleConfig.colors.atom } },\n this.props.implementingType.name\n )\n ),\n selection ? React.createElement(\n 'div',\n { style: { marginLeft: 16 } },\n Object.keys(fields).sort().map(function (fieldName) {\n return React.createElement(FieldView, {\n key: fieldName,\n field: fields[fieldName],\n selections: childSelections,\n modifySelections: _this8._modifyChildSelections,\n schema: schema,\n getDefaultFieldNames: getDefaultFieldNames,\n getDefaultScalarArgValue: _this8.props.getDefaultScalarArgValue,\n makeDefaultArg: _this8.props.makeDefaultArg,\n onRunOperation: _this8.props.onRunOperation,\n onCommit: _this8.props.onCommit,\n styleConfig: _this8.props.styleConfig,\n definition: _this8.props.definition,\n availableFragments: _this8.props.availableFragments\n });\n })\n ) : null\n );\n }\n }]);\n\n return AbstractView;\n}(React.PureComponent);\n\nvar FragmentView = function (_React$PureComponent6) {\n _inherits(FragmentView, _React$PureComponent6);\n\n function FragmentView() {\n var _ref11;\n\n var _temp6, _this9, _ret6;\n\n _classCallCheck(this, FragmentView);\n\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _ret6 = (_temp6 = (_this9 = _possibleConstructorReturn(this, (_ref11 = FragmentView.__proto__ || Object.getPrototypeOf(FragmentView)).call.apply(_ref11, [this].concat(args))), _this9), _this9._addFragment = function () {\n _this9.props.modifySelections([].concat(_toConsumableArray(_this9.props.selections), [_this9._previousSelection || {\n kind: 'FragmentSpread',\n name: _this9.props.fragment.name\n }]));\n }, _this9._removeFragment = function () {\n var thisSelection = _this9._getSelection();\n _this9._previousSelection = thisSelection;\n _this9.props.modifySelections(_this9.props.selections.filter(function (s) {\n var isTargetSelection = s.kind === 'FragmentSpread' && s.name.value === _this9.props.fragment.name.value;\n\n return !isTargetSelection;\n }));\n }, _this9._getSelection = function () {\n var selection = _this9.props.selections.find(function (selection) {\n return selection.kind === 'FragmentSpread' && selection.name.value === _this9.props.fragment.name.value;\n });\n\n return selection;\n }, _temp6), _possibleConstructorReturn(_this9, _ret6);\n }\n\n _createClass(FragmentView, [{\n key: 'render',\n value: function render() {\n var styleConfig = this.props.styleConfig;\n\n var selection = this._getSelection();\n return React.createElement(\n 'div',\n { className: 'graphiql-explorer-' + this.props.fragment.name.value },\n React.createElement(\n 'span',\n {\n style: { cursor: 'pointer' },\n onClick: selection ? this._removeFragment : this._addFragment },\n React.createElement(Checkbox, {\n checked: !!selection,\n styleConfig: this.props.styleConfig\n }),\n React.createElement(\n 'span',\n {\n style: { color: styleConfig.colors.def },\n className: 'graphiql-explorer-' + this.props.fragment.name.value },\n this.props.fragment.name.value\n )\n )\n );\n }\n }]);\n\n return FragmentView;\n}(React.PureComponent);\n\nfunction defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, fields) {\n var nodes = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _field = _step.value;\n\n if ((0, _graphql.isRequiredInputField)(_field) || makeDefaultArg && makeDefaultArg(parentField, _field)) {\n var fieldType = unwrapInputType(_field.type);\n if ((0, _graphql.isInputObjectType)(fieldType)) {\n (function () {\n var fields = fieldType.getFields();\n nodes.push({\n kind: 'ObjectField',\n name: { kind: 'Name', value: _field.name },\n value: {\n kind: 'ObjectValue',\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, parentField, Object.keys(fields).map(function (k) {\n return fields[k];\n }))\n }\n });\n })();\n } else if ((0, _graphql.isLeafType)(fieldType)) {\n nodes.push({\n kind: 'ObjectField',\n name: { kind: 'Name', value: _field.name },\n value: getDefaultScalarArgValue(parentField, _field, fieldType)\n });\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return nodes;\n}\n\nfunction defaultArgs(getDefaultScalarArgValue, makeDefaultArg, field) {\n var args = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = field.args[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _arg = _step2.value;\n\n if (isRequiredArgument(_arg) || makeDefaultArg && makeDefaultArg(field, _arg)) {\n var argType = unwrapInputType(_arg.type);\n if ((0, _graphql.isInputObjectType)(argType)) {\n (function () {\n var fields = argType.getFields();\n args.push({\n kind: 'Argument',\n name: { kind: 'Name', value: _arg.name },\n value: {\n kind: 'ObjectValue',\n fields: defaultInputObjectFields(getDefaultScalarArgValue, makeDefaultArg, field, Object.keys(fields).map(function (k) {\n return fields[k];\n }))\n }\n });\n })();\n } else if ((0, _graphql.isLeafType)(argType)) {\n args.push({\n kind: 'Argument',\n name: { kind: 'Name', value: _arg.name },\n value: getDefaultScalarArgValue(field, _arg, argType)\n });\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return args;\n}\n\nvar FieldView = function (_React$PureComponent7) {\n _inherits(FieldView, _React$PureComponent7);\n\n function FieldView() {\n var _ref12;\n\n var _temp7, _this10, _ret9;\n\n _classCallCheck(this, FieldView);\n\n for (var _len7 = arguments.length, args = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _ret9 = (_temp7 = (_this10 = _possibleConstructorReturn(this, (_ref12 = FieldView.__proto__ || Object.getPrototypeOf(FieldView)).call.apply(_ref12, [this].concat(args))), _this10), _this10.state = { displayFieldActions: false }, _this10._addAllFieldsToSelections = function (rawSubfields) {\n var subFields = !!rawSubfields ? Object.keys(rawSubfields).map(function (fieldName) {\n return {\n kind: 'Field',\n name: { kind: 'Name', value: fieldName },\n arguments: []\n };\n }) : [];\n\n var subSelectionSet = {\n kind: 'SelectionSet',\n selections: subFields\n };\n\n var nextSelections = [].concat(_toConsumableArray(_this10.props.selections.filter(function (selection) {\n if (selection.kind === 'InlineFragment') {\n return true;\n } else {\n // Remove the current selection set for the target field\n return selection.name.value !== _this10.props.field.name;\n }\n })), [{\n kind: 'Field',\n name: { kind: 'Name', value: _this10.props.field.name },\n arguments: defaultArgs(_this10.props.getDefaultScalarArgValue, _this10.props.makeDefaultArg, _this10.props.field),\n selectionSet: subSelectionSet\n }]);\n\n _this10.props.modifySelections(nextSelections);\n }, _this10._addFieldToSelections = function (rawSubfields) {\n var nextSelections = [].concat(_toConsumableArray(_this10.props.selections), [_this10._previousSelection || {\n kind: 'Field',\n name: { kind: 'Name', value: _this10.props.field.name },\n arguments: defaultArgs(_this10.props.getDefaultScalarArgValue, _this10.props.makeDefaultArg, _this10.props.field)\n }]);\n\n _this10.props.modifySelections(nextSelections);\n }, _this10._handleUpdateSelections = function (event) {\n var selection = _this10._getSelection();\n if (selection && !event.altKey) {\n _this10._removeFieldFromSelections();\n } else {\n var fieldType = (0, _graphql.getNamedType)(_this10.props.field.type);\n var rawSubfields = (0, _graphql.isObjectType)(fieldType) && fieldType.getFields();\n\n var shouldSelectAllSubfields = !!rawSubfields && event.altKey;\n\n shouldSelectAllSubfields ? _this10._addAllFieldsToSelections(rawSubfields) : _this10._addFieldToSelections(rawSubfields);\n }\n }, _this10._removeFieldFromSelections = function () {\n var previousSelection = _this10._getSelection();\n _this10._previousSelection = previousSelection;\n _this10.props.modifySelections(_this10.props.selections.filter(function (selection) {\n return selection !== previousSelection;\n }));\n }, _this10._getSelection = function () {\n var selection = _this10.props.selections.find(function (selection) {\n return selection.kind === 'Field' && _this10.props.field.name === selection.name.value;\n });\n if (!selection) {\n return null;\n }\n if (selection.kind === 'Field') {\n return selection;\n }\n }, _this10._setArguments = function (argumentNodes, options) {\n var selection = _this10._getSelection();\n if (!selection) {\n console.error('Missing selection when setting arguments', argumentNodes);\n return;\n }\n return _this10.props.modifySelections(_this10.props.selections.map(function (s) {\n return s === selection ? {\n alias: selection.alias,\n arguments: argumentNodes,\n directives: selection.directives,\n kind: 'Field',\n name: selection.name,\n selectionSet: selection.selectionSet\n } : s;\n }), options);\n }, _this10._modifyChildSelections = function (selections, options) {\n return _this10.props.modifySelections(_this10.props.selections.map(function (selection) {\n if (selection.kind === 'Field' && _this10.props.field.name === selection.name.value) {\n if (selection.kind !== 'Field') {\n throw new Error('invalid selection');\n }\n return {\n alias: selection.alias,\n arguments: selection.arguments,\n directives: selection.directives,\n kind: 'Field',\n name: selection.name,\n selectionSet: {\n kind: 'SelectionSet',\n selections: selections\n }\n };\n }\n return selection;\n }), options);\n }, _temp7), _possibleConstructorReturn(_this10, _ret9);\n }\n\n _createClass(FieldView, [{\n key: 'render',\n value: function render() {\n var _this11 = this;\n\n var _props6 = this.props,\n field = _props6.field,\n schema = _props6.schema,\n getDefaultFieldNames = _props6.getDefaultFieldNames,\n styleConfig = _props6.styleConfig;\n\n var selection = this._getSelection();\n var type = unwrapOutputType(field.type);\n var args = field.args.sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n var className = 'graphiql-explorer-node graphiql-explorer-' + field.name;\n\n if (field.isDeprecated) {\n className += ' graphiql-explorer-deprecated';\n }\n\n var applicableFragments = (0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type) || (0, _graphql.isUnionType)(type) ? this.props.availableFragments && this.props.availableFragments[type.name] : null;\n\n var node = React.createElement(\n 'div',\n { className: className },\n React.createElement(\n 'span',\n {\n title: field.description,\n style: {\n cursor: 'pointer',\n display: 'inline-flex',\n alignItems: 'center',\n minHeight: '16px',\n WebkitUserSelect: 'none',\n userSelect: 'none'\n },\n 'data-field-name': field.name,\n 'data-field-type': type.name,\n onClick: this._handleUpdateSelections,\n onMouseEnter: function onMouseEnter() {\n var containsMeaningfulSubselection = (0, _graphql.isObjectType)(type) && selection && selection.selectionSet && selection.selectionSet.selections.filter(function (selection) {\n return selection.kind !== 'FragmentSpread';\n }).length > 0;\n\n if (containsMeaningfulSubselection) {\n _this11.setState({ displayFieldActions: true });\n }\n },\n onMouseLeave: function onMouseLeave() {\n return _this11.setState({ displayFieldActions: false });\n } },\n (0, _graphql.isObjectType)(type) ? React.createElement(\n 'span',\n null,\n !!selection ? this.props.styleConfig.arrowOpen : this.props.styleConfig.arrowClosed\n ) : null,\n (0, _graphql.isObjectType)(type) ? null : React.createElement(Checkbox, {\n checked: !!selection,\n styleConfig: this.props.styleConfig\n }),\n React.createElement(\n 'span',\n {\n style: { color: styleConfig.colors.property },\n className: 'graphiql-explorer-field-view' },\n field.name\n ),\n !this.state.displayFieldActions ? null : React.createElement(\n 'button',\n {\n type: 'submit',\n className: 'toolbar-button',\n title: 'Extract selections into a new reusable fragment',\n onClick: function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n // 1. Create a fragment spread node\n // 2. Copy selections from this object to fragment\n // 3. Replace selections in this object with fragment spread\n // 4. Add fragment to document\n var typeName = type.name;\n var newFragmentName = typeName + 'Fragment';\n\n var conflictingNameCount = (applicableFragments || []).filter(function (fragment) {\n return fragment.name.value.startsWith(newFragmentName);\n }).length;\n\n if (conflictingNameCount > 0) {\n newFragmentName = '' + newFragmentName + conflictingNameCount;\n }\n\n var childSelections = selection ? selection.selectionSet ? selection.selectionSet.selections : [] : [];\n\n var nextSelections = [{\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: newFragmentName\n },\n directives: []\n }];\n\n var newFragmentDefinition = {\n kind: 'FragmentDefinition',\n name: {\n kind: 'Name',\n value: newFragmentName\n },\n typeCondition: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: type.name\n }\n },\n directives: [],\n selectionSet: {\n kind: 'SelectionSet',\n selections: childSelections\n }\n };\n\n var newDoc = _this11._modifyChildSelections(nextSelections, false);\n\n if (newDoc) {\n var newDocWithFragment = _extends({}, newDoc, {\n definitions: [].concat(_toConsumableArray(newDoc.definitions), [newFragmentDefinition])\n });\n\n _this11.props.onCommit(newDocWithFragment);\n } else {\n console.warn('Unable to complete extractFragment operation');\n }\n },\n style: _extends({}, styleConfig.styles.actionButtonStyle) },\n React.createElement(\n 'span',\n null,\n '…'\n )\n )\n ),\n selection && args.length ? React.createElement(\n 'div',\n {\n style: { marginLeft: 16 },\n className: 'graphiql-explorer-graphql-arguments' },\n args.map(function (arg) {\n return React.createElement(ArgView, {\n key: arg.name,\n parentField: field,\n arg: arg,\n selection: selection,\n modifyArguments: _this11._setArguments,\n getDefaultScalarArgValue: _this11.props.getDefaultScalarArgValue,\n makeDefaultArg: _this11.props.makeDefaultArg,\n onRunOperation: _this11.props.onRunOperation,\n styleConfig: _this11.props.styleConfig,\n onCommit: _this11.props.onCommit,\n definition: _this11.props.definition\n });\n })\n ) : null\n );\n\n if (selection && ((0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type) || (0, _graphql.isUnionType)(type))) {\n var _fields4 = (0, _graphql.isUnionType)(type) ? {} : type.getFields();\n var childSelections = selection ? selection.selectionSet ? selection.selectionSet.selections : [] : [];\n return React.createElement(\n 'div',\n { className: 'graphiql-explorer-' + field.name },\n node,\n React.createElement(\n 'div',\n { style: { marginLeft: 16 } },\n !!applicableFragments ? applicableFragments.map(function (fragment) {\n var type = schema.getType(fragment.typeCondition.name.value);\n var fragmentName = fragment.name.value;\n return !type ? null : React.createElement(FragmentView, {\n key: fragmentName,\n fragment: fragment,\n selections: childSelections,\n modifySelections: _this11._modifyChildSelections,\n schema: schema,\n styleConfig: _this11.props.styleConfig,\n onCommit: _this11.props.onCommit\n });\n }) : null,\n Object.keys(_fields4).sort().map(function (fieldName) {\n return React.createElement(FieldView, {\n key: fieldName,\n field: _fields4[fieldName],\n selections: childSelections,\n modifySelections: _this11._modifyChildSelections,\n schema: schema,\n getDefaultFieldNames: getDefaultFieldNames,\n getDefaultScalarArgValue: _this11.props.getDefaultScalarArgValue,\n makeDefaultArg: _this11.props.makeDefaultArg,\n onRunOperation: _this11.props.onRunOperation,\n styleConfig: _this11.props.styleConfig,\n onCommit: _this11.props.onCommit,\n definition: _this11.props.definition,\n availableFragments: _this11.props.availableFragments\n });\n }),\n (0, _graphql.isInterfaceType)(type) || (0, _graphql.isUnionType)(type) ? schema.getPossibleTypes(type).map(function (type) {\n return React.createElement(AbstractView, {\n key: type.name,\n implementingType: type,\n selections: childSelections,\n modifySelections: _this11._modifyChildSelections,\n schema: schema,\n getDefaultFieldNames: getDefaultFieldNames,\n getDefaultScalarArgValue: _this11.props.getDefaultScalarArgValue,\n makeDefaultArg: _this11.props.makeDefaultArg,\n onRunOperation: _this11.props.onRunOperation,\n styleConfig: _this11.props.styleConfig,\n onCommit: _this11.props.onCommit,\n definition: _this11.props.definition\n });\n }) : null\n )\n );\n }\n return node;\n }\n }]);\n\n return FieldView;\n}(React.PureComponent);\n\nfunction parseQuery(text) {\n try {\n if (!text.trim()) {\n return null;\n }\n return (0, _graphql.parse)(text,\n // Tell graphql to not bother track locations when parsing, we don't need\n // it and it's a tiny bit more expensive.\n { noLocation: true });\n } catch (e) {\n return new Error(e);\n }\n}\n\nvar DEFAULT_OPERATION = {\n kind: 'OperationDefinition',\n operation: 'query',\n variableDefinitions: [],\n name: { kind: 'Name', value: 'MyQuery' },\n directives: [],\n selectionSet: {\n kind: 'SelectionSet',\n selections: []\n }\n};\nvar DEFAULT_DOCUMENT = {\n kind: 'Document',\n definitions: [DEFAULT_OPERATION]\n};\nvar parseQueryMemoize = null;\nfunction memoizeParseQuery(query) {\n if (parseQueryMemoize && parseQueryMemoize[0] === query) {\n return parseQueryMemoize[1];\n } else {\n var result = parseQuery(query);\n if (!result) {\n return DEFAULT_DOCUMENT;\n } else if (result instanceof Error) {\n if (parseQueryMemoize) {\n // Most likely a temporarily invalid query while they type\n return parseQueryMemoize[1];\n } else {\n return DEFAULT_DOCUMENT;\n }\n } else {\n parseQueryMemoize = [query, result];\n return result;\n }\n }\n}\n\nvar defaultStyles = {\n buttonStyle: {\n fontSize: '1.2em',\n padding: '0px',\n backgroundColor: 'white',\n border: 'none',\n margin: '5px 0px',\n height: '40px',\n width: '100%',\n display: 'block',\n maxWidth: 'none'\n },\n\n actionButtonStyle: {\n padding: '0px',\n backgroundColor: 'white',\n border: 'none',\n margin: '0px',\n maxWidth: 'none',\n height: '15px',\n width: '15px',\n display: 'inline-block',\n fontSize: 'smaller'\n },\n\n explorerActionsStyle: {\n margin: '4px -8px -8px',\n paddingLeft: '8px',\n bottom: '0px',\n width: '100%',\n textAlign: 'center',\n background: 'none',\n borderTop: 'none',\n borderBottom: 'none'\n }\n};\n\nvar RootView = function (_React$PureComponent8) {\n _inherits(RootView, _React$PureComponent8);\n\n function RootView() {\n var _ref13;\n\n var _temp8, _this12, _ret10;\n\n _classCallCheck(this, RootView);\n\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _ret10 = (_temp8 = (_this12 = _possibleConstructorReturn(this, (_ref13 = RootView.__proto__ || Object.getPrototypeOf(RootView)).call.apply(_ref13, [this].concat(args))), _this12), _this12.state = { newOperationType: 'query', displayTitleActions: false }, _this12._modifySelections = function (selections, options) {\n var operationDef = _this12.props.definition;\n\n if (operationDef.selectionSet.selections.length === 0 && _this12._previousOperationDef) {\n operationDef = _this12._previousOperationDef;\n }\n\n var newOperationDef = void 0;\n\n if (operationDef.kind === 'FragmentDefinition') {\n newOperationDef = _extends({}, operationDef, {\n selectionSet: _extends({}, operationDef.selectionSet, {\n selections: selections\n })\n });\n } else if (operationDef.kind === 'OperationDefinition') {\n var cleanedSelections = selections.filter(function (selection) {\n return !(selection.kind === 'Field' && selection.name.value === '__typename');\n });\n\n if (cleanedSelections.length === 0) {\n cleanedSelections = [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename ## Placeholder value'\n }\n }];\n }\n\n newOperationDef = _extends({}, operationDef, {\n selectionSet: _extends({}, operationDef.selectionSet, {\n selections: cleanedSelections\n })\n });\n }\n\n return _this12.props.onEdit(newOperationDef, options);\n }, _this12._onOperationRename = function (event) {\n return _this12.props.onOperationRename(event.target.value);\n }, _this12._handlePotentialRun = function (event) {\n if (isRunShortcut(event) && canRunOperation(_this12.props.definition.kind)) {\n _this12.props.onRunOperation(_this12.props.name);\n }\n }, _this12._rootViewElId = function () {\n var _this12$props = _this12.props,\n operationType = _this12$props.operationType,\n name = _this12$props.name;\n\n var rootViewElId = operationType + '-' + (name || 'unknown');\n return rootViewElId;\n }, _temp8), _possibleConstructorReturn(_this12, _ret10);\n }\n\n _createClass(RootView, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var rootViewElId = this._rootViewElId();\n\n this.props.onMount(rootViewElId);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this13 = this;\n\n var _props7 = this.props,\n operationType = _props7.operationType,\n definition = _props7.definition,\n schema = _props7.schema,\n getDefaultFieldNames = _props7.getDefaultFieldNames,\n styleConfig = _props7.styleConfig;\n\n var rootViewElId = this._rootViewElId();\n\n var fields = this.props.fields || {};\n var operationDef = definition;\n var selections = operationDef.selectionSet.selections;\n\n var operationDisplayName = this.props.name || capitalize(operationType) + ' Name';\n\n return React.createElement(\n 'div',\n {\n id: rootViewElId,\n tabIndex: '0',\n onKeyDown: this._handlePotentialRun,\n style: {\n // The actions bar has its own top border\n borderBottom: this.props.isLast ? 'none' : '1px solid #d6d6d6',\n marginBottom: '0em',\n paddingBottom: '1em'\n } },\n React.createElement(\n 'div',\n {\n style: { color: styleConfig.colors.keyword, paddingBottom: 4 },\n className: 'graphiql-operation-title-bar',\n onMouseEnter: function onMouseEnter() {\n return _this13.setState({ displayTitleActions: true });\n },\n onMouseLeave: function onMouseLeave() {\n return _this13.setState({ displayTitleActions: false });\n } },\n operationType,\n ' ',\n React.createElement(\n 'span',\n { style: { color: styleConfig.colors.def } },\n React.createElement('input', {\n style: {\n color: styleConfig.colors.def,\n border: 'none',\n borderBottom: '1px solid #888',\n outline: 'none',\n width: Math.max(4, operationDisplayName.length) + 'ch'\n },\n autoComplete: 'false',\n placeholder: capitalize(operationType) + ' Name',\n value: this.props.name,\n onKeyDown: this._handlePotentialRun,\n onChange: this._onOperationRename\n })\n ),\n !!this.props.onTypeName ? React.createElement(\n 'span',\n null,\n React.createElement('br', null),\n 'on ' + this.props.onTypeName\n ) : '',\n !!this.state.displayTitleActions ? React.createElement(\n React.Fragment,\n null,\n React.createElement(\n 'button',\n {\n type: 'submit',\n className: 'toolbar-button',\n onClick: function onClick() {\n return _this13.props.onOperationDestroy();\n },\n style: _extends({}, styleConfig.styles.actionButtonStyle) },\n React.createElement(\n 'span',\n null,\n '\\u2715'\n )\n ),\n React.createElement(\n 'button',\n {\n type: 'submit',\n className: 'toolbar-button',\n onClick: function onClick() {\n return _this13.props.onOperationClone();\n },\n style: _extends({}, styleConfig.styles.actionButtonStyle) },\n React.createElement(\n 'span',\n null,\n '⎘'\n )\n )\n ) : ''\n ),\n Object.keys(fields).sort().map(function (fieldName) {\n return React.createElement(FieldView, {\n key: fieldName,\n field: fields[fieldName],\n selections: selections,\n modifySelections: _this13._modifySelections,\n schema: schema,\n getDefaultFieldNames: getDefaultFieldNames,\n getDefaultScalarArgValue: _this13.props.getDefaultScalarArgValue,\n makeDefaultArg: _this13.props.makeDefaultArg,\n onRunOperation: _this13.props.onRunOperation,\n styleConfig: _this13.props.styleConfig,\n onCommit: _this13.props.onCommit,\n definition: _this13.props.definition,\n availableFragments: _this13.props.availableFragments\n });\n })\n );\n }\n }]);\n\n return RootView;\n}(React.PureComponent);\n\nfunction Attribution() {\n return React.createElement(\n 'div',\n {\n style: {\n fontFamily: 'sans-serif',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n margin: '1em',\n marginTop: 0,\n flexGrow: 1,\n justifyContent: 'flex-end'\n } },\n React.createElement(\n 'div',\n {\n style: {\n borderTop: '1px solid #d6d6d6',\n paddingTop: '1em',\n width: '100%',\n textAlign: 'center'\n } },\n 'GraphiQL Explorer by ',\n React.createElement(\n 'a',\n { href: 'https://www.onegraph.com' },\n 'OneGraph'\n )\n ),\n React.createElement(\n 'div',\n null,\n 'Contribute on',\n ' ',\n React.createElement(\n 'a',\n { href: 'https://github.com/OneGraph/graphiql-explorer' },\n 'GitHub'\n )\n )\n );\n}\n\nvar Explorer = function (_React$PureComponent9) {\n _inherits(Explorer, _React$PureComponent9);\n\n function Explorer() {\n var _ref14;\n\n var _temp9, _this14, _ret11;\n\n _classCallCheck(this, Explorer);\n\n for (var _len9 = arguments.length, args = Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return _ret11 = (_temp9 = (_this14 = _possibleConstructorReturn(this, (_ref14 = Explorer.__proto__ || Object.getPrototypeOf(Explorer)).call.apply(_ref14, [this].concat(args))), _this14), _this14.state = {\n newOperationType: 'query',\n operation: null,\n operationToScrollTo: null\n }, _this14._resetScroll = function () {\n var container = _this14._ref;\n if (container) {\n container.scrollLeft = 0;\n }\n }, _this14._onEdit = function (query) {\n return _this14.props.onEdit(query);\n }, _this14._setAddOperationType = function (value) {\n _this14.setState({ newOperationType: value });\n }, _this14._handleRootViewMount = function (rootViewElId) {\n if (!!_this14.state.operationToScrollTo && _this14.state.operationToScrollTo === rootViewElId) {\n var selector = '.graphiql-explorer-root #' + rootViewElId;\n\n var el = document.querySelector(selector);\n el && el.scrollIntoView();\n }\n }, _temp9), _possibleConstructorReturn(_this14, _ret11);\n }\n\n _createClass(Explorer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._resetScroll();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this15 = this;\n\n var _props8 = this.props,\n schema = _props8.schema,\n query = _props8.query,\n makeDefaultArg = _props8.makeDefaultArg;\n\n\n if (!schema) {\n return React.createElement(\n 'div',\n { style: { fontFamily: 'sans-serif' }, className: 'error-container' },\n 'No Schema Available'\n );\n }\n var styleConfig = {\n colors: this.props.colors || defaultColors,\n checkboxChecked: this.props.checkboxChecked || defaultCheckboxChecked,\n checkboxUnchecked: this.props.checkboxUnchecked || defaultCheckboxUnchecked,\n arrowClosed: this.props.arrowClosed || defaultArrowClosed,\n arrowOpen: this.props.arrowOpen || defaultArrowOpen,\n styles: this.props.styles ? _extends({}, defaultStyles, this.props.styles) : defaultStyles\n };\n var queryType = schema.getQueryType();\n var mutationType = schema.getMutationType();\n var subscriptionType = schema.getSubscriptionType();\n if (!queryType && !mutationType && !subscriptionType) {\n return React.createElement(\n 'div',\n null,\n 'Missing query type'\n );\n }\n var queryFields = queryType && queryType.getFields();\n var mutationFields = mutationType && mutationType.getFields();\n var subscriptionFields = subscriptionType && subscriptionType.getFields();\n\n var parsedQuery = memoizeParseQuery(query);\n var getDefaultFieldNames = this.props.getDefaultFieldNames || defaultGetDefaultFieldNames;\n var getDefaultScalarArgValue = this.props.getDefaultScalarArgValue || defaultGetDefaultScalarArgValue;\n\n var definitions = parsedQuery.definitions;\n\n var _relevantOperations = definitions.map(function (definition) {\n if (definition.kind === 'FragmentDefinition') {\n return definition;\n } else if (definition.kind === 'OperationDefinition') {\n return definition;\n } else {\n return null;\n }\n }).filter(Boolean);\n\n var relevantOperations =\n // If we don't have any relevant definitions from the parsed document,\n // then at least show an expanded Query selection\n _relevantOperations.length === 0 ? DEFAULT_DOCUMENT.definitions : _relevantOperations;\n\n var renameOperation = function renameOperation(targetOperation, name) {\n var newName = name == null || name === '' ? null : { kind: 'Name', value: name, loc: undefined };\n var newOperation = _extends({}, targetOperation, { name: newName });\n\n var existingDefs = parsedQuery.definitions;\n\n var newDefinitions = existingDefs.map(function (existingOperation) {\n if (targetOperation === existingOperation) {\n return newOperation;\n } else {\n return existingOperation;\n }\n });\n\n return _extends({}, parsedQuery, {\n definitions: newDefinitions\n });\n };\n\n var cloneOperation = function cloneOperation(targetOperation) {\n var kind = void 0;\n if (targetOperation.kind === 'FragmentDefinition') {\n kind = 'fragment';\n } else {\n kind = targetOperation.operation;\n }\n\n var newOperationName = (targetOperation.name && targetOperation.name.value || '') + 'Copy';\n\n var newName = {\n kind: 'Name',\n value: newOperationName,\n loc: undefined\n };\n\n var newOperation = _extends({}, targetOperation, { name: newName });\n\n var existingDefs = parsedQuery.definitions;\n\n var newDefinitions = [].concat(_toConsumableArray(existingDefs), [newOperation]);\n\n _this15.setState({ operationToScrollTo: kind + '-' + newOperationName });\n\n return _extends({}, parsedQuery, {\n definitions: newDefinitions\n });\n };\n\n var destroyOperation = function destroyOperation(targetOperation) {\n var existingDefs = parsedQuery.definitions;\n\n var newDefinitions = existingDefs.filter(function (existingOperation) {\n if (targetOperation === existingOperation) {\n return false;\n } else {\n return true;\n }\n });\n\n return _extends({}, parsedQuery, {\n definitions: newDefinitions\n });\n };\n\n var addOperation = function addOperation(kind) {\n var existingDefs = parsedQuery.definitions;\n\n var viewingDefaultOperation = parsedQuery.definitions.length === 1 && parsedQuery.definitions[0] === DEFAULT_DOCUMENT.definitions[0];\n\n var MySiblingDefs = viewingDefaultOperation ? [] : existingDefs.filter(function (def) {\n if (def.kind === 'OperationDefinition') {\n return def.operation === kind;\n } else {\n // Don't support adding fragments from explorer\n return false;\n }\n });\n\n var newOperationName = 'My' + capitalize(kind) + (MySiblingDefs.length === 0 ? '' : MySiblingDefs.length + 1);\n\n // Add this as the default field as it guarantees a valid selectionSet\n var firstFieldName = '__typename # Placeholder value';\n\n var selectionSet = {\n kind: 'SelectionSet',\n selections: [{\n kind: 'Field',\n name: {\n kind: 'Name',\n value: firstFieldName,\n loc: null\n },\n arguments: [],\n directives: [],\n selectionSet: null,\n loc: null\n }],\n loc: null\n };\n\n var newDefinition = {\n kind: 'OperationDefinition',\n operation: kind,\n name: { kind: 'Name', value: newOperationName },\n variableDefinitions: [],\n directives: [],\n selectionSet: selectionSet,\n loc: null\n };\n\n var newDefinitions =\n // If we only have our default operation in the document right now, then\n // just replace it with our new definition\n viewingDefaultOperation ? [newDefinition] : [].concat(_toConsumableArray(parsedQuery.definitions), [newDefinition]);\n\n var newOperationDef = _extends({}, parsedQuery, {\n definitions: newDefinitions\n });\n\n _this15.setState({ operationToScrollTo: kind + '-' + newOperationName });\n\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\n };\n\n var actionsOptions = [!!queryFields ? React.createElement(\n 'option',\n {\n key: 'query',\n className: 'toolbar-button',\n style: styleConfig.styles.buttonStyle,\n type: 'link',\n value: 'query' },\n 'Query'\n ) : null, !!mutationFields ? React.createElement(\n 'option',\n {\n key: 'mutation',\n className: 'toolbar-button',\n style: styleConfig.styles.buttonStyle,\n type: 'link',\n value: 'mutation' },\n 'Mutation'\n ) : null, !!subscriptionFields ? React.createElement(\n 'option',\n {\n key: 'subscription',\n className: 'toolbar-button',\n style: styleConfig.styles.buttonStyle,\n type: 'link',\n value: 'subscription' },\n 'Subscription'\n ) : null].filter(Boolean);\n\n var actionsEl = actionsOptions.length === 0 ? null : React.createElement(\n 'div',\n {\n style: {\n minHeight: '50px',\n maxHeight: '50px',\n overflow: 'none'\n } },\n React.createElement(\n 'form',\n {\n className: 'variable-editor-title graphiql-explorer-actions',\n style: _extends({}, styleConfig.styles.explorerActionsStyle, {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n borderTop: '1px solid rgb(214, 214, 214)'\n }),\n onSubmit: function onSubmit(event) {\n return event.preventDefault();\n } },\n React.createElement(\n 'span',\n {\n style: {\n display: 'inline-block',\n flexGrow: '0',\n textAlign: 'right'\n } },\n 'Add new',\n ' '\n ),\n React.createElement(\n 'select',\n {\n onChange: function onChange(event) {\n return _this15._setAddOperationType(event.target.value);\n },\n value: this.state.newOperationType,\n style: { flexGrow: '2' } },\n actionsOptions\n ),\n React.createElement(\n 'button',\n {\n type: 'submit',\n className: 'toolbar-button',\n onClick: function onClick() {\n return _this15.state.newOperationType ? addOperation(_this15.state.newOperationType) : null;\n },\n style: _extends({}, styleConfig.styles.buttonStyle, {\n height: '22px',\n width: '22px'\n }) },\n React.createElement(\n 'span',\n null,\n '+'\n )\n )\n )\n );\n\n var availableFragments = relevantOperations.reduce(function (acc, operation) {\n if (operation.kind === 'FragmentDefinition') {\n var fragmentTypeName = operation.typeCondition.name.value;\n var existingFragmentsForType = acc[fragmentTypeName] || [];\n var newFragmentsForType = [].concat(_toConsumableArray(existingFragmentsForType), [operation]).sort(function (a, b) {\n return a.name.value.localeCompare(b.name.value);\n });\n return _extends({}, acc, _defineProperty({}, fragmentTypeName, newFragmentsForType));\n }\n\n return acc;\n }, {});\n\n var attribution = this.props.showAttribution ? React.createElement(Attribution, null) : null;\n\n return React.createElement(\n 'div',\n {\n ref: function ref(_ref15) {\n _this15._ref = _ref15;\n },\n style: {\n fontSize: 12,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n margin: 0,\n padding: 8,\n fontFamily: 'Consolas, Inconsolata, \"Droid Sans Mono\", Monaco, monospace',\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n },\n className: 'graphiql-explorer-root' },\n React.createElement(\n 'div',\n {\n style: {\n flexGrow: '1',\n overflow: 'scroll'\n } },\n relevantOperations.map(function (operation, index) {\n var operationName = operation && operation.name && operation.name.value;\n\n var operationType = operation.kind === 'FragmentDefinition' ? 'fragment' : operation && operation.operation || 'query';\n\n var onOperationRename = function onOperationRename(newName) {\n var newOperationDef = renameOperation(operation, newName);\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\n };\n\n var onOperationClone = function onOperationClone() {\n var newOperationDef = cloneOperation(operation);\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\n };\n\n var onOperationDestroy = function onOperationDestroy() {\n var newOperationDef = destroyOperation(operation);\n _this15.props.onEdit((0, _graphql.print)(newOperationDef));\n };\n\n var fragmentType = operation.kind === 'FragmentDefinition' && operation.typeCondition.kind === 'NamedType' && schema.getType(operation.typeCondition.name.value);\n\n var fragmentFields = fragmentType instanceof _graphql.GraphQLObjectType ? fragmentType.getFields() : null;\n\n var fields = operationType === 'query' ? queryFields : operationType === 'mutation' ? mutationFields : operationType === 'subscription' ? subscriptionFields : operation.kind === 'FragmentDefinition' ? fragmentFields : null;\n\n var fragmentTypeName = operation.kind === 'FragmentDefinition' ? operation.typeCondition.name.value : null;\n\n var onCommit = function onCommit(parsedDocument) {\n var textualNewDocument = (0, _graphql.print)(parsedDocument);\n\n _this15.props.onEdit(textualNewDocument);\n };\n\n return React.createElement(RootView, {\n isLast: index === relevantOperations.length - 1,\n fields: fields,\n operationType: operationType,\n name: operationName,\n definition: operation,\n onOperationRename: onOperationRename,\n onOperationDestroy: onOperationDestroy,\n onOperationClone: onOperationClone,\n onTypeName: fragmentTypeName,\n onMount: _this15._handleRootViewMount,\n onCommit: onCommit,\n onEdit: function onEdit(newDefinition, options) {\n var commit = void 0;\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object' && typeof options.commit !== 'undefined') {\n commit = options.commit;\n } else {\n commit = true;\n }\n\n if (!!newDefinition) {\n var newQuery = _extends({}, parsedQuery, {\n definitions: parsedQuery.definitions.map(function (existingDefinition) {\n return existingDefinition === operation ? newDefinition : existingDefinition;\n })\n });\n\n if (commit) {\n onCommit(newQuery);\n return newQuery;\n } else {\n return newQuery;\n }\n } else {\n return parsedQuery;\n }\n },\n schema: schema,\n getDefaultFieldNames: getDefaultFieldNames,\n getDefaultScalarArgValue: getDefaultScalarArgValue,\n makeDefaultArg: makeDefaultArg,\n onRunOperation: function onRunOperation() {\n if (!!_this15.props.onRunOperation) {\n _this15.props.onRunOperation(operationName);\n }\n },\n styleConfig: styleConfig,\n availableFragments: availableFragments\n });\n }),\n attribution\n ),\n actionsEl\n );\n }\n }]);\n\n return Explorer;\n}(React.PureComponent);\n\nExplorer.defaultProps = {\n getDefaultFieldNames: defaultGetDefaultFieldNames,\n getDefaultScalarArgValue: defaultGetDefaultScalarArgValue\n};\n\nvar ErrorBoundary = function (_React$Component) {\n _inherits(ErrorBoundary, _React$Component);\n\n function ErrorBoundary() {\n var _ref16;\n\n var _temp10, _this16, _ret12;\n\n _classCallCheck(this, ErrorBoundary);\n\n for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n return _ret12 = (_temp10 = (_this16 = _possibleConstructorReturn(this, (_ref16 = ErrorBoundary.__proto__ || Object.getPrototypeOf(ErrorBoundary)).call.apply(_ref16, [this].concat(args))), _this16), _this16.state = { hasError: false, error: null, errorInfo: null }, _temp10), _possibleConstructorReturn(_this16, _ret12);\n }\n\n _createClass(ErrorBoundary, [{\n key: 'componentDidCatch',\n value: function componentDidCatch(error, errorInfo) {\n this.setState({ hasError: true, error: error, errorInfo: errorInfo });\n console.error('Error in component', error, errorInfo);\n }\n }, {\n key: 'render',\n value: function render() {\n if (this.state.hasError) {\n return React.createElement(\n 'div',\n { style: { padding: 18, fontFamily: 'sans-serif' } },\n React.createElement(\n 'div',\n null,\n 'Something went wrong'\n ),\n React.createElement(\n 'details',\n { style: { whiteSpace: 'pre-wrap' } },\n this.state.error ? this.state.error.toString() : null,\n React.createElement('br', null),\n this.state.errorInfo ? this.state.errorInfo.componentStack : null\n )\n );\n }\n return this.props.children;\n }\n }]);\n\n return ErrorBoundary;\n}(React.Component);\n\nvar ExplorerWrapper = function (_React$PureComponent10) {\n _inherits(ExplorerWrapper, _React$PureComponent10);\n\n function ExplorerWrapper() {\n _classCallCheck(this, ExplorerWrapper);\n\n return _possibleConstructorReturn(this, (ExplorerWrapper.__proto__ || Object.getPrototypeOf(ExplorerWrapper)).apply(this, arguments));\n }\n\n _createClass(ExplorerWrapper, [{\n key: 'render',\n value: function render() {\n return React.createElement(\n 'div',\n {\n className: 'docExplorerWrap',\n style: {\n height: '100%',\n width: this.props.width,\n minWidth: this.props.width,\n zIndex: 7,\n display: this.props.explorerIsOpen ? 'flex' : 'none',\n flexDirection: 'column',\n overflow: 'hidden'\n } },\n React.createElement(\n 'div',\n { className: 'doc-explorer-title-bar' },\n React.createElement(\n 'div',\n { className: 'doc-explorer-title' },\n this.props.title\n ),\n React.createElement(\n 'div',\n { className: 'doc-explorer-rhs' },\n React.createElement(\n 'div',\n {\n className: 'docExplorerHide',\n onClick: this.props.onToggleExplorer },\n '\\u2715'\n )\n )\n ),\n React.createElement(\n 'div',\n {\n className: 'doc-explorer-contents',\n style: {\n padding: '0px',\n /* Unset overflowY since docExplorerWrap sets it and it'll\n cause two scrollbars (one for the container and one for the schema tree) */\n overflowY: 'unset'\n } },\n React.createElement(\n ErrorBoundary,\n null,\n React.createElement(Explorer, this.props)\n )\n )\n );\n }\n }]);\n\n return ExplorerWrapper;\n}(React.PureComponent);\n\nExplorerWrapper.defaultValue = defaultValue;\nExplorerWrapper.defaultProps = {\n width: 320,\n title: 'Explorer'\n};\nexports.default = ExplorerWrapper;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nfunction _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","\n/**\n * Expose `Backoff`.\n */\n\nmodule.exports = Backoff;\n\n/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\n\nfunction Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\n\nBackoff.prototype.duration = function(){\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\n\nBackoff.prototype.reset = function(){\n this.attempts = 0;\n};\n\n/**\n * Set the minimum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMin = function(min){\n this.ms = min;\n};\n\n/**\n * Set the maximum duration\n *\n * @api public\n */\n\nBackoff.prototype.setMax = function(max){\n this.max = max;\n};\n\n/**\n * Set the jitter\n *\n * @api public\n */\n\nBackoff.prototype.setJitter = function(jitter){\n this.jitter = jitter;\n};\n\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isString(value) {\n return typeof value === 'string';\n}\nexports.default = isString;\n//# sourceMappingURL=is-string.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isObject(value) {\n return ((value !== null) && (typeof value === 'object'));\n}\nexports.default = isObject;\n//# sourceMappingURL=is-object.js.map","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","const GRAPHQL_WS = 'graphql-ws';\n// NOTE: This protocol is deprecated and will be removed soon.\n/**\n * @deprecated\n */\nconst GRAPHQL_SUBSCRIPTIONS = 'graphql-subscriptions';\n\nexport {\n GRAPHQL_WS,\n GRAPHQL_SUBSCRIPTIONS,\n};\n","const MIN_WS_TIMEOUT = 1000;\nconst WS_TIMEOUT = 30000;\n\nexport {\n MIN_WS_TIMEOUT,\n WS_TIMEOUT,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MessageTypes = (function () {\n function MessageTypes() {\n throw new Error('Static Class');\n }\n MessageTypes.GQL_CONNECTION_INIT = 'connection_init';\n MessageTypes.GQL_CONNECTION_ACK = 'connection_ack';\n MessageTypes.GQL_CONNECTION_ERROR = 'connection_error';\n MessageTypes.GQL_CONNECTION_KEEP_ALIVE = 'ka';\n MessageTypes.GQL_CONNECTION_TERMINATE = 'connection_terminate';\n MessageTypes.GQL_START = 'start';\n MessageTypes.GQL_DATA = 'data';\n MessageTypes.GQL_ERROR = 'error';\n MessageTypes.GQL_COMPLETE = 'complete';\n MessageTypes.GQL_STOP = 'stop';\n MessageTypes.SUBSCRIPTION_START = 'subscription_start';\n MessageTypes.SUBSCRIPTION_DATA = 'subscription_data';\n MessageTypes.SUBSCRIPTION_SUCCESS = 'subscription_success';\n MessageTypes.SUBSCRIPTION_FAIL = 'subscription_fail';\n MessageTypes.SUBSCRIPTION_END = 'subscription_end';\n MessageTypes.INIT = 'init';\n MessageTypes.INIT_SUCCESS = 'init_success';\n MessageTypes.INIT_FAIL = 'init_fail';\n MessageTypes.KEEP_ALIVE = 'keepalive';\n return MessageTypes;\n}());\nexports.default = MessageTypes;\n//# sourceMappingURL=message-types.js.map","import objectValues from \"../polyfills/objectValues.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport keyValMap from \"../jsutils/keyValMap.mjs\";\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { parseValue } from \"../language/parser.mjs\";\nimport { GraphQLSchema } from \"../type/schema.mjs\";\nimport { GraphQLDirective } from \"../type/directives.mjs\";\nimport { specifiedScalarTypes } from \"../type/scalars.mjs\";\nimport { introspectionTypes, TypeKind } from \"../type/introspection.mjs\";\nimport { isInputType, isOutputType, GraphQLList, GraphQLNonNull, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, assertNullableType, assertObjectType, assertInterfaceType } from \"../type/definition.mjs\";\nimport { valueFromAST } from \"./valueFromAST.mjs\";\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"parse\" or \"serialize\" functions or any other\n * server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\n\nexport function buildClientSchema(introspection, options) {\n isObjectLike(introspection) && isObjectLike(introspection.__schema) || devAssert(0, \"Invalid or incomplete introspection result. Ensure that you are passing \\\"data\\\" property of introspection response and no \\\"errors\\\" was returned alongside: \".concat(inspect(introspection), \".\")); // Get the schema from the introspection result.\n\n var schemaIntrospection = introspection.__schema; // Iterate through all types, getting the type definition for each.\n\n var typeMap = keyValMap(schemaIntrospection.types, function (typeIntrospection) {\n return typeIntrospection.name;\n }, function (typeIntrospection) {\n return buildType(typeIntrospection);\n }); // Include standard types only if they are used.\n\n for (var _i2 = 0, _ref2 = [].concat(specifiedScalarTypes, introspectionTypes); _i2 < _ref2.length; _i2++) {\n var stdType = _ref2[_i2];\n\n if (typeMap[stdType.name]) {\n typeMap[stdType.name] = stdType;\n }\n } // Get the root Query, Mutation, and Subscription types.\n\n\n var queryType = schemaIntrospection.queryType ? getObjectType(schemaIntrospection.queryType) : null;\n var mutationType = schemaIntrospection.mutationType ? getObjectType(schemaIntrospection.mutationType) : null;\n var subscriptionType = schemaIntrospection.subscriptionType ? getObjectType(schemaIntrospection.subscriptionType) : null; // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n\n var directives = schemaIntrospection.directives ? schemaIntrospection.directives.map(buildDirective) : []; // Then produce and return a Schema with these types.\n\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: objectValues(typeMap),\n directives: directives,\n assumeValid: options === null || options === void 0 ? void 0 : options.assumeValid\n }); // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n\n function getType(typeRef) {\n if (typeRef.kind === TypeKind.LIST) {\n var itemRef = typeRef.ofType;\n\n if (!itemRef) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n\n return new GraphQLList(getType(itemRef));\n }\n\n if (typeRef.kind === TypeKind.NON_NULL) {\n var nullableRef = typeRef.ofType;\n\n if (!nullableRef) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n\n var nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef) {\n var typeName = typeRef.name;\n\n if (!typeName) {\n throw new Error(\"Unknown type reference: \".concat(inspect(typeRef), \".\"));\n }\n\n var type = typeMap[typeName];\n\n if (!type) {\n throw new Error(\"Invalid or incomplete schema, unknown type: \".concat(typeName, \". Ensure that a full introspection query is used in order to build a client schema.\"));\n }\n\n return type;\n }\n\n function getObjectType(typeRef) {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(typeRef) {\n return assertInterfaceType(getNamedType(typeRef));\n } // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n\n\n function buildType(type) {\n if (type != null && type.name != null && type.kind != null) {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n\n case TypeKind.UNION:\n return buildUnionDef(type);\n\n case TypeKind.ENUM:\n return buildEnumDef(type);\n\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n }\n }\n\n var typeStr = inspect(type);\n throw new Error(\"Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: \".concat(typeStr, \".\"));\n }\n\n function buildScalarDef(scalarIntrospection) {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByUrl: scalarIntrospection.specifiedByUrl\n });\n }\n\n function buildImplementationsList(implementingIntrospection) {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (implementingIntrospection.interfaces === null && implementingIntrospection.kind === TypeKind.INTERFACE) {\n return [];\n }\n\n if (!implementingIntrospection.interfaces) {\n var implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\"Introspection result missing interfaces: \".concat(implementingIntrospectionStr, \".\"));\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(objectIntrospection) {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: function interfaces() {\n return buildImplementationsList(objectIntrospection);\n },\n fields: function fields() {\n return buildFieldDefMap(objectIntrospection);\n }\n });\n }\n\n function buildInterfaceDef(interfaceIntrospection) {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: function interfaces() {\n return buildImplementationsList(interfaceIntrospection);\n },\n fields: function fields() {\n return buildFieldDefMap(interfaceIntrospection);\n }\n });\n }\n\n function buildUnionDef(unionIntrospection) {\n if (!unionIntrospection.possibleTypes) {\n var unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\"Introspection result missing possibleTypes: \".concat(unionIntrospectionStr, \".\"));\n }\n\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: function types() {\n return unionIntrospection.possibleTypes.map(getObjectType);\n }\n });\n }\n\n function buildEnumDef(enumIntrospection) {\n if (!enumIntrospection.enumValues) {\n var enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\"Introspection result missing enumValues: \".concat(enumIntrospectionStr, \".\"));\n }\n\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(enumIntrospection.enumValues, function (valueIntrospection) {\n return valueIntrospection.name;\n }, function (valueIntrospection) {\n return {\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason\n };\n })\n });\n }\n\n function buildInputObjectDef(inputObjectIntrospection) {\n if (!inputObjectIntrospection.inputFields) {\n var inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\"Introspection result missing inputFields: \".concat(inputObjectIntrospectionStr, \".\"));\n }\n\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: function fields() {\n return buildInputValueDefMap(inputObjectIntrospection.inputFields);\n }\n });\n }\n\n function buildFieldDefMap(typeIntrospection) {\n if (!typeIntrospection.fields) {\n throw new Error(\"Introspection result missing fields: \".concat(inspect(typeIntrospection), \".\"));\n }\n\n return keyValMap(typeIntrospection.fields, function (fieldIntrospection) {\n return fieldIntrospection.name;\n }, buildField);\n }\n\n function buildField(fieldIntrospection) {\n var type = getType(fieldIntrospection.type);\n\n if (!isOutputType(type)) {\n var typeStr = inspect(type);\n throw new Error(\"Introspection must provide output type for fields, but received: \".concat(typeStr, \".\"));\n }\n\n if (!fieldIntrospection.args) {\n var fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\"Introspection result missing field args: \".concat(fieldIntrospectionStr, \".\"));\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type: type,\n args: buildInputValueDefMap(fieldIntrospection.args)\n };\n }\n\n function buildInputValueDefMap(inputValueIntrospections) {\n return keyValMap(inputValueIntrospections, function (inputValue) {\n return inputValue.name;\n }, buildInputValue);\n }\n\n function buildInputValue(inputValueIntrospection) {\n var type = getType(inputValueIntrospection.type);\n\n if (!isInputType(type)) {\n var typeStr = inspect(type);\n throw new Error(\"Introspection must provide input type for arguments, but received: \".concat(typeStr, \".\"));\n }\n\n var defaultValue = inputValueIntrospection.defaultValue != null ? valueFromAST(parseValue(inputValueIntrospection.defaultValue), type) : undefined;\n return {\n description: inputValueIntrospection.description,\n type: type,\n defaultValue: defaultValue\n };\n }\n\n function buildDirective(directiveIntrospection) {\n if (!directiveIntrospection.args) {\n var directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\"Introspection result missing directive args: \".concat(directiveIntrospectionStr, \".\"));\n }\n\n if (!directiveIntrospection.locations) {\n var _directiveIntrospectionStr = inspect(directiveIntrospection);\n\n throw new Error(\"Introspection result missing directive locations: \".concat(_directiveIntrospectionStr, \".\"));\n }\n\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args)\n });\n }\n}\n","import { validate } from \"../validation/validate.mjs\";\nimport { NoDeprecatedCustomRule } from \"../validation/rules/custom/NoDeprecatedCustomRule.mjs\";\n/**\n * A validation rule which reports deprecated usages.\n *\n * Returns a list of GraphQLError instances describing each deprecated use.\n *\n * @deprecated Please use `validate` with `NoDeprecatedCustomRule` instead:\n *\n * ```\n * import { validate, NoDeprecatedCustomRule } from 'graphql'\n *\n * const errors = validate(schema, document, [NoDeprecatedCustomRule])\n * ```\n */\n\nexport function findDeprecatedUsages(schema, ast) {\n return validate(schema, ast, [NoDeprecatedCustomRule]);\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/internal/serv/web/build/static/js/main.0d09a938.chunk.js b/internal/serv/web/build/static/js/main.0d09a938.chunk.js new file mode 100644 index 00000000..37b56b36 --- /dev/null +++ b/internal/serv/web/build/static/js/main.0d09a938.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpweb=this.webpackJsonpweb||[]).push([[0],{161:function(e,t,n){e.exports=n(258)},257:function(e,t,n){},258:function(e,t,n){"use strict";n.r(t);var a=n(2),r=n.n(a),o=n(69),l=n.n(o),c=n(11),i=n.n(c),s=n(47),u=n(63),d=n(54),p=n(156),h=n.n(p),b=n(159),y=n(101),E=n(259);n(256);const f="http://".concat(window.location.host,"/api/v1/graphql"),m="ws://".concat(window.location.host,"/api/v1/graphql"),w=Object(b.a)({url:f,subscriptionUrl:m});var O=()=>{const e=Object(a.useState)(null),t=Object(u.a)(e,2),n=t[0],o=t[1],l=Object(a.useState)('\n# Use this editor to build and test your GraphQL queries\n# Set a query name if you want the query saved to the \n# allow list to use in production\n\nquery {\n users(id: "3") {\n id\n full_name\n email\n }\n}\n'),c=Object(u.a)(l,2),p=c[0],b=c[1],f=Object(a.useState)(!0),m=Object(u.a)(f,2),O=m[0],g=m[1];let j=r.a.createRef();Object(a.useEffect)(()=>{Object(s.a)(i.a.mark((function e(){var t,n;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=w({query:Object(y.a)()}),e.next=3,t.next();case 3:n=e.sent,o(Object(E.a)(n.value.data));case 5:case"end":return e.stop()}}),e)})))()},[]);const q=e=>{b(e),console.log(">",e)},v=()=>g(!O);return r.a.createElement("div",{className:"graphiql-container"},r.a.createElement(h.a,{schema:n,query:p,onEdit:q,onRunOperation:e=>j.handleRunQuery(e),explorerIsOpen:O,onToggleExplorer:v}),r.a.createElement(d.a,{ref:e=>j=e,fetcher:w,defaultSecondaryEditorOpen:!0,headerEditorEnabled:!0,shouldPersistHeaders:!0,query:p,onEditQuery:q},r.a.createElement(d.a.Logo,null,r.a.createElement("div",{style:{letterSpacing:"3px"}},"GRAPHJIN")),r.a.createElement(d.a.Toolbar,null,r.a.createElement(d.a.Button,{onClick:()=>j.handlePrettifyQuery(),label:"Prettify",title:"Prettify Query (Shift-Ctrl-P)"}),r.a.createElement(d.a.Button,{onClick:()=>j.handleToggleHistory(),label:"History",title:"Show History"}),r.a.createElement(d.a.Button,{onClick:v,label:"Explorer",title:"Toggle Explorer"}))))};n(257);l.a.render(r.a.createElement(O,null),document.getElementById("root"))}},[[161,1,2]]]); +//# sourceMappingURL=main.0d09a938.chunk.js.map \ No newline at end of file diff --git a/internal/serv/web/build/static/js/main.0d09a938.chunk.js.map b/internal/serv/web/build/static/js/main.0d09a938.chunk.js.map new file mode 100644 index 00000000..1bab8878 --- /dev/null +++ b/internal/serv/web/build/static/js/main.0d09a938.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["App.js","index.js"],"names":["url","window","location","host","subscriptionUrl","fetcher","createGraphiQLFetcher","App","useState","schema","setSchema","query","setQuery","explorerOpen","setExplorerOpen","graphiql","React","createRef","useEffect","a","introspect","getIntrospectionQuery","next","res","buildClientSchema","value","data","handleEditQuery","console","log","handleToggleExplorer","className","onEdit","onRunOperation","operationName","handleRunQuery","explorerIsOpen","onToggleExplorer","ref","defaultSecondaryEditorOpen","headerEditorEnabled","shouldPersistHeaders","onEditQuery","Logo","style","letterSpacing","Toolbar","Button","onClick","handlePrettifyQuery","label","title","handleToggleHistory","ReactDOM","render","document","getElementById"],"mappings":"iSAQA,MAAMA,EAAG,iBAAaC,OAAOC,SAASC,KAA7B,mBACHC,EAAe,eAAWH,OAAOC,SAASC,KAA3B,mBAEfE,EAAUC,YAAsB,CACpCN,MACAI,oBAsFaG,MArEH,KAAO,MAAD,EACYC,mBAAS,MADrB,mBACTC,EADS,KACDC,EADC,OAEUF,mBAhBV,oOAcA,mBAETG,EAFS,KAEFC,EAFE,OAGwBJ,oBAAS,GAHjC,mBAGTK,EAHS,KAGKC,EAHL,KAKhB,IAAIC,EAAWC,IAAMC,YAErBC,oBAAU,KACR,sBAAC,8BAAAC,EAAA,6DACKC,EAAaf,EAAQ,CAAEM,MAAOU,gBADnC,SAEiBD,EAAWE,OAF5B,OAEKC,EAFL,OAGCb,EAAUc,YAAkBD,EAAIE,MAAMC,OAHvC,0CAAD,IAKC,IAEH,MAAMC,EAAmBhB,IACvBC,EAASD,GACTiB,QAAQC,IAAI,IAAKlB,IAGbmB,EAAuB,IAAMhB,GAAiBD,GAEpD,OACE,yBAAKkB,UAAU,sBACb,kBAAC,IAAD,CACEtB,OAAQA,EACRE,MAAOA,EACPqB,OAAQL,EACRM,eAAiBC,GACfnB,EAASoB,eAAeD,GAE1BE,eAAgBvB,EAChBwB,iBAAkBP,IAEpB,kBAAC,IAAD,CACEQ,IAAMA,GAASvB,EAAWuB,EAC1BjC,QAASA,EACTkC,4BAA4B,EAC5BC,qBAAqB,EACrBC,sBAAsB,EACtB9B,MAAOA,EACP+B,YAAaf,GAEb,kBAAC,IAASgB,KAAV,KACE,yBAAKC,MAAO,CAAEC,cAAe,QAA7B,aAGF,kBAAC,IAASC,QAAV,KACE,kBAAC,IAASC,OAAV,CACEC,QAAS,IAAMjC,EAASkC,sBACxBC,MAAM,WACNC,MAAM,kCAER,kBAAC,IAASJ,OAAV,CACEC,QAAS,IAAMjC,EAASqC,sBACxBF,MAAM,UACNC,MAAM,iBAER,kBAAC,IAASJ,OAAV,CACEC,QAASlB,EACToB,MAAM,WACNC,MAAM,wB,OCrFlBE,IAASC,OAAO,kBAAC,EAAD,MAASC,SAASC,eAAe,W","file":"static/js/main.0d09a938.chunk.js","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport GraphiQL from \"graphiql\";\nimport GraphiQLExplorer from \"graphiql-explorer\";\nimport { createGraphiQLFetcher } from \"@graphiql/toolkit\";\nimport { buildClientSchema, getIntrospectionQuery } from \"graphql\";\n\nimport \"graphiql/graphiql.min.css\";\n\nconst url = `http://${window.location.host}/api/v1/graphql`;\nconst subscriptionUrl = `ws://${window.location.host}/api/v1/graphql`;\n\nconst fetcher = createGraphiQLFetcher({\n url,\n subscriptionUrl,\n});\n\nconst defaultQuery = `\n# Use this editor to build and test your GraphQL queries\n# Set a query name if you want the query saved to the \n# allow list to use in production\n\nquery {\n users(id: \"3\") {\n id\n full_name\n email\n }\n}\n`;\n\nconst App = () => {\n const [schema, setSchema] = useState(null);\n const [query, setQuery] = useState(defaultQuery);\n const [explorerOpen, setExplorerOpen] = useState(true);\n\n let graphiql = React.createRef();\n\n useEffect(() => {\n (async function () {\n let introspect = fetcher({ query: getIntrospectionQuery() });\n let res = await introspect.next();\n setSchema(buildClientSchema(res.value.data));\n })();\n }, []);\n\n const handleEditQuery = (query) => {\n setQuery(query);\n console.log(\">\", query);\n };\n\n const handleToggleExplorer = () => setExplorerOpen(!explorerOpen);\n\n return (\n
    \n \n graphiql.handleRunQuery(operationName)\n }\n explorerIsOpen={explorerOpen}\n onToggleExplorer={handleToggleExplorer}\n />\n (graphiql = ref)}\n fetcher={fetcher}\n defaultSecondaryEditorOpen={true}\n headerEditorEnabled={true}\n shouldPersistHeaders={true}\n query={query}\n onEditQuery={handleEditQuery}\n >\n \n
    GRAPHJIN
    \n
    \n\n \n graphiql.handlePrettifyQuery()}\n label=\"Prettify\"\n title=\"Prettify Query (Shift-Ctrl-P)\"\n />\n graphiql.handleToggleHistory()}\n label=\"History\"\n title=\"Show History\"\n />\n \n \n \n
    \n );\n};\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport \"./index.css\";\n//import * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\n//serviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/internal/serv/web/build/static/js/main.688910ac.chunk.js b/internal/serv/web/build/static/js/main.688910ac.chunk.js deleted file mode 100644 index ed1f01cf..00000000 --- a/internal/serv/web/build/static/js/main.688910ac.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpweb=this.webpackJsonpweb||[]).push([[0],{222:function(e,t,n){"use strict";(function(e){var r=n(3),a=n.n(r),o=n(25),i=n(141);n(534);const c=window.fetch;window.fetch=function(){return arguments[1].credentials="include",Promise.resolve(c.apply(e,arguments))};class s extends r.Component{render(){return a.a.createElement("div",null,a.a.createElement("header",{style:{color:"white",letterSpacing:"0.15rem",paddingTop:"10px"}},a.a.createElement("div",{style:{textDecoration:"none",margin:"0px",fontSize:"16px",fontWeight:"600",textTransform:"uppercase",marginLeft:"10px"}},"GraphJin")),a.a.createElement(o.Provider,{store:i.store},a.a.createElement(i.Playground,{title:"Hello",endpoint:"http://localhost:8080/api/v1/graphql",settings:{"general.betaUpdates":!0,"editor.reuseHeaders":!0,"editor.theme":"dark","prettier.useTabs":!0,"tracing.hideTracingResponse":!0,"tracing.tracingSupported":!1},codeTheme:{}})))}}t.a=s}).call(this,n(41))},257:function(e,t,n){e.exports=n(258)},258:function(e,t,n){"use strict";n.r(t);var r=n(3),a=n.n(r),o=n(60),i=n.n(o),c=n(222);i.a.render(a.a.createElement(c.a,null),document.getElementById("root"))},534:function(e,t,n){}},[[257,1,2]]]); -//# sourceMappingURL=main.688910ac.chunk.js.map \ No newline at end of file diff --git a/internal/serv/web/build/static/js/main.688910ac.chunk.js.map b/internal/serv/web/build/static/js/main.688910ac.chunk.js.map deleted file mode 100644 index ce6ad07c..00000000 --- a/internal/serv/web/build/static/js/main.688910ac.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["App.js","index.js"],"names":["fetch","window","arguments","credentials","Promise","resolve","apply","global","App","Component","render","style","color","letterSpacing","paddingTop","textDecoration","margin","fontSize","fontWeight","textTransform","marginLeft","store","title","endpoint","settings","codeTheme","ReactDOM","document","getElementById"],"mappings":"6FAAA,wDAMA,MAAMA,EAAQC,OAAOD,MACrBC,OAAOD,MAAQ,WAEb,OADAE,UAAU,GAAGC,YAAc,UACpBC,QAAQC,QAAQL,EAAMM,MAAMC,EAAQL,aAG7C,MAAMM,UAAYC,YAChBC,SACE,OACE,6BACE,4BACEC,MAAO,CACLC,MAAO,QACPC,cAAe,UACfC,WAAY,SAGd,yBACEH,MAAO,CACLI,eAAgB,OAChBC,OAAQ,MACRC,SAAU,OACVC,WAAY,MACZC,cAAe,YACfC,WAAY,SAPhB,aAcF,kBAAC,WAAD,CAAUC,MAAOA,SACf,kBAAC,aAAD,CACEC,MAAM,QACNC,SAAS,uCACTC,SAAU,CACR,uBAAuB,EACvB,uBAAuB,EACvB,eAAgB,OAChB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,GAE9BC,UACE,QAgBCjB,Q,yFClEf,qDAKAkB,IAAShB,OAAO,kBAAC,IAAD,MAASiB,SAASC,eAAe,U","file":"static/js/main.688910ac.chunk.js","sourcesContent":["import React, { Component } from \"react\";\nimport { Provider } from \"react-redux\";\nimport { Playground, store } from \"graphql-playground-react\";\n\nimport \"./index.css\";\n\nconst fetch = window.fetch;\nwindow.fetch = function () {\n arguments[1].credentials = \"include\";\n return Promise.resolve(fetch.apply(global, arguments));\n};\n\nclass App extends Component {\n render() {\n return (\n
    \n \n \n GraphJin\n
    \n \n\n \n \n \n \n );\n }\n}\n\n// 'schema.polling.enable': false,\n// 'request.credentials': 'include',\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n//import * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\n//serviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/internal/serv/web/build/static/media/logo.57ee3b60.png b/internal/serv/web/build/static/media/logo.57ee3b60.png deleted file mode 100644 index 8e3159a0b367e52a05e1474694ac5d238f485d3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32043 zcmX`Sdpr~V7eBtuW#zVR?w3_6m2$1zO;L)Xi)&(v2#JupZSs~bvfOevCCPQfNX&-h zZmwZ2n_R-9XB=Q(?G+sa&AL{0<%0EpkXZgv*{ z0P?>A0sDmc9}fb)c>n;B>o?3U+k}!=vYlT$kGyCj#eZ?oPAWxr2AdXb98fthpk8?9 z$L(+OBGJYv#?>dqHw!-9-gjfr_=IL>a`2^phS-*9&$}`ke4U%eqS`C%A$cPK@o|6WW1LOC| zO_r`Ed==meM6M(r(RG`*5YD*jku+AF0I+h6WF^j%6mKzUd#$s5O%=J3T4CHi_zA++ zCv_D9=NDWB6aE*QL}9nXKZfrp!%svV3){(uUq{s2V_lTrjy-(Em*VZ%qu=QlJrc%5 z8&*9|W!&;OA{!k5GKj_8OHxTPmta)wSv9gY*|VdtvJ1|$d2G3DD!!^_6|vz;F@ z(=U4@X1HI<=+DuQ&JboT6s=O#r?$6dw;>qI++B~{FIiWUrcTzk*6>eEJ~HYim2tx( zSysHXS4THGv+-;-C>%zaBz&EvQdA3Zi~=1zpzyAjz7ia^pTDu z?GZOy_sZXDHiGw{c@M@e&GqalmXHc|>dXG_;ZMu&MofvVOnUskGCj7l^q3Z8ilqsS z4k4e}YgO&VbhMbWETxj%)aNC+bjdfA6u5A&Ymj8;l<8y`vJ<^kcg2yH`$xQXjO z#*JEQFlCivyx!zf-2Z3C6vxLN8O|OKX`q&Cd-yL=Xq7m~8VlT!W-Q5zmY;@(rfo`i zRbC$$xq-C}DChxih3AIeB_BhcE&1)P+Mg*GQE5@Mc%jF7;Y5vL+Qk7`x#Y;WyZw#_ zqwI?wMP$FKLkd_}mW-@h_zf7IF6&6`RLyad>^z%ONI%Zbt3HAqq~8emEF@**MEvpn z_Rs5-%NEkw-!DJ{UYxhJh{1g(se7KNx%xN8ef9dINsHuJ+1)Uyp27G=HzA7{7U{=L zGoPk)!!qmwyQbk=&3wR4l&IAE4*l6m(R?ci)N?`=dO%dbfnCpzm`Gi{@Dv!=V|@h{H?&tn zgrDHq-seE&2sgtE%3uBw>9!8)!n7xC4riyF%q@){``!?5?QtSAc_7o!h9~>n(0E^9 zynIey&G*jSM{zcS;9oWSF2z~Iwb-5Txq31T@ij^Hc#i zdR$A0_0{uur`NGTt~$O9hkc?F6GI=Q zNC-7g4C5|+tF}oD{n)Ku@uaac;YzxDSG-n9_qi&AlJ6)haGuW|z9ToTL+Ml1Z}YU| znZlO>qwO8*1O@NI#A&g2%!r6lBNDu&@wS~d3xuJB=Ff2$pEd7rN@Z9AEzIG7(5!M8FYESY)t(A z@b6;0R;pR~T=f5a%ag>4DbaMVvc0+Q5HHx|1^t^$hG&v>WC~i5)pbWW_V zU$Oe`cq9$Ag^2hb@EdI7HH4p3#89Yj1eXl2LJ$qu!>1ReeNw z!f_v7Jr`k}S+c)U9arWWXL>us1cjNl>xcRXBXsw5HIiI`MP?z#e_q@BLusx5?6191(7 zxtEqUGSe1LPCT&q@7wwN$(q!VbGm|O4tHu&`4WX~t;D(O%(*B054)2@2BPl7e_BVA zc*zodap($ZcGYYV8hfG*`%YkA(QhA=5+g1JMuaS0&Bz3YT8f610zKRTplXnFX(wpO z2LOKzOj=hSXgO#if~b@cozN1VJ+?m=bP4tvL{4wK( zd!^q|hVly)#zFS2P4KLh`QAk#BrYN9rD)h3;8Jr@kF!T=#^Ydt7Vz=MsONx<>C@56 zd-=#r?r-(;eg*&n4G-5FR^Tgq*;=S z<%fA!3U)y-s$`#Y(bEIG23dp|Pebixk1ZK}QCN{A7+E>37elg;*K-wj_3qPrz zH)hqNbr^-uS)am(Jde?Is7|btIbfEtF6cXoV#d?u9-x9*=TLsrByp~i7tF+7P7;CE zv=YCs2+;0Y5q<@E1kGy&F3!MseUV$!=CEY$4pvPk1@IkAWQbC~?Y=+2j=`;KvbN+< z>T_35i{4CGsN?Tuegw=F2^Am|Z|5^a7iCO0o$qdlvXspbZFhZKnyl|`HI}h`XWOh0 zM|cIj?dq-qJbjkKJ;wMq(qFx$sHcpp#|ai3%^HSVDYaG}@i6CHi#(bueU9tWM9E}| za+~ghiQQWD(bF+ZU5!DfRUvonUo>+Rx%)q zIWCqb2yY<;)&<@^%>o+dR{oBI7U!9#sN3+L>>299+F~MnDN2zo&UN-8=+7t5=!@@N zaqIC5;TYWIRi9t463;V8T^F4&R`_>t^TZJE7Q;Z1T}75*m|o`?D8r~}`9B|htELpS z)3c}$i%*OUwf`%mX}&&cH&tMCLk8IaJ!$=2AhaYGIC~l>huU^1X+keTSYh!Ci1c0XoF&2l7AGM|D&qKu#*M~V@nBjz~`82(R zouD2{;~<1F!)UqBSF3kZk~{wcdzd%W4EYf#zvaw%1wD=gvgXp!zd?u#>jH?U%rINJ zDoYbi(v#npg_^db{(lIHOaFIAkvLtq)B>}HGrt4_fYpbu>TtE}E)vX#&}Im;-T6s` zD8VldI(Fqcr}aw1wWKvGYMXwZUp%*XD$Ubvi0d-Uea<=-r}<1lWMVEnvI;$SUm0dO z%&|a0|23+P%qF3Y=S@558sHI%_uHI)fzw*I>n zNd$iR3&?fngFCJ*0I<;nuk)nV<9wlR0GtO9xlXK{_uNpI3ue4>ZG>#sE6htw8G4xOqnHRi1N#oR-UPk7 z=em0`2dGiiy~>r5a4nw%hCT%ya^G^^3!f#m3+McIwG*oh`*V>Ca2e+5F572C$+Q65 z4Fpkyt#tI`0mMlmBv}~tIZDPY0cW9<7JPv#qsq!D+IGxup&#KQqEDWIq0j}py(`S* zifQR+7+PTir?^$wbD!!d`e~{*5i@sx+Vfo?A{t6uXj*Fbn+{2Ar}JHs=6al`yPhZ` zUl&!Es6fmP0DKh$u>1vqtkrh5xFZ2rXZyCAFr5vRj=U>C2mrJ^W#z2Kb3eoq zjMmdCmN}d)oC6t#m<=&l&WkM$kkGz@pKNX$Ndlq?hOF zOw>urUIf2!hH6{CHji}&envdJO@T2Uh!7&YBSPz`GeQA>(!B_fjXP?riU-o%^=_2k zAOZ!iXx4+Fm?*-t9-8q;P`9TViy8@2VrxsXpZCHZ%#K_nl$s~7&vCVcx$ep*iAKQy zU12lfyk1rmilURVmetPpBg#8ItmVg-mHD3e#%rcOXiXd8L@(iRXo>KnXrg*WU=KQl za2QdjOt?;C)+Y||b~G^-obz0}@IrzRVkErV9?LHHt$v$sejG-P8(!bi<|X>@Zki)r z)ypGF$J*7YRYQ7&@@*h28x*b1XgSEZ-vj(|*dK6K-~iPz10^w*7Vat^!ts5JIm-ez zM8i;+hY9U4eeP>sPFo}j{utoqOnYz6v$=}UArHGu(9CxOFdKKJU3|@kW2DpW^+n+n~s#(lE2#%YF5| zET?JnllYbi=+$MUVa?^4enJWiHH~H9}blO_*Ax| zpZkz8%hm9!h>3qH9ZpdX73!!0jNvVpC@i#|@2uT!<-tjk+(;f=%pJf(c=8{FJ5ew^ znK?KywYov$rv!oBg}Io!I=cthj^2exLl*ue@8WrWoMOI2>&Vy%`Ti=wUs{itSe1XxRXfB68mqd{ z>tAJ35^ry`$g#$(d?6^5PY^&RzlINRks#b4WHBaI;6pohd3Q~jfS>f72D5rXIQ@+! zxy-gpoa0_dF!#gczYv*`sYN%@zR5*K{ydnGmiCio-}Vj0hsu1l>a4 z#3P7kH{%tijybP%IT(6B1owZzj^0H=*Yz~oD43EQ#K&Dab9fWGHCpsylE_9LgBH-X<9 z&@|zf)|VSl$S);$=8LI-iP1(?-ZgleEK&gx-`}YEWw$s4<4uH0hsBn(Z6y`b%=8dl!UFW#9MJ8s# z$c>gQl*Vzt>9_~V++rX4Y4xq@W{9ZxVfJuIgD{U3!EG#xu|C3UD#uR+(QI!S+NB8m zC}fzTU~V_)#xHvPmUdaMD006mD#xRCUP4MV7#w}RXP$2Y9!d5Ge31g9oOeg%qt1%< z`P`iexr#7jCq(QjPp!VYw7SwjjVZ@B={HPhb1jY58zgxSobrTnJPPwv0WsbR4raBJ zHkjr3nh>}Sx5kJ5M19M(3Y+hPHKB;Xn4nib$jg#kXMyOFkEiVs1 z)W}q$j~@jW;<>$Zkam!Lp7j)l-@^-QL7gnT{o%Bl77 z@hI;qYZH4ff|E4EbXH|KRLKI>ffqZ%kMz9%XR}&5S(MdLGs4{ofS_%A(66oKO4;hE zS7r-6d7ZzegnuakOy6w$|7%Nvcg}NBij3qB>s=0?jlB`k6d>$8@yvqU206DXYYRX$X5sZt@w|N^lpG9bb=Lx56^JqYxZ1^fCJ*_K zT(4ipHxVJY-rA2f9gm64LA>EAG9q+QZ}8&ZEC8=|E-#Ut45`i$fgsqoY*Fs@ap+<> zz9e~tTtb;?qZvz4+hiD?4N7r@6tX}%wI1+#2Vyod#RbyHS=y|C2A$=!x09q~mpsjP zzw2Eb)Pj?PjR+6A5Byp=s?<=9_c^>u_L+t%%oHfSsK+WIU`F-{!WWT}g`Lsv?3=2dYoEJ1!APQ21Py)pFjr=8?5+6UcoCpgBTKy1pVPo>y z^W7r9a^9ll-gEXmtRZ0cPc3O8l0)g8YSy`d&xLQ2qAPq(Jn0n7uZr4fDh9{Z1oWZV(JZwV1u#*>eFgH)2iMF8%ub*gLsp_ zyVQ?Wha;IVY-0$sv))NQD=XxmX9>5iK2~$L&wr*YL}!Y(T8DYCvuP=D2Z1_gkeoI+kM&D?q}I!rR47$ALUEy%QcMHSaG%w*R%<@o#{ znh^K$Ex*mOk!ckl>O$pP?n&;$bF#$wUlss&fdBvC@Gpc`cATJoj~BVh`dfxHdZCPh z0w_m*j19!pUz|2q5I_dckPSlA_L^${q$OiN91gvlZNdi-|K)g%4^MSIq9r**Lw!UL z@i7AagQ~!ta{M5j{H~|5a~?dw;yMpzzR**3wu#=4s^A&s(hM@ovm;QI9lwx?EZ}2s43{?2 zBLq#FTJeda{NbJ}P5dHw`qT=bx9AL0psE0iRmUI|CjF>N`=k z=zPR9`lv^}BF&Eh&rR(7`S*cG2?V3gq4rcB6a9F~lSjB@3uC7OR@8{gAkKbrIYfk4 zUJaxD2bBeMwE%A_3mgFVh0t>Dk4zOjW!AOs89iSsJozn4x49l7;mUd0hlA~HtJ(;k zTc|I-na76=awTeikh^`DN7~Qv(w2`moBz9c=+Gh1v12DPX5G^}G?G)3->-~kD4aT> zvMlD|8vdkyIDG5Nvx!SnI`R829T=C9kCDGQBgFV6+)y$4Y@)1S32)D7{AQC>T)oAm zL~SprPdZ_9i%+D=DJ$+RG=|$2f9%}h(J8ATFNR%&8%%5VGnP#}8QS9^D2iGT8n7}Q z52_cuy)R^?h`Czqjl~EzP#vCjl;Gm1fIrKCVP$yfKCr)Qq%}_G0d6FF8RCi9trX@> z`U5we{ZE{XE7$ zz>f5s|R+e-wEaapJHyU>|$iCL+WdXMYvY_2!s4ARnG|koYUt+Yd54bzq(p zs{wl(Wz+;2FOwtIx=ZtS3*oPSDA-(?@#o%H>nB}+tpJOY+&bF0{d*d~w22U~iD+p; z+iG`}Zh~W=M0g0`oQS?57(k@+6-@HRzH0-kJQ^)G2pJ!&GNpkU*fCz2#zD6QzmP)t zI-1o(N+b|3db%Mqkx(fR@AFI{pkUe>1bUjZ%Re`+gscii{r3u^9pJ8CLpQotrDNnc zqldyN`U4v7`Qyf1Ztcx(6^%CT9X{+!+&!!mz7qG%Z%ON{_%Rh_rR__*ZN7$DdGbY>nWuLGUf7u62TUs3^4mIy7o&lXz0py@M zr{g+TMe{!#2z=s)GVdh@%53s?*JsJjHs#|zFc|yy?8?7-Bs9P-PG4k2ThnKoud_rs zxvS*ia?<275&GsgfIC~F7AObZx$j$sTd|B>+oac+1Gor<{omSX+O2jxh;eS*;k>4! zUj%dI-!vcO%O>{}YCM9CQ6hO!)lV~88YTk(N+bWXG}xAQF#|5j@ttM&%^nthqrT1l zb91gwpf&YTpkpjoRY(cN>+IG2(?gZZ z6Ejj}<9))dG>B8`!>S?YWj*z0neV*aeGOrIid;Svp*gbLr%C-!iw=Z-F~q# zm>xj_py9kJ!crIL5^@X#Fewn=YcpBxt)A7(^;ZZ8gjBPx=3-d2X}>(NVWmIy3Dw21 z95H{X-3Q19hDqsIxIXr{Q2BnrFJQ7S0?&XN|G05B@>xM%p<-w*#S(qwKBc`Tz;D+< z$qIGL45)1N`{bkDx+tJT2#E{qg=!0f)gO z(K-`@k0PQNg^`OkV-c;-vFr}dg`o?1kl^!wsheib$s4+ZH}O331-*+S?;Z9B2pZ09 zPuSC9w*Ul10HTQ{hLB(jF$z+@2%N4Gka;G^=+5<~&+}odu-@X(E9w-U)4q72W@{i? zq3F+uwrKaa?iDfD^V`p=?Yvc#icYw!8GD9P_OeUiYfr9@2vZN_k_0|H_08o|iy*H2 z)*tWntuz&{`J=g0mzno@#f7=CNxZm95j@6-4Z(~T#!!BiQe%0(| z;Yj~U*;PLPL2P#nDCVPc)Er>ASXD@_uj_Y7SG5OVWS+}SBX)51^}ou+g=F^k=B~Vz zq$KaGl^mWm^!Vl=V@de8bAotE7bA+g*4bA@BAl)8TLcbhJ_P1JHQ)FtU;NZkQl6_o{Y+n;nB zgib`ehipt~i%;P^tr)554Oj<*wI{f+^_7Xg%2UmM?UO}CA+7TZ&tQ|McPBgkPN-PD zqmR6M<1g|fF=Dw)Z)v-JwP{W8>~4zGiKR4TUBdS7<&3R}J?n027{&XnMO0raxwm%KoK*OszT*V8&`8Qo1Jz_ ztQS5`+;{Tq3zUlqo+p13%`-N60U8p$t@Anpj0SQmx%9|$Ri`MTaQzt46e~0;oD!?O zmbm@s>(K;9L=x*%eY(T0f20Q`;?W!E&kL1Fern6fv7N`xAx>6ar(rSV~d zxN9l^Mc|T{?xxbwlFG6RMEsroy%Gc~!OglCKro0{(KW`~I6spHa&8k2<67 zmH1q2^~cl(TBV`|8^Gde`JKDJ{QWRv>d+`uf*2xrIOV0n!Se*J-_%Dxqg0>gKOcP& z`b`(s9Q59_yhv}IIrH|(p(Ba~uKX0efUFuA()f|+Nrdpj;Rg#o-Z!@eGT`q3!B}Cy zZDf53Q~!tbu?l)^;dSbx&iA7^rPk=S!UloEA1G3;(s!aecIF={E`_chv{WGFa6hRk zWRJw%3vMo16f^Dyd_nHKau*|_<6C7|{kppkB#wl4(SKswV_}D@=k|8%l9Ct!zYe;T zlHUy{t~>wbZRD@&zqYrzY{Gl+`pUO)Y80K5G<)+kZuc^DlWnB+*1~W*%J3iijwa1W8g#+FN9B$eZJb!s*Jdg$Ha-2z@ZMjc~SIc{eJ%b5m;*FS4oe!1Lci z*Fd0Snq4r!;0xJD3+Yl091n}oBnW8}A%VNg4}*bEm4#TrwlpEeoBf6Rj{I78Oa6uM zJe_T1s<-O+Xz0fF(aOE{(G$COFz?@S;z%HF^Fgyn^FH5d`&f>K4Rca@Tzj}u{i9v6 zsA}{~edv|t{K4l_WuRMo$7)qfSPSb{1sNSr!}LiG+3Az5`-!Zt&mJ256H*(XyJfev zi5QC^y4T&xVSC`(1p~D3pk(y7!Q0#Us5cVBQ{SGf^?PQT6u{Ox4;PKeW73_SAI$Fn zRvr)?DkE=ZWl23rKD;DwBOvsQE(p_KmSQ}qA{s0h>V(1!9Ilo>c;kydO{qdl!{UYi zgkG-Ypl8OZI7|U0RTROuM3={_T?q&)=p~_I|9qU}7;wc(5bz<&shFuBuoVpp|H%75 zI?>2U`qzx1q~_vzZ#uaG+VB79REg3&Mc>&x&BDMgPJV-L4F^nb`&oyn>j_^f+%{Y? z03`@}=(j}8vS)R_zD0)He>Jk5|1g^V#Yy|rKaB;rUJ&xlJg?OSnN5PsB!@k`gR-vJ zTM0l_j`Cw=U2Cr$^azj*Zc{ve+6b|jX@8~nZ#R>a{ckVOSICN_;LPW*ncPaE( zFcip8x9DHUvD#(f!ZNRvUNqjZ37mcyQn?#cK8ZL*aS0uA%C4W;jGSY{Y;}{O@~H9g zpHZ1#w+mhq?Z{DezVmgt> zXhfK#0rwF0XZJ}J(=fyZHPRfqi$;9ATe&M$Pk)pFZ_vEz>Nwe6Bu1X^&<R#&)FrU~YQ9cMqgbba$)VS^0dns`{KUKwqRE+;jpkIwNH|gzD_CFENEw=v)y36_arf&7ss#AlD8!! zf)pEzzqLX`zcbu>B1YT>1XnalAW9GFqTW5)fZPOszc3HH>-Y20Ro7Q7qt)Kn(WY98 z-^MU@*W2jyPvQ)h&a;dLEWYW3k1X3Kxc;(gx=qbL)9SwUH_lsC(kia|jQInZf4A!y zHRF~51HF_Z>yf2z>|K(45r3UFz;R0tz8- z8_@%VwsJM5`dUy6A2897cXHh%iKF+&-s1tTPxeQaF4THsL9n@($*Y#M4mRm#&yL9j zBHkl%ElS|W`z(S>;Bo0&ccy(Z(~DhuyEYCWYM;1z{hT<fgD*u3q#Ha9IbdkuE&jomY@H%h(c7ILUbba`DQ}EuC36&Qwk}xA~TkcmDc9 z*^BetMiTNk@!^GP{qg(fx&Ly8)BQom4~<^pmw8Cm6Rgs@ycH?~UZ!CMd{rlZ;AYv| z2nUkqu!|%!zYok%H_m)g4*i5DD{je$vn~0wJ3pEYIapywoI3&U51o| zmPJobYKaBG!2t5N`tPdfXNkF*?={5KofmC??a~_PdaJd&$9GGZ!Dhf`Y-Ci;(_k5g zV?Wk&?@1on-A4t~SAH@tE1zhJ<7=mP!%T2Y2YK3B;KsX&L*kU+_)p3K4S`)nV~-_s zf~3zm4w~JH*Yr%-_vB3DOs7Meif()Rsp%r!}e?= z?$FFH62eGTTQ3+J(4P5_Zei=%Ep4t=R``~r7OB?#hu=Rc`UbDzmioIE(>}!2{yA&h+jSV z4jE=0cE-h7>(ysawZ!O{Hzs87thvHvoc*8gghkwmcI88(-@W~GSr3hfe&1mz zY_}x3Y|;|g8#3$y5-;BUOtnXlin86s63$dUyL={pfwfw!$@}>ssw?hZ`-Wy?NpqAC zxAy})6F^WdKmTa`^r`K?9Z&?J_U@u)+4kJ8m$z3Q<9X5lbFG}Kew3cwKjs@og<>!U z>)e$HS)omSfwR=y*C{V6eXTod(?u(>{1%s>e~xQ6HN;dzU?tGg3oG zY{t=7^}%;(tsh8cpkdy8VXkj5Cqy#BgEs>X__g?XQ6<~thc`BxnS8!+-`U-`q#`K( ztWL}-wly$7-1(E;+lU+CBoLquY` ztXx?VL;>Y0fkkUvS`#6;81IVIoQ;{z-ARR?Im3hi_gtG$HCa~AqMeK2%qOi8W0krN z1Z`5HALWUord8xw~H0+Nv^eUYvEG zT+@>ow=ZDnT}j8tgBt*)o`cb|wV%mdRB4LSN(@_)dXZ68_Xt-ZK@i{PDp5)<0m8w1 z!9~oMyLVU{F2Rv+qnuzKIxU>C(y`TECmyZSmocM)2EyY{?Rg^|!)*gO5$(R-Lw@*wsTBONxFH{TN zqW^@fdV zpzpMSh0eq~h2L%+BwpedA_B&TCYq=VK0?7VF7*d~Z9G){YO+vU>gxm&6F5`ffMEK0}G zyI$RvSSvJYN~C9W`xP_Sy`zWwe{NXNSvE!XP8H#spX9EJj!NeRZ;F2@J>aH&4)>LQx{{32N6 zmmI(VwQ&nKLRr*SI}Q+O^L#Ns+L2!+KLT^S`i^9v(aT1F8AjE3ESRo$)G%(huon_(hOFHEYI;u>Se08LJM>WN!-M){Y3LK z*llaFtOL&eDMQv$1D!w(8yY#^Y3NLOS{>2kp1{DMZJ)95!b^hfNkl z3h_PCHxiJv;0(={C*Q4S(av&UeBNDeRePW^4OzbAsjq zorWO>Pet2C6an5SA~H7R%T-HjeyKModp)St^vskf<)f;7zi8if5!q?w;t0C!@-X84 zu0fMJ9mrY%1YZQ{TH8j90nHMu)Qmr7QrP)bvLAY^bG_RC8K0jWxfb!bl9ZU&*13I7 zlYpK;t{x^`cuDqK+~+(iWacaWX zx<{y5dF{=C7{qDoSjz?%-DreuL}ijd`y+mSv?paZt{OV77z|Lbz0*^mbXdam(d}Uu z6y`F?PRs*QH3}ZgfX=`52?pe9M1(p6H1^oVWYLAo@z+PpPgVAR)%J{~@h5opQENOk zj>PP971-Dag2qsWiS*M9dad*3dLZGsk1$=fy}C9s>W?~CmKsu!aTuYnt~&4ehaPpV z7BgsGk#Lv5d)sXhW~{3fHtKk!S?ORRNGy*m-_r~{3c8M8z5f>Q@v%rnm4wL)xpicy zx%e3r6ley%Lre7u+Q`R0#b;nP_TH-211cUWiC^kCw#P0ci{>9c@}-6}V9fZL3!{G# z_y%XrdEfj42x8Rp+x0+(k(XLC^5&M%964S1X2Z_z6HZ-gj!IYhdU6DtV^4eUs@QeH1##S*K=14|4`5y7UM}xe zpR)OslM+S{K0t%xM!L7h!vEu5rjFd47#9M&`uPKtV)nTAXhs^xei;=!Z-z5Nmsh{$h)jE9m6R%742Aq-F^omT4hFMI}fcJrdC+ds7lWjP&w&*m;RQNqqU zMeTVQ4kPSnYxWp=UGHRqzvIJrZi-mE_ibf)@&{!=m-bx)1stCq>BFl^0&`!ps$EHYMwYzrS zy>Ll)1C#UM%TJMLWW%CZIayu;;lVj1%`KH+j035)K*Sut+ms?ESfSY-S4b|gd(T!m zxglSS*9ak891cHQ@Ba+^Dtfaa&BiP9O1Xj7l-{gc0yFa=VR?b)x@W36Ffr42-=M&L zzVPo&o&+-_qGz*3L1G(cK~Q2ky}1SLmz1^6?=$xlJ(mtsNB{YX_`9S~`D1ap{?LjA z&c3{2m2aNlkHqv2?n0JjPL4vULF(^R-u#rKcgcJa;0K>}66cDAMiIfk(LIkaqSR&T z!oIwD+BLyE6#B)&|G0k$Rdmp5=?*COmy)L{-8faJhV*Q$#HrWvxMCm0l!XOgD;rx= zc@m7SFr@U7Q4yw24M+af9Tjq>oXsg*czy-4jwtMMLEz^WO0|(TZix3=Eg5h*bKo~d zeqS2fT4!!;LumERkL69nf~%qU0DuTrff*=&`yS2KiNNtd% zt4TQ7yxU|Gaf`9xUBi~y)KFs;J%oDYP_YcTGMa@5^@)UQy={anBRcNIbw=Q*pVH8= z;Rv|9buHT)ZRFv;gxiif1$jkZ8N%<7dTD_PkbL5xOJ& z?7C?c+64kW(9FG5!t8v23~UQtknp76TUniIM7hMtj`i>DE4C-di zcQiCUc0ck#xiGDRw{w0jAtT}ZaL^{nZg*lXWU988w~qt1r(G=M+?>||N6K&=GS~)J z5L&^4o3g{N8s%@FT{f=oDaIeuBMiT119ynYVULe!m=ZHP_n3q)m-d-Z!%H~rYj&Ia z>SqV`reB><090oGnTd0Ju1)u3C~tyUH{8_YYQ-l)kdtmN@)>Pk{pRKrqu#RhHb*vg zKU7ex)-Ph+@7C`z%GZWQ z^CX%Z!F)Af*n1kXz;9KoQzdPUUuuL(g73ozqc4AVEkORLrP}jULaXh&wwt*6tje>2 z67hOpDy1(xib$y5OFN9!KQ@lQ2XDTx+X?&D_ITLkQZls{Q#{QXsJmyCWPZVWUkbnXC3s&d{fdNd4+VE6fF~Rhdof@lYzaWZI zA!}bgBzYi_xPn95f>I)X>c>1Ig@_<*%%SHrS+p1PaYcQU{%~&iG{l#%UJtWh3j0Zl z-7ZqDBl7rM?t7-zhRVZdCQa5EYLr$Fl@|p6kOv{E9S z0fyg?jf^;AGBAqKDRkq^TMbJ|k?$_-Nk)`#72%f?^2Vb}-m-7}d3tj9w|u9~Q$dyx zwe~Wu*1XqG=+$odZ!Yg*RimjeRaJ$$k|dB$HXfexpASiA%W{DaVQ`~3afsoz4dF)I|nG3ZUOFSwXzDApW2S)V$X{)Ue`dqmQLoCNuSsl4nK~+ zUU=kryI*HW2EVh@5{_dxH({34W*=4pxz)#O`N(X_%O2GCL(5G z=V4^eG;D#Rp{}t~tDldOGt!y3d=xM^c4~NPiduVOBM^;r>xGI75wtS2@~)^StaS1Q zU@A`59#XwR-#{DQZ*N~tSKb{QQE`*oNY>nlLqV}I?m7YC*%RZYNaXqLacCFY7lxWR zM1_cP>Y7Q^ky1Z~+hazEB2B0yIY!dTmDku2OWY8dZ!NkKt82T}|94PgK}-+^5$eb9 z+yBDscfeYra@~4tp~rAa-Z80~Q{dCpg((8qoX{^fJSF=`T0eWafqx|Q#BGR>`_-++Gq1}! zYUR|c&~QC~{Pj)KcSVz=;h@ z>b4+ZV0k+S#s6m$$&`TZJ$B9p9r@|9S5p##71wxYzpru9YoD(!5w~vGaLi9npfy;v zcX0N`mjV&J+jV3T+qiT?|7SE?QNws8G5`=$%oNsyQSNoCk2--S#n>?!l>1=91GfMJ zHIbOx%LjjQH`{b`b}CDZ^ab6D+@`Y4?)VWhzuWoOWIMrzXFK)OpQjyHxPI;fROi{t0}|#@FXs>Jp2k z@Pb>bUM)9=)=szVzrFJx1MY^HdGhRW7(4xOeQfB0gW9Ea7qc66ozq~s?3XA`UBVT) z_qQH#A|q%0rw*1{mo>ibp;A1CT`G`AHw3sMtf$@Uoj=IvNH`F#56ZI3QY8BO09F9} zeuj7l+qMxh*vunpvkPy{>+sWK)327L)n4Wk<`?>M&*FaSp_n$6b4m*NBkyOfKQsN2 zJO-2DE>()`_A^zvYi*A6C0+lFaa~G9{q9HcE){#f`(2)Gcm?iG%!@wc@zdH;VOC`( zbz$a*vP0XzY36yArLN1qm-Rz&G^N?&P@>;UC6Xp9EcOjO+5>ZdzL^^$mXrQqniet~ z1V)jPBe-#kxVCq1w?eMtMs73uo7DeI86nb_w(NDjH};IkE1-BHy!p zg`Pc!HH?C*KpD_en0IU`XB}xY2By?<$JtpK_3!SxT*$!c%zgr@0@EWkPu+>F88^=H zTYLRI_$Nd$Wjbnm?LVXhl7AzOMf?eB%|ISMZI9Vr-!Mj8oNT*8j2J9Ha&O{BUY*h} z0S1aMU03S?E>h7<{^SOu-=)z{1DWpacbfI^$3hhh z%?wW&pXugJIKl2V(`6%z`wriNiKJ7Nf9jC9rF^=LI6WmnZ6=wPow4?!9N-t{0iUc( zqr3eiSnWQt^I6n|3&bh>@uMcNJa0b$D_@Rvel$gi>2nS%KygP@-k&5w{d2!mU}M#)ss%j+>?#C<1n>cEFOSw-)-aDg4`Un1zv85Auif~dH^~P8cWjk?W*hQ5lR5O+qYnsZ%M zJ!V^cLNBCk@V!j!uAz<@PA8lF(60Rn9aW4MN7#T39Ar24+xs~tn9s|i+bx1*t6F~9s9-yPf#x0D8~3YPN#wDDMX+11Z(7ZtH;18L-}HZQBOAR3?-N2>C@Lp_hNaoy=Pxs z`!49N5q`TD8tTyYRe@+Q2Gm##vB8D31Yy8~qKJu^g$j&0VylACNu@-Aj{=Opd8^~W z3*6~$lB>>mWakBj50Nf{P@O^xpzQdTx_pe#$pJn(!pj@C4tN-wTgVxOmj+C$FKv~O z>-Qf+6Yb!HVm$eplG{CqU7X_OKM}2!69YHHGGK6;%_l#}j}y{h4dhXl??c5iCXFoE zr8xj`M}bLC@x}@xo|B$#e4;L3vp2M7LIhyg>p+h4xf0dJ1i^ zaD7vEOO%*xkNZiw1uBL@u3%R!!bz-erFXB%)5$Ft&g_qrU5V@ta_>UWk!tiEL=mGYw1ZtCwie;_9Sm6{K^JeQsi&^vl0Kv(7F z7r=80u=|xR3Zy`+u!-pTfYI5~HJnswL9DK2>A|!KK?fYJ3TkYs0Z_{t8yJ4co92k5 z_Pb~=v~374zL*c$wKe!CFX0-gErDuM{Kd^7w&D1t*zwO$>n& zrnmO4_wd3_-4aEd8;LgM)3zFH!z#R=Yyu!uRh=Apdh?FRkcf@GTF>Ce300Q6OANcm zt#0n^zC0NS8ZbW!6uXSm39XjS(;-4k;%2!&u;u*bWAihU1c0zDEtOh`gELyv**z98 zigpv<9o-1_(*pISQv_i*wQ85Ug5Uq_!2CFiySr>SxiE1}d{_PLU{v3!n?ct@eQ)5T zrE=*T50EHtKXR(oQU2@?gst6>YA;VK5P^wA?P2gfz@(M4UE@_@CMK#vXYRcgiG6v$ zKl9_ z;a`*}V!DH*hcwATclarFiO0AK{M8HKCW@m73)?3i*s{&9VlJ#@Hu`Ej=_AYw?}Ptc zo}OzdVhY!?x$UHUJTH6~r2&ebrDK5=|EHrXk7xS-%81Ms3W-I{G55I~Gd9L-=J)yj{@mlS&-MPiU$58m^?W^F zuMbsy#c`}iBO2Zp5;FL+=K50)l}0KaVyu8Q4xES+;4^^c7Ur((-9wvG4#OMCJDRXtBeF z<=YIbL^Tc84&if~Q<`Mn?zGt>+m#3rcI_UMHZT$?HhZI6+~~fj*>B~`KMf*cIjAk+ zi&972Oem=XjA#Or{T?!?WhPJ)Cr%7;Kql89aO{bO9Ik05@5>xJhx_G4oe)uIVr7p5 zvNa8xpeb<$#bU_EZAXr!kayhzVq;Ql2cc7oyYWg~^%I6}bBUI>g1eL3L^m|UsN1wQ z@Ma>&oz-)kmG0>u3BZ0>8te~&|blWWEQtslU2g07VQPYcOqO`0&| zZoy?ZGiBwh7x#e+MdM-Gk=DwpRiGi|v>DgmDQE|0&@AI}B?5-WN zaoI8Wyp1JpK!HGKM^RkSwrQHNpxBQ6@t8?(+-~eprtqG6j^NesGkd37&sw;~+SiW| zphrmKVR~NiA_XQw3cJDnt;NGDz2)1G8Qox%T66fQI$yk=U_dz80U1j2H|g4dNH6eP z43gS(JIA$V3ZHJvvbD)$r>_GvZghhFaO>N{?<2A)&IgqeLjUc`Tb@oYOI2apJ0SU6 zQDG*7Bp(p@ogA0GfI5BX?0_~<>g47`Sr#*L5MkU>8T~FCDpC`beF^gXmYB(%GJGF1 z#R{dhxM=Gg!gUufIha|>i-w z&A?^D$nR%V>3C44%|^s`-0vQy2cTp}BO4O*M~kI7XG!oz@9Lvdx6%>#_B5Ap$*GJZ z-aeb9X7!HXR!#iiO%E4RI7S{j<_OxZgBsjvM}JAz5dJM64|$d9U2TKHHlTb~TnSlB zt<{G;JD>u#2ohka3tWjZdCF5jFI!`Og`%Obn@i;cHv`HEu6Y^dGPoV6@`Ppf&~zNQ zd22Z$Km3g47ZMcn5FKe6kq`=ZWdB(kX=nAov?kKWk#P4VS&ZoU1DGTBNXX}Iuhj7h z*2aEd@et$`J0)?SM_(EK#`(3)9PZM31W}lDw;A@HBKH$G#h(2cU{hz<*Z5~&K=|KK z<(tD74e3w1-sfbm+Nl)H7GnB1bbm32 zi;;AE=o&lW-!pf(n3*1b&4H)hnr<9v&MR*7EjSYOhP(TdpkAT~pfas99_xV2`S;jh zE4;}`l>L2C0bSrtKO*FT_W_z9)YY$j9QEI<<2#(UeKpX)`4P^g*BdDy>zKS2^wG8m zNasf1BHWyZR#M8VGO5C^xPhLv*-2jcFDw=}d#=c=4_R+-M(xLq;Yew29aBEN?@ zNUs`Fx_-CtHtiVYNUeW-HIP>yyfr0EP|=Ohaz3Xm@Lin008k$1WpzCy2&UB1(%%QR zAN#U3Z#?eicl|(DCU2;OwIB#zUgh6zHOynu!LT>nt1b>?jHel}Pi^IHGi@CO=-al^ z&fkt`HW{^`UI0sy;zY$HzR!?XpS(4z9~a`!?VF75w7q|k|98>|Ao1ctDaFT+dRG-I zPl5*If+nXahnXr70*>b+e{u$@(eI6GQ`fz)9ldcQ%tu`<~=@m z`gl)y5=Jja7<3N!6i%(6IV99zodZ*Dal5uMw{$y92;&%Y7I-T0|IoM7fYPE0Yp}TA zX8bRnz{d-m9} znEoiW3R_!4&MxPDcBCakNB&L&%`-5N)|XhF&{lVP0L(ESDk@!jSOfNGoYdc8 zH-pz7>s!2?DTJxx*R?nW%!+`-@A_s$Tm4A{=#w~P=Ckt>)xiQ1c!MT6b3qHuDwUyPAeP8#Zo? zQX{l{DZ@V-a2hbAls{T?OD%Wf1^9H7nhiG)HtoCL24F8j8T{a46o~MjvL=s#xNP_c zD_Nd3{F6D|XoIGgfd2jfAh~5(Kv~?P&1P?iy!b$dIpYStoqG+Dm~nawZ#ws2Xg2P} zXVkyNPc&h=zv>Hhviq}tt6-5Q1F^AXa*^zgCi(j=BuJKYWa}|M@%1dqjKI!XY(KdY z_d-dtV_$*7b<8ypet<9gLnWoF4XQON+!i|ZnVMa$F5$&5ad$WHNog&`3^yQsTxy*E z4i>xXp%y#hFo?KPg@|%w0GQgkS!e0|Xz|Ch{p-!jvo=!=ob=H;1XmBtW_M{?g}ZgM zqKWEF-u{|r8O#s)`DtUWt414tnD!JC+yIsvv<~(W z3OP0~t0z0j(n7@NeL#Su#CvR=ceTO&Dmak|#-&*iB1;=sd=0S!liabmXFsE)cX*#) z*)Rt=bbH*uYcT1s-AM3RW`g{qXgcVpv^N-w!P^lru7Uo>(T-YGTf?w+Zp zX{H69xaKY00xUg-#GBxBiAw-|AD zv?8)6zr-O(!Ae{mEWud=Duug`9({NnCmXR7SWP+JSsuql@f(BN*P78@M6Fk4N7QCx z-b9{y$g-+7{uN*)Wwljw#7|dg>ARerU9V!CS%2*W4 z>*eXJd<&HD478Xc_XAM*LaT3o$fXu0gIJ8aGF}l3IB~Fy~ zG2GGzOnd&>gJ8sG#*4pTRL&fi?GR<514z&=3~MsCo($b;$?CQ>ettV+WXbalP=?Pk z9+HXSegjWt8h%$~tDea?YBbtAcHkX`-NNukIES4yWrYQ*^^9(z~oOcbtfS~I@B1z{TuT?5g>9Un3u zj>eO#8_JuDIWHY`vJp|{Wy353P}*Y6;83}Sdk&RQeC}^NxJ9r5J25KpM(l+?C+G9t zCx+SeBaZ6InA*2`zkrwEbAs?Phuat*hZrP%Hpfc6`1jQ=kwjz{1J<* zT*^8p;GFCU!d3uFDpu%w{3rYQ8?3Z$<3rOl&&ljBKa3XIe8Y?B$KSTt!m;--kRxdj zU`QE^={oDDdU5&iC!PLKW%RV(8DM{ZX(?;(TCY2Cjmve$cxz^$*F*|xm-7$V{uVyn ztM9tJnZL};XldN=?O_+%(bm;UDP8XHfJROGBG_@FezOJYvNGWYM>uK>1(cAp7h8p*4z)7dqdWX{XU-w{Pl0s^6XurV1jZKQT|LkC zbW??G zMActAe;~&eQN_F8+DyFpSe=I+KAb!$H1Y0?wAk?sJ5Y<$;JxCsa_|D`<7+{9>X-r? zviR#dM)?(A5=gb2x>kgp)Ewzl#;Z(CwrRYbK(4(^91SJtW7n?09LX1JTTOOPQ>2x#=(iIGn+ZVeic(*d}6+$?o1ka z#KqWQ!xmyZ9vL*yU`~Di^bF0YBz00opPO%HUE+Pq%= zy$4&{x;pD0#T9-s98)t~xn8;6E-JU6(=mQr+Xmj6yl{8?hBY?YO*{=Smp&!nx|9pD zWh?iqRg955o(}9(68FCdqWwe!BTm#S!}}c}yF0F|s)KcgZ!?H}!jJUSNneYY%bKBk z$uDf~ujV;9u3aB^-Ql(U%ram>BaWy30X&^62xx@$W`wVRNh%1IR$ni#LufDMU+~?& zA@jUb#?5_9qqa_LRFM5!xz-f!vNYn_u;H~>n(gMItZw%xOzN%YBXUlYH~lvR#^O%t zZ*1aXuvWYwIiNlH5-z(FCc)~mfk>eW?&!W)ywtq;^RBFxbp8d}8L2y2p{f<(C7FL9 zfur#B*AIPF5MQwI4XN+z#uKV2KHeKSO7fs*Z7##-^TlzmMDfY-?|3#8En`d8oKB)@ zz6+Y_^v{tJ#4(p>68a_8L(Vkc%nd`#lbgr)NjeUSEZKuRgf8scffZ1;`V33WzTa@e zE1eJXMY5FT{k<6=X;y`j$BcV>*2?`ZPG3AJZ86pA5xEQXuL?2#@)~}rJS3J(h#2d< z-1U27hYc#Xtc`9w>7>IcT{F7pQ6^Bf_SA+P@NxM>L-BA?@@ymJgx<=k{SNeMibNa9 zR$5A~o_D`{2#*;-9DKYB?9fn0V+Xt#i}$V0j@~2#Uq*G^$YUN1tykO+uJsbjdK}8x zxsAJ<%Ti}#p~|wvpJv$gwt`Vx*hc}6=6`e*cbbkt7Wqo;hkjZ&w;wc;Hes+%$-+C zoP=tM=w5m%mngx=9YZj=-e(WwM*n;@b-bDLxjWy+I-8}4j*X-gBmuN#*P>|oI|5k} zg0Xfq@oDzMZsuivk2#JIn>We0yXTD`)@FYjL#O=tGAsP- z-uQLTAS`}Q<>8^2M%GvHt>7cOF^UpnI~VN0E>f_X7L0nr#c02ydQEZScv%|2JL`J8 zOS~=V%x*&&ATwy?1{9^~Kjl3B-mgboTy~@C+Q(N$+aN@n`yfBN4em};6y(X~6;#CG zlrw@J{0h6G^mdcSFc6ptY$eTZhR|V+4Zd!%ox1A5m$E%!b#|Q?N6i%e^w;^)wPOHD z{5ThcoP zeBEz4^`?aN+6a}w#TVkwcanUXWIjI!F1$eLDUsa?z3wLJ1ZOu~7}o4uaRkTH`ovm$ z<8+*HeBb6KH1}npnpCm-Yo(#1@b}gl;$|OUi3gq9m%mpes2^S63&-+ z?)ml&+1Nf04c0p`yFi@S`5LaAlS7@Xk72Q-PK;=ksK-4d51tua77Wh=OrZQS3n{9*@v_vd{<{m!Fk9#cl z=q;phMUEt4-tD2jPfR?EcT(6@laT}_#JT^a3)rJE9n_1LD*n$9JT@v zUqq=H5#JJ2c6N8z`m{-!gp}c(n@RcOM>bdSv3r+0c4&v^mhrocBd_n)z#WHG$?%r7 zil*SvRjyGa{1dx_;v4oUZaal0IM_x~%xmXuyWdsXe?{rd#qMGj$}6E0Za3)nN;ure z&oXP;)>}wzQF_y7Q_HH*Eu73MAwf1sew+6Im9YjZ>)9;BFM(`UfNq=VSpqHsX0Oj)Sp~dz`W8_%2^ywC`^l)M0Vma)#TLrL&+ zY{+m5SKtEB0{B|q1MZJ5eE<$^**f3`&<1o9M)^SC{W$*he9gl~AI7vER*$&kog1q; zaccznfOu|tWe;jF<8!;Uz1Ao{52u)DMKI;OL4oF-LT!lTf$cf$ltON9a+~?t3hUZ12 z5)q#K#G^nJb-(guNK&hb?gt4ze=ho27N4(WI$v#xbjdXg=u{@=jnRx?YZFb@M=Et7 zz#3RxHN3_zku9Wf(i@Nj>AN&I&%o`4_gYewuN~v+m>K> z7M_2R_j9(id-vrC>vmvenaHZ&>yrcjavB{zz}ahgn{JzaHD>cU`kJHl>?Y!vI9(&?L>ip0Z+M{PN z!zYuL`oilPN$S;!H6K6U+d=?)2Q)~Y znS9eiCJHkg1(^|E{VqHI$fFjbdaD?uX)c0#uDBXPd-#O=wW{A#WoXpLY<=nn4S%8A z(wH~Tk}+u<|4+XKjKAQz2tx(XAR+hsds1iC-d>Z7x&aExx1yhrXkCy!RjU8CO>EBR zS5FJb`M4{!%WjAFFx>G5TOv<%)+LgxjZ6}%+4)iaR_}i0M*CKnG*~jquNWLn*p$hB z)4&dzJRGKNU~~7n^$w(QpR!TzmkmV2PQsq&=#FiWc@bCJS&@em`Y-bwVeDOBe#nLj z)XeX?_9?afjsp_nbAhB8#4{$*f8ssHmH2OtOdi$na$q`ewXNu@9Tfa{8EEKISOHI2)`U79KcP)TJWQw@X4` zSFs?GG1<2meBn0-;z$}!(Wt(Q2)iuVi;>E;{ra_2qHW^4?R~J8Dj=531((4M68JtW zhqoQG*(u|C_2JmoeK{fL#P|Dpkq&t;B`11LN_exd+n6n_E*YcW`|&&aX&gHE!X#t3 zhZZikXuVo%(fic`4Ce7&BtaRr7C4!jXVx1Z2k2D`>+jdNS5QLlgcQl*-MqCf=$*hv zSTVMlRm|!@O@o0}KkA_!>@e2>_EFn;CwO=pq+P2p^E%P{G>Ri0_xj zT%!NoSKnqVF5WrPW#g;Kns@4a<@9_fAS_Yol%)PYxN_$HwW@II48ie}*q!e>h6F9k znUu%eS{oB^)QV~TcwdKqB&yjlA6~`aJr*J+4+7yo0Wb@ZS%IybZbk9MZEs)LP$l$D zwsH!FET!D7s4v+nhsCbVhm&74AAV^dbZn>{9cAOOI%@xW*!ulAF7=(Aj(9c-Oe`^1D3BC4>|0}sBfR#Uq25ozN_`#c8b3XQd`G32Nvp_G{ z=^%Y!4OO#EdA8}1UNLxy;iO6Od==NU_fB)Hqypw&`&%%^Fbg}{BY5Vj8wVX5xV-a~ z$x(^PN^u;E$k<4e*>ugyM$&S6o`|zxq|Nd-?dPG|XR82qcfmpXKkUj@vHh8=2E$pr#NmV?HD^ zC@~nU#C6d(lnD=0#}5xNU1GR%2ctoq?Xr8!k>XPVzZuN@hL@MN`_Xr_sE2<2xtD4- zhtr+SMg)cSBY#|z@`EuUsWaL7Hk6g~c_{guO$vMY` zCI0TV9FE)_4eymr?~b?vMszsuK?&>3Sq8_3b<4pBMA-!ySPxP^uyg}A;LDuPM~qSB z;kH{hl_OCY+c}3bqrM_0|Gw{w2syw%!xWGmSN;8*`o*?dvuJ*C&9f0y4)B$;oE0ho zNj;kJpPw&D=mIsU>eV~CX4f53JRX#psqZ*ptA3BGUcMFJ7$5q>?z?UWR_+3-!gWT= z0U4Mg9RV_T9;{9Mai^KEug^^8*jakb$JY%8>|H{5`J43*B!3qe!annI;4uf(8C*fr zDCSFfOv*pLm630B@Z zqw|Jz_`A#MaN3}_jJqT+$wjw;Yaeg|HEoI{PL~!$FxjMdB5VGb9OCJ z@HA!NO!tEn&%2wchy$WzO0KdQy)L3j<`_P>_J_cHrm06YX+{@ghaHZrOI^0f3%uFz zh+Xf9bS|_YHCKx)IO>SfxxR^IE7D5GTcT+NHgLu;(Stnp${G{rHIdJay#Cdem=8`E z`Idf)5;Yfswc$M`gH-H|r>60g|6ElKHLRtKCEKP8s-qZBh^G4JpjXuFHetQp9yO+^ z7viq|7J=3n!yyAda=4URhrh&0?;W*=brf`Dqh`gwldJW7D7Cp`x=UITze@|Pk5#ti zz>X0m>_QZ0z8dOA>yhEmzndB1$X{>;C# zvZdadiWu&_B3OBG+Bk%L_aii5AKU97M9wqPf5SdUgFWw^LS{ z7I3!Sd(o;z_`i602vjnuvAeAZ`!kxqZbhKLL7ZWY$0fj4^any<2z9UcK&6TsT|p&p zp38!;odX8_)5i_-GCE1^As-c246@<06{FNQozN9_REwU(tze**y_16XNlaTRs~Xk1 z=j$1h9HEk>oE~*SBo?B2?Il7bH9kIevqr>>J$1Yj#wRGM6->t+tT}P{vBxeZYfJzM8DY0s6GoJ_wo8jnQg;RtM~Ju&-=HgYqdJxWK#*yBx0 zVVByJr(J3NYUQ|ZZU}NbEu+#J-rY0=KSfP3|(%M>W&*Q@Z>ypED&n=U8JQ1hR2leREXZ@}5pnj5CRuzB%|C}Q>ZoSogBbhWjq z?8usSMJ)TTG3jofKgTR3p?~xZLX-9VuF|B4Uztz)+!)u9!%I})?d{pLc<9x-Z)(sx zIBoE{o4eQC`$Nig^SK)`J4+8-dugw%zS}JRDtwbk*y;U{<9;ZKJLX{^mGNj`XLi6q z)PLu>0kv46`SQ9n`|-OpL>l@LSe>0AB_^@96k#8@Kzz?XTj3fX)}wL*K0RSzO5O^T zdTkPggrWr4RvuQMel&+AOyX?)!txo?7hht@ywxz46_=RHWjye^BmV4=-hPe3S+5Ub z*^cmSZm3q#7tQ$n_(x5QQkXm9>t^B!-l3x3w|7o=O{gB+w|)}7_KT89;Qo+(A>z3^ z8&h`6cV}s5D|>t=X_1Qfr!*SIZ)n7C!96oG;Dst%?|J22tp+EtU5npM2v22j6`EW! zHh&2{a#IYbZ?Q5t2kdQ50y{C5r}eQ10m-G+%Z$Vl{|)5_aAi2L1DjBbDB^0c4#s;m zg#JxIEUY3O+xW@RK)M^P-qrOcawUzf2}@A*Nk5JD)%F8vJV(D&DJ;_9E{=x#;`h(M-A?b*XP5lYaiRaPZmEcxAwOF`R^Iy-y z-STQ81BMR-k`BCYE^pXEn> zxG&PDOjc)G`I+-#j8L|Z(paPq-qkO-k+t=-W80WSR?jZr9Iak~9U)Ni?_AAKK#%O? zh|8u#_g*$y)j`B_femn?{TZVEV-fbYmjzdZeV*ZFa;b%BOvsxTUMfhTuNTt&kIi>k zSVXnD8psQL*k%3~`(jxUnf^=fSLVOwgWk^d$C{bcv}I(U++Z#CyRp(4id+(RYL_32 z>t&D2uHPJajXlVQSRkY41|GosOM`%j&^-#l+87mhy0^bwn{vVhRMbgZlxY-VwOw8r zoEDpgjg>Lt)x_B9(~P6v3J27)YwGaPYjaKt&G9ek~f(;qx89|j)A=o;FZR7(J3EB+;!ffRwYHWMc98$aY5af;%S?P zki@3J_NN{+x%VNhd0iFWHX+(6ZTKFK5lApzgd z9+h9`=uvzspJvlOdE%MWI6QB|=+7vd{LV@FTwS|uRQI^IUEo1`BaS6K0+-cuHhKM%HdKy#&);0d;W$$|y^M@lFzezm%a?8Iai-{X1X zOa@a2R)}9-g-$jbgA$9G`ykVEn-ta97_fZV!emD4@&I;gwl25L^Xc-d{O*=t--^Pb z$rm<7kE}gjG6t(EItWF^SDZ?-A(Po;%V^zN*C=QCEtWu4RGLl853%v12LplabIW`h zHm11jt8n)fmzmc(I-}}BQNU6LH zK6|7#`=;oTQR(TZ^rS79Rm)=5d;{&ml*HJj$U-fVX*J~?)n=*(csy;{-QLzL#EyGJlGHjmL# z#^(%9m*IgvsVPL`Ael)dAU+0o(8K7aKk&tTz;gi{~b7zU!7zCgd*)H!Omsp(RqYq8p9SSnE{8 zPwX~!U4G0jF#|Udwtjz>gitw(pg~bt98aUapa%! z&_{JjRLvga1?DeO4)4rNob<)At2DtH-JQX*`PORR9Wc$%;2SfnQ!2pnpNc7cwH_Ch z{cl~Ssi$0dClbQInvmUpJ~HosUS_oNX>6{uwJR2bfTlfByJ+}QP*}}yiFZV#a(&l} z#tz!y!p_pNGr_o=kmQ&;UVV@)MW_OG{<`}~0q4K9i#+#TeLC#v!|%*EA2fVq>7DrC z*P>pS^zvVRW1**icv2M%2k zz3%T~qXw)TY2TgAQC0lkjbmb+K;*zivTg`e^g-+kD3{xCoI{g|<*a9-sG8?oKg~0g zat^ol7K1aHzc+IG%~cZ|^#{o%Pf#JS*oZ$Mcz%+qGYO1r^UjyDZfjbg1~aNDx#pcv ziP9u)4TRzH)r$ukE5E<@RG~t=Vo4%5(V>*}qZ6A2wsu?cR22*dY(IfMDBp+&Y7{;j zGYl$uw`XkQZW3?afuvMupt)Zc6^@Mm_}up9_FA0T?-uzBhQ;qF~9q>l^-C<_0k&EnsN83`K zHI{*V`5gE25`_7MxMuuhEyr}t0;l`#|DI>)?o3KL?EQEv8&>CbRmemb=xcO``xceq zeVK<7y{q-;p6GLFFh_gNF!&a{q&l#SB6E3!P{9Y4W9)%s+D$r zZq~xNYJ^Zeuej>f*Hy&OB;l|93PnvT>KeieRUEu~kngsfCcU;Ns`tef_;nWxTz#sy zW&$jCnO|)`=K$LZl?k~+)(19zvCN{&@HaEd@M*P(30bCoHY<4R5DM^gY@UG-{7}t$NKZHJ=){AGx@Y~l4!dCTe)wKyj;ez@LNk@ zqGVOjRh0JPPaf$zrFD9}N-Rd(1~rsinF7B5&6_br|4!fx`^ z+-CxD!0z~So1dG<+eOV6NzF_7|9DNuH`BQ4<~W%;M=;fA$f)l4on^E({`wYO#S#H- z2T|yC*JxyZV^lXQKTKfi7pcVm)N+&Um5b~rGwLG-+bK6oPmT=xj|RR)u0I)fC-DAO z`U_YQuj^J-Sg!$B`oO z#{V|9gN2>9X?Qar68XiN63@vb!notlmVcJ$5E8IRmT7{4|lBlnR%#MU8cw*YQXdFKV0= zn`=rMh!7TIy>GSOSvoO=1&p9Z;Wy6uk3clR`?laMa*5l(hcm zhZ34EDILa9f$tjYRAql8;RJCUyTANrFkW0m8_;ZU+U2bMjeiS~+$8Qr<|rt)nyDU! zsAR1qd(+={V1Zi}i=Pp+K<%F6`?gvU`k*Od28`=3}w_ zF%3p+yeCYoMSlc)9lZT>I&41)gM;@`1Jz*uV1deEK-0!pWq73pr&5ZX8sUe$LWh5a z8hjx14v;5Mdl0;Dxob3QJ};E?xbBhswo>`OLqK`gpXkQ+lxU*~sRZu3!Qu|A6~i-nxSaKg?DWxF^Wm3?_6~ZXu`l{1 zw?CaLkY|2k4Q#@F9G$vWwz*Y)DlOkJ$vjgc7zuRmqXvS({*FOkUeO z$PTtb?RB+8)$IuV*y9}xBzyb2egnZ>ZhQyn5+SadMIG^c*)A)Q1{3hpKU;>cA%pI{ zlY~3Tf~Yhnar3z^Hv1hB0s@NQNiBE^?9esPwxZ{#5m+)Rf8)fLdu#NqmuL}-ZP515 zkjEH*q7|BKID%|xA#FWicZ`_mqa~&;X!gBh9t+rzm^4@{t4-Zx&4WVEpUJv5>I2@7 zbs2uO*WDUrvFR}b^#UG%$X9(;Q@ad*OEP5;11&UGus|vsq2m0yiny4QtfFLZ%?<=8 z!&QSPMyGSZj7BIPn!BgWNq{fHihCJ6q1`vjRK(lG6UxzLLQ#V|?dSgUL}2HObQ!+# zIXLA`n|*y~IwcKV0GS%DcAx`6VFKW4cBNy@n7>u}H27rG(WF zTFsKQ!j8KsBe;8E=b})m!z{1@t%=3|En)4yMq3w2h0V<6!0y}1)1IC+J&xAbIma!93%Hq3cyPtb09jm}LeZ*hk z696bwq-_4TC2$}Ua$ZTk>6ccmAyaEgl!3hhqUn8QtWVv#Z#rx-Ykq_uVwg6<2>85C zv{0Q(y#1gGZQrWM#^z%STv#2r8UNe8Y*V=*fVMOQf7`#1g1kX?Pe=c{;osXaUc%}D`!4P?GZhKO%wXt+`i_*( zLIE2B!T{s(8t4qJIv`C$qQ|JOXJo)v24Y4TyBTN^*VTu?Tzup<2pNe^B0WJcPc(x! zwN-}yN6+Av^`T!oAnSjE&oZGKT!w$#0aJx*5bd!(Q?H(5!lWBT0j0+Ou59CilgZj` z3|{2|*?m8E!GUI^#J(Oqr`{=?zKKz8Qbm2cI`Q?A9v}~q-=ha)Z-MI#{<+p3X@wdD zCoCI-va*oKGW@J1@-8?@0#)T7lQR7RfHFk_?h6NCneyoSs3GBBnzUqh;YX5T^6ZeN3I| zu|jYUAk!U?pQTDEqQAa))7^6#Pth~6eA_3^bYgFa z2*P|EW(N3;Z-Loq5A=CB@n^3)CRW|>n^BM@YOhfhMRcato)$VYr$M-2mRRd18n*Y) zg5rEbR$JKbnJ}z>5&OjHiSv^-Z%10S->Pke%#cbci=8L?+b&|^U<2}3?rA*uycLvT zr~Mv>Jt_i<5y#2y&NQHf8hx1;Wk$iK7%*GYH+6>~6QLdf(s_bmhvVp>dCh+UxxZ9| z1A3yFx!rRvuvbXtlN*FH8y#UIk{%?YODZ=g(J5k5-~tZTq4DZq4WQ>*9GgXtad;7v zhP|(^KKU0p^7;iPj61LLishp2(fdp=FF5s~F_p{3NAn>Yx2dUntNKWyMkZ<+%@*oJ z?bN+l++Tom$lm^+=S&iPoMqT?FBDFD7@5=xoM7JyzEMSMzR!F(yZ>NC&|bfic9|`K zC3#S}EO}oq&g81CgVYMLx=YBpQBGlu z)*#5xB9Fu0d46+tPe_;QWA92IlDG3?TBD!;%xyu>NM6omX(^P9oTjCyOl2UBOdiW~ z2$Nd~TCW8ZB0v2mB>40FxLcvGOxBU#yz1V>mRAx(T@f1z@%{JCP?T^pKZ;~E$T_)t z{Dy8w@Nzja4I6y_G(miz=E#Y;X35sTq?acTL}~O^pnF=(^>*n_9&w#r@<;3xK@>)XFMh^EPF#YEyv*`G^Z2YMgr=X<9Ei~I zGfK;?hjp^v#C-}4bETySx#93C34 z+R^$1EDH`QNPMBBcFumdqBwg)yyAX?{Gde8XkgykA%%dXo^PgKMAR#}t{g8CPeua}o7}Rdg3O;Ee@y;%?4c(<0ehCenTCEW@^fbEbG*7p z8WS%S>_mUv_v(HXqrf-sk@d1}T2J4!djF)eYfSl*&kJ{Gcffx_r3A_zAC(f3ef{Wc z=6<1jufh&df89uN?$rvdy44n!OV(fui}R_XRQ8>_WpS#KzvQ^qrPjc_yaK1tq7Td8 z4-$@X2aC^Ea34rq -
    -
    - GraphJin -
    -
    +const fetcher = createGraphiQLFetcher({ + url, + subscriptionUrl, +}); - - - - - ); +const defaultQuery = ` +# Use this editor to build and test your GraphQL queries +# Set a query name if you want the query saved to the +# allow list to use in production + +query { + users(id: "3") { + id + full_name + email } } +`; + +const App = () => { + const [schema, setSchema] = useState(null); + const [query, setQuery] = useState(defaultQuery); + const [explorerOpen, setExplorerOpen] = useState(true); + + let graphiql = React.createRef(); + + useEffect(() => { + (async function () { + let introspect = fetcher({ query: getIntrospectionQuery() }); + let res = await introspect.next(); + setSchema(buildClientSchema(res.value.data)); + })(); + }, []); + + const handleEditQuery = (query) => { + setQuery(query); + console.log(">", query); + }; -// 'schema.polling.enable': false, -// 'request.credentials': 'include', + const handleToggleExplorer = () => setExplorerOpen(!explorerOpen); + + return ( +
    + + graphiql.handleRunQuery(operationName) + } + explorerIsOpen={explorerOpen} + onToggleExplorer={handleToggleExplorer} + /> + (graphiql = ref)} + fetcher={fetcher} + defaultSecondaryEditorOpen={true} + headerEditorEnabled={true} + shouldPersistHeaders={true} + query={query} + onEditQuery={handleEditQuery} + > + +
    GRAPHJIN
    +
    + + + graphiql.handlePrettifyQuery()} + label="Prettify" + title="Prettify Query (Shift-Ctrl-P)" + /> + graphiql.handleToggleHistory()} + label="History" + title="Show History" + /> + + +
    +
    + ); +}; export default App; diff --git a/internal/serv/web/src/index.css b/internal/serv/web/src/index.css index 80566abd..f4eb1ad4 100755 --- a/internal/serv/web/src/index.css +++ b/internal/serv/web/src/index.css @@ -6,14 +6,16 @@ body { sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; - background-color: #08151d; } -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", - monospace; +.graphiql-container, .graphiql-container button, .graphiql-container input { + font-family: inherit !important; } -.playground > div:nth-child(2) { - height: calc(100vh - 105px); +#root { + height: 100vh; + width: 100vw; } + + + diff --git a/internal/serv/web/src/index.js b/internal/serv/web/src/index.js index cc75c6d6..68ea35f1 100755 --- a/internal/serv/web/src/index.js +++ b/internal/serv/web/src/index.js @@ -1,9 +1,10 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; +import React from "react"; +import ReactDOM from "react-dom"; +import App from "./App"; +import "./index.css"; //import * as serviceWorker from './serviceWorker'; -ReactDOM.render(, document.getElementById('root')); +ReactDOM.render(, document.getElementById("root")); // If you want your app to work offline and load faster, you can change // unregister() to register() below. Note this comes with some pitfalls. diff --git a/internal/serv/web/yarn.lock b/internal/serv/web/yarn.lock index 2ca99856..d3600276 100644 --- a/internal/serv/web/yarn.lock +++ b/internal/serv/web/yarn.lock @@ -9,21 +9,17 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.3", "@babel/code-frame@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a" - integrity sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== dependencies: - "@babel/highlight" "^7.10.3" + "@babel/highlight" "^7.12.13" -"@babel/compat-data@^7.10.1", "@babel/compat-data@^7.10.3", "@babel/compat-data@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.3.tgz#9af3e033f36e8e2d6e47570db91e64a846f5d382" - integrity sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg== - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" +"@babel/compat-data@^7.12.13", "@babel/compat-data@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.13.tgz#27e19e0ed3726ccf54067ced4109501765e7e2e8" + integrity sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg== "@babel/core@7.9.0": version "7.9.0" @@ -48,268 +44,240 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.3.tgz#73b0e8ddeec1e3fdd7a2de587a60e17c440ec77e" - integrity sha512-5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/generator" "^7.10.3" - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helpers" "^7.10.1" - "@babel/parser" "^7.10.3" - "@babel/template" "^7.10.3" - "@babel/traverse" "^7.10.3" - "@babel/types" "^7.10.3" + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.17.tgz#993c5e893333107a2815d8e0d73a2c3755e280b2" + integrity sha512-V3CuX1aBywbJvV2yzJScRxeiiw0v2KZZYYE3giywxzFJL13RiyPjaaDwhDnxmgFTTS7FgvM2ijr4QmKNIu0AtQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.12.17" + "@babel/helper-module-transforms" "^7.12.17" + "@babel/helpers" "^7.12.17" + "@babel/parser" "^7.12.17" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.17" + "@babel/types" "^7.12.17" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" + lodash "^4.17.19" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.10.3", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.3.tgz#32b9a0d963a71d7a54f5f6c15659c3dbc2a523a5" - integrity sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA== +"@babel/generator@^7.12.17", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.17.tgz#9ef1dd792d778b32284411df63f4f668a9957287" + integrity sha512-DSA7ruZrY4WI8VxuS1jWSRezFnghEoYEFrZcw9BizQRmOZiUsiHl59+qEARGPqPikwA/GPTyRCi7isuCK/oyqg== dependencies: - "@babel/types" "^7.10.3" + "@babel/types" "^7.12.17" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz#f6d08acc6f70bbd59b436262553fb2e259a1a268" - integrity sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw== +"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== dependencies: - "@babel/types" "^7.10.1" + "@babel/types" "^7.12.13" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.1": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz#4e9012d6701bef0030348d7f9c808209bd3e8687" - integrity sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.3" - "@babel/types" "^7.10.3" + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/helper-builder-react-jsx-experimental@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.1.tgz#9a7d58ad184d3ac3bafb1a452cec2bad7e4a0bc8" - integrity sha512-irQJ8kpQUV3JasXPSFQ+LCCtJSc5ceZrPFVj6TElR6XCHssi3jV8ch3odIrNtjJFRZZVbrOEfJMI79TPU/h1pQ== +"@babel/helper-compilation-targets@^7.12.17", "@babel/helper-compilation-targets@^7.8.7": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.17.tgz#91d83fae61ef390d39c3f0507cb83979bab837c7" + integrity sha512-5EkibqLVYOuZ89BSg2lv+GG8feywLuvMXNYgf0Im4MssE0mFWPztSpJbildNnUgw0bLI2EsIN4MpSHC2iUJkQA== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-module-imports" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-builder-react-jsx@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.3.tgz#62c4b7bb381153a0a5f8d83189b94b9fb5384fc5" - integrity sha512-vkxmuFvmovtqTZknyMGj9+uQAZzz5Z9mrbnkJnPkaYGfKTaSsYcjQdXP0lgrWLVh8wU6bCjOmXOpx+kqUi+S5Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/types" "^7.10.3" - -"@babel/helper-compilation-targets@^7.10.2", "@babel/helper-compilation-targets@^7.8.7": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz#a17d9723b6e2c750299d2a14d4637c76936d8285" - integrity sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA== - dependencies: - "@babel/compat-data" "^7.10.1" - browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" + "@babel/compat-data" "^7.12.13" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.10.1", "@babel/helper-create-class-features-plugin@^7.10.3", "@babel/helper-create-class-features-plugin@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.3.tgz#2783daa6866822e3d5ed119163b50f0fc3ae4b35" - integrity sha512-iRT9VwqtdFmv7UheJWthGc/h2s7MqoweBF9RUj77NFZsg9VfISvBTum3k6coAhJ8RWv2tj3yUjA03HxPd0vfpQ== - dependencies: - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-member-expression-to-functions" "^7.10.3" - "@babel/helper-optimise-call-expression" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - -"@babel/helper-create-regexp-features-plugin@^7.10.1", "@babel/helper-create-regexp-features-plugin@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz#1b8feeab1594cbcfbf3ab5a3bbcabac0468efdbd" - integrity sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-regex" "^7.10.1" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz#d27120a5e57c84727b30944549b2dfeca62401a8" - integrity sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ== - dependencies: - "@babel/helper-function-name" "^7.10.3" - "@babel/types" "^7.10.3" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz#9dc14f0cfa2833ea830a9c8a1c742b6e7461b05e" - integrity sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw== - dependencies: - "@babel/traverse" "^7.10.3" - "@babel/types" "^7.10.3" - -"@babel/helper-function-name@^7.10.1", "@babel/helper-function-name@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz#79316cd75a9fa25ba9787ff54544307ed444f197" - integrity sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw== - dependencies: - "@babel/helper-get-function-arity" "^7.10.3" - "@babel/template" "^7.10.3" - "@babel/types" "^7.10.3" - -"@babel/helper-get-function-arity@^7.10.1", "@babel/helper-get-function-arity@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz#3a28f7b28ccc7719eacd9223b659fdf162e4c45e" - integrity sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg== - dependencies: - "@babel/types" "^7.10.3" - -"@babel/helper-hoist-variables@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz#d554f52baf1657ffbd7e5137311abc993bb3f068" - integrity sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg== - dependencies: - "@babel/types" "^7.10.3" - -"@babel/helper-member-expression-to-functions@^7.10.1", "@babel/helper-member-expression-to-functions@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz#bc3663ac81ac57c39148fef4c69bf48a77ba8dd6" - integrity sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw== - dependencies: - "@babel/types" "^7.10.3" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.1", "@babel/helper-module-imports@^7.10.3", "@babel/helper-module-imports@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz#766fa1d57608e53e5676f23ae498ec7a95e1b11a" - integrity sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w== - dependencies: - "@babel/types" "^7.10.3" - -"@babel/helper-module-transforms@^7.10.1", "@babel/helper-module-transforms@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" - integrity sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg== - dependencies: - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-simple-access" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.10.1", "@babel/helper-optimise-call-expression@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz#f53c4b6783093195b0f69330439908841660c530" - integrity sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg== - dependencies: - "@babel/types" "^7.10.3" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.10.3", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz#aac45cccf8bc1873b99a85f34bceef3beb5d3244" - integrity sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g== - -"@babel/helper-regex@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.1.tgz#021cf1a7ba99822f993222a001cc3fec83255b96" - integrity sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.10.1", "@babel/helper-remap-async-to-generator@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz#18564f8a6748be466970195b876e8bba3bccf442" - integrity sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-wrap-function" "^7.10.1" - "@babel/template" "^7.10.3" - "@babel/traverse" "^7.10.3" - "@babel/types" "^7.10.3" - -"@babel/helper-replace-supers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" - integrity sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.1" - "@babel/helper-optimise-call-expression" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-simple-access@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" - integrity sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-split-export-declaration@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" - integrity sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-validator-identifier@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15" - integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw== - -"@babel/helper-wrap-function@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz#956d1310d6696257a7afd47e4c42dfda5dfcedc9" - integrity sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ== - dependencies: - "@babel/helper-function-name" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helpers@^7.10.1", "@babel/helpers@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" - integrity sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/highlight@^7.10.3", "@babel/highlight@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d" - integrity sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw== - dependencies: - "@babel/helper-validator-identifier" "^7.10.3" +"@babel/helper-create-class-features-plugin@^7.12.13", "@babel/helper-create-class-features-plugin@^7.12.17", "@babel/helper-create-class-features-plugin@^7.8.3": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.17.tgz#704b69c8a78d03fb1c5fcc2e7b593f8a65628944" + integrity sha512-I/nurmTxIxHV0M+rIpfQBF1oN342+yvl2kwZUrQuOClMamHF1w5tknfZubgNOLRoA73SzBFAdFcpb4M9HwOeWQ== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.12.17" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7" + integrity sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + regexpu-core "^4.7.1" + +"@babel/helper-explode-assignable-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz#0e46990da9e271502f77507efa4c9918d3d8634a" + integrity sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-hoist-variables@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz#13aba58b7480b502362316ea02f52cca0e9796cd" + integrity sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-member-expression-to-functions@^7.12.13", "@babel/helper-member-expression-to-functions@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.17.tgz#f82838eb06e1235307b6d71457b6670ff71ee5ac" + integrity sha512-Bzv4p3ODgS/qpBE0DiJ9qf5WxSmrQ8gVTe8ClMfwwsY2x/rhykxxy3bXzG7AGTnPB2ij37zGJ/Q/6FruxHxsxg== + dependencies: + "@babel/types" "^7.12.17" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" + integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-module-transforms@^7.12.13", "@babel/helper-module-transforms@^7.12.17", "@babel/helper-module-transforms@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.17.tgz#7c75b987d6dfd5b48e575648f81eaac891539509" + integrity sha512-sFL+p6zOCQMm9vilo06M4VHuTxUAwa6IxgL56Tq1DVtA0ziAGTH1ThmJq7xwPqdQlgAbKX3fb0oZNbtRIyA5KQ== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.17" + "@babel/types" "^7.12.17" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" + integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" + integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== + +"@babel/helper-remap-async-to-generator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz#170365f4140e2d20e5c88f8ba23c24468c296878" + integrity sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-replace-supers@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121" + integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-simple-access@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" + integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== + +"@babel/helper-wrap-function@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz#e3ea8cb3ee0a16911f9c1b50d9e99fe8fe30f9ff" + integrity sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helpers@^7.12.17", "@babel/helpers@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.17.tgz#71e03d2981a6b5ee16899964f4101dc8471d60bc" + integrity sha512-tEpjqSBGt/SFEsFikKds1sLNChKKGGR17flIgQKXH4fG6m9gTgl3gnOC1giHNyaBCSKuTfxaSzHi7UnvqiVKxg== + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.17" + "@babel/types" "^7.12.17" + +"@babel/highlight@^7.12.13", "@babel/highlight@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.3", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.3.tgz#7e71d892b0d6e7d04a1af4c3c79d72c1f10f5315" - integrity sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.12.17", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.17.tgz#bc85d2d47db38094e5bb268fc761716e7d693848" + integrity sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg== -"@babel/plugin-proposal-async-generator-functions@^7.10.3", "@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz#5a02453d46e5362e2073c7278beab2e53ad7d939" - integrity sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA== +"@babel/plugin-proposal-async-generator-functions@^7.12.13", "@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz#d1c6d841802ffb88c64a2413e311f7345b9e66b5" + integrity sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA== dependencies: - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/helper-remap-async-to-generator" "^7.10.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-remap-async-to-generator" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" "@babel/plugin-proposal-class-properties@7.8.3": @@ -320,13 +288,13 @@ "@babel/helper-create-class-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-proposal-class-properties@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz#046bc7f6550bb08d9bd1d4f060f5f5a4f1087e01" - integrity sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw== +"@babel/plugin-proposal-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" + integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-proposal-decorators@7.8.3": version "7.8.3" @@ -337,22 +305,38 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-decorators" "^7.8.3" -"@babel/plugin-proposal-dynamic-import@^7.10.1", "@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz#e36979dc1dc3b73f6d6816fc4951da2363488ef0" - integrity sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA== +"@babel/plugin-proposal-dynamic-import@^7.12.17", "@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.17.tgz#e0ebd8db65acc37eac518fa17bead2174e224512" + integrity sha512-ZNGoFZqrnuy9H2izB2jLlnNDAfVPlGl5NhFEiFe4D84ix9GQGygF+CWMGHKuE+bpyS/AOuDQCnkiRNqW2IzS1Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.10.1", "@babel/plugin-proposal-json-strings@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz#b1e691ee24c651b5a5e32213222b2379734aff09" - integrity sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg== +"@babel/plugin-proposal-export-namespace-from@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" + integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.13", "@babel/plugin-proposal-json-strings@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" + integrity sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-json-strings" "^7.8.0" +"@babel/plugin-proposal-logical-assignment-operators@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" + integrity sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" @@ -361,12 +345,12 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz#02dca21673842ff2fe763ac253777f235e9bbf78" - integrity sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.13", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz#24867307285cee4e1031170efd8a7ac807deefde" + integrity sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" "@babel/plugin-proposal-numeric-separator@7.8.3": @@ -377,29 +361,29 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-numeric-separator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.10.1", "@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz#a9a38bc34f78bdfd981e791c27c6fdcec478c123" - integrity sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA== +"@babel/plugin-proposal-numeric-separator@^7.12.13", "@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" + integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-numeric-separator" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.10.3", "@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz#b8d0d22f70afa34ad84b7a200ff772f9b9fce474" - integrity sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ== +"@babel/plugin-proposal-object-rest-spread@^7.12.13", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz#f93f3116381ff94bc676fdcb29d71045cd1ec011" + integrity sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg== dependencies: - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.1" + "@babel/plugin-transform-parameters" "^7.12.13" -"@babel/plugin-proposal-optional-catch-binding@^7.10.1", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz#c9f86d99305f9fa531b568ff5ab8c964b8b223d2" - integrity sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA== +"@babel/plugin-proposal-optional-catch-binding@^7.12.13", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" + integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-proposal-optional-chaining@7.9.0": @@ -410,29 +394,30 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.10.3", "@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz#9a726f94622b653c0a3a7a59cdce94730f526f7c" - integrity sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng== +"@babel/plugin-proposal-optional-chaining@^7.12.17", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.17.tgz#e382becadc2cb16b7913b6c672d92e4b33385b5c" + integrity sha512-TvxwI80pWftrGPKHNfkvX/HnoeSTR7gC4ezWnAL39PuktYUe6r8kEpOLTYnkBTsaoeazXm2jHJ22EQ81sdgfcA== dependencies: - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-private-methods@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz#ed85e8058ab0fe309c3f448e5e1b73ca89cdb598" - integrity sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg== +"@babel/plugin-proposal-private-methods@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz#ea78a12554d784ecf7fc55950b752d469d9c4a71" + integrity sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-proposal-unicode-property-regex@^7.10.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz#dc04feb25e2dd70c12b05d680190e138fa2c0c6f" - integrity sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ== +"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-async-generators@^7.8.0": version "7.8.4" @@ -441,19 +426,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz#d5bc0645913df5b17ad7eda0fa2308330bde34c5" - integrity sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ== +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-decorators@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz#16b869c4beafc9a442565147bda7ce0967bd4f13" - integrity sha512-a9OAbQhKOwSle1Vr0NJu/ISg1sPfdEkfRKWpgPuzhnWWzForou2gIeUIIwjAMHRekhhpJ7eulZlYs0H14Cbi+g== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" + integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" @@ -462,12 +447,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.1.tgz#cd4bbca62fb402babacb174f64f8734310d742f0" - integrity sha512-b3pWVncLBYoPP60UOTc7NMlbtsHQ6ITim78KQejNHK6WJ2mzV5kCcg4mIWpasAfJEgwVTibwo2e+FU7UEIKQUg== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" + integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-json-strings@^7.8.0": version "7.8.3" @@ -476,12 +468,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.1.tgz#0ae371134a42b91d5418feb3c8c8d43e1565d2da" - integrity sha512-+OxyOArpVFXQeXKLO9o+r2I4dIoVoy6+Uu0vKELrlweDM3QJADZj+Z+5ERansZqIZBcLj42vHnDI8Rz9BnRIuQ== +"@babel/plugin-syntax-jsx@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" + integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" @@ -490,12 +489,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.1", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz#25761ee7410bc8cf97327ba741ee94e4a61b7d99" - integrity sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg== +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": version "7.8.3" @@ -518,101 +517,99 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.10.1", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz#8b8733f8c57397b3eaa47ddba8841586dcaef362" - integrity sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ== +"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-typescript@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.1.tgz#5e82bc27bb4202b93b949b029e699db536733810" - integrity sha512-X/d8glkrAtra7CaQGMiGs/OGa6XgUzqPcBXCIGFCpCqnfGlT0Wfbzo/B89xHhnInTaItPK8LALblVXcUOEh95Q== +"@babel/plugin-syntax-typescript@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" + integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-arrow-functions@^7.10.1", "@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz#cb5ee3a36f0863c06ead0b409b4cc43a889b295b" - integrity sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA== +"@babel/plugin-transform-arrow-functions@^7.12.13", "@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz#eda5670b282952100c229f8a3bd49e0f6a72e9fe" + integrity sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-async-to-generator@^7.10.1", "@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz#e5153eb1a3e028f79194ed8a7a4bf55f862b2062" - integrity sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg== +"@babel/plugin-transform-async-to-generator@^7.12.13", "@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz#fed8c69eebf187a535bfa4ee97a614009b24f7ae" + integrity sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A== dependencies: - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-remap-async-to-generator" "^7.10.1" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-remap-async-to-generator" "^7.12.13" -"@babel/plugin-transform-block-scoped-functions@^7.10.1", "@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz#146856e756d54b20fff14b819456b3e01820b85d" - integrity sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q== +"@babel/plugin-transform-block-scoped-functions@^7.12.13", "@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-block-scoping@^7.10.1", "@babel/plugin-transform-block-scoping@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz#47092d89ca345811451cd0dc5d91605982705d5e" - integrity sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw== +"@babel/plugin-transform-block-scoping@^7.12.13", "@babel/plugin-transform-block-scoping@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" + integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-classes@^7.10.3", "@babel/plugin-transform-classes@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz#8d9a656bc3d01f3ff69e1fccb354b0f9d72ac544" - integrity sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-define-map" "^7.10.3" - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-optimise-call-expression" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" +"@babel/plugin-transform-classes@^7.12.13", "@babel/plugin-transform-classes@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz#9728edc1838b5d62fc93ad830bd523b1fcb0e1f6" + integrity sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.10.3", "@babel/plugin-transform-computed-properties@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz#d3aa6eef67cb967150f76faff20f0abbf553757b" - integrity sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA== +"@babel/plugin-transform-computed-properties@^7.12.13", "@babel/plugin-transform-computed-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz#6a210647a3d67f21f699cfd2a01333803b27339d" + integrity sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA== dependencies: - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-destructuring@^7.10.1", "@babel/plugin-transform-destructuring@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz#abd58e51337815ca3a22a336b85f62b998e71907" - integrity sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA== +"@babel/plugin-transform-destructuring@^7.12.13", "@babel/plugin-transform-destructuring@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz#fc56c5176940c5b41735c677124d1d20cecc9aeb" + integrity sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-dotall-regex@^7.10.1", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz#920b9fec2d78bb57ebb64a644d5c2ba67cc104ee" - integrity sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA== +"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-duplicate-keys@^7.10.1", "@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz#c900a793beb096bc9d4d0a9d0cde19518ffc83b9" - integrity sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA== +"@babel/plugin-transform-duplicate-keys@^7.12.13", "@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-exponentiation-operator@^7.10.1", "@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz#279c3116756a60dd6e6f5e488ba7957db9c59eb3" - integrity sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA== +"@babel/plugin-transform-exponentiation-operator@^7.12.13", "@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-flow-strip-types@7.9.0": version "7.9.0" @@ -622,115 +619,115 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-flow" "^7.8.3" -"@babel/plugin-transform-for-of@^7.10.1", "@babel/plugin-transform-for-of@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz#ff01119784eb0ee32258e8646157ba2501fcfda5" - integrity sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w== +"@babel/plugin-transform-for-of@^7.12.13", "@babel/plugin-transform-for-of@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz#561ff6d74d9e1c8879cb12dbaf4a14cd29d15cf6" + integrity sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-function-name@^7.10.1", "@babel/plugin-transform-function-name@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz#4ed46fd6e1d8fde2a2ec7b03c66d853d2c92427d" - integrity sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw== +"@babel/plugin-transform-function-name@^7.12.13", "@babel/plugin-transform-function-name@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== dependencies: - "@babel/helper-function-name" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-literals@^7.10.1", "@babel/plugin-transform-literals@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz#5794f8da82846b22e4e6631ea1658bce708eb46a" - integrity sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw== +"@babel/plugin-transform-literals@^7.12.13", "@babel/plugin-transform-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-member-expression-literals@^7.10.1", "@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz#90347cba31bca6f394b3f7bd95d2bbfd9fce2f39" - integrity sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA== +"@babel/plugin-transform-member-expression-literals@^7.12.13", "@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-modules-amd@^7.10.1", "@babel/plugin-transform-modules-amd@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz#65950e8e05797ebd2fe532b96e19fc5482a1d52a" - integrity sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw== +"@babel/plugin-transform-modules-amd@^7.12.13", "@babel/plugin-transform-modules-amd@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz#43db16249b274ee2e551e2422090aa1c47692d56" + integrity sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA== dependencies: - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.10.1", "@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz#d5ff4b4413ed97ffded99961056e1fb980fb9301" - integrity sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg== +"@babel/plugin-transform-modules-commonjs@^7.12.13", "@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz#5043b870a784a8421fa1fd9136a24f294da13e50" + integrity sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ== dependencies: - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-simple-access" "^7.10.1" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-simple-access" "^7.12.13" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.10.3", "@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz#004ae727b122b7b146b150d50cba5ffbff4ac56b" - integrity sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A== +"@babel/plugin-transform-modules-systemjs@^7.12.13", "@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" + integrity sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA== dependencies: - "@babel/helper-hoist-variables" "^7.10.3" - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-hoist-variables" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.10.1", "@babel/plugin-transform-modules-umd@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz#ea080911ffc6eb21840a5197a39ede4ee67b1595" - integrity sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA== +"@babel/plugin-transform-modules-umd@^7.12.13", "@babel/plugin-transform-modules-umd@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz#26c66f161d3456674e344b4b1255de4d530cfb37" + integrity sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w== dependencies: - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.3", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz#a4f8444d1c5a46f35834a410285f2c901c007ca6" - integrity sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" -"@babel/plugin-transform-new-target@^7.10.1", "@babel/plugin-transform-new-target@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz#6ee41a5e648da7632e22b6fb54012e87f612f324" - integrity sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw== +"@babel/plugin-transform-new-target@^7.12.13", "@babel/plugin-transform-new-target@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-object-super@^7.10.1", "@babel/plugin-transform-object-super@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz#2e3016b0adbf262983bf0d5121d676a5ed9c4fde" - integrity sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw== +"@babel/plugin-transform-object-super@^7.12.13", "@babel/plugin-transform-object-super@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" -"@babel/plugin-transform-parameters@^7.10.1", "@babel/plugin-transform-parameters@^7.8.7": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz#b25938a3c5fae0354144a720b07b32766f683ddd" - integrity sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg== +"@babel/plugin-transform-parameters@^7.12.13", "@babel/plugin-transform-parameters@^7.8.7": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz#461e76dfb63c2dfd327b8a008a9e802818ce9853" + integrity sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA== dependencies: - "@babel/helper-get-function-arity" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-property-literals@^7.10.1", "@babel/plugin-transform-property-literals@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz#cffc7315219230ed81dc53e4625bf86815b6050d" - integrity sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA== +"@babel/plugin-transform-property-literals@^7.12.13", "@babel/plugin-transform-property-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.10.1.tgz#c7f117a54657cba3f9d32012e050fc89982df9e1" - integrity sha512-V4os6bkWt/jbrzfyVcZn2ZpuHZkvj3vyBU0U/dtS8SZuMS7Rfx5oknTrtfyXJ2/QZk8gX7Yls5Z921ItNpE30Q== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.13.tgz#f8ee56888545d53d80f766b3cc1563ab2c241f92" + integrity sha512-qmzKVTn46Upvtxv8LQoQ8mTCdUC83AOVQIQm57e9oekLT5cmK9GOMOfcWhe8jMNx4UJXn/UDhVZ/7lGofVNeDQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-react-display-name@7.8.3": version "7.8.3" @@ -739,69 +736,66 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-display-name@^7.10.1", "@babel/plugin-transform-react-display-name@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.3.tgz#e3c246e1b4f3e52cc7633e237ad9194c0ec482e7" - integrity sha512-dOV44bnSW5KZ6kYF6xSHBth7TFiHHZReYXH/JH3XnFNV+soEL1F5d8JT7AJ3ZBncd19Qul7SN4YpBnyWOnQ8KA== +"@babel/plugin-transform-react-display-name@^7.12.13", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" + integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== dependencies: - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-react-jsx-development@^7.10.1", "@babel/plugin-transform-react-jsx-development@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.1.tgz#1ac6300d8b28ef381ee48e6fec430cc38047b7f3" - integrity sha512-XwDy/FFoCfw9wGFtdn5Z+dHh6HXKHkC6DwKNWpN74VWinUagZfDcEJc3Y8Dn5B3WMVnAllX8Kviaw7MtC5Epwg== +"@babel/plugin-transform-react-jsx-development@^7.12.12", "@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447" + integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ== dependencies: - "@babel/helper-builder-react-jsx-experimental" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-jsx" "^7.10.1" + "@babel/plugin-transform-react-jsx" "^7.12.17" -"@babel/plugin-transform-react-jsx-self@^7.10.1", "@babel/plugin-transform-react-jsx-self@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.1.tgz#22143e14388d72eb88649606bb9e46f421bc3821" - integrity sha512-4p+RBw9d1qV4S749J42ZooeQaBomFPrSxa9JONLHJ1TxCBo3TzJ79vtmG2S2erUT8PDDrPdw4ZbXGr2/1+dILA== +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz#422d99d122d592acab9c35ea22a6cfd9bf189f60" + integrity sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-jsx" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-react-jsx-source@^7.10.1", "@babel/plugin-transform-react-jsx-source@^7.9.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.1.tgz#30db3d4ee3cdebbb26a82a9703673714777a4273" - integrity sha512-neAbaKkoiL+LXYbGDvh6PjPG+YeA67OsZlE78u50xbWh2L1/C81uHiNP5d1fw+uqUIoiNdCC8ZB+G4Zh3hShJA== +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz#051d76126bee5c9a6aa3ba37be2f6c1698856bcb" + integrity sha512-O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-jsx" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-react-jsx@^7.10.1", "@babel/plugin-transform-react-jsx@^7.9.1": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.3.tgz#c07ad86b7c159287c89b643f201f59536231048e" - integrity sha512-Y21E3rZmWICRJnvbGVmDLDZ8HfNDIwjGF3DXYHx1le0v0mIHCs0Gv5SavyW5Z/jgAHLaAoJPiwt+Dr7/zZKcOQ== +"@babel/plugin-transform-react-jsx@^7.12.13", "@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.9.1": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.17.tgz#dd2c1299f5e26de584939892de3cfc1807a38f24" + integrity sha512-mwaVNcXV+l6qJOuRhpdTEj8sT/Z0owAVWf9QujTZ0d2ye9X/K+MTOTSizcgKOj18PGnTc/7g1I4+cIUjsKhBcw== dependencies: - "@babel/helper-builder-react-jsx" "^7.10.3" - "@babel/helper-builder-react-jsx-experimental" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/plugin-syntax-jsx" "^7.10.1" + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/types" "^7.12.17" -"@babel/plugin-transform-react-pure-annotations@^7.10.1": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.3.tgz#97840981673fcb0df2cc33fb25b56cc421f7deef" - integrity sha512-n/fWYGqvTl7OLZs/QcWaKMFdADPvC3V6jYuEOpPyvz97onsW9TXn196fHnHW1ZgkO20/rxLOgKnEtN1q9jkgqA== +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-regenerator@^7.10.3", "@babel/plugin-transform-regenerator@^7.8.7": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz#6ec680f140a5ceefd291c221cb7131f6d7e8cb6d" - integrity sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw== +"@babel/plugin-transform-regenerator@^7.12.13", "@babel/plugin-transform-regenerator@^7.8.7": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" + integrity sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.10.1", "@babel/plugin-transform-reserved-words@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz#0fc1027312b4d1c3276a57890c8ae3bcc0b64a86" - integrity sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ== +"@babel/plugin-transform-reserved-words@^7.12.13", "@babel/plugin-transform-reserved-words@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-runtime@7.9.0": version "7.9.0" @@ -813,66 +807,65 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.10.1", "@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz#e8b54f238a1ccbae482c4dce946180ae7b3143f3" - integrity sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g== +"@babel/plugin-transform-shorthand-properties@^7.12.13", "@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-spread@^7.10.1", "@babel/plugin-transform-spread@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz#0c6d618a0c4461a274418460a28c9ccf5239a7c8" - integrity sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw== +"@babel/plugin-transform-spread@^7.12.13", "@babel/plugin-transform-spread@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz#ca0d5645abbd560719c354451b849f14df4a7949" + integrity sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@babel/plugin-transform-sticky-regex@^7.10.1", "@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz#90fc89b7526228bed9842cff3588270a7a393b00" - integrity sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA== +"@babel/plugin-transform-sticky-regex@^7.12.13", "@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-regex" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-template-literals@^7.10.3", "@babel/plugin-transform-template-literals@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz#69d39b3d44b31e7b4864173322565894ce939b25" - integrity sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA== +"@babel/plugin-transform-template-literals@^7.12.13", "@babel/plugin-transform-template-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz#655037b07ebbddaf3b7752f55d15c2fd6f5aa865" + integrity sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-typeof-symbol@^7.10.1", "@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz#60c0239b69965d166b80a84de7315c1bc7e0bb0e" - integrity sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g== +"@babel/plugin-transform-typeof-symbol@^7.12.13", "@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-typescript@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.10.3.tgz#b3b35fb34ef0bd628b4b8329b0e5f985369201d4" - integrity sha512-qU9Lu7oQyh3PGMQncNjQm8RWkzw6LqsWZQlZPQMgrGt6s3YiBIaQ+3CQV/FA/icGS5XlSWZGwo/l8ErTyelS0Q== + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.17.tgz#4aa6a5041888dd2e5d316ec39212b0cf855211bb" + integrity sha512-1bIYwnhRoetxkFonuZRtDZPFEjl1l5r+3ITkxLC3mlMaFja+GQFo94b/WHEPjqWLU9Bc+W4oFZbvCGe9eYMu1g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/plugin-syntax-typescript" "^7.10.1" + "@babel/helper-create-class-features-plugin" "^7.12.17" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-typescript" "^7.12.13" -"@babel/plugin-transform-unicode-escapes@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz#add0f8483dab60570d9e03cecef6c023aa8c9940" - integrity sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw== +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-unicode-regex@^7.10.1", "@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz#6b58f2aea7b68df37ac5025d9c88752443a6b43f" - integrity sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw== +"@babel/plugin-transform-unicode-regex@^7.12.13", "@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/preset-env@7.9.0": version "7.9.0" @@ -941,79 +934,81 @@ semver "^5.5.0" "@babel/preset-env@^7.4.5": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.3.tgz#3e58c9861bbd93b6a679987c7e4bd365c56c80c9" - integrity sha512-jHaSUgiewTmly88bJtMHbOd1bJf2ocYxb5BWKSDQIP5tmgFuS/n0gl+nhSrYDhT33m0vPxp+rP8oYYgPgMNQlg== - dependencies: - "@babel/compat-data" "^7.10.3" - "@babel/helper-compilation-targets" "^7.10.2" - "@babel/helper-module-imports" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/plugin-proposal-async-generator-functions" "^7.10.3" - "@babel/plugin-proposal-class-properties" "^7.10.1" - "@babel/plugin-proposal-dynamic-import" "^7.10.1" - "@babel/plugin-proposal-json-strings" "^7.10.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1" - "@babel/plugin-proposal-numeric-separator" "^7.10.1" - "@babel/plugin-proposal-object-rest-spread" "^7.10.3" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.1" - "@babel/plugin-proposal-optional-chaining" "^7.10.3" - "@babel/plugin-proposal-private-methods" "^7.10.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.1" + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.17.tgz#94a3793ff089c32ee74d76a3c03a7597693ebaaa" + integrity sha512-9PMijx8zFbCwTHrd2P4PJR5nWGH3zWebx2OcpTjqQrHhCiL2ssSR2Sc9ko2BsI2VmVBfoaQmPrlMTCui4LmXQg== + dependencies: + "@babel/compat-data" "^7.12.13" + "@babel/helper-compilation-targets" "^7.12.17" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-proposal-async-generator-functions" "^7.12.13" + "@babel/plugin-proposal-class-properties" "^7.12.13" + "@babel/plugin-proposal-dynamic-import" "^7.12.17" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.12.13" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.13" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.12.13" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.12.17" + "@babel/plugin-proposal-private-methods" "^7.12.13" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.1" + "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.1" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.1" - "@babel/plugin-transform-arrow-functions" "^7.10.1" - "@babel/plugin-transform-async-to-generator" "^7.10.1" - "@babel/plugin-transform-block-scoped-functions" "^7.10.1" - "@babel/plugin-transform-block-scoping" "^7.10.1" - "@babel/plugin-transform-classes" "^7.10.3" - "@babel/plugin-transform-computed-properties" "^7.10.3" - "@babel/plugin-transform-destructuring" "^7.10.1" - "@babel/plugin-transform-dotall-regex" "^7.10.1" - "@babel/plugin-transform-duplicate-keys" "^7.10.1" - "@babel/plugin-transform-exponentiation-operator" "^7.10.1" - "@babel/plugin-transform-for-of" "^7.10.1" - "@babel/plugin-transform-function-name" "^7.10.1" - "@babel/plugin-transform-literals" "^7.10.1" - "@babel/plugin-transform-member-expression-literals" "^7.10.1" - "@babel/plugin-transform-modules-amd" "^7.10.1" - "@babel/plugin-transform-modules-commonjs" "^7.10.1" - "@babel/plugin-transform-modules-systemjs" "^7.10.3" - "@babel/plugin-transform-modules-umd" "^7.10.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.3" - "@babel/plugin-transform-new-target" "^7.10.1" - "@babel/plugin-transform-object-super" "^7.10.1" - "@babel/plugin-transform-parameters" "^7.10.1" - "@babel/plugin-transform-property-literals" "^7.10.1" - "@babel/plugin-transform-regenerator" "^7.10.3" - "@babel/plugin-transform-reserved-words" "^7.10.1" - "@babel/plugin-transform-shorthand-properties" "^7.10.1" - "@babel/plugin-transform-spread" "^7.10.1" - "@babel/plugin-transform-sticky-regex" "^7.10.1" - "@babel/plugin-transform-template-literals" "^7.10.3" - "@babel/plugin-transform-typeof-symbol" "^7.10.1" - "@babel/plugin-transform-unicode-escapes" "^7.10.1" - "@babel/plugin-transform-unicode-regex" "^7.10.1" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.12.13" + "@babel/plugin-transform-async-to-generator" "^7.12.13" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.12.13" + "@babel/plugin-transform-classes" "^7.12.13" + "@babel/plugin-transform-computed-properties" "^7.12.13" + "@babel/plugin-transform-destructuring" "^7.12.13" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.12.13" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.12.13" + "@babel/plugin-transform-modules-commonjs" "^7.12.13" + "@babel/plugin-transform-modules-systemjs" "^7.12.13" + "@babel/plugin-transform-modules-umd" "^7.12.13" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.12.13" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.12.13" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.12.13" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.10.3" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" + "@babel/types" "^7.12.17" + core-js-compat "^3.8.0" semver "^5.5.0" "@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" @@ -1034,17 +1029,15 @@ "@babel/plugin-transform-react-jsx-source" "^7.9.0" "@babel/preset-react@^7.0.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.10.1.tgz#e2ab8ae9a363ec307b936589f07ed753192de041" - integrity sha512-Rw0SxQ7VKhObmFjD/cUcKhPTtzpeviEFX1E6PgP+cYOhQ98icNqtINNFANlsdbQHrmeWnqdxA4Tmnl1jy5tp3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-transform-react-display-name" "^7.10.1" - "@babel/plugin-transform-react-jsx" "^7.10.1" - "@babel/plugin-transform-react-jsx-development" "^7.10.1" - "@babel/plugin-transform-react-jsx-self" "^7.10.1" - "@babel/plugin-transform-react-jsx-source" "^7.10.1" - "@babel/plugin-transform-react-pure-annotations" "^7.10.1" + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.13.tgz#5f911b2eb24277fa686820d5bd81cad9a0602a0a" + integrity sha512-TYM0V9z6Abb6dj1K7i5NrEhA13oS5ujUYQYDfqIBXYHOc2c2VkFgc+q9kyssIyUfy4/hEwqrgSlJ/Qgv8zJLsA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-react-display-name" "^7.12.13" + "@babel/plugin-transform-react-jsx" "^7.12.13" + "@babel/plugin-transform-react-jsx-development" "^7.12.12" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" "@babel/preset-typescript@7.9.0": version "7.9.0" @@ -1054,10 +1047,10 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typescript" "^7.9.0" -"@babel/runtime-corejs3@^7.8.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.3.tgz#931ed6941d3954924a7aa967ee440e60c507b91a" - integrity sha512-HA7RPj5xvJxQl429r5Cxr2trJwOfPjKiqhCXcdQPSqO2G0RHPZpXu4fkYmBaTKCp2c/jRaMK9GB/lN+7zvvFPw== +"@babel/runtime-corejs3@^7.12.1": + version "7.12.18" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.18.tgz#e5663237e5658e4c09586995d2dd6d2c8cfd6fc0" + integrity sha512-ngR7yhNTjDxxe1VYmhqQqqXZWujGb6g0IoA4qeG6MxNGRnIw2Zo8ImY8HfaQ7l3T6GklWhdNfyhWk0C0iocdVA== dependencies: core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" @@ -1069,44 +1062,44 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.3.tgz#670d002655a7c366540c67f6fd3342cd09500364" - integrity sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.12.18" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.18.tgz#af137bd7e7d9705a412b3caaf991fe6aaa97831b" + integrity sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.1", "@babel/template@^7.10.3", "@babel/template@^7.4.0", "@babel/template@^7.8.6": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.3.tgz#4d13bc8e30bf95b0ce9d175d30306f42a2c9a7b8" - integrity sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/parser" "^7.10.3" - "@babel/types" "^7.10.3" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1", "@babel/traverse@^7.10.3", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.3.tgz#0b01731794aa7b77b214bcd96661f18281155d7e" - integrity sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/generator" "^7.10.3" - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/parser" "^7.10.3" - "@babel/types" "^7.10.3" +"@babel/template@^7.12.13", "@babel/template@^7.4.0", "@babel/template@^7.8.6": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.17", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.17.tgz#40ec8c7ffb502c4e54c7f95492dc11b88d718619" + integrity sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.12.17" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.12.17" + "@babel/types" "^7.12.17" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.1", "@babel/types@^7.10.3", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.3.tgz#6535e3b79fea86a6b09e012ea8528f935099de8e" - integrity sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA== +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.17", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.17.tgz#9d711eb807e0934c90b8b1ca0eb1f7230d150963" + integrity sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ== dependencies: - "@babel/helper-validator-identifier" "^7.10.3" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" to-fast-properties "^2.0.0" "@cnakazawa/watch@^1.0.3": @@ -1127,22 +1120,15 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== -"@emotion/is-prop-valid@^0.8.1": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" - integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== +"@graphiql/toolkit@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@graphiql/toolkit/-/toolkit-0.1.1.tgz#a7da3ba460ceae27bcdc8f03831ca4f88f90f3d7" + integrity sha512-cvsuaPkOA6/TZOdqEdvzqr7i+or2STTpSsteyDkrUXrwftRnH9ZfiUwnHPyf0AC2cKMwpP/Dny/UTS6CLC8ZNQ== dependencies: - "@emotion/memoize" "0.7.4" - -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== - -"@emotion/unitless@^0.7.0": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + "@n1ru4l/push-pull-async-iterable-iterator" "^2.0.1" + graphql-ws "^4.1.0" + meros "^1.1.2" + subscriptions-transport-ws "^0.9.18" "@hapi/address@2.x.x": version "2.1.4" @@ -1332,55 +1318,16 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@n1ru4l/push-pull-async-iterable-iterator@^2.0.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-2.1.2.tgz#e486bf86c4c29e78601694a26f31c2dec0c08d9b" + integrity sha512-KwZGeX2XK7Xj9ksWwei5923QnqIGoEuLlh3O46OW9vc8hQxjzmMTKCgJMVZ5ne5xaWFQYDT2dMpbUhq6hEOhxA== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@redux-saga/core@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@redux-saga/core/-/core-1.1.3.tgz#3085097b57a4ea8db5528d58673f20ce0950f6a4" - integrity sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg== - dependencies: - "@babel/runtime" "^7.6.3" - "@redux-saga/deferred" "^1.1.2" - "@redux-saga/delay-p" "^1.1.2" - "@redux-saga/is" "^1.1.2" - "@redux-saga/symbols" "^1.1.2" - "@redux-saga/types" "^1.1.0" - redux "^4.0.4" - typescript-tuple "^2.2.1" - -"@redux-saga/deferred@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/deferred/-/deferred-1.1.2.tgz#59937a0eba71fff289f1310233bc518117a71888" - integrity sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ== - -"@redux-saga/delay-p@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/delay-p/-/delay-p-1.1.2.tgz#8f515f4b009b05b02a37a7c3d0ca9ddc157bb355" - integrity sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g== - dependencies: - "@redux-saga/symbols" "^1.1.2" - -"@redux-saga/is@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/is/-/is-1.1.2.tgz#ae6c8421f58fcba80faf7cadb7d65b303b97e58e" - integrity sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w== - dependencies: - "@redux-saga/symbols" "^1.1.2" - "@redux-saga/types" "^1.1.0" - -"@redux-saga/symbols@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@redux-saga/symbols/-/symbols-1.1.2.tgz#216a672a487fc256872b8034835afc22a2d0595d" - integrity sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ== - -"@redux-saga/types@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.1.0.tgz#0e81ce56b4883b4b2a3001ebe1ab298b84237204" - integrity sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg== - "@svgr/babel-plugin-add-jsx-attribute@^4.2.0": version "4.2.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" @@ -1485,9 +1432,9 @@ loader-utils "^1.2.3" "@types/babel__core@^7.1.0": - version "7.1.9" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" - integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1496,41 +1443,36 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.12.tgz#22f49a028e69465390f87bb103ebd61bd086b8f5" - integrity sha512-t4CoEokHTfcyfb4hUaF9oOHu9RmmNWnm1CP0YmMqOOfClKascOmvlEM736vlqeScuGvBDsHkf8R2INd4DWreQA== + version "7.11.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== dependencies: "@babel/types" "^7.3.0" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/eslint-visitor-keys@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== "@types/glob@^7.1.1": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.2.tgz#06ca26521353a545d94a0adc74f38a59d232c987" - integrity sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA== + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== dependencies: "@types/minimatch" "*" "@types/node" "*" @@ -1555,15 +1497,10 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" - integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== - -"@types/lru-cache@^4.1.1": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-4.1.2.tgz#528ba392658055dba78fc3be906ca338a1a2d1c5" - integrity sha512-ve2IoUJClE+4S/sG2zoLGEHP6DCvqgyz7UkHZdiICdQaAYRaCXsRWfJlbL8B0KvUyo9lgzD+oR0YSy4YikFyFQ== +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== "@types/minimatch@*": version "3.0.3" @@ -1571,9 +1508,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "14.0.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.14.tgz#24a0b5959f16ac141aeb0c5b3cd7a15b7c64cbce" - integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ== + version "14.14.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" + integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== "@types/parse-json@^4.0.0": version "4.0.0" @@ -1591,14 +1528,14 @@ integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^13.0.0": - version "13.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.9.tgz#44028e974343c7afcf3960f1a2b1099c39a7b5e1" - integrity sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg== + version "13.0.11" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" + integrity sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ== dependencies: "@types/yargs-parser" "*" @@ -1791,13 +1728,6 @@ "@webassemblyjs/wast-parser" "1.8.5" "@xtuc/long" "4.2.2" -"@wry/equality@^0.1.2": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" - integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== - dependencies: - tslib "^1.9.3" - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -1809,9 +1739,9 @@ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abab@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" @@ -1830,34 +1760,29 @@ acorn-globals@^4.1.0, acorn-globals@^4.3.0: acorn-walk "^6.0.1" acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn-walk@^6.0.1: version "6.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - acorn@^5.5.3: version "5.7.4" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== acorn@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" - integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== address@1.1.2, address@^1.0.1: version "1.1.2" @@ -1876,9 +1801,9 @@ adjust-sourcemap-loader@2.0.0: regex-parser "2.2.10" aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" @@ -1888,15 +1813,15 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.5.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.0.tgz#5c894537098785926d71e696114a53ce768ed773" - integrity sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw== +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1963,11 +1888,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" anymatch@^2.0.0: @@ -1986,52 +1910,6 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-link-http-common@^0.2.16: - version "0.2.16" - resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc" - integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg== - dependencies: - apollo-link "^1.2.14" - ts-invariant "^0.4.0" - tslib "^1.9.3" - -apollo-link-http@^1.5.16: - version "1.5.17" - resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba" - integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg== - dependencies: - apollo-link "^1.2.14" - apollo-link-http-common "^0.2.16" - tslib "^1.9.3" - -apollo-link-ws@^1.0.19, apollo-link-ws@^1.0.8: - version "1.0.20" - resolved "https://registry.yarnpkg.com/apollo-link-ws/-/apollo-link-ws-1.0.20.tgz#dfad44121f8445c6d7b7f8101a1b24813ba008ed" - integrity sha512-mjSFPlQxmoLArpHBeUb2Xj+2HDYeTaJqFGOqQ+I8NVJxgL9lJe84PDWcPah/yMLv3rB7QgBDSuZ0xoRFBPlySw== - dependencies: - apollo-link "^1.2.14" - tslib "^1.9.3" - -apollo-link@^1.2.13, apollo-link@^1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" - integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== - dependencies: - apollo-utilities "^1.3.0" - ts-invariant "^0.4.0" - tslib "^1.9.3" - zen-observable-ts "^0.8.21" - -apollo-utilities@^1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" - integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== - dependencies: - "@wry/equality" "^0.1.2" - fast-json-stable-stringify "^2.0.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" - aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -2088,12 +1966,14 @@ array-flatten@^2.1.0: integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-includes@^3.0.3, array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8" + integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.1" + get-intrinsic "^1.0.1" is-string "^1.0.5" array-union@^1.0.1: @@ -2114,31 +1994,33 @@ array-unique@^0.3.2: integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= array.prototype.flat@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@~2.0.3, asap@~2.0.6: +asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -2210,13 +2092,13 @@ atob@^2.1.2: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.6.1: - version "9.8.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.4.tgz#736f1012673a70fa3464671d78d41abd54512863" - integrity sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A== + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: browserslist "^4.12.0" - caniuse-lite "^1.0.30001087" - colorette "^1.2.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" postcss "^7.0.32" @@ -2228,9 +2110,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axobject-query@^2.0.2: version "2.2.0" @@ -2323,24 +2205,9 @@ babel-plugin-macros@2.8.0: resolve "^1.12.0" babel-plugin-named-asset-import@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" - integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA== - -"babel-plugin-styled-components@>= 1": - version "1.10.7" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.7.tgz#3494e77914e9989b33cc2d7b3b29527a949d635c" - integrity sha512-MBMHGcIA22996n9hZRf/UJLVVgkEOITuR2SvjHLb5dSTUyR4ZRGn+ngITapes36FI3WLxZHfRhkA1ffHxihOrg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-module-imports" "^7.0.0" - babel-plugin-syntax-jsx "^6.18.0" - lodash "^4.17.11" - -babel-plugin-syntax-jsx@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= + version "0.3.7" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" + integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" @@ -2389,7 +2256,7 @@ babel-preset-react-app@^9.1.2: babel-plugin-macros "2.8.0" babel-plugin-transform-react-remove-prop-types "0.4.24" -babel-runtime@^6.11.6, babel-runtime@^6.26.0: +babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -2413,9 +2280,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -2442,16 +2309,6 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bfj@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" - integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== - dependencies: - bluebird "^3.5.5" - check-types "^8.0.3" - hoopy "^0.1.4" - tryer "^1.0.1" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -2463,9 +2320,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bindings@^1.5.0: version "1.5.0" @@ -2479,15 +2336,15 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: version "4.11.9" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" - integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== body-parser@1.19.0: version "1.19.0" @@ -2522,13 +2379,6 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boom@7.x.x: - version "7.3.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-7.3.0.tgz#733a6d956d33b0b1999da3fe6c12996950d017b9" - integrity sha512-Swpoyi2t5+GhOEGw8rEsKvTxFLIDiiKoUc2gsoV6Lyr43LHBIzch3k2MvYUs8RTROrIkVJ3Al0TkaOGjnb+B6A== - dependencies: - hoek "6.x.x" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2560,16 +2410,11 @@ braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browser-fingerprint@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/browser-fingerprint/-/browser-fingerprint-0.0.1.tgz#8df3cdca25bf7d5b3542d61545d730053fce604a" - integrity sha1-jfPNyiW/fVs1QtYVRdcwBT/OYEo= - browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" @@ -2614,23 +2459,23 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" - integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: bn.js "^5.1.1" browserify-rsa "^4.0.1" create-hash "^1.2.0" create-hmac "^1.1.7" - elliptic "^6.5.2" + elliptic "^6.5.3" inherits "^2.0.4" parse-asn1 "^5.1.5" readable-stream "^3.6.0" @@ -2653,15 +2498,16 @@ browserslist@4.10.0: node-releases "^1.1.52" pkg-up "^3.1.0" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.5, browserslist@^4.9.1: - version "4.12.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.1.tgz#6d08bef149b70d153930780ba762644e0f329122" - integrity sha512-WMjXwFtPskSW1pQUDJRxvRKRkeCr7usN0O/Za76N+F4oadaTdQHotSGcX9jT/Hs7mSKPkyMFNvqawB/1HzYDKQ== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== dependencies: - caniuse-lite "^1.0.30001088" - electron-to-chromium "^1.3.481" - escalade "^3.0.1" - node-releases "^1.1.58" + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" bser@2.1.1: version "2.1.1" @@ -2769,10 +2615,13 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -calculate-size@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/calculate-size/-/calculate-size-1.1.1.tgz#ae7caa1c7795f82c4f035dc7be270e3581dae3ee" - integrity sha1-rnyqHHeV+CxPA13HvicONYHa4+4= +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" call-me-maybe@^1.0.1: version "1.0.1" @@ -2804,12 +2653,12 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" - integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: - pascal-case "^3.1.1" - tslib "^1.10.0" + pascal-case "^3.1.2" + tslib "^2.0.3" camelcase@5.0.0: version "5.0.0" @@ -2821,11 +2670,6 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelize@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" - integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= - caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -2836,10 +2680,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001087, caniuse-lite@^1.0.30001088: - version "1.0.30001088" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001088.tgz#23a6b9e192106107458528858f2c0e0dba0d9073" - integrity sha512-6eYUrlShRYveyqKG58HcyOfPgh3zb2xqs7NvT2VVtP3hEUeeWvc3lqhpeMTxYWBBeeaT9A4bKsrtjATm66BTHg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001181: + version "1.0.30001190" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001190.tgz#acc6d4a53c68be16cfc314d55c9cab637e558cba" + integrity sha512-62KVw474IK8E+bACBYhRS0/L6o/1oeAVkpF2WetjV58S5vkzNh0/Rz3lD8D4YCbOTqi0/aD4X3LtoP7V5xnuAg== capture-exit@^2.0.0: version "2.0.0" @@ -2878,10 +2722,10 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== +chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -2891,11 +2735,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-types@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" - integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== - chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -2915,10 +2754,10 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.3.0, chokidar@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" - integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== +chokidar@^3.3.0, chokidar@^3.4.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -2926,9 +2765,9 @@ chokidar@^3.3.0, chokidar@^3.4.0: is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.5.0" optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.1" chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" @@ -2965,11 +2804,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" @@ -2994,6 +2828,11 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -3032,11 +2871,6 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clsx@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3056,26 +2890,18 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codemirror-graphql@^0.11.6: - version "0.11.6" - resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-0.11.6.tgz#885e34afb5b7aacf0e328d4d5949e73ad21d5a4e" - integrity sha512-/zVKgOVS2/hfjAY0yoBkLz9ESHnWKBWpBNXQSoFF4Hl5q5AS2DmM22coonWKJcCvNry6TLak2F+QkzPeKVv3Eg== - dependencies: - graphql-language-service-interface "^2.3.3" - graphql-language-service-parser "^1.5.2" - -codemirror-graphql@^0.12.0-alpha.8: - version "0.12.0" - resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-0.12.0.tgz#55f782ffaaea7ff8dbda037e6b97b584dff2402a" - integrity sha512-C/0vKzQT5Uw+DLz6/MwKer29FQM52sh9Bem+VdDW42094j8nES1sdnuqj4k5ahNdQpW4FmVeoj/ngn2g3AWmgg== +codemirror-graphql@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.0.0.tgz#ba8db60dc42b87768d643b3d19bf088f43dc5380" + integrity sha512-6LnSeRldL7psIBfjDr4xXKxCqPVYfQE4Yj04p2VpIyAIpc4MVE4VOjzvILgnmAW8X93ou5/s5gQXvB4huDwTUQ== dependencies: - graphql-language-service-interface "^2.4.0" - graphql-language-service-parser "^1.6.0" + graphql-language-service-interface "^2.8.2" + graphql-language-service-parser "^1.9.0" -codemirror@^5.18.2, codemirror@^5.47.0, codemirror@^5.52.2: - version "5.55.0" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.55.0.tgz#23731f641288f202a6858fdc878f3149e0e04363" - integrity sha512-TumikSANlwiGkdF/Blnu/rqovZ0Y3Jh8yy9TqrPbSM0xxSucq3RgnpVDQ+mD9q6JERJEIT2FMuF/fBGfkhIR/g== +codemirror@^5.54.0: + version "5.59.2" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.59.2.tgz#ee674d3a4a8d241af38d52afc482625ba7393922" + integrity sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA== collection-visit@^1.0.0: version "1.0.0" @@ -3109,26 +2935,26 @@ color-name@^1.0.0, color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== dependencies: color-convert "^1.9.1" - color-string "^1.5.2" + color-string "^1.5.4" -colorette@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.0.tgz#45306add826d196e8c87236ac05d797f25982e63" - integrity sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw== +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" @@ -3137,7 +2963,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.11.0, commander@^2.18.0, commander@^2.20.0: +commander@^2.11.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -3205,9 +3031,9 @@ concat-stream@^1.5.0: typedarray "^0.0.6" confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== + version "1.0.10" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== connect-history-api-fallback@^1.6.0: version "1.6.0" @@ -3280,40 +3106,35 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-to-clipboard@^3, copy-to-clipboard@^3.0.8, copy-to-clipboard@^3.2.0: +copy-to-clipboard@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== dependencies: toggle-selection "^1.0.6" -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== +core-js-compat@^3.6.2, core-js-compat@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.0.tgz#29da39385f16b71e1915565aa0385c4e0963ad56" + integrity sha512-YK6fwFjCOKWwGnjFUR3c544YsnA/7DoLL0ysncuOJ4pwbriAtOpvM2bygdlcXbvQCQZ7bBU9CL4t7tGl7ETRpQ== dependencies: - browserslist "^4.8.5" + browserslist "^4.16.3" semver "7.0.0" core-js-pure@^3.0.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== - -core-js@^1.0.0, core-js@^1.1.1: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + version "3.9.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.9.0.tgz#326cc74e1fef8b7443a6a793ddb0adfcd81f9efb" + integrity sha512-3pEcmMZC9Cq0D4ZBh3pe2HLtqxpGNJBLXF/kZ2YzK17RbKp94w0HFbdbSx8H8kAlZG5k76hvLrkPm57Uyef+kg== core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.5.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + version "3.9.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" + integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -3342,12 +3163,12 @@ cosmiconfig@^6.0.0: yaml "^1.7.2" create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" @@ -3372,15 +3193,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.1: - version "15.6.3" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" - integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== - dependencies: - fbjs "^0.8.9" - loose-envify "^1.3.1" - object-assign "^4.1.1" - cross-spawn@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" @@ -3401,13 +3213,6 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cryptiles@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-4.1.2.tgz#363c9ab5c859da9d2d6fb901b64d980966181184" - integrity sha512-U2ALcoAHvA1oO2xOreyHvtkQ+IELqDG2WVWRI1GH/XEmmfGIOalnM5MU5Dd2ITyWfr3m6kNqXiy8XuYyd4wKJw== - dependencies: - boom "7.x.x" - crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -3432,11 +3237,6 @@ css-blank-pseudo@^0.1.4: dependencies: postcss "^7.0.5" -css-color-keywords@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" - integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= - css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -3488,17 +3288,7 @@ css-select-base-adapter@^0.1.1: resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: +css-select@^2.0.0, css-select@^2.0.2: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== @@ -3508,15 +3298,6 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-to-react-native@^2.2.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d" - integrity sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw== - dependencies: - camelize "^1.0.0" - css-color-keywords "^1.0.0" - postcss-value-parser "^3.3.0" - css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" @@ -3525,23 +3306,18 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== +css-tree@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5" + integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ== dependencies: - mdn-data "2.0.6" + mdn-data "2.0.14" source-map "^0.6.1" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - css-what@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" - integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg== + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css@^2.0.0: version "2.2.4" @@ -3637,11 +3413,11 @@ cssnano@^4.1.10: postcss "^7.0.0" csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: - css-tree "1.0.0-alpha.39" + css-tree "^1.1.2" cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: version "0.3.8" @@ -3655,20 +3431,6 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -csstype@^2.6.7: - version "2.6.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" - integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w== - -cuid@^1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/cuid/-/cuid-1.3.8.tgz#4b875e0969bad764f7ec0706cf44f5fb0831f6b7" - integrity sha1-S4deCWm612T37AcGz0T1+wgx9rc= - dependencies: - browser-fingerprint "0.0.1" - core-js "^1.1.1" - node-fingerprint "0.0.2" - cyclist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" @@ -3711,18 +3473,18 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: ms "2.0.0" debug@^3.1.1, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: - ms "^2.1.1" + ms "2.1.2" decamelize@^1.2.0: version "1.2.0" @@ -3913,21 +3675,6 @@ dom-converter@^0.2: dependencies: utila "~0.4" -dom-helpers@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== - dependencies: - "@babel/runtime" "^7.1.2" - -dom-helpers@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.4.tgz#4609680ab5c79a45f2531441f1949b79d6587f4b" - integrity sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^2.6.7" - dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -3947,9 +3694,9 @@ domelementtype@1, domelementtype@^1.3.1: integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" + integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== domexception@^1.0.1: version "1.0.1" @@ -3965,14 +3712,6 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" @@ -3981,18 +3720,18 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -dot-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" - integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + no-case "^3.0.4" + tslib "^2.0.3" dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" @@ -4006,10 +3745,15 @@ dotenv@8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dset@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dset/-/dset-3.0.0.tgz#b49ef4a6a092c2c5328618eca2ccf6885fafb431" + integrity sha512-pp0B9VgLwMem6bfSDJujcXa41swmXkhWICL1jwC7WbD/NaxXPCXO0Z1sOrVshIQaD4D/pi5lDS7NCt6qIytWaA== + duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" @@ -4034,28 +3778,23 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - -electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.481: - version "1.3.483" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.483.tgz#9269e7cfc1c8e72709824da171cbe47ca5e3ca9e" - integrity sha512-+05RF8S9rk8S0G8eBCqBRBaRq7+UN3lDs2DAvnG8SBSgQO3hjy0+qt4CmRk5eiuGbTcaicgXfPmBi31a+BD3lg== +electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.649: + version "1.3.671" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.671.tgz#8feaed6eae42d279fa4611f58c42a5a1eb81b2a0" + integrity sha512-RTD97QkdrJKaKwRv9h/wGAaoR2lGxNXEcBXS31vjitgTPwTWAbLdS7cEsBK68eEQy7p6YyT8D5BxBEYHu2SuwQ== -elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" @@ -4082,13 +3821,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -4097,28 +3829,33 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d" - integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== -entities@^2.0.0, entities@~2.0.0: +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@~2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -4129,23 +3866,43 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== +es-abstract@^1.17.2: + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" object-keys "^1.1.1" - object.assign "^4.1.0" + object.assign "^4.1.1" string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-abstract@^1.18.0-next.1: + version "1.18.0-next.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" + integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.1" + is-regex "^1.1.1" + object-inspect "^1.9.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.3" + string.prototype.trimstart "^1.0.3" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -4181,17 +3938,17 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -escalade@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.1.tgz#52568a77443f6927cd0ab9c73129137533c965ed" - integrity sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA== +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@2.0.0: +escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== @@ -4319,11 +4076,11 @@ eslint-scope@^4.0.3: estraverse "^4.1.1" eslint-scope@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - esrecurse "^4.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^1.4.3: @@ -4403,28 +4160,28 @@ esprima@^4.0.0, esprima@^4.0.1: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" + estraverse "^5.2.0" -estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: version "2.0.3" @@ -4442,14 +4199,14 @@ eventemitter3@^3.1.0: integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== eventemitter3@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== eventsource@^1.0.7: version "1.0.7" @@ -4484,11 +4241,6 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exenv@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= - exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -4519,7 +4271,7 @@ expect@^24.9.0: jest-message-util "^24.9.0" jest-regex-util "^24.9.0" -express@^4.16.3, express@^4.17.1: +express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== @@ -4663,19 +4415,6 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fbjs@^0.8.4, fbjs@^0.8.9: - version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" - figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -4713,11 +4452,6 @@ filesize@6.0.1: resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg== -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -4833,9 +4567,16 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.12.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.12.1.tgz#de54a6205311b93d60398ebc01cf7015682312b6" - integrity sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg== + version "1.13.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147" + integrity sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" for-in@^0.1.3: version "0.1.8" @@ -4969,10 +4710,10 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" @@ -4985,9 +4726,9 @@ functional-red-black-tree@^1.0.1: integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^1.0.1: version "1.0.3" @@ -4999,6 +4740,15 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -5108,120 +4858,83 @@ globby@^6.1.0: pinkie-promise "^2.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +graphiql-explorer@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/graphiql-explorer/-/graphiql-explorer-0.6.2.tgz#ea81a8770e3e68c2a97fe849b294bad94ed509e3" + integrity sha512-hYSM+TI/0IAXltMOL7YXrvnA5xrKoDjjN7qiksxca2DY7yu46cyHVHG0IKIrBozMDBQLvFOhQMPrzplErwVZ1g== -graphiql@^0.17.5: - version "0.17.5" - resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-0.17.5.tgz#76c553fc0d8936f77e33114ac3374f1807a718ff" - integrity sha512-ogNsrg9qM1py9PzcIUn+C29JukOADbjIfB6zwtfui4BrpOEpDb5UZ6TjAmSL/F/8tCt4TbgwKtkSrBeLNNUrqA== +graphiql@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-1.4.0.tgz#8b17c988720a9da5ea3ebf7ff9d86939b462655e" + integrity sha512-E/Xzfu3YnifdINrK6dKHD1G0qnWkYYK2gHQ//vApUadMb4I4lZQ399ZKt5nqM5kzrATf5FDUTuSpnkaeSoARkQ== dependencies: - codemirror "^5.47.0" - codemirror-graphql "^0.11.6" + "@graphiql/toolkit" "^0.1.0" + codemirror "^5.54.0" + codemirror-graphql "^1.0.0" copy-to-clipboard "^3.2.0" + dset "^3.0.0" entities "^2.0.0" + graphql-language-service "^3.1.2" markdown-it "^10.0.0" - regenerator-runtime "^0.13.3" -graphql-language-service-interface@^2.3.3, graphql-language-service-interface@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.4.0.tgz#4e2e63242c76197c4f56c61122db68187ea566b3" - integrity sha512-r7DQPyhCFY5TlpEukdh9tekJ9hAc7MD9TdOsb5CfAPlsIb1/faVVo2Ty19PxGSYDxygXjwpKLOQD0LqqFuw63A== +graphql-language-service-interface@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.8.2.tgz#b3bb2aef7eaf0dff0b4ea419fa412c5f66fa268b" + integrity sha512-otbOQmhgkAJU1QJgQkMztNku6SbJLu/uodoFOYOOtJsizTjrMs93vkYaHCcYnLA3oi1Goj27XcHjMnRCYQOZXQ== dependencies: - graphql-language-service-parser "^1.6.0" - graphql-language-service-types "^1.6.0" - graphql-language-service-utils "^2.4.0" + graphql-language-service-parser "^1.9.0" + graphql-language-service-types "^1.8.0" + graphql-language-service-utils "^2.5.1" vscode-languageserver-types "^3.15.1" -graphql-language-service-parser@^1.5.2, graphql-language-service-parser@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.6.0.tgz#53a97619461ed41ae237b9070e7e20cfaca56118" - integrity sha512-tkfYXl6WBECWNcsyw7O09c0oCMrxqr3JGyDNvdISDSDhvk8EwEk+AOweBEJkycJwoiv1lVlM+EdLfj7dzw4/6w== +graphql-language-service-parser@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.9.0.tgz#79af21294119a0a7e81b6b994a1af36833bab724" + integrity sha512-B5xPZLbBmIp0kHvpY1Z35I5DtPoDK9wGxQVRDIzcBaiIvAmlTrDvjo3bu7vKREdjFbYKvWNgrEWENuprMbF17Q== + dependencies: + graphql-language-service-types "^1.8.0" -graphql-language-service-types@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.6.0.tgz#32529bb9d2e3b8ae9dd6d9646e15481ac5dfe9ad" - integrity sha512-7y4pkhTL+MtarC8CeHpvRYVc6pkT6ITdQXs+Gr7OClnk4Lz5nQEK0eO29kUdd0jEnYfHyh5iqhnL5Owfy+wT0A== +graphql-language-service-types@^1.8.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.8.1.tgz#963810010924f2b5eaea415d5b8eb0b7d42c479b" + integrity sha512-IpYS0mEHEmRsFlq+loWCpSYYYizAID7Alri6GoFN1QqUdux+8rp1Tkp2NGsGDpDmm3Dbz5ojmJWzNWQGpuwveA== -graphql-language-service-utils@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.4.0.tgz#d4992a1968860abc43a118de498fec84361a4b87" - integrity sha512-aLa+8iqb7AJYgdcawsKH8/KLc14DHcRsnveshOm8hN6bBVT0YiQP6mEfJoci741O74uaDF2zj1J3c02vorichw== - dependencies: - graphql-language-service-types "^1.6.0" - -graphql-playground-react@^1.7.22: - version "1.7.23" - resolved "https://registry.yarnpkg.com/graphql-playground-react/-/graphql-playground-react-1.7.23.tgz#98689e6d6597c28c9616926639a6333190d998c7" - integrity sha512-xkVWRCqX+YXumdsXtDA/Bei8nOuudFqsIeh4YLVzkGYbpubu3HBzJP92Lq5QhGmaRqeOSqznsF6AjCctNEfh4w== - dependencies: - "@types/lru-cache" "^4.1.1" - apollo-link "^1.2.13" - apollo-link-http "^1.5.16" - apollo-link-ws "^1.0.19" - calculate-size "^1.1.1" - codemirror "^5.52.2" - codemirror-graphql "^0.12.0-alpha.8" - copy-to-clipboard "^3.0.8" - cryptiles "4.1.2" - cuid "^1.3.8" - graphiql "^0.17.5" - graphql "^15.0.0" - immutable "^4.0.0-rc.9" - isomorphic-fetch "^2.2.1" - js-yaml "^3.10.0" - json-stable-stringify "^1.0.1" - keycode "^2.1.9" - lodash "^4.17.11" - lodash.debounce "^4.0.8" - markdown-it "^8.4.1" - marked "^0.8.2" - prettier "2.0.2" - prop-types "^15.7.2" - query-string "5" - react "16.13.1" - react-addons-shallow-compare "^15.6.2" - react-codemirror "^1.0.0" - react-copy-to-clipboard "^5.0.1" - react-display-name "^0.2.3" - react-dom "^16.13.1" - react-helmet "^5.2.0" - react-input-autosize "^2.2.1" - react-modal "^3.1.11" - react-redux "^7.2.0" - react-router-dom "^4.2.2" - react-sortable-hoc "^0.8.3" - react-transition-group "^2.2.1" - react-virtualized "^9.12.0" - redux "^4.0.5" - redux-actions "^2.6.5" - redux-immutable "^4.0.0" - redux-localstorage "^1.0.0-rc5" - redux-localstorage-debounce "^0.1.0" - redux-localstorage-filter "^0.1.1" - redux-saga "^1.1.3" - reselect "^4.0.0" - seamless-immutable "^7.0.1" - styled-components "^4.0.0" - subscriptions-transport-ws "^0.9.5" - utility-types "^1.0.0" - webpack-bundle-analyzer "^3.3.2" - zen-observable "^0.7.1" - -graphql@^14.1.1, graphql@^15.0.0: - version "14.6.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49" - integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg== - dependencies: - iterall "^1.2.2" +graphql-language-service-utils@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.5.1.tgz#832ad4b0a9da03fdded756932c27e057ccf71302" + integrity sha512-Lzz723cYrYlVN4WVzIyFGg3ogoe+QYAIBfdtDboiIILoy0FTmqbyC2TOErqbmWKqO4NK9xDA95cSRFbWiHYj0g== + dependencies: + graphql-language-service-types "^1.8.0" + nullthrows "^1.0.0" + +graphql-language-service@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-3.1.2.tgz#6f50d5d824ea09c402cb02902b10e54b9da899d5" + integrity sha512-OiOH8mVE+uotrl3jGA2Pgt9k7rrI8lgw/8p+Cf6nwyEHbmIZj37vX9KoOWgpdFhuQlw824nNxWHSbz6k90xjWQ== + dependencies: + graphql-language-service-interface "^2.8.2" + graphql-language-service-types "^1.8.0" + +graphql-ws@^4.1.0: + version "4.1.6" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.1.6.tgz#9eeb8d579699b8b5a282b5758d6d0860189eb0ee" + integrity sha512-ktlbTXrTEukTsDe1q62OVjf/Jzj2wZ11pX5My2Dmfwxx5oS9EqPoOv8Y0WAZUOKmBx9Pbi8+94BFjg7lhaHSMQ== + +graphql@experimental-stream-defer: + version "15.4.0-experimental-stream-defer.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0-experimental-stream-defer.1.tgz#46ae3fd2b532284575e7ddcf6c4f08aa7fe53fa3" + integrity sha512-zlGgY7aLlIofjO0CfTpCYK/tMccnj+5jvjnkTnW5qOxYhgEltuCvpMNYOJ67gz6L1flTIigt5BVEM8JExgtW3w== growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= -gzip-size@5.1.1, gzip-size@^5.0.0: +gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== @@ -5240,11 +4953,11 @@ har-schema@^2.0.0: integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" harmony-reflect@^1.4.6: @@ -5269,7 +4982,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0, has-symbols@^1.0.1: +has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== @@ -5339,19 +5052,7 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -history@^4.7.2: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -5360,28 +5061,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@6.x.x: - version "6.1.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" - integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ== - -hoist-non-react-statics@^2.5.0: - version "2.5.5" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== - -hoist-non-react-statics@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -5420,9 +5099,9 @@ html-encoding-sniffer@^1.0.2: whatwg-encoding "^1.0.1" html-entities@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + version "1.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== html-escaper@^2.0.0: version "2.0.2" @@ -5454,7 +5133,7 @@ html-webpack-plugin@4.0.0-beta.11: tapable "^1.1.3" util.promisify "1.0.0" -htmlparser2@^3.3.0: +htmlparser2@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== @@ -5504,9 +5183,9 @@ http-errors@~1.7.2: toidentifier "1.0.0" http-parser-js@>=0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" - integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== + version "0.5.3" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== http-proxy-middleware@0.19.1: version "0.19.1" @@ -5541,7 +5220,7 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5563,9 +5242,9 @@ identity-obj-proxy@3.0.0: harmony-reflect "^1.4.6" ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" @@ -5587,11 +5266,6 @@ immer@1.10.0: resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== -immutable@^4.0.0-rc.9: - version "4.0.0-rc.12" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217" - integrity sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A== - import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -5608,9 +5282,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -5674,9 +5348,9 @@ inherits@2.0.3: integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== inquirer@7.0.4: version "7.0.4" @@ -5698,20 +5372,20 @@ inquirer@7.0.4: through "^2.3.6" inquirer@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.2.0.tgz#63ce99d823090de7eb420e4bb05e6f3449aa389a" - integrity sha512-E0c4rPwr9ByePfNlTIB8z51kK1s2n6jrHuJeEHENl/sbq2G/S1auvibgEwNR4uSyiU+PiYHqSwsgGiXjG8p5ZQ== + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" - chalk "^3.0.0" + chalk "^4.1.0" cli-cursor "^3.1.0" - cli-width "^2.0.0" + cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.15" + lodash "^4.17.19" mute-stream "0.0.8" run-async "^2.4.0" - rxjs "^6.5.3" + rxjs "^6.6.0" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" @@ -5725,15 +5399,15 @@ internal-ip@^4.3.0: ipaddr.js "^1.9.0" internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - es-abstract "^1.17.0-next.1" + get-intrinsic "^1.1.0" has "^1.0.3" - side-channel "^1.0.2" + side-channel "^1.0.4" -invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: +invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -5785,9 +5459,11 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -5818,10 +5494,10 @@ is-buffer@^1.0.2, is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== is-ci@^2.0.0: version "2.0.0" @@ -5842,6 +5518,13 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -5885,9 +5568,9 @@ is-directory@^0.3.1: integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" @@ -5942,6 +5625,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5995,11 +5683,12 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-regex@^1.0.4, is-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== +is-regex@^1.0.4, is-regex@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== dependencies: + call-bind "^1.0.2" has-symbols "^1.0.1" is-regexp@^1.0.0: @@ -6017,7 +5706,7 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -6046,11 +5735,6 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-what@^3.3.1: - version "3.9.1" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.9.1.tgz#37e222f46ae8e8169031be988ae0312295b94c8f" - integrity sha512-NWaAEnoBpkneRo5rKu7Bd9qMYNgifFMBb5uy/y8UXryruTEJMbrhcn8eCnopRnEbY3/ycD9PD34Y5Qg9bUvr3w== - is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -6068,11 +5752,6 @@ is-wsl@^2.1.1: dependencies: is-docker "^2.0.0" -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -6095,14 +5774,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -6153,7 +5824,7 @@ istanbul-reports@^2.2.6: dependencies: html-escaper "^2.0.0" -iterall@^1.2.1, iterall@^1.2.2: +iterall@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== @@ -6555,10 +6226,10 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -6647,6 +6318,11 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -6687,9 +6363,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" @@ -6723,16 +6399,6 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: array-includes "^3.1.1" object.assign "^4.1.0" -just-curry-it@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/just-curry-it/-/just-curry-it-3.1.0.tgz#ab59daed308a58b847ada166edd0a2d40766fbc5" - integrity sha512-mjzgSOFzlrurlURaHVjnQodyPNvrHrf1TbQP2XU9NSqBtHQPuHZ+Eb6TAJP7ASeJN9h9K0KXoRTs8u6ouHBKvg== - -keycode@^2.1.9: - version "2.2.0" - resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" - integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ= - killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" @@ -6910,33 +6576,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= - lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.debounce@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-3.1.1.tgz#812211c378a94cc29d5aa4e3346cf0bfce3a7df5" - integrity sha1-gSIRw3ipTMKdWqTjNGzwv846ffU= - dependencies: - lodash._getnative "^3.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -6967,29 +6611,29 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loglevel@^1.6.6: - version "1.6.8" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" - integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== + version "1.7.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" + integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" -lower-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" - integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: - tslib "^1.10.0" + tslib "^2.0.3" lru-cache@^5.1.1: version "5.1.1" @@ -6998,6 +6642,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7055,22 +6706,6 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -markdown-it@^8.4.1: - version "8.4.2" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" - integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ== - dependencies: - argparse "^1.0.7" - entities "~1.1.1" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -marked@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.8.2.tgz#4faad28d26ede351a7a1aaa5fec67915c869e355" - integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== - md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -7080,16 +6715,16 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== - mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -7109,11 +6744,6 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memoize-one@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== - memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -7130,17 +6760,10 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -merge-anything@^2.2.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-2.4.4.tgz#6226b2ac3d3d3fc5fb9e8d23aa400df25f98fdf0" - integrity sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ== - dependencies: - is-what "^3.3.1" - merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" + integrity sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA== dependencies: arr-union "^3.1.0" clone-deep "^0.2.4" @@ -7161,6 +6784,11 @@ merge2@^1.2.3: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +meros@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/meros/-/meros-1.1.2.tgz#12d5f520458ba8ae1536092824c1744fa09cf79d" + integrity sha512-BvOjEcEtGBOSts+lCCuqDe4LhSvzwQsQNxDB86ZY8RiAVQsPcmzxqm1/OjBBWv7vCufEEq8jstf4QJBBAHlDXg== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -7198,17 +6826,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.46.0, "mime-db@>= 1.43.0 < 2": + version "1.46.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + version "2.1.29" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== dependencies: - mime-db "1.44.0" + mime-db "1.46.0" mime@1.6.0: version "1.6.0" @@ -7216,9 +6844,9 @@ mime@1.6.0: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" @@ -7240,7 +6868,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= @@ -7272,9 +6900,9 @@ minipass-flush@^1.0.5: minipass "^3.0.0" minipass-pipeline@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34" - integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" @@ -7317,7 +6945,7 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7346,11 +6974,16 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -7370,9 +7003,9 @@ mute-stream@0.0.8: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== nanomatch@^1.2.9: version "1.2.13" @@ -7402,9 +7035,9 @@ negotiator@0.6.2: integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== next-tick@~1.0.0: version "1.0.0" @@ -7416,31 +7049,18 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -no-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" - integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== - dependencies: - lower-case "^2.0.1" - tslib "^1.10.0" - -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-fingerprint@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/node-fingerprint/-/node-fingerprint-0.0.2.tgz#31cbabeb71a67ae7dd5a7dc042e51c3c75868501" - integrity sha1-Mcur63GmeufdWn3AQuUcPHWGhQE= + lower-case "^2.0.2" + tslib "^2.0.3" -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== node-int64@^0.4.0: version "0.4.0" @@ -7492,10 +7112,10 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-releases@^1.1.52, node-releases@^1.1.58: - version "1.1.58" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935" - integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg== +node-releases@^1.1.52, node-releases@^1.1.70: + version "1.1.70" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" + integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== normalize-package-data@^2.3.2: version "2.5.0" @@ -7546,13 +7166,18 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: +nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" +nullthrows@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -7588,24 +7213,24 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-hash@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09" + integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ== -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-inspect@^1.8.0, object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== + version "1.1.4" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.4.tgz#63d6c83c00a43f4cbc9434eb9757c8a5b8565068" + integrity sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.5" -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -7622,42 +7247,44 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== +object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" object.entries@^1.1.0, object.entries@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" - integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.1" has "^1.0.3" object.fromentries@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" - integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.3.tgz#13cefcffa702dc67750314a3305e8cb3fad1d072" + integrity sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" + es-abstract "^1.18.0-next.1" has "^1.0.3" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" + integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" object.pick@^1.3.0: version "1.3.0" @@ -7667,13 +7294,13 @@ object.pick@^1.3.0: isobject "^3.0.1" object.values@^1.1.0, object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731" + integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" + es-abstract "^1.18.0-next.1" has "^1.0.3" obuf@^1.0.0, obuf@^1.1.2: @@ -7701,25 +7328,20 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: wrappy "1" onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.4.tgz#c28a9d315e5c98340bf979fdcb2e58664aa10d83" - integrity sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ== + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" is-wsl "^2.1.1" -opener@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" - integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== - opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -7879,12 +7501,12 @@ parallel-transform@^1.1.0: readable-stream "^2.1.5" param-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" - integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: - dot-case "^3.0.3" - tslib "^1.10.0" + dot-case "^3.0.4" + tslib "^2.0.3" parent-module@^1.0.0: version "1.0.1" @@ -7894,13 +7516,12 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -7921,13 +7542,13 @@ parse-json@^4.0.0: json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" parse5@4.0.0: @@ -7945,13 +7566,13 @@ parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascal-case@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" - integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + no-case "^3.0.4" + tslib "^2.0.3" pascalcase@^0.1.1: version "0.1.1" @@ -8015,13 +7636,6 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -8144,13 +7758,13 @@ pnp-webpack-plugin@1.6.4: ts-pnp "^1.1.6" portfinder@^1.0.25: - version "1.0.26" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" - integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== dependencies: async "^2.6.2" debug "^3.1.1" - mkdirp "^0.5.1" + mkdirp "^0.5.5" posix-character-classes@^0.1.0: version "0.1.1" @@ -8173,9 +7787,9 @@ postcss-browser-comments@^3.0.0: postcss "^7" postcss-calc@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" - integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ== + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== dependencies: postcss "^7.0.27" postcss-selector-parser "^6.0.2" @@ -8339,9 +7953,9 @@ postcss-focus-within@^3.0.0: postcss "^7.0.2" postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== dependencies: postcss "^7.0.2" @@ -8378,9 +7992,9 @@ postcss-lab-function@^2.0.1: postcss-values-parser "^2.0.0" postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" @@ -8479,14 +8093,14 @@ postcss-modules-extract-imports@^2.0.0: postcss "^7.0.5" postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" - postcss "^7.0.16" + postcss "^7.0.32" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" + postcss-value-parser "^4.1.0" postcss-modules-scope@^2.1.1: version "2.2.0" @@ -8728,9 +8342,9 @@ postcss-selector-matches@^4.0.0: postcss "^7.0.2" postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== dependencies: balanced-match "^1.0.0" postcss "^7.0.2" @@ -8754,13 +8368,14 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: uniq "^1.0.1" postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== dependencies: cssesc "^3.0.0" indexes-of "^1.0.1" uniq "^1.0.1" + util-deprecate "^1.0.2" postcss-svgo@^4.0.2: version "4.0.2" @@ -8781,12 +8396,12 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0: +postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -8809,10 +8424,10 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -8828,23 +8443,18 @@ prepend-http@^1.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -prettier@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.2.tgz#1ba8f3eb92231e769b7fcd7cb73ae1b6b74ade08" - integrity sha512-5xJQIPT8BraI7ZnaDwSbu5zLrB6vvi8hVV58yHQ+QK64qrY40dULy0HSRlQ2/2IdzeBpjhDkqdcFBnFeDEMVdg== - pretty-bytes@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== + version "5.5.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.5.0.tgz#0cecda50a74a941589498011cf23275aa82b339e" + integrity sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA== pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - renderkid "^2.0.1" - utila "~0.4" + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^24.9.0: version "24.9.0" @@ -8856,11 +8466,6 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -8881,13 +8486,6 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - promise@^8.0.3: version "8.1.0" resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" @@ -8896,14 +8494,14 @@ promise@^8.0.3: asap "~2.0.6" prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== dependencies: kleur "^3.0.3" - sisteransi "^1.0.4" + sisteransi "^1.0.5" -prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -8997,15 +8595,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@5: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -9025,9 +8614,9 @@ querystring@0.2.0: integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= querystringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== raf@^3.4.1: version "3.4.1" @@ -9066,14 +8655,6 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -react-addons-shallow-compare@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f" - integrity sha1-GYoAuR/DdiPbZKKP0XtZa6NicC8= - dependencies: - fbjs "^0.8.4" - object-assign "^4.1.0" - react-app-polyfill@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" @@ -9086,26 +8667,6 @@ react-app-polyfill@^1.0.6: regenerator-runtime "^0.13.3" whatwg-fetch "^3.0.0" -react-codemirror@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/react-codemirror/-/react-codemirror-1.0.0.tgz#91467b53b1f5d80d916a2fd0b4c7adb85a9001ba" - integrity sha1-kUZ7U7H12A2Rai/QtMetuFqQAbo= - dependencies: - classnames "^2.2.5" - codemirror "^5.18.2" - create-react-class "^15.5.1" - lodash.debounce "^4.0.8" - lodash.isequal "^4.5.0" - prop-types "^15.5.4" - -react-copy-to-clipboard@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz#d82a437e081e68dfca3761fbd57dbf2abdda1316" - integrity sha512-/2t5mLMMPuN5GmdXo6TebFa8IoFxZ+KTDDqYhcDm0PhkgEzSxVvIX26G20s1EB02A4h2UZgwtfymZ3lGJm0OLg== - dependencies: - copy-to-clipboard "^3" - prop-types "^15.5.8" - react-dev-utils@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" @@ -9136,15 +8697,10 @@ react-dev-utils@^10.2.1: strip-ansi "6.0.0" text-table "0.2.0" -react-display-name@^0.2.3: - version "0.2.5" - resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6" - integrity sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg== - -react-dom@^16.11.0, react-dom@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== +react-dom@^16.13.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -9152,88 +8708,15 @@ react-dom@^16.11.0, react-dom@^16.13.1: scheduler "^0.19.1" react-error-overlay@^6.0.7: - version "6.0.7" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" - integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== - -react-fast-compare@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" - integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== - -react-helmet@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.2.1.tgz#16a7192fdd09951f8e0fe22ffccbf9bb3e591ffa" - integrity sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA== - dependencies: - object-assign "^4.1.1" - prop-types "^15.5.4" - react-fast-compare "^2.0.2" - react-side-effect "^1.1.0" - -react-input-autosize@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2" - integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== - dependencies: - prop-types "^15.5.8" + version "6.0.9" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" + integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: +react-is@^16.8.1, react-is@^16.8.4: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-modal@^3.1.11: - version "3.11.2" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.11.2.tgz#bad911976d4add31aa30dba8a41d11e21c4ac8a4" - integrity sha512-o8gvvCOFaG1T7W6JUvsYjRjMVToLZgLIsi5kdhFIQCtHxDkA47LznX62j+l6YQkpXDbvQegsDyxe/+JJsFQN7w== - dependencies: - exenv "^1.2.0" - prop-types "^15.5.10" - react-lifecycles-compat "^3.0.0" - warning "^4.0.3" - -react-redux@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d" - integrity sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA== - dependencies: - "@babel/runtime" "^7.5.5" - hoist-non-react-statics "^3.3.0" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^16.9.0" - -react-router-dom@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" - integrity sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA== - dependencies: - history "^4.7.2" - invariant "^2.2.4" - loose-envify "^1.3.1" - prop-types "^15.6.1" - react-router "^4.3.1" - warning "^4.0.1" - -react-router@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" - integrity sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg== - dependencies: - history "^4.7.2" - hoist-non-react-statics "^2.5.0" - invariant "^2.2.4" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.1" - warning "^4.0.1" - react-scripts@3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.1.tgz#f551298b5c71985cc491b9acf3c8e8c0ae3ada0a" @@ -9294,48 +8777,10 @@ react-scripts@3.4.1: optionalDependencies: fsevents "2.1.2" -react-side-effect@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.2.0.tgz#0e940c78faba0c73b9b0eba9cd3dda8dfb7e7dae" - integrity sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w== - dependencies: - shallowequal "^1.0.1" - -react-sortable-hoc@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/react-sortable-hoc/-/react-sortable-hoc-0.8.4.tgz#11aa1f3e07ded79764a8bae9d107990ab9b3954b" - integrity sha512-J9AFEQAJ7u2YWdVzkU5E3ewrG82xQ4xF1ZPrZYKliDwlVBDkmjri+iKFAEt6NCDIRiBZ4hiN5vzI8pwy/dGPHw== - dependencies: - babel-runtime "^6.11.6" - invariant "^2.2.1" - prop-types "^15.5.7" - -react-transition-group@^2.2.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" - integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== - dependencies: - dom-helpers "^3.4.0" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" - -react-virtualized@^9.12.0: - version "9.21.2" - resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.21.2.tgz#02e6df65c1e020c8dbf574ec4ce971652afca84e" - integrity sha512-oX7I7KYiUM7lVXQzmhtF4Xg/4UA5duSA+/ZcAvdWlTLFCoFYq1SbauJT5gZK9cZS/wdYR6TPGpX/dqzvTqQeBA== - dependencies: - babel-runtime "^6.26.0" - clsx "^1.0.1" - dom-helpers "^5.0.0" - loose-envify "^1.3.0" - prop-types "^15.6.0" - react-lifecycles-compat "^3.0.4" - -react@16.13.1, react@^16.13.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== +react@^16.13.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -9406,10 +8851,10 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: picomatch "^2.2.1" @@ -9427,59 +8872,6 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" -reduce-reducers@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.4.3.tgz#8e052618801cd8fc2714b4915adaa8937eb6d66c" - integrity sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw== - -redux-actions@^2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.6.5.tgz#bdca548768ee99832a63910c276def85e821a27e" - integrity sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw== - dependencies: - invariant "^2.2.4" - just-curry-it "^3.1.0" - loose-envify "^1.4.0" - reduce-reducers "^0.4.3" - to-camel-case "^1.0.0" - -redux-immutable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz#3a1a32df66366462b63691f0e1dc35e472bbc9f3" - integrity sha1-Ohoy32Y2ZGK2NpHw4dw15HK7yfM= - -redux-localstorage-debounce@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/redux-localstorage-debounce/-/redux-localstorage-debounce-0.1.0.tgz#ce8f4c9c36a7b867550dca24a7ef4068fb5bc18b" - integrity sha1-zo9MnDanuGdVDcokp+9AaPtbwYs= - dependencies: - lodash.debounce "^3.1.1" - -redux-localstorage-filter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/redux-localstorage-filter/-/redux-localstorage-filter-0.1.1.tgz#94c5ab68d8cda479bb3cc6cdf03569f8f63a188d" - integrity sha1-lMWraNjNpHm7PMbN8DVp+PY6GI0= - -redux-localstorage@^1.0.0-rc5: - version "1.0.0-rc5" - resolved "https://registry.yarnpkg.com/redux-localstorage/-/redux-localstorage-1.0.0-rc5.tgz#7067bc4cb0b03b5c791025ac33dde6175d50d5d1" - integrity sha1-cGe8TLCwO1x5ECWsM93mF11Q1dE= - -redux-saga@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.1.3.tgz#9f3e6aebd3c994bbc0f6901a625f9a42b51d1112" - integrity sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw== - dependencies: - "@redux-saga/core" "^1.1.3" - -redux@^4.0.4, redux@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" - integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w== - dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" - regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" @@ -9488,9 +8880,9 @@ regenerate-unicode-properties@^8.2.0: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.11.0: version "0.11.1" @@ -9498,17 +8890,16 @@ regenerator-runtime@^0.11.0: integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: "@babel/runtime" "^7.8.4" - private "^0.1.8" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -9524,12 +8915,12 @@ regex-parser@2.2.10: integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" regexpp@^2.0.1: version "2.0.1" @@ -9541,10 +8932,10 @@ regexpp@^3.0.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== dependencies: regenerate "^1.4.0" regenerate-unicode-properties "^8.2.0" @@ -9559,9 +8950,9 @@ regjsgen@^0.5.1: integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + version "0.6.7" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.7.tgz#c00164e1e6713c2e3ee641f1701c4b7aa0a7f86c" + integrity sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ== dependencies: jsesc "~0.5.0" @@ -9575,16 +8966,16 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== +renderkid@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" + integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== dependencies: - css-select "^1.1.0" + css-select "^2.0.2" dom-converter "^0.2" - htmlparser2 "^3.3.0" + htmlparser2 "^3.10.1" + lodash "^4.17.20" strip-ansi "^3.0.0" - utila "^0.4.0" repeat-element@^1.1.2: version "1.1.3" @@ -9596,19 +8987,19 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" request-promise-native@^1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -9658,11 +9049,6 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -reselect@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7" - integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA== - resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -9680,11 +9066,6 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - resolve-url-loader@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" @@ -9719,10 +9100,11 @@ resolve@1.15.0: path-parse "^1.0.6" resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: + is-core-module "^2.2.0" path-parse "^1.0.6" restore-cursor@^3.1.0: @@ -9805,10 +9187,10 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== +rxjs@^6.5.3, rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" @@ -9895,18 +9277,13 @@ schema-utils@^1.0.0: ajv-keywords "^3.1.0" schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -seamless-immutable@^7.0.1: - version "7.1.4" - resolved "https://registry.yarnpkg.com/seamless-immutable/-/seamless-immutable-7.1.4.tgz#6e9536def083ddc4dea0207d722e0e80d0f372f8" - integrity sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A== + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" select-hose@^2.0.0: version "2.0.0" @@ -9914,11 +9291,11 @@ select-hose@^2.0.0: integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= selfsigned@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== + version "1.10.8" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== dependencies: - node-forge "0.9.0" + node-forge "^0.10.0" "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" @@ -9936,9 +9313,11 @@ semver@7.0.0: integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" send@0.17.1: version "0.17.1" @@ -9964,10 +9343,10 @@ serialize-javascript@^2.1.2: resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== dependencies: randombytes "^2.1.0" @@ -10009,7 +9388,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -10049,11 +9428,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shallowequal@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -10088,13 +9462,14 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" - integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== +side-channel@^1.0.3, side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - es-abstract "^1.17.0-next.1" - object-inspect "^1.7.0" + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" @@ -10108,7 +9483,7 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.4: +sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== @@ -10219,9 +9594,9 @@ source-map-support@^0.5.6, source-map-support@~0.5.12: source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" @@ -10255,9 +9630,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + version "3.0.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== spdy-transport@^3.0.0: version "3.0.0" @@ -10330,9 +9705,11 @@ stable@^0.1.8: integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.4.tgz#4b600971dcfc6aed0cbdf2a8268177cc916c87c8" + integrity sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w== + dependencies: + escape-string-regexp "^2.0.0" static-extend@^0.1.1: version "0.1.2" @@ -10441,32 +9818,33 @@ string-width@^4.1.0: strip-ansi "^6.0.0" string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz#24243399bc31b0a49d19e2b74171a15653ec996a" + integrity sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.1" has-symbols "^1.0.1" internal-slot "^1.0.2" regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" + side-channel "^1.0.3" -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== +string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.5" -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== +string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.5" string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" @@ -10538,9 +9916,9 @@ strip-eof@^1.0.0: integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= strip-json-comments@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" - integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-loader@0.23.1: version "0.23.1" @@ -10550,25 +9928,6 @@ style-loader@0.23.1: loader-utils "^1.1.0" schema-utils "^1.0.0" -styled-components@^4.0.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.4.1.tgz#e0631e889f01db67df4de576fedaca463f05c2f2" - integrity sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@emotion/is-prop-valid" "^0.8.1" - "@emotion/unitless" "^0.7.0" - babel-plugin-styled-components ">= 1" - css-to-react-native "^2.2.2" - memoize-one "^5.0.0" - merge-anything "^2.2.4" - prop-types "^15.5.4" - react-is "^16.6.0" - stylis "^3.5.0" - stylis-rule-sheet "^0.0.10" - supports-color "^5.5.0" - stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -10578,20 +9937,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylis-rule-sheet@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" - integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== - -stylis@^3.5.0: - version "3.5.4" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" - integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== - -subscriptions-transport-ws@^0.9.14, subscriptions-transport-ws@^0.9.5: - version "0.9.16" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec" - integrity sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw== +subscriptions-transport-ws@^0.9.18: + version "0.9.18" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.18.tgz#bcf02320c911fbadb054f7f928e51c6041a37b97" + integrity sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA== dependencies: backo2 "^1.0.2" eventemitter3 "^3.1.0" @@ -10604,7 +9953,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0, supports-color@^5.5.0: +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -10619,9 +9968,9 @@ supports-color@^6.1.0: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" @@ -10649,7 +9998,7 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-observable@^1.0.4, symbol-observable@^1.2.0: +symbol-observable@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== @@ -10690,15 +10039,15 @@ terser-webpack-plugin@2.3.5: webpack-sources "^1.4.3" terser-webpack-plugin@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f" - integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA== + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^3.1.0" + serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" @@ -10752,9 +10101,9 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" @@ -10763,16 +10112,6 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tiny-invariant@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== - -tiny-warning@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -10790,23 +10129,11 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-camel-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" - integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY= - dependencies: - to-space-case "^1.0.0" - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-no-case@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" - integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo= - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -10839,13 +10166,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -to-space-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" - integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc= - dependencies: - to-no-case "^1.0.0" - toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" @@ -10871,18 +10191,6 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-invariant@^0.4.0: - version "0.4.4" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" - integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== - dependencies: - tslib "^1.9.3" - ts-pnp@1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" @@ -10893,15 +10201,20 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + version "3.20.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" + integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg== dependencies: tslib "^1.8.1" @@ -10953,39 +10266,15 @@ type@^1.0.1: integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" - integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== + version "2.3.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.3.0.tgz#ada7c045f07ead08abf9e2edd29be1a0c0661132" + integrity sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg== typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript-compare@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" - integrity sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA== - dependencies: - typescript-logic "^0.0.0" - -typescript-logic@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/typescript-logic/-/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196" - integrity sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q== - -typescript-tuple@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/typescript-tuple/-/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2" - integrity sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q== - dependencies: - typescript-compare "^0.0.2" - -ua-parser-js@^0.7.18: - version "0.7.21" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" - integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== - uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" @@ -11077,9 +10366,9 @@ upath@^1.1.1: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -11098,9 +10387,9 @@ url-loader@2.3.0: schema-utils "^2.5.0" url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + version "1.5.1" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" + integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" @@ -11118,7 +10407,7 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -11131,7 +10420,18 @@ util.promisify@1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" -util.promisify@^1.0.0, util.promisify@~1.0.0: +util.promisify@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + +util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== @@ -11155,16 +10455,11 @@ util@^0.11.0: dependencies: inherits "2.0.3" -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -utility-types@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-1.1.0.tgz#52408b6ed852fdd4076b48b30ed726f139b0f116" - integrity sha512-6PGyowB/ZDDAygpdZzdLu/9mn2EMf08/V1OOqTTc5EhADgd+/BQhinslzhD9xTVw3EWYa1jI3aBMZy5neBbSfw== - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -11176,9 +10471,9 @@ uuid@^3.0.1, uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== validate-npm-package-license@^3.0.1: version "3.0.4" @@ -11188,11 +10483,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== - vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -11218,9 +10508,9 @@ vm-browserify@^1.0.1: integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== vscode-languageserver-types@^3.15.1: - version "3.15.1" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz#17be71d78d2f6236d414f0001ce1ef4d23e6b6de" - integrity sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ== + version "3.16.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" + integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== w3c-hr-time@^1.0.1: version "1.0.2" @@ -11245,30 +10535,23 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warning@^4.0.1, warning@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.6.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: - chokidar "^3.4.0" - watchpack-chokidar2 "^2.0.0" + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -11282,29 +10565,10 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-bundle-analyzer@^3.3.2: - version "3.8.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16" - integrity sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.15" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" - webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== dependencies: memory-fs "^0.4.1" mime "^2.4.4" @@ -11427,10 +10691,10 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" -whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== +whatwg-fetch@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.1.tgz#93bc4005af6c2cc30ba3e42ec3125947c8f54ed3" + integrity sha512-IEmN/ZfmMw6G1hgZpVd0LuZXOQDisrMOZrzYd5x3RAK4bMPlJohKUZWZ9t/QsTvH0dV9TbPDcc2OSuIDcihnHA== whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" @@ -11673,7 +10937,7 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -ws@^6.0.0, ws@^6.1.2, ws@^6.2.1: +ws@^6.1.2, ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== @@ -11691,11 +10955,11 @@ xmlchars@^2.1.1: integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== xregexp@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== + version "4.4.1" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.4.1.tgz#c84a88fa79e9ab18ca543959712094492185fe65" + integrity sha512-2u9HwfadaJaY9zHtRRnH6BY6CQVNQKkYm3oLtC9gJXXzfsbACg5X5e4EZZGVAH+YIfa+QA9lsFQTTe3HURF3ag== dependencies: - "@babel/runtime-corejs3" "^7.8.3" + "@babel/runtime-corejs3" "^7.12.1" xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" @@ -11703,9 +10967,9 @@ xtend@^4.0.0, xtend@~4.0.1: integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== yallist@^3.0.2: version "3.1.1" @@ -11771,21 +11035,3 @@ yargs@^13.3.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^13.1.2" - -zen-observable-ts@^0.8.21: - version "0.8.21" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" - integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.7.1.tgz#f84075c0ee085594d3566e1d6454207f126411b3" - integrity sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg== - -zen-observable@^0.8.0: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== diff --git a/internal/serv/ws.go b/internal/serv/ws.go index bf321872..ea46c8bc 100644 --- a/internal/serv/ws.go +++ b/internal/serv/ws.go @@ -47,7 +47,7 @@ var upgrader = ws.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, HandshakeTimeout: 10 * time.Second, - Subprotocols: []string{"graphql-ws"}, + Subprotocols: []string{"graphql-ws", "graphql-transport-ws"}, CheckOrigin: func(r *http.Request) bool { return true }, } @@ -65,12 +65,11 @@ func init() { } } -func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { +func (sc *ServConfig) apiV1Ws(w http.ResponseWriter, r *http.Request) { var m *core.Member var run bool ctx := r.Context() - conn, err := upgrader.Upgrade(w, r, nil) if err != nil { renderErr(w, err) @@ -86,12 +85,12 @@ func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { for { if _, b, err = conn.ReadMessage(); err != nil { - servConf.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) + sc.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) break } if err = json.Unmarshal(b, &msg); err != nil { - servConf.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) + sc.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) continue } @@ -103,7 +102,7 @@ func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { d.UseNumber() if err = d.Decode(&initReq); err != nil { - servConf.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) + sc.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) break } @@ -112,7 +111,7 @@ func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { err = conn.WritePreparedMessage(initMsg) } - handler, _ := auth.WithAuth(http.HandlerFunc(hfn), &servConf.conf.Auth) + handler, _ := auth.WithAuth(http.HandlerFunc(hfn), &sc.conf.Auth) if err != nil { break @@ -128,13 +127,13 @@ func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { } handler.ServeHTTP(w, r) - case "start": + case "start", "subscribe": if run { continue } m, err = gj.Subscribe(ctx, msg.Payload.Query, msg.Payload.Vars, nil) if err == nil { - go waitForData(servConf, done, conn, m) + go sc.waitForData(done, conn, m, msg) run = true } @@ -148,7 +147,7 @@ func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { zap.String("msg_type", msg.Type), zap.Error(errors.New("unknown message type")), } - servConf.zlog.Error("Subscription Error", fields...) + sc.zlog.Error("Subscription Error", fields...) } if err != nil { @@ -158,22 +157,29 @@ func apiV1Ws(servConf *ServConfig, w http.ResponseWriter, r *http.Request) { } if err != nil { - servConf.zlog.Error("Subscription Error", []zapcore.Field{zap.Error(err)}...) + sc.zlog.Error("Subscription Error", []zapcore.Field{zap.Error(err)}...) } m.Unsubscribe() } -func waitForData(servConf *ServConfig, done chan bool, conn *ws.Conn, m *core.Member) { +func (sc *ServConfig) waitForData(done chan bool, conn *ws.Conn, m *core.Member, req gqlWsReq) { var buf bytes.Buffer + var ptype string var err error + if req.Type == "subscribe" { + ptype = "next" + } else { + ptype = "data" + } + enc := json.NewEncoder(&buf) for { select { case v := <-m.Result: - res := gqlWsResp{ID: "1", Type: "data"} + res := gqlWsResp{ID: req.ID, Type: ptype} res.Payload.Data = v.Data if v.Error != "" { @@ -202,7 +208,7 @@ func waitForData(servConf *ServConfig, done chan bool, conn *ws.Conn, m *core.Me } if err != nil && isDev() { - servConf.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) + sc.zlog.Error("Websockets", []zapcore.Field{zap.Error(err)}...) } }